CN117354511A - 一种帧内预测方法、装置及解码器和编码器 - Google Patents

一种帧内预测方法、装置及解码器和编码器 Download PDF

Info

Publication number
CN117354511A
CN117354511A CN202311103342.1A CN202311103342A CN117354511A CN 117354511 A CN117354511 A CN 117354511A CN 202311103342 A CN202311103342 A CN 202311103342A CN 117354511 A CN117354511 A CN 117354511A
Authority
CN
China
Prior art keywords
prediction
intra
block
frame
modes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311103342.1A
Other languages
English (en)
Inventor
王凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202311103342.1A priority Critical patent/CN117354511A/zh
Publication of CN117354511A publication Critical patent/CN117354511A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • 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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

一种帧内预测方法、装置及编码器和解码器,本申请实施例采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取两种以上预测块;根据权重矩阵对得到的两种以上预测块进行组合得到待处理块的预测块。本申请实施例通过多种帧内预测模式确定多个预测块,实现了处理复杂的纹理的预测,提升了帧内预测的质量,从而提升了压缩性能。进一步地,本申请实施例提供的帧内预测方法,通过多样化的权重矩阵,为处理更为复杂的纹理的预测提供了保障,提升了帧内预测的质量,从而提升了压缩性能。

Description

一种帧内预测方法、装置及解码器和编码器
本申请是申请日为2020年12月03日的PCT国际专利申请PCT/CN2020/133692进入中国国家阶段的中国专利申请号202080107556.4、发明名称为“一种帧内预测方法、装置及解码器和编码器”的分案申请。
技术领域
本发明实施例涉及视频处理技术,具体涉及一种帧内预测方法、装置及解码器和编码器。
背景技术
视频的一个帧中的相邻像素之间存在很强的相关性,在视频编解码技术中通过使用帧内预测的方法消除相邻像素之间的空间冗余,以提高编码效率。
一般的帧内预测模式可以对简单的纹理进行预测;而对于复杂的纹理,要么需要划分成更小的块,或者对更多的残差进行编码,无疑提升了帧内预测的复杂度。也就是说,在相关的帧内预测方案中,要么失真代价较大,要么复杂度较大,从而导致了帧内预测的质量较低。
发明概述
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请提供一种帧内预测方法、装置及解码器和编码器,能够提升帧内预测的质量。
本申请实施例提供了一种帧内预测方法,应用于解码器,包括:
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的帧内预测方法。
本申请实施例提供了一种解码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的帧内预测方法的步骤。
本申请实施例提供了一种解码器,包括:解码模块、预测模块、组合模块;其中,
解码模块,设置为对接收到的码流进行解码,获取两种以上不同的帧内预测模式、待处理块以及权重矩阵;
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
本申请实施例提供了一种帧内预测方法,应用于编码器,包括:
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述应用于编码端的任一项所述的帧内预测方法。
本申请实施例提供了一种编码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述应用于编码端的任一项所述的帧内预测方法的步骤。
本申请实施例提供了一种编码器器,包括:预测模块、组合模块、处理模块;其中,
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块;
处理模块,设置为对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的两种以上不同的帧内预测模式、权重矩阵;将确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
本申请实施例提供了一种帧内预测方法,包括:
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测;
针对每种帧内预测模式的预测,当预测完预设数量个像素点,根据权重矩阵和完成预测的各帧内预测模式对应的像素点得到待处理块的预设数量个预测像素点;
根据得到的多个预设数量个预测像素点获得待处理块的目的预测块。
本申请实施例提供了一种帧内预测装置,包括:预测模块、组合模块;其中,
预测模块,设置为采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
本申请实施例提供的帧内预测方法、装置及编码器和解码器,采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取两种以上预测块;然后根据权重矩阵对得到的两种以上预测块进行组合以得到待处理块的预测块。本申请实施例通过多种帧内预测模式确定多个预测块,实现了处理复杂的纹理的预测,提升了帧内预测的质量,从而提升了压缩性能。
进一步地,本申请实施例提供的帧内预测方法,通过多样化的权重矩阵,为处理更为复杂的纹理的预测提供了保障,提升了帧内预测的质量,从而提升了压缩性能。也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图概述
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1(a)为本申请实施例中基于块的混合编码框架的示意图;
图1(b)为本申请实施例中一种视频编码系统的组成框图示意图;
图1(c)为本申请实施例中一种视频解码系统的组成框图示意图;
图2为本申请实施例中帧内预测方法的实施例示意图;
图3为本申请实施例中使用4个参考行/列实现帧内预测的实施例的示意图;
图4为本申请实施例H.264中对4×4的块进行帧内预测的9种模式的示意图;
图5为本申请实施例中GPM在正方形的块上的64种模式的权重图;
图6为本申请实施例中AWP在正方形的块上的56种模式的权重图;
图7为本申请实施例中一种帧内预测方法的流程示意图;
图8为本申请实施例中采用两种不同的帧内预测模式进行帧内预测的示意图;
图9(a)本申请实施例中权重变化的位置呈现直线的示意图;
图9(b)本申请实施例中权重变化的位置呈现曲线的示意图;
图10为本申请互斥情况处理第一实施例的过程示意图;
图11为本申请互斥情况处理第二实施例的过程示意图;
图12为本申请实施例中存储帧内预测模式的示意图;
图13为本申请实施例中帧内预测装置的组成结构示意图;
图14为本申请实施例中另一种帧内预测方法的流程示意图。
详述
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本申请实施例提供的帧内预测方法,适用于图6所示的基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
图1(a)中所示的基于块的混合编码框架下的视频编解码器的基本工作原理如下:在编码端,将一帧图像划分成块,对当前块使用帧内预测产生当前块的预测块,当前块的原始块减去预测块得到残差块,对残差块进行变换、量化得到量化系数矩阵,对量化系数矩阵进行熵编码输出到码流中。
其中,上述图像帧的块的划分中,每一帧被分割成相同大小(如128×128,64×64等)的正方形的最大编码单元(LCU,Largest Coding Unit)。每个最大编码单元可以根据规则划分成矩形的编码单元(CU,Coding Unit)。编码单元可能还会划分为预测单元(PU,Prediction Unit),变换单元(TU,Transform Unit)等。
在解码端,一方面对当前块使用帧内预测或帧间预测产生当前块的预测块,另一方面解析码流得到量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块,将预测块和残差块相加得到重建块。重建块组成重建图像,基于图像或基于块对重建图像进行环路滤波得到解码图像。编码端同样需要和解码端类似的操作获得解码图像。解码图像可以为后续的帧作为预测的参考帧。编码端获得的解码图像通常也叫做重建图像。在预测时可以将当前块划分成预测单元,在变换时可以将当前块划分成变换单元,预测单元和变换单元的划分可以不同。编码端确定的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息如果有必要需要输出到码流中。解码端通过解析及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
本申请实施例提供的帧内预测方法位于图1(a)所示框架中的帧内预测模块,可以应用于编码端,也可以应用于解码端。在编码端,会确定采用的帧内预测模式、权重矩阵等信息,然后根据确定的帧内预测模式、权重矩阵等完成本申请帧内预测;在解码端,通过对码流解码获取采用的帧内预测模式、权重矩阵等信息,然后根据获得的帧内预测模式、权重矩阵等完成本申请帧内预测。
图1(b)为本申请实施例中一种视频编码系统的组成框图示意图,如图1(b)所示,该视频编码系统11可以包括:变换单元111、量化单元112、模式选择和编码控制逻辑单元113、帧内预测单元114、帧间预测单元115(包括:运动补偿和运动估计)、反量化单元116、反变换单元117、环路滤波单元118、编码单元119和解码图像缓存单元110;针对输入的原始视频信号,通过编码树块(CTU,Coding Tree Unit)的划分可以得到一个视频重建块,通过模式选择和编码控制逻辑单元113确定编码模式,然后,对经过帧内或帧间预测后得到的残差像素信息,通过变换单元111、量化单元112对该视频重建块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内预测单元114用于对该视频重建块进行帧内预测;其中,帧内预测单元114用于确定该视频重建块的最优帧内预测模式(即目标预测模式);帧间预测单元115用于执行所接收的视频重建块相对于一或多个参考帧中的一或多个块的帧间预测编码,以提供时间预测信息;其中,运动估计为产生运动向量的过程,运动向量可以估计该视频重建块的运动,然后,运动补偿基于由运动估计所确定的运动向量执行运动补偿;在确定帧间预测模式之后,帧间预测单元115还用于将所选择的帧间预测数据提供到编码单元119,而且,将所计算确定的运动向量数据也发送到编码单元119;此外,反量化单元116和反变换单元117用于该视频重建块的重构建,在像素域中重构建残差块,该重构建残差块通过环路滤波单元118去除方块效应伪影,然后,将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频重建块;编码单元119是用于编码各种编码参数及量化后的变换系数。而解码图像缓存单元110用于存放重构建的视频重建块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频重建块,这些重构建的视频重建块都会被存放在解码图像缓存单元110中。
图1(c)为本申请实施例中一种视频解码系统的组成框图示意图,如图1(c)所示,该视频解码系统12可以包括:解码单元121、反变换单元127,与反量化单元122、帧内预测单元123、运动补偿单元124、环路滤波单元125和解码图像缓存单元126单元;输入的视频信号经过视频编码系统11进行编码处理之后,输出该视频信号的码流;该码流输入视频解码系统12中,首先经过解码单元121,用于得到解码后的变换系数;针对该变换系数通过反变换单元127与反量化单元122进行处理,以便在像素域中产生残差块;帧内预测单元123可用于基于所确定的帧内预测方向和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元124是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换单元127与反量化单元122的残差块与由帧内预测单元123或运动补偿单元124产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过环路滤波单元125以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元126中,解码图像缓存单元126存储用于后续帧内预测或运动补偿的参考图像,同时也用于视频信号的输出,得到所恢复的原始视频信号。
本申请实施例提供帧内预测方法位于视频编码系统11的帧内预测单元114和视频解码系统12的帧内预测单元123中,对当前块(待编码块或待解码块)进行预测,以获取对应的预测块。也就是说,本申请实施例所提供的帧内预测方法可以是基于视频编码方法中的帧内预测,也可以是基于视频解码方法中的帧内预测。
帧内预测方法是,使用当前块周边已编解码的重建像素作为参考像素来对当前块进行预测。举个例子来看,如图2所示,白色的4×4块是当前块,当前块左边一行和上面一列的灰色的像素为当前块的参考像素,帧内预测使用这些参考像素对当前块进行预测。这些参考像素可能已经全部可得即全部已经编解码,也可能有部分不可得,比如当前块是整帧的最左侧,那么当前块的左边的参考像素不可得。或者,编解码当前块时,当前块左下方的部分还没有编解码,那么左下方的参考像素也不可得。对于参考像素不可得的情况,可以使用可得的参考像素或某些值或某些方法进行填充,或者不进行填充。多参考行(MRL,Multiple reference line)帧内预测方法,可以使用更多的参考像素来提高编码效率。举个例子来看,如图3所示,为相关技术中使用4个参考行/列实现帧内预测的实施例的示意图。
帧内预测有多种模式,如图4所示,展示了H.264中对4×4的块进行帧内预测的9种模式。其中,模式0将当前块上面的像素按竖直方向复制到当前块作为预测值;模式1将左边的参考像素按水平方向复制到当前块作为预测值;模式2DC将A~D和I~L这8个点的平均值作为所有点的预测值;模式3~8分别按某一个角度将参考像素复制到当前块的对应位置。因为当前块某些位置不能正好对应到参考像素,可能需要使用参考像素的加权平均值,或者说是插值的参考像素的分像素。除此之外,相关技术中还有Plane,Planar等模式。随着技术的发展以及块的扩大,角度预测模式也越来越多。比如:高效率视频编码(HEVC,HighEfficiency Video Coding)使用的帧内预测模式有Planar、DC和33种角度模式共35种预测模式。再如:VVC使用的帧内模式有Planar、DC和65种角度模式共67种预测模式。又如:AVS3使用DC、Plane、Bilinear和63种角度模式共66种预测模式。
还有一些技术对帧内预测进行改进,如改进参考像素的分像素插值,对预测像素进行滤波等。比如:AVS3中的多组合帧内预测滤波(MIPF,Multiple Intra PredictionFilter)对不同的块大小,使用不同的滤波器产生预测值。对同一个块内的不同位置的像素,与参考像素较近的像素使用一种滤波器产生预测值,与参考像素较远的像素使用另一种滤波器产生预测值。对预测像素进行滤波的技术可以包括如:AVS3中的帧内预测滤波(IPF,Intra Prediction Filter),对预测值可以使用参考像素进行滤波。
帧内预测包括方向角度(DC)模式、平面(Plane)模式、平滑(Planar)模式、双线性(Bilinear)模式等帧内预测模式,但是,这些模式都只能处理简单的纹理的预测。角度模式虽然越来越多,但是,这些模式的预测只能循着一个角度的直线来进行。
在多功能视频编码(VVC,Versatile Video Coding,也称为H.266)标准的制定中,引入了几何划分(GPM,Geometric Partitioning Mode)的帧间预测模式。在我国自主研发的音视频编码标准(AVS3,Audio Video coding Standard)的制定中,引入了角度加权预测(AWP,Angular Weighted Prediction)的帧间预测模式。
GPM或AWP使用两个与当前块大小相同的参考块,但是,某些像素位置100%使用第一个参考块对应位置的像素值,某些像素位置100%使用第二个参考块对应位置的像素值,而在交界区域,按一定比例使用这两个参考块对应位置的像素值。具体这些权重如何分配,由GPM或AWP的模式决定。也可以认为GPM或AWP使用两个与当前块大小不相同的参考块,即各取所需的一部分作为参考块,即将权重不为0的部分作为参考块,而将权重为0的部分剔除出来。
图5为本申请实施例中GPM在正方形的块上的64种模式的权重图,如图5所示,黑色表示第一个参考块对应位置的权重值为0%,白色表示第一个参考块对应位置的权重值为100%,灰色区域则按颜色深浅的不同表示第一个参考块对应位置的权重值为大于0%且小于100%的某一个权重值。第二个参考块对应位置的权重值则为100%减去第一个参考块对应位置的权重值。
图6为本申请实施例中AWP在正方形的块上的56种模式的权重图,如图6所示,黑色表示第一个参考块对应位置的权重值为0%,白色表示第一个参考块对应位置的权重值为100%,灰色区域则按颜色深浅的不同表示第一个参考块对应位置的权重值为大于0%且小于100%的某一个权重值。第二个参考块对应位置的权重值则为100%减去第一个参考块对应位置的权重值。
GPM和AWP的权重导出方法不同。GPM是根据每种模式确定角度及偏移量,而后计算出每个模式的权重矩阵。AWP则是首先做出一维的权重的线,然后使用类似于帧内角度预测的方法将一维的权重的线铺满整个矩阵。
无论是CU、PU还是TU的划分,早先的编解码技术中只存在矩形的划分方式。而GPM和AWP在没有划分的情况下实现了预测的非矩形的划分效果。GPM和AWP使用了2个参考块的权重的蒙版(mask),即上述的权重图。这个蒙版确定了两个参考块在产生预测块时的权重,或者可以简单地理解为预测块的一部分位置来自于第一个参考块,一部分位置来自于第二个参考块,而过渡区域(blending area)用两个参考块的对应位置加权得到,从而使过渡更平滑。GPM和AWP没有按划分线将当前块划分成两个CU或PU,于是在预测之后的残差的变换、量化、反变换、反量化等也都是将当前块作为一个整体来处理。
本申请实施例提供的帧内预测方法可以包括:采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与不同的帧内预测模式对应的两种以上预测块;根据权重矩阵对得到的两种以上预测块进行组合得到待处理块的预测块。本申请实施例通过多种帧内预测模式确定多个预测块,实现了处理复杂的纹理的预测,提升了帧内预测的质量,从而提升了压缩性能。
进一步地,本申请实施例提供的帧内预测方法,通过多样化的权重矩阵,为处理更为复杂的纹理的预测提供了保障,提升了帧内预测的质量,从而提升了压缩性能。也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
图7为本申请实施例中帧内预测方法的流程示意图,如图7所示,包括:
步骤700:采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块。
本申请实施例中,待处理块可以是编码器处理的待编码块,也可以是解码器处理的待解码块。
在一种示例性实例中,帧内预测模式可以包括但不限于如:DC模式、Planar模式、Plane模式、Bilinear模式,角度预测(AP)模式等帧内预测模式,以及对帧内预测进行改进的技术,比如:改进参考像素的分像素插值、对预测像素进行滤波等,如多组合帧内预测滤波(MIPF,Multiple Intra Prediction Filter),帧内预测滤波(IPF,Intra PredictionFilter)等。
不依赖于其他帧内预测模式独立生成预测块的帧内预测模式称为第一帧内预测模式(本文中也称为基本帧内预测模式),可以包括如:DC模式、Planar模式、Plane模式、Bilinear模式,角度预测模式等帧内预测模式,也就是说,对于基本帧内预测模式,确定了参考像素和基本帧内预测模式,就可以确定预测块。依赖于基本帧内预测模式才能确定预测块的帧内预测模式称为第二帧内预测模式(本文中也称为改进帧内预测模式),可以包括如:MIPF,IPF等对帧内预测进行改进的技术,也就是说,改进帧内预测模式不能独立生成预测块。举个例子来看,对于基本帧内预测模式如某一种角度预测模式,可以根据参考像素确定生成预测块,而对于改进帧内预测模式如MIPF,可以在上述角度预测模式的基础上对不同位置的像素使用不同的滤波器,以生成或确定预测块。
在一种示例性实例中,两种以上不同的帧内预测模式中至少包括一种基本帧内预测模式。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,两种不同的帧内预测模式均为基本帧内预测模式。
在一种示例性实例中,对基本帧内预测模式叠加改进帧内预测模式,也就是说,对于采用的基本帧内预测模式,还可以进一步与改进帧内预测模式进行组合来对待处理块进行预测。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,两种不同的帧内预测模式包括:一种基本帧内预测模式和一种改进帧内预测模式。举例来看,比如:第一帧内预测模式和第二帧内预测模式都使用了同一种角度预测模式,但是,第一帧内预测模式没有使用某种改进帧内预测模式,如没有使用某种改进帧内预测模式的IPF,而第二帧内预测模式使用了这种改进帧内预测模式,如使用了改进帧内预测模式的IPF。再如:第一帧内预测模式和第二帧内预测模式都使用了同一种角度预测模式,但是,第一帧内预测模式使用了某种改进帧内预测模式的某一种选择,而第二帧内预测模式使用了这种改进帧内预测模式的另一种选择。
本申请实施例中,对待处理块的预测采用了至少两种不同的帧内预测模式,这样,可以从多角度对待处理块进行预测,适合于处理复杂的纹理的预测,有助于提升帧内预测的质量。
上述帧内预测方法的过程适用于编码器也适用于解码器。
在一种示例性实例中,在解码器端,待处理块为待解码块,步骤700之前,还包括:
解析码流,获取两种以上不同的帧内预测模式、待处理块以及权重矩阵。
在一种示例性实例中,在编码器端,步骤700之前,还包括:
对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的两种以上不同的帧内预测模式、权重矩阵。
还包括:将确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
这里,全部可能的情况包括:第一帧内预测模式所有可能的模式,第二帧内预测模式所有可能的模式,以及权重矩阵导出模式所有可能的模式的组合。举例来看,假设所有可用的帧内预测模式有66种,第一个帧内预测模式有66种可能,第二帧内预测模式肯定不和第一帧内预测模式相同,有65种可能;权重矩阵导出模式有56种(以AWP为例),那么,可能使用任意2种不同的帧内预测模式以及任意一种权重矩阵导出模式的组合共有66×65×56种可能。
在一种示例性实例中,计算损失代价的方式可以包括以下一种或任意组合:绝对误差和(SAD,Sum of Absolute Differences),变化残差绝对值和(SATD,Sum of AbsoluteTransformed Difference),率失真优化(RDO,Rate Distortion Optimation)等算法。
一种示例性实例中,采用SATD和/或SAD进行第一筛选如粗选,从全部或部分可能的预测模式和权重矩阵导出模式的组合中确定出候选组合;再采用RDO进行第二筛选如精选,从候选组合中确定损失代价最小的组合。
在一种实施例中,在粗选时还可以包括:使用一些快速算法减少尝试的次数,比如:某帧内角度预测模式造成代价很大时,与该帧内角度预测模式相邻的预设数量个帧内预测模式都不再尝试等。
在一种示例性实例中,在上述对预测模式和权重矩阵导出模式的组合的尝试之前,还可以包括:
对当前待处理块的纹理进行分析,比如使用梯度进行分析等。
上述对预测模式和权重矩阵导出模式的组合的尝试还可以包括:
根据对纹理进行分析的结果确定尝试的帧内预测模式。
比如:对于当前待处理块的纹理较强(如大于预先设置的高阈值)的方向,在对预测模式和权重矩阵导出模式的组合的尝试的粗选中,尽量多地选择近似(即该方向加减某个设定角度值的范围)纹理较强的方向的帧内预测模式进行尝试。再如:对于当前待处理块的纹理较弱(如小于预先设置的低阈值)的方向,尽量不选择近似纹理较弱的方向的帧内预测模式来尝试。
需要说明的是,损失代价除了包括第一帧内预测模式、第二帧内预测模式、权重矩阵导出模式在码流中占用的码字的代价外,还包括如预测残差进行变换量化、熵编码等在码流中要传输的各种标志以及量化系数的代价,以及重建块的失真的代价等。一般来讲,代码不是占了多少空间,指的是失真的代价,即为预测块与原始块之间的差距,或者说,原来的图像与经过编解码之后得到的图像之间的失真差值。这里选择的代价最小,指的是失真最小,即为压缩过程中的损失最小,编码质量最高。
在一种示例性实例中,在确定出损失代价最小的组合之后,步骤700之前,还包括:
如果选择出的最小的损失代价小于或等于其他预测模式的代价,其他预测模式可以包括其他帧内预测模式或帧间预测模式等,那么,编码器端会选择本申请选择出的损失代价最小的组合中的帧内预测模式作为待处理块的预测模式;如果选择出的最小的损失代价大于其他预测模式的代价,那么,编码器会选择其他某种预测模式作为待处理块的预测模式。
在一种示例性实例中,编码器端还可以包括:
将最终确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
还可以包括:按照确定出的两种以上不同的帧内预测模式、权重矩阵,按照本申请帧内预测方法对待处理块进行帧内预测,以及后续的编码处理。
步骤701:根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
在一种示例性实例中,在编码端,如步骤700中所述,可以通过计算损失代价的方式来确定权重矩阵。在解码端,按照语法解析码流,根据获取的权重矩阵导出模式得到权重矩阵。
对于确定权重矩阵的方法可以参考帧间预测中的GPM或AWP的权重导出方法来实现。如果同一个编解码标准或编解码器中使用了GPM或AWP的预测模式,那么,本申请实施例中可以使用GPM或AWP的权重导出方法来确定权重矩阵,这样,可以做到复用部分相同的逻辑。比如:AVS3帧间预测使用了AWP,那么,在AVS3中本申请实施例可以使用AWP的权重导出方法来确定权重矩阵。本申请实施例中确定权重矩阵的方法和同一个编解码标准或编解码器中使用的GPM或AWP的方法也可以不同,比如:可以使用不同的模式数,或者使用不同的过渡区域算法,或者使用不同的参数等等。
在一种示例性实例中,如图8所示,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测获得第一预测块和第二预测块为例,步骤701可以包括:
计算第一预测块对应的矩阵与第一权重矩阵的第一乘积,计算第二预测块对应的矩阵与第二权重矩阵第二乘积;
计算第一乘积、第二乘积和预设值的和值;
将计算得到的和值进行归一化处理,得到所述目的预测块。
在一种示例性实例中,第二权重矩阵为最大权重值(如8等)与第一权重矩阵的差值;
归一化处理包括:将计算得到的和值右移预设位数(如3位等),得到组合得到待处理块的目的预测块。
举例来看,predMatrixSawp中的元素predMatrixSawp[x][y]的值=((predMatrix0[x][y]*AwpWeightArrayY[x][y]+predMatrix1[x][y]*(8-AwpWeightArrayY[x][y])+4)>>3)。其中,predMatrixSawp表示目标预测块,predMatrixSawp[x][y]表示目标预测块矩阵,predMatrix0[x][y]表示第一预测块对应的矩阵,predMatrix1[x][y]表示第二预测块对应的矩阵,AwpWeightArrayY[x][y]表示第一权重矩阵。
在一种示例性实例中,步骤701之后还可以包括:
采用改进帧内预测模式对得到的待处理块的目的预测块进行帧内预测,将预测得到的结果作为所述待处理块的目的预测块。
在一种示例性实例中,确定出的所有可能的权重矩阵中并非每一个权重矩阵的所有的点的权重都相同。换句话说,所有可能的权重矩阵中至少存在一个可能的权重矩阵中包括至少2个不同的权重值。
在一种示例性实例中,所有可能的权重矩阵中都包括至少2个不同的权重值。
在一种示例性实例中,所有可能的权重矩阵中,至少存在一个权重矩阵中包括至少2个不同的权重值,且至少存在一个权重矩阵中只包括同一个权重值。举例来看,如果最小权重值是0,最大权重值是8,比如:有一个权重矩阵中有的点的权重值是0,有的点权重值是8;有一个权重矩阵中所有的点都是4,只包含一个权重值的权重矩阵的这个值可以是大于最小权重值且小于最大权重值的任意值。
在一种示例性实例中,对某个或某些包含至少2个不同权重值的权重矩阵,根据最小权重值和最大权重值,使得待处理块中的每一个点都是由2个帧内预测模式导出的预测值加权得到的。比如:权重设置有8个档位,即0~8档。以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,0表示这个点完全由一个帧内预测模式导出的预测值得到,8表示这个点完全由另一个帧内预测模式导出的预测值得到。假设设置最小权重值为1,最大权重值为7,那么,这种权重矩阵所有点都需要2个帧内预测模式导出的预测值加权得到。但是,并非所有点的权重都相同。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,所有可能的权重矩阵中,有且只有一个权重矩阵中只包括2种权重值,其中一个权重值表示对应点的预测值完全来自于第一预测块对应点的值,另一个权重值表示对应点的预测值完全来自于第二预测块对应点的值。比如:这2种权重值分别是0和1。
在一种示例性实例中,以采用两种不同的帧内预测模式对待解码块分别进行帧内预测为例,所有可能的权重矩阵中,一个权重矩阵中可能包括多种权重值,其中,权重值中的最大值和权重值中的最小值(比如0)分别表示对应点的预测值完全来自于第一预测块对应点的值和第二预测块对应点的值,非权重值中的最大值或非权重值中的最小值的权重值则表示对应点的预测值来自于第一预测块和第二预测块对应点的值的加权平均。其中,除最大值、最小值之外的权重值组成的区域可以称为过渡区域(blending area)。
在一种示例性实例中,如图9(a)所示,所有可能的权重矩阵中,权重矩阵只包括2种权重值的情况下,权重值变化的位置呈现一条直线;权重矩阵包括多种权重值的情况下,过渡区域中权重值相同的位置呈现一条直线。在一种实施例中,上述直线全是水平竖直的,或者,上述直线不全是水平竖直的。
在一种示例性实例中,如图9(b)所示,所有可能的权重矩阵中,权重矩阵只包括2种权重值的情况下,权重值变化的位置呈现一条曲线;权重矩阵包括多种权重的情况下,过渡区域中权重值相同的位置呈现一条曲线。
本申请实施例中提供的多样化的权重矩阵,为预测出更多样的预测块提供了保障,也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
在一种实施例中,以AVS3中在帧间预测中使用了AWP模式为例,AWP的权重矩阵包括56种;本申请实施例中,在帧内预测中使用64种权重矩阵,其中,有56种和AWP的权重矩阵相同,比如:前56种和AWP的权重矩阵相同,剩余的8种权重矩阵,每一个权重矩阵都只包括一种权重值,该权重值分别为1,2,……,7,8。对这8种权重矩阵,总的权重值为16,即权重值为1表示1∶15加权,权重值为2表示2∶14加权。这样,在64种权重矩阵的模式号进行二值化时,可以都使用6个比特的码字。还有一种可能是,总的权重值是8,此时8为最大权重值,即权重值为1表示1:7加权,权重值为2表示2:6加权。
因为帧间预测利用了时域上的相关性,使用的是参考帧中已重建的图像作为参考块。而帧内预测利用了空域上的相关性,使用的是待处理块周边已重建的像素作为参考像素。空域上距离越近相关性越强,距离越远相关性越差。因此,如果某种权重矩阵使得一个预测块使用的得到的像素位置都距离参考像素较远,那么,为了保证帧内预测的效果,本申请实施例中可以不使用这样的权重矩阵。
在一种示例性实例中,本申请实施例提供的帧内预测方法中,块(如待处理块)的大小可以包括但不限于:
块的宽度大于或等于第一阈值TH1,且块的高度大于或等于第二阈值TH2,第一阈值TH1和第二阈值TH2的值可以是8,16,32,64,128等,第一阈值TH1可以等于第二阈值TH2,比如第一阈值TH1=第二阈值TH2=8;或是,块的像素数大于或等于第三阈值TH3,第三阈值TH3的值可以是8,16,32,64,128等;
或者,块的宽度小于或等于第四阈值TH4,且块的高度小于或等于第五阈值TH5,第四阈值TH4和第五阈值TH5的值可以是8,16,32,64,128等,第四阈值TH4可以等于第五阈值TH5;或是,块的像素数小于或等于第六阈值TH6的情况,第六阈值TH6的值可以是8,16,32,64,128等。
通过对块的大小的限制,降低了由于采用多个预测模式进行预测所带来的复杂度对整个系统的影响,并且,通过限制不适用某些大小的块,很好地实现了对压缩性能和复杂度的权衡,从而更好地保证了本申请的适用性。
在一种示例性实例中,随着技术的发展,块的划分会越来越灵活。除了正方形的块,划分方法还可以支持宽高比如1:2、1:4、1:8、2:1、4:1、8:1等形状的块。在本申请实施例提供的帧内预测方法中,本申请发明人发现,某些宽高比的块,或者说某些大小的宽高比的块,比如1:4或4:1的块以及1:8或8:1的块,或8×32、8×64、32×8、64×8等的块,带来的压缩性能可能不够好或者说不明显,那么,本申请一种实施例中,可以通过设置块的宽高比来设置块的大小,比如:宽度与高度的比值小于或等于预先设置的比值阈值THR,且宽度与高度的比值小于或等于该比值阈值THR。
在一种示例性实例中,块的大小,以及块的宽高比的设置可以同时使用。比如:在块的大小满足:块的高度大于或等于8,且块的宽度大于或等于8,且块的宽度与块的高度的比值小于或等于4,且块的高度与块的宽度的比值小于或等于4时,可以使用本申请实施例提供的帧内预测方法,否则,默认不使用本申请实施例提供的帧内预测方法。
在一种示例性实例中,在编码器端,本申请步骤700之前,还可以包括:
设置帧级的标志位,用于表示当前待处理帧是否使用本申请实施例的帧内预测方法,即是否继续执行步骤700,并且将该标志位按照语法写入码流,以供在解码器端根据该标志位执行帧内预测方法。
在一个实施例中,如果对于帧内帧(如I帧)使用本申请实施例的帧内预测方法,对于帧间帧(如B帧、P帧)不使用本申请实施例的帧内预测方法,那么,当标志位显示当前待处理帧为帧内帧时,表示解码端继续执行步骤700;当标志位显示当前待处理帧为帧间帧时,表示解码端退出本申请流程,可以采用相关技术进行帧内预测。
再如:如果对于帧内帧(如I帧)不使用本申请实施例的帧内预测方法,对于帧间帧(如B帧、P帧)使用本申请实施例的帧内预测方法,那么,当标志位显示当前待处理帧为帧内帧时,表示解码端退出本申请流程,可以采用相关技术进行帧内预测;当标志位显示当前待处理帧为帧间帧时,表示解码端继续执行步骤700。
又如:如果对于某些帧间帧使用本发明,另一些帧间帧不使用本发明,那么,当标志位显示当前待处理帧为某些帧间帧时,表示解码端继续执行步骤600;当标志位显示当前待处理帧为另一些帧间帧时,表示解码端退出本申请流程,可以采用相关技术进行帧内预测。
相应地,在解码器端,在上述图7所示的帧内预测方法的步骤700之前还可以包括:按照语法解析码流,获取标志位。
比如:如果对于帧内帧(如I帧)使用本申请实施例的帧内预测方法,对于帧间帧(如B帧、P帧)不使用本申请实施例的帧内预测方法,那么,当解码获得的标志位显示当前待处理帧为帧内帧时,继续执行步骤700;当解码获得的标志位显示当前待处理帧为帧间帧时,退出本申请流程,可以采用相关技术进行帧内预测。
再如:如果对于帧内帧(如I帧)不使用本申请实施例的帧内预测方法,对于帧间帧(如B帧、P帧)使用本申请实施例的帧内预测方法,那么,当解码获得的标志位显示当前待处理帧为帧内帧时,退出本申请流程,可以采用相关技术进行帧内预测;当解码获得的标志位显示当前待处理帧为帧间帧时,继续执行步骤700。
又如:如果对于某些帧间帧使用本发明,另一些帧间帧不使用本发明,那么,当解码获得的标志位显示当前待处理帧为某些帧间帧时,继续执行步骤700;当解码获得的标志位显示当前待处理帧为另一些帧间帧时,退出本申请流程,可以采用相关技术进行帧内预测。
在一种示例性实例中,在编码器端,在本申请步骤700之前,还可以包括:
设置帧级以下、CU级以上(如tile、slice、patch、LCU等)的标志位,用于表示对于指示的这一区域是否使用申请实施例的帧内预测方法,并将标志位按照语法写入码流,以指示在解码器端根据该标志位执行相应的帧内预测方法。
通过申请实施例中的不同级别的标志位的设置,一方面,灵活地实现了根据不同的应用场景、视频内容设置最优的配置;另一方面,达到了进一步节省码率的效果。比如:如果一个LCU中有多个CU,而且这些CU都没有使用到本申请实施例提供的帧内预测方法,那么,只需要将LCU级的一个标志设置为表明该LCU内的所有CU都不使用本申请实施例提供的帧内预测方法即可,也就是说,不需要针对每个CU单独设置标志了,也就是说,一个标志的设置代替了N个标志的设置。
相应地,在解码器端,步骤700之前还可以包括:按照语法解析码流,获取标志位。
在一种示例性实例中,在编码器端,本申请步骤700之前,还可以包括:
设置与本申请实施例提供的帧内预测方法互斥的改进预测模式,以供在帧内预测过程中更好的确定帧内预测模式。
在解码器端,通过解析码流获取设置的与本申请实施例提供的帧内预测方法互斥的改进预测模式。确定待处理块使用本申请实施例的帧内预测方法,那么,不使用互斥的改进预测模式;或者,确定待处理块使用互斥的改进预测模式,那么,不使用本申请实施例的帧内预测方法。通过对互斥的改进预测模式的设置,不需要在码流中传输该互斥的改进预测模式是否使用的标志,节省了没必要的标志在码流中的传输,在整体上获得了更好的压缩性能。
在一种示例性实例中,互斥的改进预测模式可以包括如:IPF、DT等。
以互斥的改进预测模式为衍生数(DT,Derived Tree)为例,DT是AVS3中的技术,DT可以将当前CU划分成矩形的PU,而且相应地要划分更小的TU,对于本申请实施例中采用和DT叠加使用的情况,本申请实施例提供的帧内预测方法可以在DT划分的某一个或几个PU中使用,但是会增加复杂度。以互斥的改进预测模式为帧内改进预测(IIP,Improved IntraPrediction)为例,IIP是AVS3中的技术,IIP可以使用更复杂的滤波器获得预测值。
本申请发明人在对本申请实施例提供的帧内预测的测试过程中发现,当使用IIP、DT或IPF时,会增加帧内预测的计算量或复杂度,因此,通过本实施例设置这些改进预测模式与本申请帧内预测的互斥关系,很好地平衡了性能和复杂度的关系,从而更好地保证了本申请的适用性。
以本申请帧内预测方法与IPF来举例说明对互斥情况的处理。
在一种示例性实例中,假设本申请帧内预测方法与IPF互斥,并以先解码本申请实施例中用于表示当前待处理帧是否使用本申请实施例的帧内预测方法的标志位,再解码IPF的标志位为例,如图10所示,过程大致包括:
如果当前块使用本申请帧内预测方法,那么,不需要再解码IPF的标志位,也就是说,码流中就不需要再传输IPF的标志位。如果当前块不使用本申请帧内预测方法,再进一步解码IPF的标志位判断是否需要使用IPF,如果当前块使用IPF,那么,当前块使用其他帧内预测方法叠加IPF进行预测,如果当前块不使用IPF,那么,当前块使用其他帧内预测方法。
在一种示例性实例中,假设本申请帧内预测方法与IPF不互斥,并以先解码本申请实施例中用于表示当前待处理帧是否使用本申请实施例的帧内预测方法的标志位,再解码IPF的标志位为例,如图11所示,过程大致包括:
无论是否使用本申请帧内预测方法,都需要解码IPF的标志位。而且,如果本申请帧内预测方法和IPF都使用,那么,当前块使用本申请帧内预测方法叠加IPF进行预测。
需要说明的是,图10和图11所示的实施例,仅以本申请帧内预测方法是否与一种技术互斥为例,如果本申请帧内预测方法和这种技术还与其他技术有存在互斥关系,那么流程会更加复杂,但原理是一样的,在本申请图10和图11所示实施例的基础上,本邻域技术人员是容易理解的,这里不再赘述。
在一种示例性实例中,本申请实施例还可以包括:存储帧内预测中使用的帧内预测模式信息,以供相邻块在编解码的过程中使用,比如:在MPM模式下,需要参考相邻块的帧内预测模式。也就是说,当前帧的后续编解码的块可以根据相邻的位置关系使用前面已编解码的块如相邻块的帧内预测模式。色度块(编码单元)可以根据位置使用前面已编解码的亮度块(编码单元)的帧内预测模式。这里存储的这些信息是为后续编解码的块参考的,因为同一个块(编码单元)中的编码模式信息是可以直接获得的,但是,不同块(编码单元)中的编码模式信息是不能直接获得的,所以需要存储帧内预测中使用的帧内预测模式信息。这样,后续编解码的块根据位置可以读取这些信息。
在一种示例性实例中,以采用两种不同的帧内预测模式对待解码块分别进行帧内预测为例,存储帧内预测中使用的帧内预测模式包括:
至少存在一个最小单元保存两种不同的帧内预测模式中的一种帧内预测模式,至少存在一个最小单元保存两种不同的帧内预测模式中的另一种帧内预测模式,也就是说,至少存在两个最小单元存储的帧内预测模式不同。最小单元可以是预先设置的一个固定大小的矩阵(如4×4的矩阵等)。每个最小单元单独存储一个帧内预测模式。这样,每编解码一个块,它的位置对应的那些最小单元就可以用来存储这个块的帧内预测模式。
比如:如图12所示,假设一个16×16的当前块亮度预测使用了帧内预测模式5,那么,这个块对应的所有的4×4个最小单元的帧内预测模式都保存5。以YUV格式为例,一般会存储亮度的帧内预测模式,可以包括既包含亮度分量又包括色度分量的块的亮度的帧内预测模式,以及只包含亮度分量的块的亮度帧内预测模式。
再如:在AVS3中本申请实施例可以使用与AWP保存2个不同运动信息相似的逻辑来保存2个不同的帧内预测模式。即:如果一个最小单元对应的位置只使用了两种帧内预测模式中的一种帧内预测模式确定的预测块,那么,这个最小单元保存这种帧内预测模式;如果一个最小单元对应的位置只使用了两种帧内预测模式中的另一种帧内预测模式确定的预测块,那么,这个最小单元保存这另一种帧内预测模式;如果一个最小单元对应的位置既使用了第一种帧内预测模式确定的预测块,又使用了第二种帧内预测模式确定的预测块,那么,可以根据预先设置的判断方法选择保存其中一个。举个例子来看,比如:对于最小单元是4×4,选择某一个点,比如说(2,2)这个点,如果这个点上第一种帧内预测模式的权重大于或等于第二种帧内预测模式的,那么,存储第一种帧内预测模式,否则存储第二种帧内预测模式;再如:将最小单元的块内所有点的第一种帧内预测模式的权重和第一种帧内预测模式的权重求和,如果第一种帧内预测模式的权重和大于或等于第二种帧内预测模式的,那么,存储第一种帧内预测模式,否则存储第二种帧内预测模式。本申请实施例中使用了GPM或AWP的保存相关信息的方法。这样,做到了复用部分相同的逻辑。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,存储帧内预测中使用的帧内预测模式包括:
对整个待处理块所对应的所有最小单元均选择同一个帧内预测模式进行保存。这样可以降低复杂度。
在一种示例性实例中,对整个待处理块所对应的所有最小单元均选择同一个帧内预测模式进行保存,可以包括:
根据解析码流得到的权重矩阵导出模式确定待处理块的所有最小单元是都保存两种帧内预测模式中的一种帧内预测模式,还是都保存两种帧内预测模式中的另一种帧内预测模式。比如:所有权重矩阵导出模式全都选择第一种帧内预测模式;再如:所有权重矩阵导出模式全都选择第二种帧内预测模式;又如:某些权重矩阵导出模式的所有最小单元都选择第一种帧内预测模式,另一些权重矩阵导出模式的所有最小单元都选择第二种帧内预测模式。
其中,权重矩阵导出模式是导出权重矩阵的模式。对一个给定宽度和高度的块,每种权重矩阵导出模式可以导出一个权重矩阵,不同权重矩阵导出模式对同样大小的块导出的权重矩阵不同。比如:AVS3的AWP有56种权重矩阵导出模式,VVC的GPM有64种权重矩阵导出模式等。
在一种示例性实例中,对整个待处理块所对应的所有最小单元均选择同一个帧内预测模式进行保存,可以包括:
根据解析码流得到的权重矩阵的导出模式的模式号,确定待处理块的所有最小单元是都保存两种帧内预测模式中的一种帧内预测模式,还是都保存两种帧内预测模式中的另一种帧内预测模式。在一种实施例中,可以根据权重矩阵导出模式的模式号查表来得出待处理块的所有最小单元是都保存第一种帧内预测模式,还是都保存第二种帧内预测模式。这里以本申请实施例使用和AWP相同的权重矩阵的导出模式为例,如表1所示,表1中模式号为0的矩阵导出模式对应的所有最小单元可以选择保存第一种帧内预测模式,表1中模式号为1的矩阵导出模式对应的所有最小单元可以选择第二种帧内预测模式。
表1
在一个实施例中,提供了一种编码方法,包括:
获得目标图像帧,并对目标图像帧进行块划分,得到待处理块;
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块;
基于所述待处理块和所述目标预测块进行编码,生成码流。
在另一个实施例中,提供的一种解码方法,包括:
解析码流,获取待处理块和权重矩阵;
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块;
根据所述目标预测块和所述待处理块进行解码,获取与所述待处理块对应的重建块。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项适用于解码器端的所述的帧内预测方法或解码方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项适用于编码器端的所述的帧内预测方法或编码方法。
本申请实施例提供一种解码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项适用于解码器端的所述的帧内预测方法或解码方法的步骤。
本申请实施例提供一种编码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项适用于编码器端的所述的帧内预测方法或编码方法的步骤。
图13为本申请帧内预测装置的组成结构示意图,如图13所示,至少包括:预测模块、组合模块;其中,
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
本申请实施例提供的帧内预测装置可以设置在编码器中,也可以设置在解码器中。
本申请实施例提供的帧内预测装置设置在解码器中,还包括:解码模块;
解码模块,设置为对接收到的码流进行解码,获取两种以上不同的帧内预测模式、待处理块以及权重矩阵。
本申请实施例提供的帧内预测装置设置在编码器中,还包括:处理模块;
处理模块,设置为对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的两种以上不同的帧内预测模式、权重矩阵;将确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
在一种示例性实例中,两种以上不同的帧内预测模式中至少包括一种基本帧内预测模式。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,两种不同的帧内预测模式均为基本帧内预测模式。
在一种示例性实例中,对于采用的基本帧内预测模式,还可以进一步与改进帧内预测模式进行组合来对待处理块进行预测。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,两种不同的帧内预测模式包括:一种基本帧内预测模式和一种改进帧内预测模式。
本申请实施例中,对待处理块的预测采用了至少两种不同的帧内预测模式,这样,可以从多角度对待处理块进行预测,适合于处理复杂的纹理的预测,有助于提升帧内预测的质量。
在一种示例性实例中,所有可能的权重矩阵中并非每一个权重矩阵的所有的点的权重都相同。换句话说,所有可能的权重矩阵中至少存在一个可能的权重矩阵中包括至少2个不同的权重值。
在一种示例性实例中,所有可能的权重矩阵中都包括至少2个不同的权重值。
在一种示例性实例中,所有可能的权重矩阵中,至少存在一个权重矩阵中包括至少2个不同的权重值,且至少存在一个权重矩阵中只包括同一个权重值。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,所有可能的权重矩阵中,有且只有一个权重矩阵中只包括2种权重值,其中一个权重值表示对应点的预测值完全来自于第一预测块对应点的值,另一个权重值表示对应点的预测值完全来自于第二预测块对应点的值。
在一种示例性实例中,以采用两种不同的帧内预测模式对待解码块分别进行帧内预测为例,所有可能的权重矩阵中,一个权重矩阵中可能包括多种权重值,其中,权重值中的最大值和权重值中的最小值(比如0)分别表示对应点的预测值完全来自于第一预测块对应点的值和第二预测块对应点的值,而非权重值中的最大值或非权重值中的最小值的权重值则表示对应点的预测值来自于第一预测块和第二预测块对应点的值的加权平均。其中,除最大值、最小值之外的权重值组成的区域可以称为过渡区域。
在一种示例性实例中,所有可能的权重矩阵中,权重矩阵只包括2种权重值的情况下,权重值变化的位置呈现一条直线;权重矩阵包括多种权重值的情况下,过渡区域中权重值相同的位置呈现一条直线。在一种实施例中,上述直线全是水平竖直的,或者,上述直线不全是水平竖直的。
在一种示例性实例中,所有可能的权重矩阵中,权重矩阵只包括2种权重值的情况下,权重值变化的位置呈现一条曲线;权重矩阵包括多种权重的情况下,过渡区域中权重值相同的位置呈现一条曲线。
本申请实施例中提供的多样化的权重矩阵,为预测出更多样的预测块提供了保障,也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
在一种示例性实例中,本申请实施例提供的帧内预测装置中,块的大小可以包括但不限于:
块的宽度大于或等于第一阈值TH1,且块的高度大于或等于第二阈值TH2,第一阈值TH1和第二阈值TH2的值可以是8,16,32,64,128等,第一阈值TH1可以等于第二阈值TH2,比如第一阈值TH1=第二阈值TH2=8;或是,块的像素数大于或等于第三阈值TH3,第三阈值TH3的值可以是8,16,32,64,128等;
或者,块的宽度小于或等于第四阈值TH4,且块的高度小于或等于第五阈值TH5,第四阈值TH4和第五阈值TH5的值可以是8,16,32,64,128等,第四阈值TH4可以等于第五阈值TH5;或是,块的像素数小于或等于第六阈值TH6的情况,第六阈值TH6的值可以是8,16,32,64,128等。
通过对块的大小的限制,降低了由于采用多个预测模式进行预测所带来的复杂度对整个系统的影响,并且,通过限制不适用某些大小的块,很好地实现了对压缩性能和复杂度的权衡,从而更好地保证了本申请的适用性。
在一种示例性实例中,随着技术的发展,块的划分会越来越灵活。除了正方形的块,划分方法还可以支持宽高比如1:2、1:4、1:8、2:1、4:1、8:1等形状的块。在本申请实施例提供的帧内预测方法中,本申请发明人发现,某些宽高比的块,或者说某些大小的宽高比的块,比如1:4或4:1的块以及1:8或8:1的块,或8×32、8×64、32×8、64×8等的块,带来的压缩性能可能不够好或者说不明显,那么,本申请一种实施例中,可以通过设置块的宽高比来设置块的大小,比如:宽度与高度的比值小于或等于预先设置的比值阈值THR,且宽度与高度的比值小于或等于该比值阈值THR。
在一种示例性实例中,块的大小,以及块的宽高比的设置可以同时使用。比如:在块的大小满足:块的高度大于或等于8,且块的宽度大于或等于8,且块的宽度与块的高度的比值小于或等于4,且块的高度与块的宽度的比值小于或等于4时,可以使用本申请实施例提供的帧内预测方法,否则,默认不使用本申请实施例提供的帧内预测方法。
在一种示例性实例中,以采用两种不同的帧内预测模式对待解码块分别进行帧内预测为例,组合模块具体设置为:
计算第一预测块对应的矩阵与第一权重矩阵的第一乘积,计算第二预测块对应的矩阵与第二权重矩阵第二乘积;
计算第一乘积、第二乘积和预设值的和值;
将计算得到的和值进行归一化处理,得到所述目的预测块。
在一种示例性实例中,本申请实施例提供的帧内预测装置设置在编码器中,处理模块还设置为:
设置帧级的标志位,用于表示当前待处理帧是否使用本申请实施例的帧内预测方法;相应地,
解码器中的解码模块还设置为:根据标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
在一种示例性实例中,本申请实施例提供的帧内预测装置设置在编码器中,处理模块还设置为:
设置帧级以下、CU级以上(如tile、slice、patch、LCU等)的标志位,用于表示对于指示的这一区域是否使用申请实施例的帧内预测方法。相应地,
解码器中的解码模块还设置为:根据标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
通过申请实施例中的不同级别的标志位的设置,一方面,灵活地实现了根据不同的应用场景、视频内容设置最优的配置;另一方面,达到了进一步节省码率的效果。
在一种示例性实例中,本申请实施例提供的帧内预测装置设置在编码器中,处理模块还设置为:
设置与本申请实施例提供的帧内预测方法互斥的改进预测模式。相应地,
解码器中的解码模块还设置为:解析码流获取设置的与本申请实施例提供的帧内预测方法互斥的改进预测模式,如果确定待处理块使用本申请实施例的帧内预测方法,那么,不使用互斥的改进预测模式;或者,如果确定待处理块使用互斥的改进预测模式,那么,不使用本申请实施例的帧内预测方法。通过对互斥的改进预测模式的设置,不需要在码流中传输该互斥的改进预测模式是否使用的标志,节省了没必要的标志在码流中的传输,在整体上获得了更好的压缩性能。
通过本实施例设置这些改进预测模式与本申请帧内预测的互斥关系,很好地平衡了性能和复杂度的关系,从而更好地保证了本申请的适用性。
在一种示例性实例中,组合模块还设置为:
存储帧内预测中使用的帧内预测模式等信息,以供相邻块在编解码的过程中使用。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,存储帧内预测中使用的帧内预测模式包括:
至少存在一个最小单元选择保存两种不同的帧内预测模式中的一种帧内预测模式,至少存在一个最小单元选择保存两种不同的帧内预测模式中的另一种帧内预测模式,也就是说,至少存在两个最小单元存储的帧内预测模式不同。
在一种示例性实例中,以采用两种不同的帧内预测模式对待处理块分别进行帧内预测为例,存储帧内预测中使用的帧内预测模式包括:
对整个待处理块所对应的所有最小单元均选择同一个帧内预测模式进行保存。
本申请实施例提供的解码器,采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取两种以上预测块;根据权重矩阵对得到的两种以上预测块进行组合得到待处理块的预测块。本申请实施例通过多种帧内预测模式确定多个预测块,实现了处理复杂的纹理的的预测,提升了帧内预测的质量,从而提升了压缩性能。
进一步地,本申请实施例提供的解码器,通过多样化的权重矩阵,为处理更为复杂的纹理的预测提供了保障,提升了帧内预测的质量,从而提升了压缩性能。也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
本申请实施例还提供一种解码器,包括:解码模块、预测模块、组合模块;其中,
解码模块,设置为对接收到的码流进行解码,获取两种以上不同的帧内预测模式、待处理块以及权重矩阵;
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
在一种示例性实例中,解码模块还设置为:
根据帧级的标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
在一种示例性实例中,解码模块还设置为:根据帧级以下、CU级以上标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
本申请实施例还提供了一种编码器器,包括:预测模块、组合模块、处理模块;其中,
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块;
处理模块,设置为对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的两种以上不同的帧内预测模式、权重矩阵;将确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
在一种示例性实例中,处理模块还设置为:设置标志位;
所述标志位为帧级,用于表示解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块;
和/或,所述标志位为帧级以下、编码单元CU级以上的标志位,用于表示对于指示的区域,解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块。
在一种示例性实例中,处理模块还设置为:
设置与所述帧内预测互斥的预测模式;
如果所述待处理块使用所述帧内预测,则不使用互斥的预测模式;或者,如果所述待处理块使用互斥的预测模式,则不使用所述帧内预测。
在一种示例性实例中,组合模块还设置为:存储帧内预测中使用的帧内预测模式信息。
图14为本申请实施例中另一种帧内预测方法的流程示意图,如图14所示,包括:
步骤1400:采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
步骤1401:针对每种帧内预测模式的预测,当预测完预设数量个像素点,根据权重矩阵和完成预测的各帧内预测模式对应的像素点得到待处理块的预设数量个预测像素点。
步骤1402:根据得到的多个预设数量个预测像素点获得待处理块的目的预测块。
本实施例提供的帧内预测方法与图7所示的实施例的区别在于,图7所示的实施例的处理对象是块,而图14所示的实施例的处理对象为像素点。同样,图14所示的实施例中,采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,当预测完预设数量个像素点,根据权重矩阵对完成预测的各帧内预测模式对应的像素点进行组合得到待处理块的预设数量个预测像素点;最后将得到的多个预设数量个预测像素点合并得到待处理块的预测块。本申请实施例通过多种帧内预测模式确定多个预测块,实现了处理复杂的纹理的预测,提升了帧内预测的质量,从而提升了压缩性能。
进一步地,图14所示实施例中的权重矩阵具体实现如图7所示的实施例中所述,多样化的权重矩阵,为处理更为复杂的纹理的预测提供了保障,提升了帧内预测的质量,从而提升了压缩性能。也使得本申请实施例提供的帧内预测方法能够适用于更多的场景。
下面以在AVS3中应用本申请实施例提供的帧内预测方法为例,介绍一个解码实施例。由于AVS3中使用了AWP技术,本实施例中,将本申请的帧内预测称为空域角度加权预测(SAWP,Spatial Angular Weighted Prediction)。本实施例中使用了部分AVS3标准文本的叫法,比如:本实施例中的预测样本矩阵就是上文的预测块,即“块”可以理解为“样本矩阵”;再如:本实施例中的阵列就是矩阵。本实施例中以SAWP作用于亮度分量为例,但是,本申请实施例并不只限于亮度分量,也可以用于色度分量以及其他任何格式的任何分量。
本实施例中,一种方式编码器端可以设置有一个序列级的标志(flag)来确定解码器端当前的待解码序列是否使用SAWP。序列头(sequence_header)定义如表2所示。
/>
表2
表2中,sawp_enable_flag为空域角度加权预测允许标志,是一个二值变量。比如:值为1,表示可以使用空域角度加权预测;值为0,表示不能使用空域角度加权预测。
本实施例中,另一种方式编码器端可以设置一个帧级的标志来确定解码器端当前待解码帧是否使用SAWP。比如:可以配置帧内帧(如I帧)使用SAWP,帧间帧(如B帧、P帧)不使用SAWP;再如:可以配置帧内帧不使用SAWP,帧间帧使用SAWP;又如:可以配置某些帧间帧使用SAWP,某些帧间帧不使用SAWP。
本实施例中,又一种方式编码器端可以设置一个帧级以下、CU级以上(如tile、slice、patch、LCU等)的标志来让解码器端确定这一区域是否使用SAWP。
需要说明的是,本实施例中也可以不设置上述标志。
解码器解码当前CU,如果当前CU使用帧内预测,解码当前CU的SAWP使用标志,否则不需要解码当前CU的SAWP使用标志。由于DT、IPF相关的信息与SAWP互斥,因此,如果当前CU使用SAWP,那么不需要处理DT、IPF相关的信息。
表3
其中SawpMinSize长度和宽度的最小值,SawpMaxRatio为最大的长宽比。
表3中,sawp_flag表示空域角度加权预测标志,是一个二值变量。比如:值为1表示进行空域角度加权预测;值为0表示不进行空域角度加权预测。SawpFlag的值等于sawp_flag的值。如果位流中不存在sawp_flag,那么,SawpFlag的值为0。
表3中,SawpEnableFlag的值等于表2中的sawp_enable_flag的值。如果位流中不存在sawp_enable_flag,那么,SawpEnableFlag的值为0。
本实施例中,假设当前CU使用SAWP,那么,需要解码权重矩阵导出模式和2个帧内预测模式(本实施例中以两种帧内预测模式为例)。本实施例中,以权重矩阵导出模式复用AWP的权重矩阵导出模式为例,以SAWP的2个帧内预测模式的解码复用相关技术中的帧内预测模式的解码为例。
表4
表4中,sawp_idx表示空域角度加权预测模式索引,用于确定空域角度加权预测的权重矩阵,SawpIdx的值等于sawp_idx的值。如果位流中不存在sawp_idx,SawpIdx的值等于0。
表4中,intra_luma_pred_mode0表示空域角度加权预测第一亮度预测模式,用于确定空域角度加权预测的亮度块的第一帧内预测模式;intra_luma_pred_mode1表示空域角度加权预测第二亮度预测模式,用于确定空域角度加权预测的亮度块的第二帧内预测模式。
在一种实施例中,sawp_idx的解析方法可以和相关技术中awp_idx的相同;intra_luma_pred_mode0的解析方法可以和相关技术中intra_luma_pred_mode的相同,intra_luma_pred_mode1的解析方法可以和相关技术中intra_luma_pred_mode的相同。
在一种实施例中,intra_luma_pred_mode1的解析方法也可以包括:如果intra_luma_pred_mode0和intra_luma_pred_mode1都使用了最可能模式(MPM),那么,intra_luma_pred_mode1不需要再去解析是MPM的第一帧内预测模式还是第二帧内预测模式。也就是说,根据所述解码出的第一帧内预测模式的信息,确定所述第二帧内预测模式。因为,AVS3的MPM只有2个帧内预测模式,如果intra_luma_pred_mode0使用了其中一个帧内预测模式,那么,intra_luma_pred_mode1默认使用另一个帧内预测模式即可。
Intra_luma_pred_mode0的二值化方法如表5,intra_luma_pred_mode0的值为0或1表示是否使用的是否是MPM,具体地,二元符号串的第一个二元符号是“1”表示是MPM,是“0”表示不是MPM。而如果第一个二元符号表示是MPM,那么,二元符号串的第二个二元符号表示是哪个MPM。
Intra_luma_pred_mode0 二元符号串
0 10
1 11
2 0……
…… ……
表5
Intra_luma_pred_mode1的二值化方法如表6,intra_luma_pred_mode1的值为0或1表示使用的是否是MPM,具体地,二元符号串的第一个二元符号是“1”时,不再需要第二个二元符号。如果intra_luma_pred_mode0的值为1,那么,intra_luma_pred_mode1的值为0。如果intra_luma_pred_mode0的值为0,那么intra_luma_pred_mode1的值为1。
表6
仍以在AVS3中应用本申请实施例提供的帧内预测方法为例,介绍另一个解析码流结构和解码的实施例。
解码器解码当前CU,如果当前CU使用帧内预测,解码当前CU的DT、IPF的使用标志,以及当前帧内预测方法中每个预测单元唯一的亮度预测模式intra_luma_pred_mode;
如果当前CU没有使用DT,也没有使用IPF,那么,解码当前CU的SAWP使用标志。如果当前CU使用SAWP,那么,进一步解码权重矩阵导出模式和1个帧内预测模式intra_luma_pred_mode1,而将已经解出的intra_luma_pred_mode作为intra_luma_pred_mode0。
表7
分别根据intra_luma_pred_mode0和intra_luma_pred_mode1确定IntraLumaPredMode0和IntraLumaPredMode1,进而确定帧内预测样本矩阵predMatrix0和predMatrix1。
根据SawpIdx确定权重矩阵SawpWeightArrayY,其中输入的索引为SawpIdx。
根据两个帧内预测样本矩阵predMatrix0和predMatrix1,以及确定的权重矩阵SawpWeightArrayY,确定新的预测样本矩阵predMatrixSawp。包括:
空域角度加权预测模式的预测样本矩阵predMatrixSawp中的元素predMatrixSawp[x][y]的值是((predMatrix0[x][y]*AwpWeightArrayY[x][y]+predMatrix1[x][y]*(8-AwpWeightArrayY[x][y])+4)>>3)。
确定了SAWP的预测块即空域角度加权预测模式的预测样本矩阵predMatrixSawp后,后续的处理还可以包括:量化系数的解码,反变换、反量化确定残差块,以及残差块和预测块组合成重建块,以及后续的环路滤波等。具体实现并不用于限定本申请的保护范围,这里不再赘述。
本实施例中的SAWP的帧内预测模式存储方法可以使用类似AWP的运动信息的存储方法,只是输入的索引替换为SawpIdx,输出的帧内预测参考模式(interPredAwpRefMode)替换为sawpRefMode即可。如果某一个4×4块的sawpRefMode为0,存储IntraLumaPredMode0;否则,该4×4块的sawpRefMode为1,存储IntraLumaPredMode1。
由于AVS3的第一个版本只支持34种帧内预测模式,其中第34种(如果索引从0开始的话,索引号是33)模式是PCM模式。而AVS3第二个版本中加入了更多的帧内预测模式,扩展到66种帧内预测模式。第二个版本为了与第一个版本兼容,并没有改变原有的intra_luma_pred_mode的解码方法,而是提出:如果intra_luma_pred_mode大于1,需要再增加一个标志位,如表8所示,即帧内亮度预测模式扩展标志eipm_pu_flag。
表8
帧内亮度预测模式扩展标志eipm_pu_flag是一个二值变量。eipm_pu_flag的值为1时,表示应使用帧内角度预测扩展模式;eipm_pu_flag的值为0时,表示不使用帧内亮度预测扩展模式。EipmPuFlag的值等于eipm_pu_flag的值。如果位流中不存在eipm_pu_flag,那么,EipmPuFlag的值等于0。
因此,如果是对应AVS3第二个版本的文本描述,上述实施例中的语法intra_luma_pred_mode,intra_luma_pred_mode0,intra_luma_pred_mode1后都应如表8一样加入eipm_pu_flag,eipm_pu_flag0,eipm_pu_flag1的描述。而且,IntraLumaPredMode0根据intra_luma_pred_mode0和eipm_pu_flag0确定,IntraLumaPredMode1根据intra_luma_pred_mode1和eipm_pu_flag1确定。
本申请实施例中,对于不使用PCM模式的实施例,或者,只使用第一版本的前33种或34种模式的实施例,不需要传输eipm_pu_flag。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (40)

1.一种帧内预测方法,应用于解码器,包括:
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
2.根据权利要求1所述的帧内预测方法,所述获取与所述不同的帧内预测模式对应的两种以上预测块之前,还包括:
解析码流,获取所述两种以上不同的帧内预测模式、所述待处理块以及所述权重矩阵。
3.根据权利要求1所述的帧内预测方法,所述获取与所述不同的帧内预测模式对应的两种以上预测块之前,还包括:
解析码流,获取标志位;
所述标志位为帧级标志位,用于表示是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块;
和/或,所述标志位为帧级以下、编码单元CU级以上的标志位,用于表示对于指示的区域是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块。
4.根据权利要求1~3任一项所述的帧内预测方法,其中,所述两种以上不同的帧内预测模式包括:第一帧内预测模式,或者,第一帧内预测模式和第二帧内预测模式;
其中,第一帧内预测模式为不依赖于其他帧内预测模式独立生成预测块的帧内预测模式;第二帧内预测模式为依赖于基本帧内预测模式确定预测块的帧内预测模式。
5.根据权利要求4所述的帧内预测方法,其中,所述两种以上不同的帧内预测模式中至少包括一种所述第一帧内预测模式。
6.根据权利要求5所述的帧内预测方法,其中,所述帧内预测模式包括两种不同的帧内预测模式;
两种不同的帧内预测模式均为所述第一帧内预测模式。
7.根据权利要求5所述的帧内预测方法,其中,所述第一帧内预测模式包括:方向角度DC模式、平滑Planar模式、平面Plane模式、双线性Bilinear模式、角度预测AC模式。
8.根据权利要求1~3任一项所述的帧内预测方法,其中,所述帧内预测模式包括两种不同的帧内预测模式;所述预测块包括:第一预测块和第二预测块;所述权重矩阵包括第一权重矩阵和第二权重矩阵;
所述根据权重矩阵和得到的两种以上预测块得到待处理块的目的预测块,包括:
计算第一预测块与第一权重矩阵的第一乘积,计算第二预测块与第二权重矩阵第二乘积;
计算第一乘积、第二乘积和预设值的和值;
根据计算得到的和值,得到所述目的预测块。
9.根据权利要求8所述的帧内预测方法,其中,所述第二权重矩阵为最大权重值与所述第一权重矩阵的差值;
所述归一化处理包括:将计算得到的和值右移预设位数,得到所述组合得到待解码块的预测块。
10.根据权利要求9所述的帧内预测方法,其中,所述最大权重值等于8;所述预设值等于4;所述预设位数等于3。
11.根据权利要求8所述的帧内预测方法,其中,所有可能的所述权重矩阵中至少存在一个的权重矩阵中包括至少2个不同的权重值。
12.根据权利要求11所述的帧内预测方法,其中,
所有可能的所述权重矩阵中,一个权重矩阵中包括多种权重值,其中,权重值中的最大值和权重值中的最小值分别表示对应点的预测值完全来自于所述第一预测块对应点的值和所述第二预测块对应点的值;非权重值中的最大值或非权重值中的最小值的权重值则表示对应点的预测值来自于所述第一预测块和所述第二预测块对应点的值的加权平均。
13.根据权利要求11所述的帧内预测方法,其中,所有可能的所述权重矩阵中,当权重矩阵只包括2种权重值,权重值变化的位置呈现一条直线;
当权重矩阵包括多种权重值,过渡区域中权重值相同的位置呈现一条直线。
14.根据权利要求1所述的帧内预测方法,其中,所述待处理块或目的预测块的宽度和高度包括:
宽度大于或等于第一阈值TH1,且高度大于或等于第二阈值TH2;
或者,宽度小于或等于第四阈值TH4,且高度小于或等于第五阈值TH5。
15.根据权利要求14所述的帧内预测方法,所述第一阈值TH1等于所述第二阈值TH2,所述第一阈值TH1等于8。
16.根据权利要求1~3任一项所述的帧内预测方法,所述方法还包括:
存储所述帧内预测方法中使用的所述帧内预测模式信息。
17.根据权利要求16所述的帧内预测方法,其中,所述帧内预测模式包括两种不同的帧内预测模式;
所述存储所述帧内预测方法中使用的所述帧内预测模式包括:
至少存在两个最小单元存储的帧内预测模式不同。
18.根据权利要求2所述的帧内预测方法,所述帧内预测模式包括两种不同的帧内预测模式;
根据所述解码出的其中一种帧内预测模式的信息,确定另一种帧内预测模式。
19.根据权利要求18所述的帧内预测方法,其中,所述第一帧内预测模式和所述第二帧内预测模式均使用最可能模式MPM。
20.一种解码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行权利要求1~权利要求19任一项所述的帧内预测方法的步骤。
21.一种解码器,包括:解码模块、预测模块、组合模块;其中,
解码模块,设置为对接收到的码流进行解码,获取两种以上不同的帧内预测模式、待处理块以及权重矩阵;
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
22.根据权利要求21所述的解码器,所述解码模块还设置为:
根据帧级的标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
23.根据权利要求21所述的解码器,所述解码模块还设置为:根据帧级以下、CU级以上标志位,判断是否继续执行采用解码得到的两种以上不同的帧内预测模式对待处理块分别进行帧内预测。
24.根据权利要求21所述的解码器,所述处理模块还设置为:
设置与所述帧内预测互斥的预测模式;
如果所述待处理块使用所述帧内预测,则不使用互斥的预测模式;或者,如果所述待处理块使用互斥的预测模式,则不使用所述帧内预测。
25.一种帧内预测方法,应用于编码器,包括:
采用两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块。
26.根据权利要求25所述的帧内预测方法,所述获取与所述不同的帧内预测模式对应的两种以上预测块之前,还包括:
对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的所述两种以上不同的帧内预测模式、所述权重矩阵。
27.根据权利要求26所述的帧内预测方法,所述尝试之前,还包括:
对所述待处理块的纹理进行分析;
所述尝试还包括:根据对纹理进行分析的结果确定所述尝试的帧内预测模式。
28.根据权利要求26所述的帧内预测方法,所述尝试之后,还包括:
如果选择出的组合的损失代价小于或等于其他预测模式的代价,确定所述选择出的组合中的帧内预测模式作为所述待处理块的预测模式;如果选择出的组合的损失代价大于其他预测模式的代价,选择其他某种预测模式作为所述待处理块的预测模式。
29.根据权利要求26、27或28所述的帧内预测方法,其中,所述计算损失代价的方式包括以下一种或任意组合:
绝对误差和SAD,变化残差绝对值和SATD,率失真优化RDO。
30.根据权利要求26、27或28所述的帧内预测方法,其中,所述选择损失代价小的组合,包括:
采用SATD和/或SAD进行第一筛选操作,从所述全部或部分可能的预测模式和权重矩阵导出模式的组合中确定出候选组合;
采用RDO进行第二筛选操作,从候选组合中确定出损失代价最小的组合。
31.根据权利要求26所述的帧内预测方法,当某帧内角度预测模式造成代价很大时,将该帧内角度预测模式和与该帧内角度预测模式相邻的预设数量个帧内预测模式从所述候选组合中移除。
32.根据权利要求26所述的帧内预测方法,所述获取与所述不同的帧内预测模式对应的两种以上预测块之前,还包括:设置标志位;
所述标志位为帧级,用于表示解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块;和/或,所述标志位为帧级以下、编码单元CU级以上的标志位,用于表示对于指示的区域,解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块;
将所述标志位写入码流。
33.根据权利要求25所述的帧内预测方法,所述获取与所述不同的帧内预测模式对应的两种以上预测块之前,还包括:
获取与所述帧内预测方法互斥的预测模式;
确定使用所述帧内预测方法,继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块的步骤;或者,确定使用互斥的预测模式。
34.一种编码器,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行权利要求25~权利要求33任一项所述的帧内预测方法的步骤。
35.一种编码器,包括:预测模块、组合模块、处理模块;其中,
预测模块,设置为两种以上不同的帧内预测模式对待处理块分别进行帧内预测,获取与所述不同的帧内预测模式对应的两种以上预测块;
组合模块,设置为根据权重矩阵和得到的两种以上预测块得到待处理块的目标预测块;
处理模块,设置为对全部或部分可能的预测模式和权重矩阵导出模式的组合进行尝试,计算损失代价,选择损失代价小的组合;将组合中的两种以上不同的帧内预测模式、权重矩阵作为用于帧内预测的两种以上不同的帧内预测模式、权重矩阵;将确定的两种以上不同的帧内预测模式、权重矩阵导出模式等信息,按照语法写入码流。
36.根据权利要求35所述的编码器,所述处理模块还设置为:设置标志位;
所述标志位为帧级,用于表示解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块;
和/或,所述标志位为帧级以下、编码单元CU级以上的标志位,用于表示对于指示的区域,解码器是否继续执行所述获取与所述不同的帧内预测模式对应的两种以上预测块。
37.根据权利要求35所述的编码器,所述处理模块还设置为:
设置与所述帧内预测互斥的预测模式;
如果所述待处理块使用所述帧内预测,则不使用互斥的预测模式;或者,如果所述待处理块使用互斥的预测模式,则不使用所述帧内预测。
38.根据权利要求35所述的编码器,所述组合模块还设置为:
存储帧内预测中使用的帧内预测模式信息。
39.根据权利要求35所述的编码器,所述处理模块还设置为:
设置与所述帧内预测互斥的预测模式;
如果所述待处理块使用所述帧内预测,则不使用互斥的预测模式;或者,如果所述待处理块使用互斥的预测模式,则不使用所述帧内预测。
40.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~权利要求19任一项、或权利要求25~权利要求33任一项所述的帧内预测方法。
CN202311103342.1A 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器 Pending CN117354511A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311103342.1A CN117354511A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202311103342.1A CN117354511A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器
CN202080107556.4A CN116601957A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器
PCT/CN2020/133692 WO2022116113A1 (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080107556.4A Division CN116601957A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器

Publications (1)

Publication Number Publication Date
CN117354511A true CN117354511A (zh) 2024-01-05

Family

ID=81852820

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202311103342.1A Pending CN117354511A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器
CN202080107556.4A Pending CN116601957A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080107556.4A Pending CN116601957A (zh) 2020-12-03 2020-12-03 一种帧内预测方法、装置及解码器和编码器

Country Status (7)

Country Link
US (1) US20230319265A1 (zh)
JP (1) JP2024503193A (zh)
KR (1) KR20230111255A (zh)
CN (2) CN117354511A (zh)
MX (1) MX2023003166A (zh)
WO (1) WO2022116113A1 (zh)
ZA (1) ZA202301911B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024007128A1 (zh) * 2022-07-04 2024-01-11 Oppo广东移动通信有限公司 视频编解码方法、装置、设备、系统、及存储介质
CN114885164B (zh) * 2022-07-12 2022-09-30 深圳比特微电子科技有限公司 确定帧内预测模式的方法、装置及电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105979261B (zh) * 2016-06-21 2019-03-26 浙江大华技术股份有限公司 一种帧内预测模式的选择方法及装置
US10757420B2 (en) * 2017-06-23 2020-08-25 Qualcomm Incorporated Combination of inter-prediction and intra-prediction in video coding
WO2019017694A1 (ko) * 2017-07-18 2019-01-24 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2019098758A1 (ko) * 2017-11-16 2019-05-23 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3567860A1 (en) * 2018-05-09 2019-11-13 InterDigital VC Holdings, Inc. Method and apparatus for blended intra prediction
WO2020098782A1 (en) * 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Weights in combined inter intra prediction mode

Also Published As

Publication number Publication date
ZA202301911B (en) 2024-01-31
MX2023003166A (es) 2023-03-27
CN116601957A (zh) 2023-08-15
WO2022116113A1 (zh) 2022-06-09
US20230319265A1 (en) 2023-10-05
JP2024503193A (ja) 2024-01-25
KR20230111255A (ko) 2023-07-25

Similar Documents

Publication Publication Date Title
RU2703229C1 (ru) Устройство декодирования изображений, устройство кодирования изображений, способ декодирования изображений и способ кодирования изображений
CA2960238C (en) Image encoding and decoding using pixel adaptive offset process
EP3007447A1 (en) Method for improving intra-prediction of diagonal mode in video coding
EP3059958A1 (en) Apparatus for decoding an image
US11102474B2 (en) Devices and methods for intra prediction video coding based on a plurality of reference pixel values
KR20200051831A (ko) 비디오 코딩을 위한 가이드된 크로스-컴포넌트 예측 방법
US20230319265A1 (en) Intra prediction method and device, decoder, and encoder
CN116601951A (zh) 预测方法、编码器、解码器以及存储介质
CN110741642B (zh) 使用拟合平面和参考样本进行定向帧内预测的装置和方法
CN113840142B (zh) 图像分量预测方法、装置及计算机存储介质
WO2022140905A1 (zh) 预测方法、编码器、解码器以及存储介质
US11616950B2 (en) Bitstream decoder
US20230403392A1 (en) Intra prediction method and decoder
WO2023193253A1 (zh) 解码方法、编码方法、解码器以及编码器
CN116671103A (zh) 帧内预测方法、编码器、解码器以及存储介质
KR20230137232A (ko) 컨텍스트 모델 초기화를 사용하는 비디오 코딩방법 및 장치
CN118160306A (zh) 帧内预测方法、解码器、编码器及编解码系统
CN116491118A (zh) 视频编解码方法与系统、及视频编码器与视频解码器
KR20120058384A (ko) 인트라 프리딕션 방법

Legal Events

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