CN112789858B - 帧内预测方法及设备 - Google Patents

帧内预测方法及设备 Download PDF

Info

Publication number
CN112789858B
CN112789858B CN201980064929.1A CN201980064929A CN112789858B CN 112789858 B CN112789858 B CN 112789858B CN 201980064929 A CN201980064929 A CN 201980064929A CN 112789858 B CN112789858 B CN 112789858B
Authority
CN
China
Prior art keywords
samples
block
chroma
luminance
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980064929.1A
Other languages
English (en)
Other versions
CN112789858A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112789858A publication Critical patent/CN112789858A/zh
Application granted granted Critical
Publication of CN112789858B publication Critical patent/CN112789858B/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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/186Methods 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 a colour or a chrominance component

Abstract

一种使用跨分量线性预测模式(cross component liner prediction mode,CCLM)的帧内预测方法,包括:获取亮度块的相邻亮度样本;获取所述相邻亮度样本的平均亮度值;获取当前色度块的相邻色度样本,其中,所述当前色度块与所述亮度块对应;获取所述相邻色度样本的平均色度值;根据第一线性模型系数、所述平均亮度值和所述平均色度值计算第二线性模型系数;根据所述第一线性模型系数和所述第二线性模型系数获得所述当前色度块的预测值。所述方法可以提高所述第二线性模型系数的准确度,并对应地提高所述当前色度块的预测值的准确度。

Description

帧内预测方法及设备
相关申请案交叉申请
本申请要求于2018年10月08日提交、发明名称为“帧内预测方法及设备(INTRAPREDICTION METHOD AND DEVICE)”的第62/742,928号美国临时申请,以及于2018年10月10日提交、发明名称为“帧内预测方法及设备(INTRA PREDICTION METHOD AND DEVICE)”的第62/744,113号美国临时申请的权益,这些申请均通过引用的方式并入本文中。
技术领域
本申请(本发明)实施例大体上涉及视频译码领域,更具体地,涉及具有跨分量线性模型(cross-component linear model,CCLM)的帧内预测领域。
背景技术
即使在视频较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量受限的通信网络中发送或以其它方式发送时,这样会造成困难。因此,视频数据通常要先压缩然后在现代电信网络中发送。由于内存资源有限,当在存储设备中存储视频时,视频的大小也会成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在发送或存储之前对视频数据进行译码,从而减少用来表示数字视频图像所需的数据量。然后,压缩数据在目的侧由用于对视频数据进行解码的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。高效视频译码是ISO/IEC运动图像专家组和ITU-T视频译码专家组发布的最新的视频压缩技术,称为ISO/IEC 23008-2MPEG-H第二部分或ITU-T H.265,在相同视频质量水平下数据压缩比可提高大约一倍,或者在相同码率下视频质量可大幅改善。
发明内容
本申请实施例(或本发明)提供了用于编码和解码图像的帧内预测装置和方法,其可以减少甚至消除上述问题。本发明在包含于本文件的实施例和权利要求中进行详细说明。
第一方面,本发明涉及使用跨分量线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:获取亮度块的相邻亮度样本;获取所述相邻亮度样本的平均亮度值;获取当前色度块的相邻色度样本,其中,所述当前色度块与所述亮度块对应;获取所述相邻色度样本的平均色度值;
根据第一线性模型系数、所述平均亮度值和所述平均色度值计算第二线性模型系数;根据所述第一线性模型系数和所述第二线性模型系数获得所述当前色度块的预测值。
本发明还提供了一种用于执行上述方法的解码设备和编码设备。
本发明第一方面提供的方法可以由本发明第二方面提供的装置执行。本发明第二方面提供的方法的其它特征和实现方式对应于本发明第一方面提供的装置的特征和实现方式。
第三方面,本发明涉及一种用于解码视频流的装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第一方面提供的方法。
第四方面,本发明涉及一种用于编码视频流的装置,包括处理器和存储器。所述存储器存储指令,所述指令使所述处理器执行第一方面提供的方法。
第五方面,提供一种计算机可读存储介质,其中存储有指令,当所述指令被执行时,使一个或多个处理器编码视频数据。所述指令使所述一个或多个处理器执行第一方面或第一方面的任何可能的实施例提供的方法。
第六方面,本发明涉及一种计算机程序,其包括程序代码,所述程序代码在由计算机执行时,执行第一方面或第一方面的任何可能的实施例提供的方法。
在所提供的方法中,所述第二线性模型系数根据所述第一线性模型系数、所述平均亮度值和所述平均色度值推导。因此,本发明实施例可以提高所述第二线性模型系数的准确度,并对应地提高所述当前色度块的预测值的准确度。
为了清楚起见,上述任一实施例可以与上述任一其它实施例组合以创建本发明范围内的新实施例。
结合附图和权利要求书,从以下具体实施方式将更清楚地理解这些和其它特征。
附图说明
为了更完整地理解本发明,结合附图和具体实施方式,参考以下简要描述,其中,相同的附图标记表示相同的部分。
图1A为可以实现本发明实施例的示例性译码系统的框图。
图1B为可以实现本发明实施例的另一个示例性译码系统的框图。
图2为可以实现本发明实施例的示例性视频编码器的框图。
图3为可以实现本发明实施例的视频解码器的示例的框图。
图4为网络设备的示意图。
图5为一个示例性实施例提供的装置500的简化框图,该装置500可以用作图1A中的源设备12和目的地设备14中的一者或两者。
图6示出了帧内预测模式的示意图。
图7示出了参考样本的示意图。
图8示出了最小亮度值与最大亮度值之间的直线的示例。
图9示出了CCLM模式的示例。
图10示出了CCIP_A模式的示例。
图11示出了CCIP_L模式的示例。
图12示出了一个实施例提供的获取色度预测的流程图。
图13示出了CCLM的一个实施例的示意图。
图14示出了CCLM的一个实施例的示意图。
图15示出了CCLM的一个实施例的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可以使用任何数量的技术来实现,无论该技术是当前已知的技术还是现有的技术。本发明不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明和描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效部分的全部范围内进行修改。
图1A为可以使用双向预测技术的示例性译码系统10的框图。如图1A所示,译码系统10包括源设备12,源设备12提供编码视频数据,目的地设备14对编码视频数据进行解码。特别地,源设备12可以通过计算机可读介质16向目的地设备14提供视频数据。源设备12和目的地设备14可以包括多种设备中的任一种,包括台式计算机、笔记本电脑(即膝上型计算机)、平板电脑、机顶盒、手持电话(例如智能电话、智能平板)、电视、摄像机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备12和目的地设备14可以用于无线通信。
目的地设备14可以通过计算机可读介质16接收待解码的编码视频数据。计算机可读介质16可以包括能够将编码视频数据从源设备12移动到目的地设备14的任何类型的介质或设备。在一个示例中,计算机可读介质16可以包括通信介质,以使源设备12能够实时地将编码视频数据直接发送到目的地设备14。编码视频数据可以根据通信标准(例如无线通信协议)进行调制,并发送到目的地设备14。通信介质可以包括任何无线或有线通信介质,例如射频(radio frequency,RF)频谱或一个或多个物理传输线路。通信介质可以形成基于分组的网络的一部分,例如局域网、广域网或全球网络(如因特网)。通信介质可以包括路由器、交换机、基站或有助于促进从源设备12到目的地设备14的通信的任何其它设备。
在一些示例中,编码数据可以从输出接口22输出到存储设备。类似地,编码数据可以通过输入接口从存储设备访问。存储设备可以包括各种分布式或本地访问的数据存储介质中的任一种,例如硬盘驱动器、蓝光光盘、数字视频磁盘(digital video disk,DVD)、压缩光盘只读存储器(compact disc read-only memory,CD-ROM)、闪存、易失性或非易失性存储器,或用于存储编码视频数据的任何其它合适的数字存储介质。在另一个示例中,存储设备可以对应文件服务器或者可以对应可以存储源设备12生成的编码视频的另一个中间存储设备。目的地设备14可以通过流式或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码视频数据并将该编码视频数据发送到目的地设备14的任何类型的服务器。示例性文件服务器包括Web服务器(例如,针对网站)、文件传输协议(filetransfer protocol,FTP)服务器、网络附加存储(network attached storage,NAS)设备或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接(包括互联网连接)访问编码视频数据。这可以包括适合于访问存储在文件服务器上的编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(digital subscriber line,DSL)、电缆调制解调器等)或两者的组合。来自存储设备的编码视频数据的传输可以是流式传输、下载传输或其组合。
本发明的技术不必局限于无线应用或设置。这些技术可以应用于视频译码,以支持多种多媒体应用中的任一种,例如空中电视广播、有线电视传输、卫星电视传输、互联网流视频传输(如基于HTTP的动态自适应流媒体(dynamic adaptive streaming over HTTP,DASH))、编码到数据存储介质中的数字视频、对存储在数据存储介质中的数字视频进行解码或其它应用。在一些示例中,译码系统10可以用于支持单向或双向视频传输以支持例如视频流、视频播放、视频广播和/或视频电话等应用。
在图1A的示例中,源设备12包括视频源18、视频编码器20和输出接口22。目的地设备14包括输入接口28、视频解码器30和显示设备32。根据本发明,源设备12的视频编码器200和/或目的地设备14的视频解码器300可以应用双向预测技术。在其它示例中,源设备和目的地设备可以包括其它组件或装置。例如,源设备12可以从外部视频源(例如外部摄像机)接收视频数据。同样地,目的地设备14可以与外部显示设备连接,而不是包括集成显示设备。
图1A所示的译码系统10仅仅是一个示例。双向预测技术可以由任何数字视频编码和/或解码设备执行。尽管本发明的技术通常由视频译码设备执行,但这些技术也可以由视频编码器/解码器(通常称为“编解码器(CODEC))执行”。此外,本发明的技术也可以由视频预处理器执行。视频编码器和/或解码器可以是图形处理单元(graphics processingunit,GPU)或类似的设备。
源设备12和目的地设备14仅仅是这种译码设备的示例,其中,源设备12生成发送到目的地设备14的译码视频数据。在一些示例中,源设备12和目的地设备14可以以基本对称的方式操作,使得源设备12和目的地设备14中的每一个都包括视频编码和解码分量。因此,译码系统10可以支持视频设备12、14之间的单向或双向视频传输,例如用于视频流、视频播放、视频广播或视频电话。
源设备12的视频源18可以包括视频捕获设备(例如视频摄像机)、包括之前捕获的视频的视频档案,和/或从视频内容提供者接收视频的视频馈送接口。在另一个替代方案中,视频源18可以生成基于计算机图形的数据作为源视频,或者生成实时视频、存档视频和计算机生成的视频的组合。
在一些情况下,当视频源18为视频摄像机时,源设备12和目的地设备14可以形成摄像头电话或视频电话。但是,如上所述,本发明中描述的技术一般可以适用于视频译码,并且可以应用于无线和/或有线应用。在每种情况下,捕获的、预捕获的或计算机生成的视频可以由视频编码器20编码。然后,编码视频信息可以由输出接口22输出到计算机可读介质16中。
计算机可读介质16可以包括瞬态介质,例如无线广播或有线网络传输,或存储介质(即非瞬态存储介质),例如硬盘、闪存驱动器、光盘、数字视频光盘、蓝光光盘,或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收编码视频数据,并且例如通过网络传输将编码视频数据提供给目的地设备14。类似地,介质生产设施(例如光盘冲压设施)的计算设备可以从源设备12接收编码视频数据,并产生包括编码视频数据的光盘。因此,在各种示例中,计算机可读介质16可以被理解为包括各种形式的一个或多个计算机可读介质。
目的地设备14的输入接口28从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的语法信息,视频解码器30也使用该语法信息,该语法信息包括描述块和其它译码单元(例如,图像组(group of image,GOP))的特征和/或处理的语法元素。显示设备32向用户显示解码视频数据,并且可以包括多种显示设备中的任一种,显示设备例如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystaldisplay,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器,或者另一种类型的显示设备。
视频编码器200和视频解码器300可以根据视频译码标准(例如当前正在开发的高效视频译码(high efficiency video coding,HEVC)标准)操作,并且可以符合HEVC测试模型(HEVC test model,HM)。或者,视频编码器200和视频解码器300可以根据其它专有或行业标准操作,例如国际电信联盟电信标准化部门(international telecommunicationsunion telecommunication standardization sector,ITU-T)H.264标准,或者称为活动图像专家组(motion picture expert group,MPEG)-4,第10部分,高级视频译码(advancedvideo coding,AVC)、H.265/HEVC或此类标准的扩展。但是,本发明的技术不限于任何特定的译码标准。视频译码标准的其它示例包括MPEG-2和ITU-T H.263。尽管图1A中未示出,但在一些方面,视频编码器200和视频解码器300可以分别与音频编码器和解码器集成,并且可以包括适当的复用解复用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,以对公用数据流或不同数据流中的音频和视频进行编码。如果适用,MUX-DEMUX单元可以符合ITU H.223复用器协议,或用户数据报协议(user datagram protocol,UDP)等其它协议。
视频编码器200和视频解码器300可以实现为各种合适的编码器电路中的任一种,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当这些技术部分地在软件中实现时,则设备可以将软件指令存储在合适的非瞬时性计算机可读介质中,并且通过一个或多个处理器在硬件中执行这些指令,以实现本发明的技术。视频编码器200和视频解码器300中的每一个可以包括在一个或多个编码器或解码器中,其中,任何一个编码器或解码器可以集成为相应设备中的组合编码器/解码器(编解码器)的一部分。视频编码器200和/或视频解码器300等设备可以包括集成电路、微处理器和/或无线通信设备,例如蜂窝电话。
图1B为一个示例性实施例提供的包括图2的编码器200和/或图3的解码器300的一个示例性视频译码系统40的说明性图。系统40可以实现本申请的技术,例如帧间预测中的融合估计。在所示出的实现方式中,视频译码系统40可以包括成像设备41、视频编码器20、视频解码器30(和/或处理单元46的逻辑电路47实现的视频译码器)、天线42、一个或多个处理器43、一个或多个存储器44,和/或显示设备45。
如图所示,成像设备41、天线42、处理单元46、逻辑电路47、视频编码器20、视频解码器30、处理器43、存储器44,和/或显示设备45可以彼此通信。如所讨论的,尽管视频译码系统40示出为具有视频编码器20和视频解码器30,但在各种实际场景中,可以仅包括视频编码器20或仅包括视频解码器30。
如图所示,在一些示例中,视频译码系统40可以包括天线42。例如,天线42可以用于发送或接收视频数据的编码码流。此外,在一些示例中,视频译码系统40可以包括显示设备45。显示设备45可以用于呈现视频数据。如图所示,在一些示例中,逻辑电路54可以通过处理单元46实现。处理单元46可以包括专用集成电路(application-specific integratedcircuit,ASIC)逻辑、图形处理器、通用处理器等。视频译码系统40还可以包括可选处理器43,可选处理器43可以类似地包括专用集成电路(application-specific integratedcircuit,ASIC)逻辑、图形处理器、通用处理器等。在一些示例中,逻辑电路54可以通过硬件、视频译码专用硬件等实现,并且处理器43可以实现通用软件、操作系统等。此外,存储器44可以是任何类型的存储器,例如易失性存储器(例如,静态随机存取存储器(staticrandom access memory,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,存储器44可以通过高速缓存存储器实现。在一些示例中,逻辑电路54可以访问存储器44(例如用于实现图像缓冲器)。在其它示例中,逻辑电路47和/或处理单元46可以包括用于实现图像缓冲器等的存储器(例如,高速缓存等)。
在一些示例中,通过逻辑电路实现的视频编码器200可以包括图像缓冲器(例如通过处理单元46或存储器44实现)和图形处理单元(例如通过处理单元46实现)。图形处理单元可以通信地耦合到图像缓冲器。图形处理单元可以包括通过逻辑电路47实现的视频编码器200,以实现结合图2所讨论的各种模块和/或本文所描述的任何其它编码器系统或子系统。逻辑电路可以用于执行本文所讨论的各种操作。
视频解码器300可以以与通过逻辑电路47实现的类似方式实现,以实现结合图3的解码器300所讨论的各种模块和/或本文所描述的任何其它解码器系统或子系统。在一些示例中,可以通过逻辑电路实现的视频解码器300可以包括图像缓冲器(例如通过处理单元46或存储器44实现)和图形处理单元(例如通过处理单元46实现)。图形处理单元可以通信地耦合到图像缓冲器。图形处理单元可以包括通过逻辑电路47实现的视频解码器300,以实现结合图3所讨论的各种模块和/或本文所描述的任何其它解码器系统或子系统。
在一些示例中,视频译码系统40的天线42可以用于接收视频数据的编码码流。如所讨论的,编码码流可以包括与本文所讨论的视频帧编码相关的数据、指示符、索引值、模式选择数据等,例如与译码分割相关的数据(例如,变换系数或量化变换系数,可选的指示符(如所讨论的)和/或定义译码分割的数据)。视频译码系统40还可以包括视频解码器300,视频解码器300耦合到天线42并用于对编码码流进行解码。显示设备45用于呈现视频帧。
图2为可以实现本申请的技术的视频编码器200的示例的框图。视频编码器200可以对视频条带内的视频块执行帧内和帧间译码。帧内译码通过空间预测来减少或消除给定视频帧或图像中的视频的空间冗余。帧间译码通过时间预测来减少或消除视频序列的相邻帧或图像中的视频的时间冗余。帧内模式(I模式)可以指几种基于空间的译码模式中的任一种。帧间模式(例如单向预测(P模式)或双向预测(B模式))可以指几种基于时间的译码模式中的任一种。
图2为用于实现本发明的技术的示例性视频编码器200的示意性/概念性框图。在图2的示例中,视频编码器200包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波单元220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间估计单元242、帧间预测单元244、帧内估计单元252、帧内预测单元254和模式选择单元262。帧间预测单元244还可以包括运动补偿单元(未示出)。根据混合视频编解码器,图2所示的视频编码器200也可以称为混合视频编码器或视频编码器。
例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270构成编码器200的前向信号路径,而例如反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器(decoded picture buffer,DPB)230和预测处理单元260构成编码器的反向信号路径,其中,编码器的反向信号路径对应解码器(参见图3的解码器300)的信号路径。
例如,编码器200用于通过输入端202接收图像201或图像201的块203,图像201例如是构成视频或视频序列的图像序列的图像。图像块203还可以称为当前图像块或待译码图像块,图像201称为当前图像或待译码图像(特别是在视频译码中,将当前图像与其它图像区分开来,其它图像例如是同一视频序列(即,也包括当前图像的视频序列)中之前编码和/或解码的图像)。
分割
编码器200的实施例可以包括分割单元(图2中未示出),分割单元用于将图像201分割为多个块(例如块203之类的块),通常分割为多个非重叠块。分割单元可以用于对视频序列中的所有图像和定义块大小的对应的栅格使用相同的块大小,或者改变图像或子集或图像组之间的块大小,并将每个图像分割为对应的块。
在HEVC和其它视频译码规范中,为了生成图像的编码表示,可以生成一组编码树单元(coding tree unit,CTU)。每个CTU都可以包括亮度样本的编码树块、色度样本的两个对应的编码树块以及用于对编码树块的样本进行译码的语法结构。在单色图像或具有三个不同颜色平面的图像中,CTU可以包括单个编码树块和用于对编码树块的样本进行译码的语法结构。编码树块可以是N×N的样本块。CTU也可以称为树块或最大编码单元(largestcoding unit,LCU)。HEVC的CTU可以与H.264/AVC等其它标准的宏块大体类似。但是,CTU不必局限于特定大小,并且可以包括一个或多个编码单元(coding unit,CU)。条带可以包括以光栅扫描顺序连续排序的整数个CTU。
在HEVC中,使用表示为编码树的四叉树结构将CTU划分为CU,以适应不同的局部特征。在CU级别上决定是通过帧间(时间)预测还是通过帧内(空间)预测对图像区域进行译码。CU可以包括图像的亮度样本的编码块、色度样本的两个对应的编码块,以及用于对编码块的样本进行译码的语法结构,该图像具有亮度样本阵列、Cb样本阵列和Cr样本阵列。在单色图像或具有三个不同颜色平面的图像中,CU可以包括单个编码块和用于对编码块的样本进行译码的语法结构。编码块为N×N的样本块。在一些示例中,CU的大小可以与CTU的大小相同。用一种译码模式对每个CU进行译码,该译码模式可以是例如帧内译码模式或帧间译码模式。也可以使用其它译码模式。编码器200接收视频数据。编码器200可以对视频数据的图像的条带中的每个CTU进行编码。作为对CTU进行编码的一部分,编码器200的预测处理单元260或另一种处理单元(包括但不限于图2中所示的编码器200的单元)可以执行分割以将CTU的CTB划分为更小的块203。较小的块可以是CU的编码块。
码流中的语法数据也可以定义CTU的大小。一个条带包括按译码顺序排列的多个连续的CTU。可以将视频帧(frame)或图像(image/picture)分割为一个或多个条带。如前所述,可以根据四叉树将每个树块划分为编码单元(coding unit,CU)。通常,四叉树数据结构包括每个CU一个节点,根节点对应于树块(例如,CTU)。如果将一个CU划分为四个子CU,则与该CU对应的节点包括4个子节点,每个子节点对应一个子CU。四叉树结构的多个节点包括叶节点和非叶节点。叶节点在树结构中没有子节点(即,不进一步对叶节点进行划分)。非叶节点包括树结构的根节点。对于多个节点中的每个相应的非根节点,相应的非根节点对应CU的子CU,CU的子CU对应相应的非根节点的树结构中的父节点。每个相应的非叶节点在树结构中具有一个或多个子节点。
四叉树数据结构的每个节点可以为对应的CU提供语法数据。例如,四叉树中的节点可以包括划分标志,用于表示是否已将与该节点对应的CU划分为子CU。CU的语法元素可以递归定义,并且可以取决于是否已将CU划分为子CU。如果没有进一步对CU进行划分,则该CU称为叶CU。如果进一步对CU的块进行划分,则该CU通常可以称为非叶CU。每一级分割都是四叉树划分,划分为四个子CU。黑色的CU是叶节点(即,未进一步划分的块)的示例。
CU的作用与H.264标准的宏块类似,只是CU没有大小区分。例如,可以将树块划分为四个子节点(也称为子CU),每个子节点又可以为父节点并划分为另外四个子节点。最终的未划分的子节点称为四叉树的叶节点,包括译码节点,也称为叶CU。与译码码流相关的语法数据可以定义可以对树块进行划分的最大次数,称为最大CU深度,还可以定义译码节点的最小大小。因此,码流也可以定义最小编码单元(smallest coding unit,SCU)。术语“块”指HEVC上下文中的CU、PU或TU中的任一种,或在其它标准上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。
在HEVC中,每个CU还可以根据PU划分类型划分为1个、2个或4个PU。在一个PU内,进行相同的预测过程,并且以PU为单位将相关信息发送到解码器。在通过进行预测过程而获得残差块后,根据PU划分类型,可以根据与CU的编码树类似的另一种四叉树结构将CU分割为变换单元(transform unit,TU)。HEVC结构的一个关键特征是它具有CU、PU和TU等多重分割概念。PU可以分割为非正方形的形状。例如,与CU相关的语法数据还可以描述将CU分割为一个或多个PU。TU的形状可以是正方形或非正方形(例如,矩形),例如,与CU相关的语法数据可以描述根据四叉树将CU分割为一个或多个TU。CU在跳过模式编码或直接模式编码、帧内预测模式编码或帧间预测模式编码下,分割模式可能不同。
通用视频译码(versatile video coding,VVC)中不考虑PU和TU概念的不同,支持多种CU分割形状。CU的大小与译码节点的大小对应,可以是正方形或非正方形(例如,矩形)。CU的大小可以从4×4像素(或8×8像素)到树块大小,最大为128×128像素或更大(例如256×256像素)。
在编码器200生成CU的预测块(例如亮度、Cb和Cr预测块)之后,编码器200可以生成CU的残差块。例如,编码器100可以生成CU的亮度残差块。CU的亮度残差块中的每个样本表示CU的预测亮度块中的亮度样本与CU的原始亮度编码块中的对应样本之间的差异。此外,编码器200可以生成CU的Cb残差块。CU的Cb残差块中的每个样本可以表示CU的预测性Cb块中的Cb样本与CU的原始Cb编码块中的对应样本之间的差异。编码器100也可以生成CU的Cr残差块。CU的Cr残差块中的每个样本可以表示CU的预测Cr块中的Cr样本与CU的原始Cr编码块中的对应样本之间的差异。
在一些示例中,编码器100不对变换块进行变换。在这样的示例中,编码器200可以以与变换系数相同的方式处理残差样本值。因此,在编码器100不进行变换的示例中,以下关于变换系数和系数块的讨论可以适用于残差样本的变换块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,编码器200可以对系数块进行量化以尽可能地减少用于表示系数块的数据量,从而进行进一步压缩。量化通常是指将一系列值简化为单个值的过程。在编码器200对系数块进行量化之后,编码器200可以对表示量化变换系数的语法元素进行熵编码。例如,编码器200可以对表示量化变换系数的语法元素执行上下文自适应二进制算术译码(context-adaptive binary arithmeticcoding,CABAC)或其它熵译码技术。
编码器200可以输出编码图像数据271的码流,该码流包括形成译码图像和相关数据的表示的位序列。因此,码流包括视频数据的编码表示。
在J.An等人的《用于下一代视频译码的块分割结构》(国际电信联盟,COM16-C966,2015年9月(下文简称“VCEG提议COM16-C966”))中,提供了四叉树二叉树(quad-tree-binary-tree,QTBT)分割技术,用于未来的HEVC之外的视频译码标准。仿真结果表明,所提供的QTBT结构比HEVC中使用的四叉树结构更高效。在HEVC中,为了减少运动补偿的内存访问,限制了对小块的帧间预测,因此,不支持对4×8的块和8×4的块进行双向预测,并且不支持对4×4的块进行帧间预测。在JEM的QTBT中,取消了这些限制。
在QTBT块结构中,CU可以具有正方形或矩形形状。例如,首先通过四叉树结构分割编码树单元(coding tree unit,CTU)。四叉树叶节点可以通过二叉树结构进一步分割。二叉树划分有两种划分类型:对称水平划分和对称垂直划分。每种情况都是水平或垂直地将节点从中间向下进行划分的。二叉树叶节点称为编码单元(coding unit,CU),该分段用于预测和变换处理,无需进一步分割。即,CU、PU和TU在QTBT编码块结构中具有相同的块大小。CU可以由不同颜色分量的编码块(coding block,CB)组成,例如,在4:2:0色度格式的P和B条带的情况下,一个CU包括一个亮度CB和两个色度CB;或者CU可以由单个分量的CB组成,例如,一个CU仅包括一个亮度CB或者在I条带的情况下仅包括两个色度CB。
为QTBT分割方案定义如下参数:
-CTU大小:四叉树的根节点大小,与HEVC中的概念相同
-MinQTSize:允许的最小四叉树叶节点大小
-MaxBTSize:允许的最大二叉树根节点大小
-MaxBTDPepth:允许的最大二叉树深度
-MinBTSize:允许的最小二叉树叶节点大小
在QTBT分割结构的一个示例中,CTU大小设置为128×128亮度样本,其中具有两个对应的64×64色度样本块,MinQTSize设置为16×16,MaxBTSize设置为64×64,MinBTSize(宽度和高度)设置为4×4,MaxBTDepth设置为4。四叉树分割首先应用于CTU,以生成四叉树叶节点。四叉树叶节点的大小可以为16×16(即,MinQTSize)到128×128(即,CTU大小)。当四叉树节点的大小等于MinQTSize时,不再考虑进一步的四叉树。如果叶四叉树节点为128×128,则其大小超过了MaxBTSize(即64×64),因此不通过二叉树进行进一步划分。否则,叶四叉树节点可以通过二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点,其二叉树深度为0。当二叉树深度达到MaxBTDepth(即,4)时,不再考虑进一步划分。当二叉树节点的宽度等于MinBTSize(即,4)时,不再考虑进一步水平划分。同理,当二叉树节点的高度等于MinBTSize时,不再考虑进一步垂直划分。对二叉树的叶节点进行预测和变换处理,无需进一步分割。在JEM中,最大CTU大小为256×256亮度样本。可以对二叉树(binary-tree,CU)的叶节点进行进一步处理(例如,通过执行预测过程和变换过程),无需进一步分割。
此外,在QTBT方案中,亮度和色度具有不同的QTBT结构。目前,对于P和B条带,一个CTU中的亮度和色度CTB可以共享同一QTBT结构。但是,对于I条带,亮度CTB通过QTBT结构分割为CU,并且色度CTB可以通过另一个QTBT结构分割为色度CU。即,I条带中的CU由亮度分量的编码块或两个色度分量的编码块组成,而P条带或B条带中的CU由所有三个颜色分量的编码块组成。
编码器200对QTBT结构进行率失真优化(rate-distortion optimization,RDO)以确定块分割。
此外,在第20170208336号美国专利申请公开中提供了名为多类型树(ulti-type-tree,MTT)的块分割结构,以替换基于QT、BT和/或QTBT的CU结构。MTT分割结构仍为递归树结构。在MTT中,使用多个不同的分割结构(例如,三个或更多个)。例如,根据MTT技术,在树结构的每个深度处,可以对树结构的每个相应的非叶节点使用三个或更多个不同的分割结构。树结构中节点的深度可以指从树结构的节点到根的路径的长度(例如,划分次数)。分割结构通常可以指一个块可以划分为多少个不同的块。分割结构可以是可以将一个块划分为四个块的四叉树分割结构、可以将一个块划分为两个块的二叉树分割结构、或者将一个块划分为三个块的三叉树分割结构,此外,三叉树分割结构可以不通过中心对块进行划分。分割结构可以有多个不同的分割类型。分割类型还可以定义对块进行划分的方式,包括对称或非对称分割、均匀或非均匀分割和/或水平或垂直分割。
在MTT中,在树结构的每个深度处,编码器200可以用于使用三个以上的分割结构中的一个分割结构的特定分割类型对子树进行进一步划分。例如,编码器100可以用于根据QT、BT、三叉树(triple-tree,TT)和其它分割结构确定特定分割类型。在一个示例中,QT分割结构可以包括正方形四叉树或矩形四叉树分割类型。编码器200可以使用正方形四叉树分割来分割正方形块,方法是将该块沿中心水平和垂直地划分为四个大小相等的正方形块。同样地,编码器200可以使用矩形四叉树分割来分割矩形(例如,非正方形)块,方法是将该矩形块沿中心水平和垂直地划分为四个大小相等的矩形块。
BT分割结构可以包括水平对称二叉树、垂直对称二叉树、水平非对称二叉树和垂直非对称二叉树中的至少一种。对于水平对称二叉树分割类型,编码器200可以用于将块沿中心水平地划分为大小相同的两个对称块。对于垂直对称二叉树分割类型,编码器200可以用于将块沿中心垂直地划分为大小相同的两个对称块。对于水平非对称二叉树分割类型,编码器100可以用于水平地将块划分为大小不同的两个块。例如,一个块的大小可以是父块的1/4,另一个块的大小可以是父块的3/4,类似于PART_2N×nU或PART_2N×nD分割类型。对于垂直非对称二叉树分割类型,编码器100可以用于垂直地将块划分为大小不同的两个块。例如,一个块的大小可以是父块的1/4,另一个块的大小可以是父块的3/4,类似于PART_nL×2N或PART_nR×2N分割类型。在其它示例中,非对称二叉树分割类型可以将父块划分为不同大小的部分。例如,一个子块可以是父块的3/8,另一个子块可以是父块的5/8。当然,这样的分割类型可以是垂直的,也可以是水平的。
TT分割结构与QT或BT结构不同,TT分割结构不会沿中心对块进行划分。块的中心区域保持在同一子块中。与产生四个块的QT或产生两个块的二叉树不同之处在于,根据TT分割结构进行的划分产生三个块。根据TT分割结构的示例性分割类型包括对称分割类型(水平和垂直)以及非对称分割类型(水平和垂直)。此外,根据TT分割结构,对称分割类型可以是不均匀的(uneven/non-uniform)或均匀的(even/uniform)。根据TT分割结构,非对称分割类型是不均匀的。在一个示例中,TT分割结构可以包括以下分割类型中的至少一种:水平均匀对称三叉树分割类型、垂直均匀对称三叉树分割类型、水平不均匀对称三叉树分割类型、垂直不均匀对称三叉树分割类型、水平不均匀非对称三叉树分割类型,或垂直不均匀非对称三叉树分割类型。
通常,不均匀对称三叉树分割类型是围绕块的中心线对称的分割类型,但是得到的三个块中的至少一个块的大小与其它两个块的大小不相同。在一个优选的示例中,两个侧块的大小均为该块的1/4,而中心块的大小为该块的1/2。均匀对称三叉树分割类型是围绕块的中心线对称的分割类型,且得到的块大小都相同。如果块的高度或宽度(取决于垂直或水平划分)是3的倍数,则这种分割是可能的。不均匀非对称三叉树分割类型是指围绕块的中心线不对称的分割类型,得到的块中的至少一个块与另外两个块的大小不相同。
在将块(例如,在子树节点处)划分为不对称三叉树分割类型的示例中,编码器200和/或解码器300可以进行限制,使得三个部分中的两个部分大小相同。这种限制可以对应于编码器200在对视频数据进行编码时必须受到的限制。此外,在一些示例中,编码器200和解码器300可以进行限制,因此,当根据非对称三叉树分割类型进行划分时,两个部分的面积之和等于其余的一个部分的面积。
在一些示例中,编码器200可以用于从针对每种QT、BT和TT分割结构的上述所有分割类型中进行选择。在其它示例中,编码器200可以用于仅从上述分割类型的子集中确定分割类型。例如,以上讨论的分割类型(或其它分割类型)的子集可以用于特定块大小或四叉树结构的特定深度。所支持分割类型的子集可以在码流中进行指示以供解码器300使用,或者可以进行预定义,使得编码器200和解码器300可以在没有任何指示(signaling)的情况下确定子集。
在其它示例中,对于所有CTU中的所有深度,所支持的分割类型的数量可以是固定的。即,编码器200和解码器300可以进行预配置,以对CTU的任何深度使用相同数量的分割类型。在其它示例中,所支持的分割类型的数量可以变化,并且可以取决于深度、条带类型或其它之前译码的信息。在一个示例中,在树结构的深度0或深度1处,仅使用QT分割结构。在大于1的深度处,可以使用QT、BT和TT分割结构中的每一个。
在一些示例中,编码器200和/或解码器300可以对所支持的分割类型进行预配置的限制,以避免对视频图像的某个区域或CTU的区域进行重复分割。在一个示例中,当以非对称分割类型对块进行划分时,编码器200和/或解码器300可以不进一步对从当前块划分得到的最大子块进行划分。例如,当根据非对称分割类型(类似PART_2N×nU分割类型)对正方形块进行划分时,所有子块中的最大子块(类似PART_2N×nU的最大子块分割类型)为标记的叶节点,无法进行进一步划分。但是,较小的子块(类似于PART_2N×nU分割类型的较小子块)可以进行进一步划分。
在另一个示例中,可以对所支持的分割类型进行限制以避免对特定区域进行重复分割,当以非对称分割类型对块进行划分时,无法沿同一方向对从当前块划分得到的最大子块进行进一步划分。例如,当正方形块为划分非对称分割类型(类似于PART_2N×nU分割类型)时,编码器200和/或解码器300可以不沿水平方向划分所有子块中的大子块(类似于PART_2N×nU分割类型的最大子块)。
在另一个示例中,可以对所支持的分割类型进行限制以使得容易进行进一步划分,当块的宽度/高度不是2的幂次方时(例如,当宽度高度不是2、4、8、16等时),编码器200和/或解码器300可以不水平或垂直地对块进行划分。
上述示例描述了编码器200可以执行MTT分割的方式。然后,解码器300也可以进行与编码器200所执行的相同的MTT分割。在一些示例中,编码器200对视频数据的图像进行分割的方式可以通过在解码器300中应用同一组预定义的规则来确定。但是,在许多情况下,编码器200可以根据用于正在译码的视频数据的特定图像的率失真准则确定要使用的特定分割结构和分割类型。因此,为了使解码器300确定特定图像的分割,编码器200可以在编码码流中指示语法元素,该语法元素表示对图像以及图像的CTU进行分割的方式。解码器300可以解析这样的语法元素并相应地对图像和CTU进行分割。
在一个示例中,视频编码器200的预测处理单元260可以用于执行上述分割技术的任何组合,特别是对于运动估计,下文会详细描述。
尽管块203的尺寸小于图像201,但是与图像201一样,块203也是或也可以被认为是具有强度值(样本值)的二维样本阵列或矩阵。换句话说,例如,图像块203可以包括一个样本阵列(例如,在单色图像201的情况下,亮度阵列)、三个样本阵列(例如,在彩色图像201的情况下,一个亮度阵列和两个色度阵列),或任何其它数量和/或类型的阵列,这取决于应用的颜色格式。块203在水平和垂直方向(或轴线)上的样本数量定义了块203的大小。
如图2所示的编码器200用于对图像201逐块地进行编码,例如对每个块203执行编码和预测。
残差计算
残差计算单元204用于根据图像块203和预测块265(后面会详细描述预测块265)计算残差块205,例如,逐样本(逐像素)从图像块203的样本值中减去预测块265的样本值,以获得样本域中的残差块205。
变换
变换处理单元206用于对残差块205的样本值进行变换,例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST),以获得变换域中的变换系数207。变换系数207也可以称为变换残差系数,并且表示变换域中的残差块205。
变换处理单元206可以用于应用DCT/DST的整数近似,例如针对HEVC/H.265指定的变换。与正交DCT变换相比,此类整数近似通常通过某个因子进行缩放。使用附加的缩放因子作为变换过程的一部分,以维持经过前向变换和反向变换处理的残差块的范数。通常根据某些限制来选择缩放因子,例如缩放因子为移位运算的2的幂次方、变换系数的位深、准确度和实现成本之间的权衡等。例如,在解码器300侧通过逆变换处理单元212等指定用于逆变换的特定缩放因子(以及在编码器20侧通过逆变换处理单元212等为对应的逆变换指定缩放因子),在编码器200侧可以对应地通过变换处理单元206等指定用于正向变换的对应的缩放因子。
量化
量化单元208用于对变换系数207进行量化(例如进行标量量化或矢量量化),以获得量化变换系数209。量化变换系数209也可以称为量化残差系数209。量化过程可以减小与部分或全部变换系数207相关的位深。例如,可以在量化期间将n位变换系数向下舍入到m位变换系数,其中,n大于m,可以通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以进行不同的缩放来实现更精细或更粗略的量化。量化步长大小越小,量化越精细;量化步长大小越大,量化越粗略。合适的量化步长大小可以通过量化参数(quantization parameter,QP)来表示。例如,量化参数可以是适用于预定义的一组合适的量化步长大小的索引。例如,小的量化参数可以对应精细的量化(小量化步长大小),而大的量化参数可以对应粗略的量化(大量化步长大小),反之亦然。量化操作可以包括除以量化步长,而反量化单元210等执行的对应解量化或反解量化操作可以包括乘以量化步长。根据一些标准(例如HEVC),实施例中可以使用量化参数来确定量化步长大小。通常,可以通过包括除法的方程的定点近似、根据量化参数计算量化步长大小。可以将其它缩放因子引入量化和解量化,用于恢复残差块的范数,因为量化步长大小和量化参数的方程的定点近似中使用缩放,所以可以修改该范数。在一种示例性实现方式中,可以合并逆变换和解量化中的缩放。或者,可以使用自定义量化表,并且例如在码流中将该自定义量化表从编码器发送到解码器。量化为有损操作,损耗随量化步长大小的增加而增加。
反量化单元210用于对量化系数执行量化单元208所执行的量化的反量化,以获得解量化系数211,例如,根据或使用与量化单元208相同的量化步长执行与量化单元208所执行的量化方案的反量化方案。解量化系数211也可以称为解量化残差系数211,其对应于变换系数207,但是由于量化造成损耗,所以解量化系数211通常与变换系数不完全相同。
逆变换处理单元212用于对变换处理单元206所进行的变换进行逆变换,例如逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sinetransform,DST),以在样本域中获得逆变换块213。逆变换块213也可以称为逆变换解量化块213或逆变换残差块213。
重建单元214(例如,求和器214)用于将逆变换块213(即重建残差块213)与预测块265相加,例如,将重建残差块213的样本值和预测块265的样本值进行相加,以获得样本域中的重建块215。
可选地,例如行缓冲器216等缓冲单元216(或简称为缓冲器216)用于缓冲或存储重建块215和相应的样本值,以例如用于帧内预测。在其它实施例中,编码器可以使用未滤波的重建块和/或存储在缓冲单元216中的相应的样本值用于任何类型的估计和/或预测,例如帧内预测。
编码器200的实施例可以使缓冲单元216不仅用于存储用于帧内预测254的重建块215,而且也用于环路滤波单元220(图2中未示出),和/或使例如缓冲单元216和解码图像缓冲单元230构成一个缓冲器。其它实施例可以使用解码图像缓冲器230的滤波块221和/或块或样本(块或样本在图2中未示出)作为帧内预测254的输入或基础。
环路滤波单元220(或简称为环路滤波器220)用于对重建块215进行滤波,以获得滤波块221,以例如平滑像素过渡或提高视频质量。环路滤波单元220表示一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器和其它滤波器,例如双边滤波器,自适应环路滤波器(adaptive loop filter,ALF)、锐化或平滑滤波器或协作滤波器。尽管在图2中环路滤波单元220示出为环内滤波器,但在其它配置中,环路滤波单元220可以实现为后环路滤波器。滤波块221也可以称为滤波重建块221。解码图像缓冲器230可以在环路滤波单元220对重建编码块进行滤波操作之后存储重建编码块。
例如,编码器200(相应地,环路滤波单元220)的实施例可以直接输出环路滤波器参数(例如样本自适应偏移信息),或通过熵编码单元270或任何其它熵译码单元熵编码后输出环路滤波器参数,使得例如解码器300可以接收相同的环路滤波器参数并将相同的环路滤波器参数用于解码。
解码图像缓冲器(decoded picture buffer,DPB)230可以是参考图像存储器,其存储供视频编码器20用来对视频数据进行编码的参考图像数据。DPB 230可以由各种存储器设备中的任一种形成,例如动态随机存取存储器(dynamic random access memory,DRAM)(包括同步DRAM(synchronous DRAM,SDRAM))、磁阻RAM(magneto resistive RAM,MRAM)、电阻RAM(resistive RAM,RRAM)或其它类型的存储器设备。DPB 230和缓冲器216可以由同一存储器设备提供,也可以由不同的存储器设备提供。在一些示例中,解码图像缓冲器(decoded picture buffer,DPB)230用于存储滤波块221。解码图像缓冲器230还可以用于存储相同的当前图像或不同图像(例如之前重建的图像)的其它之前滤波的块(例如之前重建的和滤波的块221),并且可以提供完整的之前重建的(即解码的)图像(以及对应的参考块和样本)和/或部分重建的当前图像(以及对应的参考块和样本),以例如用于帧间预测。在一些示例中,如果重建了重建块215,但没有进行环内滤波,则解码图像缓冲器(decoded picture buffer,DPB)230用于存储重建块215。
预测处理单元260也称为块预测处理单元260,用于:接收或获取块203(例如,当前图像201的当前块203)和重建图像数据,例如,来自缓冲器216的相同(或当前)图像的参考样本和/或来自解码图像缓冲器230的一个或多个之前解码的图像的参考图像数据231;并且用于处理此类数据以进行预测,即,提供预测块265,预测块265可以是帧间预测块245或帧内预测块255。
模式选择单元262可以用于选择预测模式(例如,帧内或帧间预测模式)和/或选择对应的预测块245或255作为预测块265,以用于残差块205的计算和重建块215的重建。
模式选择单元262的实施例可以用于(例如从预测处理单元260支持的那些预测模式中)选择预测模式,该预测模式提供最佳匹配,或者换句话说,提供最小残差(最小残差更有利于压缩,以便传输或存储),或者提供最小指示开销(最小的指示开销更有利于压缩,以便传输或存储),或者考虑或平衡两者。模式选择单元262可以用于根据率失真优化(ratedistortion optimization,RDO)确定预测模式,即确定这样一种预测模式:该预测模式提供最小率失真优化,或相关的率失真至少满足预测模式选择标准。
下文详细解释由示例性编码器200执行的预测处理(例如通过预测处理单元260)和模式选择(例如通过模式选择单元262)。
如上所述,编码器200用于从一组(预定的)预测模式中确定或选择最佳或最优预测模式。该组预测模式可以包括例如帧内预测模式和/或帧间预测模式。
该组帧内预测模式可以包括35种不同的帧内预测模式,例如DC(或平均值)模式和平面模式等非方向模式,或H.265中定义的方向模式等,或者可以包括67种不同的帧内预测模式,例如DC(或平均值)模式和平面模式等非方向模式,或正在开发的H.266中定义的方向模式等。
该组(或可能的)帧间预测模式取决于可用的参考图像(即,例如存储在DPB 230中的之前至少部分解码的图像)和其它帧间预测参数,例如是整个参考图像还是仅参考图像的一部分(例如,当前块的区域周围的搜索窗口区域)用于搜索最佳匹配的参考块,和/或例如是否应用像素插值,例如半像素和/或四分之一像素插值,或不应用像素插值。
除了上述预测模式之外,还可以应用跳过模式和/或直接模式。
例如预测处理单元260还可以用于通过迭代地使用四叉树分割(quad-tree-partitioning,QT)、二叉树分割(binary partitioning,BT)或三叉树分割(triple-tree-partitioning,TT)或其任何组合,将块203分割为较小的块部分或子块,以及用于例如对块部分或子块中的每一个执行预测,其中,模式选择包括选择分割的块203的树结构以及应用于每个块部分或子块的预测模式。
帧间预测单元244可以包括运动估计(motion estimation,ME)单元和运动补偿(motion compensation,MC)单元(图2中未示出)。运动估计单元用于接收或获取图像块203(当前图像201的当前图像块203)和解码图像331,或者至少一个或多个之前重建的块(例如一个或多个其它/不同的之前解码的图像331的重建块),以用于运动估计。例如,视频序列可以包括当前图像和之前解码的图像331,或者,换句话说,当前图像和之前解码的图像331可以是构成视频序列的图像序列的一部分或可以构成该序列。例如,编码器200可以用于从多个其它图像的相同或不同图像的多个参考块中选择参考块并提供参考图像(或参考图像索引,……)和/或参考块的位置(x坐标、y坐标)与当前块的位置之间的偏移(空间偏移),作为运动估计单元(图2中未示出)的帧间预测参数。这个偏移也称为运动矢量(motionvector,MV)。融合是HEVC中用到的重要的运动估计工具,VVC中也使用融合。为了执行融合估计,首先要构建融合候选列表,其中,每个候选都包括所有运动数据,该运动数据包括是否使用一个或两个参考图像列表的信息以及每个列表的参考索引和运动矢量。融合候选列表是根据以下候选构建的:1.最多四个空间融合候选,这些候选是从五个空间相邻(即相邻)块推导的;2.一个时间融合候选,该时间融合候选是从两个时间、并置块推导的;3.其它融合候选,包括组合双向预测候选和零运动矢量候选。
帧内预测单元254还用于根据帧内预测参数(例如,选择的帧内预测模式)确定帧内预测块255。在任何情况下,在为块选择帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即表示为块选择的帧内预测模式的信息。在一个示例中,帧内预测单元254可以用于执行下文描述的帧内预测技术的任何组合。
熵编码单元270用于单独地或联合地(或根本不)对量化残差系数209、帧间预测参数、帧内预测参数和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度译码(variable length coding,VLC)方案,上下文自适应VLC(context adaptive VLC,CAVLC)方案、算术译码方案、上下文自适应二进制算术译码(context adaptive binaryarithmetic coding,CABAC)方案、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binary arithmetic coding,SBAC)方案、概率区间分割熵(probability interval partitioning entropy,PIPE)译码,或者另一种熵编码方法或技术),以获得可由输出端272输出的编码图像数据21,例如以编码码流21的形式输出。编码码流21可以发送到视频解码器30,或者进行存档,以便随后由视频解码器30发送或检索。熵编码单元270还可以用于对正在译码的当前视频条带的其它语法元素进行熵编码。
视频编码器200的其它结构变化可以用于编码视频流。例如,对于某些块或帧,基于非变换的编码器200可以在没有变换处理单元206的情况下直接量化残差信号。在另一种实现方式中,编码器200可以将量化单元208和反量化单元210组合成单个单元。
图3为用于实现本申请的技术的示例性视频解码器300。视频解码器300用于接收例如由编码器200编码的编码图像数据(例如,编码码流)271,以获得解码图像331。在解码过程期间,视频解码器300从视频编码器200接收视频数据,例如表示编码视频条带的图像块和相关的语法元素的编码视频码流。
在图3的示例中,解码器300包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如,求和器314)、缓冲器316、环路滤波器320、解码图像缓冲器330和预测处理单元360。预测处理单元360可包括帧间预测单元344、帧内预测单元354和模式选择单元362。在一些示例中,视频解码器300可以执行与图2中关于视频编码器200描述的编码通道大体上互逆的解码通道。
熵解码单元304用于对编码图像数据271执行熵解码以例如获得量化系数309和/或解码译码参数(图3中未示出),例如(解码)帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素中的任一个或全部。熵解码单元304还用于将帧间预测参数、帧内预测参数和/或其它语法元素转发至预测处理单元360。视频解码器300可以在视频条带级和/或视频块级接收语法元素。
反量化单元310可以与反量化单元110具有相同的功能,逆变换处理单元312可以与逆变换处理单元112具有相同的功能,重建单元314可以与重建单元114具有相同的功能,缓冲器316可以与缓冲器116具有相同的功能,环路滤波器320可以与环路滤波器120具有相同的功能,解码图像缓冲器330可以与解码图像缓冲器130具有相同的功能。
预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中,帧间预测单元344在功能上类似于帧间预测单元144,帧内预测单元354在功能上类似于帧内预测单元154。预测处理单元360通常用于进行块预测和/或从编码数据21中获取预测块365,以及例如从熵解码单元304接收或获取(显式地或隐式地)预测相关参数和/或关于所选择的预测模式的信息。
当视频条带译码为帧内译码(I)条带时,预测处理单元360的帧内预测单元354用于:根据所指示的帧内预测模式和来自当前帧或图像的之前解码的块的数据来为当前视频条带的图像块生成预测块365。当视频帧译码为帧间译码(即,B或P)条带时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于根据从熵解码单元304接收的运动矢量和其它语法元素生成当前视频条带的视频块的预测块365。对于帧间预测,预测块可以从一个参考图像列表中的一个参考图像中生成。视频解码器300可以根据DPB 330中存储的参考图像通过默认构建技术构建参考帧列表,列表0和列表1。
预测处理单元360用于通过解析运动矢量和其它语法元素确定当前视频条带的视频块的预测信息,并使用预测信息来生成正在解码的当前视频块的预测块。例如,预测处理单元360使用接收到的一些语法元素来确定用于对视频条带的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测条带类型(例如,B条带,P条带或GPB条带)、条带的参考图像列表中的一个或多个的构建信息、条带的每个帧间编码视频块的运动矢量、条带的每个帧间译码视频块的帧间预测状态,以及其它信息,以对当前视频条带中的视频块进行解码。
反量化单元310可以用于对码流中提供的并由熵解码单元304解码的量化变换系数进行反量化(即,解量化(de-quantize))。反量化过程可以包括:使用视频编码器100计算的视频条带中的每个视频块的量化参数,以确定应应用的量化程度以及反量化程度。
逆变换处理单元312用于对变换系数应用逆变换,例如,逆DCT、逆整数变换或概念上类似的逆变换过程,以便在像素域中生成残差块。
重建单元314(例如,求和器314)用于将逆变换块313(即重建残差块313)与预测块365相加,例如,将重建残差块313的样本值和预测块365的样本值进行相加,以获得样本域中的重建块315。
环路滤波单元320(在译码环路中或译码环路之后)用于对重建块315进行滤波,以获得滤波块321,以平滑像素的突变或提高视频质量。在一个示例中,环路滤波单元320可以用于执行以下描述的滤波技术的任何组合。环路滤波单元320表示一个或多个环路滤波器,例如去块效应滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器和其它滤波器,例如双边滤波器,自适应环路滤波器(adaptive loop filter,ALF)、锐化或平滑滤波器或协作滤波器。尽管在图3中环路滤波单元320示出为环内滤波器,但在其它配置中,环路滤波单元320可以实现为后环路滤波器。
然后,给定帧或图像中的解码视频块321存储在解码图像缓冲器330中,解码图像缓冲器330存储用于后续运动补偿的参考图像。
解码器300用于例如通过输出端312输出解码图像311,以呈现给用户或由用户观看。
视频解码器300的其它变型可以用于解码压缩码流。例如,解码器300可以在没有环路滤波单元320的情况下生成输出视频流。例如,对于某些块或帧,基于非变换的解码器300可以在没有逆变换处理单元312的情况下直接量化残差信号。在另一种实现方式中,视频解码器300可以将反量化单元310和逆变换处理单元312组合成单个单元。
图4为本发明的一个实施例提供的网络设备400(例如,译码设备)的示意图。网络设备400适用于实现本文描述的公开实施例。在一个实施例中,网络设备400可以是解码器(例如,图1A中的视频解码器300)或编码器(例如,图1A中的视频编码器200)。在一个实施例中,网络设备400可以是如上所述的图1A中的视频解码器300或图1A中的视频编码器200的一个或多个组件。
网络设备400包括:用于接收数据的入端口410和接收单元(Rx)420;用于处理数据的处理器、逻辑单元或中央处理器(central processing unit,CPU)430;用于发送数据的发送器单元(Tx)440和出端口450;以及用于存储数据的存储器460。网络设备400还可以包括耦合到入端口410、接收器单元420、发送器单元440和出端口450的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,以用于光或电信号的出或入。
处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如,多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收单元420、发送器单元440、出端口450和存储器460通信。处理器430包括译码模块470。译码模块470实现上述公开的实施例。例如,译码模块470实现、处理、准备或提供各种译码操作。因此,具有译码模块470可以大大提高网络设备400的功能,并实现网络设备400到不同状态的转换。或者,译码模块470实现为存储在存储器460中并由处理器430执行的指令。
存储器460包括一个或多个磁盘、磁带机和固态硬盘,并且可以用作溢出数据存储设备,以在选择此类程序用于执行时存储程序,以及存储在程序执行期间读取的指令和数据。存储器460可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(staticrandom-access memory,SRAM)。
图5为一个示例性实施例提供的装置500的简化框图,该装置500可以用作图1A中的源设备12和目的地设备14中的一者或两者。装置500可以实现本申请的技术。装置500可以是包括多个计算设备的计算系统的形式,也可以是单个计算设备的形式,例如手机、平板电脑、膝上型电脑、笔记本电脑、台式电脑等。
装置500中的处理器502可以是中央处理器。或者,处理器502可以是能够操纵或处理现在存在或以后开发的信息的任何其它类型的设备或多个设备。尽管所公开的实现方式可以通过单个处理器(例如处理器502)实施,但是可以通过一个以上的处理器来提高速度和效率。
装置500中的存储器504在一种实现方式中可以是只读存储器(read onlymemory,ROM)设备或随机存取存储器(random access memory,RAM)设备。可以使用任何其它合适类型的存储设备作为存储器504。存储器504可以包括由处理器502通过总线512访问的代码和数据506。存储器504还可以包括操作系统508和应用程序510,应用程序510包括使处理器502执行本文描述的方法的至少一个程序。例如,应用程序510可以包括应用程序1至N,其还包括执行本文所描述的方法的视频译码应用程序。装置500还可以包括辅助存储装置514形式的其它存储器,例如,辅助存储装置514可以是与移动计算设备一起使用的存储卡。由于视频通信会话包括大量信息,因此它们可以全部或部分地存储在辅助存储装置514中,并且根据需要加载到存储器504中用于进行处理。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是触摸敏感显示器,触摸敏感显示器将显示器与可操作以感测触摸输入的触摸敏感元件相结合。显示器518可以通过总线512耦合到处理器502。除了显示器518之外或作为显示器518的替代方案,还可以提供允许用户对装置500进行编程或以其它方式使用装置500的其它输出设备。当输出设备是或包括显示器时,显示器可以通过各种方式实现,包括通过液晶显示器(liquid crystal display,LCD)、阴极射线管(cathode-ray tube,CRT)显示器、等离子显示器或发光二极管(light emitting diode,LED)显示器,例如有机LED(organic LED,OLED)显示器。
装置500还可以包括图像感测设备520或与图像感测设备520通信,图像感测设备520例如为摄像机或任何现有的或以后开发的、能够感测例如操作装置500的用户的图像等图像的其它图像感测设备520。图像感测设备520可以定位成朝向操作装置500的用户。在一个示例中,图像感测设备520的位置和光轴可以使视野包括直接邻近显示器518的区域,从该区域可以看见显示器518。
装置500还可以包括声音感测设备522或与声音感测设备522通信,声音感测设备522例如为麦克风或任何现有的或以后开发的、能够感测装置500附近声音的其它声音感测设备。声音感测设备522可以定位成朝向操作装置500的用户,并且可以用于接收用户在操作装置500时发出的声音,例如语音或其它话语。
尽管图5将装置500的处理器502和存储器504描绘成集成到单个单元中,但也可以使用其它配置。处理器502的操作可以分布在多个机器(每个机器具有一个或多个处理器)上,这些机器可以直接耦合或通过局域网或其它网络耦合。存储器504可以分布在多个机器上,例如基于网络的存储器或执行装置500的操作的多个机器中的存储器。尽管在这里描述为单个总线,但装置500的总线512可以由多个总线组成。此外,辅助存储装置514可以直接耦合到装置500的其它组件,或者可以通过网络访问,并且可以包括单个集成单元(例如存储卡)或多个单元(例如多个存储卡)。因此,可以以多种配置实现装置500。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果以软件实现功能,则功能可以作为计算机可读介质上的一个或多个指令或代码存储或发送,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,对应数据存储介质等有形介质,或包括便于例如根据通信协议将计算机程序从一个地方传输到另一个地方的任何介质的通信介质。在这种方式中,计算机可读介质通常可以对应(1)非瞬时性的有形计算机可读存储介质或(2)通信介质,例如信号或载波。数据存储介质可以是任何可用介质,可由一个或多个计算机或一个或多个处理器访问以检索用于实现本发明所描述的技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。
已证明运动补偿、帧内预测和环路滤波器等视频压缩技术是有效的,因此应用于H.264/AVC和H.265/HEVC等各种视频译码标准中。例如,当没有可用的参考图像时,或者当当前块或图像不使用帧间预测译码时,可以对I帧或I条带进行帧内预测。帧内预测的参考样本通常是从同一图像中的之前译码的(或重建)相邻块中推导的。例如,H.264/AVC和H.265/HEVC都使用相邻块的边界样本作为帧内预测的参考。使用多种不同的帧内预测模式来覆盖不同的纹理或结构特征。在每种模式下,使用不同的预测信号推导方法。
根据HEVC/H.265标准,帧内预测模式有35种。如图6所示,该集合包括以下模式:平面模式(帧内预测模式索引为0)、DC模式(帧内预测模式索引为1),以及覆盖180°范围且帧内预测模式索引值范围为2至34的方向(角度)模式,如图6中的黑色箭头所示。为了捕获自然视频中出现的任意边缘方向,方向帧内模式的数量从HEVC中使用的33个扩展到65个。在图6中,附加方向模式被描绘成虚线箭头,并且平面模式和DC模式保持不变。值得注意的是,帧内预测模式覆盖的范围可以大于180度。特别地,索引值为3至64的62种方向模式覆盖了大约230°的范围,即几对模式具有相反的方向性。在HEVC参考模型(HEVC referencemodel,HM)和JEM平台的情况下,只有一对角度模式(即模式2和66)具有相反的方向性,如图6所示。为了构建一个预测值,传统的角度模式取参考样本并且(如果需要的话)对它们进行滤波以获得样本预测值。构建预测值所需的参考样本数取决于用于插值的滤波器的长度(例如,双线性滤波器和立方滤波器的长度分别为2和4)。
如图7所示,块“CUR”是进行预测的当前块,沿相邻构建块边界的灰色样本用作参考样本。预测信号可以通过根据由帧内预测模式表示的特定方法映射参考样本来推导。
参考样本替换
由于若干原因,部分或全部参考样本可能无法用于帧内预测。例如,图像、条带(slice)或分块(tile)之外的样本被视为无法用于预测。此外,当启用受限帧内预测(constrained intra prediction)时,忽略属于帧间预测PU的参考样本,以避免错误地从可能错误地接收和重建的先验图像传播。在HEVC中,允许在替换不可用的参考样本后使用其所有预测模式。对于没有可用的参考样本的极端情况,所有参考样本都由给定位深的标称平均样本值(例如,对于8位数据为128)替换。如果至少有一个被标记为可用于帧内预测的参考样本,则使用可用参考样本替换不可用参考样本。通过沿顺时针方向扫描参考样本并对不可用参考样本使用最新可用的样本值来替换不可用的参考样本。如果沿顺时针方向扫描的第一个样本不可用,则它将被在沿顺时针方向扫描样本时遇到的第一个可用参考样本替换。在这里,“替换”也可以称为填充,被替换也可以称为被填充。
受限帧内预测
受限帧内预测是一种工具,用于避免由编码器-解码器不匹配的参考像素的空间帧内预测引起的空间噪声传播。当传输帧间译码条带时发生丢包时,会出现编码器-解码器不匹配的参考像素。当使用有损解码端内存压缩时,也会出现。当启用受限帧内预测时,帧间预测样本标记为不可用于帧内预测,并且可用上述填充方法填充那些不可用的样本,以在编码端执行完整的帧内预测估计或在解码端执行帧内预测。
跨分量线性模型预测(cross-component linear model prediction,CCLM)是一种帧内预测模式,用于减少帧内预测模式下的跨分量冗余。在CCLM预测中,使用线性模型根据对应重建亮度样本(当前亮度块)预测色度样本,如下所示:
predC(i,j)=α·recL′(i,j)+β (1)
其中,predC(i,j)表示预测色度样本,recL(i,j)表示下采样对应重建亮度样本。对左上相邻重建亮度样本进行下采样后,与左上相邻重建色度样本形成一对一的关系。线性模型系数参数α和β使用2个点进行推导,2个点(亮度和色度对)(A、B)是相邻亮度样本集内的最小值和最大值,如图8所示。上述方法表示为最小二乘法(LS法)。
线性模型参数α和β根据以下方程获得:
Figure GDA0003002285160000191
β=yA-αxA (3)
这里,需要说明的是,从下采样亮度相邻重建样本和色度相邻重建样本中选择2个点(亮度和色度对)(A、B)。
这里,α可以称为缩放参数或缩放系数,β可以称为偏移参数或偏移系数。在现有的LM方法中,利用最大/最小亮度值和对应的色度值来推导线性模型系数。从相邻样本中只选择1对点(亮度和色度对),以获得线性模型系数。
多方向线性模型
上(above或top)模板和左模板除了可以一起用于计算线性模型系数(如图9所示)之外,也可以交替用于另外2种CCIP模式,称为CCIP_A和CCIP_L模式。CCIP_A和CCIP_L也可以简单地表示为多方向线性模型(multi-directional linear model,MDLM)。CCIP_A也可以称为CCIP_T。
如图10所示,在CCIP_A模式下,仅使用上(above或top)模板计算线性模型系数。同理,如图11所示,在CCIP_L模式下,仅使用左模板计算线性模型系数。
CCIP模式和MDLM(CCIP_A和CCIP_L)可以同时使用,也可以交替使用。例如,编解码中只使用CCIP,或者只使用MDLM,或者同时使用CCIP和MDLM。在最后一种情况下,增加这3种模式(CCIP、CCIP_A、CCIP_L),作为3种附加的色度帧内预测模式。在编码端,为了选择色度帧内预测模式,增加了色度分量的3个以上的RD成本检查。
尽管在相关技术中使用最大/最小亮度值和对应的色度值来推导线性模型系数的LM相关模式(LM模式、MDLM模式)显示了压缩优势,但可以优化一些区域以获得鲁棒的线性模型系数:
获得缩放系数a后,偏移系数b被推导为相邻色度样本平均值的差值,以及缩放系数a与相邻亮度样本的平均值之积。具体地,偏移系数b等于相邻色度样本的平均值减去缩放系数与相邻亮度样本的平均值之积。
相邻亮度样本是用于检查最大/最小亮度值的样本。
在本申请实施例中,提出了一些方法,用于获取最大亮度值和最小亮度值以及对应的色度值,以推导线性模型系数。
例如,在获得缩放参数a之后,偏移系数b等于相邻色度样本的平均值减去缩放系数与相邻亮度样本的平均值之积:
Figure GDA0003002285160000201
Figure GDA0003002285160000202
这里,
Figure GDA0003002285160000203
为相邻色度样本的平均值,/>
Figure GDA0003002285160000204
为相邻亮度样本的平均值。
这里,需要说明的是,改进的方法可以用于LM模式,或者MDLM模式,或者使用线性模型系数的其它模式。
在现有的LM模式或MDLM方法中,在获得缩放参数a之后,仅使用1对点(最大亮度值和对应的色度值,或者最小亮度值和对应的色度值)推导偏移参数b。
在所提出的方法中,偏移系数b被推导为相邻色度样本的平均值之差,以及缩放系数a与相邻亮度样本的平均值之积。具体地,偏移系数b等于相邻色度样本的平均值减去缩放系数与相邻亮度样本的平均值之积。
这里,需要说明的是,本发明中提出的方法用于获取用于色度帧内预测的线性模型系数。该方法属于帧内预测模块。因此,它同时存在于解码端和编码端。并且,在编码器和解码器中获得最大/最小亮度值的方法和对应的色度值是相同的。
对于色度块,为了使用LM或MDLM模式获得其预测,首先,需要获取对应的下采样亮度样本,然后,获取相邻样本中的最大/最小亮度值和对应的色度值,以计算线性模型系数。然后使用推导的线性模型系数和下采样亮度块获得当前色度块的预测。
由于本发明是关于获取线性模型系数推导,所以,这里重点描述获取线性模型系数的方法。
这里,需要说明的是,在本发明中,仅提出在亮度和色度样本对之间推导线性模型系数的方法,对于定义或构建亮度和色度点对的集合的方法,它们并不受到限制。
在本发明中,亮度样本和色度样本对的集合为{(p0,q0),(p1,q1),(p2,q2)……(pi,qi)……(pN-1,qN-1)}。其中,pi为第i个样本的亮度值,qi为第i个样本的色度值。这里,亮度样本的集合标记为P={p0,p1,p2,pi……pN-1},色度样本的集合标记为Q={q0,q1……qi……qN-1}。这里,N是亮度样本和色度样本对的数量。
实施例1
在图12所示的示例中,在本实施例中,为了获取色度块的预测:
步骤1201:获取最大亮度值和最小亮度值
从P中检查最大亮度值和最小亮度值,例如,第s个样本具有最大亮度值ps,第t个样本具有最小亮度值pt。
步骤1202:获取对应的色度值。
获得对应的色度值qs、qt。
步骤1203:推导缩放系数a
Figure GDA0003002285160000211
步骤1204:根据缩放系数、平均亮度值和平均色度值推导偏移系数b。
偏移系数b推导为
Figure GDA0003002285160000212
这里,
Figure GDA0003002285160000213
为Q的平均值,/>
Figure GDA0003002285160000214
为P的平均值。
Figure GDA0003002285160000215
相邻色度样本的数量为N,q(i)表示色度样本的色度值,0≤i<N。
Figure GDA0003002285160000216
相邻亮度样本的数量为N,p(j)表示亮度样本的亮度值,0≤j<N。
步骤1205:获取色度块的预测。
使用方程(1)获得当前色度块的预测。
实施例2
在本实施例中,如图13所示,为了获得色度块的预测,CCIP_L使用左样本,CCIP_A使用上样本。其中,W为当前色度块的宽度,H为当前色度块的高度。
对于MDLM模式,W1为上模板样本的数量,H1为左模板样本的数量。W1≥W,H1≥H。
对于CCIP_A模式,用于计算系数b的平均值为A1中的样本值,A1的长度为W。
对于CCIP_L模式,用于计算系数b的平均值为L1中的样本值,L1的长度为H。
或者,在计算平均值时,可以使用步长来减少样本的数量,这里的步长值可以为2、4、8……
实施例3
在本实施例中,如图14所示,为了获得色度块的预测,CCIP_L使用左逆(leftinverse),CCIP_A使用上逆(top inverse)。其中,W为当前色度块的宽度,H为当前色度块的高度。
对于MDLM模式,W1为上模板样本的数量,H1为左模板样本的数量。W1≥W,H1≥H。
对于CCIP_A模式,用于计算系数b的平均值为A1的右部分和A2中的样本值,A1的右部分和A2的长度为W。A2为右上相邻样本,A1为上相邻样本。
对于CCIP_L模式,用于计算系数b的平均值为L1的下部分和L2中的样本值,L1的下部分和L2的长度为H。L2为左下(left down或left below)相邻样本,L1为左相邻样本。
或者,在计算平均值时,可以使用步长来减少样本的数量,这里的步长值可以为2、4、8……
实施例4
本实施例中,如图15所示,为了获得色度块的预测,CCIP_L使用2的更大幂次方,CCIP_A使用2的更大幂次方。必要时进行填充。其中,W为当前色度块的宽度,H为当前色度块的高度。
对于MDLM模式,W1为上模板样本的数量,H1为左模板样本的数量。W1≥W,H1≥H。
对于CCIP_A模式,用于计算系数b的平均值为A1、A2、A3中的样本值。其长度为W2,W2为不小于W1的、2的最小幂次方。这里,A3中的样本是通过填充推导的,就像A2中的最右边的样本一样。
对于CCIP_L模式,用于计算系数b的平均值为L1、L2、L3中的样本值。其长度为H2,H2为不小于H1的、2的最小幂次方。这里,L3中的样本是通过填充推导的,就像L2中的最下面的样本一样。
或者,在计算平均值时,可以使用步长来减少样本的数量,这里的步长值可以为2、4、8……
使用上述方法,可以获得更鲁棒的线性模型系数。
本发明实施例还重点提出呈现了一套方法。
这里,需要说明的是,在本发明中,仅提出在亮度和色度样本对之间推导线性模型系数的方法,对于定义或构建亮度和色度点对的集合的方法,它们并不受到限制。
这里,需要说明的是,上述方法可以在LM模式、MDLM模式或使用线性模型系数的其它模式中使用。
在所提出的方法中,偏移系数b被推导为相邻色度样本的平均值之差,以及缩放系数a与相邻亮度样本的平均值之积。因此,本发明实施例能够提高偏移系数b的准确度,并对应地提高当前色度块的预测值的准确度。
作为示例而非限制,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储设备、闪存,或可以用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其它介质。此外,任何连接都可以称为计算机可读介质。例如,如果指令是从网站、服务器或其它远程源通过同轴电缆、光纤电缆、双绞线、数字用户线(digital subscriber line,DSL)或无线技术(例如红外、无线电、微波等)发送的,则介质的定义包括同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外、无线电和微波等)。但是,应理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬时介质,而是指非瞬时有形存储介质。本文使用的磁盘和光盘包括压缩光盘(compact disc,CD)、激光光盘、光盘、数字通用光盘(digital versatile disc,DVD)、软盘和蓝光光盘,盘通常磁性地再现数据,而光盘则用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,例如一个或多个数字信号处理器(digitalsignal processor,DSP)、通用微处理器、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程逻辑阵列(field programmable logic array,FPGA)或其它等效的集成或分立逻辑电路。因此,本文使用的术语“处理器”可以指任何上述结构或任何适合于实现本文所描述的技术的任何其它结构。此外,在一些方面中,本文所描述的功能可以在用于编码和解码的专用硬件和/或软件模块中提供,或者结合在组合编解码器中。此外,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本发明的技术可以在多种设备或装置中实现,包括无线手持电话、集成电路(integrated circuit,IC)或一组IC(例如芯片组)。本发明描述各种组件、模块或单元以强调用于执行所公开技术的设备的功能方面,但这些组件、模块或单元不一定要求通过不同的硬件单元实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合结合合适的软件和/或固件来提供。
尽管本发明中已经提供了几个实施例,但应理解的是,在不背离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式实现。这些示例被视为说明性的而非限制性的,并且意图不限于本文给出的细节。例如,各种元件或组件可以结合或集成在另一个系统中,或者某些特征可以省略或不实现。
此外,在不背离本发明范围的情况下,在各种实施例中描述和示出为分立的或独立的技术、系统、子系统和方法,可以与其它系统、模块、技术或方法组合或集成。示出或讨论为相互耦合、直接耦合或通信的其它项目可以通过电、机械或其它方式通过一些接口、设备或中间组件间接耦合或通信。改变、替换和更改的其它示例可以由本领域技术人员确定,并且可以在不背离本文所公开的精神和范围的情况下进行。

Claims (31)

1.一种使用跨分量线性预测模式(cross component liner prediction mode,CCLM)的帧内预测方法,其特征在于,包括:
获取亮度块的相邻亮度样本,所述相邻亮度样本是下采样亮度样本;
获取当前色度块的相邻色度样本,其中,所述当前色度块与所述亮度块对应;
对于多方向线性模型(multi-directional linear model,MDLM)模式,通过步长获取所述相邻亮度样本的部分上亮度样本和部分左亮度样本的平均亮度值,所述相邻色度样本的部分上色度样本和部分左色度样本的平均色度值;
对于CCIP_A模式,通过步长获取所述相邻亮度样本的部分上亮度样本的平均亮度值,所述相邻色度样本的部分上色度样本的平均色度值;
对于CCIP_L模式,通过步长获取所述相邻亮度样本的部分左亮度样本的平均亮度值,所述相邻色度样本的部分左色度样本的平均色度值;
根据第一线性模型系数、所述平均亮度值和所述平均色度值计算第二线性模型系数;
根据所述第一线性模型系数和所述第二线性模型系数获得所述当前色度块的预测值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述相邻亮度样本获得最大亮度值和最小亮度值;
根据所述最大亮度值获得第一色度值;
根据所述最小亮度值获得第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值计算所述第一线性模型系数。
3.根据权利要求2所述的方法,其特征在于,所述第一色度值根据具有所述最大亮度值的亮度样本的样本位置获得,所述第二色度值根据具有所述最小亮度值的亮度样本的样本位置获得。
4.根据权利要求3所述的方法,其特征在于,所述第一线性模型系数a根据以下公式计算:
Figure FDA0004121045520000011
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
5.根据权利要求4所述的方法,其特征在于,所述第二线性模型系数b根据以下公式计算:
Figure FDA0004121045520000012
其中,
Figure FDA0004121045520000013
表示所述相邻亮度样本的所述平均亮度值,/>
Figure FDA0004121045520000014
表示所述相邻色度样本的所述平均色度值。
6.根据权利要求5所述的方法,其特征在于,所述当前色度块的所述预测值根据以下公式计算:
predC(i,j)=a·recL′(i,j)+b
其中,predC(i,j)表示预测色度样本,recL(i,j)表示对应的重建亮度样本。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述相邻亮度样本的所述平均亮度值
Figure FDA0004121045520000015
通过以下公式获得:/>
Figure FDA0004121045520000021
其中,所述相邻亮度样本的数量为N,x(i)表示亮度样本的亮度值,0≤i<N。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述相邻色度样本的所述平均色度值
Figure FDA0004121045520000023
通过以下公式获得:
Figure FDA0004121045520000022
其中,y(j)表示色度样本的色度值,0≤j<N。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述相邻亮度样本是可用的。
10.根据权利要求1至6中任一项所述的方法,其特征在于,N个参考样本用于获取所述相邻亮度样本的所述平均亮度值,其中,N是W和H的和,其中,W表示所述当前色度块的宽度,H表示当前色度块的高度。
11.根据权利要求1至6中任一项所述的方法,其特征在于,N个参考样本用于获取所述相邻色度样本的所述平均色度值,其中,N是W和H的和,其中,W表示所述当前色度块的宽度,H表示当前色度块的高度。
12.根据权利要求1至6中任一项所述的方法,其特征在于,W个亮度样本用于获取所述相邻亮度样本的所述平均亮度值,其中,W表示所述当前色度块的宽度。
13.根据权利要求12所述的方法,其特征在于,所述W个亮度样本包括所述亮度块的上亮度样本部分和右上亮度样本部分。
14.根据权利要求13所述的方法,其特征在于,所述W个色度样本用于获得所述相邻色度样本的所述平均色度值。
15.根据权利要求14所述的方法,其特征在于,所述W个色度样本包括所述当前色度块的上色度样本部分和右上色度样本部分。
16.根据权利要求1至6中任一项所述的方法,其特征在于,H个亮度样本用于获得所述相邻亮度样本的所述平均亮度值,其中,H表示所述当前色度块的高度。
17.根据权利要求16所述的方法,其特征在于,所述H个亮度样本包括所述亮度块的左亮度样本部分和左下亮度样本部分。
18.根据权利要求17所述的方法,其特征在于,所述H个色度样本用于获得所述相邻色度样本的所述平均色度值。
19.根据权利要求18所述的方法,其特征在于,所述H个色度样本包括所述当前色度块的左色度样本部分和左下色度样本部分。
20.根据权利要求1至6中任一项所述的方法,其特征在于,所述相邻亮度样本包括所述亮度块的填充亮度样本。
21.根据权利要求20所述的方法,其特征在于,所述相邻亮度样本的数量是2的最小幂次方,并且不小于所述上亮度样本的数量。
22.根据权利要求20所述的方法,其特征在于,所述相邻亮度样本的数量是2的最小幂次方,并且不小于所述左亮度样本的数量。
23.根据权利要求1至6中任一项所述的方法,其特征在于,所述相邻色度样本包括所述当前色度块的填充色度样本。
24.根据权利要求23所述的方法,其特征在于,所述相邻色度样本的数量是2的最小幂次方,并且不小于所述上色度样本的数量。
25.根据权利要求23所述的方法,其特征在于,所述相邻色度样本的数量是2的最小幂次方,并且不小于所述左色度样本的数量。
26.根据权利要求1所述的方法,其特征在于,所述步长的值为2、4或8。
27.一种解码器,其特征在于,包括处理电路,用于执行根据权利要求1至26中任一项所述的方法。
28.一种编码装置,其特征在于,包括处理电路,用于执行根据权利要求1至26中任一项所述的方法。
29.一种存储程序代码的计算机可读介质,其特征在于,所述程序代码在计算机上执行时,用于执行根据权利要求1至26中任一项所述的方法。
30.一种用于对正方形编码块执行帧内预测方法的解码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序,其中,当所述程序由所述处理器执行时,使所述解码器执行根据权利要求1至26中任一项所述的方法。
31.一种用于对正方形编码块执行帧内预测方法的编码器,其特征在于,包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述处理器耦合并存储由所述处理器执行的程序,其中,当所述程序由所述处理器执行时,使所述编码器执行根据权利要求1至26中任一项所述的方法。
CN201980064929.1A 2018-10-08 2019-09-30 帧内预测方法及设备 Active CN112789858B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862742928P 2018-10-08 2018-10-08
US62/742,928 2018-10-08
US201862744113P 2018-10-10 2018-10-10
US62/744,113 2018-10-10
PCT/CN2019/109316 WO2020073864A1 (en) 2018-10-08 2019-09-30 Intra prediction method and device

Publications (2)

Publication Number Publication Date
CN112789858A CN112789858A (zh) 2021-05-11
CN112789858B true CN112789858B (zh) 2023-06-06

Family

ID=70164451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980064929.1A Active CN112789858B (zh) 2018-10-08 2019-09-30 帧内预测方法及设备

Country Status (3)

Country Link
US (1) US20210227229A1 (zh)
CN (1) CN112789858B (zh)
WO (1) WO2020073864A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116614633A (zh) * 2019-01-02 2023-08-18 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
CN111669585B (zh) * 2020-06-12 2022-10-28 浙江大华技术股份有限公司 帧内预测方法、视频编码方法以及相关设备、装置
WO2023138627A1 (en) * 2022-01-21 2023-07-27 Mediatek Inc. Method and apparatus of cross-component linear model prediction with refined parameters in video coding system
WO2023198142A1 (en) * 2022-04-14 2023-10-19 Mediatek Inc. Method and apparatus for implicit cross-component prediction in video coding system
WO2024017006A1 (en) * 2022-07-22 2024-01-25 Mediatek Inc. Accessing neighboring samples for cross-component non-linear model derivation
WO2024027566A1 (en) * 2022-08-02 2024-02-08 Mediatek Inc. Constraining convolution model coefficient
WO2024074131A1 (en) * 2022-10-07 2024-04-11 Mediatek Inc. Method and apparatus of inheriting cross-component model parameters in video coding system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9565428B2 (en) * 2011-06-20 2017-02-07 Mediatek Singapore Pte. Ltd. Method and apparatus of chroma intra prediction with reduced line memory
WO2013006986A1 (en) * 2011-07-12 2013-01-17 Intel Corporation Luma-based chroma intra prediction
EP2805496B1 (en) * 2012-01-19 2016-12-21 Huawei Technologies Co., Ltd. Reference pixel reduction for intra lm prediction
US9438905B2 (en) * 2012-04-12 2016-09-06 Futurewei Technologies, Inc. LM mode with uniform bit-width multipliers
KR20170071594A (ko) * 2014-10-28 2017-06-23 미디어텍 싱가폴 피티이. 엘티디. 비디오 코딩을 위한 가이드된 크로스-컴포넌트 예측 방법
US10200719B2 (en) * 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
JP2018056685A (ja) * 2016-09-27 2018-04-05 株式会社ドワンゴ 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CE3: Multi-directional LM (Test 4.2.1, 4.2.2, 4.2.3, 4.2.4);Xiang Ma;《JVET-K0191》;20180703;1.1节 *
CE3-related: Classification-based mean value for CCLM coefficients derivation;Xiang Ma;《JVET-L0342_r2》;20181007;摘要,第1节 *
JVET-L0138,CE3-related : Reduced number of reference samples for CCLM parameter calculation;Jangwon Choi;《JVET-L0138》;20181006;第2节 *
Non-CE3: On cross-component linear model simplification;Guillaume Laroche;《JVET-K0204-v2》;20180710;第2节 *

Also Published As

Publication number Publication date
US20210227229A1 (en) 2021-07-22
WO2020073864A1 (en) 2020-04-16
CN112789858A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112789863B (zh) 帧内预测方法及设备
CN113727101B (zh) 编码器、解码器及对应帧间预测方法
CN110999291B (zh) 用于划分视频数据的帧间预测片段中的视频块的系统和方法
CN112789858B (zh) 帧内预测方法及设备
CN114173115B (zh) 进行帧内预测的编码器、解码器和对应方法
CN112385234B (zh) 图像和视频译码的设备和方法
CN112997501B (zh) 导出用于对视频数据进行解码的预测亮度样本值的方法
CN114125468A (zh) 帧内预测方法和装置
CN113678437A (zh) 用于帧内平滑的方法和装置
US11516470B2 (en) Video coder and corresponding method
WO2020041306A1 (en) Intra prediction method and device
CN114679583B (zh) 视频编码器、视频解码器及对应方法
CN114303380A (zh) 用于几何划分标志的索引的cabac译码的编码器、解码器及对应方法
CN114007068B (zh) 编码器、解码器及其实现的对当前块进行预测译码的方法
CN113330748A (zh) 帧内预测模式信令的方法和装置
CN113330741B (zh) 从帧内子划分译码模式工具限制子分区的尺寸的编码器、解码器、及对应方法
JP7234365B2 (ja) イントラ予測方法及び装置

Legal Events

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