CN114902657A - 视频编解码中的自适应颜色变换 - Google Patents

视频编解码中的自适应颜色变换 Download PDF

Info

Publication number
CN114902657A
CN114902657A CN202080091436.XA CN202080091436A CN114902657A CN 114902657 A CN114902657 A CN 114902657A CN 202080091436 A CN202080091436 A CN 202080091436A CN 114902657 A CN114902657 A CN 114902657A
Authority
CN
China
Prior art keywords
video
chroma
unit
block
codec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080091436.XA
Other languages
English (en)
Inventor
朱维佳
张莉
许继征
张凯
王业奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ByteDance Inc
Original Assignee
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ByteDance Inc filed Critical ByteDance Inc
Publication of CN114902657A publication Critical patent/CN114902657A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/046DPCM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • H04N11/042Codec means
    • H04N11/044Codec means involving transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种视频处理方法,包括:执行视频的视频单元和视频的比特流表示之间的转换,其中,转换包括将去方块滤波器应用于视频单元的边界上的至少一些样点,其中,根据规则确定在去方块滤波器中使用的去方块量化参数(QP)值,并且其中,规则指定去方块QP值是否等于视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于视频单元。

Description

视频编解码中的自适应颜色变换
相关申请的交叉引用
根据适用的《专利法》和/或《巴黎公约》的规定,本申请及时要求于2019年12月31日提交的国际专利申请号PCT/CN2019/130851的优先权和利益。出于法律上的所有目的,将前述申请的全部公开以引用方式并入本文,作为本申请公开的一部分。
技术领域
本专利文件涉及视频编解码技术、设备和系统。
背景技术
目前,正在努力改进当前视频编解码器技术的性能,以提供更好的压缩比或提供允许较低复杂度或并行实现的视频编码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定它们的有效性。
发明内容
描述了与数字视频编解码相关的设备、系统和方法,并且具体地,涉及运动矢量的管理。所描述的方法可以应用于现有的视频编解码标准(例如,高效视频编解码(HEVC)或通用视频编解码)和未来的视频编解码标准或视频编解码器。
在一个代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频的视频单元和该视频的比特流表示之间的转换,其中该转换包括将去方块滤波器应用于视频单元边界上的至少一些样点,其中根据规则确定去方块滤波器中使用的去方块量化参数(QP)值,并且其中该规则指定去方块QP值是否等于视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于视频单元。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括根据规则执行视频的视频单元和该视频的比特流表示之间的转换,其中该规则指定自适应颜色变换(ACT)模式和基于块的增量脉冲编解码调制(BDPCM)编解码工具可用于以互斥的方式对该视频单元进行编解码。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括:对于视频的视频单元和该视频的比特流表示之间的转换,基于是否对该视频单元启用自适应颜色变换(ACT)模式,确定是否对该视频单元启用块差分脉冲编解码调制(BDPCM)编解码工具;以及基于该确定来执行转换。
在另一代表性方面,所公开的技术可以用于提供一种用于视频处理的方法。该方法包括执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在该视频单元的边界上使用去方块滤波器,使得当使用色度量化参数(QP)表来推导去方块滤波器的参数时,通过色度QP表对各个色度QP值执行处理。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,色度QP偏移处于图片/条带/片/砖块/子图片级别。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行视频单元和该视频单元的位流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,在去方块滤波器中使用与相同亮度编解码单元有关的信息,并且用于推导色度QP偏移。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,在比特流表示中信令通知启用色度QP偏移的使用的指示。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,去方块滤波器中使用的色度QP偏移与是JCCR编解码方法被应用在视频单元的边界上还是不同于JCCR编解码方法的方法被应用在视频单元的边界上是相同的。
在另一代表性方面,所公开的技术可以用于提供另一种视频处理方法。该方法包括执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,计算去方块滤波器的边界强度(BS)而不将P侧边界处与该视频单元相关联的参考图片和/或多个运动矢量(MV)与Q侧边界处的该视频单元的参考图片进行比较。
在另一示例方面,公开了另一种视频处理方法。该方法包括:对于视频的分量的视频单元和该视频的比特流表示之间的转换,基于指定尺寸必须大于K的约束规则来确定该视频单元的量化组的尺寸,其中K是正数;以及基于该确定来执行转换。
此外,在代表性方面,公开了一种视频系统中的装置,包括处理器和其上具有指令的非暂时性存储器。由处理器执行的指令使得处理器实现任何一个或多个公开的方法。
另外,在代表性方面,一种视频解码装置包括处理器,该处理器被配置为实现任何一个或多个所公开的方法。
在另一代表性方面,一种视频编码装置包括处理器,该处理器被配置为实现任何一个或多个所公开的方法。
此外,公开了存储在非暂时性计算机可读介质上的计算机程序产品,该计算机程序产品包括用于执行任何一个或多个所公开的方法的程序代码。
在附图、说明书和权利要求中更详细地描述了所公开技术的上述和其他方面和特征。
附图说明
图1示出了分块去方块滤波过程的整体处理流程的示例。
图2示出了Bs计算的流程图的示例。
图3示出了在CTU边界用于Bs计算的参考信息的示例。
图4示出了涉及滤波器开/关决策和强/弱滤波器选择的像素的示例。
图5示出了VVC中去方块滤波过程的整体处理流程的示例。
图6示出了VVC中亮度去方块滤波过程的示例。
图7示出了VVC中色度去方块滤波过程的示例
图8示出了用于子PU边界的滤波器长度确定的示例。
图9A和图9B示出了色度块的中心位置的示例。
图10示出了P侧和Q侧的块的示例。
图11示出了亮度块的解码信息的使用的示例。
图12是用于实现本文档中描述的视觉媒体解码或视觉媒体编码技术的硬件平台的示例的框图。
图13示出了用于视频编解码的示例方法的流程图。
图14A示出了CC-ALF相对于其它环路滤波器放置的示例。
图14B示出了CC-ALF相对于菱形滤波器放置的示例。
图15示出了自适应颜色变换(ACT)过程的示例流程图。
图16示出了高级去方块控制机制的示例流程图。
图17示出了高级去方块控制机制的示例流程图。
图18是图示根据本公开的一些实施例的视频编解码系统的框图。
图19是图示了根据本公开的一些实施例的编码器的框图。
图20是图示了根据本公开的一些实施例的解码器的框图。
图21是其中可以实现所公开的技术的示例视频处理系统的框图。
图22-图24是视频处理的示例方法的流程图。
具体实施方式
1.HEVC的视频编码/H.265
视频编解码标准主要通过众所周知的ITU-T和ISO/IEC标准的发展而演进。ITU-T制定了H.261和H.263,ISO/IEC制定了MPEG-1和MPEG-4Visual,这两个组织联合制定了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 JTC1SC29/WG11(MPEG)成立了联合视频专家小组(JVET),致力于VVC标准,目标是与HEVC相比将比特率降低50%。
VVC草案的最新版本,即通用视频编解码(草案6)可在以下网址找到:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/15_Gothenburg/wg11/JVET-O2001-v14.zip。VVC的最新参考软件名为VTM,可以在以下网址找到:https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-6.0。
2.1.HEVC的去方块方案
以与解码过程相同的顺序对每个CU执行去方块滤波过程。首先对垂直边缘进行滤波(水平滤波),然后对水平边缘进行滤波(垂直滤波)。对于亮度和色度分量,滤波被应用于确定要被滤波的8×8块边界。为了降低复杂度,不处理4×4块边界。
图1图示了去方块滤波过程的整体处理流程。边界可以有三种滤波状态:无滤波、弱滤波和强滤波。每个滤波决策都基于边界强度Bs以及阈值β和tC
滤波过程中可能涉及三种边界:CU边界、TU边界和PU边界。作为CU的外边缘的CU边界总是参与滤波,因为CU边界总是也是TU边界或PU边界。当PU形状为2NxN(N>4)且RQT深度等于1时,8×8块网格处的TU边界和CU内部每个PU之间的PU边界参与滤波。一个例外是,当PU边界在TU内部时,边界不会被滤波。
2.1.1.边界强度计算
一般来说,边界强度(Bs)反映了边界需要多强的滤波。如果Bs较大,则应考虑强滤波。
设P和Q被定义为参与滤波的块,其中P表示位于边界左侧(垂直边缘情况)或上方(水平边缘情况)的块,并且Q表示位于边界右侧(垂直边缘情况)或上方(水平边缘情况)的块。图2图示了如何基于帧内编解码模式、非零变换系数和运动信息的存在、参考图片、运动矢量的数量和运动矢量差来计算Bs值。
Bs是在4x4块的基础上计算的,但是它被重新映射到8x8网格。与由4×4网格中的一条线组成的8个像素相对应的Bs的两个值中的最大值被选为8×8网格中边界的Bs。
为了减少行缓冲存储器需求,仅对于CTU边界,如图3所示,左侧或上方的每隔一个块(4×4网格)中的信息被重新使用。
2.1.2.β和tC决策
分别基于P块和Q块的亮度量化参数QPP和QPQ推导阈值β和tC,阈值β和tC涉及滤波器开/关决策、强和弱滤波器选择以及弱滤波过程。用于推导β和tC的Q计算如下。
Q=((QPP+QPQ+1)>>1)。
如表1所示,基于Q推导变量β。如果Bs大于1,则变量tC指定为具有Clip3(0,55,Q+2)作为输入的表1。否则(Bs等于或小于1),变量tC指定为具有Q作为输入的表1。
表1从输入Q推导的阈值变量β和tC
Q 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
β 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 7 8
t<sub>C</sub> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Q 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
β 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36
t<sub>C</sub> 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4
Q 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
β 38 40 42 44 46 48 50 52 54 56 58 60 62 64 64 64 64 64
t<sub>C</sub> 5 5 6 6 7 8 9 9 10 10 11 11 12 12 13 13 14 14
2.1.3.四行的滤波器开/关决策
将四行作为一个单元进行滤波器开/关决策。图4图示了参与滤波器开/关决策的像素。前四行的两个红色框中的6个像素用于确定前四行的滤波器开/关。后四行的两个红色框中的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|
如果不满足条件,则不对前四行进行滤波。另外,如果满足条件,则推导dE、dEp1和dEp2用于弱滤波过程。变量dE被设置为等于1。如果dp0+dp3<(β+(β>>1))>>3,则变量dEp1被设置为等于1。如果dq0+dq3<(β+(β>>1))>>3,则变量dEq1被设置为等于1。
对于后四行,以与上面相同的方式做出决定。
2.1.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
同样,如果满足以下两个条件,则使用强滤波器对后四行进行滤波。否则,使用弱滤波器进行滤波。
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的推导如第2节所示,其中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对亮度和色度都使用8×8去方块网格。在VTM6中,引入了针对亮度边界的4x4网格去方块,以处理来自矩形变换形状的块效应。4×4网格上的并行友好亮度去方块是通过将待去方块的样点数限制为垂直亮度边界每侧1个样点(其中一侧的宽度为4或更小)或水平亮度边界每侧1个样点(其中一侧的高度为4或更小)来实现的。
2.2.3.亮度的边界强度推导
详细的边界强度推导见表2。按顺序检查表2中的条件。
表2边界强度推导
Figure BDA0003722499850000091
Figure BDA0003722499850000101
Figure BDA0003722499850000111
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),clipped to pi±tcPDi
–qj′=(gj*Middles,t+(64-gj)*Qs+32>>6),clipped to qj±tcPDj
其中,术语tcPDi和tcPDj是第2.2.5节所述的位置相关裁剪,下面给出了gj、fi、Middles,t、Ps和Qs
Figure BDA0003722499850000112
Figure BDA0003722499850000121
Figure BDA0003722499850000131
2.2.5.针对亮度的去方块控制
在这一小节中描述了去方块决策过程。
仅当条件1、条件2和条件3都为TRUE时,才使用更宽更强的亮度滤波器。
条件1是“大块条件”。这个条件检测P侧和Q侧的样点是否属于大块,分别用变量bSidePisLargeBlk和bSideQisLargeBlk表示。bSidePisLargeBlk和bSideQisLargeBlk的定义如下。
bSidePisLargeBlk=((边缘类型为垂直且p0属于具有宽度>=32的CU)||(边缘类型为水平且p0属于具有高度>=32的CU))?TRUE:FALSE
bSideQisLargeBlk=((边缘类型为垂直且q0属于具有宽度>=32的CU)||(边缘类型为水平且q0属于具有高度>=32的CU))?TRUE:FALSE
基于bSidePisLargeBlk和bSideQisLargeBlk,条件1定义如下。
Condition 1=(bsidepislageblk||bsidepislageblk)?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
if(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节所示。
如果条件1和条件2有效,则检查是否有任何块使用子块:
Figure BDA0003722499850000141
最后,如果条件1和条件2都有效,则所提出的去方块方法将检查条件3(大块强滤波条件),其定义如下。
在条件3StrongFilterCondition中,推导以下变量:
dpq像在HEVC中那样推导。
sp3=Abs(p3-p0),像在HEVC中那样推导
Figure BDA0003722499850000142
sq3=Abs(q0-q3),像在HEVC中那样推导
Figure BDA0003722499850000143
Figure BDA0003722499850000151
像在HEVC中那样推导,StrongFilterCondition=(dpq is less than(β>>2),sp3+sq3 is less than(3*β>>5),and Abs(p0-q0)is less than(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
所提出的色度滤波器在4×4色度样点网格上执行去方块。
2.2.7.针对色度的去方块控制
上述色度滤波器在8×8色度样点网格上执行去方块。在块边界的两侧使用色度强滤波器。这里,当色度边缘的两侧都大于或等于8(以色度样点为单位)时,选择色度滤波器,并且满足以下具有三个条件的决策。第一种是用于确定边界强度以及大块。第二个和第三个基本上与HEVC亮度决策相同,分别是开/关决策和强滤波决策。
图7描绘了色度去方块滤波过程的流程图。
2.2.8.位置相关裁剪
提案还引入了位置相关裁剪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};
定义阈值后,根据tcP和tcQ裁剪值对滤波后的p'i和q'i样点值进行裁剪:
p”i=clip3(p’i+tcPi,p’i–tcPi,p’i);
q”j=clip3(q’j+tcQj,q’j–tcQ j,q’j);
其中p’i和q’j是滤波后的样点值,p”i和q”j是裁剪后的输出样点值,并且tcPi、tcQj是从VVC tc参数以及tcPD和tcQD推导的裁剪阈值。术语clip3是如在VVC所规定的裁剪函数。
2.2.9.子块去方块调整
为了使用长滤波器和子块去方块两者来实现并行友好去方块,长滤波器被限制为在使用子块去方块(AFFINE或ATMVP)的一侧最多修改5个样点,如长滤波器的亮度控制中所示。此外,调整子块去方块,使得靠近CU或隐式TU边界的8×8网格上的子块边界被限制为在每一侧最多修改两个样点。
以下适用于未与CU边界对齐的子块边界。
Figure BDA0003722499850000161
Figure BDA0003722499850000171
其中等于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在merge模式下被编解码时,如果CU包含至少64个亮度样点(即CU宽度乘以CU高度等于或大于64),并且如果CU宽度和CU高度均小于128个亮度样点,则会信令通知一个附加标志,指示当前CU是否应用了组合帧间/帧内预测(CIIP)模式。顾名思义,CIIP预测组合帧间预测信号与帧内预测信号。使用应用于常规merge模式的相同帧间预测过程来推导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色度QP表设计-6.0
JVET-O0650中提出的色度QP表设计被VVC采用。它提出了用于色度QP表的信令机制,这使得能够灵活地向编码器提供针对SDR和HDR内容优化该表的机会。它支持为Cb和Cr分量分别信令通知该表。所提出的机制信令通知色度QP表作为分段线性函数。
2.5.变换跳过(TS)
如在HEVC中,块的残差可以用变换跳过模式来编解码。为了避免语法编解码的冗余,当CU级别MTS_CU_flag不等于零时,不信令通知变换跳过标志。变换跳过的块尺寸限制与JEM4中的MTS的块尺寸限制相同,这表明当块宽度和高度都等于或小于32时,变换跳过适用于CU。请注意,当LFNST或MIP对当前CU激活时,隐式MTS变换设置为DCT2。此外,当对帧间编解码块启用MTS时,隐式MTS仍可被启用。
此外,对于变换跳过块,最小允许量化参数(QP)被定义为6*(internalBitDepth–inputBitDepth)+4。
2.6.色度残差的联合编解码(JCCR)
VVC草案6支持色度残差被联合编解码的模式。联合色度编解码模式的使用(激活)由TU级别标志tu_joint_cbcr_residual_flag指示,并且所选模式由色度CBF隐含指示。如果TU的一个或两个色度CBF等于1,则存在标志tu_joint_cbcr_residual_flag。在PPS和条带标头中,对联合色度残差编解码模式信令通知色度QP偏移值,以区别于对常规色度残差编解码模式信令通知的通常色度QP偏移值。这些色度QP偏移值用于推导使用联合色度残差编解码模式编解码的那些块的色度QP值。当对应的联合色度编解码模式(表3中的模式2)在TU中激活时,在该TU的量化和解码期间,该色度QP偏移被添加到应用的亮度推导色度QP。对于其他模式(表3中的模式1和模式3),色度QP的推导方式与传统Cb或Cr模块相同。表3描述了从发送的变换块重建色度残差(resCb和resCr)的过程。当激活此模式时,信令通知一个单个联合色度残差块(表3中的resJointC[x][y]),并根据tu_cbf_cb、tu_cbf_cr和条带标头中指定的符号值CSign等信息推导Cb残差块(resCb)和Cr残差块(resCr)。
在编码器侧,联合色度分量被推导,如下所述。取决于模式(如上表所列),编码器按如下方式生成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[][]是发送的残差。
Figure BDA0003722499850000191
上述三种模式使用不同的QP。对于模式2,应用对JCCR编码块在PPS中信令通知的QP偏移,而对于其他两种模式,不应用该偏移,而是应用对非JCCR编码块在PPS中信令通知的QP偏移。
相应的规范如下:
8.7.1量化参数的推导过程
变量QpY的推导如下:
QpY=((qPY_PRED+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)
2.7.跨分量自适应环路滤波器(CC-ALF)
图14A图示了CC-ALF相对于其他环路滤波器的放置。CC-ALF通过对每个色度分量的亮度通道应用线性菱形滤波器(图14B)来操作,色度分量表示为
Figure BDA0003722499850000221
其中
(x,y)是被细化的第i个位置的色度分量
(xC,yC)是基于(x,y)的亮度位置
Si是亮度中对色度分量i的滤波器支持
ci(x0,y0)表示滤波器参数
CC-ALF过程的特性的主要特征包括:
·支持区域围绕其居中的亮度位置(xC,yC)是基于亮度和色度平面之间的空间缩放因子来计算的。
·所有滤波器系数都在APS中发送,并且具有8位动态范围。
·APS可以在条带标头中被引用。
·用于条带的每个色度分量的CC-ALF系数也存储在与时域子层相对应的缓冲器中。使用条带级别标志有助于这些时域子层滤波器系数集合的重用。
·CC-ALF滤波器的应用由可变块尺寸控制,并由为每个样点块接收的上下文编码标志来信令通知。对于每个色度分量,在条带级别接收块尺寸以及CC-ALF使能标志。
·水平虚拟边界的边界填充利用了重复。对于剩余的边界,使用与常规ALF相同类型的填充。
2.8量化参数的推导过程
基于相邻QP和解码的QP增量推导QP。JVET-P2001-vE中与QP推导相关的文本如下。
该过程的输入是:
–指定当前编解码块的左上亮度样点相对于当前图片的左上亮度样点的亮度位置(xCb,yCb),
–指定亮度样点中当前编解码块的宽度的变量cbWidth,
–指定亮度样点中当前编解码块的高度的变量cbHeight,
–指定是使用单树(SINGLE_TREE)还是双树来分割编解码树节点,以及当使用双树时,当前是处理亮度(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA)的变量treeType。
在此过程中,推导亮度量化参数Qp’Y和色度量化参数Qp’Cb、Qp’Cr和Qp’CbCr
亮度位置(xQg,yQg)指定相对于当前图片左上亮度样点的当前量化组左上亮度样点。水平和垂直位置xQg和yQg分别设置为等于CuQgTopLeftX和CuQgTopLeftY。
注意–:当前量化组是共享相同qPY_PRED的编解码树块内的矩形区域。其宽度和高度等于编解码树节点的宽度和高度,编解码树节点的左上角亮度样点位置被分配给变量CuQgTopLeftX和CuQgTopLeftY。
当treeType等于SINGLE_TREE或DUAL_TREE_LUMA时,预测亮度量化参数qPY_PRED通过以下有序步骤推导:
1.变量qPY_PREV的推导如下:
–如果以下一个或多个条件为真,则qPY_PREV被设置为等于SliceQpY:
–当前量化组是条带中的第一个量化组。
–当前量化组是片中的第一个量化组。
–当前量化组是片的CTB行中的第一个量化组,并且entropy_coding_sync_enabled_flag等于1。
–否则,qPY_PREV被设置为等于解码顺序中前一量化组的最后一个亮度编码单元的亮度量化参数QpY。
2.调用条款6.4.4中指定的相邻块可用性的推导过程,将位置(xCurr,yCurr)设置为等于(xCb,yCb),相邻位置(xNbY,yNbY)设置为等于(xQg-1,yQg),checkPredModeY设置为等于FALSE,cIdx设置为等于0作为输入,并将输出分配给availableA。变量qPY_A的推导如下:
–如果以下一个或多个条件为真,则qPY_A被设置为等于qPY_PREV:
–availableA等于FALSE。
–包含覆盖亮度位置(xQg-1,yQg)的亮度编解码块的CTB不等于包含(xCb,yCb)处的当前亮度编解码块的CTB,即以下所有条件均为真:
–(xQg-1)>>CtbLog2SizeY不等于(xCb)>>CtbLog2SizeY
–(yQg)>>CtbLog2SizeY不等于(yCb)>>CtbLog2SizeY
–否则,qPY_A被设置为等于包含覆盖(xQg-1,yQg)的亮度编解码块的编解码单元的亮度量化参数QpY。
3.调用第6.4.4条中规定的相邻块可用性推导过程,将位置(xCurr,yCurr)设置为(xCb,yCb),相邻位置(xNbY,yNbY)设置为(xQg,yQg 1),checkPredModeY设置为FALSE,cIdx设置为0作为输入,输出分配给availableB。变量qPY_B的推导如下:
–如果以下一个或多个条件为真,则qPY_B被设置为等于qPY_PREV:
–availableB等于FALSE。
–包含覆盖亮度位置(xQg,yQg-1)的亮度编解码块的CTB不等于包含(xCb,yCb)处的当前亮度编解码块的CTB,即以下所有条件均为真:
–(xQg)>>CtbLog2SizeY不等于(xCb)>>CtbLog2SizeY
–(yQg-1)>>CtbLog2SizeY不等于(yCb)>>CtbLog2SizeY
–否则,qPY_B被设置为等于包含覆盖(xQg,yQg-1)的亮度编解码块的编解码单元的亮度量化参数QpY。
4.预测亮度量化参数qPY_PRED的推导如下:
–如果以下所有条件为真,则qPY_PRED等于包含覆盖(xQg,yQg-1)的亮度编解码块的编解码单元的亮度量化参数QpY:
–availableB等于TRUE。
–当前量化组是片中的CTB行的第一个量化组。
–否则,qPY_PRED的推导如下:
qPY_PRED=(qPY_A+qPY_B+1)>>1 (1115)
变量QpY的推导如下:
QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset)%(64+QpBdOffset))–QpBdOffset (1116)
亮度量化参数Qp’Y的推导如下:
Qp′Y=QpY+QpBdOffset (1117)
当ChromaArrayType不等于0且treeType等于SINGLE_TREE或DUAL_TREE_CHROMA时,适用以下:
–当treeType等于DUAL_TREE_CHROMA时,变量QpY被设置为等于覆盖亮度位置(xCb+cbWidth/2,yCb+cbHeight/2)的亮度编解码单元的亮度量化参数QpY。
–变量qPCb、qPCr和qPCbCr的推导如下:
qPChroma=Clip3(-QpBdOffset,63,QpY) (1118)
qPCb=ChromaQpTable[0][qPChroma] (1119)
qPCr=ChromaQpTable[1][qPChroma] (1120)
qPCbCr=ChromaQpTable[2][qPChroma] (1121)
–Cb和Cr分量、Qp’Cb和Qp’Cr以及联合Cb-Cr编解码Qp’CbCr的色度量化参数的推导如下:
Qp′Cb=Clip3(-QpBdOffset,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb)+QpBdOffset (1122)
Qp′Cr=Clip3(-QpBdOffset,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr)+QpBdOffset (1123)
Qp′CbCr=Clip3(-QpBdOffset,63,qPCbCr+pps_joint_cbcr_qp_offset+slice_joint_cbcr_qp_offset+CuQpOffsetCbCr)+QpBdOffset (1124)
2.9自适应颜色变换(ACT)
图15图示了应用ACT的解码流程图。如图所示,颜色空间转换是在残差域中进行的。具体地,在逆变换之后引入一个附加解码模块,即逆ACT,以将来自YCgCo域的残差转换回原始域。
在VVC中,除非最大变换尺寸小于一个编解码单元(CU)的宽度或高度,否则一个CU叶节点也被用作变换处理的单位。因此,在所提出的实现中,对一个CU信令通知ACT标志,以选择用于对其残差进行编解码的颜色空间。此外,根据HEVC ACT设计,对于帧间和IBC CU,ACT仅在CU中至少有一个非零系数时启用。对于帧内CU,仅当色度分量选择亮度分量的相同帧内预测模式,即DM模式时,才启用ACT。
用于颜色空间转换的核心变换与用于HEVC的核心变换保持相同。具体而言,应用如下所述的以下正向和逆向YCgCo颜色变换矩阵。
Figure BDA0003722499850000261
此外,为了补偿颜色变换前后残差信号的动态范围变化,将(-5,-5,-3)的QP调整应用于变换残差。
另一方面,如图15所示,正向和逆向颜色变换需要访问所有三个分量的残差。相应地,在所提出的实现中,ACT在以下两种情况下被禁用,在这两种情况下,并非三个分量的所有残差都可用。
1.分离树分割:当应用分离树时,一个CTU内的亮度和色度样点由不同的结构分割。这导致亮度树中的CU仅包含亮度分量,而色度树中的CU仅包含两个色度分量。
帧内子分割预测(ISP):ISP子分割仅应用于亮度信号,而色度信号在没有划分的情况下被编解码。在当前的ISP设计中,除了最后的ISP子分割,其他子分割仅包含亮度分量。
2.10 VVC草案7中的高级别去方块控制
控制机制如下图16所示。
3.现有实现的缺点
DMVR和BIO在细化运动矢量期间不涉及原始信号,这可能导致编解码块具有不准确的运动信息。此外,DMVR和BIO有时采用运动细化后的分数运动矢量,而屏幕视频通常具有整数运动矢量,这使得当前运动信息更不准确,并使编解码性能更差。
1.色度QP表和色度去方块之间的交互可能存在问题,例如,色度QP表应该被应用于单独的QP,而不是QP的加权和。
2.亮度去方块滤波过程的逻辑对于硬件设计来说是复杂的。
3.边界强度推导的逻辑对于软件和硬件设计都太复杂。
4.在BS决策过程中,JCCR与那些没有应用JCCT的编码块分开处理。然而,JCCR只是一种特殊的残差编解码方式。因此,这种设计可能会带来额外的复杂性,但没有明显的好处。
5.在色度边缘决策中,QpQ和QpP被设置为等于编解码单元的QpY值,该编解码单元包括分别包含样点q0,0和p0,0的编解码块。然而,在量化/反量化过程中,色度样点的QP是从覆盖当前色度CU的中心位置的对应亮度样点的亮度块的QP推导的。启用双树时,亮度块的不同位置可能会产生不同的QP。因此,在色度去方块过程中,错误的QP可能被用于滤波器决策。这种未对准可能导致视觉假象。在图9A-图9B中示出了一个示例,包括图9A-图9B。在图9A-图9B中,左侧(图9A)是亮度块的对应CTB分割,右侧(图9B)是双树下的色度CTB分割。当确定由CUc1表示的色度块的QP时,首先推导CUc1的中心位置。然后识别CUc1的中心位置的对应亮度样点并且然后与覆盖对应亮度样点的亮度CU(即,CUY3)相关联的亮度QP不被利用以推导CUc1的QP。然而,当对所描绘的三个样点(实心圆)做出滤波器决策时,选择覆盖对应的三个样点的CU的QP。因此,对于1st、2nd和3rd色度样点(如图9B所示),分别使用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的色度去方块可能不适合并行设计。
10.去方块中的色度QP是基于色度反量化过程(例如QP)中使用的QP推导出的,然而,当QP用于去方块过程中时,对于TS和ACT块,QP应该被裁剪或减去5。
11.当BDPCM和ACT都被启用时,三个分量的预测过程可能不同。
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.在一个示例中,色度去方块参数可以取决于以QpQ作为表索引的色度QP表值,其中QpQ是Q侧的亮度QP值。
4.提出色度分量的去方块过程可以基于应用于色度块的量化/反量化的QP。
a.在一个示例中,用于去方块处理的QP可以等于反量化中的QP。
b.在一个示例中,用于去方块处理的QP选择可以取决于TS和/或ACT块的使用指示。
i.在一个示例中,用于去方块过程的QP可以推导如下Max(QpPrimeTsMin,qP)-(cu_act_enabled_flag[xTbY][yTbY]?N:0),其中QpPrimeTsMin是TS块的最小QP,cu_act_enabled_flag是ACT的使用标志。
1.在一个示例中,qP可以是2.8节中给出的Qp′Cb或Qp′Cr
ii.在一个示例中,用于去方块过程的QP可以由Max(QpPrimeTsMin,qP-(cu_act_enabled_flag[xTbY][yTbY]?N:0))推导,其中QpPrimeTsMin是TS块的最小QP并且cu_act_enabled_flag是ACT的使用标志。
1.在一个示例中,qP可以是2.8节中给出的Qp′Cb或Qp′Cr
iii.在上述示例中,对于每个颜色分量,N可以被设置为相同或不同的值。
1.在一个示例中,对于Cb/B/G/U/分量,N可以被设置为5,和/或对于Cr/R/B/V分量,N可以被设置为3。
c.在一个示例中,去方块过程中使用的块的QP可以通过2.8节中描述的过程来推导,其中QP增量(例如,CuQpDeltaVal)等于0。
i.在一个示例中,仅当块的编解码块标志(cbf)等于0时,才可以应用上述推导。
d.在一个示例中,上述示例可以应用于亮度块和/或色度块。
e.在一个示例中,在去方块过程中使用的第一块的QP可以被设置为等于被存储并用于预测第二块的QP。
i.在一个示例中,对于具有全零系数的块,在去方块过程中使用的相关QP可以被设置为等于被存储并用于预测第二块的QP。
5.提出在去方块滤波器决策过程中考虑用于不同编解码方法的图片/条带/片/砖块/子图片级别量化参数偏移。
a.在一个示例中,用于滤波器决策(例如,去方块滤波器过程中的色度边缘决策)的图片/条带/片/砖块/子图片级别量化参数偏移的选择可以取决于每一侧的编解码方法。
b.在一个示例中,需要使用色度块的量化参数的滤波过程(例如,色度边缘决策过程)可以取决于块是否使用JCCR。
i.可替换地,此外,应用于JCCR编解码块的图片/条带级别QP偏移(例如,pps_joint_cbcr_qp_offset)可以在去方块滤波过程中被进一步考虑。
ii.在一个示例中,在某些条件下,用于决定Tc和β设置的cQpPicOffset可以被设置为pps_joint_cbcr_qp_offset,而不是pps_cb_qp_offset或pps_cr_qp_offset:
1.在一个示例中,当P侧或Q侧的块使用JCCR时。
2.在一个示例中,当P或Q侧的两个块都使用JCCR时。
iii.可替换地,此外,滤波过程可以取决于JCCR的模式(例如,模式是否等于2)。
6.需要访问亮度块的解码信息的色度滤波过程(例如,色度边缘决策过程)可以利用与用于在反量化/量化过程中推导色度QP的同一亮度编解码块相关联的信息。
a.在一个示例中,需要使用亮度块的量化参数的色度滤波过程(例如,色度边缘决策过程)可以利用覆盖当前色度CU的中心位置的对应亮度样点的亮度编解码单元。
b.图9A-图9B中描绘了示例,其中,CUY3的解码信息可以用于图9B中的三个色度样点(1st、2nd和3rd)的滤波决策。
7.色度滤波过程(例如,色度边缘决策过程)可以取决于应用于色度块的缩放过程(例如,量化/反量化)的量化参数。
a.在一个示例中,用于推导β和Tc的QP可以取决于应用于色度块的缩放过程的QP。
b.可替换地,此外,用于色度块的缩放过程的QP可能已经考虑了色度CU级别QP偏移。
8.是否调用上述项目符号可以取决于要滤波的样点是在P侧还是Q侧的块中。
a.例如,是使用覆盖当前色度样点的对应亮度样点的亮度编解码块的信息,还是使用覆盖当前色度样点的色度编解码块的中心位置的对应亮度样点的亮度编解码块的信息,可以取决于块位置。
i.在一个示例中,如果当前色度样点在Q侧的块中,则可以使用覆盖当前色度样点的色度编解码块的中心位置的覆盖相应亮度样点的亮度编解码块的QP信息。
ii.在一个示例中,如果当前色度样点在P侧的块中,那么可使用覆盖色度样点的对应亮度样点的亮度编解码块的QP信息。
9.去方块中使用的色度QP可以取决于对应变换块的信息。
a.在一个示例中,P侧的去方块的色度QP可以取决于P侧的变换块的模式。
i.在一个示例中,用于P侧的去方块的色度QP可以取决于P侧的变换块是否应用JCCR编解码。
ii.在一个示例中,用于P侧的去方块的色度QP可以取决于P侧的变换块是否用joint_cb_cr模式编解码且JCCR模式等于2。
b.在一个示例中,用于Q侧的去方块的色度QP可以取决于Q侧的变换块的模式。
i.在一个示例中,用于Q侧的去方块的色度QP可以取决于Q侧的变换块是否应用JCCR编解码。
ii.在一个示例中,用于Q侧的去方块的色度QP可以取决于Q侧的变换块是否应用JCCR编解码且JCCR模式等于2。
10.可以在编解码单元中信令通知色度QP。
a.在一个示例中,当编解码单元尺寸大于最大变换块尺寸(即,maxTB)时,可在CU级别中信令通知色度QP。或者,可以在TU级别中信令通知色度QP。
b.在一个示例中,当编解码单元尺寸大于VPDU的尺寸时,可以在CU级别中信令通知色度QP。或者,可以在TU级别中信令通知色度QP。
11.可以在编解码单元级别指示块是否是joint_cb_cr模式。
a.在一个示例中,变换块是否为joint_cb_cr模式可以继承包含该变换块的编解码单元的信息。
12.去方块中使用的色度QP可以取决于缩放过程中使用的色度QP减去由于位深度导致的QP偏移。
a.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含P侧的第一样点(即p0,0)的变换块,P侧的去方块中使用的色度QP被设置为缩放过程中使用的JCCR色度QP,即Qp’CbCr减去QpBdOffsetC。
b.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含P侧的第一样点(即p0,0)的变换块,P侧的去方块中使用的色度QP被设置为缩放过程中使用的Cb色度QP,即Qp’Cb减去QpBdOffsetC。
c.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含P侧的第一样点(即p0,0)的变换块,P侧的去方块中使用的色度QP被设置为缩放过程中使用的Cr色度QP,即Qp’Cr减去QpBdOffsetC。
d.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含Q侧的最后样点(即q0,0)的变换块,Q侧的去方块中使用的色度QP被设置为缩放过程中使用的JCCR色度QP,即Qp’CbCr减去QpBdOffsetC。
e.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含Q侧的最后样点(即q0,0)的变换块,Q侧的去方块中使用的色度QP被设置为缩放过程中使用的Cb色度QP,即Qp’Cb减去QpBdOffsetC。
f.在一个示例中,当TuCResMode[xTb][yTb]等于2时,其中(xTb,yTb)表示包含Q侧的最后样点(即q0,0)的变换块,Q侧的去方块中使用的色度QP被设置为缩放过程中使用的Cr色度QP,即Qp’Cr减去QpBdOffsetC。
13.不同的颜色分量可以具有不同的去方块强度控制。
a.在一个示例中,每个分量可以具有其pps_beta_offset_div2、pps_tc_offset_div2和/或pic_beta_offset_div2、pic_tc_offset_div2和/或slice_beta_offset_div2、slice_tc_offset_div2。
b.在一个示例中,对于joint_cb_cr模式,可在PPS和/或图片标头和/或条带标头中应用一组不同的beta_offset_div2、tc_offset_div2。
14.考虑到不同级别的偏移,可以累加去方块控制偏移,而不是使用覆盖机制。
a.在一个示例中,pps_beta_offset_div2和/或pic_beta_offset_div2和/或slice_beta_offset_div2可以被累加以获得条带级别的去方块偏移。
b.在一个示例中,pps_tc_offset_div2和/或pic_tc_offset_div2和/或slice_tc_offset_div2可以被累加以获得条带级别的去方块偏移。
关于QP设置
15.提出在条带/片/砖块/子图片级别信令通知启用块级别色度QP偏移的指示(例如,slice_cu_chroma_qp_offset_enabled_flag)。
a.可替换地,可以有条件地信令通知这种指示。
i.在一个示例中,可以在JCCR使能标志的条件下信令通知它。
ii.在一个示例中,可以在图片级别中的块级别色度QP偏移启用标志的条件下信令通知它。
iii.可替换地,可以替代地推导这样的指示。
b.在一个示例中,仅当色度QP偏移的PPS标志(例如,slice_cu_chroma_qp_offset_enabled_flag)为真时,可以信令通知slice_cu_chroma_qp_offset_enabled_flag。
c.在一个示例中,仅当色度QP偏移的PPS标志(例如,slice_cu_chroma_qp_offset_enabled_flag)为假时,slice_cu_chroma_qp_offset_enabled_flag可以被推断为假。
d.在一个示例中,是否在块上使用色度QP偏移可以基于PPS级别和/或条带级别的色度QP偏移的标志。
16.对于具有不同模式的JCCR编解码块,在缩放过程(量化/反量化)中使用相同的QP推导方法。
a.在一个示例中,对于具有模式1和模式3的JCCR,QP取决于在图片/条带级别中信令通知的QP偏移(例如,pps_cbcr_qp_offset、slice_cbcr_qp_offset)。
滤波程序
17.除了第一颜色分量之外的所有颜色分量的去方块可以遵循第一颜色分量的去方块过程。
a.在一个示例中,当颜色格式是4:4:4时,第二分量和第三分量的去方块过程可以遵循第一分量的去方块过程。
b.在一个示例中,当颜色格式在RGB颜色空间中是4:4:4时,第二分量和第三分量的去方块过程可以遵循第一分量的去方块过程。
c.在一个示例中,当颜色格式是4:2:2时,第二分量和第三分量的垂直去方块处理可以遵循第一分量的垂直去方块处理。
d.在以上示例中,去方块过程可以指去方块决策过程和/或去方块滤波过程。
18.如何计算去方块滤波过程中使用的梯度可以取决于编解码模式信息和/或量化参数。
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
l.标准的配置文件/级别/层次
m.可替换地,可以将N信令通知给解码器
关于边界强度推导
19.提出在边界强度决策过程中将JCCR编解码块视为那些非JCCR编解码块。
a.在一个示例中,边界强度(BS)的确定可以独立于对P侧和Q侧的两个块的JCCR使用的检查。
b.在一个示例中,可以确定块的边界强度(BS)而不管该块是否用JCCR进行编解码。
20.提出推导边界强度(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].y)>Th||Abs(MVP[1].x-MVQ[1].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].y)>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或帧间)编解码。
关于亮度去方块滤波过程
21.去方块可以对TS编解码块和非TS编解码块使用不同的QP。
a.在一个示例中,TS的QP可以用在TS编解码的块上,而非TS的QP可以用在非TS编解码的块上。
22.亮度滤波过程(例如,亮度边缘决策过程)可以取决于应用于亮度块的缩放过程的量化参数。
b.在一个示例中,用于推导β和Tc的QP可以取决于变换跳跃的裁剪范围,例如,如QpPrimeTsMin所指示的。
23.提出对大块边界和较小块边界使用相同的梯度计算。
c.在一个示例中,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.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
h.编解码树结构(如双树或单树)
i.条带/条带组类型和/或图片类型
j.颜色分量(例如,可以仅适用于Cb或Cr)
k.时域层ID
l.标准的配置文件/级别/层次
m.可替换地,可以将beta信令通知给解码器
关于缩放矩阵(反量化矩阵)
24.量化矩阵的特定位置的值可以被设置为常数。
a.在一个示例中,位置可以是(x,y)的位置,其中x和y是两个整数变量(例如,x=y=0),并且(x,y)是相对于TU/TB/PU/PB/CU/CB的坐标。
i.在一个示例中,该位置可以是DC的位置。
b.在一个示例中,常数值可以是16。
c.在一个示例中,对于那些位置,可以不使用矩阵值的信令通知。
25.可以设置一个约束,即量化矩阵的一些位置的平均值/加权平均值可以是常数。
a.在一个示例中,去方块过程可以取决于常数值。
b.在一个示例中,常数值可以在DPS/VPS/SPS/PPS/条带/图片/片/砖块标头中指示。
26.可以在图片标头中信令通知一个或多个指示,以通知在与图片标头相关联的图片中要选择的缩放矩阵。
关于跨分量自适应环路滤波器(CCALF)
27.CCALF可以在解码器的一些环路滤波过程之前应用
a.在一个示例中,可以在解码器处的去方块处理之前应用CCALF。
b.在一个示例中,可以在解码器处的SAO之前应用CCALF。
c.在一个示例中,可以在解码器处的ALF之前应用CCALF。
d.可替换地,不同滤波器(例如,CCALF、ALF、SAO、去方块滤波器)的顺序可以不固定。
i.在一个示例中,CCLAF的调用可在一个视频单元的一个滤波过程之前或在另一视频单元的另一滤波过程之后。
ii.在一个示例中,视频单元可以是CTU/CTB/条带/片/砖块/图片/序列。
e.可替换地,不同滤波器(例如,CCALF、ALF、SAO、去方块滤波器)的顺序的指示可以被即时信令通知或推导。
i.可替换地,调用CCALF的指示可以被即时信令通知或导出。
f.关于如何控制CCALF的显式(例如,从编码器到解码器的信令通知)或隐式(例如,在编码器和解码器处推导)指示可以针对不同的颜色分量(诸如Cb和Cr)被解耦。
g.是否和/或如何应用CCALF可以取决于颜色格式(诸如RGB和YCbCr)和/或颜色采样格式(诸如4:2:0、4:2:2和4:4:4),和/或颜色下采样位置或相位。
关于色度QP偏移列表
28.色度QP偏移列表的信令通知和/或选择可以取决于编解码预测模式/图片类型/条带或片或砖块类型。
a.对于不同的编解码模式,色度QP偏移列表,例如cb_qp_offset_list[i]、cr_qp_offset_list[i]和joint_cbcr_qp_offset_list[i]可以不同。
b.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以帧内模式编解码。
c.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以帧间模式编解码。
d.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以调色板模式编解码。
e.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以IBC模式编解码。
f.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以变换跳过模式编解码。
g.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是否以BDPCM模式编解码。
h.在一个示例中,是否以及如何应用色度QP偏移列表可以取决于当前块是以transform_quant_skip还是以无损模式编解码。
关于CTU边界处的色度去方块
29.如何选择去方块滤波过程中使用的QP(例如,使用对应的亮度或色度反量化QP)可以取决于样点相对于CTU/CTB/VPDU边界的位置。
30.如何选择去方块滤波过程中使用的QP(例如,使用对应的亮度或色度反量化QP)可以取决于颜色格式(例如RGB和YCbCr)和/或颜色采样格式(例如4:2:0、4:2:2和4:4:4),和/或颜色下采样位置或相位。
31.对于CTU边界处的边缘,去方块可以基于对应块的亮度QP。
a.在一个示例中,对于CTU边界处的水平边缘,去方块可以基于对应块的亮度QP。
i.在一个示例中,去方块可以基于P侧的对应块的亮度QP。
ii.在一个示例中,去方块可以基于Q侧的对应块的亮度QP。
b.在一个示例中,对于CTU边界处的垂直边缘,去方块可以基于对应块的亮度QP。
i.在一个示例中,去方块可以基于P侧的对应块的亮度QP。
ii.在一个示例中,去方块可以基于Q侧的对应块的亮度QP。
c.在一个示例中,对于CTU边界处的边缘,去方块可以基于P侧的亮度QP和Q侧的色度QP。
d.在一个示例中,对于CTU边界处的边缘,去方块可以基于Q侧的亮度QP和P侧的色度QP。
e.在此项目符号中,“CTU边界”可以指特定的CTU边界,诸如CTU上边界或CTU下边界。
32.对于CTU边界处的水平边缘,去方块可以基于P侧的色度QP的函数。
a.在一个示例中,去方块可以基于P侧的色度QP的平均函数。
i.在一个示例中,函数可基于每8个亮度样点的色度QP的平均值。
ii.在一个示例中,函数可以基于每16个亮度样点的色度QP的平均值。
iii.在一个示例中,函数可以基于每32个亮度样点的色度QP的平均值。
iv.在一个示例中,函数可以基于每64个亮度样点的色度QP的平均值。
v.在一个示例中,函数可以基于每个CTU的色度QP的平均值。
b.在一个示例中,去方块可以基于P侧的色度QP的最大函数。
i.在一个示例中,函数可以基于每8个亮度样点的色度QP的最大值。
ii.在一个示例中,函数可以基于每16个亮度样点的色度QP的最大值。
iii.在一个示例中,函数可以基于每32个亮度样点的色度QP的最大值。
iv.在一个示例中,函数可以基于每64个亮度样点的色度QP的最大值。
v.在一个示例中,函数可以基于每个CTU的色度QP的最大值。
c.在一个示例中,去方块可以基于P侧的色度QPs的最小函数。
i.在一个示例中,函数可以基于每8个亮度样点的色度QP的最小值。
ii.在一个示例中,函数可以基于每16个亮度样点的色度QP的最小值。
iii.在一个示例中,函数可以基于每32个亮度样点的色度QP的最小值。
iv.在一个示例中,函数可以基于每64个亮度样点的色度QP的最小值。
v.在一个示例中,函数可以基于每个CTU的色度QP的最小值。
d.在一个示例中,去方块可以基于P侧的色度QP的子采样函数。
i.在一个示例中,函数可以基于每8个亮度样点的第k个色度样点的色度QP。
1.在一个示例中,第k个样点可以是第一个样点。
2.在一个示例中,第k个样点可以是最后一个样点。
3.在一个示例中,第k个样点可以是第三个样点。
4.在一个示例中,第k个样点可以是第四个样点。
ii.在一个示例中,函数可基于每16个亮度样点的第k个色度样点的色度QP。
1.在一个示例中,第k个样点可以是第一个样点。
2.在一个示例中,第k个样点可以是最后一个样点。
3.在一个示例中,第k个样点可以是第7个样点。
4.在一个示例中,第k个样点可以是第8个样点。
iii.在一个示例中,函数可以基于每32个亮度样点的第k个色度样点的色度QP。
1.在一个示例中,第k个样点可以是第一个样点。
2.在一个示例中,第k个样点可以是最后一个样点。
3.在一个示例中,第k个样点可以是第15个样点。
4.在一个示例中,第k个样点可以是第16个样点。
iv.在一个示例中,函数可以基于每64个亮度样点的第k个色度样点的色度QP。
1.在一个示例中,第k个样点可以是第一个样点。
2.在一个示例中,第k个样点可以是最后一个样点。
3.在一个示例中,第k个样点可以是第31个样点。
4.在一个示例中,第k个样点可以是第32个样点。
v.在一个示例中,函数可以基于每个CTU的第k个色度样点的色度QP。
e.可替换地,上述项目可以应用于Q侧的色度QP以进行去方块处理。
33.可以限制色度分量的量化组必须大于某个尺寸。
a.在一个示例中,可以约束色度分量的量化组的宽度必须大于某个值K。
i.在一个示例中,K等于4。
34.可以约束亮度分量的量化组必须大于某个尺寸。
a.在一个示例中,可约束亮度分量的量化群组的宽度必须大于某一值K。
i.在一个示例中,K等于8。
35.可以约束色度分量的QP对于相对于图片左上从(4*m*x,2y)开始的长度为4*m的色度行段可以是相同的,其中x和y是非负整数;并且m是正整数。
a.在一个示例中,m可以等于1。
b.在一个示例中,色度分量的量化组的宽度必须不小于4*m
36.可以约束色度分量的QP对于相对于图片左上从(2*x,4*n*y)开始的长度为4*n的色度列段可以是相同的,其中x和y是非负整数;并且m是正整数。
a.在一个示例中,n可以等于1。
b.在一个示例中,色度分量的量化组的高度必须不小于4*n。
关于色度去方块滤波过程
37.取决于在第二视频单元(例如SPS或PPS或VPS)中信令通知的第二语法元素,可以在第一视频单元(例如图片标头)中信令通知控制编解码工具X的使用的第一语法元素。
a.在一个示例中,仅当第二语法元素指示编解码工具X被启用时,才信令通知第一语法元素。
b.在一个示例中,X是双向光流(BDOF)。
c.在一个示例中,X是预测细化光流(PROF)。
d.在一个示例中,X是解码器侧运动矢量细化(DMVR)。
e.在一个示例中,编解码工具X的使用的信令通知可以基于条带类型(例如,P或B条带;非I条带)的条件检查。
关于色度去方块滤波过程
38.对两个色度块的去方块滤波器决策过程可以被统一为仅被调用一次,并且该决策被应用于两个色度块。
b.在一个示例中,对于Cb和Cr分量,是否执行去方块滤波的决策可以是相同的。
c.在一个示例中,如果确定要应用去方块滤波,则对于Cb和Cr分量,是否执行更强去方块滤波的决策可以是相同的。
d.在一个示例中,如2.2.7节所述,去方块条件和强滤波器开/关条件可以仅被检查一次。然而,它可以被修改以检查两个色度分量的信息。
i.在一个示例中,Cb和Cr分量的梯度的平均值可以用于Cb和Cr分量的上述决策中。
ii.在一个示例中,仅当Cb和Cr分量都满足强滤波条件时,才执行色度更强滤波。
1.可替换地,在一个示例中,仅当至少一个色度分量不满足强滤波条件时才执行色度弱滤波。
关于ACT
39.去方块QP是否等于反量化QP可以取决于ACT是否适用。
a.在一个示例中,当ACT被应用于块时,去方块QP值可以取决于ACTQP调整之前的QP值。
b.在一个示例中,当ACT没有被应用于块时,去方块QP值可以总是等于反量化QP值。
c.在一个示例中,当ACT和TS都没有被应用于块时,去方块QP值可以总是等于反量化QP值。
40.ACT和BDPCM可专门应用于块级别。
a.在一个示例中,当ACT被应用于块时,亮度BDPCM不应被应用于该块。
b.在一个示例中,当ACT被应用于块时,色度BDPCM不应被应用于该块。
c.在一个示例中,当ACT被应用于块时,亮度和色度BDPCM都不应被应用于该块。
d.在一个示例中,当亮度和/或色度BDPCM被应用于块时,ACT不应被应用于该块。
41.可以基于ACT(例如,cu_act_enabled_flag)的使用来推断是否启用BDPCM模式。
a.在一个示例中,色度BDPCM模式的推断值可以被定义为(cu_act_enabled_flag&&intra_bdpcm_luma_flag&&sps_bdpcm_chroma_enabled_flag?true:false)。
b.在一个示例中,如果sps_bdpcm_chroma_enabled_flag为假,则当intra_bdpcm_luma_flag未被信令通知并且cu_act_enabled_flag为真时,可以将intra_bdpcm_luma_flag推断为假。
c.在一个示例中,当intra_bdpcm_luma_flag为真并且sps_bdpcm_chroma_enabled_flag为假时,cu_act_enabled_flag可以被推断为假。
d.在一个示例中,当cu_act_enabled_flag为真并且sps_bdpcm_chroma_enabled_flag为假时,intra_bdpcm_luma_flag可以被推断为假。
通用要求
42.上面提出的方法可以在某些条件下应用。
a.在一个示例中,条件是颜色格式是4:2:0和/或4:2:2。
i.或者,此外,对于4:4:4颜色格式,如何将去方块滤波器应用于两个颜色色度分量可以遵循当前的设计。
b.在一个示例中,可以在序列/图片/条带/片/砖块/视频区域级别(例如SPS/PPS/图片标头/条带标头)中信令通知上述方法的使用的指示。
c.在一个示例中,上述方法的使用可以取决于
i.视频内容(例如,屏幕内容或自然内容)
ii.在DPS/SPS/VPS/PPS/APS/图片标头/条带标头/片组标头/最大编解码单元(LCU)/编解码单元(CU)/LCU行/LCU组/TU/PU块/视频编解码单元中信令通知的消息
iii.CU/PU/TU/块/视频编解码单元的位置
a.在一个示例中,为了沿着CTU/CTB边界(例如,第一个K(例如,K=4/8)到顶部/左侧/右侧/底部边界)滤波样点,可以应用现有的设计。而对于其他样点,可以采用提出的方法(例如,项目符号3/4)来代替。
iv.包含沿边缘的样点的块的编解码模式
v.应用于包含沿边缘的样点的块的变换矩阵
vi.当前块和/或其相邻块的块维度/块形状
vii.颜色格式的指示(诸如4:2:0、4:4:4、RGB或YUV)
viii.编解码树结构(如双树或单树)
ix.条带/条带组类型和/或图片类型
x.颜色分量(例如,可以仅适用于Cb或Cr)
xi.时域层ID
xii.标准的配置文件/级别/层次
xiii.可替换地,可以将m和/或n信令通知给解码器
5.附加实施例
这些实施例基于JVET-O2001-vE。新添加的文本以下划线粗体斜体显示。删除的文本用下划线粗体标出。
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被设置为等于编解码单元的QpY值,该编解码单元包括分别包含样点q0,0和p0,0的编解码块。
变量QpC的推导如下:
Figure BDA0003722499850000461
qPi=(QpQ+QpP+1)>>1 (8-1132)
QpC=ChromaQpTable[cIdx-1][qPi]+cQpPicOffset (8-1133)
注意–变量cQpPicOffset根据滤波后的色度分量是Cb还是Cr分量,调整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的值的调整。
变量β′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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)
变量tC′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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,
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定当前编解码块的颜色分量的变量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_cbcr_residual_flag等于1的变换单元中,则bS[xDi][yDj]被设置为等于1。
–否则,如果包含样点p0的编解码子块的预测模式不同于包含样点q0的编解码子块的预测模式(即,一个编解码子块以IBC预测模式编码,另一个以帧间预测模式编码),则bS[xDi][yDj]被设置为等于1。
–否则,如果cIdx等于0,并且以下一个或多个条件为真,则bS[xDi][yDj]被设置为等于1:
Figure BDA0003722499850000481
Figure BDA0003722499850000491
Figure BDA0003722499850000501
–否则,变量bS[xDi][yDj]被设置为等于0。
5.3.关于边界强度推导的实施例#3
8.8.3.6边界滤波强度的推导过程
该过程的输入是:
–图片样点数组recPicture,
–指定当前编解码块的左上样点相对于当前图片的左上样点的位置(xCb,yCb),
–指定当前编解码块宽度的变量nCbW,
–指定当前编解码块高度的变量nCbH,
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定当前编解码块的颜色分量的变量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。
Figure BDA0003722499850000511
–否则,如果包含样点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),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定边界滤波强度的变量bS,
–指定最大滤波器长度的变量maxFilterLengthP,
–指定最大滤波器长度的变量maxFilterLengthQ。
该过程的输出是:
–包含决策的变量dE、dEp和dEq,
–修改的滤波器长度变量maxFilterLengthP和maxFilterLengthQ,
–变量tC
适用以下有序步骤:
1.当sidePisLargeBlk或sideQisLargeBlk大于0时,适用以下:
a.变量dp0L、dp3L被推导,并且maxFilterLengthP被修改如下:
Figure BDA0003722499850000531
b.变量dq0L和dq3L的推导如下:
Figure BDA0003722499850000541
2.变量dE、dEp和dEq的推导如下:
5.5.关于色度去方块滤波处理的实施例#5
8.8.3.6.3色度块边缘的决策过程
只有当ChromaArrayType不等于0时,才会调用此过程。
该过程的输入是:
–色度图片样点数字recPicture,
–指定当前色度编解码块的左上样点相对于当前图片的左上色度样点的色度位置(xCb,yCb),
–指定当前色度块的左上样点相对于当前色度编解码块的左上样点的色度位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定颜色分量索引的变量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)
Figure BDA0003722499850000551
Figure BDA0003722499850000561
变量β′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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)
变量tC′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定颜色分量索引的变量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)
变量QpQ和QpP被设置为等于编解码单元的QpY值,该编解码单元包括分别包含样点q0,0和p0,0的编解码块。
Figure BDA0003722499850000581
变量QpC得推导如下:
Figure BDA0003722499850000591
QpC=ChromaQpTable[cIdx-1][qPi] (8-1133)
注意–变量cQpPicOffset根据滤波后的色度分量是cb还是cr分量,调整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+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)
Figure BDA0003722499850000601
变量QpC的推导如下:
qPi=Clip3(0,63,((QpQ+QpP+1)>>1)+cQpPicOffset) (8-1132)
QpC=ChromaQpTable[cIdx-1][qPi] (8-1133)
注意–变量cQpPicOffset根据滤波后的色度分量是Cb还是Cr分量,调整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的值的调整。
变量β′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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)
变量tC′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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与如何选择用于色度滤波器决策过程的亮度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]
Figure BDA0003722499850000621
则适用以下:
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一个方向的去方块滤波过程
该过程的输入是:
–指定当前是处理亮度分量(DUAL_TREE_LUMA)还是色度分量(DUAL_TREE_CHROMA)的变量treeType,
–当treeType等于DUAL_TREE_LUMA时,去方块之前的重建图片,即数组recPictureL
–当ChromaArrayType不等于0且treeType等于DUAL_TREE_CHROMA时,数组recPictureCb和recPictureCr
–指定是过滤垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)的变量edgeType。
该过程的输出是去方块后的修改的重建图片,即:
–当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指示的编码解单元的每个颜色分量的每个编解码单元和每个编解码块具有编解码块宽度nCbW、编解码块高度nCbH和编解码块的左上样点的位置(xCb,yCb),其中cIdx范围从firstCompIdx到lastCompIdx,包括firstCompIdx和lastCompIdx,当cIdx等于0时,或者当cIdx不等于0且edgeType等于EDGE_VER并且xCb%8等于0时,或者当cIdx不等于0且edgeType等于EDGE_HOR且yCb%8等于0时,通过以下有序步骤对边缘进行滤波:
5.图片样点数组recPicture的推导如下:
Figure BDA0003722499850000641
Figure BDA0003722499850000642
针对一个方向的边缘滤波过程被调用用于编解码块,如条款8.8.3.6中所指定的,变量edgeType、变量cIdx、去方块之前的重建图片recPicture、位置(xCb,yCb)、编解码块宽度nCbW、编解码块高度nCbH以及数组bS、maxFilterLengthPs和maxFilterLengthQs作为输入,修改后的重建图片recPicture作为输出。
8.8.3.5边界滤波强度的推导过程
该过程的输入是:
–图片样点数组recPicture,
–指定当前编解码块的左上样点相对于当前图片的左上样点的位置(xCb,yCb),
–指定当前编解码块宽度的变量nCbW,
–指定当前编解码块高度的变量nCbH,
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定当前编解码块的颜色分量的变量cIdx,
–二维(nCbW)x(nCbH)数组。
该过程的输出是指定边界过滤强度的二维(nCbW)x(nCbH)数组bS。变量xDi、yDj、xN和yN的推导如下:
对于xDi和yDj,i=0..xN并且j=0..yN,适用以下:
–如果edgeFlags[xDi][yDj]等于0,则变量bS[xDi][yDj]被设置为等于0。
–否则,适用以下:
–样点值p0和q0的推导如下:
–如果edgeType等于EDGE_VER,则p0被设置等于为
Figure BDA0003722499850000651
并且q0被设置为等于
Figure BDA0003722499850000652
–否则(edgeType等于EDGE_HOR),p0被设置为等于
Figure BDA0003722499850000653
q0被设置为等于
Figure BDA0003722499850000654
8.8.3.6一个方向的边缘滤波过程
该过程的输入是:
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定当前颜色分量的变量cIdx,
–去方块之前的重建图片recPicture,
–指定当前编码解块的左上样点相对于当前图片的左上样点的位置(xCb,yCb),
–指定当前编解码块宽度的变量nCbW,
–指定当前编解码块高度的变量nCbH,
–指定边界强度的数组bS,
–数组maxFilterLengthPs和maxFilterLengthQs。
该过程的输出是去方块之后的修改的重建图片recPicturei
–否则(cIdx不等于0),对由cIdx指定的当前编解码单元的色度编解码块中的边缘的滤波过程包括以下有序步骤:
1.变量cQpPicOffset的推导如下:
Figure BDA0003722499850000661
3.调用条款8.8.3.6.3中指定的色度块边缘的决策过程,将色度图片样点数组recPicture、色度编解码块的位置(xCb,yCb)、设置为等于(xDk,yDm)的色度块的位置(xBl,yBl)、边缘方向edgeType、
Figure BDA0003722499850000662
变量cQpPicOffset、边界滤波强度bS[xDk][yDm]以及设置为等于maxFilterLengthPs[xDk][yDm]的变量maxFilterLengthCbCr作为输入
4.当maxFilterLengthCbCr大于0时,调用条款8.8.3.6.4中指定的色度块边缘的滤波过程,色度图片样点数组recPicture、色度编码块的位置(xCb,yCb)、设置为等于(xDk,yDm)的块的色度位置(xBl,yBl)、边缘方向edgeType、变量maxFilterLengthCbCr和
Figure BDA0003722499850000663
作为输入,变量tC作为输入,修改后的色度图片样点数组recPicture作为输出。
Figure BDA0003722499850000664
Figure BDA0003722499850000671
8.8.3.6.3色度块边缘的决策过程
只有当ChromaArrayType不等于0时,才会调用此过程。
该过程的输入是:
–色度图片样点数组recPicture,
–指定当前色度编解码块的左上样点相对于当前图片的左上色度样点的色度位置(xCb,yCb),
–指定当前色度块的左上样点相对于当前色度编解码块的左上样点的色度位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
Figure BDA0003722499850000672
–指定图片级别色度量化参数偏移的变量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的推导如下,其中
Figure BDA0003722499850000673
i=0..maxFilterLengthCbCr并且k=0..maxK:
–如果edgeType等于EDGE_VER,则适用以下:
Figure BDA0003722499850000674
Figure BDA0003722499850000681
subSampleC=SubHeightC (8-1128)
–否则(edgeType等于EDGE_HOR),适用以下:
Figure BDA0003722499850000682
Figure BDA0003722499850000683
subSampleC=SubWidthC (8-1131)
变量QpQ和QpP被设置为等于编解码单元的QpY值,该编解码单元包括分别包含样点q0,0和p0,0的编解码块。
变量QpC的推导如下:
Figure BDA0003722499850000684
注意–变量cQpPicOffset根据滤波后的色度分量是Cb还是Cr分量,调整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的值的调整。
变量β′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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)
变量tC′的值基于如下推导的量化参数Q如表8-18中指定的那样确定:
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、
Figure BDA0003722499850000691
Figure BDA0003722499850000692
的推导如下,其中
Figure BDA0003722499850000693
n1=(subSampleC==2)?1:3 (8-1138)
Figure BDA0003722499850000694
2.变量d被设置为等于(d0+d1+1)>>1
3.变量dSam0和dSam1都被设置为等于0。
4.当d小于β时,适用以下有序步骤:
a.变量dpq被设置为等于2*dpq0。
b.变量dSam0是通过调用条款8.8.3.6.8中针对样点位置(xCb+xBl,yCb+yBl)指定的色度样点的决策过程而推导的,样点值为p0,0、p3,0、q0,0和q3,0、变量dpq,β和tC作为输入,并且输出被分配给决策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),f或样点位置(xCb+xBl+n1,yCb+yBl),调用条款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),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–包含最大色度滤波器长度的变量maxFilterLengthCbCr,
Figure BDA0003722499850000701
–变量tC。
该过程的输出是修改的色度图片样点数组recPicture。
值pi和qi的推导如下,其中i=0..maxFilterLengthCbCr并且k=0..maxK:
–如果edgeType等于EDGE_VER,则适用以下:
Figure BDA0003722499850000711
Figure BDA0003722499850000712
–否则(edgeType等于EDGE_HOR),适用以下:
Figure BDA0003722499850000713
Figure BDA0003722499850000714
取决于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+xBl-i-1,yCb+yBl+k)和(xCb+xBl+i,yCb+yBl+k)(i=0..maxFilterLengthCbCr–1)和变量tC作为输入,i=0时的滤波样点值pi’和qi’..maxFilterLengthCbCr 1作为输出。
2.滤波样点值pi′和qi′替换样点数组recPicture中的对应样点,其中i=0..maxFilterLengthCbCr-1,如下所示:
Figure BDA0003722499850000715
Figure BDA0003722499850000716
–否则(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中的对应样点,如下所示:
Figure BDA0003722499850000721
Figure BDA0003722499850000722
5.11.实施例#11
8.8.3.6.3色度块边缘的决策过程
Figure BDA0003722499850000723
Figure BDA0003722499850000731
5.12实施例#12
8.8.3.6.3色度块边缘的决策过程
Figure BDA0003722499850000732
Figure BDA0003722499850000741
5.13实施例#13
这些实施例基于JVET-P2001-vE。新添加的文本用粗体斜体下划线标出。删除的文本用粗体下划线标出。
色度块边缘的决策过程
只有当ChromaArrayType不等于0时,才会调用此过程。
该过程的输入是:
–色度图片样点数组recPicture,
–指定当前色度编解码块的左上样点相对于当前图片的左上色度样点的色度位置(xCb,yCb),
–指定当前色度块的左上样点相对于当前色度编解码块的左上样点的色度位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行过滤的变量edgeType,
–指定颜色分量索引的变量cIdx,
–指定边界过滤强度的变量bS,
–指定最大过滤器长度的变量maxFilterLengthP,
–指定最大过滤器长度的变量maxFilterLengthQ。
该过程的输出是
–修改的滤波器长度变量maxFilterLengthP和maxFilterLengthQ,
–变量tC
变量QpP的推导如下:
–亮度位置(xTbP,xTbP)被设置为包含样点p0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbP][yTbP]等于2,则QpP被设置为等于包含样点p0,0的变换块的Qp’CbCr
Figure BDA0003722499850000751
–否则,如果cIdx等于1
Figure BDA0003722499850000752
Figure BDA0003722499850000753
则QpP被设置为等于包含样点p0,0的变换块的Qp’Cb
–否则,QpP被设置为等于包含样点p0,0的变换块的Qp’Cr
Figure BDA0003722499850000754
变量QpQ的推导如下:
–亮度位置(xTbQ,xTbQ)被设置为包含样点q0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbQ][yTbQ]等于2,则QpQ被设置为等于包含样点q0,0的变换块的Qp’CbCr
Figure BDA0003722499850000755
–否则,如果cIdx等于1
Figure BDA0003722499850000756
Figure BDA0003722499850000757
则QpQ被设置为等于包含样点q0,0的变换块的Qp’Cb
–否则,QpQ被设置为等于包含样点q0,0的变换块的Qp’Cr
Figure BDA0003722499850000758
变量QpC的推导如下:
QpC=(QpQ-QpBdOffset+QpP-QpBdOffset+1)>>1 (1321)
5.14实施例#14
这些实施例基于JVET-P2001-vE。新添加的文本用粗体斜体下划线标出。删除的文本用粗体下划线标出。
色度块边缘的决策过程
只有当ChromaArrayType不等于0时,才会调用此过程。
该过程的输入是:
–色度图片样点数组recPicture,
–指定当前色度编解码块的左上样点相对于当前图片的左上色度样点的色度位置(xCb,yCb),
–指定当前色度块的左上样点相对于当前色度编解码块的左上样点的色度位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行过滤的变量edgeType,
–指定颜色分量索引的变量cIdx,
–指定边界过滤强度的变量bS,
–指定最大过滤器长度的变量maxFilterLengthP,
–指定最大过滤器长度的变量maxFilterLengthQ。
该过程的输出是
–修改的滤波器长度变量maxFilterLengthP和maxFilterLengthQ,
–变量tC
变量QpP的推导如下:
–亮度位置(xTbP,xTbP)被设置为包含样点p0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbP][yTbP]等于2,则QpP被设置为等于包含样点p0,0的变换块的Qp’CbCr
Figure BDA0003722499850000771
–否则,如果cIdx等于1
Figure BDA0003722499850000772
Figure BDA0003722499850000773
则QpP被设置为等于包含样点p0,0的变换块的Qp’Cb
–否则,QpP被设置为等于包含样点p0,0的变换块的Qp’Cr
Figure BDA0003722499850000774
变量QpQ的推导如下:
–亮度位置(xTbQ,xTbQ)被设置为包含样点q0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbQ][yTbQ]等于2,则QpQ被设置为等于包含样点q0,0的变换块的Qp’CbCr
Figure BDA0003722499850000775
–否则,如果cIdx等于1
Figure BDA0003722499850000776
Figure BDA0003722499850000777
则QpQ被设置为等于包含样点q0,0的变换块的Qp’Cb
–否则,QpQ被设置为等于包含样点q0,0的变换块的Qp’Cr
Figure BDA0003722499850000778
变量QpC的推导如下:
QpC=(QpQ-QpBdOffset+QpP-QpBdOffset+1)>>1 (1321)
5.15实施例#15
下图17示出了提出的控制逻辑。
7.3.2.6图片标头RBSP语法
Figure BDA0003722499850000779
Figure BDA0003722499850000781
7.3.7.1通用条带标头语法
Figure BDA0003722499850000782
Figure BDA0003722499850000791
5.16实施例#16
7.3.2.4图片参数集RBSP语法
Figure BDA0003722499850000792
7.3.2.6图片标头RBSP语法
Figure BDA0003722499850000793
Figure BDA0003722499850000801
7.3.7.1通用条带标头语法
Figure BDA0003722499850000802
7.4.3.4图片参数集RBSP语义
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定β和tC的默认去方块参数偏移(除以2),其被应用于参考PPS的条带的Cb分量,除非默认去方块参数偏移被参考PPS的条带的条带标头中存在的去方块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定β和tC的默认去方块参数偏移(除以2),其被应用于参考PPS的条带的Cr分量,除非默认去方块参数偏移量被参考PPS的条带的条带标头中存在的去方块参数偏移量覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
7.4.3.6图片标头
pic_cb_beta_offset_div2和pic_cb_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于与PH相关的条带的Cb分量,pic_beta_offset_div2和pic_tc_offset_div2的值应在-6至6范围内,包括端值。当不存在时,pic_beta_offset_div2和pic_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
pic_cr_beta_offset_div2和pic_cb_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于与PH相关的条带的Cr分量,pic_beta_offset_div2和pic_tc_offset_div2的值应在-6至6范围内,包括端值。当不存在时,pic_beta_offset_div2和pic_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
7.4.8.1通用条带标头语义
silce_cb_beta_offset_div2和silce_cb_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于pic_beta_offset_div2和pic_tc_offset_div2。
silce_cr_beta_offset_div2和silce_cr_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于pic_beta_offset_div2和pic_tc_offset_div2。
8.8.3.6.3色度块边缘的决策过程
变量β′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000823
其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β的推导如下:
β=β′*(1<<(BitDepth-8)) (1323)
变量tC′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000824
实施例#17
此实施例基于实施例#15。
7.3.2.4图片参数集RBSP语法
Figure BDA0003722499850000831
7.3.7.1通用条带标头语法
Figure BDA0003722499850000832
Figure BDA0003722499850000841
7.4.3.4图片参数集RBSP语义
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定β和tC的默认去方块参数偏移(除以2),其被应用于参考PPS的条带的Cb分量,除非默认去方块参数偏移被参考PPS的条带的条带标头中存在的去方块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定β和tC的默认去方块参数偏移量(除以2),其被应用于参考PPS的条带的Cr分量,除非默认去方块参数偏移量被参考PPS的条带的条带标头中存在的去方块参数偏移量覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
7.4.8.1通用条带标头语义
silce_cb_beta_offset_div2和silce_cb_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值被推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
silce_cr_beta_offset_div2和silce_cr_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,slice_beta_offset_div2和slice_tc_offset_div2的值推断为分别等于pps_beta_offset_div2和pps_tc_offset_div2。
8.8.3.6.3色度块边缘的决策过程
变量β′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000851
其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β的推导如下:
β=β′*(1<<(BitDepth-8)) (1323)
变量tC′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000852
5.18实施例#18
此实施例基于实施例#17。
7.4.3.4图片参数集RBSP语义
pps_cb_beta_offset_div2和pps_cb_tc_offset_div2指定β和tC的默认去方块参数偏移(除以2),其被应用于当前PPS的Cb分量。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
pps_cr_beta_offset_div2和pps_cr_tc_offset_div2指定β和tC的默认去方块参数偏移(除以2),其被应用于当前PPS的Cr分量。pps_beta_offset_div2和pps_tc_offset_div2的值都应在-6至6的范围内,包括端值。当不存在时,pps_beta_offset_div2和pps_tc_offset_div2的值被推断为等于0。
7.4.8.1通用条带标头语义
slice_cb_beta_offset_div2和slice_cb_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。
slice_cr_beta_offset_div2和slice_cr_tc_offset_div2指定β和tC的去方块参数偏移(除以2),其被应用于当前条带的Cb分量。slice_beta_offset_div2和slice_tc_offset_div2的值都应在-6至6的范围内,包括端值。
8.8.3.6.1亮度块边缘的决策过程
变量β′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000869
其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β的推导如下:
β=β′*(1<<(BitDepth-8)) (1263)
变量tC′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000871
8.8.3.6.3色度块边缘的决策过程
变量β′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000872
其中slice_beta_offset_div2是包含样点q0,0的条带的语法元素slice_beta_offset_div2的值。
变量β的推导如下:
β=β′*(1<<(BitDepth-8)) (1323)
变量tC′的值基于如下推导的量化参数Q如表41中指定的那样确定:
Figure BDA0003722499850000873
Figure BDA0003722499850000881
5.19实施例#19
此实施例与ACT有关。
等于1的intra_bdpcm_chroma_flag指定BDPCM被应用于位置(x0,y0)处的当前色度编解码块,即,变换被跳过,帧内色度预测模式由intra_bdpcm_chroma_dir_flag指定。等于0的intra_bdpcm_chroma_flag指定BDPCM没有被应用于位置(x0,y0)处的当前色度编解码块。
当intra_bdpcm_chroma_flag不存在时,
Figure BDA0003722499850000883
Figure BDA0003722499850000884
变量BdpcmFlag[x][y][cIdx]被设置为等于intra_bdpcm_chroma_flag,x=x0..x0+cbWidth–1,y=y0..y0+cbHeight–1并且cIdx=1..2。
等于0的intra_bdpcm_chroma_dir_flag指定BDPCM预测方向是水平的。等于1的intra_bdpcm_chroma_dir_flag指定BDPCM预测方向是垂直的。
Figure BDA0003722499850000886
变量BdpcmDir[x][y][cIdx]被设置为等于intra_bdpcm_chroma_dir_flag,x=x0..x0+cbWidth–1,y=y0..y0+cbHeight–1并且cIdx=1..2。
实施例#20
此实施例涉及去方块的QP推导。
8.8.3.6.1亮度块边缘的决策过程
该过程的输入是:
–图片样点数组recPicture,
–指定当前编解码块的左上样点相对于当前图片的左上样点的位置(xCb,yCb),
–指定当前块的左上样点相对于当前编解码块的左上样点的位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定边界滤波强度的变量bS,
–指定最大滤波器长度的变量maxFilterLengthP,
–指定最大滤波器长度的变量maxFilterLengthQ。
该过程的输出是:
–包含决策的变量dE、dEp和dEq,
–修改的滤波器长度变量maxFilterLengthP和maxFilterLengthQ,
–变量tC
Figure BDA0003722499850000891
8.8.3.6.3色度块边缘的决策过程
只有当ChromaArrayType不等于0时,才会调用此过程。
该过程的输入是:
–图片样点数组recPicture,
–指定当前编解码块的左上样点相对于当前图片的左上样点的位置(xCb,yCb),
–指定当前块的左上样点相对于当前编解码块的左上样点的位置(xBl,yBl),
–指定是对垂直边缘(EDGE_VER)还是水平边缘(EDGE_HOR)进行滤波的变量edgeType,
–指定颜色分量索引的变量cIdx,
–指定边界滤波强度的变量bS,
–指定最大滤波器长度的变量maxFilterLengthP,
–指定最大滤波器长度的变量maxFilterLengthQ。
该过程的输出是:
–修改的滤波器长度变量maxFilterLengthP和maxFilterLengthQ,
–变量tC
变量QpP的推导如下:
–亮度位置(xTbP,xTbP)被设置为包含样点p0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbP][yTbP]等于2,则QpP被设置为等于包含样点p0,0的变换块的Qp’CbCr
–否则,如果cIdx等于1,则QpP被设置为等于包含样点p0,0的变换块的Qp’Cb
–否则,QpP被设置为等于包含样点p0,0的变换块的Qp’Cr
Figure BDA0003722499850000901
变量QpQ的推导如下:
–亮度位置(xTbQ,xTbQ)被设置为包含样点q0,0的变换模块的左上亮度样点相对于图片的左上亮度样点的位置。
–如果TuCResMode[xTbQ][yTbQ]等于2,则QpQ被设置为等于包含样点q0,0的变换块的Qp’CbCr
–否则,如果cIdx等于1,则QpQ被设置为等于包含样点q0,0的变换块的Qp’Cb
–否则,QpQ被设置为等于包含样点q0,0的变换块的Qp’Cr
Figure BDA0003722499850000911
变量QpC的推导如下:
QpC=(QpQ-QpBdOffset+QpP-QpBdOffset+1)>>1(1321)
6.所公开技术的示例实现
图12是视频处理装置1200的框图。装置1200可以用于实现本文描述的一种或多种方法。装置1200可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置1200可以包括一个或多个处理器1202、一个或多个存储器1204和视频处理硬件1206。处理器(或多个)1202可以被配置为实现本文档中描述的一种或多种方法。存储器(或多个)1204可以用于存储用于实现本文所述方法和技术的数据和代码。视频处理硬件1206可以用于在硬件电路中实现本文档中描述的一些技术,并且可以部分或完全是处理器1202(例如,图形处理器核心GPU或其他信号处理电路)的一部分。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可以,例如与共位的或散布在比特流内不同位置的比特相对应。例如,可以根据经变换和编码的误差残差值,并且还使用比特流中的标头和其他字段中的比特,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从比特流表示中包括或排除语法字段来相应地生成比特流表示。
应当理解,通过允许使用本文档中公开的技术,所公开的方法和技术将有益于结合在视频处理设备中的视频编码器和/或解码器实施例,视频处理设备诸如智能手机、膝上型电脑、台式电脑和类似设备。
图13是视频处理的示例方法1300的流程图。方法1300包括,在1310,执行视频单元和视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得当使用色度量化参数(QP)表来推导去方块滤波器的参数时,通过色度QP表对各个色度QP值执行处理。
图18是图示可以利用本发明的技术的示例视频编解码系统100的框图。
如图18所示,视频编解码系统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的外部,目的设备120被配置为与外部显示设备接口。
视频编码器114和视频解码器124可以根据视频压缩标准操作,诸如高效视频编解码(HEVC)标准、通用视频编解码(VVM)标准和其他当前和/或进一步的标准。
图19是图示视频编码器200的示例的框图,视频编码器200可以是图18所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图19的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置位执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、可以包括模式选择单元203的预测单元202、运动估计单元204、运动补偿单元205和帧内预测单元206、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但出于解释目的而在图19的示例中单独表示。
分割单元201可以将图片分割成一个或一个以上视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以,例如基于错误结果选择编解码模式——帧内或帧间,并且将所得帧内或帧间编解码块提供到残差生成单元207以生成残差块数据,并且提供到重建单元212以重建编码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测(CIIP)模式的组合,在其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动矢量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或一个以上参考帧与当前视频块进行比较来生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的除了与当前视频块相关联的图片之外的图片的运动信息和解码样点来确定当前视频块的预测视频块。
运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作,例如,取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后运动估计单元204可以生成指示包含参考视频块的列表0或列表1中的参考图片的参考索引和指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其它示例中,运动估计单元204可以对当前视频块执行双向预测,运动估计单元204可以在列表0中的参考图片中搜索当前视频块的参考视频块,并且还可在列表1中的参考图片中搜索当前视频块的另一参考视频块。然后运动估计单元204可以生成指示包含参考视频块的列表0或列表1中的参考图片的参考索引和指示当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出当前视频块的参考索引和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来产生当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整运动信息。
在一些示例中,运动估计单元204可以不输出当前视频的完整运动信息集。相反,运动估计单元204可以参考另一视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量和所指示的视频块的运动矢量之间的差。视频解码器300可以使用所指示的视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所述,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块执行帧内预测时,帧内预测单元206可以基于同一图片中的其它视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测的视频块和各种语法元素。
残差生成单元207可以通过从当前视频块减去(例如,由负号指示)当前视频块的预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括与当前视频块中样点的不同样点分量相对应的残差视频块。
在其它示例中,当前视频块可以没有当前视频块的残差数据,例如在跳过模式中,并且残差产生单元207可以不执行减法操作。
变换处理单元208可以通过将一个或一个以上变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或一个以上变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或一个以上量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或一个以上预测视频块的对应样点,以生成与当前块相关联的重建视频块,用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以执行一个或多个熵编码操作以生成熵编码的数据并输出包括熵编码的数据的比特流。
所公开的技术的一些实施例包括做出决定或确定以启用视频处理工具或模式。在一实例中,当启用视频处理工具或模式时,编码器将在视频块的处理中使用或实施所述工具或模式,但可能不一定基于工具或模式的使用来修改所得位流。也就是说,当基于决定或确定启用视频处理工具或模式时,从视频块到视频的比特流表示的转换将使用该视频处理工具或模式。在另一个例子中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式被修改的情况下处理比特流。也就是说,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流表示到视频块的转换。
图20是图示视频解码器300的示例的框图,视频解码器300可以是图18所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图20的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图20的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重建单元306和缓冲器307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图19)描述的编码过程互逆的解码过程。
熵解码单元301可以检索编码的比特流。编码的比特流可以包括熵编码的视频数据(例如,编码的视频数据块)。熵解码单元301可以解码熵编码的视频数据,并且运动补偿单元302可以从熵解码的视频数据确定包含运动矢量、运动矢量精度、参考图片列表索引和其它运动信息的运动信息。运动补偿单元302可以,例如通过执行AMVP和merge模式来确定此信息。
运动补偿单元302可以生成运动补偿块,可以基于插值滤波器执行插值。语法元素中可以包括要以子像素精度使用的插值滤波器的识别符。
运动补偿单元302可以使用如视频编码器20在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息来确定视频编码器200所使用的插值滤波器,并使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于编码经编码的视频序列的帧和/或条带的块的尺寸、描述经编码的视频序列的图片的每一宏块如何被分割的分割信息、指示每一分割如何被编码的模式、每一经帧间编码的块的一个或一个以上参考帧(和参考帧列表)以及解码经编码的视频序列的其它信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻的块形成预测块。逆量化单元303逆量化(即,去量化)比特流中提供的并且由熵解码单元301解码的量化视频块系数。逆变换单元303应用逆变换。
重建单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应的预测块相加,以形成解码的块。如果需要,还可以应用去方块滤波器来对解码的块进行滤波,以便去除块效应伪影。然后解码的视频块被存储在缓冲器307中,缓冲器307为后续的运动补偿/帧内预测提供参考块,并且还产生解码的视频以在显示设备上呈现。
图21是示出其中可以实现本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以原始或未压缩的格式接收,例如8或10比特多分量像素值,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口,诸如以太网、无源光网络(PON)等,以及诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括编解码组件1904,其可以实现本文档中描述的各种编码或解码方法。编解码组件1904可以降低从输入1902到编解码组件1904的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时被称为视频压缩或视频转码技术。如组件1906所表示的,编解码组件1904的输出可以被存储,或者经由连接的通信被发送。组件1908可以使用在输入1902处接收的视频的存储或传送的比特流(或编码)表示来生成发送到显示接口1910的像素值或可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是应当理解,编解码工具或操作在编码器处使用,并且与编码结果相反的相应解码工具或操作将由解码器执行。
外围总线接口或显示器接口的示例可以包括通用串行总线(USB)或高清多媒体接口(HDMI)或显示端口等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以在各种电子设备中实现,诸如移动电话、膝上型电脑、智能手机或能够执行数字数据处理和/或视频显示的其他设备。
图22是视频处理的示例方法2200的流程图。操作2202包括执行视频的视频单元和视频的比特流表示之间的转换,其中该转换包括将去方块滤波器应用于视频单元边界上的至少一些样点,其中去方块滤波器中使用的去方块量化参数(QP)值根据规则来确定,并且其中该规则指定视频单元的去方块QP值是否等于去量化QP值是基于自适应颜色变换(ACT)模式是否被应用于视频单元。
在方法2200的一些实施例中,当ACT模式被应用于视频单元时,在视频单元和视频单元的残差值之间执行色彩空间转换。在方法2200的一些实施例中,该规则规定,在ACT模式被应用于视频单元的情况下,去方块QP值基于在根据ACT模式应用QP调整之前的视频单元的QP值。在方法2200的一些实施例中,该规则规定,在ACT模式没有被应用于视频单元的情况下,去方块QP值等于去量化QP值。在方法2200的一些实施例中,该规则规定,在ACT模式没有被应用于视频单元的情况下,并且当变换跳过(TS)模式没有被应用于视频单元时,去方块QP值等于去量化QP值。
图23是视频处理的示例方法2300的流程图。操作2302包括根据规则执行视频的视频单元和视频的比特流表示之间的转换,其中该规则指定自适应颜色变换(ACT)模式和基于块的增量脉冲编解码调制(BDPCM)编解码工具可用于以互斥的方式编解码视频单元。
在方法2300的一些实施例中,当ACT模式被应用于视频单元时,在视频单元和视频单元的残差值之间执行色彩空间转换。在方法2300的一些实施例中,当BDPCM编解码工具被应用于视频单元时:在编码操作期间,使用样点差对视频单元的量化系数进行编码,或者在解码操作期间,使用样点差生成量化系数。在方法2300的一些实施例中,该规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于亮度视频分量的视频单元。在方法2300的一些实施例中,该规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于色度视频分量的视频单元。在方法2300的一些实施例中,该规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于亮度视频分量或色度视频分量的视频单元。在方法2300的一些实施例中,该规则指定当BDPCM编解码工具被应用于亮度视频分量或色度视频分量的视频单元时,ACT模式不被应用于视频单元。
图24是视频处理的示例方法2400的流程图。操作2402包括对于视频的视频单元和视频的比特流表示之间的转换,基于是否对视频单元启用自适应颜色变换(ACT)模式,确定是否对视频单元启用块差分脉冲编解码调制(BDPCM)编解码工具。操作2404包括基于该确定执行转换。
在方法2400的一些实施例中,当对视频单元启用ACT模式时,在视频单元和视频单元的残差值之间执行色彩空间转换。在方法2400的一些实施例中,当对视频单元启用BDPCM编解码工具时:在编码操作期间,使用样点差对视频块的样点进行编码,而不应用变换,或者在解码操作期间,使用所述样点差生成视频块的样点,而不应用逆变换。在方法2400的一些实施例中,响应于以下,对视频的色度视频分量的视频单元启用BDPCM编解码工具:对视频块启用ACT模式,对视频的亮度视频分量的另一视频单元启用BDPCM编解码工具,以及序列参数集(SPS)中指示对视频的色度视频分量启用BDPCM编解码工具的指示。
在方法2400的一些实施例中,响应于以下,对视频的色度视频分量的视频单元禁用BDPCM编解码工具:对视频块禁用ACT模式,或对视频的亮度视频分量的另一视频单元禁用BDPCM编解码工具,或序列参数集(SPS)中指示BDPCM编解码工具没有对视频的色度视频分量启用的指示。在方法2400的一些实施例中,响应于以下,对视频的亮度视频分量的视频单元禁用BDPCM编解码工具:对视频块启用ACT模式,序列参数集(SPS)中指示BDPCM编解码工具没有对视频的色度视频分量启用的指示,以及比特流表示不包括指示BDPCM编解码工具是否对亮度视频分量的视频单元启用的语法元素。在方法2400的一些实施例中,响应于以下,没有对视频块启用ACT模式:对视频的亮度视频分量的视频单元禁用BDPCM编解码工具,以及序列参数集(SPS)中指示没有对视频的色度视频分量启用BDPCM编解码工具的指示。
在方法2400的一些实施例中,响应于以下,对视频的亮度视频分量的视频单元禁用BDPCM编解码工具:对视频块启用ACT模式,以及序列参数集(SPS)中指示BDPCM编解码工具没有对视频的色度视频分量启用的指示,其中,比特流表示不包括指示BDPCM编解码工具是否对亮度视频分量的视频单元启用的语法元素。在方法2200-2400的一些实施例中,视频单元包括编码单元(CU)、预测单元(PU)或变换单元(TU)。在方法2200-2400的一些实施例中,执行转换包括将视频编码成比特流表示。在方法2200-2400的一些实施例中,执行转换包括从比特流表示中解码视频。在一些实施例中,视频解码装置包括被配置为实现与方法2200-2400相关的实施例的技术的处理器。在一些实施例中,视频编码装置包括被配置为实现与方法2200-2400相关的实施例的技术的处理器。在一些实施例中,一种其上存储有计算机指令的计算机程序产品,当由指令由处理器执行时,使处理器实现与方法2200-2400相关的实施例的技术。在一些实施例中,一种存储根据与方法2200-2400相关的实施例的技术生成的比特流表示的计算机可读介质。在一些实施例中,一种用于存储比特流表示的视频处理装置,其中,视频处理装置被配置为实现与方法2200-2400相关的实施例的技术。
可以使用以下基于条款的格式来描述一些优选实施例。
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的方法,其中,编解码方法是色度残差联合编解码(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偏移,其中,无论是在视频单元的边界上应用JCCR编解码方法还是在视频单元的边界上应用不同于JCCR编解码方法的方法,去方块滤波器中使用的色度QP偏移都是相同的。
20.一种视频处理方法,包括:执行视频单元和该视频单元的比特流表示之间的转换,其中,在转换期间,在视频单元的边界上使用去方块滤波器,使得在去方块滤波器中使用色度QP偏移,其中,计算去方块滤波器的边界强度(BS),而不将P侧边界处的参考图片和/或与视频单元相关联的多个运动矢量(MV)与Q侧的参考图片和/或与视频单元相关联的多个运动矢量(MV)进行比较。
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相关。
以下项目优选地由一些实施例实现。在前一部分的列表中示出了附加特征,例如第31-32项。
26.一种视频处理方法,包括:对于视频的分量的视频单元和该视频的比特流表示之间的转换,基于指定尺寸必须大于K的约束规则,确定视频单元的量化组的尺寸,其中K是正数;以及基于该确定来执行转换。
27.根据条款26所述的方法,其中,分量是色度分量,并且K=4。
28.根据条款26所述的方法,其中,分量是亮度分量,并且K=8。
29.根据条款1-28中任一条款所述的方法,其中,转换包括将视频编码成比特流表示。
30.根据条款1-28中任一条款所述的方法,其中,转换包括解析和解码比特流表示以生成视频。
31.一种视频解码装置,包括被配置为实现条款1至30中的一项或多项所述的方法的处理器。
32.一种视频编码装置,包括被配置为实现条款1至30中的一项或多项所述的方法的处理器。
在一些实施例中,可以优选实施以下技术方案。
1.一种视频处理方法(例如,图22中描述的方法2200),包括:执行(2202)视频的视频单元和该视频的比特流之间的转换,其中,该转换包括将去方块滤波器应用于该视频单元的边界上的至少一些样点,其中,根据规则确定在去方块滤波器中使用的去方块量化参数(QP)值,并且其中,该规则指定去方块QP值是否等于视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于该视频单元。
2.根据解决方案1所述的方法,其中,当ACT模式被应用于视频单元时,在视频单元和该视频单元的残差值之间执行颜色空间转换。
3.根据解决方案1所述的方法,其中,规则指定,在ACT模式被应用于视频单元的情况下,去方块QP值基于在根据ACT模式应用QP调整之前的视频单元的QP值。
4.根据解决方案1所述的方法,其中,规则指定,在ACT模式没有被应用于视频单元的情况下,去方块QP值等于反量化QP值。
5.根据解决方案1所述的方法,其中,规则指定,在ACT模式没有被应用于视频单元的情况下,并且当变换跳过(TS)模式没有被应用于视频单元时,去方块QP值等于反量化QP值。
6.一种视频处理方法,包括:根据规则执行视频的视频单元和该视频的比特流之间的转换,其中,规则指定自适应颜色变换(ACT)模式和基于块的增量脉冲编解码调制(BDPCM)编解码工具可用于以互斥的方式对该视频单元进行编解码。
7.根据解决方案6所述的方法,其中,当ACT模式被应用于视频单元时,在视频单元和该视频单元的残差值之间执行颜色空间转换。
8.根据解决方案6所述的方法,其中,当BDPCM编解码工具被应用于视频单元时:在编码操作期间,使用样点差对视频单元的量化系数进行编码,或者在解码操作期间,使用样点差生成量化系数。
9.根据解决方案6所述的方法,其中,规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于亮度视频分量的视频单元。
10.根据解决方案6所述的方法,其中,规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于色度视频分量的视频单元。
11.根据解决方案6所述的方法,其中,规则指定当ACT模式被应用于视频单元时,BDPCM编解码工具不被应用于亮度视频分量或色度视频分量的视频单元。
12.根据权利要求6所述的方法,其中,规则指定当BDPCM编解码工具被应用于亮度视频分量或色度视频分量的视频单元时,ACT模式不被应用于视频单元。
13.一种视频处理方法(例如,图24中描述的方法2400),包括:对于视频的视频单元和该视频的比特流之间的转换,基于是否对视频单元启用自适应颜色变换(ACT)模式来确定是否对该视频单元启用块差分脉冲编解码调制(BDPCM)编解码工具(2402);以及基于确定来执行转换(2404)。
14.根据解决方案13所述的方法,其中,当对视频单元启用ACT模式时,在视频单元和该视频单元的残差值之间执行颜色空间转换。
15.根据解决方案13所述的方法,其中,当对视频单元启用BDPCM编解码工具时:在编码操作期间,使用样点差对视频块的样点进行编码,而不应用变换,或者在解码操作期间,使用样点差生成视频块的样点,而不应用逆变换。
16.根据解决方案13所述的方法,其中,响应于以下,对视频的色度视频分量的视频单元启用BDPCM编解码工具:对视频块启用ACT模式,对视频的亮度视频分量的另一视频单元启用BDPCM编解码工具,以及序列参数集(SPS)中的指示,其指示对视频的色度视频分量启用BDPCM编解码工具。
17.根据解决方案13所述的方法,其中,响应于以下,对视频的色度视频分量的视频单元禁用BDPCM编解码工具:对视频块禁用ACT模式,或对视频的亮度视频分量的另一视频单元禁用BDPCM编解码工具,或序列参数集(SPS)中的指示,其指示没有对视频的色度视频分量启用BDPCM编解码工具。
18.根据解决方案13所述的方法,其中,响应于以下,对视频的亮度视频分量的视频单元禁用BDPCM编解码工具:对视频块启用ACT模式,序列参数集(SPS)中的指示,其指示没有对视频的色度视频分量启用BDPCM编解码工具,以及比特流不包括指示是否对亮度视频分量的视频单元启用BDPCM编解码工具的语法元素。
19.根据解决方案13所述的方法,其中,响应于以下,没有对视频块启用ACT模式:对视频的亮度视频分量的视频单元禁用BDPCM编解码工具,以及序列参数集(SPS)中的指示,其指示没有对视频的色度视频分量启用BDPCM编解码工具。
20.根据解决方案13所述的方法,其中,响应于以下,对视频的亮度视频分量的视频单元禁用BDPCM编解码工具:对视频块启用ACT模式,以及序列参数集(SPS)中的指示,其指示没有对视频的色度视频分量启用BDPCM编解码工具,其中,比特流不包括指示是否对亮度视频分量的视频单元启用BDPCM编解码工具的语法元素。
21.根据解决方案1至20中任一项所述的方法,其中,视频单元包括编解码单元(CU)、预测单元(PU)或变换单元(TU)。
22.根据解决方案1至21中任一项所述的方法,其中,执行转换包括将视频编码成比特流。
23.根据解决方案1至21中任一项所述的方法,其中,执行转换包括从比特流中解码视频。
24.根据解决方案1至21中任一项所述的方法,其中,执行转换包括将视频编码成比特流表示;并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。
25.一种用于存储视频的比特流的方法,包括:从视频的视频单元生成该视频的比特流,以及将比特流存储在非暂时性计算机可读记录介质中;其中,生成比特流包括对视频单元的边界上的至少一些样点应用去方块滤波器,其中,根据规则确定在去方块滤波器中使用的去方块量化参数(QP)值,并且其中,规则指定所述去方块QP值是否等于视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于视频单元。
26.一种视频解码装置,包括被配置为实现解决方案1至23中的一项或多项所述的方法的处理器。
27.一种视频编码装置,包括被配置为实现解决方案1至25中的一项或多项所述的方法的处理器。
28.一种其上存储有计算机指令的计算机程序产品,当指令由处理器执行时,使处理器实现解决方案1至25中任一项所述的方法。
29.一种非暂时性计算机可读存储介质,其存储根据解决方案1至23中任一项所述的方法生成的比特流。
30.一种存储指令的非暂时性计算机可读存储介质,该指令使处理器实施解决方案1至25中任一项所述的方法。
31.一种用于存储比特流的视频处理装置,其中,该视频处理装置被配置为实现解决方案1至25中任一项或多项所述的方法。
本申请文件中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作能在数字电子电路、或计算机软件、固件或硬件中实现,包括本说明书中所公开的结构及其结构等效体,或其中一个或多个的组合。所公开的和其他实施例能够实现为一个或多个计算机程序产品,即编码在有形的且非易失的计算机可读介质上的计算机程序指令的一个或多个模块,以供数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质组成或其中一个或其中多个的组合。术语“数据处理单元”或“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多处理器或计算机组。除硬件外,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统或其中一个或多个的组合。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器设备。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、组件、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于该程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本申请文件中描述的过程和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何发明或权利要求范围的限制,而应解释为对特定发明的特定实施例的特征的描述。本专利文件在单独实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中单独实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要获得想要的结果必须按照所示的特定顺序或顺序执行此类操作,或执行所有说明的操作。此外,本专利文件所述实施例中各种系统组件的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,可以基于本专利文件中描述和说明的内容做出其他实现、增强和变体。

Claims (31)

1.一种视频处理方法,包括:
执行视频的视频单元和所述视频的比特流之间的转换,
其中,所述转换包括将去方块滤波器应用于所述视频单元的边界上的至少一些样点,
其中,根据规则确定在所述去方块滤波器中使用的去方块量化参数(QP)值,以及
其中,所述规则指定所述去方块QP值是否等于所述视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于所述视频单元。
2.根据权利要求1所述的方法,其中,当所述ACT模式被应用于所述视频单元时,在所述视频单元和所述视频单元的残差值之间执行颜色空间转换。
3.根据权利要求1所述的方法,其中,所述规则指定,在所述ACT模式被应用于所述视频单元的情况下,所述去方块QP值基于在根据ACT模式应用QP调整之前的视频单元的QP值。
4.根据权利要求1所述的方法,其中,所述规则指定,在所述ACT模式没有被应用于所述视频单元的情况下,所述去方块QP值等于反量化QP值。
5.根据权利要求1所述的方法,
其中,所述规则指定,在所述ACT模式没有被应用于所述视频单元的情况下,并且当变换跳过(TS)模式没有被应用于所述视频单元时,所述去方块QP值等于反量化QP值。
6.一种视频处理方法,包括:
根据规则执行视频的视频单元和所述视频的比特流之间的转换,
其中,所述规则指定自适应颜色变换(ACT)模式和基于块的增量脉冲编解码调制(BDPCM)编解码工具可用于以互斥的方式对所述视频单元进行编解码。
7.根据权利要求6所述的方法,其中,当所述ACT模式被应用于所述视频单元时,在所述视频单元和所述视频单元的残差值之间执行颜色空间转换。
8.根据权利要求6所述的方法,其中,当所述BDPCM编解码工具被应用于所述视频单元时:
在编码操作期间,使用样点差对所述视频单元的量化系数进行编码,或者
在解码操作期间,使用所述样点差生成量化系数。
9.根据权利要求6所述的方法,其中,所述规则指定当所述ACT模式被应用于所述视频单元时,所述BDPCM编解码工具不被应用于亮度视频分量的视频单元。
10.根据权利要求6所述的方法,其中,所述规则指定当所述ACT模式被应用于所述视频单元时,所述BDPCM编解码工具不被应用于色度视频分量的视频单元。
11.根据权利要求6所述的方法,其中,所述规则指定当所述ACT模式被应用于所述视频单元时,所述BDPCM编解码工具不被应用于亮度视频分量或色度视频分量的视频单元。
12.根据权利要求6所述的方法,其中,所述规则指定当所述BDPCM编解码工具被应用于亮度视频分量或色度视频分量的视频单元时,所述ACT模式不被应用于所述视频单元。
13.一种视频处理方法,包括:
对于视频的视频单元和所述视频的比特流之间的转换,基于是否对所述视频单元启用自适应颜色变换(ACT)模式来确定是否对所述视频单元启用块差分脉冲编解码调制(BDPCM)编解码工具;以及
基于所述确定来执行所述转换。
14.根据权利要求13所述的方法,其中,当对所述视频单元启用所述ACT模式时,在所述视频单元和所述视频单元的残差值之间执行颜色空间转换。
15.根据权利要求13所述的方法,其中,当对所述视频单元启用所述BDPCM编解码工具时:
在编码操作期间,使用样点差对视频块的样点进行编码,而不应用变换,或者
在解码操作期间,使用所述样点差生成视频块的样点,而不应用逆变换。
16.根据权利要求13所述的方法,其中,响应于以下,对所述视频的色度视频分量的视频单元启用所述BDPCM编解码工具:
对视频块启用所述ACT模式,
对所述视频的亮度视频分量的另一视频单元启用所述BDPCM编解码工具,以及
序列参数集(SPS)中的指示,其指示对所述视频的色度视频分量启用所述BDPCM编解码工具。
17.根据权利要求13所述的方法,其中,响应于以下,对所述视频的色度视频分量的视频单元禁用所述BDPCM编解码工具:
对视频块禁用所述ACT模式,或
对所述视频的亮度视频分量的另一视频单元禁用所述BDPCM编解码工具,或
序列参数集(SPS)中的指示,其指示没有对所述视频的色度视频分量启用所述BDPCM编解码工具。
18.根据权利要求13所述的方法,其中,响应于以下,对所述视频的亮度视频分量的视频单元禁用所述BDPCM编解码工具:
对视频块启用所述ACT模式,
序列参数集(SPS)中的指示,其指示没有对所述视频的色度视频分量启用所述BDPCM编解码工具,以及
所述比特流不包括指示是否对亮度视频分量的视频单元启用所述BDPCM编解码工具的语法元素。
19.根据权利要求13所述的方法,其中,响应于以下,没有对视频块启用所述ACT模式:
对所述视频的亮度视频分量的视频单元禁用所述BDPCM编解码工具,以及
序列参数集(SPS)中的指示,其指示没有对所述视频的色度视频分量启用所述BDPCM编解码工具。
20.根据权利要求13所述的方法,其中,响应于以下,对所述视频的亮度视频分量的视频单元禁用所述BDPCM编解码工具:
对视频块启用所述ACT模式,以及
序列参数集(SPS)中的指示,其指示没有对所述视频的色度视频分量启用所述BDPCM编解码工具,
其中,所述比特流不包括指示是否对亮度视频分量的视频单元启用所述BDPCM编解码工具的语法元素。
21.根据权利要求1至20中任一项所述的方法,其中,所述视频单元包括编解码单元(CU)、预测单元(PU)或变换单元(TU)。
22.根据权利要求1至21中任一项所述的方法,其中,执行所述转换包括将所述视频编码成所述比特流。
23.根据权利要求1至21中任一项所述的方法,其中,执行所述转换包括从所述比特流中解码所述视频。
24.根据权利要求1至21中任一项所述的方法,其中,执行所述转换包括将所述视频编码成比特流表示;并且所述方法还包括将所述比特流存储在非暂时性计算机可读记录介质中。
25.一种用于存储视频的比特流的方法,包括:
从视频的视频单元生成所述视频的比特流,以及
将所述比特流存储在非暂时性计算机可读记录介质中;
其中,生成所述比特流包括对所述视频单元的边界上的至少一些样点应用去方块滤波器,
其中,根据规则确定在所述去方块滤波器中使用的去方块量化参数(QP)值,以及
其中,所述规则指定所述去方块QP值是否等于所述视频单元的反量化QP值是基于自适应颜色变换(ACT)模式是否被应用于所述视频单元。
26.一种视频解码装置,包括被配置为实现权利要求1至23中的一项或多项所述的方法的处理器。
27.一种视频编码装置,包括被配置为实现权利要求1至25中的一项或多项所述的方法的处理器。
28.一种其上存储有计算机指令的计算机程序产品,当所述指令由处理器执行时,使所述处理器实现权利要求1至25中任一项所述的方法。
29.一种非暂时性计算机可读存储介质,其存储根据权利要求1至23中任一项所述的方法生成的比特流。
30.一种存储指令的非暂时性计算机可读存储介质,所述指令使处理器实施权利要求1至25中任一项所述的方法。
31.一种用于存储比特流的视频处理装置,其中,所述视频处理装置被配置为实现权利要求1至25中任一项或多项所述的方法。
CN202080091436.XA 2019-12-31 2020-12-29 视频编解码中的自适应颜色变换 Pending CN114902657A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2019/130851 2019-12-31
CN2019130851 2019-12-31
PCT/US2020/067264 WO2021138293A1 (en) 2019-12-31 2020-12-29 Adaptive color transform in video coding

Publications (1)

Publication Number Publication Date
CN114902657A true CN114902657A (zh) 2022-08-12

Family

ID=76686890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080091436.XA Pending CN114902657A (zh) 2019-12-31 2020-12-29 视频编解码中的自适应颜色变换

Country Status (3)

Country Link
US (1) US11750806B2 (zh)
CN (1) CN114902657A (zh)
WO (1) WO2021138293A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253864A1 (en) 2019-06-21 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Selective enablement of adaptive in-loop color-space transform in video coding
WO2021051047A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Chroma quantization parameter in video coding
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
WO2021088951A1 (en) * 2019-11-07 2021-05-14 Beijing Bytedance Network Technology Co., Ltd. Quantization properties of adaptive in-loop color-space transform for video coding
CN114788279A (zh) 2019-12-09 2022-07-22 字节跳动有限公司 视频编解码中使用的量化组
WO2021251398A1 (ja) * 2020-06-10 2021-12-16 日本放送協会 デブロッキングフィルタ装置、復号装置、及びプログラム
US11863775B2 (en) * 2021-07-21 2024-01-02 Tencent America LLC Cross-component transform coefficient level reconstruction

Family Cites Families (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5512953A (en) 1994-08-09 1996-04-30 At&T Corp. Method and apparatus for conversion of compressed bit stream representation of video signal
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7190723B2 (en) 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US20040146108A1 (en) 2003-01-23 2004-07-29 Shih-Chang Hsia MPEG-II video encoder chip design
US7227585B1 (en) 2003-12-30 2007-06-05 Conexant Systems, Inc. Luminance and chrominance separation system
US9185426B2 (en) 2008-08-19 2015-11-10 Broadcom Corporation Method and system for motion-compensated frame-rate up-conversion for both compressed and decompressed video bitstreams
JP2011259362A (ja) 2010-06-11 2011-12-22 Sony Corp 画像処理装置および方法
US8891617B2 (en) 2011-01-18 2014-11-18 Google Inc. Method and system for processing video data
US10409892B2 (en) 2011-01-26 2019-09-10 Microsoft Technology Licensing, Llc Formatting data by example
KR101566366B1 (ko) 2011-03-03 2015-11-16 한국전자통신연구원 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
US9143805B2 (en) 2011-07-14 2015-09-22 Panasonic Intellectual Property Corporation Of America Method of image coding chrominance signal and method of image decoding chrominance signal
US8964833B2 (en) 2011-07-19 2015-02-24 Qualcomm Incorporated Deblocking of non-square blocks for video coding
US9510020B2 (en) 2011-10-20 2016-11-29 Qualcomm Incorporated Intra pulse code modulation (IPCM) and lossless coding mode deblocking for video coding
US9807403B2 (en) 2011-10-21 2017-10-31 Qualcomm Incorporated Adaptive loop filtering for chroma components
US9161046B2 (en) * 2011-10-25 2015-10-13 Qualcomm Incorporated Determining quantization parameters for deblocking filtering for video coding
US20130107973A1 (en) 2011-10-28 2013-05-02 Qualcomm Incorporated Loop filtering control over tile boundaries
US20140321552A1 (en) 2011-11-18 2014-10-30 Dolby Laboratories Licensing Corporation Optimization of Deblocking Filter Parameters
US9538200B2 (en) 2012-01-19 2017-01-03 Qualcomm Incorporated Signaling of deblocking filter parameters in video coding
US9451258B2 (en) 2012-04-03 2016-09-20 Qualcomm Incorporated Chroma slice-level QP offset and deblocking
JPWO2013154028A1 (ja) 2012-04-13 2015-12-17 ソニー株式会社 画像処理装置および方法
GB2501535A (en) 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US10448032B2 (en) 2012-09-04 2019-10-15 Qualcomm Incorporated Signaling of down-sampling location information in scalable video coding
GB2506852B (en) 2012-09-28 2015-09-30 Canon Kk Method and device for determining the value of a quantization parameter
TWI610574B (zh) 2012-09-29 2018-01-01 微軟技術授權有限責任公司 於解塊中色度量化參數偏移之使用
JP2014116733A (ja) 2012-12-07 2014-06-26 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
AU2013200051B2 (en) 2013-01-04 2016-02-11 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking video data
US10321130B2 (en) 2013-01-07 2019-06-11 Vid Scale, Inc. Enhanced deblocking filters for video coding
US9225991B2 (en) * 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
US20140376611A1 (en) * 2013-06-21 2014-12-25 Qualcomm Incorporated Adaptive color transforms for video coding
US9294766B2 (en) 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
MX2016004705A (es) 2013-10-14 2016-07-18 Microsoft Technology Licensing Llc Caracteristicas del modo de prediccion copia de bloque interno para codificacion y decodificacion de imagen y video.
CA2939434C (en) 2014-03-04 2021-02-16 Microsoft Techology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
JP6368795B2 (ja) 2014-03-14 2018-08-01 ヴィド スケール インコーポレイテッド Rgbビデオコーディングエンハンスメントのためのシステムおよび方法
US9948933B2 (en) 2014-03-14 2018-04-17 Qualcomm Incorporated Block adaptive color-space conversion coding
AU2014202921B2 (en) 2014-05-29 2017-02-02 Canon Kabushiki Kaisha Method, apparatus and system for de-blocking a block of video samples
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US10136141B2 (en) 2014-06-11 2018-11-20 Qualcomm Incorporated Determining quantization parameter (QP) values and delta QP values for palette coded blocks in video coding
US9924175B2 (en) 2014-06-11 2018-03-20 Qualcomm Incorporated Determining application of deblocking filtering to palette coded blocks in video coding
US20150373327A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Block adaptive color-space conversion coding
WO2016056977A1 (en) 2014-10-06 2016-04-14 Telefonaktiebolaget L M Ericsson (Publ) Coding and deriving quantization parameters
US10057578B2 (en) * 2014-10-07 2018-08-21 Qualcomm Incorporated QP derivation and offset for adaptive color transform in video coding
US9854201B2 (en) 2015-01-16 2017-12-26 Microsoft Technology Licensing, Llc Dynamically updating quality to higher chroma sampling rate
US10057574B2 (en) 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
WO2016127889A1 (en) 2015-02-13 2016-08-18 Mediatek Inc. Method and apparatus for palette index coding in video and image compression
US20160286226A1 (en) 2015-03-24 2016-09-29 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
EP3286918A1 (en) 2015-04-21 2018-02-28 VID SCALE, Inc. Artistic intent based video coding
WO2017052440A1 (en) 2015-09-23 2017-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Determination of qp values
US20170105014A1 (en) 2015-10-08 2017-04-13 Qualcomm Incorporated Luma-driven chroma scaling for high dynamic range and wide color gamut contents
WO2017093189A1 (en) 2015-11-30 2017-06-08 Telefonaktiebolaget Lm Ericsson (Publ) Encoding of pictures in a video
US11064195B2 (en) 2016-02-15 2021-07-13 Qualcomm Incorporated Merging filters for multiple classes of blocks for video coding
US10419755B2 (en) 2016-05-16 2019-09-17 Qualcomm Incorporated Confusion of multiple filters in adaptive loop filtering in video coding
WO2018018486A1 (en) 2016-07-28 2018-02-01 Mediatek Inc. Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure
US11095922B2 (en) 2016-08-02 2021-08-17 Qualcomm Incorporated Geometry transformation-based adaptive loop filtering
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US20180091812A1 (en) 2016-09-23 2018-03-29 Apple Inc. Video compression system providing selection of deblocking filters parameters based on bit-depth of video data
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
US20180199057A1 (en) 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US10708591B2 (en) 2017-03-20 2020-07-07 Qualcomm Incorporated Enhanced deblocking filtering design in video coding
US10212456B2 (en) 2017-06-02 2019-02-19 Apple Inc. Deblocking filter for high dynamic range (HDR) video
US20210337202A1 (en) 2017-06-21 2021-10-28 Vid Scale, Inc. Adaptive quantization method for 360-degree video coding
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
WO2019009776A1 (en) 2017-07-05 2019-01-10 Telefonaktiebolaget Lm Ericsson (Publ) DECODING VIDEO SAMPLE BLOCK
US11019339B2 (en) 2017-07-12 2021-05-25 Futurewei Technologies, Inc. Fractional quantization parameter offset in video compression
GB2575090A (en) 2018-06-28 2020-01-01 Canon Kk Method and apparatus for deblocking filtering a block of pixels
US10616577B2 (en) 2017-10-16 2020-04-07 Intel Corporation Adaptive video deblocking
US10812798B2 (en) 2017-10-19 2020-10-20 Qualcomm Incorporated Chroma quantization parameter (QP) offset
EP3704858A1 (en) 2017-11-01 2020-09-09 Vid Scale, Inc. Methods for simplifying adaptive loop filter in video coding
US10972729B2 (en) 2018-01-20 2021-04-06 Qualcomm Incorporated Deblocking filter selection and application in video coding
US20190238845A1 (en) 2018-01-26 2019-08-01 Qualcomm Incorporated Adaptive loop filtering on deblocking filter results in video coding
CN116405700A (zh) 2018-03-30 2023-07-07 夏普株式会社 用于将解块滤波器应用于重构视频数据的方法和设备
US10708592B2 (en) 2018-04-02 2020-07-07 Qualcomm Incorporated Deblocking filter for video coding and processing
US20190306502A1 (en) 2018-04-02 2019-10-03 Qualcomm Incorporated System and method for improved adaptive loop filtering
EP3554074A1 (en) 2018-04-13 2019-10-16 Thomson Licensing Methods and apparatus for depth encoding and decoding
KR101997681B1 (ko) 2018-06-11 2019-07-08 광운대학교 산학협력단 양자화 파라미터 기반의 잔차 블록 부호화/복호화 방법 및 장치
US20200213570A1 (en) 2019-01-02 2020-07-02 Mediatek Inc. Method for processing projection-based frame that includes at least one projection face and at least one padding region packed in 360-degree virtual reality projection layout
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
MX2021010337A (es) 2019-02-27 2021-09-28 Huawei Tech Co Ltd Un codificador, un decodificador y metodos correspondientes.
CN113519164A (zh) 2019-03-02 2021-10-19 北京字节跳动网络技术有限公司 对分割结构的限制
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
AU2020248837B2 (en) 2019-03-24 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Nonlinear adaptive loop filtering in video processing
CN113647108A (zh) 2019-03-27 2021-11-12 北京字节跳动网络技术有限公司 基于历史的运动矢量预测
TWI739386B (zh) 2019-04-11 2021-09-11 聯發科技股份有限公司 具有適應性參數集之適應性迴路濾波器
CN113678462B (zh) 2019-04-15 2023-01-10 北京字节跳动网络技术有限公司 自适应环路滤波器中的裁剪参数推导
CN113767623B (zh) 2019-04-16 2024-04-02 北京字节跳动网络技术有限公司 用于视频编解码的自适应环路滤波
MX2021013065A (es) 2019-04-25 2022-04-12 Op Solutions Llc Vector de movimiento global restringido en la prediccion inter.
US11381819B2 (en) 2019-07-05 2022-07-05 Qualcomm Incorporated Chroma delta quantization parameter (QP) in video coding
JP7343596B6 (ja) 2019-08-23 2024-02-26 華為技術有限公司 合同クロマ符号化を使用するブロックについてクロマ・ブロッキング解除を実行するためのエンコーダ、デコーダおよび対応する方法
CN114600466A (zh) 2019-08-29 2022-06-07 Lg电子株式会社 基于交叉分量滤波的图像编码设备和方法
US20210076032A1 (en) 2019-09-09 2021-03-11 Qualcomm Incorporated Filter shapes for cross-component adaptive loop filter with different chroma formats in video coding
WO2021051047A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Chroma quantization parameter in video coding
AU2020354926A1 (en) 2019-09-24 2022-04-07 Huawei Technologies Co., Ltd. Decoded picture buffer operation for resolution changes
KR20220073746A (ko) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
EP4070545A4 (en) 2019-12-23 2023-03-08 Huawei Technologies Co., Ltd. CROSS-COMPONENT ADAPTIVE LOOP FILTERING ALLOWS VIDEO CODING
US11375200B2 (en) 2019-12-24 2022-06-28 Tencent America LLC Video coding method and device for controlling color component processing

Also Published As

Publication number Publication date
WO2021138293A1 (en) 2021-07-08
US11750806B2 (en) 2023-09-05
US20220368898A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
CN114556924B (zh) 视频处理中色度残差的联合编解码与滤波的方法、装置及介质
CN114208174B (zh) 预测过程中的调色板模式编解码
CN114902657A (zh) 视频编解码中的自适应颜色变换
CN114402601B (zh) 色度去块滤波的量化参数偏移的方法及装置
US11785260B2 (en) Cross-component adaptive loop filtering in video coding
US20240073419A1 (en) Cross Component Adaptive Loop Filtering for Video Coding
KR20220115965A (ko) 비디오 코딩을 위한 일반적인 제약 정보
JP2024023426A (ja) ビデオコーディングにおける量子化グループの使用
CN114503597B (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