CN117176968A - 视频编码方法和装置 - Google Patents
视频编码方法和装置 Download PDFInfo
- Publication number
- CN117176968A CN117176968A CN202210793823.9A CN202210793823A CN117176968A CN 117176968 A CN117176968 A CN 117176968A CN 202210793823 A CN202210793823 A CN 202210793823A CN 117176968 A CN117176968 A CN 117176968A
- Authority
- CN
- China
- Prior art keywords
- transform
- common
- coefficients
- horizontal
- inverse
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000000872 buffer Substances 0.000 claims abstract description 74
- 238000013139 quantization Methods 0.000 claims abstract description 51
- 230000009466 transformation Effects 0.000 claims description 48
- 239000011159 matrix material Substances 0.000 claims description 25
- 230000000295 complement effect Effects 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 description 19
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000005457 optimization Methods 0.000 description 9
- 238000013403 standard screening design Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
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
视频编码系统中的视频编码方法和装置由共用的变换电路接收当前块的输入残差信号,由共用的变换电路应用水平变换和垂直变换以生成变换系数,应用量化和逆量化以生成恢复变换系数,由共用的变换电路对恢复变换系数进行垂直逆变换和水平逆变换,以生成当前块的重构残差信号,以及基于当前块的量化级别对当前块进行编码。折叠式4次变换架构中的共用的变换电路和系数缓冲器在每个变换阶段重复利用计算资源。在折叠式4次变换架构的一些实施例中,用于块大小分组的分层设计以统一硬件排程的固定吞吐量来实现。
Description
技术领域
本发明涉及视频编码方法和装置,更具体地,涉及本发明涉及用于视频编码中的变换和逆变换操作的共用变换模块。
背景技术
多功能视频编解码(Versatile Video Coding,简称VVC)标准是由来自ITU-T研究组的视频编解码专家的视频编解码联合协作组(Joint Collaborative Team on VideoCoding,简称JCT-VC)组开发的最新视频编解码标准。VVC标准继承了以前的高效视频编码(High Efficiency Video Coding,简称HEVC)标准,该标准依赖于基于块的编解码结构,其中每个视频图片包含一个或一组片段,每个片段被划分为整数个编解码树单元(CodingTree Unit,简称CTU)。片段中的各个CTU根据光栅扫描顺序(raster scanning order)进行处理。每个CTU进一步递归地划分为一个或多个编解码单元(Coding Unit,简称CU),以适应各种局部运动和纹理特征。预测决策在CU级别进行,其中每个CU基于根据速率失真优化(Rate Distortion Optimization,简称RDO)技术选择的一种或多种最佳编解码模式进行编码。视频编码器在最大化编解码质量和最小化比特率方面,彻底尝试多个模式组合,对每个CU选择一个或多个最佳编解码模式。指定的预测处理被用来预测每个CU内相关像素样本的值。残差信号是CU的原始像素样本和预测值之间的差值。在获得由预测阶段生成的残差信号之后,归属于变换单元(Transform Unit,简称TU)的残差信号的残差数据随后被变换为变换系数以用于紧凑的数据表示。这些变换系数被量化并传送到解码器。术语编解码树块(Coding Tree Block,简称CTB)、编解码块(Coding Block,简称CB)和变换块(TransformBlock,简称TB)被定义为分别指定与CTU、CU和TU相关联的一个颜色分量的二维样本数组。例如,CTU由一个亮度(亮度,Y)CTB、两个色度(色度,Cb和Cr)CTB及其相关语法元素组成。
VVC标准中采用的几个变换设计方面继承了HEVC标准中的变换设计,例如使用定点运算、16比特中间数据表示和算术,以及变换处理使用直接矩阵乘法或部分蝶式实现。VVC标准具有更好的灵活性,因为它不仅允许方形变换块大小,还允许矩形块大小。除了传统的类型2离散余弦变换(type-2 Discrete Sine Transform,简称DCT-II)之外,多重变换选择(Multiple Transform Selection,简称MTS)还采用了VVC标准中的类型7离散正弦变换(type-7 Discrete Sine Transform,简称DST-VII)和类型8DCT(type-8Discrete SineTransform,简称DCT-VIII)。对于残差分布不均匀,DST-VII和DCT-VIII通常比DCT-II更有效。DCT-II的变换大小范围从4点到64点,而DST-VII和DCT-VIII的变换大小范围从4点到32点。N点变换是指可以应用于N点输入向量的一维变换,它使用大小为N×N的变换矩阵来完成。VVC标准中定义的变换内核由HEVC标准中8-比特有符号整数和所有初级变换内核组成,包括从4点到32点的4点DST-VII和DCT-II,都保持不变。为了使每个系数的最坏情况乘法与HEVC标准保持一致,对于64点DCT-II和32点DST-VII或DCT-VIII,仅前32个和16个低频系数分别被保留,而高频系数归零,在最后的系数位置编码和系数组扫描中也考虑到了这一点。
在VVC标准中,存在两种MTS变体,显式MTS和隐式MTS。显式MTS适用于帧内和帧间编解码块,而隐式MTS仅用于帧内编解码块。DST-VII或DCT-VIII的选择由显式MTS中的变换类型的显式信令(explicit signalling)指示,而变换类型基于隐式MTS中的编码器和解码器都已知的编解码信息来选择。
帧间预测残差的分布与帧内预测残差的分布不同。统计上,帧内预测残差的能量从预测块的中心向其边界增加。在许多帧间预测块中,帧间预测残差位于块的一侧,而不是分布在所有块边界周围。在VVC中开发了一种子块变换(Sub-Block Transform,简称SBT)编解码工具,以通过较小的变换块获取局部残差,以及考虑帧间预测残差的独特分布。在VVC标准中,有八种SBT模式与变换块的大小和位置的不同配置相关联。当SBT被使用时,变换块是残差块的一半或四分之一大小,其中残差块的残差部分中的残差不被编码并被视为零。在SBT中,变换块总位于残差块的一个边界上。在SBT被使用时,用于变换变换系数的变换内核根据变换块位置自适应地选择。当残差在残差块内不均匀分布时,残差能量通常从一侧到另一侧增加。例如,如果残差块左侧的变换块被选为最佳模式,则右侧包含较弱的残差。在这种情况下,对于水平变换,DCT-VIII比DCT-II更有效,因为基本向量从左到右减小。对于变换块的其他维度,根据实验结果DST-VII被选择。
图1示出以64*64TB为例的直观变换架构实现。水平变换(Horizontal Transform,简称HT)模块102接收输入残差TB以生成水平变换系数,以及水平变换系数被存储在第一系数缓冲器104中。输入残差TB的大小为64*64,因此根据VVC标准前32列(column)低频系数被保存在系数缓冲器104中,而32列高频系数归零。水平变换系数被转置(transposed)以及存储在第二系数缓冲器106中以由垂直变换(Vertical Transform,简称VT)模块108处理。垂直变换模块108的输出由率和失真优化量化(Rate and Distortion OptimizationQuantization,简称RDOQ)模块110进一步处理,然后是逆量化(Inverse Quantization,简称IQ)模块112。逆量化模块112的输出被存储在第三系数缓冲器114中以由垂直逆变换(Inverse Vertical Transform,简称ITV)模块116进行垂直逆变换。垂直逆变换模块116的输出被存储在第四系数缓冲器118中,以及在转置后被存储在第五系数缓冲器120中。水平逆变换(Inverse Horizontal Transform,简称IHT)模块122应用水平逆变换来生成输出残差TB。如图1所示,四个变换阶段采用四个不同的一维变换模块。虽然这种直观变换架构可以支持不同大小的残差TB的顺序输入,以及每个变换模块都可以轻松操作,但是由于这四个独立的一维变换模块执行的变换是规则的和重复计算模式的,这种架构不是很好。
发明内容
在根据本发明的视频编码方法的各种实施例中,视频编码系统由共用的变换电路接收与当前视频图片中的当前块相关联的输入残差信号,由共用的变换电路对输入残差信号应用水平变换以生成水平变换系数,由共用的变换电路对水平变换系数应用垂直变换以生成当前块的变换系数,对变换系数应用量化以生成量化级别,然后应用逆量化以生成恢复变换系数,由共用的变换电路对恢复变换系数进行垂直逆变换,以生成垂直逆变换系数,由共用的变换电路对垂直逆变换系数应用水平逆变换,以生成当前块的重构信号,以及根据当前块的量化级别对当前块进行编码。在视频编码系统的一些实施例中,系数缓冲器用于存储中间变换系数。视频编码方法还包括通过共用的变换电路将水平变换系数存储在系数缓冲器中和从系数缓冲器中读取水平变换系数以用于垂直变换,通过共用的变换电路将恢复变换系数存储在系数缓冲器中和从系数缓冲器中读取恢复变换系数以用于垂直逆变换,通过共用的变换电路将垂直逆变换系数存储在系数缓冲器中和从系数缓冲器中读取垂直逆变换系数以用于水平逆变换。共用的变换电路包括控制器,该控制器以转置方式从系数缓冲器中读取水平变换系数以获得用于垂直变换的转置矩阵。控制器还以转置方式从变换缓冲器中读取恢复变换系数,以获得另一个用于垂直逆变换的转置矩阵。系数缓冲器的一个实施例包括转置内存,用于减少共用的变换电路中多任务器的数量。转置内存的一个实施例是移位寄存器簇(shift register cluster),其在每个周期中移位系数缓冲器中的行(row)以用于水平变换或水平逆变换,以及在每个周期中移位系数缓冲器中的列(column)以用于垂直变换或垂直逆变换。在一实施例中,当当前块的块宽和块高中的任一等于64个样本时,移位寄存器簇中的16比特寄存器的数量等于块宽乘以块高的一半,以及当当前块的块宽和块高都小于64个样本时,移位寄存器簇中16比特寄存器的数量等于块宽乘以块高。当当前块为64*64变换块时,系数缓冲器由32*64个16比特寄存器组成,共用的变换电路中需要32*64组乘法累加操作(Multipier Accumulate Operation,简称MAC)。
在本发明的一些实施例中,当当前块是用于DCT-II变换的64*64变换块时,或者当当前块是用于DST-VII变换或DCT-VIII变换的32*32变换块时,共用的变换电路采用归零机制(zero-out mechanism)以降低计算复杂度。归零机制强制水平变换后一半的水平变换系数为零,而强制垂直变换后另一四分之一的变换系数为零。共用的变换电路可以支持多种变换方案,包括DCT-II变换、DST-VII变换和DCT-VIII变换。在一些实施例中,重构残差信号被存储在内存中。
在一个实施例中,共用的变换电路用于处理具有一个或多个预定大小的块,以及视频编码系统包括第二共用的变换电路,该第二共用的变换电路用于处理具有不同于预定大小的大小的块。例如,共用的变换电路用于处理大小为64*64、64*32和32*64的块,第二共用的变换电路用于处理大小为32*32、32*16和16*32的块。在一些实施例中,共用的变换电路用于处理具有第一组预定大小的块,以及视频编码系统包括第二共用的变换电路,该第二共用的变换电路用于处理具有第二组预定大小的块。第二组预定大小不同于第一组预定大小。在优选实施例中,第一组中的预定大小彼此相似,而第二组中的预定大小彼此相似。共用的变换电路的实施例被配置为在一次变换运行中处理多个互补子块变换(Sub-BlockTransform,简称SBT)模式。
本公开的多个方面还提供了一种用于视频编码装置。该装置包括一个或多个电子电路,配置用于通过共用的变换电路接收当前块的输入残差信号,由共用的变换电路对输入残差信号应用水平变换以生成水平变换系数,由共用的变换电路变换对水平变换系数应用垂直变换以生成当前块的变换系数,对变换系数应用量化以生成量化级别,然后应用逆量化以生成恢复变换系数,由共用的变换电路对恢复变换系数应用垂直逆变换生成垂直逆变换系数,由共用的变换电路对垂直逆变换系数应用水平逆变换,以生成当前块的重构残差信号,以及基于当前块的量化级别对当前块进行编码。在阅读以下具体实施例的描述后,本发明的其他方面和特征对于所属领域之技术人员将变得显而易见。
附图说明
将参考以下附图详细描述作为示例提出的本公开的各种实施例,其中相同的数字表示相同的元件,以及其中:
图1示出用于处理64*64变换块的直观变换架构实现。
图2A-2D示出根据本发明实施例的由折叠式4次变换架构中的共用的变换电路执行的四个变换阶段中的每一个。
图3示出根据本发明实施例的折叠式4次变换架构中的共用的变换电路的四个变换阶段。
图4示出在用于64*64变换块的水平变换和垂直变换中应用归零机制的实施例。
图5A和5B示出根据本发明实施例的在一次变换迭代中处理两个或三个SBT模式的示例。
图6示出根据本发明实施例的折叠式4次变换架构中的变换模块的框图。
图7示出执行四个变换阶段的共用的变换电路的实施例的流程图。
图8示出结合根据本发明的一个或多个实施例的视频编码方法的视频编码系统的示例性系统框图。
具体实施方式
将容易理解的是,如本文附图中一般描述和示出的,本发明的元件可以布置和设计成多种不同的配置。因此,如附图中所表示的本发明的系统和方法的实施例的以下更详细的描述并不旨在限制所要求保护的本发明的范围,而仅代表本发明的选定实施例。
在整个说明书中对“一个实施例”、“一些实施例”或类似语言的引用意味着结合实施例描述的特定特征、结构或特性可以包括在本发明的至少一个实施例中。因此,贯穿本说明书的多个部分出现的短语“在一个实施例中”或“在一些实施例中”不一定都指同一实施例,这些实施例可被单独实施,也可以结合一个或多个其他实施例实施。此外,在一个或多个实施例中,所描述的特征、结构或特性可以任一合适的方式组合。然而,所属领域之技术人员将认识到,本发明可以在没有一个或多个具体细节或使用其他方法、元件等的情况下来实践。在其他情况下,所周知的结构或操作未被示出或未被详细描述以避免模糊本发明的方面。
折叠式4次变换架构(Folded 4-time Transform Architecture)在高复杂度(High-Complexity,简称HC)率失真优化(Rate Distrotion Optimization,简称RDO)阶段,视频编码器对当前块的输入残差应用变换、量化、逆量化和逆变换操作以计算与编码模式相关的率和失真(rate and distortion)。率指示使用编码模式对当前块进行编码所需的比特数量,而失真通常基于当前块的重构残差信号与输入残差信号之间的差值来计算。在HC RDO阶段尝试多种编码模式后,具有最低RD成本的最佳编码模式被选择用于当前块。当前块基于预测子和从与最佳编码模式相关联的量化操作输出的量化级别进行编码。变换和逆变换操作具有四个变换阶段,包括水平变换、垂直变换、垂直逆变换和水平逆变换阶段。图2A-2D示出根据本发明实施例的由共用的变换电路在折叠式4次变换架构中执行的用于64×64变换块(TB)的四个变换阶段中的每一个。为了重复利用每个变换阶段的计算资源以及在一个变换模块内支持DCT-II变换和非DCT-II变换,设计的变换模块由四个变换阶段共用。非DCT-II变换的一些示例是MTS编码工具中的DCT-VIII和DST-VII变换。图2A示出根据本发明实施例的折叠式4次变换架构中的水平变换阶段的框图。在图2A中,变换电路202接收包含残差的当前TB的行(row)样本以及执行水平变换以产生水平变换系数。由于当前TB有64*64个样本,归零机制被用来降低计算复杂度,仅对应于当前TB一半的水平变换系数被存储在系数缓冲器204中,而对应于另一半的高频水平变换系数归零。图2A中的系数缓冲器204的阴影区域对应于在水平变换之后当前TB的归零区域。图2B示出折叠式4次变换架构中的垂直变换阶段的框图。变换电路202以转置方式从系数缓冲器204中读取水平变换系数以获得水平变换系数的转置矩阵,以及执行垂直变换以产生与当前TB相关联的变换系数。在垂直变换阶段之后的变换电路202的输出被直接馈送到率和失真优化量化(Rate andDistortion Optimization Quantization,简称RDOQ)模块206进行量化。从量化模块206输出的量化电平由逆量化(Inverse Quantization,简称IQ)模块208恢复。逆量化模块208的输出被存储回系数缓冲器204,如图2B所示。图2C示出折叠式4次变换架构中的垂直逆变换阶段的框图。变换电路202以转置方式从系数缓冲器204中取出变换系数以获得变换系数的转置矩阵以执行垂直逆变换,然后将垂直逆变换系数存储回系数缓冲器204。图2D示出折叠式4次变换架构中的水平逆变换阶段的框图。变换电路202从系数缓冲器204中取出垂直逆变换系数以及执行水平逆变换以生成用于输入TB的重构残差信号。如图2D所示,重构的残差信号被存储在重构的静态随机存取内存(Static Random Access Memory,简称SRAM)210中。
图2A到图2D中的变换电路202是用于四个变换阶段的共用的变换模块。图3示出根据本实施例的折叠式4次变换架构中的共用的变换电路执行的四个变换阶段。图3中箭头上的数字表示四个变换阶段对应的数据流顺序,其中1为水平变换,2为垂直变换,3为垂直逆变换,4为水平逆变换。变换电路302接收输入TB以及执行水平变换。水平变换的结果被存储在系数缓冲器304中,以及以转置方式读出到变换电路302以进行垂直变换。垂直变换的结果由率和失真优化量化(Rate and Distortion Optimization Quantization,简称RDOQ)模块306量化,以及量化级别由逆量化(Inverse Quantization,简称IQ)模块308逆量化。逆量化的结果被存储回系数缓冲器304。变换电路302以转置方式从系数缓冲器304读取逆量化结果,以及执行垂直逆变换。垂直逆变换的结果存储在系数缓冲器304中。变换电路302从系数缓冲器304中读出垂直逆变换的结果以执行水平逆变换。水平逆变换的结果被输出到重构的SRAM 310。在一些实施例中,变换模块内的缓冲器由移位寄存器实现。折叠式4次变换架构使用移位寄存器簇作为转置内存,其大小为1/2*TUw*TUh*16比特,用于处理TU宽度或高度等于64的TU;或大小为TUw*TUh*16比特,用于处理具有任一其他TU大小的TU。移位寄存器簇在每个周期中移动系数缓冲器304中的一行(row)以用于水平变换或水平逆变换,或者在每个周期中移动系数缓冲器304中的一列(column)以用于垂直变换或垂直逆变换,因此变换电路302总是处理移位寄存器簇中的第一行或第一列。转置内存是指允许按行或按列读取其中存储的数据的内存。由于变换电路302总是处理移位寄存器簇中的第一行或第一列,因此通过使用移位寄存器簇作为转置内存来减少用于信号控制的多任务器的数量。
折叠式4次变换架构的实施例通过具有重新配置设计的变换模块支持DCT-II和MTS编码工具中的不同变换方案。例如,折叠式4次变换架构中的变换模块包括共用的变换电路302和系数缓冲器304,如图3所示。变换模块被重复用于四个变换阶段以节省硬件成本。变换模块的实施例不仅处理正方形变换块,而且处理矩形变换块。
折叠式4次变换架构中的分层设计在本发明的一些实施例中,折叠式4次变换架构中有多个共用的变换模块,其中每个共用的变换模块仅用于处理具有相似大小的TB。例如,第一共用的变换模块用于对大小为64*64、64*32和32*64的TB执行四个变换阶段,而第二共用的变换模块用于对大小为32*32、32*16和16*32的TB执行四个变换阶段,以及第三共用的变换模块用于对大小为16*16、16*8和8*16等的TB执行四个变换阶段。块大小分组的分层设计采用固定吞吐量,以实现统一的硬件排程。
用于大变换块的归零机制折叠式4次变换架构的实施例支持在VVC标准中采用的归零机制,以将计算和缓冲区大小减少到大变换块的一半。例如,当64*64的变换块由DCT-II变换或者32×32的变换块由诸如DCT-VIII或DST-VII的非DCT-II变换进行处理时,归零机制被采用。图4示出在水平变换和垂直变换期间对包含残差的64*64变换块402应用归零机制的实施例。64*64变换块通过与变换矩阵404相乘而被水平变换,其中64*64变换矩阵404的右半部分归零。只有变换矩阵404的前32*64项可以具有不等于0的值。包含32*64个有效系数的水平变换输出被存储在系数缓冲器406中,因为其他32*64个高频系数在水平变换之后归零。存储在系数缓冲器406中的32*64的系数通过转置方式读取,得到矩阵407中的64*32的系数,64*32的系数通过乘以变换矩阵408进行垂直变换,其中右半部分64*64变换矩阵408中的一个归零。然后仅包含32*32个系数的垂直变换输出被存储在系数缓冲器410中。在一个实施例中,系数缓冲器406和410可以由相同的缓冲器来实现。在折叠式4次变换架构的实施例中使用的系数缓冲器406由32*64个16比特寄存器组成,其大小仅为传统变换架构中所需的64*64个16比特寄存器大小的一半。根据本发明的实施例,一个共用的变换电路中所需的乘法累加操作(Multiply Accumulate operations,简称MAC)的数量也从64*64组减少到32*64组。根据归零机制,一半的MAC和缓冲器被保存在用于大TB的变换模块中。
在一次变换迭代中处理互补子块变换(Sub-Block Transform,简称SBT)模式在VVC标准中,在编码处理中,与变换子块的大小和位置的不同配置相关联的八种SBT模式可被考虑。在对残差块进行SBT模式判定处理之后,残差块内的变换子块根据所选择的SBT模式进行编码,同时残差块的剩余部分中的残差归零。根据本发明的实施例,为了减少八种SBT模式的变换迭代,互补SBT模式可以在一次变换运行中处理。在本实施例中,在低复杂度(Low Complexity,简称LC)率和失真优化(Rate and Distrotion Optimization,简称RDO)中的SBT模式决策处理中存在一些算法变化。在LC RDO中,每个SBT模式的平方差和(Sum ofSquared Difference,简称SSD)被计算,以及与最低成本对应的SBT模式被选择。根据该实施例,选择的SBT模式及其互补SBT模式在一次高复杂度(High Complexity,简称HC)RDO变换运行中处理。每种SBT模式的SSD以与VTM快速算法类似的方式计算。对于每个SBT模式,变换子块S1的SSD和归零子块S2的SSD被导出,然后该SBT模式的成本从两个SSD S1和S2导出。例如,成本等于S1/32+S2。SBT模式的成本被比较以及成本最低的SBT模式被选择。在一个示例中,选择的SBT模式对应于位于残差块左半部分的变换子块,如图5A和图5B所示。图5A和图5B示出当所选择的SBT模式对应于变换子块52时一个变换迭代中处理互补SBT模式的两个示例,该变换子块52是残差块大小的一半,位于残差块的左侧。与如图5A和图5B所示的所选择SBT模式相关联的变换子块52通过垂直分割从残差块中分离出来。在图5A中,所选择的SBT模式的两个互补SBT模式对应于变换子块542和变换子块544,其中每个都是残差块大小的四分之一。如图5A所示,所选择的SBT模式及其两个互补SBT模式在一次HC RDO变换运行中一起测试,以及这三种SBT模式中的最佳SBT模式可被确定。在图5B中,所选择SBT模式的互补SBT模式对应于变换子块54,其为残差块大小的一半。在此示例中,如图5B所示的所选择的SBT模式及其互补SBT模式在一次HC RDO变换运行中一起测试,以及这两种SBT模式中的最佳SBT模式可被确定。
折叠式4次变换架构中的变换模块的示例性框图图6示出根据本发明实施例的折叠式4次变换架构中的变换模块的框图。变换模块60由32*64组乘法器602、控制器604和32*64系数缓冲器606组成。对于水平变换阶段,控制器604控制系数缓冲器606在每个周期移动一行(row),以及控制器604控制乘法器602通过总是将寄存器中的第一行与对应的矩阵系数相乘来将输入残差信号与水平变换矩阵的矩阵系数相乘,以产生水平变换系数。然后控制器604控制变换模块60将水平变换系数存储在系数缓冲器606中。对于垂直变换阶段,本实施例中的控制器604控制系数缓冲器输出水平变换系数的转置矩阵,以及控制器604控制乘法器602将转置矩阵与垂直变换矩阵的矩阵系数相乘。通过控制系数缓冲器606在每个循环中移动一列而不是一行,水平变换系数的转置矩阵从系数缓冲器606输出,因此乘法器602总是可以将寄存器中的第一列与矩阵系数相乘。垂直变换阶段的结果由变换模块60输出。在变换系数的量化和逆量化之后,去量化的系数由变换模块60接收以及被存储在系数缓冲器606中。在垂直逆变换阶段,通过控制系数缓冲器606在每个循环中移动一列以使变换模块60总是处理寄存器中的第一列,控制器604以转置方式从系数缓冲器606中读出去量化系数。然后,控制器604控制乘法器602将去量化系数的转置矩阵与垂直逆变换矩阵的矩阵系数相乘以执行垂直逆变换。逆变换阶段的结果被存储在系数缓冲器606中。在水平逆变换阶段,通过控制系数缓冲器606在每个周期中移动一行,使得第一行总是由乘法器602用来执行水平逆变换,从而控制器604从系数缓冲器606读出逆变换阶段的结果。水平逆变换阶段的结果是重构残差信号。
折叠式4次变换架构中的共用的变换电路的代表性流程图图7示出在视频编码系统中执行四个变换阶段的共用的变换电路的示例性实施例的流程图。在步骤S702中,共用的变换电路接收当前视频图片中当前块的输入残差信号。例如,当前块是变换块。在步骤S704中,共用的变换电路对输入残差信号应用水平变换以生成水平变换系数,以及在步骤S706中,共用的变换电路对水平变换系数应用垂直变换以生成变换系数。在步骤S708中,共用的变换电路将变换系数输出到量化模块。在步骤S710中,共用的变换电路从逆量化模块接收恢复变换系数。在步骤S712中,共用的变换电路对恢复变换系数应用垂直逆变换以生成垂直逆变换系数,以及在步骤S714中,共用的变换电路对垂直逆变换系数应用水平逆变换以生成重构残差信号。然后在步骤S716,共用的变换电路将当前块的重构残差信号输出到内存。
代表性系统框图图8示出用于实现折叠式4次变换架构的一个或多个实施例的视频编码器800的示例性系统框图。帧内预测模块810基于当前图片的重构视频数据提供帧内预测子。帧间预测模块812执行运动估计(Motion Estimation,简称ME)和运动补偿(MotionCompensation,简称MC)以基于参考来自其他图片的视频数据提供预测子。帧内预测模块810或帧间预测模块812将选择的预测子提供给加法器816以形成残差信号。残差信号由变换模块(Transform module,简称T)818处理以生成变换系数。变换模块818首先应用水平变换,然后应用垂直变换来生成变换系数。根据本发明的一些实施例,变换模块818包括共用的变换电路和系数缓冲器。根据一些实施例,系数缓冲器采用移位寄存器簇作为转置内存以减少用于信号控制的多任务器的数量。在本发明的一个实施例中,变换模块818用于处理具有一种或多种预定大小的块,而一个或多个其他变换模块用于处理具有其他大小的块。例如,变换模块818被设计用于以固定吞吐量处理64*64、64*32和32*64的变换块,以实现统一的硬件排程。变换系数由量化模块(Quantization module,简称Q)820随后是逆量化模块(Inverse Quantization module,简称IQ)822处理。IQ模块822的输出由变换模块818处理以生成重构残差信号。变换模块818应用垂直逆变换,随后应用水平逆变换以生成重构残差信号。根据本发明实施例,变换模块818支持DCT-II变换和MTS编码工具中采用的其他变换方案。在一些实施例中,变换模块818在处理大变换块时支持归零机制。
从量化模块输出的变换和量化的残差信号由熵编码器830编码以形成视频比特流。然后视频比特流与辅助信息(side information)被打包在一起。如图8所示,重构残差信号在重构模块(Reconstruction module,简称REC)826处被加回到选择的预测子,以产生重构视频数据。重构视频数据可被存储在参考图片缓冲器(Ref.Pict.Buffer)832中并用于其他图片的预测。由于编码处理,来自REC模块826的重构视频数据可能会受到各种损害,因此,在将重构视频数据存储到参考图片缓冲器832之前,诸如自适应环路滤波器(AdaptiveLoop Filter,简称ALF)828之类的环路滤波被应用于重构视频数据以进一步提高图像质量。语法元素被提供给熵编码器830以结合到视频比特流中。
图8中的视频编码器800的各种元件可以由硬件元件、被配置为执行存储在内存中的程序指令的一个或多个处理器、或者硬件和处理器的组合来实现。例如,处理器执行程序指令以对残差信号进行水平变换。处理器配备单个或多个处理核心。在一些示例中,处理器执行程序指令以执行编码器800中的一些元件的功能,以及与处理器电耦合的内存用于存储程序指令、对应于块的重构图像的信息和/或编码过程中的中间数据。在一些实施例中,内存包括非瞬态计算机可读介质,例如半导体或固态内存、随机存取内存(Random AccessMemory,简称RAM)、只读存储器(Read-Only Memory,简称ROM)、硬盘、光盘或其他合适的存储介质。内存也可以是上面列出的两种或更多种非瞬时计算机可读介质的组合。
在视频编码系统中执行特定处理的视频数据处理方法的实施例可以在集成到视频压缩芯片中的电路中实现,或在集成到视频压缩软件中以执行上述处理的程序代码中实现。例如,对残差信号应用变换可以在将在计算机处理器、数字信号处理器(DigitalSignal Processor,简称DSP)、微处理器或现场可程序设计门阵列(field programmablegate array,简称FPGA)上执行的程序代码中实现。这些处理器可以被配置为通过执行定义本发明所体现的方法的机器可读软件代码或固件代码来执行根据本发明的特定任务。
本发明可以在不背离其精神或基本特征的情况下以其他特定形式体现。所描述的示例在所有方面都仅被认为是说明性的而不是限制性的。因此,本发明的范围由所附权利要求而不是由前述描述指示。在权利要求的等效含义和范围内的所有变化都应包含在其范围内。
Claims (15)
1.一种视频编码方法,用于视频编码系统,所述方法包括:
由共用的变换电路接收与当前视频图片中的当前块相关联的输入残差信号;
由所述共用的变换电路对所述输入残差信号应用水平变换,生成多个水平变换系数;
由所述共用的变换电路对所述多个水平变换系数进行垂直变换,以生成所述当前块的多个变换系数;
对所述多个变换系数应用量化以生成多个量化级别,应用逆量化以生成多个恢复变换系数;
由所述共用的变换电路对所述多个恢复变换系数应用垂直逆变换,以生成多个垂直逆变换系数;
由所述共用的变换电路对所述多个逆垂直变换系数进行水平逆变换,以生成所述当前块的重构残差信号;以及
基于所述当前块的所述多个量化级别对所述当前块进行编码。
2.如权利要求1所述的视频编码方法,其特征在于,系数缓冲器用于存储多个中间变换系数,所述方法还包括:
将所述多个水平变换系数存储在所述系数缓冲器中,以及由所述共用的变换电路从所述系数缓冲器中读取所述多个水平变换系数以用于垂直变换;
将所述多个恢复变换系数存储在所述系数缓冲器中,以及由所述共用的变换电路从所述系数缓冲器中读取所述多个恢复变换系数以用于垂直逆变换;以及
将所述多个垂直逆变换系数存储在所述系数缓冲器中,以及由所述共用的变换电路从所述系数缓冲器中读取所述多个垂直逆变换系数以用于水平逆向变换。
3.如权利要求2所述的视频编码方法,其特征在于,所述共用的变换电路包括控制器,所述控制器用于以转置方式从所述系数缓冲器中读取所述多个水平变换系数以获得用于垂直变换的转置矩阵,以及所述控制器以所述转置方式从所述系数缓冲器中读取所述多个恢复变换系数以获得另一转置矩阵以用于垂直逆变换。
4.如权利要求3所述的视频编码方法,其特征在于,所述多个系数缓冲器包括移位寄存器簇,用于在每个周期中移位所述系数缓冲器中的行以用于水平变换或水平逆变换,或者在每个周期中移位所述系数缓冲器中的列以用于垂直变换或垂直逆变换。
5.如权利要求4所述的视频编码方法,其特征在于,当所述当前块的块宽和块高中的任一等于64个样本时,所述移位寄存器簇中的16比特寄存器的数量等于所述块宽乘以所述块高的一半,以及当所述当前块的块宽和块高都小于64个样本时,所述移位寄存器簇中的16比特寄存器的数量等于所述块宽乘以所述块高。
6.如权利要求2所述的视频编码方法,其特征在于,所述当前块是大小为64*64的变换块,所述系数缓冲器由32*64的16比特寄存器组成,以及所述共用的变换电路中需要32*64组乘法累加运算。
7.如权利要求1所述的视频编码方法,其特征在于,当所述当前块是用于DCT-II变换的64*64变换块或所述当前块是用于DST-VII变换或DCT-VII的32*32变换块时,其中归零机制被用来降低所述共用的变换电路的计算复杂度,其中所述归零机制强制水平变换后所述多个水平变换系数的一半归零,而垂直变换后所述多个变换系数的另一四分之一归零。
8.如权利要求1所述的视频编码方法,其特征在于,所述共用的变换电路支持多种变换方案,包括DCT-II变换、DST-VII变换和DCT-VIII变换。
9.如权利要求1所述的视频编码方法,其特征在于,所述方法进一步包括将所述重构残差信号存储在一内存中。
10.如权利要求1所述的视频编码方法,其特征在于,所述共用的变换电路用于处理具有一种或多种预定大小的多个块,以及所述视频编码系统包括第二共用的变换电路,所述第二共用的变换电路用于处理多个块,所述多个块的大小不同于所述一种或多种预定大小。
11.如权利要求10所述的视频编码方法,其特征在于,所述共用的变换电路用于处理大小为64*64、64*32和32*64的多个块,所述第二共用的变换电路用于处理大小为32*32、32*16和16*32的多个块。
12.如权利要求1所述的视频编码方法,其特征在于,所述共用的变换电路用于处理具有第一组预定大小的多个块,以及所述视频编码系统包括第二共用的变换电路,所述第二共用的变换电路用于处理具有第二组预定大小的多个块,其中所述第二组预定大小不同于所述第一组预定大小。
13.如权利要求12所述的视频编码方法,其特征在于,所述第一组预定大小中的多个预定大小彼此相似,以及所述第二组预定大小中的多个预定大小彼此相似。
14.如权利要求1所述的视频编码方法,其特征在于,所述共用的变换电路被配置为在一次变换运行中处理多个互补子块变换模式。
15.一种视频编码装置,包括:计算机处理器,被配置用于接收视频数据;以及通过执行以下步骤在所述计算机处理器上程序设计可执行文件以用于视频编码:
由共用的变换电路接收与当前视频图片中的当前块相关联的输入残差信号;
由所述共用的变换电路对所述输入残差信号应用水平变换,生成多个水平变换系数;
由所述共用的变换电路对所述多个水平变换系数进行垂直变换,以生成所述当前块的多个变换系数;
对所述多个变换系数应用量化以生成多个量化级别,应用逆量化以生成多个恢复变换系数;
由所述共用的变换电路对所述多个恢复变换系数应用垂直逆变换,以生成多个垂直逆变换系数;
由所述共用的变换电路对所述多个逆垂直变换系数进行水平逆变换,以生成所述当前块的重构残差信号;以及
基于所述当前块的所述多个量化级别对所述当前块进行编码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/825,269 US11856227B2 (en) | 2022-05-26 | 2022-05-26 | Transform architecture in video encoding systems |
US17/825,269 | 2022-05-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176968A true CN117176968A (zh) | 2023-12-05 |
Family
ID=88876010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210793823.9A Pending CN117176968A (zh) | 2022-05-26 | 2022-07-05 | 视频编码方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11856227B2 (zh) |
CN (1) | CN117176968A (zh) |
TW (1) | TW202348033A (zh) |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8660380B2 (en) | 2006-08-25 | 2014-02-25 | Nvidia Corporation | Method and system for performing two-dimensional transform on data value array with reduced power consumption |
FR3038196A1 (fr) * | 2015-06-29 | 2016-12-30 | B<>Com | Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes |
WO2018061837A1 (ja) * | 2016-09-30 | 2018-04-05 | ソニー株式会社 | 画像処理装置および方法 |
MX2020005236A (es) * | 2017-11-24 | 2020-08-24 | Sony Corp | Aparato y metodo de procesamiento de imagenes. |
WO2019102888A1 (ja) * | 2017-11-24 | 2019-05-31 | ソニー株式会社 | 画像処理装置および方法 |
JP7334730B2 (ja) * | 2018-03-30 | 2023-08-29 | ソニーグループ株式会社 | 画像処理装置および方法 |
WO2019188467A1 (ja) * | 2018-03-30 | 2019-10-03 | ソニー株式会社 | 画像処理装置および方法 |
JP2021166320A (ja) * | 2018-07-06 | 2021-10-14 | ソニーグループ株式会社 | 画像処理装置および方法 |
WO2020167841A1 (en) * | 2019-02-11 | 2020-08-20 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices for intra sub-partition coding mode |
SI3952313T1 (sl) * | 2019-04-16 | 2024-08-30 | Lg Electronics Inc. | Transformacija v kodiranju slik na podlagi notranjega napovedovanja |
CN111836050B (zh) | 2019-04-17 | 2023-04-18 | 上海富瀚微电子股份有限公司 | 一种视频编码中绝对变换差和的计算方法及装置 |
CN114365490B (zh) | 2019-09-09 | 2024-06-18 | 北京字节跳动网络技术有限公司 | 高精度图像和视频编解码的系数缩放 |
WO2021238828A1 (en) | 2020-05-27 | 2021-12-02 | Beijing Bytedance Network Technology Co., Ltd. | Indication of multiple transform matrices in coded video |
-
2022
- 2022-05-26 US US17/825,269 patent/US11856227B2/en active Active
- 2022-07-05 CN CN202210793823.9A patent/CN117176968A/zh active Pending
- 2022-07-06 TW TW111125327A patent/TW202348033A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US11856227B2 (en) | 2023-12-26 |
US20230388546A1 (en) | 2023-11-30 |
TW202348033A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2673011C1 (ru) | Усовершенствованное кодирование с внутрикадровым предсказанием с использованием планарных представлений | |
TWI755665B (zh) | 使用具有鄰近取樣縮減的線性或仿射變換的內預測 | |
WO2012161444A2 (ko) | 화면 내 예측 방법 및 장치 | |
JP7490859B2 (ja) | 映像コーディングシステムにおいてイントラ予測による映像デコーディング方法及び装置 | |
CN103004210A (zh) | 用于视频编码的低复杂度帧内预测 | |
KR20110114524A (ko) | 화상 예측 부호화 장치, 방법 및 프로그램, 화상 예측 복호 장치, 방법 및 프로그램, 및 부호화·복호 시스템 및 방법 | |
US11252418B2 (en) | Multi-stage block coding | |
JP2024069438A (ja) | イントラ予測を用いた符号化 | |
CN113709481B (zh) | 一种编码、解码方法、装置及其设备 | |
US12075093B2 (en) | Media object compression/decompression with adaptive processing for block-level sub-errors and/or decomposed block-level sub-errors | |
CN116847082A (zh) | 视频编码方法和装置 | |
US11856227B2 (en) | Transform architecture in video encoding systems | |
JP7538243B2 (ja) | 4:4:4のクロマフォーマット及びシングルツリーの場合のすべてのチャネルに対するmip | |
CN114286096B (zh) | 视频解码方法、装置及设备 | |
WO2024158549A1 (en) | Determination of intra prediction mode for indexation into non-separable transform kernels | |
KR20230115935A (ko) | 영상 부호화/복호화 방법 및 장치 | |
WO2022191947A1 (en) | State based dependent quantization and residual coding in video coding | |
WO2020003703A1 (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、コンピュータプログラム | |
WO2024163447A1 (en) | System and method for filtered intra block copy prediction | |
CN116320417A (zh) | 视频编码方法和装置 | |
CN117203960A (zh) | 视频编码中的旁路对齐 | |
JP2021190718A (ja) | 画像符号化装置、画像復号装置及びこれらのプログラム | |
KR20120058384A (ko) | 인트라 프리딕션 방법 |
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 |