CN114946189A - 基于变换的图像编码方法及其装置 - Google Patents
基于变换的图像编码方法及其装置 Download PDFInfo
- Publication number
- CN114946189A CN114946189A CN202080092915.3A CN202080092915A CN114946189A CN 114946189 A CN114946189 A CN 114946189A CN 202080092915 A CN202080092915 A CN 202080092915A CN 114946189 A CN114946189 A CN 114946189A
- Authority
- CN
- China
- Prior art keywords
- transform
- lfnst
- current block
- block
- value
- 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 137
- 239000011159 matrix material Substances 0.000 claims description 136
- 230000009977 dual effect Effects 0.000 claims description 48
- 241000023320 Luma <angiosperm> Species 0.000 claims description 36
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 36
- 239000013598 vector Substances 0.000 description 82
- 230000009466 transformation Effects 0.000 description 60
- 230000008569 process Effects 0.000 description 44
- 239000000523 sample Substances 0.000 description 32
- 230000011664 signaling Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 26
- 238000005192 partition Methods 0.000 description 23
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 21
- 230000009467 reduction Effects 0.000 description 21
- 238000001914 filtration Methods 0.000 description 14
- 238000013139 quantization Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000002146 bilateral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/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/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
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/134—Methods 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/136—Incoming video signal characteristics or properties
-
- 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/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/186—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 colour or a chrominance component
-
- 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
-
- 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/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/70—Methods 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
-
- 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/90—Methods 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/96—Tree coding, e.g. quad-tree coding
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)
- Output Control And Ontrol Of Special Type Engine (AREA)
Abstract
根据本文档的图像解码方法包括推导修改的变换系数的步骤,其中,推导修改的变换系数的步骤包括以下步骤:根据当前块的树类型,基于指示是否将ISP应用于当前块或者有效系数是否存在于当前块的DC分量中的变量来解析LFNST索引,其中,变量可以是基于当前块的颜色分量的各自变换跳过标志值而推导的。
Description
技术领域
本公开涉及一种图像编码技术,并且更具体地,涉及图像编码系统中的用于基于变换对图像进行编码的方法和设备。
背景技术
如今,在各个领域中对诸如4K、8K或更高的超高清(UHD)图像/视频这样的高分辨率和高质量图像/视频的需求已经不断增长。随着图像/视频数据变成更高分辨率和更高质量,与传统图像数据相比,所发送的信息量或比特量增加。因此,当使用诸如传统有线/无线宽带线这样的介质来发送图像数据或者使用现有存储介质来存储图像/视频数据时,其传输成本和存储成本增加。
另外,如今,对于诸如虚拟现实(VR)和人工现实(AR)内容或全息图等这样的沉浸式媒体的兴趣和需求正在增加,并且对具有与诸如游戏图像这样的真实图像不同的图像特征的图像/视频的广播正在增加。
因此,需要有效地压缩并发送或存储以及再现具有如上所述的各种特征的高分辨率和高质量图像/视频的信息的高效图像/视频压缩技术。
发明内容
技术问题
本公开的一技术方面在于提供用于增加图像编码效率的方法和设备。
本公开的另一技术方面在于提供用于增加LFNST索引编码的效率的方法和设备。
本公开的又一技术方面在于提供用于基于变换跳过标志增加LFNST索引的编码效率的方法和设备。
技术方案
在一方面中,提供了一种由解码设备执行的图像解码方法。该方法包括:推导修改的变换系数;其中,推导修改的变换系数包括:根据当前块的树类型,基于是否将ISP应用于当前块或者指示有效系数是否存在于当前块的DC分量中的变量来解析LFNST索引,其中,变量可以是基于当前块的颜色分量的各自变换跳过标志值而推导的。
基于当前块是单一类型或双树亮度并且所述ISP被应用,可以与变量的值无关地解析LFNST索引。
在当前块是双树色度时,可以基于变量指示在除了DC分量之外的位置存在有效系数来解析LFNST索引。
基于颜色分量的变换跳过标志值为0,变量可以指示在除了DC分量之外的位置存在有效系数。
变量可以在当前块的编码单元级别初始被设置为1,如果变换跳过标志值为0,则变量可以在残差编码级别被改变为0,并且可以基于变量为0来解析LFNST索引。
在当前块的树类型是双树色度时,可以基于色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值来推导变量。
可以针对每个颜色分量发信号通知当前块的变换跳过标志。
推导修改的变换系数还可以包括:基于LFNST索引是否不为0以及颜色分量的各自变换跳过标志值是否为0来设置用于LFNST的多个变量。
在另一方面中,提供了一种由编码设备执行的图像编码方法。该方法包括:通过应用LFNST以从变换系数推导修改的变换系数,其中,可以根据当前块的树类型基于是否将ISP应用于当前块或者指示有效系数是否存在于当前块的DC分量中的变量来推导修改的变换系数,并且变量可以是基于当前块的颜色分量的各自变换跳过标志值而推导的。
根据本公开的又一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括根据由编码设备执行的图像编码方法生成的比特流和编码的图像信息的图像数据。
根据本公开的又一实施方式,可以提供一种数字存储介质,该数字存储介质存储包括编码的图像信息和比特流的图像数据以使解码设备执行图像解码方法。
技术效果
根据本公开,可以增加整体图像/视频压缩效率。
根据本公开,可以增加LFNST索引编码的效率。
根据本公开,可以基于变换跳过标志而增加LFNST索引的编码效率。
可以通过本公开的具体示例获得的效果不限于上面列出的效果。例如,可以存在相关领域的普通技术人员可以理解或从本公开推导出的各种技术效果。因此,本公开的特定效果不限于本公开中明确描述的那些,并且可以包括可以根据本公开的技术特征理解或推导出的各种效果。
附图说明
图1示意性地例示了可应用本公开的视频/图像编码系统的示例。
图2是示意性地例示可应用本公开的视频/图像编码设备的配置的图。
图3是示意性地例示可应用本公开的视频/图像解码设备的配置的图。
图4是示例性地例示根据本文档的实施方式的多变换方案。
图5示意性地示出了65个预测方向的帧内定向模式。
图6是用于说明根据本公开的实施方式的RST的图。
图7是例示根据示例的将正向一次变换的输出数据布置成一维向量的顺序的图。
图8是例示根据示例的将正向二次变换的输出数据布置成二维块的顺序的图。
图9是例示根据本文档的实施方式的广角帧内预测模式的图。
图10是例示LFNST被应用于的块形状的图。
图11是例示根据实施方式的正向LFNST的输出数据的布置的图。
图12是例示根据示例的将正向LFNST的输出数据的数量限制于最大值16的图。
图13是例示根据示例的应用4×4 LFNST的块中的清零的图。
图14是例示根据示例的应用8×8 LFNST的块中的清零的图。
图15是用于描述根据示例的对图像进行解码的方法的图。
图16是用于描述根据示例的对图像进行编码的方法的图。
图17是示意性地例示应用本公开的内容流系统的结构图的图。
具体实施方式
尽管本公开可能易于进行各种修改并且包括各种实施方式,但是其具体实施方式已在附图中通过示例的方式示出,并且现在将对其进行详细描述。然而,这并不旨在将本公开限制于本文公开的具体实施方式。本文中使用的术语只是出于描述特定实施方式的目的,并不旨在限制本公开的技术思路。除非上下文另外清楚指示,否则单数形式可以包括复数形式。诸如“包括”和“具有”之类的术语旨在指示存在以下描述中使用的特征、数字、步骤、操作、元件、组件或其组合,因此不应被理解为预先排除了存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合的可能性。
此外,为了方便描述彼此不同的特性功能,独立地例示了本文中描述的附图上的各组件,然而,并不意指各组件由单独的硬件或软件来实现。例如,可以组合这些组件中的任何两个或更多个以形成单个组件,并且任何单个组件可以被划分成多个组件。其中组件被组合和/或划分的实施方式将属于本公开的专利权的范围,只要它们不脱离本公开的实质即可。
在下文中,将参照附图更详细地说明本公开的优选实施方式。另外,在附图中,相同的附图标号用于相同的组件,并且将省略对相同组件的重复描述。
本文档涉及视频/图像编码。例如,本文档中公开的方法/示例可以涉及VVC(通用视频编码)标准(ITU-T Rec.H.266)、VVC之后的下一代视频/图像编码标准、或其它视频编码相关标准(例如,HEVC(高效视频编码)标准(ITU-T Rec.H.265)、EVC(基本视频编码)标准、AVS2标准等)。
在本文档中,可以提供与视频/图像编码相关的各种实施方式,并且除非相反地指定,否则这些实施方式可以彼此组合并执行。
在本文档中,视频可以是指一段时间内一系列图像的集合。通常,图片是指表示特定时间区域的图像的单元,而条带/贴片是构成图片的一部分的单元。条带/贴片可以包括一个或更多个编码树单元(CTU)。一幅图片可以由一个或更多个条带/贴片组成。一幅图片可以由一个或多个贴片组组成。一个贴片组可以包括一个或更多个贴片。
像素或图元(pel)可以是指构成一幅图片(或图像)的最小单元。另外,“样本”可用作与像素相对应的术语。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。另选地,样本可以意指空间域中的像素值,或者当该像素值被变换为频域时,其可以意指频域中的变换系数。
单元可以表示图像处理的基本单位。单元可以包括特定区域和与该区域相关的信息中的至少一个。一个单元可以包括一个亮度块和两个色度(例如,cb、cr)块。根据情况,可以将单元和诸如块、区域等这样的术语互换地使用。在通常情况下,M×N块可以包括由M列和N行组成的样本(或样本阵列)或变换系数的集(或阵列)。
在本文档中,术语“/”和“,”应该被解释为指示“和/或”。例如,表述“A/B”可以意指“A和/或B”。另外,“A、B”可以意指“A和/或B”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。另外,“A/B/C”可以意指“A、B和/或C中的至少一个”。
另外,在该文档中,术语“或”应该被解释为指示“和/或”。例如,表述“A或B”可以包括1)仅A、2)仅B和/或3)A和B二者。换句话说,本文档中的术语“或”应该被解释为指示“附加地或另选地”。
在本公开中,“A和B中的至少一个”可以意指“仅A”、“仅B”或“A和B两者”。此外,在本公开中,表述“A或B中的至少一个”或者“A和/或B中的至少一个”可以被解释为“A和B中的至少一个”。
此外,在本公开中,“A、B和C中的至少一个”可以意指“仅A”、“仅B”、“仅C”或“A、B和C的任何组合”。此外,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以意指“A、B和C中的至少一个”。
另外,本公开中使用的括号可以表示“例如”。具体地,当指示为“预测(帧内预测)”时,可以意指“帧内预测”被提出为“预测”的示例。换句话说,本公开的“预测”不限于“帧内预测”,并且“帧内预测”是作为“预测”的示例而提出的。另外,当指示为“预测(即,帧内预测)”时,这也可以意指“帧内预测”被提出为“预测”的示例。
在本公开中的一个附图中单独描述的技术特征可以单独地实现或可以同时实现。
图1示意性地例示了可应用本公开的视频/图像编码系统的示例。
参照图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以经由数字存储介质或网络以文件或流的形式将编码后的视频/图像信息或数据传递到接收装置。
源装置可以包括视频源、编码设备和发送器。接收装置可以包括接收器、解码设备和渲染器。编码设备可以被称为视频/图像编码设备,并且解码设备可以被称为视频/图像解码设备。发送器可以被包括在编码设备中。接收器可以被包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的装置或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获得视频/图像。视频源可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(电子地)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以被生成相关数据的处理取代。
编码设备可以对输入视频/图像进行编码。编码设备可以执行诸如针对压缩和编码效率的预测、变换和量化这样的一系列过程。编码后的数据(编码后的视频/图像信息)可以以比特流的形式输出。
发送器可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码后的视频/图像信息或数据发送到接收装置的接收器。数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送器可以包括用于通过预定文件格式生成媒体文件的元件,并且可以包括用于通过广播/通信网络进行发送的元件。接收器可以接收/提取比特流,并且将接收/提取的比特流发送到解码设备。
解码设备可以通过执行与编码设备的操作对应的诸如解量化、逆变换、预测等这样的一系列过程来解码视频/图像。
渲染器可以渲染解码后的视频/图像。可以通过显示器显示渲染后的视频/图像。
图2是示意性地例示可应用本公开的视频/图像编码设备的配置的图。在下文中,所谓的视频编码设备可以包括图像编码设备。
参照图2,编码设备200可以包括图像划分器210、预测器220、残差处理器230、熵编码器240、加法器250、滤波器260和存储器270。预测器220可以包括帧间预测器221和帧内预测器222。残差处理器230可以包括变换器232、量化器233、解量化器234、逆变换器235。残差处理器230可以进一步包括减法器231。加法器250可以称为重构器或重构块生成器。根据实施方式,以上描述的图像划分器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可以由一个或更多个硬件组件(例如,编码器芯片组或处理器)构成。此外,存储器270可以包括解码图片缓冲器(DPB),并且可以由数字存储介质构成。硬件组件可以进一步包括作为内部/外部组件的存储器270。
图像划分器210可以将输入到编码设备200的输入图像(或图片或帧)划分为一个或更多个处理单元。作为一个示例,处理单元可以被称为编码单元(CU)。在这种情况下,从编码树单元(CTU)或最大编码单元(LCU)开始,可以根据四叉树二叉树三叉树(QTBTTT)结构来递归地划分编码单元。例如,基于四叉树结构、二叉树结构和/或三叉树结构,一个编码单元可以被划分为深度较深的多个编码单元。在这种情况下,例如,可以首先应用四叉树结构,并且可以稍后应用二叉树结构和/或三叉树结构。另选地,可以首先应用二叉树结构。可以基于未进一步划分的最终编码单元来执行根据本公开的编码过程。在这种情况下,基于根据图像特性的编码效率,最大编码单元可以直接用作最终编码单元。另选地,可以根据需要将编码单元递归地划分为更深的深度的编码单元,由此可以将最佳大小的编码单元用作最终编码单元。这里,编码过程可以包括诸如预测、变换和重构之类的过程,其将在后面描述。作为另一示例,处理单元可以进一步包括预测单元(PU)或变换单元(TU)。在这种情况下,预测单元和变换单元可以与上述最终编码单元分开或划分开。预测单元可以是样本预测的单元,并且变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
根据情况,可以使用单元和诸如块、区域等之类的术语来代替彼此。在通常情况下,M×N块可以表示由M列和N行构成的样本或变换系数的集。样本通常可以表示像素或像素值,并且可以仅表示亮度分量的像素/像素值,或者仅表示色度分量的像素/像素值。样本可用作与一幅图片(或图像)的像素或图元(pel)相对应的术语。
减法器231从输入图像信号(原始块、原始样本阵列)中减去从预测器220输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。预测器220可以对处理目标块(下文称为“当前块”)执行预测,并且可以生成包括当前块的预测样本的预测块。预测器220可以确定是以当前块或CU为基础应用帧内预测还是应用帧间预测。如稍后在每个预测模式的描述中所讨论的,预测器可以生成诸如预测模式信息之类的与预测有关的各种信息,并将所生成的信息发送到熵编码器240。关于预测的信息可以在熵编码器240中编码并以比特流的形式输出。
帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33种定向预测模式或65种定向预测模式。然而,这仅仅是示例,并且根据设置,可以使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器221可以基于参照图片上的运动向量所指定的参考块(参考样本阵列)来推导针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参照图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参照图片中存在的时间邻近块。包括参考块的参照图片和包括时间邻近块的参照图片可以彼此相同或彼此不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参照图片可以被称为并置图片(colPic)。例如,帧间预测器221可以基于邻近块来配置运动信息候选列表,并且生成指示哪个候选被用于推导当前块的运动向量和/或参照图片索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳变模式和合并模式的情况下,帧间预测器221可以使用邻近块的运动信息作为当前块的运动信息。在跳变模式下,与合并模式不同,不能发送残差信号。在运动信息预测(运动向量预测、MVP)模式的情况下,邻近块的运动向量可以被用作运动向量预测符,并且可以通过发信号通知运动向量差来指示当前块的运动向量。
预测器220可以基于各种预测方法来生成预测信号。例如,预测器可以将帧内预测或帧间预测应用于对一个块的预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以基于块内复制(IBC)预测模式或调色板模式,以便对块执行预测。IBC预测模式或调色板模式可以被用于诸如屏幕内容编码(SCC)这样的游戏等的内容图像/视频编码。尽管IBC基本上在当前块中执行预测,但是其执行方式与帧间预测的相似之处在于,它推导当前块中的参考块。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
通过帧间预测器221和/或帧内预测器222生成的预测信号可以被用于生成重构信号或者生成残差信号。变换器232可以通过向残差信号应用变换技术来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen-Loève变换(KLT)、基于图的变换(GBT)或有条件非线性变换(CNT)中的至少一种。这里,GBT意指当用曲线图表示像素之间的关系信息时从曲线图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号而获得的变换。另外,变换处理可以被应用于大小相同的正方形像素块,或者可以应用于大小可变的块而非正方形的块。
量化器233可以对变换系数进行量化并且将它们发送到熵编码器240,并且熵编码器240可以对量化后的信号(关于量化变换系数的信息)进行编码并且输出比特流中的编码后的信号。关于量化变换系数的信息可以被称为残差信息。量化器233可以基于系数扫描顺序将块类型的量化变换系数重新布置成一维向量形式,并且基于一维向量形式的量化变换系数来生成关于量化变换系数的信息。熵编码器240可以执行诸如例如指数哥伦布(exponential Golomb)、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等这样的各种编码方法。熵编码器240可以对除了量化变换系数(例如,语法元素的值等)之外的视频/图像重构所需的信息一起或分别进行编码。编码后的信息(例如,编码后的视频/图像信息)可以以比特流的形式在网络抽象层(NAL)的单元基础上进行发送或存储。视频/图像信息还可以包括关于诸如适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。在本公开中,从编码设备发送到/发信号通知给解码设备的信息和/或语法元素可以被包括在视频/图像信息中。视频/图像信息可以通过上述编码过程进行编码并且被包括在比特流中。可以通过网络传输比特流,或者将其存储在数字存储介质中。这里,网络可以包括广播网络、通信网络和/或类似物,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等这样的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)或存储其的存储器(未示出)可以被配置为编码设备200的内部/外部元件,或者发送器可以被包括在熵编码器240中。
从量化器233输出的量化变换系数可以被用于生成预测信号。例如,通过利用解量化器234和逆变换器235向量化变换系数应用解量化和逆变换,可以重构残差信号(残差块或残差样本)。加法器155将重构后的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加,使得可以生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳变模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。加法器250可以被称为重构器或重构块生成器。所生成的重构信号可以被用于目标图片中的下一处理目标块的帧内预测,并且如随后描述的,可以被用于通过滤波进行的下一图片的帧间预测。
此外,在图片编码和/或重构处理中,可以应用具有色度缩放的亮度映射(LMCS)。
滤波器260可以通过向重构信号应用滤波来改善主观/客观视频质量。例如,滤波器260可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片存储在存储器270中,尤其是存储在存储器270的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。如随后在对每种滤波方法的描述中所讨论的,滤波器260可以生成与滤波相关的各种信息,并且将所生成的信息发送到熵编码器240。关于滤波的信息可以在熵编码器240中被编码并且以比特流的形式被输出。
已发送到存储器270的修改后的重构图片可以被用作帧间预测器221中的参照图片。据此,编码设备可以避免在应用帧间预测时编码设备100和解码设备中的预测失配,并且还可以提高编码效率。
存储器270DPB可以存储修改后的重构图片,以便使用它作为帧间预测器221中的参照图片。存储器270可以存储从中已推导(或编码了)运动信息的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器221,以被用作邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器222。
图3是示意性地例示可应用本公开的视频/图像解码设备的配置的图。
参照图3,视频解码设备300可以包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可以包括帧间预测器331和帧内预测器332。残差处理器320可以包括解量化器321和逆变换器321。根据实施方式,上面已描述的熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可以由一个或更多个硬件组件(例如,解码器芯片组或处理器)构成。另外,存储器360可以包括解码图片缓冲器(DPB),并且可以由数字存储介质构成。硬件组件还可以包括存储器360作为内部/外部组件。
当输入包括视频/图像信息的比特流时,解码设备300可以与据此已在图2的编码设备中处理视频/图像信息的处理对应地重构图像。例如,解码设备300可以基于与从比特流获得的与块分割相关的信息来推导单元/块。解码设备300可以通过使用在编码设备中应用的处理单元来执行解码。因此,解码的处理单元可以是例如编码单元,可以用编码树单元或最大编码单元顺着四叉树结构、二叉树结构和/或三叉树结构对其进行分割。可以用编码单元推导一个或更多个变换单元。并且,可以通过再现器来再现通过解码设备300解码并输出的重构图像信号。
解码设备300可以以比特流的形式接收从图2的编码设备输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以对比特流进行解析,以推导图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等这样的各种参数集的信息。另外,视频/图像信息还可以包括常规约束信息。解码设备可以进一步基于关于参数集的信息和/或常规约束信息对图片进行解码。在本公开中,随后将描述的发信号通知/接收的信息和/或语法元素可以通过解码过程被解码并且从比特流中获得。例如,熵解码器310可以基于诸如指数哥伦布编码、CAVLC、CABAC等这样的编码方法对比特流中的信息进行解码,并且可以输出图像重构所需的语法元素的值和关于残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中的各语法元素对应的bin,使用解码目标语法元素信息以及邻近和解码目标块的解码信息或者在先前步骤中解码的符号/bin的信息来确定上下文模型,根据所确定的上下文模型来预测bin生成概率并且对bin执行算术解码以生成与每个语法元素值对应的符号。这里,CABAC熵解码方法可以在确定上下文模型之后使用针对下一个符号/bin的上下文模型解码的符号/bin的信息来更新上下文模型。在熵解码器310中解码的信息当中的关于预测的信息可以被提供到预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中已对其执行了熵解码的残差值(即,量化变换系数)和关联的参数信息可以被输入到残差处理器320。残差处理器320可以推导残差信号(残差块、残差样本、残差样本阵列)。另外,在熵解码器310中解码的信息当中的关于滤波的信息可以被提供到滤波器350。此外,接收从编码设备输出的信号的接收器(未示出)还可以将解码设备300构成为内部/外部元件,并且接收器可以是熵解码器310的组件。此外,根据本公开的解码设备可以被称为视频/图像/图片编码设备,并且解码设备可以被分为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
解量化器321可以通过对量化变换系数进行解量化来输出变换系数。解量化器321可以将量化变换系数重新布置为二维块的形式。在这种情况下,可以基于已在编码设备中执行的系数扫描的顺序来执行重新布置。解量化器321可以使用量化参数(例如,量化步长信息)对量化变换系数执行解量化,并且获得变换系数。
解量化器322通过对变换系数进行逆变换来获得残差信号(残差块、残差样本阵列)。
预测器可以对当前块执行预测,并且生成包括针对当前块的预测样本的预测块。预测器可以基于从熵解码器310输出的关于预测的信息来确定向当前块应用帧内预测还是帧间预测,并且具体地可以确定帧内/帧间预测模式。
预测器可以基于各种预测方法来生成预测信号。例如,预测器可以将帧内预测或帧间预测应用于对一个块的预测,并且也可以同时应用帧内预测和帧间预测。这可以被称为组合的帧间和帧内预测(CIIP)。另外,预测器可以针对块的预测执行块内复制(IBC)。块内复制可以被用于诸如屏幕内容编码(SCC)这样的游戏等的内容图像/视频编码。尽管IBC基本上在当前块中执行预测,但是其执行方式与帧间预测的相似之处在于,它推导当前块中的参考块。也就是说,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,参考样本可以位于当前块的附近或与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器332可以基于参照图片上的运动向量所指定的参考块(参考样本阵列)来推导针对当前块的预测块。此时,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为基础来预测运动信息。运动信息可以包括运动向量和参照图片索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参照图片中存在的时间邻近块。例如,帧间预测器332可以基于邻近块来配置运动信息候选列表,并且基于接收到的候选选择信息来推导当前块的运动向量和/或参照图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器340可以通过将所获得的残差信号与从预测器330输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。当如在应用跳变模式的情况下一样没有针对处理目标块的残差时,可以将预测块用作重构块。
加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以被用于当前块中的下一处理目标块的帧内预测,并且如随后描述的,可以通过滤波来输出或者被用于下一图片的帧间预测。
此外,在图片解码处理中,可以应用具有色度缩放的亮度映射(LMCS)。
滤波器350可以通过向重构后的信号应用滤波来改善主观/客观视频质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修改后的重构图片,并且可以将修改后的重构图片发送到存储器360中,尤其是发送到存储器360的DPB中。各种滤波方法可以包括例如解块滤波、样本自适应偏移、自适应环形滤波器、双边滤波器等。
已存储在存储器360的DPB中的(修改后的)重构图片可以被用作帧间预测器332中的参照图片。存储器360可以存储从中已推导(或解码了)运动信息的当前图片中的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被发送到帧间预测器260,以被用作邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并且将它们发送到帧内预测器331。
在本说明书中,在解码设备300的预测器330、解量化器321、逆变换器322和滤波器350中描述的示例可以分别类似地或对应地应用于编码设备200的预测器220、解量化器234、逆变换器235和滤波器260。
如上所述,执行预测,以便提高执行视频编码时的压缩效率。据此,可以生成包括针对作为编码目标块的当前块的预测样本的预测块。这里,预测块包括空间域(或像素域)中的预测样本。可以在编码设备和解码设备中相同地推导预测块,并且编码设备可以通过向解码设备发信号通知并非原始块本身的原始样本值而是关于原始块与预测块之间的残差的信息(残差信息)来提高图像编码效率。解码设备可以基于残差信息来推导包括残差样本的残差块,通过将残差块与预测块相加来生成包括重构样本的重构块,并且生成包括重构块的重构图片。
可以通过变换过程和量化过程来生成残差信息。例如,编码设备可以推导原始块与预测块之间的残差块,通过对残差块中所包括的残差样本(残差样本阵列)执行变换过程来推导变换系数,并且通过对变换系数执行量化过程来推导量化变换系数,使得它可以(通过比特流)向解码设备发信号通知关联的残差信息。这里,残差信息可以包括量化变换系数的值信息、位置信息、变换技术、变换核、量化参数等。解码设备可以基于残差信息来执行量化/解量化过程并且推导残差样本(或残差样本块)。解码设备可以基于预测块和残差块来生成重构块。编码设备可以通过对量化变换系数进行解量化/逆变换来推导残差块以便作为下一个图片的帧间预测的参考,并且可以基于此来生成重构图片。
图4示意性地例示了根据本公开的实施方式的多变换技术。
参照图4,变换器可以对应于前述图2的编码设备中的变换器,并且逆变换器可以对应于前述图2的编码设备中的逆变换器、或者图3的解码设备中的逆变换器。
变换器可以通过基于残差块中的残差样本(残差样本阵列)执行一次变换来推导(一次)变换系数(S410)。该一次变换可以被称为核心变换。在本文中,一次变换可以基于多变换选择(MTS),并且当将多变换用作一次变换时,可以将其称为多核心变换。
多核心变换可以表示附加地使用离散余弦变换(DCT)类型2和离散正弦变换(DST)类型7、DCT类型8和/或DST类型1进行变换的方法。也就是说,多核心变换可以表示基于从DCT类型2、DST类型7、DCT类型8和DST类型1当中选择的多个变换核将空间域的残差信号(或残差块)变换为频域的变换系数(或一次变换系数)的变换方法。在本文中,从变换器的视角来看一次变换系数可以称为临时变换系数。
换句话说,当应用常规变换方法时,可以通过基于DCT类型2对残差信号(或残差块)应用从空间域到频率域的变换来生成变换系数。与此不同,当应用多核心变换时,可以通过基于DCT类型2、DST类型7、DCT类型8和/或DST类型1对残差信号(或残差块)应用从空间域到频率域的变换来生成变换系数(或一次变换系数)。在本文中,DCT类型2、DST类型7、DCT类型8和DST类型1可以被称为变换类型、变换核或变换核心。可以基于基函数来定义这些DCT/DST变换类型。
当执行多核心变换时,可以从变换核当中选择用于目标块的垂直变换核和水平变换核,可以基于垂直变换核对目标块执行垂直变换,并且可以基于水平变换核对目标块执行水平变换。这里,水平变换可以指示对目标块的水平分量的变换,并且垂直变换可以指示对目标块的垂直分量的变换。可以基于包括残差块的目标(CU或子块)的预测模式和/或变换索引来适应性地确定垂直变换核/水平变换核。
此外,根据示例,如果通过应用MTS来执行一次变换,则可以通过将特定基函数设置为预定值并组合要在垂直变换或水平变换中应用的基函数来设置变换核的映射关系。例如,当水平变换核表示为trTypeHor,并且垂直方向变换核表示为trTypeVer时,可以将值为0的trTypeHor或trTypeVer设置给DCT2,将值为1的trTypeHor或trTypeVer设置给DST7,并且将值为2的trTypeHor或trTypeVer可以设置给DCT8。
在这种情况下,MTS索引信息可以被编码并且发信号通知到解码设备以指示多个变换核集中的任何一个。例如,MTS索引0可以指示trTypeHor和trTypeVer值均为0,MTS索引1可以指示trTypeHor和trTypeVer值均为1,MTS索引2可以指示trTypeHor值为2并且trTypeVer值为1,MTS索引为3可以指示trTypeHor值为1并且trTypeVer值为2,而MTS索引4可以指示trTypeHor和trTypeVer值均为2。
在一个示例中,根据MTS索引信息的变换核集在下表中示出。
[表1]
tu_mts_idx[x0][y0] | 0 | 1 | 2 | 3 | 4 |
trTypeHor | 0 | 1 | 2 | 1 | 2 |
trTypeVer | 0 | 1 | 1 | 2 | 2 |
变换器可以基于(一次)变换系数执行二次变换以推导修改的(二次)变换系数(S420)。一次变换是从空间域到频域的变换,而二次变换是指使用(一次)变换系数之间存在的相关性,变换为更紧凑的表示。二次变换可以包括不可分离的变换。在这种情况下,二次变换可以称为不可分离的二次变换(NSST)或模式相关的不可分离的二次变换(MDNSST)。NSST可以表示基于不可分离的变换矩阵对通过一次变换推导出的(一次)变换系数进行二次变换以生成针对残差信号的修改的变换系数(或二次变换系数)的变换。这里,基于不可分离的变换矩阵,可以将变换一次应用于(一次)变换系数而无需将垂直变换和水平变换分离(或独立地应用水平/垂直变换)。换句话说,NSST不单独应用于垂直方向和水平方向上的(一次)变换系数,并且可以表示例如将二维信号(变换系数)通过特定的预定方向(例如,行优先方向或列优先方向)重新布置为一维信号并然后基于不可分离的变换矩阵生成修改的变换系数(或二次变换系数)的变换方法。例如,行优先顺序是针对M×N个块以第一行、第二行、…和第N行的顺序设置成排,而列优先顺序是针对M×N个块以第一列、第二列、…和第M列的顺序设置成排。NSST可以应用于配置有(一次)变换系数的块(在下文中,称为变换系数块)的左上区域。例如,当变换系数块的宽度W和高度H二者都为8或更大时,可以将8×8NSST应用于变换系数块的左上8×8区域。此外,在变换系数块的宽度(W)和高度(H)二者都为4或更大的同时,当变换系数块的宽度(W)或高度(H)小于8时,4×4 NSST可以应用于变换系数块的左上min(8,W)×min(8,H)区域。然而,实施方式不限于此,例如,即使仅满足变换系数块的宽度W或高度H为4或更大的条件,也可以将4×4 NSST应用于变换系数块的左上端min(8,W)×min(8,H)区域。
具体地,例如,如果使用4×4输入块,则不可分离的二次变换可以如下执行。
4×4输入块X可以表示如下。
[式1]
[式2]
在这种情况下,可以如下计算不可分离的二次变换。
[式3]
通过前述式3,可以推导16×1变换系数向量并且可以通过扫描顺序(水平、垂直和对角线等)将向量重新组织为4×4块。然而,上述计算是示例,并且超立方体-吉文斯变换(HyGT)等也可以用于不可分离的二次变换的计算,以便降低不可分离的二次变换的计算复杂度。
此外,在不可分离的二次变换中,可以将变换核(或变换核心、变换类型)选择为模式相关。在这种情况下,模式可以包括帧内预测模式和/或帧间预测模式。
如上所述,可以基于以变换系数块的宽度(W)和高度(H)为基础确定的8×8变换或4×4变换来执行不可分离的二次变换。8×8变换是指当W和H二者都等于或大于8时可应用于变换系数块中包含的8×8区域的变换,并且8×8区域可以是变换系数块中的左上8×8区域。类似地,4×4变换是指当W和H二者都等于或大于4时可应用于变换系数块中包含的4×4区域的变换,并且4×4区域可以是变换系数块中的左上4×4区域。例如,8×8变换核矩阵可以是64×64/16×64矩阵,而4×4变换核矩阵可以是16×16/8×16矩阵。
这里,为了选择模式相关的变换核,可以针对8×8变换和4×4变换二者配置用于不可分离的二次变换的每个变换集二个不可分离的二次变换核,并且可以存在四个变换集。也就是说,可以针对8×8变换配置四个变换集,并且可以针对4×4变换配置四个变换集。在这种情况下,针对8×8变换的四个变换集中的每个变换集可以包括二个8×8变换核,并且针对4×4变换的四个变换集中的每个变换集可以包括二个4×4变换核。
然而,随着变换的大小(即,变换所应用于的区域的大小)可以为例如除了8×8或4×4之外的大小,集的数量可以是n,并且每个集中的变换核的数量可以是k。
变换集可以被称为NSST集或LFNST集。可以例如基于当前块(CU或子块)的帧内预测模式来选择变换集当中的特定集。低频不可分离的变换(LFNST)可以是缩减不可分离的变换的示例,其将稍后描述,并且表示用于低频分量的不可分离的变换。
作为参考,例如,帧内预测模式可以包括两个非定向(或非角度)帧内预测模式和65个定向(或角度)帧内预测模式。非定向帧内预测模式可以包括0号的平面帧内预测模式和1号的DC帧内预测模式,并且定向帧内预测模式可以包括2号至66号的65个帧内预测模式。然而,这是示例,并且即使帧内预测模式的数量不同也可以应用本文档。此外,在一些情况下,还可以使用67号帧内预测模式,并且67号帧内预测模式可以表示线性模型(LM)模式。
图5示意性地示出了65个预测方向的帧内定向模式。
参照图5,基于具有左上对角预测方向的帧内预测模式34,帧内预测模式可以划分为具有水平方向性的帧内预测模式和具有垂直方向性的帧内预测模式。在图5中,H和V分别标示水平方向性和垂直方向性,并且数字-32至32指示样本网格位置上的1/32单位的位移。这些数字可以表示对于模式索引值的偏移。帧内预测模式2至33具有水平方向性,并且帧内预测模式34至66具有垂直方向性。严格地说,帧内预测模式34可以被视为既不是水平的也不是垂直的,但在确定二次变换的变换集时可以被分类为属于水平方向性。这是因为输入数据被转置以用于基于帧内预测模式34对称的垂直定向模式,并且针对水平模式的输入数据对准方法用于帧内预测模式34。对输入数据进行转置意指将二维的M×N块数据的行和列切换成N×M数据。帧内预测模式18和帧内预测模式50可以分别表示水平帧内预测模式和垂直帧内预测模式,并且帧内预测模式2可以被称为右上对角帧内预测模式,因为帧内预测模式2具有左参考像素并且在右上方向上执行预测。类似地,帧内预测模式34可以被称为右下对角帧内预测模式,而帧内预测模式66可以被称为左下对角帧内预测模式。
根据示例,可以映射根据帧内预测模式的四个变换集,例如,如下表所示。
[表2]
predModeIntra | lfnstTrSetIdx |
predModeIntra<0 | 1 |
0<=predModeIntra<=1 | 0 |
2<=predModeIntra<=12 | 1 |
13<=predModeIntra<=23 | 2 |
24<=predModeIntra<=44 | 3 |
45<=predModeIntra<=55 | 2 |
56<=predModeIntra<=80 | 1 |
如表2所示,根据帧内预测模式,四个变换集中的任何一个,即,lfnstTrSetIdx,可以映射到四个索引(即,0至3)中的任何一个。
当确定特定集用于不可分离的变换时,可以通过不可分离的二次变换索引来选择特定集中的k个变换核之一。编码设备可以基于率失真(RD)校验来推导指示特定变换核的不可分离的二次变换索引,并且可以将不可分离的二次变换索引发信号通知给解码设备。解码设备可以基于不可分离的二次变换索引来选择特定集中的k个变换核中的一个。例如,lfnst索引值0可以指代第一不可分离的二次变换核,lfnst索引值1可以指代第二不可分离的二次变换核,lfnst索引值2可以指代第三不可分离的二次变换核。另选地,lfnst索引值0可以指示第一不可分离的二次变换没有被应用于目标块,并且lfnst索引值1至3可以指示三个变换核。
变换器可以基于所选择的变换核来执行不可分离的二次变换,并且可以获得修改的(二次)变换系数。如上所述,修改的变换系数可以被推导为通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并且被传送到编码设备中的解量化器/逆变换器。
此外,如上所述,如果省略了二次变换,则可以将作为一次(可分离的)变换的输出的(一次)变换系数推导为如上所述通过量化器量化的变换系数,并且可以被编码并发信号通知给解码设备,并传送到编码设备中的解量化器/逆变换器。
逆变换器可以与在上述变换器中已经执行的顺序相反的顺序执行一系列过程。逆变换器可以接收(解量化的)变换系数,并且通过执行二次(逆)变换来推导(一次)变换系数(S450),并且可以通过对(一次)变换系数执行一次(逆)变换来获得残差块(残差样本)(S460)。就此而言,从逆变换器的视角来看,一次变换系数可以被称为修改的变换系数。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
解码设备还可以包括二次逆变换应用确定器(或用于确定是否应用二次逆变换的元件)和二次逆变换确定器(或用于确定二次逆变换的元件)。二次逆变换应用确定器可以确定是否应用二次逆变换。例如,二次逆变换可以是NSST、RST或LFNST,并且二次逆变换应用确定器可以基于通过解析比特流而获得的二次变换标志来确定是否应用二次逆变换。在另一示例中,二次逆变换应用确定器可以基于残差块的变换系数来确定是否应用二次逆变换。
二次逆变换确定器可以确定二次逆变换。在这种情况下,二次逆变换确定器可以基于根据帧内预测模式指定的LFNST(NSST或RST)变换集来确定应用于当前块的二次逆变换。在实施方式中,可以取决于一次变换确定方法来确定二次变换确定方法。可以根据帧内预测模式来确定一次变换和二次变换的各种组合。此外,在示例中,二次逆变换确定器可以基于当前块的大小来确定应用二次逆变换的区域。
此外,如上所述,如果省略二次(逆)变换,则可以接收(解量化的)变换系数,可以执行一次(可分离的)逆变换,并且可以获得残差块(残差样本)。如上所述,编码设备和解码设备可以基于残差块和预测块来生成重构块,并且可以基于重构块来生成重构图片。
此外,在本公开中,可以在NSST的概念中应用其中减小了变换矩阵(核)的大小的缩减二次变换(RST),以便减少不可分离的二次变换所需的计算量和存储量。
此外,本公开中描述的变换核、变换矩阵以及构成变换核矩阵的系数,即,核系数或矩阵系数,可以以8比特来表示。这可以是在解码设备和编码设备中实现的条件,并且与现有的9比特或10比特相比,可以减少存储变换核所需的存储量,并且可以合理地适应性能劣化。另外,以8比特表示核矩阵可以允许使用小的乘法器,并且可以更适合于用于最佳软件实现的单指令多数据(SIMD)指令。
在本说明书中,术语“RST”可以是指基于大小根据缩减因子而减小的变换矩阵来对目标块的残差样本执行的变换。在执行缩减变换的情况下,由于变换矩阵的大小的减小,可以减少变换所需的计算量。也就是说,RST可以用于解决在大小大的块的变换或不可分离的变换时发生的计算复杂性问题。
RST可以被称为诸如缩减变换、缩减二次变换、缩小变换、简化变换和简单变换等之类的各种术语,并且RST可以被称为的名称不限于所列示例。另选地,由于RST主要在变换块中的包括非零系数的低频区域中执行,因此它可以被称为低频不可分离的变换(LFNST)。变换索引可以被称作LFNST索引。
此外,当基于RST执行二次逆变换时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括:逆缩减二次变换器,其基于变换系数的逆RST来推导修改的变换系数;以及逆一次变换器,其基于修改的变换系数的逆一次变换来推导目标块的残差样本。逆一次变换是指应用于残差的一次变换的逆变换。在本公开中,基于变换推导变换系数可以是指通过应用变换来推导变换系数。
图6是例示根据本公开的实施方式的RST的图。
在本公开中,“目标块”可以指代要编码的当前块,残差块或变换块。
在根据示例的RST中,可以将N维向量映射到位于另一个空间中的R维向量,从而可以确定缩减变换矩阵,其中R小于N。N可以是指应用了变换的块的侧边的长度的平方,或与应用了变换的块相对应的变换系数的总数,并且缩减因子可以是指R/N值。缩减因子可以被称为缩减因子、缩小因子、简化因子、简单因子或其它各种术语。此外,R可以被称为缩减系数,但是根据情况,缩减因子可以是指R。此外,根据情况,缩减因子可以是指N/R值。
在示例中,可以通过比特流来发信号通知缩减因子或缩减系数,但是示例不限于此。例如,可以在编码设备200和解码设备300中的每一个中存储针对缩减因子或缩减系数的预定值,并且在这种情况下,可以不单独发信号通知缩减因子或缩减系数。
根据示例的缩减变换矩阵的大小可以是小于N×N(常规变换矩阵的大小)的R×N,并且可以如下面的式4所限定。
[式4]
图6的(a)中所示的缩减变换块中的矩阵T可以是指式4的矩阵TR×N。如图6的(a)所示,当将缩减变换矩阵TR×N乘以目标块的残差样本时,可以推导当前块的变换系数。
在示例中,如果应用了变换的块的大小是8×8并且R=16(即,R/N=16/64=1/4),则根据图6的(a)的RST可以被表示为以下式5所示的矩阵运算。在这种情况下,存储和乘法计算可以通过缩减因子缩减至大约1/4。
在本公开中,矩阵运算可以理解为通过将列向量与设置在列向量的左侧的矩阵相乘来获得列向量的运算。
[式5]
在式5中,r1至r64可以表示目标块的残差样本,并且具体地可以是通过应用一次变换而生成的变换系数。作为式5的计算的结果,可以推导目标块的变换系数ci,并且推导ci的过程可以如式6所示。
[式6]
作为式6的计算的结果,可以推导目标块的变换系数c1至cR。也就是说,当R=16时,可以推导目标块的变换系数c1至c16。如果应用常规变换而不是RST,并将64×64(N×N)大小的变换矩阵与64×1(N×1)大小的残差样本相乘,则因为应用了RST而针对目标块仅推导16(R)个变换系数,尽管针对目标块推导了64(N)个变换系数。由于用于目标块的变换系数的总数从N缩减到R,所以编码设备200向解码设备300发送的数据量减少,因此编码设备200与解码设备300之间的传输效率可以提高。
当从变换矩阵的大小的视角考虑时,常规变换矩阵的大小为64×64(N×N),但缩减变换矩阵的大小缩减为16×64(R×N),因此与执行常规变换的情况相比,执行RST的情况下的存储使用率可以减小R/N比率。另外,当与使用常规变换矩阵的情况下的乘法计算的数量N×N相比时,使用缩减变换矩阵可以将乘法计算的数量(R×N)减小R/N比率。
在示例中,编码设备200的变换器232可以通过对目标块的残差样本执行一次变换和基于RST的二次变换来推导目标块的变换系数。这些变换系数可以被传送到解码设备300的逆变换器,并且解码设备300的逆变换器322可以基于针对变换系数的逆缩减二次变换(RST)来推导修改的变换系数,并且可以基于针对修改的变换系数的逆一次变换来推导目标块的残差样本。
根据示例的逆RST矩阵TN×R的大小为比常规逆变换矩阵N×N的大小小的N×R,并且与式4中所示的缩减变换矩阵TR×N具有转置关系。
图6的(b)所示的缩减逆变换块中的矩阵Tt可以是指逆RST矩阵TN×R T(上标T是指转置)。如图6的(b)所示,当将逆RST矩阵TN×R T乘以目标块的变换系数时,可以推导目标块的修改的变换系数或目标块的残差样本。逆RST矩阵TR×N T可以表示为(TR×N)T N×R。
更具体地,当逆RST被用作二次逆变换时,当逆RST矩阵TN×R T被乘以目标块的变换系数时,可以推导目标块的修改的变换系数。此外,可以将逆RST用作逆一次变换,并且在这种情况下,当将逆RST矩阵TN×R T与目标块的变换系数相乘时,可以推导目标块的残差样本。
在示例中,如果应用逆变换的块的大小是8×8并且R=16(即,R/N=16/64=1/4),则根据图6的(b)的RST可以被表示为以下式7所示的矩阵运算。
[式7]
在式7中,c1至c16可以表示目标块的变换系数。作为式7的计算的结果,可以推导表示目标块的修改的变换系数或目标块的残差样本的ri,并且推导ri的过程可以如式8所示。
[式8]
作为式8的计算的结果,可以推导表示目标块的修改的变换系数或目标块的残差样本的r1至rN。从逆变换矩阵的大小的视角考虑,常规逆变换矩阵的大小为64×64(N×N),但逆缩减变换矩阵的大小缩减为64×16(R×N),因此与执行常规逆变换的情况相比,执行逆RST的情况下的存储使用率可以减小R/N比率。另外,当与使用常规逆变换矩阵的情况下的乘法计算的数量N×N相比时,使用逆缩减变换矩阵可以将乘法计算的数量(N×R)减少R/N比率。
表2所示的变换集配置也可以应用于8×8 RST。也就是说,可以根据表2中的变换集来应用8×8 RST。由于根据帧内预测模式,一个变换集包括两个或三个变换(核),因此可以将其配置为选择包括在不应用二次变换的情况下在内的至多四个变换中的一个。在不应用二次变换的变换中,可以考虑应用恒等矩阵(identity matrix)。假设分别将索引0、1、2和3分配给四个变换(例如,可以将索引0分配给应用恒等矩阵的情况,即,不应用二次变换的情况),可以针对每个变换系数块发信号通知作为语法元素的变换索引或lfnst索引,由此指定要应用的变换。也就是说,针对左上8×8块,通过变换索引,可以指定RST配置中的8×8 NSST,或者当应用LFNST时可以指定8×8 lfnst。8×8 lfnst和8×8 RST指代当要变换的目标块的W和H均等于或大于8时可应用于变换系数块中包括的8×8区域的变换,并且8×8区域可以是变换系数块中的左上8×8区域。类似地,4×4 lfnst和4×4 RST指代当目标块的W和H均等于或大于4时可应用于变换系数块中包括的4×4区域的变换,并且4×4区域可以是变换系数块中的左上4×4区域。
根据本公开的实施方式,对于编码过程中的变换,可以仅选择48条数据,并且可以向其应用最大16×48变换核矩阵,而不是将16×64变换核矩阵应用于形成8×8区域的64条数据。此处,“最大”意味着m在m×48变换核矩阵中具有最大值16以用于生成m个系数。也就是说,当通过将m×48变换核矩阵(m≤16)应用于8×8区域来执行RST时,输入48条数据,并且生成m个系数。当m是16时,输入48条数据并且生成16个系数。也就是说,假设48条数据形成48×1向量,16×48矩阵和48×1向量依次相乘,由此生成16×1向量。这里,形成8×8区域的48条数据可以被适当地布置,由此形成48×1向量。例如,可以基于构成8×8区域当中的除了右下4×4区域之外的区域的48条数据来构造48×1向量。这里,当通过应用最大16×48变换核矩阵来执行矩阵运算时,生成16个修改的变换系数,并且可以根据扫描顺序将16个修改的变换系数布置在左上4×4区域中,并且可以用零填充右上4×4区域和左下4×4区域。
对于解码过程中的逆变换,可以使用前述变换核矩阵的转置矩阵。也就是说,当在由解码设备执行的逆变换过程中执行逆RST或LFNST时,根据预定布置顺序在一维向量中配置应用逆RST的输入系数数据,并且可以根据预定布置顺序将通过将一维向量与在一维向量左侧的对应的逆RST矩阵相乘而获得的修改的系数向量布置到二维块中。
总之,在变换过程中,当RST或LFNST被应用于8×8区域时,在8×8区域的除了右下区域之外的左上区域、右上区域和左下区域中的48个变换系数与16×48变换核矩阵的矩阵运算。对于矩阵运算,以一维阵列输入48个变换系数。当执行矩阵运算时,推导出16个修改的变换系数,并且可以将修改的变换系数布置于8×8区域的左上区域中。
相反,在逆变换过程中,当将逆RST或LFNST应用于8×8区域时,可以根据扫描顺序以一维阵列输入8×8区域中的变换系数当中的对应于8×8区域的左上区域的16个变换系数,并且可以经历与48×16变换核矩阵的矩阵运算。也就是说,矩阵运算可以表示为(48×16矩阵)*(16×1变换系数向量)=(48×1修改的变换系数向量)。这里,n×1向量可以被解释为具有与n×1矩阵相同的含义,并且因此可以被表示为n×1列向量。此外,*表示矩阵乘法。当执行矩阵运算时,可以推导出48个修改的变换系数,并且可以将48个修改的变换系数布置在8×8区域中的除了右下区域之外的左上区域、右上区域和左下区域中。
当二次逆变换基于RST时,编码设备200的逆变换器235和解码设备300的逆变换器322可以包括用于基于对变换系数的逆RST推导修改的变换系数的逆缩减二次变换器以及用于基于对修改的变换系数的逆一级变换来推导目标块的残差样本的逆一次变换器。逆一次变换指代应用于残差的一次变换的逆变换。在本公开中,基于变换推导变换系数可以指代通过应用变换来推导变换系数。
上面描述的非分离变换(LFNST)将如下详细描述。LFNST可以包括由编码设备进行的正向变换和由解码设备进行的逆变换。
编码设备接收在应用一次(核心)变换之后推导出的结果(或结果的一部分)作为输入,并且应用正向二次变换(二次变换)。
[式9]
y=GTx
在式9中,x和y分别是二次变换的输入和输出,G是表示二次变换的矩阵,并且变换基向量由列向量组成。在逆LFNST的情况下,当变换矩阵G的维度表示为[行的数量×列的数量]时,在正向LFNST的情况下,矩阵G的转置变成GT的维度。
对于逆LFNST,矩阵G的维度是[48×16]、[48×8]、[16×16]、[16×8],并且[48×8]矩阵和[16×8]矩阵是分别从[48×16]矩阵和[16×16]矩阵的左侧采样的8个变换基向量的部分矩阵。
另一方面,对于正向LFNST,矩阵GT的维度是[16×48]、[8×48]、[16×16]、[8×16],并且[8×48]矩阵和[8×16]矩阵是通过分别从[16×48]矩阵和[16×16]矩阵的上部采样8个变换基向量而获得的部分矩阵。
因此,在正向LFNST的情况下,[48×1]向量或[16×1]向量可以作为输入x,并且[16×1]向量或[8×1]向量可以作为输出y。在视频编码和解码中,正向一次变换的输出是二维(2D)数据,因此为了构造[48×1]向量或[16×1]向量作为输入x,需要通过将作为正向变换的输出的2D数据适当地布置来构造一维向量。
图7是例示根据示例的将正向一次变换的输出数据布置成一维向量的顺序的图。图7的(a)和(b)的左图示出了用于构造[48×1]向量的顺序,并且图7的(a)和(b)的右图示出了用于构造[16×1]向量的顺序。在LFNST的情况下,可以通过将2D数据按与图7的(a)和(b)中相同的次序顺序地布置来获得一维向量x。
可以根据当前块的帧内预测模式确定正向一次变换的输出数据的布置方向。例如,在当前块的帧内预测模式相对于对角线方向处于水平方向时,可以按图7的(a)的顺序布置正向一次变换的输出数据,并且在当前块的帧内预测模式相对于对角线方向处于垂直方向时,可以按图7的(b)的顺序布置正向一次变换的输出数据。
根据示例,可以应用不同于图7的(a)和(b)的布置顺序的布置顺序,并且为了推导与应用图7的(a)和(b)的布置顺序时相同的结果(y向量),可以根据布置顺序重新布置矩阵G的列向量。也就是说,可以重新布置G的列向量,使得构成x向量的每个元素总是乘以相同的变换基向量。
由于通过式9推导的输出y是一维向量,因此当在使用正向二次变换的结果作为输入的过程中(例如,在执行量化或残差编码的过程中)需要二维数据作为输入数据时,式9的输出y向量需要再次被适当地布置为2D数据。
图8是例示根据示例的将正向二次变换的输出数据布置成二维块的顺序的图。
在LFNST的情况下,输出值可以根据预定扫描顺序布置在2D块中。图8的(a)示出了当输出y是[16×1]向量时,根据对角扫描顺序将输出值布置在2D块的16个位置处。图8的(b)示出了当输出y是[8×1]向量时,根据对角扫描顺序将输出值布置在2D块的8个位置处,并且用零填充其余的8个位置。图8的(b)中的X指示它被填充有零。
根据另一示例,由于可以预设在执行量化或残差编码时处理输出向量y的顺序,因此输出向量y可以不布置在如图8中所示的2D块中。然而,在残差编码的情况下,可以在2D块(例如,4×4)单元(例如,CG(系数组))中执行数据编码,并且在此情况下,根据如图8的对角扫描顺序中的特定顺序来布置数据。
此外,解码设备可以通过根据用于逆变换的预设扫描顺序来布置通过解量化过程输出的二维数据来配置一维输入向量y。输入向量y可以通过下式输出为输出向量x。
[式10]
x=Gy
在逆LFNST的情况下,可以通过将作为[16×1]向量或[8×1]向量的输入向量y乘以G矩阵来推导输出向量x。对于逆LFNST,输出向量x可以是[48×1]向量或[16×1]向量。
输出向量x根据图7中所示的顺序布置在二维块中,并且被布置为二维数据,并且该二维数据成为逆一次变换的输入数据(或输入数据的一部分)。
因此,逆二次变换整体上是正向二次变换过程的相反,并且在逆变换的情况下,与在正向方向上不同,首先应用逆二次变换,然后应用逆一次变换。
在逆LFNST中,可以选择8个[48×16]矩阵和8个[16×16]矩阵中的一个作为变换矩阵G。是应用[48×16]矩阵还是应用[16×16]矩阵取决于块的大小和形状。
另外,可以从如上表2所示的四个变换集中推导8个矩阵,并且每个变换集可以由两个矩阵组成。根据帧内预测模式确定在4个变换集当中使用哪个变换集,并且更具体地,基于通过考虑广角帧内预测(WAIP)而扩展的帧内预测模式的值来确定变换集。通过索引信令来推导从构成所选择的变换集的两个矩阵当中选择哪个矩阵。更具体地,0、1和2可以作为发送的索引值,0可以指示不应用LFNST,并且1和2可以指示构成基于帧内预测模式值选择的变换集的两个变换矩阵中的任何一个。
图9是例示根据本文档的实施方式的广角帧内预测模式的图。
一般帧内预测模式值可以具有从0到66以及从81到83的值,并且由于WAIP而扩展的帧内预测模式值可以具有所示的从-14到83的值。从81到83的值指示CCLM(跨分量线性模型)模式,并且从-14到-1的值和从67到80的值指示由于WAIP应用而扩展的帧内预测模式。
当当前预测块的宽度大于高度时,上参考像素通常更接近要预测的块内部的位置。因此,在左下方向上比在右上方向上进行预测可以更准确。相反,当块的高度大于宽度时,左参考像素通常更接近要预测的块内部的位置。因此,在右上方向上比在左下方向上进行预测可以更准确。因此,将重映射(即,模式索引修改)应用到广角帧内预测模式的索引可以是有利的。
当应用广角帧内预测时,关于现有帧内预测的信息可以被发信号通知,并且在信息被解析之后,该信息可以被重映射到广角帧内预测模式的索引。因此,可以不改变用于特定块(例如,特定大小的非正方形块)的帧内预测模式的总数量,也就是说,帧内预测模式的总数量是67,并且可以不改变用于特定块的帧内预测模式编码。
下表3示出了通过将帧内预测模式重映射到广角帧内预测模式来推导修改的帧内模式的过程。
[表3]
在表3中,扩展的帧内预测模式值最终存储在predModeIntra变量中,并且ISP_NO_SPLIT指示CU块不通过当前在VVC标准中采用的帧内子分区(ISP)技术划分成子分区,并且0、1和2的cIdx变量值分别指示亮度分量、Cb分量和Cr分量的情况。表3所示的log2函数返回基数为2的log值,并且Abs函数返回绝对值。
指示帧内预测模式的变量predModeIntra以及变换块的高度和宽度等用作广角帧内预测模式映射过程的输入值,并且输出值是修改的帧内预测模式predModeIntra。变换块或编码块的高度和宽度可以为用于帧内预测模式的重映射的当前块的高度和宽度。此时,反映宽度与宽度的比率的变量whRatio可以被设置为Abs(Log2(nW/nH))。
对于非正方形块,帧内预测模式可以划分成两种情况并且被修改。
首先,如果条件(1)至(3)全部被满足,(1)当前块的宽度大于高度、(2)在修改之前的帧内预测模式等于或大于2、以及(3)帧内预测模式当变量whRatio大于1时小于被推导为(8+2*whRatio)的值并且当变量whRatio小于或等于1时小于8(predModeIntra小于(whRatio>1)?(8+2*whRatio):8),则帧内预测模式被设置为比predModeIntra大65的值[predModeIntra被设置为等于(predModeIntra+65)]。
如果与以上不同,即,如果条件(1)至(3)被满足,(1)当前块的高度大于宽度、(2)在修改之前的帧内预测模式小于或等于66、以及(3)帧内预测模式当whRatio大于1时大于被推导为(60-2*whRatio)的值并且当whRatio小于或等于1时大于60(predModeIntra大于(whRatio>1)?(60-2*whRatio):60),则帧内预测模式被设置为比predModeIntra小67的值[predModeIntra被设置为等于(predModeIntra-67)]。
上表2示出了如何在LFNST中基于由WAIP扩展的帧内预测模式值选择变换集。如图9所示,模式14到33和模式35到80关于模式34周围的预测方向对称。例如,模式14和模式54关于对应于模式34的方向是对称的。因此,相同的变换集应用于位于相互对称的方向上的模式,并且这种对称性也反映在表2中。
此外,假设模式54的正向LFNST输入数据与模式14的正向LFNST输入数据对称。例如,对于模式14和模式54,根据图7的(a)和图7的(b)所示的布置顺序将二维数据重新布置为一维数据。另外,可以看出,图7的(a)和图7的(b)所示的顺序的图案关于由模式34指示的方向(对角线方向)是对称的。
此外,如上所述,由变换目标块的大小和形状来确定将[48×16]矩阵和[16×16]矩阵中的哪个变换矩阵应用于LFNST。
图10是例示LFNST被应用于的块形状的图。图10的(a)示出了4×4块,图10的(b)示出了4×8块和8×4块,图10的(c)示出了4×N块或N×4块,其中N为16或更大,图10的(d)示出了8×8块,图10的(e)示出了M×N块,其中M≥8、N≥8并且N>8或M>8。
在图10中,具有厚边界的块指示LFNST被应用到的区域。对于图10的(a)和(b)的块,LFNST被应用于左上4×4区域,并且对于图10的(c)的块,LFNST被单独地应用于被连续地布置的两个左上4×4区域。在图10的(a)、(b)和(c)中,由于LFNST以4×4区域为单位应用,所以该LFNST在下文中将被称为“4×4 LFNST”。基于G的矩阵维度,可以应用[16×16]或[16×8]矩阵。
更具体地,[16×8]矩阵被应用到图10的(a)的4×4块(4×4 TU或4×4 CU),并且[16×16]矩阵被应用到图10的(b)和(c)中的块。这是为了将最坏情况的计算复杂度调整为每个样本8次乘法。
关于图10的(d)和(e),LFNST被应用于左上8×8区域,并且该LFNST在下文中被称为“8×8 LFNST”。作为对应的变换矩阵,可以应用[48×16]矩阵或[48×8]矩阵。在正向LFNST的情况下,由于[48×1]向量(式9中的X向量)作为输入数据被输入,所以不是左上8×8区域的所有样本值都被用作正向LFNST的输入值。也就是说,如可以从图7的(a)的左侧顺序或图7的(b)的左侧顺序看出的,可以基于属于在将右下4×4块原样留下的同时的其余3个4×4块的样本来构造[48×1]向量。
[48×8]矩阵可以应用于图10的(d)中的8×8块(8×8 TU或8×8 CU),并且[48×16]矩阵可以应用于图10的(e)中的8×8块。这也是为了将最坏情况的计算复杂度调整为每个样本8次乘法。
取决于块形状,当对应的正向LFNST(4×4或8×8 LFNST)被应用时,生成8或16个输出数据(式9中的Y向量,[8×1]或[16×1]向量)。在正向LFNST中,由于矩阵GT的特性,输出数据的数量等于或小于输入数据的数量。
图11是例示根据示例的正向LFNST的输出数据的布置的图,并且示出了其中根据块形状布置正向LFNST的输出数据的块。
在图11所示的块的左上的阴影区域对应于正向LFNST的输出数据所位于的区域,用0标记的位置指示填充有值0的样本,并且其余区域表示未被正向LFNST改变的区域。在未被LFNST改变的区域中,正向一次变换的输出数据保持不变。
如上所述,由于所应用的变换矩阵的尺寸根据块的形状而变化,因此输出数据的数量也变化。如图11,正向LFNST的输出数据可能不完全填充左上4×4块。在图11的(a)和(d)的情况下,将[16×8]矩阵和A[48×8]矩阵分别应用于由粗线指示的块或块内部的部分区域,并且生成作为正向LFNST的输出的[8×1]向量。也就是说,根据图8的(b)所示的扫描顺序,可以仅填充8个输出数据,如图11的(a)和(d)所示,并且可以在其余的8个位置中填充0。在图10的(d)的LFNST应用的块的情况下,如图11的(d)所示,与左上4×4块相邻的右上和左下的两个4×4块也被填充有值0。
如上所述,基本上,通过发信号通知LFNST索引,规定了是否应用LFNST和要应用的变换矩阵。如图11所示,当LFNST被应用时,由于正向LFNST的输出数据的数量可以等于或小于输入数据的数量,所以出现如下填充有零值的区域。
1)如图11的(a)所示,来自左上4×4块中的扫描顺序上的第八个位置和后面的位置的样本,即,来自第九到第十六的样本。
2)如图11的(d)和(e)中所示,当应用[48×16]矩阵或[48×8]矩阵时,与左上4×4块相邻的两个4×4块或者扫描顺序上的第二和第三4×4块。
因此,如果通过检查区域1)和2)存在非零数据,则确定未应用LFNST,使得可以省略对应的LFNST索引的信令。
根据示例,例如,在VVC标准中采用的LFNST的情况下,由于在残差编码之后执行LFNST索引的信令,因此编码设备可以通过残差编码来知道在TU或CU块内的所有位置是否存在非零数据(有效系数)。因此,编码设备可以基于非零数据的存在来确定是否执行关于LFNST索引的信令,并且解码设备可以确定是否解析LFNST索引。当非零数据不存在于以上1)和2)中指定的区域中时,执行LFNST索引的信令。
由于截短的一元码被应用为LFNST索引的二值化方法,所以LFNST索引由多达两个bin组成,0、10和11分别被指派为用于可能的LFNST索引值0、1和2的二进制码。根据示例,可以将基于上下文的CABAC编码应用于第一bin(常规编码),并且也可以将旁通编码应用于第二bin。LFNST索引的编码如下表所示。
[表4]
如表4所示,对于第一bin(binIdx=0),在单树的情况下应用上下文0,而在非单树的情况下,可以应用上下文1。此外,如表4所示,可以将上下文2应用到第二bin(binIdx=1)。也就是说,可以将两个上下文分配给第一bin,可以将一个上下文分配给第二bin,并且可以通过ctxInc值(0、1、2)来区分每个上下文。
这里,单树意味着亮度分量和色度分量是利用相同的编码结构进行编码的。当编码单元在具有相同编码结构的同时被划分,并且编码单元的大小变得小于或等于特定阈值,并且亮度分量和色度分量被以单独的树结构编码时,把对应的编码单元看作双树,并且可以确定第一bin的上下文。也就是说,如表4所示,可以分配上下文1。
另选地,当将变量treeType的值指派为第一bin的SINGLE_TREE时,针对编码,可以使用上下文0,否则可以使用上下文1。
此外,对于采用的LFNST,可以应用以下简化方法。
(i)根据示例,正向LFNST的输出数据的数量可以被限于最大值16。
在图10的(c)的情况下,4×4 LFNST可以分别应用于与左上方相邻的两个4×4区域,并且在这种情况下,可以生成最大32个LFNST输出数据。当正向LFNST的输出数据的数量被限制为最大值16时,在4×N/N×4(N≥16)块(TU或CU)的情况下,4×4 LFNST仅应用于左上方的一个4×4区域,LFNST可以仅应用于图10的所有块一次。通过此,可以简化图像编码的实现方式。
图12示出了根据示例的正向LFNST的输出数据的数量被限制为最大值16。如图12,当LFNST被应用到4×N或N×4块(其中N为16或更大)中的最左上的4×4区域时,正向LFNST的输出数据成为16个。
(ii)根据示例,可以附加地清零应用到未应用LFNST的区域。在本文档中,清零可以表示用为0的值填充属于特定区域的所有位置。也就是说,可以将清零应用于由于LFNST而未改变的区域,并且维持正向一次变换的结果。如上所述,由于LFNST被划分为4×4LFNST和8×8 LFNST,所以清零可以如下划分为两种类型((ii)-(A)和(ii)-(B))。
(ii)-(A)当应用4×4 LFNST时,未应用4×4 LFNST的区域可以被清零。图13是例示根据示例的应用4×4 LFNST的块中的清零的图。
如图13所示,关于应用了4×4 LFNST的块,即,对于图11的(a)、(b)和(c)中的所有块,未应用LFNST的整个区域可以用零填充。
另一方面,图13的(d)示出当如图12所示,正向LFNST的输出数据的数量的最大值被限制为16时,对未应用4×4 LFNST的其余块执行清零。
(ii)-(B)当应用8×8 LFNST时,未应用8×8 LFNST的区域可以被清零。图14是例示根据示例的应用8×8 LFNST的块中的清零的图。
如图14所示,关于应用8×8 LFNST的块,即,对于图11的(d)和(e)中的所有块,LFNST未被应用到的整个区域可以用零填充。
(iii)由于以上(ii)中呈现的清零,用零填充的区域可以不与当LFNST被应用时相同。因此,可以根据对比图11的LFNST的情况更宽的区域进行(ii)中提出的清零来检查是否存在非零数据。
例如,当(ii)-(B)被应用时,在检查图11的(d)和(e)中的用零填充的区域是否存在非零数据之后,另外附加地检查图14中填充有0的区域是否存在非零数据,可以仅当不存在非零数据时执行针对LFNST索引的信令。
当然,即使应用(ii)中提出的清零,也可以与现有LFNST索引信令相同的方式检查非零数据是否存在。也就是说,在检查在图11中用零填充的块中是否存在非零数据之后,可以应用LFNST索引信令。在此情况下,编码设备仅执行清零并且解码设备不假设清零,也就是,仅检查非零数据是否仅存在于图11中明确标记为0的区域中,可以执行LFNST索引解析。
可以推导出应用LFNST的简化方法((i)、(ii)-(A)、(ii)-(B)、(iii))的组合的各种实施方式。当然,上述简化方法的组合不限于以下实施方式,并且可以将任何组合应用于LFNST。
实施方式
-将正向LFNST的输出数据的数量限制为最大值16→(i)
-当应用4×4 LFNST时,未应用4×4 LFNST的所有区域被清零→(II)-(A)
-当应用8×8 LFNST时,未应用8×8 LFNST的所有区域被清零→(II)-(B)
-在检查非零数据是否也存在于填充有零值的现有区域以及由于附加的清零而填充有零的区域中((ii)-(A)、(ii)-(B))之后,仅在不存在非零数据时发信号通知LFNST索引→(iii)。
在实施方式的情况下,当应用LFNST时,可以存在非零输出数据的区域限于左上4×4区域的内部。更详细地,在图13的(a)和图14的(a)的情况下,扫描顺序上的第八个位置是其中可以存在非零数据的最后位置。在图13的(b)和(c)以及图14的(b)的情况下,扫描顺序上的第十六个位置(即,左上4×4块的右下边缘的位置)是其中可以存在除了0以外的数据的最后位置。
因此,在应用LFNST之后,在检查非零数据是否存在于残差编码过程不允许的位置(在超出最后位置的位置处)之后,可以确定是否发信号通知LFNST索引。
在(ii)中提出的清零方法的情况下,由于当应用了一次变换和LFNST两者时最终生成的数据的数量,所以执行整个变换过程所需的计算量可以降低。也就是说,当LFNST被应用时,由于清零被应用于正向一次变换输出数据存在于未应用LFNST的区域中,因此不需要为在执行正向一次变换期间成为清零的区域生成数据。因此,可以降低生成对应的数据所需的计算量。在(ii)中提出的清零方法的附加效果总结如下。
首先,如上所述,减少执行整个变换过程所需的计算量。
特别地,当应用(ii)-(B)时,最坏情况的计算量被减少,使得变换过程可以被变轻。换句话说,一般来说,需要大量的计算来执行大尺寸的一次变换。通过应用(ii)-(B),作为执行正向LFNST的结果而推导出的数据的数量可以减小到16或更小。另外,随着整个块(TU或CU)的大小增加,减少变换操作的量的效果进一步增加。
第二,可以减少整个变换过程所需的计算量,由此降低执行变换所需的功耗。
第三,减小了变换过程中涉及的延迟。
诸如LFNST之类的二次变换向现有的一次变换添加了计算量,因而增加了执行变换时涉及的总体延迟时间。特别地,在帧内预测的情况下,由于在预测过程中使用相邻块的重构数据,所以在编码期间,由于二次变换导致的延迟的增加导致直到重构的延迟的增加。这可以导致帧内预测编码的总体延迟的增加。
然而,如果应用(ii)中提出的清零,则当应用LFNST时可以极大地减少执行一次变换的延迟时间,保持或减少整个变换的延迟时间,使得可以更简单地实现编码设备。
在传统的帧内预测中,当前要编码的块被视为一个编码单元,并且在不分割的情况下执行编码。然而,帧内子分区(ISP)编码意味着通过在水平方向或垂直方向上划分当前要编码的块来执行帧内预测编码。在这种情况下,可以通过以划分块为单位执行编码/解码来生成重构块,并且重构块可以用作下一个划分块的参考块。根据实施方式,在ISP编码中,可以将一个编码块划分为两个或四个子块并进行编码,并且在ISP中,在一个子块中,参考位于相邻的左侧或相邻的上侧的子块的重构像素值执行帧内预测。在下文中,“编码”可以用作包括由编码设备执行的编码和由解码设备执行的解码两者的概念。
此外,下面将描述LFNST索引和MTS索引的信令。
下表给出了根据示例的与LFNST索引和MTS索引的信令相关的编码单元语法表、变换单元语法表和残差编码语法表。根据表5,MTS索引从变换单元级别移动到编码单元级别语法,并在LFNST索引信令之后被发信号通知。另外,已经去除了当ISP应用于编码单元时不允许LFNST的约束。当ISP应用于编码单元时,去除了不允许LFNST的约束,使得LFNST可以应用于所有帧内预测块。另外,在编码单元级别的最后部分有条件地发信号通知MTS索引和LFNST索引二者。
[表5]
[表6]
[表7]
表中主要变量的含义如下。
1.cbWidth、cbHeight:当前编码块的宽度和高度
2.log2TbWidth、log2TbHeight:当前变换块的宽度和高度的以2为底的对数值,并且反映清零以减小到可以存在非零系数的左上区域。
3.sps_lfnst_enabled_flag:它是指示是否启用LFNST的标志,如果标志值为0,则它指示不启用LFNST,并且如果标志值为1,则它指示启用LFNST。它被定义在序列参数集(SPS)中。
4.CuPredMode[chType][x0][y0]:与变量chType和(x0,y0)位置相对应的预测模式,chType可以具有0和1的值,其中0表示亮度分量,并且1表示色度分量。(x0,y0)位置指示图片上的位置,并且MODE_INTRA(帧内预测)和MODE_INTER(帧间预测)可以具有CuPredMode[chType][x0][y0]值。
5.IntraSubPartitionsSplit[x0][y0]:(x0,y0)位置的内容与第4条中相同。它指示在(x0,y0)位置应用了哪个ISP划分,ISP_NO_SPLIT指示对应于(x0,y0)位置的编码单元没有被划分为分区块。
6.intra_mip_flag[x0][y0]:(x0,y0)位置的内容与以上第4条中相同。intra_mip_flag是指示是否应用基于矩阵的帧内预测(MIP)预测模式的标志。标志值0指示未启用MIP,而标志值1指示应用了MIP。
7.cIdx:值0指示亮度,并且值1和2指示分别是色度分量的Cb和Cr。
8.treeType:它指示单树和双树等(SINGLE_TREE:单树,DUAL_TREE_LUMA:用于亮度分量的双树,DUAL_TREE_CHROMA:用于色度分量的双树)
9.lastSubBlock:它指示最后非零系数所位于的子块(系数组(CG))按照扫描顺序的位置。0指示包含DC分量的子块,并且如果大于0,则它不是包含DC分量的子块。
10.lastScanPos:它指示在一个子块内最后有效系数按照扫描顺序位于哪里。如果一个子块由16个位置组成,则可以有从0到15的值。
11.lfnst_idx[x0][y0]:要解析的LFNST索引语法元素。如果不解析它,则它被推断为值0。也就是说,默认值被设置为0,并且指示不应用LFNST。
12.LastSignificantCoeffX、LastSignificantCoeffY:它指示变换块中最后有效系数所位于的x坐标和y坐标。x坐标从0开始并且从左向右增加,并且y坐标从0开始并且从上向下增加。如果两个变量的值都为0,则它意味着最后有效系数位于DC。
13.cu_sbt_flag:它是指示当前VVC标准中包括的子块变换(SBT)是否被启用的标志。如果标志值为0,则它指示未启用SBT,并且如果标志值为1,则它指示启用了SBT。
14.sps_explicit_mts_inter_enabled_flag、sps_explicit_mts_intra_enabled_flag:它是分别指示显式MTS是否应用于帧间CU和帧内CU的标志。如果对应的标志值为0,则它指示MTS不可应用于帧间CU或帧内CU,如果它为1,则它指示MTS是可应用的。
15.tu_mts_idx[x0][y0]:它是要解析的MTS索引语法元素。如果不解析它,则它被推断为值0。也就是说,默认值被设置为0,它指示DCT-2被应用于水平方向和垂直方向二者。
如表5所示,在编码mts_idx[x0][y0]时要检查若干个条件,并且仅当lfnst_idx[x0][y0]值为0时,才发信号通知tu_mts_idx[x0][y0]。
另外,tu_cbf_luma[x0][y0]是指示对于亮度分量是否存在有效系数的标志。
根据表5,当亮度分量的编码单元的宽度和高度二者都为32或以下时,发信号通知mts_idx[x0][y0](Max(cbWidth,cbHeight)<=32),也就是说,由亮度分量的编码单元的宽度和高度确定是否应用MTS。
另外,根据表5,即使在ISP模式下(IntraSubPartitionsSplitType!=ISP_NO_SPLIT)lfnst_idx[x0][y0]也可以被配置为发信号通知,并且相同的LFNST索引值可以应用于所有ISP分区块。
另一方面,可以仅在不处于ISP模式(IntraSubPartitionsSplit[x0][y0]==ISP_NO_SPLIT)时才发信号通知mts_idx[x0][y0]。
在如表7所示确定log2ZoTbWidth和log2ZoTbHeight(其中,log2ZoTbWidth和log2ZoTbHeight分别表示在执行清零之后剩余的左上区域的宽度和高度的以2为底的对数值)的过程中,可以省略检查mts_idx[x0][y0]值的部分。
此外,根据示例,当在残差编码中确定log2ZoTbWidth和log2ZoTbHeight时,可以增加用于检查sps_mts_enable_flag的条件。
如果在应用LFNST时在清零位置存在有效系数,则表5的变量LfnstZeroOutSigCoeffFlag为0,否则它为1。可以根据表7所示的若干个条件来设置变量LfnstZeroOutSigCoeffFlag。
根据示例,表5中的变量LfnstDcOnly在全部最后有效系数都位于具有值为1的相应编码块标志(CBF)(如果块中存在至少有一个有效系数则为1,否则为0)的变换块的DC位置(左上位置)时变为1,否则它变为0。更具体地,在双树亮度的情况下,针对一个亮度变换块检查最后一个有效系数的位置,并且在双树色度的情况下,对Cb的变换块和Cr的变换块二者检查最后有效系数的位置。在单树的情况下,针对亮度、Cb和Cr的变换块,可以检查最后有效系数的位置。
在表5中,MtsZeroOutSigCoeffFlag初始被设置为1,并且在表7的残差编码中这个值可以改变。如果在由于清零用零填充的区域内存在有效系数(LastSignificantCoeffX>15||LastSignificantCoeffY>15),则变量MtsZeroOutSigCoeffFlag从1变为0。在这种情况下,如表5所示,不发信号通知MTS索引。
此外,如表5所示,当tu_cbf_luma[x0][y0]为0时,可以省略mts_idx[x0][y0]编码。也就是说,如果亮度分量的CBF值为0,则由于没有应用变换,因此不需要发信号通知MTS索引,使得可以省略MTS索引编码。
根据示例,技术特征可以用另一种条件句法来实现。例如,在执行MTS之后,可以推导指示在当前块的除了DC区域之外的区域是否存在有效系数的变量,如果该变量指示在除了DC区域之外的区域中存在有效系数,则可以发信号通知MTS索引。也就是说,在当前块的除了DC区域之外的区域中存在有效系数指示tu_cbf_luma[x0][y0]值为1,并且在这种情况下,可以发信号通知MTS索引。
该变量可以表示为MtsDcOnly,并且在变量MtsDcOnly在编码单元级别初始被设置为1之后,当残差编码级别指示在当前块的除了DC区域之外的区域中存在有效系数时值可以改变为0。当变量MtsDcOnly为0时,图像信息可以被配置为使得发信号通知MTS索引。
如果tu_cbf_luma[x0][y0]为0,则因为残差编码语法没有在表6的变换单元级别调用所以变量MtsDcOnly保持初始值1。在这种情况下,由于变量MtsDcOnly没有改变为0,因此图像信息可以被配置为使得不发信号通知MTS索引。也就是说,不解析和发信号通知MTS索引。
此外,解码设备可以确定变换系数的颜色索引cIdx,以推导表7的变量MtsZeroOutSigCoeffFlag。颜色索引cIdx为0表示亮度分量。
根据示例,由于MTS可以仅应用于当前块的亮度分量,所以解码设备可以在推导确定是否解析MTS索引的变量MtsZeroOutSigCoeffFlag时确定颜色索引是否为亮度。
变量MtsZeroOutSigCoeffFlag是指示在应用MTS时是否执行清零的变量。它指示在执行MTS之后由于清零可以存在最后有效系数的左上区域之外的区域(即,除了左上16×16区域之外的区域中)是否存在变换系数。如表5所示变量MtsZeroOutSigCoeffFlag在编码单元级别初始被设置为1(MtsZeroOutSigCoeffFlag=1),并且如果在除了16×16区域之外的区域中存在变换系数,则在残差编码处该值从1改变为0,如表7所示可以改变(MtsZeroOutSigCoeffFlag=0)。如果变量MtsZeroOutSigCoeffFlag的值为0,则不发信号通知MTS索引。
如表7所示,在残差编码级别,可以依据是否执行伴随MTS的清零,而设置可以存在非零变换系数的非清零区域,即使在这种情况下,当颜色索引(cIdx)为0时,非清零区域可以设置为当前块的左上16×16区域。
以此方式,在推导用于确定是否解析MTS索引的变量时,确定颜色分量是亮度还是色度。然而,由于LFNST可以应用于当前块的亮度分量和色度分量二者,所以在推导确定是否解析LFNST索引的变量时不确定颜色分量。
例如,表5示出了变量LfnstZeroOutSigCoeffFlag,它可以指示在应用LFNST时执行清零。变量LfnstZeroOutSigCoeffFlag指示在当前块的除了位于左上的第一区域之外的第二区域是否存在有效系数。该值初始被设置为1,并且如果在第二区域中存在有效系数,则该值可以改变为0。可以仅在初始设置的变量LfnstZeroOutSigCoeffFlag的值保持为1时,才解析LFNST索引。当确定并推导变量LfnstZeroOutSigCoeffFlag值是否为1时,由于LFNST可以应用于当前块的亮度分量和色度分量二者,因此不确定当前块的颜色索引。
此外,根据示例发信号通知LFNST索引的编码单元的语法表如下。
[表8]
在表8中,lfnst_idx表示LFNST索引,并且可以具有值0、1和2,如上所述。如表8所示,仅在满足条件(!intra_mip_flag[x0][y0]||Min(lfnstWidth,lfnstHeight)>=16)时才发信号通知lfnst_idx。这里,intra_mip_flag[x0][y0]是指示基于矩阵的帧内预测(MIP)模式是否应用于(x0,y0)坐标所属的亮度块的标志。如果MIP模式应用于亮度块,则该值为1,而如果不应用,则该值为0。
lfnstWidth和lfnstHeight指示对于当前正在被编码的编码块(包括亮度编码块和色度编码块二者)应用LFNST的宽度和高度。当ISP应用于编码块时,它可以指示被划分为两个或四个的每个分区块的宽度和高度。
另外,在以上条件中,当在应用MIP时Min(lfnstWidth,lfnstHeight)>=16等于或大于16×16块(例如,应用MIP的亮度编码块的宽度和高度二者都等于或大于16)时,它指示可以应用LFNST。下面简要介绍与表5中的描述不重复的表8中包含的主要变量的含义。
1.IntraSubPartitionsSplitType:它指示对于当前编码单元如何形成ISP分区,并且ISP_NO_SPLIT表示对应的编码单元不是被分割成分区块的编码单元。ISP_VER_SPLIT指示垂直分割,而ISP_HOR_SPLIT指示水平分割。例如,当W×H(宽度W,高度H)块被水平分割成n个分区块时,它被分割成W×(H/n)块,并且当W×H(宽度W,高度H)块被垂直分割成n个分区块时,它被分割成(W/n)×H个块。
2.SubWidthC、SubHeightC:SubWidthC和SubHeightC是根据颜色格式(或色度格式,例如4:2:0、4:2:2、4:4:4)设置的值,并且更具体地,它分别指示亮度分量和色度分量的宽度和高度的比例。(见下表)
[表9]
色度格式 | SubWidthC | SubHeightC |
单色 | 1 | 1 |
4:2:0 | 2 | 2 |
4:2:2 | 2 | 1 |
4:4:4 | 1 | 1 |
4:4:4 | 1 | 1 |
3.NumIntraSubPartitions:它指示当应用ISP时划分成多少个分区块。也就是说,它指示该分区被划分为NumIntraSubPartitions个分区块。
4.LfnstDcOnly:对于属于当前编码单元的所有变换块,每个最后非零系数位置是DC位置(即,对应变换块内的左上位置)或者当不存在有效系数时(即,当对应的CBF值为0),LnfstDCOnly变量的值变为1。
在亮度单树或亮度双树的情况下,通过仅针对对应编码单元中与亮度分量相对应的变换块检查条件来确定LfnstDcOnly变量值,并且在色度单树或色度双树的情况下,可以通过仅针对对应编码单元中与色度分量(Cb,Cr)相对应的变换块检查条件来确定LfnstDcOnly变量值。在单树情况下,可以通过针对对应编码单元中与亮度分量和色度分量(Cb,Cr)对应的所有变换块检查以上条件来确定LfnstDcOnly变量值。
5.LfnstZeroOutSigCoeffFlag:在应用LFNST时,如果仅在可以存在有效系数的区域中存在有效系数,则它可以被设置为1;否则,它可以被设置为0。
在4×4变换块或8×8变换块的情况下,可以根据扫描顺序从对应变换块中的(0,0)位置(左上)开始定位多达8个有效系数,并且对于对应变换块中的其余位置,被清零。在不是4×4和8×8且其宽度和高度分别等于或大于4的变换块(即,可以应用LFNST的变换块)的情况下,可以根据扫描顺序从对应变换块中的(0,0)位置(左上)开始定位16个有效系数(即,有效系数可以仅位于左上4×4块内),并且对于对应的变换块中的其余位置,可以进行清零。
另外,如表8所示,当在分割树或双树中被编码时,在发信号通知LFNST索引时不检查MIP是否应用于色度分量。这样,LFNST可以适当地应用于色度分量。
如表8所示,当满足条件(treeType==DUAL_TREE_CHROMA||!intra_mip_flag[x0][y0]||Min(lfnstWidth,lfnstHeight)>=16))))时,发信号通知LFNST索引。这意味着在树类型是双树色度类型(treeType==DUAL_TREE_CHROMA),未应用MIP模式(!intra_mip_flag[x0][y0]),或者应用LFNST的块的宽度和高度中的较小者为16或更大(Min(lfnstWidth,lfnstHeight)>=16))时,发信号通知LFNST索引。也就是说,当编码块是双树色度时,在不确定是否应用了MIP模式或应用LFNST的块的宽度和高度的情况下,发信号通知LFNST索引。
另外,以上条件可以解释为如果编码块不是双树色度且未应用MIP,则在不确定应用LFNST的块的宽度和高度的情况下,发信号通知LFNST索引。
另外,在编码块不是双树色度并且应用了MIP时,它可以解释为当应用LFNST的块的宽度和高度中的较小者为16或更大时,可以发信号通知LFNST索引。
另一方面,只有如表8所示在变换跳过不应用于亮度分量时(也就是说,在满足条件transform_skip_flag[x0][y0][0]==0时),发信号通知LFNST索引。
这里,x0和y0表示当对于亮度分量在图片中左上位置为(0,0)以及水平X坐标从左到右增加并且垂直Y坐标从上到下增加时的(x0,y0)坐标。
(x0,y0)是基于亮度分量的坐标,但也可以用于色度相位分量。在这种情况下,(x0,y0)坐标所指示的实际位置可以针对色度分量基于图片而缩放。例如,当色度格式为4:2:0时,(x0,y0)所指示的色度分量在图片上的实际位置可以为(x0/2,y0/2)。例如,当色度格式为4:2:0时,(x0,y0)所指示的色度分量在图片上的实际位置可以为(x0/2,y0/2)。
在transform_skip_flag[x0][y0][0]中,最后索引0是指亮度分量。更具体地说,在transform_skip_flag[x0][y0][cIdx]中,cIdx是指它所针对的那个分量,并且如果cIdx值为0,cIdx值为0指示亮度,而cIdx大于0(1或2)指示色度。
另外,变量LfnstDcOnly被初始化为值1,如表8所示,并且可以根据用于残差编码的解析函数中的条件而被设置为0,如下表所示。
[表10]
如表10所示,LfnstDcOnly值仅在transform_skip_flag[x0][y0][cIdx]值为0时(也就是说,仅在变换跳过不应用于cIdx所指示的分量时),才可以被设置为0。如果它不是ISP模式,如表8所示,仅在LfnstDcOnly值为0时才发信号通知LFNST索引,而在不发信号通知LFNST索引时,LFNST索引值可以被推断为0。
作为参考,在执行表8中调用的transform_tree时调用表10中呈现的残差编码函数,并且对于单树,针对亮度(cIdx=0)和色度(cIdx=1或2,对应于Cb分量和Cr分量)的残差编码函数全部被调用,并且对于双树,在亮度双树(DUAL_TREE_LUMA)的情况下仅调用亮度的残差编码函数(cIdx=0),而在色度双树(DUAL_TREE_CHROMA)的情况下,仅调用色度的残差编码函数(cIdx=1或2,对应于Cb和Cr分量)。
对于不在ISP模式下的情况发信号通知LFNST索引的条件总结如下(这里,可以假设满足要发信号通知LFNST索引的其它条件,例如,假定满足条件Max(cbWidth,cbHeight)<=MaxTbSizeY)。
1.当transform_skip_flag[x0][y0][0]为1时
-LFNST索引被推断为0而不发信号通知
2.当transform_skip_flag[x0][y0][0]为0时
2-A.当transform_skip_flag[x0][y0][1]为0且transform_skip_flag[x0][y0][2]为0时
-在表10中,针对所有cIdx(对于cIdx 0、1、2),LfnstDcOnly值可以被设置为0
-如果LfnstDcOnly值为0,则发信号通知LFNST索引;否则,不发信号通知LFNST索引,并值被推断为0。
2-B.当transform_skip_flag[x0][y0][1]为0且transform_skip_flag[x0][y0][2]为1时
-在表10中,仅在cIdx为0和1时,LfnstDcOnly值可以被设置为0
-如果LfnstDcOnly值为0,则发信号通知LFNST索引;否则,不发信号通知LFNST索引,并且值被推断为0。
2-C.当transform_skip_flag[x0][y0][1]为1且transform_skip_flag[x0][y0][2]为0时
-在表10中,仅在cIdx为0和2时,LfnstDcOnly值可以被设置为0
-如果LfnstDcOnly值为0,则发信号通知LFNST索引;否则,不发信号通知LFNST索引,并且值被推断为0。
2-D.当transform_skip_flag[x0][y0][1]为1且transform_skip_flag[x0][y0][2]为1时
-在表10中,仅在cIdx为0时,LfnstDcOnly值可以被设置为0
-如果LfnstDcOnly值为0,则发信号通知LFNST索引;否则,不发信号通知LFNST索引,并且值被推断为0。
在单树的情况下,针对以上情况检查transform_skip_flag[x0][y0][0]、transform_skip_flag[x0][y0][1]、transform_skip_flag[x0][y0][2]的值,在亮度双树的情况下,仅检查transform_skip_flag[x0][y0][0],而在色度双树的情况下,检查transform_skip_flag[x0][y0][1]和transform_skip_flag[x0][y0][2]的值。
在ISP模式(表8中IntraSubPartitionsSplitType!=ISP_NO_SPLIT条件,即,水平划分或垂直划分)的情况下,如表8所示,不检查LfnstDcOnly变量,并且发信号通知LFNST索引。
因此,在亮度双树和单树下的ISP模式的情况下,无论LfnstDcOnly变量的值如何,当transform_skip_flag[x0][y0][0]值为0(对于亮度分量不应用变换跳过)时,发信号通知LFNST索引(当不发信号通知LFNST索引时,LFNST索引值可以被推断为0)。
在色度双树的情况下,基于在当前VVC标准中ISP预测仅应用于亮度的事实,认为ISP没有应用于色度,并且可以通过在以上方法中检查LfnstDcOnly变量来发信号通知LFNST索引,并且如表10所示,仅在transform_skip_flag[x0][y0][cIdx]值为0时,LfnstDcOnly变量可以被设置为0。
当然,ISP模式到亮度的应用甚至会影响色度双树,因此即使在色度双树的情况下,与LfnstDcOnly变量无关,在transform_skip_flag[x0][y0][0]值为0时发信号通知LFNST索引。
当应用ISP模式且transform_skip_flag[x0][y0][0]值为0时发信号通知LFNST索引的条件总结如下。如果transform_skip_flag[x0][y0][0]值为1,则不发信号通知LFNST索引并LFNST索引被推断为0。当然,可以假设满足表8中发信号通知LFNST索引所需的其它条件,例如,可以假设满足诸如Max(cbWidth,cbHeight)<=MaxTbSizeY之类的条件。
1.在单树的情况下
-无论LfnstDcOnly变量值如何,发信号通知LFNST索引
2.在双树的情况下
2-A.在亮度双树的情况下
-无论LfnstDcOnly变量值如何,发信号通知LFNST索引
2-B.在色度双树的情况下
-根据transform_skip_flag[x0][y0][1]和transform_skip_flag[x0][y0][2]的值,当LfnstDcOnly变量值被设置为0时,也就是说,transform_skip_flag[x0][y0][cIdx]中的cIdx值为1,LfnstDcOnly变量值仅在transform_skip_flag[x0][y0][1]值为0时可以被设置为0,而在cIdx值为2时,LfnstDcOnly变量值可以仅在transform_skip_flag[x0][y0][2]值为0时可以被设置为0。
-如果LfnstDcOnly值为0,则发信号通知LFNST索引;否则,不发信号通知LFNST索引,并且值被推断为0。
在以上情况下,色度双树的情况与不应用ISP的情况相同。
此外,根据示例,虽然在当前VVC标准中允许针对色度分量进行变换跳过,但是如下表所示,添加了与每个色度分量相对应的变换跳过标志。
[表11]
在表11中,除了亮度双树的情况之外,可以确认可以发信号通知与变换跳过是否应用于Cb相对应的transform_skip_flag[xC][yC][1]和与变换跳过是否应用于Cr相对应的transform_skip_flag[xC][yC][2]。如果transform_skip_flag[xC][yC][1]值为1,则变换跳过应用于Cb,并且如果它为0,则变换跳过不应用于Cb,并且如果transform_skip_flag[xC][yC][2]值为1,则变换跳过应用于Cr,而如果它为0,则变换跳过不应用于Cr。
因此,即使LFNST索引值大于0(即,在应用LFNST时),对于亮度分量(Y分量)和色度分量(Cb分量和Cr分量)的每个transform_skip_flag[x0][y0][cIdx]值可以不同。根据表8,由于LFNST索引值仅在transform_skip_flag[x0][y0][0]值为0时才可以大于0,因此当LFNST索引值大于0时,transform_skip_flag[x0][y0][0]始终为零。
因此,根据transform_skip_flag[x0][y0][cIdx]值可以应用LFNST的情况总结如下。这里,LFNST索引大于0,且transform_skip_flag[x0][y0][0]值为0。可以假设满足应用LFNST的其它条件,例如,对应块的宽度和高度二者可以大于或等于4。
1.单树
-LFNST应用于亮度分量
-如果transform_skip_flag[x0][y0][1]值为0,则LFNST应用于Cb分量,而如果它为1,则LFNST不应用于Cb分量。
-如果transform_skip_flag[x0][y0][2]值为0,则LFNST应用于Cr分量,并且如果它为1,则LFNST不应用于Cr分量。
2.亮度双树
-LFNST应用于亮度分量
3.色度双树
-如果transform_skip_flag[x0][y0][1]值为0,则LFNST应用于Cb分量,而如果它为1,则LFNST不应用于Cb分量。
-如果transform_skip_flag[x0][y0][2]值为0,则LFNST应用于Cr分量,而如果它为1,则LFNST不应用于Cr分量。
如上所述,为了根据transform_skip_flag[x0][y0][cIdx]值选择性地应用LFNST,应向LFNST的规范文本中添加以下条件。
[表12]
如表12所示,当LFNST索引(lfnst_idx)值不为0时(即,当应用LFNST时),通过检查由cIdx指定的分量的transform_skip_flag[xTbY][yTbY][cIdx]值(当lfnst_idx不等于0且transform_skip_flag[xTbY][yTbY][cIdx]等于0且nTbW和nTbH二者都大于或等于4时,应用以下),可以配置为使得仅在transform_skip_flag[xTbY][yTbY][cIdx]值为0(即,应用LFNST)时,才执行后续编码过程。
此外,可以根据针对每个颜色分量是否跳过变换,来发信号通知LFNST索引。
作为示例,当与表8相比时,在表13中,仅当transform_skip_flag[x0][y0][0]值为0时,可以去除用于发送LFNST索引的条件。
[表13]
然而,由于表13中描述的设置LfnstDcOnly变量值的方法与表10中的相同,因此根据transform_skip_flag[x0][y0][cIdx]值而改变LfnstDcOnly变量值的设置,并且最后是否发信号通知LFNST索引也将改变。
当不应用ISP模式时,通过transform_skip_flag[x0][y0][cIdx]值如何发信号通知LFNST索引总结如下。可以假设已经满足用于发信号通知LFNST索引的其它条件,例如,满足诸如Max(cbWidth,cbHeight)<=MaxTbSizeY之类的条件。
1.在单树的情况下
-当transform_skip_flag[x0][y0][0]值为0时,LfnstDcOnly变量值可以根据表10中所示方法被设置为0。
-当transform_skip_flag[x0][y0][1]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当transform_skip_flag[x0][y0][2]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当LfnstDcOnly值为0时,可以发信号通知LFNST索引。如果未发信号通知LFNST索引,则它可以被推断为0。
2.在亮度分量双树的情况下
-当transform_skip_flag[x0][y0][0]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当LfnstDcOnly值为0时,可以发信号通知LFNST索引。如果未发信号通知LFNST索引,则它可以被推断为0。
3.在色度分量双树的情况下
-当transform_skip_flag[x0][y0][1]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当transform_skip_flag[x0][y0][2]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当LfnstDcOnly值为0时,可以发信号通知LFNST索引。如果没有发信号通知LFNST索引,则它可以被推断为0。
如表13所示,LfnstDcOnly值被初始化为1,并且在双树的情况下,可以分开发信号通知与亮度双树相对应的LFNST索引和与色度双树相对应的LFNST索引。这意味着可以对亮度和色度应用不同的LFNST核。
另外,表8至表13所示的双树可以包括在当前VVC规范文档中出现的DUAL_TREE_LUMA(对应于亮度分量)和DUAL_TREE_CHROMA(对应于色度分量),其可以包括用于亮度的语法解析树和用于色度的语法解析树由于编码单元的大小条件等而不同。例如,可以包括单树的情况。
当应用ISP模式时,不发信号通知transform_skip_flag[x0][y0][0],并且transform_skip_flag[x0][y0][0]被推断为0,如表11所示。也就是说,如表11所示,仅在满足条件IntraSubPartitionsSplit[x0][y0]==ISP_NO_SPLIT(其是没有应用ISP模式的情况)时发信号通知transform_skip_flag[x0][y0]][0]。
另外,如表11所示,无论是否应用ISP模式,可以发信号通知transform_skip_flag[x0][y0][1]和transform_skip_flag[x0][y0][2]。
因此,对于应用ISP模式的情况下的LFNST信令可以总结如下。可以假设已经满足发送LFNST索引的其它条件,例如可以满足诸如Max(cbWidth,cbHeight)<=MaxTbSizeY之类的条件。
1.在单树的情况下
-可以发信号通知LFNST索引。如果没有发信号通知LFNST索引,则它可以被推断为0。
2.在亮度分量双树的情况下
-可以发信号通知LFNST索引。如果没有发信号通知LFNST索引,则它可以被推断为0。
3.在色度分量双树的情况下
-当transform_skip_flag[x0][y0][1]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当transform_skip_flag[x0][y0][2]值为0时,LfnstDcOnly变量值可以根据表10中所示的方法被设置为0。
-当LfnstDcOnly值为0时,可以发信号通知LFNST索引。如果没有发信号通知LFNST索引,则它可以被推断为0。
当应用ISP模式时,不检查LfnstDcOnly条件,如表13所示。因此,在第一单树和第二亮度分量双树的情况下,可以在不检查LfnstDcOnly条件的情况下发信号通知LFNST索引。在色度双树的情况下,可以根据与以上情况3中不应用ISP模式的情况相同的条件来发信号通知LFNST索引。也就是说,可以根据LfnstDcOnly条件发信号通知LFNST索引。
根据示例,由于transform_skip_flag[x0][y0][cIdx]值可以分别被指派给亮度分量和两个色度分量,当LFNST索引值大于0时,也就是说,即使当应用了LFNST时,仅在transform_skip_flag[x0][y0][cIdx]值为0时,才可以对cIdx所指示的分量应用LFNST。相应改变后的规范文本内容与表12相同。
根据示例,如果去除了与表8相比仅针对双树情况检查transform_skip_flag[x0][y0][0]值是否为0的条件,则LFNST索引信令可以被配置为如表14所示。表14所示的LfnstDcOnly变量可以根据表10中所示的条件被设置为0。
[表14]
如表14所示地配置时,在单树情况下,可以应用表8至表10中所示的LFNST索引信令方法,而在双树的情况下,可以应用表13所示的方法。另外,由于transform_skip_flag[x0][y0][cIdx]值分别被指派给亮度分量和两个色度分量,如表8至表10所示,即使LFNST索引值大于0(即,当应用LFNST时),它可以被配置为仅当transform_skip_flag[x0][y0][cIdx]值为0时才对cIdx所指示的分量应用LFNST。相应改变后的规范文本内容与表12中的相同。
创建以下附图以说明本说明书的具体示例。由于附图中描述的特定装置的名称或特定信号/消息/字段的名称以示例的方式呈现,因此本说明书的技术特征不限于以下附图中使用的特定名称。
图15是例示根据本公开的实施方式的视频解码设备的操作的流程图。
图15中所公开的每个步骤是基于以上图4至图14中描述的一些内容。因此,将省略或简化与以上在图3至图14中描述的内容重复的详细描述。
根据实施方式的解码设备300可以从比特流接收关于帧内预测模式的信息、残差信息和LFNST索引(S1510)。
更具体地,解码设备300可以从比特流中解码关于当前块的量化变换系数的信息,并且基于关于当前块的量化变换系数的信息推导目标块的量化变换系数。关于目标块的量化变换系数的信息可以包括在序列参数集(SPS)或条带报头中,并且可以包括关于简化因子的信息、关于应用简化变换的最小变换大小的信息、关于应用简化变换的最大变换大小的信息、以及关于指示变换集中所包括的变换核矩阵和简化逆变换大小中的任一个的变换索引的信息中的至少一种。
另外,解码设备还可以接收关于当前块的帧内预测模式的信息以及关于ISP是否应用于当前块的信息。解码设备可以通过接收和解析指示是否应用ISP编码或ISP模式的标志信息,来推导当前块是否被划分为预定数量的子分区变换块。这里,当前块可以是编码块。此外,解码设备可以通过指示当前块要在哪个方向被划分的标志信息,来推导划分后的子分区块的大小和数量。
解码设备300可以通过对关于当前块的残差信息(即,量化变换系数)执行逆量化来推导变换系数(S1520)。
推导出的变换系数可以以4×4块为单位按照逆对角扫描顺序布置,4×4块内的变换系数也可以按照逆对角扫描顺序布置。也就是说,可以根据在视频编解码器(诸如在VVC或HEVC中的)中应用的逆扫描顺序来布置已经执行了逆量化的变换系数。
解码设备可以通过向变换系数应用LFNST来推导修改的变换系数。
与在垂直方向或水平方向上分离并变换变换目标系数的第一变换不同,LFNST是非分离的变换,其应用变换而无需在特定方向上分离系数。该非分离的变换可以是将正向变换仅应用于低频区域而不是整个块区域的低频非分离的变换。
LFNST索引信息可以作为语法信息而被接收,语法信息可以作为包括0和1的二值化bin串被接收。
根据本实施方式的LFNST索引的语法元素可以指示是否应用逆LFNST或逆非分离的变换以及变换集中包括的变换核矩阵中的任一个,并且当变换集中包括两个变换核矩阵时,变换索引的语法元素可以有三个值。
也就是说,根据实施方式,LFNST索引的语法元素值可以包括:0,其指示逆LFNST不应用于目标块的情况;1,其指示变换核矩阵当中的第一变换核矩阵;以及2,其指示变换核矩阵当中的第二变换核矩阵。
可以在编码单元级别发信号通知帧内预测模式信息和LFNST索引信息。
为了确定是否针对当前块解析LFNST索引,解码设备可以根据当前块的树类型推导指示是否将ISP应用于当前块或者在当前块的DC分量中是否存在有效系数的变量,并且可以基于当前块的颜色分量的各自变换跳过标志值来推导该变量(S1530)。
基于当前块是单一类型或双树亮度并且ISP被应用,可以与变量的值无关地解析LFNST索引,并且在当前块是双树色度或者ISP未应用于当前块时,可以基于变量指示有效系数存在于不是DC分量的位置而解析LFNST索引。
指示在当前块的DC分量中是否存在有效系数的变量可以表示为变量LfnstDcOnly,并且对于一个编码单元中的至少一个变换块,当在非DC分量处存在非零系数时变为0,并且对于一个编码单元中的所有变换块当在除DC分量之外的位置不存在非零系数时变为1。在本公开中,DC分量是指作为2D分量的位置基准的左上位置或(0,0)。
在一个编码单元内可以存在若干个变换块。例如,在色度分量的情况下,可以存在Cb和Cr的变换块,而在单树类型的情况下,可以存在亮度、Cb和Cr的变换块。根据示例,当即使在构成当前编码块的变换块当中的一个变换块中找到除了DC分量位置之外的非零系数时,变量LnfstDcOnly的值可以设置为0。
此外,由于如果变换块中不存在非零系数,则不对对应的变换块执行残差编码,因此变量LfnstDcOnly值不会被对应的变换块改变。因此,如果在变换块的非DC分量中不存在非零系数,则变量LfnstDcOnly值不会改变并且保持先前值。例如,当编码单元按照单树类型被编码并且变量LfnstDcOnly值由于亮度变换块而改变为0时,当非零系数仅存在于Cb变换块中的DC分量中或者在Cb变换块中不存在非零系数时,变量LfnstDcOnly值保持为0。变量LfnstDcOnly值初始被初始化为1,如果当前编码单元中没有分量将变量LfnstDcOnly值更新为0,则它原样保持值1,而当构成编码单元的变换块之一将变量LfnstDcOnly值设置为0时,它最终保持为0。
此外,可以基于当前块的颜色分量的各自变换跳过标志值来推导该变量LfnstDcOnly。可以针对每个颜色分量发信号通知当前块的变换跳过标志,并且如果当前块的树类型是单树,亮度分量的变换跳过标志值,则可以基于亮度分量的变换跳过标志值、色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值来推导变量LfnstDcOnly。另选地,如果当前块的树类型是双树亮度,则基于亮度分量的变换跳过标志值来推导变量LfnstDcOnly,而如果当前块的树类型是双树色度,则可以基于色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值来推导变量LfnstDcOnly。
根据示例,基于颜色分量的变换跳过标志值为0,变量LfnstDcOnly可以指示在除了DC分量之外的位置存在有效系数。也就是说,如果当前块的树类型是单树,亮度分量的变换跳过标志值,则变量LfnstDcOnly可以基于亮度分量的变换跳过标志值、色度Cb分量的变换跳过标志值、和色度Cr分量的变换跳过标志值中的至少一个值为0的事实而被推导为0。另选地,如果当前块的树类型是双树亮度,则基于亮度分量的变换跳过标志值来推导变量LfnstDcOnly,并且如果当前块的树类型是双树色度,则可以基于色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值推导变量LfnstDcOnly。
如上所述,变量LfnstDcOnly可以在当前块的编码单元级别初始被设置为1,而如果变换跳过标志值为0,则变量LfnstDcOnly可以在残差编码级别被改变为0。
此外,如上所述,在可以应用帧内子分区(ISP)模式的亮度块的情况下,解码设备可以在不推导变量LfnstDcOnly的情况下解析LFNST索引。
具体来说,当应用了ISP模式并且亮度分量的变换跳过标志(即,transform_skip_flag[x0][y0][0]值)为0,当前块的树类型为单树或者亮度双树时,可以发信号通知LFNST索引,而与变量LfnstDcOnly值无关。
另一方面,在没有应用ISP模式的色度分量的情况下,可以根据作为色度Cb分量的变换跳过标志的transform_skip_flag[x0][y0][1]和作为色度Cr分量的变换跳过标志的transform_skip_flag[x0][y0][2],将变量LfnstDcOnly值设置为0。也就是说,在transform_skip_flag[x0][y0][cIdx]中,当cIdx值为1时,仅当transform_skip_flag[x0][y0][1]值为0时,变量LfnstDcOnly值可以被设置为0,而当cIdx值为2时,transform_skip_flag[x0][y0][2]值仅在transform_skip_flag[x0][y0][2]值为0时可以被设置为0。如果变量LfnstDcOnly值为0,则解码设备可以解析LFNST索引,否则LFNST索引可以不被发信号通知并且可以被推断为值0。
此后,解码设备可以基于LFNST索引和用于LFNST的LFNST矩阵从变换系数推导修改的变换系数(S1540)。
解码设备可以基于LFNST索引是否不为0(即,LFNST索引是否大于0)并且颜色分量的各自变换跳过标志值为0,来设置用于LFNST的多个变量。
例如,在解析LFNST索引之后应用LFNST的步骤中,解码设备可以再次确定颜色分量的各自变换跳过标志值是否为0,并且可以设置用于应用LFNST的各种变量。例如,可以设置用于选择LFNST集的帧内预测模式、在应用LFNST之后输出的变换系数的数量、应用LFNST的块的大小等。
在用BDPCM编码的块的情况下,变换跳过标志可以自动设置为1,并且在这种情况下,即使LFNST索引不为0,变换跳过标志也可以为1,因此当实际应用LFNST时,可以再次检查每个颜色分量的变换跳过标志值。
另选地,根据示例,当指示在变换块中是否存在编码有效系数的标志值为0时,可以存在不检查变换跳过标志值的情形。同样在这种情况下,由于不能仅仅因为LFNST索引不为0就保证变换跳过标志值为0,因此当实际应用LFNST时,可以再次检查每个颜色分量的变换跳过标志值。
也就是说,解码设备可以在LFNST索引解析步骤中检查每个颜色分量的变换跳过标志值,并且可以在实际应用LFNST时再次检查每个颜色分量的变换跳过标志值。
解码设备可以基于从帧内预测模式信息推导的帧内预测模式确定包括LFNST矩阵的LFNST集,并且基于LFNST集和LFNST索引选择多个LFNST矩阵中的任一个。
在这种情况下,相同的LFNST集和相同的LFNST索引可以应用于从当前块划分的子分区变换块。也就是说,因为相同的帧内预测模式被应用于子分区变换块,所以基于帧内预测模式确定的LFNST集可以被同等地应用于所有子分区变换块。此外,因为LFNST索引是在编码单元级别发信号通知的,所以可以将相同的LFNST矩阵应用于从当前块划分的子分区变换块。
如上所述,可以根据要变换的变换块的帧内预测模式来确定变换集,并且可以基于包括在由LFNST索引指示的变换集中的变换核矩阵(即,LFNST矩阵)中的任何一个来执行逆LFNST。应用于逆LFNST的矩阵可以被称为逆LFNST矩阵或LFNST矩阵,并且这样的矩阵可以具有任何名称,只要它与用于正向LFNST的矩阵具有转置关系即可。
在一个示例中,逆LFNST矩阵可以是其中列的数量小于行的数量的非正方形矩阵。
解码设备可以基于修改的变换系数的逆一次变换推导当前块的残差样本(S1550)。
在这种情况下,作为逆一次变换,可以使用传统的分离变换,并且可以使用上述MTS。
随后,解码设备300可以基于当前块的残差样本和当前块的预测样本来生成重构样本。
提供以下附图以描述本公开的具体示例。由于在附图中示出的装置的特定名称或特定信号/消息/字段的名称是为了例示而提供的,所以本公开的技术特征不限于在以下附图中使用的特定名称。
图16是例示根据本公开的实施方式的视频编码设备的操作的流程图。
图16中公开的每个步骤基于以上图4至图14中描述的一些内容。因此,将省略或简化与以上在图2以及图4至图14中描述的内容重复的详细描述。
根据实施方式的编码设备200可以基于应用于当前块的帧内预测模式来推导当前块的预测样本。
编码设备可以在对当前块应用ISP时针对每个子分区变换块执行预测。
编码设备可以确定是否对当前块(即,编码块)应用ISP编码或ISP模式,并根据确定结果确定当前块要在哪个方向被划分,并且推导划分后的子块的大小和数量。
对从当前块划分的子分区变换块应用相同的帧内预测模式,并且编码设备可以针对每个子分区变换块推导预测样本。也就是说,编码设备根据子分区变换块的划分形式,例如水平地或垂直地、从左到右或从上到下依次执行帧内预测。对于最左或最上的子块,在传统帧内预测方法中参考已经编码的编码块的重构像素。另外,对于后续内部子分区变换块的每个边,当其与先前子分区变换块不相邻时,为了推导与对应边相邻的参考像素,如传统帧内预测方法那样已经编码的相邻编码块是指重构像素。
编码设备200可以基于预测样本推导当前块的残差样本(S1610)。
编码设备200可以通过将LFNST和MTS中的至少一个应用于残差样本来推导当前块的变换系数,并且可以根据预定扫描顺序布置变换系数。
编码设备可以基于残差样本的一次变换来推导当前块的变换系数(S1620)。
可以如MTS一样通过多个变换核来执行一次变换,并且在这种情况下,可以基于帧内预测模式来选择变换核。
编码设备200可以确定是否对当前块的变换系数执行二次变换或者非分离的变换(具体地,LFNST),并将LFNST应用于变换系数以推导修改的变换系数。
与在垂直方向或水平方向上分离并变换变换目标系数的第一变换不同,LFNST是非分离的变换,其应用变换而无需在特定方向上分离系数。非分离的变换可以是将变换仅应用于低频区域而不是要变换的整个目标块的低频非分离的变换。
编码设备可以通过将多个LFNST矩阵应用于变换系数来推导指示在当前块的DC分量中是否存在有效系数的变量,并且根据示例,可以根据当前块的树类型基于指示是否将ISP应用于当前块或者在当前块的DC分量中是否存在有效系数的变量来推导修改的变换系数,并且可以基于当前块的颜色分量的各自变换跳过标志值来推导该变量(S1630)。
基于当前块是单一类型或双树亮度并且ISP被应用,编码设备可以将LFNST应用于当前块,并且在当前块是双树色度或者未应用ISP时,可以基于指示有效系数是否存在于DC分量中的变量而选择LFNST索引。
编码设备可以在对每个LFNST矩阵候选应用LFNST之后,或者在不应用LFNST时在没有应用LFNST的状态下推导变量。
具体地,编码设备可以应用多个LFNST候选(即,LFNST矩阵)以排除其中所有变换块的有效系数仅存在于DC位置中的对应LFNST矩阵(当然,在CBF为0时,从过程中排除对应的变量),并且仅在其中变量LfnstDcOnly值为0的LFNST矩阵之间比较RD值。例如,当不应用LFNST时,将其包括在比较过程中,因为它与变量LfnstDcOnly值无关(在这种情况下,由于没有应用LFNST,因此可以基于作为一次变换的结果而获得的变换系数来确定变量LfnstDcOnly值),并且在RD值的比较过程中也包括对应LfnstDcOnly值为0的LFNST矩阵。
指示在当前块的DC分量中是否存在有效系数的变量可以表示为变量LfnstDcOnly,并且对于一个编码单元中的至少一个变换块,当在非DC分量处存在非零系数时变为0,并且对于一个编码单元中的所有变换块,当在除DC分量之外的位置中不存在非零系数时变为1。
一个编码单元中可以存在若干个变换块。例如,在色度分量的情况下,可以存在Cb和Cr的变换块,而在单树类型的情况下,可以存在亮度、Cb和Cr的变换块。根据示例,当即使在构成当前编码块的变换块当中的一个变换块中找到除了DC分量位置之外的非零系数时,变量LnfstDcOnly值可以设置为0。
此外,由于如果在变换块中不存在非零系数,则不对对应变换块执行残差编码,因此变量LfnstDcOnly值不会被对应变换块改变。因此,如果在变换块的非DC分量中不存在非零系数,则变量LfnstDcOnly值不改变并且保持先前的值。例如,当编码单元按照单树类型被编码并且变量LfnstDcOnly值由于亮度变换块而被改变为0时,当非零系数仅存在于Cb变换块中的DC分量中或者在Cb变换块中不存在非零系数时,变量LfnstDcOnly值保持为0。变量LfnstDcOnly值初始被初始化为1,并且如果当前编码单元中没有分量将变量LfnstDcOnly值更新为0,则它原样保持值1,并且当构成编码单元的变换块之一将变量LfnstDcOnly值设置为0时,它最终保持为0。
此外,可以基于当前块的颜色分量的各自变换跳过标志值来推导该变量LfnstDcOnly。可以针对每个颜色分量发信号通知当前块的变换跳过标志,并且如果当前块的树类型是单树,亮度分量的变换跳过标志值、则可以基于亮度分量的变换跳过标志值、色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值推导变量LfnstDcOnly。另选地,如果当前块的树类型是双树亮度,则基于亮度分量的变换跳过标志值推导变量LfnstDcOnly,而如果当前块的树类型是双树色度,则可以基于色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值推导变量LfnstDcOnly。
根据示例,基于颜色分量的变换跳过标志值为0,变量LfnstDcOnly可以指示在除了DC分量之外的位置存在有效系数。也就是说,如果当前块的树类型是单树,亮度分量的变换跳过标志值,则变量LfnstDcOnly可以基于亮度分量的变换跳过标志值、色度Cb分量的变换跳过标志值、和色度Cr分量的变换跳过标志值中的至少一个为0的事实而被推导为0。另选地,如果当前块的树类型是双树亮度,则基于亮度分量的变换跳过标志值来推导变量LfnstDcOnly,并且如果当前块的树类型是双树色度,则可以基于色度Cb分量的变换跳过标志值和色度Cr分量的变换跳过标志值推导变量LfnstDcOnly。
如上所述,变量LfnstDcOnly可以在当前块的编码单元级别初始被设置为1,而如果变换跳过标志值为0,则变量LfnstDcOnly可以在残差编码级别被改变为0。
编码设备可以基于变量指示在除了DC分量之外的位置存在有效系数来选择最优的LFNST矩阵,并且可以基于所选择的LFNST矩阵推导修改的变换系数。
编码设备可以在推导修改的变换系数的步骤中基于颜色分量的各自变换跳过标志值是否为0来设置用于LFNST的多个变量。
例如,在确定是否应用LFNST之后,编码设备可以在应用LFNST的步骤中再次确定颜色分量的各自变换跳过标志值是否为0,并且可以设置用于应用LFNST的各种变量。例如,可以设置用于选择LFNST集的帧内预测模式、在应用LFNST之后输出的变换系数的数量、应用LFNST的块的大小等。
在通过BDPCM编码的块的情况下,由于变换跳过标志可以自动被设置为1,当实际应用LFNST时,可以再次检查每个颜色分量的变换跳过标志值。
另选地,根据示例,当指示在变换块中存在编码有效系数的标志值为0时,可以存在不检查变换跳过标志值的情形。同样在这种情况下,由于不能仅仅因为LFNST索引不为0就保证变换跳过标志值为0,因此当实际应用LFNST时,可以再次检查每个颜色分量的变换跳过标志值。
也就是说,编码设备可以在确定是否应用LFNST的步骤中检查每个颜色分量的变换跳过标志值,并且可以在实际应用LFNST时再次检查每个颜色分量的变换跳过标志值。
此外,如上所述,在可以应用帧内子分区(ISP)模式的亮度块的情况下,可以在无需推导变量LfnstDcOnly的情况下应用LFNST。
具体来说,当应用ISP模式并且针对亮度分量的变换跳过标志(即,transform_skip_flag[x0][y0][0]值)为0,当前块的树类型为单树或亮度双树时,无论变量LfnstDcOnly值如何,可以应用LFNST。
另一方面,在不应用ISP模式的色度分量的情况下,可以根据作为色度Cb分量的变换跳过标志的transform_skip_flag[x0][y0][1]和作为色度Cr分量的变换跳过标志的transform_skip_flag[x0][y0][2],将变量LfnstDcOnly值设置为0。也就是说,在transform_skip_flag[x0][y0][cIdx]中,当cIdx值为1时,仅当transform_skip_flag[x0][y0][1]值为0时,变量LfnstDcOnly值可以被设置为0,而当cIdx值为2时,transform_skip_flag[x0][y0][2]值仅在transform_skip_flag[x0][y0][2]值为0时可以被设置为0。如果变量LfnstDcOnly值为0,则编码设备可以应用LFNST,否则不应用LFNST。
编码设备200可以根据应用于当前块的帧内预测模式基于映射关系确定LFNST集,并基于包括在LFNST集中的两个LFNST矩阵之一执行LFNST,即,不可分离的变换。
在这种情况下,相同的LFNST集和相同的LFNST索引可以应用于从当前块划分的子分区变换块。也就是说,因为相同的帧内预测模式被应用于子分区变换块,所以基于帧内预测模式确定的LFNST集也可以被同等地应用于所有子分区变换块。此外,因为LFNST索引以编码单元为单位被编码,所以相同的LFNST矩阵可以应用于从当前块划分的子分区变换块。
如上所述,可以根据要变换的变换块的帧内预测模式确定变换集。应用于LFNST的矩阵与用于逆LFNST的矩阵具有转置关系。
在一个示例中,LFNST矩阵可以是其中行的数量小于列的数量的非正方形矩阵。
编码设备可以构造图像信息以使得基于以下事实来解析指示应用于LFNST的LFNST矩阵的LFNST索引:变量LfnstDcOnly在当前块的编码单元级别中初始被设置为1,并且当变换跳过标志值为0时变量LfnstDcOnly在残差编码级别被改变为0,并且变量LfnstDcOnly为0。
编码设备可以基于当前块的修改的变换系数执行量化以推导量化变换系数,并且对LFNST索引进行编码。
也就是说,编码设备可以生成包括关于量化变换系数的信息的残差信息。残差信息可以包括上述变换相关信息/语法元素。编码设备可以对包括残差信息的图像/视频信息进行编码并且以比特流的形式输出编码的图像/视频信息。
更具体地,编码设备200可以生成关于量化变换系数的信息并且对关于所生成的量化变换系数的信息进行编码。
根据本实施方式的LFNST索引的语法元素可以指示是否应用(逆)LFNST以及LFNST集中包括的任何一个LFNST矩阵,并且当LFNST集包括两个变换核矩阵时,LFNST索引的语法元素可以存在三个值。
根据实施方式,在当前块的划分树结构是双树类型时,可以为亮度块和色度块中的每一个编码LFNST索引。
根据实施方式,可以将变换索引的语法元素值推导为0、1和2,0指示不将(逆)LFNST应用于当前块的情况,1指示LFNST矩阵中的第一LFNST矩阵,并且2指示LFNST矩阵中的第二LFNST矩阵。
在本公开中,可以省略量化/解量化和/或变换/逆变换中的至少一者。当省略量化/解量化时,可以将量化变换系数称为变换系数。当省略变换/逆变换时,变换系数可以被称为系数或残差系数,或者为了表述一致性仍可以被称为变换系数。
另外,在本公开中,量化变换系数和变换系数可以分别被称为变换系数和缩放变换系数。在此情况下,残差信息可以包括关于变换系数的信息,并且可以通过残差编码语法发信号通知关于变换系数的信息。可以基于残差信息(或关于变换系数的信息)来推导变换系数,并且可以通过变换系数的逆变换(缩放)来推导缩放变换系数。可以基于缩放变换系数的逆变换(变换)来推导残差样本。这些细节也可以在本公开的其它部分中应用/表达。
在上述实施方式中,借助于一系列步骤或方框基于流程图解释了方法,但是本公开不限于步骤的顺序,并且可以按与上述顺序或步骤不同的顺序或步骤来执行某一步骤,或某一步骤与其它步骤并发地执行。此外,本领域普通技术人员可以理解,流程图中所示的步骤不是排它的,并且在不影响本公开的范围的情况下,可以并入另一步骤或者可以删除流程图中的一个或更多个步骤。
根据本公开的上述方法可以被实现为软件形式,并且根据本公开的编码设备和/或解码设备可以被包括在诸如电视、计算机、智能电话、机顶盒和显示装置等之类的用于图像处理的设备中。
当本公开中的实施方式通过软件来实施时,上述方法可以被实施为用于执行上述功能的模块(步骤、功能等)。这些模块可以存储在存储器中并且可以由处理器执行。存储器可以在处理器内部或外部,并且可以以各种众所周知的方式连接到处理器。处理器可以包括专用集成电路(ASIC)、其它芯片组、逻辑电路和/或数据处理装置。存储器可以包括只读存储器(ROM)、随机存取存储器(RAM)、闪存、存储卡、存储介质和/或其它存储装置。也就是说,本公开中描述的实施方式可以在处理器、微处理器、控制器或芯片上实施和执行。例如,每个附图中所示的功能单元可以在计算机、处理器、微处理器、控制器或芯片上实施和执行。
此外,应用本公开的解码设备和编码设备可以包括在多媒体广播收发器、移动通信终端、家庭影院视频装置、数字影院视频装置、监控相机、视频聊天装置、实时通信装置(诸如视频通信)、移动流装置、存储介质、摄像机、视频点播(VoD)服务提供装置、顶置(OTT)视频装置、互联网流服务提供装置、三维(3D)视频装置、视频电话视频装置、和医疗视频装置,并且可以用于处理视频信号或数据信号。例如,顶置(OTT)视频装置可以包括游戏机、蓝光播放器、互联网接入TV、家庭影院系统、智能电话、平板PC、数字视频记录仪(DVR)等。
另外,应用本公开的处理方法可以以由计算机执行的程序的形式来生产,并且可以存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括存储计算机可读数据的各种存储装置和分布式存储装置。计算机可读记录介质可以包括例如蓝光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,互联网上的传输)形式实施的介质。另外,通过编码方法所生成的比特流可以存储在计算机可读记录介质中,或者通过有线或无线通信网络来传输。另外,本公开的实施方式可以通过程序代码被实施为计算机程序产品,并且程序代码可以按照本公开的实施方式在计算机上执行。程序代码可以存储在计算机可读载体上。
图17例示了应用本公开的内容流系统的结构。
此外,应用本公开的内容流系统可以大致包括编码服务器、流服务器、web服务器、媒体存储装置、用户设备和多媒体输入装置。
编码服务器用于将从诸如智能电话、相机、摄像机等的多媒体输入装置输入的内容压缩成数字数据以生成比特流,并且向流服务器发送它。作为另一示例,在诸如智能电话、相机、摄像机等的多媒体输入装置直接生成比特流的情况下,可以省略编码服务器。可以通过应用本公开的编码方法或比特流生成方法来生成比特流。并且流服务器可以在发送或接收比特流的过程期间临时存储比特流。
流服务器基于用户的请求通过web服务器向用户装置发送多媒体数据,web服务器用作向用户通知存在什么服务的器具。当用户请求用户想要的服务时,web服务器将请求传送至流服务器,并且流服务器向用户发送多媒体数据。在此而言,内容流系统可以包括单独的控制服务器,并且在这种情况下,控制服务器用于控制内容流系统中的相应装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,在从编码服务器接收内容的情况下,可以实时地接收内容。在这种情况下,为了平稳地提供流服务,流服务器可以存储比特流达预定时间。
例如,用户装置可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航仪、板式PC、平板PC、超级本、可穿戴装置(例如,手表型终端(智能手表)、眼镜型终端(智能眼镜)、头戴式显示器(HMD))、数字TV、台式计算机、数字标牌等。内容流系统中的各个服务器可以作为分布式服务器操作,并且在这种情况下,由各个服务器接收到的数据可以用分布式方式进行处理。
本文所公开的权利要求可以以各种方式组合。例如,本公开的方法权利要求的技术特征可以被组合以在设备中实现或执行,并且设备权利要求的技术特征可以被组合以在方法中实现或执行。此外,方法权利要求和设备权利要求的技术特征可以被组合以在设备中实现或执行,并且方法权利要求和设备权利要求的技术特征可以被组合以在方法中实现或执行。
Claims (15)
1.一种由解码装置执行的图像解码方法,所述图像解码方法包括以下步骤:
从比特流接收残差信息;
基于所述残差信息推导当前块的变换系数;
通过将LFNST应用于所述变换系数来推导修改的变换系数;
基于所述修改的变换系数的逆一次变换来推导所述目标块的残差样本;以及
基于所述残差样本生成重构图片,
其中,推导所述修改的变换系数的步骤包括以下步骤:
根据所述当前块的树类型,基于是否将ISP应用于所述当前块或者指示有效系数是否存在于所述当前块的DC分量中的变量来解析LFNST索引,并且
其中,所述变量是基于所述当前块的颜色分量的各自变换跳过标志值而推导的。
2.根据权利要求1所述的图像解码方法,其中,基于所述当前块是单一类型或双树亮度并且所述ISP被应用,与所述变量的值无关地解析所述LFNST索引。
3.根据权利要求1所述的图像解码方法,其中,在所述当前块是双树色度时,基于所述变量指示在除了所述DC分量之外的位置存在所述有效系数来解析所述LFNST索引。
4.根据权利要求3所述的图像解码方法,其中,基于所述颜色分量的变换跳过标志的值为0,所述变量指示在除了所述DC分量之外的位置存在所述有效系数。
5.根据权利要求4所述的图像解码方法,其中,所述变量在所述当前块的编码单元级别初始被设置为1,并且
其中,当变换跳过标志值为0时,所述变量在残差编码级别被改变为0,并且
其中,所述LFNST索引基于所述变量为0而被解析。
6.根据权利要求4所述的图像解码方法,其中,在所述当前块的树类型是双树色度时,基于色度Cb分量的变换跳过标志的值和色度Cr分量的变换跳过标志的值来推导所述变量。
7.根据权利要求1所述的图像解码方法,其中,针对每个颜色分量发信号通知所述当前块的变换跳过标志。
8.根据权利要求1所述的图像解码方法,其中,推导所述修改的变换系数的步骤包括:基于所述LFNST索引是否不为0以及所述颜色分量的所述各自变换跳过标志值是否为0来设置用于所述LFNST的多个变量。
9.一种由图像编码设备执行的图像编码方法,所述图像编码方法包括以下步骤:
推导当前块的预测样本;
基于所述预测样本推导所述当前块的残差样本;
基于所述残差样本的一次变换推导所述当前块的变换系数;以及
应用LFNST以从所述变换系数推导修改的变换系数,
其中,所述修改的变换系数是根据所述当前块的树类型基于是否将ISP应用于所述当前块或者指示有效系数是否存在于所述当前块的DC分量中的变量而推导的,并且
其中,所述变量是基于所述当前块的颜色分量的各自变换跳过标志值而推导的。
10.根据权利要求9所述的图像编码方法,其中,基于所述当前块是单一类型或双树亮度并且所述ISP被应用,所述LFNST被应用于所述当前块。
11.根据权利要求7所述的图像编码方法,所述图像编码方法还包括:
在所述当前块的树类型是双树色度时,将多个LFNST矩阵应用于所述变换系数以推导指示有效系数是否存在于所述当前块的DC分量中的变量;
基于所述变量指示在除了所述DC分量之外的位置存在所述有效系数,在LFNST核当中选择最优的LFNST矩阵;以及
根据所选择的LFNST矩阵推导所述修改的变换系数。
12.根据权利要求11所述的图像编码方法,其中,基于所述颜色分量的变换跳过标志的值为0,所述变量指示在除了所述DC分量之外的位置存在所述有效系数。
13.根据权利要求12所述的图像编码方法,
其中,所述变量在所述当前块的编码单元级别初始被设置为1,
其中,如果变换跳过标志值为0,则所述变量在残差编码级别被改变为0,并且
其中,所述图像编码方法还包括以下步骤:
构造图像信息以使得LFNST索引基于所述变量为0而被解析。
14.根据权利要求11所述的图像编码方法,其中,在所述当前块的树类型是双树色度时,基于色度Cb分量的变换跳过标志的值和色度Cr分量的变换跳过标志的值来推导所述变量。
15.一种计算机可读数字存储介质,所述计算机可读数字存储介质存储用于使图像解码方法被执行的指示信息,其中,所述图像解码方法包括以下步骤:
从比特流接收残差信息;
基于所述残差信息推导当前块的变换系数;
通过将LFNST应用于所述变换系数来推导修改的变换系数;
基于所述修改的变换系数的逆一次变换来推导所述目标块的残差样本;以及
基于所述残差样本生成重构图片,
其中,推导所述修改的变换系数的步骤包括以下步骤:
根据所述当前块的树类型,基于是否将ISP应用于所述当前块或者指示有效系数是否存在于所述当前块的DC分量中的变量来解析LFNST索引,并且
其中,所述变量是基于所述当前块的颜色分量的各自变换跳过标志值而推导的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962935082P | 2019-11-13 | 2019-11-13 | |
US201962935053P | 2019-11-13 | 2019-11-13 | |
US62/935,053 | 2019-11-13 | ||
US62/935,082 | 2019-11-13 | ||
PCT/KR2020/015996 WO2021096290A1 (ko) | 2019-11-13 | 2020-11-13 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114946189A true CN114946189A (zh) | 2022-08-26 |
Family
ID=75913094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080092915.3A Pending CN114946189A (zh) | 2019-11-13 | 2020-11-13 | 基于变换的图像编码方法及其装置 |
Country Status (9)
Country | Link |
---|---|
US (2) | US20220394258A1 (zh) |
EP (1) | EP4060994A4 (zh) |
JP (2) | JP7461473B2 (zh) |
KR (1) | KR20220070245A (zh) |
CN (1) | CN114946189A (zh) |
AU (2) | AU2020382299B2 (zh) |
CA (2) | CA3161641C (zh) |
MX (1) | MX2022005517A (zh) |
WO (1) | WO2021096290A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2019275553B2 (en) * | 2019-12-03 | 2022-10-06 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a coding tree unit |
AU2019275552B2 (en) * | 2019-12-03 | 2022-10-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a coding tree unit |
WO2021115387A1 (en) * | 2019-12-12 | 2021-06-17 | Mediatek Inc. | Methods and apparatus for restricted secondary transform and signaling thereof in image coding |
JP7536876B2 (ja) | 2020-01-02 | 2024-08-20 | エルジー エレクトロニクス インコーポレイティド | ピクチャヘッダを含む映像情報をコーディングする映像デコーディング方法及びその装置 |
KR20220127937A (ko) | 2020-02-21 | 2022-09-20 | 엘지전자 주식회사 | 변환에 기반한 영상 코딩 방법 및 그 장치 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2114278A1 (en) * | 1994-01-26 | 1995-07-27 | J. Douglas Fletcher | Data monitoring apparatus and method |
WO2003027873A1 (fr) * | 2001-09-25 | 2003-04-03 | Japan Science And Technology Corporation | Procede de calcul parallele |
CN102291000A (zh) * | 2011-08-29 | 2011-12-21 | 上海新进半导体制造有限公司 | 开关电源集成电路 |
CN102867187A (zh) * | 2012-07-04 | 2013-01-09 | 西安电子科技大学 | Nsst域mrf与自适应阈值融合的遥感图像变化检测方法 |
US20160269730A1 (en) * | 2013-07-23 | 2016-09-15 | Research & Business Foundation Sungkyunkwan University | Method and apparatus for encoding/decoding image |
CN108141596A (zh) * | 2015-09-29 | 2018-06-08 | 高通股份有限公司 | 用于视频译码的非可分离二次变换 |
WO2018128322A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 영상 처리 방법 및 이를 위한 장치 |
WO2019117634A1 (ko) * | 2017-12-15 | 2019-06-20 | 엘지전자 주식회사 | 2차 변환에 기반한 영상 코딩 방법 및 그 장치 |
CN114930847A (zh) * | 2019-11-13 | 2022-08-19 | Lg电子株式会社 | 基于变换的图像编码方法及其装置 |
CN114930848A (zh) * | 2019-11-13 | 2022-08-19 | Lg电子株式会社 | 基于变换的图像编码方法及其设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2154894A1 (en) * | 2008-08-15 | 2010-02-17 | Thomson Licensing | Video coding with coding of the locations of significant coefficients in a block of coefficients |
US10931947B2 (en) * | 2016-05-04 | 2021-02-23 | Sharp Kabushiki Kaisha | Systems and methods for coding transform data |
KR101969933B1 (ko) * | 2018-05-28 | 2019-04-17 | 삼성전자주식회사 | 레지듀얼 블록의 부호화 방법 및 장치, 복호화 방법 및 장치 |
CN113748680B (zh) * | 2019-04-16 | 2024-01-02 | 寰发股份有限公司 | 视频编解码系统中编解码视频数据的方法及装置 |
AU2019275552B2 (en) * | 2019-12-03 | 2022-10-13 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a coding tree unit |
-
2020
- 2020-11-13 CN CN202080092915.3A patent/CN114946189A/zh active Pending
- 2020-11-13 MX MX2022005517A patent/MX2022005517A/es unknown
- 2020-11-13 KR KR1020227013218A patent/KR20220070245A/ko unknown
- 2020-11-13 WO PCT/KR2020/015996 patent/WO2021096290A1/ko unknown
- 2020-11-13 AU AU2020382299A patent/AU2020382299B2/en active Active
- 2020-11-13 JP JP2022527839A patent/JP7461473B2/ja active Active
- 2020-11-13 US US17/776,110 patent/US20220394258A1/en active Pending
- 2020-11-13 EP EP20887593.0A patent/EP4060994A4/en active Pending
- 2020-11-13 CA CA3161641A patent/CA3161641C/en active Active
- 2020-11-13 CA CA3220041A patent/CA3220041A1/en active Pending
-
2024
- 2024-03-22 JP JP2024046037A patent/JP2024079763A/ja active Pending
- 2024-05-14 AU AU2024203191A patent/AU2024203191A1/en active Pending
- 2024-06-25 US US18/753,511 patent/US20240357136A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2114278A1 (en) * | 1994-01-26 | 1995-07-27 | J. Douglas Fletcher | Data monitoring apparatus and method |
WO2003027873A1 (fr) * | 2001-09-25 | 2003-04-03 | Japan Science And Technology Corporation | Procede de calcul parallele |
CN102291000A (zh) * | 2011-08-29 | 2011-12-21 | 上海新进半导体制造有限公司 | 开关电源集成电路 |
CN102867187A (zh) * | 2012-07-04 | 2013-01-09 | 西安电子科技大学 | Nsst域mrf与自适应阈值融合的遥感图像变化检测方法 |
US20160269730A1 (en) * | 2013-07-23 | 2016-09-15 | Research & Business Foundation Sungkyunkwan University | Method and apparatus for encoding/decoding image |
CN108141596A (zh) * | 2015-09-29 | 2018-06-08 | 高通股份有限公司 | 用于视频译码的非可分离二次变换 |
WO2018128322A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자(주) | 영상 처리 방법 및 이를 위한 장치 |
CN110402580A (zh) * | 2017-01-03 | 2019-11-01 | Lg 电子株式会社 | 图像处理方法及其装置 |
WO2019117634A1 (ko) * | 2017-12-15 | 2019-06-20 | 엘지전자 주식회사 | 2차 변환에 기반한 영상 코딩 방법 및 그 장치 |
CN114930847A (zh) * | 2019-11-13 | 2022-08-19 | Lg电子株式会社 | 基于变换的图像编码方法及其装置 |
CN114930848A (zh) * | 2019-11-13 | 2022-08-19 | Lg电子株式会社 | 基于变换的图像编码方法及其设备 |
Non-Patent Citations (1)
Title |
---|
BENJAMIN BROSS ET AL: "Versatile Video Coding (Draft 7)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: GENEVA, CH, 1–11 OCT. 2019, 13 October 2019 (2019-10-13) * |
Also Published As
Publication number | Publication date |
---|---|
CA3161641C (en) | 2023-12-19 |
EP4060994A1 (en) | 2022-09-21 |
KR20220070245A (ko) | 2022-05-30 |
JP7461473B2 (ja) | 2024-04-03 |
EP4060994A4 (en) | 2023-12-13 |
CA3220041A1 (en) | 2021-05-20 |
CA3161641A1 (en) | 2021-05-20 |
AU2020382299A1 (en) | 2022-06-02 |
US20220394258A1 (en) | 2022-12-08 |
WO2021096290A1 (ko) | 2021-05-20 |
MX2022005517A (es) | 2022-07-19 |
AU2024203191A1 (en) | 2024-05-30 |
JP2024079763A (ja) | 2024-06-11 |
US20240357136A1 (en) | 2024-10-24 |
JP2023501621A (ja) | 2023-01-18 |
AU2020382299B2 (en) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114731434A (zh) | 基于变换的图像编码方法及其装置 | |
CN113940070A (zh) | 基于变换的图像编码方法及其装置 | |
CN114982239A (zh) | 基于变换的图像编码方法及其装置 | |
CN113170197A (zh) | 基于二次变换的图像编码方法及其装置 | |
CN114946189A (zh) | 基于变换的图像编码方法及其装置 | |
CN114846798A (zh) | 用于基于变换的图像编码的方法及其设备 | |
CN114731436A (zh) | 基于变换的图像编码方法及其设备 | |
CN113273214A (zh) | 基于二次变换的图像编码方法及其装置 | |
US20220417518A1 (en) | Transform-based image coding method and device | |
CN114930847A (zh) | 基于变换的图像编码方法及其装置 | |
CN114009023A (zh) | 基于变换的图像编码方法及其装置 | |
CN114747220B (zh) | 基于变换的图像编码方法及其设备 | |
CN114930848A (zh) | 基于变换的图像编码方法及其设备 | |
CN114930846A (zh) | 基于变换的图像编码方法及其装置 | |
CN114930850A (zh) | 基于变换的图像编码方法及其设备 | |
CN114342393A (zh) | 基于变换的图像编译方法及其设备 | |
CN114762342A (zh) | 基于变换的图像编码方法及其装置 | |
CN114762340B (zh) | 编译图像的基于变换的方法及其装置 | |
CN114762343B (zh) | 基于变换的图像编码方法及其装置 | |
CN114651445B (zh) | 基于变换的视频编码方法及其装置 | |
CN114846799A (zh) | 基于变换的图像编码方法及其设备 | |
CN114930845A (zh) | 基于变换的图像编码方法及其装置 | |
CN114902678A (zh) | 基于变换的图像编码方法及其设备 | |
CN114930851A (zh) | 基于变换的图像编码方法及其装置 | |
CN114747221B (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 |