CN114731442B - 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 - Google Patents
使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 Download PDFInfo
- Publication number
- CN114731442B CN114731442B CN202080078815.5A CN202080078815A CN114731442B CN 114731442 B CN114731442 B CN 114731442B CN 202080078815 A CN202080078815 A CN 202080078815A CN 114731442 B CN114731442 B CN 114731442B
- Authority
- CN
- China
- Prior art keywords
- information
- weight
- prediction
- value
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 200
- 230000008569 process Effects 0.000 description 113
- 239000000523 sample Substances 0.000 description 79
- 238000013139 quantization Methods 0.000 description 47
- 238000001914 filtration Methods 0.000 description 45
- 238000005192 partition Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 23
- 238000000638 solvent extraction Methods 0.000 description 21
- 230000003044 adaptive effect Effects 0.000 description 18
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 16
- 241000023320 Luma <angiosperm> Species 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 14
- 230000009466 transformation Effects 0.000 description 12
- 101100508818 Mus musculus Inpp5k gene Proteins 0.000 description 11
- 101100366438 Rattus norvegicus Sphkap gene Proteins 0.000 description 11
- 238000009795 derivation Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 6
- 230000011664 signaling Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000013074 reference sample Substances 0.000 description 5
- 230000002146 bilateral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000007727 signaling mechanism Effects 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
- 238000003491 array Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008707 rearrangement 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
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- 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/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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/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/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/188—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 video data packet, e.g. a network abstraction layer [NAL] unit
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
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是根据实施方式的用于对一个语法元素进行编码的CABAC的框图。
图9至图12是示出根据实施方式的熵编码和解码的视图。
图13和图14是示出根据实施方式的画面解码和编码过程的示例的视图。
图15是示出根据实施方式的编码图像的层结构的视图。
图16是示出根据实施方式的使用帧间预测的编码方法的视图。
图17是示出根据实施方式的使用帧间预测的解码方法的视图。
图18是示出根据实施方式的加权预测处理的视图。
图19是示出根据实施方式的在SPS中用信号通知的两个语法元素的语法的视图。
图20是示出根据实施方式的在PPS中用信号通知的加权预测语法元素的视图。
图21是示出根据实施方式的在切片头中用信号通知的加权预测语法元素的视图。
图22是示出根据实施方式的用于推导变量NumRefIdxActive[i]的值的算法的视图。
图23是示出根据实施方式的从切片头调用的加权预测表语法的视图。
图24是示出根据实施方式的在APS RBSP中用信号通知预测加权表的语法的视图。
图25是示出根据实施方式的修改的切片头的语法的视图。
图26是示出根据实施方式的预测加权表语法结构的视图。
图27至图28是示出根据实施方式的解码设备和编码设备的操作的视图。
图29是示出本公开的实施方式适用于的内容流***的视图。
具体实施方式
以下,将结合附图对本公开的实施方式进行详细描述,以易于本领域技术人员实施。然而,本公开可以以各种不同的形式实施,并且不限于这里描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“耦合”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括中间组件存在的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则是指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且不限制组件的顺序或重要性,除非另有说明。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成在一个硬件或软件单元中实现,或者一个组件可以在多个硬件或软件单元中分布和实现。因此,即使没有特别说明,这些组件集成或分布式的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。此外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“画面”一般是指表示特定时间段内的一个图像的单元,而切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。此外,切片/拼块可以包括一个或更多个编码树单元(CTU)。此外,一个拼块可以包括一个或更多个图块。图块可以指拼块中的CTU行的矩形区域。一个拼块可以被划分成多个图块,各个图块可以包括属于拼块的一个或更多个CTU行。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,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、帧间预测单元160或帧内预测单元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分割的概述
如上所述,可以通过根据四叉树/二叉树/三叉树(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并且小于或等于2xMinTtSize,则可以不考虑进一步水平分割。如果多类型树节点的高度等于MinBtSize并且小于或等于2xMinTtSize,则可以不考虑进一步垂直分割。当不考虑分割时,编码设备可以跳过分割信息的信令。在这种情况下,解码设备可以推导具有预定值的分割信息。
此外,一个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进行分割的方法不限于此。
具有多类型树的四叉树编码块结构可以提供非常灵活的块分割结构。由于多类型树中支持的分割类型,在一些情况下不同的分割图案可以潜在地产生相同的编码块结构。在编码设备和解码设备中,通过限制此类冗余分割图案的出现,可以减少分割信息的数据量。
量化/解量化
如上所述,编码设备的量化器可以通过对变换系数应用量化来推导量化变换系数,并且编码设备的解量化器或解码设备的解量化器可以通过对量化变换系数应用解量化来推导变换系数。
在运动图像/静止图像的编码和解码中,可以改变量化率并且可以使用改变的量化率调节压缩率。从实现角度,考虑到复杂度,可以使用量化参数(QP),代替直接使用量化率。例如,可以使用具有0至63的整数值的量化参数,并且各个量化参数值可以对应于实际量化率。另外,可以不同地设定亮度分量(亮度样本)的量化参数QPY和色度分量(色度样本)的量化参数QPC。
在量化处理中,可以接收变换系数C作为输入并除以量化率Qstep,并且可以基于此获得量化变换系数C’。在这种情况下,考虑到计算复杂度,将量化率乘以比例以形成整数,并且可以通过与比例值对应的值执行移位操作。基于量化率和比例值的乘积,可以推导量化比例。即,可以根据QP推导量化比例。通过对变换系数C应用量化比例,可以基于此推导量化变换系数C’。
解量化处理是量化处理的逆处理,并且量化变换系数C’可以乘以量化率Qstep,并且可以基于此获得重构变换系数C”。在这种情况下,可以根据量化参数推导级别比例,可以将级别比例应用于量化变换系数C’,并且可以基于此推导重构变换系数C”。由于变换和/或量化处理中的损失,重构变换系数C”可能略微不同于原始变换系数C。因此,甚至编码设备可以按照与解码设备相同的方式执行解量化。
此外,可以应用根据频率调节量化强度的自适应频率加权量化技术。自适应频率加权量化技术是根据频率不同地应用量化强度的方法。在自适应频率加权量化中,可以使用预定义的量化缩放矩阵根据频率不同地应用量化强度。即,可以进一步基于量化缩放矩阵执行上述量化/解量化处理。例如,可以根据当前块的大小和/或应用于当前块以便生成当前块的残差信号的预测模式是帧间预测还是帧内预测使用不同的量化缩放矩阵。量化缩放矩阵也可以称为量化矩阵或缩放矩阵。量化缩放矩阵可以预定义。另外,用于频率自适应缩放的量化缩放矩阵的频率量化比例信息可以由编码设备构建/编码并用信号通知给解码设备。频率量化比例信息可以称为量化缩放信息。频率量化比例信息可以包括缩放列表数据scaling_list_data。基于缩放列表数据,可以推导(修改的)量化缩放矩阵。另外,频率量化比例信息可以包括指定是否存在缩放列表数据的存在标志信息。另选地,当在较高级别(例如,SPS)用信号通知缩放列表数据时,可以进一步包括指定是否在较低级别(例如,PPS或拼块组头等)修改缩放列表数据的信息。
熵编码
一些或所有视频/图像信息可以由熵编码器190如上面参照图2所描述熵编码,参照图3描述的一些或所有视频/图像信息可以由熵解码器310熵解码。在这种情况下,视频/图像信息可以以语法元素为单位编码/解码。在本公开中,编码/解码信息可以包括通过本节中描述的方法进行的编码/解码。
图8是根据实施方式的用于对一个语法元素进行编码的CABAC的框图。在CABAC的编码处理中,首先,当输入信号是具有非二进制值的语法元素时,可以通过二值化将输入信号转换为二进制值。当输入信号已经具有二进制值时,可以绕过而不执行二值化。这里,构建二进制值的二进制数0或1可以称为bin。例如,当二值化后的二进制串(bin串)为110时,1、1和0中的每一个可以称为一个bin。一个语法元素的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区分/推导一个语法元素的上下文模型。
在熵编码过程中,可以确定是通过常规编码引擎还是旁路编码引擎执行编码,并且可以切换编码路径。在熵解码中,可以以相反的顺序执行与熵编码相同的处理。
例如,如图9和图10所示,可以执行上述编码。参照图9和图10,编码设备(熵编码器)可以执行图像/视频信息的熵编码过程。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测分类信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环路内滤波相关信息等或者与之有关的各种语法元素。可以以语法元素为单位执行熵编码。图9的步骤S910至S920可以由图2的编码设备的熵编码器190执行。
编码设备可以对目标语法元素执行二值化(S910)。这里,二值化可以基于诸如截断莱斯二值化处理、固定长度二值化处理等的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。二值化过程可以由熵编码器190中的二值化单元191执行。
编码设备可以对目标语法元素执行熵编码(S920)。编码设备可以基于诸如上下文自适应算术编码(CABAC)或上下文自适应可变长度编码(CAVLC)的熵编码技术对目标语法元素的bin串进行基于常规编码(基于上下文)或基于旁路编码的编码,并且其输出可以被包括在比特流中。熵编码过程可以由熵编码器190中的熵编码处理器192执行。比特流可以如上所述通过(数字)存储介质或网络被发送至解码设备。
参照图11和图12,解码设备(熵解码器)可以将编码的图像/视频信息解码。图像/视频信息可以包括分割相关信息、预测相关信息(例如,帧间/帧内预测分类信息、帧内预测模式信息、帧间预测模式信息等)、残差信息、环路内滤波相关信息等或者与之有关的各种语法元素。熵编码可以以语法元素为单位执行。步骤S1110至S1120可以由图3的解码设备的熵解码器210执行。
解码设备可以对目标语法元素执行二值化(S1110)。这里,二值化可以基于诸如截断莱斯二值化处理、固定长度二值化处理等的各种二值化方法,并且用于目标语法元素的二值化方法可以预定义。解码设备可以通过二值化过程推导目标语法元素的可用值的可用bin串(bin串候选)。二值化过程可以由熵解码器210中的二值化单元211执行。
解码设备可以对目标语法元素执行熵解码(S1120)。解码设备可以比较推导的bin串与对应语法元素的可用bin串,同时从比特流中的输入比特依次解码并解析目标语法元素的bin。如果推导的bin串等于可用bin串之一,则与对应bin串对应的值可以被推导为对应语法元素的值。如果否,则可以进一步解析比特流中的下一比特,然后可以再次执行上述过程。通过此处理,可以使用可变长度比特用信号通知对应信息,而不使用比特流中的特定信息(特定语法元素)的开始比特或结束比特。由此,相对少的比特可以被分配给低值,并且总体编码效率可以增加。
解码设备可以基于诸如CABAC或CAVLC的熵编码技术从比特流对bin串中的各个bin进行基于上下文或基于旁路编码的解码。熵解码过程可以由熵解码器210中的熵解码处理器212执行。比特流可以包括如上所述用于图像/视频解码的各种信息。比特流如上所述通过(数字)存储介质或网络发送至解码设备。
在本公开中,包括语法元素的表(语法表)可以用于指定从编码设备到解码设备的信息信令。包括本公开中使用的语法元素的表的语法元素的顺序可以指定来自比特流的语法元素的解析顺序。编码设备可以构建并编码语法表,使得解码设备按解析顺序解析语法元素,并且解码设备可以通过按解析顺序从比特流解析并解码语法表的语法元素来获得语法元素的值。
一般图像/视频编码过程
在图像/视频编码中,可以根据解码顺序来编码/解码配置图像/视频的画面。可以与解码顺序不同地设定与解码画面的输出顺序对应的画面顺序,并且基于此,在帧间预测期间不仅可以执行前向预测,而且可以执行后向预测。
图13示出本公开的实施方式适用于的示意性画面解码过程的示例。在图13中,S1310可以在上面参照图3描述的解码设备的熵解码器210中执行,S1320可以在包括帧内预测单元265和帧间预测单元260的预测单元中执行,S1330可以在包括解量化器220和逆变换器230的残差处理器中执行,S1340可以在加法器235中执行,S1350可以在滤波器240中执行。S1310可以包括本公开中描述的信息解码过程,S1320可以包括本公开中描述的帧间/帧内预测过程,S1330可以包括本公开中描述的残差处理过程,S1340可以包括本公开中描述的块/画面重构过程,S1350可以包括本公开中描述的环路内滤波过程。
参照图13,画面解码过程可以示意性地包括用于从比特流获得图像/视频信息(通过解码)的过程(S1310)、画面重构过程(S1320至S1340)以及对重构画面的环路内滤波过程(S1350),如上面参照图3描述的。画面重构过程可以基于通过本公开中描述的帧间/帧内预测(S1320)和残差处理(S1330)(量化变换系数的解量化和逆变换)获得的预测样本和残差样本来执行。修改的重构画面可以通过对通过画面重构过程生成的重构画面的环路内滤波过程来生成,修改的重构画面可以作为解码画面输出,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时在帧间预测过程中用作参考画面。在一些情况下,可以省略环路内滤波过程。在这种情况下,重构画面可以作为解码画面输出,存储在解码设备的解码画面缓冲器或存储器250中,并且在稍后解码画面时在帧间预测过程中用作参考画面。环路内滤波过程(S1350)可以包括去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程,如上所述,其中一些或所有可以省略。另外,去块滤波过程、样本自适应偏移(SAO)过程、自适应环路滤波器(ALF)过程和/或双边滤波器过程中的一个或一些可以依次应用,或者它们全部可以依次应用。例如,在对重构画面应用去块滤波过程之后,可以执行SAO过程。另选地,例如,在对重构画面应用去块滤波过程之后,可以执行ALF过程。这甚至可以在编码设备中类似地执行。
图14示出本公开的实施方式适用于的示意性画面编码过程的示例。在图14中,S1410可以在包括上面参照图2描述的编码设备的帧内预测单元185或帧间预测单元180的预测单元中执行,S1420可以在包括变换器120和/或量化器130的残差处理器中执行,S1430可以在熵编码器190中执行。S1410可以包括本公开中描述的帧间/帧内预测过程,S1420可以包括本公开中描述的残差处理过程,S1430可以包括本公开中描述的信息编码过程。
参照图14,画面编码过程可以示意性地不仅包括用于编码并以比特流的形式输出用于画面重构的信息(例如,预测信息、残差信息、分割信息等)的过程,而且包括用于生成当前画面的重构画面的过程和用于对重构画面应用环路内滤波的过程(可选),如关于图2描述的。编码设备可以通过解量化器140和逆变换器150从量化变换系数推导(修改的)残差样本,并且基于作为S1410的输出的预测样本和(修改的)残差样本来生成重构画面。这样生成的重构画面可以与解码设备中生成的重构画面相同。类似于解码设备,修改的重构画面可以通过对重构画面的环路内滤波过程来生成,可以存储在解码画面缓冲器或存储器170中,并且可以在稍后编码画面时在帧间预测过程中用作参考画面。如上所述,在一些情况下,环路内滤波过程的一些或全部可以省略。当执行环路内滤波过程时,(环路内)滤波相关信息(参数)可以在熵编码器190中编码并以比特流的形式输出,解码设备可以基于滤波相关信息使用与编码设备相同的方法执行环路内滤波过程。
通过这种环路内滤波过程,在图像/视频编码期间出现的噪声(例如,块伪影和振铃伪影)可以减少,并且主观/客观视觉质量可以改进。另外,通过在编码设备和解码设备二者中执行环路内滤波过程,编码设备和解码设备可以推导相同的预测结果,画面编码可靠性可以增加,并且要发送以进行画面编码的数据量可以减少。
如上所述,可以不仅在解码设备中,而且在编码设备中执行画面重构过程。可以基于帧内预测/帧间预测以块为单位生成重构块,并且可以生成包括重构块的重构画面。当当前画面/切片/拼块组是I画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以仅基于帧内预测来重构。此外,当当前画面/切片/拼块组是P或B画面/切片/拼块组时,包括在当前画面/切片/拼块组中的块可以基于帧内预测或帧间预测来重构。在这种情况下,帧间预测可以应用于当前画面/切片/拼块组中的一些块,并且帧内预测可以应用于剩余块。画面的颜色分量可以包括亮度分量和色度分量,并且除非本公开中明确地限制,本公开的方法和实施方式适用于亮度分量和色度分量。
编码层和结构的示例
例如,可以根据下面将描述的编码层和结构来处理根据本公开的编码视频/图像。
图15是示出编码图像的层结构的图。编码图像可以被分类为用于图像解码处理和自身处理的视频编码层(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单元类型的示例。
-APS(适配参数集)NAL单元:包括APS的NAL单元类型
-DPS(解码参数集)NAL单元:包括DPS的NAL单元类型
-VPS(视频参数集)NAL单元:包括VPS的NAL单元类型
-SPS(序列参数集)NAL单元:包括SPS的NAL单元类型
-PPS(画面参数集)NAL单元:包括PPS的NAL单元类型
上述NAL单元类型可以具有NAL单元类型的语法信息,并且该语法信息可以被存储在NAL单元头中并用信号通知。例如,语法信息可以是nal_unit_type,并且NAL单元类型可以被指定为nal_unit_type值。
切片头(切片头语法)可以包括共同适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括共同适用于一个或更多个切片或画面的信息/参数。SPS(SPS语法)可以包括共同适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括共同适用于多个层的信息/参数。DPS(DPS语法)可以包括共同适用于整个视频的信息/参数。DPS可以包括与编码视频序列(CVS)的级联有关的信息/参数。在本公开中,高级语法(HLS)可以包括APS语法、PPS语法、SPS语法、VPS语法、DPD语法或切片头语法中的至少一个。
在本公开中,在编码设备中编码并以比特流的形式用信号通知给解码设备的图像/视频信息可以不仅包括画面内分割相关信息、帧内/帧间预测信息、残差信息、环路内滤波信息,而且包括关于切片头的信息、关于APS的信息、关于PPS的信息、关于SPS的信息和/或关于VPS的信息。
帧间预测的概述
在下文中,将描述在参照图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运动向量二者的预测可以被称为Bi预测。这里,L0运动向量可以指示与参考画面列表L0(L0)关联的运动向量,而L1运动向量可以指示与参考画面列表L1(L1)关联的运动向量。参考画面列表L0可以包括按输出顺序在当前画面之前的画面作为参考画面,而参考画面列表L1可以包括按输出顺序在当前画面之后的画面。先前画面可以被称为正向(参考)画面,而后续画面可以被称为反向(参考)画面。参考画面列表L0还可以包括按输出顺序在当前画面之后的画面作为参考画面。在这种情况下,在参考画面列表L0内,可以首先对先前画面编索引,然后可以对后续画面编索引。参考画面列表L1还可以包括按输出顺序在当前画面之前的画面作为参考画面。在这种情况下,在参考画面列表L1内,可以首先对后续画面编索引,然后可以对先前画面编索引。这里,输出顺序可以对应于画面顺序计数(POC)顺序。
基于帧间预测的视频/图像编码过程和编码设备中的帧间预测单元可以示意性地包括例如以下,这将参照图16描述。编码设备对当前块执行帧间预测(S1610)。图像编码设备可以推导当前块的帧间预测模式和运动信息并且生成当前块的预测样本。这里,可以同时地执行帧间预测模式确定、运动信息推导和预测样本生成过程或者可以在其它过程之前执行其任何一个。例如,编码设备的帧间预测单元可以包括预测模式确定单元、运动信息推导单元和预测样本推导单元,并且预测模式确定单元可以确定当前块的预测模式,运动信息推导单元可以推导当前块的运动信息,并且预测样本推导单元可以推导当前块的预测样本。例如,编码设备的帧间预测单元可以通过运动估计在参考画面的预定区域(搜索区域)内搜索与当前块相似的块,并且推导其与当前块的差等于或小于预定准则或最小值的参考块。基于此,可以推导指示参考块位于其中的参考画面的参考画面索引,并且可以基于参考块与当前块之间的位置差来推导运动向量。编码设备可以在各种预测模式当中确定应用于当前块的模式。编码设备可以针对各种预测模式比较RD成本,并且确定当前块的最佳预测模式。
例如,当跳过模式或合并模式应用于当前块时,编码设备可以构建下述合并候选列表,并且在通过合并候选列表中包括的合并候选指示的参考块当中推导其与当前块的差等于或小于预定准则或最小值的参考块。在这种情况下,可以选择与所推导的参考块关联的合并候选,并且可以生成指示所选择的合并候选的合并索引信息并且将其用信号通知给解码设备。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。
作为另一示例,当(A)MVP模式应用于当前块时,编码设备可以构建下述(A)mvp候选列表,并且推导从(A)mvp候选列表中包括的mvp候选当中选择的mvp候选的运动向量。在这种情况下,例如,指示通过上述运动估计推导的参考块的运动向量可以被用作当前块的运动向量,在mvp候选当中具有与当前块的运动向量的差最小的运动向量的mvp候选可以是所选择的mvp候选。可以推导作为通过从当前块的运动向量减去mvp所获得的差的运动向量差(MVD)。在这种情况下,可以将关于MVD的信息用信号通知给解码设备。另外,当应用(A)MVP模式时,可以将参考画面索引的值构建为参考画面索引信息并且单独地用信号通知给解码设备。
编码设备可以基于预测样本来推导残差样本(S1620)。编码设备可以通过当前块的原始样本与预测样本之间的比较来推导残差样本。
编码设备对包括预测信息和残差信息的图像信息进行编码(S1630)。编码设备可以以比特流的形式输出编码的图像信息。预测信息可以包括预测模式信息(例如,跳过标志、合并标志或模式索引等)和关于运动信息的信息作为与预测过程有关的信息。关于运动信息的信息可以包括作为用于推导运动向量的信息的候选选择信息(例如,合并索引、mvp标志或mvp索引)。另外,关于运动信息的信息可以包括关于上述MVD的信息和/或参考画面索引信息。另外,关于运动信息的信息可以包括指示是应用L0预测、L1预测还是bi预测的信息。残差信息是关于残差样本的信息。残差信息可以包括关于用于残差样本的量化变换系数的信息。
输出比特流可以被存储在(数字)存储介质中并且被发送到解码设备或者可以经由网络被发送到解码设备。
如上所述,编码设备可以基于参考样本和残差样本来生成重构画面(包括重构样本和重构块)。这是为了编码设备推导与由解码设备执行的预测结果相同的预测结果,从而提高编码效率。因此,编码设备可以将重构画面(或重构样本和重构块)存储在存储器中并且将其用作用于帧间预测的参考画面。如上所述,环路内滤波过程还适用于重构画面。
基于帧间预测的视频/图像解码过程和解码设备中的帧间预测单元可以示意性地包括例如以下。
解码设备可以执行与由编码设备执行的操作对应的操作。解码设备可以基于所接收的预测信息来对当前块执行预测并且推导预测样本。
具体地,解码设备可以基于所接收到的预测信息来确定当前块的预测模式(S1710)。图像解码设备可以基于预测信息中的预测模式信息来确定哪种帧间预测模式应用于当前块。
例如,可以基于合并标志来确定是合并模式还是(A)MVP模式应用于当前块。另选地,可以基于模式索引来选择各种帧间预测模式候选中的一个。帧间预测模式候选可以包括跳过模式、合并模式和/或(A)MVP模式或者可以包括将在下面描述的各种帧间预测模式。
解码设备可以基于所确定的帧间预测模式来推导当前块的运动信息(S1720)。例如,当跳过模式或合并模式应用于当前块时,解码设备可以构建将在下面描述的合并候选列表,并且选择合并候选列表中包括的合并候选中的一个。可以基于上述候选选择信息(合并索引)来执行选择。可以使用所选择的合并候选的运动信息来推导当前块的运动信息。可以将所选择的合并候选的运动信息用作当前块的运动信息。
作为另一示例,当(A)MVP模式应用于当前块时,解码设备可以构建(A)MVP候选列表,并且使用从(A)MVP候选列表中包括的mvp候选当中选择的mvp候选的运动向量作为当前块的mvp。可以基于上述候选选择信息(mvp标志或mvp索引)来执行选择。在这种情况下,可以基于关于MVD的信息来推导当前块的MVD,并且可以基于当前块的mvp和MVD来推导当前块的运动向量。另外,可以基于参考画面索引信息来推导当前块的参考画面索引。可以将当前块的参考画面列表中通过参考画面索引指示的画面推导为被参考以进行当前块的帧间预测的参考画面。
此外,如下所述,可以在没有候选列表构建的情况下推导当前块的运动信息,并且在这种情况下,可以在下述预测模式中根据所公开的过程推导当前块的运动信息。在这种情况下,可以省略上述候选列表构建。
图像解码设备可以基于当前块的运动信息来生成当前块的预测样本(S1730)。在这种情况下,可以基于当前块的参考画面索引来推导参考画面,并且可以使用参考画面上通过当前块的运动向量指示的参考块的样本来推导当前块的预测样本。在这种情况(如下所述一些情况)下,还可以对当前块的预测样本中的全部或一些执行预测样本滤波过程。
例如,解码设备的帧间预测单元可以包括预测模式确定单元、运动信息推导单元和预测样本推导单元,并且预测模式确定单元可以基于所接收到的预测模式信息来确定当前块的预测模式,运动信息推导单元可以基于所接收到的运动信息来推导当前块的运动信息(运动向量和/或参考画面索引等),并且预测样本推导单元可以推导当前块的预测样本。
解码设备可以基于所接收到的残差信息来生成当前块的残差样本(S1740)。解码设备可以基于预测样本和残差样本来生成当前块的重构样本并且基于此来生成重构画面(S1750)。此后,环路内滤波过程适用于如上所述的重构画面。
如上所述,帧间预测过程可以包括确定帧间预测模式的步骤、根据所确定的预测模式来推导运动信息的步骤、以及基于所推导的运动信息来执行预测(生成预测样本)的步骤。如上所述,帧间预测过程可以由编码设备和解码设备执行。
预测样本生成
基于根据预测模式推导的运动信息,可以推导当前块的预测块。预测块可以包括当前块的预测样本(预测样本阵列)。当当前块的运动向量指定分数样本单元时,可以执行插值过程,并且由此,基于参考画面内的分数样本单元的参考样本,可以推导当前块的预测样本。当仿射帧间预测应用于当前块时,可以基于样本/子块单元MV来生成预测样本。当应用双预测时,通过基于L0预测(例如,使用参考画面列表L0中的MVL0和参考画面的预测)推导的预测样本和基于L1预测(例如,使用参考画面列表L1中的MVL1和参考画面的预测)推导的预测样本的加权和或加权平均(根据相位)推导的预测样本可以用作当前块的预测样本。当应用双预测时,如果用于L0预测的参考画面和用于L1预测的参考画面基于当前画面位于不同的时间方向上(例如,在双预测和双向预测的情况下),这可以称为真双预测。
可以基于推导的预测样本来生成重构样本和重构画面,此后,可以如上所述执行诸如环路内滤波的过程。
加权样本预测
在帧间预测中,可以使用加权样本预测。加权样本预测可以被称为加权预测。加权预测被设计为补偿视频序列中的照明变化。在AVC标准中设计了加权预测,该特征在视频编码器和视频拼接应用中特别有效。
例如,加权预测可以用作对应用衰落的内容高效地进行编码的编码工具。当应用加权预测时,可以为属于参考画面列表L0和L1的参考画面用信号通知加权参数(例如,权重和偏移)。因此,在运动补偿处理期间,对应参考画面的权重和偏移适用。
当当前块(例如,CU)所在的当前切片的切片类型是P切片或B切片时,可以应用加权预测。例如,不仅在应用双预测时,而且在应用单预测时也可以使用加权预测。例如,如下所述,可以基于weightedPredFlag来确定加权预测,并且可以基于用信号通知的pps_weighted_pred_flag(在P切片的情况下)或pps_weighted_bipred_flag(在B切片的情况下)来确定weightedPredFlag的值。
例如,变量weightedPredFlag的值可以如下推导。当指定当前切片类型的参数slice_type指定P切片时,weightedPredFlag的值可被设定为与pps_weighted_pred_flag相同的值。否则(当slice_type的值指定B切片时),weightedPredFlag的值可被设定为与pps_weighted_bipred_flag相同的值。
作为加权预测的输出的预测样本的值可以称为pbSamples。加权预测过程可以大致分为基本加权(样本)预测过程和明确加权(样本)预测过程。在一些实施方式中,加权(样本)预测过程可以仅意指明确加权(样本)预测过程。例如,当weightedPredFlag的值为0时,可以根据下述基本加权样本预测处理来推导预测样本阵列pbSamples。否则(例如,当weightedPredFlag的值为1时),可以根据明确加权样本预测处理来推导预测样本阵列pbSamples。作为实施方式,下面将描述明确加权样本预测处理。
明确加权样本预测处理
对于用于生成指定预测样本的大小为(nCbW)x(nCbH)的阵列pbSamples的明确加权样本预测处理,可以使用以下参数。
-指定当前编码块的宽度的变量nCbW和指定当前编码块的高度的变量nCbH
-大小为(nCbW)x(nCbH)的阵列predSamplesL0和predSamplesL1
-指定预测列表的利用的标志predFlagL0和predFlagL1
-参考索引refIdxL0和refIdxL1
-指定颜色分量索引的变量cIdx
-指定样本的比特深度的bitDepth
加权预测处理可以使用上述变量如下执行。在下文中,这将参照图18来描述。首先,变量shift1的值可以被设定为Max(2,14-bitDepth)的值(S1810)。接下来,变量log2Wd、o0、o1、w0和w1可以如下推导(S1820)。当cIdx的值为指定亮度样本的值(例如,0)时,其可以如下式所示计算。
[式1]
log2Wd=luma_log2_weight_denom+shift1
w0=LumaWeightL0[refIdxL0]
w1=LumaWeightL1[refIdxL1]
o0=luma_offset_l0[refIdxL0]<<(BitDepthY-8)
o1=luma_offset_l1[refIdxL1]<<(BitDepthY-8)
否则(例如,当值cIdx是指定色度样本值的值(例如,非零值)时),其可以如下式所示推导。
[式2]
log2Wd=ChromaLog2WeightDenom+shift1
w0=ChromaWeightL0[refIdxL0][cIdx-1]
w1=ChromaWeightL1[refIdxL1][cIdx-1]
o0=ChromaOffsetL0[refIdxL0][cIdx-1]<<(BitDepthC-8)
o1=ChromaOffsetL1[refIdxL1][cIdx-1]<<(BitDepthC-8)
接下来,对于x=0..nCbW-1和y=0..nCbH-1,预测样本pbSamples[x][y]可以如下推导(S1830)。
当predFlagL0的值为1并且predFlagL1的值为0时,预测样本的值可如下推导。
[式3]
if(log2Wd>=1)
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,((predSamplesL0[x][y]*w0+2log2Wd-1)>>log2Wd)+o0)
else
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,predSamplesL0[x][y]*w0+o0)
否则,当predFlagL0的值为0并且predFlagL1的值为1时,预测样本的值可以如下式所示推导。
[式4]
if(log2Wd>=1)
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,((predSamplesL1[x][y]*w1+2log2Wd-1)>>log2Wd)+o1)
else
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,predSamplesL1[x][y]*w1+o1)
否则(当predFlagL0的值为1并且predFlagL1的值为1)时,预测样本的值可以如下式所示推导。
[式5]
pbSamples[x][y]=Clip3(0,(1<<bitDepth)-1,(predSamplesL0[x][y]*w0+predSamplesL1[x][y]*w1+((o0+o1+1)<<log2Wd))>>(log2Wd+1))
预测加权表
上述NAL结构适应于预测加权表。另外,为了用信号通知上述加权(样本)预测,可以使用下述预测加权表。
用于用信号通知加权(样本)预测的加权预测表的结构可以与AVC或HEVC的加权预测表的结构类似地设计。加权预测处理可以通过在SPS中用信号通知的两个标志来发起。
图19是示出在SPS中用信号通知的两个语法元素的语法的视图。在图19所示的语法中,语法元素sps_weighted_pred_flag可以指定加权预测是否适用于参考SPS的P切片。例如,sps_weighted_pred_flag的第一值(例如,0)可以指定加权预测不应用于参考SPS的P切片。sps_weighted_pred_flag的第二值(例如,1)可以指定加权预测可以应用于参考SPS的P切片。
语法元素sps_weighted_bipred_flag可以指定明确加权预测是否适用于参考SPS的B切片。例如,sps_weighted_bipred_flag的第一值(例如,0)可以指定明确加权预测不应用于参考SPS的B切片。sps_weighted_bipred_flag的第二值(例如,1)可以指定明确加权预测可以应用于参考SPS的B切片。
上述两个标志可以通过SPS用信号通知,并且可以指定加权预测是否适用于存在于CVS中的P和/或B切片。
图20是示出在PPS中用信号通知的加权预测语法元素的视图。语法元素pps_weighted_pred_flag可以指定加权预测是否应用于参考PPS的P切片。例如,pps_weighted_pred_flag的第一值(例如,0)可以指定加权预测不应用于参考PPS的P切片。pps_weighted_pred_flag的第二值(例如,1)可以指定加权预测应用于参考PPS的P切片。此外,当sps_weighted_pred_flag的值为第一值(例如,0)时,pps_weighted_pred_flag的值可以被设定为第一值(例如,0)。
语法元素pps_weighted_bipred_flag可以指定明确加权预测是否应用于参考PPS的B切片。例如,pps_weighted_bipred_flag的第一值(例如,0)可以指定明确加权预测不应用于参考PPS的B切片。pps_weighted_bipred_flag的第二值(例如,1)可以指定明确加权预测应用于参考PPS的B切片。此外,当sps_weighted_bipred_flag的值为第一值(例如,0)时,pps_weighted_bipred_flag的值可以被设定为第一值(例如,0)。
图21是示出在切片头中用信号通知的加权预测语法元素的视图。切片头可以包括以下语法元素。语法元素slice_pic_parameter_set_id可以指定当前使用的PPS的pps_pic_parameter_set_id的值。slice_pic_parameter_set_id可以具有0至63的值。此外,为了符合比特流一致性,施加约束,使得当前画面的时间ID的值等于或大于具有与slice_pic_parameter_set_id相同的pps_pic_parameter_set_id的PPS的时间ID。
语法元素slice_address可以指定切片的切片地址。当未提供slice_address的值时,slice_address的值可以被推导为0。
此外,当rect_slice_flag的值为第一值(例如,0)时,图块的ID可以被设定为切片地址的值,slice_address可以具有Ceil(Log2(NumBricksInPic)的比特长度,并且slice_address的值可以具有0至NumBricksInPic-1的值。这里,NumBricksInPic可以指定画面内的图块数量。
此外,当rect_slice_flag的值为第二值(例如,1)时,可以执行以下处理。切片的切片ID可以被设定为切片地址的值。slice_address的长度可以被设定为signalled_slice_id_length_minus1+1的比特长度。
另外,当rect_slice_flag的值为第二值(例如,1)时,如果signalled_slice_id_flag的值为0,则slice_address的值可以具有0至num_slices_in_pic_minus1的值。否则(当signalled_slice_id_flag的值不为0时),slice_address的值可以具有0至2(signalled _slice_id_length_minus1+1)-1的值。
语法元素num_ref_idx_active_override_flag可以指定是否为P和B切片提供语法num_ref_idx_active_minus1[0]以及是否为B切片提供语法元素num_ref_idx_active_minus1[1]。例如,当num_ref_idx_active_override_flag的第一值(例如,0)可以指定不提供语法元素num_ref_idx_active_minus1[0]和num_ref_idx_active_minus1[1]。num_ref_idx_active_override_flag的第二值(例如,1)可以指定为P和B切片提供语法元素num_ref_idx_active_minus1[0]并且为B切片提供语法元素num_ref_idx_active_minus1[1]。
此外,当没有用信号通知num_ref_idx_active_override_flag的值时,num_ref_idx_active_override_flag的值可以被推导为1。
语法元素num_ref_idx_active_minus1[i]可以用于推导变量NumRefIdxActive[i]。num_ref_idx_active_minus1[i]的值可以具有0至14的值。
当当前切片为B切片,num_ref_idx_active_override_flag的值为第二值(例如,1)并且没有提供num_ref_idx_active_minus1[i]的值时,num_ref_idx_active_minus1[i]的值可以被推导为0(这里,i的值为0或1)。
当当前切片为P切片,num_ref_idx_active_override_flag的值为第二值(例如,1)并且没有提供num_ref_idx_active_minus1[0]的值时,num_ref_idx_active_minus1[0]的值可以被推导为0。
变量NumRefIdxActive[i]的值可以如图22的式所示推导。此外,指定参考画面列表i的最大参考索引值的NumRefIdxActive[i]-1的值可以用于对切片进行解码。例如,当NumRefIdxActive[i]的值为0时,参考画面列表i的任何参考索引可以不用于对切片进行解码。因此,当当前切片为P切片时,NumRefIdxActive[0]的值可以大于0。另外,当当前切片为B切片时,NumRefIdxActive[0]和NumRefIdxActive[1]的值可以大于0。
此外,类似图21的语法2110,可以根据pps_weighted_pred_flag和pps_weighted_bipred_flag的值和slice_type的值调用用信号通知加权预测参数的加权预测表语法pred_weight_table()。
图23是示出从切片头调用的加权预测表语法的视图。在图23的语法结构中,语法元素luma_log2_weight_denom可以是指定亮度加权因子的分母的以2为底的对数的语法元素。在实施方式中,luma_log2_weight_denom可以是指定所有亮度加权因子的分母的对数的语法元素。luma_log2_weight_denom的值可以具有0至7的值。
语法元素delta_chroma_log2_weight_denom可以指定色度加权因子的分母的以2为底的对数之差。例如,delta_chroma_log2_weight_denom可以指定所有色度加权因子的分母的以2为底的对数之差。当delta_chroma_log2_weight_denom的值不存在时,其值可以被推导为0。
ChromaLog2WeightDenom的值可以被计算为luma_log2_weight_denom+delta_chroma_log2_weight_denom。ChromaLog2WeightDenom可以具有0至7的值。
语法元素luma_weight_l0_flag[i]可以指定是否存在使用RefPicList[0][i]的列表0预测的亮度分量的加权因子。例如,luma_weight_l0_flag[i]的第一值(例如,0)可以指定不存在使用RefPicList[0][i]的列表0预测的亮度分量的加权因子。luma_weight_l0_flag[i]的第二值(例如,1)可以指定存在使用RefPicList[0][i]的列表0预测的亮度分量的加权因子。
语法元素chroma_weight_l0_flag[i]可以指定使用RefPicList[0][i]的列表0预测的色度预测值的加权因子是否存在。例如,chroma_weight_l0_flag[i]的第一值(例如,0)可以指定不存在使用RefPicList[0][i]的列表0预测的色度预测值的加权因子。chroma_weight_l0_flag[i]的第二值(例如,1)可以指定存在使用RefPicList[0][i]的列表0预测的色度预测值的加权因子。当未提供chroma_weight_l0_flag[i]时,其值可以被推导为0。
语法元素delta_luma_weight_l0[i]可以指定应用于使用RefPicList[0][i]的列表0预测的亮度预测值的加权因子差异。
变量LumaWeightL0[i]可以被推导为(1<<luma_log2_weight_denom)+delta_luma_weight_l0[i]的值。
当luma_weight_l0_flag[i]的值为1时,delta_luma_weight_l0[i]可以具有-128至127的值。当luma_weight_l0_flag[i]的值为0时,LumaWeightL0[i]的值可以被推导为2luma_log2_weight_denom的值。
语法元素luma_offset_l0[i]可以指定应用于使用RefPicList[0][i]的列表0预测的亮度预测值的附加偏移。luma_offset_l0[i]可以具有-128至127的值。当luma_weight_l0_flag[i]的值为0时,luma_offset_l0[i]的值可以被推导为0。
当j的值为0时对于Cb,当j的值为1时对于Cr,语法元素delta_chroma_weight_l0[i][j]可以指定应用于使用RefPicList[0][i]的列表0预测的色度预测值的加权因子差异。
变量ChromaWeightL0[i][j]可以被推导为(1<<ChromaLog2WeightDenom)+delta_chroma_weight_l0[i][j]的值。
当chroma_weight_l0_flag[i]的值为1时,delta_chroma_weight_l0[i][j]可以具有-128至127的值。当chroma_weight_l0_flag[i]的值为0时,ChromaWeightL0[i][j]的值可以被推导为2ChromaLog2WeightDenom的值。
当j的值为0时对于Cb,当j的值为1时对于Cr,delta_chroma_offset_l0[i][j]可以指定应用于使用RefPicList[0][i]的列表0预测的色度预测值的附加偏移差异。
变量ChromaOffsetL0[i][j]可以如下式所示推导。
[式6]
ChromaOffsetL0[i][j]=Clip3(-128,127,(128+delta_chroma_offset_l0[i][j]-((128*ChromaWeightL0[i][j])>>ChromaLog2WeightDenom)))
delta_chroma_offset_l0[i][j]可以具有-4*128至4*127的值。
此外,当chroma_weight_l0_flag[i]的值为0时,ChromaOffsetL0[i][j]的值可以被推导为0。
pred_weight_table语法的重新设计
可以在切片头中解析上述预测加权表。在下文中,将作为替代实施方式描述在APS中解析预测加权表的实施方式。
图24是示出在APS RBSP中用信号通知预测加权表的语法的视图。如图24所示,预测加权表可以被包括在APS RBSP中。为此,各个APS RBSP可以在被参考之前用于解码处理。例如,各个APS RBSP可以被包括在时间ID TemporalId等于或小于编码切片NAL单元的时间ID TemporalId的至少一个访问单元中,或者可以从外部提供。
为此,在实施方式中,当aspLayerId可以用作APS NAL单元的nuh_layer_id时。例如,当具有与aspLayerId相同的值的层是独立层时(例如,当vps_independent_layer_flag[GeneralLayerIdx[aspLayerId]]的值为1时),包括APS RBSP的APS NAL单元应具有值与参考这的编码切片NAL单元的nuh_layer_id相同的nuh_layer_id。否则,包括APS RBSP的APSNAL单元应具有值与参考这的编码切片NAL单元的nuh_layer_id相同的nuh_layer_id或者值与包括参考这的编码切片NAL单元的层的直接依赖层的nuh_layer_id相同的nuh_layer_id。
另外,在访问单元中,具有特定值的adaptation_parameter_set_id和特定值的aps_params_type的所有APS NAL单元应具有相同的内容。
在下文中,将描述图24所示的语法元素。语法元素adaptation_parameter_set_id可以指定APS的标识符。adaptation_parameter_set_id可以用作APS的标识符,使得另一语法元素参考APS。当下述aps_params_type的值等于LMCS_APS时,adaptation_parameter_set_id可以具有0至3的值。
语法元素aps_params_type可以如下表所示指定使用APS发送的APS参数的类型。例如,当aps_params_type的值为第一值(例如,1)时,APS的类型可以被确定为发送LMCS参数的LMCS_APS类型,adaptation_parameter_set_id可以具有0至3的值。
以相同的方式,当aps_params_type的值为第三值(例如,3)时,APS的类型可以被确定为发送预测加权参数的PRED_WEIGHT_APS类型。
[表2]
aps_params_type | aps_params_type的名称 | APS参数的类型 |
0 | ALF_APS | ALF参数 |
1 | LMCS_APS | LMCS参数 |
2 | SCALING_APS | 缩放列表参数 |
3 | PRED_WEIGHT_APS | 预测加权参数 |
4..7 | 预留 | 预留 |
在这种情况下,APS的各个单独类型可以具有用于adaptation_parameter_set_id的单独数据空间。另外,可以在画面之间共享APS NAL单元(具有特定值的adaptation_parameter_set_id和特定值的aps_params_type)。另外,一个画面中的不同切片可以参考不同的ALF APS。
语法元素aps_extension_flag可以指定在APS RBSP语法结构中是否提供aps_extension_data_flag语法元素。例如,aps_extension_flag的第一值(例如,0)可以指定在APS RBSP语法结构中没有提供aps_extension_data_flag语法元素。aps_extension_flag的第二值(例如,1)可以指定在APS RBSP语法结构中提供aps_extension_data_flag语法元素。
aps_extension_data_flag可以具有任何值。aps_extension_data_flag是否存在和aps_extension_data_flag的值对解码器一致性没有影响。例如,解码器可以忽略所有aps_extension_data_flag语法元素。
如上所述,新的aps_params_type可以被添加到现有类型。另外,代替pred_weight_table()的内容,可以如图25所示修改切片头以便用信号通知APS ID。图25是示出修改的切片头的语法的视图。在图25的语法中,语法元素slice_pred_weight_aps_id可以指定预测加权表APS的adaptation_parameter_set_id。具有值与PRED_WEIGHT_APS相同的aps_params_type和值与slice_pred_weight_aps_id相同的adaptation_parameter_set_id的APS NAL单元的时间ID可以小于或等于编码切片NAL单元的时间ID。当提供slice_pred_weight_aps_id时,对于一个画面的所有切片,slice_pred_weight_aps_id的值可以具有相同的值。
图26是示出预测加权表(例如,pred_weight_table())语法的示例的视图。图26的语法可以是图24的pred_weight_data()所调用的语法结构。例如,图26的语法名称可以被修改为pred_weight_data()并被使用。
在图26的语法中,语法元素num_lists_active_flag可以指定是否针对参考列表用信号通知预测加权表信息。例如,num_lists_active_flag的第一值(例如,0)可以指定不针对所有参考列表用信号通知预测加权表信息。例如,num_lists_active_flag的第一值(例如,0)可以指定可以仅针对参考列表L0用信号通知预测加权表信息。因此,可以仅根据图26的语法结构从比特流获得参考列表L0的NumRefIdxActive[0]语法元素(2610),可以根据NumRefIdxActive[0]的值从比特流获得参考列表L0的权重信息(S2620)。
此外,num_lists_active_flag的第二值(例如,1)可以指定甚至针对参考列表1用信号通知预测加权表信息。例如,num_lists_active_flag的第二值(例如,1)可以指定可以针对参考列表L0和L1二者用信号通知预测加权表信息。因此,可以根据图26的语法结构针对参考列表L0和L1从比特流获得NumRefIdxActive[0]和NumRefIdxActive[1]语法元素的值(2610)。另外,当num_lists_active_flag的值为第二值(例如,1)时(2630),可以根据NumRefIdxActive[1]的值针对参考列表L1从比特流获得权重信息(2640)。
语法元素numRefIdxActive[i]可以用于指定所利用的参考索引的数量。numRefIdxActive[i]可以具有0至14的值。
图26中的语法和语义及其描述可以指定当解析标志num_lists_active_flag时是否在APS中解析关于至少一个列表的信息。
此外,在以上描述中的语法中描述的描述符可以被解释为具有以下含义。
-ae(v):上下文自适应算术熵编码语法元素
-b(8):具有比特串图案的字节单元语法元素。根据此的语法元素可以被解释为8比特值。
-f(n):被描述为n比特固定图案比特串的语法元素,其中左比特具有优先级。
-i(n):使用n比特的带符号的整数语法元素。在语法表中,当n由v表示时,构建对应语法元素的比特数可以基于另一语法元素的值来确定。
-se(v):带符号的整数0阶Exp-Golomb编码语法元素,其中左比特具有优先级。该描述符的解析处理可以由设定为0的k值指定。
-st(v):被描述为以空值终止的比特串的语法元素,类似UTF-8(UCS(通用编码字符集)传输格式-8)。
-tu(v):截断一元语法元素
-u(n):不带符号的整数语法元素,其可以由n比特表达。在语法表中,当n由v表示时,可以根据另一语法元素的值来确定表达对应语法元素的比特的值。
-ue(v):具有整数值的不带符号的0阶Exp-Golomb编码语法元素,其中左比特具有优先级。该描述符的解析处理可以由设定为0的k值指定。
编码和解码方法
在下文中,将参照图27描述由图像解码设备执行的图像解码方法。根据实施方式的图像解码设备可以包括存储器和处理器,并且处理器可以执行以下操作。
首先,解码设备可以根据权重参数语法结构从比特流解析指定参考样本的权重的权重信息(S2710)。例如,解码设备可以基于作为权重参数语法元素的pred_weight_table()语法获得权重的诸如luma_log2_weight_denom、delta_chroma_log2_weight_denom、num_lists_active_flag、NumRefIdxActive[i]、luma_weight_l0_flag[i]、chroma_weight_l0_flag[i]、delta_luma_weight_l0[i]、luma_offset_l0[i]、delta_chroma_weight_l0[i][j]和delta_chroma_offset_l0[i][j]的语法元素,如参照图26描述的。如上所述,可以如上所述从切片头或APS RBSP调用pred_weight_table()语法。
接下来,解码设备可以通过基于如上所述的权重信息执行帧间预测来将当前块解码(S2720)。例如,当基于从比特流获得的语法元素执行上述明确加权样本预测处理时,解码设备可以推导应用了加权预测的预测样本阵列pbSamples。
此外,为了执行根据权重参数语法结构解析权重信息的步骤(S2710),解码设备可以根据权重参数语法结构获得指定从比特流获得的权重信息的数量的权重数量信息(例如,NumRefIdxActive[i])。另外,解码设备可以基于权重数量信息从权重参数语法结构获得权重信息(例如,luma_weight_l0_flag[i]、chroma_weight_l0_flag[i]、delta_luma_weight_l0[i]、luma_offset_l0[i]、delta_chroma_weight_l0[i][j]、delta_chroma_offset_l0[i][j])。
这里,可以基于从比特流获得的标志信息(例如,num_lists_active_flag)根据权重参数语法结构从比特流获得权重数量信息。另外,标志信息可以指定是否通过权重参数语法结构从比特流获得权重数量信息。另外,可以为可以用于将当前块解码的各个参考画面列表单独地获得权重数量信息。另外,可以基于标志信息的值来确定当双向参考用于将当前块解码时使用的参考画面列表的权重数量信息。
此外,权重参数语法结构可以由用信号通知参数集的网络抽象层(NAL)单元来用信号通知。例如,如上所述,可以使用ASP NAL单元来用信号通知权重参数语法结构。在这种情况下,可以基于从包括当前块的切片的头信息获得的参数集标识符来识别当前块的权重信息。此外,可以使用由相同标识符标识的参数集将属于一个画面的所有切片限制为使用权重信息。
在下文中,将参照图28描述由图像编码设备执行的图像编码方法。根据实施方式的图像编码设备可以包括存储器和处理器,并且处理器可以执行与解码设备的操作对应的操作。
例如,编码设备可以通过执行帧间预测来生成当前块的预测块(S2810)。接下来,编码设备可以生成指定构建预测块的样本的权重的权重信息(S2820)。接下来,编码设备可以确定指定权重信息的数量的权重数量信息(S2830)。接下来,编码设备可以基于权重参数语法结构来生成包括权重数量信息和权重信息的比特流(S2840)。
另外,指定比特流中是否包括权重数量信息的标志信息可以进一步包括在比特流中。标志信息可以指定是否通过权重参数语法结构从比特流获得权重数量信息。
此外,可以为可以用于将当前块解码的各个参考画面列表单独地获得权重数量信息。标志信息可以用于确定是否获得当双向参考用于将当前块解码时使用的参考画面列表的权重数量信息。
应用实施方式
虽然为了描述的清楚起见,上述本公开的示例性方法被表示为一系列操作,但并不旨在限制执行步骤的顺序,并且必要时这些步骤可以同时或以不同的顺序来执行。为了实现根据本发明的方法,所描述的步骤可以进一步包括其它步骤,可以包括除了一些步骤之外的其余步骤,或者可以包括除了一些步骤之外的其它附加步骤。
在本公开中,执行预定操作(步骤)的图像编码装置或图像解码装置可以执行确认相应操作(步骤)的执行条件或情况的操作(步骤)。例如,如果描述了在满足预定条件时执行预定操作,则图像编码装置或图像解码装置可以在确定是否满足预定条件之后执行预定操作。
本公开的各种实施方式不是所有可能组合的列表并且旨在描述本公开的代表性方面,并且在各种实施方式中描述的事项可以独立地或以两个或更多个的组合应用。
本公开的各种实施方式可以以硬件、固件、软件或其组合来实现。在通过硬件实现本公开的情况下,本公开可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器等来实现。
此外,应用本公开的实施方式的图像解码设备和图像编码设备可以包括在多媒体广播传送和接收装置、移动通信终端、家庭影院视频装置、数字影院视频装置、监控摄像头、视频聊天装置、诸如视频通信的实时通信装置、移动流传输装置、存储介质、摄像机、视频点播(VoD)服务提供装置、OTT视频(over the top video)装置、互联网流传输服务提供装置、三维(3D)视频装置、视频电话视频装置、医疗视频装置等中,并且可用于处理视频信号或数据信号。例如,OTT视频装置可以包括游戏机、蓝光播放器、互联网接入电视、家庭影院***、智能电话、平板PC、数字录像机(DVR)等。
图29是示出可应用本公开的实施方式的内容流***的视图。
如图29中所示,应用本公开的实施方式的内容流***可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流***可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流***中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、石板PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流***中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作***、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业实用性
本公开的实施方式可以被用于对图像进行编码或解码。
Claims (10)
1.一种由图像解码设备执行的图像解码方法,该图像解码方法包括以下步骤:
从比特流的权重参数语法结构解析指定参考样本的权重的权重信息;以及
通过基于所述权重信息执行帧间预测来对当前块进行解码,
其中,从所述权重参数语法结构解析权重信息的步骤包括:
从所述权重参数语法结构获得指定从所述权重参数语法结构获得的权重信息的数量的权重数量信息;以及
基于所述权重数量信息从所述权重参数语法结构获得权重信息,
其中,基于从所述比特流获得的标志信息获得所述权重数量信息,并且
其中,所述标志信息指定所述权重参数语法结构中是否存在所述权重数量信息。
2.根据权利要求1所述的图像解码方法,其中,针对能够用于将所述当前块解码的参考画面列表单独地获得所述权重数量信息。
3.根据权利要求2所述的图像解码方法,其中,针对用于将所述当前块解码的双向参考使用的参考画面列表的权重数量信息是基于所述标志信息的值来确定的。
4.根据权利要求1所述的图像解码方法,其中,由用信号通知参数集的网络抽象层NAL单元来用信号通知所述权重参数语法结构。
5.根据权利要求4所述的图像解码方法,其中,基于从包括所述当前块的切片的头信息获得的参数集标识符来标识所述当前块的所述权重信息。
6.根据权利要求5所述的图像解码方法,其中,属于一个画面的所有切片通过使用由相同标识符标识的参数集来使用所述权重信息。
7.一种由图像编码设备执行的图像编码方法,该图像编码方法包括以下步骤:
通过执行帧间预测来生成当前块的预测块;
生成指定构建所述预测块的样本的权重的权重信息;
确定指定权重信息的数量的权重数量信息;以及
将所述权重数量信息和所述权重信息编码到权重参数语法结构中,
其中,基于比特流中包括的标志信息来对所述权重数量信息进行编码,并且
其中,所述标志信息指定所述权重数量信息是否被包括在从所述权重参数语法结构中。
8.根据权利要求7所述的图像编码方法,其中,针对能够用于将所述当前块解码的参考画面列表单独地获得所述权重数量信息。
9.根据权利要求8所述的图像编码方法,其中,所述标志信息用于确定是否获得针对用于将所述当前块解码的双向参考使用的参考画面列表的权重数量信息。
10.一种用于发送通过图像编码方法生成的比特流的方法,所述图像编码方法包括以下步骤:
通过执行帧间预测来生成当前块的预测块;
生成指定构建所述预测块的样本的权重的权重信息;
确定指定权重信息的数量的权重数量信息;以及
将所述权重数量信息和所述权重信息编码到权重参数语法结构中,
其中,基于比特流中包括的标志信息来对所述权重数量信息进行编码,并且
其中,所述标志信息指定所述权重数量信息是否被包括在从所述权重参数语法结构中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311500897.XA CN117376552A (zh) | 2019-09-16 | 2020-09-16 | 解码设备、编码设备和发送设备 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962901243P | 2019-09-16 | 2019-09-16 | |
US62/901,243 | 2019-09-16 | ||
PCT/KR2020/012495 WO2021054720A1 (ko) | 2019-09-16 | 2020-09-16 | 가중 예측을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311500897.XA Division CN117376552A (zh) | 2019-09-16 | 2020-09-16 | 解码设备、编码设备和发送设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114731442A CN114731442A (zh) | 2022-07-08 |
CN114731442B true CN114731442B (zh) | 2023-12-01 |
Family
ID=74883256
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080078815.5A Active CN114731442B (zh) | 2019-09-16 | 2020-09-16 | 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 |
CN202311500897.XA Pending CN117376552A (zh) | 2019-09-16 | 2020-09-16 | 解码设备、编码设备和发送设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311500897.XA Pending CN117376552A (zh) | 2019-09-16 | 2020-09-16 | 解码设备、编码设备和发送设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11716483B2 (zh) |
KR (1) | KR20220049554A (zh) |
CN (2) | CN114731442B (zh) |
WO (1) | WO2021054720A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014131360A (ja) * | 2014-04-07 | 2014-07-10 | Toshiba Corp | 符号化方法、符号化装置及びプログラム |
CN104205819A (zh) * | 2012-02-01 | 2014-12-10 | 诺基亚公司 | 用于视频编码的方法和装置 |
CN106165422A (zh) * | 2013-10-22 | 2016-11-23 | 华为技术有限公司 | 图像解码装置及图像解码方法 |
KR20180005119A (ko) * | 2016-07-05 | 2018-01-15 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
CN107770546A (zh) * | 2012-12-10 | 2018-03-06 | Lg 电子株式会社 | 解码图像的方法和使用其的装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8457203B2 (en) * | 2005-05-26 | 2013-06-04 | Ntt Docomo, Inc. | Method and apparatus for coding motion and prediction weighting parameters |
AU2007232607B2 (en) * | 2006-03-30 | 2010-09-16 | Lg Electronics Inc. | A method and apparatus for decoding/encoding a video signal |
GB2444992A (en) * | 2006-12-21 | 2008-06-25 | Tandberg Television Asa | Video encoding using picture division and weighting by luminance difference data |
KR101408698B1 (ko) * | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
US9521418B2 (en) * | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
TW201408071A (zh) * | 2012-04-09 | 2014-02-16 | Vid Scale Inc | 視訊編碼加權預測參數傳訊 |
KR20150063379A (ko) * | 2012-09-28 | 2015-06-09 | 소니 주식회사 | 부호화 장치 및 부호화 방법, 및 복호 장치 및 복호 방법 |
CN105637872B (zh) * | 2013-10-16 | 2019-01-01 | 夏普株式会社 | 图像解码装置、图像编码装置 |
US10602188B2 (en) * | 2015-06-10 | 2020-03-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding or decoding image using syntax signaling for adaptive weight prediction |
-
2020
- 2020-09-16 CN CN202080078815.5A patent/CN114731442B/zh active Active
- 2020-09-16 WO PCT/KR2020/012495 patent/WO2021054720A1/ko active Application Filing
- 2020-09-16 CN CN202311500897.XA patent/CN117376552A/zh active Pending
- 2020-09-16 KR KR1020227008633A patent/KR20220049554A/ko not_active Application Discontinuation
-
2022
- 2022-03-15 US US17/695,383 patent/US11716483B2/en active Active
-
2023
- 2023-06-14 US US18/209,926 patent/US12034957B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205819A (zh) * | 2012-02-01 | 2014-12-10 | 诺基亚公司 | 用于视频编码的方法和装置 |
CN107770546A (zh) * | 2012-12-10 | 2018-03-06 | Lg 电子株式会社 | 解码图像的方法和使用其的装置 |
CN106165422A (zh) * | 2013-10-22 | 2016-11-23 | 华为技术有限公司 | 图像解码装置及图像解码方法 |
JP2014131360A (ja) * | 2014-04-07 | 2014-07-10 | Toshiba Corp | 符号化方法、符号化装置及びプログラム |
KR20180005119A (ko) * | 2016-07-05 | 2018-01-15 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US12034957B2 (en) | 2024-07-09 |
KR20220049554A (ko) | 2022-04-21 |
US20230328268A1 (en) | 2023-10-12 |
CN117376552A (zh) | 2024-01-09 |
US11716483B2 (en) | 2023-08-01 |
CN114731442A (zh) | 2022-07-08 |
US20220279201A1 (en) | 2022-09-01 |
WO2021054720A1 (ko) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11909960B2 (en) | Method and apparatus for processing video signal | |
CN114009026A (zh) | 视频译码中的色度量化参数偏移的块级信令 | |
EP3985971A1 (en) | Image encoding/decoding method and device for utilizing simplified mpm list generation method, and method for transmitting bitstream | |
CA3162583C (en) | Image encoding/decoding method and device using lossless color transform, and method for transmitting bitstream | |
CN117221539A (zh) | 解码和编码设备、数据发送设备及计算机可读存储介质 | |
US11895314B2 (en) | Method and device for coding image/video on basis of prediction weighted table | |
CN114651441B (zh) | 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法 | |
CN114902669A (zh) | 使用颜色空间转换对图像编码/解码的方法和装置及发送比特流的方法 | |
US11743469B2 (en) | Image encoding/decoding method and apparatus for selectively encoding size information of rectangular slice, and method for transmitting bitstream | |
US12022128B2 (en) | Method and device for weighted prediction for image/video coding | |
CN118138758A (zh) | 基于自适应环路滤波的图像编译装置和方法 | |
AU2024201784A1 (en) | Image encoding/decoding method and apparatus using adaptive transform, and method for transmitting bitstream | |
CN115088256A (zh) | 选择性地用信号通知滤波可用信息的图像编码/解码方法和装置以及发送比特流的方法 | |
CN114902666A (zh) | 使用自适应颜色变换的图像编码/解码方法和装置以及发送比特流的方法 | |
CN114731442B (zh) | 使用加权预测的图像编码/解码方法和装置以及发送比特流的方法 | |
CN116034581A (zh) | 用信号通知aps标识符的图像编码/解码方法和设备及存储比特流的计算机可读记录介质 | |
AU2020354148B2 (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 | |
KR20220161427A (ko) | 픽처 분할 정보 및 서브픽처 정보에 기반하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |