CN112385233A - 合并的依赖模式的帧内平滑(mdis)与具有依赖位置的帧内预测组合(pdpc)的内插值滤波器切换 - Google Patents
合并的依赖模式的帧内平滑(mdis)与具有依赖位置的帧内预测组合(pdpc)的内插值滤波器切换 Download PDFInfo
- Publication number
- CN112385233A CN112385233A CN201980045427.4A CN201980045427A CN112385233A CN 112385233 A CN112385233 A CN 112385233A CN 201980045427 A CN201980045427 A CN 201980045427A CN 112385233 A CN112385233 A CN 112385233A
- Authority
- CN
- China
- Prior art keywords
- intra
- block
- prediction mode
- pdpc
- reference sample
- 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
- 230000001419 dependent effect Effects 0.000 title claims abstract description 21
- 238000009499 grossing Methods 0.000 title description 19
- 239000013074 reference sample Substances 0.000 claims abstract description 101
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 113
- 230000015654 memory Effects 0.000 claims description 52
- 239000000523 sample Substances 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 26
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 29
- 238000012545 processing Methods 0.000 description 29
- 238000013139 quantization Methods 0.000 description 26
- 239000013598 vector Substances 0.000 description 22
- 238000001914 filtration Methods 0.000 description 21
- 241000023320 Luma <angiosperm> Species 0.000 description 19
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000005192 partition Methods 0.000 description 14
- 238000000638 solvent extraction Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005070 sampling Methods 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 238000013500 data storage Methods 0.000 description 7
- 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 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101000984533 Homo sapiens Ribosome biogenesis protein BMS1 homolog Proteins 0.000 description 2
- 102100027057 Ribosome biogenesis protein BMS1 homolog Human genes 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 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
- 230000007774 longterm Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/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/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/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频解码器可以被配置为:确定视频数据块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式制码的;响应于所述帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;响应于所述帧内预测模式是所述特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;基于所述帧内预测模式确定预测的参考采样值;基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值,预测所述视频数据块的采样。
Description
相关申请的交叉引用
本申请要求享受于2018年7月6日递交的美国临时专利申请62/694,932以及于2019年7月3日递交的美国专利申请16/503,089的权益,在此通过引用的方式将上述每个申请的完整内容并入本文。
技术领域
本公开内容涉及视频编码和视频解码。
背景技术
数字视频功能可以被纳入多种设备,这些设备包括:数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌面型计算机、平板电脑、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝式或卫星无线电话、所谓的“智能手机”、视频电话会议设备、视频流式传输设备等等。数字视频设备实现视频制码技术,例如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频制码(AVC)标准、高效视频制码(HEVC)标准、ITU-T H.265/高效视频制码(HEVC)以及这些标准的扩展中定义的标准中描述的那些技术。通过实现这样的视频制码技术,视频设备可以更有效地发送、接收、编码、解码和/或存储数字视频信息。
视频制码技术包括空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频制码,可以将视频切片(例如,视频图片或视频图片的一部分)划分为视频块,这些视频块也可以被称为制码树单元(CTU)、制码单元(CU)和/或制码节点。使用相对于同一图片中相邻块中的参考采样的空间预测,对图片的帧内编码(I)切片中的视频块进行编码。图片的帧间制码(P或B)切片中的视频块可使用针对同一图片中相邻块中参考采样的空间预测,或针对其它参考图片中的参考采样的时间预测。图片可以被称为帧,并且参考图片可以被称为参考帧。
发明内容
概括地说,本公开内容描述了与帧内预测视频数据块有关的技术。更具体地说,本公开内容描述了与使用依赖位置的(帧内)预测组合(PDPC)的帧内预测有关的技术,以及用于合并依赖模式的帧内平滑(MDIS)和插值滤波器切换的技术。
根据一个示例,一种对视频数据进行解码的方法包括:确定视频数据块是使用具有依赖位置帧内预测组合(PDPC)的帧内预测模式制码;响应于帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;响应于帧内预测模式是特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;基于帧内预测模式确定预测的参考采样值;以及基于预测的参考采样值、第一PDPC参考采样值和第二PDPC参考采样值,预测视频数据块的采样。
根据另一示例,一种用于对视频数据进行解码的设备包括:存储器,其被配置为存储视频数据;以及一个或多个处理器,其在电路中实现并且被配置为:确定视频数据块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式制码;响应于帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;响应于帧内预测模式是特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;基于帧内预测模式确定预测的参考采样值;以及基于预测的参考采样值、第一PDPC参考采样值和第二PDPC参考采样值,预测视频数据块的采样。
根据另一示例,一种存储有指令的计算机可读存储介质,其中,当由一个或多个处理器执行时指令使一个或多个处理器:确定视频数据块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式制码;响应于帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;响应于帧内预测模式是特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;基于帧内预测模式确定预测的参考采样值;以及基于预测的参考采样值、第一PDPC参考采样值和第二PDPC参考采样值,预测视频数据块的采样。
根据另一示例,一种用于对视频数据进行解码的装置包括:用于确定视频数据块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式制码的单元;用于响应于帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值的单元;用于响应于帧内预测模式是特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值的单元;用于基于帧内预测模式确定预测的参考采样值的单元;以及用于基于预测的参考采样值、第一PDPC参考采样值和第二PDPC参考采样值,预测视频数据块的采样的单元。
在附图和下面的描述中阐述了一个或多个示例的细节。其它特征、目标和优点从说明书、附图以及权利要求书将是显而易见的。
附图说明
图1是说明可以执行本公开内容的技术的示例视频编码和解码系统的方块图。
图2A和图2B是示出示例四叉树二叉树(QTBT)结构以及相应编码树单元(CTU)的概念图。
图3是说明可以执行本公开内容的技术的示例视频编码器的方块图。
图4是说明可以执行本公开内容的技术的示例视频解码器的方块图。
图5A和图5B是示出根据本公开内容的技术的、使用多个参考线(MRL)和依赖位置的帧内预测组合(PDPC)的帧内预测概念的概念图。
图6是示出用于对当前块进行编码的示例过程的流程图。
图7是示出用于对当前块进行解码的示例过程的流程图。
图8是示出根据本公开内容的一个或多个示例的、用于对当前块进行解码的一种示例过程的流程图。
具体实施方式
各种视频制码标准,包括最近开发的高效视频制码(HEVC)标准和当前正在开发的通用视频制码(VVC)标准,都包括针对视频块的预测制码模式,其中,基于已被制码的视频数据块对当前正在被制码(即,被编码或被解码)的块进行预测。在帧内预测模式中,基于与当前块在同一图片中的一个或多个先前被制码的相邻块来预测当前块,而在帧间预测模式中,基于不同图片中已制码的块来预测当前块。在帧间预测模式中,确定先前制码的帧的块以用作预测块的过程有时被称为运动估计,其通常由视频编码器执行;并且识别和检索预测块的过程为有时被称为运动补偿,其由视频编码器和视频解码器执行。
为了使用帧内预测来生成预测块,视频制码器(即,视频编码器或视频解码器)可以基于参考采样集合来确定预测块的采样值。参考采样集合可以包括当前图片的在当前块的左列中的采样和当前图片的在当前块的上方的行中的采样。视频制码器使用参考采样依据预测块的帧内预测模式以不同方式确定预测块的采样的值。帧内预测的较早实现仅使用与正被制码的块紧邻的行或列的采样。然而,帧内预测的较新实现可利用多个参考线,并且附加地或可替代地,还可以使用与正被制码的块不紧邻的线。
在基于参考采样的集合确定预测块的采样的值之前,视频制码器可将滤波器应用于参考采样。将滤波器应用于参考采样可以提高压缩效率。已经开发出多种技术来将各种类型的滤波器应用于参考采样。例如,依赖模式的帧内平滑(MDIS)是一种将滤波器应用于参考采样的技术。在MDIS中,视频制码器可以依据帧内预测模式和预测块的大小来确定是否将任何滤波器应用于参考采样。另外,如果视频制码器确定将滤波器应用于参考图片,则视频制码器可依据帧内预测模式和预测块的大小而将不同滤波器应用于参考采样。视频制码器可存储原始未经滤波的参考采样(例如,出于输出参考采样或在其它块的预测中重用的目的),并且可能需要存储经滤波的参考采样。
除了作为执行MDIS的一部分将滤波器应用于参考采样之外,视频制码器还可将插值滤波器应用于参考采样。视频制码器将插值滤波器应用于整数参考采样以确定在整数参考采样之间的参考采样的值。整数参考采样是当前图片内的整数值坐标处的参考采样。视频制码器可使用插值参考采样来确定预测块中的采样的值。当应用插值滤波器时,视频制码器可将一组权重应用于整数参考采样。不同的子整数位置可以有不同的权重。
此外,视频制码器可以被配置为在不同情况下应用不同类型的插值滤波器。例如,视频制码器可以被配置为在某些情况下应用三次插值滤波器且在其它情况下应用高斯插值滤波器。像作为执行MDIS的一部分应用的滤波器一样,高斯插值滤波器可以提供平滑效果。因此,视频制码器实际上可以连续地应用两个平滑滤波器操作。平滑滤波器是一种低通滤波器,它使低于截止频率的信号通过。非平滑滤波器是一种全通滤波器或截止频率的截止高于平滑滤波器的截止频率的滤波器。
三次插值滤波器可以包含负抽头系数,这可能会导致超出范围的值。当使用多个参考线时,视频制码器可以将三次滤波器应用于一条以上的条线,并且通过对来自每条线的经滤波采样进行组合(例如,加权平均)来获得参考采样。在这种情况下,在对采样进行组合之后执行剪裁操作可能会导致放大可能由于超出范围的值而发生的误差。
视频制码器可以另外使用依赖位置的帧内预测组合(PDPC)来对块进行帧内预测。在PDPC中,视频制码器从顶部参考线和左侧参考线(被称为PDPC参考采样)确定采样的值,并使用PDPC参考采样与从帧内预测模式获得的采样的加权平均值来实现更高的压缩效率。本公开内容描述了用于控制是否结合帧内预测和PDPC执行滤波的技术。本公开内容的技术将对PDPC参考采样的滤波的使用与用于常规帧内预测的参考采样的滤波的使用进行分离,可以改善总体视频制码质量和效率。
图1是示出可以执行本公开内容的帧内预测相关技术的示例视频编码和解码系统100的方块图。概括地说,本公开内容的技术涉及对视频数据进行制码(编码和/或解码),并且更具体地说,本公开内容的技术涉及使用PDPC的帧间预测。概括地说,视频数据包括用于处理视频的任何数据。因此,视频数据可以包括原始的未经制码的视频、编码视频、解码(例如,经重构的)视频以及视频元数据,例如信令数据。
如图1所示,在该示例中,系统100包括源设备102,其提供要由目的地设备116解码和显示的编码视频数据。具体而言,源设备102经由计算机可读介质110向目的地设备116提供视频数据。源设备102和目标设备116可以包括多种设备中的任何一种,包括桌面式计算机、笔记本计算机(即膝上型计算机)、平板计算机、机顶盒、例如智能手机的电话手持设备、电视机、照相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等等。在一些情况下,源设备102和目的地设备116可以被配备用于无线通信,因此可以被称为无线通信设备。
在图1的示例中,源设备102包括视频源104、存储器106、视频编码器200和输出接口108。目的地设备116包括输入接口122、视频解码器300、存储器120和显示设备118。根据本公开内容,源设备102的视频编码器200和目的地设备116的视频解码器300可以被配置为:在滤波器被应用之前或之后,应用用于对来自每个参考线的每个相应采样执行剪裁操作的技术。因此,源设备102表示视频编码设备的示例,而目的地设备116表示视频解码设备的示例。在其它示例中,源设备和目的地设备可以包括其它组件或布置。例如,源设备102可以从诸如外部摄像机的外部视频源接收视频数据。同样,目的地设备116可以与外部显示设备接口,而不是包括集成的显示设备。
图1所示的系统100仅是一个示例。通常,任何数字视频编码和/或解码设备可以在滤波器被应用之前或之后执行用于对来自每个参考线的每个相应采样执行剪裁操作的技术。源设备102和目的地设备116仅仅是此类制码设备的示例,其中源设备102生成经制码的视频数据以传输到目标设备116。本公开内容将“制码”设备称为执行数据的制码(编码和/或解码)的设备。因此,视频编码器200和视频解码器300分别表示制码设备的示例,具体而言,分别是视频编码器和视频解码器。在一些示例中,设备102、116可以用基本上对称的方式来进行操作,从而使得设备102、116中的每个设备包括视频编码和解码组件。因此,系统100可以支持视频设备102、116之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。
通常,视频源104表示视频数据的源(即,原始、未经制码的视频数据),并将视频数据的一系列顺序的图片(也被称为“帧”)提供给视频编码器200,视频编码器200对图片的数据进行编码。源设备102的视频源104可以包括视频捕获设备(例如摄像机,包含先前捕获的原始视频的视频档案和/或视频馈送接口),以从视频内容提供商接收视频。作为另一替代方案,视频源104可以生成基于计算机图形的数据作为源视频,或者实时视频、归档视频和计算机生成的视频的组合。在每种情况下,视频编码器200对捕获的、预捕获的或计算机生成的视频数据进行编码。视频编码器200可以将图像从接收的顺序(有时被称为“显示顺序”)重新排列为用于制码的制码顺序。视频编码器200可以生成包括编码视频数据的比特流。然后,源设备102可以经由输出接口108将编码视频数据输出到计算机可读介质110上,以通过例如目的地设备116的输入接口122进行接收和/或检索。
源设备102的存储器106和目的设备116的存储器120代表通用存储器。在一些示例中,存储器106、120可以存储原始视频数据,例如,来自视频源104的原始视频和来自视频解码器300的原始、经解码视频数据。附加地或可替代地,存储器106、120可以存储分别可由例如视频编码器200和视频解码器300执行的软件指令。尽管在该示例中与视频编码器200和视频解码器300分开示出,但应当理解的是:视频编码器200和视频解码器300还可以包括内部存储器,以实现功能上相似或等效的目的。此外,存储器106、120可以存储编码视频数据,例如从视频编码器200输出并输入到视频解码器300的编码视频数据。在一些示例中,可以分配存储器106、120的一些部分作为一个或多个视频缓冲器,例如,以存储原始、解码和/或编码的视频数据。
计算机可读介质110可以代表能够将编码视频数据从源设备102传输到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示通信介质,以使源设备102能够例如经由射频网络或基于计算机的网络将编码视频数据直接实时发送到目的地设备116。输出接口108可以根据通信标准(例如无线通信协议)来调制包括编码视频数据的传输信号,并且输入接口122可以对接收到的传输信号进行调制。通信介质可以包括任何无线或有线通信介质,例如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成基于分组的网络的一部分,例如局域网、广域网或例如互联网的全球网络。通信介质可以包括路由器、交换机、基站或有助于从源设备102到目的地设备116的通信的任何其它设备。
在一些示例中,源设备102可以将编码数据从输出接口108输出到存储设备116。类似地,目的地设备116可以经由输入接口122访问来自存储设备116的编码数据。存储设备116可以包括各种分布式或本地访问的数据存储介质中的任何一种,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存器、易失性或非易失性存储器或用于存储编码视频数据的任何其它合适的数字存储介质。
在一些示例中,源设备102可以将编码视频数据输出到文件服务器114或可以存储由源设备102生成的编码视频的另一中间存储设备。目的地设备116可以经由流式传输或下载来访问来自文件服务器114的存储的视频数据。文件服务器114可以是能够存储编码视频数据并将该编码视频数据发送到目的地设备116的任何类型的服务器设备。文件服务器114可以代表网络服务器(例如,用于网站)、文件传输协议(FTP)服务器、内容分发网络设备或网络附加存储(NAS)设备。目的地设备116可以通过包括互联网连接的任何标准数据连接来访问来自文件服务器114的编码视频数据。这可以包括适合访问存储在文件服务器114上的编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这二者的组合。文件服务器114和输入接口122可以被配置为根据流式传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可以代表无线发射机/接收机、调制解调器、有线网络组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任何一种进行操作的无线通信组件,或者其它物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据蜂窝通信标准(例如,4G、4G-LTE(长期演进)、高级LTE、5G等)来传输数据(例如编码视频数据)。在输出接口108包括无线发射机的一些示例中,输出接口108和输入接口122可以配置为根据其它无线标准(例如,IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等)来传输数据(例如编码视频数据)。在一些示例中,源设备102和/或目的地设备116可以包括各自的片上系统(SoC)设备。例如,源设备102可以包括SoC设备以执行贡献于视频编码器200和/或输出接口108的功能,并且目的地设备116可以包括SoC设备以执行贡献于视频解码器300和/或输入接口122的功能。
本公开内容的技术可以应用于支持各种多媒体应用中的任何一种的视频制码,例如空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输,例如HTTP(DASH)上的动态自适应流式传输、编码到数据存储介质上的数字视频,对存储在数据存储介质上的数字视频进行解码,或者其它应用。
目的地设备116的输入接口122从计算机可读介质110(例如、存储设备112、文件服务器114等)接收编码视频比特流。编码的视频比特流计算机可读介质110可以包括由视频编码器200定义的信令信息,其也由视频解码器300使用,例如具有描述视频块或其它编码单元(例如,切片、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示解码视频数据的经解码图片。显示设备118可以代表多种显示设备中的任何一种,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
尽管未在图1中显示,但在一些示例中,视频编码器200和视频解码器300可以分别与音频编码器和/或音频解码器集成在一起,并且可以包括适当的MUX-DEMUX单元或其它硬件和/或软件,以用于处理公共数据流中包括音频和视频二者的复用流。如果适用,MUX-DEMUX单元可以符合ITU H.223复用器协议或其它协议,例如用户数据报协议(UDP)。
视频编码器200和视频解码器300可以各自实现为各种合适的编码器和/或解码器电路中的任何一种,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑单元、软件、硬件、固件或其任何组合。当这些技术部分地以软件实现时,设备可将用于软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或多个处理器以硬件方式执行指令以执行本公开内容的技术。视频编码器200和视频解码器300中的每一个可以包括在一个或多个编码器或解码器中,其中的任意一个可以集成作为相应设备中的组合编码器/解码器(CODEC)的一部分。包括视频编码器200和/或视频解码器300的设备可以包括集成电路、微处理器和/或无线通信设备,例如蜂窝电话。
视频编码器200和视频解码器300可以根据视频制码标准(例如ITU-T H.265,也被称为高效视频制码(HEVC)或其扩展,例如多视图和/或可调节视频制码扩展)来进行操作。或者,视频编码器200和视频解码器300可以根据其它专有或工业标准(例如联合探索测试模型(JEM))来操作。然而,本公开内容的技术不限于任何特定的制码标准。
通常,视频编码器200和视频解码器300可以执行图片的基于块的制码。术语“块”通常是指包括待处理的数据的结构(例如,待编码和/或解码,或者在编码和/或解码过程中以其它方式待使用)。例如,块可以包括亮度和/或色度数据的采样的二维矩阵。通常,视频编码器200和视频解码器300可以对以YUV(例如,Y,Cb,Cr)格式表示的视频数据进行制码。也就是说,视频编码器200和视频解码器300可以对亮度和色度分量进行制码,而不是对图片采样的红、绿和蓝(RGB)数据进行制码,其中色度分量可以包括红色和蓝色色度分量。在一些示例中,视频编码器200在编码之前将接收到的RGB格式的数据转换成YUV表示,并且视频解码器300将YUV表示转换成RGB格式。或者,预处理和后处理单元(未示出)可以执行这些转换。
本公开内容通常可以提及图片的制码(例如,编码和解码)以包括对图片的数据进行编码或解码的过程。类似地,本发明可以提及对图片的块的制码以包括对块的数据进行编码或解码的过程,例如,预测和/或残差制码。编码视频比特流通常包括语法元素的一系列值,这些值表示制码决策(例如,制码模式)以及将图片划分为块。因此,提及对图片或块进行制码通常应理解为对形成图片或块的语法元素的值进行制码。
HEVC定义了各种块,包括制码单元(CU)、预测单元(PU)和变换单元(TU)。根据HEVC,视频制码器(例如,视频编码器200)根据四叉树结构将制码树单元(CTU)划分为CU。也就是说,视频制码器将CTU和CU划分为四个相等、不重叠的正方形,并且四叉树的每个节点具有零个或四个子节点。没有子节点的节点可以被称为“叶节点”,并且这种叶节点的CU可以包括一个或多个PU和/或一个或多个TU。视频制码器可进一步划分PU和TU。例如,在HEVC中,残差四叉树(RQT)表示TU的划分。在HEVC中,PU表示预测间数据,而TU表示残差数据。帧内预测的CU包括预测内信息,例如模式内指示。
作为另一示例,视频编码器200和视频解码器300可以被配置为根据JEM进行操作。根据JEM,视频制码器(例如,视频编码器200)将图片划分为多个制码树单元(CTU)。视频编码器200可根据树结构(例如四叉树-二叉树(QTBT)结构)来划分CTU。JEM的QTBT结构消除了多个划分类型的概念,例如HEVC的CU、PU和TU之间的分隔。JEM的QTBT结构包括两个级别:根据四叉树分区来划分的第一级,以及根据二叉树分区来划分的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于制码单元(CU)。
在一些示例中,视频编码器200和视频解码器300可以使用单个QTBT结构来表示亮度和色度分量中的每一个,而在其它示例中,视频编码器200和视频解码器300可以使用两个或更多个QTBT结构,例如,一个QTBT结构用于亮度分量,另一个QTBT结构用于两个色度分量(或两个QTBT结构用于相应的色度分量)。
视频编码器200和视频解码器300可以被配置为对:根据JEM对每个HEVC、QTBT分区使用四叉树分区或其它分区结构。为了说明的目的,针对QTBT分区给出了对本公开内容的技术的描述。然而,应当理解的是:本公开内容的技术还可以应用于被配置为使用四叉树分区或其它类型分区的视频制码器。
本本公开内容可互换地使用“NxN”和“N乘N”来指代块(例如CU或其它视频块)的采样尺寸在垂直维度和水平维度方面的采样维度,例如,16x16个采样或16乘16个采样。通常,16x16 CU在垂直方向上将具有16个采样(y=16),并且在水平方向上将具有16个采样(x=16)。同样地,NxN CU通常在垂直方向上具有N个采样,在水平方向上具有N个采样,其中N表示非负整数值。CU中的采样可以按行和列排列。此外,CU在水平方向上不一定具有与垂直方向上相同数量的采样。例如,CU可以包含N×M个采样,其中M不一定等于N。
视频编码器200对表示预测和/或残差信息以及其它信息的CU的视频数据进行编码。预测信息指示将如何预测CU以便形成用于CU的预测块。残差信息通常代表编码之前的CU采样与预测块之间的逐采样差异。
为了预测CU,视频编码器200通常可通过帧间预测或帧内预测来形成用于CU的预测块。帧间预测通常是指根据先前制码的图片的数据来预测CU,而帧内预测通常是指根据同一图片的先前制码的数据来预测CU。为了执行帧间预测,视频编码器200可使用一个或多个运动向量来生成预测块。视频编码器200通常可以例如在CU与参考块之间的差异方面执行运动搜索以识别与CU紧密匹配的参考块。视频编码器200可以使用绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差异来计算差值度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,视频编码器200可使用单向预测或双向预测来预测当前CU。
JEM还提供了仿射运动补偿模式,其可以被视为帧间预测模式。在仿射运动补偿模式中,视频编码器200可以确定表示非平移运动(例如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或更多个运动矢量。
为了执行帧内预测,视频编码器200可以选择帧内预测模式以生成预测块。JEM提供了67种帧内预测模式,包括各种方向模式以及平面模式和DC模式。通常,视频编码器200选择帧内预测模式,该帧内预测模式描述与当前块(例如,CU的块)相邻的采样,从这些相邻采样预测当前块的采样。假设视频编码器200以光栅扫描顺序(从左到右,从上到下)对CTU和CU进行制码,则此类采样通常可以在与当前块相同的图片中当前块的上方、上方左侧、或左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可对表示使用各种可用帧间预测模式中的哪一个的数据,以及相应模式的运动信息进行编码。对于单向或双向帧间预测,例如,视频编码器200可使用高级运动矢量预测(AMVP)或合并模式来对运动矢量进行编码。视频编码器200可使用类似模式来对仿射运动补偿模式的运动向量进行编码。
在预测(例如块的帧内预测或帧间预测)之后,视频编码器200可计算该块的残差数据。残差数据(例如残差块)表示该块与使用相应预测模式形成的该块的预测块之间的逐采样差异。视频编码器200可将一个或多个变换应用于残差块,以在变换域而非采样域中产生经变换的数据。例如,视频编码器200可将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。另外,视频编码器200可在第一变换之后应用次级变换,例如,与模式有关的不可分离的次级变换(MDNSST)、与信号有关的变换、Karhunen-Loeve变换(KLT)等等。视频编码器200在应用一个或多个变换之后产生变换系数。
如上所述,在进行任何变换以产生变换系数之后,视频编码器200可以执行变换系数的量化。量化通常是指以下过程:对变换系数进行量化以可能减少用于表示系数的数据量,从而提供进一步压缩。通过执行量化过程,视频编码器200可以减小与一些或所有系数相关联的比特深度。举例来说,视频编码器200可在量化期间将n比特值向下取整为m比特值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可以执行待量化的值的按位右移。
在量化之后,视频编码器200可以扫描变换系数,从而从包括量化变换系数的二维矩阵产生一维向量。可以将扫描设计为将较高能量(因此频率较低)的系数放在矢量的前部,并将较低能量(因此频率较高)的变换系数放在矢量的后部。在一些示例中,视频编码器200可以利用预定义的扫描顺序来扫描量化的变换系数以产生序列化的矢量,然后对矢量的量化的变换系数进行熵编码。在其它示例中,视频编码器200可以执行自适应扫描。在扫描量化的变换系数以形成一维矢量之后,视频编码器200可以例如根据上下文自适应二进制算术制码(CABAC)对一维矢量进行熵编码。视频编码器200还可以对语法元素的值进行熵编码,该语法元素描述与编码视频数据相关联的元数据,以供视频解码器300在解码视频数据时使用。
为了执行CABAC,视频编码器200可以将上下文模型内的上下文指派给要发送的符号。上下文可以涉及例如符号的相邻值是否为零值。概率确定可以基于分配给符号的上下文。
视频编码器200还可以例如在图片报头、块报头、切片报头或其它语法数据(例如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS))中向视频解码器300生成语法数据,例如基于块的语法数据、基于图片的语法数据和基于序列的语法数据。视频解码器300可类似地解码此类语法数据以确定如何对相应视频数据进行解码。
以此方式,视频编码器200可以生成包括编码视频数据的比特流,例如,描述将图片划分成块(例如,CU)的语法元素以及针对块的预测和/或残差信息。最终,视频解码器300可以接收比特流并对编码视频数据进行解码。
通常,视频解码器300执行与视频编码器200所执行的过程相逆的过程以对比特流的编码视频数据进行解码。例如,视频解码器300可以使用CABAC以与视频编码器200的CABAC编码过程基本相似(尽管与之相逆)的方式来对比特流的语法元素的值进行解码。语法元素可将图片的分区信息定义为CTU,并根据相应分区结构对每个CTU进行划分(例如,QTBT结构)以定义CTU的CU。语法元素还可以定义针对视频数据的块(例如,CU)的预测和残差信息。
残差信息可以由例如量化的变换系数来表示。视频解码器300可以对块的量化的变换系数进行逆量化和逆变换以再现该块的残差块。视频解码器300使用信号传达的预测模式(帧内预测或帧间预测)和相关的预测信息(例如,用于帧间预测的运动信息)来形成针对该块的预测块。视频解码器300然后可以(逐个采样地)对预测块和残差块进行组合以再现原始块。视频解码器300可以执行附加处理,例如执行去块过程以减少沿块的边界的视觉伪像。
根据本公开内容的技术,视频解码器300可确定视频数据块是使用帧内预测模式来制码的。视频解码器300还可对视频数据块的采样进行滤波以确定经滤波的值。视频解码器300还可以确定经滤波的值包括超出范围的值。响应于确定经滤波的值包括超出范围的值,视频解码器300可以对超出范围的值执行剪裁操作。
根据本公开内容的技术,视频解码器300可以确定视频数据块是使用具有PDPC的帧内预测模式来制码的,并使用未经滤波的参考采样作为PDPC参考采样来预测视频数据块。
根据本公开内容的技术,视频解码器300可以确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300可以响应于帧内预测模式是特定帧内预测模式来对参考采样进行滤波,并且使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
根据本公开内容的技术,视频解码器300可以确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300还可以基于一个或多个准则来确定是否对参考采样进行滤波。响应于确定要对参考采样进行滤波,视频解码器300可以使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
根据本公开内容的技术,视频解码器300可以确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300还可以应用第一滤波器来获得PDPC参考采样,并应用第二滤波器来获得用于预测的参考采样,其中,第一滤波器是与第二滤波器不同的滤波器。
根据本公开内容的技术,视频编码器200可以执行由视频解码器300执行的以上任何技术作为视频编码过程的解码循环的一部分。
本公开内容可以概括地提及“用信号传送”某些信息,例如语法元素。术语“用信号传送”通常可以指代语法元素和/或对编码视频数据进行解码的其它数据的值的通信。也就是说,视频编码器200可以用信号传送比特流中的语法元素的值。通常,用信号传送是指在比特流中生成值。如上所述,源设备102可以基本实时地或不实时地将比特流传输到目的地设备116,例如在将语法元素存储到存储设备112以供稍后由目的地设备116取回时可能发生。
图2A和图2B是示出示例四叉树二叉树(QTBT)结构130以及相应编码树单元(CTU)132的概念图。实线表示四叉树分割,虚线表示二叉树分割。在二叉树的每个拆分(即非叶)节点中,用信号通知一个标志位以指示使用哪种拆分类型(即,水平或垂直),在该示例中,0表示水平拆分,而1表示垂直拆分。对于四叉树拆分,由于四叉树节点将一个块水平和垂直拆分为大小相等的4个子块,因此无需指示拆分类型。因此,视频编码器200可以对QTBT结构130的区域树级别(即实线)的语法元素(例如拆分信息)以及QTBT结构130的预测树级别(即虚线)的语法元素(例如拆分信息)进行编码,并且视频解码器300可以对上述语法元素进行解码。视频编码器200可以对QTBT结构130的终端叶节点表示的CU的视频数据(例如预测和变换数据)进行编码,并且视频解码器300可以对上述数据进行解码。
通常,图2B的CTU 132可以与在第一和第二级别处定义与QTBT结构130的节点相对应的块的大小的参数相关联。这些参数可以包括CTU大小(代表采样中CTU 132的大小)、最小四叉树大小(MinQTSize,代表最小允许的四叉树叶节点大小),最大二叉树大小(MaxBTSize,代表最大允许的二叉树根节点大小),最大二叉树深度(MaxBTDepth,代表最大允许的最大二叉树深度)以及最小二叉树大小(MinBTSize,表示最小允许的二叉树叶节点大小)。
与CTU相对应的QTBT结构的根节点可以在QTBT结构的第一级具有四个子节点,可以根据四叉树划分来划分每个子节点。即,第一级的节点是叶节点(没有子节点)或具有四个子节点。QTBT结构130的示例表示这样的节点,包括父节点和具有实线分支的子节点。如果第一级的节点不大于最大允许的二叉树根节点大小(MaxBTSize),则可以通过相应的二叉树进一步对节点进行划分。可以迭代一个节点的二叉树拆分,直到拆分产生的节点达到最小允许的二叉树叶节点大小(MinBTSize)或最大允许的二叉树深度(MaxBTDepth)。QTBT结构130的示例将这样的节点表示为具有用于分支的虚线。二进制树叶节点被称为编码单元(CU),其用于预测(例如,图片内预测或图片间预测)和变换,而无需任何进一步的划分。如上文所讨论的,CU也可以被称为“视频块”或“块”。
在QTBT分区结构的一个示例中,CTU大小设置为128x128(亮度采样和两个相应的64x64色度采样),MinQTSize设置为16x16,MaxBTSize设置为64x64,MinBTSize(针对宽度和高度)设置为4,并且MaxBTDepth设置为4。首先将四叉树分区应用于CTU,以生成四叉树叶节点。四叉树叶节点的大小可以从16x16(即MinQTSize)到128x128(即CTU大小)。如果叶四叉树节点为128x128,则其将不会被二进制树进一步拆分,因为该大小超过了MaxBTSize(即,在该示例中为64x64)。否则,二叉树将对叶四叉树节点进行进一步划分。因此,四叉树叶节点也是二叉树的根节点,并且二叉树的深度为0。当二叉树深度达到MaxBTDepth(在该示例中为4)时,不允许进一步拆分。当二叉树节点宽度等于MinBTSize(在本示例中为4)时,意味着不允许进一步的水平拆分。类似地,高度等于MinBTSize的二叉树节点意味着该二叉树节点不允许进一步的垂直拆分。如上所述,二叉树的叶节点被称为CU并且根据预测和变换对其进行进一步处理而无需进一步划分。
图3是说明可以执行本公开内容的技术的示例视频编码器200的方块图。提供图3是为了解释的目的,并且不应被认为是对本公开内容中广泛例示和描述的技术的限制。为了说明的目的,本公开内容在视频制码标准(例如开发中的HEVC视频制码标准和H.266视频制码标准)的上下文中描述了视频编码器200。然而,本公开内容的技术不限于这些视频制码标准,并且通常可应用于视频编码和解码。
在图3的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、解码图片缓冲器(DPB)218和熵编码单元220。
视频数据存储器230可以存储将要由视频编码器200的组件编码的视频数据。视频编码器200可以从例如视频源104(图1)接收存储在视频数据存储器230中的视频数据。DPB218可以用作参考图片存储器,该参考图片存储器存储参考视频数据,以供视频编码器200预测后续视频数据时使用。视频数据存储器230和DPB 218可以由多种存储器设备中的任何一种形成,例如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻性RAM(MRAM)、电阻性RAM(RRAM)或其它类型的存储设备。视频数据存储器230和DPB 218可以由同一存储器设备或分离的存储器设备提供。在各个示例中,视频数据存储器230可以与视频编码器200的其它组件一起在芯片上,如图所示,或者相对于那些组件在芯片外。
在本公开内容中,除非如此具体地描述,否则针对视频数据存储器230的引用不应解释为限于视频编码器200内部的存储器;或者除非如此具体地描述,否则对视频数据存储器230的引用不应解释为限于视频编码器200外部的存储器。而是,对视频数据存储器230的引用应被理解为存储视频编码器200所接收的用于编码的视频数据(例如,用于待编码的当前块的视频数据)的参考存储器。图1的存储器106还可以提供对视频编码器200的各个单元的输出的临时存储。
示出了图3的各个单元以帮助理解由视频编码器200执行的操作。这些单元可以实现为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能并在可以被执行的操作上预先设置的电路。可编程电路是指可以程以执行各种任务并且在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行使可编程电路以软件或固件的指令所定义的方式操作的软件或固件。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但固定功能电路执行的操作类型通常是不可变的。在一些示例中,这些单元中的一个或多个单元可以是不同的电路块(固定功能或可编程的),并且在一些示例中,这些一个或多个单元可以是集成电路。
视频编码器200可以包括从可编程电路形成的算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路和/或可编程核。在使用由可编程电路执行的软件来执行视频编码器200的操作的示例中,存储器106(图1)可以存储视频编码器200所接收和执行的软件的目标代码,或者视频编码器200之内的另一存储器(未示出)可以存储这些指令。
视频数据存储器230被配置为存储接收到的视频数据。视频编码器200可以从视频数据存储器230检索视频数据的图片,并将视频数据提供给残差生成单元204和模式选择单元202。视频数据存储器230中的视频数据可以是待编码的原始视频数据。
模式选择单元202包括运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可以包括附加功能单元,以根据其它预测模式来执行视频预测。作为示例,模式选择单元202可以包括调色板单元、块内复制单元(其可以是运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(LM)单元,等等。
模式选择单元202通常协调多个编码通路,以测试编码参数的组合以及针对这些组合的所得速率失真值。编码参数可以包括将CTU划分为CU、用于CU的预测模式、用于CU的残差数据的变换类型、用于CU的残差数据的量化参数,等等。模式选择单元202可以最终选择具有比其它被测组合更好的速率失真值的编码参数的组合。
视频编码器200可将从视频数据存储器230检索到的图片划分为一系列CTU,并将一个或多个CTU封装在切片内。模式选择单元210可以根据树结构(例如上述HEVC的QTBT结构或四叉树结构)来划分图片的CTU。如上所述,视频编码器200可根据树结构通过划分CTU来形成一个或多个CU。这样的CU也通常可以被称为“视频块”或“块”。
概括地说,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226)以生成针对当前块(例如,当前CU,或在HEVC中,PU和TU的重叠部分)的预测块。对于当前块的间预测,运动估计单元222可以执行运动搜索以识别一个或一个以上参考图片(例如,存储在DPB 218中的一个或多个先前编码的图片)中的一个或多个紧密匹配的参考块。具体而言,运动估计单元222可以例如根据绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)等来计算表示潜在参考块与当前块的相似程度的值。运动估计单元222通常可使用当前块与所考虑的参考块之间的逐采样差异来执行这些计算。运动估计单元222可识别具有由这些计算产生的最低值的参考块,最低值指示与当前块最紧密匹配的参考块。
运动估计单元222可形成一个或多个运动向量(MV),其相对于当前图片中的当前块的位置,定义参考图片中的参考块的位置。运动估计单元222然后可以将运动向量提供给运动补偿单元224。例如,对于单向间预测,运动估计单元222可以提供单个运动矢量,而对于双向间预测,运动估计单元222可以提供两个运动矢量。运动补偿单元224然后可使用运动向量来生成预测块。例如,运动补偿单元224可以使用运动矢量来检索参考块的数据。作为另一示例,如果运动向量具有分数采样精度,则运动补偿单元224可根据一个或多个内插滤波器对预测块的值进行内插。此外,对于双向块间预测,运动补偿单元224可以检索由相应运动向量标识的两个参考块的数据,并对经检索的数据进行组合(例如通过逐采样平均或加权平均)。
作为另一示例,对于帧内预测或帧内预测制码,帧内预测单元226可以根据与当前块相邻的采样来生成预测块。例如,对于定向模式,帧内预测单元226通常可以通过数学的方式对相邻采样的值进行组合,并在当前块上沿定义的方向填充这些计算出的值以产生预测块。作为另一示例,对于DC模式,帧内预测单元226可以计算相邻采样到当前块的平均值,并且生成预测块以包括针对预测块的每个采样的该所得平均值。
模式选择单元202将预测块提供给残差生成单元204。残差生成单元204从视频数据存储器230接收当前块的原始未经制码版本,并从模式选择单元202接收预测块。残差生成单元204计算当前块和预测块之间的逐采样差异。所得的逐采样差异定义了针对当前块的残差块。在一些示例中,残差生成单元204还可确定残差块中的采样值之间的差以使用残差差分脉冲代码调制(RDPCM)来产生残差块。在一些示例中,可以使用执行二进制减法的一个或多个减法器电路来形成残差生成单元204。
在模式选择单元202将CU划分为PU的示例中,每个PU可以与亮度预测单元和相应的色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的PU。如上所述,CU的大小可以指的是CU的亮度制码块的大小,而PU的大小可以指的是PU的亮度预测单元的大小。假设特定CU的大小为2Nx2N,则视频编码器200可支持用于帧内预测的2Nx2N或NxN的PU大小,以及用于间预测的2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小。视频编码器20和视频解码器30还可支持针对用于间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU大小的非对称划分。
在模式选择单元不进一步将CU划分为PU的实例中,每个CU可与亮度制码块和相应色度制码块相关联。如上所述,CU的大小可以指CU的亮度编码块的大小。视频编码器200和视频解码器120可以支持2N×2N、2N×N或N×2N的CU大小。
对于其它视频编码技术(例如,块内复制模式制码、仿射模式制码和线性模型(LM)模式制码,仅举几例),模式选择单元202会经由与制码技术相关联的各个单元来生成针对正在被编码的当前块的预测块。在一些示例(例如调色板模式制码)中,模式选择单元202可以不生成预测块,而是生成指示基于所选择的调色板来对块进行重构的方式的语法元素。在这样的模式中,模式选择单元202可以将这些语法元素提供给熵编码单元220以进行编码。
如上所述,残差生成单元204接收当前块和相应预测块的视频数据。残差生成单元204然后生成当前块的残差块。为了生成残差块,残差生成单元204计算预测块和当前块之间的逐采样差异。因此,
变换处理单元206将一个或多个变换应用于残差块以生成变换系数的块(在本文中被称为“变换系数块”)。变换处理单元206可以将各种变换应用于残差块以形成变换系数块。例如,变换处理单元206可以将离散余弦变换(DCT)、方向变换、Karhunen-Loeve变换(KLT)或概念上类似的变换应用于残差块。在一些示例中,变换处理单元206可以对残差块执行多个变换,例如主变换和次变换,例如旋转变换。在一些示例中,变换处理单元206不将变换应用于残差块。
量化单元208可以对变换系数块中的变换系数进行量化,以产生量化的变换系数块。量化单元208可以根据与当前块相关联的量化参数(QP)值来对变换系数块的变换系数进行量化。视频编码器200(例如,经由模式选择单元202)可通过调整与CU相关联的QP值来调整应用于与当前块相关联的系数块的量化程度。量化可能会导致信息丢失,因此,量化的变换系数的精度可能会比变换处理单元206生成的原始变换系数的精度低。
逆量化单元210和逆变换处理单元212可以分别对量化的变换系数块应用逆量化和逆变换,以从变换系数块重构残差块。重构单元214可以基于重构的残差块和由模式选择单元202生成的预测块来产生与当前块相对应的重构块(尽管可能具有某种程度的失真)。例如,重构单元214可以将重构的残差块的采样添加到模式选择单元202生成的来自预测块的相应采样,以产生重构块。
滤波器单元216可对重构块执行一个或多个滤波操作。例如,滤波器单元216可以执行解块操作以减少沿着CU的边缘的块状伪像。在一些示例中,可以跳过滤波器单元216的操作。
视频编码器200将重构的块存储在DPB 218中。例如,在不需要滤波器单元224的操作的示例中,重构单元214可以将重构块存储到DPB 218。在需要滤波器单元224的操作的示例中,滤波器单元216可以将经滤波的重构块存储到DPB 218。运动估计单元222和运动补偿单元224可从由重构的(并且可能经滤波的)块形成的DPB 218向随后编码的图像的帧间预测块检索参考图像。此外,帧内预测单元226可以使用当前图片的DPB 218中的重构块来对当前图片中的其它块进行帧内预测。
通常,熵编码单元220可以对从视频编码器200的其它功能组件接收的语法元素进行熵编码。例如,熵编码单元220可以对来自量化单元208的量化的变换系数块进行熵编码。作为另一示例,熵编码单元220可以对来自模式选择单元202的预测语法元素(例如,用于间预测的运动信息或用于帧内预测的模式内信息)进行熵编码。熵编码单元220可以对作为视频数据的另一示例的语法元素执行一个或多个熵编码操作,以生成熵编码数据。例如,熵编码单元220可以执行上下文自适应可变长度编码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度编码操作、基于语法的上下文自适应二进制算术编码(SBAC)操作、概率区间划分熵(PIPE)编码操作、指数Golomb编码操作或对数据的另一种熵编码操作。在一些示例中,熵编码单元220可以在语法元素未被熵编码的旁通模式下操作。
视频编码器200可输出包括重构切片或图片的块所需的熵编码语法元素的比特流。具体而言,熵编码单元220可以输出比特流
针对块描述了上述操作。这样的描述应该被理解为用于亮度制码块和/或色度制码块的操作。如上所述,在一些示例中,亮度制码块和色度制码块是CU的亮度和色度分量。在一些示例中,亮度制码块和色度制码块是PU的亮度和色度分量。
在一些示例中,不必针对色度制码块重复针对亮度制码块执行的操作。作为一个示例,不需要重复用于识别用于亮度制码块的运动矢量(MV)和参考图片的操作来识别用于色度块的MV和参考图片。而是,可以调节用于亮度制码块的MV以确定用于色度块的MV,并且参考图片可以是相同的。作为另一示例,对于亮度制码块和色度制码块,帧内预测过程可以是相同的。
视频编码器200代表被配置为对视频数据进行编码的设备的示例,其包括:被配置为存储视频数据的存储器;以及一个或多个处理单元,这些处理单元在电路中实现并配置为执行作为视频编码过程的解码循环的一部分的本公开内容的任何技术。例如,在视频编码过程的解码循环中,视频编码器200可以被配置为:确定视频数据块是使用帧内预测模式来制码的。视频编码器200还可以被配置为:对视频数据块的采样进行滤波以确定经滤波的值。视频编码器200还可以被配置为:确定经滤波的值包括超出范围的值。响应于确定经滤波的值包括超出范围的值,视频编码器200还可以被配置为:对超出范围的值执行剪裁操作。
在一些情况下,在确定经滤波的值包括超出范围的值时,视频编码器200可以被配置为:确定经滤波的值小于0。此外,在对超出范围的值执行剪裁操作时,视频编码器200可以被配置为:将经滤波的值设置为0。
在一些实例中,在确定经滤波的值包括超出范围的值时,视频编码器200可以被配置为:确定经滤波的值大于最大值。此外,在对超出范围的值执行剪裁操作时,视频编码器200可以被配置为:将经滤波的值设置为最大值。
在一些实例中,视频编码器200还可以被配置为:确定视频数据块是使用用于帧内预测模式的多条参考线来制码的。此外,视频编码器200可以被配置为:对来自这多条参考线中的每一条参考线的经滤波采样执行剪裁操作。
在一些实例中,在对采样进行滤波时,视频编码器200可以被配置为:对采样执行三次滤波。
根据本公开内容的技术,在视频编码过程的解码循环中,视频编码器200可以被配置为:确定视频数据块是使用帧内预测模式PDPC来制码的,并使用未经滤波的参考采样作为PDPC参考采样来预测视频数据块。
根据本公开内容的技术,在视频编码过程的解码循环中,视频编码器200可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频编码器200可以被配置为:响应于帧内预测模式是特定帧内预测模式来对参考采样进行滤波,并且使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
在一些实例中,参考采样可以是来自块左侧的采样线的采样以及来自块上方的采样线的采样。在一些实例中,帧内预测模式是特定帧内预测模式可以包括:帧内预测模式是平面模式。在一些实例中,帧内预测模式是特定帧内预测模式可以包括:帧内预测模式属于帧内预测模式的子集,其中,子集比视频数据支持的所有帧内预测模式更少。
根据本公开内容的技术,在视频编码过程的解码循环中,视频编码器200可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频编码器200可以被配置为:还基于一个或多个准则来确定是否对参考采样进行滤波。响应于确定要对参考采样进行滤波,视频编码器200可以被配置为:使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
在一些实例中,一个或多个标准包括块的大小、块的树结构、与块边界的距离、块大于某个宽度、块大于某个高度,或其任意组合或排列。
根据本公开内容的技术,在视频编码过程的解码循环中,视频编码器200可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频编码器200还可以被配置为:应用第一滤波器来获得PDPC参考采样,并应用第二滤波器来获得用于预测的参考采样,其中,第一滤波器是与第二滤波器不同的滤波器。
在一些实例中,除了上述任何技术之外,视频编码器200可以被配置为:将视频数据存储在无线通信设备的存储器中,在无线通信设备的一个或多个处理器上处理视频数据,以及从无线通信设备的发射机发送视频数据。在一些示例中,无线通信设备可以是手持电话,并且在无线通信设备的发射机处发送视频数据可以包括:根据无线通信标准来对包括视频数据的信号进行调制。
图4是说明可以执行本公开内容的技术的示例视频解码器300的方块图。提供图4是为了解释的目的,并且不对本公开内容中广泛例示和描述的技术进行限制。为了说明的目的,本公开内容根据JEM和HEVC的技术描述了视频解码器300。然而,本公开内容的技术可以由被配置为其它视频制码标准的视频制码设备来执行。
在图4的示例中,视频解码器300包括编码图片缓冲器(CPB)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312以及解码图片缓冲器(DPB)314。预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可以包括附加单元,以根据其它预测模式来执行预测。作为示例,预测处理单元304可以包括调色板单元、块内复制单元(其可以形成运动补偿单元318的一部分)、仿射单元、线性模型(LM)单元,等等。在其它示例中,视频解码器300可以包括更多、更少或不同的功能组件。
CPB存储器320可以存储将由视频解码器300的组件解码的视频数据(例如编码视频比特流)。可以例如从计算机可读介质110(图1)获得存储在CPB存储器320中的视频数据。CPB存储器320可以包括存储来自编码视频比特流的编码视频数据(例如,语法元素)的CPB。而且,CPB存储器320可以存储除制码图片的语法元素之外的视频数据,例如表示来自视频解码器300的各个单元的输出的临时数据。DPB 314通常存储解码图片,当对编码视频比特流的后续数据或图片进行解码时,视频解码器300可以输出和/或使用解码图片当作参考视频数据。CPB存储器320和DPB 314可以由各种存储设备中的任何一个(例如,DRAM(包括SDRAM、MRAM、RRAM)或其它类型的存储设备)形成。CPB存储器320和DPB 314可以由同一存储器设备或分离的存储器设备提供。在各个示例中,CPB存储器320可以与视频解码器300的其它组件一起在芯片上,或者相对于那些组件在芯片外。
附加地或替代地,在一些示例中,视频解码器300可以从存储器120(图1)检索制码的视频数据。即,存储器120可以如上文针对CPB存储器320讨论的那样存储数据。同样,当视频解码器300的一些或全部功能在要由视频解码器300的处理电路执行的软件中实现时,存储器120可以存储要由视频解码器300执行的指令。
示出了图4的各个单元以帮助理解由视频解码器300执行的操作。这些单元可以实现为固定功能电路、可编程电路或其组合。与图3类似,固定功能电路是指提供特定功能并在可以被执行的操作上预先设置的电路。可编程电路是指可以程以执行各种任务并且在可以执行的操作中提供灵活功能的电路。例如,可编程电路可以执行使可编程电路以软件或固件的指令所定义的方式操作的软件或固件。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但固定功能电路执行的操作类型通常是不可变的。在一些示例中,这些单元中的一个或多个单元可以是不同的电路块(固定功能或可编程的),并且在一些示例中,这些一个或多个单元可以是集成电路。
视频解码器300可包括ALU、EFU、数字电路、模拟电路和/或由可编程电路形成的可编程核。在视频解码器300的操作由在可编程电路上执行的软件执行的示例中,片上或片外存储器可以存储视频解码器300接收并执行的软件的指令(例如,目标代码)。
熵解码单元302可以从CPB接收编码视频数据,并对视频数据进行熵解码以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310和滤波器单元312可以基于从比特流中提取的语法元素来生成解码视频数据。
通常,视频解码器300逐块地重建图片。视频解码器300可单独地对每个块执行重构操作(其中当前正在重构(即,被解码的)块可以被称为“当前块”)。
熵解码单元302可对定义量化的变换系数块的量化的变换系数的语法元素以及变换信息进行熵解码(例如量化参数(QP)和/或变换模式指示)。逆量化单元306可以使用与量化的变换系数块相关联的QP来确定量化度,并且同样地,确定逆量化度以供逆量化单元306应用。逆量化单元306可以例如执行按位左移操作以对量化的变换系数进行逆量化。逆量化单元306从而可以形成包括变换系数的变换系数块。
在逆量化单元306形成变换系数块之后,逆变换处理单元308可以将一个或多个逆变换应用于变换系数块以生成与当前块相关联的残差块。例如,逆变换处理单元308可以将逆DCT、逆整数变换、逆Karhunen-Loeve变换(KLT)、逆旋转变换、逆方向变换或另一种逆变换应用于系数块。
此外,预测处理单元304根据由熵解码单元302进行熵解码的预测信息语法元素来生成预测块。例如,如果预测信息语法元素指示当前块是间预测的,则运动补偿单元316可以生成预测块。在这种情况下,预测信息语法元素可以指示DPB 314中的从其检索参考块的参考图片,以及运动矢量,其相对于当前图片中的当前块位置,识别参考图片中的参考块的位置。运动补偿单元316通常可以用与针对运动补偿单元224所描述的方式基本相似的方式来执行帧间预测过程(图3)。
作为另一示例,如果预测信息语法元素指示当前块是帧内预测的,则帧内预测单元318可以根据由预测信息语法元素指示的帧内预测模式来生成预测块。再次,帧内预测单元318通常可以用与针对帧内预测单元226(图3)所描述的方式基本相似的方式来执行帧内预测过程。帧内预测单元318可以从DPB 314检索当前块的相邻采样的数据。
重构单元310可以使用预测块和残差块来重构当前块。例如,重构单元310可以将残差块的采样添加到预测块的相应采样以重构当前块。
滤波器单元312可对重构块执行一个或多个滤波操作。例如,滤波器单元312可以执行解块操作以减少沿着重构块的边缘的块状伪像。不一定在所有示例中都执行滤波器单元312的操作。
视频解码器300可以将重构块存储在DPB 314中。如上文所讨论的,DPB 314可以向预测处理单元304提供参考信息,例如用于帧内预测的当前图片的采样以及用于随后的运动补偿的先前解码的图片。此外,视频解码器300可以从DPB输出解码图片,以便随后在显示设备(例如图1的显示设备118)上呈现。
以这种方式,视频解码器300代表视频解码设备的示例,其包括:被配置为存储视频数据的存储器,以及一个或多个处理单元,这些处理单元在电路中实现并且被配置为:确定视频数据块是使用帧内预测模式来制码的。视频解码器300还可以被配置为:对视频数据块的采样进行滤波以确定经滤波的值。视频解码器300还可以被配置为:确定经滤波的值包括超出范围的值。响应于确定经滤波的值包括超出范围的值,视频解码器300还可以被配置为:对超出范围的值执行剪裁操作。
在一些情况下,在确定经滤波的值包括超出范围的值时,视频解码器300可以被配置为:确定经滤波的值小于0。此外,在对超出范围的值执行剪裁操作时,视频解码器300可以被配置为:将经滤波的值设置为0。
在一些实例中,在确定经滤波的值包括超出范围的值时,视频解码器300可以被配置为:确定经滤波的值大于最大值。此外,在对超出范围的值执行剪裁操作时,视频解码器300可以被配置为:将经滤波的值设置为最大值。
在一些实例中,视频解码器300还可以被配置为:确定视频数据块是使用用于帧内预测模式的多条参考线来制码的。此外,视频解码器300可以被配置为:对来自该多条参考线中的每一条参考线的经滤波采样执行剪裁操作。
在一些实例中,在对采样进行滤波时,视频解码器300可以被配置为:对采样执行三次滤波。
根据本公开内容的技术,视频解码器300可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的,并使用未经滤波的参考采样作为PDPC参考采样来预测视频数据块。
根据本公开内容的技术,视频解码器300可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300可以被配置为:响应于帧内预测模式是特定帧内预测模式来对参考采样进行滤波,并且使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
在一些实例中,参考采样可以是来自块左侧的采样线的采样以及来自块上方的采样线的采样。在一些实例中,帧内预测模式是特定帧内预测模式可以包括:帧内预测模式是平面模式。在一些实例中,帧内预测模式是特定帧内预测模式可以包括:帧内预测模式属于帧内预测模式的子集,其中,子集比视频数据支持的所有帧内预测模式要少。
根据本公开内容的技术,视频解码器300可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300可以被配置为:还基于一个或多个准则来确定是否对参考采样进行滤波。响应于确定要对参考采样进行滤波,视频解码器300可以被配置为:使用经滤波的参考采样作为PDPC参考采样来预测视频数据块。
在一些实例中,一个或多个标准包括块的大小、块的树结构、与块边界的距离、块大于某个宽度、块大于某个高度,或其任意组合或排列。
根据本公开内容的技术,视频解码器300可以被配置为:确定视频数据块是使用具有PDPC的帧内预测模式来制码的。视频解码器300还可以被配置为:应用第一滤波器来获得PDPC参考采样,并应用第二滤波器来获得用于预测的参考采样,其中,第一滤波器是与第二滤波器不同的滤波器。
在一些实例中,除了上述技术之外,视频解码器300可以在无线通信设备的接收机处接收视频数据,将视频数据存储在无线通信设备的存储器中,并且对无线通信设备的一个或多个处理器上的视频数据进行处理。在一些示例中,无线通信设备是手持电话,并且接收视频数据可以包括:根据无线通信标准对包括视频数据的信号进行解调。
视频制码标准包括ITU-T H.261、ISO/IEC MPEG-1视觉、ITU-T H.262或ISO/IECMPEG-2视觉、ITU-T H.263、ISO/IEC MPEG-4视觉、ITU-T H.264(也被称为ISO/IEC MPEG-4AVC),包括‘其可调节视频编码(SVC)和多视图视频编码(MVC)扩展以及ITU-T H.265(也被称为ISO/IEC MPEG-4HEVC)及其扩展。在2018年4月的联合视频专家组(JVET)会议期间,多功能视频制码标准化活动(也被称为ITU-T H.266)从评估提交给提案征集的视频压缩技术开始。视频编码器200和视频解码器300可以根据H.266视频制码标准或其它编解码器进行操作。
如果根据HEVC对视频进行制码,则视频编码器200和视频解码器300被配置为:在帧内预测之前使用2抽头线性滤波器或3抽头(1,2,1)/4滤波器潜在地对相邻参考采样进行滤波。该过程被称为帧内参考平滑或依赖模式的帧内平滑(MDIS)。在MDIS中,给定帧内预测模式索引predModeIntra和块大小nTbS,视频制码器(例如,视频编码器或视频解码器)决定是否执行参考平滑过程,如果是,则决定使用哪个平滑滤波器。以下文本是HEVC规范中的相关文本:
8.4.4.2.3相邻采样的滤波过程
该过程的输入为:
–相邻采样p[x][y],其中,x=-1,y=-1..nTbS*2-1并且x=0..nTbS*2-1,y=-1,
–用于指定变换块大小的变量nTbS。
该过程的输出为经滤波的采样pF[x][y],其中,x=-1,y=-1..nTbS*2-1并且x=0..nTbS*2-1,y=-1。
变量filterFlag的推导如下:
–如果以下一个或多个条件为真,则将filterFlag设置为等于0:
–predModeIntra等于INTRA_DC。
–nTbS等于4。
–否则,以下规定适用:
–将变量minDistVerHor设置为等于Min(Abs(predModeIntra-26),Abs(predModeIntra-10))。
–在表8-3中指定了变量intraHorVerDistThres[nTbS]。
–变量filterFlag的推导如下:
–如果minDistVerHor大于intraHorVerDistThres[nTbS],则将filterFlag设置为等于1。
–否则,将filterFlag设置为等于0。
表8-3–针对各种变换块大小的对intraHorVerDistThres[nTbS]的规定
nTbS=8 | nTbS=16 | nTbS=32 | |
intraHorVerDistThres[nTbS] | 7 | 1 | 0 |
当filterFlag等于1时,以下规定适用:
–变量biIntFlag的推导如下:
–如果以下条件全部为真,则将biIntFlag设置为等于1:
–strong_intra_smoothing_enabled_flag等于1
–nTbS等于32
–Abs(p[-1][-1]+p[nTbS*2-1][-1]–2*p[nTbS-1][-1])<(1<<(BitDepthY-5))
–Abs(p[-1][-1]+p[-1][nTbS*2-1]–2*p[-1][nTbS-1])<(1<<(BitDepthY-5))
–否则,将biIntFlag设置为等于0。
–滤波执行如下:
–如果biIntFlag等于1,则经滤波采样值pF[x][y]推导如下,其中x=-1,y=-1..63并且x=0..63,y=-1:
pF[-1][-1]=p[-1][-1] (8-30)
pF[-1][y]=((63-y)*p[-1][-1]+(y+1)*p[-1][63]+32)>>6对于y=0..62 (8-31)
pF[-1][63]=p[-1][63] (8-32)
pF[x][-1]=((63-x)*p[-1][-1]+(x+1)*p[63][-1]+32)>>6对于x=0..62 (8-33)
pF[63][-1]=p[63][-1] (8-34)
–否则(biIntFlag等于0),则经滤波采样值pF[x][y]推导如下,其中x=
-1,y=-1..nTbS*2-1并且x=0..nTbS*2-1,y=-1:
pF[-1][-1]=(p[-1][0]+2*p[-1][-1]+p[0][-1]+2)>>2 (8-35)
pF[-1][y]=(p[-1][y+1]+2*p[-1][y]+p[-1][y-1]+2)>>2对于y=0..nTbS*2-2 (8-36)
pF[-1][nTbS*2-1]=p[-1][nTbS*2-1] (8-37)
pF[x][-1]=(p[x-1][-1]+2*p[x][-1]+p[x+1][-1]+2)>>2对于x=0..nTbS*2-2 (8-38)
pF[nTbS*2-1][-1]=p[nTbS*2-1][-1] (8-39)
在联合视频探索小组(JVET)活动期间,定义了JEM 7,并为亮度块包括了以下版本的MDIS表:
sizeIndex | Threshold[sizeIndex] |
0 | 20 |
1 | 20 |
2 | 14 |
3 | 2 |
4 | 0 |
5 | 20 |
6 | 0 |
块大小索引在JEM7中定义如下:
sizeIndex=(log2(BlockWidth)–2+log2(BlockHeight)–2)/2+2–1
按照以下条件来确定是否对帧内参考采样应用[1 2 1]/4平滑滤波器:IntraModeDiff=min(abs(IntraModeIdx-HOR_IDX),abs(IntraModeIdx–VER_IDX))
在上面的公式中,HOR_IDX=18并且VER_IDX=50,因为JEM 7除了平面(IntraModeIdx=0)和DC(IntraModeIdx=1)模式以外,还具有65个定向帧内模式(IntraModeIdx 2-66)。以下条件确定是否应用平滑滤波器:
如果IntraModeDiff>Threshold[sizeIndex]则“应用平滑滤波器”
在联合视频专家组(JVET)及其VVC测试模型版本1(VTM)和基准模型版本1(BMS 1)软件中,包含以下MDIS表:
sizeIndex | Threshold[sizeIndex] |
0 | 20 |
1 | 20 |
2 | 20 |
3 | 14 |
4 | 2 |
5 | 0 |
6 | 20or 0 |
7 | 0 |
块大小索引在VTM1和BMS1中定义如下:
sizeIndex=(log2(BlockWidth)+log2(BlockHeight))/2
视频编码器200和视频解码器300按照以下条件来确定是否对帧内参考采样应用[1 2 1]/4平滑滤波器:
IntraModeDiff=min(abs(IntraModeIdx-HOR_IDX),abs(IntraModeIdx–VER_IDX))
在上面的公式中,HOR_IDX=18并且VER_IDX=50,因为VTM1和BMS1除了平面(IntraModeIdx=0)和DC(IntraModeIdx=1)模式以外,还具有65个定向帧内模式(IntraModeIdx 2-66)。
如果IntraModeDiff>Threshold[sizeIndex]则“应用平滑滤波器”
在HEVC中,使用两抽头线性插值滤波器以定向预测模式(即,不包括平面和DC预测器)生成帧内预测块。在JEM 7(J.Chen,E.Alshina,G.J.Sullivan,J.-R.Ohm,J.Boyce,“Algorithm description of Joint Exploration Test Model 7”,第七届JVET会议,意大利都灵,2017年7月,JVET-G1001,以下简称“JEM 7”)以及J.Chen,E.Alshina,“Algorithmdescription for Versatile Video Coding and Test Model 1(VTM1),”第十届JVET会议,美国圣地亚哥,2018年4月,JVET-J1002,以下简称“BMS1”或VTM1中,四抽头帧内插值滤波器用于定向帧内预测滤波。使用两种类型的四抽头插值滤波器:
·用于块宽度小于或等于8个采样的垂直定向预测模式(IntraModeIdx>=DIA_IDX(=34))的4抽头三次插值滤波器
·用于块高度小于或等于8个采样的水平定向预测模式(IntraModeIdx<DIA_IDX(=34))的4抽头三次插值滤波器
·用于块宽度大于8个采样的垂直定向预测模式(IntraModeIdx>=DIA_IDX(=34))的4抽头高斯插值滤波器
·用于块高度大于8个采样的水平定向预测模式(IntraModeIdx<DIA_IDX(=34))的4抽头高斯插值滤波器
在JEM7和BMS1中使用了以下4抽头三次(32相)插值滤波器:
在JEM7和BMS1中使用以下4抽头高斯滤波器(32相):
高斯插值滤波器可通过以下示例Matlab代码得出。在该示例中,将平滑强度sigma设置为0.9:
在另一个示例中,可以使用以下6抽头插值滤波器(64相)来代替4抽头:
在另一个示例中,可以使用以下6抽头三次插值滤波器(32相):
图5A和5B是示出根据本发明的技术的、使用多个参考线和PDPC的帧内预测概念的概念图。图5A示出其中帧内预测角由线154或156表示的示例。在这种情况下,PDPC采样在帧内预测角的另一侧。即,如果内部方向模式是线156,则线154代表PDPC采样,反之亦然。在其它示例中,取决于所使用的PDPC的模式和特定实现,PDPC参考采样可以由行152(除其它采样之外)表示。
PDPC的某些实现使用三个采样:顶部、左侧和左上方。图5A和5B示出了这三个采样可以是什么的示例。图5A示出了当帧内预测方向是线154或156之一时用于PDPC的三个采样。图5B示出了当帧内预测模式是水平(线166)或垂直(线164)或平面或DC时用于PDPC的三个采样。
根据本发明的示例技术,视频编码器200和视频解码器300可以利用MRL对来自两条或更多条线的潜在插值的像素进行组合(例如,加权平均或非线性组合)以获得与帧内预测模式(例如,DC模式、平面模式、HOR/VER模式、定向模式)相对应的块内采样的预测,或者获得然后将被用于对采样的预测的参考线。
根据本公开内容的另一示例技术,视频编码器200和视频解码器300可以利用MRL从邻域中选择一条或多条线作为用于预测的参考线,并潜在地在比特流中发信号通知该选择以通知解码器或从诸如帧内预测模式的可用数据中得出选择。
上述三次插值滤波器包含负抽头系数,这可能会导致超出范围的值。当使用MRL时,三次滤波器可以应用于一条以上的线,并且参考采样可以通过对来自每条线的滤波采样进行组合(例如加权平均)来获得。在这种情况下,在对采样进行组合之后执行剪裁操作可能会导致放大可能由于超出范围的值而发生的误差。
此外,PDPC使用来自顶部参考线和左侧参考线的采样(以下称为PDPC参考采样),并使用与定向/DC/Pl预测采样的加权平均以获得更高效的帧内预测块。可以对来自顶部参考线或左侧参考线的采样(参考线可以取平均值,也可以从若干候选线之一获得)进行滤波或不进行滤波。在MDIS滤波条件下(例如,对于某些模式),在一些情况下,可以使用[1 2 1]滤波器对PDPC参考采样进行滤波;在其它情况下,可以不应用滤波。这导致较差的制码效率性能。
根据本公开内容的技术,视频编码器200和视频解码器300可以被配置为:对通过使用三次滤波器获得的经滤波采样值执行剪裁操作。当使用MRL时,可以对每条线中的经滤波采样执行剪裁操作。经剪裁采样可以这样被组合或使用,以生成参考采样。例如,对于10比特视频内容,或正在由具有10比特的采样内部处理的编解码器处理的内容(例如,8比特),采样x的剪裁操作执行如下,其中x是通过对一个或多个重构的采样应用三次滤波器获得的:
应当理解,以上技术也适用于其它类型的剪裁操作,并且还适用于在应用三次滤波器之前处理重构采样的情况。本发明还适用于可以使用三次滤波器以外的滤波器的情况,这些情况可能导致超出范围的经滤波采样值。
当使用多个参考线时,视频编码器200和视频解码器300可以被配置为使用未经滤波的参考采样作为PDPC参考采样。在一个示例中,视频编码器200和视频解码器300可以被配置为通过仅针对平面模式进行滤波来获得PDPC参考采样。在其它示例中,视频编码器200和视频解码器300可以被配置为:识别模式的子集,并且通过仅针对所选择的模式进行滤波来获得PDPC参考采样。例如,视频编码器200和视频解码器300可以被配置为:仅对平面模式和其ID值在与对角线模式(例如2和DIA)有一定偏移之内的模式执行滤波。
在一些示例中,用于获得PDPC参考采样的滤波器的选择可以与用于获得参考采样以进行预测的滤波器的选择不同。该滤波器可以是固定的,或者可以在比特流中用信号发送给解码器。例如,视频编码器200和视频解码器300可以被配置为:通过应用更长的抽头滤波器或使用双边滤波器来获得PDPC参考采样。在其它示例中,视频编码器200和视频解码器300可以被配置为使用具有系数[1 2 1]/4的滤波器来对用于帧内预测的参考采样进行滤波,并且使用具有系数[1 2 2 2 1]/8的更长的滤波器用于PDPC参考采样。
在一些示例中,滤波的适用性还可以取决于块大小、树结构、与块边界的图片的距离等。例如,视频编码器200和视频解码器300可以被配置为仅对大于一定的宽度和/或高度的块进行滤波,因为在小块上进行滤波可能会导致细节丢失。
根据本公开内容的技术,视频编码器200或视频解码器300可以被配置为如下执行具有PDPC的帧内预测。对于某个位置的采样,视频编码器200或视频解码器300可以被配置为使用参考采样得出帧内预测模式。对于每个位置(以及用于预测的模式),视频编码器200和视频解码器300可以被配置为确定PDPC参考采样的位置,其中参考采样的位置基于帧内预测模式和参考线。如果该位置是整数位置,则不需要插值,但是对于其它位置,视频编码器200和视频解码器300可以执行插值。对于插值,视频编码器200和视频解码器300可以使用经滤波或未经滤波的参考采样。因此,用于规则预测的参考采样可以经滤波或未经滤波,并且用于PDPC的参考采样也可以经滤波或未经滤波,其方式与用于常规预测的参考采样的滤波或不滤波无关。
图6是示出用于对当前块进行编码的示例过程的流程图。当前块可以包括当前CU。尽管针对视频编码器200(图1和图2)进行了描述,但应该理解的是:其它设备可以被配置为执行与图6类似的方法。
在该示例中,视频编码器200最初预测当前块(350)。举例来说,视频编码器200可针对当前块形成预测块。视频编码器200然后可以计算当前块的残差块(352)。为了计算残差块,视频编码器200可计算原始未经制码块与针对当前块的预测块之间的差。视频编码器200然后可以对残差块的系数进行变换和量化(354)。接下来,视频编码器200可以对残差块的经量化的变换系数进行扫描(356)。在扫描期间或在扫描之后,视频编码器200可对系数进行熵编码(358)。例如,视频编码器200可以使用CAVLC或CABAC对系数进行编码。视频编码器200然后可以输出块的熵制码数据(360)。
图7是示出用于对视频数据的当前块进行解码的示例过程的流程图。当前块可以包括当前CU。尽管针对视频解码器300(图1和图3)进行了描述,但应该理解的是:其它设备可以被配置为执行与图7类似的方法。
视频解码器300可接收当前块的熵制码数据,例如,熵制码预测信息和与当前块相对应的残差块的系数的熵制码数据(370)。视频解码器300可以对熵制码数据进行熵解码以确定针对当前块的预测信息并再现残差块的系数(372)。视频解码器300可例如使用由针对当前块的预测信息所指示的帧内或帧间预测模式来预测当前块(374),以计算针对当前块的预测块。视频解码器300然后可以对再现的系数进行逆扫描(376),以创建经量化的变换系数的块。然后,视频解码器300可以对系数进行逆量化和逆变换以产生残差块(378)。视频解码器300可通过对预测块和残差块进行组合来最终对当前块进行解码(380)。
图8是示出用于对视频数据的当前块进行解码的示例过程的流程图。将参考通用视频解码器来描述图8的技术,该通用视频解码器可以例如是诸如视频解码器300的设备。然而,通用视频解码器也可以对应于视频编码器200的解码循环。作为对视频数据进行编码的一部分,视频编码器还对视频数据进行解码,以维持由视频解码器维持的同一解码图片缓冲器,并作为有关如何对视频数据进行编码的决策(例如预测模式决策和与要启用或禁用的制码工具有关的决策)的一部分。
视频解码器确定视频数据块是使用具有PDPC的帧内预测模式来制码的(390)。响应于帧内预测模式是特定的帧内预测模式,视频解码器将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值(392)。响应于帧内预测模式是特定的帧内预测模式,视频解码器将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值(394)。
在一些示例中,特定的帧内预测模式可以是平面模式,而在其它示例中,特定的帧内预测模式可以是属于帧内预测模式的子集的帧内预测模式,该帧内预测模式的子集包括比视频数据支持的所有帧内预测模式要少的帧内预测模式。
第一参考线可以是例如在块左侧的采样线,并且第二参考线可以是块上方的采样线。第一参考线可以是与块不相邻的、在块左侧的采样线,并且第二参考线可以是与块不相邻的、在块上方的采样线。视频解码器可以根据块上方的多条参考线确定第一PDPC参考采样值;并且附加地或可替代地,根据块左侧的多条参考线确定第二PDPC参考采样值。
视频解码器基于帧内预测模式确定预测参考采样值(396)。预测的参考采样值可以是未经滤波的参考采样的值。视频解码器基于预测参考采样值、第一PDPC参考采样值和第二PDPC参考采样值来预测视频数据块的采样(398)。为了基于预测采样值、第一PDPC参考采样值和第二PDPC参考采样值来预测视频数据块的采样,视频解码器可以被配置为:将块的采样的值设置为预测参考采样值、第一PDPC参考采样值和第二PDPC参考采样的加权平均。
视频解码器可以输出包括预测采样的视频数据的预测块。如本公开内容中别处所描述的,该预测块可以与其它预测块和残差块组合以形成重构块,并且可以对重构块进行滤波以生成视频数据的经解码图片。在视频编码器处,可以将解码的图片存储在制码图片缓冲器中,并用于预测视频数据的后续图片的块。在视频解码器处,可将解码图片存储在解码图片缓冲器中,并用于预测视频数据后续图片的块,也可将其输出以进行显示。
应该认识到的是:根据示例,本文中描述的技术中的任一种技术的某些动作或事件可以不同的顺序执行,可以添加、合并或一起省略(例如,对于技术的实施来说,不是所有所描述的动作都是必要的)。此外,在某些示例中,动作或事件可以并发执行(例如,通过多线程处理、中断处理或多处理器)而不是顺序执行。
在一个或多个示例中,可以用硬件、软件、固件、或它们的任意组合来实现所描述的功能。如果用软件来实现,则这些功能可以作为一条或多条指令或代码存储在计算机可读介质上、或者通过计算机可读介质发送、以及由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其与诸如数据存储介质的有形介质,或通信介质(其包括例如,根据通信协议便于将计算机程序传送从一个地点转移到另一个地点的任何介质)相对应。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或者(2)通信介质(例如信号或载波)。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器存取以便取回用于本公开内容中描述的技术的实现的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
通过举例而非限制的方式,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、闪存器或者可以用于存储具有指令或数据结构形式的所期望的程序代码并可以由计算机存取的任何其它介质。此外,任何连接都可以被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤线缆、双绞线、数字用户线(DSL)、或诸如红外线、无线电和微波的无线技术,从网站、服务器、或其它远程源发送指令,那么,同轴电缆、光纤线缆、双绞线、DSL、或诸如红外线、无线电和微波的无线技术包含在介质的定义中。然而,应该理解的是:计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,而是针对非暂时性、有形的存储介质。如本文中所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述各项的组合也应该包括在计算机可读介质的范围之内。
指令可由诸如一个或多个DSP、通用微处理器、专用集成电路ASIC、FPGA或其它等效集成或离散逻辑电路的一个或多个处理器处理。因此,如本文中所使用的,术语“处理器”可以指代前述结构或适于本文中所描述的技术的实现的任何其它结构中的任何一个。此外,在一些方面,本文中描述的功能可以在被配置用于编码和解码的专用硬件和/软件模块之内提供,或者并入组合编解码器。此外,这些技术可以在一个或多个电路或逻辑单元中完全实现。
本公开内容的技术可以在多种设备或装置中实现,这些设备或装置包括无线手持设备、集成电路(IC)或一组IC(例如,芯片组)。本公开内容中描述了各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但不一定要求由不同的硬件单元来实现。而是如上所述,各个单元可以组合在编解码器硬件单元中,或者由可互操作的硬件单元的集合来提供,其包括如上所述的一个或多个处理器结合合适的软件和/或固件。
已经描述了各个示例。这些示例和其它示例在下面权利要求的范围之内。
Claims (33)
1.一种对视频数据进行解码的方法,所述方法包括:
确定视频数据的块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式进行制码的;
响应于所述帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;
响应于所述帧内预测模式是所述特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;
基于所述帧内预测模式确定预测的参考采样值;以及
基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的采样。
2.根据权利要求1所述的方法,其中,所述第一参考线包括在所述块左侧的采样线,并且所述第二参考线包括在所述块上方的采样线。
3.根据权利要求1所述的方法,其中,所述第一参考线包括与所述块不相邻的、在所述块左侧的采样线,并且所述第二参考线包括与所述块不相邻的、在所述块上方的采样线。
4.根据权利要求1所述的方法,还包括:
根据在所述块上方的多条参考线确定所述第一PDPC参考采样值;以及
根据在所述块左侧的多条参考线确定所述第二PDPC参考采样值。
5.根据权利要求1所述的方法,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是平面模式。
6.根据权利要求1所述的方法,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式属于帧内预测模式的子集,其中,所述子集包括比针对所述视频数据支持的所有帧内预测模式少的帧内预测模式。
7.根据权利要求1所述的方法,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是角模式。
8.根据权利要求1所述的方法,其中,所述预测的参考采样包括未经滤波的参考采样。
9.根据权利要求1所述的方法,其中,基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的所述采样包括:将所述块的所述采样的值设置为所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样的加权平均。
10.根据权利要求1所述的方法,其中,所述方法是作为视频编码过程的一部分执行的。
11.一种用于对视频数据进行解码的设备,所述设备包括:
存储器,其被配置为存储视频数据;以及
一个或多个处理器,其在电路中实现并且被配置为:
确定视频数据的块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式进行制码的;
响应于所述帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;
响应于所述帧内预测模式是所述特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;
基于所述帧内预测模式确定预测的参考采样值;以及
基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的采样。
12.根据权利要求11所述的设备,其中,所述第一参考线包括在所述块左侧的采样线,并且所述第二参考线包括在所述块上方的采样线。
13.根据权利要求11所述的设备,其中,所述第一参考线包括与所述块不相邻的、在所述块左侧的采样线,并且所述第二参考线包括与所述块不相邻的、在所述块上方的采样线。
14.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
根据在所述块上方的多条参考线确定所述第一PDPC参考采样值;以及
根据在所述块左侧的多条参考线确定所述第二PDPC参考采样值。
15.根据权利要求11所述的设备,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是平面模式。
16.根据权利要求11所述的设备,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式属于帧内预测模式的子集,其中,所述子集包括比针对所述视频数据支持的所有帧内预测模式少的帧内预测模式。
17.根据权利要求11所述的设备,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是角模式。
18.根据权利要求11所述的设备,其中,所述预测的参考采样包括未经滤波的参考采样。
19.根据权利要求11所述的设备,其中,为了基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的所述采样,所述一个或多个处理器被配置为:将所述块的所述采样的值设置为所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样的加权平均。
20.根据权利要求11所述的设备,其中,所述设备包括无线通信设备,还包括:发射机,其被配置为发送编码的视频数据。
21.根据权利要求20所述的设备,其中,所述无线通信设备包括手持电话,并且其中,所述发射机被配置为:根据无线通信标准来对包括所述编码的视频数据的信号进行调制。
22.根据权利要求11所述的设备,其中,所述设备包括无线通信设备,还包括:接收机,其被配置为接收编码的视频数据。
23.根据权利要求22所述的设备,其中,所述无线通信设备包括手持电话,并且其中,所述接收机被配置为:根据无线通信标准来对包括所述编码的视频数据的信号进行解调。
24.一种存储指令的计算机可读存储介质,所述指令当由一个或多个处理器执行时使所述一个或多个处理器进行以下操作:
确定视频数据的块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式进行制码的;
响应于所述帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值;
响应于所述帧内预测模式是所述特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值;
基于所述帧内预测模式确定预测的参考采样值;以及
基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的采样。
25.根据权利要求24所述的计算机可读存储介质,其中,所述第一参考线包括在所述块左侧的采样线,并且所述第二参考线包括在所述块上方的采样线。
26.根据权利要求24所述的计算机可读存储介质,其中,所述第一参考线包括与所述块不相邻的、在所述块左侧的采样线,并且所述第二参考线包括与所述块不相邻的、在所述块上方的采样线。
27.根据权利要求24所述的计算机可读存储介质,还包括:
根据在所述块上方的多条参考线确定所述第一PDPC参考采样值;以及
根据在所述块左侧的多条参考线确定所述第二PDPC参考采样值。
28.根据权利要求24所述的计算机可读存储介质,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是平面模式。
29.根据权利要求24所述的计算机可读存储介质,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式属于帧内预测模式的子集,其中,所述子集包括比针对所述视频数据支持的所有帧内预测模式少的帧内预测模式。
30.根据权利要求24所述的计算机可读存储介质,其中,所述帧内预测模式是所述特定帧内预测模式包括:所述帧内预测模式是角模式。
31.根据权利要求24所述的计算机可读存储介质,其中,所述预测的参考采样包括未经滤波的参考采样。
32.根据权利要求24所述的计算机可读存储介质,其中,基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的所述采样包括:将所述块的所述采样的值设置为所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样的加权平均。
33.一种用于对视频数据进行解码的装置,所述装置包括:
用于确定视频数据的块是使用具有依赖位置的帧内预测组合(PDPC)的帧内预测模式进行制码的单元;
用于响应于所述帧内预测模式是特定帧内预测模式,将第一滤波器应用于第一参考线中的第一采样以获得第一PDPC参考采样值的单元;
用于响应于所述帧内预测模式是所述特定帧内预测模式,将第二滤波器应用于第二参考线中的第二采样以获得第二PDPC参考采样值的单元;
用于基于所述帧内预测模式确定预测的参考采样值的单元;以及
用于基于所述预测的参考采样值、所述第一PDPC参考采样值和所述第二PDPC参考采样值来预测所述视频数据的块的采样的单元。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862694932P | 2018-07-06 | 2018-07-06 | |
US62/694,932 | 2018-07-06 | ||
US16/503,089 | 2019-07-03 | ||
US16/503,089 US11190764B2 (en) | 2018-07-06 | 2019-07-03 | Merged mode dependent intra smoothing (MDIS) and intra interpolation filter switching with position dependent intra prediction combination (PDPC) |
PCT/US2019/040705 WO2020010317A1 (en) | 2018-07-06 | 2019-07-05 | Merged mode dependent intra smoothing (mdis) and intra interpolation filter switching with position dependent intra prediction combination (pdpc) |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112385233A true CN112385233A (zh) | 2021-02-19 |
CN112385233B CN112385233B (zh) | 2024-09-10 |
Family
ID=67470678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980045427.4A Active CN112385233B (zh) | 2018-07-06 | 2019-07-05 | 合并的依赖模式的帧内平滑(mdis)与具有依赖位置的帧内预测组合(pdpc)的内插值滤波器切换 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11190764B2 (zh) |
EP (1) | EP3818714A1 (zh) |
CN (1) | CN112385233B (zh) |
TW (1) | TW202007148A (zh) |
WO (1) | WO2020010317A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10834393B2 (en) * | 2018-09-10 | 2020-11-10 | Tencent America LLC | Intra interpolation filter for multi-line intra prediction |
CA3115194C (en) * | 2018-10-06 | 2024-03-05 | Huawei Technologies Co., Ltd. | Method and apparatus for intra prediction using an interpolation filter |
WO2020149620A1 (ko) * | 2019-01-14 | 2020-07-23 | 삼성전자 주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
EP3941047A4 (en) * | 2019-03-12 | 2022-12-28 | LG Electronics Inc. | METHOD AND DEVICE FOR ENCODING/DECODING VIDEO AND METHOD FOR TRANSMISSION OF BITSTREAM |
US11134257B2 (en) * | 2019-04-04 | 2021-09-28 | Tencent America LLC | Simplified signaling method for affine linear weighted intra prediction mode |
US11431971B2 (en) | 2019-06-24 | 2022-08-30 | Industrial Technology Research Institute | Method and image processing apparatus for video coding |
WO2021043138A1 (en) * | 2019-09-02 | 2021-03-11 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods of filter modification on general intra prediction process |
KR20220047824A (ko) * | 2019-09-19 | 2022-04-19 | 엘지전자 주식회사 | 참조 샘플 필터링을 이용하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
US20240007640A1 (en) * | 2022-07-04 | 2024-01-04 | Alibaba (China) Co., Ltd. | On planar intra prediction mode |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170272748A1 (en) * | 2016-03-21 | 2017-09-21 | Qualcomm Incorporated | Using luma information for chroma prediction with separate luma-chroma framework in video coding |
CN107646195A (zh) * | 2015-06-08 | 2018-01-30 | Vid拓展公司 | 用于屏幕内容编码的帧内块复制模式 |
CN108028923A (zh) * | 2015-09-10 | 2018-05-11 | Lg电子株式会社 | 视频编码系统中的帧内预测方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10674165B2 (en) * | 2016-12-21 | 2020-06-02 | Arris Enterprises Llc | Constrained position dependent intra prediction combination (PDPC) |
US20200007872A1 (en) * | 2018-06-29 | 2020-01-02 | Industrial Technology Research Institute | Video decoding method, video decoder, video encoding method and video encoder |
-
2019
- 2019-07-03 US US16/503,089 patent/US11190764B2/en active Active
- 2019-07-05 CN CN201980045427.4A patent/CN112385233B/zh active Active
- 2019-07-05 WO PCT/US2019/040705 patent/WO2020010317A1/en unknown
- 2019-07-05 EP EP19745866.4A patent/EP3818714A1/en active Pending
- 2019-07-05 TW TW108123831A patent/TW202007148A/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107646195A (zh) * | 2015-06-08 | 2018-01-30 | Vid拓展公司 | 用于屏幕内容编码的帧内块复制模式 |
CN108028923A (zh) * | 2015-09-10 | 2018-05-11 | Lg电子株式会社 | 视频编码系统中的帧内预测方法和设备 |
US20170272748A1 (en) * | 2016-03-21 | 2017-09-21 | Qualcomm Incorporated | Using luma information for chroma prediction with separate luma-chroma framework in video coding |
Also Published As
Publication number | Publication date |
---|---|
CN112385233B (zh) | 2024-09-10 |
EP3818714A1 (en) | 2021-05-12 |
US20200014922A1 (en) | 2020-01-09 |
TW202007148A (zh) | 2020-02-01 |
US11190764B2 (en) | 2021-11-30 |
WO2020010317A1 (en) | 2020-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113812148B (zh) | 用于视频译码的参考图片重采样和帧间译码工具 | |
CN114731417B (zh) | 交叉分量自适应环路滤波器 | |
CN112385233B (zh) | 合并的依赖模式的帧内平滑(mdis)与具有依赖位置的帧内预测组合(pdpc)的内插值滤波器切换 | |
CN112385223B (zh) | 取决于模式的帧内平滑(mdis)与帧内内插滤波器切换的组合 | |
CN111937403B (zh) | 针对预测的视频数据的双边滤波器 | |
CN113853784B (zh) | 用于视频译码的多个自适应环路滤波器集合的方法和装置 | |
CN113940069A (zh) | 用于视频译码中的低频不可分离变换的变换和最后有效系数位置信令 | |
CN114258675A (zh) | 用于视频编码的跨分量自适应环路滤波 | |
CN113170162B (zh) | 用于视频译码的共享候选列表和并行候选列表推导 | |
CN114080802A (zh) | 用于视频译码中的变换跳过模式和调色板模式的最小允许量化参数 | |
CN113557723B (zh) | 使用不同的色度格式的三角预测单元模式中的视频译码 | |
CN114424566A (zh) | 视频译码中用于联合色度残差模式的量化参数信令 | |
IL285754B2 (en) | Coefficient domain segment differential pulse-code modulation in video coding | |
CN112673636B (zh) | 将运动向量取整以自适应运动向量差分辨率及提高视频译码中的运动向量存储精度 | |
CN114223202A (zh) | 低频不可分离变换(lfnst)信令 | |
CN114731394A (zh) | 用于视频编解码的角度帧内预测模式的位置相关帧内预测组合 | |
EP3871412A1 (en) | Wide-angle intra prediction smoothing and interpolation | |
CN114868387B (zh) | 在进行视频译码时对块的色度变换跳过和联合色度译码启用 | |
WO2020181105A2 (en) | Simplification of sub-block transforms in video coding | |
CN113632483A (zh) | 用于视频编解码的受约束的仿射运动继承 | |
CN116325729A (zh) | 用于视频译码的基于神经网络的滤波过程中的激活函数设计 | |
CN114846801A (zh) | 基于色度变换跳过的用于色度的lfnst信令 | |
CN113994706A (zh) | 视频译码中的色度增量量化参数 | |
CN113615178B (zh) | 视频译码中的色度帧内预测 | |
CN116235498A (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 |