CN114257810A - 上下文模型的选择方法、装置、设备及存储介质 - Google Patents

上下文模型的选择方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114257810A
CN114257810A CN202011009881.5A CN202011009881A CN114257810A CN 114257810 A CN114257810 A CN 114257810A CN 202011009881 A CN202011009881 A CN 202011009881A CN 114257810 A CN114257810 A CN 114257810A
Authority
CN
China
Prior art keywords
coding unit
target
syntax element
prediction
block
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
CN202011009881.5A
Other languages
English (en)
Other versions
CN114257810B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011009881.5A priority Critical patent/CN114257810B/zh
Priority to PCT/CN2021/118832 priority patent/WO2022063035A1/zh
Publication of CN114257810A publication Critical patent/CN114257810A/zh
Application granted granted Critical
Publication of CN114257810B publication Critical patent/CN114257810B/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/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请公开了一种上下文模型的选择方法、装置、设备及存储介质,属于音视频技术领域。所述方法包括:确定目标编码单元的参考编码单元;根据参考编码单元,对目标编码单元的块划分结构进行预测,得到目标编码单元的块划分预测结构;基于目标编码单元的块划分预测结构,确定目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型。本申请通过优化上下文模型的选择条件,以提升熵编码的效率、减少码流的比特数,有助于视频压缩效率的提升。

Description

上下文模型的选择方法、装置、设备及存储介质
技术领域
本申请实施例涉及音视频技术领域,特别涉及一种上下文模型的选择方法、装置、设备及存储介质。
背景技术
视频信号是指包括多个帧的图像序列。由于视频信号数字化后数据带宽很高,计算机设备难以直接对之进行存储和处理,因而需要采用视频压缩技术来降低视频信号的数据带宽。
视频压缩技术是通过视频编码来实现的,在一些主流的视频编码技术中,采用了混合编码框架,对输入的原始视频信号进行一系列的操作和处理。在编码端,编码器对输入的原始视频信号(视频序列)进行块划分结构、预测编码、变换编码及量化、熵编码或统计编码等,以得到视频码流,针对编码后得到的视频码流,对该视频码流进行封装得到视频轨道,并进一步封装视频轨道以得到视频文件,使得视频文件以一种更容易被解析的结构存储在编码器中。在解码端,解码器对已经编码过的图像,需要进行解封装、解码等逆操作以呈现视频内容。
相关技术中,为了进一步压缩视频,视频的块划分结构通过语法元素来指示,在写进码流之前需要对这些语法元素采用熵编码,以利用语法元素之间的高阶信息进一步提升编码效率。其中,用来作为条件的编码符号信息被称为上下文,每个语法元素的概率分布特性不同,上下文模型选择的条件越多则得到的条件熵越小,因此提升上下文阶数能获得更好的编码性能。但随着上下文阶数的增加,对概率模型存储和更新的复杂度也会大幅增加;若减小概率模型的数目会使得编码器不能对概率做出准确的估计,引起编码性能下降。
因此,在进行上下文模型设计时,既要考虑编码效率又要考虑概率模型实现的复杂度。
发明内容
本申请实施例提供了一种上下文模型的选择方法、装置、设备及存储介质,可用于提升熵编码的效率、减少码流的比特数,并且提升视频压缩效果。所述技术方案如下:
一方面,本申请实施例提供了一种上下文模型的选择方法,所述方法包括:
确定目标编码单元的参考编码单元;
根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构;
基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型;
其中,所述语法元素用于指示编码单元的块划分结构,所述上下文模型用于对语法元素概率估计。
另一方面,本申请实施例提供了一种上下文模型的选择装置,所述装置包括:
单元确定模块,用于确定目标编码单元的参考编码单元;
结构预测模块,用于根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构;
模型确定模块,用于基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型;
其中,所述语法元素用于指示编码单元的块划分结构,所述上下文模型用于对语法元素进行概率估计。
再一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述上下文模型的选择方法。
又一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述上下文模型的选择方法。
还一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上述上下文模型的选择方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过根据某一编码单元的参考编码单元,预测该编码单元的块划分结构,然后在语法元素的上下文模型的选择过程中,添加该编码单元的块划分结构的预测结果,从而可以增加上下文模型的选择条件或优化上下文模型的选择条件,以提升熵编码的效率、减少码流的比特数。并且,由于本申请实施例只添加了块划分结构的预测结果即可获得更为精确的概率估计,有助于视频压缩效率的提升。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的视频编码过程的示意图;
图2是本申请一个实施例提供的块划分流程的示意图;
图3是本申请一个实施例提供的块划分方式的示意图;
图4是本申请一个实施例提供的编码单元的空间位置关系的示意图;
图5是本申请一个实施例提供的通信***的框图;
图6是本申请一个实施例提供的流式传输***的框图;
图7是本申请一个实施例提供的上下文模型的选择方法的流程图;
图8是本申请一个实施例提供的结构预测模型的示意图;
图9是本申请一个实施例提供的结构预测模型的预测过程的示意图;
图10是本申请一个实施例提供的结构预测模型的输出向量的示意图;
图11是本申请一个实施例提供的上下文模型的选择流程的示意图;
图12是本申请一个实施例提供的上下文模型的选择装置的框图;
图13是本申请另一个实施例提供的上下文模型的选择装置的框图;
图14是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先结合图1对视频编码技术进行简单介绍。请参考图1,其示出了本申请一个实施例提供的视频编码过程的示意图。
视频信号是指包括一个或多个帧的图像序列。帧(frame)是视频信号空间信息的表示。以YUV模式为例,一个帧包括一个亮度样本矩阵(Y)和两个色度样本矩阵(Cb和Cr)。从视频信号的获取方式来看,可以分为摄像机拍摄到的以及计算机生成的两种方式。由于统计特性的不同,其对应的压缩编码方式也可能有所区别。
在一些主流的视频编码技术中,如H.265/HEVC(High Efficient Video Coding,高效率视频压缩编码)、H.266/VVC(Versatile Video Coding,通用视频编码)标准、AVS(Audio Video coding Standard,音视频编码标准)(如AVS3)中,采用了混合编码框架,对输入的原始视频信号进行如下一系列的操作和处理:
1、块划分结构(Block Partition Structure):输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding TreeUnit,编码树单元),或者LCU(Large Coding Unit,最大编码单元)。CTU再往下,可以继续进行更加精细的划分,得到一个或多个基本编码的单元,称之为CU(Coding Unit,编码单元)。每个CU是一个编码环节中最基本的元素,当进行预测时,CU还需要进一步划分为不同的PU(Predict Unit,预测单元)。以下描述的是对每一个CU可能采用的各种编码方式。
2、预测编码(Predictive Coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域。帧间预测是指预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
3、变换编码及量化(Transform&Quantization):残差视频信号经过DFT(DiscreteFourier Transform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前CU选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数来决定。QP(Quantization Parameter,量化参数)取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
4、熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流(或称为“视频码流”,为描述方便,以下统称为“视频码流”)。同时,编码产生其他信息,例如选择的模式、运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(Content Adaptive Binary ArithmeticCoding,简称CABAC)。
5、环路滤波(Loop Filtering):已经编码过的图像,经过反量化、反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重建图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重建图像进行滤波操作,例如去块效应滤波(deblocking),SAO(Sample Adaptive Offset,样本自适应偏移量)或者ALF(Adaptive Lattice Filter,自适应格型滤波器)等滤波器,可以有效的降低量化所产生的失真程度。由于这些经过滤波后的重建图像,将作为后续编码图像的参考,用于对将来的信号进行预测,所以上述的滤波操作也被称为环路滤波,及在编码环路内的滤波操作。
由上述介绍说明可知,在解码端,对于每一个CU,解码器获得压缩码流后,一方面进行熵解码,以获得各种模式信息及量化后的变换系数,然后各个变换系数经过反量化及反变换,得到残差信号;另一方面,根据已知的编码模式信息,可获得该CU对应的预测信号。将该CU的残差信号与预测信号相加之后,即可得到该CU的重建信号。解码图像的重建值,需要经过环路滤波的操作,以产生最终的输出信号。
请参考图2,其示出了本申请一个实施例提供的块划分流程的示意图,该块划分流程可以应用于AVS(如AVS3)或者下一代视频编解码标准中,本申请实施例对此不作限定。从图2中可以看出,块划分流程中涉及三种划分方式,分别为:QT(Quad Tree,四叉树)、BT(Binary Tree,二叉树)、EQT(Extended Quad-Tree,扩展四叉树)。其中,BT和EQT又有水平方向划分和垂直方向划分的区别,因此,BT又分为HBT(Horizontal Binary Tree,水平二叉树)和VBT(Vertical Binary Tree,垂直二叉树),EQT又分为HEQT(Horizontal ExtendedQuad Tree,水平扩展四叉树)和VEQT(Vertical Extended Quad Tree,垂直扩展四叉树)。下面,结合图3对这三种划分方式进行介绍说明。
针对某一编码图像块CTU,可以将该CTU作为根节点(root),划分成若干叶节点(Leaf Node)。一个节点对应于一个图像区域,如果某一节点不再继续划分,则将该节点称为叶节点,且其所对应的图像区域就形成一个CU;如果该节点继续划分,则可以采用上述一种划分方式或多种划分方式的组合将该节点划分为多个子区域,每个子区域对应一个子节点,之后需要分别确定这些子节点是否还会继续划分。示例性地,假设根节点的划分层级为0,则子节点的划分层级可以为父节点的划分层级加1。在视频编码过程中,通常编码器设置有CU的最小块尺寸,在划分过程中,若某一节点的块尺寸等于该最小块尺寸,则该节点默认不再继续划分。为了便于表述,下文中将“节点对应的图像区域”简称为“节点”。
1、QT划分。
针对某一节点,可以采用QT划分方式将该节点划分为4个子节点。如图3(a)所示,按照QT划分方式可以将该节点划分成四个相同块尺寸的子节点(各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高为划分前节点的高的一半)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照QT划分方式将该节点划分为4个块尺寸为32×32的节点。对于这4个块尺寸为32×32的节点中的某一节点,若继续划分该节点,则产生4个块尺寸为16×16的节点。
2、BT划分。
针对某一节点,可以采用BT划分方式将该节点划分成2个子节点。可选地,BT划分方式包括两种类型:HBT划分方式和VBT划分方式。其中,如图3(b)所示,HBT划分方式是将节点划分成上、下两个相同块尺寸的子节点(各个子节点的宽相同、高也相同,且宽等于划分前节点的宽,高为划分前节点的高的一半);如图3(c)所示,VBT是将节点划分成左、右两个相同大小的子节点(各个子节点的宽相同、高也相同,且宽为划分前节点的宽的一半,高等于划分前节点的高)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照HBT划分方式将该节点划分为2个块尺寸为64×32的节点,或者按照VBT划分方式将该节点划分为2个块尺寸为32×64的节点。
3、EQT划分。
针对某一节点,可以采用EQT划分方式将该节点划分为4个子节点。可选地,EQT划分方式包括两种类型:HEQT划分方式和VEQT划分方式。其中,如图3(d)所示,HEQT划分方式是将节点划分为上、中、下三个子区域,并将中间的子区域水平划分为中左、中右两个子节点(上、下这两个子节点的宽等于划分前节点的宽、高为划分前节点的高的四分之一,中左、中右这两个子节点的宽为划分前节点的宽的一半、高也为划分前节点的高的一半);如图3(e)所示,VEQT划分方式是将节点划分为左、中、右三个子区域,并且将中间的子区域垂直划分为中上、中下这两个子节点(左、右这两个子节点的宽为划分前节点的宽的四分之一、高等于划分前节点的高,中上、中下这两个子节点的宽为划分前节点的宽的二分之一,高为划分前节点的高的二分之一)。
例如,对于块尺寸为64×64的节点,若不再继续划分该节点,则该节点直接成为1个块尺寸为64×64的CU;若继续划分该节点,则可以按照HEQT划分方式将该节点划分为4个节点,这4个节点的块尺寸分别为64×16、32×32、32×32以及64×16,或者按照VEQT划分方式将该节点划分为4个子节点,这4个子节点的块尺寸分别为16×64、32×32、32×32以及16×64。
在一个示例中,为了进一步压缩视频,视频的块划分结构通过语法元素来指示。对应于上述图3所示的三种划分方式,定义了以下四个语法元素:
1、qt_split_flag(QT划分标志):若qt_split_flag的值为“1”,则表示划分过程应使用QT划分进行划分;若qt_split_flag的值为“0”,则表示划分过程不应使用QT划分进行划分。
2、bet_split_flag(BT/EQT划分标志):若bet_split_flag的值为“1”,则表示划分过程应使用BT/EQT划分进行划分;若bet_split_flag的值为“0”,则表示划分过程不应使用BT/EQT划分进行划分。
3、bet_split_type_flag(BT/EQT划分类型标志):若bet_split_type_flag的值为“0”,则表示进行BT/EQT划分时应使用BT划分;若bet_split_type_flag的值为“1”,则表示进行BT/EQT划分时应使用EQT划分;
4、bet_split_dir_flag(BT/EQT划分方向标志):若bet_split_type_flag的值为“1”,则表示进行BT/EQT划分时应使用垂直划分;若bet_split_type_flag的值为“0”,则表示进行BT/EQT划分时应使用水平划分。
需要说明的一点是,上述语法元素的名称,以及各个语法元素的取值所代表的含义仅为一个示例,本领域技术人员在了解了本申请的技术方案后,将很容易想到其它的实现方式,应理解,这些均应属于本申请的保护范围之内。例如,针对qt_split_flag,定义qt_split_flag的值为“1”时表示划分过程不应使用QT划分进行划分,qt_split_flag的值为“0”时表示划分过程应使用QT划分进行划分。
由于不同语法元素的概率分布特性不同,为了进一步压缩视频,熵编码过程中为每个语法元素定义了多个上下文模型,通过上下文模型可以实现对语法元素进行概率估计。如下述表一所示,其示出了本申请一个实施例提供的语法元素与上下文模型之间的对应关系。
表一语法元素与上下文模型之间的对应关系
Figure BDA0002697214760000081
Figure BDA0002697214760000091
通过ctxIdxInc(context index increments,上下文索引增量)和ctxIdxStart(context index Start,上下文起始索引)即可定位到语法元素所对应的上下文模型,例如,针对qt_split_flag,在ctxIdxInc为1的情况下,上下文模型的索引即为11。
在一个示例中,可以根据各种局部信息进行上下文模型的选择,如当前编码单元的大小、相邻编码单元的大小、划分深度等。如图4所示,其示出了本申请一个实施例提供的当前编码单元(E)与相邻编码单元的空间位置关系。在一个示例中,结合图4,各个语法元素的ctxIdxInc的确定方式如下所示:
1、qt_split_flag的ctxIdxInc。
根据以下方法确定qt_split_flag的ctxIdxInc:
(1)如果当前图像为帧内预测图像且E的宽度为128,则ctxIdxInc等于3;
(2)否则(“当前图像为帧内预测图像”和“E的宽度为128”这两个条件不同时成立),如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(3)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(4)否则,ctxIdxInc等于0。
2、bet_split_flag的ctxIdxInc。
根据以下方法确定bet_split_flag的ctxIdxInc:
首先:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(2)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
其次:
(4)如果E的宽度乘以E的高度的积大于1024,则ctxIdxInc不变;
(5)否则,如果E的宽度乘以E的高度的积大于256,则ctxIdxInc增加3;
(6)否则,ctxIdxInc增加6。
3、bet_split_type_flag的ctxIdxInc。
根据以下方法确定bet_split_type_flag的ctxIdxInc:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(2)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
4、bet_split_dir_flag的ctxIdxInc。
根据以下方法确定bet_split_dir_flag的ctxIdxInc:
(1)如果E的宽度为128且高度为64,则ctxIdxInc等于4;
(2)否则,如果E的宽度为64且高度为128,则ctxIdxInc等于3;
(3)否则,如果E的高度大于E的宽度,则ctxIdxInc等于2;
(4)否则,如果E的宽度大于E的高度,则ctxIdxInc等于1;
(5)否则,ctxIdxInc等于0。
可选地,语法元素上下文模型的选择条件越精确,视频的压缩效果越好。基于此,本申请实施例提供了一种上下文模型的选择方法,通过根据某一编码单元的参考编码单元,预测该编码单元的块划分结构,然后在语法元素的上下文模型的选择过程中,添加该编码单元的块划分结构的预测结果,从而可以增加上下文模型的选择条件或优化上下文模型的选择条件,以提升熵编码的效率、减少码流的比特数。并且,由于本申请实施例只添加了块划分结构的预测结果即可获得更为精确的概率估计,有助于视频压缩效率的提升。
需要说明的一点是,本申请实施例提供的上下文模型的选择方法可以应用于AVS(如AVS3)或者下一代视频编解码标准中,本申请实施例对此不作限定。
请参考图5,其示出了本申请一个实施例提供的通信***的简化框图。通信***200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信***200包括通过网络250互连的第一设备210和第二设备220。在图5的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信***200包括执行已编码视频数据的双向传输的第三设备230和第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图5的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本申请公开的原理可不限于此。本申请实施例适用于PC(Personal Computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图6示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(电视)、在包括CD(Compact Disc,光盘)、DVD(Digital Versatile Disc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。
流式传输***可包括采集子***313,所述采集子***可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。视频编码器303可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。基于本申请所提供方法的视频编码器303,可以由1个或多个处理器或是1个或多个集成电路来实现。
相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子***,例如图6中的客户端子***306和客户端子***308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子***306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输***中,可根据某些视频编码/压缩标准对已编码的视频数据304、副本307和副本309(例如视频码流)进行编码。
应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
下面,通过几个实施例对本申请技术方案进行介绍说明。
请参考图7,其示出了本申请一个实施例提供的上下文模型的选择方法的流程图。该方法可应用于对视频序列进行编码的设备中,如图5所示的通信***中的第一设备210中;也可以应用于对已编码的视频数据进行解码以恢复视频序列的设备中,如图5所示的通信***中的第二设备220中。该方法可以包括如下几个步骤(步骤710~730):
步骤710,确定目标编码单元的参考编码单元。
目标编码单元是指视频编解码过程中的待处理图像单元,其可以是当前待处理图像单元,也可以是当前待处理图像单元之后的待处理图像单元。由上述“块划分结构”的介绍说明可知,在视频压缩过程中,视频信号中的一帧图像可以被分割成互不重叠的CTU,通常,可以将CTU称为待处理图像单元,也即目标编码单元。本申请实施例对目标编码单元的形状不作限定,可选地,目标编码单元为正方形,也即,目标编码单元的宽和高相等;或者,目标编码单元为长方形,也即,目标编码单元的宽和高不相等。本申请实施例对目标编码单元的块尺寸大小不作限定,可选地,目标编码单元的尺寸为64×64或128×128或128×64,实际应用中,目标编码单元的尺寸可以结合视频编码器所允许的最大编码单元的块尺寸确定,例如,视频编码器所允许的最大编码单元的块尺寸为128×128,则目标编码单元的块尺寸小于或等于128×128。
参考编码单元用于为目标编码单元的块划分提供参考,其中,块划分是指对编码单元的结构进行划分。本申请实施例对参考编码单元与目标编码单元之间的块尺寸关系不作限定,可选地,参考编码单元的块尺寸可以等于目标编码单元的块尺寸,也可以不等于目标编码单元的块尺寸,如小于目标编码单元的块尺寸。
由上述介绍说明可知,在视频压缩过程中,视频信号中的一帧图像可以被分割成互不重叠的CTU,而CTU再往下,可以继续进行更加精细的划分,得到一个或多个基本编码的单元,之后即基于这一个或多个基本编码的单元进行视频编码。本申请实施例中,将CTU划分为一个或多个基本编码的单元的过程称为编码单元的结构划分过程,也即块划分。在对目标编码单元的语法元素进行概率估计的过程中,也即上下文模型的选择过程中,加入目标编码单元的块划分结构,可以在减少增加的上下文模型的选择条件的同时,提升概率估计的精确程度。然而,考虑到视频解码器在解译视频码流的过程中无法获取当前编码单元以及当前编码单元之后的编码单元的内容信息,从而视频解码器将无法获取目标编码单元的块划分结构,因此,本申请实施例中,在上下文模型的选择过程中,通过已经完成编码过程或已经完成重建过程的编码单元(参考编码单元)的块划分结构,预测目标编码单元的块划分结构,并使用预测的块划分结构进行上下文模型的选择。
需要说明的一点是,在本申请的技术方案应用于视频编码过程的情况下,参考编码单元称为已经完成编码过程的编码单元;在本申请的技术方案应用于视频解码过程的情况下,参考编码单元称为已经完成重建过程的编码单元。为了确保视频解码器和视频编码器针对目标编码单元的块划分结构的预测结果是相同的,本申请实施例中,视频解码器和视频编码器所采用的参考编码单元也需保持一致,也即,视频解码器和视频编码器需要采用位置信息相同的参考编码单元。可选地,视频编码器可以将参考编码单元的位置信息写入视频码流,进而视频解码器在解译视频码流时即可按照解译的位置信息确定参考编码单元;或者,预先定义参考编码单元的位置信息,视频编码器和视频解码器均按照预先定义的位置信息来确定参考编码单元;或者,视频编码器和视频解码器采用相同的确定条件来确定参考编码单元。
在一个示例中,参考编码单元的数量为大于或等于2的正整数;上述步骤710之后,还包括:确定各个参考编码单元的率失真代价;根据各个参考编码单元的率失真代价,从至少两个参考编码单元中选择优选编码单元,优选编码单元的块划分结构用于预测目标编码单元的块划分结构。
由于在对目标编码单元进行块划分的过程中,也会比较各种划分方式下,目标编码单元的率失真(Rate-Distortion,RD)代价。对于一个有损的视频编码过程,码率与失真通常为负相关,更高的压缩率带来更低码率的同时,也会增加失真,反之亦然。为此,做出了折中的选择,考虑率失真代价。通常,按照率失真代价最小的块划分结构来划分目标编码单元。因此,为了更加准确地预测目标编码单元的块划分结构,本申请实施例中,在确定参考编码单元之后,进一步比较各个参考编码单元的率失真代价,并从中选择率失真代价较小的参考编码单元,作为优选编码单元,以采用该优选编码单元的块划分结构预测目标编码单元的块划分结构。
可选地,优选编码单元的数量为一个;或者,优选编码单元的数量为多个。本申请实施例对优选编码单元的选择方式不作限定,可选地,在确定各个参考编码单元的率失真代价后,可以按照率失真代价从小至大的顺序对参考编码单元进行排序,并将前S位的参考编码单元作为优选编码单元,S为正整数;或者,在确定各个参考编码单元的率失真代价后,可以将率失真代价小于预设阈值的参考编码单元作为优选编码单元。
由于参考编码单元为已经完成编码过程的编码单元或已经完成重建过程的编码单元,因此,参考编码单元的内容信息可以被视频编码器以及视频解码器获知。在确定了参考编码单元之后,进一步获取参考编码单元的内容信息,如参考编码单元的各个像素的Y/U/V分量,以为目标编码单元的块划分结构的预测提供参考。
本申请实施例对参考编码单元的内容信息的获取方式不作限定,可选地,本申请实施例针对编码单元分配了一定的内存空间,以存储这些编码单元的内容信息,在需要访问某一编码单元的内容信息时,读取该编码单元对应的内存位置上存储的信息即可。可选地,为了明确各个编码单元的内存位置,可以确定各个编码单元的索引值,并将索引值与内存位置之间对应起来,以便于后续根据某一编码单元的索引值读取对应的内存位置上存储的内容信息,进而获取该编码单元的内容信息。
步骤720,根据参考编码单元,对目标编码单元的块划分结构进行预测,得到目标编码单元的块划分预测结构。
获取到参考编码单元之后,即可根据参考编码单元预测目标编码单元的块划分结构,得到目标编码单元的块划分预测结果。本申请实施例对预测目标编码单元的块划分结构的方式不作限定,可选地,通过训练完成的深度学习模型对参考编码单元进行处理,得到目标编码单元的块划分预测结构,通过训练完成的深度学习模型来预测块划分结构,可以快速进行块划分结构的预测,并提升预测兼容性,避免针对每一个待处理的图像单元,均需要执行复杂地预测过程;或者,通过对参考编码单元与目标编码单元之间进行相似度匹配,并将相似度最高的参考编码单元的块划分结构作为块划分预测结构;或者,通过比较参考编码单元的率失真代价,将率失真代价最小的参考编码单元的块划分结构作为块划分预测结构。有关通过深度学习模型来预测目标编码单元的块划分结构的过程请参见下述方法实施例,此处不多赘述。
步骤730,基于目标编码单元的块划分预测结构,确定目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型。
由上述介绍说明可知,语法元素用于指示编码单元的块划分结构,上下文模型用于对语法元素进行概率估计。在对目标编码单元的语法元素进行上下文模型的选择过程中,加入目标编码单元的块划分结构,可以在减少增加的上下文模型的选择条件的同时,节省语法元素传输所需的码流比特数,提升编码的效率。因此,本申请实施例在预测得到目标编码单元的块划分预测结构后,在语法元素的上下文模型选择过程中增加块划分预测结构,以提升熵编码的效率、减少码流的比特数。
本申请实施例对块划分预测结构在上下文模型的选择过程中添加方式不作限定,可选地,块划分预测结构可以作为上下文模型选择过程中增加的进一步的选择条件,也可以与原有的上下文模型的选择条件进行融合,以优化原有的上下文模型的选择条件。有关块划分预测结构在上下文模型的选择过程中添加方式的介绍说明,请参见下述方法实施例,此处不多赘述。
在一个示例中,目标编码单元的块划分所涉及的至少一个语法元素包括:第一语法元素,用于指示是否采用第一划分方式对目标编码单元进行块划分,如上述实施例中的“qt_split_flag”;第二语法元素,用于指示是否采用第二划分方式和/或第三划分方式对目标编码单元进行块划分,如上述实施例中的“bet_split_flag”;第三语法元素,用于在第二语法元素指示采用第二划分方式或第三划分方式对目标编码单元进行块划分的情况下,指示对目标编码单元进行块划分采用的是第二划分方式还是第三划分方式,如上述实施例中的“bet_split_type_flag”;第四语法元素,用于指示采用第二划分方式或第三划分方式对目标编码单元进行块划分的情况下,第二划分方式或第三划分方式的划分方向,如上述实施例中的“bet_split_dir_flag”。有关各个语法元素的值的含义,可以参考上述实施例的介绍说明,此处不多赘述。可选地,第一划分方式包括QT划分;和/或,第二划分方式包括BT划分和/或TT(Ternary Tree,三叉树)划分;和/或,第三划分方式包括EQT划分。需要说明的一点是,上述第一划分方式包括QT划分、第二划分方式包括BT划分和/或TT划分、第三划分方式包括EQT划分这三个条件可以不同时成立,例如,在第一划分方式包括QT、第二划分方式包括BT的情况下,第三划分方式也可以不包括EQT。应理解,这些技术方案属于本申请的保护范围之内。
需要说明的一点是,在视频编码或视频解码的过程中,可以预先定义一个选择方式标志(flag),如spf_flag,以用来指示是否采用本申请实施例所述的上下文模型的选择方法。以选择方式标志为spf_flag为例,若spf_flag=1,则执行本申请实施例所述的上下文模型的选择方法;若spf_flag=0,则不执行本申请实施例所述的上下文模型的选择方法,如采用原有或相关技术中的上下文模型的选择方法。通过定义选择方式标志,可以提升本申请实施例所提供的技术方案的兼容性,避免由于某些视频编码器或视频解码器无法支持本申请实施例所提供的技术方案时导致上下文模型选择失败,进而避免导致影响视频压缩的效率。
综上所述,本申请实施例提供的技术方案,通过根据某一编码单元的参考编码单元,预测该编码单元的块划分结构,然后在语法元素的上下文模型的选择过程中,添加该编码单元的块划分结构的预测结果,从而可以增加上下文模型的选择条件或优化上下文模型的选择条件,以提升熵编码的效率、减少码流的比特数。并且,由于本申请实施例只添加了块划分结构的预测结果即可获得更为精确的概率估计,有助于视频压缩效率的提升。
本申请实施例针对参考编码单元的确定过程,提供了多种确定方式。下面,针对这些确定方式进行介绍说明。
在一个示例中,上述步骤710,包括:获取目标视频帧中满足目标条件的编码单元,目标视频帧为目标编码单元所在的视频帧;从满足目标条件的编码单元中选择与目标编码单元相邻的编码单元,作为参考编码单元。
空间上与目标编码单元相邻的编码单元可以作为参考编码单元。可选地,空间上与目标编码单元相邻的编码单元与目标编码单元位于相同的视频帧,因此,需要先确定目标编码单元所在的视频帧,即目标视频帧。然后,需要从目标视频帧包括的编码单元中选择满足目标条件的编码单元,其中,针对视频编码过程,目标条件包括已经完成编码过程;针对视频解码过程,目标条件包括已经完成重建过程。之后,从满足目标条件的编码单元中选择与目标编码单元相邻的编码单元作为参考编码单元即可。可选地,与目标编码单元相邻的编码单元包括目标编码单元的左边的编码单元、上方的编码单元以及左上方的编码单元。例如,如图4所示,假设目标编码单元为编码单元E,则与目标编码单元相邻的编码单元包括:编码单元A和编码单元B。
在另一个示例中,上述步骤710,包括:确定目标编码单元在目标视频帧中的位置信息,目标视频帧为目标编码单元所在的视频帧;获取目标视频帧的至少一个相邻视频帧;将至少一个相邻视频帧中满足位置信息的编码单元,确定为参考编码单元。
时间上与目标编码单元相邻的编码单元可以作为参考编码单元。可选地,时间上与目标编码单元相邻的编码单元与目标编码单元位于不同的视频帧,但是,这些编码单元在其所在的视频帧中的位置信息,与目标编码单元在其所在的视频帧中的位置信息相一致。因此,需要先确定目标编码单元所在的视频帧,也即,目标视频帧。然后,需要先确定目标编码单元在目标视频帧中的位置信息,并获取与目标视频帧相邻的至少一个视频帧,也即,至少一个相邻视频帧。之后将至少一个相邻视频帧中与位置信息一致的编码单元,确定为参考编码单元,也即,将至少一个相邻视频帧中与目标编码单元的位置信息相对应的位置上的编码单元确定为参考编码单元。
可选地,针对视频编码过程,相邻视频帧包括已经完成编码过程的视频帧;针对视频解码过程,相邻视频帧包括已经完成重建过程的视频帧。通过采用已经完成编码过程的视频帧和已经完成重建过程的视频帧作为目标视频帧的相邻视频帧,可以确保相邻视频帧中存在与目标编码单元的位置信息对应的编码单元。本申请实施例中,相邻视频帧既可以是目标视频帧之前的视频帧,也可以是目标视频帧之后的视频帧,实际应用中,相邻视频帧与目标视频帧之间的时间先后关系,可以参考帧间预测的参考方式,在帧间预测采用前向参考的情况下,相邻视频帧为目标视频帧之前的视频帧;在帧间预测采用后向参考的情况下,相邻视频帧为目标视频帧之后的视频帧。本申请实施例对相邻视频帧的数量不作限定,可选地,相邻视频帧的数量与帧间预测参考的视频帧的帧数相同;或者,相邻视频帧的数量为预设数量。
在又一个示例中,上述步骤710,包括:获取缓存中存储的至少一个编码单元;将获取的至少一个编码单元,确定为参考编码单元。
针对视频编码过程,视频编码器的缓存中通常存储有最近已经完成编码过程的至少一个编码单元;针对视频解码过程,视频解码器的缓存中通常存储有最近已经完成重建过程的至少一个解码单元。由于最近已经完成编码过程的编码单元或最近已经完成重建过程的编码单元,在空间位置上通常与目标编码单元相邻,因此,缓存中存储的编码单元也可以作为目标编码单元的参考编码单元。基于此,需要先获取缓存中存储的至少一个编码单元,并将获取到的至少一个编码单元,确定为参考编码单元。
需要说明的一点是,以上针对参考编码单元的确定方式的介绍说明,仅是为了便于描述,而分别进行介绍说明,实际应用中,也可以结合以上至少两种参考编码单元的确定方式来确定参考编码单元。例如,结合空间上与目标编码单元相邻的编码单元和时间上与目标编码单元相邻的编码单元,来确定参考编码单元;或者,结合空间上与目标编码单元相邻的编码单元和缓存中存储的编码单元,来确定参考编码单元。应理解,这些均应属于本申请的保护范围之内。
综上所述,本申请实施例提供的技术方案,通过获取对目标编码单元的块划分结构具有参考价值的编码单元,并根据这些编码单元确定参考编码单元,可以提升目标编码单元的块划分结构预测的准确性。并且,本申请实施例中,参考编码单元为已经完成编码过程或已经完成重建过程的编码单元,进而在预测目标编码单元的块划分结构的过程中,可以充分利用已知信息和先验知识,避免这些信息资源的浪费,提升信息资源的利用率。此外,本申请实施例提供了多种参考编码单元的确定方式,提升了参考编码单元确定的灵活性。
下面,针对通过深度学习模型来预测目标编码单元的块划分结构的过程进行介绍说明。
在一个示例中,上述步骤720,包括:调用结构预测模型对参考编码单元进行处理,得到目标编码单元的块划分预测结构。
结构预测模型用于预测编码单元的块划分结构,本申请实施例中结构预测模型为深度学习模型,如卷积神经网络模型。请参考图8,其示出了本申请一个实施例提供的结构预测模型的示意图。从图8中可见,结构预测模型将目标编码单元的块划分结构的预测过程转换为多个二分类问题,确定某一级划分中的某一语法元素的值为1还是为0的过程即可看作一个二分类问题。
本申请实施例中,结构预测模型既可以直接预测目标编码单元的块划分结构,也可以间接预测目标编码单元的块划分结构。直接预测目标编码单元的块划分结构是指结构预测模型的输出向量中的元素分别代表各个语法元素的取值,例如,图8所示的结构预测模型即可根据输入的参考编码单元,直接预测得到目标编码单元的各级(不同划分深度)划分所涉及的语法元素的取值。间接预测目标编码单元的块划分结构是指结构预测模型的输出向量有其它的物理含义,需要将该输出向量进一步转换以确定各级划分所涉及的语法元素的取值。如图9所示,结构预测模型根据输入的参考编码单元,可以预测得到目标编码单元中各个CU边缘划分的概率,然后根据各个CU边缘划分的概率,可以进一步推理得到目标编码单元的块划分预测结构。
需要说明的一点是,本申请实施例中,仅以结构预测模型的输入包括参考编码单元的块划分结构为例进行介绍说明,实际应用中,结构预测模型的输入还可以包括其它编码信息,如QP(Quantization Parameter,量化参数)信息、预测(帧内预测或帧间预测)模式信息等,应理解,这些均应属于本申请的保护范围之内。
下面,以结构预测模型的输入包括参考编码单元(如参考编码单元的各个像素的Y/U/V分量)为例,对结构预测模型的训练过程进行介绍说明。
在一个示例中,结构预测模型的训练过程包括如下几个步骤:
(1)获取至少一个训练样本。
训练样本用于结构预测模型的训练过程,本申请实施例对训练样本的数量不作限定,实际应用中,可以结合结构预测模型的训练设备的处理能力以及结构预测模型的预测准确性等因素来确定训练样本的数量。本申请实施例中,每个训练样本包括第一编码单元的块划分结构和第二编码单元,第二编码单元为第一编码单元的参考编码单元。其中,第二编码单元的内容信息(如第二编码单元的各个像素的Y/U/V分量)和第一编码单元的块划分结构均为能够获取的信息,也即,在获取训练样本之前,已经完成对第一编码单元和第二编码单元的块划分过程。
可选地,在获取训练样本的过程中,第一编码单元的参考编码单元的确定方式,与后续使用结构预测模型预测目标编码单元的块划分结构的过程中,目标编码单元的参考编码单元的确定方式一致。通常确保模型训练过程和使用过程中参考编码单元采用相同的确定方式来确定,可以提升结构预测模型的预测准确性。
(2)调用结构预测模型对第二编码单元进行处理,得到第一编码单元的块划分预测结构。
在结构预测模型的训练过程中,可以先预设结构预测模型的各项参数,以构建结构预测模型,然后,调用结构预测模型对第二编码单元(如第二编码单元的各个像素的Y/U/V分量)进行处理,以预测第一编码单元的块划分结构,得到第一编码单元的块划分预测结构。
结构预测模型训练过程中所需的基本事实(Ground Truth),也即,各个编码单元的块划分结构,需要各个编码单元遍历所有划分方式,并比较各种划分方式的率失真代价后,确定最终的块划分结构,并且该块划分结构的格式需要符合结构预测模型的输出格式。以结构预测模型直接预测得到目标编码单元的块划分结构为例,该结构预测模型的基本事实的构建过程如图10所示。由于结构预测模型输出的通道数需要固定,因此,需要预先定义结构预测模型预测的划分深度,并补齐每个语法元素值。如图10所示,数值100即为补齐语法元素值时增加的无效语法元素值。结构预测模型的输出是包括这些无效语法元素值的,此时,可以根据图2所示的编码单元的划分流程去除无效语法元素值,即可推理得到符合预设格式的码流以用于后续的上下文模型的选择过程。
(3)根据第一编码单元的块划分预测结构和第一编码单元的块划分结构,计算结构预测模型的预测损失值。
在通过结构预测模型输出第一编码单元的块划分预测结构之后,即可根据第一编码单元的块划分预测结构和第一编码单元的块划分结构,计算结构预测模型的预测损失值,该预测损失值用于指示第一编码单元的块划分预测结构和第一编码单元的块划分结构之间的误差。可选地,结构预测模型的预测损失值可以通过分类网络损失函数得到,如交叉熵等。
(4)根据预测损失值,调整结构预测模型的参数。
由上述介绍说明可知,在结构预测模型的训练过程中,是预先定义了结构预测模型的各项参数,后续在计算出预测损失值之后,即可根据该预测损失值调整结构预测模型的各项参数,以使得预测损失值进入收敛范围,从而完成对结构预测模型的训练过程,得到训练完成的结构预测模型。
综上所述,本申请实施例提供的技术方案,通过深度学习模型处理参考编码单元,以预测待处理的编码单元的块划分结构,由于在预测过程中,直接将参考编码单元输入深度学习模型,即可得到待处理的编码单元的块划分结构,因而可以有效提升块划分结构的预测过程的速度。并且,由于深度学习模型可以多次、持续使用,其可以用于预测各种不同的编码单元的块划分结构,因而提升了本申请实施例所提供的技术方案的兼容性。
下面,针对块划分预测结构在上下文模型的选择过程中添加方式进行介绍说明。本申请实施例中,块划分预测结构可以作为上下文模型选择过程中增加的进一步的选择条件,也可以与原有的上下文模型的选择条件进行融合,以优化原有的上下文模型的选择条件。
首先,介绍说明块划分预测结构可以作为上下文模型选择过程中增加的进一步的选择条件。
在一个示例中,上述步骤730,包括:对于至少一个语法元素中的目标语法元素,根据目标编码单元的块划分预测结构,确定目标语法元素的预测值;获取目标语法元素采用的上下文模型的初始索引增量值;根据目标语法元素的预测值和目标语法元素采用的上下文模型的初始索引增量值,确定目标语法元素采用的上下文模型的索引增量值。
一方面,从目标编码单元的块划分预测结构中可以推理得到目标语法元素的预测值(allowSplitRef);另一方面,通过上述实施例有关语法元素采用的上下文模型的索引增量值的确定过程,可以得到目标语法元素采用的上下文模型的初始索引增量值。之后再进一步根据目标语法元素的预测值和初始索引增量值,确定目标语法元素最终采用的上下文模型的索引增量值(ctxIdxInc)。
下面,结合图4和本申请实施例所述的上下文模型的选择方法,分别针对qt_split_flag的ctxIdxInc、bet_split_flag的ctxIdxInc、bet_split_type_flag的ctxIdxInc以及bet_split_dir_flag的ctxIdxInc进行示例性地介绍说明。
1、qt_split_flag的ctxIdxInc。
根据以下方法确定qt_split_flag的ctxIdxInc:
首先:
(1)如果当前图像为帧内预测图像且E的宽度为128,则ctxIdxInc等于3;
(2)否则(“当前图像为帧内预测图像”和“E的宽度为128”这两个条件不同时成立),如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(3)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(4)否则,ctxIdxInc等于0。
其次:
ctxIdxInc增加4*allowSplitRef。
2、bet_split_flag的ctxIdxInc。
根据以下方法确定bet_split_flag的ctxIdxInc:
首先:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(2)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
其次:
(4)如果E的宽度乘以E的高度的积大于1024,则ctxIdxInc不变;
(5)否则,如果E的宽度乘以E的高度的积大于256,则ctxIdxInc增加3;
(6)否则,ctxIdxInc增加6。
最后:
ctxIdxInc增加9*allowSplitRef。
3、bet_split_type_flag的ctxIdxInc。
根据以下方法确定bet_split_type_flag的ctxIdxInc:
首先:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(2)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
其次:
ctxIdxInc增加3*allowSplitRef。
4、bet_split_dir_flag的ctxIdxInc。
根据以下方法确定bet_split_dir_flag的ctxIdxInc:
首先:
(1)如果E的宽度为128且高度为64,则ctxIdxInc等于4;
(2)否则,如果E的宽度为64且高度为128,则ctxIdxInc等于3;
(3)否则,如果E的高度大于E的宽度,则ctxIdxInc等于2;
(4)否则,如果E的宽度大于E的高度,则ctxIdxInc等于1;
(5)否则,ctxIdxInc等于0。
其次:
ctxIdxInc增加5*allowSplitRef。
由上述示例可见,通过块划分预测结构作为上下文模型选择过程中增加的进一步的选择条件,可以拓展原有的各个语法元素可以采用的上下文模型,例如针对qt_split_flag这一语法元素,增加了4中上下文模型,分别为ctxIdxStart为10,ctxIdxInc为4、5、6、7的上下文模型。通过拓展上下文模型的数量,可以使得语法元素的概率估计更为精确,从而降低码率的比特数。
其次,介绍说明块划分预测结构与原有的上下文模型的选择条件进行融合,以优化原有的上下文模型的选择条件。
在另一个示例中,上述步骤730,包括:对于至少一个语法元素中的目标语法元素,根据目标编码单元的块划分预测结构,确定目标语法元素的预测值;获取目标语法元素采用的上下文模型的索引增量值的确定条件;根据目标语法元素的预测值和确定条件,确定目标语法元素采用的上下文模型的索引增量值。
从目标编码单元的块划分预测结构中可以推理得到目标语法元素的预测值(allowSplitRef),然后将目标语法元素的预测值与原有的上下文模型的索引增量值的确定条件相融合,以确定目标语法元素采用的上下文模型的索引增量值(ctxIdxInc)。通过将语法元素的预测值融入原有的上下文模型的选择条件,可以将原有的上下文模型的选择条件进行优化,并避免引入过多的上下文模型的选择条件,达到了在提升熵编码效率的同时,避免视频压缩过程的复杂度过高,有助于视频压缩效率的提升。
下面,结合图4和本申请实施例所述的上下文模型的选择方法,分别针对qt_split_flag的ctxIdxInc、bet_split_flag的ctxIdxInc、bet_split_type_flag的ctxIdxInc以及bet_split_dir_flag的ctxIdxInc进行示例性地介绍说明。
1、qt_split_flag的ctxIdxInc。
根据以下方法确定qt_split_flag的ctxIdxInc:
(1)如果当前图像为帧内预测图像且E的宽度为128,或allowSplitRef为1时,则ctxIdxInc等于3;
(2)否则(“当前图像为帧内预测图像且E的宽度为128”和“allowSplitRef为1”这两个条件均不成立),如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(3)否则,如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(4)否则,ctxIdxInc等于0。
2、bet_split_flag的ctxIdxInc。
根据以下方法确定bet_split_flag的ctxIdxInc:
首先:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于2;
(2)否则(“A‘存在’且A的高度小于E的高度”和“B‘存在’且B的宽度小于E的宽度”这两个条件不同时成立),如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
其次:
(4)如果E的宽度乘以E的高度的积大于1024,或allowSplitRef为1时,则ctxIdxInc不变;
(5)否则(“E的宽度乘以E的高度的积大于1024”和“allowSplitRef为1”这两个条件均不成立),如果E的宽度乘以E的高度的积大于256,则ctxIdxInc增加3;
(6)否则,ctxIdxInc增加6。
3、bet_split_type_flag的ctxIdxInc。
根据以下方法确定bet_split_type_flag的ctxIdxInc:
(1)如果A“存在”且A的高度小于E的高度,且B“存在”且B的宽度小于E的宽度,或allowSplitRef为1时,则ctxIdxInc等于2;
(2)否则(“A‘存在’且A的高度小于E的高度,且B‘存在’且B的宽度小于E的宽度”和“allowSplitRef为1”这两个条件均不成立),如果A“存在”且A的高度小于E的高度,或B“存在”且B的宽度小于E的宽度,则ctxIdxInc等于1;
(3)否则,ctxIdxInc等于0。
4、bet_split_dir_flag的ctxIdxInc。
根据以下方法确定bet_split_dir_flag的ctxIdxInc:
(1)如果E的宽度为128且高度为64,或allowSplitRef为1时,则ctxIdxInc等于4;
(2)否则(“E的宽度为128且高度为64”和“allowSplitRef为1”这两个条件均不成立),如果E的宽度为64且高度为128,则ctxIdxInc等于3;
(3)否则,如果E的高度大于E的宽度,则ctxIdxInc等于2;
(4)否则,如果E的宽度大于E的高度,则ctxIdxInc等于1;
(5)否则,ctxIdxInc等于0。
综上所述,本申请实施例提供的技术方案,通过块划分预测结构作为上下文模型选择过程中增加的进一步的选择条件,可以拓展原有的各个语法元素可以采用的上下文模型,由于上下文模型的数量得到拓展,进而上下文模型的选择更为精确,从而使得语法元素的概率估计更为精确,从而降低码率的比特数。另外,本申请实施例提供的技术方案,通过将语法元素的预测值融入原有的上下文模型的选择条件,可以将原有的上下文模型的选择条件进行优化,并避免引入过多的上下文模型的选择条件,节省语法元素传输所需的码流比特数,避免视频压缩过程的复杂度过高,有助于视频压缩效率的提升。
请参考图11,其示出了本申请一个实施例提供的上下文模型的选择流程的示意图。该方法可应用于对视频序列进行编码的设备中,如图5所示的通信***中的第一设备210中;也可以应用于对已编码的视频数据进行解码以恢复视频序列的设备中,如图5所示的通信***中的第二设备220中。
如图11所示,在对目标编码单元的块划分所涉及的语法元素进行上下文模型选择之前,先确定目标编码单元的参考编码单元。其中,目标编码单元的参考编码单元可以包括以下几种编码单元:空间上与目标编码单元相邻的编码单元(目标编码单元所在视频帧中与目标编码单元相邻的编码单元)、时间上与目标编码单元相邻的编码单元(目标编码单元所在视频帧的相邻视频帧中与目标编码单元相对应的编码单元)、缓存中存储的编码单元。
上述参考编码单元均为已经完成编码过程或已经完成重建过程的编码单元,因此,上述参考编码单元的内容信息可以为视频编码器或视频解码器获取。确定了参考编码单元后,从参考编码单元的内容信息中获取参考编码单元的各个像素的Y/U/V分量即可。
本申请实施例中,采用深度学习模型(结构预测模型)来预测目标编码单元的块划分结构。获取到参考编码单元之后,调用结构预测模型对参考编码单元的各个像素的Y/U/V分量进行处理,从而得到目标编码单元的块划分预测结构。
之后,在目标编码单元的块划分所涉及的语法元素采用的上下文模型的选择过程中,添加目标编码单元的块划分预测结构,以针对语法元素,确定更为精确的上下文模型。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图12,其示出了本申请一个实施例提供的上下文模型的选择装置的框图。该装置具有实现上述上下文模型的选择方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是对视频序列进行编码的设备,也可以是对已编码的视频数据进行解码以恢复视频序列的设备,还可以设置在上述设备中。该装置1200可以包括:单元确定模块1210、结构预测模块1220和模型确定模块1230。
单元确定模块1210,用于确定目标编码单元的参考编码单元。
结构预测模块1220,用于根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构。
模型确定模块1230,用于基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型;其中,所述语法元素用于指示编码单元的块划分结构,所述上下文模型用于对语法元素进行概率估计。
在一个示例中,上述模型确定模块1230,用于:对于所述至少一个语法元素中的目标语法元素,根据所述目标编码单元的块划分预测结构,确定所述目标语法元素的预测值;获取所述目标语法元素采用的上下文模型的初始索引增量值;根据所述目标语法元素的预测值和所述目标语法元素采用的上下文模型的初始索引增量值,确定所述目标语法元素采用的上下文模型的索引增量值。
在一个示例中,上述模型确定模块1230,用于:对于所述至少一个语法元素中的目标语法元素,根据所述目标编码单元的块划分预测结构,确定所述目标语法元素的预测值;获取所述目标语法元素采用的上下文模型的索引增量值的确定条件;根据所述目标语法元素的预测值和所述确定条件,确定所述目标语法元素采用的上下文模型的索引增量值。
在一个示例中,上述结构预测模块1220,用于:调用结构预测模型对所述参考编码单元进行处理,得到所述目标编码单元的块划分预测结构,所述结构预测模型用于预测编码单元的块划分结构。
在一个示例中,如图13所示,上述装置1200还包括:样本获取模块1232,用于获取至少一个训练样本;每个所述训练样本包括第一编码单元的块划分结构和第二编码单元,所述第二编码单元为所述第一编码单元的参考编码单元;结构处理模块1234,用于调用所述结构预测模型对所述第二编码单元进行处理,得到所述第一编码单元的块划分预测结构;损失值计算模块1236,用于根据所述第一编码单元的块划分预测结构和所述第一编码单元的块划分结构,计算所述结构预测模型的预测损失值,所述预测损失值用于指示所述第一编码单元的块划分预测结构和所述第一编码单元的块划分结构之间的误差;参数调整模块1238,用于根据所述预测损失值,调整所述结构预测模型的参数。
在一个示例中,上述单元确定模块1210,用于:获取目标视频帧中满足目标条件的编码单元,所述目标视频帧为所述目标编码单元所在的视频帧;从所述满足所述目标条件的编码单元中选择与所述目标编码单元相邻的编码单元,作为所述参考编码单元。
在一个示例中,上述单元确定模块1210,用于:确定所述目标编码单元在目标视频帧中的位置信息,所述目标视频帧为所述目标编码单元所在的视频帧;获取所述目标视频帧的至少一个相邻视频帧;将所述至少一个相邻视频帧中满足所述位置信息的编码单元,确定为所述参考编码单元。
在一个示例中,上述单元确定模块1210,用于:获取缓存中存储的至少一个编码单元;将获取的所述至少一个编码单元,确定为所述参考编码单元。
在一个示例中,所述参考编码单元的数量为大于或等于2的正整数;如图13所示,所述装置1200还包括:率失真代价确定模块1242,用于确定各个所述参考编码单元的率失真代价;优选单元确定模块1244,用于根据各个所述参考编码单元的率失真代价,从至少两个所述参考编码单元中选择优选编码单元,所述优选编码单元的块划分结构用于预测所述目标编码单元的块划分结构。
在一个示例中,所述至少一个语法元素包括:第一语法元素,用于指示是否采用第一划分方式对所述目标编码单元进行块划分;第二语法元素,用于指示是否采用第二划分方式或第三划分方式对所述目标编码单元进行块划分;第三语法元素,用于在所述第二语法元素指示采用所述第二划分方式或所述第三划分方式对所述目标编码单元进行块划分的情况下,指示对所述目标编码单元进行块划分采用的是所述第二划分方式还是所述第三划分方式;第四语法元素,用于指示采用所述第二划分方式或所述第三划分方式对所述目标编码单元进行块划分的情况下,所述第二划分方式或所述第三划分方式的划分方向。
在一个示例中,所述第一划分方式包括QT划分;和/或,所述第二划分方式包括BT划分和/或TT划分;和/或,所述第三划分方式包括EQT划分。
综上所述,本申请实施例提供的技术方案,通过根据某一编码单元的参考编码单元,预测该编码单元的块划分结构,然后在语法元素的上下文模型的选择过程中,添加该编码单元的块划分结构的预测结果,从而可以增加上下文模型的选择条件或优化上下文模型的选择条件,以提升熵编码的效率、减少码流的比特数。并且,由于本申请实施例只添加了块划分结构的预测结果即可获得更为精确的概率估计,从而避免增加的上下文模型的选择条件过多,有助于视频压缩效率的提升。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图14,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是上文介绍的用于对视频序列进行编码的设备中,如图5所示的通信***中的第一设备210;也可以是上文介绍的用于对已编码的视频数据进行解码以恢复视频序列的设备中,如图5所示的通信***中的第二设备220。该计算机设备140可以包括:处理器141、存储器142、通信接口143、编码器/解码器144和总线145。
处理器141包括一个或者一个以上处理核心,处理器141通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器142可用于存储计算机程序,处理器141用于执行该计算机程序,以实现上述上下文模型的选择方法。
通信接口143可用于与其它设备进行通信,如收发音视频数据。
编码器/解码器144可用于实现编码和解码功能,如对音视频数据进行编码和解码。
存储器142通过总线145与处理器141相连。
此外,存储器142可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,EEPROM(ElectricallyErasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),SRAM(StaticRandom-Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable read-only memory,可编程只读存储器)。
本领域技术人员可以理解,图14中示出的结构并不构成对计算机设备140的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时以实现上述上下文模型的选择方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述上下文模型的选择方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种上下文模型的选择方法,其特征在于,所述方法包括:
确定目标编码单元的参考编码单元;
根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构;
基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型;
其中,所述语法元素用于指示编码单元的块划分结构,所述上下文模型用于对语法元素进行概率估计。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型,包括:
对于所述至少一个语法元素中的目标语法元素,根据所述目标编码单元的块划分预测结构,确定所述目标语法元素的预测值;
获取所述目标语法元素采用的上下文模型的初始索引增量值;
根据所述目标语法元素的预测值和所述目标语法元素采用的上下文模型的初始索引增量值,确定所述目标语法元素采用的上下文模型的索引增量值。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型,包括:
对于所述至少一个语法元素中的目标语法元素,根据所述目标编码单元的块划分预测结构,确定所述目标语法元素的预测值;
获取所述目标语法元素采用的上下文模型的索引增量值的确定条件;
根据所述目标语法元素的预测值和所述确定条件,确定所述目标语法元素采用的上下文模型的索引增量值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构,包括:
调用结构预测模型对所述参考编码单元进行处理,得到所述目标编码单元的块划分预测结构,所述结构预测模型用于预测编码单元的块划分结构。
5.根据权利要求4所述的方法,其特征在于,所述结构预测模型的训练过程如下:
获取至少一个训练样本;每个所述训练样本包括第一编码单元的块划分结构和第二编码单元,所述第二编码单元为所述第一编码单元的参考编码单元;
调用所述结构预测模型对所述第二编码单元进行处理,得到所述第一编码单元的块划分预测结构;
根据所述第一编码单元的块划分预测结构和所述第一编码单元的块划分结构,计算所述结构预测模型的预测损失值,所述预测损失值用于指示所述第一编码单元的块划分预测结构和所述第一编码单元的块划分结构之间的误差;
根据所述预测损失值,调整所述结构预测模型的参数。
6.根据权利要求1所述的方法,其特征在于,所述确定目标编码单元的参考编码单元,包括:
获取目标视频帧中满足目标条件的编码单元,所述目标视频帧为所述目标编码单元所在的视频帧;
从所述满足所述目标条件的编码单元中选择与所述目标编码单元相邻的编码单元,作为所述参考编码单元。
7.根据权利要求1所述的方法,其特征在于,所述确定目标编码单元的参考编码单元,包括:
确定所述目标编码单元在目标视频帧中的位置信息,所述目标视频帧为所述目标编码单元所在的视频帧;
获取所述目标视频帧的至少一个相邻视频帧;
将所述至少一个相邻视频帧中满足所述位置信息的编码单元,确定为所述参考编码单元。
8.根据权利要求1所述的方法,其特征在于,所述确定目标编码单元的参考编码单元,包括:
获取缓存中存储的至少一个编码单元;
将获取的所述至少一个编码单元,确定为所述参考编码单元。
9.根据权利要求1所述的方法,其特征在于,所述参考编码单元的数量为大于或等于2的正整数;所述确定目标编码单元的参考编码单元之后,还包括:
确定各个所述参考编码单元的率失真代价;
根据各个所述参考编码单元的率失真代价,从至少两个所述参考编码单元中选择优选编码单元,所述优选编码单元的块划分结构用于预测所述目标编码单元的块划分结构。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述至少一个语法元素包括:
第一语法元素,用于指示是否采用第一划分方式对所述目标编码单元进行块划分;
第二语法元素,用于指示是否采用第二划分方式或第三划分方式对所述目标编码单元进行块划分;
第三语法元素,用于在所述第二语法元素指示采用所述第二划分方式或所述第三划分方式对所述目标编码单元进行块划分的情况下,指示对所述目标编码单元进行块划分采用的是所述第二划分方式还是所述第三划分方式;
第四语法元素,用于指示采用所述第二划分方式或所述第三划分方式对所述目标编码单元进行块划分的情况下,所述第二划分方式或所述第三划分方式的划分方向。
11.根据权利要求10所述的方法,其特征在于,所述第一划分方式包括四叉树QT划分;和/或,所述第二划分方式包括二叉树BT和/或三叉树TT划分;和/或,所述第三划分方式包括扩展四叉树EQT划分。
12.一种上下文模型的选择装置,其特征在于,所述装置包括:
单元确定模块,用于确定目标编码单元的参考编码单元;
结构预测模块,用于根据所述参考编码单元,对所述目标编码单元的块划分结构进行预测,得到所述目标编码单元的块划分预测结构;
模型确定模块,用于基于所述目标编码单元的块划分预测结构,确定所述目标编码单元的块划分所涉及的至少一个语法元素分别采用的上下文模型;
其中,所述语法元素用于指示编码单元的块划分结构,所述上下文模型用于对语法元素进行概率估计。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至11任一项所述的上下文模型的选择方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至11任一项所述的上下文模型的选择方法。
CN202011009881.5A 2020-09-23 2020-09-23 上下文模型的选择方法、装置、设备及存储介质 Active CN114257810B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011009881.5A CN114257810B (zh) 2020-09-23 2020-09-23 上下文模型的选择方法、装置、设备及存储介质
PCT/CN2021/118832 WO2022063035A1 (zh) 2020-09-23 2021-09-16 上下文模型的选择方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011009881.5A CN114257810B (zh) 2020-09-23 2020-09-23 上下文模型的选择方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114257810A true CN114257810A (zh) 2022-03-29
CN114257810B CN114257810B (zh) 2023-01-06

Family

ID=80788599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011009881.5A Active CN114257810B (zh) 2020-09-23 2020-09-23 上下文模型的选择方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114257810B (zh)
WO (1) WO2022063035A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883835A (zh) * 2023-03-03 2023-03-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115442602A (zh) * 2022-08-12 2022-12-06 阿里巴巴(中国)有限公司 编码单元的划分决策方法、解码、转码方法、设备及介质
CN116170594B (zh) * 2023-04-19 2023-07-14 中国科学技术大学 一种基于率失真代价预测的编码方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361920A (zh) * 2018-10-31 2019-02-19 南京大学 一种面向多场景的自适应决策树选择的帧间快速预测算法
CN111316642A (zh) * 2017-10-27 2020-06-19 华为技术有限公司 信令图像编码和解码划分信息的方法和装置
TW202032995A (zh) * 2019-01-02 2020-09-01 弗勞恩霍夫爾協會 圖像編碼及解碼技術
US20210227222A1 (en) * 2018-06-12 2021-07-22 Electronics And Telecommunications Research Institute Context adaptive binary arithmetic coding method and device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
MX2014000162A (es) * 2011-07-01 2014-02-19 Samsung Electronics Co Ltd Metodo y aparato para codificacion de entropia usando unidad de datos jerargicos, y metodo y aparato para decodificacion.
WO2018174617A1 (ko) * 2017-03-22 2018-09-27 한국전자통신연구원 블록 형태에 기반한 예측 방법 및 장치
KR20210027477A (ko) * 2018-07-13 2021-03-10 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 분할 인트라 코딩 개념
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111316642A (zh) * 2017-10-27 2020-06-19 华为技术有限公司 信令图像编码和解码划分信息的方法和装置
US20210227222A1 (en) * 2018-06-12 2021-07-22 Electronics And Telecommunications Research Institute Context adaptive binary arithmetic coding method and device
CN109361920A (zh) * 2018-10-31 2019-02-19 南京大学 一种面向多场景的自适应决策树选择的帧间快速预测算法
TW202032995A (zh) * 2019-01-02 2020-09-01 弗勞恩霍夫爾協會 圖像編碼及解碼技術

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883835A (zh) * 2023-03-03 2023-03-31 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质
CN115883835B (zh) * 2023-03-03 2023-04-28 腾讯科技(深圳)有限公司 一种视频编码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114257810B (zh) 2023-01-06
WO2022063035A1 (zh) 2022-03-31

Similar Documents

Publication Publication Date Title
JP7483035B2 (ja) ビデオ復号方法並びにその、ビデオ符号化方法、装置、コンピュータデバイス及びコンピュータプログラム
CN112425166B (zh) 视频译码中使用交叉分量线性模型进行帧内预测
CN114257810B (zh) 上下文模型的选择方法、装置、设备及存储介质
CN113891076A (zh) 滤波视频数据的经解码块的方法和装置以及存储介质
CN113766249B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
CN112533000B (zh) 视频解码方法、装置、计算机可读介质及电子设备
CN111316642B (zh) 信令图像编码和解码划分信息的方法和装置
CN111741299B (zh) 帧内预测模式的选择方法、装置、设备及存储介质
CN111770345B (zh) 编码单元的运动估计方法、装置、设备及存储介质
WO2022116836A1 (zh) 视频解码方法、视频编码方法、装置及设备
CN113315967B (zh) 视频编码方法、装置、介质及电子设备
CN114390289A (zh) 参考像素候选列表构建方法、装置、设备及存储介质
WO2022022299A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
CN111770338B (zh) 编码单元的索引值确定方法、装置、设备及存储介质
CN114286095B (zh) 视频解码方法、装置及设备
CN114286096B (zh) 视频解码方法、装置及设备
JP7483029B2 (ja) ビデオ復号方法、ビデオ符号化方法、装置、媒体、及び電子機器
WO2022116854A1 (zh) 视频解码方法、装置、可读介质、电子设备及程序产品
EP4124036A1 (en) Video coding/decoding method, apparatus, and device
CN114079772B (zh) 视频解码方法、装置、计算机可读介质及电子设备
US20240064298A1 (en) Loop filtering, video encoding, and video decoding methods and apparatus, storage medium, and electronic device
US20230104359A1 (en) Video encoding method and apparatus, video decoding method and apparatus, computer-readable medium, and electronic device
WO2022037458A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
WO2022037464A1 (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
CN114979656A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40065638

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant