CN115088256A - 选择性地用信号通知滤波可用信息的图像编码/解码方法和装置以及发送比特流的方法 - Google Patents
选择性地用信号通知滤波可用信息的图像编码/解码方法和装置以及发送比特流的方法 Download PDFInfo
- Publication number
- CN115088256A CN115088256A CN202180014308.XA CN202180014308A CN115088256A CN 115088256 A CN115088256 A CN 115088256A CN 202180014308 A CN202180014308 A CN 202180014308A CN 115088256 A CN115088256 A CN 115088256A
- Authority
- CN
- China
- Prior art keywords
- picture
- information
- flag
- slice
- prediction
- 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 241
- 238000001914 filtration Methods 0.000 title claims abstract description 150
- 230000011664 signaling Effects 0.000 title description 17
- 230000011218 segmentation Effects 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 description 136
- 239000000523 sample Substances 0.000 description 75
- 238000005192 partition Methods 0.000 description 67
- 239000013598 vector Substances 0.000 description 59
- 238000013139 quantization Methods 0.000 description 50
- 241000023320 Luma <angiosperm> Species 0.000 description 29
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 29
- 230000003044 adaptive effect Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 20
- 238000009795 derivation Methods 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 16
- 239000013074 reference sample Substances 0.000 description 16
- 238000000638 solvent extraction Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 12
- 230000002146 bilateral effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- IESVDEZGAHUQJU-ZLBXKVHBSA-N 1-hexadecanoyl-2-(4Z,7Z,10Z,13Z,16Z,19Z-docosahexaenoyl)-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CC\C=C/C\C=C/C\C=C/C\C=C/C\C=C/C\C=C/CC IESVDEZGAHUQJU-ZLBXKVHBSA-N 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 241000209094 Oryza Species 0.000 description 3
- 235000007164 Oryza sativa Nutrition 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 235000009566 rice Nutrition 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/172—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 picture, frame or field
-
- 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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了图像编码/解码方法和装置。根据本公开的由图像解码装置执行的图像解码方法可以包括以下步骤:基于当前画面的分割不受限制,确定当前画面中拼块的数量;基于当前画面中拼块的数量为多个,从比特流获取表示拼块边界滤波是否可用的第一标志;以及基于第一标志的值,确定是否对属于当前画面的拼块的边界执行滤波。
Description
技术领域
本公开涉及图像编码/解码方法和设备,并且更具体地,涉及选择性地用信号通知滤波可用信息的图像编码/解码方法和设备以及发送通过本公开的图像编码方法/设备生成的比特流的方法。
背景技术
最近,各个领域对高分辨率和高质量图像(诸如高清(HD)图像和超高清(UHD)图像)的需求正在增加。随着图像数据的分辨率和质量的改进,与现有图像数据相比,传输的信息量或比特量相对增加。传输信息量或比特量的增加导致传输成本和存储成本的增加。
因此,需要高效的图像压缩技术来有效地发送、存储和再现关于高分辨率和高质量图像的信息。
发明内容
技术问题
本公开的目的是提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
本公开的另一目的是提供一种图像编码/解码方法和设备,其能够通过选择性地用信号通知滤波可用信息来改进编码/解码效率。
本公开的另一目的是提供一种发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
本公开的另一目的是提供一种存储有通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
本公开的另一目的是提供一种记录介质,其存储有通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚本文未描述的其它技术问题。
技术方案
根据本公开的方面的由图像解码设备执行的图像解码方法可以包括以下步骤:基于当前画面的分割不受限制,确定所述当前画面中拼块的数量;基于所述当前画面中拼块的数量为多个,从比特流获得指示对拼块的边界的滤波是否可用的第一标志;以及基于所述第一标志的值,确定是否对属于所述当前画面的所述拼块的所述边界执行滤波。
根据本公开的方面的图像解码设备可以包括存储器和至少一个处理器。至少一个处理器可以:基于当前画面的分割不受限制,确定所述当前画面中拼块的数量;基于所述当前画面中拼块的数量为多个,从比特流获得指示对拼块的边界的滤波是否可用的第一标志;以及基于所述第一标志的值,确定是否对属于所述当前画面的所述拼块的所述边界执行滤波。
根据本公开的方面的由图像编码设备执行的图像编码方法可以包括以下步骤:基于当前画面的分割不受限制,确定所述当前画面中拼块的数量;基于所述当前画面中拼块的数量为多个,确定指示对拼块的边界的滤波是否可用的第一标志的值;以及生成包括所述第一标志的比特流。
此外,根据本公开的方面的发送方法可以发送通过本公开的图像编码设备或方法生成的比特流。
另外,根据本公开的方面的计算机可读记录介质可以存储通过本公开的图像编码设备或图像编码方法生成的比特流。
以上关于本公开简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,可以提供一种具有改进的编码/解码效率的图像编码/解码方法和设备。
此外,根据本公开,可以提供一种图像编码/解码方法和设备,其能够通过选择性地用信号通知滤波可用信息来改进编码/解码效率。
此外,根据本公开,可以提供一种发送通过根据本公开的图像编码方法或设备生成的比特流的方法。
此外,根据本公开,可以提供一种存储有通过根据本公开的图像编码方法或设备生成的比特流的记录介质。
此外,根据本公开,可以提供一种记录介质,其存储有通过根据本公开的图像解码设备接收、解码并用于重构图像的比特流。
本领域的技术人员将理解,通过本公开可以实现的效果不限于上文已经具体描述的内容,并且将从详细描述中更清楚地理解本公开的其它优点。
附图说明
图1是示意性地示出本公开适用于的视频编码系统的视图。
图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
图4是示出根据实施方式的图像的分割结构的视图。
图5是示出根据多类型树结构的块的分割类型的实施方式的视图。
图6是示出根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。
图7是示出将CTU划分成多个CU的实施方式的视图。
图8是示出根据实施方式的邻近参考样本的视图。
图9至图10是例示根据实施方式的帧内预测的视图。
图11是例示根据实施方式的使用帧间预测的编码方法的视图。
图12是例示根据实施方式的使用帧间预测的解码方法的视图。
图13是用于对一个语法元素进行编码的根据实施方式的CABAC的框图。
图14至图17是例示根据实施方式的熵编码和熵解码的视图。
图18和图19是示出根据实施方式的画面解码和编码过程的示例的视图。
图20是示出编码图像的层结构的视图。
图21至图24是示出使用拼块、切片和子画面分割画面的实施方式的视图。
图25至图28是示出用于画面参数集的语法的个体实施方式的视图。
图29和图30是示出解码方法和编码方法的实施方式的视图。
图31是示出本公开的实施方式适用于的内容流系统的视图。
具体实施方式
以下,将参考附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于本文描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一组件时,它不仅可以包括直接连接关系,还可以包括存在中间组件的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等可以仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成和实施在一个硬件或软件单元中,或者一个组件可以在多个硬件或软件单元中分布和实施。因此,即使没有另外说明,组件是集成的或组件是分布式的这些实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。另外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“视频”可以意指随时间推移的一系列图像的集合。“画面”通常是指表示特定时间段内的一个图像的单元,并且切片/拼块是编码时构成画面的一部分的编码单元。一个画面可以由一个或更多个切片/拼块组成。另外,切片/拼块可以包括一个或更多个编码树单元(CTU)。CTU可以被划分成一个或更多个CU。一个画面可以由一个或更多个切片/拼块组成。拼块是存在于画面中的特定拼块行和特定拼块列中的矩形区域,并且可以由多个CTU组成。拼块列可以被定义为CTU的矩形区域,可以具有与画面相同的高度,并且可以具有由从诸如画面参数集的比特流部分用信号通知的语法元素指定的宽度。拼块行可以被定义为CTU的矩形区域,可以具有与画面相同的宽度,并且可以具有由从诸如画面参数集的比特流部分用信号通知的语法元素指定的高度。拼块扫描是分割画面的CTU的某种连续排序方法。这里,CTU可以根据拼块内的CTU光栅扫描来依次排序,并且画面中的拼块可以根据画面的拼块的光栅扫描顺序来依次排序。切片可以包含整数个完整拼块,或者可以包含一个画面的一个拼块内的整数个连续的完整CTU行。切片可以仅被包括在单个NAL单元中。
一个画面可以由一个或更多个拼块组组成。一个拼块组可以包括一个或更多个拼块。图块(brick)可以指示画面中的拼块内的CTU行的矩形区域。一个拼块可以包括一个或更多个图块。图块可以表示拼块中的CTU行的矩形区域。一个拼块可以被分割成多个图块,并且每个图块可以包括属于拼块的一个或更多个CTU行。没有被分割成多个图块的拼块也可以被视为图块。
此外,一个画面可以被分割成两个或更多个子画面。子画面可以是画面中的一个或更多个切片的矩形区域。
“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。另外,“样本”可以用作对应于像素的术语。样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一者。一个单元可以包括一个亮度块和两个色度(例如,Cb和Cr)块。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”之一。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
另外,在本公开中,除非明确声明为色度块,否则“当前块”可以意指“当前块的亮度块”。“当前块的色度块”可以通过包括对诸如“色度块”或“当前色度块”的色度块的显式描述来表达。
在本公开中,斜线“/”或“,”应该解释为指示“和/或”。例如,表达“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释为指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,和/或3)“A和B”两者。换言之,在本公开中,术语“或”应被解释为指示“另外地或另选地”。
视频编码系统的概述
图1是示出根据本公开的视频编码系统的视图。
根据实施方式的视频编码系统可以包括源装置10和接收装置20。源装置10可以将编码的视频和/或图像信息或数据以文件或流的形式经由数字存储介质或网络递送到接收装置20。
根据实施方式的源装置10可以包括视频源生成器11、编码设备12和发送器13。根据实施方式的接收装置20可以包括接收器21、解码装置22和渲染器23。编码装置12可以称为视频/图像编码设备,解码装置22可以称为视频/图像解码设备。发送器13可以被包括在编码装置12中。接收器21可以被包括在解码装置22中。渲染器23可以包括显示器并且显示器可以被配置为单独的装置或外部组件。
视频源生成器11可以通过捕获、合成或生成视频/图像的过程来获取视频/图像。视频源生成器11可以包括视频/图像捕获装置和/或视频/图像生成装置。视频/图像捕获装置可以包括例如一个或更多个相机、包括先前捕获的视频/图像的视频/图像档案等。视频/图像生成装置可以包括例如计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获过程可以被生成相关数据的过程代替。
编码装置12可以对输入视频/图像进行编码。为了压缩和编码效率,编码单元12可以执行一系列过程,诸如预测、变换和量化。编码装置12可以以比特流的形式输出编码的数据(编码的视频/图像信息)。
发送器13可以通过数字存储介质或网络以文件或流的形式将以比特流的形式输出的编码的视频/图像信息或数据发送到接收装置20的接收器21。数字存储介质可以包括各种存储介质,诸如USB、SD、CD、DVD、蓝光、HDD、SSD等。发送器13可以包括用于通过预定文件格式生成媒体文件的元件并且可以包括用于通过广播/通信网络进行发送的元件。接收器21可以从存储介质或网络提取/接收比特流并将比特流发送到解码装置22。
解码装置22可以通过执行与编码装置12的操作相对应的一系列过程(诸如解量化、逆变换和预测)来解码视频/图像。
渲染器23可以渲染解码的视频/图像。渲染的视频/图像可以通过显示器显示。
图像编码设备的概述
图2是示意性地示出本公开的实施方式适用于的图像编码设备的视图。
如图2所示,图像编码设备100可以包括图像分割器110、减法器115、变换器120、量化器130、解量化器140、逆变换器150、加法器155、滤波器160、存储器170、帧间预测单元180、帧内预测单元185和熵编码器190。帧间预测单元180和帧内预测单元185可以统称为“预测单元”。变换器120、量化器130、解量化器140和逆变换器150可以被包括在残差处理器中。残差处理器还可以包括减法器115。
在一些实施方式中,对图像编码设备100进行配置的多个组件中的全部或至少一些组件可以由一个硬件组件(例如,编码器或处理器)来配置。另外,存储器170可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器110可以将输入到图像编码设备100的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获取编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割成更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,稍后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获取的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测单元(帧间预测单元180或帧内预测单元185)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以在当前块或CU的基础上确定是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息发送到熵编码器190。关于预测的信息可以在熵编码器190中被编码并且以比特流的形式输出。
帧内预测单元185可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元185可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元180可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测单元180可以基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元180可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不发送残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且可以通过编码运动向量差和运动向量预测子的指示符来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测两者,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。另外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为对应于预定距离的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测来执行,因为在当前画面内推导参考块。即,IBC可以使用本公开中描述的帧间预测技术中的至少一种。
预测单元生成的预测信号可以用于生成重构信号或生成残差信号。减法器115可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被发送到变换器120。
变换器120可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图表示时从图获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获取的变换。另外,变换处理可以应用于具有相同大小的方形像素块或者可以应用于具有可变大小而不是方形的块。
量化器130可以对变换系数进行量化并且将它们发送到熵编码器190。熵编码器190可以对量化信号(关于量化变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器130可以基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器190可以执行各种编码方法,例如,诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等。熵编码器190可以一起或单独地编码量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)。编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行发送或存储。视频/图像信息还可以包括关于各种参数集的信息,诸如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可以包括通用约束信息。本公开中描述的用信号通知的信息、发送的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络发送或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。可以包括发送从熵编码器190输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备100的内部/外部元件。另选地,可以提供发送器作为熵编码器190的组件。
从量化器130输出的量化变换系数可以用于生成残差信号。例如,可以通过解量化器140和逆变换器150对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器155将重构残差信号与从帧间预测单元180或帧内预测单元185输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,诸如应用跳过模式的情况,则可以将预测块用作重构块。加法器155可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面进行帧间预测。
滤波器160可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器160可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器170中,具体地,存储在存储器170的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器160可以生成与滤波有关的各种信息并将所生成的信息发送到熵编码器190,如稍后在每种滤波方法的描述中所描述的。与滤波有关的信息可以由熵编码器190编码并以比特流的形式输出。
发送到存储器170的修改的重构画面可以用作帧间预测单元180中的参考画面。当通过图像编码设备100应用帧间预测时,可以避免图像编码设备100与图像解码设备之间的预测失配并且可以改进编码效率。
存储器170的DPB可以存储修改的重构画面以用作帧间预测单元180中的参考画面。存储器170可以存储供推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被发送到帧间预测单元180并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器170可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元185。
图像解码设备的概述
图3是示意性地示出本公开的实施方式适用于的图像解码设备的视图。
如图3所示,图像解码设备200可以包括熵解码器210、解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260和帧内预测单元265。帧间预测单元260和帧内预测单元265可以统称为“预测单元”。解量化器220和逆变换器230可以被包括在残差处理器中。
根据实施方式,对图像解码设备200进行配置的多个组件中的全部或至少一些组件可以由硬件组件(例如,解码器或处理器)来配置。另外,存储器250可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码设备200可以通过执行与由图2的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备200可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获取。通过图像解码设备200解码和输出的重构图像信号可以通过再现设备(未示出)再现。
图像解码设备200可以接收以比特流的形式从图2的图像编码设备输出的信号。接收到的信号可以通过熵解码器210进行解码。例如,熵解码器210可以解析比特流以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集的信息,诸如自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可以包括通用约束信息。图像解码设备还可以基于关于参数集的信息和/或通用约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器210基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一符号/bin的上下文模型来更新上下文模型。由熵解码器210解码的信息当中的与预测相关的信息可以被提供给预测单元(帧间预测单元260和帧内预测单元265),并且在熵解码器210中对其执行熵解码的残差值(即,量化变换系数和相关的参数信息)可以被输入到解量化器220。另外,可以将熵解码器210解码的信息当中的关于滤波的信息提供给滤波器240。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备200的内部/外部元件,或者接收器可以是熵解码器210的组件。
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器210。样本解码器可以包括解量化器220、逆变换器230、加法器235、滤波器240、存储器250、帧间预测单元260或帧内预测单元265中的至少一者。
解量化器220可以对量化变换系数进行解量化并输出变换系数。解量化器220可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器220可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器230可以对变换系数进行逆变换,以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器210输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码装置100的预测单元中描述的相同的是,预测单元可以基于稍后将描述的各种预测方法(技术)来生成预测信号。
帧内预测单元265可以通过参考当前画面中的样本来预测当前块。帧内预测单元185的描述同样适用于帧内预测单元265。
帧间预测单元260可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可以基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单元来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元260可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器235可以通过将获得的残差信号与从预测单元(包括帧间预测单元260和/或内预测单元265)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差,诸如在应用跳过模式时,则可以将预测块用作重构块。加法器155的描述同样适用于加法器235。加法器235可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面进行帧间预测。
滤波器240可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器240可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器250中,具体地,存储在存储器250的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器250的DPB中的(修改的)重构画面可以用作帧间预测单元260中的参考画面。存储器250可以存储供推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被发送到帧间预测单元260,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器250可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元265。
在本公开中,在图像编码设备100的滤波器160、帧间预测单元180和帧内预测单元185中描述的实施方式可以同等地或对应地应用于图像解码设备200的滤波器240、帧间预测单元260和帧内预测单元265。
图像分割的概述
可以基于如下图像分割结构来执行根据本公开的视频/图像编码方法。具体地,可以基于根据图像分割结构而推导的CTU、CU(和/或TU、PU)来执行将稍后描述的预测、残差处理((逆)变换、(解)量化等)、语法元素编码和滤波的过程。可以按块单元对图像进行分割并且可以在编码设备的图像分割器110中执行块分割过程。分割相关信息可以由熵编码器190编码并且以比特流的形式发送到解码设备。解码设备的熵解码器210可以基于从比特流获得的分割相关信息来推导当前画面的块分割结构,并且基于此,可以执行一系列的过程(例如,预测、残差处理、块/画面重构、环路内滤波等),以进行图像解码。
画面可以被分割成编码树单元(CTU)的序列。图4示出了画面被分割成CTU的示例。CTU可以对应于编码树块(CTB)。另选地,CTU可以包括亮度样本的编码树块和对应色度样本的两个编码树块。例如,对于包含三个样本阵列的画面,CTU可以包括亮度样本的N×N块和色度样本的两个对应块。用于编码和预测的CTU的最大允许大小可以不同于用于变换的CTU的最大允许大小。例如,即使亮度变换块的最大大小为64×64,CTU中的亮度块的最大允许大小也可以为128×128。
CTU分割的概述
如上所述,可以通过根据四叉树/二叉树/三叉树(QT/BT/TT)结构递归地对编码树单元(CTU)或最大编码单元(LCU)进行分割来获取编码单元。例如,CTU可以被首先分割成四叉树结构。此后,可以通过多类型树结构对四叉树结构的叶节点进一步进行分割。
根据四叉树的分割意味着当前CU(或CTU)被同等地分割成四个。通过根据四叉树的分割,可以将当前CU分割成具有相同宽度和相同高度的四个CU。在当前CU不再被分割成四叉树结构时,当前CU对应于四叉树结构的叶节点。与四叉树结构的叶节点对应的CU可以不再被分割并且可以被用作上述最终编码单元。另选地,可以通过多类型树结构对与四叉树结构的叶节点对应的CU进一步进行分割。
图5是示出了根据多类型树结构的块的分割类型的实施方式的视图。根据多类型树结构的分割可以包括根据二叉树结构的两种类型的划分和根据三叉树结构的两种类型的划分。
根据二叉树结构的两种类型的划分可以包括垂直二叉划分(SPLIT_BT_VER)和水平二叉划分(SPLIT_BT_HOR)。垂直二叉划分(SPLIT_BT_VER)意味着当前CU被在垂直方向上同等地划分成两个。如图4所示,通过垂直二叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的一半的两个CU。水平二叉划分(SPLIT_BT_HOR)意味着当前CU被在水平方向上同等地划分成两个。如图5所示,通过水平二叉划分,可以生成高度为当前CU的高度的一半并且宽度与当前CU相同的两个CU。
根据三叉树结构的两种类型的划分可以包括垂直三叉划分(SPLIT_TT_VER)和水平三叉划分(SPLIT_TT_HOR)。在垂直三叉划分(SPLIT_TT_VER)中,当前CU被以1:2:1的比率在垂直方向上划分。如图5所示,通过垂直三叉划分,可以生成高度与当前CU相同并且宽度为当前CU的宽度的1/4的两个CU以及高度与当前CU相同并且宽度为当前CU的宽度的一半的一个CU。在水平三叉划分(SPLIT_TT_HOR)中,当前CU被以1:2:1的比率在水平方向上划分。如图5所示,通过水平三叉划分,可以生成高度为当前CU的高度的1/4并且宽度与当前CU相同的两个CU以及高度为当前CU的高度的一半并且宽度与当前CU相同的一个CU。
图6是示出根据本公开的具有嵌套多类型树结构的四叉树中的块划分信息的信令机制的视图。
这里,CTU被视为四叉树的根节点,并且被首次分割成四叉树结构。可以用信号通知指示是否对当前CU(四叉树的CTU或节点(QT_node))执行四叉树划分的信息(例如,qt_split_flag)。例如,当qt_split_flag具有第一值(例如,“1”)时,当前CU可以被四叉树分割。另外,当qt_split_flag具有第二值(例如,“0”)时,当前CU不被四叉树分割,而是变成四叉树的叶节点(QT_leaf_node)。然后可以将每个四叉树叶节点进一步分割成多类型树结构。即,四叉树的叶节点可以变成多类型树的节点(MTT_node)。在多类型树结构中,可以用信号通知第一标志(例如,Mtt_split_cu_flag),以指示当前节点是否被附加地分割。如果对应节点被附加地分割(例如,如果第一标志为1),则可以用信号通知第二标志(例如,Mtt_split_cu_vertical_flag)以指示划分方向。例如,划分方向在第二标志为1时可以是垂直方向,而在第二标志为0时可以是水平方向。然后,可以用信号通知第三标志(例如,Mtt_split_cu_binary_flag),以指示划分类型是二叉划分类型还是三叉划分类型。例如,划分类型在第三标志为1时可以是二叉划分类型,而在第三标志为0时可以是三叉划分类型。通过二叉划分或三叉划分获取的多类型树的节点可以被进一步分割成多类型树结构。然而,可以不将多类型树的节点分割成四叉树结构。如果第一标志为0,则多类型树的对应节点不再被划分,而是变成多类型树的叶节点(MTT_leaf_node)。与多类型树的叶节点对应的CU可以被用作上述最终编码单元。
基于mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag,可以如下表1所示推导CU的多类型树划分模式(MttSplitMode)。在以下描述中,多类型树划分模式可以被称为多树划分类型或划分类型。
[表1]
MttSplitMode | mtt_split_cu_vertical_flag | mtt_split_cu_binary_flag |
SPLIT_TT_HOR | 0 | 0 |
SPLIT_BT_HOR | 0 | 1 |
SPLIT_TT_VER | 1 | 0 |
SPLIT_BT_VER | 1 | 1 |
图7是示出了在应用四叉树之后通过应用多类型树来将CTU分割成多个CU的示例的视图。在图7中,粗体块边710表示四叉树分割,而剩余边720表示多类型树分割。CU可以对应于编码块(CB)。在实施方式中,CU可以包括亮度样本的编码块以及与亮度样本对应的色度样本的两个编码块。可以基于根据画面/图像的颜色格式(色度格式,例如,4:4:4、4:2:2、4:2:0等)的分量比率基于亮度分量(样本)CB或TB大小来推导色度分量(样本)CB或TB大小。在4:4:4颜色格式的情况下,可以将色度分量CB/TB大小设定为等于亮度分量CB/TB大小。在4:2:2颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度。在4:2:0颜色格式的情况下,可以将色度分量CB/TB的宽度设定为亮度分量CB/TB的宽度的一半并且可以将色度分量CB/TB的高度设定为亮度分量CB/TB的高度的一半。
在实施方式中,当CTU的大小基于亮度样本单元为128时,CU的大小可以具有从128×128至4×4的大小,其是与CTU相同的大小。在一个实施方式中,在4:2:0颜色格式(或色度格式)的情况下,色度CB大小可以具有从64×64至2×2的大小。
此外,在实施方式中,CU大小和TU大小可以是相同的。另选地,在CU区域中可以有多个TU。TU大小通常可以表示亮度分量(样本)变换块(TB)大小。
可以基于作为预定值的最大允许TB大小maxTbSize来推导TU大小。例如,当CU大小大于maxTbSize时,可以从CU推导具有maxTbSize的多个TU(TB),并且可以以TU(TB)为单元执行变换/逆变换。例如,最大允许亮度TB大小可以是64×64并且最大允许色度TB大小可以是32×32。如果根据树结构分割的CB的宽度或高度大于最大变换宽度或高度,则CB可以被自动地(或隐式地)分割,直到满足水平和垂直方向上的TB大小极限为止。
另外,例如,当应用帧内预测时,可以以CU(或CB)为单元推导帧内预测模式/类型,并且可以以TU(或TB)为单元执行邻近参考样本推导和预测样本生成过程。在这种情况下,在一个CU(或CB)区域中可以有一个或多个TU(或TB),并且在这种情况下,多个TU或(TB)可以共享相同的帧内预测模式/类型。
此外,对于具有嵌套多类型树的四叉树编码树方案,可以将以下参数作为SPS语法元素从编码设备用信号通知给解码设备。例如,可以用信号通知作为表示四叉树的根节点大小的参数的CTU大小、作为表示最小允许四叉树叶节点大小的参数的MinQTSize、作为表示最大允许二叉树根节点大小的参数的MaxBtSize、作为表示最大允许三叉树根节点大小的参数的MaxTtSize、作为表示从四叉树叶节点起进行多类型树划分的最大允许层次深度的参数的MaxMttDepth、作为表示最小允许二叉树树叶节点大小的参数的MinBtSize、或作为表示最小允许三叉数叶节点大小的参数的MinTtSize中的至少一者。
作为使用4:2:0色度格式的实施方式,可以将CTU大小设定为128×128亮度块以及与这些亮度块对应的两个64×64色度块。在这种情况下,可以将MinOTSize设定为16×16,可以将MaxBtSize设定为128×128,可以将MaxTtSzie设定为64×64,可以将MinBtSize和MinTtSize设定为4×4,并且可以将MaxMttDepth设定为4。四叉树分割可以被应用于CTU以生成四叉树叶节点。四叉树叶节点可以被称作叶QT节点。四叉树叶节点的大小可以从16×16大小(例如,MinOTSize)至128×128大小(例如,CTU大小)。如果叶QT节点是128×128,则它可以不被附加地分割成二叉树/三叉树。这是因为,在这种情况下,即使被分割,它也超过MaxBtsize和MaxTtszie(例如,64×64)。在其它情况下,叶QT节点可以被进一步分割成多类型树。因此,叶QT节点是多类型树的根节点,并且叶QT节点可以具有多类型树深度(mttDepth)0值。如果多类型树深度达到MaxMttdepth(例如,4),则可以不进一步考虑进一步分割。如果多类型树节点的宽度等于MinBtSize并且小于或等于2×MinTtSize,则可以不考虑进一步水平分割。如果多类型树节点的高度等于MinBtSize并且小于或等于2×MinTtSize,则可以不考虑进一步垂直分割。当不考虑分割时,编码设备可以跳过分割信息的信令。在这种情况下,解码设备可以推导具有预定值的分割信息。
此外,一个CTU可以包括亮度样本的编码块(在下文中称为“亮度块”)以及与其对应的色度样本的两个编码块(在下文中称为“色度块”)。上述编码树方案可以被同等地或单独地应用于当前CU的亮度块和色度块。具体地,可以将一个CTU中的亮度块和色度块分割成相同的块树结构,并且在这种情况下,树结构可以被表示为SINGLE_TREE。另选地,可以将一个CTU中的亮度块和色度块分割成单独的块树结构,并且在这种情况下,可以将树结构表示为DUAL_TREE。也就是说,当CTU被分割成双树时,用于亮度块的块树结构和用于色度块的块树结构可以分别存在。在这种情况下,可以将用于亮度块的块树结构称作DUAL_TREE_LUMA,并且可以将用于色度分量的块树结构称作DUAL_TREE_CHROMA。对于P和B切片/拼块组,可以将一个CTU中的亮度块和色度块限制为具有相同的编码树结构。然而,对于I切片/拼块组,亮度块和色度块可以具有彼此分开的块树结构。如果应用单独的块树结构,则可以基于特定编码树结构来将亮度CTB分割成CU,并且可以基于另一编码树结构来将色度CTB分割成色度CU。也就是说,这意味着应用单独的块树结构的I切片/拼块组中的CU可以包括亮度分量的编码块或两个色度分量的编码块,并且P或B切片/拼块组的CU可以包括三个颜色分量(一个亮度分量和两个色度分量)的块。
尽管已经描述了具有嵌套多类型树的四叉树编码树结构,但是对CU进行分割的结构不限于此。例如,可以将BT结构和TT结构解释为多分割树(MPT)结构中包括的概念,并且可以将CU解释为通过QT结构和MPT结构被分割。在通过QT结构和MPT结构对CU进行分割的示例中,可以用信号通知包括关于QT结构的叶节点被分割成多少块的信息的语法元素(例如,MPT_split_type)以及包括关于QT结构的叶节点被分割成垂直方向和水平方向中的哪个的信息的语法元素(例如,MPT_split_mode),以确定分割结构。
在另一示例中,可以以与QT结构、BT结构或TT结构不同的方式对CU进行分割。也就是说,与根据QT结构将较低深度的CU分割成较高深度的CU的1/4、根据BT结构将较低深度的CU分割成较高深度的CU的1/2或者根据TT结构将较低深度的CU分割成较高深度的CU的1/4或1/2不同,在一些情况下可以将较低深度的CU分割成较高深度的CU的1/5、1/3、3/8、3/5、2/3或5/8,并且对CU进行分割的方法不限于此。
具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在编码设备和解码设备中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。
另外,在根据本公开的视频/图像编码和解码中,图像处理单元可以具有分层结构。一个画面可以被分成一个或更多个拼块、图块、切片和/或拼块组。一个切片可以包括一个或更多个图块。一个图块可以包括拼块中的一个或更多个CTU行。切片可以包括画面的整数个图块。一个拼块组可以包括一个或更多个拼块。一个拼块可以包括一个或更多个CTU。CTU可以被划分成一个或更多个CU。拼块可以是由画面中的多个CTU组成的包括特定拼块行和特定拼块列的矩形区域。根据画面中的拼块光栅扫描,拼块组可以包括整数个拼块。切片头可以承载适用于切片(切片中的图块)的信息/参数。当编码设备或解码设备具有多核处理器时,对拼块、切片、图块和/或拼块组的编码/解码过程可以并行执行。
在本公开中,切片或拼块组的名称或概念可以混合。即,拼块组头可以被称为切片头。这里,切片可以具有包括帧内(I)切片、预测(P)切片和双预测(B)切片的切片类型之一。对于I切片中的块,帧间预测不用于预测,仅可以使用帧内预测。当然,即使在这种情况下,也可以编码并用信号通知原始样本值而没有预测。对于P切片中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时,仅可以使用单预测。此外,对于B切片中的块,可以使用帧内预测或帧间预测,并且当使用帧间预测时,可以使用至多最大双预测。
根据视频图像的特性(例如,分辨率)或考虑编码效率和并行处理,编码设备可以确定拼块/拼块组、图块、切片和最大和最小编码单元大小。另外,关于此的信息或用于推导其的信息可以包括在比特流中。
解码设备可以获得指示当前画面的拼块/拼块组、图块和切片以及拼块中的CTU是否被划分成多个编码单元的信息。编码设备和解码设备可以通过仅在特定条件下用信号通知这种信息来改进编码效率。
切片头(切片头语法)可以包括共同应用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括共同应用于一个或更多个画面的信息/参数。SPS(SPS语法)可以包括共同应用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括可以共同应用于多个层的信息/参数。DPS(DPS语法)可以包括共同应用于整个视频的信息/参数。DPS可以包括与编码视频序列(CVS)的组合有关的信息/参数。
另外,例如,关于拼块/拼块组/图块/切片的划分和配置的信息可以在编码端通过更高级语法配置并且以比特流的形式发送至解码设备。
帧内预测的概述
下文中,将更详细地描述由上述编码装置和解码设备执行的帧内预测。帧内预测可以表示基于当前块所属的画面(下文中被称为当前画面)中的参考样本生成当前块的预测样本的预测。
将参考图8来给出描述。当帧内预测应用于当前块801时,可以推导要用于当前块801的帧内预测的邻近参考样本。当前块的邻近参考样本可以包括:包括与当前块的左边界相邻的大小为nW×nH的样本811和与左下相邻的样本812在内的总共2×nh个样本、包括与当前块的上边界相邻的样本821和与右上相邻的样本822在内的总共2×nW个样本以及与当前块的左上相邻的一个样本831。另选地,当前块的邻近参考样本可以包括上邻近样本的多列和左邻近样本的多行。
另外,当前块的邻近参考样本可以包括:与当前块的右边界相邻的大小为nW×nH的总共nH个样本841、与当前块的下边界相邻的总共nW个样本851以及与当前块的右下相邻的一个样本842。
然而,当前块的一些邻近参考样本还未被解码或者可能不可用。在这种情况下,解码设备可以通过利用可用样本替换不可用样本来构建要用于预测的邻近参考样本。另选地,可以通过可用样本的插值来构建要用于预测的邻近参考样本。
当推导邻近参考样本时,(i)可以基于当前块的邻近参考样本的平均或插值推导预测样本,并且(ii)可以基于当前块的邻近参考样本当中的、在针对预测样本的特定(预测)方向上存在的参考样本推导预测样本。(i)的情况可以被称为非定向模式或非角模式,并且(ii)的情况可以被称为定向模式或角模式。另外,可以通过邻近参考样本当中基于当前块的预测样本位于与当前块的帧内预测模式的预测方向相反的方向上的第一邻近样本和第二邻近样本的插值来生成预测样本。上述情况可以被称为线性插值帧内预测(LIP)。另外,可以使用线性模型基于亮度样本来生成色度预测样本。这种情况可以被称为LM模式。另外,可以基于滤波的邻近参考样本推导当前块的临时预测样本,并且可以通过对现有邻近参考样本(即,未滤波的邻近参考样本)当中的根据帧内预测模式推导的至少一个参考样本和临时预测样本进行加权求和来推导当前块的预测样本。上述情况可以被称为位置相关帧内预测(PDPC)。另外,从当前块的多个邻近参考样本行当中选择具有最高预测精度的参考样本行,以使用对应行上位于预测方向上的参考样本来推导预测样本,并且此时,可以以将所使用的参考样本行指示(用信号通知)给解码设备的方式执行帧内预测编码。上述情况可以被称为多参考行(MRL)帧内预测或基于MRL的帧内预测。另外,当前块被分割成垂直或水平子分区,以基于相同的帧内预测模式执行帧内预测,但可以以子分区为单位推导和使用邻近参考样本。即,在这种情况下,当前块的帧内预测模式同样应用于子分区,但在某些情况下,可以通过以子分区为单位推导和使用邻近参考样本来改善帧内预测性能。这种预测方法可以被称为帧内子分区(ISP)或基于ISP的帧内预测。这些帧内预测方法可以被称为帧内预测类型,以便与帧内预测模式(例如,DC模式、平面模式或定向模式)相区分。帧内预测类型可以被称为诸如帧内预测技术或附加帧内预测模式的各种术语。例如,帧内预测类型(或附加帧内预测模式等)可以包括上述LIP、PDPC、MRL和ISP中的至少一者。除了诸如LIP、PDPC、MRL和ISP的特定帧内预测类型之外的一般帧内预测方法可以被称为正常帧内预测类型。正常帧内预测类型可以指不应用上述特定帧内预测类型的情况,并且可以基于上述帧内预测模式执行预测。此外,在必要时,可以对推导的预测样本执行后滤波。
具体地,帧内预测过程可以包括帧内预测模式/类型确定步骤、邻近参考样本推导步骤以及基于帧内预测模式/类型的预测样本推导步骤。另外,在必要时,可以对推导的预测样本执行后滤波步骤。
此外,除了上述帧内预测类型之外,还可以使用仿射线性加权帧内预测(ALWIP)。ALWIP可以被称为线性加权帧内预测(LWIP)或矩阵加权帧内预测或基于矩阵的帧内预测(MIP)。当向当前块应用MIP时,i)可以使用已执行了求平均过程的邻近参考样本,ii)可以执行矩阵向量乘法过程,iii)在必要时,可以进一步执行水平/垂直插值过程,由此推导当前块的预测样本。用于MIP的帧内预测模式可以与在上述LIP、PDPC、MRL和ISP帧内预测或正常帧内预测中使用的帧内预测模式不同地配置。用于MIP的帧内预测模式可以被称为MIP帧内预测模式、MIP预测模式或MIP模式。例如,可以根据用于MIP的帧内预测模式来不同地设置在矩阵向量乘法中使用的矩阵和偏移。这里,矩阵可以被称为(MIP)加权矩阵,并且偏移可以被称为(MIP)偏移向量或(MIP)偏置向量。稍后,将描述特定MIP方法。
编码设备中的基于帧内预测和帧内预测单元的块重构过程可以示意性包括例如以下内容。S910可以由编码设备的帧内预测单元185执行,并且S920可以由包括编码设备的减法器115、变换器120、量化器130、解量化器140和逆变换器150中的至少一者的残差处理器执行。具体地,S920可以由编码设备的减法器115执行。在S930中,预测信息可以由帧内预测单元185推导,并且可以由熵编码器190编码。在S930中,残差信息可以由残差处理器推导,并且可以由熵编码器190编码。残差信息是关于残差样本的信息。残差信息可以包括关于残差样本的量化变换系数的信息。如上所述,可以通过编码设备的变换器120将残差样本推导为变换系数,并且可以通过量化器130将变换系数推导为量化变换系数。关于量化变换系数的信息可以由熵编码器190通过残差编码过程编码。
编码设备可以针对当前块执行帧内预测(S910)。编码设备可以推导当前块的帧内预测模式/类型,推导当前块的邻近参考样本,以及基于帧内预测模式/类型和邻近参考样本生成当前块中的预测样本。这里,用于确定帧内预测模式/类型的过程、用于推导邻近参考样本的过程和用于生成预测样本的过程可以同时执行,或者任何一个过程可以在另一过程之前执行。例如,尽管未示出,但编码设备的帧内预测单元185可以包括帧内预测模式/类型确定单元、参考样本推导单元、预测样本推导单元。帧内预测模式/类型确定单元可以确定当前块的帧内预测模式/类型,参考样本推导单元可以推导当前块的邻近参考样本,预测样本推导单元可以推导当前块的预测样本。此外,当执行下述预测样本滤波过程时,帧内预测单元185还可以包括预测样本滤波器。编码设备可以从多个帧内预测模式/类型当中确定应用于当前块的模式/类型。编码设备可以比较帧内预测模式/类型的RD成本并针对当前块确定最佳帧内预测模式/类型。
此外,编码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。可以通过预测样本滤波过程对预测样本中的一些或全部预测样本进行滤波。在某些情况下,可以省略预测样本滤波过程。
编码设备可以基于(滤波的)预测样本生成当前块的残差样本(S920)。编码设备可以基于相位比较预测样本与当前块的原始样本并且推导残差样本。
编码设备可以对包括关于帧内预测的信息(预测信息)和残差样本的残差信息的图像信息进行编码(S930)。预测信息可以包括帧内预测模式信息和帧内预测类型信息。编码设备可以以比特流的形式输出编码的图像信息。输出的比特流可以通过存储介质或网络被发送至解码设备。
残差信息可以包括下述残差编码语法。编码设备可以对残差样本进行变换/量化以推导量化变换系数。残差信息可以包括关于量化变换系数的信息。
此外,如上所述,编码设备可以生成重构画面(包括重构样本和重构块)。为此,编码设备可以针对量化变换系数再次执行解量化/逆变换以推导(修改的)残差样本。残差样本被变换/量化,然后被解量化/逆变换,以便推导与如上所述在解码设备中推导的残差样本相同的残差样本。编码设备可以基于预测样本和(修改的)残差样本生成包括当前块的重构样本的重构块。可以基于重构块生成当前画面的重构画面。如上所述,环路内滤波过程进一步适用于重构画面。
解码设备中的基于帧内预测和帧内预测单元的视频/图像解码过程可以示意性包括例如以下内容。解码设备可以执行与由编码设备执行的操作对应的操作。
S1010至S1030可以由解码设备的帧内预测单元265执行,并且S1010的预测信息和S1040的残差信息可以由解码设备的熵解码器210从比特流获得。包括解码设备的解量化器220或逆变换器230的残差处理器可以基于残差信息推导当前块的残差样本。具体地,残差处理器的解量化器220可以基于根据残差信息推导的量化变换系数执行解量化,以推导变换系数,并且残差处理器的解量化器230可以针对变换系数执行逆变换,以推导当前块的残差样本。S1050可以由解码设备的加法器235或重构器执行。
具体地,解码设备可以基于接收到的预测信息(帧内预测模式/类型信息)推导当前块的帧内预测模式/类型(S1010)。解码设备可以推导当前块的邻近参考样本(S1020)。解码设备可以基于帧内预测模式/类型和邻近参考样本生成当前块中的预测样本(S1030)。在这种情况下,解码设备可以执行预测样本滤波过程。预测样本滤波可以被称为后滤波。可以通过预测样本滤波过程对预测样本中的一些或全部预测样本进行滤波。在某些情况下,可以省略预测样本滤波过程。
解码设备基于接收的残差信息生成当前块的残差样本。解码设备可以基于预测样本和残差样本生成当前块的重构样本,并且推导包括重构样本的重构块(S1040)。可以基于重构块生成当前画面的重构画面。如上所述,环路内滤波过程进一步适用于重构画面。
这里,解码设备的帧内预测单元265可以包括帧内预测模式/类型确定单元、参考样本推导单元和预测样本推导单元,帧内预测模式/类型确定单元可以基于熵解码器210所获取的帧内预测模式/类型信息确定当前块的帧内预测模式/类型,参考样本推导单元可以推导当前块的邻近参考样本,预测样本推导单元可以推导当前块的预测样本。此外,尽管未示出,但当执行上述预测样本滤波过程时,帧内预测单元265还可以包括预测样本滤波器。
帧内预测模式信息可以包括指定最可能模式(MPM)还是剩余模式应用于当前块的标志信息(例如,intra_luma_mpm_flag),并且当MPM应用于当前块时,预测模式信息还可以包括指定帧内预测模式候选(MPM候选)之一的索引信息(例如,intra_luma_mpm_idx)。帧内预测模式候选(MPM候选)可以被配置为MPM候选列表或MPM列表。另外,当MPM不应用于当前块时,帧内预测模式信息还可以包括指定除了帧内预测模式候选(MPM候选)之外的剩余帧内预测模式之一的剩余模式信息(例如,intra_luma_mpm_remainder)。解码设备可以基于帧内预测模式信息确定当前块的帧内预测模式。对于上述MIP,可以构造单独的MPL列表。
另外,帧内预测类型信息可以按各种形式实现。例如,帧内预测类型信息可以包括指定帧内预测类型之一的帧内预测类型索引信息。作为另一示例,帧内预测类型信息可以包括指定MRL是否应用于当前块以及如果应用的话使用哪一参考样本行的参考样本行信息(例如,intra_luma_ref_idx)、指定ISP是否应用于当前块的ISP标志信息(例如,intra_subpartitions_mode_flag)、指定当应用ISP时子分区的划分类型的ISP类型信息(例如,intra_subpartitions_split_flag)、指定是否应用PDCP的标志信息或指定是否应用LIP的标志信息中的至少一者。另外,帧内预测类型信息可以包括指定MIP是否应用于当前块的MIP标志。
帧内预测模式信息和/或帧内预测类型信息可以通过本公开中描述的编码方法来编码/解码。例如,帧内预测模式信息和/或帧内预测类型信息可以基于截断(Rice)二进制码通过熵编码(例如,CABAC或CAVLC)来编码/解码。
帧间预测的概述
下文中,将描述参考图2和图3的对编码和解码的描述中的帧间预测方法的详细技术。在解码设备的情况下,解码设备中的基于帧间预测的视频/图像解码方法和帧间预测单元可以根据以下描述来操作。在编码设备的情况下,基于帧间预测的视频/图像编码方法和编码设备中的帧间预测单元可以根据以下描述来操作。另外,根据以下描述编码的数据可以以比特流的形式被存储。
编码设备和解码设备的预测单元可以以块为单位执行帧间预测,以推导预测样本。帧间预测可以意指以取决于除了当前画面之外的画面的数据元素(例如,样本值、运动信息等)的方式进行推导的预测。当对当前块应用帧间预测时,可以基于参考画面索引所指示的参考画面上的运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块(预测样本阵列)。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息相关性以块、子块或样本为单位来预测当前块的运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测类型(L0预测、L1预测、Bi预测等)信息。当应用帧间预测时,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面与包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(ColCU),并且包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,可以基于当前块的邻近块来构造运动信息候选列表,并且为了推导当前块的运动向量和/或参考画面索引,可以用信号通知指示选择(使用)哪个候选的标志或索引信息。可以基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式的情况下,当前块的运动信息可以与所选择的邻近块的运动信息相等。在跳过模式的情况下,可以不像合并模式那样发送残差信号。在运动向量预测(MVP)模式的情况下,所选择的邻近块的运动向量可以被用作运动向量预测子,并且可以用信号通知运动向量差。在这种情况下,可以使用运动向量预测子和运动向量差之和来推导当前块的运动向量。
根据帧间预测类型(L0预测、L1预测、Bi预测等),运动信息可以包括L0运动信息和/或L1运动信息。L0方向上的运动向量可以被称为L0运动向量或MVL0,并且L1方向上的运动向量可以被称为L1运动向量或MVL1。基于L0运动向量的预测可以被称为L0预测,基于L1运动向量的预测可以被称为L1预测,并且基于L0运动向量和L1运动向量两者的预测可以被称为双预测。这里,L0运动向量可以指示与参考画面列表L0(L0)关联的运动向量,并且L1运动向量可以指示与参考画面列表L1(L1)关联的运动向量。参考画面列表L0可以包括按输出顺序在当前画面之前的画面作为参考画面,并且参考画面列表L1可以包括按输出顺序在当前画面之后的画面。先前的画面可以被称为前向(参考)画面,并且后续画面可以被称为后向(参考)画面。参考画面列表L0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在参考画面列表L0内,可以首先为先前的画面编索引,然后可以为后续画面编索引。参考画面列表L1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表L1内,可以首先为后续画面编索引,然后可以为先前的画面编索引。这里,输出顺序可以对应于画面顺序计数(POC)顺序。
编码设备中的基于帧间预测和帧间预测单元的视频/图像编码过程可以示意性包括例如以下内容。将参考图11对此进行描述。编码设备针对当前块执行帧间预测(S1100)。图像编码设备可以推导当前块的帧间预测模式和运动信息,并生成当前块的预测样本。这里,可以同时执行帧间预测模式确定、运动信息推导和预测样本生成过程,或者其中任一个可以在其它过程之前执行。例如,编码设备的帧间预测单元可以包括预测模式确定单元、运动信息推导单元和预测样本推导单元,并且预测模式确定单元可以确定当前块的预测模式,运动信息推导单元可以推导当前块的运动信息,并且预测样本推导单元可以推导当前块的预测样本。例如,编码设备的帧间预测器可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并推导与当前块的差等于或小于预定标准或最小值的参考块。基于此,可以推导指示参考块所位于的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差推导运动向量。编码设备可以确定各种预测模式当中的应用于当前块的模式。编码设备可以比较各种预测模式的RD成本,并确定当前块的最佳预测模式。
例如,当对当前块应用跳过模式或合并模式时,编码设备可以构造合并候选列表,并推导合并候选列表中所包括的合并候选所指示的参考块当中的与当前块的差等于或小于预定标准或最小值的参考块。在这种情况下,可以选择与推导的参考块关联的合并候选,并且可以生成并向解码设备用信号通知指示所选择的合并候选的合并索引信息。可以使用所选择的合并候选的运动信息推导当前块的运动信息。
作为另一示例,当对当前块应用(A)MVP模式时,编码设备可以构造(A)mvp候选列表,并推导从(A)MVP候选列表中所包括的mvp候选当中选择的mvp候选的运动向量。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,具有mvp候选当中的与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以推导作为通过从当前块的运动向量中减去mvp而获得的差的运动向量差(MVD)。在这种情况下,可以将关于MVD的信息用信号通知给解码设备。另外,当应用(A)MVP模式时,参考画面索引的值可以被构造为参考画面索引信息并分开地用信号通知给解码设备。
编码设备可以基于预测样本推导残差样本(S1120)。编码设备可以通过当前块的原始样本与预测样本之间的比较来推导残差样本。
编码设备可以对包括预测信息和残差信息的图像信息进行编码(S1130)。编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程相关的信息。关于运动信息的信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可以包括关于上述MVD的信息和/或参考画面索引信息。另外,关于运动信息的信息可以包括指示是否应用L0预测、L1预测或双预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于针对残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并被发送到解码设备,或者可以经由网络被发送到解码设备。
如上所述,编码设备可以基于参考样本和残差样本生成重构画面(包括重构样本和重构块)。这使编码设备推导与由解码设备执行的预测结果相同的预测结果,由此改善了编码效率。因此,编码设备可以将重构画面(或重构样本和重构块)存储在存储器中,并使用其作为帧间预测的参考画面。如上所述,环路内滤波过程进一步适用于重构画面。
解码设备中的基于帧间预测和帧间预测单元的视频/图像解码过程可以示意性包括例如以下内容。
解码设备可以执行与由编码设备执行的操作对应的操作。解码设备可以基于接收的预测信息针对当前块执行预测,并推导预测样本。
具体地,解码设备可以基于接收的预测信息确定当前块的预测模式(S1210)。图像解码设备可以基于预测信息中的预测模式信息确定对当前块应用哪种帧间预测模式。
例如,可以基于合并标记确定对当前块应用合并模式还是(A)MVP模式。另选地,可以基于模式索引选择各种帧间预测模式候选之一。帧间预测模式候选可以包括跳过模式、合并模式和/或(A)MVP模式,或者可以包括以下将描述的各种帧间预测模式。
解码设备可以基于所确定的帧间预测模式推导当前块的运动信息(S1220)。例如,当对当前块应用跳过模式或合并模式时,解码设备可以构造以下将描述的合并候选列表,并选择合并候选列表中所包括的合并候选之一。可以基于上述候选选择信息(合并索引)执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。所选择的合并候选的运动信息可以被用作当前块的运动信息。
作为另一示例,当对当前块应用(A)MVP模式时,解码设备可以构造(A)MVP候选列表,并使用从(A)MVP候选列表中所包括的mvp候选当中选择的作为当前块的mvp的mvp候选的运动向量。可以基于上述候选选择信息(mvp标志或mvp索引)执行选择。在这种情况下,当前块的MVD可以基于关于MVD的信息推导,并且当前块的运动向量可以基于当前块的mvp和MVD推导。另外,可以基于参考画面索引信息推导当前块的参考画面索引。当前块的参考画面列表中的由参考画面索引指示的画面可以被推导为当前块的帧间预测所参考的参考画面。
此外,如下所述,可以在没有候选列表构造的情况下推导当前块的运动信息,并且在这种情况下,可以根据下述预测模式下公开的过程来推导当前块的运动信息。在这种情况下,可以省略上述候选列表构造。
图像解码设备可以基于当前块的运动信息生成当前块的预测样本(S1230)。这种情况下,可以基于当前块的参考画面索引推导参考画面,并且可以使用参考画面上的由当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在这种情况下,如下所述,在某些情况下,可以针对当前块的所有或一些预测样本进一步执行预测样本滤波过程。
例如,解码设备的帧间预测单元可以包括预测模式确定单元、运动信息推导单元和预测样本推导单元,并且预测模式确定单元可以基于接收的预测模式信息确定当前块的预测模式,运动信息推导单元可以基于接收的运动信息推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元可以推导当前块的预测样本。
解码设备可以基于接收的残差信息生成当前块的残差样本(S1240)。解码设备可以基于预测样本和残差样本生成当前块的重构样本,并基于此生成重构画面(S1250)。此后,环路内滤波过程适用于重构画面,如上所述。
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式推导运动信息的步骤以及基于推导的运动信息执行预测(生成预测样本)的步骤。帧间预测过程可以由编码设备和解码设备执行,如上所述。
量化/解量化
如上所述,编码设备的量化器可以通过对变换系数应用量化来推导量化变换系数,并且编码设备的解量化器或解码设备的解量化器可以通过对量化变换系数应用解量化来推导变换系数。
在移动图像/静止图像的编码和解码中,可以改变量化率并且可以使用改变的量化率调节压缩率。从实现角度,考虑到复杂度,代替直接使用量化率,可以使用量化参数(QP)。例如,可以使用具有从0至63的整数值的量化参数,并且各个量化参数值可以对应于实际量化率。另外,可以不同地设置亮度分量(亮度样本)的量化参数QPY和色度分量(色度样本)的量化参数QPC。
在量化处理中,可以接收变换系数C并除以量化率Qstep,从而获得量化变换。在这种情况下,考虑到计算复杂度,可以将量化率乘以比例以形成整数,并且可以按照与比例值对应的值执行移位操作。可以基于量化率和比例值的乘积推导量化比例。即,可以根据QP推导量化比例。通过对变换系数C应用量化比例,可以推导量化变换系数C’。
解量化处理是量化处理的逆处理。通过将量化变换系数C’乘以量化率Qstep,从而获得重构变换系数C”。另外,可以根据量化参数推导级别比例,并且可以将级别比例应用于量化变换系数C’,从而推导重构变换系数C”。由于变换和/或量化处理的损失,所以重构变换系数C”可能略微不同于初始变换系数C。因此,甚至在编码设备中也可以按照与解码设备中相同的方式执行解量化。
此外,可以应用根据频率调节量化强度的自适应频率加权量化技术。自适应频率加权量化技术是指根据频率不同地应用量化强度的方法。在自适应频率加权量化中,可以使用预定义的量化缩放矩阵根据频率不同地应用量化强度。即,可以基于量化缩放矩阵执行上述量化/解量化处理。例如,根据当前块的大小和/或为了生成当前块的残差信号应用于当前块的预测模式是帧间预测还是帧内预测,可以使用不同的量化缩放矩阵。量化缩放矩阵可以被称为量化矩阵或缩放矩阵。量化缩放矩阵可以预定义。另外,针对频率自适应缩放,量化缩放矩阵的频率量化比例信息可以在编码设备中构建/编码并用信号通知给解码设备。频率量化比例信息可以被称为量化缩放信息。频率量化比例信息可以包括缩放列表数据scaling_list_data。可以基于缩放列表数据推导(修改的)量化缩放矩阵。另外,频率量化比例信息可以包括指示是否存在缩放列表数据的存在标志。另选地,当在较高级别(例如,SPS)用信号通知缩放列表数据时,可以进一步包括指示是否在较低级别(例如,PPS或拼块组头等)修改缩放列表数据的信息。
变换/逆变换
如上所述,编码设备可以基于通过帧内/帧间/IBC预测而预测的块(预测块)推导残差块(残差样本),并且通过对推导的残差样本应用变换和量化来推导量化变换系数。关于量化变换系数的信息(残差信息)可以被包括并编码在残差编码语法中并且以比特流的形式输出。解码设备可以从比特流获取并解码关于量化变换系数的信息(残差信息),以推导量化变换系数。解码设备可以基于量化变换系数通过解量化/逆变换来推导残差样本。如上所述,可以跳过量化/解量化和/或变换/逆变换中的至少一者。当变换/逆变换被跳过时,变换系数可以被称为系数或残差系数,或者为了表达统一,仍可以被称为变换系数。可以基于变换跳过标志(例如,transform_skip_flag)用信号通知变换/逆变换是否被跳过。
可以基于变换内核执行变换/逆变换。例如,用于执行变换/逆变换的多变换选择(MTS)方案是适用的。在这种情况下,可以选择多个变换内核集合中的一些并应用于当前块。变换内核可以被称为诸如变换矩阵或变换类型的各种术语。例如,变换内核集合可以指示垂直方向变换内核(垂直变换内核)和水平方向变换内核(水平变换内核)的组合。
变换/逆变换可以以CU或TU为单位执行。即,变换/逆变换适用于CU中的残差样本或TU中的残差样本。CU大小可以等于TU大小,或者在CU区域中可以存在多个TU。此外,CU大小通常可以指示亮度分量(样本)CB大小。TU大小通常可以指示亮度分量(样本)TB大小。色度分量(样本)CB或TB大小可以根据颜色格式(色度格式)(例如,4:4:4、4:2:2、4:2:0等)根据分量比基于亮度分量(样本)CB或TB大小来推导。TU大小可以基于maxTbSize来推导。例如,当CU大小大于maxTbSize时,可以从CU推导maxTbSize的多个TU(TB),并且可以以TU(TB)为单位执行变换/逆变换。可以考虑maxTbSize来确定是否应用诸如ISP的各种帧内预测类型。关于maxTbSize的信息可以预定或者可以在编码设备中生成并且编码并用信号通知给编码设备。
熵编码
所有或一些视频/图像信息可以由如上面参考图2描述的熵编码器190熵编码,参考图3描述的所有或一些视频/图像信息可以由熵解码器310熵解码。在这种情况下,视频/图像信息可以以语法元素为单位编码/解码。在本公开中,编码/解码信息可以包括通过本段中描述的方法进行的编码/解码。
图13是用于对一个语法元素进行编码的CABAC的框图。在CABAC的编码处理中,首先,当输入信号是二进制值以外的语法元素时,可以通过二值化将输入信号变换为二进制值。当输入信号已经具有二进制值时,可以绕过二值化。这里,配置二进制值的二进制数0或1可以被称为bin。例如,当二值化后的二进制串(bin串)为110时,1、1和0中的每一个可以被称为一个bin。一个语法元素的bin可以表示对应语法元素的值。
二值化的bin可以被输入到常规编码引擎或旁路编码引擎。常规编码引擎可以将反映概率值的上下文模型分配给对应bin并且基于所分配的上下文模型对对应比特进行编码。常规编码引擎可以对各个bin进行编码,然后更新对应bin的概率模型。以这种方式编码的bin可以被称为上下文编码bin。旁路编码引擎可以绕过针对输入bin估计概率的过程以及用于在编码之后更新应用于对应bin的概率模式的过程。代替分配上下文,旁路编码引擎可以通过应用均匀概率分布(例如,50:50)来对输入bin进行编码,从而改进了编码速度。以这种方式编码的bin可以被称为旁路bin。可以针对各个上下文编码(常规编码)的bin分配并更新上下文模型,并且可以基于ctxidx或ctxInc指示上下文模型。可以基于ctxInc推导ctxidx。具体地,例如,针对各个常规编码的bin指示上下文模型的上下文索引ctxidx可以被推导为上下文索引增量ctxInc和上下文索引偏移ctxIdxOffset之和。这里,可以针对各个bin不同地推导ctxInc。ctxIdxOffset可以由ctxIdx的最低值表示。ctxIdx的最低值可以被称为ctxIdx的初始值initValue。ctxIdxOffset通常是用于与其它语法元素的上下文模型进行区分的值,并且可以基于ctxinc区分/推导一个语法元素的上下文模型。
在熵编码过程中,可以确定是通过常规编码引擎还是旁路编码引擎执行编码,并且可以切换编码路径。可以按照与熵编码相同的处理的相反顺序来执行熵解码。
例如,如图14和图15所示,可以执行上述熵编码。参考图14和图15,编码设备(熵编码器)可以对图像/视频信息执行熵编码过程。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测区分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环路内滤波相关信息等,或者可以包括与之有关的各种语法元素。可以以语法元素为单位执行熵编码。图14的步骤S1410至S1420可以由图2的编码设备的熵编码器190执行。
编码设备可以针对目标语法元素执行二值化(S1410)。这里,二值化可以基于诸如截断Rice二值化处理、固定长度二值化处理等的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。二值化过程可以由熵编码器190中的二值化单元191执行。
编码设备可以针对目标语法元素执行熵编码(S1420)。编码设备可以基于诸如CABAC(上下文自适应算术编码)或CAVLC(上下文自适应可变长度编码)的熵编码技术针对目标语法元素的bin串执行基于常规编码(基于上下文)或基于旁路编码的编码,并且其输出可以被包括在比特流中。熵编码过程可以由熵编码器190中的熵编码处理器192执行。如上所述,比特流可以通过(数字)存储介质或网络被发送至解码设备。
参考图16和图17,解码设备(熵解码器)可以对编码的图像/视频信息进行解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测区分信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环路内滤波相关信息等,或者可以包括与之有关的各种语法元素。熵编码可以以语法元素为单位执行。图16的步骤S1610至S1620可以由图3的解码设备的熵解码器210执行。
解码设备可以针对目标语法元素执行二值化(S1610)。这里,二值化可以基于诸如截断Rice二值化处理、固定长度二值化处理等的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。解码设备可以通过二值化过程推导目标语法元素的可用值的可用bin串(bin串候选)。二值化过程可以由熵解码器210中的二值化单元211执行。
解码设备可以针对目标语法元素执行熵解码(S1620)。解码设备可以比较推导的bin串与对应语法元素的可用bin串,同时从比特流中的输入比特依次解码并解析目标语法元素的bin。如果推导的bin串等于可用bin串之一,则与对应bin串对应的值可以被推导为对应语法元素的值。如果否,则可以在进一步解析比特流中的下一比特之后再次执行上述过程。通过这种处理,可以使用可变长度比特用信号通知对应信息,而不使用比特流中的特定信息(特定语法元素)的开始比特或结束比特。由此,相对少的比特可以被分配给低值,并且总体编码效率可以改进。
解码设备可以基于诸如CABAC或CAVLC的熵编码技术针对来自比特流的bin串中的bin执行基于上下文或基于旁路的解码。熵解码过程可以由熵解码器210中的熵解码处理器212执行。比特流可以包括如上所述用于图像/视频解码的各种信息。如上所述,比特流可以通过(数字)存储介质或网络发送至解码设备。
在本公开中,包括语法元素的表(语法表)可以用于指示从编码设备到解码设备的信息信令。包括本公开中使用的语法元素的表的语法元素的顺序可以指示来自比特流的语法元素的解析顺序。编码设备可以构造并编码语法元素,使得解码设备按解析顺序解析语法元素,并且解码设备可以根据解析顺序从比特流解析并解码对应语法表的语法元素并且获得语法元素的值。
一般图像/视频编码过程
在图像/视频编码中,可以根据解码顺序来编码/解码配置图像/视频的画面。可以与解码顺序不同地设置与解码画面的输出顺序对应的画面顺序,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
图18示出本公开的实施方式适用于的示意性画面解码过程的示例。在图18中,S1810可以在解码设备的熵解码器210中执行,S1820可以在包括帧内预测单元265和帧间预测单元260的预测单元中执行,S1830可以在包括解量化器220和逆变换器230的残差处理器中执行,S1840可以在加法器235中执行,S1850可以在滤波器240中执行。S1810可以包括本公开中描述的信息解码过程,S1820可以包括本公开中描述的帧间/帧内预测过程,S1830可以包括本公开中描述的残差处理过程,S1840可以包括本公开中描述的块/画面重构过程,S1850可以包括本公开中描述的环路内滤波过程。
参考图18,画面解码过程可以示意性地包括用于从比特流获得图像/视频信息(通过解码)的过程(S1810)、画面重构过程(S1820至S1840)以及对重构画面的环路内滤波过程(S1850)。画面重构过程可以基于通过本公开中描述的帧间/帧内预测(S1820)和残差处理(S1830)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行。修改的重构画面可以通过对通过画面重构过程生成的重构画面的环路内滤波过程来生成,修改的重构画面可以作为解码画面输出,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时在帧间预测过程中用作参考画面。在一些情况下,可以省略环路内滤波过程。在这种情况下,重构画面可以作为解码画面输出,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时在帧间预测过程中用作参考画面。环路内滤波过程(S1850)可以包括去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波(ALF)过程和/或双边滤波过程,如上所述,其中一些或所有可以省略。另外,去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波(ALF)过程和/或双边滤波过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程之后,可以执行SAO过程。另选地,例如,在对重构画面应用去块滤波过程之后,可以执行ALF过程。这甚至可以在编码设备中类似地执行。
图19示出本公开的实施方式适用于的示意性画面编码过程的示例。在图19中,S1910可以在包括上面参考图2描述的编码设备的帧内预测单元185或帧间预测单元180的预测单元中执行,S1920可以在包括变换器120和/或量化器130的残差处理器中执行,S1930可以在熵编码器190中执行。S1910可以包括本公开中描述的帧间/帧内预测过程,S1920可以包括本公开中描述的残差处理过程,S1930可以包括本公开中描述的信息编码过程。
参考图19,画面编码过程可以示意性地不仅包括用于编码并以比特流的形式输出用于画面重构的信息(例如,预测信息、残差信息、分割信息等)的过程,而且包括用于生成当前画面的重构画面的过程和用于对重构画面应用环路内滤波的过程(可选),如关于图2描述的。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为S1910的输出的预测样本和(修改的)残差样本生成重构画面。以这种方式生成的重构画面可以与解码设备中生成的重构画面相同。类似于解码设备,修改的重构画面可以通过针对重构画面的环路内滤波过程来生成,可以存储在解码画面缓冲器或存储器170中,并且可以在稍后编码画面时在帧间预测过程中用作参考画面。如上所述,在一些情况下,环路内滤波过程的一些或全部可以省略。当执行环路内滤波过程时,(环路内)滤波相关信息(参数)可以在熵编码器190中编码并以比特流的形式输出,解码设备可以基于滤波相关信息使用与编码设备相同的方法执行环路内滤波过程。
通过这种环路内滤波过程,在图像/视频编码期间出现的噪声(例如,块伪影和振铃伪影)可以减少,并且主观/客观视觉质量可以改进。另外,通过在编码设备和解码设备两者中执行环路内滤波过程,编码设备和解码设备可以推导相同的预测结果,画面编码可靠性可以增加,并且要发送以进行画面编码的数据量可以减少。
如上所述,不仅可以在解码设备中,而且可以在编码设备中执行画面重构过程。可以基于帧内预测/帧间预测以块为单位生成重构块,并且可以生成包括重构块的重构画面。在当前画面/切片/拼块组是I画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以仅基于帧内预测来重构。此外,在当前画面/切片/拼块组是P或B画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以基于帧内预测或帧间预测来重构。在这种情况下,帧间预测可以应用于当前画面/切片/拼块组中的一些块,并且帧内预测可以应用于剩余块。画面的颜色分量可以包括亮度分量和色度分量,并且除非本公开中明确地限制,否则本公开的方法和实施方式适用于亮度分量和色度分量。
编码层和结构的示例
例如,可以根据下面将描述的编码层和结构来处理根据本公开的编码视频/图像。
图20是示出编码图像的层结构的图。编码图像可以被分类为用于图像解码处理和自身处理的视频编码层(VCL)、用于发送和存储编码的信息的下层系统以及存在于VCL与下层系统之间并负责网络适配功能的网络抽象层(NAL)。
在VCL中,可以生成包括压缩图像数据(切片数据)的VCL数据,或者可以生成图像的解码处理另外需要的补充增强信息(SEI)消息或者包括诸如画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)的信息的参数集。
在NAL中,头信息(NAL单元头)可以被添加到VCL中生成的原始字节序列有效载荷(RBSP),以生成NAL单元。在这种情况下,RBSP是指切片数据、参数集、VCL中生成的SEI消息。NAL单元头可以包括根据包括在对应NAL单元中的RBSP数据指定的NAL单元类型信息。
如图中所示,NAL单元可以根据VCL中生成的RBSP被分类为VCL NAL单元和非VCLNAL单元。VCL NAL单元可以意指包括关于图像的信息(切片数据)的NAL单元,非VCL NAL单元可以意指包括对图像进行解码所需的信息(参数集或SEI消息)的NAL单元。
VCL NAL单元和非VCL NAL单元可以附接头信息并根据下层系统的数据标准通过网络发送。例如,NAL单元可以被修改为诸如H.266/VVC文件格式、RTP(实时传输协议)或TS(传输流)的预定标准的数据格式,并通过各种网络发送。
如上所述,在NAL单元中,NAL单元类型可以根据包括在对应NAL单元中的RBSP数据结构来指定,并且关于NAL单元类型的信息可以被存储在NAL单元头中并用信号通知。
例如,这可以根据NAL单元是否包括关于图像的信息(切片数据)大致分类为VCLNAL单元类型和非VCL NAL单元类型。VCL NAL单元类型可以根据包括在VCL NAL单元中的画面的性质和类型来分类,非VCL NAL单元类型可以根据参数集的类型来分类。
下面将列出根据包括在非VCL NAL单元类型中的参数集/信息的类型指定的NAL单元类型的示例。
-DCI(解码能力信息)NAL单元:包括DCI的NAL单元类型
-VPS(视频参数集)NAL单元:包括VPS的NAL单元类型
-SPS(序列参数集)NAL单元:包括SPS的NAL单元类型
-PPS(画面参数集)NAL单元:包括PPS的NAL单元类型
-APS(自适应参数集)NAL单元:包括APS的NAL单元类型
-PH(画面头)NAL单元:包括PH的NAL单元类型
上述NAL单元类型可以具有NAL单元类型的语法信息,并且该语法信息可以被存储在NAL单元头中并用信号通知。例如,语法信息可以是nal_unit_type,并且NAL单元类型可以被指定为nal_unit_type值。
此外,如上所述,一个画面可以包括多个切片,并且一个切片可以包括切片头和切片数据。在这种情况下,可以向一个画面中的多个切片(切片头和切片数据集)进一步添加一个画面头。画面头(画面头语法)可以包括共同适用于画面的信息/参数。
切片头(切片头语法)可以包括共同适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括共同适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括共同适用于多个层的信息/参数。DCI(DCI语法)可以包括共同适用于整个视频的信息/参数。DCI可以包括与解码能力相关的信息/参数。在本公开中,高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DCI语法、画面头语法或切片头语法中的至少一者。此外,在本公开中,低级语法(LLS)可以包括例如切片数据语法、CTU语法、编码单元语法、变换单元语法等。
在本公开中,在编码设备中编码并以比特流的形式用信号通知给解码设备的图像/视频信息不仅可以包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且可以包括关于切片头的信息、关于画面头的信息、关于APS的信息、关于PPS的信息、关于SPS的信息、关于VPS的信息和/或关于DCI的信息。另外,图像/视频信息还可以包括通用约束信息和/或关于NAL单元头的信息。
使用子画面、切片和拼块分割画面
一个画面可以被分割成至少一个拼块行和至少一个拼块列。一个拼块可以由CTU的序列组成,并且可以覆盖一个画面的矩形区域。
切片可以由一个画面中的整数个完整拼块或整数个连续的完整CTU行组成。
对于切片,可以支持两种模式:一种模式可以被称为光栅扫描切片模式,而另一模式可以被称为矩形切片模式。在光栅扫描切片模式下,一个切片可以包括以拼块光栅扫描顺序存在于一个画面中的完整拼块序列。在矩形切片模式下,一个切片可以包括被组装以形成画面的矩形区域的多个完整拼块或被组装以形成画面的矩形区域的一个拼块的多个连续的完整CTU行。矩形切片中的拼块可以在对应于切片的矩形区域中以拼块光栅扫描顺序被扫描。子画面可以包括被组装以覆盖画面的矩形区域的至少一个切片。
为了更详细地描述画面的分割关系,将参考图21至图24给出描述。图21至图24示出了使用拼块、切片和子画面分割画面的实施方式。图21示出了被分割成12个拼块和三个光栅扫描切片的画面的示例。图22示出了被分割成24个拼块(六个拼块列和四个拼块行)和9个矩形切片的画面的示例。图23示出了被分割成四个拼块(两个拼块列和两个拼块行)和四个矩形切片的画面的示例。
图24示出了将画面分割成子画面的示例。在图24中,画面可以被分割成覆盖由4×4个CTU组成的一个切片的12个左拼块以及覆盖由2×2个CTU组成的垂直组装的两个切片的6个右拼块,使得一个画面被分割成具有不同区域的24个切片和24个子画面。在图24的示例中,个体切片对应于个体子画面。
环路内滤波的概述
可以对通过上述过程生成的重构画面执行环路内滤波过程。可以通过环路内滤波过程生成修改的重构画面,并且修改的重构画面可以作为解码画面从解码设备输出,可以被存储在编码设备/解码设备的存储器或解码画面缓冲器中,并且可以在编码/解码画面时用作帧间预测过程中的参考画面。如上所述,环路内滤波过程可以包括去块滤波过程、样本自适应偏移(SAO)过程和/或自适应环路滤波(ALF)过程。在这种情况下,可以依次应用去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波(ALF)过程和双边滤波过程中的一者或一些,或者可以依次应用全部。例如,在对重构画面应用去块滤波过程之后,可以执行SAO过程。另选地,例如,在对重构画面应用去块滤波过程之后,可以执行ALF过程。这也可以在编码设备中执行。
去块滤波是去除重构画面中块之间的边界处的失真的滤波技术。去块滤波过程可以例如从重构画面推导目标边界,确定目标边界的边界强度bS,并基于bS对目标边界执行去块滤波。可以基于与目标边界相邻的两个块的预测模式、运动向量差、参考画面是否相同、是否存在非零有效系数等来确定bS。
SAO是以样本为单位补偿重构画面与原始画面之间的偏移差的方法,并且可以基于例如诸如带偏移和边缘偏移这样的类型来应用。根据SAO,样本可以根据每种SAO类型被分类为不同类别,并且可以基于类别向每个样本添加偏移值。SAO的滤波信息可以包括关于是否应用SAO的信息、SAO类型信息、SAO偏移值信息等。在应用去块滤波之后,可以对重构画面应用SAO。
自适应环路滤波(ALF)是根据滤波形状基于滤波系数以样本为单位对重构画面进行滤波的技术。编码设备可以通过重构画面与原始画面之间的比较来确定是否应用ALF、ALF形状和/或ALF滤波系数等,并且可以将其用信号通知给解码设备。即,ALF的滤波信息可以包括关于是否应用ALF的信息、ALF滤波形状信息、ALF滤波系数信息等。在应用去块滤波之后,可以对重构画面应用ALF。
是否应用环路内滤波的信令
如上所述,HLS可以被编码和/或用信号通知,以进行视频和/或图像编码。如上所述,本说明书中的视频/图像信息可以被包括在HLS中。另外,可以基于这样的图像/视频信息执行图像/视频编码方法。
在实施方式中,一个画面可以以诸如子画面、切片和/或拼块的分割单位被分割。另外,可以用信号通知是否对这种分割单位的边界应用滤波。例如,一个画面可以被分割成多个拼块。在这种情况下,可以执行跨拼块的边界的环路内滤波。另选地,一个画面可以被分割成多个切片。在这种情况下,可以执行跨切片的边界的环路内滤波。在这种情况下,是否执行跨拼块的边界和/或切片的边界的环路内滤波可以通过HLS来用信号通知。
图25是例示了用于用信号通知是否在拼块的边界和/或切片的边界处执行环路内滤波的PPS的语法的实施方式的视图。在图25的语法中,语法元素no_pic_partition_flag2510可以指示是否对参考PPS的个体画面应用画面分割。例如,no_pic_partition_flag2510的第一值(例如,0)可以指示参考PPS的个体画面可以被分割成超过一个拼块或切片。no_pic_partition_flag 2510的第二值(例如,1)可以指示参考PPS的个体画面没有被分割。此外,no_pic_partition_flag 2510可以被限制成对于一个序列中存在的所有PPS都具有相同的值。
在实施方式中,语法元素no_pic_partition_flag 2510可以被用作在画面被分割成超过一个拼块和/或切片时用信号通知用于分割拼块和/或切片的信息的条件,并且这可以作为条件语句被包括在语法中,如同图25的附图标记2520一样。例如,编码设备可以使用no_pic_partition_flag 2510向解码设备用信号通知关于拼块和/或切片的分割的信息是否被包括在比特流中。另外,当no_pic_partition_flag 2510的值为1时,解码设备可以不从比特流解析关于拼块和/或切片的分割的信息。当no_pic_partition_flag 2510的值为0时,解码设备可以根据附加信息从比特流解析关于拼块和/或切片的分割的信息。
对于以上实现方式,当no_pic_partition_flag 2510指示画面可以被分割成拼块或切片时,指示可以从比特流获得以下语法元素的PPS语法可以被实现为图25的示例。
语法元素pps_log2_ctu_size_minus5可以指示个体CTU的亮度编码树块大小。具体地,编码设备可以将pps_log2_ctu_size_minus5的值确定为通过从个体CTU的亮度编码树块大小减去5而获得的值。解码设备可以将通过将5与pps_log2_ctu_size_minus5相加而获得的值确定为个体CTU的亮度编码树块大小。
语法元素num_exp_tile_columns_minus1可以指示显式用信号通知的拼块列的宽度值的数值。例如,解码设备可以将显式用信号通知的拼块列的宽度值的数值确定为通过将1与num_exp_tile_columns_minus1相加而获得的值。num_exp_tile_columns_minus1的值可以具有从0至PicWidthInCtbY-1的值。这里,PicWidthInCtbY可以指示以亮度编码块的宽度为单位表示的画面的宽度。此外,当no_pic_partition_flag的值为1时,num_exp_tile_columns_minus1的值可以被推导为0。
语法元素num_exp_tile_rows_minus1可以指示显式用信号通知的拼块行的高度值的数值。例如,解码设备可以将显式用信号通知的拼块行的高度值的数值确定为通过将1与num_exp_tile_rows_minus1相加而获得的值。num_exp_tile_rows_minus1的值可以具有从0至PicHeightInCtbY-1的值。PicHeightInCtbY可以指示以亮度编码块的高度为单位表示的画面的高度。当no_pic_partition_flag的值为1时,num_exp_tile_rows_minus1的值可以被推导为0。
语法元素tile_column_width_minus1[i]可以指示参考PPS的画面的第i拼块列的宽度。例如,解码设备可以将通过将1与tile_column_width_minus1[i]相加而获得的值确定为第i拼块列的宽度。语法元素tile_column_width_minus1[i]可以基于num_exp_tile_columns_minus1的值从比特流获得,如图25的语法中一样。
语法元素tile_row_height_minus1[i]可以指示参考PPS的画面的第i拼块行的高度。例如,解码设备可以将通过将1与tile_row_height_minus1[i]相加而获得的值确定为第i拼块行的高度。语法元素tile_row_height_minus1[i]可以基于num_exp_tile_rows_minus1的值从比特流获得,如图25的语法中一样。
此外,可以基于num_exp_tile_columns_minus1和num_exp_tile_rows_minus1的值计算变量NumTilesInPic。在实施方式中,解码设备可以将指示参考PPS的画面中拼块的数量的变量NumTilesInPic的值确定为(num_exp_tile_columns_minus1+1)×(num_exp_tile_rows_minus1+1)的值。
当NumTilesInPic的值大于1时,可以从比特流获得语法元素rect_slice_flag。例如,当画面被分割成两个或更多个拼块时,可以获得语法元素rect_slice_flag。
语法元素rect_slice_flag可以指示是对参考PPS的个体画面应用光栅扫描切片模式还是使用矩形切片模式。例如,rect_slice_flag的第一值(例如,0)可以指示对参考PPS的个体画面应用光栅扫描切片模式。在这种情况下,可以省略切片的布局的信令。rect_slice_flag的第二值(例如,1)可以指示针对参考PPS的个体画面使用矩形切片模式。在这种情况下,如下所述,可以通过PPS用信号通知切片的布局。当不用信号通知rect_slice_flag时,解码设备可以将rect_slice_flag的值推导为1。
当语法元素rect_slice_flag的值为1时,可以用信号通知语法元素single_slice_per_subpic_flag。single_slice_per_subpic_flag的第一值(例如,0)可以指示个体子画面可以由超过一个矩形切片组成。single_slice_per_subpic_flag的第二值(例如,1)可以指示个体子画面仅由一个矩形切片组成。
此外,当rect_slice_flag的值为1并且single_slice_per_subpic_flag的值为0时,可以用信号通知语法元素num_slices_in_pic_minus1。例如,当画面被分割成两个或更多个矩形切片时,可以用信号通知指示参考PPS的个体画面中矩形切片的数量的语法元素num_slices_in_pic_minus1,以用信号通知矩形切片的布局。例如,解码设备可以将画面中矩形切片的数量确定为通过将1与num_slices_in_pic_minus1相加而获得的值。num_slices_in_pic_minus1的值可以具有从0至MaxSlicePerAu-1的值。变量MaxSlicePerAu可以指示每访问单元允许的最大切片数量,例如,可以指示当前画面中允许的最大切片数量。
基于num_slices_in_pic_minus1的值,也可以如同图25的语法一样获得语法元素tile_idx_delta_present_flag、slice_width_in_tiles_minus1、slice_height_in_tiles_minus1、num_exp_slices_in_tile、exp_slice_height_in_ctus_minus1和tile_idx_delta。这里,语法元素tile_idx_delta_present_flag可以指示是否从比特流获得用作用于标识画面中的矩形切片的索引的语法元素tile_idx_delta。通过将1与语法元素slice_width_in_tiles_minus1[i]相加而获得的值可以以拼块列为单位表示第i矩形切片的宽度。通过将1与语法元素slice_height_in_tiles_minus1[i]相加而获得的值可以指示以拼块行为单位的第i矩形切片的高度。
语法元素num_exp_slices_in_tile[i]可以指示针对包括第i切片的拼块中的切片显式地提供的切片高度的数值。通过将1与语法元素exp_slice_height_in_ctus_minus1[j]相加而获得的值可以指示包括第i切片的拼块中的第j矩形切片的高度,并且所述单位可以具有CTU行的单位。语法元素tile_idx_delta[i]可以指示第i矩形切片中的包括第一CTU的拼块的索引与第(i+1)矩形切片中的包括第一CTU的拼块的索引之间的差。
语法元素loop_filter_across_tiles_enabled_flag 2530可以指示是否跨参考PPS的画面中的拼块的边界执行滤波操作。例如,loop_filter_across_tiles_enabled_flag的第一值(例如,0)指示在参考包括该语法元素的PPS的画面中,未跨画面中的拼块的边界执行环路内滤波操作。loop_filter_across_tiles_enabled_flag的第二值(例如,1)指示可以跨参考包括该语法元素的PPS的画面中的拼块的边界执行环路内滤波操作。
这里,环路内滤波操作可以包括去块滤波、样本自适应偏移(SAO)滤波和/或自适应环路滤波(ALF)。当没有从比特流获得(例如,没有提供)loop_filter_across_tiles_enabled_flag的值时,语法元素的值可以被推导为第二值(例如,1)。此外,在另一实施方式中,当没有从比特流获得(例如,没有提供)loop_filter_across_tiles_enabled_flag的值时,语法元素的值可以被推导为第一值(例如,0)。
语法元素loop_filter_across_slices_enabled_flag 2540可以指示是否跨参考PPS的画面中的切片的边界执行滤波操作。例如,loop_filter_across_slices_enabled_flag的第一值(例如,0)可以指示没有跨参考包括该语法元素的PPS的画面中的切片的边界执行环路内滤波操作。
loop_filter_across_slices_enabled_flag的第二值(例如,1)可以指示可以跨参考包括该语法元素的PPS的画面中的切片的边界执行环路内滤波操作。
这里,如上所述,环路内滤波操作可以包括去块滤波、SAO滤波和/或ALF。当没有从比特流获得(例如,没有提供)loop_filter_across_slices_enabled_flag的值时,语法元素的值可以被推导为第一值(例如,0)。
在实施方式中,每个画面可以以拼块为单位被分割。在这种情况下,在一个画面中可以存在两个或更多个拼块,并且可以通过在个体PPS中用信号通知的loop_filter_across_tiles_enabled_flag 2530来确定是否对每个拼块区域的边界部分应用环路内滤波。
在图25的示例中,当在一个画面中存在两个或更多个拼块(例如,no_pic_partition_flag==0)时,loop_filter_across_tiles_enabled_flag的值可以总是被用信号通知,以确定是否在边界区域中应用环路内滤波。然而,考虑到即使在一个画面中仅存在多个拼块时也用信号通知标志的事实,可以进行改进,使得可以在考虑存在的拼块的数量的情况下用信号通知标志,以便减少发送的比特的量。
例如,在图25的示例中,当no_pic_partition_flag的值为第一值(例如,0)时,这意味着当前画面被分割成超过一个拼块或切片。在实施方式中,当no_pic_partition_flag的值为第一值(例如,0)时,由于在一个画面中可以存在两个或更多个拼块,因此loop_filter_across_tiles_enabled_flag的值可以总是被用信号通知,以确定在拼块边界区域中是否应用环路内滤波。然而,no_pic_partition_flag的值为第一值(例如,0)的情况包括以下情况:一个画面没有被分割成拼块,而是仅被分割成切片。因此,即使在一个画面中不存在拼块并且仅存在多个切片时,也可以用信号通知loop_filter_across_tiles_enabled_flag。考虑到这一点,可以进行改进,以在考虑存在的拼块的数量的情况下用信号通知标志,以便减少发送的比特的量。
图26是例示为了解决以上问题而在考虑拼块的数量的情况下用信号通知语法元素loop_filter_across_tiles_enabled_flag的语法的实施方式的视图。如图26所示,可以基于属于画面的拼块的数量(例如,NumTilesInPic)用信号通知语法元素loop_filter_across_tiles_enabled_flag 2620。例如,如图26所示,只有当属于画面的拼块的数量大于1时(2610),才可以通过比特流用信号通知loop_filter_across_tiles_enabled_flag2620。因此,只有当属于画面的拼块的数量大于1时(2610),编码设备才可以将loop_filter_across_tiles_enabled_flag 2620编码为比特流,并且解码设备可以从比特流获得loop_filter_across_tiles_enabled_flag 2620。
此外,在图25的实施方式中,每个画面可以以切片为单位被分割。在这种情况下,在一个画面中可以存在两个或更多个切片,并且可以通过在个体PPS中用信号通知的loop_filter_across_slices_enabled_flag来确定是否对每个切片区域的边界部分应用环路内滤波。更具体地,当在一个画面中存在两个或更多个切片(例如,no_pic_partition_flag==0)时,loop_filter_across_slices_enabled_flag的值可以总是被用信号通知,以确定是否在边界区域中应用环路内滤波。然而,考虑到即使在一个画面中仅存在多个切片时也用信号通知标志的事实,可以进行改进,使得可以在考虑存在的切片的数量的情况下用信号通知标志,以便减少发送的比特的量。
在实施方式中,即使当no_pic_partition_flag的值为第一值(例如,0)时,参考PPS的画面也可以仅被分割成拼块,并且可以不被分割成切片。然而,在图25的示例中,即使当如上所述画面被分割成拼块而没有被分割成切片时,loop_filter_across_slices_enabled_flag的值也总是被用信号通知。以这种方式,考虑到即使在一个画面中仅存在多个拼块时也用信号通知loop_filter_across_slices_enabled_flag的事实,可以对图25的实施方式进行改进,使得可以在考虑存在的切片的数量的情况下用信号通知标志,以便减少发送的比特的量。
图27是例示为了解决以上问题而在考虑切片的数量的情况下用信号通知语法元素loop_filter_across_slices_enabled_flag的语法的实施方式的视图。如图27所示,可以基于属于画面的切片的数量(例如,num_slices_in_pic_minus1)用信号通知语法元素loop_filter_across_slices_enabled_flag 2720。例如,如图27所示,只有当属于画面的切片的数量大于1时(2710),才可以通过比特流用信号通知loop_filter_across_slices_enabled_flag 2720。因此,只有当属于画面的切片的数量大于1时(2710),编码设备才可以对loop_filter_across_slices_enabled_flag 2720进行编码以生成比特流,并且解码设备可以从比特流获得loop_filter_across_slices_enabled_flag 2720。
此外,num_slices_in_pic_minus1是当画面被分割成两个或更多个矩形切片时用信号通知以指示参考PPS的个体画面中矩形切片的数量从而用信号通知矩形切片的布局的语法元素。当对个体画面应用光栅扫描切片模式时,个体画面仍然可以被分割成多个切片。因此,语法可以被修改,使得即使当rect_slice_flag的值指示指示光栅扫描切片模式的第一值(例如,0)时,也可以用信号通知loop_filter_across_slices_enabled_flag 2720。
另外,当single_slice_per_subpic_flag的值为第二值(例如,1)时,由于画面可以被分割成多个子画面,因此一个画面可以由多个切片组成。因此,语法可以被修改,使得即使当single_slice_per_subpic_flag的值指示第二值(例如,1)时,也可以用信号通知loop_filter_across_slices_enabled_flag 2720。
以这种方式,当没有从比特流获得num_slices_in_pic_minus1的值时,由于没有用信号通知当前画面被分割成多少个切片,因此可以修改语法,使得即使当没有从比特流获得num_slices_in_pic_minus1的值,也可以用信号通知loop_filter_across_slices_enabled_flag 2720。例如,在图27的示例中,作为从比特流获得num_slices_in_pic_minus1的条件,要求rect_slice_flag的值为1并且single_slice_per_subpic_flag的值为0。就此而言,当rect_slice_flag的值为0或single_slice_per_subpic_flag的值为1时,可以从比特流获得loop_filter_across_slices_enabled_flag的值,而不管num_slices_in_pic_minus1的值是否大于1。对于该处理,可以如图28中所示地修改PPS语法。
图28是例示应用参考图25至图27描述的loop_filter_across_tiles_enabled_flag和loop_filter_across_slices_enabled_flag的信令的PPS的语法的实施方式的视图。在图28的实施方式中,在参考图25和图28描述的语法元素的一些名称中添加pps_。例如,上述语法no_pic_partition_flag被命名为pps_no_pic_partition_flag。
参考图28,如果pps_no_pic_partition_flag具有指示画面可以被分割成拼块或切片中的至少一者的值(例如,0),则可以使用指示参考PPS的画面具有多少拼块列的语法元素pps_num_exp_tile_columns_minus1以及指示参考PPS的画面具有多少拼块行的pps_num_exp_tile_rows_minus1来用信号通知当前画面被分割成多少拼块。然后,当前画面中所包括的拼块的数量可以被计算为(pps_num_exp_tile_columns_minus1+1)×(pps_num_exp_tile_rows_minus1+1),并被记录在变量NumTileInPic中。
如上所述,只有当NumTileInPic的值大于1时,即,只有当在当前画面中存在超过一个拼块时,才可以获得指示是否可以跨拼块的边界应用滤波的pps_loop_filter_across_tiles_enabled_flag语法元素以及pps_rect_slice_flag语法元素。另外,当pps_rect_slice_flag的值为1时,可以从比特流获得pps_single_slice_per_subpic_flag。当pps_rect_slice_flag的值为1并且pps_single_slice_per_subpic_flag的值为0时,可以从比特流获得pps_num_slice_in_pic_minus1语法元素。另外,当pps_rect_slice_flag的值为0,pps_single_slice_per_subpic_flag的值为1或pps_num_slices_in_pic_minus1的值大于1时,可以从比特流获得pps_loop_filter_across_slices_enabled_flag的值。
编码和解码方法
下文中,将描述由根据实施方式的图像编码和解码设备执行的图像编码和解码方法。
首先,将描述解码设备的操作。根据实施方式的图像解码设备包括存储器和处理器,并且解码设备可以根据处理器的操作执行解码。图29例示了根据实施方式的解码设备的解码方法。
根据实施方式的解码设备可以基于当前画面的分割不受限制确定当前画面中拼块的数量(例如,NumTilesInPic)(S2910)。例如,解码设备可以从比特流获得指示当前画面的分割是否受限制的分割限制标志(例如,no_pic_partition_flag),并且可以基于分割限制标志确定当前画面的分割是否受限制。
接下来,解码设备可以基于当前画面中拼块的数量为多个来从比特流获得指示对拼块的边界的滤波是否可用的第一标志(例如,loop_filter_across_tiles_enabled_flag)(S2920)。这里,可以基于指示分割当前画面的拼块的数量的拼块数量信息确定当前画面中拼块的数量。这里,可以基于当前画面的分割不受限制来从比特流获得拼块数量信息。另外,拼块数量信息可以包括指示画面中拼块列的数量的信息(例如,num_exp_tile_columns_minus1)和指示画面中拼块行的数量的信息(例如,num_exp_tile_rows_minus1)。
接下来,解码设备可以基于第一标志的值确定是否对属于当前画面的拼块的边界执行滤波(S2930)。这里,滤波的类型可以是如上所述的去块滤波、SAO滤波和ALF滤波中的任一种。例如,当第一标志指示滤波不可用时,去块滤波、SAO滤波和ALF滤波当中的用于解码对应图像的滤波可以不应用于拼块的边界。
另外,解码设备可以基于当前画面的分割不受限制来从比特流获得指示对切片的边界的滤波是否可用的第二标志(例如,loop_filter_across_slices_enabled_flag)(S2940)。
例如,解码设备可以基于当前画面的分割不受限制来从比特流获得关于构成画面的切片的信息。另外,解码设备可以基于关于切片的信息不指示画面由一个切片组成来从比特流获得第二标志。
另选地,解码设备可以基于关于切片的信息指示未对画面应用矩形切片模式(例如,rect_slice_flag==0)来从比特流获得第二标志。另选地,解码设备可以基于关于切片的信息指示画面的子画面仅由一个矩形切片组成(例如,rect_slice_flag==0或pps_single_slice_per_subpic_flag==1)来从比特流获得第二标志。
另选地,解码设备可以基于关于切片的信息指示当前画面中切片的数量为多个(例如,num_slices_in_pic_minus1>0)来从比特流获得第二标志。例如,可以基于当前画面的分割不受限制,确定构成画面的切片是否是矩形切片,可以基于构成画面的切片是矩形切片,确定画面的子画面是否仅由一个矩形切片组成,基于由超过一个矩形切片组成的画面的子画面来从比特流获得指示当前画面中切片的数量的信息,并且可以基于指示当前画面中切片的数量的信息来确定当前画面中切片的数量是否为多个。
然后,解码设备可以基于第二标志的值来确定是否对属于当前画面的切片的边界执行滤波(S2950)。例如,当第二标志指示滤波不可用时,去块滤波、SAO滤波和ALF滤波当中的用于解码对应图像的滤波可以不应用于切片的边界。
接下来,将描述编码设备的操作。根据实施方式的图像编码设备包括存储器和处理器,并且编码设备可以通过处理器的操作以与解码设备的解码对应的方式执行编码。例如,如图30所示,编码设备可以基于当前画面的分割不受限制来确定当前画面中拼块的数量(例如,NumTilesInPic)(S3010)。接下来,编码设备可以基于当前画面中拼块的数量为多个来确定指示对拼块的边界的滤波是否可用的第一标志(例如,loop_filter_across_tiles_enabled_flag)的值(S3020)。此外,编码设备还可以基于当前画面的分割不受限制来确定当前画面是否由一个切片组成(S3030)。另外,编码设备可以基于当前画面不由一个切片组成来确定指示对切片的边界的滤波是否可用的第二标志(例如,loop_filter_across_slices_enabled_flag)的值(S3040)。
接下来,编码设备可以生成包括第一标志或第二标志中的至少一者或不包括其中任何一者的比特流(S3050)。例如,编码设备可以不基于画面中拼块的数量不为多个并且当前画面由一个切片组成来确定第一标志和第二标志的值,并且可以生成不包括第一标志和第二标志的比特流。另外,分割限制标志(例如,no_pic_partition_flag)的值可以根据当前画面分割是否受限制来设置,并且分割限制标志也可以被包括在比特流中。
如上所述,由于在编码和解码方法中利用了no_pic_partition_flag,因此在no_pic_partition_flag中用信号通知当前画面是否被分割成拼块和/或切片。另外,相应地,用信号通知关于拼块的分割的信息和关于切片数量的信息。就此而言,如果仅是确定了是否仅基于no_pic_partition_flag的值来确定是否用信号通知loop_filter_across_tiles_enabled_flag和loop_filter_across_slices_enabled_flag,则在当前画面被分割成仅切片或仅拼块时,不必用信号通知loop_filter_across_tiles_enabled_flag或loop_filter_across_slices。
另外,为了减少loop_filter_across_tiles_enabled_flag和loop_filter_across_slices_enabled_flag的信令,连同no_pic_partition_flag一起的指示当前画面是否被分割成拼块的标志和指示当前画面是否被分割成切片的标志的信令在比特减少方面并没有帮助。
然而,如在本说明书中描述的,连同no_pic_partition_flag一起,用于基于分割画面的拼块的数量和分割画面的切片的数量来确定是否用信号通知loop_filter_across_tiles_enabled_flag和loop_filter_across_slices_enabled_flag的配置使得能够在没有附加标志的情况下确定loop_filter_across_tiles_enabled_flag和loop_filter_across_slices_enabled_flag是否是从拼块和切片的解析信息中用信号通知的。因此,本公开中描述的技术思想可以在当前画面可以被分割成拼块和/或切片的编码/解码环境中降低在比特流中生成对应标志的频率,由此减小比特流的大小。
应用实施方式
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本公开的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码设备或图像解码设备可以执行确认对应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码设备或图像解码设备可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
另外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播发送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可以用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院系统、智能电话、平板PC、数字录像机(DVR)等。
图31是示出可应用本公开的实施方式的内容流系统的视图。
如图31所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据,以生成比特流并将该比特流发送到流服务器。作为另一示例,当诸如智能电话、相机、摄像机等的多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备生成,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以用于对图像进行编码或解码。
Claims (15)
1.一种由图像解码设备执行的图像解码方法,所述图像解码方法包括以下步骤:
基于当前画面的分割不受限制,确定所述当前画面中拼块的数量;
基于所述当前画面中拼块的数量为多个,从比特流获得对拼块的边界的滤波的第一标志;以及
基于所述第一标志的值,确定是否对属于所述当前画面的所述拼块的所述边界执行滤波。
2.根据权利要求1所述的图像解码方法,
其中,从所述比特流获得所述当前画面的分割的分割限制标志,并且
其中,基于所述分割限制标志确定所述当前画面的分割是受限制的。
3.根据权利要求1所述的图像解码方法,其中,基于分割所述当前画面的拼块的数量的拼块数量信息,确定所述当前画面中拼块的数量。
4.根据权利要求3所述的图像解码方法,其中,所述拼块数量信息包括所述画面中拼块列的数量的信息和所述画面中拼块行的数量的信息。
5.根据权利要求3所述的图像解码方法,其中,基于所述当前画面的分割不受限制,从所述比特流获得所述拼块数量信息。
6.根据权利要求1所述的图像解码方法,所述图像解码方法还包括以下步骤:
基于所述当前画面的分割不受限制,从所述比特流获得对切片的边界的滤波的第二标志;以及
基于所述第二标志的值,确定是否对属于所述当前画面的所述切片的所述边界执行滤波。
7.根据权利要求6所述的图像解码方法,
其中,基于所述当前画面的分割不受限制,从所述比特流获得关于构成所述画面的切片的信息,并且
其中,基于关于所述切片的信息不表示所述画面由一个切片组成,从所述比特流获得所述第二标志。
8.根据权利要求7所述的图像解码方法,其中,基于关于所述切片的信息表示未对所述画面应用矩形切片模式,从所述比特流获得所述第二标志。
9.根据权利要求7所述的图像解码方法,其中,基于关于所述切片的信息表示所述画面的子画面仅由一个矩形切片组成,从所述比特流获得所述第二标志。
10.根据权利要求7所述的图像解码方法,其中,基于关于所述切片的信息表示所述当前画面中切片的数量为多个,从所述比特流获得所述第二标志。
11.根据权利要求10所述的图像解码方法,
其中,基于所述当前画面的分割不受限制,确定构成所述画面的所述切片是否是矩形切片,
其中,基于构成所述画面的所述切片是否是矩形切片,确定所述画面的子画面是否仅由一个矩形切片组成,
其中,基于所述画面的所述子画面由超过一个矩形切片组成,从所述比特流获得所述当前画面中切片的数量的信息,并且
其中,基于所述当前画面中切片的数量的信息,确定所述当前画面中切片的数量是否为多个。
12.一种图像解码设备,所述图像解码设备包括存储器和至少一个处理器,
其中,所述至少一个处理器被配置为:
基于当前画面的分割不受限制,确定所述当前画面中拼块的数量,
基于所述当前画面中拼块的数量为多个,从比特流获得对拼块的边界的滤波的第一标志,以及
基于所述第一标志的值,确定是否对属于所述当前画面的所述拼块的所述边界执行滤波。
13.一种由图像编码设备执行的图像编码方法,所述图像编码方法包括以下步骤:
基于当前画面的分割不受限制,确定所述当前画面中拼块的数量;
基于所述当前画面中拼块的数量为多个,确定对拼块的边界的滤波的第一标志的值;以及
生成包括所述第一标志的比特流。
14.根据权利要求13所述的图像编码方法,所述图像编码方法还包括以下步骤:
基于所述当前画面的分割不受限制,确定所述当前画面是否由一个切片组成;以及
基于所述当前画面不由一个切片组成,确定对切片的边界的滤波的第二标志的值,
其中,所述第二标志被包括在所述比特流中。
15.一种存储有比特流的计算机可读记录介质,所述比特流使解码设备执行根据权利要求1所述的解码方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062977060P | 2020-02-14 | 2020-02-14 | |
US62/977,060 | 2020-02-14 | ||
PCT/KR2021/001856 WO2021162494A1 (ko) | 2020-02-14 | 2021-02-15 | 필터 가용 정보를 선택적으로 시그널링 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115088256A true CN115088256A (zh) | 2022-09-20 |
Family
ID=77292432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180014308.XA Pending CN115088256A (zh) | 2020-02-14 | 2021-02-15 | 选择性地用信号通知滤波可用信息的图像编码/解码方法和装置以及发送比特流的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230080116A1 (zh) |
JP (1) | JP7541102B2 (zh) |
KR (1) | KR20220136436A (zh) |
CN (1) | CN115088256A (zh) |
WO (1) | WO2021162494A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021107638A1 (ko) * | 2019-11-27 | 2021-06-03 | 엘지전자 주식회사 | 슬라이스 관련 정보를 시그널링하는 방법 및 장치 |
CN115211126A (zh) * | 2020-02-14 | 2022-10-18 | 抖音视界有限公司 | 环路滤波和视频条带之间的相互作用 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150023409A1 (en) * | 2012-04-13 | 2015-01-22 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Low delay picture coding |
WO2015056941A1 (ko) * | 2013-10-14 | 2015-04-23 | 한국전자통신연구원 | 다계층 기반의 영상 부호화/복호화 방법 및 장치 |
US20150382003A1 (en) * | 2014-06-26 | 2015-12-31 | Sony Corporation | Data encoding and decoding apparatus, method and storage medium |
CN107925773A (zh) * | 2015-06-11 | 2018-04-17 | 英迪股份有限公司 | 使用自适应去块滤波编码和解码图像的方法及其装置 |
JP2018088715A (ja) * | 2018-02-23 | 2018-06-07 | マイクロソフト テクノロジー ライセンシング,エルエルシー | イントラブロックコピー予測におけるブロック反転及びスキップモード |
CN110115038A (zh) * | 2016-12-22 | 2019-08-09 | 佳能株式会社 | 编码设备、编码方法和程序、解码设备、解码方法和程序 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130034566A (ko) * | 2011-09-28 | 2013-04-05 | 한국전자통신연구원 | 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치 |
US9462298B2 (en) * | 2011-10-21 | 2016-10-04 | Qualcomm Incorporated | Loop filtering around slice boundaries or tile boundaries in video coding |
US20130107973A1 (en) * | 2011-10-28 | 2013-05-02 | Qualcomm Incorporated | Loop filtering control over tile boundaries |
-
2021
- 2021-02-15 US US17/797,953 patent/US20230080116A1/en active Pending
- 2021-02-15 WO PCT/KR2021/001856 patent/WO2021162494A1/ko active Application Filing
- 2021-02-15 JP JP2022549075A patent/JP7541102B2/ja active Active
- 2021-02-15 KR KR1020227031560A patent/KR20220136436A/ko unknown
- 2021-02-15 CN CN202180014308.XA patent/CN115088256A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150023409A1 (en) * | 2012-04-13 | 2015-01-22 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Low delay picture coding |
WO2015056941A1 (ko) * | 2013-10-14 | 2015-04-23 | 한국전자통신연구원 | 다계층 기반의 영상 부호화/복호화 방법 및 장치 |
US20150382003A1 (en) * | 2014-06-26 | 2015-12-31 | Sony Corporation | Data encoding and decoding apparatus, method and storage medium |
CN107925773A (zh) * | 2015-06-11 | 2018-04-17 | 英迪股份有限公司 | 使用自适应去块滤波编码和解码图像的方法及其装置 |
CN110115038A (zh) * | 2016-12-22 | 2019-08-09 | 佳能株式会社 | 编码设备、编码方法和程序、解码设备、解码方法和程序 |
JP2018088715A (ja) * | 2018-02-23 | 2018-06-07 | マイクロソフト テクノロジー ライセンシング,エルエルシー | イントラブロックコピー予測におけるブロック反転及びスキップモード |
Non-Patent Citations (2)
Title |
---|
BENJAMIN BROSS: "Versatile Video Coding (Draft 8)", JVET-Q2001, 17 January 2020 (2020-01-17), pages 43 - 44 * |
LULIN CHEN: "Comments on miscellaneous HLS text", JVET-Q0289-V1, 17 January 2020 (2020-01-17), pages 32 - 33 * |
Also Published As
Publication number | Publication date |
---|---|
JP2023513788A (ja) | 2023-04-03 |
WO2021162494A1 (ko) | 2021-08-19 |
KR20220136436A (ko) | 2022-10-07 |
JP7541102B2 (ja) | 2024-08-27 |
US20230080116A1 (en) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114402597B (zh) | 应用自适应环路滤波器的视频或图像编码 | |
EP3985971A1 (en) | Image encoding/decoding method and device for utilizing simplified mpm list generation method, and method for transmitting bitstream | |
US11997261B2 (en) | Image encoding/decoding method and device for determining division mode on basis of color format, and method for transmitting bitstream | |
US11743469B2 (en) | Image encoding/decoding method and apparatus for selectively encoding size information of rectangular slice, and method for transmitting bitstream | |
KR20220019243A (ko) | 인루프 필터링 기반 비디오 또는 영상 코딩 | |
US20220337814A1 (en) | Image encoding/decoding method and device using reference sample filtering, and method for transmitting bitstream | |
US20220417512A1 (en) | Image encoding/decoding method and device, and method for transmitting bitstream | |
JP7541102B2 (ja) | フィルタ利用可能情報を選択的にシグナリングする画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法 | |
KR20220079974A (ko) | Pdpc를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
KR20220073834A (ko) | 영상/비디오 코딩을 위한 상위 레벨 신택스 시그널링 방법 및 장치 | |
CN114731442B (zh) | 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 | |
US12113975B2 (en) | Image encoding/decoding method and apparatus for performing prediction on basis of reconfigured prediction mode type of leaf node, and bitstream transmission method | |
US20220279200A1 (en) | Image encoding/decoding method and apparatus for signaling residual coding method used for encoding block to which bdpcm is applied, and method for transmitting bitstream | |
CN118303026A (zh) | 用于对帧内预测模式进行编码的方法和设备 | |
CN117356091A (zh) | 使用辅mpm列表的帧内预测方法和装置 | |
CN114731405A (zh) | 使用量化矩阵的图像编码/解码方法和设备以及发送比特流的方法 | |
CN118575475A (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 |