CN111869217A - 简化的局部照度补偿 - Google Patents
简化的局部照度补偿 Download PDFInfo
- Publication number
- CN111869217A CN111869217A CN201980013938.8A CN201980013938A CN111869217A CN 111869217 A CN111869217 A CN 111869217A CN 201980013938 A CN201980013938 A CN 201980013938A CN 111869217 A CN111869217 A CN 111869217A
- Authority
- CN
- China
- Prior art keywords
- samples
- current block
- video
- block
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000005286 illumination Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 116
- 238000012545 processing Methods 0.000 claims abstract description 91
- 238000003860 storage Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 14
- 239000013598 vector Substances 0.000 description 86
- 239000000523 sample Substances 0.000 description 51
- 238000010586 diagram Methods 0.000 description 40
- 241000023320 Luma <angiosperm> Species 0.000 description 37
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 37
- 238000013139 quantization Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 28
- 238000005192 partition Methods 0.000 description 27
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 21
- 238000009795 derivation Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 16
- 230000002123 temporal effect Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 13
- 238000000638 solvent extraction Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000002146 bilateral effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013138 pruning Methods 0.000 description 4
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000985610 Forpus Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 229920003195 poly(n-butyl isocyanate) Polymers 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/105—Selection 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
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/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/186—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 a colour or a chrominance component
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种处理视频数据的方法包括由处理电路确定用于对当前块进行预测的多个相邻样本。多个相邻样本被布置在当前图片的区域外部,该区域包括当前块、与当前块的顶行邻接的一行样本、以及与当前块的左列邻接的一列样本。该方法还包括:由处理电路使用多个相邻样本来推导用于当前块的局部照度补偿信息;以及由处理电路使用局部照度补偿信息来生成预测块。
Description
本申请要求享受于2019年2月6日提交的美国专利申请16/268,939的优先权,并且要求享受于2018年2月20日提交的美国临时专利申请62/632,969的权益,据此将这两个申请的全部内容通过引用的方式并入本文中。
技术领域
本公开内容涉及视频编码和解码。
背景技术
数字视频能力可以被合并到各种各样的设备中,包括数字电视机、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型计算机或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能电话”)、视频电话会议设备、视频流设备等。数字视频设备实现视频压缩技术(诸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4(第10部分,高级视频编码(AVC))、ITU-T H.265、高效率视频编码(HEVC)标准、以及此类标准的扩展所定义的标准中描述的那些技术)。通过实现这样的视频压缩技术,视频设备可以更加高效地发送、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(帧内图片)预测和/或时间(帧间图片)预测以减少或去除在视频序列中固有的冗余。对于基于块的视频编码,视频切片(即,视频帧或视频帧的一部分)可以被分割为视频块,视频块也可以被称为树块、编码单元(CU)和/或编码节点。图片的经帧内编码(I)的切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码的。图片的经帧间编码(P或B)的切片中的视频块可以使用相对于同一图片中的相邻块中的参考样本的空间预测或者相对于其它参考图片中的参考样本的时间预测。空间或时间预测产生用于要被编码的块的预测块。残差数据表示在要被编码的原始块和预测块之间的像素差。根据指向形成预测块的参考样本的块的运动矢量、以及指示经编码的块和预测块之间的差的残差数据来编码经帧间编码的块。根据帧内编码模式和残差数据来编码经帧内编码的块。为了进一步压缩,可以将残差数据从像素域变换为变换域,从而产生残差变换系数,残差变换系数然后可以被量化。
发明内容
概括而言,本公开内容描述了与对基于块的视频编码中的局部照度补偿的改进有关的技术。例如,视频编码装置(coder)(例如,视频编码器(encoder)或视频解码器(decoder))可以被配置为确定将立即可用于推导用于当前块的局部照度补偿信息的相邻样本。以此方式,与等待紧邻当前块的样本可用的系统相比,该视频编码装置可以更加快速地推导局部照度补偿信息。本文描述的用于局部照度补偿的一种或多种技术可以应用于任何现有的视频编解码器(例如,HEVC(高效视频编码)或H.266/多功能视频编码(VVC)标准),或者可以用于任何将来的视频编码标准。
在一个示例中,一种处理视频数据的方法包括:由处理电路确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;由所述处理电路使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及由所述处理电路使用所述局部照度补偿信息来生成预测块。
在另一示例中,一种用于处理视频数据的装置包括:一个或多个存储介质;以及一个或多个处理器,其被配置为:确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及使用所述局部照度补偿信息来生成预测块。
在另一示例中,一种用于处理视频数据的设备包括:用于确定用于对当前块进行预测的多个相邻样本的模块,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;用于使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息的模块;以及用于使用所述局部照度补偿信息来生成预测块的模块。
在另一示例中,一种计算机可读存储介质被编码有指令,所述指令在被执行时使得可编程处理器进行以下操作:确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及使用所述局部照度补偿信息来生成预测块。
在附图和以下描述中阐述了本公开内容的一个或多个方面的细节。根据说明书、附图和权利要求,在本公开内容中描述的技术的其它特征、目的和优点将是显而易见的。
附图说明
图1是示出可以利用在本公开内容中描述的一种或多种技术的示例视频编码和解码系统的框图。
图2A是示出用于合并模式的示例空间相邻运动矢量(MV)候选的概念图。
图2B是示出用于高级运动矢量预测(AMVP)模式的示例空间相邻MV候选的概念图。
图3A是示出示例时间运动矢量预测因子(predictor)(TMVP)候选的概念图。
图3B是示出示例运动矢量缩放的概念图。
图4A和图4B是示出示例四叉树二叉树(QTBT)结构以及对应的编码树单元(CTU)的概念图。
图5A是示出当前编码单元(CU)的用于估计照度补偿(IC)模型中的参数的示例相邻像素的概念图。
图5B是示出参考块的用于估计照度补偿(IC)模型中的参数的示例相邻像素的概念图。
图6A是示出当前CU的用于推导IC参数的示例相邻样本的概念图。
图6B是示出参考块的用于推导IC参数的示例相邻样本的概念图。
图7是示出H.263中的示例重叠块运动补偿(OBMC)的概念图。
图8A是示出示例预测单元(PU)OBMC中的第一部分的概念图。
图8B是示出示例PU OBMC中的第二部分的概念图。
图9A是示出OBMC所适用的示例子块的概念图。
图9B是示出在ATMVP模式下的子PU的概念图。
图10是示出帧率上转换(FRUC)中的示例单边运动估计(ME)的概念图。
图11是示出FRUC中的示例双边ME的概念图。
图12是示出示例的基于模板匹配的解码器侧运动矢量推导(DMVD)的概念图。
图13是示出DMVD中的示例的基于镜像的双向MV推导的概念图。
图14是示出具有pu_dmvd_flag的示例PU解码的流程图。
图15A是示出被连接的用于局部照度补偿(LIC)的非邻接的相邻样本的示例的概念图。
图15B是示出用于不连接的用于LIC的非邻接的相邻样本的示例的概念图。
图16是示出在当前最大编码单元(LCU)外部但是与其邻接的示例相邻样本的概念图。
图17是示出定位具有当前块的MV的参考相邻的示例的概念图。
图18是示出基于块位置的LIC启用/禁用的示例的概念图。
图19是示出可以实现在本公开内容中描述的一种或多种技术的示例视频编码器的框图。
图20是示出可以实现在本公开内容中描述的一种或多种技术的示例视频解码器的框图。
图21是示出用于使用被确定为可用于利用多个线性模型来推导局部照度补偿信息的相邻样本来对视频数据进行解码的技术的流程图。
图22是示出用于使用被确定为可用于利用多个线性模型来推导局部照度补偿信息的相邻样本来对视频数据进行编码的技术的流程图。
具体实施方式
概括而言,本公开内容描述了与对在基于块的视频编码中的局部照度补偿(LIC)的改进有关的技术。这样的技术可以应用于当前或将来的视频编码标准,包括目前正在开发的多功能视频编码(VVC)标准。
当应用LIC技术时,视频编码装置(例如,视频编码器、视频解码器等)可以访问与当前块邻接的相邻重构样本。在一些硬件架构中,这些样本可能尚未被重构(例如,在当前块正在进行运动补偿时),并且因此可能是不可用的。在这种情况下,当前块的运动补偿过程可能被延迟,直到视频编码装置重构相邻样本为止,从而导致时间线上的不期望的延迟。
根据本文描述的技术,视频编码装置可以被配置为确定被布置在区域外部的用于预测当前块的相邻样本。该区域可以包括当前块、与当前块的顶行邻接的一行样本、以及与当前块的左列邻接的一列样本。以此方式,视频编码装置可以有助于确保相邻样本将是可用的(例如,未被遮挡、延迟等),使得视频编码装置可以立即执行当前块的运动补偿过程。以此方式,视频编码装置可以提高视频编码装置的处理速度和/或减少视频编码装置的功耗。
可以参考视频编码装置或者参考视频编码(其旨在是可以指代视频编码器和视频编码或视频解码器的通用术语)来描述本公开内容中的各种技术。除非另有明确说明,否则不应当假定关于视频编码器或视频解码器描述的技术无法由视频编码器或视频解码器中的另一者执行。例如,在许多情况下,视频解码器执行与视频编码器相同的编码技术,或者有时相反的编码技术,以便对经编码的视频数据进行解码。在许多情况下,视频编码器还包括视频解码循环,并且因此,视频编码器执行视频解码,作为对视频数据进行编码的一部分。因此,除非另有说明,否则在本公开内容中关于视频解码器描述的技术也可以由视频编码器执行,反之亦然。
本公开内容还可以使用诸如当前层、当前块、当前图片、当前切片等的术语。在本公开内容的上下文中,术语当前旨在标识与例如先前或已经被编码的块、图片和切片或者尚待编码的块、图片和切片相对的、当前正在被编码的块、图片、切片等。
图1是示出可以利用本公开内容的LIC技术的示例视频编码和解码系统10的框图。如图1所示,系统10包括源设备12,源设备12提供经编码的视频数据以在稍后的时间处由目的地设备14解码。具体地,源设备12经由计算机可读介质16来将视频数据提供给目的地设备14。源设备12和目的地设备14可以包括各种各样设备中的任何一种,这些设备包括台式计算机、笔记本计算机(即膝上型计算机)、平板计算机、机顶盒、电话手机(例如,所谓的“智能”电话)、平板计算机、电视机、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些情况下,源设备12和目的地设备14可以被配备用于无线通信。因此,源设备12和目的地设备14可以是无线通信设备。源设备12是示例视频编码设备(即,用于对视频数据进行编码的设备)。目的地设备14是示例视频解码设备(即,用于对视频数据进行解码的设备)。
在图1的示例中,源设备12包括视频源18、被配置为存储视频数据的存储介质19、视频编码器20、以及输出接口24。目的地设备14包括输入接口26、被配置为存储经编码的视频数据的存储介质28、视频解码器30、以及显示设备32。在其它示例中,源设备12和目的地设备14包括其它组件或布置。例如,源设备12可以从诸如外部相机之类的外部视频源接收视频数据。同样,目的地设备14可以与外部显示设备对接,而不是包括集成显示设备。
图1的所示的系统10仅是一个示例。用于处理视频数据的技术可以由任何数字视频编码和/或解码设备来执行。尽管一般来说,本公开内容的技术是由视频编码设备来执行的,但是所述技术还可以由通常被称为“CODEC”的视频编码器/解码器来执行。源设备12和目的地设备14仅是这样的编码设备的示例,其中,源设备12生成经编码的视频数据以用于传输给目的地设备14。在一些示例中,源设备12和目的地设备14可以以基本上对称的方式进行操作,使得源设备12和目的地设备14中的每一者均包括视频编码和解码组件。因此,系统10可以支持在源设备12和目的地设备14之间的单向或双向视频传输,例如,以用于视频流式传输、视频回放、视频广播或视频电话。
源设备12的视频源18可以包括视频捕获设备,例如,相机、包含先前捕获的视频的视频存档单元、和/或从视频内容提供者接收视频数据的视频馈送接口。作为另外的替代方式,视频源18可以生成基于计算机图形的数据作为源视频,或者生成实时视频、被存档的视频和计算机生成的视频的组合。源设备12可以包括被配置为存储视频数据的一个或多个数据存储介质(例如,存储介质19)。一般而言,在本公开内容中描述的技术可以适用于视频编码,并且可以应用于无线和/或有线应用。在每种情况下,被捕获的、预捕获的或计算机生成的视频可以由视频编码器20来编码。输出接口24可以将经编码的视频信息输出到计算机可读介质16。
目的地设备14可以经由计算机可读介质16接收要被解码的经编码的视频数据。计算机可读介质16可以包括能够将经编码的视频数据从源设备12移动到目的地设备14的任何类型的介质或设备。在一些示例中,计算机可读介质16包括通信介质,其使得源设备12能够实时地向目的地设备14直接发送经编码的视频数据。可以根据诸如无线通信协议之类的通信标准来对经编码的视频数据进行调制,并且将其发送给目的地设备14。通信介质可以包括任何无线或有线通信介质,例如,射频(RF)频谱或一条或多条物理传输线。通信介质可以形成诸如以下各项的基于分组的网络的一部分:局域网、广域网、或诸如互联网之类的全球网络。通信介质可以包括路由器、交换机、基站、或对于促进从源设备12到目的地设备14的通信而言可以有用的任何其它设备。目的地设备14可以包括一个或多个数据存储介质,其被配置为存储经编码的视频数据和经解码的视频数据。
在一些示例中,可以将经编码的数据从输出接口24输出到存储设备。类似地,可以通过输入接口从存储设备存取经编码的数据。存储设备可以包括各种分布式或本地存取的数据存储介质中的任何一种,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或用于存储经编码的视频数据的任何其它适当的数字存储介质。在另外的示例中,存储设备可以对应于文件服务器或另一中间存储设备,其可以存储由源设备12生成的经编码的视频。目的地设备14可以经由流式传输或下载来从存储设备存取被存储的视频数据。文件服务器可以是能够存储经编码的视频数据并且将该经编码的视频数据发送给目的地设备14的任何类型的服务器。示例文件服务器包括网页服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备或本地磁盘驱动器。目的地设备14可以通过任何标准数据连接(包括互联网连接)来存取经编码的视频数据。这可以包括适于存取被存储在文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这两者的组合。经编码的视频数据从存储设备的传输可以是流式传输、下载传输或其组合。
所述技术可以应用于视频编码,以支持各种多媒体应用中的任何一种,例如,空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输(例如,基于HTTP的动态自适应流式传输(DASH))、被编码到数据存储介质上的数字视频、对被存储在数据存储介质上的数字视频的解码、或其它应用。在一些示例中,系统10可以被配置为支持单向或双向视频传输,以支持诸如视频流式传输、视频回放、视频广播和/或视频电话之类的应用。
计算机可读介质16可以包括诸如无线广播或有线网络传输之类的临时性介质、或者诸如硬盘、闪存驱动器、压缩光盘、数字多功能光盘、蓝光光盘之类的存储介质(即非暂时性存储介质)、或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以例如经由网络传输从源设备12接收经编码的视频数据,并且将经编码的视频数据提供给目的地设备14。类似地,诸如光盘冲压设施之类的介质生产设施的计算设备可以从源设备12接收经编码的视频数据,并且产生包含经编码的视频数据的光盘。因此,在各个示例中,计算机可读介质16可以被理解为包括各种形式的一个或多个计算机可读介质。
目的地设备14的输入接口26从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的语法信息(其也被视频解码器30使用),语法信息包括描述块和其它编码单元(例如,图片组(GOP))的特性和/或处理的语法元素。存储介质28可以被配置为存储经编码的视频数据,例如由输入接口26接收的经编码的视频数据(例如,比特流)。显示设备32将经解码的视频数据显示给用户,并且可以包括各种显示设备中的任何一种,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一种类型的显示设备。
视频编码器20可以表示被配置为进行以下操作的无线通信设备:将视频数据存储在存储器(例如,存储介质19)中;在一个或多个处理器上处理视频数据;以及从发射机(例如,输出接口24)发送视频数据。无线通信设备的示例可以包括但不限于电话手机。在一些示例中,在无线通信设备的发射机处发送视频数据可以包括:根据无线通信标准来对包括视频数据的信号进行调制。视频解码器30可以表示被配置为进行以下操作的无线通信设备:在接收机(例如,输入接口26)处接收视频数据;将视频数据存储在存储器(例如,存储介质28)中;在一个或多个处理器上处理视频数据;以及将所决定的视频数据输出(例如,到显示设备32)。在一些示例中,在无线通信设备的接收机处接收视频数据可以包括:根据无线通信标准来对包括视频数据的信号进行解调。
视频编码器20和视频解码器30各自可以被实现为各种适当的编码器电路中的任何一种,例如,一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑、软件、硬件、固件、或其任何组合。当所述技术部分地用软件实现时,设备可以将用于软件的指令存储在适当的非暂时性计算机可读介质中,并且使用一个或多个处理器,用硬件来执行指令以执行本公开内容的技术。视频编码器20和视频解码器30中的每一者可以被包括在一个或多个编码器或解码器中,编码器或解码器中的任一者可以被集成为相应设备中的组合编码器/解码器(CODEC)的一部分。
在一些示例中,视频编码器20和视频解码器30可以根据诸如现有或未来标准之类的视频编码标准来进行操作。示例视频编码标准包括但不限于ITU-T H.261、ISO/IECMPEG-1视频、ITU-T H.262或ISO/IEC MPEG-2视频、ITU-T H.263、ISO/IEC MPEG-4视频、以及ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)(包括其可伸缩视频编码(SVC)和多视图视频编码(MVC)扩展)。此外,ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)的视频编码联合协作小组(JCT-VC)和3D视频编码扩展开发联合协作小组(JCT-3V)最近开发了新的视频编码标准(即高效率视频编码(HEVC)或ITU-T H.265,包括其范围和屏幕内容编码扩展、3D视频编码(3D-HEVC)、和多视图扩展(MV-HEVC)、可伸缩扩展(SHVC))。在2016年,MPEG和ITU-T VCEG组建了联合探索视频小组(JVET),以探索用于下一代视频编码标准的新编码工具。参考软件被称为JEM(联合探索模型)。
在2016年,MPEG和ITU-T VCEG组建了联合探索视频小组(JVET),以探索用于下一代视频编码标准的新编码工具。参考软件被称为JEM(联合探索模型)。
针对被称为H.266/多功能视频编码(VVC)标准的新视频编码标准的早期草案可在Benjamin Bross的文档JVET-J1001“Versatile Video Coding(Draft 1)”中获得,并且其算法描述可在Jianle Chen和Elena Alshina的文档JVET-J1002“Algorithm descriptionfor Versatile Video Coding and Test Model 1(VTM 1)”中获得。VVC的另一个早期草案可在文档JVET-L1001“Versatile Video Coding(Draft 3)”中获得,并且其算法描述可在文档JVET-L1002“Algorithm description for Versatile Video Coding and TestModel 3(VTM 3)”中获得。视频编码器20和视频解码器30可以根据任何视频编码标准进行操作,例如,HEVC、VVC、专有或其它工业标准(诸如联合探索测试模型(JEM)等)。然而,本公开内容的技术不限于任何特定的编码标准。
为了便于解释,本公开内容的技术可以利用HEVC术语。然而,不应当假定本公开内容的技术限于HEVC,并且实际上,明确地设想到可以在HEVC以及其扩展的后续标准中来实现本公开内容的技术。
在HEVC和其它视频编码规范中,视频序列通常包括一系列图片。图片也可以被称为“帧”。图片可以包括三个样本阵列,其分别被表示为SL、SCb和SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中也可以被称为“色度(chroma)”样本。在其它情况下,图片可以是单色的,并且可以仅包括亮度样本的阵列。
为了生成图片的编码表示,视频编码器20可以对视频数据的图片的块进行编码。视频编码器20可以在比特流中包括视频块的编码表示。例如,在HEVC中,为了生成图片的编码表示,视频编码器20可以生成编码树单元(CTU)集合。CTU中的每一者可以包括一个或多个编码树块(CTB),并且可以包括用于对一个或多个编码树块的样本进行编码的语法结构。例如,CTU中的每一者可以包括亮度样本的编码树块、色度样本的两个对应的编码树块、以及用于对编码树块的样本进行编码的语法结构。在单色图片或具有三个单独的色彩平面的图片中,CTU可以包括单个编码树块和用于对该编码树块的样本进行编码的语法结构。编码树块可以是样本的NxN块。CTU也可以被称为“树块”或“最大编码单元”(LCU)。语法结构可以被定义为以指定顺序一起出现在比特流中的零个或多个语法元素。在HEVC主简档中,CTB的大小的范围可以从16x16到64x64(但是在技术上可以支持8x8 CTB大小)。
在HEVC中,切片包括以光栅扫描顺序连续排序的整数个CTU。因此,在HEVC中,切片中的最大编码单元被称为编码树块(CTB)。
在HEVC中,为了生成图片的经编码的CTU,视频编码器20可以对CTU的编码树块递归地执行四叉树分割,以将编码树块划分为编码块(因此名称为“编码树单元”)。编码块是样本的NxN块。编码单元(CU)可以包括一个或多个编码块以及用于对一个或多个编码块的样本进行编码的语法结构。例如,CU可以包括:具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的编码块和色度样本的两个对应的编码块、以及用于对编码块的样本进行编码的语法结构。在单色图片或具有三个单独的色彩平面的图片中,CU可以包括单个编码块和用于对该编码块的样本进行编码的语法结构。因此,CTB可以包含四叉树,其节点是CU。
此外,视频编码器20可以对CU进行编码。例如,为了对CU进行编码,视频编码器20可以将CU的编码块分割为一个或多个预测块。预测块是在其上应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可以包括CU的一个或多个预测块以及用于对一个或多个预测块进行预测的语法结构。例如,PU可以包括亮度样本的预测块、色度样本的两个对应的预测块以及用于对预测块进行预测的语法结构。在单色图片或具有三个单独的色彩平面的图片中,PU可以包括单个预测块以及用于对该预测块进行预测的语法结构。视频编码器20可以为CU的每个PU的预测块(例如,亮度、Cb和Cr预测块)来生成预测块(例如,亮度、Cb和Cr预测块)。
在HEVC中,每个CU是以一种模式来编码的,该模式可以是帧内模式或帧间模式。当CU被帧间编码(即,应用帧间模式)时,CU可以被进一步分割为2或4个PU,或者当进一步分割不适用时仅成为一个PU。当在一个CU中存在两个PU时,两个PU可以是一半大小的矩形,或者是具有CU的1/4或3/4大小的两个矩形大小。针对利用帧间预测模式编码的CU存在八种分割模式,即,PART_2Nx2N、PART_2NxN、PART_Nx2N、PART_NxN、PART_2NxnU、PART_2NxnD、PART_nLx2N和PART_nRx2N,如图3所示。虽然使用了使用H.264/AVC的示例,但是其它示例可以使用其它标准,例如但不限于VVC标准。
当CU被帧间编码时,针对每个PU存在一个运动信息集合。另外,每个PU是利用唯一的帧间预测模式来编码的,以推导出运动信息集合。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于图片的包括PU的经解码的样本来生成PU的预测块。当CU被帧内编码时,2Nx2N和NxN是唯一允许的PU形状,并且单一帧内预测模式被编码在每个PU内(而色度预测模式是以CU级别用信号发送的)。仅在当前CU大小等于在序列参数集(SPS)中定义的最小CU大小时,才允许NxN帧内PU形状。
JEM/VVC还提供了仿射运动补偿模式,其可以被认为是帧间预测模式。在仿射运动补偿模式下,视频编码器20可以确定表示非平移运动(例如,放大或缩小、旋转、透视运动或其它不规则的运动类型)的两个或更多个运动矢量。
为了执行帧内预测,视频编码器20可以选择帧内预测模式来生成预测块。JEM/VVC的示例提供了67种帧内预测模式,包括各种定向模式以及平面模式和DC模式。通常,视频编码器20选择帧内预测模式,帧内预测模式描述要根据其来预测当前块(例如,CU的块)的样本的相邻样本。假定视频编码器20以光栅扫描顺序(从左到右、从上到下)对CTU和CU进行编码,则这样的样本通常可以在与当前块相同的图片中处于当前块的上方、左上方或左侧。
如在本公开内容中描述的视频编码装置可以指代视频编码器或视频解码器。类似地,视频编码单元可以指代视频编码器或视频解码器。同样地,视频编码(coding)可以在适用的情况下指代视频编码(encoding)或视频解码(decoding)。在本公开内容中,短语“基于”可以指示仅基于、至少部分地基于或者以某种方式基于。本公开内容可以使用术语“视频单元”或“视频块”或“块”来指代一个或多个样本块以及用于对一个或多个样本块的样本进行编码的语法结构。视频单元的示例类型可以包括CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些背景下,PU的讨论可以与宏块或宏块分区的讨论互换。视频块的示例类型可以包括编码树块、编码块以及视频数据的其它类型的块。
图4A和图4B是示出示例四叉树二叉树(QTBT)结构29以及对应的编码树单元(CTU)31的概念图。视频编码器可以应用在图4A和图4B中示出的概念,以生成要被熵编码在比特流中的视频数据。在一些示例中,视频解码器可以应用在图4A和图4B中示出的概念,以对比特流中的视频数据进行熵解码。实线表示四叉树拆分,并且虚线表示二叉树拆分。在二叉树的每个拆分(即非叶)节点中,用信号发送一个标志以指示使用哪种拆分类型(即,水平或垂直),在该示例中,0指示水平拆分,而1指示垂直分割。对于四叉树拆分,由于四叉树节点将块水平地并且垂直地拆分为具有相等大小的4个子块,因此无需指示拆分类型。因此,视频编码器20可以对以下各项进行编码,而视频解码器30可以对以下各项进行解码:用于QTBT结构29的区域树级别(即实线)的语法元素(例如,拆分信息)、以及用于QTBT结构29的预测树级别(即虚线)的语法元素(例如,拆分信息)。视频编码器20可以对用于由QTBT结构29的终端叶节点表示的CU的视频数据(例如,预测数据和变换数据)进行编码,而视频解码器30可以对该视频数据进行解码。
通常,图4B的CTU 31可以与定义与QTBT结构29的处于第一和第二级别的节点相对应的块的大小的参数相关联。这些参数可以包括CTU大小(表示样本中的CTU 31的大小)、最小四叉树大小(MinQTSize,其表示最小允许四叉树叶节点大小)、最大二叉树大小(MaxBTSize,其表示最大允许二叉树根节点大小)、最大二叉树深度(MaxBTDepth,其表示最大允许二叉树深度)、以及最小二叉树大小(MinBTSize,其表示最小允许二叉树叶节点大小)。
视频编码器20可以生成用于CU的一个或多个残差块。例如,视频编码器20可以生成用于CU的亮度残差块。CU的亮度残差块中的每个样本指示在CU的预测亮度块之一中的亮度样本与CU的原始亮度编码块中的对应样本之间的差异。另外,视频编码器20可以生成用于CU的Cb残差块。CU的Cb残差块中的每个样本可以指示在CU的预测Cb块之一中的Cb样本与CU的原始Cb编码块中的对应样本之间的差异。视频编码器20还可以生成用于CU的Cr残差块。CU的Cr残差块中的每个样本可以指示在CU的预测Cr块之一中的Cr样本与CU的原始Cr编码块中的对应样本之间的差异。
此外,视频编码器20可以将CU的残差块分解成一个或多个变换块。例如,视频编码器20可以使用四叉树分割来将CU的残差块分解成一个或多个变换块。变换块是对其应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可以包括一个或多个变换块。例如,TU可以包括亮度样本的变换块、色度样本的两个对应的变换块以及用于对变换块样本进行变换的语法结构。因此,CU的每个TU可以具有亮度变换块、Cb变换块和Cr变换块。TU的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独的色彩平面的图片中,TU可以包括单个变换块以及用于对该变换块的样本进行变换的语法结构。
视频编码器20可以将一个或多个变换应用于TU的变换块以生成用于TU的系数块。例如,视频编码器20可以将一个或多个变换应用于TU的亮度变换块以生成用于TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用于TU的Cb变换块以生成用于TU的Cb系数块。视频编码器20可以将一个或多个变换应用于TU的Cr变换块以生成用于TU的Cr系数块。
在一些示例中,视频编码器20跳过将变换应用于变换块。在这样的示例中,视频编码器20可以以与变换系数相同的方式来对待残差样本值。因此,在其中视频编码器20跳过应用变换的示例中,对变换系数和系数块的以下讨论可以适用于残差样本的变换块。
在生成系数块之后,视频编码器20可以对系数块进行量化。量化通常指代如下的过程:在该过程中,对变换系数进行量化以可能减少用于表示变换系数的数据量,从而提供进一步的压缩。在一些示例中,视频编码器20跳过量化。在视频编码器20对系数块进行量化之后,视频编码器20可以生成指示经量化的变换系数的语法元素。视频编码器20可以对指示经量化的变换系数的语法元素中的一个或多个语法元素进行熵编码。例如,视频编码器20可以对指示经量化的变换系数的语法元素执行上下文自适应二进制算术编码(CABAC)。
视频编码器20可以输出包括经编码的视频数据的比特流。例如,比特流可以包括形成视频数据和相关联的数据的编码图片的表示的比特序列。因此,比特流包括视频数据的编码表示。在一些示例中,编码图片的表示可以包括块的编码表示。因此,视频编码器20可以在比特流中以块的编码表示来用信号发送块的变换系数。在一些情况下,视频编码器20可以使用一个或多个语法元素来用信号发送块的每个变换系数。
比特流可以包括网络抽象层(NAL)单元的序列。NAL单元是包含对NAL单元中的数据的类型的指示的语法结构,并且是以在必要时穿插着竞争防止比特的原始字节序列有效载荷(RBSP)的形式来包含该数据的字节。NAL单元中的每一者可以包括NAL单元报头并且封装RBSP。NAL单元报头可以包括指示NAL单元类型码的语法元素。由NAL单元的NAL单元报头指定的NAL单元类型码指示NAL单元的类型。RBSP可以是包含被封装在NAL单元内的整数个字节的语法结构。在一些情况下,RBSP包括零比特。
视频解码器30可以接收由视频编码器20生成的比特流。此外,视频解码器30可以解析该比特流以从该比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重构视频数据的图片。用于重构视频数据的过程通常可以是与由视频编码器20执行的过程相反的。例如,视频解码器30可以使用PU的运动矢量来确定用于当前CU的PU的预测块。另外,视频解码器30可以对当前CU的TU的系数块进行逆量化。视频解码器30可以对系数块执行逆变换以重构当前CU的TU的变换块。视频解码器30可以通过将用于当前CU的PU的预测块的样本与当前CU的TU的变换块的对应样本相加,来重构当前CU的编码块。通过重构用于图片的每个CU的编码块,视频解码器30可以重构图片。
以下视频编码技术可以由源设备12和目的地设备14来执行。更具体地,以下视频编码技术可以由源设备12的视频编码器20和目的地设备14的视频解码器30来执行。
对于每个块,运动信息集合可以是可获得的。运动信息集合可以包括用于前向预测方向和后向预测方向的运动信息。在该示例中,前向和后向预测方向可以是双向预测模式的两个预测方向,并且术语“前向”和“后向”可以不具有几何含义。例如,术语“前向”和“后向”可以对应于当前图片的参考图片列表0(RefPicList0)和参考图片列表1(RefPicList1)。当仅有一个参考图片列表可用于图片或切片时,仅有RefPicList0是可用的,并且切片的每个块的运动信息都可以是前向的。
在一些示例中,视频解码器30可以在解码过程中将运动矢量与运动矢量的参考索引一起使用,具有相关联的参考索引的运动矢量被表示为运动信息的单预测集合。
对于每个预测方向,运动信息可以包括参考索引和运动矢量。在一些情况下,为了简单起见,运动矢量本身可以被称为具有相关联的参考索引。视频编码器20和/或视频解码器30可以使用参考索引来标识当前参考图片列表(RefPicList0或RefPicList1)中的参考图片。运动矢量可以具有水平分量和垂直分量。
视频编码器20和/或视频解码器30可以使用视频编码标准中的图片顺序计数(POC)来识别图片的显示顺序。尽管存在一个编码视频序列内的两个图片可能具有相同的POC值的情况,但是这样的情况通常不会发生在编码视频序列内。当在比特流中存在多个编码视频序列时,具有相同的POC值的图片在解码顺序方面可能彼此更接近。
视频编码器20和/或视频解码器30可以将图片的POC值用于参考图片列表构建(如在HEVC中对参考图片集合的推导)、以及运动矢量缩放。
在H.264/AVC中,视频编码器20和/或视频解码器30可以将每个帧间宏块(MB)分割为以下四种不同的方式:(1)16x16 MB分区;(2)16x8 MB分区;(3)8x16 MB分区;以及(4)8x8MB分区。一个MB中的不同MB分区可以具有针对每个方向(RefPicList0或RefPicList1)的不同的参考索引值。当MB未被分割为四个8x8 MB分区时,该MB在每个方向上可以仅具有针对每个MB分区的一个运动矢量。
当MB被分割为四个8x8 MB分区时,视频编码器20和/或视频解码器30可以进一步将每个8x8 MB分区分割为子块,这些子块中的每一者在每个方向上可以具有不同的运动矢量。例如,视频编码器20和/或视频解码器30可以从8x8 MB分区得到子块:(1)8x8子块;(2)8x4子块;(3)4x8子块;以及(4)4x4子块。每个子块在每个方向上可以具有不同的运动矢量。因此,运动矢量可以以等于或高于子块的级别存在。
在AVC中,视频编码器20和/或视频解码器30可以以MB或MB分区级别来实现针对B切片中的跳过或直接模式的时间直接模式。对于每个MB分区,视频编码器20和/或视频解码器30可以使用在当前块的RefPicList1[0]中与当前MB分区同位的块的运动矢量来推导运动矢量。视频编码器20和/或视频解码器30可以基于POC距离来对同位块中的每个运动矢量进行缩放。在AVC中,直接模式还可以根据空间邻居来预测运动信息。
在HEVC中,切片中的最大编码单元被称为编码树块(CTB)。CTB包括四叉树,其节点是编码单元。在HEVC主简档中,CTB的大小范围可以从16x16到64x64(但是技术上可以支持8x8 CTB大小)。编码单元(CU)可以具有与CTB相同的大小,但是小至8x8。视频编码器20和/或视频解码器30可以利用一种模式来对每个编码单元进行编码。当CU被帧间编码时,视频编码器20和/或视频解码器30可以进一步将CU分割为2或4个预测单元(PU),或者当进一步分割不适用时,使得CU仅成为一个PU。当在一个CU中存在两个PU时,它们可以是一半大小的矩形,或者是具有CU的1/4或3/4大小的两个矩形大小。
当CU被帧间编码时,针对每个PU存在一个运动信息集合。另外,视频编码器20和/或视频解码器30可以利用唯一的帧间预测模式来对每个PU进行编码,以推导出运动信息集合。
在HEVC标准中,存在针对预测单元(PU)的两种帧间预测模式,分别命名为合并(跳过被视为合并的特殊情况)模式和高级运动矢量预测(AMVP)模式。
在AMVP或合并模式下,视频编码器20和/或视频解码器30可以维护针对多个运动矢量预测因子的运动矢量(MV)候选列表。在合并模式下,当前PU的运动矢量以及参考索引是通过从MV候选列表中提取一个候选来生成的。MV候选列表可以包括用于合并模式的多达5个候选以及用于AMVP模式的仅两个候选。合并候选可以包括运动信息集合,例如,与两个参考图片列表(列表0和列表1)相对应的运动矢量和参考索引。如果合并候选是通过合并索引来标识的,则视频编码器20和/或视频解码器30可以将参考图片用于当前块的预测,以及确定相关联的运动矢量。然而,在针对来自列表0或列表1的每个潜在预测方向的AMVP模式下,由于AMVP候选可以仅包括运动矢量,因此视频编码器20可以将参考索引连同对MV候选列表的MVP索引一起明确地用信号发送。在AMVP模式下,可以进一步完善预测运动矢量。
如上所看到的,合并候选可以对应于完整的运动信息集合,而AMVP候选可以仅包括用于特定预测方向和参考索引的一个运动矢量。视频编码器20和/或视频解码器30可以类似地从相同的空间和时间相邻块来推导出用于两种模式的候选。
视频编码器20和/或视频解码器30可以从在图2A和图2B中所示的针对特定PU(PU0)的相邻块来推导出空间MV候选,但是对于合并和AMVP模式,根据块来生成候选的方法不同。
在合并模式中,可以利用在图2A上利用数字所示的顺序来推导出多达四个空间MV候选,并且该顺序如下:左(0)、上(1)、右上(3)、左下(4)和左上(5),如图2A所示。
在AVMP模式下,视频编码器20和/或视频解码器30可以将相邻块分为两组:由块0和1组成的左侧组、以及由块2、3和4组成的上方组,如在图2B上所示。对于每个组,在相邻块中的引用与用信号发送的参考索引所指示的参考图片相同的参考图片的潜在候选具有最高优先级,以被选择以形成该组的最终候选。可能所有的相邻块都不包含指向同一参考图片的运动矢量。因此,如果找不到这样的候选,则视频编码器20和/或视频解码器30可以将第一可用候选进行缩放以形成最终候选,因此可以补偿时间距离差。
视频编码器20和/或视频解码器30可以将时间运动矢量预测因子(TMVP)候选(如果启用并且可用的话)添加到MV候选列表中,在空间运动矢量候选之后。针对TMVP候选的运动矢量推导的过程对于合并和AMVP模式两者而言可以是相同的,然而,在合并模式下,针对TMVP候选的目标参考索引可以始终被设置为0。
用于TMVP候选推导的主要块位置是在同位PU外部的右下块(如在图3A中被示为块“T”),以补偿用于生成空间相邻候选的上方和左侧块的偏差。然而,如果该块位于当前CTB行外部或者运动信息是不可用的,则视频编码器20和/或视频解码器30可以将该块替换为PU的中心块。
视频编码器20和/或视频解码器30可以从以切片级别指示的同位图片的同位PU来推导出用于TMVP候选的运动矢量。
类似于AVC中的时间直接模式,视频编码器20和/或视频解码器30可以对TMVP候选运动矢量的运动矢量进行缩放,这可以被执行以补偿距离差。
在下文中讨论运动矢量缩放。在一些示例中,运动矢量的值是与呈现时间中的图片的距离成比例的。运动矢量将两个图片(参考图片和包含运动矢量的图片(即包含图片))进行关联。当运动矢量被用于预测另一个运动矢量时,视频编码器20和/或视频解码器30可以基于图片顺序计数(POC)值来计算包含图片和参考图片的距离。
对于要被预测的运动矢量,运动矢量的相关联的包含图片和参考图片两者可以是不同的。因此,在一些示例中,视频编码器20和/或视频解码器30可以计算新的距离(基于POC)。在该示例中,视频编码器20和/或视频解码器30可以基于这两个POC距离来对运动矢量进行缩放。对于空间相邻候选,用于两个运动矢量的包含图片是相同的,而参考图片是不同的。在HEVC中,运动矢量缩放可以适用于针对空间和时间相邻候选的TMVP和AMVP两者。
在下文中讨论人工运动矢量候选生成。如果运动矢量候选列表是不完整的,则视频编码器20和/或视频解码器30可以生成人工运动矢量候选。在该示例中,视频编码器20和/或视频解码器30可以在列表的末尾插入人工运动矢量候选,直到视频编码器20和/或视频解码器30将具有所有候选为止。
在合并模式下,存在两种类型的人工MV候选:仅针对B切片而推导出的组合候选;以及仅用于AMVP的零候选(如果第一种类型没有提供足够的人工候选)。对于已经在候选列表中并且具有必要的运动信息的每对候选,视频编码器20和/或视频解码器30可以通过参考列表0中的图片的第一候选的运动矢量和参考列表1中的图片的第二候选的运动矢量的组合,来推导出双向组合运动矢量候选。
在下文中讨论针对候选插入的修剪过程。来自不同块的候选可能恰好是相同的,这降低了合并/AMVP候选列表的效率。视频编码器20和/或视频解码器30可以应用修剪过程来解决该问题。在修剪过程中,视频编码器20和/或视频解码器30可以将一个候选与当前候选列表中的其它候选进行比较,以避免在一定程度上插入相同的候选。为了降低复杂度,视频编码器20和/或视频解码器30可以仅应用有限数量的修剪过程,而不是将每个潜在的候选与所有其它现有的候选进行比较。
视频编码器20和/或视频解码器30可以启用和禁用在切片级别处的加权预测,并且视频编码器20还可以用信号发送在切片级别处的加权预测参数。相反,视频编码器20和/或视频解码器30可以启用和禁用PBIC和PU级别,并且视频编码器20可以用信号发送在PU级别处的IC参数以处理局部照度变化。
与在使用WP时类似,视频编码器20和/或视频解码器30可以在IC中使用缩放因子(也由a表示)和偏移(也由b表示),并且移位数量被固定为6。源设备12可以为每个PU编码IC标志,以指示IC是否适用于当前PU。如果IC适用于PU,则源设备12将IC参数集(即,a和b)用信号发送给解码器(例如,目的地设备14),并且解码器将IC参数集用于运动补偿。在双向预测情况下,源设备12可以用信号发送两个缩放因子(针对每个预测方向有一个)和一个偏移。为了节省在IC参数上消耗的比特,视频编码器20和/或视频解码器30可以使用与亮度分量共享缩放因子的色度分量和固定偏移128。
在3D-HEVC(如在G.Tech、K.Wegner、Y.Chen和S.Yea,“3D-HEVC Draft Text 7”,3D视频编码扩展联合协作小组(JCT-3V)文档JCT3V-K1001,第11次会议:瑞士日内瓦,2015年2月12日至18日中描述的)中,针对视图间预测启用了IC。与明确地用信号发送IC参数的WP和PBIC不同,当使用3D-HEVC时,视频编码器20和/或视频解码器30可以基于当前CU的相邻样本和参考块的相邻样本来推导IC参数。
在一些示例中,视频编码器20和/或视频解码器30可以仅对2Nx2N分割模式应用IC。对于AMVP模式,视频编码器20可以针对从视图间参考图片预测的每个CU来用信号发送一个IC标志。对于合并模式,为了节省比特,仅当PU的合并索引不等于0时,视频编码器20才可以用信号发送IC标志。
在一些示例中,不针对仅从时间参考图片预测的CU执行IC。
在等式(1)中示出了在视图间预测中使用的线性IC:
p(i,j)=a*r(i+dvx,j+dvy+b),其中(i,j)∈PUc (1)
此处,PUc是当前PU,(i,j)是PUc中的像素的坐标,(dvx,dvy)是PUc的视差矢量。p(i,j)是PUc的预测,r是来自相邻视图的PU的参考图片。a和b是线性IC模型的参数。
为了估计用于PU的参数a和b,视频编码器20和/或视频解码器30可以使用两个像素集合,如图5A和图5B所示。在图5A的示例中,第一像素集合是在当前CU(包含当前PU的CU)的左列和上方行中的可用的重构相邻像素。图5B示出了第二像素集合,其是当前CU的参考块的对应相邻像素。可以通过使用当前PU的视差矢量来找到当前CU的参考块。
令Recneig和Recrefneig分别表示当前CU和其参考块的所使用的相邻像素集合,并且令2N表示Recneig和Recrefneig中的像素数量。那么,a和b可以被计算为:
其中,Recneig表示相邻样本,其中,Recrefneig表示参考相邻样本,并且其中,N表示Recneig和Recrefneig中的像素数量。
在一些示例中,视频编码器20和/或视频解码器30可以仅使用线性模型,并且b始终被设置为等于0。在一些示例中,视频编码器20和/或视频解码器30可以仅使用b,并且a始终被设置为等于1。
在HEVC中,支持加权预测(WP),其中在运动补偿中使用了缩放因子(由a表示)、移位数量(由s表示)和偏移(由b表示)。假设在参考图片的位置(x,y)上的像素值为p(x,y),则p’(x,y)=((a*p(x,y)+(1<<(s-1)))>>s)+b代替p(x,y)来用作运动补偿中的预测值。
当启用WP时,对于当前切片的每个参考图片,源设备12可以用信号发送标志以指示WP是否适用于参考图片。如果WP适用于一个参考图片,则源设备12可以向解码器发送WP参数集(即,a、s和b),并且该WP参数集用于参考图片的运动补偿。为了灵活地打开/关闭针对亮度和色度分量的WP,源设备12可以分别用信号发送用于亮度和色度分量的WP标志和WP参数。在WP中,视频编码器20和/或视频解码器30可以针对一个参考图片中的所有像素使用相同的WP参数集。
LIC是基于使用缩放因子a和偏移b的针对照度变化的线性模型的。视频编码器20和/或视频解码器30可以针对每个经帧间模式编码的CU来自适应地启用或禁用LIC。当LIC适用于CU时,视频编码器20和/或视频解码器30可以采用最小二乘误差方法,以通过使用当前CU的相邻样本以及其对应的参考样本来推导出参数a和b。更具体地,在图6A的示例中,视频编码器20和/或视频解码器30可以使用CU的经子采样(2:1子采样)的相邻样本。另外或替代地,在图6B的示例中,视频编码器20和/或视频解码器30可以使用参考图片中的对应像素(由当前CU或子CU的运动信息标识)。例如,视频编码器20和/或视频解码器30可以针对每个预测方向,单独地推导并应用IC参数。
当CU是以合并模式编码时,视频编码器20和/或视频解码器30可以按照类似于合并模式中的运动信息复制的方式从相邻块复制LIC标志;否则,视频编码器20和/或视频解码器30可以用信号发送针对CU的LIC标志以指示LIC是否适用。
OBMC是在H.263(如在Video Coding for Low Bitrate Communication,文档Rec.H.263,ITU-T,1995年4月中讨论的)的发展中提出的。视频编码器20和/或视频解码器30可以在8x8块上执行OBMC,并且两个连接的相邻8x8块的运动矢量可以用于当前块,如图7所示。例如,对于当前宏块中的第一8x8块,除了其自身的运动矢量之外,视频编码器20和/或视频解码器30可以应用上方和左侧的相邻运动矢量来生成两个额外的预测块。以此方式,视频编码器20和/或视频解码器30可以使用在当前8x8块中具有三个预测值的每个像素,并且使用这三个预测值的加权平均作为最终预测。
当相邻块未被编码或编码为帧内时,即,相邻块不具有可用运动矢量时,视频编码器20和/或视频解码器30可以将当前8x8块的运动矢量用作相邻运动矢量。同时,对于当前宏块的第三和第四8x8块(如图7所示),视频编码器20和/或视频解码器30可以不使用下方的相邻块。换句话说,例如,对于每个MB,视频编码器20和/或视频解码器30可以在OBMC期间不使用来自在当前MB下方的MB的运动信息来重构当前MB的像素。
图8A和图8B是示出根据HEVC的OBMC的各方面的概念图。在HEVC的发展中,提出了OBMC来使PU边界平滑。图8A示出了部分33,并且图8B示出部分35。部分33和35分别示出了包括两个PU的CU。在部分33和部分35两者中,具有实线边界的像素属于PU0,而具有虚线边界的像素属于PU1。如果CU包含两个或更多个PU,则视频编码器20和视频解码器30可以使用OBMC来使PU边界附近的线和/或列平滑。对于在图8A和图8B的PU0或PU1中利用“A”或“B”标记的像素,视频编码器20和视频解码器30可以生成两个预测值。例如,视频编码器20和视频解码器30可以通过以下方式来生成针对被标记“A”或“B”的像素的预测值:分别应用PU0和PU1的运动矢量,并且使用预测值的加权平均作为针对相应像素的最终预测。
图9A是示出根据子PU级别OBMC技术的OBMC所适用的子块的概念图。图9B是示出在ATMVP模式下的子PU的概念图。在当前JEM配置中应用了子PU级别OBMC。根据JEM的子PU级别OBMC,针对除了CU的右边界和底边界之外的所有运动补偿(MC)块边界来执行OBMC。此外,根据JEM的子PU级别OBMC,视频编码器20和视频解码器30可以将OBMC应用于亮度和色度分量两者。在HEVC中,MC块对应于PU。在JEM中,当利用子PU模式对PU进行编码时,PU的每个子块是MC块。为了以统一的方式处理CU/PU边界,视频编码器20和视频解码器30可以在子块级别处针对所有MC块边界执行OBMC,其中子块大小被设置为4x4,如图9A所示。
当OBMC适用于当前子块时,除了当前运动矢量之外,视频编码器20和视频解码器30还可以使用四个连接的相邻子块的运动矢量(如果可用并且与当前运动矢量不相同的话),来推导出用于当前子块的预测块。视频编码器20和视频解码器30可以基于多个运动矢量来对多个预测块进行加权,以生成当前子块的最终预测信号。
下文的讨论将基于相邻子块的运动矢量的预测块表示为PN,其中N指示针对相邻的上、下、左、右子块的索引,并且将基于当前子块的运动矢量的预测块表示为PC。如果PN属于与PC相同的PU(并且因此包含相同的运动信息),则视频编码器20和视频解码器30不从PN执行OBMC。否则,视频编码器20和视频解码器30可以将PN的每个像素与PC中的相同像素相加。也就是说,如果PN不属于与PC相同的PU,则将PN的四行/列与PC相加。
视频编码器20和视频解码器30可以针对PN使用加权因子{1/4,1/8,1/16,1/32},并且可以针对PC使用加权因子{3/4,7/8,15/16,31/32}。例外情况是小的MC块(例如,当PU大小等于8x4、4x8,或者PU是利用高级时间运动矢量预测(ATMVP)模式来编码的时),针对小的MC块,视频编码器20和视频解码器30可以仅将PN的两行/列与PC相加。在这些情况下,视频编码器20和视频解码器30可以针对PN使用加权因子{1/4,1/8},并且可以针对PC使用加权因子{3/4,7/8}。对于基于垂直上相邻的子块的运动矢量而生成的PN,视频编码器20和视频解码器30可以利用相同的加权因子将PN的相同行中的像素与PC相加。对于基于水平上相邻的子块的运动矢量而生成的PN,视频编码器20和视频解码器30可以利用相同的加权因子将PN的相同列中的像素与PC相加。
对于PU边界,视频编码器20和视频解码器30可以在该边界的每一侧应用OBMC。如图9A所示,可以沿着在PU1和PU2之间的边界将OBMC应用两次。首先,将OBMC与PU2的MV一起应用于沿着PU1内部的边界的虚线边框的块。其次,将OBMC与PU1的MV一起应用于沿着PU2内部的边界的虚线边框的块。相比之下,将OBMC应用于CU边界的一侧,因为在对当前CU进行编码时,无法改变已经被编码的CU。
图9A、9B和10是示出用于帧率上转换技术的运动估计的示例的概念图。帧率上转换(FRUC)技术用于基于低帧率视频来生成高帧率视频。FRUC算法可以被分为两种类型。一种类型的过程是通过简单的帧重复或平均来对中间帧进行插值。然而,这些技术可能在包含大量运动的图片中提供不正确的结果。另一种类型的过程(被称为运动补偿FRUC(MC-FRUC))在生成中间帧时考虑对象运动,并且包括两个步骤:运动估计(ME)和运动补偿插值(MCI)。ME生成使用矢量表示对象运动的运动矢量(MV),而MCI使用MV来生成中间帧。
块匹配算法(BMA)被广泛地用于MC-FRUC中的ME,因为BMA易于实现。在BMA中,视频编码器20和/或视频解码器30可以将图像划分成块并且检测那些块的运动。两种ME主要用于BMA:单边ME和双边ME。
在图10的示例中,当执行单边ME时,视频编码器20和/或视频解码器30可以通过从当前帧的参考帧中搜索最佳匹配块来获得MV。视频编码器20和/或视频解码器30可以将块定位在所插值的帧中的运动轨迹上,从而实现MV。如图10所示,沿着运动轨迹涉及三个帧中的三个块。尽管当前帧中的块属于编码块,但是参考帧中的最佳匹配块可能不完全属于编码块,而所插值的帧中的块也不属于编码块。因此,在所插值的帧中可能出现块的重叠区域和未填充(空洞)区域。
为了处理重叠,一些FRUC算法可以涉及对所重叠的像素进行平均和重写。此外,空洞可以被来自参考或当前帧的像素值覆盖。然而,这些算法可能导致块效应和模糊。因此,提出了运动场分割、使用离散Hartley变换的逐次外推以及图像修补,以处理空洞和重叠,而不会增加块效应和模糊。
图11示出了用于FRUC的双边ME。如图11所示,双边ME是另一种解决方案(在MC-FRUC中),其可以用于避免由重叠和空洞引起的问题。在双边ME中,视频编码器20和/或视频解码器30可以使用在参考帧和当前帧的块之间的时间对称性来获得经过中间帧中的块的MV。结果,获得MV不会生成重叠和空洞。由于假定当前块是正在以一定顺序被处理的块(例如,如在视频编码的情况下),这样的块序列将覆盖整个中间图片而没有重叠。例如,在视频编码的情况下,视频编码器20和/或视频解码器30可以按解码顺序来处理块。因此,如果可以在视频编码框架中考虑FRUC思想,则此类技术可以更加合适。
图12是示出解码器侧运动矢量推导的方面的图。一种类型的解码器侧运动推导(DMVD)是基于模板匹配的DMVD,这在图12中示出。随着视频编解码器的不断发展,在比特流中专用于运动信息的比特的百分比不断增加。为了减少运动信息的比特成本,提出了DMVD。基于模板匹配的DMVD产生了显著的编码效率提高。根据在图12中所示的模板匹配技术,代替针对预测目标(其是正在被视频解码器30处理的当前块)搜索最佳匹配,视频解码器30可以在参考帧中搜索模板的最佳匹配。假定模板和预测目标是来自同一对象,则视频解码器30可以将模板的运动矢量用作预测目标的运动矢量。
因为模板匹配是在视频编码器20和视频解码器30两者处进行的,所以可以在解码器侧推导出运动矢量,以避免信令成本。换句话说,通过实现DVMD,视频解码器30可以减少视频编码器20用信号发送的比特流的比特计数,因为视频编码器20可以消除原本将用于用信号发送运动信息的比特数量。以此方式,DMVD可以减少视频编码技术中的带宽消耗。
图13是示出在解码器侧运动矢量推导中的基于镜像的双向运动矢量推导的方面的概念图。除了上面讨论的DMVD类别之外,基于镜像的双向MV推导是另一种类别的DMVD。基于镜像的双向MV推导的各方面与FRUC中的双边ME类似。基于镜像的MV推导是以分数样本精度在搜索中心周围使用中心对称运动估计来应用的。
根据用于DMVD的基于镜像的双向MV推导,视频编码器20可以预定义并且用信号发送经编码的视频比特流中的搜索窗口的大小和/或位置。在图13中,“dMV”表示如下的偏移:视频编码器20可以将该偏移与PMV0相加并且从PMV1减去以生成由MV0和MV1组成的MV对。视频编码器20可以检查在搜索窗口内部的dMV的所有值,并且可以使用在L0和L1参考块之间的绝对差之和(SAD)作为中心对称运动估计的度量。
视频编码器20可以选择具有最小SAD的MV对作为中心对称运动估计的输出。因为基于镜像的双向MV推导可能需要针对SAD匹配的将来参考(例如,在解码顺序上比当前帧要晚的时间位置处的参考)和较早参考(例如,在解码顺序上比当前帧要早的时间位置处的参考),所以SAD可能不适用于其中仅前者参考可用的P帧或低延迟B帧。
图14示出了与基于镜像的双向MV推导相关的示例,以将基于镜像的双向MV推导与HEVC中的合并模式相组合。在基于镜像的双向MV推导和合并模式编码的示例组合中,视频编码器20和/或视频解码器30可以被配置为确定针对当前PU是否启用合并模式(53)。响应于确定合并模式未被启用(步骤53的“否”),视频编码器20和/或视频解码器30可以被配置为针对非合并PU执行常规过程(61)。
然而,响应于确定合并模式被启用(步骤53的“是”),视频编码器20可以确定是否要针对B切片的PU来编码并且用信号发送被称为“pu_dmvd_flag”的标志,以指示DMVD模式是否被应用于当前PU(55)。响应于对“pu_dmvd_flag”进行编码(步骤55的“是”),视频编码器20和/或视频解码器30可以被配置为执行DMVD过程(57)。然而,响应于不对“pu_dmvd_flag”进行编码(步骤55的“N”),视频编码器20和/或视频解码器30可以被配置为执行用于合并PU的常规过程(59)。由于DMVD模式未明确地使视频编码器20在比特流中发送任何MV信息,因此解码过程可以将pu_dmvd_flag与HEVC解码过程中的合并模式的语法进行整合。
如图5A、5B以及6A、6B所示,当应用LIC技术时,视频编码装置可以访问与当前块邻接的相邻重构样本。在实际的硬件架构中,这些样本可能尚未被重构(例如,在当前块正在进行运动补偿时)。在这种情况下,当前块的运动补偿过程可能受阻,直到视频编码装置重构相邻样本为止,从而导致时间线上的不期望的延迟。
以下逐项列出的方法可以被单独地应用。替代地,可以应用它们的任何组合。请注意的是,参考索引信息在本公开内容中被视为运动信息的一部分,有时将它们共同地称为运动信息集合。
在图15A和15B的示例中,视频解码器30和/或视频编码器20可以被配置为使用可以与当前块不邻接的相邻样本来推导LIC参数信息(例如,等式(2)和(3)中的权重和/或偏移)。也就是说,例如,为了推导局部照度补偿信息,视频解码器30和/或视频编码器20可以被配置为使用相邻样本来计算权重和/或偏移。具体地,在图15A的示例中,视频解码器30和/或视频编码器20可以被配置为使用所连接的上方相邻样本70和左侧相邻样本72。例如,相邻样本70可以表示被布置在一行中的第一样本集合,并且相邻样本72可以表示被布置在一列中的第二样本集合,其中,第二样本集合是与第一样本集合邻接的。
在图15B的示例中,视频解码器30和/或视频编码器20可以被配置为使用不连接的上方相邻样本74和左侧相邻样本76。例如,相邻样本74可以表示被布置在一行中的第一样本集合,并且相邻样本76可以表示被布置在一列中的第二样本集合,其中,第二样本集合是与第一样本集合隔开的。
视频解码器30和/或视频编码器20可以被配置为在针对当前块进行LIC过程之前确定相邻样本已经被重构。例如,视频解码器30和/或视频编码器20可以被配置为在推导用于当前块的局部照度补偿信息之前,重构相邻样本。例如,视频解码器30和/或视频编码器20可以被配置为在推导用于当前块的局部照度补偿信息之前,重构图15A中的相邻样本70和相邻样本72。在另一种情况下,视频解码器30和/或视频编码器20可以被配置为在推导用于当前块的局部照度补偿信息之前,重构图15B中的相邻样本74和相邻样本76。
视频解码器30和/或视频编码器20可以被配置为使用在覆盖当前块的区域之外的相邻样本。在一些示例中,视频解码器30和/或视频编码器20可以被配置为将该区域指定为包括覆盖当前块的LCU或CTU。在图16的示例中,视频解码器30和/或视频编码器20可以被配置为使用在被定义为覆盖当前块的LCU(也被称为CTU)的区域之外的相邻样本。例如,视频解码器30和/或视频编码器20可以被配置为使用在该区域之外并且与该区域邻接的相邻样本。在该示例中,视频解码器30和/或视频编码器20可以被配置为使用均位于当前LCU 82外部但是与其邻接的对准位置处的上方相邻样本78和左侧相邻样本80。视频解码器30和/或视频编码器20可以被配置以定义要覆盖当前块的区域、该区域的上方编码块(例如,CU)和/或该区域的左侧编码块。
为了推导局部照度补偿信息,视频解码器30和/或视频编码器20可以被配置为使用参考相邻样本来计算权重和/或偏移。视频解码器30和/或视频编码器20可以被配置为确定在等式(2)和(3)中使用的参考相邻样本,以推导与参考块邻接的LIC参数(例如,权重和偏移),如在图15A和图15B的示例中所示。换句话说,例如,视频解码器30和/或视频编码器20可以被配置为确定与用于当前块的参考块邻接的参考相邻样本。在一些示例中,视频解码器30和/或视频编码器20可以被配置为确定在等式(2)和(3)中使用的参考相邻样本,以推导与参考块不邻接的LIC参数(例如,权重和偏移)。换句话说,例如,视频解码器30和/或视频编码器20可以被配置为确定与用于当前块的参考块不邻接的参考相邻样本。
在图17的示例中,视频解码器30和/或视频编码器20可以被配置为通过具有当前块的运动矢量(MV)的相邻样本来定位参考相邻样本。例如,视频解码器30和/或视频编码器20可以被配置为通过具有当前块89的运动矢量(MV1)的相邻样本83来定位参考图片90的参考相邻样本84。在该示例中,视频解码器30和/或视频编码器20可以被配置为通过具有当前块89的运动矢量(MV2)的相邻样本85来定位参考图片90的参考相邻样本86。类似地,视频解码器30和/或视频编码器20可以被配置为通过具有当前块89的运动矢量(MV3)的相邻样本87来定位参考图片90的参考相邻样本88。
视频解码器30和/或视频编码器20可以被配置为:如果所定位的参考相邻样本位于子像素处,则将它们四舍五入为整数像素。例如,视频解码器30和/或视频编码器20可以被配置为:当这些参考相邻样本中的参考相邻样本被布置在子像素处时,将该参考相邻样本四舍五入为整数像素。
视频解码器30和/或视频编码器20可以被配置为:仅在当前块的邻接的上方样本或当前块的邻接的左侧样本或两者在当前LCU外部时,应用LIC。在一些示例中,视频解码器30和/或视频编码器20可以被配置为:针对不是当前块的邻接的上方样本或当前块的邻接的左侧样本或两者的块来禁用LIC。例如,视频编码器20可以被配置为:响应于当前块的邻接的上方样本、当前块的邻接的左侧样本或两者被布置在用于当前块的当前LCU外部,来确定要针对当前块应用局部照度补偿,其中,推导用于当前块的局部照度补偿信息是响应于确定要针对当前块应用局部照度补偿的。在一些示例中,视频编码器20可以被配置为:避免针对不是当前块的邻接的上方样本或当前块的邻接的左侧样本或两者的块来用信号发送IC_flag。
在图18的示例中,视频解码器30和/或视频编码器20可以被配置为:响应于确定块91具有在当前LCU外部在上方邻接的相邻样本和在左侧邻接的相邻样本,来确定要针对块91应用LIC。视频解码器30和/或视频编码器20可以被配置为:响应于确定块92具有在当前LCU外部在上方邻接的相邻样本,来确定要针对块92应用LIC。视频解码器30和/或视频编码器20可以被配置为:响应于确定块93具有在当前LCU外部在左侧邻接的相邻样本,来确定要针对块93应用LIC。然而,在该示例中,视频解码器30和/或视频编码器20可以被配置为:响应于确定块94不具有在当前LCU外部在上方邻接的相邻样本或在左侧邻接的相邻样本,来确定不针对块94应用LIC。
换句话说,例如,视频解码器30和/或视频编码器20可以被配置为基于块在当前LCU内的位置来确定是否要针对该块应用LIC。响应于确定当前块被布置在LCU内,使得当前块具有在当前LCU外部在上方紧邻的相邻样本和/或在左侧紧邻的相邻样本,视频解码器30和/或视频编码器20可以被配置为确定要针对该块应用LIC。然而,响应于确定当前块被布置在LCU内,使得当前块不具有在当前LCU外部在上方紧邻的相邻样本或在左侧紧邻的相邻样本,视频解码器30和/或视频编码器20可以被配置为确定不针对该块应用LIC。
图19是示出可以实现本公开内容的技术的示例视频编码器20的框图。图19是出于解释的目的而提供的,并且不应当被认为对在本公开内容中泛泛地举例说明和描述的技术进行限制。本公开内容的技术可以适用于各种编码标准或方法。
在图19的示例中,视频编码器20包括预测处理单元100、视频数据存储器101、残差生成单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重构单元112、滤波器单元114、解码图片缓冲器116和熵编码单元118。预测处理单元100包括帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可以包括运动估计单元和运动补偿单元(未示出)。
视频数据存储器101可以被配置为存储要由视频编码器20的组件来编码的视频数据。被存储在视频数据存储器101中的视频数据可以例如是从视频源18获得的。解码图片缓冲器116可以是参考图片存储器,其存储参考视频数据以在例如在帧内或帧间编码模式下由视频编码器20对视频数据进行编码时使用。视频数据存储器101和解码图片缓冲器116可以由各种存储器设备中的任何一种形成,例如,动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻RAM(MRAM)、电阻性RAM(RRAM)、或其它类型的存储器设备。视频数据存储器101和解码图片缓冲器116可以由相同的存储器设备或单独的存储器设备来提供。在各个示例中,视频数据存储器101可以与视频编码器20的其它组件在芯片上,或者相对于那些组件在芯片外。视频数据存储器101可以与图1的存储介质19相同或者作为其一部分。
视频编码器20接收视频数据。视频编码器20可以对视频数据的图片的切片中的每个CTU进行处理编码。CTU中的每一者可以与图片的大小相等的亮度编码树块(CTB)和对应的CTB相关联。作为对CTU进行编码的一部分,预测处理单元100可以执行分割以将CTU的CTB划分为逐渐变小的块。较小的块可以是CU的编码块。例如,预测处理单元100可以根据树结构来分割与CTU相关联的CTB。
视频编码器20可以对CTU的CU进行编码以生成CU的编码表示(即,编码CU)。作为对CU进行编码的一部分,预测处理单元100可以在CU的一个或多个PU之间分割与CU相关联的编码块。因此,每个PU可以与亮度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可以支持具有各种大小的PU。如上所指出的,CU的大小可以指代CU的亮度编码块的大小,而PU的大小可以指代PU的亮度预测块的大小。假定特定CU的大小为2Nx2N,则视频编码器20和视频解码器30可以支持用于帧内预测的2Nx2N或NxN的PU大小、以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似大小的对称PU大小。视频编码器20和视频解码器30还可以支持针对用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称分割。
帧间预测处理单元120可以通过对CU的每个PU执行帧间预测来生成用于PU的预测数据。用于PU的预测数据可以包括PU的预测块和用于PU的运动信息。帧间预测处理单元120可以根据PU是在I切片、P切片还是B切片中来针对CU的PU执行不同的操作。在I切片中,所有PU都是帧内预测的。因此,如果PU在I切片中,则帧间预测处理单元120不对PU执行帧间预测。因此,对于以I模式编码的块,使用来自同一帧内的先前编码的相邻块的空间预测来形成预测块。如果PU在P切片中,则帧间预测处理单元120可以使用单向帧间预测来生成PU的预测块。如果PU在B切片中,则帧间预测处理单元120可以使用单向或双向帧间预测来生成PU的预测块。JEM/VVC还提供了仿射运动补偿模式,其可以被视为帧间预测模式。
帧内预测处理单元126可以通过对PU执行帧内预测来生成用于PU的预测数据。用于PU的预测数据可以包括PU的预测块和各种语法元素。帧内预测处理单元126可以对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可以使用多个帧内预测模式来生成用于PU的多个预测数据集合。帧内预测处理单元126可以使用来自相邻PU的样本块的样本来生成用于PU的预测块。假定针对PU、CU和CTU的从左到右、从上到下的编码顺序,则相邻PU可以在PU的上方、左上方、右上方或左侧。帧内预测处理单元126可以使用各种数量的帧内预测模式,例如33个方向性帧内预测模式。在一些示例中,帧内预测模式的数量可以取决于与PU相关联的区域的大小。
预测处理单元100可以从由帧间预测处理单元120针对CU的PU所生成的预测数据或者由帧内预测处理单元126针对这些PU所生成的预测数据中选择用于这些PU的预测数据。在一些示例中,预测处理单元100基于预测数据集合的速率/失真度量来选择用于CU的PU的预测数据。所选择的预测数据的预测块在本文中可以被称为所选择的预测块。
预测处理单元100的LIC样本单元121可以确定用于预测当前块的相邻样本,其中,相邻样本被布置在当前图片的区域外部,该区域包括当前块、与当前块的顶行邻接的一行样本、以及与当前块的左列邻接的一列样本。LIC样本单元121可以使用相邻样本来推导出用于当前块的局部照度补偿信息。预测处理单元100(例如,帧间预测处理单元120)可以使用由多模型LIC样本单元121推导出的局部照度补偿信息来生成预测块。
残差生成单元102可以基于用于CU的编码块(例如,亮度、Cb和Cr编码块)和针对CU的PU所选择的预测块(例如,预测亮度、Cb和Cr块)来生成用于CU的残差块(例如,亮度、Cb和Cr残差块)。例如,残差生成单元102可以生成CU的残差块,使得残差块中的每个样本具有等于以下项的值:CU的编码块中的样本与CU的PU的对应选择的预测块中的对应样本之间的差。
变换处理单元104可以执行四叉树分割,以将与CU相关联的残差块分割为与CU的TU相关联的变换块。因此,TU可以与亮度变换块和两个色度变换块相关联。CU的TU的亮度和色度变换块的大小和位置可以是基于或者可以不是基于CU的PU的预测块的大小和位置的。被称为“残差四叉树”(RQT)的四叉树结构可以包括与区域中的每个区域相关联的节点。CU的TU可以对应于RQT的叶节点。
变换处理单元104可以通过将一个或多个变换应用于CU的每个TU的变换块来生成用于该TU的变换系数块。变换处理单元104可以将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、方向变换或概念上类似的变换应用于变换块。在一些示例中,变换处理单元104不将变换应用于变换块。在这样的示例中,变换块可以被视为变换系数块。
量化单元106可以对系数块中的变换系数进行量化。量化过程可以减小与一些或所有变换系数相关联的比特深度。例如,可以在量化期间将n比特变换系数向下舍入为m比特变换系数,其中n大于m。量化单元106可以基于与CU的TU相关联的量化参数(QP)值来对与CU的TU相关联的系数块进行量化。视频编码器20可以通过调整与CU相关联的QP值来调整被应用于与CU相关联的系数块的量化程度。量化可能引入信息丢失。因此,经量化的变换系数可能具有比原始变换系数要低的精度。
逆量化单元108和逆变换处理单元110可以分别对系数块应用逆量化和逆变换,以从系数块重构残差块。重构单元112可以将经重构的残差块与来自由预测处理单元100生成的一个或多个预测块的对应样本相加,以产生与TU相关联的经重构的变换块。通过以这种方式来重构针对CU的每个TU的变换块,视频编码器20可以重构CU的编码块。
滤波器单元114可以执行一个或多个解块操作以减少与CU相关联的编码块中的块效应。在滤波器单元114对经重构的编码块执行一个或多个解块操作之后,解码图片缓冲器116可以存储经重构的编码块。帧间预测处理单元120可以使用包含经重构的编码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可以使用解码图片缓冲器116中的经重构的编码块来对在与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一个或多个熵编码操作以生成经熵编码的数据。例如,熵编码单元118可以执行CABAC操作、上下文自适应可变长度编码(CAVLC)操作、可变-可变(V2V)长度编码操作、基于语法的上下文自适应二进制算术编码(SBAC)操作、概率区间分割熵(PIPE)编码操作、指数哥伦布编码操作、或者对数据的另一种类型的熵编码操作。视频编码器20可以输出包括由熵编码单元118生成的经熵编码的数据的比特流。例如,比特流可以包括表示用于CU的变换系数的值的数据。
图20是示出可以被配置为实现本公开内容的技术的示例视频解码器30的框图。图20是出于解释的目的而提供的,并且不对如在本公开内容中广泛举例说明和描述的技术进行限制。出于解释的目的,本公开内容在HEVC编码的背景下描述了视频解码器30。然而,本公开内容的技术可以适用于各种编码标准或方法。
在图20的示例中,视频解码器30包括熵解码单元150、视频数据存储器151、预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158、滤波器单元160和解码图片缓冲器162。预测处理单元152包括运动补偿单元164和帧内预测处理单元166。在其它示例中,视频解码器30可以包括更多、更少或不同的功能组件。
视频数据存储器151可以存储要由视频解码器30的组件解码的经编码的视频数据,例如经编码的视频比特流。可以例如经由对视频数据的有线或无线网络传送从计算机可读介质16(例如,来自诸如相机之类的本地视频源),或者通过访问物理数据存储介质,来获得被存储在视频数据存储器151中的视频数据。视频数据存储器151可以形成存储来自经编码的视频比特流的经编码的视频数据的编码图片缓冲器(CPB)。解码图片缓冲器162可以是参考图片存储器,其存储参考视频数据,以在例如在帧内或帧间编码模式下由视频解码器30对视频数据进行解码时使用,或者用于输出。视频数据存储器151和解码图片缓冲器162可以由各种存储器设备中的任何一种形成,例如,动态随机存取存储器(DRAM)(包括同步DRAM(SDRAM))、磁阻RAM(MRAM)、电阻性RAM(RRAM)、或其它类型的存储器设备。视频数据存储器151和解码图片缓冲器162可以由相同的存储器设备或单独的存储器设备来提供。在各个示例中,视频数据存储器151可以与视频解码器30的其它组件在芯片上,或者相对于那些组件在芯片外。视频数据存储器151可以与图1的存储介质28相同或者作为其一部分。
视频数据存储器151接收并且存储比特流的经编码的视频数据(例如,NAL单元)。熵解码单元150可以从视频数据存储器151接收经编码的视频数据(例如,NAL单元),并且可以解析NAL单元以获得语法元素。熵解码单元150可以对NAL单元中的熵编码语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重构单元158和滤波器单元160可以基于从比特流中提取的语法元素来生成经解码的视频数据。熵解码单元150可以执行通常与熵编码单元118的过程相反的过程。
除了从比特流获得语法元素之外,视频解码器30还可以对未被分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可以对CU的每个TU执行重构操作。通过针对CU的每个TU执行重构操作,视频解码器30可以重构CU的残差块。
作为对CU的TU执行重构操作的一部分,逆量化单元154可以对与TU相关联的系数块进行逆量化,即解量化。在逆量化单元154对系数块进行逆量化之后,逆变换处理单元156可以将一个或多个逆变换应用于系数块以便生成与TU相关联的残差块。例如,逆变换处理单元156可以将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆方向变换或另一逆变换应用于系数块。
逆量化单元154可以执行本公开内容的特定技术。例如,对于视频数据的图片的CTU的CTB内的多个量化组中的至少一个相应的量化组,逆量化单元154可以至少部分地基于在比特流中用信号发送的局部量化信息来推导出用于相应量化组的相应量化参数。另外,在该示例中,逆量化单元154可以基于用于相应量化组的相应量化参数,来对CTU的CU的TU的变换块的至少一个变换系数进行逆量化。在该示例中,相应量化组被定义为按照编码顺序的连续的CU或编码块的组,使得相应量化组的边界必须是CU或编码块的边界,并且相应量化组的大小大于或等于门限。视频解码器30(例如,逆变换处理单元156、重构单元158和滤波器单元160)可以基于变换块的经逆量化的变换系数来重构CU的编码块。
预测处理单元152的LIC样本单元165可以确定用于预测当前块的相邻样本,其中,相邻样本被布置在当前图片的区域外部,该区域包括当前块、与当前块的顶行邻接的一行样本、以及与当前块的左列邻接的一列样本。LIC样本单元165可以使用相邻样本来推导出用于当前块的局部照度补偿信息。预测处理单元152(例如,帧内预测处理单元166)可以使用由LIC样本单元165推导出的局部照度补偿信息来生成预测块。
如果PU是使用帧内预测来编码的,则帧内预测处理单元166可以执行帧内预测以生成PU的预测块。帧内预测处理单元166可以使用帧内预测模式,以基于样本在空间上相邻的块来生成PU的预测块。帧内预测处理单元166可以基于从比特流获得的一个或多个语法元素来确定用于PU的帧内预测模式。
如果PU是使用帧间预测来编码的,则熵解码单元150可以确定用于PU的运动信息。运动补偿单元164可以基于PU的运动信息来确定一个或多个参考块。运动补偿单元164可以基于一个或多个参考块来生成用于PU的预测块(例如,预测亮度、Cb和Cr块)。
重构单元158可以使用用于CU的TU的变换块(例如,亮度、Cb和Cr变换块)和CU的PU的预测块(例如,亮度、Cb和Cr块)(即,帧内预测数据或帧间预测数据(在适用的情况下))来重构用于CU的编码块(例如,亮度、Cb和Cr编码块)。例如,重构单元158可以将变换块(例如,亮度、Cb和Cr变换块)的样本与预测块(例如,亮度、Cb和Cr预测块)的对应样本相加以重构CU的编码块(例如,亮度、Cb和Cr编码块)。
滤波器单元160可以执行解块操作以减少与CU的编码块相关联的块效应。视频解码器30可以将CU的编码块存储在解码图片缓冲器162中。解码图片缓冲器162可以提供参考图片以用于后续的运动补偿、帧内预测以及在显示设备(诸如图1的显示设备32)上的呈现。例如,视频解码器30可以基于解码图片缓冲器162中的块来对其它CU的PU执行帧内预测或帧间预测操作。
图21是示出用于使用被确定为可用于利用多个线性模型来推导局部照度补偿信息的相邻样本来对视频数据进行解码的技术的流程图。当前块可以包括当前CU或者当前CU的一部分。尽管关于视频解码器30进行了描述,但是应当理解的是,其它设备可以被配置为执行与图21的方法类似的方法。
在图21的示例中,LIC样本单元165确定被布置在区域外部的用于预测块的相邻样本(202)。LIC样本单元165推导LIC参数信息(204)。LIC样本单元165使用LIC参数信息来推导线性模型(206)。预测处理单元152使用线性模型来生成预测块(208)。视频解码器30使用预测块来对当前块进行解码(210)。
图22是示出用于使用被确定为可用于利用多个线性模型来推导局部照度补偿信息的相邻样本来对视频数据进行编码的技术的流程图。当前块可以包括当前CU或者当前CU的一部分。尽管关于视频编码器20进行了描述,但是应当理解的是,其它设备可以被配置为执行与图22的方法类似的方法。
在图22的示例中,LIC样本单元121确定被布置在区域外部的用于预测块的相邻样本(252)。LIC样本单元121推导LIC参数信息(254)。LIC样本单元121使用LIC参数信息来推导线性模型(256)。LIC样本单元121使用线性模型来生成预测块(258)。视频编码器20使用预测块对当前块进行编码(260)。
使用本文描述的用于确定在包括当前块的区域外部的用于推导局部照度补偿信息的相邻样本的一种或多种技术,视频编码器20和/或视频解码器30可以被配置为以较少的延迟来推导用于当前块的预测块(与使用与当前块紧邻的相邻样本来推导局部照度补偿信息的系统相比)。例如,视频编码器20和/或视频解码器30可以被配置为进行以下操作:确定用于对当前块进行预测的多个相邻样本,其中,多个相邻样本被布置在当前图片的区域外部,该区域包括当前块、与当前块的顶行邻接的一行样本、以及与当前块的左列邻接的一列样本;使用多个相邻样本来推导用于当前块的局部照度补偿信息;以及使用局部照度补偿信息来生成预测块。减少在生成预测块时的延迟可以提高视频编码器20和/或视频解码器30的处理速度,和/或减少视频编码器20和/或视频解码器30的功耗。
为了说明的目的,已经关于HEVC标准的扩展描述了本公开内容的某些方面。然而,在本公开内容中描述的技术对于其它视频编码过程可以是有用的,包括尚未开发的其它标准或专有视频编码过程。
如在本公开内容中描述的视频编码装置可以指代视频编码器或视频解码器。类似地,视频编码单元可以指代视频编码器或视频解码器。同样地,视频编码(coding)可以在适用的情况下指代视频编码(encoding)或视频解码(decoding)。在本公开内容中,短语“基于”可以指示仅基于、至少部分地基于或者以某种方式基于。本公开内容可以使用术语“视频单元”或“视频块”或“块”来指代一个或多个样本块以及用于对一个或多个样本块的样本进行编码的语法结构。视频单元的示例类型可以包括CTU、CU、PU、变换单元(TU)、宏块、宏块分区等。在一些背景下,PU的讨论可以与宏块或宏块分区的讨论互换。视频块的示例类型可以包括编码树块、编码块以及视频数据的其它类型的块。
应认识到的是,根据示例,本文描述的任何技术的某些动作或事件可以以不同的顺序执行,可以被添加、合并或完全省略(例如,并非所有描述的动作或事件是对于实施所述技术都是必要的)。此外,在某些示例中,动作或事件可以例如通过多线程处理、中断处理或多个处理器并发地而不是顺序地执行。
在一个或多个示例中,所描述的功能可以用硬件、软件、固件或其任何组合来实现。如果用软件来实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或者通过其进行传输并且由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质或者通信介质,所述通信介质包括例如根据通信协议来促进计算机程序从一个地方传送到另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质、或者(2)诸如信号或载波之类的通信介质。数据存储介质可以是可以由一个或多个计算机或者一个或多个处理器访问以取得用于实现在本公开内容中描述的技术的指令、代码和/或数据结构的任何可用的介质。计算机程序产品可以包括计算机可读介质。
通过举例而非限制性的方式,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪存、或者能够用于以指令或数据结构形式存储期望的程序代码以及能够由计算机访问的任何其它介质。此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者无线技术(例如,红外线、无线电和微波)从网站、服务器或其它远程源传输指令,则同轴电缆、光纤光缆、双绞线、DSL或者无线技术(例如,红外线、无线电和微波)被包括在介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它临时性介质,而是替代地针对非临时性的有形存储介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述各项的组合也应当被包括在计算机可读介质的范围之内。
指令可以由固定功能和/或可编程处理电路来执行,包括一个或多个处理器来执行,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”可以指代前述结构中的任何一者或者适于实现本文描述的技术的任何其它结构。另外,在一些方面中,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者被并入经组合的编解码器中。此外,所述技术可以完全在一个或多个电路或逻辑元件中实现。
本公开内容的技术可以在多种多样的设备或装置中实现,包括无线手机、集成电路(IC)或一组IC(例如,芯片组)。在本公开内容中描述了各种组件、模块或单元以强调被配置以执行所公开的技术的设备的功能性方面,但是不一定需要通过不同的硬件单元来实现。确切而言,如上所述,各种单元可以被组合在编解码器硬件单元中,或者由可互操作的硬件单元的集合(包括如上所述的一个或多个处理器)结合适当的软件和/或固件来提供。
已经描述了各个示例。这些和其它示例在所附的权利要求的范围内。
Claims (30)
1.一种处理视频数据的方法,所述方法包括:
由处理电路确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;
由所述处理电路使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及
由所述处理电路使用所述局部照度补偿信息来生成预测块。
2.根据权利要求1所述的方法,其中,所述多个相邻样本包括被布置在一行中的第一样本集合以及被布置在一列中的第二样本集合,所述第二样本集合是与所述第一样本集合邻接的。
3.根据权利要求1所述的方法,其中,所述多个相邻样本包括被布置在一行中的第一样本集合以及被布置在一列中的第二样本集合,所述第二样本集合是与所述第一样本集合隔开的。
4.根据权利要求1所述的方法,还包括:
在推导用于所述当前块的所述局部照度补偿信息之前,由所述处理电路重构所述多个相邻样本。
5.根据权利要求1所述的方法,其中,所述多个相邻样本是与所述区域邻接的。
6.根据权利要求1所述的方法,其中,所述区域包括覆盖所述当前块的最大编码单元或编码树单元。
7.根据权利要求1所述的方法,其中,所述区域覆盖所述当前块、在所述当前块上方的编码块或在所述当前块左侧的编码块中的一者或多者。
8.根据权利要求1所述的方法,其中,推导所述局部照度补偿信息包括:使用所述多个相邻样本来计算权重和/或偏移。
9.根据权利要求8所述的方法,其中,推导所述局部照度补偿信息包括:使用所述多个相邻样本和多个参考相邻样本来计算所述权重和/或所述偏移。
11.根据权利要求9所述的方法,其中,所述多个参考相邻样本是与用于所述当前块的参考块邻接的。
12.根据权利要求9所述的方法,其中,所述多个参考相邻样本是与用于所述当前块的参考块不邻接的。
13.根据权利要求9所述的方法,还包括:
当所述多个参考相邻样本中的参考相邻样本被布置在子像素处时,由所述处理电路将所述参考相邻样本四舍五入为整数像素。
14.根据权利要求1所述的方法,还包括:
响应于所述当前块的邻接的上方样本、所述当前块的邻接的左侧样本或两者被布置在用于所述当前块的当前LCU外部,由所述处理电路确定要针对所述当前块应用局部照度补偿,其中,推导用于当前块的局部照度补偿信息是响应于确定要针对所述当前块应用局部照度补偿的。
15.根据权利要求1所述的方法,其中,处理包括编码,所述方法还包括:
由所述处理电路将所述视频数据存储在无线通信设备的存储器中;
由所述处理电路在所述无线通信设备的一个或多个处理器上处理所述视频数据;以及
由所述处理电路从所述无线通信设备的发射机发送所述视频数据。
16.根据权利要求1所述的方法,其中,处理包括解码,所述方法还包括:
由所述处理电路在无线通信设备的接收机处接收所述视频数据;
由所述处理电路将所述视频数据存储在所述无线通信设备的存储器中;以及
由所述处理电路在所述无线通信设备的一个或多个处理器上处理所述视频数据。
17.一种用于处理视频数据的装置,所述装置包括:
被配置为存储视频数据的一个或多个存储介质;以及
一个或多个处理器,其被配置为:
确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;
使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及
使用所述局部照度补偿信息来生成预测块。
18.根据权利要求17所述的装置,其中,所述多个相邻样本包括被布置在一行中的第一样本集合以及被布置在一列中的第二样本集合,所述第二样本集合是与所述第一样本集合邻接的。
19.根据权利要求17所述的装置,其中,所述多个相邻样本包括被布置在一行中的第一样本集合以及被布置在一列中的第二样本集合,所述第二样本集合是与所述第一样本集合隔开的。
20.根据权利要求17所述的装置,其中,所述一个或多个处理器还被配置为:
在推导用于所述当前块的所述局部照度补偿信息之前,重构所述多个相邻样本。
21.根据权利要求17所述的装置,其中,所述多个相邻样本是与所述区域邻接的。
22.根据权利要求17所述的装置,其中,所述区域包括覆盖所述当前块的最大编码单元或编码树单元。
23.根据权利要求17所述的装置,其中,所述区域覆盖所述当前块、在所述当前块上方的编码块或在所述当前块左侧的编码块中的一者或多者。
24.根据权利要求17所述的装置,其中,为了推导所述局部照度补偿信息,所述一个或多个处理器被配置为使用所述多个相邻样本来计算权重和/或偏移。
25.根据权利要求24所述的装置,其中,为了推导所述局部照度补偿信息,所述一个或多个处理器被配置为使用所述多个相邻样本和多个参考相邻样本来计算所述权重和/或所述偏移。
27.根据权利要求17所述的装置,其中,所述装置包括无线通信设备,所述无线通信设备进一步包括被配置为发送经编码的视频数据的发射机。
28.根据权利要求17所述的装置,其中,所述装置包括无线通信设备,所述无线通信设备进一步包括被配置为接收经编码的视频数据的接收机。
29.一种装置,包括:
用于确定用于对当前块进行预测的多个相邻样本的模块,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;
用于使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息的模块;以及
用于使用所述局部照度补偿信息来生成预测块的模块。
30.一种存储指令的计算机可读存储介质,所述指令在被执行时使得一个或多个处理器进行以下操作:
确定用于对当前块进行预测的多个相邻样本,其中,所述多个相邻样本被布置在当前图片的区域外部,所述区域包括所述当前块、与所述当前块的顶行邻接的一行样本、以及与所述当前块的左列邻接的一列样本;
使用所述多个相邻样本来推导用于所述当前块的局部照度补偿信息;以及
使用所述局部照度补偿信息来生成预测块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410912566.5A CN118714294A (zh) | 2018-02-20 | 2019-02-07 | 简化的局部照度补偿 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862632969P | 2018-02-20 | 2018-02-20 | |
US62/632,969 | 2018-02-20 | ||
US16/268,939 US10715810B2 (en) | 2018-02-20 | 2019-02-06 | Simplified local illumination compensation |
US16/268,939 | 2019-02-06 | ||
PCT/US2019/017070 WO2019164674A1 (en) | 2018-02-20 | 2019-02-07 | Simplified local illumination compensation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410912566.5A Division CN118714294A (zh) | 2018-02-20 | 2019-02-07 | 简化的局部照度补偿 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869217A true CN111869217A (zh) | 2020-10-30 |
CN111869217B CN111869217B (zh) | 2024-07-23 |
Family
ID=67616484
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410912566.5A Pending CN118714294A (zh) | 2018-02-20 | 2019-02-07 | 简化的局部照度补偿 |
CN201980013938.8A Active CN111869217B (zh) | 2018-02-20 | 2019-02-07 | 简化的局部照度补偿 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410912566.5A Pending CN118714294A (zh) | 2018-02-20 | 2019-02-07 | 简化的局部照度补偿 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10715810B2 (zh) |
EP (1) | EP3756352A1 (zh) |
CN (2) | CN118714294A (zh) |
WO (1) | WO2019164674A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715810B2 (en) | 2018-02-20 | 2020-07-14 | Qualcomm Incorporated | Simplified local illumination compensation |
US20190268611A1 (en) * | 2018-02-26 | 2019-08-29 | Mediatek Inc. | Intelligent Mode Assignment In Video Coding |
US10834409B2 (en) * | 2018-04-06 | 2020-11-10 | Arris Enterprises Llc | System and method of implementing multiple prediction models for local illumination compensation |
US10911751B2 (en) * | 2018-09-14 | 2021-02-02 | Tencent America LLC | Method and apparatus for video coding |
WO2020084506A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Harmonized local illumination compensation and intra block copy coding |
WO2020084502A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Video processing using local illumination compensation |
CN116248891A (zh) * | 2019-03-14 | 2023-06-09 | 华为技术有限公司 | 帧间预测的方法及相关装置 |
WO2020216177A1 (en) | 2019-04-20 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of chroma and luma syntax elements in video coding |
CN113785574B (zh) | 2019-05-30 | 2022-10-11 | 北京字节跳动网络技术有限公司 | 色度分量的自适应环路滤波 |
US11006121B2 (en) * | 2019-06-20 | 2021-05-11 | Tencent America LLC | LIC signaling methods |
US11272200B2 (en) * | 2019-06-24 | 2022-03-08 | Tencent America LLC | Method and apparatus for video coding |
US11924409B2 (en) * | 2021-02-21 | 2024-03-05 | Alibaba (China) Co., Ltd. | Systems and methods for inter prediction compensation |
WO2023172851A1 (en) * | 2022-03-08 | 2023-09-14 | Innopeak Technology, Inc. | Model adjustment for local illumination compensation in video coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704833A (zh) * | 2012-09-19 | 2015-06-10 | 高通股份有限公司 | 多视图或3维视频译码中的高级视图间残差预测 |
CN105379288A (zh) * | 2013-07-16 | 2016-03-02 | 高通股份有限公司 | 处理对视频译码的照明补偿 |
CN107690810A (zh) * | 2015-06-09 | 2018-02-13 | 高通股份有限公司 | 确定用于视频译码的照明补偿状态的系统及方法 |
CN107710764A (zh) * | 2015-06-09 | 2018-02-16 | 高通股份有限公司 | 确定用于视频译码的照明补偿状态的系统及方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2625902T3 (es) * | 2006-01-09 | 2017-07-20 | Dolby International Ab | Procedimientos y aparatos para la compensación de iluminación y color en la codificación de vídeo de múltiples vistas |
JP5467637B2 (ja) * | 2007-01-04 | 2014-04-09 | トムソン ライセンシング | マルチビュー・コード化ビデオにおける照度補償および/または色補償についてのコーディング・アーチファクトを低減する方法および装置 |
JP5436458B2 (ja) * | 2009-02-12 | 2014-03-05 | 日本電信電話株式会社 | 多視点画像符号化方法、多視点画像復号方法、多視点画像符号化装置、多視点画像復号装置、多視点画像符号化プログラムおよび多視点画像復号プログラム |
KR102006443B1 (ko) * | 2010-09-30 | 2019-08-02 | 한국전자통신연구원 | 오차 보상을 이용한 영상 부호화/복호화 방법 및 장치 |
US9807424B2 (en) | 2011-01-10 | 2017-10-31 | Qualcomm Incorporated | Adaptive selection of region size for identification of samples in a transition zone for overlapped block motion compensation |
US9883203B2 (en) | 2011-11-18 | 2018-01-30 | Qualcomm Incorporated | Adaptive overlapped block motion compensation |
US20130243085A1 (en) * | 2012-03-15 | 2013-09-19 | Samsung Electronics Co., Ltd. | Method of multi-view video coding and decoding based on local illumination and contrast compensation of reference frames without extra bitrate overhead |
RU2510944C2 (ru) * | 2012-07-03 | 2014-04-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ кодирования/декодирования многоракурсной видео последовательности на основе адаптивной локальной коррекции яркости опорных кадров без передачи дополнительных параметров (варианты) |
US9667942B2 (en) * | 2012-11-20 | 2017-05-30 | Qualcomm Incorporated | Adaptive luminance compensation in three dimensional video coding |
US9615089B2 (en) * | 2012-12-26 | 2017-04-04 | Samsung Electronics Co., Ltd. | Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction |
US9894359B2 (en) * | 2013-06-18 | 2018-02-13 | Sharp Kabushiki Kaisha | Illumination compensation device, LM prediction device, image decoding device, image coding device |
CN116962721A (zh) * | 2016-05-04 | 2023-10-27 | 微软技术许可有限责任公司 | 利用样本值的非相邻参考线进行帧内图片预测的方法 |
US11722677B2 (en) * | 2016-05-06 | 2023-08-08 | Interdigital Madison Patent Holdings, Sas | Method and system for decoder-side intra mode derivation for block-based video coding |
US20170339405A1 (en) * | 2016-05-20 | 2017-11-23 | Arris Enterprises Llc | System and method for intra coding |
MX2018014480A (es) * | 2016-05-25 | 2019-08-12 | Arris Entpr Llc | Codificacion de prediccion angular ponderada mejorada para intra codificacion. |
KR20190029737A (ko) * | 2016-09-22 | 2019-03-20 | 엘지전자 주식회사 | 영상 코딩 시스템에서 조도 보상 기반 인터 예측 방법 및 장치 |
US10674165B2 (en) * | 2016-12-21 | 2020-06-02 | Arris Enterprises Llc | Constrained position dependent intra prediction combination (PDPC) |
KR20200057082A (ko) * | 2017-10-09 | 2020-05-25 | 애리스 엔터프라이지즈 엘엘씨 | 적응적 동일하지 않은 가중 평면 예측 |
MX2020008575A (es) * | 2018-02-15 | 2020-11-12 | Arris Entpr Llc | Tamaño de plantilla variable para coincidencia de plantilla. |
US10715810B2 (en) | 2018-02-20 | 2020-07-14 | Qualcomm Incorporated | Simplified local illumination compensation |
-
2019
- 2019-02-06 US US16/268,939 patent/US10715810B2/en active Active
- 2019-02-07 WO PCT/US2019/017070 patent/WO2019164674A1/en unknown
- 2019-02-07 CN CN202410912566.5A patent/CN118714294A/zh active Pending
- 2019-02-07 CN CN201980013938.8A patent/CN111869217B/zh active Active
- 2019-02-07 EP EP19707198.8A patent/EP3756352A1/en active Pending
-
2020
- 2020-07-10 US US16/926,337 patent/US11425387B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104704833A (zh) * | 2012-09-19 | 2015-06-10 | 高通股份有限公司 | 多视图或3维视频译码中的高级视图间残差预测 |
CN105379288A (zh) * | 2013-07-16 | 2016-03-02 | 高通股份有限公司 | 处理对视频译码的照明补偿 |
CN107690810A (zh) * | 2015-06-09 | 2018-02-13 | 高通股份有限公司 | 确定用于视频译码的照明补偿状态的系统及方法 |
CN107710764A (zh) * | 2015-06-09 | 2018-02-16 | 高通股份有限公司 | 确定用于视频译码的照明补偿状态的系统及方法 |
Non-Patent Citations (1)
Title |
---|
LIU H ET AL.: "Local Illumination Compensation", 《VCEG-AZ06-R1》, 25 June 2015 (2015-06-25) * |
Also Published As
Publication number | Publication date |
---|---|
US20190260996A1 (en) | 2019-08-22 |
CN111869217B (zh) | 2024-07-23 |
CN118714294A (zh) | 2024-09-27 |
WO2019164674A1 (en) | 2019-08-29 |
US20200344482A1 (en) | 2020-10-29 |
US11425387B2 (en) | 2022-08-23 |
US10715810B2 (en) | 2020-07-14 |
EP3756352A1 (en) | 2020-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111567043B (zh) | 对视频数据进行译码的方法、装置和计算机可读存储介质 | |
CN111869217B (zh) | 简化的局部照度补偿 | |
AU2018349463B2 (en) | Low-complexity design for FRUC | |
CN110383839B (zh) | 仿射运动信息导出 | |
TWI750415B (zh) | 用於視頻寫碼之寫碼仿射預測移動資訊 | |
CN107211157B (zh) | 用于视频译码的重叠运动补偿 | |
RU2742298C2 (ru) | Выведение вектора движения при видеокодировании | |
CN110089116B (zh) | 通过光照补偿和整数运动向量限制进行编码优化 | |
US20200228796A1 (en) | Local illumination compensation in video coding | |
WO2019140189A1 (en) | Affine motion compensation with low bandwidth | |
WO2018126163A1 (en) | Motion vector generation for affine motion model for video coding | |
CN111164977A (zh) | 视频译码中的仿射预测 | |
WO2019051146A1 (en) | FILLING LIMIT PIXELS WITH MOTION COMPENSATION | |
JP2020511859A (ja) | 復号器側動きベクトル導出によって導出された動きベクトル情報を制約すること | |
CN112262580B (zh) | 用于视频编码的解码器侧运动矢量推导 | |
WO2019136131A1 (en) | Generated affine motion vectors | |
CN111557095A (zh) | 多模型局部照明补偿 | |
CN114503584A (zh) | 基于历史的运动矢量预测 | |
CN112534820A (zh) | 信令通知子预测单元运动矢量预测器 | |
CN116803081A (zh) | 用于视频编解码的基于模型的运动矢量差导出和模板匹配预测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |