CN114503597B - 视频编解码中的色度去方块方法 - Google Patents
视频编解码中的色度去方块方法 Download PDFInfo
- Publication number
- CN114503597B CN114503597B CN202080066216.1A CN202080066216A CN114503597B CN 114503597 B CN114503597 B CN 114503597B CN 202080066216 A CN202080066216 A CN 202080066216A CN 114503597 B CN114503597 B CN 114503597B
- Authority
- CN
- China
- Prior art keywords
- video
- block
- chroma
- codec
- equal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 424
- 238000001914 filtration Methods 0.000 claims abstract description 206
- 230000008569 process Effects 0.000 claims abstract description 190
- 238000013139 quantization Methods 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000006243 chemical reaction Methods 0.000 claims abstract description 36
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 62
- 241000023320 Luma <angiosperm> Species 0.000 claims description 59
- 230000007704 transition Effects 0.000 abstract description 51
- 239000013598 vector Substances 0.000 description 81
- 238000009795 derivation Methods 0.000 description 32
- 230000011664 signaling Effects 0.000 description 21
- 238000004590 computer program Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 101150039623 Clip1 gene Proteins 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013138 pruning Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 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 1
- 101100277553 Caenorhabditis elegans dep-1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007727 signaling mechanism Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
视频处理的示例性方法包含,为视频的色度分量的块与所述视频的比特流表示之间的转换,基于独立确定的包括边缘的一侧上的样点的第一视频区域的第一量化信息和包括边缘的另一侧上的样点的第二视频区域的第二量化信息,确定是否对所述块的边缘施加去方块滤波过程。方法还包含基于所述确定进行所述转换。
Description
相关申请的交叉引用
根据适用专利法和/或依据巴黎公约的规则,本申请及时要求提交于2019年9月21日的国际专利申请No.PCT/CN2019/107145的优先权和权益。出于根据法律的全部目的,前述申请的整个公开通过引用并入作为本申请的公开的一部分。
技术领域
本专利文件涉及一种视频编解码技术、装置和系统。
背景技术
当前,正在努力改善当前视频编码器技术的性能,以提供更好的压缩比或提供视频编解码和解码方案,其允许较低复杂度或并行化的实现方式。行业专家最近已经提出了若干新的视频编解码工具,并且当前正在进行测试以确定它们的有效性。
发明内容
描述了涉及数字视频编解码并具体涉及运动矢量的管理的装置、系统和方法。描述的方法可以应用于现有视频编解码标准(例如,高效视频编解码(HEVC)或多功能视频编解码)和未来视频编解码标准或视频编码器。
在一个代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含:为视频的色度分量的块与所述视频的比特流表示之间的转换,基于独立确定的包括边缘的一侧上的样点的第一视频区域的第一量化信息和包括边缘的另一侧上的样点的第二视频区域的第二量化信息,确定是否对所述块的边缘施加去方块滤波过程。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含:为视频的色度分量的块与所述视频的比特流表示之间的转换,基于与该块相关联的编解码模式或量化参数,确定用于确定去方块滤波过程对块的边缘的至少一些样点的适用性的梯度。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含进行视频的视频单元与视频的比特流表示之间的转换。视频单元包括第一色度分量的第一块和视频的第二色度分量的第二块。在转换期间,对第一块和第二块调用第一决定过程,以确定去方块滤波过程对第一块和第二块两者的适用性。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含进行视频的色度分量的块与视频的比特流表示之间的转换。在转换期间,去方块滤波过程选择性地应用于沿着块的边缘的样点,并且色度量化参数(QP)偏移被添加到来自色度QP表的输出,以确定去方块滤波过程的参数。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含为视频的色度分量的块与所述视频的比特流表示之间的转换,基于包括边缘的一侧上的样点的第一视频区域的第一量化信息和/或包括边缘的另一侧上的样点的第二视频区域的第二量化信息,根据规则确定是否或如何将滤波过程施加到块的边缘。规则是基于适用于块以编解码一侧上的样点或边缘的另一侧上的样点的编解码模式。规则指定使用在不同视频单元级别处的多个QP偏移,以确定第一量化信息或第二量化信息。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含:为视频的当前块与视频的比特流表示之间的转换,根据在视频单元的级别处的语法元素,确定是否对当前块启用色度量化参数(QP)偏移的使用。视频单元包含视频的当前块和第二块。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含进行包括第一色度分量和第二色度分量的视频与视频的比特流表示之间的转换。第一色度分量的第一色度块和第二色度分量的第二色度块的残差使用根据规则的编解码模式联合地编解码在比特流表示中。规则指定推导转换的量化参数(QP)的方式独立于编解码模式。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含进行视频的第一块与视频的比特流表示之间的转换。视频具有多个色彩分量的色彩格式,并且第一块与视频的第一色彩分量相关联。在转换期间,去方块滤波过程被应用于沿着第一块的边缘的至少一些样点。方法还包含进行与视频的其余色彩分量相关联的块和视频的比特流表示之间的后续转换。在后续转换期间,去方块滤波过程以与第一块的转换相同的方式被应用于沿着块中每一个的边缘的至少一些样点。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含:为视频与视频的比特流表示之间的转换,确定视频的两个块之间的边界的边界强度。确定边界强度,无论两个块中的任意一个是否是以色度残差的联合编解码(JCCR)模式编解码的。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含为视频与视频的比特流表示之间的转换,确定第一块与第二块之间的边界的边界强度。在不将第一块的信息与第二块的对应的信息进行比较的情况下进行确定。信息包括对应的块的参考图片和/或若干运动矢量,并且边界强度被用于确定去方块滤波过程是否适用于边界。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含为视频的视频块与视频的比特流表示之间的转换,确定用于在视频块上根据规则应用去方块滤波的量化参数(QP)。规则指定,在视频块使用变换跳过(TS)模式编解码的情况下,第一QP被用于确定,在变换跳过(TS)模式中视频块的残差跳过跳过变换的应用而被编解码在比特流表示中。在视频块使用非变换跳过模式编解码的情况下,与第一QP不同的第二QP被用于确定,在非变换跳过模式中,视频块的残差在应用变换之后被编解码在比特流表示中。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含:为视频的视频块与视频的比特流表示之间的转换,根据规则确定用于确定去方块滤波过程对视频块的边缘的至少一些样点的适用性的梯度。规则指定确定梯度的方式独立于视频块的尺寸。方法还包含基于所述确定进行所述转换。
在另一代表性方面中,所公开的技术可以用于提供视频处理的方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得当色度量化参数(QP)表被用于推导去方块滤波的参数时,在单独色度QP值上进行通过色度QP表的处理。
在另一代表性方面中,所公开的技术可以用于提供视频处理的另一方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中色度QP偏移在图片/条带/片/砖/子图片级别。
在另一代表性方面中,所公开的技术可以用于提供视频处理的另一方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中属于相同亮度编解码单元的信息被用于去方块滤波和推导色度QP偏移。
在另一代表性方面中,所公开的技术可以用于提供视频处理的另一方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中启用色度QP偏移的使用的指示在比特流表示中被信令通知。
在另一代表性方面中,所公开的技术可以用于提供视频处理的另一方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中去方块滤波中使用的色度QP偏移是相同的,无论JCCR编解码方法是否应用在视频单元的边界上或与JCCR编解码方法不同的方法是否应用在视频单元的边界上。
在另一代表性方面中,所公开的技术可以用于提供视频处理的另一方法。该方法包含进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中在不将与在P侧边界处的视频单元相关联的参考图片和/或若干运动矢量(MV)与在Q侧边界处的视频单元的参考图片进行比较的情况下计算去方块滤波的边界强度(BS)。
另外,在代表性方面中,公开了视频系统中的设备,包括处理器和其上具有指令的非瞬态存储器。在由处理器执行指令时,使处理器实现所公开方法中的任意一个或多个。
此外,在代表性方面中,包括处理器的视频解码设备配置为实现所公开方法中的任意一个或多个。
在另一代表性方面中,包括处理器的视频编码设备配置为实现所公开方法中的任意一个或多个。
此外,公开了储存在非瞬态计算机可读介质上的计算机程序产品,计算机程序产品包含用于执行所公开方法中的任意一个或多个的程序代码。
附图、说明书和权利要求中更详细描述了所公开的技术的以上和其他方面和特征。
附图说明
图1示出了方块化去方块滤波过程的总体处理流程的示例。
图2示出了Bs计算的流程图的示例。
图3示出了CTU边界处的Bs计算的参考信息的示例。
图4示出了滤波开/关决定和强/弱滤波选择涉及的像素的示例。
图5示出了VVC中的去方块滤波过程的总体处理流程的去方块滤波过程的总体处理流程。
图6示出了VVC中的亮度去方块滤波过程的示例。
图7示出了VVC中的色度去方块滤波过程的示例。
图8示出了子PU边界的滤波长度确定的示例。
图9A示出了色度块的中央位置的示例。
图9B示出了色度块的中央位置的另一示例。
图10示出了P侧和Q侧处的块的示例。
图11示出了亮度块的解码的信息的使用的示例。
图12是用于实现本文件中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图13示出了视频编解码的示例性方法的流程图。
图14是可以实现所公开技术的示例性视频处理系统的框图。
图15是根据本技术的视频处理的方法的流程图表示。
图16是根据本技术的视频处理的另一方法的流程图表示。
图17是根据本技术的视频处理的另一方法的流程图表示。
图18是根据本技术的视频处理的另一方法的流程图表示。
图19是根据本技术的视频处理的另一方法的流程图表示。
图20是根据本技术的视频处理的另一方法的流程图表示。
图21是根据本技术的视频处理的另一方法的流程图表示。
图22是根据本技术的视频处理的另一方法的流程图表示。
图23是根据本技术的视频处理的另一方法的流程图表示。
图24是图示示例性视频编解码系统的框图。
图25是图示根据本公开的一些实施例编码器的框图。
图26是图示根据本公开的一些实施例的解码器的框图。
图27是根据本技术的视频处理的另一方法的流程图表示。
图28是根据本技术的视频处理的另一方法的流程图表示。
图29是根据本技术的视频处理的又一方法的流程图表示。
具体实施方式
1.HEVC/H.265中的视频编解码
视频编解码标准已经主要通过熟知ITU-T和ISO/IEC标准的发展而演进。H.261和H.263产生的ITU-T,MPEG-1和MPEG-4视频产生的ISO/IEC,以及两个组织联合产生的H.262/MPEG-2视频和H.264/MPEG-4先进视频编解码(AVC)以及H.265/HEVC标准。自从H.262,视频编解码标准是基于混合视频编解码结构,其中采用时域预测加上变换编解码。为探索HEVC之后的未来视频编解码技术,由VCEG和MPEG在2015年联合建立了联合视频探索小组(JVET)。从此,许多新方法已经被JVET采用且置入名为联合探索模型(JEM)的参考软件。在2018年4月,建立了VCEG(Q6/16)与ISO/IEC JTC1 SC29/WG11(MPEG)之间的联合视频专家小组(JVET)以研究VVC标准,其目标为与HEVC相比的50%比特率减少。
2.1.HEVC中的去方块方案
以与解码过程相同的顺序对每个CU进行去方块滤波过程。首先,垂直边界被滤波(水平滤波),然后水平边界被滤波(垂直滤波)。对于亮度分量和色度分量两者,滤波被应用于被确定要滤波的8x8块边界。4x4块边界不被处理,以便降低复杂度。
图1图示了去方块滤波过程的总体处理流程。边界可以具有三个滤波状态:不滤波、弱滤波和强滤波。每个滤波决定是基于边界强度、Bs和阈值、β和tC。
滤波过程中可能涉及三种边界:CU边界、TU边界和PU边界。作为CU的外边缘的CU边界总是在滤波中被涉及,因为CU边界总是也是TU边界或PU边界。当PU形状是2NxN(N>4)且RQT深度等于1时,滤波中涉及8x8块网格处的TU边界和CU内每个PU之间的PU边界。一种例外是当PU边界在TU内时,边界不被滤波。
2.1.1.边界强度计算
总体上讲,边界强度(Bs)反映边界需要多强的滤波。如果Bs大,则应考虑强滤波。
使P和Q定义为滤波中涉及的块,其中P表示位于边界的左(垂直边缘情况)或上(水平边缘情况)侧的块,并且Q表示位于边界的右(垂直边缘情况)或上(水平边缘情况)侧的块。图2图示了如何基于帧内编解码模式、非零变换系数和运动信息的存在、参考图片、运动矢量的数目和运动矢量差异计算Bs值。
基于4x4块计算Bs,但被重新映射到8x8网格。对应于由4x4网格中的行构成的8像素的Bs的两个值中的最大值被选作8x8网格中的边界的Bs。
为了降低行缓冲器存储器要求,仅对于CTU边界,左或上侧中的每个第二块(4x4网格)中的信息被重新使用,如图3所示。
2.1.2.β和tC决定
滤波开/关决定、强和弱滤波选择和弱滤波过程中涉及的阈值β和tC基于P和Q块分别的亮度量化参数QPP和QPo推导。用于推导β和tC的Q计算如下。
Q=((QPP+QPQ+1)>>1)。
如表1中所示基于Q推导变量β。如果Bs大于1,则变量tC如表1指定,Clip3(0,55,Q+2)作为输入。否则(BS等于或小于1),变量tC如表1指定,Q作为输入。
表1导由Q推阈值变量β和tC
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |||||||||||
C | |||||||||||||||||||
9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 0 | 2 | 4 | 6 | 8 | 0 | 2 | 4 | 6 | ||
C | |||||||||||||||||||
8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 1 | 2 | 3 | 4 | 5 | ||
8 | 0 | 2 | 4 | 6 | 8 | 0 | 2 | 4 | 6 | 8 | 0 | 2 | 4 | 4 | 4 | 4 | 4 | ||
C | 0 | 0 | 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 |
2.1.3.4行的滤波开/关决定
对于作为单元的四行进行滤波开/关决定。图4图示了滤波开/关决定中涉及的像素。第一个四行的两个红框中的6个像素被用于确定4行的滤波开/关。第二个四行的两个红框中的6个像素被用于确定第二个四行的滤波开/关。
如果dp0+dq0+dp3+dq3<β,第一个四行的滤波打开且应用强/弱滤波选择过程。每个变量推导如下。
dp0=|p2,0-2*p1,0+p0,0|,dp3=|P2,3-2*p1,3+p0,3|,dp4=|p2,4-2*p1,4+p0,4|,dp7=|p2,7-2*p1,7+p0,7|
dq0=|q2,0-2*q1,0+q0,0|,dq3=|q2,3-2*q1,3+q0,3|,dq4=|q2,4-2*q1,4+q0,4|,dq7=|q2,7-2*q1,7+q0,7|
如果不满足条件,则不对第一个4行进行滤波。此外,如果满足条件,则对弱滤波过程导出dE、dEp1和dEp2。变量dE被设定为等于1。如果dp0+dp3<(β+(β>>1))>>3,则变量dEp1被设定为等于1。如果dq0+dq3<(β+(β>>1))>>3,则变量dEq1被设定为等于1。
对于第二个四行,以与以上相同方式进行决定。
2.1.4.4行的强/弱滤波选择
在第一个四行在滤波开/关决定中被确定滤波打开之后,如果满足以下两个条件,则强滤波被用于第一个四行的滤波。否则,弱滤波被用于滤波。涉及的像素与图4中所示的用于滤波开/关决定的像素相同。
1)2*(dp0+dq0)<(β>>2),|p30-p00|+|q00-q30|<(β>>3)and|p00-q00|<(5*tC+1)>>1
2)2*(dp3+dq3)<(β>>2),|p33-p03|+|q03-q33|<(β>>3)and|p03-q03|<(5*tC+1)>>1
作为相同方式,如果满足以下两个条件,则强滤波被用于第二个4行的滤波。否则,弱滤波被用于滤波。
1)2*(dp4+dq4)<(β>>2),|p34-p04|+|q04-q34|<(β>>3)and|p04-q04|<(5*tC+1)>>1
2)2*(dp7+dq7)<(β>>2),|p37-p07|+|q07-q37|<(β>>3)and|p07-q07|<(5*tC+1)>>1
2.1.4.1.强滤波
对于强滤波,滤波的像素值通过以下等式获得。值得注意,使用四个像素作为输入对每个P和Q块分别修改三个像素。
p0′=(p2+2*p1+2*p0+2*q0+q1+4)>>3
q0′=(p1+2*p0+2*q0+2*q1+q2+4)>>3
p1′=(p2+p1+p0+q0+2)>>2
q1′=(p0+q0+q1+q2+2)>>2
p2′=(2*p3+3*p2+p1+p0+q0+4)>>3
q2′=(p0+q0+q1+3*q2+2*q3+4)>>3
2.1.4.2.弱滤波
定义(如下。
(=(9*(q0-p0)-3*(q1-p1)+8)>>4
当abs(()小于tC*10时,
(=Clip3(-tC,tC,()
p0′=Clip1Y(p0+()
q0′=Clip1Y(q0-()
如果dEp1等于1,
则(p=Clip3(-(tC>>1),tC>>1,
(((p2+p0+1)>>1)-p1+()>>1)
p1′=Clip1Y(p1+(p)
如果dEq1等于1,
则(q=Clip3(-(tC>>1),tC>>1,
(((q2+q0+1)>>1)-q1-()>>1)
q1′=Clip1Y(q1+(q)
值得注意,使用三个像素作为输入对每个P和Q块分别修改最多两个像素。
2.1.4.3.色度滤波
色度滤波的Bs是从亮度继承的。如果Bs>1或如果编解码的色度系数存在的情况,进行色度滤波。不存在其他滤波决定。并且仅一个滤波被应用于色度。对色度不使用滤波选择过程。滤波的样点值p0′和q0′推导如下。
(=Clip3(-tC,tC,((((q0-p0)<<2)+p1-q1+4)>>3))
p0′=Clip1C(p0+()
q0′=Clip1C(q0-()
2.2VVC中的去方块方案
在VTM6中,去方块滤波过程大部分与HEVC中的那些去方块滤波过程相同。然而,添加以下修改。
A)取决于重建的样点的平均的亮度级别的去方块滤波的滤波强度。
B)去方块tC表扩展且适配于10比特视频。
C)亮度的4x4网格去方块。
D)亮度的较强去方块滤波。
E)色度的较强去方块滤波。
F)子块边界的去方块滤波。
G)适配于运动上的较小差异的去方块决定。
图5图示了编解码单元的VVC中的去方块滤波过程的流程图。
2.2.1.取决于重建的平均亮度的滤波强度
在HEVC中,由从平均量化参数qPL导出的变量β和tC控制的去方块滤波的滤波强度。在VTM6中,如果该方法的SPS标志为真,则去方块滤波通过根据重建的样点的亮度级别来向qPL添加偏移而控制去方块滤波的强度。重建的亮度级别LL推导如下:
LL=((p0,0+p0,3+q0,0+q0,3)>>2)/(1<<bitDepth)(3-1)
其中,可以推导样点值pi,k和qi,k,其中i=0..3且k=0和3。然后LL被用于基于SPS中信令通知的阈值决定偏移qpOffset。之后,qPL(推导如下)被用于推导β和tC。
qPL=((QpQ+QpP+1)>>1)+qpOffset (3-2)
其中QpQ和QpP分别指代含有样点q0,0和p0,0的编解码单元的量化参数。在当前VVC中,该方法仅应用于亮度去方块过程。
2.2.2.亮度的4x4去方块网格
HEVC对亮度和色度两者使用8x8去方块网格。在VTM6中,亮度边界的4x4网格上的去方块被引入,以处理来自矩形变换形状的方块化伪影。通过在一侧具有4或更少的宽度的情况下将要去方块的样点的数目限制为垂直亮度边界的每侧上1个样点,或在一侧具有4或更少的高度的情况下将要去方块的样点的数目限制为水平亮度边界的每侧上1个样点,实现4x4网格上的并行友好的亮度去方块。
2.2.3.亮度的边界强度推导
详细边界强度推导可以在表2中找到。表2中的条件按顺序检查。
表2边界强度推导
2.2.4.亮度较强去方块滤波
提案在边界的任一侧处的样点属于大块时使用双线性滤波。属于大块的样点定义为对于垂直边界当宽度>=32,且对于水平边界当高度>=32。
双线性滤波列出如下。
块边界样点对于i=0至Sp-1的pi和对于j=0至Sq-1的qi(pi和qi遵循上述HEVC去方块的定义)然后被线性插值替换如下:
-pi′=(fi*Middles,t+(64-fi)*Ps+32)>>6),剪切到pi±tcPDi
-qj′=(gj*Middles,t+(64-gj)*Qs+32)>>6),剪切到qj±tcPDj
其中tcPDi和tcPDj术语是位置相关的修剪,描述于章节2.2.5中,并且gj,fi,Middles,t,Ps和Qs给出如下:
/>
2.2.5.亮度的去方块控制
该子章节中描述去方块决定过程。
仅当全部Condition1、Condition2和Condition 3都为真时,使用较宽-较强亮度滤波。
条件1是″大块条件″。该条件检测在P侧和Q侧的样点是否属于大块,分别由变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk定义如下。
bSidePisLargeBlk=((边缘类型是垂直且p0属于CU,宽度>=32)||(边缘类型是水平且p0属于CU,高度>=32))?TRUE:FALSE
bSideQisLargeBlk=((边缘类型是垂直且q0属于CU,宽度>=32)||(边缘类型是水平且q0属于CU,且高度>=32))?TRUE:FALSE
基于bSidePisLargeBlk和bSideQisLargeBlk,条件1定义如下。
Condition1=(bSidePisLargeBlk||bSidePisLargeBlk)?TRUE:FALSE
接下来,如果条件1为真,则条件2将被进一步检查。首先,推导以下变量:
dp0,dp3,dq0,dq3被首先推导,如在HEVC中
如果(P侧大于或等于32)
则dp0=(dp0+Abs(p5,0-2*p4,0+p3,0)+1)>>1
dp3=(dp3+Abs(p5,3-2*p4,3+p3,3)+1)>>1
如果(Q侧大于或等于32)
则dq0=(dq0+Abs(q5,0-2*q4,0+q3,0)+1)>>1
dq3=(dq3+Abs(q5,3-2*q4,3+q3,3)+1)>>1
dpq0,dpq3,dp,dq,d被然后推导,如在HEVC中。
然后条件2定义如下。
Condition2=(d<β)?TRUE:FALSE
其中d=dp0+dq0+dp3+dq3,如章节2.1.4中所示。
如果Condition1和Condition2都有效,则检查是否由任何块使用子块:
如果(bSidePisLargeBlk)
如果(模式块P==SUBBLOCKMODE)
Sp=5
否则
Sp==7
否则
Sp=3
如果(bSideQisLargeBlk)
如果(模式块Q==SUBBLOCKMODE)
Sq=5
否则
Sq=7
否则
Sq=3
最终,如果条件1和条件2都有效,提出的去方块方法将检查条件3(大块强滤波条件),其定义如下。
在Condition3 StrongFilterCondition中,推导以下变量:
如在HEVC中一样推导dpq。
sp3=Abs(p3-p0),如在HEVC中一样推导
如果(p侧大于或等于32)
如果(Sp==5)
sp3=(sp3+Abs(p5-p3)+1)>>1
否则
sp3=(sp3+Abs(p7-p3)+1)>>1
sq3=Abs(q0-q3),如在HEVC中一样推导
如果(q侧大于或等于32)
如果(Sq==5)
sq3=(sq3+Abs(q5-q3)+1)>>1
否则
sq3=(sq3+Abs(q7-q3)+1)>>1
如HEVC推导中一样,StrongFilterCondition=(dpq小于(β>>2),sp3+sq3小于(3*β>>5),并且Abs(p0-q0)小于(5*tC+1)>>1)?TRUE:FALSE
图6图示了亮度去方块滤波过程的流程图。
2.2.6.色度的强去方块滤波
定义色度的以下强去方块滤波:
p2′=(3*p3+2*p2+p1+p0+q0+4)>>3
p1′=(2*p3+p2+2*p1+p0+q0+q1+4)>>3
p0′=(p3+p2+p1+2*p0+q0+q1+q2+4)>>3
提出的色度滤波对4x4色度样点网格进行去方块。
2.2.7.色度的去方块控制
以上色度滤波在8x8色度样点网格上进行去方块。色度强滤波用于块边界的两侧上。此处,当色度边缘的两侧都大于或等于8(以色度样点为单位)时选择色度滤波,并且满足具有三个条件的以下决定。第一个是用于边界强度以及大块的决定。第二个和第三个与HEVC亮度决定基本相同,分别是开/关决定和强滤波决定。
图7图示了色度去方块滤波过程的流程图。
2.2.8.位置相关的修剪(clipping)
提案还引入位置相关的修剪tcPD,其被应用于亮度滤波过程的输出样点,所述亮度滤波过程涉及修改边界处的7个、5个和3个样点的强和长滤波。假设量化误差分布,提出增大期望具有较高量化噪声的样本的修剪值,从而期望具有重建的样点值的距离真样点值的更高的偏差。
对于用提出的非对称滤波滤波的每个P或Q边界,取决于章节2.2中所描述的进行决定过程的结果,位置相关的阈值表选自Tc7和Tc3表,其被提供到解码器作为辅助信息:
Tc7={6,5,4,3,2,1,1};
Tc3={6,4,2};
tcPD=(SP==3)?Tc3:Tc7;
tcQD=(SQ==3)?Tc3:Tc7;
对于用短对称滤波滤波的P或Q边界,较低幅度的位置相关的阈值被应用:
Tc3={3,2,1};
在定义阈值之后,滤波的p′i和q′i样点值根据tcP和tcQ修剪值被修剪:
p″i=clip3(p′i+tcPi,p′i-tcPi,p′i);
q″j=clip3(q′j+tcQj,q′j-tcQj,q′j);
其中p′i和q′i是滤波的样点值,p″i和q″j是修剪之后的输出样点值,并且tcPi tcPi是从VVC tc参数和tcPD和tcQD推导的修剪阈值。术语clip3是修剪函数,如在VVC中所指定。
2.2.9.子块去方块调整
为了允许使用长滤波和子块去方块的并行友好的去方块,长滤波被限制为在使用子块去方块(AFFINE或ATMVP)的侧上修改至多5个样点,如在长滤波的亮度控制中所示。此外,子块去方块被调整为使得接近于CU或隐式TU边界的8x8网格上的子块边界被限制为在每侧上修改至多两个样点。
以下适用于不与CU边界对准的。
其中边缘等于0对应于CU边界,边界等于2或等于orthogonalLength-2对应于距CU边界子块边界8个样点,等等。其中如果TU的隐式划分被使用,则隐式TU为真。图8示出了TU边界和子PU边界的确定过程的流程图。
当水平边界与CTU边界对准时,水平边界的滤波对亮度限制Sp=3,对色度限制Sp=1和Sq=1。
2.2.10.适配于运动上的较小差异去方块决定
当边界的相应侧上的块之间的至少一个运动矢量分量上的差异等于或大于1个样点的阈值时,HEVC启用预测单元边界的去方块。在VTM6中,半亮度样点的阈值也被引入,以启用对于源自具有运动矢量上的小差异的帧间预测单元之间的边界的方块化伪影的移除。
2.3.组合帧间预测和帧内预测(CIIP)
在VTM6中,当CU以合并模式编解码时,如果CU含有至少64个亮度样点(即,CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度都小于128个亮度样点,则附加标志被信令通知以指示组合帧间/帧内预测(CIIP)模式是否被应用于当前CU。如其名称所指示,CIIP预测将帧间预测信令通知与帧内预测信令通知组合。CIIP模式中的帧间预测信令通知Pinter被使用应用于常规合并模式的相同帧间预测过程推导;并且帧内预测信令通知Pintra在常规帧内预测过程之后被以平面模式推导。然后,帧内和帧间预测信令通知被使用加权平均组合,其中取决于顶和左邻域块的编解码模式,计算权重值如下:
-如果顶邻域是可用的且是帧内编解码的,则将isIntraTop设定为1,否则将isIntraTop设定为0;
-如果左邻域是可用的且是帧内编解码的,则将isIntraLeft设定为1,否则将isIntraLeft设定为0;
-如果(isIntraLeft+isIntraLeft)等于2,则wt被设定为3;
-否则,如果(isIntraLeft+isIntraLeft)等于1,则wt被设定为2;
-否则,将wt设定为1。
CIIP预测如下形成:
PCIIP=((4-wt)*Pinter+wt*Pintra+2)>>2
2.4.VTM-6.0中的色度QP表设计
在一些实施例中,使用色度QP表。在一些实施例中,信令通知机制被用于色度QP表,使得其能够灵活为编码器提供机会来优化SDR和HDR内容的表。其支持对Cb和Cr分量分开地信令通知该表。提出的机制将色度QP表作为分段线性函数(piece-wise linearfunction)来信令通知。
2.5.变换跳过(TS)
如在HEVC中,块的残差可以用变换跳过模式编解码。为避免语法编解码的冗余,当CU级别MTS_CU_flag不等于零时,变换跳过标志不被信令通知。变换跳过的块尺寸限制与在JEM4中对MTS相同,其指示当块宽度和高度都等于或小于32时,变换跳过对CU是适用的。注意到,当LFNST或MIP对当前CU激活时,隐式MTS变换被设定为DCT2。此外,当对帧间编解码块启用MTS时隐式MTS仍可被启用。
此外,对于变换跳过块,最小允许量化参数(QP)定义为6*(intemalBitDepth-inputBitDepth)+4。
2.6.色度残差的联合编解码(JCCR)
在一些实施例中,色度残差被联合编解码。联合色度编解码模式的使用(激活)由TU级别标志tu_joint_cbcr_residual_flag指示,并且所选模式由色度CBF隐式地指示。如果TU的色度CBF中的任一者或两者等于1,则标志tu_joint_cbcr_residual_flag存在。在PPS和条带报头中,色度QP偏移值对联合色度残差编解码模式信令通知,以与对常规色度残差编解码模式信令通知的通常色度QP偏移值进行区分。这些色度QP偏移值被用于推导用联合色度残差编解码模式编解码的块的色度QP值。当对应的联合色度编解码模式(表3中的模式2)在TU中激活时,该色度QP偏移在该的TU的量化和解码期间被添加到应用的亮度推导的色度QP。对于其他模式(表3中的模式1和模式3,表3色度残差的重建。值CSign是符号值(+1或-1),其在条带报头中指定,resJointC[][]是传输的残差),色度QP被以与对常规Cb或Cr块相同的方式推导。来自传输的变换块的色度残差重建过程(resCb和resCr)在表3中示出。当该模式激活时,一个单个联合色度残差块(表3中的resJointC[x][y])被信令通知,并且Cb的残差块(resCb)和Cr的残差块(resCr)被推导,考虑到诸如tu_cbf_cb、tu_cbf_cr和CSign的信息,其为条带报头中指定的符号值。
在编码器侧,推导联合色度分量,如以下所解释。取决于模式(以上表中列举),resJointC{1,2}由编码器生成如下:
·如果模式等于2(单个残差,重建Cb=C,Cr=CSign*C),则联合残差根据以下确定
resJointC[x][y]=(resCb[x][y]+CSign*
resCr[x][y])/2。
·否则,如果模式等于1(单个残差,重建Cb=C,Cr=
(CSign*C)/2),则联合残差根据以下确定
resJointC[x][y]=(4*resCb[x][y]+2*CSign*
resCr[x][y])/5。
·否则(模式等于3,即,单个残差,重建Cr=C,Cb=(CSign
*C)/2),则联合残差根据以下确定
resJointC[x][y]=(4*resCr[x][y]+2*CSign*
resCb[x][y])/5。
表3色度残差的重建。值CSign是符号值(+1或-1),其在条带报头中指定,resJointC[][]是传输的残差。
不同QP在以上三种模式中被使用。对于模式2,在PPS中对JCCR编解码块信令通知的QP偏移被应用,而对于其他两种模式,其不被应用,替代地,在PPS中对非JCCR编解码块信令通知的QP偏移被应用。
对应的说明如下:
8.7.1量化参数的推导过程
变量QpY推导如下:
QpY=((qPYPRED+CuQpDeltaVal+64+2*QpBdOffsetY)%
(64+QpBdOffsetY))-QpBdOffsetY (8-933)
亮度量化参数Qp′Y推导如下:
Qp′Y=QpY+QpBdOffsetY (8-934)
当ChromaArrayType不等于0且treeType等于SINGLE_TREE或DUAL_TREE_CHROMA时,以下适用:
-当treeType等于DUAL_TREE_CHROMA时,变量QpY被设定为等于覆盖亮度位置(xCb+cbWidth/2,yCb+cbHeight/2)的亮度编解码单元的亮度量化参数QpY。
-变量qPCb,qPCr和qPCbCr推导如下:
qPiChroma=Clip3(-QpBdOffsetC,63,QpY)
(8-935)
qPiCb=ChromaQpTable[0][qPiChroma]
(8-936)
qPiCr=ChromaQpTable[1][qPiChroma]
(8-937)
qPiCbCr=ChromaQpTable[2][qPichroma]
(8-938)
-Cb和Cr分量的色度量化参数,Qp′Cb和Qp′Cr,以及联合Cb-Cr编解码Qp′CbCr推导如下:
Qp′Cb=Clip3(-QpBdOffsetC,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)
+QpBdOffsetC (8-939)
Qp′Cr=Clip3(-QpBdOffsetC,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr)
+QpBdOffsetC (8-940)
Qp′CbCr=Clip3(-QpBdOffsetC,63,qPCbCr+pps_cbcr_qp_offset+slice_cbcr_qp_offset+CuQpOffsetCbCr)
+QpBdOffsetC (8-941)
8.7.3变换系数的缩放过程
对该过程的输入是:
-亮度位置(xTbY,yTbY),指定相对于当前图片的左顶亮度样点的当前亮度变换块的左顶样点,
-变量nTbW,指定变换块宽度,
-变量nTbH,指定变换块高度,
-变量cIdx,指定当前块的色彩分量,
-变量bitDepth,指定当前色彩分量的位深度。
该过程的输出是具有元d[x][y]的缩放变换系数的(nTbW)x
(nTbH)阵列d。
量化参数qP推导如下:
-如果cIdx等于0且transform_skip_flag[xTbY][yTbY]等于0,则以下使用:
qP=Qp′Y (8-950)
-否则,如果cIdx等于0(并且transform_skip_flag[xTbY][yTbY]
等于1),则以下使用:
qP=Max(QpPrimeTsMin,Qp′Y)
(8-951)
-否则,如果TuCResMode[xTbY][yTbY]等于2,则以下使用:
qP=Qp′CbCr (8-952)
-否则,如果cIdx等于1,则以下使用:
qP=Qp′Cb (8-953)
-否则(cIdx等于2),则以下使用:
qP=Qp′Cr (8-954)
3.现有实现方式的缺陷
DMVR和BIO不涉及细化运动矢量期间的原始信令通知,这可能导致具有不准确运动信息的编解码块。此外,DMVR和BIO有时在运动细化之后采用分数运动矢量,而屏幕视频通常具有整数运动矢量,这使得当前运动信息更不准确且使得编解码性能变差。
1.色度QP表与色度去方块之间的相互作用可能有问题,例如色度QP表应被应用于单独的QP而不是QP的加权和。
2.亮度去方块滤波过程的逻辑对于硬件设计是复杂的。
3.边界强度推导的逻辑对于软件和硬件设计两者都过于复杂。
4.在BS决定过程中,JCCR与不应用JCCT编解码的块分开处理。然而,JCCR仅是编解码残差的特殊方式。因此,这样的设计可能带来附加复杂度而没有明确益处。
5.在色度边缘决定中,QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。然而,在量化/去量化过程中,从覆盖当前色度CU的中央位置的对应的亮度样点的亮度块的QP推导色度样点的QP。当启用双叉树时,亮度块的不同位置可能导致不同的QP。因此,在色度去方块过程中,错误QP可能被用于滤波决定。这样的失配可能导致视觉伪影。示例在图9中示出,包含图9(a)和图9(b)。在图9中,左侧(图9(a))是亮度块的对应的CTB分割,且右侧(图9(b))是双叉树下的色度CTB分割。当确定色度块的QP(由CUc1指代)时,CUcl的中央位置被首先推导。然后,CUc1的中央位置的对应的亮度样点被识别,并且与覆盖对应的亮度样点,即,CUY3的亮度CU相关联的亮度QP然后被用于推导CUc1的QP。然而,当对绘示的三个样点(以实线圈)进行滤波决定时,选择覆盖对应的3个样点的CU的QP。因此,对于第一、第二和第三色度样点(图9(b)中所示),分别使用CUy2、CUy3、CUy4的QP。即,相同CU中的色度样点可以对滤波决定使用不同QP,这可能导致错误决定。
6.不同图片级别QP偏移(即,pps_joint_cbcr_qp_offset)被应用于JCCR编解码块,其不同于应用于非JCCR编解码块的Cb/Cr的图片级别偏移(例如,pps_cb_qp_offset和pps_cr_qp_offset)。然而,在色度去方块滤波决定过程中,仅使用非JCCR编解码块的那些偏移。错过考虑编解码模式可能导致错误滤波决定。
7.TS和非TS编解码块在去量化过程中采用不同QP,其也可以在去方块过程考虑。
8.在具有不同模式的JCCR编解码块的缩放过程(量化/去量化)中使用不同QP。这样的设计不一致。
9.Cb/Cr的色度去方块对于并行设计可以统一。
4.示例性技术和实施例
以下描述的详细实施例应被视为示例,以解释总体概念。这些实施例不应以狭窄方式理解。另外,这些实施例可以以任意方式组合。
以下描述的方法也可以适用于附加于以下提到的DMVR和BIO之外的其他解码器运动信息推导技术。
在以下示例中,MVM[i].x和MVM[i].y指代在M(M为P或Q)侧处的块的参考图片列表i(i为0或1)中的运动矢量的水平和垂直分量。Abs指代得到输入的绝对值的运算,并且″&&″和″||″指代逻辑运算AND和OR。参考图10,P可以指代在P侧的样点,并且Q可以指代在Q侧的样点。P侧和Q侧的块可以指代由虚线标记的块。
关于去方块中的色度QP
1.当色度QP表被用于推导参数以控制色度去方块(例如,在色度块边缘的决定过程中)时,可以在应用色度QP表之后应用色度QP偏移。
a.在一个示例中,色度QP偏移可以被加到由色度QP表输出的值。
b.替代地,色度QP偏移可以不被视为对色度QP表的输入。
c.在一个示例中,色度QP偏移可以是图片级别或其他视频单元级别(条带/片/砖/子图片)色度量化参数偏移(例如,说明书中的pps_cb_qp_offset,pps_cr_qp_offset)。
2.QP修剪可以不应用于色度QP表的输入。
3.提出,色度分量的去方块过程可以基于每侧上的映射的色度QP(通过色度QP表)。
a.在一个示例中,提出,色度的去方块参数(例如,β和tC)可以基于从每侧上的亮度QP推导的QP。
b.在一个示例中,色度去方块参数可以取决于色度QP表值,以QpP作为表索引,其中QpP是P侧上的亮度QP值。
c.在一个示例中,色度去方块参数可以取决于色度QP表值,以QpQ作为表索引,其中QpQ是Q侧上的亮度QP值。
4.提出,色度分量的去方块过程可以基于应用于色度块的量化/去量化的QP。
a.在一个示例中,去方块过程的QP可以等于去量化中的QP。
5.提出在去方块滤波决定过程中考虑用于不同编解码方法的图片/条带/片/砖/子图片级别量化参数偏移。
a.在一个示例中,滤波决定(例如,去方块滤波过程中的色度边缘决定)的图片/条带/片/砖/子图片级别量化参数偏移的选择可以取决于每侧的编解码方法。
b.在一个示例中,要求使用色度块的量化参数的滤波过程(例如,色度边缘决定过程)可以取决于块是否使用
JCCR。
i.替代地,另外,应用于JCCR编解码块的图片/条带级别QP偏移(例如,pps_joint_cbcr_qp_offset)也可以被考虑到去方块滤波过程中。
ii.在一个示例中,在某些条件下,被用于决定Tc和β设定的cQpPicOffset可以被设定为
ppsjoint_cbcr_qp_offset而非pps_cb_qp_offset或pps_cr_qp_offset:
1.在一个示例中,当P或Q侧中的任意块使用JCCR。
2.在一个示例中,当P或Q侧中的两个块都使用JCCR。
6.要求访问亮度块的解码信息的色度滤波过程(例如,色度边缘决定过程)可以使用与被用于在去量化/量化过程中推导色度QP的相同亮度编解码块相关联的信息。
a.在一个示例中,要求使用亮度块的量化参数的色度滤波过程(例如,色度边缘决定过程)可以使用覆盖当前色度CU的中央位置的对应的亮度样点的亮度编解码单元。
b.图9中绘示了示例,其中CUY3的解码信息可以被用于图9(b)中的三个色度样点(第一、第二和第三)的滤波决定。
7.色度滤波过程(例如,色度边缘决定过程)可以取决于应用于色度块的缩放过程的量化参数(例如,量化/去量化)。
a.在一个示例中,用于推导β和tc的QP可以取决于应用于色度块的缩放过程的QP。
b.替代地,另外,用于色度块的缩放过程的QP可以已经考虑到色度CU级别QP偏移。
8.是否调用以上项目可以取决于要滤波的样点在P侧还是Q侧的块中。
a.例如,使用覆盖当前色度样点的对应的亮度样点还是使用覆盖覆盖当前色度样点的色度编解码块的中央位置的对应的亮度样点的亮度编解码块的信息可以取决于块位置。
i.在一个示例中,如果当前色度样点在Q侧的块
中,则可以使用覆盖覆盖当前色度样点的色度编解码块的中央位置的对应的亮度样点的亮度编解码块的QP信息。
ii.在一个示例中,如果当前色度样点在P侧的块中,则可以使用覆盖色度样点的对应的亮度样点的亮度编解码块的QP信息。
关于QP设定
9.提出在条带/片/砖/子图片级别信令通知启用块级别色度QP偏移的指示(例如slice_cu_chroma_qp_offset_enabled_flag)。
a.替代地,这样的指示的信令通知可以有条件地被信令通知。
i.在一个示例中,其可以在JCCR启用标志的条件下被信令通知。
ii.在一个示例中,其可以在块级别色度QP偏移启用标志的条件下在图片级别中被信令通知。
iii.替代地,这样的指示可以替代地被推导。
b.在一个示例中,
slice_cu_chroma_qp_offset_enabled_flag可以仅当色度QP偏移的PPS标志(例如
slice_cu_chroma_qp_offset_enabled_flag)为真时被信令通知。
c.在一个示例中,
slice_cu_chroma_qp_offset_enabled_flag可以仅当色度QP偏移的PPS标志(例如slice_cu_chroma_qp_offset_enabled_flag)为伪时被推断为伪。
d.在一个示例中,是否在块上使用色度QP偏移可以基于PPS级别和/或条带级别的色度QP偏移的标志。
10.相同QP推导方法被用于具有不同模式的JCCR编解码块的缩放过程(量化/去量化)。
a.在一个示例中,对于具有模式1和模式3的JCCR,QP取决于在图片/条带级别中信令通知的QP偏移(例如,pps_cbcr_qp_offset,slice_cbcr_qp_offset)。
滤波过程
11.除第一色彩分量之外的全部色彩分量的去方块可以在第一色彩分量的去方块过程之后。
a.在一个示例中,当色彩格式是4∶4∶4时,第二和第三分量的去方块过程可以在第一分量的去方块过程。
b.在一个示例中,当色彩格式是RGB色彩空间中的4∶4∶4时,第二和第三分量的去方块过程可以在第一分量的去方块过程之后。
c.在一个示例中,当色彩格式是4∶2∶2时,第二和第三分量的垂直去方块过程可以在第一分量的垂直去方块过程之后。
d.在以上示例中,去方块过程可以指去方块决定过程和/或去方块滤波过程。
12.如何计算在去方块滤波过程中使用的梯度可以取决于编解码模式信息和/或量化参数。
a.在一个示例中,梯度计算可以仅考虑该侧样点为不无损编解码的侧的梯度。
b.在一个示例中,如果两侧是无损编解码的或接近无损编解码的(例如,量化参数等于4),梯度可以直接设定为0。
i.替代地,如果两侧是无损编解码的或接近无损编解码的(例如,量化参数等于4),边界强度(例如,BS)可以设定为0。
c.在一个示例中,如果P侧的样点是无损编解码的且Q侧的样点是有损编解码的,则去方块开/关决定和/或强滤波开/关决定中使用的梯度可以仅包含在Q侧的样点的梯度,反之亦然。
i.替代地,另外,一侧的梯度可以由N缩放。
1.N是整数(例如2),并且可以取决于
a.视频内容(例如屏幕内容或自然内容)
b.在DPS/SPS/VPS/PPS/APS/图片报头/条带报头/片组报头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU的组/TU/PU块/视频编解码单元中信令通知的消息
c.CU/PU/TU/块/视频编解码单元的位置
d.含有沿着边缘的样点的块的编解码模式
e.应用于含有沿着边缘的样点的块的变换矩阵
f.当前块和/或其邻域块的块维度/块形状
g.色彩格式的指示(诸如4∶2∶0,4∶4∶4,RGB或YUV)
h.编解码树结构(诸如双叉树或单叉树)
i.条带/片组类型和/或图片类型
j.色彩分量(例如可以仅应用于Cb或Cr)
k.时域层ID
1.标准的配置文件/级别/层级
m.替代地,N可以信令通知到解码器
关于边界强度推导
13.提出将JCCR编解码块视为边界强度决定过程中的那些非JCCR编解码块。
a.在一个示例中,边界强度(BS)的确定可以独立于P和Q侧的两个块的JCCR的使用的检查。
a.在一个示例中,可以确定块的边界强度(BS),无论块是否是用JCCR编解码的。
14.提出推导边界强度(BS),而不比较与在P侧的块相关联的参考图片和/或多个MV和在Q侧的块的参考图片。
b.在一个示例中,即使当两个块具有不同参考图片时,去方块滤波可以被禁用。
c.在一个示例中,即使当两个块具有不同数目的MV(例如,一个是单向预测的且另一个是双向预测的)时去方块滤波可以被禁用。
d.在一个示例中,当在P侧和在Q侧的块之间的一个或全部参考图片列表的运动矢量差异大于或等于阈值Th时,BS的值可以设定为1。
i.替代地,另外,当在P侧和在Q侧的块之间的一个或全部参考图片列表的运动矢量差异小于或等于阈值Th时,BS的值可以设定为0。
e.在一个示例中,两个块的运动矢量的差异大于阈值Th可以定义为(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].少)>Th||Abs(MVP[1].x-MVQ[10.x)>Th)||Abs(MVP[1].y-MVQ[1].y)>Th)
i.替代地,两个块的运动矢量的差异大于阈值Th可以定义为(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th&&Abs(MVP[1].x-MVQ[1].x)>Th)&&Abs(MVP[1].y-MVQ[1].y)>Th)
ii.替代地,在一个示例中,两个块的运动矢量的差异大于阈值Th可以定义为(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].y)>Th)&&(Abs(MVP[1].x-MVQ[1].x)>Th)||Abs(MVP[1].y-MVQ[1].少)>Th)
iii.替代地,在一个示例中,两个块的运动矢量的差异大于阈值Th可以定义为(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th)||(Abs(MVP[1].x-MVQ[1].x)>Th)&&Abs(MVP[1].y-MVQ[1].y)>Th)
f.在一个示例中,不具有给定列表中的运动矢量的块可以视为具有该列表中的零运动矢量。
g.在以上示例中,Th是整数(例如4、8或16)。
h.在以上示例中,Th可以取决于
i.视频内容(例如屏幕内容或自然内容)
ii.在DPS/SPS/VPS/PPS/APS/图片报头/条带报头/片组报头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU的组/TU/PU块/视频编解码单元中信令通知的消息
iii.CU/PU/TU/块/视频编解码单元的位置
iv.含有沿着边缘的样点的块的编解码模式
v.应用于含有沿着边缘的样点的块的变换矩阵
vi.当前块和/或其邻域块的块维度/块形状
vii.色彩格式的指示(诸如4∶2∶0,4∶4∶4,RGB或YUV)
viii.编解码树结构(诸如双叉树或单叉树)
ix.条带/片组类型和/或图片类型
x.色彩分量(例如可以仅应用于Cb或Cr)
xi.时域层ID
xii.标准的配置文件/级别/层级
xiii.替代地,Th可以信令通知到解码器。
i.以上示例在某些条件下可以应用。
i.在一个示例中,条件是blkP和blkQ不是用帧内模式编解码的。
ii.在一个示例中,条件是blkP和blkQ具有亮度分量上的零系数。
iii.在一个示例中,条件是blkP和blkQ不是用CIIP模式编解码的。
iv.在一个示例中,条件是blkP和blkQ是用相同预测模式(例如IBC或Inter)编解码的。
关于亮度去方块滤波过程
15.去方块可以对TS编解码块和非TS编解码块使用不同QP。
a.在一个示例中,TS的QP可以用在TS编解码块上,而非TS的QP可以用在非TS编解码块上。
16.亮度滤波过程(例如,亮度边缘决定过程)可以取决于应用于亮度块的缩放过程的量化参数。
a.在一个示例中,用于推导beta和Tc的QP可以取决于变换跳过的修剪范围,例如由QpPrimeTsMin所指示。
17.提出对大块边界和较小块边界使用相同梯度计算。
a.在一个示例中,章节2.1.4中描述的去方块滤波开/关决定也可以应用于大块边界。
i.在一个示例中,决定中的阈值beta可以对大块边界修改。
1.在一个示例中,beta可以取决于量化参数。
2.在一个示例中,用于大块边界的去方块滤波开/关决定的beta可以小于用于较小块边界的去方块滤波开/关决定的beta。
a.替代地,在一个示例中,用于大块边界的去方块滤波开/关决定的beta可以大于用于较小块边界的去方块滤波开/关决定的beta。
b.替代地,在一个示例中,用于大块边界的去方块滤波开/关决定的beta可以等于用于较小块边界的去方块滤波开/关决定的beta。
3.在一个示例中,beta是整数且可以基于
a.视频内容(例如屏幕内容或自然内容)
b.在DPS/SPS/VPS/PPS/APS/图片报头/条带报头/片组报头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU的组/TU/PU块/视频编解码单元中信令通知的消息
c.CU/PU/TU/块/视频编解码单元的位置
d.含有沿着边缘的样点的块的编解码模式
e.应用于含有沿着边缘的样点的块的变换矩阵
f.当前块和/或其邻域块的块维度
g.当前块和/或其邻域块的块形状
h.色彩格式的指示(诸如4∶2∶0,4∶4∶4,RGB或YUV)
i.编解码树结构(诸如双叉树或单叉树)
j.条带/片组类型和/或图片类型
k.色彩分量(例如可以仅应用于Cb或Cr)
1.时域层ID
m.标准的配置文件/级别/层级
n.替代地,beta可以信令通知到解码器。
关于色度去方块滤波过程
18.两个色度块的去方块滤波决定过程可以被统一为仅调用一次,并且该决定被应用于两个色度块。
b.在一个示例中,是否进行去方块滤波的决定可以对Cb和Cr分量相同。
c.在一个示例中,如果确定应用去方块滤波,则是否进行较强去方块滤波的决定可以对Cb和Cr分量相同。
d.在一个示例中,去方块条件和强滤波开/关条件,如章节2.2.7中所描述,可以仅检查一次。然而,其可以被修改为检查两个色度分量的信息。
i.在一个示例中,Cb和Cr分量的梯度的平均可以被用于Cb和Cr分量两者的以上决定中。
ii.在一个示例中,色度较强滤波可以仅在Cb和Cr分量两者都满足强滤波条件时进行。
1.替代地,在一个示例中,色度弱滤波可以仅在对至少一个色度分量不满足强滤波条件时进行
概述
19.以上提出的方法在某些条件下可以应用。
a.在一个示例中,条件是色彩格式是4∶2∶0和/或4∶2∶2。
i.替代地,另外,对于4∶4∶4色彩格式,如何将去方块滤波应用于双色彩色度分量可以遵循当前设计。
b.在一个示例中,以上方法的使用的指示可以在序列/图片/条带/片/砖/视频区级别(诸如SPS/PPS/图片报头/条带报头)信令通知。
c.在一个示例中,以上方法的使用可以取决于
ii.视频内容(例如屏幕内容或自然内容)
iii.在DPS/SPS/VPS/PPS/APS/图片报头/条带报头/片组报头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU的组/TU/PU块/视频编解码单元中信令通知的消息
iv.CU/PU/TU/块/视频编解码单元的位置
v.含有沿着边缘的样点的块的编解码模式
vi.应用于含有沿着边缘的样点的块的变换矩阵
vii.当前块和/或其邻域块的块维度
V11i.当前块和/或其邻域块的块形状
ix.色彩格式的指示(诸如4∶2∶0,4∶4∶4,RGB或YUV)
x.编解码树结构(诸如双叉树或单叉树)
xi.条带/片组类型和/或图片类型
xii.色彩分量(例如可以仅应用于Cb或Cr)
x11i.时域层ID
xiv.标准的配置文件/级别/层级
xv.替代地,m和/或n可以信令通知到解码器。
5.附加实施例
新添加的文本示出为下划线粗斜体。删去的文本标记为[[]]。
5.1.去方块中的色度QP上的实施例#1
8.8.3.6一个方向的边缘滤波过程
…
-否则(cIdx不等于0),由cIdx指定的当前编解码单元的色度编解码块中的边缘的滤波过程由以下顺序步骤构成:
1。变量cQpPicOffset推导如下:
cQpPicOffset=cIdx==1?pps_cb_qp_offset:pps_cr_qp_offset(8-1065)
8.8.3.6.3色度块边缘的决定过程
…
变量QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。
变量QpC推导如下:
[[qPi=Clip3(0,63,((QpQ+Qpp+1)>>1)+cQpPicOffset)
(8-1132)
QpC=ChromaQpTable[cIdx-1][qPi](8-1133)]]
qPi=(QpQ+QpP+1)>>1 (8-1132)
QpC=ChromaQpTable[cIdx-1][qPi]+cQpPicOffset(8-1133)
注-根据滤波的色度分量是Cb还是Cr分量,变量cQpPicOffset提供对pps_cb_qp_offset或pps_cr_qp_offset的值的调整。然而,为避免需要在图片内改变调整的量,滤波过程不包含对slice_cb_qp_offset或slice_cr_qp_offset的值的调整或(当cu_chroma_qp_offset_enabled_fag等于1时)对CuQpOffsetCb,CuQpOffsetCr,或CuQpOffsetCbCr的值的调整。
如表8-18中所指定基于量化参数Q确定变量β′的值,量化参数Q推导如下:
Q=Clip3(0,63,QpC+(slice_beta_offset_div2<<1))
(8-1134)
其中slice_beta_offset_div2是含有样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β推导如下:
β=β′*(1<<(BitDepthC-8))
(8-1135)
如表8-18中所指定基于色度量化参数Q确定变量tC′的值,色度量化参数Q推导如下:
Q=Clip3(0,65,QpC+2*(bS-1)+(slice_tc_offset_div2<<1))(8-1136)
其中slice_tc_offset_div2是含有样点q0,0的条带的语法元素slice_tc_offset_div2的值。
变量tC推导如下:
tC=(BitDepthC<10)?(tC′+2)>>(10-BitDepthC):tC′*(1<<(BitDepthC-8))(8-1137)
5.2.关于边界强度推导的实施例#2
8.8.3.5边界滤波强度的推导过程
对该过程的输入是:
-图片样点阵列recPicture,
-位置(xCb,yCb),指定相对于当前图片的左顶样点的当前编解码块的左顶样点,
-变量nCbW,指定当前编解码块的宽度,
-变量nCbH,指定当前编解码块的高度,
-变量edgeType指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量cIdx,指定当前编解码块的色彩分量,
-二维(nCbW)x(nCbH)阵列edgeFlags。
该过程的输出是二维(nCbW)x(nCbH)阵列bS,指定边界滤波强度。
…
对于xDi,其中i=0..xN和yDj,其中j=0.yN,以下适用:
-如果edgeFlags[xDi][yDj]等于0,则变量bS[xDi][yDj]被设定为等于0。
-否则,以下适用:
…
-变量bS[xDi][yDj]推导如下:
-如果cIdx等于0且样点p0和q0来自在intra_bdpcm_fag等于1的编解码块中,则bS[xDi][yDj]被设定为等于0。
-否则,如果样点p0或q0在以帧内预测模式编解码的编解码单元的编解码块中,则bS[xDi][yDj]被设定为等于2。
-否则,如果块边缘还是变换块边缘且样点p0或q0在ciip_flag等于1的编解码块中,则bS[xDi][yDj]被设定为等于2。
-否则,如果块边缘还是变换块边缘且样点p0或q0在含有一个或多个非零变换系数级别的变换块中,则bS[xDi][yDj]被设定为等于1。
-否则,如果块边缘还是变换块边缘,cIdx大于0,且样点p0或q0在tu_joint_cbcrresidual_flag等于1的变换单元中,则bS[xDi][yDj]被设定为等于1。
-否则,如果含有样点p0的编解码子块的预测模式不同于含有样点q0的编解码子块的预测模式(即,编解码子块之一是以IBC预测模式编解码的且另一个是以帧间预测模式编解码的),则bS[xDi][yDj]被设定为等于1。
-否则,如果cIdx等于0且以下条件中的一个或多个为真,则bS[xDi][yDj]被设定为等于1:
-/>
-[[含有样点p0的编解码子块和含有样点q0的编解码子块都以IBC预测模式编解码,并且预测两个编解码子块中所使用的块矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-对于预测含有样点p0的编解码子块,使用与用于预测含有样点q0的编解码子块不同的参考图片或不同数目的运动矢量。
注1-用于两个编解码子块的参考图片相同还是不同的确定仅基于参考哪些图片,而不论预测是使用对参考图片列表0的索引还是对参考图片列表1索引形成的,并且也不论参考图片列表内的索引位置是否不同。
注2-用于预测具有覆盖(xSb,ySb)的左顶样点的编解码子块的运动矢量的数目,等于PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]。
-一个运动矢量被用于预测含有样点p0的编解码子块,并且一个运动矢量被用于预测含有样点q0的编解码子块,并且所使用的运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-两个运动矢量和两个不同参考图片被用于预测含有样点p0的编解码子块,相同两个参考图片的两个运动矢量被用于预测含有样点q0的编解码子块,并且预测相同参考图片的两个编解码子块中所使用的两个运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-相同参考图片的两个运动矢量被用于预测含有样点p0的编解码子块,相同参考图片的两个运动矢量被用于预测含有样点q0的编解码子块,并且以下条件都为真:
-预测两个编解码子块中所使用的列表0运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点计大于或等于8,或预测两个编解码子块中所使用的列表1运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-预测含有样点p0的编解码子块中使用的列表0运动矢量和预测含有样点q0的编解码子块中使用的列表1运动矢量水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8,或预测含有样点p0的编解码子块中使用的列表1运动矢量和预测含有样点q0的编解码子块中使用的列表0运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8]]
-否则,变量bS[xDi][yDj]被设定为等于0。
5.3.关于边界强度推导的实施例#3
8.8.3.5边界滤波强度的推导过程
对该过程的输入是:
-图片样点阵列recPicture,
-位置(xCb,yCb),指定相对于当前图片的左顶样点的当前编解码块的左顶样点,
-变量nCbW,指定当前编解码块的宽度,
-变量nCbH,指定当前编解码块的高度,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量cIdx,指定当前编解码块的色彩分量,
-二维(nCbW)x(nCbH)阵列edgeFlags。
该过程的输出是二维(nCbW)x(nCbH)阵列bS,指定边界滤波强度。
…
对于xDi,其中i=0..xN,以及yDj,其中j=0..yN,以下适用:
-如果edgeFlags[xDi][yDj]等于0,则变量bS[xDi][yDj]被设定为等于0。
-否则,以下适用:
…
-变量bS[xDi][yDj]推导如下:
-如果cIdx等于0且样点p0和q0两者都在intra_bdpcm_flag等于1的编解码块中,则bS[xDi][yDj]被设定为等于0。
-否则,如果样点p0或q0在用帧内预测模式编解码的编解码单元的编解码块中,则bS[xDi][yDj]被设定为等于2。
-否则,如果块边缘还是变换块边缘且样点p0或q0在ciip_flag等于1的编解码块中,则bS[xDi][yDj]被设定为等于2。
-否则,如果块边缘还是变换块边缘且样点p0或q0在含有一个或多个非零变换系数级别的变换块中,则bS[xDi][yDj]被设定为等于1。
-[[否则,如果块边缘还是变换块边缘,cIdx大于0,且样点p0或q0在tu_joint_cbcrresidual_flag等于1的变换单元中,则bS[xDi][yDj]被设定为等于1]]
-否则,如果含有样点p0的编解码子块的预测模式不同于含有样点q0的编解码子块的预测模式(即,编解码子块之一是以IBC预测模式编解码的且另一个是以帧间预测模式编解码的),则bS[xDi][yDj]被设定为等于1。
-否则,如果cIdx等于0且以下条件中的一个或多个为真,则bS[xDi][yDj]被设定为等于1:
-含有样点p0的编解码子块和含有样点q0的编解码子块都是以IBC预测模式编解码的,并且预测两个编解码子块中所使用的块矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-对于预测含有样点p0的编解码子块使用与预测含有样点q0的编解码子块不同的参考图片或不同数目的运动矢量。
注1-用于两个编解码子块的参考图片相同还是不同的确定仅基于参考哪些图片,而不论预测是使用对参考图片列表0的索引还是对参考图片列表1索引形成的,并且也不论参考图片列表内的索引位置是否不同。
注2-用于预测具有覆盖(xSb,ySb)的左顶样点的编解码子块的运动矢量的数目,等于PredFlagL0[xSb][ySb]+PredFlagL1[xSb][ySb]。
-一个运动矢量被用于预测含有样点p0的编解码子块,并且一个运动矢量被用于预测含有样点q0的编解码子块,并且所使用的运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-两个运动矢量和两个不同参考图片被用于预测含有样点p0的编解码子块,相同两个参考图片的两个运动矢量被用于预测含有样点q0的编解码子块,并且预测相同参考图片的两个编解码子块中所使用的两个运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-相同参考图片的两个运动矢量被用于预测含有样点p0的编解码子块,相同参考图片的两个运动矢量被用于预测含有样点q0的编解码子块,并且以下条件都为真:
-预测两个编解码子块中所使用的列表0运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点计大于或等于8,或预测两个编解码子块中所使用的列表1运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-预测含有样点p0的编解码子块中使用的列表0运动矢量和预测含有样点q0的编解码子块中使用的列表1运动矢量水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8,或预测含有样点p0的编解码子块中使用的列表1运动矢量和预测含有样点q0的编解码子块中使用的列表0运动矢量的水平或垂直分量之间的绝对差异以1/16亮度样点的单位计大于或等于8。
-否则,变量bS[xDi][yDj]被设定为等于0。
5.4.关于亮度去方块滤波过程的实施例#4
8.8.3.6.1亮度块边缘的决定过程
对该过程的输入是:
-图片样点阵列recPicture,
-位置(xCb,yCb),指定相对于当前图片的左顶样点的当前编解码块的左顶样点,
-位置(xBl,yBl),指定相对于当前编解码块的左顶样点的当前块的左顶样点,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量bS,指定边界滤波强度,
-变量maxFilterLengthP,指定最大滤波长度,
-变量maxFilterLengthQ,指定最大滤波长度。
该过程的输出是:
-含有决定的变量dE,dEp和dEq,
-修改的滤波长度变量maxFilterLengthP和
maxFilterLengthQ,
-变量tC。
…
用于以下顺序步骤:
…
1.当sidePisLargeBlk或sideQisLargeBlk大于0时,以下适用:
a.变量dp0L,dp3L被推导,并且maxFilterLengthP被修改如下:
-[[如果sidePisLargeBlk等于1,则以下使用:
dp0L=(dp0+Abs(p5,0-2*p4,0+p3,0)+1)>>1
(8-1087)
dp3L=(dp3+Abs(p5,3-2*p4,3+p3,3)+1)>>1
(8-1088)
-否则,以下适用:]]
dp0L=dp0 (8-1089)
dp3L=dp3 (8-1090)
[[maxFilterLengthP=3 (8-1091)]]
b.变量dq0L和dq3L推导如下:
-[[如果sideQisLargeBlk等于1,则以下使用:
dq0L=(dq0+Abs(q5,0-2*q4,0+q3,0)+1)>>1
(8-1092)
dq3L=(dq3+Abs(q5,3-2*q4,3+q3,3)+1)>>1
(8-1093)
-否则,以下适用:]]
dq0L=dq0 (8-1094)
dq3L=dq3 (8-1095)
…
2.变量dE,dEp和dEq推导如下:
…
5.5.关于色度去方块滤波过程的实施例#5
8.8.3.6.3色度块边缘的决定过程
仅当ChromaArrayType不等于0时调用该过程。
对该过程的输入是:
-色度图片样点阵列recPicture,
-色度位置(xCb,yCb),指定相对于当前图片的左顶色度样点的当前色度编解码块的左顶样点,
-色度位置(xBl,yBl),指定相对于当前色度编解码块的左顶样点的当前色度块的左顶样点,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量cIdx,指定色彩分量索引,
-变量cQpPicOffset,指定图片级别色度量化参数偏移,
-变量bS,指定边界滤波强度,
-变量maxFilterLengthCbCr。
该过程的输出是
-修改的变量maxFilterLengthCbCr,
-变量tC。
变量maxK推导如下:
-如果edgeType等于EDGE_VER,则以下使用:
maxK=(SubHeightC==1)?3:1 (8-1124)
-否则(edgeType等于EDGE_HOR),以下适用:
maxK=(SubWidthC==1)?3:1 (8-1125)
值pi和qi,其中i=0..maxFilterLengthCbCr且k=0..maxK,推导如下:
-如果edgeType等于EDGE_VER,则以下使用::
qi,k=recPicture[xCb+xBl+i][yCb+yBl+k] (8-1126)
pi,k=recPicture[xCb+xBl-i-1][yCb+yBl+k] (8-1127)
subSampleC=SubHeightC (8-1128)
-否则(edgeType等于EDGE_HOR),以下适用:
qi,k=recPicture[xCb+xBl+k][yCb+yBl+i] (8-1129)
pi,k=recPicture[xCb+xBl+k][yCb+yBl-i-1] (8-1130)
subSampleC=SubWidthC (8-1131)
/>
如表t-18中所指定基于量化参数Q确定变量β′的值,量化参数Q推导如下:
Q=Clip3(0,63,QpC+(slice_beta_offset_div2<<1))
(8-1134)
其中slice_beta_offset_div2是含有样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β推导如下:
β=β′*(1<<(BitDepthC-8)) (8-1135)
如表8-18中所指定基于色度量化参数Q确定变量tC′的值,色度量化参数Q推导如下:
Q=Clip3(0,65,
QpC+2*(bS-1)+(slice_tc_offset_div2<<1)) (8-1136)
其中slice_tc_offset_div2是含有样点q0,0的条带的语法元素slice_tc_offset_div2的值。
变量tC推导如下:
tC=(BitDepthC<10)?(tC′+2)>>(10-BitDepthC):tC′*(1<<(BitDepthC-8))(8-1137)
当maxFilterLengthCbCr等于1且bS不等于2时,maxFilterLengthCbCr被设定为等于0。
5.6.关于去方块中的色度QP的实施例#6
8.8.3.6.3色度块边缘的决定过程
仅当ChromaArrayType不等于0时调用该过程。
对该过程的输入是:
-色度图片样点阵列recPicture,
-色度位置(xCb,yCb),指定相对于当前图片的左顶色度样点的当前色度编解码块的左顶样点,
-色度位置(xBl,yBl),指定相对于当前色度编解码块的左顶样点的当前色度块的左顶样点,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量cIdx,指定色彩分量索引,
-变量cQpPicOffset,指定图片级别色度量化参数偏移,
-变量bS,指定边界滤波强度,
-变量maxFilterLengthCbCr。
该过程的输出是
-修改的变量maxFilterLengthCbCr,
-变量tC。
变量maxK推导如下:
-如果edgeType等于EDGE_VER,则以下使用:
maxK=(SubHeightC==1)?3:1 (8-1124)
-否则(edgeType等于EDGE_HOR),以下适用:
maxK=(SubWidthC==1)?3:1 (8-1125)
值pi和qi,其中i=0..maxFilterLengthCbCr且k=0..maxK,推导如下:
-如果edgeType等于EDGE_VER,则以下使用::
qi,k=recPicture[xCb+xBl+i][yCb+yBl+k] (8-1126)
pi,k=recPicture[xCb+xBl-i-1][yCb+yBl+k] (8-1127)
subSampleC=SubHeightC (8-1128)
-否则(edgeType等于EDGE_HOR),以下适用:
qi,k=recPicture[xCb+xBl+k][yCb+yBl+i] (8-1129)
pi,k=recPicture[xCb+xB1+k][yCb+yBl-i-1] (8-1130)
subSampleC=SubWidthC (8-1131)
变量QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。
变量QpC推导如下:
[[qPi=Clip3(0,63,((QpQ+QpP+1)>>1)+cQpPicOffset)
(8-1132)]]
QpC=ChromaQpTable[cIdx-1][qPi] (8-1133)
注-根据滤波的色度分量是Cb还是Cr分量,变量cQpPicOffset提供对pps_cb_qp_offset或pps_cr_qp_offset的值的调整。然而,为避免需要改变图片内调整的量,滤波过程不包含对slice_cb_qp_offset或slice_cr_qp_offset的值的调整,也不包含(当cu_chroma_qp_offset_enabled_flag等于1时)对CuQpOffsetCb、CuQpOffsetCr或CuQpOffsetCbCr的值的调整。
…
5.7.关于去方块中的色度QP的实施例#7
8.8.3.6.3色度块边缘的决定过程
仅当ChromaArrayType不等于0时调用该过程。
对该过程的输入是:
-色度图片样点阵列recPicture,
-色度位置(xCb,yCb),指定相对于当前图片的左顶色度样点的当前色度编解码块的左顶样点,
--…
该过程的输出是
-修改的变量maxFilterLengthCbCr,
-变量tC。
变量maxK推导如下:
-如果edgeType等于EDGE_VER,则以下使用:
maxK=(SubHeightC==1)?3:1 (8-1124)
-否则(edgeType等于EDGE_HOR),以下适用:
maxK=(SubWidthC==1)?3:1 (8-1125)
值pi和qi,其中i=0..maxFilterLengthCbCr且k=0..maxK,推导如下:
-如果edgeType等于EDGE_VER,则以下使用::
qi,k=recPicture[xCb+xB1+i][yCb+yBl+k] (8-1126)
pi,k=recPicture[xCb+xBl-i-1][yCb+yBl+k] (8-1127)
subSampleC=SubHeightC (8-1128)
-否则(edgeType等于EDGE_HOR),以下适用:
qi,k=recPicture[xCb+xBl+k][yCb+yBl+i] (8-1129)
pi,k=recPicture[xCb+xB1+k][yCb+yBl-i-1] (8-1130)
subSampleC=SubWidthC (8-1131)
[[变量QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。]]
变量QpC推导如下:
qPi=Clip3(0,63,((QpQ+QpP+1)>>1)+cQpPicOffset)
(8-1132)
QpC=ChromaQpTable[cIdx-1][qPi] (8-1133)
注-根据滤波的色度分量是Cb还是Cr分量,变量cQpPicOffset提供pps_cb_qp_offset或pps_cr_qp_offset的值的调整。然而,为避免需要在图片内改变调整的量,滤波过程不包含slice_cb_qp_offset或slice_cr_qp_offset的值的调整,也不包含(当cu_chroma_qp_offset_enabled_flag等于1时)CuQpOffsetCb、CuQpOffsetCr或CuQpOffsetCbCr的值的调整。
如表8-18中所指定基于量化参数Q确定变量β′的值,量化参数Q推导如下:
Q=Clip3(0,63,QpC+(slice_beta_offset_div2<<1))
(8-1134)
其中slice_beta_offset_div2是含有样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β推导如下:
β=β′*(1<<(BitDepthC-8))
(8-1135)
如表8-18中所指定基于色度量化参数Q确定变量tC′的值,色度量化参数Q推导如下:
Q=Clip3(0,65,QpC+2*(bS-1)+(slice_tc_offset_div2<<1)) (8-1136)
其中slice_tc_offset_div2是含有样点q0,0的条带的语法元素slice_tc_offset_div2的值。
5.8.关于去方块中的色度QP的实施例#8
当为(用实线圈)绘示的三个样点进行滤波决定时,选择覆盖包含三个样点的色度CU的中央位置的亮度CU的QP。因此,对于第一、第二和第三色度样点(图11中所示),分别仅使用CUY3的QP。
以此方式,如何为色度量化/去量化过程选择亮度CU与色度滤波决定过程一致。
5.9.关于用于JCCR编解码块的QP的实施例#9
8.7.3变换系数的缩放过程
对该过程的输入是:
-亮度位置(xTbY,yTbY),指定相对于当前图片的左顶亮度样点的当前亮度变换块的左顶样点,
-变量nTbW,指定变换块宽度,
-变量nTbH,指定变换块高度,
-变量cIdx,指定当前块的色彩分量,
-变量bitDepth,指定当前色彩分量的比特深度。
该过程的输出是具有元d[x][y]的缩放变换系数的(nTbW)x(nTbH)阵列d。
量化参数qP推导如下:
-如果cIdx等于0且transform_skip_flag[xTbY][yTbY]等于0,则以下使用:
qP=Qp′Y (8-950)
-否则,如果cIdx等于0(且transform_skip_flag[xTbY][yTbY]等于1),则以下使用:
qP=Max(QpPrimeTsMin,Qp′Y)
(8-951)
-否则,如果TuCResMode[xTbY][yTbY][[等于2]],则以下使用:
qP=Qp′CbCr (8-952)
-否则,如果cIdx等于1,则以下使用:
qP=Qp′Cb (8-953)
-否则(cIdx等于2),以下适用:
qP=Qp′Cr (8-954)
5.10关于用于JCCR编解码块的QP的实施例#10
8.8.3.2用于一个方向的去方块滤波过程
对该过程的输入是:
-变量treeType,指定亮度(DUAL_TREE_LUMA)或色度分量(DUAL_TREE_CHROMA)是否是当前处理的,
-当treeType等于DUAL_TREE_LUMA时,重建的图片在去方块之前,即,阵列recPictureL,
-当ChromaArrayType不等于0且treeType等于DUAL_TREE_CHROMA时,阵列recPictureCb和recPictureCr,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘。
该过程的输出是在去方块之后修改的重建的图片,即:
-当treeType等于DUAL_TREE_LUMA时,阵列recPictureL,
-当ChromaArrayType不等于0且treeType等于DUAL_TREE_CHROMA时,阵列recPictureCb和recPictureCr。
变量firstCompIdx和lastCompIdx推导如下:
firstCompIdx=(treeType==DUAL_TREE_CHROMA)?1:0 (8-1022)
lastCompIdx=(treeType==DUAL_TREE_LUMA ||ChromaArrayType==0)?0:2(8-1023)
对于由色彩分量索引cIdx(范围为从firstCompIdx至lastCompIdx,含端值)指示的编解码单元的每个色彩分量的每个编解码单元和每个编解码块,编解码块宽度nCbW,编解码块高度nCbH和编解码块的左顶样点的位置(xCb,yCb),当cIdx等于0时,或当cIdx不等于0且edgeType等于EDGE_VER且xCb%8等于0时,或当cIdx不等于0且edgeType等于EDGE_HOR且yCb%8等于0时,边缘通过以下顺序步骤滤波:
…
[[5。图片样点阵列recPicture推导如下:
-如果cIdx等于0,则在去方块recPictureL之前,recPicture被设定为等于重建的亮度图片样点阵列。
-否则,如果cIdx等于1,则在去方块recPictureCb之前,recPicture被设定为等于重建的色度图片样点阵列。
-否则(cIdx等于2),在去方块recPictureCr之前,recPicture被设定为等于重建的色度图片样点阵列]]
对编解码块调用条款8.8.3.6中所指定的一个方向的边缘滤波过程,以变量edgeType、变量cIdx、去方块recPicture之前的重建的图片、位置(xCb,yCb)、编解码块宽度nCbW、编解码块高度nCbH以及阵列bS、maxFilterLengthPs和maxFilterLengthQs作为输入,以及修改的重建的图片recPicture作为输出。
8.8.3.5边界滤波强度的推导过程
对该过程的输入是:
-图片样点阵列recPicture,
-位置(xCb,yCb),指定相对于当前图片的左顶样点的当前编解码块的左顶样点,
-变量nCbW,指定当前编解码块的宽度,
-变量nCbH,指定当前编解码块的高度,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量cIdx,指定当前编解码块的色彩分量,
-二维(nCbW)x(nCbH)阵列edgeFlags。
该过程的输出是二维(nCbW)x(nCbH)阵列bS,指定边界滤波强度。
变量xDi,yDj,xN和yN推导如下:
…
对于xDi,其中i=0..xN,以及yDj,其中j=0..yN,以下适用:
-如果edgeFlags[xDi][yDj]等于0,则变量bS[xDi][yDj]被设定为等于0。
-否则,以下适用:
-样点值p0和q0推导如下:
-如果edgeType等于EDGE_VER,则p0被设定为等于且q0被设定为等寸
-否则(edgeType等于EDGE_HOR),p0被设定为等于并且q0被设定为等于
…
8.8.3.6用于一个方向的边缘滤波过程
对该过程的输入是:
-变量edgeType,指定当前处理垂直边界(EDGE_VER)还是水平边界(EDGE_HOR),
-变量cIdx,指定当前色彩分量,
-去方块recPicture之前的重建的图片,
-位置(xCb,yCb),指定相对于当前图片的左顶样点的当前编解码块的左顶样点,
-变量nCbW,指定当前编解码块的宽度,
-变量nCbH,指定当前编解码块的高度,
-阵列bS,指定边界强度,
-阵列maxFilterLengthPs和maxFilterLengthQs。
该过程的输出是在去方块recPicturei之后的修改的重建的图片。
…
-否则(cIdx不等于0),由cIdx指定的当前编解码单元的色度编解码块中的边缘的滤波过程由以下顺序步骤构成:
1.变量cQpPicOffset推导如下:
3.调用条款8.8.3.6.3中所指定的色度块边缘的决定过程,以色度图片样点阵列recPicture、色度编解码块的位置(xCb,yCb)、设定为等于(xDk,yDm)的色度块的位置(xBl,yBl)、边缘方向edgeType、变量cQpPicOffset、边界滤波强度bS[xDk][yDm]以及设定为等于maxFilterLengthPs[xDk][yDm]的变量maxFilterLengthCbCr作为输入,并且修改的变量maxFilterLengthCbCr和变量tC作为输出。
4.当maxFilterLengthCbCr大于0时,调用如条款8.8.3.6.4指定的色度块边缘的滤波过程,以色度图片样点阵列recPicture、色度编解码块的位置(xCb,yCb)、设定为等于(xDk,yDm)的块的色度位置(xB1,yBl)、边缘方向edgeType、变量 以及变量tC作为输入,并且修改的色度图片样点阵列recPicture作为输出。
8.8.3.6.3色度块边缘的决定过程
仅当ChromaArrayType不等于0时调用该过程。
对该过程的输入是:
-色度图片样点阵列recPicture,
-色度位置(xCb,yCb),指定相对于当前图片的左顶色度样点的当前色度编解码块的左顶样点,
-色度位置(xBl,yBl),指定相对于当前色度编解码块的左顶样点的当前色度块的左顶样点,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-[[变量cIdx,指定色彩分量索引,]]
-变量cQpPicOffset,指定图片级别色度量化参数偏移,
-变量bS,指定边界滤波强度,
-变量maxFilterLengthCbCr。
该过程的输出是
-修改的变量maxFilterLengthCbCr,
-变量tC。
变量maxK推导如下:
-如果edgeType等于EDGE_VER,以下适用:
maxK=(SubHeightC==1)?3:1 (8-1124)
-否则(edgeType等于EDGE_HOR),以下适用:
maxK=(SubWidthC==1)?3:1 (8-1125)
值pi和qi,其中i=0..maxFilterLengthCbCr且k=0..maxK,推导如下:
-如果edgeType等于EDGE_VER,则以下适用::
subSampleC=SubHeightC(8-1128)
-否则(edgeType等于EDGE_HOR),以下适用:
subSampleC=SubWidthC (8-1131)
变量QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。
变量QpC推导如下:
注-根据滤波的色度分量是Cb还是Cr分量,变量cQpPicOffset提供pps_cb_qp_offset或pps_cr_qp_offset的值的调整。然而,为避免需要在图片内改变调整的量,滤波过程不包含slice_cb_qp_offset或slice_cr_qp_offset的值的调整,也不包含(当cu_chroma_qp_offset_enabled_flag等于1时)CuQpOffsetCb、CuQpOffsetCr或CuQpOffsetCbCr的值的调整。
如表8-18中所指定基于量化参数Q确定变量β′的值,量化参数Q推导如下:
Q=Clip3(0,63,QpC+(slice_beta_offset_div2<<1))
(8-1134)
其中slice_beta_offset_div2是含有样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β推导如下:
β=β′*(1<<(BitDepthC-8)) (8-1135)
如表8-18中所指定基于色度量化参数Q确定变量tC′的值,色度量化参数Q推导如下:
Q=Clip3(0,65,
QpC+2*(bS-1)+(slice_tc_offset_div2<<1)) (8-1136)
其中slice_tc_offset_div2是含有样点q0,0的条带的slice_tc_offset_div2的语法元素的值。
变量tC推导如下:
tC=(BitDepthC<10)?(tC′+2)>> (10-BitDepthC):tc′*(1<<(BitDepthC-8))(8-1137)
当maxFilterLengthCbCr等于1且bS不等于2时,maxFilterLengthCbCr被设定为等于0。
当maxFilterLengthCbCr等于3时,应用以下顺序的步骤:
1.变量n1,和/>推导如下:
n1=(subSampleC==2)?1:3
(8-1138)
/>
3.变量dSam0和dSaml都设定为等于0。
4.当d小于β时,应用以下顺序的步骤:
a.变量dpq被设定为等于2*dpq0。
b.通过对样点位置(xCb+xBl,yCb+yBl)调用如条款8.8.3.6.8中所指定的色度样点的决定过程,以样点值p0,0、p3,0、q0,0和q3,0、变量dpq、β和tC作为输入,推导变量dSam0,并且输出被分配到决定dSam0。
c.变量dpq被设定为等于2*dpq1。
d.变量dSam1被修改如下:
-如果edgeType等于EDGE_VER,对于样点位置(xCb+xBl,yCb+yBl+n1),调用如条款8.8.3.6.8中所指定的色度样点的决定过程,以样点值p0,n1、p3,n1、q0,n1和q3,n1、变量dpq、β和tC作为输入,并且输出被分配到决定dSam1。
-否则(edgeType等于EDGE_HOR),对于样点位置(xCb+xBl+n1,yCb+yB1),调用如条款8.8.3.6.8中所指定的色度样点的决定过程,以样点值p0,n1、p3,n1、q0,n1和q3,n1、变量dpq、β和tC作为输入,并且输出被分配到决定dSam1。
5.变量maxFilterLengthCbCr被修改如下:
-如果dSam0等于1且dSam1等于1,则maxFilterLengthCbCr被设定为等于3。
-否则,maxFilterLengthCbCr被设定为等于1。
8.8.3.6.4色度块边缘的滤波过程
仅当ChromaArrayType不等于0时调用该过程。
对该过程的输入是:
-色度图片样点阵列recPicture,
-色度位置(xCb,yCb),指定相对于当前图片的左顶色度样点的当前色度编解码块的左顶样点,
-色度位置(xBl,yBl),指定相对于当前色度编解码块的左顶样点的当前色度块的左顶样点,
-变量edgeType,指定滤波垂直(EDGE_VER)还是水平(EDGE_HOR)边缘,
-变量maxFilterLengthCbCr,含有最大色度滤波长度,
-变量tC。
该过程的输出是修改的色度图片样点阵列recPicture。…
值pi和qi,其中i=0..maxFilterLengthCbCr且k=0..maxK,推导如下:
-如果edgeType等于EDGE_VER,则以下适用:
-否则(edgeType等于EDGE_HOR),以下适用:
取决于edgeType的值,以下适用:
-如果edgeType等于EDGE_VER,对于每个样点位置(xCb+xBl,yCb+yBl+k),k=0..maxK,应用以下顺序的步骤:
1.调用如条款8.8.3.6.9中所指定的色度样点的滤波过程,以变量maxFilterLengthCbCr、样点值pi,k、qi,k,其中i=0..maxFilterLengthCbCr,位置(xCb+xB1-i-1,yCb+yBl+k)和(xCb+xBl+i,yCb+yBl+k),其中i=0..maxFilterLengthCbCr-1和变量tC作为输入,并且滤波的样点值pi′和qi′,其中i=0..maxFilterLengthCbCr-1,作为输出。
2.滤波的样点值pi′和qi′,其中i=0..maxFilterLengthCbCr-1,替换样点阵列recPicture内的对应的样点如下:
-否则(edgeType等于EDGE_HOR),对于每个样点位置(xCb+xBl+k,yCb+yBl),k=0..maxK,应用以下顺序的步骤:
1.调用如条款8.8.3.6.9中所指定的色度样点的滤波过程,以变量maxFilterLengthCbCr、样点值pi,k、qi,k,其中i=0..maxFilterLengthCbCr,位置(xCb+xBl+k,yCb+yBl-i-1)和(xCb+xBl+k,yCb+yBl+i)以及变量tC作为输入,并且滤波的样点值pi′和qi′作为输出。
2.滤波的样点值pi′和qi′替换样点阵列recPicture内的对应的样点如下:
5.11实施例#11
8.8.3.6.3色度块边缘的决定过程…
[[变量QpQ和QpP被设定为等于包含分别含有样点q0,0和p0,0的编解码块的编解码单元的QpY值。
变量QpC推导如下:
qPi=Clip3(0,63,((QpQ+QpP+1)>>1)+cQpPicOffset)
(8-1132)
QpC=ChromaQpTable[cIdx-1][qPi] (8-1133)]]
/>
6.所公开的技术的示例性实现方式
图12是视频处理设备1200的框图。设备1200可以用于实现本文中描述的方法中的一个或多个。设备1200可以实施为智能电话、平板计算机、计算机、物联网(IoT)接收器,等等。设备1200可以包含一个或多个处理器1202、一个或多个存储器1204和视频处理硬件1206。(多个)处理器1202可以配置为实现本文件中描述的一个或多个方法。存储器(多个存储器)1204可以被用于储存用于实现本文中描述的方法和技术的数据和代码。视频处理硬件1206可以用于在硬件电路中实现本文件中描述的一些技术,并且可以部分地或完全地是处理器1202的一部分(例如,图形处理器核心GPU或其他信号处理电路)。
在本文件中,术语″视频处理″可以指视频编码、视频解码、视频压缩或视频解压缩。例如,视频压缩算法可以在从视频的像素表示到对应的比特流表示的转换期间使用,或反之亦然。当前视频块的比特流表示可以例如对应于共位的或分布在比特流内的不同位置中的比特,如语法所定义。例如,宏块可以就变换的和编解码的误差残差值而言被编码,并且还使用比特流中的报头和其他字段中的比特。
应理解,所公开方法和技术将通过允许使用本文件中所公开的技术而有益于集成在视频处理装置内的视频编码器和/或解码器实施例,视频处理装置诸如智能电话、膝上式计算机、台式计算机以及相似装置。
图13是视频处理的示例性方法1300的流程图。方法1300包含,在1310,进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得当色度量化参数(QP)表被用于推导去方块滤波的参数时,在单独色度QP值上进行由色度QP表的处理。
可以使用以下基于条款的格式描述一些实施例。
1.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得当色度量化参数(QP)表被用于推导去方块滤波的参数,在单独色度QP值上进行由色度QP表的处理。
2.根据条款1所述的方法,其中在由色度QP表的处理之后,色度QP偏移被添加到单独色度QP值。
3.根据条款1-2中任一项所述的方法,其中色度QP偏移被添加到由色度QP表输出的值。
4.根据条款1-2中任一项所述的方法,其中色度QP偏移不被视为对色度QP表的输入。
5.根据条款2所述的方法,其中色度QP偏移在图片级别或在视频单元级别。
6.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中色度QP偏移在图片/条带/片/砖/子图片级别。
7.根据条款6所述的方法,其中去方块滤波中使用的色度QP偏移与应用在视频单元的边界上的编解码方法相关联。
8.根据条款7所述的方法,其中编解码方法是彩度(chrominance)残差(JCCR)方法的联合编解码。
9.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中属于相同亮度编解码单元的信息被用于去方块滤波且被用于推导色度QP偏移。
10.根据条款9所述的方法,其中相同亮度编解码单元覆盖视频单元的中央位置的对应的亮度样点,其中视频单元是色度编解码单元。
11.根据条款9所述的方法,其中缩放过程被应用于视频单元,并且其中去方块滤波的一个或多个参数至少部分取决于缩放过程的量化/去量化参数。
12.根据条款11所述的方法,其中缩放过程的量化/去量化参数包含色度QP偏移。
13.根据条款9-12中任一项所述的方法,其中视频单元中的亮度样点在P侧或Q侧中。
14.根据条款13的所述的方法,其中属于相同亮度编解码单元的信息取决于关于相同亮度编解码单元的编解码单元的相对位置。
15.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中启用色度QP偏移的使用的指示在比特流表示中被信令通知。
16.根据条款15所述的方法,其中响应于检测一个或多个标志有条件地信令通知指示。
17.根据条款16所述的方法,其中一个或多个标志相与JCCR启用标志或色度QP偏移启用标志有关。
18.根据条款15所述的方法,其中基于推导信令通知指示。
19.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中去方块滤波中使用的色度QP偏移是相同的,无论JCCR编解码方法应用在视频单元的边界上还是与JCCR编解码方法不同的方法应用在视频单元的边界上。
20.一种视频处理的方法,包括:
进行视频单元与视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波,使得在去方块滤波中使用色度QP偏移,其中在不将与在P侧边界的视频单元相关联的参考图片和/或若干运动矢量(MV)跟与在Q侧的视频单元相关联的参考图片和/或若干运动矢量(MV)比较的情况下计算去方块滤波的边界强度(BS)。
21.根据条款20所述的方法,其中去方块滤波在一个或多个条件下被禁用。
22.根据条款21所述的方法,其中一个或多个条件与运动矢量(MV)的幅度或阈值相关联。
23.根据条款22的所述的方法,其中阈值与以下至少一个相关联:i.视频单元的内容,ii.在DPS/SPS/VPS/PPS/APS/图片报头/条带报头/片组报头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU的组/TU/PU块/视频编解码单元中信令通知的消息,iii.CU/PU/TU/块/视频编解码单元的位置,iv.具有沿着边界的样点的块的编解码模式,v.应用于具有沿着边界的样点的视频单元的变换矩阵,vi.视频单元的形状或维度,vii.色彩格式的指示,viii.编解码树结构,ix.条带/片组类型和/或图片类型,x.色彩分量,xi.时域层ID,或xii.标准的配置文件/级别/层级。
24.根据条款20所述的方法,其中不同QP偏移被用于TS编解码视频单元和非TS编解码视频单元。
25.根据条款20所述的方法,其中亮度滤波步骤中使用的QP相关于亮度块的缩放过程中使用的QP。
26.一种视频解码设备,包括处理器,处理器配置为实现条款1至25中一个或多个中所列举的方法。
27.一种视频编码设备,包括处理器,处理器配置为实现条款1至25中一个或多个中所列举的方法。
28.一种计算机程序产品,具有其上储存的计算机代码,当由处理器执行代码时,使处理器实现条款1至25中任一项列举的方法。
29.本文件中描述的方法、设备或系统。
图14是示出示例性视频处理系统1400的框图,其中可以实现本文中所公开的各种技术。各种实现方式可以包含系统1400的组件的一些或全部。系统1400可以包含用于接收视频内容的输入1402。视频内容可以以原始或未压缩格式接收,例如,8或10比特多分量像素值,或可以以压缩或编解码格式接收。输入1902可以表示网络接口、外围总线接口或储存接口。网络接口的示例包含诸如以太网、无源光学网络(PON)等的有线接口,以及诸如Wi-Fi或蜂窝接口的无线接口。
系统1400可以包含编解码组件1404,其可以实现本文件中描述的各种编解码或编码方法。编解码组件1404可以将视频的平均比特率从输入1402减少到编解码组件1404的输出,以产生视频的比特流表示。编解码技术因此有时称为视频压缩或视频转码技术。编解码组件1404的输出可以储存或经由连接的通信而传输,如由组件1406所表示。在输入1402处接收的视频的储存或通信的比特流(或编解码的)表示可以由组件1408用于生成像素值或可显示视频,其被发送到显示接口1410。从比特流表示生成用户可观看视频的过程有时称为视频解压缩。另外,虽然某些视频处理操作被称为″编解码″操作或工具,应理解,编解码工具或操作在编码器和对应的解码工具处使用,或逆转编解码的结构的操作将由解码器进行。
外围总线接口或显示接口的示例可以包含通用串行总线(USB)或高分辨率多媒体接口(HDMI)或Displayport,等等。储存接口的示例包含SATA(串行先进技术附件)、PCI、IDE接口等。本文件中描述的技术可以实施为各种电子装置,诸如移动电话、膝上式计算机、智能电话或能够进行数字数据处理和/或视频显示的其他装置。
图15是根据本技术的视频处理的方法1500的流程图表示。方法1500包含,在操作1510,进行视频的色度分量的块与视频的比特流表示之间的转换。在转换期间,去方块滤波过程被应用于沿着块的边缘的至少一些样点,并且色度量化参数(QP)偏移被添加到来自色度QP表的输出,以确定用于去方块滤波过程的参数。
在一些实施例中,色度QP偏移至少在比特流表示中在图片级别或视频单元级别由语法元素指示。在一些实施例中,视频单元包括条带、片、砖、子图片或块。在一些实施例中,色度QP偏移至少包括pps_cb_qp_offset和/或pps_cr_qp_offset。在一些实施例中,QP修剪过程对于色度QP表的输入被禁用。在一些实施例中,色度分量包含视频的Cr分量。在一些实施例中,色度分量包含视频的Cb分量。
图16是根据本技术的视频处理的方法1600的流程图表示。方法1600包含,在操作1610,为视频的色度分量的块与所述视频的比特流表示之间的转换,根据规则基于包括边缘的一侧上的样点的第一视频区域的第一量化信息和/或包括边缘的另一侧上的样点的第二视频区域的第二量化信息,确定是否或如何将滤波过程应用于块的边缘。规则是基于适用于块的编解码模式,以编解码在边缘的一侧上的样点或边缘的另一侧上的样点。规则指定使用不同视频单元级别处的多个QP偏移,以确定第一量化信息或第二量化信息。方法1600还包含,在操作1620,基于所述确定进行所述转换。
在一些实施例中,其中不同视频单元级别至少包括图片级别、条带级别、片级别、砖级别或子图片级别。在一些实施例中,多个QP偏移包括视频的Cb分量的偏移。在一些实施例中,多个QP偏移包括视频的Cr分量的偏移。
在一些实施例中,规则指定多个QP偏移的选择是基于编解码模式。在一些实施例中,编解码模式包括色度残差的联合编解码(JCCR)编解码模式。在一些实施例中,在块以JCCR编解码模式编解码的情况下,多个QP偏移至少包括图片级别QP偏移或条带级别QP偏移。在一些实施例中,在第一视频区域或第二视频区域中的至少一个是使用JCCR编解码模式编解码的情况下,用于确定滤波过程的阈值β和tC的多个QP偏移包含JCCR编解码模式的QP偏移值。
在一些实施例中,亮度分量的对应的块的信息被用于确定第一视频区域的第一量化信息或第二视频区域的第二量化信息。在一些实施例中,为滤波色度分量的块中的当前色度样点,覆盖对应于当前色度样点的亮度样点的亮度编解码单元的信息被用于确定第一视频区域的第一量化信息或第二视频区域的第二量化信息。
在一些实施例中,是否或如何应用滤波过程是基于缩放过程适用于块。在一些实施例中,用于确定阈值β和tC的第一视频区域的第一量化信息或第二视频区域的第二量化信息是基于缩放过程中使用的量化信息。在一些实施例中,使用一个或多个编解码单元级别QP偏移来缩放过程中使用的确定量化信息。
在一些实施例中,方法适用性是基于块在边缘的一侧还是边缘的另一侧。在一些实施例中,亮度分量的对应的块的信息是否被用于滤波过程是基于块的位置。在一些实施例中,在块在边缘的另一侧上的情况下,亮度分量的对应的块的信息被用于滤波过程。在一些实施例中,在块在边缘的一侧上的情况下,亮度分量的对应的块的信息被用于滤波过程。
图17是根据本技术的视频处理的方法1700的流程图表示。方法1700包含,在操作1710,为视频的当前块与视频的比特流表示之间的转换,根据在视频单元的级别的语法元素,确定是否启用当前块的色度量化参数(QP)偏移的使用。视频单元包含视频的当前块和第二块。方法1700还包含,在操作1720,基于所述确定进行所述转换。
在一些实施例中,视频单元包括条带。在一些实施例中,视频单元还包括片、砖或子图片。
在一些实施例中,语法元素在视频单元的级别被有条件地包含在比特流表示中。在一些实施例中,语法元素基于是否启用色度的联合编解码模式而被有条件地包含比特流表示中。在一些实施例中,基于在图片级别的第二语法元素指示色度量化参数(QP)偏移在块级别的使用,语法元素在视频单元的级别中被包含在比特流表示中。在一些实施例中,语法元素在比特流表示中被省略,并且在图片级别的第二语法元素指示色度量化参数(QP)偏移在块级别的使用被禁用的情况下,色度量化参数(QP)偏移在块级别处的使用被确定为禁用。在一些实施例中,基于在条带级别的语法元素和在图片级别的第二语法元素两者,确定当前块的色度量化参数(QP)偏移的使用。
图18是根据本技术的视频处理的方法1800的流程图表示。方法1800包含,在操作1810,进行包括第一色度分量和第二色度分量的视频与视频的比特流表示之间的转换。根据规则使用编解码模式将第一色度分量的第一色度块和第二色度分量的第二色度块的残差联合编解码为比特流表示。规则指定推导转换的量化参数(QP)的方式独立于编解码模式。在一些实施例中,基于在比特流表示中的图片级别或条带级别信令通知的QP偏移推导转换的QP。
图19是根据本技术的视频处理的方法1900的流程图表示。方法1900包含,在操作1910,进行视频的第一块与视频的比特流表示之间的转换。视频具有多个色彩分量的色彩格式和与视频的第一色彩分量相关联的第一块。在转换期间,去方块滤波过程被应用于沿着第一块的边缘的至少一些样点。方法1900包含,在操作1920,进行与视频的其余色彩分量相关联的块和视频的比特流表示之间的后续转换。在后续转换期间,去方块滤波过程被以与第一块的转换相同的方式应用于沿着块中的每一个的边缘的至少一些样点。
在一些实施例中,色彩格式是4∶4∶4。在一些实施例中,色彩格式是红绿蓝(RGB)色彩空间中的4∶4∶4。在一些实施例中,色彩格式是4∶2∶2,并且去方块滤波过程被应用在垂直方向上。在一些实施例中,去方块滤波过程包括决定过程和/或滤波过程。
图20是根据本技术的视频处理的方法2000的流程图表示。方法2000包含,在操作2010,为视频与视频的比特流表示之间的转换,确定视频的两个块之间的边界的边界强度。确定边界强度,而无论两个块中的任一个是否是以色度残差的联合编解码(JCCR)模式编解码的。方法2000包含,在操作2020,基于所述确定进行所述转换。
在一些实施例中,在两个块中的块是以JCCR模式编解码的情况下,块被视为以非JCCR模式编解码的,以确定边界强度。在一些实施例中,独立于JCCR对两个块的使用而确定边界强度。
图21是根据本技术的视频处理的方法2100的流程图表示。方法2100包含,在操作2110,为视频与视频的比特流表示之间的转换,确定第一块与第二块之间的边界的边界强度。在不将第一块的信息与第二块的对应的信息进行比较的情况下进行确定。信息包括对应的块的参考图片和/或若干运动矢量,并且边界强度被用于确定去方块滤波过程是否适用于边界。方法2100还包含,在操作2120,基于所述确定进行所述转换。
在一些实施例中,边界强度指示,在第一块的参考图片不同于第二块的参考图片的情况下,去方块滤波过程被禁用。在一些实施例中,边界强度指示,在第一块的运动矢量的数目不同于第二块的运动矢量的数目的情况下,去方块滤波过程被禁用。
在一些实施例中,在第一块的一个或多个运动矢量与第二块的一个或多个运动矢量之间的差异大于或等于阈值情况下,边界强度被设定为1,阈值是整数。在一些实施例中,第一块的一个或多个运动矢量被指代为MVP[0]和MVP[1],并且第二块的一个或多个运动矢量被指代为MVQ[0]和MVQ[1]。在(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].y)>Th||Abs(MVP[1].x-MVQ[1].x)>Th)||Abs(MVP[1].y-MVQ[1].y)>Th)的情况下,差异大于或等于阈值Th。在一些实施例中,在(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th&&Abs(MVP[1].x-MVQ[1].x)>Th)&&Abs(MVP[1].y-MVQ[1].y)>Th)的情况下,差异大于或等于阈值Th。在一些实施例中,在(Abs(MVP[0].x-MVQ[0].x)>Th||Abs(MVP[0].y-MVQ[0].y)>Th)&&(Abs(MVP[1].x-MVQ[1].x)>Th)||Abs(MVP[1].y-MVQ[1].y)>Th)的情况下,差异大于或等于阈值Th。在一些实施例中,在(Abs(MVP[0].x-MVQ[0].x)>Th&&Abs(MVP[0].y-MVQ[0].y)>Th)||(Abs(MVP[1].x-MVQ[1].x)>Th)&&Abs(MVP[1].y-MVQ[1].y)>Th)的情况下,差异大于或等于阈值Th。在一些实施例中,在第一块的运动矢量与第二块的运动矢量之间的差异小于或等于阈值的情况下,边界强度被设定为O,阈值是整数。在一些实施例中,阈值是4、8或16。在一些实施例中,阈值是基于视频的特性。
在一些实施例中,基于条件确定方法的适用性。在一些实施例中,在第一块和第二块不是以帧内预测模式编解码的情况下,方法是适用的。在一些实施例中,在第一块和第二块具有亮度分量的零系数的情况下,方法是适用的。在一些实施例中,在第一块和第二块不是用组合帧间和帧内预测模式编解码的情况下,方法是适用的。在一些实施例中,在第一块和第二块是用相同预测模式编解码的情况下,方法是适用的,相同预测模式是帧内块复制预测模式或帧间预测模式。
图22是根据本技术的视频处理的方法2200的流程图表示。方法2200包含,在操作2210,为视频的视频块与视频的比特流表示之间的转换,根据规则确定用于将去方块滤波应用在视频块上的量化参数(QP)。规则指定,在视频块是使用变换跳过(TS)模式编解码的情况下,第一QP被用于确定,在变换跳过(TS)模式中视频块的残差通过跳过变换的应用而被编解码在比特流表示中。在视频块是使用非变换跳过模式编解码的情况下,不同于第一QP的第二QP被用于确定,在非变换跳过模式中视频块的残差在应用变换之后被编解码在比特流表示中。方法2200还包含,在操作2220,基于所述确定进行所述转换。
在一些实施例中,对于亮度块的转换,适用于亮度块的滤波过程是基于应用于亮度块的缩放过程的QP。在一些实施例中,用于确定滤波过程是否适用于亮度块的QP是基于TS模式的修剪范围而确定的。
图23是根据本技术的视频处理的方法2300的流程图表示。方法2300包含,在操作2310,为视频的视频块与视频的比特流表示之间的转换,根据规则确定梯度,梯度用于确定去方块滤波过程对视频块的边缘的至少一些样点的适用性。规则指定,确定梯度的方式独立于视频块的尺寸。方法2300还包含,在操作2320,基于所述确定进行所述转换。
在一些实施例中,用于确定是否启用去方块滤波过程的阈值对于具有不同边界尺寸的块而调整,阈值是整数。在一些实施例中,阈值是基于为去方块滤波过程确定的量化参数。在一些实施例中,具有大边界的块的阈值小于具有小边界的块的第二阈值。在一些实施例中,具有大边界的块的阈值大于具有小边界的块的第二阈值。在一些实施例中,具有大边界的块的阈值等于具有小边界的块的第二阈值。在一些实施例中,阈值是基于视频的特性。
在一些实施例中,以上方法中的一个或多个的适用性是基于视频的特性。在一些实施例中,视频的特性包括视频的内容。在一些实施例中,视频的特性包括在比特流表示中的解码器参数集、条带参数集、视频参数集、图片参数集、适配参数集、图片报头、条带报头、片组报头、最大编解码单元(LCU)、编解码单元、LCU行、LCU的组、变换单元、图片单元或视频编解码单元中信令通知的信息。在一些实施例中,视频的特性包括编解码单元、图片单元、变换单元、块或视频编解码单元在视频内的位置。在一些实施例中,视频的特性包括包含沿着边缘的至少一些样点的块的编解码模式。在一些实施例中,视频的特性包括应用于包含沿着边缘的至少一些样点的块的变换矩阵。在一些实施例中,当前块或当前块的邻域块的特性包括当前块的维度或当前块的邻域块的维度。在一些实施例中,当前块或当前块的邻域块的特性包括当前块的形状或当前块的邻域块的形状。在一些实施例中,视频的特性包括视频的色彩格式的指示。在一些实施例中,视频的特性包括适用于视频的编解码树结构。在一些实施例中,视频的特性包括视频的条带类型、片组类型或图片类型。在一些实施例中,视频的特性包括视频的色彩分量。在一些实施例中,视频的特性包括视频的时域层指示符。在一些实施例中,视频的特性包括视频标准的配置文件、级别或层级。
在一些实施例中,转换包含将视频编码为比特流表示。在一些实施例中,转换包含将比特流表示解码为视频。
图24是图示可以使用本公开的技术的示例性视频编解码系统100的框图。
如图24所示,视频编解码系统100可以包含源装置110和目的地装置120。源装置110生成编码视频数据,其可以称为视频编码装置。目的地装置120可以解码由源装置110生成的编码视频数据,其可以称为视频解码装置。
源装置110可以包含视频源112、视频编码器114,以及输入/输出(I/O)接口116。
视频源112可以包含源,诸如视频捕捉装置,从视频内容提供者接收视频数据的接口,和/或用于生成视频数据的计算机图形系统,或这样的源的组合。视频数据可以包括一个或多个图片。视频编码器114编码来自视频源112的视频数据以生成比特流。比特流可以包含比特的序列,比特的序列形成视频数据的编解码表示。比特流可以包含编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包含序列参数集、图片参数集,以及其他语法结构。I/O接口116可以包含调制器/解调器(调制解调器)和/或发射器。编码视频数据可以经由I/O接口116通过网络130a直接发送到目的地装置120。编码视频数据还可以储存到储存介质/服务器130b上以由目的地装置120访问。
目的地装置120可以包含I/O接口126、视频解码器124,以及显示装置122。
I/O接口126可以包含接收器和/或调制解调器。I/O接口126可以从源装置110或储存介质/服务器130b获取编码视频数据。视频解码器124可以解码编码视频数据。显示装置122可以向用户显示解码的视频数据。显示装置122可以与目的地装置120集成,或可以外部于配置为与外部显示装置相接的目的地装置120。
视频编码器114和视频解码器124可以根据视频压缩标准运行,诸如高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或进一步的标准。
图25是图示视频编码器200的示例的框图,其可以是图24中所示的系统100中的视频编码器114。
视频编码器200可以配置为进行本公开的技术中的任意或全部。在图25的示例中,视频编码器200包含多个功能组件。本公开中所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中所描述的技术中的任意或全部。
视频编码器200的功能组件可以包含:分割单元201;预测单元202,其可以包含模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206;残差生成单元207;变换单元208;量化单元209;逆量化单元21O;逆变换单元211;重建单元212;缓冲器213;以及熵编码单元214。
在其他示例中,视频编码器200可以包含更多、更少或不同的功能组件。在示例中,预测单元202可以包含帧内块复制(IBC)单元。IBC单元可以在IBC模式中进行预测,在IBC模式中至少一个参考图片是当前视频块位置处的图片。
另外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但出于解释目的,在图5中的示例中表示为分开。
分割单元201可以将图片分割为一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于误差结果而选择编解码模式之一,帧内或帧间,并且将所得帧内或帧间编解码块提供到残差生成单元207以生成残差块数据,并提供到重建单元212以重建编码块来用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,其中预测是基于帧间预测信令通知和帧内预测信令通知。模式选择单元203在帧间预测的情况下还可以该块的选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为在当前视频块上进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片的而非与当前视频块相关联的图片的运动信息和解码样点来确定当前视频块的预测视频块。
例如,取决于当前视频块在I条带、P条带还是B条带中,运动估计单元204和运动补偿单元205可以对当前视频块进行不同操作。
在一些示例中,运动估计单元204可以对当前视频块进行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,参考索引指示含有参考视频块的列表0或列表1中的参考图片,运动矢量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块而生成当前块的预测视频块。
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表O中的参考图片中搜索当前视频块的参考视频块,并且还可以在列表1中的参考图片中搜索当前视频块的另一参考视频块。运动估计单元204然后可以生成参考索引和运动矢量,参考索引指示含有参考视频块的列表0和列表1中的参考图片,运动矢量指示参考视频块与当前视频块之间的空间位移。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块而生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出解码器的解码过程的运动信息的完整集合。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的完整集合。反之,运动估计单元204可以参考另一视频块运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息充分相似于邻域视频块的运动信息。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差异(MVD)。运动矢量差异指示当前视频块的运动矢量与所指示视频块的运动矢量之间的差异。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差异来确定当前视频块的运动矢量。
如以上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性信令通知技术的两个示例包含先进运动矢量预测(AMVP)和合并模式信令通知。
帧内预测单元206可以在当前视频块上进行帧内预测。当帧内预测单元206在当前视频块上进行帧内预测时,帧内预测单元206可以基于相同图片中的其他视频块的解码的样点生成当前视频块的预测数据。当前视频块的预测数据可以包含预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由减号指示)当前视频块的(多个)预测视频块,为当前视频块生成残差数据。当前视频块的残差数据可以包含对应于当前视频块中的样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式中,可以不存在当前视频块的残差数据,并且残差生成单元207可以不进行减法操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块而为当前视频块生成一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值而量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到由预测单元202生成的来自一个或多个预测视频块的对应的样点,来产生与当前块相关联的重建视频块,以储存在缓冲器213中。
在重建单元212重建视频块之后,可以进行回路滤波操作以减少视频块中的视频块伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码的数据,并且输出包含熵编码的数据的比特流。
图26是图示视频解码器300的示例的框图,其可以是图24中所示的系统100的视频解码器114。
视频解码器300可以配置为进行本公开的技术中的任意或全部。在图26的示例中,视频解码器300包含多个功能组件。本公开中所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中所描述的技术中的任意或全部。
在图26的示例中,视频解码器300包含熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305,以及重建单元306和缓冲器307。视频解码器300在一些示例中可以进行解码通过,其总体上与关于视频编码器200(例如,图25)描述的编码通过相反。
熵解码单元301可以取回编码的比特流。编码的比特流可以包含熵编码视频数据(例如,编码的视频数据的块)。熵解码单元301可以解码熵编码视频数据,并且从熵解码的视频数据,运动补偿单元302可以确定运动信息,运动信息包含运动矢量、运动矢量精度、参考图片列表索引和其他运动信息。运动补偿单元302可以例如通过进行AMVP和合并模式来确定这样的信息。
运动补偿单元302可以产生运动补偿的块,可能基于插值滤波器进行插值。要与子像素精度一起使用的插值滤波的标识符可以被包含在语法元素中。
运动补偿单元302可以在编码视频块期间使用如由视频编码器20所使用的插值滤波,以计算参考块的子整数像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200使用的插值滤波,并且使用插值滤波来产生预测性块。
运动补偿单元302可以使用一些语法信息来确定用于编码所编码的视频序列的(多个)帧和/或(多个)条带的块的尺寸,描述编码的视频序列的图片的每个宏块如何被分割的分割信息,指示每个分割被如何编码的模式,每个帧间编码的块的一个或多个参考帧(和参考帧列表),以及解码所编码的视频序列的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式,以从空间上相邻的块形成预测块。逆量化单元303将在比特流中提供且由熵解码单元301解码的量化的视频块系数逆量化(即,去量化)。逆变换单元303应用逆变换。
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块加和以形成解码的块。如果期望,则还可以应用去方块滤波以滤波解码的块,从而去除块效应伪影。解码的视频块然后被储存在缓冲器307中,其提供应用后续运动补偿的参考块。
图27是根据本技术的视频处理的另一方法的流程图表示。方法2700包含,在操作2710,为视频的色度分量的块与所述视频的比特流表示之间的转换,基于独立确定的包括边缘的一侧上的样点的第一视频区域的第一量化信息和包括边缘的另一侧上的样点的第二视频区域的第二量化信息,确定是否对所述块的边缘施加去方块滤波过程。方法2700还包含,在操作2720,基于所述确定进行所述转换。
在一些实施例中,第一量化信息和第二量化信息是基于色度量化参数(QP)表确定的。在一些实施例中,第一量化信息和第二量化信息是基于亮度量化参数进一步确定的,亮度量化参数是色度块的对应的亮度块的量化参数。在一些实施例中,亮度量化参数在确定第一量化信息和第二量化信息中被用于确定QP表的索引。在一些实施例中,第一量化信息或第二量化信息与为量化或去量化过程适用于块而推导的量化信息相同。
图28是根据本技术的视频处理的另一方法的流程图表示。方法2800包含,在操作2810,为视频的色度分量的块与所述视频的比特流表示之间的转换,基于与该块相关联的编解码模式或量化参数确定梯度,该梯度用于确定去方块滤波过程对块的边缘的至少一些样点的适用性。方法2800还包含,在操作2820,基于所述确定进行所述转换。
在一些实施例中,用于确定去方块滤波的适用性的梯度是基于不是无损编解码的边缘的单侧的样点确定的。在一些实施例中,用于确定去方块滤波的适用性的梯度是基于不是无损编解码的样点的梯度。在一些实施例中,单侧包括边缘的左侧。在一些实施例中,单侧包括边缘的右侧。在一些实施例中,单侧包括边缘的顶侧。在一些实施例中,单侧包括边缘的底侧。
在一些实施例中,用于确定去方块滤波的适用性的梯度以N缩放,N是整数。在一些实施例中,N=2。在一些实施例中,N是基于视频的特性。在一些实施例中,特性包含视频的内容。在一些实施例中,视频的特性包括在比特流表示中的解码器参数集、条带参数集、视频参数集、图片参数集、适配参数集、图片报头、条带报头、片组报头、最大编解码单元(LCU)、编解码单元、LCU行、LCU的组、变换单元、图片单元或视频编解码单元中信令通知的信息。在一些实施例中,视频的特性包括编解码单元、图片单元、变换单元、块或视频编解码单元在视频内的位置。在一些实施例中,视频的特性包括包含沿着边缘的至少一些样点的块的编解码模式。在一些实施例中,视频的特性包括被应用于包含沿着边缘的至少一些样点的块的变换矩阵。在一些实施例中,视频的特性包括块的形状或该块的邻域块的形状。在一些实施例中,视频的特性包括视频的色彩格式的指示。在一些实施例中,视频的特性包括适用于视频的编解码树结构。在一些实施例中,视频的特性包括视频的条带类型、片组类型或图片类型。在一些实施例中,视频的特性包括视频的色彩分量。在一些实施例中,视频的特性包括视频的时域层指示符。在一些实施例中,视频的特性包括视频标准的配置文件、级别或层级。在一些实施例中,N在比特流表示中被信令通知。
在一些实施例中,在边缘的两侧是无损编解码的或近无损编解码的情况下,梯度被设定为0。在一些实施例中,在边缘的两侧是无损编解码的或近无损编解码的情况下,边缘的边界强度被设定为0。
图29是根据本技术的视频处理的另一方法的流程图表示。方法2900包含,在操作2910,进行视频的视频单元与视频的比特流表示之间的转换。视频单元包括第一色度分量的第一块和视频的第二色度分量的第二块。在转换期间,对第一块和第二块调用第一决定过程,以确定去方块滤波过程对第一块和第二块两者的适用性。
在一些实施例中,第一色度分量包括Cb分量,并且第二色度分量包括Cr分量。在一些实施例中,在去方块滤波过程适用于第一块和第二块的情况下,对第一块和第二块两者调用第二决定过程,以确定强去方块滤波是否适用。在一些实施例中,在强滤波条件对第一分量和第二分量两者都满足的情况下,第二决定过程指定强去方块滤波是适用的。在一些实施例中,在强滤波条件对第一分量和第二分量中的任意者不满足的情况下,第二决定过程指定强去方块滤波是不适用的。
在一些实施例中,在被用于第一决定过程或第二决定过程之前,修改关于第一块和/或第二块的信息。在一些实施例中,第一块的梯度和第二块的梯度的平均被用于第一决定过程或第二决定过程。
在一些实施例中,转换包含将视频编码为比特流表示。在一些实施例中,转换包含将比特流表示解码为视频。
所公开的技术的一些实施例包含进行决定或确定以启用视频处理工具或模式。在示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实现工具或模式,但可能不一定基于工具或模式的使用而修改所得比特流。即,当视频处理工具或模式基于决定或确定而被启用时,从视频的块到视频的比特流表示的转换将使用视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在了解比特流已经被基于视频处理工具或模式修改的情况下处理比特流。即,从视频的比特流表示到视频的块的转换将使用基于决定或确定而启用的视频处理工具或模式进行。
所公开的技术的一些实施例包含进行决定或确定以禁用视频处理工具或模式。在示例中,当视频处理工具或模式被禁用时,编码器在将视频的块转换为视频的比特流表示中将不使用工具或模式。在另一示例中,当视频处理工具或模式被禁用时,解码器将在了解比特流未被使用基于决定或确定启用的视频处理工具或模式修改的情况下处理比特流。
所公开的和本文件中描述的其他方案、示例、实施例、模块和功能操作可以实现为数字电子电路,或计算机软件、固件,或硬件,包含本文件中所公开的结构和它们的结构等同,或它们中的一个或多个的组合。所公开的和其他实施例可以实现为一个或多个计算机程序产品,即,编码在计算机可读介质上的计算机程序指令的一个或多个模块,以由数据处理设备执行,或控制数据处理设备的操作。计算机可读介质可以是机械可读储存装置、机械可读储存衬底、存储器装置、实现机械可读传播信令通知的物质组合,或它们中的一个或多个的组合。术语″数据处理设备″涵盖全部设备、装置和用于处理数据的机器,包含例如可编程处理器、计算机,或多个处理器或计算机。除硬件之外,设备可以包含创建关注的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信令通知是人工生成的信令通知,例如,机器生成的电、光或电磁信令通知,其被生成以编码信息,以传输到适当接收器设备。
计算机程序(也已知为程序软件、软件应用、脚本或代码)可以写为任意形式的编程语言,包含编译或解释语言,并且其可以部署为任意形式,包含作为独立程序或作为模块、组件、子例程,或在计算环境中使用的其他单元适当。计算机程序不一定对应于文件系统中的文件。程序可以储存在文件的保有其他程序或数据的一部分中(例如,储存在标记语言文件中的一个或多个脚本),储存在专用于关注的程序的单个文件中,储存在多个协调的文件中(例如,储存一个或多个模块、子程序或代码的部分的文件)。计算机程序可以部署为在一个计算机上或在多个计算机上执行,所述多个计算机位于一个站点或分布在多个站点上并由通信网络互连。
本文件中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括或可操作地耦合以从一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储、介质和存储设备,包括例如半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
尽管该专利文件包含许多细节,但是这些细节不应被解释为对任何主题或所要求保护的范围的限制,而是对特定于特定技术的特定实施例的特征的描述。在单独的实施例的上下文中在本专利文件中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此要求保护,但是在某些情况下可以从组合中去除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,在该专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
仅描述了一些实施方式和示例,并且可以基于本专利文件中描述和示出的内容进行其他实施方式、增强和变化。
Claims (5)
1.一种视频处理的方法,包括:
为视频的色度分量的块与所述视频的比特流之间的转换,基于确定的包括边缘的一侧上的样点的第一视频区域的第一量化信息和包括所述边缘的另一侧上的样点的第二视频区域的第二量化信息,确定是否对所述块的边缘施加去方块滤波过程;以及
基于所述确定进行所述转换,
其中基于色度量化参数QP表确定所述第一量化信息和所述第二量化信息,
其中基于作为所述色度块的对应的亮度块的量化参数的亮度量化参数,进一步确定所述第一量化信息和所述第二量化信息,
其中所述亮度量化参数被用于在确定所述第一量化信息和所述第二量化信息中确定所述QP表的索引。
2.根据权利要求1所述的方法,其中所述第一量化信息或所述第二量化信息与为适用于所述块的量化或去量化过程推导的量化信息相同。
3.一种视频处理设备,包括处理器,所述处理器配置为实现权利要求1至2中任一项所述的方法。
4.一种计算机可读介质,具有代码储存在其上,由处理器执行所述代码时,使所述处理器实现权利要求1至2中任一项所述的方法。
5.一种计算机可读介质,储存根据权利要求1至2中任一项生成的比特流。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2019/107145 | 2019-09-21 | ||
CN2019107145 | 2019-09-21 | ||
CNPCT/CN2019/0107145 | 2019-09-21 | ||
PCT/US2020/051689 WO2021055896A1 (en) | 2019-09-21 | 2020-09-19 | Chroma deblocking in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114503597A CN114503597A (zh) | 2022-05-13 |
CN114503597B true CN114503597B (zh) | 2024-03-12 |
Family
ID=74884227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080066216.1A Active CN114503597B (zh) | 2019-09-21 | 2020-09-19 | 视频编解码中的色度去方块方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114503597B (zh) |
WO (1) | WO2021055896A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104584559A (zh) * | 2012-07-02 | 2015-04-29 | 微软公司 | 用于色度qp值的扩展的范围 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2488816A (en) * | 2011-03-09 | 2012-09-12 | Canon Kk | Mapping motion vectors from a plurality of reference frames to a single reference frame |
US8964833B2 (en) * | 2011-07-19 | 2015-02-24 | Qualcomm Incorporated | Deblocking of non-square blocks for video coding |
US9451258B2 (en) * | 2012-04-03 | 2016-09-20 | Qualcomm Incorporated | Chroma slice-level QP offset and deblocking |
US10212456B2 (en) * | 2017-06-02 | 2019-02-19 | Apple Inc. | Deblocking filter for high dynamic range (HDR) video |
-
2020
- 2020-09-19 WO PCT/US2020/051689 patent/WO2021055896A1/en active Application Filing
- 2020-09-19 CN CN202080066216.1A patent/CN114503597B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104584559A (zh) * | 2012-07-02 | 2015-04-29 | 微软公司 | 用于色度qp值的扩展的范围 |
Non-Patent Citations (1)
Title |
---|
Yoshitaka Morigami等.Chroma deblocking filter adjustments for 4:4:4 and 4:2:2 format.JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0413-v3.2019,1-7. * |
Also Published As
Publication number | Publication date |
---|---|
CN114503597A (zh) | 2022-05-13 |
WO2021055896A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114586370B (zh) | 在视频编解码中使用色度量化参数的方法、装置及介质 | |
CN113273203B (zh) | 两步交叉分量预测模式 | |
CN114402601B (zh) | 色度去块滤波的量化参数偏移的方法及装置 | |
CN114902657A (zh) | 视频编解码中的自适应颜色变换 | |
US11785260B2 (en) | Cross-component adaptive loop filtering in video coding | |
WO2021110116A1 (en) | Prediction from multiple cross-components | |
WO2021115235A1 (en) | Cross-component prediction using multiple components | |
CN117544777A (zh) | 用于视频编解码的跨分量自适应环路滤波 | |
CN114503597B (zh) | 视频编解码中的色度去方块方法 | |
CN114788279A (zh) | 视频编解码中使用的量化组 | |
US11985329B2 (en) | Quantization parameter offset for chroma deblocking filtering |
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 |