CN117597927A - 使用多方向帧内预测的视频编解码 - Google Patents
使用多方向帧内预测的视频编解码 Download PDFInfo
- Publication number
- CN117597927A CN117597927A CN202280047353.XA CN202280047353A CN117597927A CN 117597927 A CN117597927 A CN 117597927A CN 202280047353 A CN202280047353 A CN 202280047353A CN 117597927 A CN117597927 A CN 117597927A
- Authority
- CN
- China
- Prior art keywords
- video
- mode
- prediction
- determining
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 114
- 238000002156 mixing Methods 0.000 claims abstract description 35
- 238000003860 storage Methods 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 27
- 238000005192 partition Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 21
- 238000000638 solvent extraction Methods 0.000 claims description 20
- 235000007164 Oryza sativa Nutrition 0.000 claims description 3
- 235000009566 rice Nutrition 0.000 claims description 3
- 240000007594 Oryza sativa Species 0.000 claims 1
- 238000013459 approach Methods 0.000 abstract description 11
- 239000013598 vector Substances 0.000 description 52
- 238000012545 processing Methods 0.000 description 41
- 241000023320 Luma <angiosperm> Species 0.000 description 35
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 35
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 18
- 238000013139 quantization Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 230000011218 segmentation Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000009795 derivation Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- KLPWJLBORRMFGK-UHFFFAOYSA-N Molindone Chemical compound O=C1C=2C(CC)=C(C)NC=2CCC1CN1CCOCC1 KLPWJLBORRMFGK-UHFFFAOYSA-N 0.000 description 2
- 241000209094 Oryza Species 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 229940028394 moban Drugs 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了用于利用多方向帧内预测(MDIP)进行视频编解码的方法、装置和非暂时性计算机可读存储介质。在一种方法中,解码器基于编解码单元的大小来确定用于MDIP的混合参数。在另一种方法中,解码器可以确定每个编解码块的大小,并且响应于确定编解码块的大小小于或等于第一预设阈值,解码器可以确定针对编解码块禁用MDIP模式。
Description
相关申请的交叉引用
本申请是基于2021年7月26日提交的临时申请号63/225,943并要求享有其优先权,出于所有目的将其全部内容通过引用的方式合并入本文。
技术领域
本公开内容涉及视频编解码和压缩。更具体地,本公开内容涉及使用多方向帧内预测的视频编解码的改进和简化。
背景技术
数字视频由各种电子设备支持,比如,数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字录制设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流设备等。电子设备在通信网络上发送和接收或以其他方式传送数字视频数据,和/或将数字视频数据存储在存储设备上。由于通信网络的有限带宽容量和存储设备的有限存储资源,在视频数据被传送或存储之前,根据一个或多个视频编解码标准可以使用视频编解码来对视频数据进行压缩。例如,视频编解码标准包括通用视频编解码(VVC)、联合探索测试模型(JEM)、高效视频编解码(HEVC/H.265)、高级视频编解码(AVC/H.264)、运动图像专家组(MPEG)编解码等。视频编解码一般使用预测方法(例如,帧间预测、帧内预测等),该预测方法利用视频数据中的固有冗余。视频编解码旨在将视频数据压缩成一种使用较低比特率的形式,同时避免或最小化地降低视频质量。
发明内容
本公开内容的示例提供了用于使用多方向帧内预测的视频编解码的方法和装置。
根据本公开内容的第一方面,提供了一种用于视频解码的方法。该方法可以包括:由解码器基于编解码单元的大小来确定用于MDIP的混合参数。
根据本公开内容的第二方面,提供了一种用于视频解码的方法。该方法可以包括:由解码器确定每个编解码块的大小;以及,响应于确定编解码块的大小小于或等于第一预设阈值,由解码器确定针对编解码块禁用MDIP模式。
根据本公开内容的第三方面,提供了一种用于视频解码的方法。该方法可以包括:由解码器确定每个编解码块的大小;以及,响应于确定编解码块的大小大于或等于第二预设阈值,由解码器确定针对编解码块禁用MDIP模式。
根据本公开内容的第四方面,提供了一种用于视频解码的方法。该方法可以包括:由解码器根据从分析推导出的帧内预测模式来推断MDIP中采用的帧内模式,其中,所述分析包括纹理分析或编解码模式分析。
应当理解,上面大体描述和下面详细描述仅仅是示例性和解释性的,而不旨在限制本公开内容。
附图说明
合并在本说明书中并构成本说明书一部分的附图示出了与本公开内容一致的示例,并且与说明书一起用于解释本公开内容的原理。
图1是示出根据本公开内容的一些实施方式的用于对视频块进行编码和解码的示例性***的框图。
图2是示出根据本公开内容的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开内容的一些实施方式的示例性视频解码器的框图。
图4A到图4E是示出根据本公开内容的一些实施方式的帧如何被递归地分割成具有不同尺寸和形状的多个视频块的框图。
图5A示出了根据本公开内容的一些实施方式的使用最小—最大方法的α和β的直线推导。
图5B是示出根据本公开内容的一些实施方式的用于α和β的推导的样点的位置的框图。
图6示出了根据本公开内容的一些实施方式的将相邻样点分类为两个群组的示例。
图7示出了根据本公开内容的一些实施方式的允许的GPM分割的示例。
图8示出了根据本公开内容的一些实施方式的对其执行梯度分析的所选像素的示例。
图9示出了根据本公开内容的一些实施方式的卷积过程。
图10是示出根据本公开内容的一些实施方式的推导中使用的示例性相邻块的框图。
图11示出根据本公开内容的一些实施方式的模板匹配预测。
图12A示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图12B示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图13示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图14示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图15示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图16示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图17示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图18是示出根据本公开内容的一些实施方式的与用户界面耦合的计算环境的框图。
图19示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图20示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图21示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
图22示出根据本公开内容的一些实施方式的用于利用MDIP进行视频解码的方法。
具体实施方式
现在将详细参考示例实施例,其示例在附图中示出。以下描述参考附图,其中不同附图中的相同数字表示相同或相似的元件,除非另有表示。在示例实施例的以下描述中阐述的实施方式并不表示与本公开内容一致的所有实施方式。相反,它们仅仅是与所附权利要求中叙述的与本公开内容相关的方面一致的装置和方法的示例。
本公开内容中使用的术语仅用于描述特定实施例的目的,而不旨在限制本公开内容。如在本公开内容和所附权利要求中所使用的,单数形式“a”、“an”和“the”也旨在包括复数形式,除非上下文另有明确指示。还应当理解,本文使用的术语“和/或”旨在表示并包括一个或多个相关列出条目的任何或所有可能组合。
应当理解,尽管术语“第一”、“第二”、“第三”等,可以在本文用于描述各种信息,但是这些信息不应当受这些术语的限制。这些术语仅用于区分一类信息和另一类信息。例如,在不脱离本公开内容的范围的情况下,第一信息可以被称为第二信息;并且类似地,第二信息也可以被称为第一信息。如本文所使用的,依据上下文,术语“如果”可以被理解为“当”或“一旦”或“响应于判断”。
可以使用各种视频编解码技术来压缩视频数据。根据一个或多个视频编解码标准执行视频编解码。例如,目前一些著名的视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(HEVC,也叫做H.265或MPEG-H第2部分)和高级视频编解码(AVC,也叫做H.264或MPEG-4第10部分),它们是由ISO/IEC MPEG和ITU-T VECG联合开发的。AOMedia视频1(AV1)由开放媒体联盟(AOM)开发,作为其先前标准VP9的后续。音视频编解码(AVS)是指数字音视频压缩标准,是由中国数字音视频编解码技术标准工作组制定的另一个视频压缩标准系列。大多数现有的视频编解码标准建立在著名的混合视频编解码框架上,即,使用基于块的预测方法(例如,帧间预测、帧内预测)来减少视频图像或序列中存在的冗余,并使用变换编解码来压缩预测误差的能量。视频编解码技术的一个重要目标是将视频数据压缩成一种使用较低比特率的形式,同时避免或最小化地降低视频质量。
第一代AVS标准包括中国国家标准《信息技术先进音视频编码第2部分:视频(Information Technology,Advanced Audio Video Coding,Part 2:Video)》(叫做AVS1)和《信息技术先进音视频编码第16部分:广播电视视频(Information Technology,Advanced Audio Video Coding Part 16:Radio Television Video)》(叫做AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。AVS1标准视频部分于2006年2月作为中国国家标准颁布。第二代AVS标准包括中国国家标准《信息技术,高效多媒体编码(Information Technology,Efficient Multimedia Coding)》(叫做AVS2)系列,主要针对超高清电视节目的传输。AVS2的编码效率是AVS+的两倍。2016年5月,AVS2作为中国国家标准发布。同时,AVS2标准视频部分由电气和电子工程师协会(IEEE)提交作为用于应用的一个国际标准。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率。2019年3月,在第68届AVS会议上,AVS3-P2基准完成,比HEVC标准节省了约30%的比特率。目前,有一个参考软件,称为高性能模型(HPM),由AVS组维护,以演示AVS3标准的参考实施方式。
图1是示出根据本公开的一些实施方式的用于并行地编码和解码视频块的示例性***10的框图。如图1中所示,***10包括源设备12,源设备12生成并编码稍后将由目的地设备14解码的视频数据。源设备12和目的地设备14可以包括各种电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移动到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够向目的地设备14实时地直接发送已编码视频数据的通信介质。已编码视频数据可以根据通信标准(诸如无线通信协议)被调制,并向目的地设备14发送。通信介质可以包括任何无线或有线的通信介质,诸如射频(RF)频谱或者一个或更多物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网、或者全球网络,诸如因特网)的一部分。通信介质可以包括路由器、交换机、基站、或者可以有助于促进从源设备12到目的地设备14的通信的任何其他装置。
在一些其他实施方式中,已编码视频数据可以从输出接口22发送给存储设备32。随后,存储设备32中的已编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、数字多功能光盘(DVD)、压缩光盘只读存储器(CD-ROM)、闪存、易失性或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于文件服务器或另一中间存储设备,其可以保持由源设备12生成的已编码视频数据。目的地设备14可以经由流传输或下载来访问来自存储设备32的已存储视频数据。文件服务器可以是能够存储已编码视频数据并将已编码视频数据发送给目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、文件传输协议(FTP)服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目的地设备14可以通过适用于访问文件服务器上存储的已编码视频数据的任何标准数据连接来访问已编码视频数据,标准数据连接包括无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字用户线路(DSL)、电缆调制解调器等)、或两者的组合。来自存储设备32的已编码视频数据的传输可以是流传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如视频捕获设备之类的源(例如摄像机)、包含先前捕获视频的视频档案、用于从视频内容提供者接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形***、或此类源的组合。作为一个示例,如果视频源18是安全监视***的摄像机,则源设备12和目的地设备14可以形成相机电话或视频电话。然而,本申请中描述的实施方式可以一般性地适用于视频编解码,并且可以应用于无线应用和/或有线应用。
捕获的视频、预先捕获的视频、或计算机生成的视频可以由视频编码器20编码。已编码视频数据可以经由源设备12的输出接口22直接发送到目的地设备14。已编码视频数据也可以(或替代地)被存储到存储设备32上,以供目的地设备14或其他设备稍后访问,以用于解码和/或回放。输出接口22还可以包括调制解调器和/或发射机。
目的地设备14包括输入接口28、视频解码器30和显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的、或在存储设备32上提供的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30在解码视频数据时使用。这样的语法元素可以被包括在通信介质上发送的、在存储介质上存储的、或在文件服务器上存储的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,显示设备34可以是集成显示设备和被配置为与目的地设备14进行通信的外部显示设备。显示设备34向用户显示已解码视频数据,并且可以包括各种显示设备中的任何显示设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示设备。
视频编码器20和视频解码器30可以根据专属标准或行业标准(诸如VVC、HEVC、MPEG-4第10部分、AVC、或此类标准的扩展)进行操作。应当理解,本申请不限于具体的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常预期源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任何标准来编码视频数据。类似地,通常还预期目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任何标准来解码视频数据。
视频编码器20和视频解码器30均可以被实施为各种合适的编码器和/或解码器电路***中的任何电路***,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。当部分以软件实现时,电子设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或多个处理器在硬件中执行指令,以执行本公开内容中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中的任一者可以被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测,以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测,以减少或去除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。应当注意,在视频编解码领域中,术语“帧”可以用作术语“图像”或“图片”的同义词。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41还包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括反量化单元58、逆变换处理单元60和加法器62,以用于视频块重建。诸如去块滤波器之类的环路滤波器63可以位于加法器62和DPB 64之间,来对块边界进行滤波以便从重建的视频中去除块效应伪像。除了去块滤波器以外,还可以使用另一环路滤波器(诸如,样点自适应偏移(SAO)滤波器和/或自适应环路滤波器(ALF))来对加法器62的输出进行滤波。在一些示例中,可以省略环路滤波器,并且已解码视频块可以由求和器62直接提供给DPB 64。视频编码器20可以采用固定硬件单元或可编程硬件单元的形式,或者可以在已说明的固定硬件单元或可编程硬件单元中的一个或多个之间划分。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从如图1中所示的视频源18获得。DPB 64是一种缓冲器,其存储用于由视频编码器20在编码视频数据(例如,在帧内或帧间预测编码模式中)时使用的参考视频数据(例如,参考帧或图片)。视频数据存储器40和DPB 64可以由各种存储器件中的任何存储器件形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或者相对于那些组件在芯片外。
如图2中所示,在接收视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。该分割还可以包括根据与视频数据相关联的预定义拆分结构(诸如四叉树(QT)结构),将视频帧分割为条带、瓦片(例如,视频块的集合)、或其他更大的编码单元(CU)。视频帧是或可以被视为具有样点值的样点的二维阵列或矩阵。阵列中的样点也可以被称为像素(pixel)或pel。阵列或图片的水平和垂直方向(或轴)上的多个样点定义了视频帧的大小和/或分辨率。可以通过例如使用QT分割将视频帧划分为多个视频块。视频块再次是或可以被视为具有样点值的样点的二维阵列或矩阵,尽管其尺寸小于视频帧。视频块的水平和垂直方向(或轴)上的多个样点定义了视频块的大小。视频块还可以通过例如迭代地使用QT分割、二叉树(BT)分割或三叉树(TT)分割或其任何组合而进一步被分割为一个或多个块分割或子块(其可以再次形成块)。应当注意,本文使用的术语“块”或“视频块”可以是帧或图片的一部分,特别是矩形(正方形或非正方形)部分。例如,参考HEVC和VVC,块或视频块可以是或对应于编解码树单元(CTU)、CU、预测单元(PU)或变换单元(TU)和/或可以是或对应于相应块,例如,编解码树块(CTB)、编解码块(CB)、预测块(PB)或变换块(TB)和/或子块。
预测处理单元41可以基于误差结果(例如,编解码速率和失真水平),来针对当前视频块选择多种可能的预测编码模式之一,比如,多种帧内预测编码模式之一或多种帧间预测编码模式之一。预测处理单元41可以将得到的帧内或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建已编码的块以便后续用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,诸如运动矢量、帧内模式指示符、分割信息、以及其他此类语法信息。
为了针对当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编码的当前块位于同一帧中的一个或多个相邻块,执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块,执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码遍次,例如以针对每个视频数据块选择合适的编码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定型式生成运动矢量来确定针对当前视频帧的帧间预测模式,该运动矢量指示当前视频帧内的视频块相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,运动矢量估计针对视频块而言的运动。运动矢量例如可以指示当前视频帧或图片内的视频块相对于参考帧内的预测块的位移,该预测块是相对于当前帧内被编码的当前块而言的。预定型式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42为了帧间预测而确定运动矢量的方式,来确定用于帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元42来确定块矢量。
针对视频块的预测块是在像素差方面被认为与待编码的视频块紧密匹配的参考帧的块或参考块,像素差可以通过绝对差之和(SAD)、平方差之和(SSD)、或其他差值度量来确定。在一些实施方式中,视频编码器20可以计算DPB 64中存储的参考帧的亚整数像素位置的值。例如,视频编码器20可以内插出参考帧的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算帧间预测编码帧中的视频块的运动矢量:将视频块的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每个参考帧列表标识DPB64中存储的一个或多个参考帧。运动估计单元42将计算的运动矢量发送给运动补偿单元44,并且然后发送给熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来获取或生成预测块。一经接收到针对当前视频块的运动矢量,运动补偿单元44可以在参考帧列表之一中定位运动矢量指向的预测块,从DPB 64取回预测块,并将预测块转发给加法器50。加法器50然后通过以下方式来形成像素差值的残差视频块:从正在被编码的当前视频块的像素值减去由运动补偿单元44所提供的预测块的像素值。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在解码视频帧的视频块时使用。语法元素可以包括例如定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以高度集成,但是出于概念目的而被单独示出。
在一些实施方式中,帧内BC单元48可以按照与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成矢量并获取预测块,但是预测块位于与正在被编码的当前块相同的帧中,并且矢量被称为块矢量而非运动矢量。具体而言,帧内BC单元48可以确定用于编码当前块的帧内预测模式。在一些示例中,帧内BC单元48可以例如在多个单独编码遍次期间使用各种帧内预测模式来编码当前块,并通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种被测试的帧内预测模式中选择适当的帧内预测模式来使用,并相应地生成帧内模式指示符。例如,帧内BC单元48可以针对各种被测试的帧内预测模式使用率失真分析来计算率失真值,并且在被测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的合适的帧内预测模式。率失真分析通常确定已编码块与被编码以产生已编码块的原始未编码块之间的失真(或误差)量、以及用于产生已编码块的比特率(即,比特的数量)。帧内BC单元48可以从针对各种已编码块的失真和速率来计算比率,以确定哪种帧内预测模式针对块展现出最佳率失真值。
在其他示例中,帧内BC单元48可以全部地或部分地使用运动估计单元42和运动补偿单元44,来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,预测块可以是在像素差方面被认为与待编码块紧密匹配的块,像素差可以由SAD、SSD、或其他差值度量来确定,并且对预测块的识别可以包括针对亚整数像素位置的值计算。
无论预测块是根据帧内预测来自同一帧,还是根据帧间预测来自不同帧,视频编码器20都可以通过从正被编码的当前视频块的像素值减去预测块的像素值而形成像素差值,来形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方式,帧内预测处理单元46可以对当前视频块进行帧内预测。具体而言,帧内预测处理单元46可以确定用于编码当前块的帧内预测模式。为此,帧内预测处理单元46可以例如在多个单独的编码遍次期间使用各种帧内预测模式来编码当前块,并且帧内预测处理单元46(或在一些示例中,是模式选择单元)可以从被测试的帧内预测模式中选择要使用的合适的帧内预测模式。帧内预测处理单元46可以向熵编码单元56提供信息,该信息指示针对块所选择的帧内预测模式。熵编码单元56可以将指示所选择的帧内预测模式的信息编码在比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个TU中,并且被提供给变换处理单元52。变换处理单元52使用变换将残差视频数据变换成残差变换系数,变换诸如是离散余弦变换(DCT)或概念上类似的变换。
变换处理单元52可以将得出的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减少与一些或所有系数相关联的比特深度。量化的程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括已量化变换系数的矩阵的扫描。备选地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另外的熵编码方法或技术,来将已量化的变换系数熵编码成视频比特流。已编码比特流然后可以如图1所示被发送给视频解码器30,或如图1所示被存档在存储设备32中以供稍后传输给视频解码器30或由视频解码器30取回。熵编码单元56还可以对用于正在被编码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换来重建像素域中的残差视频块,以生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可以从DPB 64中存储的帧的一个或多个参考块来生成经运动补偿的预测块。运动补偿单元44还可以将一个或多个内插滤波器应用于预测块,以计算用于在运动估计中使用的亚整数像素值。
加法器62将重建的残差块加到由运动补偿单元44所产生的经运动补偿的预测块以产生参考块,用于存储在DPB 64中。参考块然后可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81还包括运动补偿单元82、帧内预测处理单元84和帧内BC单元85。视频解码器30可以执行解码过程,解码过程大体上与上文结合图2关于视频编码器20所描述的编码过程互逆。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量来生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符来生成预测数据。
在一些示例中,视频解码器30的单元可以被分配任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以在视频解码器30的一个或多个单元之间划分。例如,帧内BC单元85可以单独地或者与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他组件(诸如运动补偿单元82)来执行。
视频数据存储器79可以存储要由视频解码器30的其他组件解码的视频数据,诸如已编码视频比特流。视频数据存储器79中存储的视频数据可以例如从存储设备32获得,从本地视频源(诸如相机)获得,经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可以包括编码图片缓冲器(CPB),编码图片缓冲器存储来自已编码视频比特流的已编码视频数据。视频解码器30的DPB 92存储参考视频数据,以供视频解码器30在解码视频数据时使用(例如,在帧内或帧间预测编码模式中)。视频数据存储器79和DPB 92可以由各种存储器件中的任何存储器件形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM,SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)、或其他类型的存储器件。为了说明的目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域技术人员将清楚的是,视频数据存储器79和DPB 92可以由相同的存储器件或分开的存储器件提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组件一起位于芯片上,或者相对于那些组件位于芯片外。
在解码过程期间,视频解码器30接收已编码视频比特流和相关联的语法元素,已编码视频比特流表示已编码视频帧的视频块。视频解码器30可以在视频帧级别和/或视频块级别接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化后的系数、运动矢量或帧内预测模式指示符、以及其他语法元素。熵解码单元80然后将运动矢量或帧内预测模式指示符和其他语法元素转发给预测处理单元81。
当视频帧被编码为帧内预测编码(I)帧或用于其他类型帧中的帧内编码预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号发送的帧内预测模式和来自当前帧的先前解码块的参考数据,来生成针对当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动矢量和其他语法元素,来产生针对当前视频帧的视频块的一个或多个预测块。预测块中的每个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于DPB 92中存储的参考帧,使用默认构建技术来构建参考帧列表:列表0和列表1。
在一些示例中,当视频块根据本文描述的帧内BC模式被编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其他语法元素来产生针对当前视频块的预测块。预测块可以位于与由视频编码器20定义的当前视频块相同的图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素来确定针对当前视频帧的视频块的预测信息,并且然后使用预测信息来产生针对正在被解码的当前视频块的预测块。例如,运动补偿单元82使用所接收的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、针对帧的一个或多个参考帧列表的构建信息、针对帧的每个帧间预测编码视频块的运动矢量、针对帧的每个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素(例如,标志),来确定当前视频块是使用帧内BC模式被预测的、帧的哪些视频块位于重建区域内并且应当被存储在DPB 92中的构建信息、针对帧的每个帧内BC预测的视频块的块矢量、针对帧的每个帧内BC预测的视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以使用如在视频块的编码期间由视频编码器20使用的内插滤波器来执行内插,以计算针对参考块的亚整数像素的内插值。在此情况下,运动补偿单元82可以从所接收的语法元素来确定由视频编码器20所使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20为确定量化程度针对视频帧中的每个视频块所计算的相同量化参数,对比特流中提供的并由熵解码单元80熵解码的量化后变换系数进行反量化。逆变换处理单元88对变换系数应用逆变换,例如逆DCT、逆整数变换、或概念上类似的逆变换过程,以便重建像素域中的残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过对来自逆变换处理单元88的残差块以及由运动补偿单元82和帧内BC单元85生成的对应预测块进行求和,来重建针对当前视频块的已解码视频块。环路滤波器91(诸如去块滤波器、SAO滤波器和/或ALF)可以位于加法器90和DPB 92之间以进一步处理已解码视频块。在一些示例中,可以省略环路滤波器91,并且已解码视频块可以由加法器90直接提供给DPB 92。给定帧中的已解码视频块然后被存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分开的存储器件也可以存储已解码视频,以便稍后在显示设备(诸如图1的显示设备34)上呈现。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每个帧可以包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他情况下,帧可以是单色的并且因此仅包括亮度样点的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地是分割单元45)通过首先将帧分割为一组CTU,来生成该帧的已编码表示。视频帧可以包括按照从左到右和从上到下的光栅扫描顺序连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且CTU的宽度和高度由视频编码器20在序列参数集中用信号发送,使得视频序列中的所有CTU具有相同的尺寸,即128×128、64×64、32×32和16×16之一。但是应当注意,本申请不必限于特定的尺寸。如图4B中所示,每个CTU可以包括亮度样点的一个CTB、色度样点的两个对应的编码树块、以及用于对编码树块的样点进行编码的语法元素。语法元素描述已编码的像素块的不同类型单元的属性以及如何可以在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编码的语法元素。编码树块可以是NxN的样点块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或其组合,并且将CTU划分成更小的CU。如图4C中所描绘的,64x64的CTU 400首先被划分成四个较小的CU,每个较小的CU具有32x32的块尺寸。在四个较小的CU中,CU 410和CU 420均按块尺寸被划分成四个16x16的CU。两个16x16的CU430和CU 440各自进一步按块尺寸被划分成四个8x8的CU。图4D描绘了四叉树数据结构,四叉树数据结构示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32x32到8x8的相应尺寸的一个CU。类似于图4B中所描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样点的CB和色度样点的两个对应的编码块、以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个单独色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。应当注意,图4C和图4D中所描绘的四叉树分割仅用于说明目的,并且一个CTU可以基于四叉/三叉/二叉树分割被拆分成CU以适应不同的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树叶CU可以被二叉和三叉树结构进一步分割。如图4E中所示,具有宽度W和高度H的编码块有五种可能的分割类型,也即,四叉分割、水平二叉分割、垂直二叉分割、水平三叉分割和垂直三叉分割。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分割成一个或多个MxN PB。PB是对其应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的PU可以包括亮度样点的PB、色度样点的两个对应PB、以及用于对PB进行预测的语法元素。在单色图片或具有三个单独色彩平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度PB、Cb PB和Cr PB生成预测的亮度块、Cb块和Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于不同于与PU相关联的帧的一个或多个帧的已解码样点来生成PU的预测块。
在视频编码器20针对CU的一个或多个PU生成预测的亮度块、Cb块和Cr块之后,视频编码器20可以通过将CU的预测亮度块从其原始亮度编码块中减去来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之间的差异。类似地,视频编码器20可以针对CU分别生成Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编码块中的对应样点之间的差异,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之间的差异。
此外,如图4C中所示,视频编码器20可以使用四叉树分割来将CU的亮度残差块、Cb残差块和Cr残差块分解为一个或多个亮度变换块、Cb变换块和Cr变换块。变换块是对其应用相同变换的矩形(正方形或非正方形)样点块。CU的TU可以包括亮度样点的变换块、色度样点的两个对应变换块、以及用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可以包括单个变换块和用于对变换块的样点进行变换的语法结构。
视频编码器20可以将一个或多个变换应用到TU的亮度变换块,以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用到TU的Cb变换块,以生成针对TU的Cb系数块。视频编码器20可以将一个或多个变换应用到TU的Cr变换块,以生成针对TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指一种过程,在该过程中,变换系数被量化以有可能减少用于表示变换系数的数据量,从而提供进一步压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化后的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化后的变换系数的语法元素执行CABAC。最后,视频编码器20可以输出包括比特序列的比特流,该比特序列形成编码帧和相关联数据的表示,比特流被保存在存储设备32中或被传输给目的地设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换,以重建与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样点加到当前CU的TU的变换块的对应样点,来重建当前CU的编解码块。在为帧的每个CU重建编解码块之后,视频解码器30可以重建帧。
如上文指出的,视频编解码主要使用两种模式来实现视频压缩,也即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测)。注意,IBC可以被视为帧内预测或第三模式。在这两种模式之间,因为使用运动矢量从参考视频块预测当前视频块,因此帧间预测比帧内预测对编解码效率贡献更大。
但是随着视频数据捕获技术的不断改进和用于保存视频数据中细节的更精细的视频块大小,表示当前帧的运动矢量所需的数据量也显著增加。克服这一挑战的一种方式是受益于这样的事实:即,不仅空间域和时间域两者中的相邻CU群组具有用于预测目的的相似视频数据,而且这些相邻CU之间的运动矢量也相似。因此,通过探索它们的空间和时间相关性,有可能使用空间相邻的CU和/或时间上共址的CU的运动信息作为当前CU的运动信息(例如,运动矢量)的近似值,这也被称为当前CU的“运动矢量预测值(MVP)”。
不是像上面结合图2描述的那样,将由运动估计单元42确定的当前CU的实际运动矢量编码到视频比特流中,而是从当前CU的实际运动矢量中减去当前CU的运动矢量预测值,以产生针对当前CU的运动矢量差(MVD)。通过这样做,不需要将由运动估计单元42为帧的每个CU而确定的运动矢量编码到视频比特流中,并且用于在视频比特流中表示运动信息的数据量可以明显减少。
像在代码块的帧间预测期间在参考帧中选择预测块的过程一样,视频编码器20和视频解码器30两者都需要采用一组规则,以用于使用与当前CU的空间上相邻CU和/或时间上共址CU相关联的那些潜在候选运动矢量来构建针对当前CU的运动矢量候选列表(也称为“合并列表”),并且然后从运动矢量候选列表中选择一个成员作为针对当前CU的运动矢量预测值。通过这样做,不需要将运动矢量候选列表本身从视频编码器20发送到视频解码器30,并且运动矢量候选列表中所选择的运动矢量预测值的索引足以让视频编码器20和视频解码器30使用运动矢量候选列表中的相同运动矢量预测值来对当前CU进行编码和解码。
交叉分量线性模型预测
为了减少交叉分量冗余,在VVC中使用交叉分量线性模型(CCLM)预测模式,对于该CCLM预测模式,通过使用如下线性模型基于相同CU的重建亮度样点来预测色度样点:
predC(i,j)=α·recL'(i,j)+β
其中predC(i,j)表示CU中的预测色度样点,并且recL′(i,j)表示相同CU的下采样重建亮度样点。从两个样点的亮度值和色度值之间的直线关系推导出线性模型参数α和β,这两个样点是相邻亮度样点集合内的最小亮度样点A(XA,YA)和最大亮度样点B(XB,YB),如图5A中所示。这里XA、YA是样点A的x坐标(即,亮度值)和y坐标(即,色度值)值,并且XB、YB是样点B的x坐标和y坐标值。线性模型参数α和β根据下面的等式获得。
β=yA-αxA
这种方法也称为最小—最大方法。上述等式中的除法可以避免,并且被替换成乘法和移位。
对于具有正方形的编码块,直接应用上述两个等式。对于非正方形编码块,较长边界的相邻样点首先被二次采样,以具有与较短边界相同数量的样点。图5B示出左侧和上方样点的位置以及在CCLM模式中涉及的当前块的样点。
除了其中上方模板和左侧模板用于计算线性模型系数的场景之外,这两个模板还可以在另外两个LM模式(叫做LM_A模式和LM_L模式)中交替使用。
在LM_A模式中,只使用在上方模板中的像素样点来计算线性模型系数。为了获得更多的样点,上方模板被扩展到(W+W)的大小。在LM_L模式中,只使用在左侧模板中的像素样点来计算线性模型系数。为了获得更多的样点,左侧模板被扩展到(H+H)的大小。
注意,当上参考线位于CTU边界时,仅使用一个亮度行(存储在行缓冲器中用于帧内预测)来制作下采样的亮度样点。
对于色度帧内模式编解码,总共允许8种帧内模式用于色度帧内模式编解码。那些模式包括五种传统的帧内模式和三种交叉分量线性模式(CCLM、LM_A和LM_L)。色度帧内预测模式是使用如表1中指定的cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaIntraPredMode推导出的。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在I条带中启用了用于亮度分量和色度分量的单独的块分割结构,所以一个色度块可以对应于多个亮度块。因此,对于色度DM模式,直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。
表1依赖于cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode和lumaIntraPredMode的色度帧内预测模式的说明
多模型线性模型预测
为了减少交叉分量冗余,提出了多模型线性模型(MMLM)预测模式,针对该MMLM预测模式,基于相同CU的重建亮度样点,通过使用如下两种线性模型来预测色度样点:
其中predC(i,j)predC(i,j)表示CU中的预测色度样点,并且recL′(i,j)表示相同CU的下采样重建亮度样点。Threshold被计算为相邻重建亮度样点的平均值。图6示出了基于值Threshold将相邻样点分类为两个群组的示例。对于每个群组,参数αi和βi,其中i分别等于1和2,是从两个样点的亮度值和色度值之间的直线关系推导出的,这两个样点是该群组内的最小亮度样点A(XA,YA)和最大亮度样点B(XB,YB)。这里XA、YA是样点A的x坐标(即,亮度值)和y坐标(即,色度值)值,并且XB、YB是样点B的x坐标和y坐标值。线性模型参数α和β是根据下面的等式而获得的。
β=yA-αxA
这种方法也称为最小—最大方法。上述等式中的除法可以避免,并且替换为乘法和移位。
对于具有正方形的编解码块,直接应用上述两个等式。对于非正方形编解码块,较长边界的相邻样点首先被二次采样,以具有与较短边界相同数量的样点。
除了其中上方模板和左侧模板被一起用于计算线性模型系数的场景以外,这两个模板还可以在另外两个MMLM模式(叫做MMLM_A和MMLM_L模式)中交替使用。
在MMLM_A模式中,只使用上方模板中的像素样点来计算线性模型系数。为了获得更多的样点,上方模板被扩展到(W+W)的大小。在MMLM_L模式中,只使用左侧模板中的像素样点来计算线性模型系数。为了获得更多的样点,左侧模板被扩展到(H+H)的大小。
注意,当上参考线位于CTU边界时,仅使用一个亮度行(存储在行缓冲器中用于帧内预测)来制作下采样的亮度样点。
对于色度帧内模式编解码,总共允许11种帧内模式用于色度帧内模式编解码。这些模式包括五种传统的帧内模式和六种交叉分量线性模式(CCLM、LM_A、LM_L、MMLM、MMLM_A和MMLM_L)。色度模式编解码直接取决于对应亮度块的帧内预测模式。由于在I条带中启用了用于亮度分量和色度分量的单独的块分割结构,所以一个色度块可以对应于多个亮度块。因此,对于色度DM模式,直接继承覆盖当前色度块的中心位置的对应亮度块的帧内预测模式。
几何分割模式(GPM)
在VVC中,支持几何分割模式用于帧间预测。由一个CU级标志用信号发送几何分割模式,作为一种特殊合并模式。在当前GPM设计中,对于宽度和高度不小于8且不大于64的每个可能的CU大小,GPM模式总共支持64个分割,不包括8×64和64×8。
当使用该模式时,如图7中所示,CU被几何定位的直线分割成两部分。分割线的位置是根据特定分割的角度和偏移参数用数学推导出的。在CU中的几何分割的每个部分是使用其自身运动进行帧间预测;每个分区只允许单向预测,即,每个部分有一个运动矢量和一个参考索引。应用单向预测运动约束来确保与传统的双向预测相同,每个CU只需要两个运动补偿预测。如果对当前CU使用几何分割模式,则进一步用信号发送指示几何分割的分割模式(角度和偏移)的几何分割索引和两个合并索引(每个分割一个)。在序列级显式地用信号发送最大GPM候选大小的数量。
沿几何分割边缘进行混合
在使用其自身运动获得每个几何分割之后,对两个单向预测信号应用混合以推导出几何分割边缘周围的样点。基于从每个单独的样点位置到对应的分割边缘的距离,推导出针对CU的每个位置的混合权重。
GPM信令设计
根据当前的GPM设计,通过在CU级用信号发送一个标志来指示GPM的使用。仅当当前CU是通过合并模式或跳过模式进行编解码时,才用信号发送该标志。具体地,当标志等于1时,它指示当前CU是由GPM预测的。否则(标志等于零),CU是通过另一种合并模式(比如,常规合并模式、利用运动矢量差的合并模式、组合的帧间和帧内预测等等)进行编解码的。当针对当前CU启用GPM时,一个语法元素(即,merge_gpm_partition_idx)被进一步用信号发送以指示所应用的几何分割模式(其指定从CU中心的直线的方向和偏移量,该直线如图7中所示将CU分割成两个分区)。之后,用信号发送两个语法元素merge_gpm_idx0和merge_gpm_idx1以指示用于第一GPM分割和第二GPM分割的单向预测合并候选的索引。更具体地,这两个语法元素用于从如“单向预测合并列表构造”一节中所述的单向预测合并列表中确定用于两个GPM分割的单向MV。根据当前的GPM设计,为了使两个单向MV更加不同,两个索引不能相同。基于这种先验知识,第一GPM分割的单向预测合并索引首先被用信号发送,并且被用作预测值,以减少第二GPM分割的单向预测合并索引的信令开销。具体而言,如果第二单向预测合并索引小于第一单向预测合并索引,则直接用信号发送其原始值。否则(第二单向预测合并索引大于第一单向预测合并索引),则其值在被用信号发送到比特流之前被减去1。在解码器侧,第一单向预测合并索引首先是解码器。然后,对于第二单向预测合并索引的解码,如果解析值小于第一单向预测合并索引,则将第二单向预测合并索引设置为等于解析值;否则(解析值等于或大于第一单向预测合并索引),则第二单向预测合并索引被设置为等于解析值加1。表2示出了在当前VVC规范中的用于GPM模式的现有语法元素。
表2 VVC规范的合并数据语法表中现有的GPM语法元素
另一方面,在当前的GPM设计中,截断的一元码被用于两个单向预测合并索引(即,merge_gpm_idx0和merge_gpm_idx1)的二值化。附加地,因为两个单向预测合并索引不能相同,所以使用不同的最大值来截断两个单向预测合并索引的码字,对于merge_gpm_idx0和merge_gpm_idx1,这两个单向预测合并索引分别被设置为等于MaxGPMMergeCand–1和MaxGPMMergeCand-2。MaxGPMMergeCand是在单向预测合并列表中的候选的数量。
当应用GPM/AWP模式时,应用两种不同的二值化方法将语法merge_gpm_partition_idx转换为二进制比特串。具体地,语法元素分别由VVC和AVS3标准中的固定长度代码和截断二进制代码进行二值化。同时,对于AVS3中的AWP模式,不同的最大值被用于二值化。
空间角度加权预测(SAWP)
在AVS中,将GPM模式扩展到帧内块的空间角度加权预测(SAWP)模式。在SAWP模式中,不是对两个帧间预测块进行加权,而是对两个帧内预测块进行加权。使用从帧内预测模式中选择的两种不同的帧内预测模式来预测这两个帧内预测块。帧内预测模式是从角度模式5至30中选择的。最大大小是32×32。常规帧内模式的2个最可能模式(MPM)被用于SAWP模式的MPM推导。
多方向帧内预测设计(MDIP),它遵循了SAWP的相同设计精神,但在某些设计细节上有一些细微的差异。
解码器侧帧内模式推导(DIMD)
在DIMD模式中,不再在编码器处搜索帧内预测模式,而是通过梯度分析使用先前已编码的相邻像素来推导帧内预测模式。使用简单的标志针对帧内编解码块用信号发送DIMD。在解码器处,如果DIMD标志为真,则在重建过程中使用相同的先前已编码相邻像素推导出帧内预测模式。如果不是,则像在经典的帧内编解码模式中一样,从比特流解析出帧内预测模式。
为了推导出块的帧内预测模式,我们必须首先选择我们将对其执行梯度分析的相邻像素集合。出于规范性目的,这些像素应该位于解码/重建的像素池中。如图8中所示,我们选择由左边T个像素和上方T个像素包围当前块的模板。接下来,我们对模板的像素执行梯度分析。这允许确定模板的主要角度方向,我们假设(并且这是我们方法的核心前提)该模板很有可能与当前块之一相同。因此,我们使用简单的3×3Sobel梯度滤波器,其由以下将与该模板进行卷积的矩阵来定义:
和/>
对于模板的每个像素,我们将这两个矩阵中的每一个与以当前像素为中心并由其8个直接邻居组成的3×3窗口逐点相乘,并对结果求和。因此,我们分别在水平和垂直方向上获得对应于当前像素处的梯度的两个值Gx(来自与Mx的乘法)和Gy(来自与My的乘法)。
图9示出了卷积过程。窗口中心的像素910是当前像素。与模板框920相邻和在其内部的内部像素(包括当前像素)是有可能在其上进行梯度分析的像素。刚好在当前块之外的像素是由于缺少一些邻居而不可能对其进行梯度分析的像素。外部像素930是所考虑的模板外部的可用(重建)像素,用于内部像素的梯度分析。在外部像素不可用的情况下(例如,由于块太靠近图片的边界),不执行使用该外部像素的所有内部像素的梯度分析。对于每个内部像素,我们如此使用Gx和Gy来计算梯度的强度(G)和取向(O):
G=|Gx|+|Gy|并且
然后,梯度的取向被转换成角度内预测模式,用于索引直方图(首先被初始化为零)。在该角度内模式下的直方图值增加G。一旦模板中的所有内部像素都已经被处理,则直方图将包含针对每个角度内模式的梯度强度的累积值。选择显示直方图中最高峰值的模式作为用于当前块的帧内预测模式。如果直方图中的最大值为0(意味着无法进行梯度分析,或者组成该模板的区域是平坦的),则选择DC模式作为用于当前块的帧内预测模式。
次级MPM
次级MPM模式是从包括在MPM列表中的模式推导出的,并且如果MPM模式是有角度的并且从相邻块推导出。现有的主要MPM(PMPM)列表由6个条目组成,并且次级MPM(SMPM)列表包括16个条目。首先构造具有22个条目的通用MPM列表,然后将该通用MPM列表中的前6个条目包括到PMPM列表中,并且其余条目形成SMPM列表。在通用MPM列表中的第一个条目是平面模式。其余条目由以下组成:图10所示的左侧(L)、上方(A)、左下方(BL)、右上方(AR)和左上方(AL)相邻块的帧内模式、与相邻块的前两个可用方向模式相加偏移的方向模式、以及默认模式。如果CU块是垂直取向的,则相邻块的顺序是A、L、BL、AR、AL;否则,它是L、A、BL、AR、AL。首先解析PMPM标志,如果等于1,则解析PMPM索引以确定选择了PMPM列表中的哪个条目,否则,解析SMPM标志以确定是解析SMPM索引还是其余模式。与MPM列表构造类似,如果次级MPM列表不完整,则添加默认模式。默认模式列表定义为{2,18,34,50,66;10,26,42,58;6,14,22,30,38,46,54,62;17,19,49,51}。
模板内匹配
模板匹配预测(TMP)是一种特殊的帧内预测模式,它从当前帧的重建部分复制最佳预测块,该重建部分的L形模板与当前模板匹配。这在图11中示出。对于预定义的搜索范围,编码器在当前帧的重建部分中搜索与当前模板最相似的模板,并且使用对应块作为预测块。然后,编码器用信号发送该模式的使用,并且在解码器侧进行相反操作。
虽然SAWP/MDIP模式可以提高帧内预测效率,但是其性能仍有进一步提高的空间。同时,现有的SAWP/MDIP模式的一些部分也需要简化以实现高效的编解码器硬件,或者改进以获得更好的编解码效率。此外,在其实现复杂性与其编解码效率之间的均衡需要进一步改善。
在本公开内容中,提出了几种方法来进一步提高MDIP/SAWP编解码效率或简化现有的MDIP/SAWP设计以促进硬件实施方式。注意,所公开的方法可以独立地或联合地应用。
利用解码器侧帧内模式推导的多方向帧内预测
在本公开内容中,为了进一步提高编解码效率,MDIP中使用的帧内模式不是在比特流中显式用信号发送的,而是推断出来的。如图12A所示,步骤1202,根据从解码器侧帧内模式推导(DIMD)推导出的帧内预测模式进行推断。所提出的方法被命名为利用解码器侧帧内模式推导的多方向帧内预测(MDIP-DIMD)。在如步骤1204所示的所提出的方案中,基于直方图中的最高峰和第二最高峰来选择预测模式,当前块的帧内预测模式以与现有DIMD设计相似的方式组合所选择的预测模式。如果直方图中的对应于最高峰的最大值或对应于第二最高峰的第二最大值为0(意味着不能进行梯度分析,或者组成模板的区域是平坦的),则默认模式(即,DC、平面)被选择作为用于当前块的帧内预测模式。
在图12B所示的示例中,直方图在两个模式M1和M2处具有两个峰值。使用模式M1获得第一预测块Pred1,而使用模式M2获得第二预测块Pred2。解码器可以选择对应于第二最高峰的第一模式M1并且选择对应于最高峰的第二模式M2。解码器获得作为第一预测块Pred1和第二预测块Pred2的加权和的最终预测块,其中W1和W2是两个权重矩阵。
在这种情况下,对于给定的CU,向解码器用信号发送标志以指示该块是否使用MDIP-DIMD模式。如果它是使用MDIP-DIMD模式编解码的,则使用从DIMD推导出的两个帧内预测模式来推断实际使用了哪些帧内模式。附加地,通过现有GPM/AMP设计的一种类似方式(即,分别由VVC和AVS3标准中的固定长度码和截断二进制码进行二值化)用信号发送两个帧内模式的混合方法。
利用次级MPM的多方向帧内预测
在如图13所示的本公开内容的另一方面中,如在步骤1302中,通过在比特流中应用次级MPM来接收在MDIP中使用的帧内模式。所提出的方法被命名为利用次级MPM的多方向帧内预测。在如步骤1304所提出的方案中,通过与现有次级MPM设计相似的方式接收在MDIP中使用的两个帧内预测模式,即,首先解析PMPM标志,如果等于1,则解析PMPM索引以确定选择PMPM列表中的哪个条目,否则,解析SMPM标志以确定是解析SMPM索引还是其余模式。
在这种情况下,对于给定的CU,向解码器用信号发送标志以指示该块是否使用MDIP模式。如果该块是使用MDIP模式进行编解码的,则用次级MPM进一步用信号发送两个帧内预测模式。附加地,通过现有GPM/AMP设计的类似方式(即,分别由VVC和AVS3标准中的固定长度码和截断二进制码进行二值化)用信号发送两个帧内模式的混合方法。
利用帧内模板匹配的多方向帧内预测
在如图14所示的本公开内容的又一个方面中,建议在MDIP中使用帧内模板匹配,如步骤1402中所示。所提出的方法被命名为利用帧内模板匹配的多方向帧内预测(MDIP-TMP)。根据本公开内容的一个或多个实施例,通过与现有的帧内模板匹配设计相似的方式选择帧内模板匹配模式作为用于当前块的帧内预测模式,如步骤1404所示。在一个示例中,对于给定CU,向解码器用信号发送标志以指示该块是否使用MDIP-TMP模式。如果它是使用MDIP-TMP模式进行编解码的,则进一步用信号发送一个帧内预测模式,并且通过帧内模板匹配生成另一帧内模式。附加地,通过现有GPM/AMP设计的一种类似方式(即,分别由VVC和AVS3标准中的固定长度码和截断二进制码进行二值化)用信号发送两个帧内模式的混合方法。
利用CCLM/MMLM模式的多方向帧内预测
在本公开内容的另一方面,建议在MDIP中使用CCLM/MMLM,如图15中的步骤1502所示。所提出的方法被命名为利用交叉分量线性模型预测的多方向帧内预测(MDIP-CCLM)。根据本公开内容的一个或多个实施例,在步骤1504中,通过一种与现有CCLM/MMLM设计相似的方式选择CCLM/MMLM模式,作为用于当前块的帧内预测模式。在一个示例中,对于给定的CU,向解码器用信号发送标志以指示该块是否使用MDIP-CCLM模式。如果它是使用MDIP-CCLM模式进行编解码的,则进一步用信号发送一个帧内预测模式,并且通过CCLM/MMLM生成另一个帧内模式。附加地,通过一种与现有GPM/AMP设计相似的方式(即,分别由VVC和AVS3标准中的固定长度码和截断二进制码进行二值化)用信号发送两个帧内模式的混合方法。
在多方向帧内预测中的固定混合方法
在本公开内容的又一个方面中,建议在MDIP中使用固定混合方法,如图16所示。根据本公开内容的一个或多个实施例,在步骤1602中,选择多种GEO混合方法之一作为用于MDIP的混合方法,并且在步骤1604中,根据当前块的某些编解码信息,例如宽度、高度、邻居帧内模式、来自DIMD的帧内模式、或者与TB/CB和/或条带/简档相关联的量化参数,来确定选择。在一个示例中,根据CU宽度和高度的比率来确定两个帧内模式的混合方法,即,当CU宽度等于CU高度时,则选择GEO混合方法中的三角混合方法。
在多方向帧内预测中的用信号发送的混合方法
在本公开内容的另一方面,建议如图17所示的用信号发送用于MDIP的混合方法。根据本公开内容的一个或多个实施例,在步骤1702中,根据与TB/CB/条带/图片/序列级别相关联的新语法元素来确定混合方法。在步骤1704中,不同的二值化方法可以用于新的语法元素,其中,如下列出了一些示例方法。
1.固定长度二值化
2.截断Rice二值化
3.截断二进制(TB)二值化过程
4.k阶Exp-Golomb二值化过程(EGk)
5.有限k阶Exp-Golomb二值化
在多方向帧内预测中的CU大小相关的用信号发送的混合方法
在本公开内容的又一个方面中,建议基于CU大小来用信号发送用于MDIP的混合参数,如图19的步骤1902所示。根据本公开内容的一个或多个实施例,在步骤1904中,根据与TB/CB/条带/图片/序列级别和CU大小相关联的新语法元素来确定混合参数。可以基于混合参数来确定应用于CU的混合方法。不同的二值化方法可以用于新的语法元素,其中,如下列出了一些示例方法。
1.固定长度二值化
2.截断Rice二值化
3.截断二进制(TB)二值化过程
4.k阶Exp-Golomb二值化过程(EGk)
5.有限k阶Exp-Golomb二值化
根据表3中规定的merge_gpm_partition_idx[xCb][yCb]的值来设置几何分割模式的分割角度变量angleIdx和距离变量distanceIdx。
表3基于merge_gpm_partition_idx的angleIdx和distanceIdx的说明
merge_gpm_partition_idx | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
angleIdx | 0 | 0 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 5 |
distanceIdx | 1 | 3 | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 | 0 | 1 |
merge_gpm_partition_idx | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
angleIdx | 5 | 5 | 8 | 8 | 11 | 11 | 11 | 11 | 12 | 12 | 12 | 12 | 13 | 13 | 13 | 13 |
distanceIdx | 2 | 3 | 1 | 3 | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 |
merge_gpm_partition_idx | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
angleIdx | 14 | 14 | 14 | 14 | 16 | 16 | 18 | 18 | 18 | 19 | 19 | 19 | 20 | 20 | 20 | 21 |
distanceIdx | 0 | 1 | 2 | 3 | 1 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 |
merge_gpm_partition_idx | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
angleIdx | 21 | 21 | 24 | 24 | 27 | 27 | 27 | 28 | 28 | 28 | 29 | 29 | 29 | 30 | 30 | 30 |
distanceIdx | 2 | 3 | 1 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 |
64个支持的GPM分割模式由语法元素merge_gpm_partition_idx索引,该语法元素使用VVC熵编码引擎被编码到比特流中。GPM分割模式按角度索引和距离索引分组。
不同的混合参数集可以用于不同的CU大小,并且不同的混合参数集可以对应于不同的混合方法,并且下面列出了一些示例方法。
1.所有位置中的固定权重,例如{1/2,1/2},{1/3,2/3}
2.所有GPM分割
3.GPM分割的子集,例如,{18,22,23,24,25,26,27,36}、{0,8,10,12,13,14,15,16,17,18,19,22,23,27,28,29,30,34,43,44,45,46,47,48,49,50,51,55,56,57,59,60}、{0,8,9,10,12,14,15,16,17,18,19,20,21,22,23,26,27,28,29,30,44,45,46,47,48,49,50,51,55,56,57,58}、{0,1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,31,37,44,45,47,48,49,51,55,56,57,59}
4.GPM分割的零偏移
在一个示例中,根据用信号发送的索引和CU宽度和高度来确定用于两个帧内模式的混合方法,即,当CU宽度和CU高度等于64时,则选择GEO混合方法中的{18,22,23,24,25,26,27,36}中的一个,当CU宽度等于32并且CU高度等于32时,则选择GEO混合方法中的{0,1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,31,37,44,45,47,48,49,51,55,56,57,59}中的一个,当CU宽度等于32并且CU高度等于16时,则选择GEO混合方法中的{0,8,9,10,12,14,15,16,17,18,19,20,21,22,23,26,27,28,29,30,44,45,46,47,48,49,50,51,55,56,57,58}中的一个,当CU宽度等于32并且CU高度等于8时,则选择GEO混合方法中的{0,8,10,12,13,14,15,16,17,18,19,22,23,27,28,29,30,34,43,44,45,46,47,48,49,50,51,55,56,57,59,60}中的一个。
不包括小块的MDIP模式
在本公开内容的另一方面中,为了降低复杂性,建议对小的块大小禁用MDIP模式,如图20所示。在一个示例中,建议对大小小于或等于某个阈值(例如,16个样点)的所有块禁用MDIP模式。在二元树情形中,应当单独考虑色度分量,用于小于或等于16像素的色度CU的MDIP模式对二元树情形禁用。下表给出了其中在VVC草案上用信号发送的建议语法的一个示例。
编解码层视频序列(CLVS):具有相同nuh_layer_id值的PU序列,其按解码顺序由CLVSS PU组成,后面跟着零个或多个并非CLVSS PU的PU,包括多达但不包括是CLVSS PU的任何后续PU。
sps_mdip_enabled_flag等于1规定针对CLVS启用MDIP模式。sps_mdip_enabled_flag等于0规定针对CLVS禁用MDIP模式。当sps_mdip_enabled_flag不存在时,它被推断为等于0。
pred_mode_mdip_flag规定在当前编解码单元中使用MDIP模式。pred_mode_mdip_flag等于1指示MDIP模式应用于当前编解码单元。pred_mode_mdip_flag等于0指示MDIP模式未应用于当前编解码单元。当pred_mode_mdip_flag不存在时,它被推断为等于0。
在本公开内容的另一实施例中,对于局部二元树情况,建议对小尺寸块禁用MDIP模式。在局部二元树情况的一个示例中,对于小于或等于32像素的CU的MDIP模式被禁用。
不包括大块的MDIP模式
在本公开内容的另一方面中,为了降低复杂性,建议针对大的块大小禁用MDIP模式,如图21所示。在一个示例中,建议对大小大于或等于某个阈值(例如,宽度>=64和高度>=64)的所有块禁用MDIP模式。下表给出了在VVC草案上用信号发送的建议语法的一个示例。
用于多方向帧内预测的隐式帧内模式
在本公开内容的另一方面中,为了进一步提高编解码效率,MDIP中使用的帧内模式不是在比特流中显式用信号发送的,而是推断出来的,如图22所示。它是根据通过一些分析(比如,纹理分析(边缘、前景或背景)或编解码模式分析(来自最近邻居模式))推导出的帧内预测模式来推断的。如果分析不可靠(意味着无法进行梯度分析,或者组成模板的区域是平坦的)或者最近邻居模式不是帧内模式,则选择默认模式(即,DC、平面)作为用于当前块的帧内预测模式。
上述方法可以使用包括一个或多个电路的装置来实施,所述一个或多个电路包括专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子组件。该装置可以与其他硬件或软件组件组合使用电路来执行上述方法。上面公开的每个模块、子模块、单元或子单元可以至少部分地使用一个或多个电路来实施。
图18示出了与用户界面1650耦合的计算环境1610。计算环境1610可以是数据处理服务器的一部分。计算环境1610包括处理器1620、存储器1630、以及输入/输出(I/O)接口1640。
处理器1620通常控制计算环境1610的整体操作,比如,与显示、数据采集、数据通信和图像处理相关联的操作。处理器1620可以包括一个或多个处理器来执行指令,以执行上述方法中的所有或一些步骤。此外,处理器1620可以包括促进在处理器1620与其他组件之间的交互的一个或多个模块。处理器可以是中央处理器(CPU)、微处理器、单片机、图形处理单元(GPU)等。
存储器1630被配置为存储各种类型的数据以支持计算环境1610的操作。存储器1630可以包括预定软件1632。这种数据的示例包括在计算环境1610上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器1630可以通过使用任何类型的易失性或非易失性的存储器件或其组合来实现,比如,静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存、磁盘或光盘。
I/O接口1640提供处理器1620与***接口模块之间的接口,比如,键盘、点击轮、按钮等。这些按钮可以包括但不限于主屏按钮、开始扫描按钮和停止扫描按钮。I/O接口1640可以与编码器和解码器相耦合。
在一个实施例中,还提供了一种非暂时性计算机可读存储介质,包括多个程序,例如,在存储器1630中,可由计算环境1610中的处理器1620执行,用于执行上述方法。替代地,非暂时性计算机可读存储介质可以在其中存储包括由编码器(例如,图2中的视频编码器20)生成的已编码视频信息(例如,包括一个或多个语法元素的视频信息)的比特流或数据流,该编码器使用例如上述用于由解码器(例如,图3中的视频解码器30)在对视频数据进行解码时使用的编码方法。非暂时性计算机可读存储介质可以是例如ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储器件等。
在一个实施例中,还提供了一种计算设备,其包括一个或多个处理器(例如,处理器1620);以及非暂时性计算机可读存储介质或存储器1630,其中存储有可由所述一个或多个处理器执行的多个程序,其中,所述一个或多个处理器在执行所述多个程序时被配置为执行上述方法。
在一个实施例中,还提供了一种计算机程序产品,其包括多个程序,例如,在存储器1630中,可由计算环境1610中的处理器1620执行,以用于执行上述方法。例如,该计算机程序产品可以包括非暂时性计算机可读存储介质。
在一个实施例中,计算环境1610可以用一个或多个ASIC、DSP、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、FPGA、GPU、控制器、微控制器、微处理器或其他电子组件来实施,以用于执行上述方法。
本公开内容的描述是为了说明的目的而呈现的,并且不旨在穷举或限于本公开内容。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将清楚许多修改、变化和替代的实施方式。
除非另有具体说明,否则根据本公开内容的方法的步骤顺序仅用于说明,并且根据本公开内容的方法的步骤不限于上面具体描述的顺序,而是可以根据实际情况而改变。此外,根据本公开内容的方法的至少一个步骤可以根据实际需要进行调整、组合或删除。
选择和描述的示例是为了解释本公开内容的原理,并且使本领域其他技术人员能够理解本公开内容的各种实施方式,并最好地利用基本原理和具有适用于预期的特定用途的各种修改的各种实施方式。因此,将理解,本公开内容的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在本公开内容的范围内。
Claims (19)
1.一种用于利用多方向帧内预测(MDIP)进行视频解码的方法,包括:
由解码器基于编码单元(CU)的大小确定用于所述MDIP的混合参数。
2.根据权利要求1所述的视频解码的方法,还包括:
由所述解码器根据所述CU的大小和与变换块(TB)、编码块(CB)、条带或序列的级别相关联的语法元素来确定用于所述MDIP的混合参数。
3.根据权利要求2所述的用于视频解码的方法,还包括:
将二进制方法应用于所述语法元素,其中,所述二进制方法包括以下二值化中的一者:固定长度二值化、截断rice二值化、截断二进制二值化过程、k阶Exp-Golomb二值化过程(EGk)或有限k阶Exp-Golomb二值化。
4.根据权利要求1所述的用于视频解码的方法,其中,对于不同大小的CU采用不同混合参数集,并且所述不同混合参数集对应于不同混合方法,所述不同混合方法包括所有位置的固定权重、所有几何分割模式(GPM)分割、所有GPM分割的子集、以及所有GPM分割的零偏移。
5.根据权利要求1所述的用于视频解码的方法,还包括:
由所述解码器根据用信号发送的索引和所述CU的宽度和高度来确定两个帧内模式的所述混合参数。
6.根据权利要求5所述的用于视频解码的方法,还包括:
响应于确定所述CU的宽度和高度两者都等于64像素,从所有GPM分割的第一子集中选择所述混合参数;
响应于确定所述CU的宽度和高度两者都等于32像素,从所有GPM分割的第二子集中选择所述混合参数;
响应于确定所述CU的宽度等于32像素并且所述CU的高度等于16像素,从所有GPM分割的第三子集中选择所述混合参数;以及
响应于确定所述CU的宽度等于32像素并且所述CU的高度等于8像素,从所有GPM分割的第四子集中选择所述混合参数。
7.一种用于利用多方向帧内预测(MDIP)进行视频解码的方法,包括:
由解码器确定每个编码块的大小;以及
响应于确定所述编码块的大小小于或等于第一预设阈值,由所述解码器确定针对所述编码块禁用所述MDIP模式。
8.根据权利要求7所述的用于视频解码的方法,还包括:
响应于确定所述编码块的大小小于或等于16像素,由所述解码器确定针对所述编码块禁用所述MDIP模式。
9.根据权利要求7所述的用于视频解码的方法,还包括:
响应于确定在二元树情形中的色度编码块的大小小于或等于16像素,由所述解码器确定针对在所述二元树情形中的所述色度编码块禁用所述MDIP模式。
10.根据权利要求7所述的用于视频解码的方法,还包括:
响应于确定第一标志的值等于1,确定针对编码层视频序列(CLVS)启用所述MDIP模式;
响应于确定所述第一标志的值等于0,确定针对所述CLVS禁用所述MDIP模式;以及
响应于确定所述第一标志不存在,确定针对所述CLVS禁用所述MDIP模式。
11.根据权利要求7所述的用于视频解码的方法,还包括:
响应于确定第二标志的值等于1,确定在当前编码单元(CU)中应用所述MDIP模式;
响应于确定所述第二标志的值等于0,确定在所述当前CU中未应用所述MDIP;以及
响应于确定所述第二标志不存在,确定针对所述当前CU禁用所述MDIP模式。
12.根据权利要求7所述的用于视频解码的方法,还包括:
响应于确定在局部二元树情形中的编码单元(CU)的大小小于或等于32像素,由所述解码器确定针对在所述局部二元树情形中的所述CU禁用所述MDIP模式。
13.一种用于利用多方向帧内预测(MDIP)进行视频解码的方法,包括:
由解码器确定每个编码块的大小;以及
响应于确定所述编码块的所述大小大于或等于第二预设阈值,由所述解码器确定针对所述编码块禁用所述MDIP模式。
14.根据权利要求13所述的用于视频解码的方法,还包括:
响应于确定所述编码块的宽度和高度大于64像素,由所述解码器确定针对所述编码块禁用所述MDIP模式。
15.一种用于利用多方向帧内预测(MDIP)进行视频解码的方法,包括:
由解码器根据从分析推导出的帧内预测模式来推断所述MDIP中采用的帧内模式,其中,所述分析包括纹理分析或编码模式分析。
16.根据权利要求15所述的用于视频解码的方法,还包括:
响应于确定在所述分析中没有进行梯度分析或包括模板的区域是平坦的,选择默认模式作为用于当前编码块的帧内预测模式。
17.根据权利要求15所述的用于视频解码的方法,还包括:
响应于确定最近邻模式不是帧内模式,选择默认模式作为用于当前编码块的帧内预测模式。
18.一种用于视频解码的装置,包括:
一个或多个处理器;以及
存储器,所述存储器被配置为存储可由所述一个或多个处理器执行的指令;其中,所述一个或多个处理器在执行所述指令时被配置为执行根据权利要求1-17中任一项所述的方法。
19.一种用于视频解码的非暂时性计算机可读存储介质,其存储计算机可执行指令,所述计算机可执行指令在由一个或多个计算机处理器执行时,使得所述一个或多个计算机处理器执行根据权利要求1-17中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163225943P | 2021-07-26 | 2021-07-26 | |
US63/225,943 | 2021-07-26 | ||
PCT/US2022/038231 WO2023009459A1 (en) | 2021-07-26 | 2022-07-25 | Video coding using multi-direction intra prediction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117597927A true CN117597927A (zh) | 2024-02-23 |
Family
ID=85087901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280047353.XA Pending CN117597927A (zh) | 2021-07-26 | 2022-07-25 | 使用多方向帧内预测的视频编解码 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240163454A1 (zh) |
EP (1) | EP4378164A1 (zh) |
CN (1) | CN117597927A (zh) |
WO (1) | WO2023009459A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230396762A1 (en) * | 2022-06-02 | 2023-12-07 | Tencent America LLC | Systems and methods for partition-based predictions |
CN116723330B (zh) * | 2023-03-28 | 2024-02-23 | 成都师范学院 | 一种自适应球域失真传播链长度的全景视频编码方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102086145B1 (ko) * | 2010-12-13 | 2020-03-09 | 한국전자통신연구원 | 인트라 예측 방법 및 그 장치 |
ES2711473R1 (es) * | 2016-09-20 | 2021-04-07 | Kt Corp | Metodo y aparato para procesar una senal de video |
WO2019194500A1 (ko) * | 2018-04-01 | 2019-10-10 | 엘지전자 주식회사 | 인트라 예측에 기반한 영상 코딩 방법 및 그 장치 |
CN118200533A (zh) * | 2018-05-10 | 2024-06-14 | 三星电子株式会社 | 视频解码方法、视频编码设备以及存储比特流的方法 |
WO2021030019A1 (en) * | 2019-08-15 | 2021-02-18 | Alibaba Group Holding Limited | Block partitioning methods for video coding |
-
2022
- 2022-07-25 EP EP22850152.4A patent/EP4378164A1/en active Pending
- 2022-07-25 CN CN202280047353.XA patent/CN117597927A/zh active Pending
- 2022-07-25 WO PCT/US2022/038231 patent/WO2023009459A1/en active Application Filing
-
2024
- 2024-01-19 US US18/418,207 patent/US20240163454A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023009459A1 (en) | 2023-02-02 |
EP4378164A1 (en) | 2024-06-05 |
US20240163454A1 (en) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114223201B (zh) | 在跨分量相关中的色度编解码增强 | |
CN114615506B (zh) | 视频解码方法、计算设备、存储介质 | |
CN114710679A (zh) | 视频编解码中的小色度块大小限制 | |
US20240163454A1 (en) | Video coding using multi-direction intra prediction | |
US20240195957A1 (en) | Methods and devices for decoder-side intra mode derivation | |
US20240187624A1 (en) | Methods and devices for decoder-side intra mode derivation | |
US10764577B2 (en) | Non-MPM mode coding for intra prediction in video coding | |
CN115004706A (zh) | 关于变换和系数信令的方法和装置 | |
US20240214561A1 (en) | Methods and devices for decoder-side intra mode derivation | |
US20240214580A1 (en) | Intra prediction modes signaling | |
US20240244192A1 (en) | Methods and devices for decoder-side intra mode derivation | |
CN116636218A (zh) | 利用多方向帧内预测的视频编解码 | |
WO2023081322A1 (en) | Intra prediction modes signaling | |
CN118160303A (zh) | 用于解码器侧帧内模式推导的方法和设备 | |
WO2023154359A1 (en) | Methods and devices for multi-hypothesis-based prediction | |
WO2023034152A1 (en) | Methods and devices for decoder-side intra mode derivation | |
WO2023114155A1 (en) | Methods and devices for decoder-side intra mode derivation | |
CN118402232A (zh) | 用于解码器侧帧内模式推导的方法和设备 | |
WO2023129744A1 (en) | Methods and devices for decoder-side intra mode derivation | |
WO2023141238A1 (en) | Methods and devices for decoder-side intra mode derivation | |
WO2023164245A1 (en) | Methods and devices for decoder-side intra mode derivation | |
WO2023158765A1 (en) | Methods and devices for geometric partitioning mode split modes reordering with pre-defined modes order | |
CN117730535A (zh) | 视频编解码中用于仿射运动补偿预测的几何分割 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |