CN114424570B - 用于视频编解码的变换单元设计 - Google Patents

用于视频编解码的变换单元设计 Download PDF

Info

Publication number
CN114424570B
CN114424570B CN202080065798.1A CN202080065798A CN114424570B CN 114424570 B CN114424570 B CN 114424570B CN 202080065798 A CN202080065798 A CN 202080065798A CN 114424570 B CN114424570 B CN 114424570B
Authority
CN
China
Prior art keywords
coefficients
ordering
dimensional
lfnst
block
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
CN202080065798.1A
Other languages
English (en)
Other versions
CN114424570A (zh
Inventor
H.E.埃吉尔梅兹
A.赛德
V.塞雷金
M.卡尔切维茨
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Priority to CN202211456946.XA priority Critical patent/CN115866275A/zh
Publication of CN114424570A publication Critical patent/CN114424570A/zh
Application granted granted Critical
Publication of CN114424570B publication Critical patent/CN114424570B/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/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/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/124Quantisation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using 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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

一种用于对视频数据进行解码的示例性设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器耦合到该存储器。该一个或多个处理器被配置为根据第一排序重组2维去量化系数。该一个或多个处理器被配置为对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数。该一个或多个处理器被配置为根据第二排序重组逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序表示该2维块的索引。该一个或多个处理器被配置为基于经第二排序的逆变换系数对视频数据进行解码。

Description

用于视频编解码的变换单元设计
相关申请的交叉引用
本申请要求以下各项的优先权:于2020年9月18日提交的美国申请号 17/025,529,该申请要求于2019年9月19日提交的题为“用于视频编解码的变换单元设计(TRANSFORM UNIT DESIGN FOR VIDEO CODING)”临时专利申请号62/902,862的权益;于2019年9月23日提交的题为“用于视频编解码的变换单元设计(TRANSFORM UNIT DESIGNFOR VIDEO CODING)”的美国临时专利申请号62/904,494;以及于2019年12月20日提交的题为“用于视频编解码的变换单元设计(TRANSFORM UNIT DESIGN FOR VIDEO CODING)”的美国临时专利申请号62/951,837;通过引用将每个申请的全部内容并入本文。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频能力可以被结合到各种设备中,该设备包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字录音设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能手机”、视频电话会议设备、视频流式传输设备等。数字视频设备实现视频编解码技术,诸如在以下各项所定义的标准中描述的那些技术:MPEG-2、MPEG-4、ITU- TH.263、ITU-T H.264/MPEG-4、第10部分、高级视频编解码(AVC)、ITU- T H.265/高效视频编解码(HEVC)以及此类标准的扩展。通过实现此类视频编解码技术,视频设备可以更有效地发送、接收数字视频信息;对数字视频信息进行编码、解码和/或存储数字视频信息。
视频编解码技术包括空域(帧内图片)预测和/或时域(帧间图片)预测以减少或去除视频序列中固有的冗余。对于基于块的视频编解码,视频条带(例如,视频图片或视频图片的一部分)可以被分割为视频块,该视频块也可以被称为编解码树单元(CTU)、编解码单元(CU)和/或编解码节点。图片的帧内编解码(I)条带中的视频块是使用相对于同一图片中的相邻块中的参考样点的空域预测来编码的。图片的帧间编解码(P或B)条带中的视频块可以使用相对于同一图片中的相邻块中的参考样点的空域预测或相对于其它参考图片中的参考样点的时域预测。图片可以被称为帧,并且参考图片可以被称为参考帧。
发明内容
通常,本公开描述用于视频编解码中的8x8低频不可分离变换(LFNST) 的优化矩阵和重组图案(reorganization pattern)/扫描的技术。LFNST的设计 (诸如在一些视频编解码标准中公开的那些设计)在由视频编解码器应用时可能需要相对大量的乘法和相对大量的存储器。根据本公开的技术,可简化 8x8 LFNST并且可重组系数以有效地应用8x8LFNST。
在一个示例中,一种方法包括:由一个或多个处理器根据第一排序重组 2维去量化系数;由该一个或多个处理器对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;由该一个或多个处理器根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及由该一个或多个处理器基于经第二排序的逆变换系数对该视频数据进行解码。
在另一个示例中,一种设备包括:存储器,该存储器被配置为存储该视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实现并且可通信地耦合到该存储器,该一个或多个处理器被配置为:根据第一排序重组 2维去量化系数;对重组的2维去量化系数应用逆低频不可分离变换(LFNST) 以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2 维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
在另一个示例中,一种设备包括:用于根据第一排序重组2维去量化系数的部件;用于对重组的2维去量化系数应用逆低频不可分离变换(LFNST) 以创建逆变换系数的部件,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;用于根据第二排序重组该逆变换系数的部件,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及用于基于经第二排序的逆变换系数对该视频数据进行解码的部件。
在另一个示例中,一种其上存储有指令的非暂时性计算机可读存储介质,该指令在由一个或多个处理器执行时使得该一个或多个处理器:根据第一排序重组2维去量化系数;对重组的2维去量化系数应用逆低频不可分离变换 (LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
在附图及下文描述中陈述一个或多个示例的细节。根据描述、附图和权利要求,其它特征、目标和优点将显而易见。
附图说明
图1是示出可执行本公开的技术的示例性视频编码和解码系统的框图。
图2A和图2B是示出示例性四叉树二叉树(QTBT)结构和对应的编解码树单元(CTU)的概念图。
图3是示出可以执行本公开的技术的示例性视频编码器的框图。
图4是示出可以执行本公开的技术的示例性视频解码器的框图。
图5是示出在编码器和解码器处的低频不可分离变换(LFNST)的概念图,其中LFNST包括编编解码器中的可分离变换与量化之间的阶段。
图6是示出利用LFNST的逆变换过程的概念图。
图7是示出用于从16个输入系数的列表重构16个中间系数的4x4逆 LFNST的概念图。
图8是示出用于从16个输入系数的列表重构48个中间系数的8x8逆 LFNST的概念图。
图9是示出逆LFNST过程的概念图。
图10是示出基于光栅扫描的输入重组的概念图。
图11是示出在8x8 LFNST中具有16个样点的4x4块图案的概念图。
图12是示出在8x8 LFNST中具有25个样点的5x5块图案的概念图。
图13是示出在8x8 LFNST中具有36个样点的6x6块图案的概念图。
图14是示出在8x8 LFNST中具有48个样点的圆形图案的概念图。
图15是示出在8x8 LFNST中具有48个样点的圆形图案的另一变型的概念图。
图16是示出对于8x8 LFNST具有64个样点的8x8块图案的概念图。
图17是示出图13的示例在普通测试条件(CTC)下针对VTM-6.0的测试结果的表格。
图18是示出图14的示例在CTC下针对VTM-6.0的测试结果的表格。
图19是示出图13的无优化的4x4 LFNST矩阵的示例在CTC下针对 VTM-6.0的测试结果的表格。
图20是示出图14的无优化的4x4 LFNST矩阵的示例在CTC下针对 VTM-6.0的测试结果的表格。
图21是示出根据本公开的技术的重组系数的流程图。
图22是示出根据本公开的技术的编码方法的流程图。
图23是示出根据本公开的技术的解码方法的流程图。
具体实施方式
低频不可分离变换(LFNST)的设计(诸如在一些视频编解码标准中公开的那些设计)在由视频编解码器应用时可能需要相对大量的乘法和相对大量的存储器。这些设计也可能效率相对较低。
根据本公开的技术,可简化8x8 LFNST并且可重组系数以有效地应用 8x8 LFNST。本公开的8x8 LFNST和重组系数可以减少所需的乘法数量并且也可以降低存储器需求。另外,与其它LFNST设计相比,本公开的8x8 LFNST 和重组系数可以提供编解码增益而不增加复杂性。
图1是示出可执行本公开的技术的示例性视频编码和解码系统100的框图。本公开的技术一般涉及对视频数据进行编解码(编码和/或解码)。通常,视频数据包括用于处理视频的任何数据。因此,视频数据可包括原始的未经编码视频、经编码视频、经解码(例如,重构)视频和视频元数据,诸如信令数据。
如图1中所示,在该示例中,系统100包括源设备102,其提供待由目的地设备116解码和显示的经编码视频数据。具体地,源设备102经由计算机可读介质110向目的地设备116提供视频数据。源设备102和目的地设备 116可以包括多种设备中的任一种,包括台式计算机、笔记本(即,膝上型) 计算机、平板计算机、机顶盒、电话手持装置(诸如智能电话)、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备等。在一些情况下,源设备102和目的地设备116可被装备用于无线通信,并且因此可被称为无线通信设备。
在图1的示例中,源设备102包括视频源104、存储器106、视频编码器 200和输出接口108。目的地设备116包括输入接口122、视频解码器300、存储器120和显示设备118。根据本公开,源设备102的视频编码器200和目的地设备116的视频解码器300可以被配置为应用用于视频编解码的8x8 LFNST的优化矩阵和重组图案/扫描的技术。因此,源设备102表示视频编码设备的示例,而目的地设备116表示视频解码设备的示例。在其它示例中,源设备和目的地设备可包括其它组件或布置。例如,源设备102可以从外部视频源(诸如外部相机)接收视频数据。同样,目的地设备116可以与外部显示设备接口,而不是包括集成显示设备。
如图1中所示的系统100仅为一个示例。通常,任何数字视频编码和/或解码设备都可以执行用于视频编解码的8x8 LFNST的优化矩阵和重组图案/ 扫描的技术。源设备102和目的地设备116仅仅是此类编解码设备的示例,其中源设备102生成经编解码视频数据用于传输到目的地设备116。本公开将“编解码”设备称为对数据执行编解码(编码和/或解码)的设备。因此,视频编码器200和视频解码器300表示编解码设备的示例,具体地,分别表示视频编码器和视频解码器的示例。在一些示例中,源设备102和目的地设备 116可以基本对称方式操作,使得源设备102和目的地设备116中的每一者都包括视频编码和解码组件。因此,系统100可以支持源设备102与目的地设备116之间的单向或双向视频传输,例如用于视频流式传输、视频回放、视频广播或视频电话。
通常,视频源104表示视频数据源(即,原始、未经编码的视频数据) 并将视频数据的一系列连续图片(也称为“帧”)提供给视频编码器200,该视频编码器200对图片的数据进行编码。源设备102的视频源104可包括诸如摄像机的视频捕捉设备、包含先前捕捉的原始视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为进一步的替代,视频源104可生成基于计算机图形的数据作为源视频,或实况视频、存档视频和计算机生成的视频的组合。在每一种情况下,视频编码器200对所捕捉、预先捕捉或计算机生成的视频数据进行编码。视频编码器200可将图片从接收次序(有时称为“显示次序”)重新布置为编解码次序以供编解码。视频编码器200可生成包括经编码视频数据的比特流。源设备102然后可经由输出接口108将经编码视频数据输出到计算机可读介质110上以供由例如目的地设备116的输入接口122接收和/或检索。
源设备102的存储器106和目的地设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可存储原始视频数据,例如来自视频源 104的原始视频和来自视频解码器300的原始、经解码的视频数据。附加地或替代地,存储器106、120可分别存储可由例如视频编码器200和视频解码器 300执行的软件指令。尽管在该示例中存储器106和存储器120示为与视频编码器200和视频解码器300分开,但是应理解,视频编码器200和视频解码器300还可包括功能性类似或等效目的的内部存储器。此外,存储器106、 120可存储例如从视频编码器200输出并且输入到视频解码器300的经编码视频数据。在一些示例中,可分配存储器106、120的部分作为一个或多个视频缓冲器,以例如存储原始、经解码和/或经编码的视频数据。
计算机可读介质110可以表示能够将经编码视频数据从源设备102传送到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示用于使得源设备102能够例如经由射频网络或基于计算机的网络实时地将经编码视频数据直接发送到目的地设备116的通信介质。根据诸如无线通信协议之类的通信标准,输出接口108可调制包括经编码视频数据的传输信号,并且输入接口122可将所接收的传输信号解调。通信介质可以包括任何无线或有线通信介质,诸如视频(RF)频谱或一条或多条物理发送线。通信介质可以形成基于分组的网络的一部分,诸如局域网、广域网或诸如互联网之类的全球网络。通信介质可以包括路由器、交换机、基站或可能有助于促进从源设备102到目的地设备116的通信的任何其它装备。
在一些示例中,源设备102可将经编码数据从输出接口108输出到存储设备112。类似地,目的地设备116可经由输入接口122从存储设备112访问经编码数据。存储设备112可以包括各种分布式或本地访问的数据存储介质中的任一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储介质。
在一些示例中,源设备102可将经编码视频数据输出到文件服务器114 或可存储由源设备102生成的经编码视频的另一中间存储设备。目的地设备 116可经由流式传输或下载而从文件服务器114访问所存储的视频数据。文件服务器114可为能够存储经编码视频数据并将该经编码视频数据发送到目的地设备116的任何类型的服务器设备。文件服务器114可表示网页服务器 (例如,用于网站)、档案传输协议(FTP)服务器、内容递送网络设备或网络附接存储(NAS)设备。目的地设备116可通过包括互联网连接的任何标准数据连接从文件服务器114访问经编码视频数据。这可包括适合于访问存储于文件服务器114上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等),或两者的组合。文件服务器114和输入接口122可被配置为根据流式传输传输协议、下载传输协议或其组合来操作。
输出接口108和输入接口122可表示无线发送器/接收器、调制解调器、有线网络连接组件(例如,以太网卡)、根据各种IEEE 802.11标准中的任一者来操作的无线通信组件或其它物理组件。在其中输出接口108和输入接口 122包括无线组件的示例中,输出接口108和输入接口122可被配置为根据诸如4G、4G-LTE(长期演进)、高级LTE、5G等蜂窝式通信标准来传递数据,诸如经编码视频数据。在其中输出接口108包括无线发送器的一些示例中,输出接口108和输入接口122可被配置为根据其它无线标准(诸如,IEEE 802.11规范、IEEE802.15规范(例如ZigBeeTM)、BluetoothTM标准等)传递数据,诸如经编码视频数据。在一些示例中,源设备102和/或目的地设备116 可包括相应的片上系统(SoC)设备。例如,源设备102可包括SoC设备以执行归于视频编码器200和/或输出接口108的功能性,并且目的地设备116 可包括SoC设备以执行归于视频解码器300和/或输入接口122的功能性。
本公开的技术可以应用于支持多种多媒体应用中的任一种的视频编解码,该多媒体应用诸如空中电视广播、有线电视传输、卫星电视传输、互联网流式传输视频发送,诸如基于HTTP的动态自适应流式传输(DASH)、被编码到数据存储介质上的数字视频、对被存储在数据存储介质上的数字视频的解码或其它应用。
目的地设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收经编码视频比特流。经编码视频比特流可包括由视频编码器200定义的信令通知信息(其也由视频解码器300 使用),诸如具有描述视频块或其它经编解码单元(例如,条带、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示经解码视频数据的经解码图片。显示设备118可以表示多种显示设备中的任一种,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
尽管图1中未示,但是在一些示例中,视频编码器200和视频解码器300 可各自与音频编码器和/或音频解码器集成,并且可包括适当的复用-解复用 (MUX-DEMUX)单元或其它硬件和/或软件,以处置在共同数据流中包括音频和视频两者的复用流。如果适用,则MUX-DEMUX单元可遵照ITU H.223 复用器协议或其它协议(诸如,用户数据报协议(UDP))。
视频编码器200和视频解码器300各自可以被实现为各种合适的编码器和/或解码器电路中的任一种,诸如一个或多个微处理器、数字信号处理器 (DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当该技术部分地在软件中实现时,设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中并且使用一个或多个处理器在硬件中执行这些指令以执行本公开的技术。视频编码器200和视频解码器300中的每一者可以被包括在一个或多个编码器或解码器中,该一个或多个编码器或解码器中的任一者可以被集成作为相应设备中的组合编码器/解码器(CODEC)的一部分。包括视频编码器200和/或视频解码器300 的设备可包括集成电路、微处理器和/或无线通信设备(诸如蜂窝式电话)。
视频编码器200和视频解码器300可根据视频编解码标准来操作,该视频编解码标准诸如ITU-T H.265,也称为高效视频编解码(HEVC),或其扩展,诸如多视图和/或可缩放视频编解码扩展。替代地,视频编码器200和视频解码器300可根据其它专有或行业标准操作,诸如联合勘探测试模型(JEM) 或ITU-T H.266,其也称为多功能视频编解码(VVC)。VVC标准的草案在 Bross等人于2019年7月3至12日在瑞典哥德堡第15次会议ITU-T SG 15 WP 3和ISO/IEC JTC 3/SC 29/WG 11的联合视频专家团队(JVET)中发表的“多功能视频编解码(草案6)”JVET-O2001-vE(以下简称“VVC草案6”)中有所描述。VVC标准的最新草案在Bross等人于2020年6月22至7月1日在网上电子会议第19次会议ITU-T SG 15 WP 22和ISO/IEC JTC3/SC 29/WG 11的联合视频专家团队(JVET)中发表的“多功能视频编解码(草案10)”JVET-S2001-vA(以下简称“VVC草案10”)中有所描述。然而,本公开的技术不限于任何特定编解码标准。
通常,视频编码器200和视频解码器300可执行对图片的基于块的编解码。术语“块”通常是指包括待处理(例如,编码、解码或以其它方式在编码和 /或解码程序中使用)的数据的结构。例如,块可包括亮度和/或色度数据样点的二维矩阵。通常,视频编码器200和视频解码器300可对以YUV(例如 Y、Cb、Cr)格式表示的视频数据进行编解码。即,视频编码器200和视频解码器300可对亮度和色度分量进行编解码,而非对图片的样点的红色、绿色和蓝色(RGB)数据进行编解码,其中色度分量可包括红色调和蓝色调色度分量两者。在一些示例中,视频编码器200在编码之前将所接收的RGB格式化数据转换为YUV表示,并且视频解码器300将YUV表示转换为RGB格式。替代地,预处理单元和后处理单元(图中未示出)可执行这些转换。
本公开可以一般涉及对图片的编解码(例如,编码和解码)以包括对图片的数据进行编码或解码的过程。类似地,本公开可以涉及对图片的块进行编解码以包括对块的数据进行编码或解码的过程,例如预测和/或残差编解码。经编码视频比特流通常包括语法元素的一系列值,这些语法元素表示编解码决策(例如,编解码模式)和图片到块的分割。因此,对对图片或块进行编解码的引用通常应当被理解为对用于形成图片或块的语法元素的编解码值。
HEVC定义各种块,包括编解码单元(CU)、预测单元(PU)以及变换单元(TU)。根据HEVC,视频编解码器(诸如视频编码器200)根据四叉树结构将编解码树单元(CTU)分割成CU。即,视频编解码器将CTU和CU分割成四个相同的非重叠正方形,并且四叉树的每个节点具有零个或四个子节点。不具有子节点的节点可被称为“叶节点”,并且此类叶节点的CU可包括一个或多个PU和/或一个或多个TU。视频编解码器可进一步分割PU和TU。例如,在HEVC中,残差四叉树(RQT)表示TU的分割。在HEVC中,PU 表示帧间预测数据,而TU表示残差数据。经帧内预测的CU包括帧内预测信息,诸如帧内模式指示。
作为另一示例,视频编码器200和视频解码器300可被配置为根据JEM 或VVC操作。根据JEM或VVC,视频编解码器(诸如视频编码器200)将图片分割成多个编解码树单元(CTU)。视频编码器200可根据树结构分割 CTU,树结构诸如四叉树二叉树(QTBT)结构或多类型树(MTT)结构。QTBT 结构移除多个分割类型的概念,诸如HEVC的CU、PU以及TU之间的分离。 QTBT结构包括两个级别:根据四叉树分割进行分割的第一级别,和根据二叉树分割进行分割的第二级别。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于编解码单元(CU)。
在MTT分割结构中,可使用四叉树(QT)分割、二叉树(BT)分割和一种或多种类型的三叉树(TT)(也称为三元树(TT))分割来分割块。三叉或三元树分割是其中块被拆分成三个子块的分割。在一些示例中,三叉或三元树分割将块划分成三个子块而非穿过中心来划分原始块。MTT中的分割类型(例如,QT、BT和TT)可为对称或不对称的。
在一些示例中,视频编码器200和视频解码器300可使用单一QTBT或 MTT结构表示亮度和色度分量中的每一者,而在其它示例中,视频编码器200 和视频解码器300可使用两个或更多个QTBT或MTT结构,诸如一个 QTBT/MTT结构用于亮度分量而另一QTBT/MTT结构用于两个色度分量(或两个QTBT/MTT结构用于相应的色度分量)。
视频编码器200和视频解码器300可被配置为使用根据HEVC的四叉树分割、QTBT分割、MTT分割,或其它分割结构。出于解释目的,关于QTBT 分割呈现本公开的技术的描述。然而,应理解,本公开的技术还可应用于被配置为使用四叉树分割或其它类型的分割的视频编解码器。
可以以各种方式在图片中对块(例如,CTU或CU)进行分组。作为一个示例,砖块可以指图片中的特定片内的CTU行的矩形区域。片可以是图片中的特定片列和特定片行内的CTU的矩形区域。片列是指CTU的矩形区域,其具有等于图片的高度的高度和由语法元素(例如,诸如在图片参数集中) 指定的宽度。片行是指CTU的矩形区域,其具有由语法元素(例如,诸如在图片参数集中)指定的高度并且等于图片的宽度的宽度。
在一些示例中,可将片分割成多个砖块,每个砖块可包括片内的一个或多个CTU行。没有被分割为多个砖块的片也可以被称为砖块。然而,作为片的真子集的砖块不能被称为片。
图片中的砖块也可以以条带的形式布置。条带可以是图片的整数个砖块,它们可以专有地包含在单个网络抽象层(NAL)单元中。在一些示例中,条带包括多个完整片或仅一个片的连续砖块的连续序列。
本公开可互换地使用“N×N”和“N乘以N”以指代块(诸如,CU或其它视频块)的就垂直和水平维度而言的样点维度,例如16×16样点或16乘以16 样点。通常,16×16 CU在垂直方向上将具有16个样点(y=16),并且在水平方向上将具有16个样点(x=16)。同样,N×NCU通常在垂直方向上具有N 个样点,并且在水平方向上具有N个样点,其中N表示非负整数值。CU中的样点可按列和行布置。此外,CU不必在水平方向上和垂直方向上具有相同数量个样点。例如,CU可包括N×M个样点,其中M不必等于N。
视频编码器200对CU的表示预测和/或残差信息以及其它信息的视频数据进行编码。预测信息指示将如何对CU进行预测以便形成CU的预测块。残差信息通常表示编码前的CU与预测块的样点之间的逐样点差。
为了预测CU,视频编码器200可通常通过帧间预测或帧内预测形成CU 的预测块。帧间预测通常是指从先前经编解码的图片的数据预测CU,而帧内预测通常是指从同一图片的先前经编解码数据预测CU。为了执行帧间预测,视频编码器200可使用一个或多个运动矢量来生成预测块。视频编码器200 可通常执行运动搜索以标识(例如)就CU与参考块之间的差而言与CU紧密匹配的参考块。视频编码器200可使用绝对差总和(SAD)、平方差总和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差计算来计算差度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,视频编码器 200可使用单向预测或双向预测来预测当前CU。
JEM和VVC的一些示例还提供仿射运动补偿模式,其可被视为帧间预测模式。在仿射运动补偿模式中,视频编码器200可以确定表示非平移运动 (诸如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或更多个运动矢量。
为了执行帧内预测,视频编码器200可选择帧内预测模式以生成预测块。 JEM和VVC的一些示例提供六十七种帧内预测模式,包括各种方向模式以及平面模式和DC模式。通常,视频编码器200选择描述当前块(例如,CU 的块)的相邻样点以根据其来预测当前块的样点的帧内预测模式。假定视频编码器200以光栅扫描次序(左至右、上至下)对CTU和CU进行编解码,则此类样通常可处于与当前块相同的图片中的当前块的上方、左上方或左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可对表示使用各种可供使用的帧间预测模式中的哪种模式以及对应模式的运动信息的数据进行编码。例如,对于单向或双向帧间预测,视频编码器200可使用高级运动矢量预测(AMVP)或merge 模式来对运动矢量进行编码。针对仿射运动补偿模式,视频编码器200可使用类似模式来对运动矢量进行编码。
在块的预测(诸如帧内预测或帧间预测)之后,视频编码器200可计算块的残差数据。残差数据(诸如残差块)表示块与使用对应预测模式所形成的该块的预测块之间的逐样点差。视频编码器200可将一个或多个变换应用于残差块,以在变换域而非样点域中产生经变换数据。例如,视频编码器200 可将离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换应用于残差视频数据。附加地,视频编码器200可在初级变换之后应用次级变换,诸如模式相关不可分离次级变换(MDNSST)、信号相关变换、Karhunen-Loeve 变换(KLT)等。视频编码器200在应用一个或多个变换之后产生变换系数。
如上文所指出,在产生变换系数的任何变换之后,视频编码器200可执行变换系数的量化。量化通常是指对变换系数进行量化以可能地减少用于表示变换系数的数据的量从而提供进一步压缩的过程。通过执行量化过程,视频编码器200可减少与变换系数中的一些或所有相关的比特深度。例如,视频编码器200可在量化期间将n位值舍入到m位值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可执行对待量化值的逐比特右移。
在量化之后,视频编码器200可扫描变换系数,从而从包括经量化变换系数的二维矩阵产生一维矢量。扫描可被设计以将较高能量(且因此较低频率)变换系数置于矢量前部,并且将较低能量(且因此较高频率)变换系数置于矢量后部。在一些示例中,视频编码器200可利用预定义扫描次序来扫描经量化变换系数以产生串行化矢量,并且随后对矢量的经量化变换系数进行熵编码。在其它示例中,视频编码器200可执行自适应扫描。在扫描经量化变换系数以形成一维矢量之后,视频编码器200可例如根据上下文自适应二进制算术编解码(CABAC)对一维矢量进行熵编码。视频编码器200还可对描述与经编码视频数据相关联的元数据的语法元素的值进行熵编码,以供视频解码器300在对视频数据进行解码中使用。
为了执行CABAC,视频编码器200可将上下文模型内的上下文指派给待发送符号。上下文可涉及(例如)符号的相邻值是否为零值。概率确定可基于指派给符号的上下文。
视频编码器200可进一步(例如)在图片标头、块标头、条带标头或其它语法数据(诸如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS)) 中向视频解码器300生成语法数据,诸如基于块的语法数据、基于图片的语法数据以及基于序列的语法数据。视频解码器300可同样地对此类语法数据进行解码以确定对对应视频数据进行解码的方式。
这样,视频编码器200可生成包括经编码视频数据(例如,描述图片到块(例如,CU)的分割的语法元素和用于块的预测和/或残差信息)的比特流。最后,视频解码器300可接收比特流并对经编码视频数据进行解码。
通常,视频解码器300执行与视频编码器200所执行的过程互逆的过程,以对比特流的经编码视频数据进行解码。例如,视频解码器300可使用 CABAC以与视频编码器200的CABAC编码过程基本上类似但互逆的方式对比特流的语法元素的值进行解码。语法元素可定义图片到CTU的分割信息和根据对应分割结构(诸如QTBT结构)进行的对每个CTU的分割,以定义 CTU的CU。语法元素可进一步定义视频数据块(例如,CU)的预测和残差信息。
残差信息可以由例如经量化变换系数表示。视频解码器300可对块的经量化变换系数进行逆量化和逆变换,以再现块的残差块。视频解码器300使用信令通知的预测模式(帧内或帧间预测)和相关预测信息(例如,用于帧间预测的运动信息)以形成块的预测块。视频解码器300然后可(在逐样点基础上)组合预测块与残差块以再现原始块。视频解码器300可执行附加处理,诸如执行去方块过程以减少沿块边界的视觉伪影。
根据本公开的技术,一种对视频数据进行解码的方法包括:由一个或多个处理器根据第一排序重组2维去量化系数;由该一个或多个处理器对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N 指示应用该逆LFNST后重构的LFNST系数的数量;由该一个或多个处理器根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该 2维块的索引;以及
由该一个或多个处理器基于经第二排序的逆变换系数对该视频数据进行解码。
根据本公开的技术,一种用于对视频数据进行解码的设备包括:存储器,该存储器被配置为存储该视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实现并且可通信地耦合到该存储器,该一个或多个处理器被配置为:根据第一排序重组2维去量化系数;对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN 矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST 后重构的LFNST系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
根据本公开的技术,一种用于对视频数据进行解码的设备包括:用于根据第一排序重组2维去量化系数的部件;用于对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数的部件,该逆LFNST包括 MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆 LFNST后重构的LFNST系数的数量;用于根据第二排序重组该逆变换系数的部件,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及用于基于经第二排序的逆变换系数对该视频数据进行解码的部件。
根据本公开的技术,一种其上存储有指令的非暂时性计算机可读存储介质,该指令在由一个或多个处理器执行时使得该一个或多个处理器:根据第一排序重组2维去量化系数;对重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST 系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
本公开通常可指代“信令通知”某些信息,诸如语法元素。术语“信令通知”通常可指代针对用于对经编码视频数据进行解码的语法元素的值和/或其它数据的通信。即,视频编码器200可在比特流中信令通知语法元素的值。通常,信令通知是指在比特流中生成值。如上文所提及,源设备102可基本上实时地将比特流传送到目的地设备116,或不实时传送,诸如可在将语法元素存储到存储设备112以供目的地设备116稍后检索时发生。
图2A和图2B是示出示例性四叉树二叉树(QTBT)结构130和对应的编解码树单元(CTU)132的概念图。实线表示四叉树拆分,而虚线指示二叉树拆分。在二叉树的每个拆分(即,非叶)节点中,信令通知一个标志以指示使用哪种拆分类型(即,水平或垂直),其中在该示例中,0指示水平拆分而1指示垂直拆分。对于四叉树拆分,不需要指示拆分类型,因为四叉树节点将块水平和垂直拆分成尺寸相等的4个子块。因此,视频编码器200可以对QTBT结构130的区域树级别(即,实线)的语法元素(诸如拆分信息) 和QTBT结构130的预测树级别(即,虚线)的语法元素(诸如拆分信息) 进行编码,并且视频解码器300可以对这些语法元素进行解码。视频编码器 200可以对用于由QTBT结构130的终端叶节点表示的CU的视频数据(诸如预测数据和变换数据)进行编码,并且视频解码器300可以对该视频数据进行解码。
通常,图2B的CTU 132可以与定义与QTBT结构130在第一和第二级别处的节点相对应的块的尺寸的参数相关联。这些参数可以包括CTU尺寸 (表示样点中CTU 132的尺寸)、最小四叉树尺寸(MinQTSize,表示最小允许四叉树叶节点尺寸)、最大二叉树尺寸(MaxBTSize,表示最大允许二叉树根节点尺寸)、最大二叉树深度(MaxBTDepth,表示最大允许二叉树深度) 和最小二叉树尺寸(MinBTSize,表示最小允许二叉树叶节点尺寸)。
与CTU相对应的QTBT结构的根节点在QTBT结构的第一级别处可以具有四个子节点,这些子节点中的每一个可以根据四叉树分割进行分割。即,第一级别的节点是叶节点(没有子节点)或者具有四个子节点。QTBT结构130的示例将此类节点表示为包括以实线代表分支的父节点和子节点。如果第一级别的节点不大于最大允许二叉树根节点尺寸(MaxBTSize),则节点可以被相应的二叉树进一步分割。一个节点的二叉树拆分可以被迭代,直到由于拆分而产生的节点达到最小允许二叉树叶节点尺寸(MinBTSize)或最大允许二叉树深度(MaxBTDepth)。QTBT结构130的示例将此类节点表示为以虚线代表分支。二叉树叶节点被称为编解码单元(CU),其用于预测(例如,帧内图片或帧间图片预测)和变换,而无需任何进一步的分割。如上文所讨论的,CU也可以被称为“视频块”或“块”。
在QTBT分割结构的一个示例中,CTU尺寸被设置为128x128(亮度样点和两个对应的64x64色度样点),MinQTSize被设置为16x16,MaxBTSize 被设置为64x64,MinBTSize(针对宽度和高度两者)被设置为4,并且 MaxBTDepth被设置为4。四叉树分割首先应用于CTU以生成四叉树叶节点。四叉树叶节点的尺寸可以具有从16x16(即,MinQTSize)至128x128(即,CTU尺寸)的尺寸。如果叶四叉树节点是128x128,则它不会被二叉树进一步拆分,因为尺寸超过了MaxBTSize(即,64x64,在该示例中)。否则,叶四叉树节点将被二叉树进一步分割。因此,四叉树叶节点也是二叉树的根节点并且其二叉树深度为0。当二叉树深度达到MaxBTDepth(在该示例例中为 4)时,不允许进一步拆分。当二叉树节点的宽度等于MinBTSize(在该示例例中为4)时,这暗示不允许进一步的水平拆分。类似地,高度等于MinBTSize 的二叉树节点暗示不允许对该二叉树节点进行进一步的垂直拆分。如上文描述,二叉树的叶节点被称为CU,并且根据预测和变换进行进一步处理而无需进一步分割。
图3是示出可以执行本公开的技术的示例性视频编码器200的框图。图 3是出于解释目的而提供并且不应被认为是对本公开广泛例示和描述的技术的限制。出于解释目的,本公开在诸如HEVC视频编解码标准和研发中的 H.266视频编解码标准的视频编解码标准的上下文中描述视频编码器200。然而,本公开的技术不限于这些视频编解码标准,并且通常可适用于视频编码和解码。
在图3的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、解码图片缓冲器(DPB)218和熵编码单元220。视频数据存储器230、模式选择单元 202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、DPB 218和熵编码单元220中的任一者或全部可实现于一个或多个处理器中或处理电路中。此外,视频编码器200可以包括附加的或替代的处理器或处理电路以执行这些和其它功能。
视频数据存储器230可以存储将由视频编码器200的组件编码的视频数据。视频编码器200可从例如视频源104(图1)接收存储于视频数据存储器230中的视频数据。DPB 218可充当参考图片存储器,其存储参考视频数据以用于由视频编码器200预测后续视频数据。视频数据存储器230和DPB 218可以由多种存储器设备中的任一种形成,诸如动态随机存取存储器 (DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM (RRAM),或其它类型的存储器设备。视频数据存储器230和DPB 218可以由相同的存储器设备或单独的存储器设备提供。在各个示例中,视频数据存储器230可以如所示与视频编码器200的其它组件在片上,或者相对于那些组件在片外。
在本公开中,对视频数据存储器230的参考不应解译为限于在视频编码器200内部的存储器(除非特定地如此描述),或限于在视频编码器200外部的存储器(除非特定地如此描述)。更确切地,对视频数据存储器230的参考应理解为存储视频编码器200所接收以用于编码的视频数据(例如待编码的当前块的视频数据)的参考存储器。图1的存储器106还可提供对来自视频编码器200的各种单元的输出的临时存储。
图3的各种单元被示为辅助理解由视频编码器200执行的操作。这些单元可被实现为固定功能电路、可编程电路或其组合。固定功能电路是指提供特定功能性且被预设在可被执行的操作上的电路。可编程电路是指可被编程为执行各种任务并在可被执行的操作中提供灵活功能性的电路。例如,可编程电路可执行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常为不可变的。在一些示例中,单元中的一者或多者可为不同电路块(固定功能或可编程),并且在一些示例中,单元中的一者或多者可为集成电路。
视频编码器200可包括算术逻辑单元(ALU)、初等函数单元(EFU)、数字电路、模拟电路和/或由可编程电路形成的可编程核。在其中视频编码器 200的操作是使用由可编程电路执行的软件执行的示例中,存储器106(图 1)可存储视频编码器200接收并执行的软件的指令(例如,目标代码),或视频编码器200内的另一存储器(未示出)可存储此类指令。
视频数据存储器230被配置为存储所接收视频数据。视频编码器200可从视频数据存储器230检索视频数据的图片,并将视频数据提供给残差生成单元204和模式选择单元202。视频数据存储器230中的视频数据可为待编码的原始视频数据。
模式选择单元202包括运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可包括附加功能单元以根据其它预测模式来执行视频预测。作为示例,模式选择单元202可包括调色板单元、帧内块复制单元(其可为运动估计单元222和/或运动补偿单元224的部分)、仿射单元、线性模型(LM)单元等。
模式选择单元202通常协调多个编码遍次以测试编码参数的组合和用于此类组合的所得率失真值。编码参数可包括CTU到CU的分割、用于CU的预测模式、用于CU的残差数据的变换类型、用于CU的残差数据的量化参数等等。模式选择单元202可最终选择比其它所测试组合具有更佳率失真值的编码参数的组合。
视频编码器200可将从视频数据存储器230检索的图片分割成一系列 CTU,并且将一个或多个CTU封装于条带内。模式选择单元202可根据诸如上文所描述的QTBT结构或HEVC的四叉树结构的树结构来分割图片的CTU。如上文所描述,视频编码器200可通过根据树状结构分割CTU来形成一个或多个CU。此CU通常还可被称为“视频块”或“块”。
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226)以生成用于当前块(例如,当前CU,或在HEVC中PU与TU的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可执行运动搜索以标识一个或多个参考图片(例如,存储于DPB 218中的一个或多个先前经编解码图片)中的一个或多个紧密匹配的参考块。具体地,运动估计单元222可例如根据绝对差总和(SAD)、平方差总和(SSD)、平均值绝对差(MAD)、均方差(MSD)等来计算表示潜在参考块与当前块的类似程度的值。运动估计单元222通常可使用当前块与所考虑的参考块之间的逐样点差执行这些计算。运动估计单元222可标识具有由这些计算产生的最小值的参考块,从而指示与当前块最紧密匹配的参考块。
运动估计单元222可形成一个或多个运动矢量(MV),其定义参考图片中的参考块相对于当前图片中的当前块的位置。运动估计单元222然后可将运动矢量提供给运动补偿单元224。例如,对于单向帧间预测,运动估计单元 222可提供单个运动矢量,而对于双向帧间预测,运动估计单元222可提供两个运动矢量。运动补偿单元224然后可使用运动矢量来生成预测块。例如,运动补偿单元224可使用运动矢量检索参考块的数据。作为另一示例,如果运动矢量具有分数样点精度,则运动补偿单元224可根据一个或多个插值滤波器对预测块的值进行插值。此外,对于双向帧间预测,运动补偿单元224可检索用于由相应的运动矢量标识的两个参考块的数据,并且例如通过逐样点平均或加权平均来组合所检索的数据。
作为另一示例,对于帧内预测或帧内预测编解码,帧内预测单元226可从与当前块相邻的样点生成预测块。例如,对于方向模式,帧内预测单元226 通常可在数学上组合相邻样点的值,并且在横跨当前块的所定义方向上填入这些计算值以产生预测块。作为另一示例,对于DC模式,帧内预测单元226 可计算与当前块相邻的样点的平均值,并且生成预测块以针对预测块的每个样点包括这种所得平均值。
模式选择单元202将预测块提供给残差生成单元204。残差生成单元204 从视频数据存储器230接收当前块的原始未经编码版本,并且从模式选择单元202接收预测块的原始未经编解码版本。残差生成单元204计算当前块与预测块之间的逐样点差。所得逐样点差定义当前块的残差块。在一些示例中,残差生成单元204还可确定残差块中的样点值之间的差,以使用残差差分脉码调制(RDPCM)来生成残差块。在一些示例中,可使用执行二进制减法的一个或多个减法器电路来形成残差生成单元204。
在其中模式选择单元202将CU分割成PU的示例中,每个PU可与亮度预测单元和对应色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种尺寸的PU。如上文所指示,CU的尺寸可以指代CU的亮度编解码块的尺寸,而PU的尺寸可以指代PU的亮度预测单元的尺寸。假设特定CU的尺寸是2Nx2N,则视频编码器200可以支持用于帧内预测的2Nx2N 或NxN的PU尺寸,以及用于帧间预测的2Nx2N、2NxN、Nx2N、NxN或类似的对称PU尺寸。视频编码器200和视频解码器300还可以支持用于帧间预测的2NxnU、2NxnD、nLx2N和nRx2N的PU尺寸的非对称分割。
在其中模式选择单元202未将CU进一步分割成PU的示例中,每个CU 可与亮度编解码块和对应色度编解码块相关联。如上所示,CU的尺寸可指 CU的亮度编解码块的尺寸。视频编码器200和视频解码器300可支持2N×2N、 2N×N或N×2N的CU尺寸。
对于诸如帧内块复制模式编解码、仿射模式编解码和线性模型(LM)模式编解码之类的其它视频编解码技术,作为若干示例,模式选择单元202经由与编解码技术相关联的相应的单元生成正被编码的当前块的预测块。在诸如调色板模式编解码的一些示例中,模式选择单元202可以不生成预测块,而是生成指示基于所选调色板来重构块的方式的语法元素。在此类模式中,模式选择单元202可将这些语法元素提供给熵编码单元220以进行编码。
如上文所描述,残差生成单元204接收用于当前块和对应预测块的视频数据。残差生成单元204然后生成当前块的残差块。为了生成残差块,残差生成单元204计算预测块与当前块之间的逐样点差。
变换处理单元206将一个或多个变换应用于残差块以生成变换系数的块 (在本文中被称为“变换系数块”)。变换处理单元206可将各种变换应用于残差块以形成变换系数块。例如,变换处理单元206可将LFNST、离散余弦变换(DCT)、方向变换、Karhunen-Loeve变换(KLT)或概念上类似的变换应用于残差块。在一些示例中,变换处理单元206可对残差块执行多个变换,例如初级变换和次级变换,诸如旋转变换。在一些示例中,变换处理单元206不将变换应用于残差块。
在一些示例中,变换处理单元206可根据排序重组初级变换系数。变换处理单元206还可对重组的初级变换系数应用LFNST以创建LFNST系数。
量化单元208可对变换系数块中的变换系数进行量化,以产生经量化变换系数块。量化单元208可根据与当前块相关联的量化参数(QP)值来对变换系数块的变换系数进行量化。视频编码器200(例如,经由模式选择单元 202)可通过调整与CU相关联的QP值来调整应用于与当前块相关联的变换系数块的量化程度。量化可能引入信息的损耗,并且因此,经量化变换系数可能具有比由变换处理单元206产生的原始变换系数低的精度。
逆量化单元210和逆变换处理单元212可将逆量化和逆变换分别应用于经量化变换系数块,以根据变换系数块重构残差块。已经被逆量化的经量化变换系数在本文中可以被称为去量化系数。例如,逆变换处理单元212可以根据第一排序来重组2维去量化系数。逆变换处理单元212还可对重组的2 维去量化系数应用逆变换LFNST以创建逆变换系数。逆变换处理单元212还可以根据第二排序来重组逆变换系数。逆变换处理单元212还可以基于经第二排序的逆变换系数对视频数据进行解码。例如,逆变换处理单元212可以对重组的逆变换系数应用诸如逆DCT-2等的逆可分离变换。
重构单元214可基于经重构残差块和由模式选择单元202生成的预测块来产生对应于当前块的经重构块(尽管可能具有一些程度的失真)。例如,重构单元214可将经重构残差块的样点添加到来自模式选择单元202生成的预测块的对应样点,以产生经重构块。
滤波器单元216可对经重构块执行一个或多个滤波器操作。例如,滤波器单元216可执行去方块操作以沿CU的边缘减少块效应伪影。在一些示例中,可跳过滤波器单元216的操作。
视频编码器200将经重构块存储于DPB 218中。例如,在其中不需要滤波器单元216的操作的示例中,重构单元214可将经重构块存储到DPB 218。在其中需要滤波器单元216的操作的示例中,滤波器单元216可将经滤波的经重构块存储到DPB 218。运动估计单元222和运动补偿单元224可从DPB 218检索由经重构(并且可能经滤波)的块形成的参考图片,以对后续经编码图片的块进行帧间预测。另外,帧内预测单元226可使用当前图片在DPB 218 中的经重构块以对当前图片中的其它块进行帧内预测。
通常,熵编码单元220可对从视频编码器200的其它功能组件接收的语法元素进行熵编码。例如,熵编码单元220可对来自量化单元208的经量化变换系数块进行熵编码。作为另一示例,熵编码单元220可对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可对语法元素(其为视频数据的另一示例)进行一个或多个熵编码操作以生成经熵编码数据。例如,熵编码单元220可对数据执行上下文自适应可变长度编解码(CAVLC)操作、 CABAC操作、可变到可变(V2V)长度编解码操作、基于语法的上下文自适应二进制算术编解码(SBAC)操作、概率间隔分割熵(PIPE)编解码操作、指数-哥伦布编码操作或另一类型的熵编码操作。在一些示例中,熵编码单元 220可在旁路模式下操作,其中语法元素未经熵编码。
视频编码器200可输出比特流,该比特流包括重构条带或图片的块所需的经熵编码语法元素。具体地,熵编码单元220可输出比特流。
以上描述的操作是相对于块而描述的。此描述应被理解为用于亮度编解码块和/或色度编解码块的操作。如上文所描述,在一些示例中,亮度编解码块和色度编解码块是CU的亮度和色度分量。在一些示例中,亮度编解码块和色度编解码块是PU的亮度和色度分量。
在一些示例中,无需针对色度编解码块重复关于亮度编解码块执行的操作。作为一个示例,无需重复标识亮度编解码块的运动矢量(MV)和参考图片的操作来标识色度块的MV和参考图片。更确切地,亮度编解码块的MV 可被缩放以确定色度块的MV,并且参考图片可为相同的。作为另一示例,对于亮度编解码块和色度编解码块,帧内预测程序可是相同的。
视频编码器200表示被配置为对视频数据进行编码的设备的示例,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理单元,该一个或多个处理单元实现于电路中并且被配置为例如在重构循环中对视频数据进行解码。该一个或多个处理器被配置为:根据第一排序重组2维去量化系数;对重组的2维去量化系数应用逆低频不可分离变换(LFNST) 以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2 维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
图4是示出可以执行本公开的技术的示例性视频解码器300的框图。图 4是出于解释目的而提供,并且并非是对本公开广泛例示和描述的技术的限制。出于解释目的,本公开根据JEM、VVC和HEVC的技术来描述视频解码器300。然而,本公开的技术可由被配置为其它视频编解码标准的视频编解码设备执行。
在图4的示例中,视频解码器300包括遍解码图片缓冲器(CPB)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和解码图片缓冲器(DPB)314。CPB存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和DPB 314中的任一者或全部可实现于一个或多个处理器或处理电路中。此外,视频解码器300可以包括附加的或替代的处理器或处理电路以执行这些和其它功能。
预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可包括根据其它预测模式执行预测的附加单元。作为示例,预测处理单元304可包括调色板单元、帧内块复制单元(其可形成运动补偿单元 316的部分)、仿射单元、线性模型(LM)单元等。在其它示例中,视频解码器300可以包括更多、更少或不同的功能组件。
CPB存储器320可存储待由视频解码器300的组件解码的视频数据,诸如经编码视频比特流。可(例如)从计算机可读介质110(图1)获得存储于CPB存储器320中的视频数据。CPB存储器320可包括存储来自经编码视频比特流的经编码视频数据(例如,语法元素)的CPB。而且,CPB存储器 320可存储除经解码图片的语法元素之外的视频数据,诸如表示来自视频解码器300的各种单元的输出的临时数据。DPB 314通常存储经解码图片,视频解码器300可输出该经解码图片和/或在对经编码视频比特流的后续数据或图片进行解码时将其用作参考视频数据。CPB存储器320和DPB 314可以由多种存储器设备中的任何一种形成,例如DRAM,包括SDRAM、MRAM、 RRAM,或其它类型的存储器设备。CPB存储器320和DPB 314可以由相同的存储器设备或单独的存储器设备提供。在各个示例中,CPB存储器320可以与视频解码器300的其它组件在片上,或者相对于那些组件在片外。
附加地或替代地,在一些示例中,视频解码器300可从存储器120(图 1)检索经解码视频数据。即,存储器120可存储如上文与CPB存储器320一起讨论的数据。同样地,当视频解码器300的一些或所有功能性实现于软件中以由视频解码器300的处理电路执行时,存储器120可存储待由视频解码器300执行的指令。
图4中所示的各种单元被示为辅助理解由视频解码器300执行的操作。这些单元可被实现为固定功能电路、可编程电路或其组合。类似于图3,固定功能电路是指提供特定功能性且被预设在可被执行的操作上的电路。可编程电路是指可被编程为执行各种任务并在可被执行的操作中提供灵活功能性的电路。例如,可编程电路可执行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常为不可变的。在一些示例中,单元中的一者或多者可为不同电路块(固定功能或可编程),并且在一些示例中,单元中的一者或多者可为集成电路。
视频解码器300可包括ALU、EFU、数字电路、模拟电路和/或由可编程电路形成的可编程核。在其中视频解码器300的操作系由在可编程电路上执行的软件执行的示例中,片上或片外存储器可存储视频解码器300接收并执行的软件的指令(例如目标代码)。
熵解码单元302可从CPB接收经编码视频数据,并且对视频数据进行熵解码以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元 308、重构单元310和滤波器单元312可以基于从比特流中提取的语法元素来生成经解码视频数据。
通常,视频解码器300在逐块的基础上重构图片。视频解码器300可单独对每一块执行重构操作(其中当前正被重构(即,被解码)的块可被称为“当前块”)。
熵解码单元302可对定义经量化变换系数块的经量化变换系数的语法元素以及诸如量化参数(QP)和/或(一个或多个)变换模式指示的变换信息进行熵解码。逆量化单元306可使用与经量化变换系数块相关联的QP来确定量化程度,并且同样确定逆量化程度以供逆量化单元306应用。逆量化单元 306可例如执行逐位左移操作以对经量化变换系数进行逆量化。逆量化单元 306可由此形成包括变换系数的变换系数块。
在逆量化单元306形成变换系数块后,逆变换处理单元308可将一个或多个逆变换应用于变换系数块以生成与当前块相关联的残差块。例如,逆变换处理单元308可以对变换系数块应用逆LFNST、逆DCT、逆整数变换、逆卡尔亨-洛夫变换(KLT)、逆旋转变换、逆方向变换或另一种逆变换。
例如,逆变换处理单元308可以根据第一排序来重组2维去量化系数。逆变换处理单元308还可对重组的2维去量化系数应用逆变换LFNST以创建逆变换系数。逆变换处理单元308还可以根据第二排序来重组逆变换系数。逆变换处理单元308还可以基于经第二排序的逆变换系数对视频数据进行解码。例如,逆变换处理单元308可以对重组的逆变换系数应用诸如逆DCT-2 等逆可分离变换。
此外,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素生成预测块。例如,如果预测信息语法元素指示当前块是帧间预测的,则运动补偿单元316可生成预测块。在该情况下,预测信息语法元素可指示 DPB 314中的参考图片(从其中检索参考块)以及运动矢量,该运动矢量标识参考图片中的参考块的位置相对于当前图片中的当前块的位置。运动补偿单元316通常可以基本上类似于关于运动补偿单元224(图3)所描述的方式执行帧间预测过程。
作为另一示例,如果预测信息语法元素指示当前块是帧内预测的,则帧内预测单元318可根据由预测信息语法元素指示的帧内预测模式生成预测块。而且,帧内预测单元318通常可以基本上类似于关于帧内预测单元226(图 3)所描述的方式执行帧内预测过程。帧内预测单元318可从DPB 314检索到当前块的相邻样点的数据。
重构单元310可使用预测块与残差块来重构当前块。例如,重构单元310 可将残差块的样点添加到预测块的对应样点以重构当前块。
滤波器单元312可对经重构块执行一个或多个滤波操作。例如,滤波器单元312可执行去方块操作以沿重构块的边缘减少块效应伪影。滤波器单元 312的操作不一定在所有示例中执行。
视频解码器300可将经重构块存储于DPB 314中。例如,在其中不执行滤波器单元312的操作的示例中,重构单元310可将经重构块存储到DPB 314。在其中执行滤波器单元312的操作的示例中,滤波器单元312可将经滤波的经重构块存储到DPB 314。如上文所讨论,DPB 314可将诸如用于帧内预测的当前图片和用于后续运动补偿的经先前解码图片的样点的参考信息提供给预测处理单元304。此外,视频解码器300可从DPB 314输出经解码图片(例如,经解码视频)以用于随后呈现于诸如图1的显示设备118的显示设备上。
这样,视频解码器300表示视频解码设备的示例,该视频解码设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理单元,该一个或多个处理单元实现于电路中并且被配置为:根据第一排序重组2维去量化系数;对该重组的2维去量化系数应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用该逆LFNST后重构的LFNST系数的数量;根据第二排序重组该逆变换系数,该第二排序基于包括值的数组,其中该数组中的每个值对应于2维块中的位置并且该数组中的值以定义的顺序指示该2维块的索引;以及基于经第二排序的逆变换系数对该视频数据进行解码。
本公开涉及变换编解码。变换编解码是现代视频压缩标准的基本要素。参见M.Wien在2015年在柏林斯普林格出版的“高效视频编解码:编解码工具和规范”。本公开涵盖可以提高编解码效率或简化视频编解码中的设计的各种低频不可分离变换设计,包括相对于VVC草案6的设计提高编解码效率和简单性。本公开的技术可用于其它高级视频编编解码器,包括HEVC的扩展和下一代视频编解码标准。在HEVC之前的视频编解码标准的实现中,仅使用固定的可分离变换,其中垂直和水平地使用DCT-2。在HEVC的实现中,除了DCT-2之外,DST-7也作为固定的可分离变换用于4x4块。以下描述了多重变换选择(MTS)方法:2019年5月28日发布的题为“用于预测残差的增强型多重变换(Enhanced Multiple Transformsfor Prediction Residual)”并要求2015年1月26日提交的美国临时专利申请62/107,996的优先权的美国专利号10,306,229;2018年1月18日公开的题为“用于增强型多重变换的查找表(Look-Up Table for Enhanced Multiple Transform)”并要求2016年7月15 日提交的美国临时专利申请号62/363,188的优先权的美国公开2018-0020218 A1;以及2019年5月30日提交的题为“用于视频编解码的编解码自适应多重变换信息(Coding AdaptiveMultiple Transform Information for Video Coding)”并要求2018年6月1日提交的美国临时专利申请号62/679,570的优先权的美国专利公开号2019-0373261 A1。MTS以前称为自适应多重变换(AMT)。美国专利公开号2019-0373261A1中的MTS的示例已在联合视频专家组(JVET)的联合实验模型(JEM-7.0)中采用。参见ITU-T SG 16 WP 3和 ISO/IEC JTC 1/SC29/WG 11的联合视频专家组(JVET)、JEM软件。后来,在VVC中采用了MTS的简化版本。
图5是示出在编码器和解码器(例如,视频编码器200和视频解码器300) 处的低频不可分离变换(LFNST)的概念图,其中LFNST包括编编解码器中的可分离变换与量化之间的阶段。在图5的示例中,诸如视频编码器200等视频编码器可以应用可分离变换400。然后视频编码器可以应用LFNST 402。然后视频编码器可以量化LFNST系数404。诸如视频解码器300等视频解码器可以对量化系数406进行逆量化。然后视频解码器可以应用逆LFNST 408。视频解码器然后可以应用逆可分离变换410。
图5中所示的LFNST用于JEM-7.0以进一步提高MTS的编码效率,其中LFNST的实现是基于2019年10月15日发布的题为“用于视频编解码的多遍不可分变换(Multi-Pass Non-Separable Transforms for Video Coding)”并要求均在2016年2月15日提交的美国临时专利申请号62/295,440和62/295,448 的权益的美国专利号10,448,053中公开的超立方体吉文斯变换(HyGT)(对于替代设计和其它细节,参见2019年11月26日提交的题为“用于视频编解码的不可分离的次级变换(Non-Separable Secondary Transform for VideoCoding)”的美国专利号10,491,922;2019年7月9日发布的题为“用于紧凑型多遍变换的高效参数存储(Efficient Parameter Storage for Compact Multi-Pass Transforms)”并要求均在2016年2月15日提交的美国临时专利申请号 62/295,456和62/295,448以及2019年9月26日公开的题为“经由并行因式分解最小化变换存储器和延迟(Minimization ofTransform Memory and Latency Via Parallel Factorizations)”的美国专利公开号2019-0297351的权益的美国专利号10,349,085)。LFNST以前称为不可分离次级变换(NSST)或次级变换,其中所有缩写都是相同的。最近,Koo等人采用了LFNST,即,于2019年3 月19日至27日在瑞士日内瓦第14次会议JVET-N0193中发布的ITU-T SG 16 WP 3和ISO/IEC JTC1/SC 29/WG 11的联合视频专家团队(JVET)“CE6:减少次级变换(RST)(CE6-3.1)”。
图6是示出利用LFNST的示例性逆变换过程的概念图。利用LFNST的逆变换涉及图6中所示的以下技术,并且可以例如由视频编码器200的逆变换处理单元212和由视频解码器300的逆变换处理单元308执行。通过首先通过经由预定义扫描/排序将2维块420转换成1维系数列表(或矢量),2维块420中的经解码变换系数用作逆LFNST的输入。不使用归零系数422。归零系数可以是根据预定义规则基于它们在2维块内的位置将其值设置为零的系数。逆LFNST被应用于1维输入系数列表,并且输出系数经由预定义扫描 /排序被重组成2维块424。不使用归零系数426。逆变换LFNST系数用作可分离逆DCT-2的输入以获得经重构残差428。
图7是示出用于从16个输入系数的列表重构16个中间系数的4x4逆 LFNST的概念图。图8是示出用于从16个输入系数的列表重构48个中间系数的8x8逆LFNST的概念图。在VVC草案6中,LFNST可以应用于4x4或8x8子块。在这两种情况下,4x4子块中的16个经解码系数(其中一些可能被规范地归零)被输入到逆LFNST。对于4x4子块430,视频解码器300可使用16x16逆LFNST在应用可分离逆DCT-2之前构建16个中间系数432,如图7所示。对于8x8子块440,视频解码器300可使用16x48逆LFNST在可分离逆DCT-2之前构建48个中间系数442,如图8所示。注意,48个中间系数442被重组成L形图案。剩余系数444被归零。可以基于(i)变换(例如,LFNST)矩阵和(ii)中间系数的重组图案/扫描来完全定义逆LFNST过程。在2020年5月13日提交的题为“用于视频编解码的基于归零图案的低频不可分离的变换信令(Low-Frequency Non-Separable Transformation Signaling Based on Zero-Out Patternsfor Video Coding)”且要求2019年5月17日提交的美国临时专利申请62/849,689的优先权的美国专利申请号15/931,271中描述了VCC草案6中的归零过程的细节的一个示例。
对于4x4 LFNST,取决于帧内模式,视频编码器200和视频解码器300 可以使用以下两种图案/扫描中的一者:
Figure BDA0003553360860000281
其中以上两个图案/扫描指示中间系数的重新排序。例如,lfnstRGScan4x4 不会更改系数的行优先重新排序。然而,lfnstRGTranScan4x4通过转置系数的顺序来重新排序(例如,1、2、3、6、7和11处的系数分别与4、8、12、9、 13和14处的系数交换)。在一些示例中,lfnstRGScan4x4可用于索引在0至 34之间(包含端点)的帧内模式,而lfnstRGTranScan4x4可用于索引高于34 的帧内模式。
对于4x4 LFNST,可以根据VVC草案6使用以下八个16x16矩阵。
Figure BDA0003553360860000291
Figure BDA0003553360860000301
Figure BDA0003553360860000311
Figure BDA0003553360860000321
Figure BDA0003553360860000331
Figure BDA0003553360860000341
Figure BDA0003553360860000351
Figure BDA0003553360860000361
Figure BDA0003553360860000371
Figure BDA0003553360860000381
对于8x8 LFNST,视频编码器200或视频解码器300可以取决于帧内模式使用以下两种图案/扫描:
Figure BDA0003553360860000383
其中以上两个图案/扫描指示中间系数的重新排序。具体地, lfnstRGScan8x8以L形图案重组48个中间系数(例如,第48个系数被映射到图8中的位置59)。扫描lfnstRGTranScan4x4通过转置系数对L形图案进行重新排序(例如,第48个系数被映射到图8中的位置31)。在一些示例中, lfnstRGScan4x4可用于索引在0至34之间(包含端点)的帧内模式,而 lfnstRGTranScan4x4可用于索引高于34的帧内模式。
对于8x8 LFNST,VVC草案6中使用了以下八个16x48矩阵。
Figure BDA0003553360860000382
Figure BDA0003553360860000391
Figure BDA0003553360860000401
Figure BDA0003553360860000411
Figure BDA0003553360860000421
Figure BDA0003553360860000431
Figure BDA0003553360860000441
Figure BDA0003553360860000451
Figure BDA0003553360860000461
Figure BDA0003553360860000471
Figure BDA0003553360860000481
Figure BDA0003553360860000491
Figure BDA0003553360860000501
Figure BDA0003553360860000511
Figure BDA0003553360860000521
Figure BDA0003553360860000531
Figure BDA0003553360860000541
本公开相对于VVC草案6中用于LFNST的技术描述了用于8x8 LFNST 的各种优化矩阵和重组图案/扫描。所公开的技术可以通过减少执行LFNST或逆LFNST所需的乘法数量来简化VVC草案6中的8x8 LFNST设计。所公开的技术还可以在不增加编码器或解码器复杂性的情况下降低存储器需求和/ 或提供编解码增益。
在视频解码器300(基于系数解码步骤)获得2维去量化系数列表之后,视频解码器300可以应用逆LFNST来重构系数子集。然后,视频解码器300 可以使用逆可分离变换(例如,DCT-2)来重构2维块/数组中的残差(诸如图7和图8中所示)。
LFNST解码过程可基于以下各项来指定:重组图案/扫描,其用于定义如何组织LFNST输入和输出系数;以及变换矩阵,其定义用于经解码系数子集的不可分离变换。
图9是示出逆LFNST过程的概念图。使用LFNST,可以组织解码系数的2维块/数组,以便使矩阵的条目与逆LFNST的输入匹配。如图9所示,这可以通过例如逆变换处理单元212或逆变换处理单元308来实现:从系数 450的2维块构造M个系数的1维列表452,对M个系数的1维列表452应用逆LFNST(尺寸为M×N)以重构N个LFNST系数454,并且输出系数在 2维块/数组456中被重组,这些输出系数被输入到重构残差块的可分离变换 (逆DCT-2)。
在VVC草案6中,LFNST设计允许最多M=16个非零系数(位于左上角4x4子块),而其余系数被规范地设置为零(诸如图11所示)。然而,本公开的技术可应用于允许所有系数为非零的设计。一个示例可以是M=N的情况。例如,没有一个系数被规范地归零。
图10是示出基于光栅扫描的输入重组的概念图。光栅扫描是逐行扫描,其从左上角的系数开始移动到右上角的系数,然后最上面一行正下方的行(第二行)再次从左向右移动,然后第二行正下方的行再次从左向右移动,依此类推。现在进一步讨论输入重组。在一个示例中,可以以光栅扫描顺序(也称为行优先顺序,如图10所示)来完成重组。可以看出,4x4块460中的系数的顺序在1维列表462中基于光栅扫描顺序被重组。例如,视频解码器300可将4x4块460的顶行中的系数从右到左重组到1维列表462中的第一、第二、第三和第四位置(例如,最左边的四个位置)中。视频解码器300可以将来自4x4块460的第二行的系数放置在1维列表462中的接下来四个位置中,以此类推。在另一示例中,视频解码器300可按列优先排序(例如,按列而不是按行)执行重组。在另一示例中,视频解码器300可基于块尺寸和/或帧内模式来重组系数。
如果编解码器(例如,视频编码器200或视频解码器300)规范地将输入系数的子集设置为归零,则LFNST的输入系数列表可以不包括那些归零的系数。重组步骤可以仅包括可能为非零的系数(例如,没有被规范地归零的系数)。
现在进一步讨论LFNST变换矩阵。逆变换处理单元212和逆变换处理单元308内的LFNST变换矩阵的尺寸可以是MxN,其中M指示基矢量的数量并且还指示行数,并且N指示在应用变换之后的重构LFNST系数的数量 (也称为用于变换的支持样点的数量)。变换矩阵条目可以是8比特、9比特或10比特精度。变换矩阵的一行中所有条目的符号都可以被翻转。换言之,变换矩阵中的行矢量可以乘以-1。在一些示例中,变换矩阵中的所有行都可以乘以-1。在一些示例中,变换矩阵中的行子集可以乘以-1,而其它条目不变。
现在进一步讨论输出重组图案/扫描。逆变换处理单元212和逆变换处理单元308可以基于数组(定义图案/扫描)来重组N个输出LFNST系数的1 维列表,其中该数组中的每个值对应于2维块中的位置(position/location)。数组中的值(用于重组)可以以任何预定义顺序指示2维块的索引。在一个示例中,索引值可以对应于2维块中的位置。给定索引值v,则2维块中的对应位置可以被计算为:
行索引:r=floor(v/w)
列索引:c=mod(v,w),
其中w指示LFNST子块的宽度(在VVC草案6中,w可以是4或8)。
根据此公式,重组图案的以下数组对应于4x4块的光栅顺序:
Figure BDA0003553360860000561
使得1维系数列表中的第i个元素被映射到2维块中的行和列位置,如对于i=0,1,…15:
r[i]=floor(raster_order[i]/w)
c[i]=mod(raster_order[i],w)
现在讨论8x8 LFNST的示例。图11是示出在8x8 LFNST中具有16个样点的4x4块图案的概念图。在图11的示例中,视频解码器300可针对M= 16个解码系数以光栅扫描顺序执行输入重组。1维列表470可以如图所示重组和输出,其中1维列表470中的系数被重组到8x8块474的左上4x4部分 472中。8x8块474中的其它系数可以规范地归零。优化的输出重组图案/扫描可以在数组g_lfnstRGScan8x8或g_lfnstRGTranScan8x8中指定,其中取决于帧内模式使用这些数组中的一者。优化变换(LFNST)矩阵的集合可以被定义为g_lfnst8x8。
在8x8 LFNST中具有N=16个样点的4x4块图案:
Figure BDA0003553360860000562
Figure BDA0003553360860000571
Figure BDA0003553360860000581
Figure BDA0003553360860000591
Figure BDA0003553360860000601
Figure BDA0003553360860000611
Figure BDA0003553360860000621
Figure BDA0003553360860000631
Figure BDA0003553360860000641
Figure BDA0003553360860000651
Figure BDA0003553360860000661
图12是示出在8x8 LFNST中具有25个样点的5x5块图案的概念图。1 维列表480可以如图所示重组和输出,其中1维列表480中的系数被重组到 8x8块484的左上5x5部分482中。8x8块484中的剩余系数可以规范地归零。优化的输出重组图案/扫描可以在数组g_lfnstRGScan8x8和 g_lfnstRGTranScan8x8中指定,其中根据帧内模式使用这些数组中的一者。优化变换(LFNST)矩阵的集合可以被定义为g_lfnst8x8。
8x8 LFNST中具有N=25个样点的5x5块图案可包括:
Figure BDA0003553360860000662
Figure BDA0003553360860000671
Figure BDA0003553360860000681
Figure BDA0003553360860000691
Figure BDA0003553360860000701
Figure BDA0003553360860000711
Figure BDA0003553360860000721
Figure BDA0003553360860000731
Figure BDA0003553360860000741
Figure BDA0003553360860000751
Figure BDA0003553360860000761
图13是示出在8x8 LFNST中具有36个样点的6x6块图案的概念图。此示例可以通过用6x6方形图案替换L形的48个样点支持图案来简化VVC草案6 8x8 LFNST设计。实验表明,具有优化变换矩阵的图13的示例针对VTM- 6.0提供-0.01%的所有帧内访问和0.00%的随机访问。与VVC草案6的8x8 LFNST相比,图13的示例可以减少乘法的数量以及用于存储8x8LFNST的变换矩阵的存储器。图13的示例的存储器要求和乘法数量可能与Zhou等人于2019年10月2日至12日在瑞士日内瓦第16次会议ITU-T SG 16 WP 3和 ISO/IEC JTC 1/SC 29/WG 11的联合视频专家团队(JVET)中发表的“CE6-2.3a:采用LFNST变换基础的简化”JVET-P0065(下文称为“JVET-P0065”)中测试的技术相同,其中提出了具有36个样点的图案。图13的示例可以通过使用单个6x6正方形块进一步简化CE6-2.3a,而JVET-P0065根据LFNST索引使用两个不规则(非正方形)分离图案。图13的示例可以通过可忽略的 Bjontegaard速率差异(BD速率)简化现有的LFNST设计。1维列表490可以如图所示重组和输出,其中1维列表490中的系数被重组到8x8块494的左上6x6部分492中。8x8块494中的剩余系数可以规范地归零。优化的输出重组图案/扫描可以在数组g_lfnstRGScan8x8和g_lfnstRGTranScan8x8中指定。优化变换(LFNST)矩阵的集合可以被定义为g_lfnst8x8。8x8 LFNST中具有N=36个样点的6x6块图案可包括:
Figure BDA0003553360860000762
Figure BDA0003553360860000771
Figure BDA0003553360860000781
Figure BDA0003553360860000791
Figure BDA0003553360860000801
Figure BDA0003553360860000811
Figure BDA0003553360860000821
Figure BDA0003553360860000831
Figure BDA0003553360860000841
Figure BDA0003553360860000851
Figure BDA0003553360860000861
Figure BDA0003553360860000871
Figure BDA0003553360860000881
Figure BDA0003553360860000891
Figure BDA0003553360860000901
图14是示出在8x8 LFNST中具有48个样点的圆形图案的概念图。此示例旨在通过为8x8 LFNST引入圆形48样点支持图案来提供附加的编解码增益。实验结果表明,针对VVC测试模型6(VTM-6.0)可以实现-0.09%的所有帧内和-0.04%的随机访问BD速率,其描述可在Chen等人的于2019年7 月3日至12日在瑞典哥德堡第15次会议ITU-T SG 16 WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家团队(JVET)中发表的“用于通用视频编解码和测试模型6(VTM 6)的算法描述(Algorithm description for Versatile Video Coding andTest Model 6(VTM 6))”中找到。图14的示例可以提供超过VTM- 6.0的附加编解码增益,而不增加存储器需求和乘法数量。1维列表500可以如图所示重组和输出,其中1维列表500中的系数被重组到8x8块504的暗阴影部分502中。8x8块504的剩余系数可以规范地归零。优化的输出重组图案/扫描可以在数组g_lfnstRGScan8x8和g_lfnstRGTranScan8x8中指定。优化变换(LFNST)矩阵的集合可以被定义为g_lfnst8x8。8x8 LFNST中具有 N=48个样点的圆形图案可包括:
Figure BDA0003553360860000902
Figure BDA0003553360860000911
Figure BDA0003553360860000921
Figure BDA0003553360860000931
Figure BDA0003553360860000941
Figure BDA0003553360860000951
Figure BDA0003553360860000961
Figure BDA0003553360860000971
Figure BDA0003553360860000981
Figure BDA0003553360860000991
Figure BDA0003553360860001001
Figure BDA0003553360860001011
Figure BDA0003553360860001021
Figure BDA0003553360860001031
Figure BDA0003553360860001041
Figure BDA0003553360860001051
Figure BDA0003553360860001061
Figure BDA0003553360860001071
Figure BDA0003553360860001081
图15是示出用于8x8 LFNST的具有48个样点的圆形图案的另一变型的概念图。1维列表510可以如图所示重组和输出,其中1维列表510中的系数被重组到8x8块514的暗阴影部分512中。8x8块514的剩余系数可以规范地归零。
图16是示出对于8x8 LFNST具有64个样点的8x8块图案的概念图。1 维列表520可以如图所示重组和输出,其中1维列表520中的系数被重组到 8x8块522中。对于图16的示例,矩阵集合可以如下所示:
Figure BDA0003553360860001091
Figure BDA0003553360860001101
Figure BDA0003553360860001111
Figure BDA0003553360860001121
Figure BDA0003553360860001131
Figure BDA0003553360860001141
Figure BDA0003553360860001151
Figure BDA0003553360860001161
Figure BDA0003553360860001171
Figure BDA0003553360860001181
Figure BDA0003553360860001191
Figure BDA0003553360860001201
Figure BDA0003553360860001211
Figure BDA0003553360860001221
Figure BDA0003553360860001231
Figure BDA0003553360860001241
Figure BDA0003553360860001251
Figure BDA0003553360860001261
Figure BDA0003553360860001271
Figure BDA0003553360860001281
Figure BDA0003553360860001291
Figure BDA0003553360860001301
Figure BDA0003553360860001311
图17是示出图13的示例在普通测试条件(CTC)下针对VTM-6.0的测试结果的表格。图18是示出图14的示例在CTC下针对VTM-6.0的测试结果的表格。图19是示出图13的无优化的4x4 LFNST矩阵的示例在CTC下针对VTM-6.0的测试结果的表格。图20是示出图14的无优化的4x4 LFNST 矩阵的示例在CTC下针对VTM-6.0的测试结果的表格。本公开的技术在VTM-6.0的基础上实现并根据CTC进行评估。请注意,省略了低延迟B结果,因为在CTC中针对低延迟B禁用了LFNST。测试结果示出在图17至20 中。
图21是示出根据本公开的技术的示例重组系数的流程图。视频编码器 200的逆变换处理单元212或视频解码器300的逆变换处理单元308可根据第一排序重组2维去量化系数(530)。例如,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可执行诸如在图9和10的示例中的输入重组。在一些示例中,第一排序是光栅扫描排序。在一些示例中,第一排序是列优先排序。在一些示例中,第一排序包括1维列表。在一些示例中,重组的2维去量化系数包括25个去量化系数、36个去量化系数、 48个去量化系数或64个去量化系数中的一者。在一些示例中,该第一排序是基于块尺寸和/或帧内模式。在一些示例中,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308确定2维去量化系数中的哪一些未被规范地归零,并且仅重组未规范地归零的2维去量化系数,使得第一排序仅包括未规范地归零的2维去量化系数。
视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可对重组的2-D去量化系数应用逆LFNST以创建逆变换系数(532)。例如,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可应用图11至16中的任一者的示例的逆LFNST。在一些示例中,逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用逆LFNST后重构的LFNST系数的数量。在一些示例中,MxN矩阵中的条目具有8比特精度、9比特精度或10比特精度中的一者或多者。在一些示例中,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可将MxN矩阵中的一行乘以-1。在一些示例中,视频编码器 200的逆变换处理单元212或视频解码器300的逆变换处理单元308可将 MxN矩阵中的所有行乘以-1。
视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可根据第二排序重组逆变换系数,该第二排序基于包括值的数组 (534)。例如,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可以重组逆变换系数,使得逆变换系数处于用于应用可分离变换的正确位置。在一些示例中,数组中的每个值对应于2维块中的一个位置。在一些示例中,数组中的值以定义的顺序表示2维块的索引。在一些示例中,索引值v如下指向2维块中的对应位置:行索引:r=floor(v/w);列索引:c=mod(v,w),其中w指示LFNST子块的宽度。在一些示例中,第二排序是光栅扫描排序。在一些示例中,第二排序是列优先排序。在一些示例中,重组的逆变换系数位于2维块的左上角。
视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元308可基于经第二排序的逆变换系数对视频数据进行解码(536)。例如,视频编码器200的逆变换处理单元212或视频解码器300的逆变换处理单元 308可对经第二排序的逆变换系数应用诸如逆DCT-2变换等逆可分离变换。
图22是示出用于对当前块进行编码的示例性方法的流程图。当前块可包括当前CU。尽管关于视频编码器200(图1和图3)进行描述,但应理解,其它设备可被配置为进行类似于图22的方法的方法。
在该示例中,视频编码器200首先预测当前块(350)。例如,视频编码器200可形成当前块的预测块。视频编码器200然后可计算当前块的残差块 (352)。为了计算残差块,视频编码器200可计算当前块的原始未经编码块与预测块之间的差。视频编码器200然后可以对残差块的系数进行变换和量化(354)。在一些示例中,变换处理单元206可根据排序重组初级变换系数。变换处理单元206还可对重组的初级变换系数应用LFNST以创建LFNST系数。
接下来,视频编码器200可扫描残差块的经量化变换系数(356)。在扫描期间或在扫描之后,视频编码器200可对变换系数进行熵编码(358)。例如,视频编码器200可使用CAVLC或CABAC对变换系数进行编码。视频编码器200然后可输出块的经熵编码数据(360)。
图23是示出用于对视频数据的当前块进行解码的示例性方法的流程图。当前块可包括当前CU。尽管关于视频解码器300(图1和图4)进行描述,但应理解,其它设备可被配置为进行类似于图23的方法的方法。
视频解码器300可接收当前块的经熵编码数据,诸如对应于当前块的残差块的系数的经熵编码预测信息和经熵编码数据(370)。视频解码器300可对经熵编码数据进行熵解码,以确定当前块的预测信息并再现残差块的系数 (372)。视频解码器300可例如使用如由当前块的预测信息所指示的帧内或帧间预测来预测当前块(374),以计算当前块的预测块。视频解码器300随后可逆扫描经再现的系数(376),以产生经量化变换系数的块。视频解码器 300可随后对变换系数进行逆量化和逆变换以产生残差块(378)。当对系数进行逆变换以产生残差块时,视频解码器300可执行图21的示例的技术。视频解码器300最后可通过组合预测块与残差块来对当前块进行解码(380)。
根据本公开的技术,可简化8x8 LFNST并且可重组系数以有效地应用 8x8 LFNST。本公开的8x8 LFNST和重组系数可以减少所需的乘法数量数并且也可以降低存储器需求。另外,与其它LFNST设计相比,本公开的8x8 LFNST和重组系数可以提供编解码增益而不增加复杂性。
本公开包括以下示例。
示例1.一种对视频数据进行编解码的方法,所述方法包括:根据第一排序重组2维去量化系数列表;对重组的2维去量化系数列表应用逆低频不可分离变换(LFNST)以创建逆变换系数,该逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用逆LFNST后重构的 LFNST系数的数量;根据第二排序重组该逆变换系数;以及基于经第二排序的逆变换系数对视频数据进行编解码。
示例2.根据示例1所述的方法,其中第一排序是光栅扫描排序或列优先排序。
示例3.根据示例1所述的方法,其中第一排序基于块尺寸或帧内模式。
示例4.根据示例1至3的任意组合所述的方法,其还包括:确定2维去量化系数中的哪一些未被归零;以及仅重组未被归零的2维去量化系数以便仅对未被归零的2维去量化系数应用逆LFNST。
示例5.根据示例1至4的任意组合所述的方法,其中MxN矩阵中的条目包括8比特精度、9比特精度或10比特精度中的一者或多者。
示例6.根据示例1至5的任意组合所述的方法,还包括将MxN矩阵中的一行乘以-1。
示例7.根据示例1至6的任意组合所述的方法,还包括将MxN矩阵中的多行乘以-1。
示例8.根据示例1至7的任意组合所述的方法,还包括将MxN矩阵中的所有行乘以-1。
示例9.根据示例1至8的任意组合所述的方法,其中第二排序基于数组并且其中数组中的每个值对应于2维块中的位置。
示例10.根据示例9所述的方法,其中数组中的值以定义的顺序指示2 维块的索引。
示例11.根据示例10所述的方法,其中索引包括索引值并且该索引值指向2维块中的位置。
示例12.根据示例11所述的方法,其中索引值v如下指向2维块中的对应位置:行索引:r=floor(v/w);列索引:c=mod(v,w),其中w指示LFNST 子块的宽度。
示例13.根据示例12所述的方法,其中第二排序是光栅扫描排序或列优先排序。
示例14.根据示例1至13中任一项所述的方法,其中编解码包括解码。
示例15.根据示例1至14中任一项所述的方法,其中编解码包括编码。
示例16.一种用于对视频数据进行编解码的设备,该设备包括用于执行根据示例1至15中任一项所述的方法的一个或多个部件。
示例17.根据示例16所述的设备,其中该一个或多个部件包括实现于电路中的一个或多个处理器。
示例18.根据示例16和17中任一项所述的设备,还包括用于存储视频数据的存储器。
示例19.根据示例16至18中任一项所述的设备,还包括显示器,该显示器被配置为显示经解码视频数据。
示例20.根据示例16至19中任一项所述的设备,其中该设备包括相机、计算机、移动设备、广播接收器设备或机顶盒中的一者或多者。
示例21.根据示例16至20中任一项所述的设备,其中该设备包括视频解码器。
示例22.根据示例16至21中任一项所述的设备,其中该设备包括视频编码器。
示例23.一种其上存储有指令的计算机可读存储介质,该指令在被执行时使得一个或多个处理器执行根据示例1至13中任一项所述的方法。
应当认识到,取决于示例,本文描述的任何技术的某些动作或事件可以以不同顺序执行,可以被添加、合并或完全排除(例如,并非所有描述的动作或事件都是技术实践所必需的)。此外,在某些示例中,动作或事件可以同时执行,例如,通过多线程处理、中断处理或多个处理器执行,而不是顺序执行。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质发送并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质(其对应于诸如数据存储介质之类的有形介质)或通信介质,其包括例如根据通信协议促进将计算机程序从一个地方传递到另一个地方的任何介质。这样,计算机可读介质一般可对应于(1)非暂时性有形计算机可读存储介质,或(2)通信介质(诸如,信号或载波)。数据存储介质可为可由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包括计算机可读介质。
通过示例的方式而不是限制的方式,这种计算机可读存储介质可以包括 RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储介质或其它磁存储设备、快闪存储器或者可以被用于以指令或数据结构形式存储期望的程序代码并能够由计算机访问的任何其它介质。同样,将任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL) 或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源发送指令,则在介质的定义中包括同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它暂时性介质,而是针对非暂时性、有形存储介质。如本文中使用的磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘借助于激光光学地再现数据。上述组合也应包括于计算机可读介质的范围内。
指令可以由一个或多个处理器执行,如一个或多个数字信号处理器 (DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA) 或其它等效的集成或分立逻辑电路。因此,如本文所使用的术语“处理器”和“处理电路”可以指代任何前述结构或者适合于实现本文描述的技术的任何其它结构。另外,在一些方面中,本文描述的功能性可以被提供于被配置用于编码和解码的专用硬件和/或软件模块内或者被结合在组合编解码器中。而且,技术可完全实现于一个或多个电路或逻辑元件中。
本公开的技术可实现于广泛多种设备或装置中,包括无线手持装置、集成电路(IC)或IC集(例如,芯片集)。本公开中描述各种组件、模块或单元以强调被配置为执行所公开技术的设备的功能方面,但未必需要由不同硬件单元来实现。更确切地,如上文所描述,可将各种单元组合于编解码硬件单元中,或由互操作性硬件单元(包括如上文所描述的一个或多个处理器) 的集合结合合适软件和/或固件来提供各种单元。
已经描述了各种示例。这些和其它示例在以下权利要求的范围内。

Claims (30)

1.一种对视频数据进行解码的方法,所述方法包括:
由一个或多个处理器根据第一排序重组2维去量化系数;
由所述一个或多个处理器对重组的2维去量化系数应用逆低频不可分离变换LFNST以创建逆变换系数,所述逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用所述逆LFNST后重构的LFNST系数的数量;
由所述一个或多个处理器根据第二排序重组所述逆变换系数,所述第二排序基于包括值的数组,其中所述数组中的每个值对应于2维块中的位置并且所述数组中的所述值以定义的顺序指示所述2维块的索引;以及
由所述一个或多个处理器基于经第二排序的逆变换系数对所述视频数据进行解码。
2.根据权利要求1所述的方法,其中所述第一排序是光栅扫描排序或列优先排序。
3.根据权利要求1所述的方法,其中所述第二排序是光栅扫描排序或列优先排序。
4.根据权利要求1所述的方法,其中所述第一排序包括1维列表。
5.根据权利要求1所述的方法,其中所述重组的2维去量化系数包括25个去量化系数、36个去量化系数、48个去量化系数或64个去量化系数中的一者。
6.根据权利要求1所述的方法,其中所述重组的逆变换系数位于所述2维块的左上角。
7.根据权利要求1所述的方法,其中所述第一排序基于块尺寸或帧内模式。
8.根据权利要求1所述的方法,其还包括:
由所述一个或多个处理器确定所述2维去量化系数中的哪一些未被规范地归零;以及
由所述一个或多个处理器仅重组未被规范地归零的所述2维去量化系数,使得所述第一排序仅包括未被规范地归零的所述2维去量化系数。
9.根据权利要求1所述的方法,其中所述MxN矩阵中的条目包括8比特精度、9比特精度或10比特精度中的一者或多者。
10.根据权利要求1所述的方法,还包括由所述一个或多个处理器将所述MxN矩阵中的一行乘以-1。
11.根据权利要求1所述的方法,还包括由所述一个或多个处理器将所述MxN矩阵中的所有行乘以-1。
12.根据权利要求1所述的方法,其中索引值v如下指向所述2维块中的对应位置:
行索引:r=floor(v/w)
列索引:c=mod(v,w)
其中w指示LFNST子块的宽度。
13.一种对视频数据进行解码的设备,所述设备包括:
存储器,所述存储器被配置为存储所述视频数据;以及
一个或多个处理器,所述一个或多个处理器在电路中实现并且可通信地耦合到所述存储器,所述一个或多个处理器被配置为:
根据第一排序重组2维去量化系数;
对重组的2维去量化系数应用逆低频不可分离变换LFNST以创建逆变换系数,所述逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用所述逆LFNST后重构的LFNST系数的数量;
根据第二排序重组所述逆变换系数,所述第二排序基于包括值的数组,其中所述数组中的每个值对应于2维块中的位置并且所述数组中的所述值以定义的顺序指示所述2维块的索引;以及
基于经第二排序的逆变换系数对所述视频数据进行解码。
14.根据权利要求13所述的设备,其中所述第一排序是光栅扫描排序或列优先排序。
15.根据权利要求13所述的设备,其中所述第二排序是光栅扫描排序或列优先排序。
16.根据权利要求13所述的设备,其中所述第一排序包括1维列表。
17.根据权利要求13所述的设备,其中所述重组的2维去量化系数包括25个去量化系数、36个去量化系数、48个去量化系数或64个去量化系数中的一者。
18.根据权利要求13所述的设备,其中所述重组的逆变换系数位于所述2维块的左上角。
19.根据权利要求13所述的设备,其中所述第一排序基于块尺寸或帧内模式。
20.根据权利要求13所述的设备,其还包括:
确定所述2维去量化系数中的哪一些未被规范地归零;以及
仅重组未被规范地归零的所述2维去量化系数,使得所述第一排序仅包括未被规范地归零的所述2维去量化系数。
21.根据权利要求13所述的设备,其中所述MxN矩阵中的条目包括8比特精度、9比特精度或10比特精度中的一者或多者。
22.根据权利要求13所述的设备,还包括将所述MxN矩阵中的一行乘以-1。
23.根据权利要求13所述的设备,还包括将所述MxN矩阵中的所有行乘以-1。
24.根据权利要求13所述的设备,其中索引值v如下指向所述2维块中的对应位置:
行索引:r=floor(v/w)
列索引:c=mod(v,w)
其中w指示LFNST子块的宽度。
25.一种其上存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使得所述一个或多个处理器:
根据第一排序重组2维去量化系数;
对重组的2维去量化系数应用逆低频不可分离变换LFNST以创建逆变换系数,所述逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用所述逆LFNST后重构的LFNST系数的数量;
根据第二排序重组所述逆变换系数,所述第二排序基于包括值的数组,其中所述数组中的每个值对应于2维块中的位置并且所述数组中的所述值以定义的顺序指示所述2维块的索引;以及
基于经第二排序的逆变换系数对视频数据进行解码。
26.根据权利要求25所述的非暂时性计算机可读存储介质,其中所述第一排序是光栅扫描排序或列优先排序。
27.根据权利要求25所述的非暂时性计算机可读存储介质,其中所述第二排序是光栅扫描排序或列优先排序。
28.根据权利要求25所述的非暂时性计算机可读存储介质,其中所述第一排序包括1维列表。
29.根据权利要求25所述的非暂时性计算机可读存储介质,其中所述重组的2维去量化系数包括25个去量化系数、36个去量化系数、48个去量化系数或64个去量化系数中的一者。
30.一种对视频数据进行解码的设备,所述设备包括:
用于根据第一排序重组2维去量化系数的部件;
用于对重组的2维去量化系数应用逆低频不可分离变换LFNST以创建逆变换系数的部件,所述逆LFNST包括MxN矩阵,其中M指示基矢量的数量并指示行数,并且N指示应用所述逆LFNST后重构的LFNST系数的数量;
用于根据第二排序重组所述逆变换系数的部件,所述第二排序基于包括值的数组,其中所述数组中的每个值对应于2维块中的位置并且所述数组中的所述值以定义的顺序指示所述2维块的索引;以及
用于基于经第二排序的逆变换系数对所述视频数据进行解码的部件。
CN202080065798.1A 2019-09-19 2020-09-19 用于视频编解码的变换单元设计 Active CN114424570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211456946.XA CN115866275A (zh) 2019-09-19 2020-09-19 用于视频编解码的变换单元设计

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201962902862P 2019-09-19 2019-09-19
US62/902,862 2019-09-19
US201962904494P 2019-09-23 2019-09-23
US62/904,494 2019-09-23
US201962951837P 2019-12-20 2019-12-20
US62/951,837 2019-12-20
US17/025,529 2020-09-18
US17/025,529 US11184617B2 (en) 2019-09-19 2020-09-18 Transform unit design for video coding
PCT/US2020/051683 WO2021055891A1 (en) 2019-09-19 2020-09-19 Transform unit design for video coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211456946.XA Division CN115866275A (zh) 2019-09-19 2020-09-19 用于视频编解码的变换单元设计

Publications (2)

Publication Number Publication Date
CN114424570A CN114424570A (zh) 2022-04-29
CN114424570B true CN114424570B (zh) 2022-12-13

Family

ID=74882266

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211456946.XA Pending CN115866275A (zh) 2019-09-19 2020-09-19 用于视频编解码的变换单元设计
CN202080065798.1A Active CN114424570B (zh) 2019-09-19 2020-09-19 用于视频编解码的变换单元设计

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202211456946.XA Pending CN115866275A (zh) 2019-09-19 2020-09-19 用于视频编解码的变换单元设计

Country Status (5)

Country Link
US (1) US11184617B2 (zh)
EP (1) EP4032273A1 (zh)
KR (1) KR102503600B1 (zh)
CN (2) CN115866275A (zh)
WO (1) WO2021055891A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111183642B (zh) * 2017-09-28 2023-09-15 三星电子株式会社 编码方法和装置以及解码方法和装置
EP3815375A1 (en) * 2018-06-29 2021-05-05 VID SCALE, Inc. Adaptive control point selection for affine motion model based video coding
US11228787B2 (en) * 2019-11-27 2022-01-18 Mediatek Inc. Signaling multiple transmission selection
US11871010B2 (en) * 2020-10-02 2024-01-09 Qualcomm Incorporated Extended low-frequency non-separable transform (LFNST) designs with worst-case complexity handling

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117639A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
KR102199463B1 (ko) * 2015-08-31 2021-01-06 삼성전자주식회사 스캔 순서를 고려한 영상의 변환 방법 및 그 장치, 및 역변환 방법 및 그 장치
US10681379B2 (en) 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
US10448053B2 (en) 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
US10349085B2 (en) 2016-02-15 2019-07-09 Qualcomm Incorporated Efficient parameter storage for compact multi-pass transforms
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US11095896B2 (en) * 2017-10-12 2021-08-17 Qualcomm Incorporated Video coding with content adaptive spatially varying quantization
US20190208225A1 (en) * 2018-01-02 2019-07-04 Qualcomm Incorporated Sign prediction in video coding
US10863199B2 (en) 2018-03-26 2020-12-08 Qualcomm Incorporated Minimization of transform memory and latency via parallel factorizations
US10986340B2 (en) 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding
US11032572B2 (en) 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
CN116016947A (zh) * 2019-06-25 2023-04-25 三星电子株式会社 使用二次变换的视频信号处理方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019117639A1 (ko) * 2017-12-15 2019-06-20 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JVET-J0017-v1;KOO,Moonmo et al.;《Joint Video Experts Team (JVET)》;20180420;全文 *

Also Published As

Publication number Publication date
US11184617B2 (en) 2021-11-23
KR20220035291A (ko) 2022-03-21
KR102503600B1 (ko) 2023-02-23
WO2021055891A1 (en) 2021-03-25
CN114424570A (zh) 2022-04-29
US20210092381A1 (en) 2021-03-25
CN115866275A (zh) 2023-03-28
EP4032273A1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
US11206400B2 (en) Low-frequency non-separable transform (LFNST) simplifications
WO2020236509A1 (en) Low-frequency non-separable transform signaling based on zero-out patterns for video coding
CN114258675A (zh) 用于视频编码的跨分量自适应环路滤波
US20210274189A1 (en) Shared candidate list and parallel candidate list derivation for video coding
CN114424570B (zh) 用于视频编解码的变换单元设计
US11128866B2 (en) Scans and last coefficient position coding for zero-out transforms
CN114223202A (zh) 低频不可分离变换(lfnst)信令
WO2020219449A1 (en) Adaptive loop filter set index signaling
CN116349226A (zh) 用于视频编解码期间进行滤波的多神经网络模型
WO2020181105A2 (en) Simplification of sub-block transforms in video coding
CN116508321A (zh) 视频译码期间基于联合分量神经网络的滤波
WO2021202384A1 (en) Low-frequency non-separable transform index signaling in video coding
WO2021133816A1 (en) Lfnst signaling for chroma based on chroma transform skip
CN114846803A (zh) 支持有损译码和无损译码两者的残差译码
US20230300368A1 (en) Signaling number of subblock merge candidates in video coding
WO2021133973A1 (en) Equation-based rice parameter derivation for regular transform coefficients in video coding
CN114830657A (zh) 视频译码中具有减少的归零的低频不可分离变换(lfnst)
CN114175643A (zh) 调色板和预测模式信令
CN113647107A (zh) 用于视频译码的最后位置译码的上下文推导
WO2020072781A1 (en) Wide-angle intra prediction for video coding
CN116235498A (zh) 去块滤波器参数信令
CN114930826A (zh) 用于视频编解码中最后位置编解码的坐标的上下文推导和熵编解码初始化参数
CN114009045A (zh) 视频译码中的dc帧内模式预测
CN116250233A (zh) 具有最坏情况复杂度处理的扩展低频不可分离变换(lfnst)设计
CN116724551A (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