CN111226441B - 视频编码的空间变化变换方法及相关设备 - Google Patents

视频编码的空间变化变换方法及相关设备 Download PDF

Info

Publication number
CN111226441B
CN111226441B CN201880067336.6A CN201880067336A CN111226441B CN 111226441 B CN111226441 B CN 111226441B CN 201880067336 A CN201880067336 A CN 201880067336A CN 111226441 B CN111226441 B CN 111226441B
Authority
CN
China
Prior art keywords
svt
block
residual block
transform
coefficients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880067336.6A
Other languages
English (en)
Other versions
CN111226441A (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111226441A publication Critical patent/CN111226441A/zh
Application granted granted Critical
Publication of CN111226441B publication Critical patent/CN111226441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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/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/167Position within a video image, e.g. region of interest [ROI]

Landscapes

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

Abstract

一种视频解码设备接收包括预测块和残差块的比特流,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的。所述视频解码设备确定用于对所述残差块中的所述系数进行变换的SVT的类型并通过确定所述SVT的候选位置步长和位置索引来确定所述SVT相对于所述残差块的位置。所述视频解码设备根据所述SVT类型和位置对所述系数进行逆变换,获得重建残差块。所述视频解码设备将所述重建残差块与所述预测块相加以重建视频块并重建视频序列进行显示,所述视频序列包括的视频帧包括所述重建视频块。

Description

视频编码的空间变化变换方法及相关设备
相关申请案的交叉引用
本专利申请要求赵寅等人于2018年8月22日递交的发明名称为“视频编码的空间变化变换(Spatial Varying Transform for Video Coding)”的第62/721,179号美国临时专利申请以及赵寅等人于2017年10月16日递交的发明名称为“视频编码的空间变化变换(Spatial Varying Transform for Video Coding)”的第62/572,987号美国临时专利申请的权益,这两个专利申请的全部内容通过引用的方式并入本文本中。
技术领域
本发明大体上涉及视频编码系统,具体涉及为了压缩基于预测的编码产生的残差块进行的空间变化变换。
背景技术
即使在影片较短的情况下也需要对大量的视频数据进行描述,当数据要在带宽容量有限的通信网络中发送或以其它方式传输时,这样可能会造成困难。因此,视频数据通常在要先压缩,然后在现代电信网络中传输。由于内存资源可能有限,当在存储设备上存储视频时,视频的大小也可能成为问题。视频压缩设备通常在信源侧使用软件和/或硬件,以在传输或存储之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据量。然后,压缩的数据在目的地侧由视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够提高压缩比而几乎不影响图像质量。
发明内容
在一个实施例中,本发明包括一种接收比特流的方法,所述比特流包括预测块和残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的。所述方法包括确定对所述残差块中的所述系数进行变换所使用的SVT块的类型。还通过确定所述SVT块的候选位置步长和位置索引确定所述SVT块相对于所述残差块的位置。根据所述SVT块类型和位置对所述系数进行逆变换,获得重建残差块。将所述重建残差块与所述预测块相加以重建视频块。构建视频序列进行显示。所述视频序列包括的视频帧包括所述重建视频块。根据位置索引、SVT块类型和候选位置步长发送SVT块位置,可以减小编码大小,从而提高编码效率。例如,SVT块可以相对于残差块放置在许多不同位置上,这需要标识SVT块的坐标。通过根据SVT块类型和候选位置步长限制SVT位置,可以使用单个位置索引来指示SVT块的位置。
可选地,在任一前述方面中,所述方面的另一实现方式包括:从垂直SVT和水平SVT组成的组中选择所述SVT块类型;所述垂直SVT的高度等于所述残差块的高度且宽度等于所述残差块的宽度的二分之一,所述水平SVT的高度等于所述残差块的高度的二分之一且宽度等于所述残差块的宽度。SVT块可以相对于残差块占据许多不同位置。通过将SVT限制为垂直SVT和水平SVT,减少了潜在位置的数量。这允许SVT位置由单个索引指示,减小了编码大小。这也减少了SVT可以占据的潜在位置的数量,从而减少了编码器在执行率失真优化时测试的替代编码方案的数量。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过将所述候选位置步长乘以位置索引来确定所述SVT块的所述位置。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过将所述残差块的宽度除以预设整数(M1)来确定垂直SVT类型的所述候选位置步长,或者通过将所述残差块的高度除以预设整数(M2)来确定水平SVT类型的所述候选位置步长。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过取最小步长Th1和所述残差块的所述宽度除以M1的结果之间的最大值来确定所述垂直SVT的所述候选位置步长,并且通过取最小步长Th2和所述残差块的所述高度除以M2的结果之间的最大值来确定所述水平SVT的所述候选位置步长。通过在解码器侧确定候选位置步长,可以不显式地标识候选位置,这可以减小编码的大小,从而增加编码效率。
可选地,在任一前述方面中,所述方面的另一实现方式包括:当所述残差块的所述宽度大于或等于所述残差块的所述高度时,M1设置为8,当所述残差块的所述宽度小于所述残差块的所述高度时,M1设为4;当所述残差块的所述高度大于或等于所述残差块的所述宽度时,M2设为8,当所述残差块的所述高度小于所述残差块的所述宽度时,M2设为4。
可选地,在任一前述方面中,所述方面的另一实现方式包括:M1、M2、Th1、Th2或其组合从所述比特流中的语法元素获取。通过在语法元素中标识此类信息,解码器可以根据一小组语法元素来确定多个块和/或帧的候选位置步长,从而减小编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:还包括从所述比特流中获取所述位置索引。
可选地,在任一前述方面中,所述方面的另一实现方式包括:还包括通过对所述残差块中的所述系数进行算术运算来确定所述位置索引。通过在解码器侧根据算术运算确定位置索引,不需要单独标识位置索引,从而减小了编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:所述算术运算包括求和运算、求模运算、除法运算或其组合。
可选地,在任一前述方面中,所述方面的另一实现方式包括:当系数的数量小于或等于阈值时,从所述比特流中获取所述位置索引;当所述系数的数量大于所述阈值时,通过对所述系数进行所述算术运算确定所述位置索引。该方法允许当存在足够数量的系数时,位置索引作为单独的数据元素省略,当存在很少的系数时,位置索引标识为单独的索引。因此,不需要不必要地增加系数以标识SVT块位置,这在一些情况下可能增大编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:根据第一组系数确定所述SVT块的所述类型,并且根据第二组系数确定所述位置索引。该方法允许通过检查所述系数来确定SVT块类型和位置,所述系数已经存在于比特流中以支持视频重建。因此,SVT块类型和位置可以作为比特流中单独的数据元素省略,这减小了编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:根据非零系数的数量或位置确定所述候选位置步长或对应的候选位置数量。该方法允许通过检查所述系数来标识候选位置,所述系数已经存在于比特流中以支持视频重建。因此,SVT候选位置可以在比特流中标识并且还作为比特流中单独的数据元素省略,这减小了编码大小。
在一个实施例中,本发明包括视频编码设备。所述视频编码装置包括用于接收比特流的接收器,所述比特流包括预测块和的残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的。所述视频编码设备还包括耦合到所述接收器的处理器。所述处理器用于确定对所述残差块中的所述系数进行变换的SVT块的类型。所述处理器还通过确定所述SVT块的候选位置步长和位置索引确定所述SVT块相对于所述残差块的位置。所述处理器根据所述SVT块类型和位置对所述系数进行逆变换,获得重建残差块。所述处理器将所述重建残差块与所述预测块相加以重建视频块。然后,所述处理器可重建视频序列进行显示,所述视频序列包括的视频帧包括所述重建视频块。根据位置索引、SVT块类型和候选位置步长发送SVT块位置,可以减小编码大小,从而提高编码效率。例如,SVT块可以相对于残差块放置在许多不同位置,这需要标识SVT块的坐标。通过根据SVT块类型和候选位置步长限制SVT位置,可以使用单个位置索引来指示SVT块的位置。
可选地,在任一前述方面中,所述方面的另一实现方式包括:从垂直SVT和水平SVT组成的组中选择所述SVT块类型;所述垂直SVT的高度等于所述残差块的高度且宽度等于所述残差块的宽度的二分之一,所述水平SVT的高度等于所述残差块的高度的二分之一且宽度等于所述残差块的宽度。SVT块可以相对于残差块占据许多不同位置。通过将SVT限制为垂直SVT和水平SVT,减少了潜在位置的数量。这允许SVT位置由单个索引指示,减小了编码大小。这也减少了SVT可以占据的潜在位置的数量,从而减少了编码器在执行率失真优化时测试的替代编码方案的数量。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过将所述候选位置步长乘以位置索引来确定所述SVT块的所述位置。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过将所述残差块的宽度除以预设整数(M1)来确定垂直SVT类型的所述候选位置步长,或者通过将所述残差块的高度除以预设整数(M2)来确定水平SVT类型的所述候选位置步长。
可选地,在任一前述方面中,所述方面的另一实现方式包括:通过取最小步长Th1和所述残差块的所述宽度除以M1的结果之间的最大值来确定所述垂直SVT的所述候选位置步长,并且通过取最小步长Th2和所述残差块的所述高度除以M2的结果之间的最大值来确定所述水平SVT的所述候选位置步长。通过在解码器侧确定候选位置步长,可以不显式地标识候选位置,这可以减小编码的大小,从而增加编码效率。
可选地,在任一前述方面中,所述方面的另一实现方式包括:当所述残差块的所述宽度大于或等于所述残差块的所述高度时,M1设置为8,当所述残差块的所述宽度小于所述残差块的所述高度时,M1设为4;当所述残差块的所述高度大于或等于所述残差块的所述宽度时,M2设为8,当所述残差块的所述高度小于所述残差块的所述宽度时,M2设为4。
可选地,在任一前述方面中,所述方面的另一实现方式包括:M1、M2、Th1、Th2或其组合从所述比特流中的语法元素获取。通过在语法元素中标识此类信息,解码器可以根据一小组语法元素来确定多个块和/或帧的候选位置步长,从而减小编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:所述处理器还用于从所述比特流中获取所述位置索引。
可选地,在任一前述方面中,所述方面的另一实现方式包括:所述处理器还用于通过对所述残差块中的所述系数进行算术运算来确定所述位置索引。通过在解码器侧根据算术运算确定位置索引,不需要单独标识位置索引,从而减小了编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:所述算术运算包括求和运算、求模运算、除法运算或其组合。
可选地,在任一前述方面中,所述方面的另一实现方式包括:当系数的数量小于或等于阈值时,从所述比特流中获取所述位置索引;当所述系数的数量大于所述阈值时,通过对所述系数进行所述算术运算确定所述位置索引。该方法允许当存在足够数量的系数时,位置索引作为单独的数据元素被省略,当存在很少的系数时,位置索引标识为单独的索引。因此,不需要不必要地增加系数以标识SVT块位置,这在一些情况下可能增大编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:根据第一组系数确定所述SVT块的所述类型,并且根据第二组系数确定所述位置索引。该方法允许通过检查所述系数来确定SVT块类型和位置,所述系数已经存在于比特流中以支持视频重建。因此,SVT块类型和位置可以作为比特流中单独的数据元素省略,这减小了编码大小。
可选地,在任一前述方面中,所述方面的另一实现方式包括:根据非零系数的数量或位置确定所述候选位置步长或对应的候选位置数量。该方法允许通过检查所述系数来标识候选位置,所述系数已经存在于比特流中以支持视频重建。因此,SVT候选位置可以在比特流中标识并且还作为比特流中单独的数据元素省略,这减小了编码大小。
在一个实施例中,本发明包括一种非瞬时性计算机可读介质,包括供视频编码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质上的计算机可执行指令,当所述计算机可执行指令被处理器执行时,使得所述视频编码设备执行任一前述方面所述的方法。
在一个实施例中,本发明包括视频编码设备。所述视频编码装置包括用于接收比特流的接收模块,所述比特流包括预测块和残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的。所述视频编码设备还包括处理模块,所述处理装置用于结合所述接收模块执行上述任一方面。
为清楚起见,上述任一实施例可以与上述其它任一或多个实施例结合以创建本发明范围内的新实施例。
这些和其它特征将结合附图和权利要求书从以下详细描述中更清楚地理解。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是编码视频信号的示例性方法的流程图。
图2是用于视频编码的示例性编解码(codec)系统的示意图。
图3是可实现空间变化变换(Spatial varying Transform,SVT)的示例性视频编码器的示意图。
图4是可实现SVT的示例性视频解码器的示意图。
图5是示例性垂直SVT的示意图。
图6是示例性水平SVT的示意图。
图7A至图7E是示例性垂直SVT候选位置的示意图。
图8A至图8E是示例性水平SVT候选位置的示意图。
图9是示例性变换系数组的示意图。
图10是确定SVT大小和SVT位置的示例性方法的流程图。
图11是示例性视频编码设备的示意图。
图12示出了用于确定SVT大小和SVT位置的设备的实施例。
具体实施方式
首先应理解,尽管下文提供一个或多个实施例的说明性实施方式,但所公开的系统和/或方法可使用任何数目个技术来实现,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实施方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
视频编码涉及通过帧间预测(帧间的预测)和帧内预测(帧内的预测)进行压缩的组合。这就产生了预测块和残差块的创建。预测块是可用来重建视频帧中的像素块的预测信息块。通过表示与充当参考块的其它像素块的关系而生成预测块。残差块存储由预测块引用的参考块与正在被压缩的原始像素块之间的差异。还可以进一步压缩残差块。例如,可以对残差数据进行变换,从而将对应的残差数据转换为变换系数。变换本质上是一种信号/模式。系数描述了对模式的修改,这些修改使得模式与数据匹配。这些系数占用的空间可能比残差块中的底层残差数据占用的空间小。
然而,在一些情况下,残差块包括不均匀分布的数据。例如,残差块的大部分可以包含零值作为数据。对此类区域进行变换实际上可能会增加数据的大小。相应地,可以使用SVT。SVT是仅对残差块中的一部分残差数据使用变换块并不变换其它数据的过程。非零残差数据可以不均匀地分布于残差块上,而且这种分布可以随块而变化。SVT允许变换块放置在相对于残差块的不同位置上,以便优化压缩。在一个示例中,SVT使用四分之一残差块大小的变换块。在本示例中,其中一些变换块的高度小于残差块的高度,宽度小于残差块的宽度。这意味着一种变换可以在许多位置上进行,这些位置称为候选位置(例如,在一个示例中有81个可能的候选位置)。因此,当使用SVT时,可以标识位置,并且当许多可能的候选位置可用时,此类位置信息的信令开销可能很大。这是因为可以由唯一地指示从总候选变换位置组中选择的变换位置所需的比特数来标识该位置。随着残差块变大,候选位置数量增多,这样进一步增加信令开销,降低压缩效率。另外,在实践中,四分之一大小的SVT变换在许多情况下可能不足以覆盖残差块中的大部分非零数据,因此可能是变换压缩和信令开销之间的次优折衷。编码器还使用率失真优化(rate distortion Optimization,RDO)过程,该过程包括检查每个帧的所有可能编码选项,考虑压缩和视频质量下降,以及为每个帧选择最佳编码技术。通过创建更多潜在的编码选项来检查,候选变换位置的数量越多,RDO过程的复杂度就增加,因此候选变换位置的数量可能不理想。
本文公开了改进的SVT方案,提高压缩比和/或降低信令开销。所公开的SVT块的大小为残差块大小的二分之一。具体地,使用垂直SVT块和/或水平SVT块。垂直SVT块的高度与残差块的高度相同,宽度为残差块宽度的二分之一。水平SVT块的宽度与残差块的宽度相同,高度为残差块高度的二分之一。这种方法大大减少了候选位置的数量,从而大大降低了SVT信令开销。此外,增大SVT块大小能够对较大部分的残差数据进行变换。例如,由于仅使用两个SVT块,因此可以用一个比特来标识要使用的SVT块类型。此外,可以通过候选位置步长和/或位置索引来标识SVT块位置。解码器可以使用这些值来确定一个偏移量,使用这个偏移量(例如,而不是同时使用高度坐标和宽度坐标)来确定相对于残差块的SVT块位置。在一些示例中,可以预定义候选位置步长以进一步降低信令开销。在其它示例中,编码器可以为了降低信令而改变一些残差系数。然后,解码器可以根据残差系数确定SVT块类型、SVT块候选位置步长和/或SVT块位置索引。
图1是编码视频信号的示例性方法100的流程图。具体地,在编码器侧对视频信号进行编码。在编码过程中,通过使用各种机制来压缩视频信号,以减小视频文件的大小。较小的文件大小能够使压缩视频文件传输给用户,同时降低相关的带宽开销。然后,解码器对压缩视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常与编码过程相同,这样解码器一致地重建视频信号。
在步骤101处,将视频信号输入到编码器中。例如,视频信号可以是存储在存储器中的未压缩视频文件。又例如,视频文件可以由摄像机等视频捕获设备捕获,并且进行编码以支持视频的直播流。视频文件可以同时包括音频分量和视频分量。视频分量包含一系列图像帧,当按顺序观看时,这些图像帧给人以运动的视觉印象。这些帧包含以光线表示的像素(在本文中称为亮度分量)和以颜色表示的像素(称为色差分量)。在一些示例中,这些帧还可以包含深度值以支持三维查看。
在步骤103处,将视频分割成块。分割包括将每个帧中的像素细分为方形块和/或矩形块以用于压缩。例如,可以使用编码树来划分块,然后递归地细分块,直到实现支持进一步编码的配置。因此,这些块可以称为高效视频编码(High-Efficient Video Coding,HEVC)(也称为H.265和运动图像专家组(Motion Picture Experts Group,MPEG)-H,第2部分)中的编码树单元。例如,可以细分帧的亮度分量,直到各个块包含相对均匀的照明值。此外,可以细分帧的色差分量,直到各个块包含相对均匀的颜色值。相应地,分割机制根据视频帧的内容而不同。
在步骤105中,使用各种压缩机制来压缩在步骤103中分割的图像块。例如,可以使用帧间预测和/或帧内预测。帧间预测是利用以下事实:常见场景下的对象往往出现在连续的帧中。相应地,在参考帧中描绘一个对象的块不需要重复在相邻帧中进行描述。具体地,一个对象,例如一个表,可以在多个帧中保持恒定位置。因此,该表只描述一次,相邻帧可以返回参考这个参考帧。模式匹配机制可用来在多个帧中进行对象匹配。此外,移动中的对象可以在多个帧中进行表示,例如由于对象移动或相机移动。在一个特别的示例中,一个视频可以显示汽车在多个帧中在屏幕上移动。运动矢量可以用来描述这种移动(或没有这种移动)。运动矢量是一个二维矢量,它提供从帧中的对象的坐标到参考帧中的对象的坐标的偏移。因此,帧间预测可将当前帧中的图像块编码为运动矢量集合,这些运动矢量指示与参考帧中的对应块的偏移。
通过帧内预测对公共帧中的块进行编码。帧内预测利用了以下事实:亮度分量和色差分量往往聚集在一个帧中。例如,在一棵树的一部分上的一片绿色往往与类似的几片绿色相邻。帧内预测使用多个方向预测模式(例如,HEVC中的33个模式)、平面模式和直流(direct current,DC)模式。方向模式表示当前块与相邻块在对应方向上的像素点相似/相同。平面模式表示可以根据行边缘处的相邻块对行/列(例如平面)上的一系列块进行内插。实际上,平面模式表示光/颜色通过使用变化值构成的相对恒定的斜率在行/列之间的平滑过渡。DC模式用于边界平滑,表示块和与方向预测模式的角方向相关的所有相邻块的像素点相关的平均值相似/相同。对应地,帧内预测块可以将图像块表示为各种关系预测模式值而不是实际值。此外,帧间预测块可以将图像块表示为运动矢量值而不是实际值。在任一情况下,预测块在一些情况下可能不完全表示图像块。任何差异都存储在残差块中。可以对残差块进行变换以进一步压缩文件。
在步骤107处,可以应用各种滤波技术。在HEVC中,根据环内滤波方案使用滤波器。以上讨论的基于块的预测会在解码器侧创建块状图像。此外,在基于块的预测方案中,可以对块进行编码,然后重建编码块,稍后用作参考块。在环内滤波方案中,迭代地对块/帧使用噪声抑制滤波器、去块滤波器、自适应环路滤波器和采样点自适应偏移(sample adaptiveoffset,SAO)滤波器。这些滤波器减轻了此类块效应,以便可以准确地重建编码文件。此外,这些滤波器减轻了重建参考块效应,使得效应不太可能在基于重建参考块编码的后续块中产生额外的效应。
在步骤109中,一旦视频信号完成分割、压缩和滤波,则将所得数据编码到比特流中。比特流包括上文所述的数据以及任何期望支持解码器侧适当的视频信号重建的信令数据。例如,此类数据可以包括分割数据、预测数据、残差块和向解码器提供编码指令的各种标志。比特流可以存储在存储器中,以便根据请求向解码器传输。比特流还可以向多个解码器广播和/或组播。比特流的创建是一个迭代过程。相应地,步骤101、103、105、107和109可以在多个帧和块上连续和/或同时执行。图1所示的顺序是为了清楚和便于讨论的目的,并非旨在将视频编码过程限制于特定顺序。此外,步骤111、113、115和117处的解码可以在许多帧和块上连续和/或同时执行,因此,解码的顺序也不应视为限制。
在步骤111处,解码器接收比特流并开始解码过程。具体地,解码器使用熵解码方案将比特流转换为对应的语法和视频数据。在步骤111中,解码器使用比特流中的语法数据来确定帧的分割。分割应与步骤103中的块分割的结果匹配。现在描述在步骤111中使用的熵编码/解码。编码器在压缩过程中做出许多选择,例如根据输入图像中的值的空间位置从几个可能选项中选择块分割方案。发送确切的选择可能会使用大量的二进制位。本文中使用的二进制位是当作变量的二进制值(例如,根据上下文可能变化的比特值)。熵编码使得编码器丢弃任何明显不适合特定情况的选项,留下一组可使用的选项(例如,候选选项)。然后,为每个可使用的选项分配一个码字。码字的长度根据可使用选项的数量(例如,一个二进制位对应两个选项,两个二进制位对应三个到四个选项)。然后,编码器对所选选项的码字进行编码。此方案减小了码字的大小,因为码字的大小与期望的一样大,以唯一地指示从可使用选项的小子集中的一个选项,而不是唯一地指示从所有可能选项的潜在大集中的选项。然后,解码器通过以与编码器类似的方式确定可使用选项集来解码所述选项。通过确定可使用选项集,解码器可以读取码字并确定编码器做出的选择。
在步骤113处,解码器执行块解码。具体地,解码器进行逆变换来生成残差块。然后,解码器利用残差块和对应的预测块,根据分割来重建图像块。预测块可包括编码器侧步骤105中生成的帧内预测块和帧间预测块。然后,根据在步骤111中确定的分割数据将重建图像块放置在重建视频信号的帧中。步骤113的语法还可以通过上文讨论的熵编码在比特流中标识。
在步骤115处,以类似于编码器侧步骤107的方式对重建视频信号的帧执行滤波。例如,可以对帧使用噪声抑制滤波器、去块滤波器、自适应环路滤波器和SAO滤波器以消除块效应。一旦对帧进行滤波,可以在步骤117处将视频信号输出到显示器以供终端用户查看。
本发明涉及为了改进SVT而作出的修改。具体地,本发明引入改进型SVT块,用作对残差块进行的变换。改进型SVT块比传统的SVT块大。相应地,改进型SVT块具有更少的候选位置,降低了信令开销。此外,还公开了用于SVT块类型和位置的改进型信令机制。因此,下面各图中描述的改进型SVT块和信令机制改进了步骤105处的块压缩,在步骤109处的比特流编码,解码器侧的比特流接收,步骤113处的块解码。
图2是用于视频编码的示例性编解码(codec)系统200的示意图。具体地,编解码系统200提供功能以支持方法100的实现。编解码系统200普遍适用于描述编码器和解码器中使用的组件。如参照方法100中的步骤101和103所论述,编解码系统200接收视频信号并对视频信号进行分割,这产生分割视频信号201。然后,如参照方法100中的步骤105、107和109论述,编解码系统200在充当编码器时将分割视频信号201压缩到编码比特流中。如参照方法100中的步骤111、113、115和117论述,编解码系统200在充当解码器时从比特流中生成输出视频信号。编解码系统200包括总体编码器控制组件211、变换缩放和量化组件213、帧内估计组件215、帧内预测组件217、运动补偿组件219、运动估计组件221、缩放和逆变换组件229、滤波控制分析组件227、环内滤波器组件225、解码图像缓冲区组件223、头格式化和上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)组件231。此类组件如图所示耦合。在图2中,黑线表示待编码/解码数据的运动,而虚线表示控制其它组件操作的控制数据的运动。编解码系统200中的组件都可以存在于编码器中。解码器可包括编解码系统200的中组件的子集。例如,解码器可以包括帧内预测组件217、运动补偿组件219、缩放和逆变换组件229、环内滤波器组件225和解码图像缓冲区组件223。现对这些组件加以说明。
分割视频信号201是通过编码树分割成像素块的捕获视频序列。编码树使用各种划分模式将像素块细分为更小的像素块。然后,可以将这些块进一步细分为更小的块。这些块可以称为编码树上的节点。将较大的父节点划分成较小的子节点。节点被细分的次数称为节点/编码树的深度。在一些情况下,划分后的块称为编码单元(coding unit,CU)。划分模式可以包括二叉树(binary tree,BT)、三叉树(triple tree,TT)和四叉树(quad tree,QT),用于将节点分别分割为形状不同的两个、三个或四个子节点,具体形状取决于所使用的划分模式。将分割视频信号201转发到总体编码器控制组件211、变换缩放和量化组件213、帧内估计组件215、滤波控制分析组件227和运动估计组件221进行压缩。
总体编码器控制组件211用于根据应用约束条件做出与将视频序列中的图像编码到比特流中相关的决策。例如,总体编码器控制组件211管理比特率/比特流大小相对于重建质量的优化。可以根据存储空间/带宽可用性和图像分辨率请求做出此类决策。总体编码器控制组件211还根据传输速度管理缓冲区利用率,以减轻缓存欠载和超载问题。为了管理这些问题,总体编码器控制组件211管理由其它组件进行的分割、预测和滤波。例如,总体编码器控制组件211可以动态提高压缩复杂度以提高分辨率和带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,总体编码器控制组件211控制编解码系统200中的其它组件以平衡视频信号重建质量与比特率关注点(例如率失真优化)。总体编码器控制组件211产生控制数据,该控制数据控制其它组件的操作。还将控制数据转发到头格式化和CABAC组件231,以在比特流中编码,从而标识在解码器侧解码的参数。
分割视频信号201还发送到运动估计组件221和运动补偿组件219进行帧间预测。可以将分割视频信号201的帧或片划分为多个视频块。运动估计组件221和运动补偿组件219根据一个或多个参考帧中的一个或多个块对所接收视频块执行帧间预测编码以提供时间预测。编解码系统200可以执行多个编码过程,以便为每个视频数据块选择适当的编码模式,等等。
运动估计组件221和运动补偿组件219可以高度集成,但出于概念目的单独说明。由运动估计组件221执行的运动估计是生成运动矢量的过程,运动矢量用于估计视频块的运动。例如,运动矢量可以指示编码对象相对于预测块的位移。预测块是被发现在像素差异方面与待编码块紧密匹配的块。预测块也可以称为参考块。此类像素差异可以通过绝对差异和(sum of absolute difference,SAD)、平方差异和(sum of square difference,SSD)或其它差异度量确定。HEVC使用几个编码对象,包括编码树单元(coding tree unit,CTU)、编码树块(coding tree block,CTB)和CU。例如,可以将CTU划分为CTB,然后可以将CTB划分为CU,CU可以根据需要进一步细分。CU可以编码为包含预测数据的预测单元(predictionunit,PU)和/或包含CU的变换残差数据的变换单元(transform unit,TU)。运动估计组件221使用率失真分析生成运动矢量、PU和TU。例如,运动估计组件221可以为当前块/帧确定多个参考块、多个运动矢量等,并且可以选择码率失真特性最佳的参考块、运动矢量等。最佳率失真特性平衡了视频重建的质量(例如,压缩造成的数据丢失量)和编码效率(例如,最终编码的大小)。
在一些示例中,编解码系统200可以计算存储在解码图像缓冲区组件223中的参考图像的子整数像素位置的值。例如,视频编解码系统200可内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计组件221可对全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件221通过比较PU的位置与参考图像的预测块的位置来计算帧间编码片中视频块的PU的运动矢量。运动估计组件221将计算到的运动矢量作为运动数据输出到头格式化和CABAC组件231用于编码,并运动到运动补偿组件219。
由运动补偿组件219执行的运动补偿可涉及根据由运动估计组件221确定的运动矢量获取或生成预测块。此外,在一些示例中,运动估计组件221和运动补偿组件219可以在功能上集成。在接收到当前视频块的PU的运动矢量时,运动补偿组件219可以定位运动矢量指向的预测块。然后,通过将预测块的像素值从正在编码的当前视频块的像素值中减去,产生像素差值,从而形成残差视频块。一般来说,运动估计组件221对亮度分量执行运动估计,运动补偿组件219将根据亮度分量计算的运动矢量用于色差分量和亮度分量。将预测块和残差块转发到变换缩放和量化组件213。
分割视频信号201还发送到帧内估计组件215和帧内预测组件217。与运动估计组件221和运动补偿组件219一样,帧内估计组件215和帧内预测组件217可以高度集成,但出于概念目的单独说明。帧内估计组件215和帧内预测组件217根据当前帧中的块对当前块进行帧内预测,以替代如上所述的由运动估计组件221和运动补偿组件219在帧之间执行的帧间预测。具体而言,帧内估计组件215确定用于编码当前块的帧内预测模式。在一些示例中,帧内估计组件215从多个测试的帧内预测模式中选择适当的帧内预测模式来编码当前块。然后,将所选择的帧内预测模式转发到头格式化和CABAC组件231进行编码。
例如,帧内估计组件215使用各种测试的帧内预测模式的率失真分析来计算率失真值,并在测试的模式中选择率失真特性最佳的帧内预测模式。率失真分析通常确定编码块和为了产生编码块进行编码的原始未编码块之间的失真(或误差)量以及用于产生编码块的比特率(例如,比特数)。帧内估计组件215根据各种编码块的失真和速率计算比率,以确定哪种帧内预测模式获得块的最佳率失真值。另外,帧内估计组件215可用于根据率失真优化(rate-distortion optimization,RDO)使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行编码。
当在编码器上实现时,帧内预测组件217可根据由帧内估计组件215确定的已选帧内预测模式从预测块中生成残差块,或者当在解码器上实现时,从比特流中读取残差块。残差块包括预测块和原始块之间的值差,表示为矩阵。然后,将残差块转发到变换缩放和量化组件213。帧内估计组件215和帧内预测组件217可以对亮度分量和色差分量执行操作。
变换缩放和量化组件213用于进一步压缩残差块。变换缩放和量化组件213对残差块进行变换,例如离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)或概念上类似的变换,从而产生包括残差变换系数值的视频块。还可以进行小波变换、整数变换、子带变换或其它类型的变换。变换可将残差信息从像素值域变换到变换域,例如频域。变换缩放和量化组件213还用于根据频率等对变换残差信息进行缩放。这种缩放涉及对残差信息施加缩放因子,以便在不同的粒度上量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件213还用于量化变换系数以进一步降低比特率。量化过程可以减少与部分或全部系数相关的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,变换缩放和量化组件213随后可对包括量化变换系数的矩阵进行扫描。将量化变换系数转发到头格式化和CABAC组件231,以编码到比特流中。
缩放和逆变换组件229进行变换缩放和量化组件213的相反操作以支持运动估计。缩放和逆变换组件229进行反缩放、逆变换和/或反量化来重建像素域中的残差块,例如,后续用作参考块,该参考块可成为另一当前块的预测块。运动估计组件221和/或运动补偿组件219可以通过将残差块添加回到对应预测块来计算参考块,以用于后续块/帧的运动估计。将滤波器作用于重建参考块,以减轻在缩放、量化和变换过程中产生的效应。当预测后续块时,这些效应可能导致不准确的预测(并产生额外的效果)。
滤波控制分析组件227和环内滤波器组件225将滤波器作用于残差块和/或重建图像块。例如,来自缩放和逆变换组件229的变换残差块可以与来自帧内预测组件217和/或运动补偿组件219的对应预测块组合以重建原始图像块。然后,可以将滤波器作用于重建图像块。在一些示例中,可以将滤波器作用于残差块。与图2中的其它组件一样,滤波控制分析组件227和环内滤波器组件225高度集成且可以一起实现,但出于概念目的单独描述。作用于重建参考块的滤波器作用于特定空间区域,并且包括多个参数以调整如何应用此类滤波器。滤波控制分析组件227分析重建参考块,以确定需要在哪里应用此类滤波器并设置对应的参数。此类数据作为滤波控制数据转发到头格式化和CABAC组件231进行编码。环内滤波器组件225根据滤波控制数据应用此类滤波器。滤波器可以包括去块滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。此类滤波器可以根据示例作用于空间/像素域(例如,在重建像素块上)或频域。
当作为编码器操作时,将滤波后的重建图像块、滤波后的残差块和/或滤波后的预测块存储在解码图像缓冲区组件223中,稍后用于如上所述的运动估计。当作为解码器操作时,解码图像缓冲区组件223存储重建和滤波后的块并向显示器转发重建和滤波后的块,作为输出视频信号的一部分。解码图像缓冲区组件223可以是能够存储预测块、残差块和/或重建图像块的任何存储器设备。
头格式化和CABAC组件231从编解码系统200中的各种组件接收数据并将这些数据编码到编码比特流中以便向解码器传输。具体地,头格式化和CABAC组件231生成各种头以编码控制数据,例如总体控制数据和滤波控制数据。此外,包括帧内预测和运动数据的预测数据以及量化变换系数数据形式的残差数据均编码到比特流中。最终的比特流包括解码器想要重建原始分割视频信号201的所有信息。此类信息还可以包括帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义、最可能帧内预测模式的指示、分割信息的指示等。可以使用熵编码对此类数据进行编码。例如,可以通过使用上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probability interval partitioning entropy,PIPE)编码或其它熵编码技术来对这些信息进行编码。在熵编码之后,编码比特流可以传输到另一设备(例如,视频解码器)或存档以供稍后传输或检索。
本发明涉及为了改进SVT而作出的修改。具体地,本发明引入改进型SVT块,用作对残差块进行的变换。改进型SVT块比传统SVT块大。相应地,改进型SVT块具有更少的候选位置,降低了信令开销。此外,还公开了用于SVT块类型和位置的改进型信令机制。因此,下面各图中描述的改进型SVT块和信令机制改进了变换缩放和量化组件213、缩放和逆变换组件229、头格式化和CABAC组件231和/或总体编码器控制组件211的操作。
图3是可实现SVT的示例性视频编码器300的示意图。视频编码器300可用于实现编解码系统200的编码功能和/或实现方法100的步骤101、103、105、107和/或109。编码器300对输入视频信号进行分割,获得与分割视频信号201基本相似的分割视频信号301。然后,编码器300中的组件压缩分割视频信号301并编码到比特流中。
具体地,将分割视频信号301转发到帧内预测组件317进行帧内预测。帧内预测组件317可与帧内估计组件215和帧内预测组件217基本相似。还将分割视频信号301转发到运动补偿组件321,以根据解码图像缓冲区组件323中的参考块进行帧间预测。运动补偿组件321可与运动估计组件221和运动补偿组件219基本相似。将来自帧内预测组件317和运动补偿组件321的预测块和残差块转发到变换和量化组件313以进行残差块的变换和量化。变换和量化组件313可与变换缩放和量化组件213基本相似。将变换和量化残差块和对应的预测块(连同相关控制数据)转发到熵编码组件331以编码到比特流中。熵编码组件331可与头格式化和CABAC组件231基本相似。
变换和量化残差块和/或对应的预测块还从变换和量化组件313转发到逆变换和量化组件329以重建为参考块供运动补偿组件321使用。逆变换和量化组件329可与缩放和逆变换组件229基本相似。环内滤波器组件325中的环内滤波器也作用于重建参考块。环内滤波器组件325可与滤波控制分析组件227和环内滤波器组件225基本相似。如参照环内滤波器组件225所述,环内滤波器组件325可以包括多个滤波器。然后,将滤波块存储在解码图像缓冲区组件323中,以作为参考块供运动补偿组件321使用。解码图像缓冲区组件323可与解码图像缓冲区组件223基本相似。
本发明涉及为了改进SVT而作出的修改。具体地,本发明引入改进型SVT块,用作对残差块进行的变换。改进型SVT块比传统SVT块大。相应地,改进型SVT块具有更少的候选位置,从而降低了信令开销。此外,还公开了用于SVT块类型和位置的改进型信令机制。例如,SVT类型和/或位置可以标识为参数集中的参数。又例如,编码器300可以改变变换残差块中的系数以标识SVT类型和/或位置。因此,下面各图中描述的改进型SVT块和信令机制改进了编码器300中的变换和量化组件313、逆变换和量化组件329和/或熵编码组件331的操作。
图4是可实现SVT的示例性视频解码器400的示意图。视频解码器400可用于实现编解码系统200的解码功能和/或实现方法100的步骤111、113、115和/或117。例如,解码器400从编码器300等接收比特流,并根据比特流生成重建输出视频信号以显示给终端用户。
比特流由熵解码组件433接收。熵解码组件433用于实现熵解码方案,例如CAVLC、CABAC、SBAC、PIPE编码或其它熵编码技术。例如,熵解码组件433可以使用头信息来提供上下文以解析在比特流中编码为码字的附加数据。解码信息包括解码视频信号所需的任何信息,例如总体控制数据、滤波控制数据、分割信息、运动数据、预测数据和来自残差块的量化变换系数。将量化变换系数转发到逆变换和量化组件429以重建为残差块。逆变换和量化组件429可与逆变换和量化组件329基本相似。
将重建残差块和/或预测块转发到帧内预测组件417以根据帧内预测操作重建为图像块。帧内预测组件417可与帧内估计组件215和帧内预测组件217相似。具体地,帧内预测组件417使用预测模式来定位帧中的参考块,并将残差块与结果相加以重建帧内预测图像块。重建帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件425转发到解码图像缓冲区组件423,解码图像缓冲区组件423和环内滤波器组件425可以分别与解码图片缓冲器组件223和环内滤波器组件225基本相似。环内滤波器组件425对重建图像块、残差块和/或预测块进行滤波,并且此类信息存储在解码图像缓冲区组件423中。将来自解码图像缓冲区组件423的重建图像块转发到运动补偿组件421进行帧间预测。运动补偿组件421可与运动估计组件221和/或运动补偿组件219基本相似。具体地,运动补偿组件421使用参考块的运动矢量来生成预测块,并将残差块与结果相加以重建图像块。所得重建块还可以通过环内滤波器组件425转发到解码图像缓冲区组件423。解码图像缓冲区组件423继续存储附加重建图像块,这些图像块可以通过分割信息重建成帧。这些帧也可以按序列放置。该帧序列作为重建输出视频信号向显示器输出。
本发明涉及为了改进SVT而作出的修改。具体地,本发明引入改进型SVT块,用作对残差块进行的变换。改进型SVT块比传统SVT块大。因此,改进型SVT块具有更少的候选位置,降低了信令开销。此外,还公开了用于SVT块类型和位置的改进型信令机制。例如,SVT类型和/或位置可以标识为参数集中的参数。又例如,编码器300可以改变变换残差块中的系数以标识SVT类型和/或位置。因此,下面各图中描述的改进型SVT块和信令机制改进了解码器400中的熵解码组件433和逆变换和量化组件429的操作。
现在通过参照下面各图提供的更多示例性实施细节大体上描述对方法100、编解码系统200、编码器300和/或解码器400的改进。如上所述,编码器(例如,编码器300)通过将像素块转换为预测信息的方式来编码像素块,像素块也可以称为预测块。预测块通过参考对应的参考块对像素块进行编码。即使匹配最佳的参考块也可能与正在编码的像素块有所不同。因此,单独预测块提供的信息可能不足以在解码器(例如,解码器400)侧重建像素块。像素块和预测块所参考的参考块之间的差异编码到残差块中。因此,解码器可以通过使用预测块、残差块和对应的参考块来解码像素块。通过对残差块中包括的值进行变换,可以进一步压缩残差块。这种方式将残差块值转换为变换域(例如,频域)中的系数。由于与变换计算机制有关的原因,特别是当残差块包括大量零值组时(这发生在像素块与参考块之间良好匹配的情况下),变换整个残差块可能也无法提供最佳压缩。
相应地,SVT过程将变换块放置在编码器侧的残差块上。变换块将残差块的对应部分变换为变换系数,而残差块的其它部分不进行变换。然后,可以残差块编码到比特流中,作为变换系数和非零值(如果有的话)的组合。为了解码残差块,解码器应该知道所使用的变换(可以预定义)、变换块的大小和变换块相对于残差块的位置。然后,解码器可以将对应的逆变换块与残差块相加以重建残差块值,以便进一步解码。逆变换是变换的相反数学函数,可用于反转由变换引起的计算。因此,变换可将数据值转换为系数,逆变换则根据系数恢复原始数据值。需要说明的是,本文使用变换/变换块来指代编码时的变换和解码时的对应逆变换,以便提高讨论的清晰度。
标识SVT信息以支持将变换块放置在解码器侧会降低整体压缩/编码效率。本发明包括SVT改进点,以在选择变换块时降低信令开销、提高编码效率和/或降低编码器侧RDO过程的复杂度。在本发明中,限制编码器选择垂直SVT或水平SVT,分别如图5和图6所示。由于只有两种选择,降低了信令开销。例如,通过确定使用垂直还是水平SVT块类型,可以在解码器侧确定变换块大小和形状。垂直SVT和水平SVT覆盖残差块的大小的二分之一,因此进行变换的残差块多于其它SVT方案(仅覆盖残差块的四分之一)。此外,垂直SVT是指残差块的高度,水平SVT是指残差块的宽度。这样,变换块的位置被限制为一小组对应的垂直SVT候选位置或水平候选位置,其示例分别如图7A和图8A所示。可以通过哪个选择候选位置进行编码的方式来标识变换块的位置。具体地,解码器可以通过确定SVT块类型、候选位置步长和位置索引来确定为SVT块选择的候选位置。可以标识SVT块类型和位置索引,并且可以根据示例预定义或标识候选位置步长。SVT块类型、候选位置步长和/或位置索引在本文中称为SVT信息。
本发明还包括用于标识SVT信息的改进型信令机制。在一些示例中,SVT信息在序列参数集(sequence parameter set,SPS)、图像参数集(picture parameter set,PPS)、片头等参数集中标识。在一些示例中,可以通过残差块中的系数标识部分或全部SVT信息,以降低信令开销。例如,编码器可以在不显著影响整体图像质量的情况下调整残差值/变换系数。因此,编码器可以在某些预定义位置上调整残差值/变换系数以指示SVT信息或其部分。然后,解码器可以在预定义位置处查看残差值/变换系数组,以确定SVT信息。图9示出了此类系数组的示例。在一个特定示例中,解码器可以对预定义组执行求和或求模运算等算术函数,以单独或结合参数集中的信令确定SVT信息。下面将结合对应的各图论述上述改进点的详细内容。
需要说明的是,在一些示例中,SVT可以限制用于基于帧间预测的预测块。在其它示例中,SVT还可以用于基于帧内预测的预测块。在一些示例中,SVT可以用于使用特定帧间预测机制(例如,基于平移模型的运动补偿)的预测块,但不用于使用其它帧间预测机制(例如,基于仿射模型的运动补偿)的预测块。
图5是示例性垂直SVT 543的示意图500。垂直SVT 543是可以根据位置偏移545放置在残差块541上的SVT块(例如,垂直SVT块)。例如,垂直SVT 543可以对在方法100的步骤105和/或113处使用的残差块541进行变换。此外,垂直SVT 543可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。垂直SVT 543根据示例是包含变换或逆变换的块,用于分别将残差块541中的数据值从像素域变换为频率/变换域,或者从频率/变换域变换成像素域。
残差块541包含表示预测块与一个或多个对应参考块之间的差异的值的矩阵。相应地,可以使用残差块541和对应的预测块在解码器侧重建图像块。在编码器侧,残差块541最初包含不同分布的值。预测块与参考块之间的匹配越接近,残差块541中包含的非零值越少。因此,不同的残差块541可以在不同位置处包含不同数量的零值和非零值。当非零值的位置变化时,垂直SVT 543可以放置在几个候选位置中的一个位置,以便覆盖并因此变换尽可能多的非零值。
在编码器侧,垂直SVT 543由带有对角线阴影的框表示,可以通过将残差块541的一部分值转换为变换系数来进行垂直SVT 543,以压缩残差块541。垂直SVT 543包括变换,例如DCT、DST或其它变换(例如,傅里叶相关变换)。变换是可以用具有不同频率和振幅的正弦曲线表示的函数/信号。在编码器侧,变换将变换所覆盖的残差块541的值转换为变换系数,变换系数表示变换函数与由垂直SVT 543覆盖的残差块541中的值生成的信号之间的差异。因此,编码器可以将残差块541编码到比特流中,作为值和变换系数的组合。具体地,变换的残差块541可以包括变换生成的系数,并且还可以包括位于变换块覆盖的残差块541的区域之外的未变换的值。在解码器侧,接收残差块541作为值和变换系数的组合。在解码器侧,垂直SVT 543包含在编码器侧使用的变换的逆变换。可对变换系数进行逆变换以重建仅包含数值的残差块541。然后,残差块541可以与预测块和参考块结合使用,以重建像素块,以供在视频序列中使用。
垂直SVT 543覆盖残差块541的二分之一。相对于其它SVT方案(使用覆盖残差块的四分之一的SVT块),这增加了通过垂直SVT 543进行变换的残差块541中的值的数量。具体地,残差块541包括宽度(w)541a和高度(h)541b。垂直SVT 543包括变换宽度(w_t)543a和变换高度(h_t)543b。垂直SVT 543变换的高度543b等于残差块541的高度541b。垂直SVT 543变换的宽度543a为残差块541的宽度541a的二分之一。这允许将垂直SVT 543相对于残差块541水平移动到不同候选位置,但是垂直SVT 543不能相对于残差块541垂直移动。因此,垂直SVT 543的候选位置的数量是残差块541的宽度541a的函数,而不是残差块541的高度541b的函数。相对于其它SVT方案,这减少了垂直SVT 543的可能候选位置的数量。
此外,由于垂直SVT 543从垂直角度只能放置在一个位置,因此没有标识垂直坐标来定位垂直SVT 543。具体地,垂直SVT 543的位置与残差块之间可以相差位置偏移545。垂直SVT 543的位置偏移545表示垂直SVT 543的起始位置与残差块541的左侧之间的水平距离。
例如,可以根据候选位置步长(candidate position step size,CPSS)确定垂直SVT 543的候选位置。当使用CPSS时,候选位置在CPSS指定的方向上(例如,在垂直SVT 543的水平方向上)以等间距分隔。在一些示例中,候选位置的数量可以减到不超过5个。这进一步降低了位置信息的开销信令。这还可以在决定RDO过程中的最佳变换块位置时降低编码器侧的决策复杂度。
候选位置步长是指示两个相邻候选位置相对于残差块541的距离的值。候选位置步长可以用于确定SVT块的可能候选位置集合。位置索引是一个数据值,指示从候选位置集合中选择的SVT位置。CPSS可以根据残差块541的宽度541a或高度541b进行计算,具体取决于使用垂直SVT 543还是使用水平SVT,如下文更详细地论述。例如,可以根据以下等式1确定垂直SVT 543的CPSS:
CPSS=w/M1 等式1
其中,w是宽度541a,M1是表示预定义步长的整数,可以在2至8的范围内。候选位置越多,M1值越大。在一个示例中,将M1设置为8,表示允许使用位置索引从0到4。该示例在图7A中描述。在另一个示例中,可以根据以下等式2确定垂直SVT 543的CPSS:
CPSS=max(w/M1,Th1) 等式2
其中,w是宽度541a,M1是表示预定义步长的整数,max()为在所包括的值中取最大值的函数。因此,垂直SVT 543的CPSS可以是残差块541的宽度541a与步长的最大阈值的函数。在一个特定示例中,M1可以是2和8之间的整数(例如,8、4或2)。Th1可以为2或大于2的整数。M1和/或Th1可以是编码器/解码器已知的固定值和/或可以取自比特流中的序列参数集(sequence parameter set,SPS)、图像参数集(picture parameter set,PPS)和片头等高级语法结构。
例如,通过使用CPSS,可以通过使用索引来确定位置偏移545。在这种情况下,可以标识该索引以指示编码器选择的候选位置。然后,解码器可以使用该索引和CPSS来确定位置偏移545,并在适当位置对残差块541进行垂直SVT 543。
本发明还包括用于编码SVT信息的改进型信令机制。SVT信息可以包括SVT类型,在这种情况下包括垂直SVT 543和变换块相对于残差块541的位置。在一些示例中,可以通过检查残差块541中的变换系数在解码器侧确定此类数据的部分或全部。例如,残差块541中的变换系数值的微小变化可能不会显著影响最终图像质量。相应地,编码器可以改变残差块541中的变换系数值以标识SVT信息。然后,解码器可以检查残差块541中的变换系数值以确定SVT信息。例如,位置索引和/或CPSS等垂直SVT 543位置信息可以从残差块541中的变换系数幅度之和推导出。又例如,SVT类型信息可以从第一组变换系数(例如,扫描顺序中的前16个系数)之和推导出,位置信息从第二组变换系数(例如,残差块541中的剩余系数)之和推导出。又例如,可以根据变换系数信息确定候选位置的数量,并且可以根据候选位置的数量对位置信息进行解码。
图6是示例性水平SVT 643的示意图600。水平SVT 643是可以根据位置偏移645放置在残差块641上的SVT块(例如,水平SVT块)。例如,水平SVT 643可以使在方法100的步骤105和/或113处使用的残差块641发生变换。此外,水平SVT 643可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。水平SVT 643根据示例是包含变换或逆变换的块,用于分别将残差块641中的数据值从像素域变换为频率/变换域,或者从频率/变换域变换成像素域。
水平SVT 643由带有对角线阴影的框表示,与垂直SVT 543基本相似,但包括不同的维度。例如,编码器可以根据非零值的分布选择水平SVT 643或垂直SVT 543使残差块541/641发生变换。具体地,残差块641包括宽度641a和高度641b,并且这些项可以分别与残差块541、宽度541a和高度541b基本相似。水平SVT 643还覆盖残差块641的二分之一。水平SVT 643包括变换宽度(w_t)643a和变换高度(h_t)643b。水平SVT 643的变换高度643b为残差块641的高度641b的二分之一。水平SVT 643的变换宽度643a等于残差块641的宽度641a。这使得水平SVT 643相对于残差块641垂直移动到不同的候选位置(与垂直SVT 543的水平移动相比)。水平SVT 643不能相对于残差块641水平移动。因此,水平SVT 643的候选位置的数量是残差块641的高度641b的函数,而不是残差块641的宽度641a的函数。相对于其它SVT方案,这减少了水平SVT 643的可能候选位置的数量。
对于水平SVT 643,位置偏移645表示水平SVT 643的起始位置与残差块641的上方之间的垂直距离。由于水平SVT 643只能放置在单个水平位置上,因此位置偏移645包含的信息足以将水平SVT 643相对残差块641放置。与垂直SVT 543相似,水平SVT 643可以根据CPSS进行放置。然而,当使用水平SVT 643时,CPSS表示在CPSS指定的垂直方向上等间距分隔的候选位置。CPSS的确定和对应的信令可以与垂直SVT 543的CPSS确定/信令基本相似。然而,可以将水平SVT 643的CPSS确定为残差块641的高度641b的函数。
例如,可以根据以下等式3确定水平SVT 643的CPSS:
CPSS=h/M2 等式3
其中,w是高度541b,M2是表示预定义步长的整数,可以在2至8的范围内。候选位置越多,M3值越大。在一个示例中,将M3设置为8,表示允许使用位置索引从0到4。该示例在图8A中描述。在另一个示例中,可以根据以下等式4确定水平SVT 643的CPSS:
CPSS=max(h/M2,Th2) 等式4
其中,h是高度541b,M2是表示预定义步长的整数,max()为在所包括的值中取最大值的函数。因此,水平SVT 643的CPSS可以是残差块641的高度641b与步长的最大阈值的函数。在一个特定示例中,M2可以是2和8之间的整数(例如,8、4或2)。Th2可以为2或大于2的整数。M2和/或Th2可以是编码器/解码器已知的固定值和/或可以取自比特流中的序列参数集(sequence parameter set,SPS)、图像参数集(picture parameter set,PPS)和片头等高级语法结构。此外,可以由变换系数通过与垂直SVT 543类似的方式标识水平SVT 643的SVT信息。
图7A至图7E是示示例性垂直SVT候选位置700的示意图。例如,垂直SVT候选位置700可以由垂直SVT 743使用,垂直SVT 743可以实现垂直SVT 543。因此,可以在方法100的步骤105和/或113处使用候选位置700。此外,候选位置700可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。
候选位置700包括垂直SVT 743根据位置偏移745的变化相对于残差块741占用的不同可能位置,残差块741和位置偏移745可以分别类似于残差块541和位置偏移545。在所示示例中,CPSS计算产生五个可能的候选位置700。具体地,图7A描绘了位置偏移745为零的第一候选位置(例如,位置索引1);图7B描绘了位置偏移745为八分之一残差块741宽度的第二候选位置(例如,位置索引2);图7C描绘了位置偏移745为四分之一残差块741宽度的第三候选位置(例如,位置索引3);图7D描绘了位置偏移745为八分之三残差块741宽度的第四候选位置(例如,位置索引4);图7E描绘了位置偏移745为二分之一残差块741宽度的第五候选位置(例如,位置索引5)。相应地,可以通过确定使用了垂直SVT 743(例如,而不是水平SVT),确定CPSS(例如,在本示例中,产生5个候选位置700),并确定位置索引以指示哪一个候选位置700的方式将垂直SVT 743放置在特定残差块741上。使用的SVT块的标识、CPSS/候选位置和/或位置索引可以作为SVT信息在编码器和解码器之间标识。SVT信息可以在参数集中标识或编码到残差块741系数中。下文将更详细地论述信令机制。
图8A至图8E是示例性水平SVT候选位置800的示意图。例如,垂直SVT候选位置800可以由水平SVT 843使用,水平SVT 843可以实现水平SVT 643。因此,可以在方法100的步骤105和/或113处使用候选位置800。此外,候选位置800可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。
候选位置800包括水平SVT 843可以根据位置偏移845的变化相对于残差块841占用的不同可能位置,残差块841和位置偏移845可以分别类似于残差块641和位置偏移645。在所示示例中,CPSS计算产生五个可能的候选位置800。具体地,图8A描绘了位置偏移845为零的第一候选位置(例如,位置索引1);图8B描绘了位置偏移845为八分之一残差块841宽度的第二候选位置(例如,位置索引2);图8C描绘了位置偏移845为四分之一残差块841宽度的第三候选位置(例如,位置索引3);图8D描绘了位置偏移845为八分之三残差块841宽度的第四候选位置(例如,位置索引4);图8E描绘了位置偏移845为二分之一残差块841宽度的第五候选位置(例如,位置索引5)。相应地,可以通过确定使用水平SVT 843(例如,而不是垂直SVT),确定CPSS(例如,在本示例中,产生5个候选位置800),并确定位置索引以指示使用哪一个候选位置800的方式将水平SVT 843放置在特定残差块841上。使用的SVT块的标识、CPSS/候选位置和/或位置索引可以作为SVT信息在编码器和解码器之间标识。SVT信息可以在参数集中标识或编码到残差块841的系数中。下文将更详细地论述信令机制。
图9是示例性变换系数组900的示意图。例如,变换系数组900可用于标识垂直SVT743或水平SVT 843的SVT信息,垂直SVT 743或水平SVT 843可分别实现垂直SVT 543或水平SVT 643。因此,为了响应步骤105,可以生成变换系数组900,而且变换系数组900可以标识SVT信息,以在方法100的步骤113处使用。此外,变换系数组900可用于表示供变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用的SVT信息。
变换系数组900包括残差块中已经通过变换块943进行变换的变换系数,变换块943根据具体示例可以是垂直SVT 543、垂直SVT 743、水平SVT 643和/或水平SVT 843。变换系数组900包括由带有水平阴影的框描绘的第一变换系数组947以及由带有垂直阴影的框描绘的第二变换系数组949。第一变换系数组947包括可以预定义的第一变换组宽度(w_t1)和第一变换组高度(h_t1)。第二变换系数组949包括同样可以预定义的第二变换组宽度(w_t2)和第二变换组高度(h_t2)。此类宽度和高度可以根据具体示例而变化。此外,一些示例同时使用第一变换系数组947和第二变换系数组949来标识SVT信息,而一些示例使用一个变换系数组947或949来标识SVT信息。还需要说明的是,在一些编码方案中,视频帧被划分为亮度分量(称为Y分量)和色差分量(称为U分量和V分量)。相应地,可能存在单独的残差块,因此Y、U和/或V分量的变换系数组可能不同。
在一个示例中,可以通过确定仅由Y分量组成的变换块943中的变换系数之和来确定至少一些SVT信息。在一个示例中,可以通过确定Y、U和V分量组成的对应变换块943中的变换系数之和来确定至少一些SVT信息。在另一个示例中,可以通过确定系数扫描顺序中(例如,使用zig-zag扫描)Y分量组成的变换块943中的前N个变换系数之和来确定至少一些SVT信息,其中N可以是整数,例如16或32。
在另一个示例中,可以通过确定在变换块943的左上角部分存在大小为w_t1×h_t1的区域的第一变换系数组947中的系数之和来确定至少一些SVT信息。该位置可对应于较低频率变换系数。在一个示例中,w_t1和h_t1均设为4。在另一个示例中,根据以下等式5和等式6设置w_t1和h_t1:
w_t1=max(w/8,4) 等式5
h_t1=max(h/8,4) 等式6
其中,w_t1和h_t1分别为第一变换系数组947的宽度和高度,h和w分别为残差块的高度和宽度,max()为在包括的值中取最大值的函数。例如,第一变换系数组947的偶数和可以指示使用垂直SVT,第一变换系数组947的奇数和可以指示使用水平SVT,或者第一变换系数组947的偶数和可以指示使用水平SVT,第一变换系数组947的奇数和可以指示使用垂直SVT。
在另一个示例中,可以通过确定第二变换系数组949之和来确定至少一些SVT信息。例如,可以根据第二变换系数组949中的变换系数之和推导出位置索引。第二变换系数组949可位于残差块左上角大小为w_t2×h_t2的区域中,不包括第一变换系数组947。在一个示例中,w_t2=w_t且h_t2=h_t,因此,除第一变换系数组947之外的所有系数都属于第二变换系数组949。在另一个示例中,根据以下等式7和等式8确定w_t2和h_t2:
w_t2=max(w_t/2,w_t1) 等式7
h_t2=max(h_t/2,h_t1) 等式8
其中,w_t2和h_t2分别为第二变换系数组949的宽度和高度,w_t1和h_t1分别为第一变换系数组947的宽度和高度,w_t和h_t分别为变换块943的宽度和高度。
在一个示例中,可以使用第一变换系数组947来确定SVT位置索引。在另一个示例中,第一变换系数组947可用于确定SVT类型,第二变换系数组949可用于确定SVT位置索引,或者第一变换系数组947可用于确定SVT位置索引,第二变换系数组949可用于确定SVT类型。系数扫描顺序可以根据变换块943的宽度和高度推导出。此外,在解析SVT位置上的变换系数时,可以跳过第一变换系数组947覆盖的位置上的系数,从而将系数分配给第二变换系数组949。
例如,可以根据变换系数组947或949中的变换系数之和以及与SVT块相关的候选位置的数量确定SVT块的位置索引。在本示例中,SVT块类型可以在参数集中标识,并且可以根据CPSS确定候选位置的数量,CPSS可以在参数集中预定义或标识。可以根据以下等式9确定位置索引:
P=St%Nt 等式9
其中,P是位置索引;St是变换系数组947或949中的变换系数之和;Nt是SVT块的候选位置的数量;%表示求模运算,求出St除以Nt的余数。
在一个具体示例中,等式1至4中的参数M1和M2可以设为4,产生水平SVT或垂直SVT的3个候选位置。这将等式9中的Nt针对水平SVT或垂直SVT设为3。然后,位置索引计算为St除以3的余数。在另一个示例中,参数M1和M2可以设为2,产生水平SVT或垂直SVT的2个候选位置。这将等式9中的Nt针对水平SVT或垂直SVT设为2。然后,位置索引计算为St除以2的余数。
在另一个示例中,位置索引可以部分通过变换系数组947或949中的变换系数之和决定。参数M1和M2可以设为8,从而产生SVT的5个候选位置。当St模3等于0时,确定位置索引为0,当St模3等于1时,确定位置索引为4。否则,位置索引值介于1和3之间,但不确定。然后,从参数集中解析具有三个可能值的语法元素,以确定位置索引是等于1、2还是3(例如,如果语法元素值为0、1或2,则分别设置P为1、2或3)。
在一些示例中,解码器可以使用条件检查来确定系数和中是否隐藏了任何SVT信息。例如,当变换系数的数量小于阈值(例如,4或6)或第一个系数和最后一个系数之间的距离小于阈值(例如,5或6)时,位置索引不依赖于系数和。在这种情况下,显式标识位置索引,解码器不通过分析变换系数组947或949来获得SVT信息。
图10是确定SVT大小和位置的示例性方法1000的流程图。例如,方法1000可使用变换系数组900来标识SVT信息。此外,方法1000可以使用垂直SVT 543和/或743或水平SVT643和/或843来变换残差块。因此,方法1000可以用作方法100的步骤105和/或113的部分。此外,方法1000可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。
在步骤1001处,在解码器400等解码器侧接收比特流。比特流中包含视频数据的至少一个图像/帧以供解码。图像/帧被划分成多个矩形图像区域。每个区域对应一个CTU。CTU根据比特流中包含的块分割信息分割为多个块,例如,HEVC中的编码单元。根据编码信息从码流中解析块的编码信息,以重建块的像素。在一个示例中,块可以指编码单元,其中编码单元可以包含一个预测块和一个残差块。预测块可以包含编码单元的预测像素点。残差块可包含编码单元的残差像素点。预测块的大小可以与残差块的大小相同。在另一个示例中,编码单元可以包含两个预测块和一个残差块。在这种情况下,每个预测块可以包含编码单元的一部分预测像素点,而残差块包含编码单元的残差像素点。在另一个示例中,编码单元可以包含两个预测块和四个残差块。编码单元中的残差块的分割模式可以在比特流中标识,例如,HEVC中的残差四叉树(Residual Quad-Tree,RQT)。在一些示例中,块可以仅包含图像像素点(或像素)的亮度/Y分量。在其它示例中,块可以包括图像像素点/像素的亮度和色差分量(Y、U和V分量)。因此,比特流包括表示编码像素块的预测块。比特流还包括系数进行SVT变换的残差块。
在步骤1003处,解码器判断是否使用SVT,与其它变换机制相反。例如,解码器可以根据语法元素确定SVT的使用情况。对于能够使用SVT的残差块,可以从比特流中解析出标志(即SVT标志(svt_flag))。标志指示残差块是否使用与残差块大小相同的变换块进行编码(例如,svt_flag=0),或者残差块是否使用比残差块大小更小的变换块进行编码(例如,svt_flag=1)。当残差块具有亮度分量(在一些示例中为色差分量)的非零变换系数时,执行该检查。例如,可以使用与亮度/色差分量对应的编码块标志(cbf)来指示块是否具有对应分量的非零变换系数。此外,可以使用根编码块标志(根cbf)来指示块是否具有任何颜色分量的非零变换系数。在一个示例中,当使用帧间预测来预测对应块时,残差块能够使用SVT,并且块宽度或块高度在a1~a2的预定范围内,其中,a1=16且a2=64,或者a1=8且a2=64,或者a1=16且a2=128。a1和a2的值可以是固定值。该值也可以取自SPS、PPS或片头。如果块不使用SVT,则变换块的大小设为与残差块的大小相同。否则,方法1000进行到步骤1005。
一旦方法1000确定使用SVT,在步骤1005处确定用于变换残差块中的系数的SVT块的类型。如上所述,可以使用许多不同的机制来确定所使用的SVT块的类型。从由垂直SVT和水平SVT组成的组中选择SVT块的类型。垂直SVT的高度等于残差块的高度,且宽度等于残差块宽度的二分之一。水平SVT的高度等于残差块高度的二分之一,且宽度等于残差块的宽度。
在一个示例中,可以根据语法元素(例如,参数集中的参数)确定SVT块的类型。然后,可以根据SVT类型推导出变换块大小。例如,残差块能够使用的SVT类型可以根据残差块的宽度和高度决定。当残差块宽度在a1~a2的范围内时,能够使用垂直SVT,其中a1和a2为预定义的整数。当残差块宽度在a1~a2的范围内时,能够使用水平SVT,其中a1和a2为预定义的整数。在一些示例中,SVT可以仅用于Y分量。在其它示例中,SVT可用于所有三个分量。当SVT仅用于Y分量时,Y分量残差块通过SVT进行变换,U分量和V分量残差块根据对应残差块的大小进行变换。当能够使用垂直SVT和水平SVT时,可以从比特流中解析出SVT类型标志(svt_type_flag)。SVT类型标志可以指示残差块是使用垂直SVT(例如,svt_type_flag=0)还是使用水平SVT(例如,svt_type_flag=1)。然后,根据标识的SVT类型设置变换块大小。例如,对于垂直SVT,变换宽度设为残差块宽度的二分之一,变换高度设为残差块高度;对于水平SVT,变换宽度设为残差块宽度,变换高度设为残差块高度的二分之一。当仅能够使用垂直SVT或水平SVT时,可以不从比特流中解析出svt_type_flag,变换块大小根据能够使用的SVT类型设置。
在另一个示例中,可以根据参照图9论述的第一组系数来确定SVT块的类型。例如,可以通过对残差块(针对Y分量,或Y、U和V分量)中的系数进行算术运算来确定SVT块的类型。这种算术运算可以包括求和运算、求模运算、除法运算或其组合。在一些示例中,可对残差块中的所有系数进行算术运算。在其它示例中,可以对残差块中的前X个系数进行算术运算,其中X是预定义的整数。在其它示例中,可对残差块的预定义区域内的系数(例如,在残差块的左上角)进行算术运算。不论采用何种机制,方法1000在确定SVT块类型和对应大小后进行到步骤1007。
一旦确定了SVT块的类型,则在步骤1007处确定SVT块相对于残差块的位置。可以通过确定SVT块的候选位置的候选位置步长/数量和位置索引来确定SVT块的位置。这可以通过几种机制来实现。
在一个示例中,从比特流中解析出位置索引(P)。可以使用截断一元码将位置索引P二值化为一个或多个二进制位。例如,当P值在0到4的范围内时,P值0、4、2、3和1分别被二值化为0、01、001、0001和0000。当P值在0到1之间时,P值0和1分别被二值化为0和1。可以根据以下等式10确定变换块的左上角到残差块的左上角的位置偏移(Z):
Z=S×P 等式10
其中,s为CPSS,P为位置索引,Z为位置偏移。对于垂直SVT,P的值可以为
Figure GDA0003158488630000201
Figure GDA0003158488630000202
对于水平SVT,P的值可以为
Figure GDA0003158488630000203
具体地,(0,0)表示残差块左上角的坐标时,变换块左上角的坐标在使用垂直SVT时为(Z,0),在水平SVT时为(0,Z)。
CPSS可根据上述等式1至4中的任一者计算。例如,在此类等式中,Th1和Th2可以设为4,M1和M2设为8,产生候选位置700和800,取决于SVT类型和残差块宽度和高度。相应地,不同的残差块大小可以具有不同数量的候选位置。例如,当垂直SVT的残差块宽度为8时,垂直SVT的2个候选位置700是可用的(例如,如图7A和图7E所示)。此外,当垂直SVT的残差块宽度为16时,有3个候选位置700是可用的(例如,如图7A、图7C和图7E所示)。另外,当垂直SVT的残差块宽度大于16时,有5个候选位置700是可用的。在改变残差块高度时,方法同样适用于水平SVT。
在本机制的其它特定示例中,可以使用等式1和等式3,其中M1和M2设为4,产生三个可使用的候选位置。因此,可以通过将残差块的宽度除以预设整数(M1)来确定垂直SVT类型的候选位置步长,或者通过将所述残差块的高度除以预设整数(M2)来确定水平SVT类型的候选位置步长。在一个特定示例中,M1和M2可以设为2,产生两个可使用的候选位置。
在另一个示例中,可以使用等式2和等式4。因此,通过取在最小步长Th1和残差块的宽度除以M1的结果之间的最大值,可以确定垂直SVT的候选位置步长。此外,通过取最小步长Th2与残差块的高度除以M2的结果中的最大值,可以确定水平SVT的候选位置步长。在一些情况下,可以根据残差块的宽度和/或高度设置预设整数M1和/或M2。在一个特定示例,Th1和Th2可以设为2;如果残差块宽度大于或等于残差块高度,则M1可以设为8,如果残差块宽度小于残差块高度,则M1可以设为4。此外,如果残差块高度大于或等于残差块宽度,则M2可以设为8;如果残差块高度小于残差块宽度,则M2可以设为4。在这种情况下,垂直SVT或水平SVT的候选位置的数量还可以取决于残差块的宽高比。在另一个示例中,根据等式2和等式4计算CPSS,其中M1、M2、Th1和Th2的值取自比特流中的高级语法结构(例如,SPS、PPS、片头)。M1和M2可能共用从一个语法元素解析出来的同一个值,Th1和Th2可能共用从一个语法元素解析出来的同一个值。相应地,CPSS可以预定义或通过比特流标识。通过将候选位置步长乘以位置索引确定SVT块的位置。还需要说明的是,当通过语法参数标识位置索引时,可以根据候选位置的数量使用截断一元码来解码位置索引,其中最大可能值为候选位置的数量减1。
在另一个示例中,根据变换系数的分布推导出SVT的位置索引。例如,可以通过对残差块中的系数进行算术运算来确定位置索引。这种算术运算可以包括求和运算、求模运算、除法运算或其组合。例如,可以通过对变换系数组(例如参照图9论述的变换组900中的一个变换组)进行运算来确定位置索引。可以通过考虑残差块中的所有系数、第一变换组中的系数和/或第二变换组中的系数来确定位置索引,其中第一变换组指示SVT类型。在另一个示例中,根据变换系数的分布推导出使用SVT的残差块的候选位置的数量(例如,通过对系数组进行算术运算,如上文参照确定位置索引所述)。
也可以使用上述机制的各种组合。例如,当系数的数量小于或等于阈值时,可以从比特流中获取位置索引;当系数的数量大于阈值时,可以通过对系数进行算术运算来确定位置索引。在另一个示例中,候选位置步长根据非零系数的数量或位置确定。例如,可以使用非零变换系数的数量(Nnz)来决定候选位置的数量。如果Nnz小于阈值(例如,4、5或8),则候选位置步长可以设为:对于垂直SVT,残差块宽度除以4;对于水平SVT,残差块高度除以4,可能会产生3个候选位置。反之,可以将候选位置步长设为:对于垂直SVT,残留块宽度除以8;对于水平SVT,残差块高度除以8,可能会产生5个候选位置。在另一个示例中,如果最后一个非零变换系数位于变换块中左上4乘以4的区域内,则候选位置步长可以设为:对于垂直SVT,残差块宽度除以4;对于水平SVT,残差块高度除以4,产生了3个候选位置。反之,候选位置步长可以设为:对于垂直SVT,残差块宽度除以8;对于水平SVT,残差块高度除以8,产生了5个候选位置。
无论采用何种机制来确定SVT类型和位置,方法1000进行到步骤1009。在步骤1009处,例如根据SVT块类型,从残差块中解析出系数。该解析过程可以使用HEVC或标准H.264中描述的变换系数解析,HEVC或标准H.264也称为MPEG-4第10部分:高级视频编码(MPEG-4AVC)。可以使用游程编码对变换系数进行编码。变换系数还可以作为变换组集合进行编码。步骤1009的解析包括从残差块中读取系数和其它数据(以及从预测块中读取的数据和/或其它相关数据),并将这些数据存储在存储器中以作进一步处理。需要说明的是,步骤1009的解析可以在步骤1003、1005和/或1007之前进行,取决于具体示例。
在步骤1011中,根据SVT块类型和位置对系数进行逆变换以创建重建残差块。逆变换可以是解码器已知的和/或可在比特流中标识。SVT块类型和位置提供的信息足以将变换相对于残差块中的信息放置。例如,对变换系数进行w_t×h_t大小的反量化和逆变换以恢复残差像素点。所恢复的残差像素点(例如,不包括编码器放置在SVT外部的残差像素点)的大小可以是w_t×h_t,与变换块大小相同。逆变换可以是逆离散余弦变换(DiscreteCosine Transform,DCT)或逆离散正弦变换(Discrete Sine Transform,DST)。根据变换块位置将残差像素点分配到残差块内的对应区域。在一些示例中,残差块内的剩余像素点可以设为零。例如,如果使用垂直SVT,候选位置的数量为5,且位置索引是4,则重建残差像素点可以分配到图7E中的阴影区域,并且阴影区域外的(w/2)×h大小的区域在一些情况下可能不包括任何残差信息。
在步骤1013处,重建残差块可与预测块组合以在编码单元中产生重建像素点。还可以对重建像素点进行滤波过程,例如,去块滤波器和/或SAO滤波器。相应地,将重建残差块与预测块相加以重建视频块。重建视频块与其它重建视频块放置在一起以创建帧/图像。将帧/图像放置在一个序列中,以重建视频序列进行显示。因此,视频序列包括的视频帧包括重建视频块。
由于上述机制,SVT块的候选位置可以由与残差块的宽度和高度相关的步长决定。在一些示例中,候选位置可以限制为不超过五个位置,这与其它SVT方案相比减少了变换块信息,从而在信令开销和残差编码效率之间实现更好的平衡。此外,SVT信息的编码不同于其它SVT机制。例如,SVT编码信息包括SVT使用信息、SVT类型信息和SVT位置信息,分别指示是否使用SVT、使用的SVT类型和SVT块的位置。此外,可以根据残差块的多个变换系数之和来推导出SVT位置信息。此外,可以根据残差块的多个变换系数之和来推导出SVT类型信息。
图11是本发明实施例提供的示例性视频编码设备1100的示意图。视频编码设备1100适于实现本文所述的已公开示例/实施例。视频编码设备1100包括下行端口1120、上行端口1150和/或收发单元(发射器/接收器)1110,收发单元1110包括用于通过网络上行和/或下行传输数据的发射器和/或接收器。视频编码设备1100还包括处理器1130和用于存储数据的存储器1132,处理器1130包括处理数据的逻辑单元和/或中央处理器(centralprocessing unit,CPU)。视频编码设备1100还可包括光电(optical-to-electrical,OE)组件、电光(electrical-to-optical,EO)组件、耦合到上行端口1150和/或下行端口1120的用于通过光或无线通信网络进行数据通信的无线通信组件。视频编码设备1100还可以包括用于用户数据传输的输入和/或输出(input/output,I/O)设备1160。I/O设备1160可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备1160还可以包括键盘、鼠标、轨迹球等输入设备,和/或用于与此类输出设备交互的对应接口。
处理器1130由硬件和软件实现。处理器1130可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器1130与下行端口1120、发射器/接收器1110、上行端口1150和存储器1132通信。处理器1130包括编码模块1114。编码模块1114实现上述公开的实施例,例如,方法100和/或1000在示意图600的垂直SVT候选位置使用垂直SVT 543,在水平SVT候选位置700使用水平SVT 643等改进型SVT,变换系数组900以及本文描述的任何其它方法/机制。此外,编码模块1114可以实现编解码系统200、编码器300和/或解码器400。因此,编码模块1114可以用于确定和/或标识SVT块的SVT类型、候选位置步长和位置索引。可以通过参数集和/或通过对残差块中的一个或多个变换系数组执行操作来确定/标识此类信息。然后,编码模块1114可以使用SVT类型、候选位置步长和位置索引将SVT块放置在残差块上,进行逆变换,创建重建残差块,从残差块和预测块重建像素块,根据重建像素块生成帧进行显示。因此,包括编码模块1114通过减少SVT块的候选位置的数量从而减少与SVT相关联的对应信令开销和RDO计算复杂度来提供对视频编码设备1100的功能的实质性改进。此外,编码模块1114将视频编码设备1100变换到不同的状态。或者,编码模块1114可以实现为存储在存储器1132中并由处理器1130执行的指令(例如,存储在非瞬时性介质上的计算机程序产品)。
存储器1132包括一个或多个存储器类型,例如磁盘、磁带驱动器、固态驱动器、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、快闪存储器、三态内容寻址存储器(ternary content-addressable memory,TCAM)、静态随机存取存储器(static random-access memory,SRAM)等。存储器1132可用作溢出数据存储设备,以在选择执行程序时存储程序,以及存储程序执行时读取的指令和数据。
图12示出了用于确定SVT大小和位置的设备1200的实施例。例如,设备1200可以用于执行方法1000,并且因此可以使用变换系数组900来标识SVT信息。此外,设备1200可以使用垂直SVT 543和/或743或水平SVT 643和/或843来变换残差块。因此,设备1200可以用于执行方法100的步骤105和/或113的部分。此外,设备1200可以由变换缩放和量化组件213、缩放和逆变换组件229、变换和量化组件313、逆变换和量化组件329和/或逆变换和量化组件429使用。
设备1200包括用于接收比特流的接收器1201,该比特流包括预测块和具有通过SVT变换的系数的残差块。设备1200还包括类型确定模块1203,用于确定用于变换残差块中的系数的SVT块的类型。设备1200还包括位置确定模块1205,用于通过确定SVT块的候选位置步长和位置索引来确定SVT块相对于残差块的位置。设备1200还包括逆变换应用模块1207,用于根据SVT块类型和位置对系数进行逆变换以创建重建残差块。设备1200还包括残差应用模块1207,用于将重建残差块应用到预测块以重建视频块。设备1200还包括重建模块1211,用于重建视频序列进行显示,该视频序列包括的视频帧包括重建视频块。
当第一组件和第二组件之间除了线、迹或其它介质之外没有其它中间组件时,第一组件直接耦合到第二组件。当第一组件和第二组件之间存在线、线或其它介质之外的其它中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,否则使用术语“约”是指以下描述的数字的±10%。
虽然本发明已提供多个实施例,但应当理解,所公开的系统和方法也可通过一些其它具体形式体现,而不会脱离本发明的精神或范围。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或组件可以在另一系统中组合或集成,或者某些特征可以省略或不实现。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。其它改变、替换、更替示例对本领域技术人员而言是显而易见的,均不脱离本文所公开的精神和范围。

Claims (24)

1.一种视频编码方法,其特征在于,包括:
接收比特流,所述比特流包括预测块和残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的;
确定对所述残差块中的所述系数进行变换所使用的SVT块的类型;
通过确定所述SVT块的候选位置步长和位置索引确定所述SVT块相对于所述残差块的位置,具体通过将所述残差块的宽度除以预设整数M1来确定垂直SVT类型的所述候选位置步长,或者通过将所述残差块的高度除以预设整数M2来确定水平SVT类型的所述候选位置步长;
根据所述SVT块类型和位置对所述系数进行逆变换,获得重建残差块;
将所述重建残差块与所述预测块相加以重建视频块;
重建视频序列进行显示,所述视频序列包括的视频帧包括所述重建视频块。
2.根据权利要求1所述的方法,其特征在于,从垂直SVT和水平SVT组成的组中选择所述SVT块类型,所述垂直SVT的高度等于所述残差块的高度且宽度等于所述残差块的宽度的二分之一;所述水平SVT的高度等于所述残差块的高度的二分之一且宽度等于所述残差块的宽度。
3.根据权利要求1或2所述的方法,其特征在于,通过将所述候选位置步长乘以位置索引确定所述SVT块的所述位置。
4.根据权利要求1或2所述的方法,其特征在于,当所述残差块的所述宽度大于或等于所述残差块的所述高度时,M1设为8;当所述残差块的所述宽度小于所述残差块的所述高度时,M1设为4;当所述残差块的所述高度大于或等于所述残差块的所述宽度时,M2设为8;当所述残差块的所述高度小于所述残差块的所述宽度时,M2设为4。
5.根据权利要求4所述的方法,其特征在于,从所述比特流中的语法元素获取得M1、M2或其组合。
6.根据权利要求1或2所述的方法,其特征在于,还包括:从所述比特流中获取所述位置索引。
7.根据权利要求1或2所述的方法,其特征在于,还包括:通过对所述残差块中的所述系数进行算术运算来确定所述位置索引。
8.根据权利要求7所述的方法,其特征在于,所述算术运算包括求和运算、求模运算、除法运算或其组合。
9.根据权利要求1或2所述的方法,其特征在于,当系数的数量小于或等于阈值时,从所述比特流中获取所述位置索引;当系数的数量大于所述阈值时,通过对所述系数进行算术运算确定所述位置索引。
10.根据权利要求1或2所述的方法,其特征在于,根据第一组系数确定所述SVT块的所述类型,并且根据第二组系数确定所述位置索引。
11.根据权利要求1或2所述的方法,其特征在于,根据非零系数的数量或位置确定所述候选位置步长或对应的候选位置数量。
12.一种视频编码设备,其特征在于,包括:
接收器,用于接收比特流,所述比特流包括预测块和残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的;以及
处理器,耦合到所述接收器,所述处理器用于:
确定对所述残差块中的所述系数进行变换所使用的SVT块的类型;
通过确定所述SVT块的候选位置步长和位置索引确定所述SVT块相对于所述残差块的位置,具体通过将所述残差块的宽度除以预设整数M1来确定垂直SVT类型的所述候选位置步长,或者通过将所述残差块的高度除以预设整数M2来确定水平SVT类型的所述候选位置步长;
根据所述SVT块类型和位置对所述系数进行逆变换,获得重建残差块;
将所述重建残差块与所述预测块相加以重建视频块;
重建视频序列进行显示,所述视频序列包括的视频帧包括所述重建视频块。
13.根据权利要求12所述的视频编码设备,其特征在于,从垂直SVT和水平SVT组成的组中选择所述SVT块类型;所述垂直SVT的高度等于所述残差块的高度且宽度等于所述残差块的宽度的二分之一,所述水平SVT的高度等于所述残差块的高度的二分之一且宽度等于所述残差块的宽度。
14.根据权利要求12或13所述的视频编码设备,其特征在于,通过将所述候选位置步长乘以位置索引来确定所述SVT块的所述位置。
15.根据权利要求12或13所述的视频编码设备,其特征在于,当所述残差块的所述宽度大于或等于所述残差块的所述高度时,M1设置为8,当所述残差块的所述宽度小于所述残差块的所述高度时,M1设为4;当所述残差块的所述高度大于或等于所述残差块的所述宽度时,M2设为8,当所述残差块的所述高度小于所述残差块的所述宽度时,M2设为4。
16.根据权利要求12或13所述的视频编码设备,其特征在于,M1、M2或其组合从所述比特流中的语法元素获得。
17.根据权利要求12或13所述的视频编码设备,其特征在于,所述处理器还用于从所述比特流中获取所述位置索引。
18.根据权利要求12或13所述的视频编码设备,其特征在于,所述处理器还用于通过对所述残差块中的所述系数进行算术运算确定所述位置索引。
19.根据权利要求18所述的视频编码设备,其特征在于,所述算术运算包括求和运算、求模运算、除法运算或其组合。
20.根据权利要求12或13所述的视频编码设备,其特征在于,当系数的数量小于或等于阈值时,从所述比特流中获取所述位置索引;当所述系数的数量大于所述阈值时,通过对所述系数进行算术运算确定所述位置索引。
21.根据权利要求12或13所述的视频编码设备,其特征在于,根据第一组系数确定所述SVT块的所述类型,并且根据第二组系数确定所述位置索引。
22.根据权利要求12或13所述的视频编码设备,其特征在于,根据非零系数的数量或位置确定所述候选位置步长或对应的候选位置数量。
23.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至11中任一项所述的方法。
24.一种视频编码设备,其特征在于,包括:
接收模块,用于接收比特流,所述比特流包括预测块和残差块,所述残差块的系数是进行空间变化变换(Spatial Varying Transform,SVT)获得的;以及
处理模块,用于结合所述接收模块执行权利要求1至11中任一项所述的方法。
CN201880067336.6A 2017-10-16 2018-10-16 视频编码的空间变化变换方法及相关设备 Active CN111226441B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762572987P 2017-10-16 2017-10-16
US62/572,987 2017-10-16
US201862721179P 2018-08-22 2018-08-22
US62/721,179 2018-08-22
PCT/CN2018/110399 WO2019076290A1 (en) 2017-10-16 2018-10-16 VARIANT TRANSFORMERS IN SPACE FOR VIDEO CODING

Publications (2)

Publication Number Publication Date
CN111226441A CN111226441A (zh) 2020-06-02
CN111226441B true CN111226441B (zh) 2021-10-15

Family

ID=66174295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880067336.6A Active CN111226441B (zh) 2017-10-16 2018-10-16 视频编码的空间变化变换方法及相关设备

Country Status (7)

Country Link
US (1) US11606571B2 (zh)
EP (1) EP3677031B1 (zh)
JP (1) JP7150861B2 (zh)
KR (1) KR102424088B1 (zh)
CN (1) CN111226441B (zh)
PL (1) PL3677031T3 (zh)
WO (1) WO2019076290A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6808889B2 (ja) * 2018-03-29 2021-01-06 日本放送協会 画像符号化装置、画像復号装置、及びプログラム
CN117221544A (zh) * 2019-05-19 2023-12-12 字节跳动有限公司 数字视频中的变换旁路编解码残差块
EP3977728A4 (en) * 2019-06-21 2022-08-17 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR ENCODING VIDEO AND STILL IMAGES USING ADAPTIVE RESIDUAL BLOCK SHAPE RESAMPLING
US11758133B2 (en) * 2019-10-31 2023-09-12 Apple Inc Flexible block partitioning structures for image/video compression and processing
CN113727103B (zh) * 2020-05-25 2022-08-12 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、电子设备及存储介质
MX2022015862A (es) * 2020-06-12 2023-01-30 Beijing Dajia Internet Information Tech Co Ltd Metodos y aparato de codificacion de video en formato de color 4:4:4.
WO2023133888A1 (zh) * 2022-01-17 2023-07-20 深圳市大疆创新科技有限公司 图像处理方法、装置、遥控设备、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010116268A1 (en) * 2009-04-07 2010-10-14 Nokia Corporation Method and apparatus for encoding and decoding of image and video signals
CN102165771A (zh) * 2008-08-12 2011-08-24 诺基亚公司 使用空间可变变换的视频编码
CN103108181A (zh) * 2007-03-23 2013-05-15 三星电子株式会社 用于图像编码和图像解码的方法和设备
CN103370939A (zh) * 2011-06-30 2013-10-23 Sk电信有限公司 用于对图像进行编码/解码的方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526495B2 (en) 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
US9049452B2 (en) 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
US9788019B2 (en) 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
CN103636203B (zh) 2011-06-17 2017-07-14 寰发股份有限公司 内部预测模式编码的方法及装置
JP5740239B2 (ja) 2011-08-03 2015-06-24 日本放送協会 モード情報伝送置換装置、画像符号化装置、画像復号装置、及びこれらのプログラム
WO2013023518A1 (en) 2011-08-17 2013-02-21 Mediatek Singapore Pte. Ltd. Method and apparatus for intra prediction using non-square blocks
US9363511B2 (en) 2011-09-13 2016-06-07 Mediatek Singapore Pte. Ltd. Method and apparatus for Intra mode coding in HEVC
WO2013047805A1 (ja) * 2011-09-29 2013-04-04 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
WO2013106986A1 (en) 2012-01-16 2013-07-25 Mediatek Singapore Pte. Ltd. Methods and apparatuses of intra mode coding
EP2936816B1 (en) 2013-04-09 2020-04-29 MediaTek Singapore Pte Ltd. Method and apparatus for non-square intra mode coding
US10448011B2 (en) 2016-03-18 2019-10-15 Mediatek Inc. Method and apparatus of intra prediction in image and video processing
US10230961B2 (en) 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
US20170374369A1 (en) 2016-06-24 2017-12-28 Mediatek Inc. Methods and Apparatuses of Decoder Side Intra Mode Derivation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108181A (zh) * 2007-03-23 2013-05-15 三星电子株式会社 用于图像编码和图像解码的方法和设备
CN102165771A (zh) * 2008-08-12 2011-08-24 诺基亚公司 使用空间可变变换的视频编码
WO2010116268A1 (en) * 2009-04-07 2010-10-14 Nokia Corporation Method and apparatus for encoding and decoding of image and video signals
CN103370939A (zh) * 2011-06-30 2013-10-23 Sk电信有限公司 用于对图像进行编码/解码的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Non-CE7: Boundary-Dependent Transform for Inter-Predicted Residue》;Jicheng An ET AL;《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva》;20111130;全文 *
《Video Coding Using Spatially Varying Transform》;Cixun Zhang ET AL;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20110228;全文 *
《VIDEO CODING USING VARIABLE BLOCK-SIZE SPATIALLY VARYING TRANSFORMS》;Cixun Zhang ET AL;《ICASSP 2009》;20091231;摘要,第1-4节,附图1-2 *

Also Published As

Publication number Publication date
JP2020537468A (ja) 2020-12-17
EP3677031A4 (en) 2020-10-28
EP3677031B1 (en) 2023-10-04
US20220217370A9 (en) 2022-07-07
JP7150861B2 (ja) 2022-10-11
US20200244976A1 (en) 2020-07-30
KR102424088B1 (ko) 2022-07-22
CN111226441A (zh) 2020-06-02
WO2019076290A1 (en) 2019-04-25
EP3677031A1 (en) 2020-07-08
KR20200053603A (ko) 2020-05-18
PL3677031T3 (pl) 2024-01-29
US11606571B2 (en) 2023-03-14

Similar Documents

Publication Publication Date Title
JP7234300B2 (ja) 複数の参照線を用いたイントラ予測
CN112425166B (zh) 视频译码中使用交叉分量线性模型进行帧内预测
CN111226441B (zh) 视频编码的空间变化变换方法及相关设备
KR20200117031A (ko) 적응형 보간 필터
CN110199524B (zh) 一种在计算设备中实现的方法
CN112385239A (zh) 亮度块和色度块的分割
CN114205629B (zh) 一种支持受约束编码树划分的编解码方法及装置
CN111971958B (zh) 视频编码中的块分割方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant