CN112369035A - 图像编码/解码方法和设备 - Google Patents
图像编码/解码方法和设备 Download PDFInfo
- Publication number
- CN112369035A CN112369035A CN201980044609.XA CN201980044609A CN112369035A CN 112369035 A CN112369035 A CN 112369035A CN 201980044609 A CN201980044609 A CN 201980044609A CN 112369035 A CN112369035 A CN 112369035A
- Authority
- CN
- China
- Prior art keywords
- block
- information
- blocks
- prediction
- motion
- 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 281
- 230000033001 locomotion Effects 0.000 claims abstract description 770
- 230000002123 temporal effect Effects 0.000 claims description 56
- 239000013598 vector Substances 0.000 description 284
- 230000008569 process Effects 0.000 description 160
- 238000000638 solvent extraction Methods 0.000 description 114
- 238000005192 partition Methods 0.000 description 90
- 230000011218 segmentation Effects 0.000 description 48
- 238000013139 quantization Methods 0.000 description 47
- 238000012545 processing Methods 0.000 description 38
- 230000000875 corresponding effect Effects 0.000 description 37
- 230000003044 adaptive effect Effects 0.000 description 30
- 238000010276 construction Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 25
- 230000009466 transformation Effects 0.000 description 22
- 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 21
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 21
- 239000011449 brick Substances 0.000 description 18
- 238000009795 derivation Methods 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000001914 filtration Methods 0.000 description 13
- 238000007792 addition Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000002068 genetic effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 229910052698 phosphorus Inorganic materials 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 101150108611 dct-1 gene Proteins 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- 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
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/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/513—Processing of motion vectors
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据本发明的图像编码/解码方法和设备可以:确定目标块的运动信息编码模式;根据运动信息编码模式来配置运动信息预测候选组;从运动信息预测候选组中选择一个候选,以将所选择的候选导出为目标块的运动信息;以及基于目标块的运动信息对目标块执行帧间预测。
Description
技术领域
本公开内容涉及图像编码和解码技术,更详细地,涉及帧间预测中的图像编码/解码方法和设备。
背景技术
随着因特网和移动终端被提供以及信息和通信技术的发展,多媒体数据的使用迅速增加。因此,为了在所有种类的***中通过图像预测来执行各种服务或工作,对提高图像处理***的性能和效率的需求已经显著增加,但是来自可以响应于这种氛围的研究和开发的成果还不够。
因此,在传统技术的图像编码和解码方法及设备中,需要提高图像处理的性能,特别是图像编码或图像解码的性能。
发明内容
技术问题
本公开内容的目的是提供一种帧间预测方法。
此外,本公开内容提供了配置用于帧间预测的运动信息预测候选组的方法和设备。
此外,本公开内容提供了根据运动信息编码模式执行帧间预测的方法和设备。
技术解决方案
根据本公开内容的图像编码/解码方法和设备可以:确定目标块的运动信息编码模式;根据运动信息编码模式来配置运动信息预测候选组;通过选择运动信息预测候选组中的一个候选来得出目标块的运动信息;并且基于目标块的运动信息对目标块执行帧间预测。
有益效果
当使用根据本公开内容的帧间预测时,因为运动信息预测候选组可以被有效地配置成得出表示目标块的运动信息的比特的减少,因此可以提高编码性能。
附图说明
图1是关于根据本公开内容的实施方式的图像编码和解码***的概念图。
图2是关于根据本公开内容的实施方式的图像编码设备的部件框图。
图3是关于根据本公开内容的实施方式的图像解码设备的部件框图。
图4是示出可以在本公开内容的块划分单元中获得的各种划分形状的示例性图。
图5是用于描述一个家庭中的成员的遗传性状和在血缘关系中的人物的家庭数的示例。
图6是与目标块成水平关系的相关块的各种布置的示例。
图7是与目标块成竖直关系的相关块的各种布置的示例。
图8是与目标块成竖直关系和水平关系的相关块的各种布置的示例。
图9是关于根据树类型获得的块划分的示例性图。在这种情况下,p至r表示关于QT、BT、TT的块划分的示例。
图10是关于通过QT、BT、TT获得的块划分的示例性图。
图11是用于基于划分方法和划分设置来确认块之间的相关性的示例性图。
图12是示出通过帧间预测获得预测块的各种情况的示例性图。
图13是根据本公开内容的实施方式的配置参考图片列表的示例性图。
图14是示出根据本公开内容的实施方式的非平移运动模型的概念图。
图15是示出根据本公开内容的实施方式的以子块为单位的运动预测的示例性图。
图16是关于根据本公开内容的实施方式的与基本块空间上或时间上邻近的块的布置的示例性图。
具体实施方式
最佳方式
根据本公开内容的图像编码/解码方法和设备可以:确定目标块的运动信息编码模式;根据运动信息编码模式来配置运动信息预测候选组;通过选择运动信息预测候选组中的一个候选来得出目标块的运动信息;并且基于目标块的运动信息对目标块执行帧间预测。
本发明的方式
可以对本发明进行各种改变和修改,并且可以参考不同的示例性实施方式对本发明进行说明,将在附图中描述和示出不同的示例性实施方式中的一些实施方式。然而,这些实施方式不旨在限制本发明,而是应当被理解为包括属于本发明的精神和技术范围的所有修改、等同物和替代。在附图中,相似的附图标记始终指代相似的要素。
虽然术语第一、第二等可以用于描述各种要素,但是这些要素不应当被这些术语限制。这些术语仅用于将一个要素与另一个要素区分开。例如,在不偏离本发明的教导的情况下,第一要素可以被称为第二要素,并且同样地,第二要素也可以被称为第一要素。术语“和/或”包括多个关联列出的项的任何组合和所有组合。
应当理解,当要素被称为“连接至”或“耦接至”另一要素时,该要素可以直接连接或耦接至另一要素或中间要素。相反,当要素被称为“直接连接至”或“直接耦接至”另一要素时,不存在中间要素。
本文中所使用的术语仅出于描述特定实施方式的目的,并且并不旨在限制本发明。除非上下文另外明确指出,否则如本文中所使用的,单数形式“一”“一个”和“该”也旨在包括复数形式。还应当理解,当在本说明书中使用时,术语“包括”和/或“具有”指明存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是不排除存在或添加一个或更多个其他特征、整数、步骤、操作、元件、部件和/或其他特征、整数、步骤、操作、元件、部件的组。
除非另外限定,否则本文所使用的所有术语——包括技术或科学术语——均与本公开内容所属领域的普通技术人员通常理解的含义相同。通常被使用并且在词典中被限定的术语应当被解释为具有与相关技术相同的上下文含义,并且除非在本公开内容中明确地被限定,否则它们不应被解释为理想的或过于正式的。
通常,可以根据图像的颜色格式来配置一个或更多个颜色空间。可以根据颜色格式来配置具有一定尺寸的一个或更多个图片或具有不同尺寸的一个或更多个图片。在示例中,在YCbCr颜色配置中,可以支持诸如4:4:4、4:2:2、4:2:0、单色(仅配置有Y)等颜色格式。在示例中,对于YCbCr 4:2:0,可以配置1个亮度分量(在该示例中为Y)和2个色度分量(在该示例中为Cb/Cr),并且在这种情况下,色度分量与亮度分量的配置比率可以为1:2的宽高比。在示例中,对于4:4:4,它可以具有相同的宽高比。当如以上示例中那样用一个或更多个颜色空间配置图片时,可以执行将图片划分成每个颜色空间。
由于可以根据图像类型(例如,图片类型、切片类型(slice type)、图块组类型(tile group type)、图块类型(tile type)、砖形块类型(brick type)等)将图像分类为I、P、B等,因此图像类型I可以表示在不使用参考图片的情况下进行自编码的图像,图像类型P可以表示通过使用参考图片进行编码但仅允许前向预测的图像,图像类型B可以表示通过使用参考图片进行编码并且允许前向/后向预测的图像,但是可以根据编码设置对以上类型的一部分进行组合(对P和B进行组合),或者可以支持其他配置中的图像类型。
在本公开内容中产生的各种经编码/经解码的信息可以显式地或隐式地被处理。就此而言,可以理解的是,显式处理可以生成指示关于以序列、切片、图块组、图块、砖形块、块、子块等编码的信息的多个候选组中的一个候选的选择信息,以将该选择信息存储在比特流中,并且在解码器中以与编码器相同的单位解析相关信息,以将相关信息重构为经解码的信息。在这种情况下,可以理解的是,隐式处理在编码器和解码器中以相同的处理、规则等来处理经编码/经解码的信息。
图1是关于根据本公开内容的实施方式的图像编码和解码***的概念图。
参照图1,图像编码设备(105)和解码设备(100)可以是诸如个人计算机(PC)、笔记本、个人数字助理(PDA)、便携式多媒体播放器(PMP)、便携式游戏机(PSP)、无线通信终端、智能电话或TV等的用户终端或者诸如应用服务器、服务服务器等的服务器终端,并且图像编码设备(105)和解码设备(100)可以包括配备有通信设备的各种设备,例如,用于与各种仪器或有线和无线通信网络进行通信的通信调制解调器等、用于存储用于帧间预测或帧内预测以对图像进行编码或解码的所有种类的程序和数据的存储器(120,125)或者用于程序操作以及通过运行程序进行控制的处理器(110,115)等。
此外,由图像编码设备(105)编码在比特流中的图像可以通过诸如因特网、无线局域网、无线Lan网络、无线宽带网络或移动无线电通信网络等的有线和无线通信网络等或通过诸如线缆或通用串行总线等的各种通信接口实时地或非实时地被发送至图像解码设备(100),并且在图像解码设备(100)中被解码。并且它可以被重构成图像并且被播放。此外,可以通过计算机可读记录介质将由图像编码设备(105)编码在比特流中的图像从图像编码设备(105)发送至图像解码设备(100)。
以上提及的图像编码设备和图像解码设备可以分别是单独的设备,但是根据实施方式,它们可以被制成一个图像编码/解码设备。在这种情况下,图像编码设备的一些配置可以被实现为与图像解码设备的一些配置基本上相同的技术要素,至少包括相同的结构或者至少执行相同的功能。
因此,在对以下技术要素及其操作原理等的详细说明中,将省略关于对应技术要素的重复说明。此外,由于图像解码设备对应于将在图像编码设备中执行的图像编码方法应用于解码的计算设备,因此以下将主要描述图像编码设备。
计算设备可以包括:存储器,其存储实现图像编码方法和/或图像解码方法的程序或软件模块;以及处理器,其连接至存储器以执行程序。在这种情况下,分别地,图像编码设备可以被称为编码器,图像解码设备可以被称为解码器。
图2是关于根据本公开内容的实施方式的图像编码设备的部件框图。
参照图2,图像编码装置(20)可以包括预测单元(200)、减法单元(205)、变换单元(210)、量化单元(215)、去量化单元(220)、逆变换单元(225)、加法单元(230)、滤波器单元(235)、编码图片缓冲器(240)和熵编码单元(245)。
预测单元(200)可以通过使用预测模块、软件模块来实现,并且可以针对将被编码的块以帧内预测方法或帧间预测方法生成预测块。预测单元(200)可以通过预测图像中当前要被编码的目标块来生成预测块。换言之,预测单元(200)可以根据帧内预测或帧间预测利用通过预测图像中要被编码的目标块中的每个像素的像素值而生成的每个像素的预测像素值来生成预测块。此外,预测单元(200)可以通过将生成预测块所需的信息——如关于诸如帧内预测模式或帧间预测模式的预测模式的信息——发送至编码单元,来使编码单元对关于预测模式的信息进行编码。在这种情况下,可以根据编码设置来确定执行预测的处理单元和确定预测方法和具体内容的处理单元。例如,可以在预测单元中确定预测方法、预测模式等,并且可以在变换单元中执行预测。
帧内预测单元可以具有根据预测方向使用的诸如水平模式、竖直模式等的方向预测模式以及使用诸如参考像素的平均、内插等的方法的诸如DC、平面的非方向预测模式。帧内预测模式候选组可以由方向模式和非方向模式以及可以被用作候选组的诸如35个预测模式(33个方向预测模式+2个非方向预测模式)或67个预测模式(65个方向预测模式+2个非方向预测模式)、131个预测模式(129个方向预测模式+2个非方向预测模式)等的各种候选之一来配置。
帧内预测单元可以包括参考像素构造单元、参考像素滤波单元、参考像素内插单元、预测模式确定单元、预测块生成单元和预测模式编码单元。参考像素构造单元可以将属于与目标块邻近的块并且与目标块邻近的像素配置为用于帧内预测的参考像素。根据编码设置,可以将一个最邻近的参考像素线配置为参考像素,可以将另一个邻近的参考像素线配置为参考像素,或者可以将多个参考像素线配置为参考像素。当参考像素中的一些参考像素不可用时,可以通过使用可用参考像素来生成参考像素,而当所有参考像素都不可用时,可以通过使用预设值(例如,由位深度表示的参考值的范围内的中心值等)来生成参考像素。
帧内预测单元的参考像素滤波单元可以对参考像素执行滤波,以减少编码处理中的残差劣化。在这种情况下,滤波器可以是低通滤波器,例如3抽头滤波器[1/4、1/2、1/4]、5抽头滤波器[2/16、3/16、6/16、3/16、2/16]等。根据编码信息(例如,块的尺寸或形状、预测模式等),可以确定是否应用滤波、滤波类型等。
帧内预测单元的参考像素内插单元可以根据预测模式在参考像素的线性内插处理中生成呈小数单位的像素,并且可以根据编码信息来确定被应用的内插滤波器。在这种情况下,内插滤波器可以包括4抽头三次滤波器、4抽头高斯滤波器、6抽头维纳滤波器(Wiener filter)、8抽头卡尔曼滤波器(Kalman filter)等。一般而言,与执行低通滤波的处理分开地执行内插,但是可以通过将应用于两个处理的滤波器集成为一个滤波器来执行滤波处理。
帧内预测单元的预测模式确定单元可以通过考虑编码成本从预测模式候选组中选择至少一个最佳预测模式。预测块生成单元可以通过使用相应的预测模式来生成预测块。在预测模式编码单元中,可以基于预测值对最佳预测模式进行编码。在这种情况下,可以根据预测值是准确的情况以及预测值是不准确的情况来对预测信息自适应地编码。
在帧内预测单元中,预测值可以被称为MPM(最可能模式),并且在属于预测模式候选组的所有模式中,模式中的一些可以被配置为MPM候选组。MPM候选组可以包括预设的预测模式(例如,DC、平面、竖直、水平、对角线模式等)或空间邻近块(例如,左块、上块、左上块、右上块、左下块等)的预测模式等。此外,从预先包括在MPM候选组中的模式得出的模式(对于方向模式,差异为+1、-1等)可以被配置为MPM候选组。
可以存在用于配置MPM候选组的预测模式的优先级。可以根据优先级来确定要包括在MPM候选组中的顺序。如果根据优先级填充MPM候选的数量(根据预测模式候选的数量确定),则可以终止MPM候选组的配置。在这种情况下,可以按照空间上邻近的块的预测模式、预设的预测模式和从预先包括在MPM候选组中的预测模式得出的模式的顺序来确定优先级,但是其他修改也是可能的。
例如,可以按照空间上邻近的块中的左块–上块–左下块–右上块–左上块等的顺序被包括在候选组中,可以按照预设预测模式中的DC模式–平面模式–竖直模式–水平模式等的顺序被包括在候选组中,以及通过将+1、-1等添加到预先包括的模式而获得的模式可以被包括在候选组中,以配置总共6个模式作为候选组。替选地,可以按照左–上–DC–平面–左下–右上–左上–(左+1)–(左-1)–(上+1)等的一个优先级被包括在候选组中,以配置总共7个模式作为候选组。
减法单元(205)可以通过从目标块减去预测块来生成残差块。换言之,减法单元(205)可以计算要编码的目标块中的每个像素的像素值与由预测单元生成的预测块中的相应像素的预测像素值之间的差,以生成以块的形式的残差信号,即残差块。此外,减法单元(205)可以以除了通过稍后描述的块分割单元获得的块之外的单元生成残差块。
变换单元(210)可以将空间信号变换为频率信号。通过变换处理获得的信号被称为变换系数。例如,具有从减法单元接收到的残差信号的残差块可以被变换为具有变换系数的变换块,并且根据编码设置来确定输入信号,输入信号不限于残差信号。
变换单元可以通过但不限于诸如哈达玛(Hadamard)变换、基于离散正弦变换(DST)的变换或基于DCT的变换的变换方案来变换残差块。这些变换方案可以以各种方式改变和修改。
可以支持变换方案中的至少一个,并且可以支持每个变换方案的至少一个子变换方案。可以通过修改变换方案中的基矢量的一部分来获得子变换方案。
例如,在DCT的情况下,可以支持子变换方案DCT-1至DCT-8中的一个或更多个,在DST的情况下,可以支持子变换方案DST-1至DST-8中的一个或更多个。可以利用子变换方案的一部分来构造变换方案候选组。例如,DCT-2、DCT-8和DST-7可以被分组到候选组中以用于变换。
可以在水平方向/竖直方向上执行变换。例如,可以通过DCT-2在水平方向上执行一维变换,可以通过DST-7在竖直方向上执行一维变换。利用二维变换,可以将像素值从空间域变换到频域。
可以采用一种固定变换方案,或者可以根据编码设置自适应地选择变换方案。在后一种情况下,可以显式地或隐式地选择变换方案。当显式地选择变换方案时,可以例如在块级别生成关于在水平方向和竖直方向中的每一个上应用的变换方案或变换方案集的信息。当隐式地选择变换方案时,可以根据图像类型(I/P/B)、颜色分量、块尺寸、块形状、块位置、帧内预测模式等来限定编码设置,并且可以根据编码设置来选择预定的变换方案。
此外,可以根据编码设置跳过一些变换。也就是说,可以显式地或隐式地省略水平单元和竖直单元中的一个或更多个。
此外,变换单元可以将生成变换块所需的信息发送至编码单元,使得编码单元对信息进行编码,将经编码的信息包括在比特流中,并且将比特流发送至解码器。因此,解码器的解码单元可以对来自比特流的信息进行解析,以用于逆变换。
量化单元(215)可以对输入信号进行量化。从量化获得的信号被称为量化系数。例如,量化单元(215)可以通过对具有从变换单元接收的残差变换系数的残差块进行量化来获得具有量化系数的量化块,输入信号可以根据编码设置被确定,其不限于残差变换系数。
量化单元可以通过但不限于诸如死区均匀阈值量化(Dead Zone UniformThreshold Quantization)、量化加权矩阵等的量化方案对经变换的残差块进行量化。可以以各种方式改变和修改以上量化方案。
可以根据编码设置跳过量化。例如,可以根据编码设置(例如,量化参数为0,即,无损压缩环境)来跳过量化(和去量化)。在另一示例中,当没有根据图像的特性而发挥出基于量化的压缩性能时,可以省略量化处理。在量化块(M×N)的整个区域或部分区域(M/2×N/2、M×N/2或M/2×N)中可以跳过量化,并且可以显式地或隐式地设置量化跳过选择信息。
量化单元可以将生成经量化的块所需的信息发送至编码单元,使得编码单元对该信息进行编码,将经编码的信息包括在比特流上,并且将比特流发送至解码器。因此,解码器的解码单元可以对来自比特流的信息进行解析,以用于去量化。
尽管在假设通过变换单元和量化单元对残差块进行变换和量化的情况下描述了以上示例,但是可以通过对残差信号进行变换来生成具有变换系数的残差块,并且可以不对其进行量化。残差块可以仅经受量化而不经受变换。此外,残差块可以既经受变换又经受量化。可以根据编码设置来确定这些操作。
去量化单元(220)对由量化单元(215)量化的残差块进行去量化。也就是说,去量化单元(220)通过对量化频率系数序列进行去量化来生成具有频率系数的残差块。
逆变换单元(225)对由去量化单元(220)去量化的残差块进行逆变换。也就是说,逆变换单元(225)对去量化的残差块的频率系数进行逆变换,以生成具有像素值的残差块,即重构的残差块。逆变换单元(225)可以通过逆向地执行由变换单元(210)使用的变换方案来执行逆变换。
加法单元(230)通过将由预测单元(200)预测的预测块与由逆变换单元(225)恢复的残差块相加来重构目标块。重构的目标块作为参考图片(或参考块)被存储在编码图片缓冲器(240)中,以在稍后对目标块的下一个块、另一个块或另一个图片进行编码时用作参考图片。
滤波器单元(235)可以包括一个或更多个后处理滤波器,例如去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器(ALF)。去块滤波器可以消除在重构的图片中的块之间的边界处发生的块失真。ALF可以基于通过对在通过去块滤波器对块进行滤波之后的重构图像与原始图像进行比较而获得的值来执行滤波。SAO可以在像素级别上对原始图像与应用了去块滤波器的残差块之间的偏移差进行重构。可以将这些后处理滤波器应用于重构的图片或块。
编码图片缓冲器(240)可以存储由滤波器单元(235)重构的块或图片。存储在编码图片缓冲器(240)中的重构块或重构图片可以被提供给执行帧内预测或帧间预测的预测单元(200)。
熵编码单元(245)以各种扫描方法扫描所生成的量化的频率系数序列,以生成经量化的系数序列,通过熵编码对经量化的系数序列进行编码,并且输出经熵编码的系数序列。扫描图案可以被配置为诸如锯齿形、对角线和光栅的各种图案中的一种。此外,可以生成包括从每个部件接收的编码信息的经编码的数据,并且以比特流输出该经编码的数据。
图3是示出根据本公开内容的实施方式的图像解码装置的框图。
参照图3,图像解码装置(30)可以被配置成包括熵解码器(305)、预测单元(310)、去量化单元(315)、逆变换单元(320)、加法单元/减法单元(325)、滤波器(330)和解码图片缓冲器(335)。
此外,预测单元(310)可以被配置成包括帧内预测模块和帧间预测模块。
当从图像编码装置20接收到图像比特流时,图像比特流可以被发送至熵解码器305。
熵解码器(305)可以将比特流解码为包括经量化的系数的经解码的数据和要被发送至每个部件的解码信息。
预测单元(310)可以基于从熵解码器(305)接收到的数据生成预测块。基于存储在解码图片缓冲器(335)中的参考图像,可以使用默认配置方案来产生参考图片列表。
帧内预测单元可以包括参考像素构造单元、参考像素滤波单元、参考像素内插单元、预测块生成单元和预测模式解码单元,并且一些可以执行与编码器相同的处理,并且一些可以逆向地执行得出处理(derivation process)。
去量化单元(315)可以对以比特流提供并由熵解码器(305)解码的经量化的变换系数进行去量化。
逆变换单元(320)可以通过对变换系数应用逆DCT、逆整数变换或类似的逆变换技术来生成残差块。
去量化单元(315)和逆变换单元(320)可以反向地执行上述图像编码装置20的变换单元(210)和量化单元(215)的处理,并且可以以各种方式被实现。例如,去量化单元(315)和逆变换单元(320)可以使用与变换单元(210)和量化单元(215)共享的相同处理和逆变换,并且可以使用从图像编码装置20接收到的关于变换和量化处理的信息(例如,变换尺寸、变换形状、量化类型等)来反向地执行变换和量化。
可以将已经被去量化和逆向地变换的残差块添加到由预测单元(310)得出的预测块,从而产生重构的图像块。该加法可以由加法单元/减法单元(325)执行。
关于滤波器(330),当需要时,可以应用去块滤波器以消除重构的图像块中的块现象。为了改善解码处理之前和之后的视频质量,可以另外使用其他环路滤波器。
重构的和滤波的图像块可以被存储在解码图片缓冲器(335)中。
尽管在附图中未示出,但是图像编码/解码装置还可以包括块分割单元。
块分割单元可以分割成各种单元和尺寸的块。基本编码单元(或最大编码单元、编码树单元CTU)可以参考用于图像编码处理中的预测、变换、量化等的基本(或起始)单元。在这种情况下,可以根据颜色格式(在该示例中为YCbCr)由一个亮度基本编码块(最大编码块或CTB)和两个基本色度编码块组成基本编码单元,并且可以根据颜色格式来确定每个块的尺寸。可以根据划分处理来获得编码块(CB)。CB可以被理解为由于某些限制而不再进一步被再分的单元,并且可以被设置为用于划分为子单元的起始单元。在本公开内容中,块概念性地包含诸如三角形、圆形等的各种形状,而不限于正方形。
虽然在一个颜色分量的情况下给出了以下描述,但是其也适用于与根据颜色格式的比率成比例地具有一些修改的其他颜色分量(例如,在YCbCr 4:2:0的情况下,亮度分量与色度分量的宽高长度比为2:1)。此外,尽管根据其他颜色分量(例如,根据Cb/Cr中的Y的块划分结果)的块划分是可能的,但是应当理解,每个颜色分量的块独立划分也是可能的。此外,尽管可以使用一种共同的块划分配置(考虑到与长度比成比例),但是还需要考虑和理解:根据颜色分量来使用单独的块划分配置。
在块分割单元中,块可以被表示为M×N,并且可以在该范围内获得每个块的最大值和最小值。例如,如果块的最大值和最小值分别是256×256和4×4,则可以获得尺寸为2m×2n(在该示例中,m和n是2至8的整数)的块、尺寸为2m×2n(在该示例中,m和n是2至128的整数)的块或者尺寸为m×m(在该示例中,m和n是4至256的整数)的块。在本文中,m和n可以相等或不同,并且可以生成支持块的一个或更多个范围,例如最大值和最小值。
例如,可以生成关于块的最大尺寸和最小尺寸的信息,并且在一些划分配置中,可以生成关于块的最大尺寸和最小尺寸的信息。在前一种情况下,信息可以是关于可以在图像中产生的最大尺寸和最小尺寸的范围信息,而在后一种情况下,信息可以是关于可以根据一些划分配置产生的最大尺寸和最小尺寸的信息。划分配置可以由图像类型(I/P/B)、颜色分量(YCbCr等)、块类型(编码/预测/变换/量化)、划分类型(索引或类型)和划分方案(作为树方法的四叉树(QT)、二叉树(BT)和三叉树(TT)以及作为类型方法的SI2、SI3和SI4)来限定。
此外,可以存在对可用于块的宽高比(块形状)的约束,并且在这点上,可以设置边界值。仅小于或等于/小于边界值k的块可以被支持,其中,可以根据宽高比A/B(A是宽度与高度之间的较长或相等的值,而B是另一个值)来限定k。k可以是等于或大于1的实数,例如1.5、2、3、4等。如在以上示例中,可以支持对图像中的一个块的形状的约束,或者可以根据划分配置支持一个或更多个约束。
总之,可以基于上述范围和约束以及稍后描述的划分配置来确定块划分是否被支持。例如,当从块(父块)分割的候选(子块)满足支持块条件时,可以支持划分,否则,可以不支持划分。
可以关于图像编码装置和图像解码装置的每个部件来配置块分割单元,并且在该处理中可以确定块的尺寸和形状。可以根据部件来配置不同的块。所述块可以包括用于预测单元的预测块、用于变换单元的变换块和用于量化单元的量化块。然而,本公开内容不限于此,并且可以针对其他部件另外限定块单元。虽然在本公开内容中在每个部件中输入和输出中的每一个的形状被描述为矩形,但是一些部件的输入和输出可以具有任何其他形状(例如,三角形)。
可以从较高的单元确定块分割单元中的初始(或起始)块的尺寸和形状。初始块可以被分割成较小的块。一旦根据块划分确定了最佳尺寸和形状,则可以将该块确定为关于较低单元的初始块。较高单元可以是编码块,并且较低单元可以是预测块或变换块,本公开内容不限于此。相反,各种修改示例是可能的。一旦如在以上示例中那样确定了较低单元的初始块,就可以执行划分处理以检测像较高单元那样的块的最佳尺寸和形状。
总之,块分割单元可以将基本编码块(或最大编码块)分割成至少一个编码块,并且编码块可以被分割成至少一个预测块/变换块/量化块。此外,预测块可以被分割成至少一个变换块/量化块,并且变换块可以被分割成至少一个量化块。一些块可以与其他块具有依赖关系(即,由较高单元和较低单元限定),或者可以与其他块具有独立关系。例如,预测块可以是变换块上方的较高单元,或者可以是独立于变换块的单元。可以根据块的类型来建立各种关系。
根据编码设置,可以确定是否将较高单元和较低单元进行组合。单元之间的组合意味着:较高单元的块经受较低单元(例如,在预测单元、变换单元、逆变换单元等中)的编码处理,而不被分割成较低单元。也就是说,这可能意味着:在多个单元之间共享划分处理,并且在单元之一(例如,较高单元)中生成划分信息。
例如,(当编码块与预测块或变换块组合时),编码块可以经受预测、变换和逆变换。
例如,(当编码块与预测块组合时),编码块可以经受预测,并且在尺寸上等于或小于编码块的变换块可以经受变换和逆变换。
例如,(当编码块与变换块组合时),在尺寸上等于或小于编码块的预测块可以经受预测,并且编码块可以经受变换和逆变换。
例如,(当预测块与变换块组合时),在尺寸上等于或小于编码块的预测块可以经受预测、变换和逆变换。
例如,(当不存在块组合时),在尺寸上等于或小于编码块的预测块可以经受预测,并且在尺寸上等于或小于编码块的变换块可以经受变换和逆变换。
尽管在以上示例中已经描述了编码块、预测块和变换块的各种情况,但是本公开内容不限于此。
对于单元之间的组合,可以在图像中支持固定配置,或者可以考虑到各种编码因素来支持自适应配置。编码因素包括图像类型、颜色分量、编码模式(帧内/帧间)、划分配置、块尺寸/形状/位置、宽高比、预测相关信息(例如,帧内预测模式、帧间预测模式等)、变换相关信息(例如,变换方案选择信息等)、量化相关信息(例如,量化区域选择信息和量化变换系数编码信息)等。
当如上所述已检测到最佳尺寸和形状的块时,可以生成该块的模式信息(例如,划分信息)。模式信息可以连同从块所属的部件生成的信息(例如,预测相关信息和变换相关信息)一起被包括在比特流中并被发送至解码器,并且可以由解码器以相同单元级别进行解析以用于视频解码处理中。
现在将描述划分方案。尽管为了便于描述,假设初始块被成形为正方形,但是本公开内容不限于此,并且该描述可以以相同方式或类似方式适用于其中初始块为矩形的情况。
块分割单元可以支持各种类型的划分。例如,可以支持基于树的划分或基于索引的划分,并且还可以支持其他方法。在基于树的划分中,可以基于各种类型的信息(例如,指示是否执行划分的信息、树类型、划分方向等)来确定划分类型,而在基于索引的划分中,可以使用特定索引信息来确定划分类型。
图4是示出可以在本公开内容的块分割单元中获得的各种划分类型的示例性图。在该示例中,假设图4中所示出的划分类型是通过一个划分操作(或处理)获得的,其不应被理解为限制本公开内容。划分类型也可以在多个划分操作中获得。此外,图4中未示出的其他划分类型也是可用的。
(基于树的划分)
在本公开内容的基于树的划分中,可以支持QT、BT和TT。如果支持一种树方法,则这可以被称为单树划分,如果支持两种或更多种树方法,则这可以被称为多树划分。
在QT中,块在水平方向和竖直方向中的每一个上被分割成两个分区(n),而在BT中,块在水平方向或竖直方向上被分割成两个分区(b至g)。在TT中,块在水平方向或竖直方向上被分割成三个分区(h至m)。
在QT中,可以通过将划分方向限制成水平方向和竖直方向中的一个而将块分割成四个分区(o和p)。此外,在BT中,可以支持仅将块分割成相等尺寸的分区(b和c)、仅将块分割成不同尺寸的分区(d至g)、或者这两种划分类型。此外,在TT中,可以支持将块分割成仅集中在特定方向(在左->右或上->下的方向上1:1:2或2:1:1)上的分区(h、j、k和m)、将块分割成集中在中心(1:2:1)的分区(i和l)、或者这两种划分类型。此外,可以支持在水平方向和竖直方向中的每一个上将块分割成四个分区(即,总共16个分区)(q)。
在树方法中,可以支持仅在水平方向上将块分割成z个分区(b、d、e、h、i、j、o)、仅在竖直方向上将块分割成z个分区(c、f、g、k、l、m、p)、或者这两种划分类型。在本文中,z可以是等于或大于2的整数,例如,2、3或4。
在本公开内容中,假设划分类型n被支持为QT,划分类型b和c被支持为BT,并且划分类型i和l被支持为TT。
根据编码设置,可以支持树划分方案中的一个或更多个。例如,可以支持QT、QT/BT或QT/BT/TT。
在以上示例中,基本树划分方案是QT,并且根据是否支持其他树,BT和TT被包括作为附加划分方案。然而,可以进行各种修改。指示是否支持其他树的信息(bt_enabled_flag、tt_enabled_flag和bt_tt_enabled_flag,其中0指示不支持并且1指示支持)可以根据编码设置而隐式地被确定或者以诸如序列、图片、切片、图块组、图块或砖形块的单元显式地被确定。
划分信息可以包括指示是否执行划分的信息(tree_part_flag或qt_part_flag、bt_part_flag、tt_part_flag和bt_tt_part_flag,其可以具有值0或1,其中0指示不划分,1指示划分)。此外,根据划分方案(BT和TT),可以添加关于划分方向的信息(dir_part_flag或bt_dir_part_flag、tt_dir_part_flag和bt_tt_dir_part_flag,其具有值0或1,其中0指示<宽度/水平的>,1指示<高度/竖直的>)。这可以是在执行划分时可能生成的信息。
当支持多树划分时,可以配置各种划分信息。为了便于描述,以下描述给出如何在一个深度级别处配置划分信息的示例(也就是说,但是可以通过设置一个或更多个支持的划分深度进行递归划分)。
在示例1中,检查指示是否执行划分的信息。如果没有执行划分,则划分结束。
如果执行划分,则检查关于划分类型的选择信息(例如,tree_idx。对于QT为0,对于BT为1,对于TT为2)。根据所选择的划分类型来另外地检查划分方向信息,并且过程进行到下一步骤(如果由于诸如当划分深度还未达到最大值时的原因而导致附加的划分是可能的,则过程从起始处再次开始,如果附加的划分是不可能的,则划分过程结束)。
在示例2中,检查指示是否以特定的树方案(QT)执行划分的信息,并且过程进行到下一步骤。如果不以树方案(QT)执行划分,则检查指示是否以另一个树方案(BT)执行划分的信息。在这种情况下,如果不以该树方案执行划分,则检查指示是否以第三个树方案(TT)执行划分的信息。如果不以第三个树方案(TT)执行划分,则划分过程结束。
如果以树方案(QT)执行划分,则过程进行到下一步骤。此外,以第二个树方案(BT)执行划分,检查划分方向信息,并且过程进行到下一步骤。如果以第三个树方案(TT)执行划分,则检查划分方向信息,并且过程进行到下一步骤。
在示例3中,检查指示是否以树方案(QT)执行划分的信息。如果不以树方案(QT)执行划分,则检查指示是否以其他树方案(BT和TT)执行划分的信息。如果不执行划分,则划分过程结束。
如果以树方案(QT)执行划分,则过程进行到下一步骤。此外,以其他树方案(BT和TT)执行划分,检查划分方向信息,并且过程进行到下一步骤。
虽然在以上示例中,对树划分方案进行优先级排序(示例2和示例3)或者不给树划分方案分配优先级(示例1),但是各种修改示例也是可用的。此外,在以上示例中,当前步骤中的划分与前一步骤的划分结果无关。然而,当前步骤中的划分可以依赖于前一步骤的划分结果。
在示例1至示例3中,如果在先前步骤中执行了一些树划分方案(QT),因此该过程进行至当前步骤,则在当前步骤中也可以支持相同的树划分方案(QT)。
另一方面,如果在先前步骤中未执行某个树划分方案(QT)并且执行了另一树划分方案(BT或TT),则在当前步骤和后续步骤中可以支持除了某个树划分方案(QT)之外的其他树划分方案(BT和TT)。
在以上情况下,对于块划分支持的树配置可以是自适应的,因此前述划分信息也可以被不同地配置。(稍后要描述的示例被假定为示例3)。也就是说,如果在先前步骤中没有以某个树方案(QT)执行划分,则在当前步骤中可以不考虑树方案(QT)而执行划分过程。此外,可以去除与某个树方案相关的划分信息(例如,指示是否执行划分的信息、关于划分方向的信息等。在该示例<QT>中,指示是否执行划分的信息)。
以上示例涉及针对允许块划分的情况的自适应划分信息配置(例如,块尺寸在最大值与最小值之间的范围内,每个树方案的划分深度未达到最大深度(允许深度)等)。即使当块划分受到限制时(例如,块尺寸不存在于最大值与最小值之间的范围中,每个树方案的划分深度已经达到最大深度等),也可以自适应地配置划分信息。
如已经提及的,在本公开内容中,可以以递归方式执行基于树的划分。例如,如果具有划分深度k的编码块的划分标志被设置为0,则在具有划分深度k的编码块中执行编码块编码。如果具有划分深度k的编码块的划分标志被设置为1,则根据划分方案在具有划分深度k+1的N个子编码块中执行编码块编码(其中N是等于或大于2的整数,例如2、3和4)。
在以上过程中,子编码块可以被设置为编码块(k+1)并且被划分为子编码块(k+2)。可以根据诸如划分范围和允许的划分深度的划分设置来确定该分层划分方案。
在这种情况下,可以从一个或更多个扫描方法中选择表示划分信息的比特流结构。例如,可以基于划分深度的顺序或者基于是否执行划分来配置划分信息的比特流。
例如,在基于划分深度顺序的情况下,基于初始块在当前深度级别处获得划分信息,然后在下一深度级别处获得划分信息。在基于是否执行划分的情况下,首先在从初始块分割的块中获得附加划分信息,并且可以考虑其他附加扫描方法。
无论树类型(或所有树)如何,最大块尺寸和最小块尺寸可以具有共同的设置,或者可以针对每个树具有单独的设置,或者可以针对两个或更多个树具有共同设置。在这种情况下,最大块尺寸可以被设置成等于或小于最大编码块。如果根据预定的第一树的最大块尺寸与最大编码块不同,则使用预定的第二树方法隐式地执行划分,直到达到第一树的最大块尺寸为止。
此外,无论树类型如何,都可以支持共同分割深度,可以根据每个树支持单独的分割深度,或者可以针对两个或更多个树支持共同的分割深度。替选地,对于一些树可以支持分割深度,而对于其他树可以不支持分割深度。
可以支持用于设置信息的显式语法要素,并且可以隐式地确定一些设置信息。
(基于索引的划分)
在本公开内容的基于索引的划分中,可以支持恒定分割索引(CSI)方案和可变分割索引(VSI)方案。
在CSI方案中,可以通过在预定方向上的划分来获得k个子块,k可以是等于或大于2的整数,例如2、3或4。具体地,无论块的尺寸和形状如何,都可以基于k来确定子块的尺寸和形状。预定方向可以是水平方向、竖直方向和对角线方向(左上->右下方向或左下->右上方向)中的一个方向或者水平方向、竖直方向和对角线方向(左上->右下方向或左下->右上方向)中的两个或更多个方向的组合。
在本公开内容的基于索引的CSI划分方案中,可以通过在水平方向或竖直方向上进行划分来获得z个候选。在这种情况下,z可以是等于或大于2的整数,例如2、3或4,子块的宽度和高度中的一个可以相同,并且子块的宽度和高度中的另一个可以相同或不同。子块的宽度或高度的长度比为A1:A2:……:AZ,A1至AZ中的每一个可以是等于或大于1的整数,例如1、2或3。
此外,可以通过分别沿水平方向和竖直方向划分为x个分区和y个分区来获得候选。x和y中的每一个可以是等于或大于1的整数,例如1、2、3或4。然而,其中x和y两者都为1的候选可能会受限(因为a已经存在)。尽管图4示出了子块具有相同的宽度比或高度比的情况,但是也可以包括具有不同的宽度比或高度比的候选。
此外,候选可以在对角线方向——左上->右下和左下->右上——中的一个方向上被分割成w个分区。在本文中,w可以是等于或大于2的整数,例如2或3。
参照图4,根据每个子块的长度比,可以将划分类型分类为对称划分类型(b)和非对称划分类型(d和e)。此外,划分类型可以被分类为集中在特定方向上的划分类型(k和m)和中心划分类型(k)。划分类型可以由包括子块形状以及子块长度比的各种编码因素限定,并且可以根据编码设置隐式地或显式地确定所支持的划分类型。因此,可以基于在基于索引的划分方案中所支持的划分类型来确定候选组。
在VSI方案中,在每个子块的宽度w或高度h固定的情况下,可以通过在预定方向上的划分来获得一个或更多个子块。在本文中,w和h中的每一个可以是等于或大于1的整数,例如,1、2、4或8,具体地,可以基于块的尺寸和形状以及w值或h值来确定子块的数量。
在本公开内容的基于索引的VSI划分方案中,可以将候选划分成子块,每个子块的宽度和长度之一是固定的。替选地,候选可以被划分成子块,每个子块的宽度和长度二者都是固定的。由于子块的宽度或高度是固定的,因此可以允许在水平方向或竖直方向上的相等划分。然而,本公开内容不限于此。
在块的尺寸在划分之前是M×N的情况下,如果每个子块的宽度w是固定的、每个子块的高度h是固定的或者每个子块的宽度w和高度h二者都是固定的,则获得的子块的数量可以是(M*N)/w、(M*N)/h或(M*N)/w/h。
根据编码设置,可以支持CSI方案和VSI方案中的仅一者或两者,并且可以隐式地或显式地确定关于所支持的方案的信息。
将在CSI方案被支持的情况下描述本公开内容。
根据编码设置,在基于索引的划分方案中,候选组可以被构造成包括两个或更多个候选。
例如,可以形成诸如{a,b,c}、{a,b,c,n}或{a至g和n}的候选组。候选组可以是包括基于一般统计特征被预测为出现多次的块类型的示例,例如在水平方向或竖直方向上或者在水平方向和竖直方向中的每一个方向上被分割成两个分区的块。
替选地,可以构造诸如{a,b}、{a,o}或{a,b,o}的候选组或者诸如{a,c}、{a,p}或{a,c,p}的候选组。候选组可以是包括如下候选的示例:每个候选分别在水平方向和竖直方向上被划分为两个分区和四个分区。这可以是以下示例:将被预测为主要在特定方向上被划分的块类型配置为候选组。
替选地,可以构造诸如{a,o,p}或{a,n,q}的候选组。这可以是以下示例:将候选组构造成包括被预测为被划分成比划分之前的块更小的许多分区的块类型。
替选地,可以构造诸如{a,r,s}的候选组,并且其可以是以下示例:确定可以通过其他方法(树方法)从被分割之前的块以矩形形状获得的最佳划分结果,并且将非矩形形状构造为候选组。
如从以上示例中注意到的,各种候选组构造可以是可用的,并且考虑到各种编码因素,可以支持一个或更多个候选组构造。
一旦候选组被完全构造,各种划分信息配置就可以是可用的。
例如,关于包括未被划分的候选a和被划分的候选b至s的候选组,可以生成索引选择信息。
替选地,可以生成指示是否执行划分的信息(指示划分类型是否为a的信息)。如果执行划分(如果划分类型不是a),则可以生成关于包括被划分的候选b至s的候选组的索引选择信息。
可以以除了上面描述的方式以外的许多其他方式来配置划分信息。除了指示是否执行划分的信息之外,还可以以诸如固定长度二值化、可变长度二值化等的各种方式将二进制位分配给候选组中的每个候选的索引。如果候选的数量是2,则可以将1比特分配给索引选择信息,如果候选的数量是3,则可以将一个或更多个比特分配给索引选择信息。
与基于树的划分方案相比,被预测要出现多次的划分类型可以被包括在基于索引的划分方案中的候选组中。
由于用于表示索引信息的比特的数量可以根据所支持的候选组的数量而增加,因此该方案可能适合于单层划分(例如,划分深度被限制为0),而不是基于树的分层划分(递归划分)。也就是说,可以支持单个划分操作,并且可以不进一步分割通过基于索引的划分获得的子块。
这可能意味着进一步划分成相同类型的较小块是不可能的(例如,通过基于索引的划分获得的编码块不能进一步被分割成编码块),并且还意味着进一步划分成不同类型的块也是不可能的(例如,将编码块划分成预测块以及编码块是不可能的)。显然,本公开内容不限于以上示例,并且其他修改例也是可用的。
现在,将给出主要基于编码因素中的块类型来确定块划分设置的描述。
首先,可以在划分处理中获得编码块。可以采用基于树的划分方案进行划分处理,并且可以根据树类型产生诸如图4的a(无分割)、n(QT)、b、c(BT)、i或l(TT)的划分类型。根据编码设置,树类型的各种组合例如QT/QT+BT/QT+BT+TT可能是可用的。
以下示例是将在以上过程中获得的编码块最终分割成预测块和变换块的处理。假设基于每个分区的尺寸来执行预测、变换和逆变换。
在示例1中,可以通过将预测块的尺寸设置为等于编码块的尺寸来执行预测,并且可以通过将变换块的尺寸设置为等于编码块(或预测块)的尺寸来执行变换和逆变换。
在示例2中,可以通过将预测块的尺寸设置为等于编码块的尺寸来执行预测。可以通过划分编码块(或预测块)来获得变换块,并且可以基于所获得的变换块的尺寸来执行变换和逆变换。
此处,可以采用基于树的划分方案进行划分处理,并且可以根据树类型产生诸如图4的a(无分割)、n(QT)、b、c(BT)、i或l(TT)的划分类型。根据编码设置,树类型的各种组合例如QT/QT+BT/QT+BT+TT可能是可用的。
此处,划分处理可以是基于索引的划分方案。可以根据索引类型获得划分类型,例如,图4的a(无分割)、b、c或d。根据编码设置,可以构造诸如{a,b,c}和{a,b,c,d}的各种候选组。
在示例3中,可以通过划分编码块来获得预测块,并且基于所获得的预测块的尺寸来进行预测。对于变换块,其尺寸被设置为编码块的尺寸,并且可以对变换块执行变换和逆变换。在该示例中,预测块与变换块可以呈独立关系。
基于索引的划分方案可以用于划分处理,并且可以根据索引类型获得划分类型,例如,图4的a(无分割)、b至g、n、r或s。可以根据编码设置来构造各种候选组,例如,{a,b,c,n}、{a至g,n}和{a,r,s}。
在示例4中,可以通过划分编码块来获得预测块,并且基于所获得的预测块的尺寸进行预测。对于变换块,其尺寸被设置成预测块的尺寸,并且可以对变换块执行变换和逆变换。在该示例中,变换块可以具有等于所获得的预测块的尺寸的尺寸,反之亦然(变换块的尺寸被设置为预测块的尺寸)。
基于树的划分方案可以用于划分处理,并且可以根据树类型来生成划分类型,例如,图4的a(无分割)、b、c(BT)、i、l(TT)或n(QT)。根据编码设置,树类型的各种组合例如QT/BT/QT+BT可能是可用的。
此处,基于索引的划分方案可以用于划分处理,并且可以根据索引类型产生划分类型,例如图4的a(无分割)、b、c、n、o或p。可以根据编码设置来构造各种候选组,例如{a,b}、{a,c}、{a,n}、{a,o}、{a,p}、{a,b,c}、{a,o,p}、{a,b,c,n}和{a,b,c,n,p}。此外,在基于索引的划分方案中,可以以VSI方案单独或者以CSI方案和VSI方案的组合来构造候选组。
在示例5中,可以通过划分编码块来获得预测块,并且基于所获得的预测块的尺寸进行预测。也可以通过对编码块进行划分来获得变换块,并且基于所获得的变换块的尺寸进行变换和逆变换。在该示例中,预测块和变换块中的每一个可以由对编码块进行划分而得到。
此处,可以将基于树的划分方案和基于索引的划分方案用于划分处理,并且可以以与示例4相同的方式或类似的方式来构造候选组。
在这种情况下,以上示例是根据是否共享对每个块类型进行划分的处理而可能发生的情况,这不应被理解为限制本公开内容。各种修改示例也可以是可用的。此外,可以考虑各种编码因素以及块类型来确定块划分设置。
编码因素可以包括图像类型(I/P/B)、颜色分量(YCbCr)、块尺寸/形状/位置、块宽高比、块类型(编码块、预测块、变换块或量化块)、划分状态、编码模式(帧内/帧间)、与预测有关的信息(帧内预测模式或帧间预测模式)、与变换有关的信息(变换方案选择信息)、与量化有关的信息(量化区域选择信息和量化变换系数编码信息)。
(对块之间的关系的描述)
图5是用于描述一个家庭中的成员的遗传性状和在血缘关系中的人物的家庭数的示例。为了便于描述,将描述根据特定性别(男性)的水平关系和竖直关系。
参照图5,目标人物(主要)可以与哥哥和弟弟具有水平关系(a),并且与祖父、父亲(祖先)、儿子和孙子(后代)具有竖直关系(b)。在这种情况下,处于水平关系中的人物可以具有相似的遗传因素,例如外貌、体格、性格等。替选地,一些因素可能是相似的,而一些因素可能是不相似的。遗传因素的全部或部分是否相似可以由各种环境因素等(包括母亲)来确定。
该说明也可以同样地或类似地适用于竖直关系。例如,可能存在目标人物的遗传因素(外貌、体格,性格)与父亲相似的情况。替选地,目标人物的一些遗传因素(外貌、体格)可能与父亲相似,但是一些遗传因素(性格)可能(与母亲相似而)与父亲不相似。
在另一示例中,目标人物可能在基因上与祖父(或孙子)相似,祖父可能在基因上与孙子相似,但是可以基于人物之间的关系来确定人物之间的相似性程度。换言之,祖父与目标人物之间的相似性(两代的差异)可能是高的,祖父与孙子之间的相似性(四代的差异)可能是低的。
通常,直接分析可能是掌握目标人物的特征的第一要务,但是当目标人物不存在时,直接分析是不可能的。在这种情况下,如示例中那样,可以通过对处于各种关系中的人物的间接分析来近似地掌握目标人物的特征。当然,可能需要分析与目标人物具有高相似性的人物。
该示例描述了基于各种血缘关系的人物之间的关系,这可能同样地或类似地适用于图像压缩编码。在这种情况下,基于块的编码将被用作示例。可以使用/引用/参考与目标块具有各种关系的块(相关块)的信息来对预定块(目标块)进行编码。
此处,相关块的信息可以是基于像素值的数据、基于在编码处理中使用的模式信息的数据、或者基于在编码处理中使用的设置信息的数据。例如,它可以是相关块的空间域中的像素值或频域中的系数值(或经量化系数)。替选地,它可以是在对相关块进行编码的处理中生成的模式信息。替选地,它可以是关于在相关块的编码处理中使用的参考设置的信息(例如,参考候选组)。此处,基于像素值的数据或基于模式信息的数据可以是对参考设置进行配置的信息。
在本发明中,块(目标块和参考目标块描述的相关块)之间的关系可以定义如下。
-水平关系:在目标块与相关块没有交叠区域的情况下(块之间的独立关系)
-竖直关系:在目标块大于相关块并且包含相关块的情况下。或者在目标块小于相关块并且被包括在相关块中的情况下(块之间的依赖关系)
此处,在具有水平关系的情况下,无论目标块所属的空间如何,都可以定位相关块。也就是说,相关块可以在时间上与目标块属于相同的空间,或者可以在时间上与目标块属于不同的空间。
此处,在具有竖直关系的情况下,相关块可以被定位在目标块所属的空间中。也就是说,相关块不属于与目标块在时间上不同的空间,但是根据编码设置,相关块可以基于在时间上不同的空间中与目标块相对应的区域具有竖直关系。
图6示出了与目标块具有水平关系的相关块的各种布置的示例。参照图6,与目标块成水平关系放置的块可以被分类为属于在时间上相同的空间(Curr)的块和属于在时间上不同的空间(Diff)的块。
此处,即使相关块属于与目标块(X)的颜色分量不同的颜色分量,它也被认为属于在时间上相同的空间,但是水平关系的一些限定被改变(存在与目标块具有相同尺寸和位置的相关块)。此处,属于相同空间的块可以被分类为与目标块邻近(或最靠近)的块(UL、U、UR、L、DL)和不邻近(或远离)的块(F0、F1、F2)。
在属于相同空间的块中,与目标块邻近的块可以是最靠近左、上、左上、右上、左下等的块。这是已经通过考虑光栅扫描顺序(或Z扫描。在2×2的情况下,左上->右上->左下->右下)被编码的块。也就是说,可以根据预定的扫描顺序来确定邻近块的位置,并且可能会根据扫描顺序的类型(逆向Z扫描<右下->左下->右上->左上>、顺时针扫描<左上->右上->右下->左下>、逆时针扫描<左上->左下->右下->右上>等)而发生诸如在以上位置处去除块或在新位置(右、下、右下等)处添加块的改变。
此外,与目标块不邻近的块可以是已被编码的块。在这种情况下,它可以与目标块属于相同的块单元(例如,最大编码块),或者它可以属于相同的分割单元(切片、图块等)。也就是说,可以支持有限的设置,例如针对不邻近但可以被包括作为相关块的区域设置范围(基于目标块在水平方向和竖直方向上存在于x_offset和y_offset的范围内)。在本发明中,假设与目标块具有水平关系的块已经被编码,但是不限于此。
对于目标块的编码,可以使用(参考)具有水平关系的相关块的编码信息/参考设置。
例如,相关块的像素值可以用于生成目标块的预测值。详细地,在帧内预测中,可以通过将诸如外插、内插、平均的方法或者诸如块匹配或模板匹配的方法应用于相关块的像素值来获得目标块的预测值。此外,在帧间预测中,可以通过使用诸如与相关块的像素值的块匹配或模板匹配的方法来获得目标块的预测值。在这种情况下,就在相同空间中寻找预测值而言,块匹配或模板匹配可以被限定为帧内预测(Mode_Intra),或者根据预测方法可以被限定为帧间预测(Mode_Inter),或者它可以被分类为另外限定的其他编码模式。
此处,仅将空间域中的像素值作为目标,但是相关块的频域中的全部或一些系数值可以用作目标块的预测值(即,用于频率分量的预测)。
例如,相关块的模式信息可以用于对目标块的模式信息进行编码。具体地,在帧内预测中,相关块的预测信息(方向模式、非方向模式、运动矢量等)可以用于对目标块的预测信息(MPM、非MPM等)进行编码。此外,在帧间预测中,相关块的预测信息(运动矢量、参考图片等)可以用于对目标块的预测信息进行编码。
此处,根据帧内预测的预测方法,不仅可以将属于与目标块在时间上相同的空间和相同的颜色分量的相关块作为目标(使用外插、内插、平均等的预测模式),而且也可以将属于与目标块在时间上相同的空间和不同的颜色分量的相关块作为目标(其中不同颜色分量的数据被复制的预测模式)。
此处,在帧间预测的情况下,将运动矢量和参考图片作为预测信息的示例,但是可以包括诸如运动信息编码模式、运动预测方向和运动模型的各种信息。
例如,对于目标块的参考设置,可以使用相关块的参考设置。详细地,在帧内预测中,相关块的MPM候选组可以被用作目标块的MPM候选组。此外,在帧间预测中,相关块的运动预测候选组可以被用作目标块的运动预测候选组。也就是说,即使基于相关块来构造候选组,这也意味着可以按原样使用相关块的候选组,而无需在目标块中进行单独的候选组构造。
在以上示例中,已经在相关块是与目标块具有水平关系的一个块的假设下进行了描述。然而,图像中可能存在许多相关块,并且必须指定要用于对目标块进行编码的至少一个相关块。以下情况分类仅是示例,并且有必要理解,各种情况配置和限定是可能的,而不限于此。
此处,可以将属于相同空间并且与目标块邻近的块指定为相关块(情况1)。替选地,可以将属于相同空间并且与目标块不邻近的块指定为相关块(情况2)。替选地,可以将属于不同空间的块指定为相关块(情况3)。替选地,可以将属于(情况1)至(情况3)中的全部或一些的块指定为相关块。
此处,在(情况1)的情况下,可以将与目标块邻近的左上块、上块、左上块、右上块和左下块(L、U、UL、UR、DL)中的全部或一些指定为相关块。在(情况2)的情况下,可以将与目标块不邻近的块中的一个或更多个指定为相关块。在(情况3)的情况下,可以将与目标块邻近的中心块、左块、右块、上块、下块、左上块、右上块、左下块和右下块(C、L、R、U、D、UL、UR、DL、DR)中的全部或一些以及与目标块不邻近的块中的一个或更多个指定为相关块。
为了指定相关块,存在各种验证方法。首先,可以将包括基于目标块的预定位置的坐标的块指定为相关块。首先,假设目标块(m×n)具有基于(a,b)的左上坐标的(a+m-1,b+n-1)的范围。
(情况1或情况3)在在每个图片中目标块和位置是相同的假设下描述C块。因此,在相同图像Curr和不同图像Diff中具有相同字母的块的描述可能是共同的。然而,(在情况3的情况下),C块的位置可能与目标块在图片中的位置不同,并且在稍后描述的示例(即,属于Diff的块)中,可以根据C块的位置来改变像素位置。
C块是指包括在目标块的内部像素中的预定位置处的像素的块,例如(a,b)、(a,b+n-1)、(a+m-1,b)、(a+m-1,b+n-1)、(a+m/2-1,b+n/2-1)、(a+m/2+1,b+n/2-1)、(a+m/2-1,b+n/2+1)、(a+m/2+1,b+n/2+1)。并且,L块是指包括在目标块的左边界之外的像素中的预定位置处的像素的块,例如(a-1,b)、(a-1,b+n-1);U块是指包括在目标块的上边界之外的像素中的预定位置处的像素的块,例如(a,b-1)、(a+m-1,b-1)。此外,UL块是指包括在目标块的左上边界之外的像素中的预定位置处的像素的块,例如(a-1,b-1);UR块是指包括在目标块的右上边界之外的像素中的预定位置处的像素的块,例如(a+m,b-1)、(a-1,b+n);DL块是指包括在目标块的左下边界之外的像素中的预定位置处的像素的块,例如(a-1,b+n)。在右方向、下方向和右下方向的情况下,因为可以从以上描述中得出它们,因此它们被省略。
在以上描述中,给出了将包括存在于每个方向的块中的像素中的一个位置处的像素的块指定为相关块的示例,但是可以在全部方向或一些方向上指定两个或更多个相关块,并且可以针对此来限定两个或更多个像素位置。
(情况2)Fk块(k为0~2)可以是指包括在水平/竖直/对角线的预定方向上以预定长度(off_x,off_y等)分开的像素的块,例如(a-off_x,b)、(a,b-off_y)、(a-off_x,b-off_y)。此处,预定长度可以是1或更大的整数,例如4、8、16等,并且可以基于目标块的水平长度和竖直长度被设置。替选地,它可以基于最大编码块的水平长度和竖直长度被设置,并且其修改的各种示例是可能的。预定长度可以如以上示例中那样隐式地被设置,或者相关的语法要素可以被生成作为显式值。
作为指定相关块的另一方法,可以将具有与目标块的编码信息相同/相似的模式信息的块指定为相关块。在这种情况下,模式信息不是指在当前阶段要被编码(或使用/预测、候选组构造等)的信息,而是已经被编码或具有已经被确定的不同属性/含义的信息。所确定的信息可以是在模式确定处理中的先前步骤中确定的信息,或者是在解码处理中的先前步骤中恢复的信息。
例如,当目标块使用非平移运动模型执行帧间预测时,可以将先前被编码的块中使用非平移运动模型被编码的块指定为相关块。在这种情况下,可以使用根据所指定的相关块的非平移运动模型的运动矢量信息,来根据目标块的非平移运动模型构造用于运动矢量预测的候选组。
在以上示例中,运动模型信息是指用于检查与目标块的相同性/相似性的具有不同属性/含义的信息,并且根据相关块的运动模型(非平移运动模型)的运动矢量可以是用于根据目标块的运动模型来构造运动矢量预测候选组的信息。在这种情况下,相关块可以与目标块邻近或者可以与目标块不邻近。如果存在较少与目标块具有相同性/相似性的模式,则当与目标块不邻近的区域中的块也被指定为相关块并被使用/参考时,这可能是有用的。
可以考虑以下内容来确定被使用/被参考以用于对目标块进行编码的相关块。
可以基于要被使用/被参考以用于对目标块进行编码的信息来确定相关块。此处,要被使用/被参考以用于对目标块进行编码的信息是用于预测的像素值信息、与预测/变换/量化/环路滤波/熵编码等有关的模式信息以及与预测/变换/量化/环路滤波/熵编码等有关的参考候选组信息。
此外,可以基于目标块的状态信息和目标块所属的图像信息来确定相关块。此处,可以基于块尺寸、块形状、块的水平/竖直长度比、诸如图片/分割单元(切片、图块等)/最大编码块的单元中的位置来限定目标块的状态信息。此处,可以基于图像类型(I/P/B)、颜色分量(Y/Cb/Cr)等来限定目标块所属的图像信息。
此外,可以基于目标块的编码信息来确定相关块。详细地,可以基于相关块是否具有关于与目标块存在相同性/相似性的信息来确定相关块。此处,针对相同性/相似性参考的信息可以是与预测/变换/量化/环路滤波/熵编码等有关的模式信息。
考虑到以上示例中提及的全部或一些因素,可以确定相关块的类别(前述情况)、数量和位置。详细地,可以确定选择了哪个类别,并且可以确定在所选择的类别中支持的相关块的数量和位置。在这种情况下,每个类别中支持的块的数量可以是m、n、o,并且每个类别中支持的块的数量可以是0或更大的整数,例如0、1、2、3、5等。
可以在以目标块(或者与在时间上与目标块所属的图像不同的图像中的目标块对应的块)为中心的诸如左、右、上、下、左上、右上、左下、右下、中心等的方向上确定相关块(块位置)。例如,可以根据最接近该方向的块来确定相关块。替选地,可以在另外满足方向和特定范围/条件的块中确定相关块。它可以属于与目标块所属的最大编码块不同的最大编码块,或者可以是具有基于目标块的水平长度或竖直长度的差异的位置(例如,左方向、上方向、左上方向)处的块。
此外,可以基于编码顺序来确定相关块,并且在这种情况下,可以通过诸如光栅扫描和z扫描的各种扫描方法来限定编码顺序。作为示例,可以包括预定数量的块作为相关块(基于接近的编码顺序),并且预定数量可以是大于或等于0的整数,例如0、1、2、3等。也就是说,可以根据编码顺序以诸如FIFO(先进先出)的存储器管理方法来管理相关块,并且它可以是确定(要包括在候选组中的决定)可能在(情况2)中出现的相关块的示例。
当支持一个相关块时,这可能意味着仅可以使用/参考相应块的信息。此外,即使支持多个相关块,也可以根据编码设置基于多个相关块得出一条信息。例如,在帧间预测中,针对运动矢量预测指定了三个相关块例如左块、上块和右上块以支持三个运动矢量,但是可以根据编码设置通过诸如三个块的运动矢量的中值(或平均值)的方法来得出一个运动矢量,以用作目标块的运动矢量预测值。
在以上示例的情况下,它可以是可以减少通过支持两个或更多个候选而生成的最佳候选选择信息的发生的编码设置。然而,可能难以期望得出与目标块的编码信息具有高相关性的一个候选。因此,构造具有多个候选的候选组的方法可能更高效。当然,随着候选组中包括的候选的数量增加,用于表达这的信息的数量可能会增加,因此构造高效的候选组是重要的。
因此,可以支持诸如上述各种示例的相关块,但是可能需要考虑一般图像特性等来指定最佳相关块并且基于最佳相关块来构造候选组。在本发明中,假设通过来自一个或更多个相关块的两个或更多个信息来构造候选。
以下示出了基于与目标块具有水平关系的块和编码/解码处理的候选组构造。
指定被参考以用于目标块的编码信息的块(1)。基于所指定的块的编码信息以预定顺序构造候选组(2)。基于目标块的编码信息来选择候选组中的一个候选(3)。基于所选择的候选来执行图像编码/解码处理(4)。
在(1)中,指定用于构造用于目标块的编码信息的候选组的相关块。在这种情况下,相关块可以是与目标块具有水平关系的块。已经描述了:可以包括如上所述的各种类别的相关块;除了目标块的编码信息之外,还可以考虑诸如目标块的状态信息的各种信息来指定相关块。
在(2)中,基于通过以上处理指定的相关块的编码信息,根据预定顺序来构造候选组。此处,基于一个相关块的编码信息获得的信息可以被包括在候选组中,或者基于多个相关块的编码信息获得的信息可以被包括在候选组中。在这种情况下,对于候选组构造顺序,可以支持固定顺序,或者可以支持基于各种编码要素(在指定相关块等时要考虑的要素)的自适应顺序。
在(3)中,基于目标块的编码信息来选择候选组中的一个候选,在(4)中,可以基于所选择的候选来执行图像编码/解码处理。
流程图可以是以块为单位检查和执行的处理。此处,在一些步骤(1、2)的情况下,它可以是在编码的初始阶段检查和执行的处理。即使在以上(1)至(4)中未提及该内容,由于可以通过上述各种实施方式而得出,因此将省略其详细描述。通常,难以预先确认在具有水平关系的块中哪个块与目标块具有高相关性。稍后将描述预先确认在具有水平关系的块中其与目标块具有什么相关性的方法。此外,尽管(3)描述了选择候选组中的一个候选的情况,但是也可以根据编码信息的类型、编码设置等来选择两个或更多个信息,并且这可以是通常适用于本发明的描述。
目标块和相关块可以是编码/预测/变换/量化/环路滤波等的单元中的一个,并且目标块和相关块可以被设置在相同的单元中。例如,当目标块是编码块时,相关块也可以是编码块,并且根据编码设置以不同单元设置的修改也是可能的。
图7示出了与目标块成竖直关系的相关块的各种布置的示例。
图7是执行基于递归树的划分(QT)的情况,并且将以块X和A至C为中心给出描述。可以从具有分割深度为0的基本编码块(CTU.C块)开始,随着分割深度的增加而获得块B(1)、X(2)和A(3)。此处,与目标块成竖直关系放置的块可以被分类为较高块(或祖先块)和较低块(或后代块)。在这种情况下,目标块X的较高块可以是块B或块C,并且较低块可以是块A。此处,目标块和相关块可以分别被设置为较高块和较低块,或者可以分别被设置为较低块和较高块。
例如,在该示例中,如果相关块具有比目标块的分割深度(k)更大的值,则相关块可以是子代块(k+1)或孙代块(k+2),如果相关块具有更小的值,则相关块可以是父代块(k-1)或祖代块(k-2)。也就是说,除了限定现有块之间的竖直关系之外,还可以通过分割深度来确认块之间的详细关系。
此处,如以上示例中那样,支持一种树方法并且可以通过共同分割深度进行比较。当支持多种树方法并且支持根据每种树方法的多于一个分割深度时,可以通过考虑分割的数量和每个分割深度来检查详细的关系,而不是如以上示例中那样的简单分类。
例如,如果在4M×4N块中执行1次QT,则可以在(QT)分割深度1处获得2M×2N块,但是当执行2次BT时,可以获得2M×2N块。然而,(BT)分割深度与在2处可以获得的分割深度相同。在这种情况下,4M×4N块可以是针对2M×2N块的父代块(QT)或祖代块(BT);相反地,4M×4N块可以是针对2M×2N块的子代块(QT)或孙代块(BT),并且可以基于块分割结果来确定详细的关系。
在以上示例中,分割的起始单元是最大编码单元(最高祖先块,块可以具有的最大尺寸。此处,假设分割的起始单元是编码单元或块。当块是预测或变换的单元时,块可以被理解为最大预测块或最大变换块)。不可能具有超过最大编码单元的竖直关系,但是可以根据与诸如最大编码单元的块分割设置分开的编码设置来自由地指定具有竖直关系的块区域。在本发明中,假设竖直关系不偏离最大编码单元。此外,稍后将以基于树的划分方法为中心来描述块之间的关系,但是将预先提及的是,对于基于索引的划分方法,相同或相似的应用是可能的。
对于目标块的编码,可以使用具有竖直关系的相关块的编码信息/参考设置。为了便于说明,假设目标块是相关块的较低块。在这种情况下,较高块不是执行编码、预测、变换等的独立单元,而可以是由多个较低块组成的临时单元。也就是说,必须理解的是,较高块是用于获得执行编码的独立单元(即,不再执行划分的编码/预测/变换块等)的块划分处理的起始单元或中间单元。
例如,相关块的参考像素可以用于生成目标块的预测值。详细地,在帧内预测中,可以通过将诸如外插、内插、平均或模板匹配的方法应用于相关块的参考像素来获得目标块的预测值。此外,在帧间预测中,可以通过使用诸如与相关块的参考像素的模板匹配的方法来获得目标块的预测值。
此处,相关块的参考像素不是位于相关块中的像素,而是指通过假设相关块是用于执行帧内预测/帧间预测的单元而获得的像素。也就是说,这意味着与相关块(较高块)具有水平关系的块(例如,最靠近左、上、左上、右上、左下方向)的像素被用于目标块(较低块)的帧内预测/帧间预测。
例如,对于目标块的参考设置,可以使用相关块的参考设置。详细地,在帧内预测中,相关块的MPM候选组可以被用作目标块的MPM候选组。此外,在帧间预测中,相关块的运动预测候选组可以被用作目标块的运动预测候选组。也就是说,即使基于相关块来构造候选组,这也意味着可以在不经过针对目标块的单独候选组构造的情况下按原样使用相关块的候选组。
在以上示例中,基于相关块而不是目标块来确定预测值和参考设置,因此可能发生使用与目标块具有差相关性的信息来执行编码的问题。然而,由于相关信息不是从完全间隔开的区域获得的,因此可能存在一定程度的相关性。由于在每个较低块单元中要执行的处理被集成至较高块中的一个共同处理中,因此可以降低复杂度。此外,属于较高块的较低块的并行处理是可能的。
在以上示例中,已经基于以下假设进行了描述:相关块是与目标块具有竖直关系的一个块,但是图像中可能存在许多相关块,并且必须指定要用于对目标块进行编码的至少一个相关块。
以下示出了对具有竖直关系的块可以具有的支持条件/范围的描述,并且可以基于稍后要描述的示例中提及的全部或一些因素来确定支持条件/范围。
(情况1)较高块可以小于或等于预定的第一阈值大小。此处,第一阈值大小可能意味着较高块可以具有的最大尺寸。此处,可以以宽度(W)、高度(H)、W×H、W*H等来表示第一阈值大小,并且W和H可以是8、16、32、64或更大的整数。此处,可以基于最大编码块、最大预测块和最大变换块的尺寸来设置具有第一阈值大小的块。
(情况2)较低块可以大于或等于预定的第二阈值大小。此处,第二阈值大小可能意味着较低块可以具有的最小尺寸。此处,可以以宽度(W)、高度(H)、W×H、W*H等来表达第二阈值大小,并且W和H可以是4、8、16、32或更大的整数。然而,第二阈值大小可以被设置为小于或等于第一阈值大小。此处,可以基于最小编码块、最小预测块和最小变换块的尺寸来设置具有第二阈值大小的块。
(情况3)可以基于较高块的尺寸来确定较低块的最小尺寸。此处,可以通过将预定除法值(p)或移位运算值(q.右移位运算)应用于较高块的宽度(W)或高度(H)中的至少一个来确定较低块的最小尺寸(例如,W%p或H>>q等)。此处,除法值可以是2、4、8或更大的整数,并且移位运算值q可以是1、2、3或更大的整数。
(情况4)可以基于较低块的尺寸来确定较高块的最大尺寸。此处,可以通过将预定乘法值(r)或移位运算值(s.左移位运算)应用于较低块的宽度(W)或高度(H)中的至少一个来确定较高块的最大尺寸(例如,W*r或H<<s等)。此处,乘法值可以是2、4、8或更大的整数,并且移位运算值s可以是1、2、3或更大的整数。
(情况5)可以考虑较高块的尺寸和划分设置来确定较低块的最小尺寸。此处,可以通过分割类型(树类型)、分割深度(共同深度、针对每个树的单独深度)等来确定分割设置。例如,如果在较高块中支持QT,则可以将执行了m次划分的块的尺寸确定为较低块的最小尺寸;如果支持BT(或TT),则可以将执行了n次划分的块的尺寸确定为较低块的最小尺寸;如果支持QT和BT(或TT),则可以将执行了1次划分的块的尺寸确定为较低块的最小尺寸。此处,m至l可以是1、2、3或更大的整数。被分割成较小块(或被分割成较大数量)的树的分割深度(m)(由于一次分割操作)可以被设置为小于或等于未被分割成较小块的树的分割深度(n)。此外,当树分割被混合时的分割深度(l)可以被设置为大于或等于被分割成较小块的树的分割深度(m),并且可以被设置为小于或等于未被分割成较小块的树的分割深度(n)。
替选地,可以考虑较低块的尺寸和分割设置来确定较高块的最大尺寸。在该描述中,它可以相反地从以上示例被得出,因此将省略详细描述。
可以考虑以下内容来确定被使用/被参考以用于对目标块进行编码的相关块。
可以基于要被使用/被参考以用于对目标块进行编码的信息来确定相关块。此处,要被使用/被参考以用于对目标块进行编码的信息可以是用于预测的像素值信息以及与预测/变换/量化/环路滤波/熵编码等有关的参考候选组信息。
此外,可以基于目标块的状态信息和目标块所属的图像信息来确定相关块。此处,可以基于块尺寸、块形状、块的水平/竖直长度比、诸如图片/分割单元(切片、图块等)/最大编码块的单元中的位置来限定目标块的状态信息。此处,可以基于图像类型(I/P/B)、颜色分量(Y/Cb/Cr)等来限定目标块所属的图像信息。
可以考虑以上示例中提及的全部或一些因素来确定相关块的数量、尺寸、位置等。详细地,可以确定是否使用/参考具有竖直关系的块的信息以用于对目标块进行编码,并且(当被使用/被参考时)可以确定相关块的位置和尺寸。此处,可以以块内的预定坐标(例如,左上坐标)来表达相关块的位置,并且可以以宽度(W)和高度(H)来表达相关块的尺寸。可以通过对这些进行组合来指定相关块。
例如,如果不存在针对较低块的特别范围限制,则属于相关块的全部较低块(目标块)可以使用/参考相关块的编码信息。替选地,如果针对较低块的范围是有限的,则如果它属于相关块并且大于较低块的尺寸,则可以使用/参考相关块的编码信息。此外,当支持两个或更多个相关块时,可以另外生成相关块的选择信息。
以下示出了基于与目标块具有竖直关系的块和编码/解码处理的候选组构造。
确定用于指定要参考的块的基本块(1)。基于所确定的基本块指定要被参考以用于目标块的编码信息的块(2)。使用所指定的块的编码信息以预定顺序构造候选组(3)。基于目标块的编码信息来选择候选组中的一个候选(4)。基于所选择的候选来执行图像编码/解码处理(5)。
在(1)中,从目标块或第一相关块中确定用作用于构造与目标块的编码信息有关的候选组的标准的块(基本块)。此处,第一相关块可以是与目标块具有竖直关系的块(此处为较高块)。
在(2)中,当通过以上处理确定基本块时,指定用于构造与目标块的编码信息有关的候选组的第二相关块。此处,第二相关块可以是与基本块具有水平关系的块。在(3)中,使用通过以上处理指定的第二相关块的编码信息以预定顺序来构造候选组。因为具有水平关系的块不仅可以通过基于具有水平关系的块和编码/解码处理的候选组构造被得出,而且还可以通过上述各种实施方式被得出,因此具有水平关系的块的描述将被省略。
在(4)中,基于目标块的编码信息来选择候选组中的一个候选,在(5)中,可以基于所选择的候选来执行图像编码/解码处理。
在这种情况下,当基于块之间的竖直关系设置来确定较高块和较低块时,由于基于较高块构造候选组的处理仅被执行一次,因此较低块可以使用/借用它们。也就是说,流程图可以是可以在其中首先执行编码/解码的块中生成的配置。如果已经完成了基于较高块的候选组的构造并且以某些顺序(2,3)将基本块确定为相关块,则可以简单地使用/借用已经被构造的候选组。
在以上示例中,如果基于较高块来构造候选组,则将较低块描述为简单的使用/借用配置,但不限于此。
例如,即使基于较高块来构造候选组,一些候选也可以是固定的而不管较低块如何,而其他候选基于较低块可以是自适应的。也就是说,这意味着可以基于较低块来删除/添加/改变一些候选。在这种情况下,可以基于较高块内的较低块的位置和尺寸来执行删除/添加/改变。
也就是说,即使在一些步骤(2,3)中将基本块确定为相关块,也可以构造其中反映了对已经被构造的候选组的全部或一些修改的候选组。
目标块和相关块可以是编码/预测/变换/量化/环路滤波等的单元中的一个,并且目标块可以是与相关块相同的单元或较上单元。例如,当目标块是编码块时,相关块可以是编码块,而当目标块是编码块时,相关块可以是预测块或变换块。
图8示出了与目标块具有竖直关系和水平关系的相关块的各种布置示例。
图8示出了其中执行基于递归树的划分(四叉树)的情况,并且将以块X、A至G以及p至t为中心进行描述。从分割深度为0的基本编码块(CTU)开始,随着分割深度的增加,可以获得块q/r/t(1)、p/D/E/F/s(2)、A/B/C/G/X(3)。此处,它可以被分类为与目标块具有竖直关系的块以及与目标块具有水平关系的块。在这种情况下,与目标块X具有竖直关系的相关块(较高块)可以是块p和q(排除CTU),而具有水平关系的相关块可以是块A至G。
此处,在一些相关块的情况下,不仅存在具有比目标块的分割深度(k)更小的值的块,而且还存在具有比目标块的分割深度(k)更大的值的块。假设本实施方式以上面提及的块为目标并且目标块具有最大的分割深度(即,不再分割)。
在块分割中,根据图像的特性来确定分割结果。在诸如背景的平坦部分或具有小的时间变化的区域中,可以使块分割最小化。在具有复杂图案的部分或者具有快速时间变化的区域中,可以大量地执行块分割。
通过本发明的上述示例,已经提及可以使用/参考具有许多水平关系或竖直关系的块以用于对目标块进行编码。通过稍后要描述的示例,将呈现通过考虑目标块周围的具有水平关系的块和具有竖直关系的块来更高效地使用它们的方法的各种示例。因此,前提是可以以相同或相似的方式将上述水平关系和竖直关系的描述应用于稍后要描述的内容。
接下来,将描述根据块分割的类型(方法)以水平关系放置的块之间的相关性的各种情况。在这种情况下,假设支持QT、BT和TT作为分割方案,BT是对称分割(SBT),TT是以1:2:1的比率进行分割。此外,前提是以一般水平关系放置的块可以具有高相关性或低相关性(一般关系)。在每种情况下,假设仅支持一种描述的树方法。
图9是根据树类型获得的块分割的示例性图。此处,p至r表示QT、BT和TT的块分割的示例。假设当由于块中一些区域的特性不同而导致块本身的编码不高效时执行块分割。
在QT(p)的情况下,它分别水平地和竖直地被分割成两个,并且可以看出,四个子块中的至少一个具有不同的特性。然而,由于获取了4个子块,因此不可能知道哪个特定子块具有不同的特性。
例如,块A至块D都可以具有不同的特性,块A至块D中仅一个可以具有不同的特性,并且其余的块可以具有相同的特性。块A和块B具有相同的特性,并且块C和块D可以具有相同的特性。块A和块C可以具有相同的特性,并且块B和块D可以具有相同的特性。
如果块A和块B、块C和块D各自具有相同的特性并且BT被支持,则可以在BT中执行水平分割。然而,如果它通过像p的QT被分割,则可以看出,块A和块B、块C和块D具有彼此不同的特性。然而,在该示例中,由于假设仅支持QT,因此不能准确地确定块之间的相关性。
如果仅支持QT并且对在目标块(子块中的一个)周围分割深度差为1的较高块执行QT,则目标块与相关块(子块中除了目标块之外的块)之间的相关性可能是高的或低的。
BT(q)是在水平方向或竖直方向上分割成两个,并且可以看出,两个子块(块E和块F)具有不同的特性。如果子块之间的特性相同或相似,则在它将不会被分割的假设下,它可以如上面解释的那样被得出。如果仅支持BT并且对在目标块周围分割深度差为1的较高块执行BT,则目标块与相关块之间的相关性可能是低的。
在TT(r)的情况下,TT(r)是在水平方向或竖直方向上分割成三个,而且可以看出,三个子块中的至少一个具有不同的特性。然而,由于获得了3个子块,因此不可能知道哪个特定子块具有不同的特性。
例如,块G至块I可能都具有不同的特性。块G和块H具有相同的特性,而块I可以具有不同的特性。块H和块I具有相同的特性,而块G可以具有不同的特性。
如果块G和块H具有相同的特性,块I具有不同的特性,并且BT(非对称)也被支持,则可以在BT中执行竖直分割(3:1),但是如果它通过像r的TT被分割,则可以看出,块G和块H以及块I具有不同的特性。然而,由于假设在该示例中仅支持TT,因此不能准确地确定块之间的相关性。如果仅支持TT并且对在目标块周围分割深度差为1的较高块执行TT,则目标块与相关块之间的相关性可能是高的或低的。
上面已经描述了:在划分方案中的QT和TT的情况下,块之间的相关性可能是高的或低的。假设仅支持划分方案(例如,QT),并且除了一个子块(例如,块D)之外的其余子块的编码信息是已知的。如果除了块D之外的其余子块A至C的编码信息相同或相似,则块D可以具有不同的特性,因此可以通过QT被分割。以这种方式,还可以通过检查属于较高块的较低块的编码信息来识别相关性信息。然而,由于发生的可能性低并且这可能是复杂的情况,因此对此的描述将仅提及可能性,并且将省略其详细描述。作为参考,在以上情况下,由于块D与具有水平关系的块相关性低,因此可以使用/参考具有竖直关系的块的编码信息,该编码信息是指块D的较高块(包括A和D的块)的候选组构造信息。
在以上示例中,已经描述了当对于较高块支持一个树分割时子块之间的相关性。也就是说,当使用/参考具有水平关系的块的编码信息以用于对目标块进行编码时,可以通过检查目标块与相关块之间的分割状态(路径)来更高效地使用/参考相关块的编码信息。例如,当构造候选组时,可以排除关于被确定为具有低相关性的块的信息,或者可以向被确定为具有低相关性的块分配低优先级。替选地,可以使用具有竖直关系的块的信息和参考设置。
在这种情况下,支持一个树分割的情况可以包括对于块分割仅支持一种树方法的情况,即使支持多个树分割,也可以包括通过根据每个树方法的块的最大值、最小值、最大分割深度仅支持一个树分割的情况,并且在稍后分割深度处不支持在先前分割深度处不允许的树的块分割设置。也就是说,仅支持QT并且可以使用QT进行分割,而且支持QT/BT/TT,但是在该阶段仅BT是可能的,因此可以使用BT进行分割。
下面将描述当支持多个树分割时检查每个块之间的相关性的情况。
图10是由于QT、BT、TT而获得的分割的示例性图。在该示例中,假设最大编码块为64×64并且最小编码块为8×8。此外,假设支持QT的块的最大值为64×64,最小值为16×16,支持BT的块的最大值为32×32,最小值是4,4是该块的水平长度/竖直长度中的一个,并且最大分割深度为3。在这种情况下,假设针对TT的分割设置与BT一起被确定(它们被捆绑使用)。假设对于较高块(A至M)支持QT和BT(QT、BT),对于左下块(N至P)另外地支持非对称BT(ABT)(QT、BT<或SBT>、ABT),对于TT右下块(Q至S)另外地支持TT(QT、SBT、ABT、TT)。
(基本块:包括B、C、D、E的块)
块B至块E可以是可以通过QT(分割一次)获得的子块,并且可以是可以通过BT(分割的数量为3次,一次竖直分割+两次水平分割,或者一次水平分割+两次竖直分割)获得的子块。
由于支持QT的最大块尺寸为16×16,因此无法通过QT获得块B至块E,并且块B至块E可以是通过BT分割的子块。在该示例中,在BT中执行水平分割(B+C/D+E),并且在每个区域(B/C/D/E)中执行竖直分割。因此,如上所述,通过BT从相同的较高块(父代块,分割深度差为1)获得的块B和块C、块D和块E可能具有低相关性。
此外,由于块B和块D或者块C和块E被分割,因此块B与块D之间的相关性或者块C与块E之间的相关性可能是低的。这是因为:如果相关性高,则仅在BT中执行竖直分割,并且可能不在每个区域中执行分割。
在以上示例中,提及了通过BT获取的子块之间的相关性低,但这仅限于属于同一较高块(父代块、分割深度差为1)的子块,但是在该示例中,可以通过扩展至同一较高块(祖代块,分割深度差为2)来检查块之间的相关性。
(基本块:包括J、K、L、M的块)
块J至块M可以是可以通过QT获得的子块或可以通过BT获得的子块。
由于在可以同时支持QT和BT的范围内,因此可以选择树方法作为最佳分割类型。这是执行QT的示例。通过上述示例,提及了通过QT获得的子块之间的相关性可能是高的或低的。然而,在该示例中,由于支持多个树分割,因此可以不同地确定子块之间的相关性。
块J和块K中或者块L和块M中的每一个可以具有低相关性,并且块J和块L或块K和块M中的每一个可以具有低相关性。这是因为:如果块J至块M中的与水平方向和竖直方向邻近的块之间的相关性高,则即使不执行QT并且执行BT,也可能不分割具有高相关性的区域。
在以上示例中,提及了通过QT获取的子块之间的相关性可能高或低,但这是支持单个树方法的情况,在该示例中,当支持多个树方法时,可以基于块分割的各种情况的数量来检查块之间的相关性。
(基本块:包括N、O、P的块)
块N至块P可以是通过BT(一次水平分割+一次水平分割)获得的子块(比率为2:1:1)。
(当仅支持对称BT<SBT>时)块N和块O可能具有高相关性或低相关性。在块N的情况下,由于它是通过BT从较高块获取的,因此与块O和块P被捆绑的区域的相关性可能低。然而,不能说块N与块O和块P具有低相关性。当然,块N可以与块O和块P具有低相关性。替选地,块N可以与块O具有高相关性并且可以与块P具有低相关性,并且块N可以与块O具有低相关性并且可以与块P具有高相关性。
在该示例中,可以支持非对称BT<ABT>。如果块N和块O具有高相关性,则块N和块O的区域被分组,并且可以以3:1的比率执行非对称BT的水平分割。然而,由于BT(SBT)被执行两次,因此块N与块O之间的相关性可能低。
(基本块:包括Q、R、S的块)
块Q至块S可以是通过TT(一次水平分割)获得的子块。
(当仅支持TT时)块Q和块S可能具有高相关性或低相关性。在该示例中,可以支持非对称BT。如果块Q与块R之间的相关性高,则块Q和块R的区域被分组,并且可以以3:1的比率执行非对称BT的水平分割。然而,由于执行了TT,因此块Q与块R之间的相关性可能低。
如以上示例中那样,可以基于所支持的分割方法和分割设置来估计目标块和与目标块具有水平关系的相关块之间的相关性。请通过以下内容查看关于块之间的相关性的各种情况。
图11A至图11H是用于基于分割方法和分割设置来检查块之间的相关性的示例性图。
图11A至图11C是分别执行QT、BT和TT并且对于较高块仅支持QT、BT和TT的情况。如上所述,在QT和TT的情况下,水平方向或竖直方向上的邻近块(A与B或者A与C)之间的相关性可能高或低。这被称为一般关系。同时,在BT的情况下,在水平方向或竖直方向上邻近的块A与块B之间的相关性可能低。这被称为特殊关系。
图11D是执行QT的情况,并且可以是可以支持QT和BT的情况。在该示例中,在水平方向或竖直方向上邻近的块(A与B或者A与C)之间的相关性可能是低的特殊关系。如果相关性高,则可能已经应用BT而不是QT。
图11E是执行BT(一次竖直分割+一次水平分割)的情况,并且可以是可以支持QT和BT的情况。在A和B的情况下,由于它们是通过BT从同一较高块分割的,因此这可能是具有低相关性的特殊关系。在A和C的情况下,如果A和C下方的区域高度相关,则可以将它们分组在一起并且可以对它们执行分割。然而,由于编码成本,因此其可能是被分割成c的情况。当然,由于其可以是其他情况,因此A和C可以是具有高或低相关性的一般关系。
图11F是执行BT(一次竖直分割+一次竖直分割)的情况,并且可以是可以支持BT和TT的情况。在A和C的情况下,由于它们是通过BT从同一较高块分割的,因此这可能是具有低相关性的特殊关系。在A和B的情况下,存在以下情况:将A和B分组在一起并执行分割(与TT的1:2:1区域中的2对应的部分),但是由于TT而发生左区域的另外分割。在这种情况下,由于难以准确地确定相关性,因此A和B可以具有相关性高或低的一般关系。
图11G是执行TT(一次竖直分割)的情况,并且可以是可以支持BT(或SBT)、ABT和TT的情况。在该示例中,在水平方向或竖直方向上邻近的块(A与B或者A与C)之间的相关性可能是低的特殊关系。如果相关性高,则可能已经应用ABT而不是TT。
图11H是执行QT和BT(基于BT的两次竖直分割)并且可以支持QT和BT的情况<1>,并且可以是可以支持另外的TT的情况<2>。在A和B的情况下,在<1>的情形中,不存在在A和B被绑定的状态下分割基本块的情况,因此相关性可能是高或低的一般关系。然而,在<2>的情形中,存在以下情况:在A和B被绑定的状态下分割基本块(在BT水平分割、对上侧的BT竖直分割、对下侧的TT竖直分割之后),但是尽管如此,仍然使用QT和BT对其进行分割。因此,这可能是具有低相关性的特殊关系。在该示例中,为了检查块之间的关系,可以检查关于可以从具有1或更大的差(在该示例中差为2)的同一较高块获得的块分割的情况的数量。
通过上述各种示例,已经确认测量了块之间的相关性,以使用/参考与目标块具有水平关系的相关块。在这种情况下,可以将与目标块属于同一空间并且与目标块邻近的相关块作为目标。特别地,目标块和相关块可以是在水平方向或竖直方向上彼此邻近的块。
可以基于各种信息来掌握/估计块之间的相关性。例如,可以基于目标块和相关块的状态信息(尺寸、形状、位置等)来检查块之间的相关性。
此处,作为基于块的尺寸来确定相关性的示例,如果和与目标块接触的边界(水平或竖直)邻近的相关块的预定长度(水平长度或竖直长度)大于或等于目标块的预定长度,则块之间的相关性可能非常高或略微低,这被称为一般关系A。如果相关块的预定长度小于目标块的预定长度,则块之间的相关性可能略微高或非常低,这被称为一般关系B。在这种情况下,可以在接触水平边界(上侧的块)时比较每个块的水平长度,并且可以在接触竖直边界(左侧的块)时比较每个块的竖直长度。
此处,作为基于块的形状来确定相关性的示例,当目标块具有矩形形状时,和与水平长度和竖直长度的较长边界邻近的相关块的相关性是一般关系A,并且和与较短边界邻近的相关块的相关性可以是一般关系B。
以上描述可以是基于块的状态信息确定块之间的相关性的一些示例,并且各种修改示例是可能的。不仅可以基于块的状态信息而且还可以基于各种信息来掌握块之间的相关性。
以下描述检查和与目标块具有水平关系的相关块的相关性的处理。
(检查图像内的块分割设置)
<1>可以检查关于图像内的块分割的各种设置信息。检查诸如编码/预测/变换的单元(在该示例中假设目标块是编码单元)的支持的范围信息,例如最大块尺寸、最小块尺寸等。作为示例,可以检查最大编码块为128×128并且最小编码块为8×8。
<2>检查支持的分割方案,并且检查由每个分割方案支持的条件,例如最大块尺寸、最小块尺寸和最大分割深度。例如,支持QT的块的最大尺寸可以是128×128,最小尺寸可以是16×16,支持BT和TT的块的最大尺寸可以分别是128×128和64×64,最小尺寸可以共同是4×4,并且最大分割深度可以为4。
<3>检查要分配给分割方案的设置,例如优先级。例如,如果通过QT进行分割,则对于其较低块(子块)可以支持QT;如果不通过QT进行分割并且通过不同的方案进行分割,则对于较低块可以不支持QT。
<4>当支持多个分割方案时,可以检查禁止某些分割的条件,以避免根据分割方案的结果交叠。例如,在执行TT之后,可以针对中心区域禁止BT的竖直分割。也就是说,为了防止根据每种分割方案可能发生的分割结果交叠,预先检查针对禁止的分割的设置信息。
通过检查<1>至<4>中的全部或一些以及附加的其他设置信息,可以检查可以在图像中获得的块候选。这可以被参考以识别可以根据稍后要描述的目标块和相关块获得的块候选。
(检查块的信息)
可以检查状态信息,例如目标块和相关块的尺寸、形状、位置等。此处,检查块的位置是位于诸如图片、切片、图块组、图块、砖形块或块的单元的边界处还是位于内部。
单元中的块可以被设置为最大编码块,并且最大编码块可以是目标块的较高块(最高祖先块),但是是以图片单元而不是以根据图像的特性获得的形式被共同划分的单元。因此,如果它属于与目标块所属的最大编码块不同的最大编码块,则不能检查块之间的相关性,因此需要检查它是否属于边界的处理。
此外,由于诸如图片和切片的其他单元由最大编码块的整数倍组成或者具有不能被参考的设置,因此仅当块的位置不是边界时才可以执行检查相关性的处理。换言之,仅当块的位置不是边界时才可以检查相关性。
目标块和相关块的尺寸、形状和位置可以用于检查每个块的分割状态或者从中获得每个块的分割路径。稍后将对此进行详细描述。
(检查划分状态并检查共同较高块)
可以检查目标块和相关块的分割状态。此处,分割状态可以意味着从中获得每个块的分割路径。可以通过检查分割状态来执行检查每个块的较高块的处理,其中较高块可以意味着与每个块具有竖直关系的块。执行检查基于状态信息例如每个块的尺寸、形状和位置以及分割路径获得的较高块的处理。
例如,可以获得状态信息,例如目标块位置(在左上)为(32,32)、宽度和高度为8×8、分割深度为p以及分割路径为(QT/1-BT/h/0-BT/v/1)。可以检查状态信息,例如相关块位置为(24,32)、宽度和高度为8×8、分割深度为q以及分割路径为(QT/1-BT/h/0-BT/v/0)。此处,分割路径可以被表达为分割方案/分割方向(h是水平的,v是竖直的,如果不存在则省略)/分割位置(针对QT为0至3,针对BT为0至1等)。
在该示例中,可以获得状态信息,例如目标块的较高块(父代块,分割深度差为1)的位置为(24,32)、宽度和高度为16×8、分割深度为p-1以及分割路径为(QT/1-BT/h/0)。在该示例中,相关块的较高块(分割深度为q-1)可以与目标块的较高块相同。
例如,可以获得状态信息,例如目标块位置为(128,64)、宽度和高度为16×32、分割深度为p以及分割路径为(QT/3-QT/2-BT/v/1)。可以获得状态信息,例如相关块位置为(120,64)、宽度和高度为8×32、分割深度为q、分割路径为(QT/3-QT/2-BT/v/0-BT/v/1)。
在该示例中,可以获得状态信息,例如目标块的较高块(父代块,分割深度差为1)的位置为(112,64)、宽度和高度为32×32、分割深度为p-1以及分割路径为(QT/3-QT/2)。
另一方面,可以获得状态信息,例如相关块的较高块(父代块,分割深度差为1)的位置为(112,64)、宽度和高度为16×32、分割深度为q-1以及分割路径为(QT/3-QT/2-BT/v/0)。可以获得状态信息,例如相关块的较高块(祖代块,分割深度差为2)的位置为(112,64)、宽度和高度为32×32、分割深度为q-2以及分割路径为(QT/3-QT/2),可以看出,这是与目标块的较高块(父代块)相同的较高块。
如以上示例中那样,可以基于分割状态来执行检查每个块的较高块的处理,并且可以执行检查共同较高块的处理。
总之,可以检查与目标块和相关块具有为1或更大的分割深度差的较高块。作为示例,与目标块具有为c的分割深度差的较高块可以和与相关块具有为d的分割深度差的较高块相同。在这种情况下,c和d可以是1、2或更大的整数,c和d可以相同或可以不同。
此处,由于难以掌握复杂度或相关性,因此可能不需要检查具有大的分割深度差的较高块。例如,当较高块在最大编码块中是共同的时,可能难以检查块之间的相关性。
为此,可以存在关于c和d的预定第一阈值(最大值),并且第一阈值可以是1、2或更大的整数。替选地,可以存在与c与d的和有关的预定第二阈值,并且第二阈值可以是2、3或更大的整数。也就是说,当不满足阈值条件时,不检查块之间的相关性。
可以存在用于检查目标块和相关块是否具有相同的较高块的各种方法。例如,可以通过关于较高块的预定位置的信息或关于块的宽度和高度的信息来检查较高块是否相同。详细地,可以基于较高块的左上坐标和关于块的宽度和高度的信息来检查较高块是否相同。
(检查可以获得的候选)
当可以获得目标块和相关块的共同较高块时,可以检查可以从相应的较高块获得的各种块分割的情况的数量。这可以基于较高块的块分割设置和分割状态被检查。由于已经通过上述各种示例提及了这一点,因此将省略详细描述。
(检查相关性)
为了检查块之间的相关性,在该示例中可以检查以下内容。在该示例中,假设对于每个块,分割深度差的最大值为2。
<1>如果较高块与目标块和相关块具有为1的分割深度差,则检查可以支持的分割方案。
当仅一个分割方案可用时,可以根据分割方案来确定相关性。如果分割方案是QT或TT,则可以将相关性设置为一般关系(相关性可能高或低),如果分割方案是BT,则可以将相关性设置为特殊关系。
如果多个分割方案可用,则检查其是否以目标块和相关块被组合的形式被分割。如果是,则将相关性设置为特殊关系,如果不是,则将相关性设置为一般关系。
<2>在较高块与目标块和相关块中的至少一个具有为2的分割深度差的情况下,检查可以被支持的分割方案。
如果仅一个分割方案可用,则无论分割方案如何,都可以将相关性设置为一般关系。
如果多个分割方案可用,则检查其是否以目标块和相关块被组合的形式被分割。如果是,则将相关性设置为特殊关系,如果不是,则将相关性设置为一般关系。
以上示例是用于检查块之间的相关性的一些情况,并且不限于此,而且各种修改和添加是可能的。可以通过参考通过以上处理检查的块之间的相关性来使用/参考相关块的信息以用于对目标块进行编码。
总之,为了确定目标块与相关块之间的相关性,可以使用全部或一些处理,例如(检查图像内的块分割)、(检查块的信息)、(检查分割状态并且检查共同的较高块)、(检查可以获得的候选)、(检查相关性)等,并且可以以各种顺序而不是以上列出的顺序执行确定相关性的处理。此外,不限于以上提及的那些,并且可以通过改变一些部件或者组合其他部件来确定相关性。替选地,可以执行确定其他配置的相关性的处理,并且可以基于通过以上处理确定的块之间的相关性来使用/参考相关块的信息以用于对目标块进行编码。
通过以上处理确定的相关性可能不是关于块之间的特性的绝对事实,而可以是考虑到块分割等来估计块之间的相关性的预测信息。因此,由于相关性可以是被参考以用于构造用于目标块的编码信息的候选组的信息,因此具有低相关性的相关块可以不被包括在候选组中。考虑到所确定的相关性不准确的可能性,可以将关于候选组构造的优先级设置为较低优先级,或者可以借用具有竖直关系的较高块的候选组信息。此外,在以上示例中,尽管假设块之间的相关性被分类为两种类型,但是可以支持两个、三个或更多个分类类别。
是否使用/参考用于对目标块进行编码(候选组的构造等)的块之间的相关性可以在诸如序列、图片、切片、图块组、图块、砖形块、块等的单元中显式地被确定,或者可以基于编码设置隐式地被确定。接下来,将描述构成编码设置的各种信息的示例。
此处,可以根据要被使用/被参考以用于对目标块进行编码的信息来确定是否参考块之间的相关性。例如,对于构造帧内预测模式候选组,可以考虑块之间的相关性;而对于构造用于表示在帧间预测中非平移运动模型的运动矢量预测的候选组,可以不考虑块之间的相关性。
此处,可以基于目标块的状态信息和目标块所属的图像信息来确定是否参考块之间的相关性。此处,可以基于块尺寸、块形状、块的水平长度/竖直长度比、诸如图片/分割单元(切片、图块等)/最大编码块的单元中的位置来限定目标块的状态信息。此处,可以基于图像类型(I/P/B)、颜色分量(Y/Cb/Cr)等来限定目标块所属的图像信息。例如,仅当其具有属于预定范围的块的尺寸时,才可以参考块之间的相关性;而当块的尺寸在预定范围之外时,可以不参考块之间的相关性。在这种情况下,可以通过第一阈值大小(最小值)和第二阈值大小(最大值)来限定预定范围,并且每个阈值大小可以被表达为基于宽度(W)和高度(H)的W、H、W×H、W*H。W和H可以是1或更大的整数,例如4、8、16。
此处,可以根据相关块的类别来确定是否参考块之间的相关性(这可以从具有水平关系的相关块的位置的描述中得出)。例如,相关块可以与目标块属于同一空间,并且可以是邻近块。即使相关块与目标块属于同一空间,在不邻近的相关块的情况下,也可能不参考相关性。
可以考虑以上示例中提及的全部或一些因素来限定编码设置,因此可以隐式地确定是否参考块之间的相关性。
以下示出了基于与目标块具有水平关系的块和编码/解码处理的候选组构造。
检查目标块与其中存在参考可能性的块之间的相关性(1)。基于相关性来指定被参考以用于目标块的编码信息的块(2)。使用指定的编码信息以预定顺序构造候选组(3)。基于目标块的编码信息来选择候选组中的一个候选(4)。基于所选择的候选来执行图像编码/解码处理(5)。
在(1)中,检查目标块与可以被认为是相关块的块之间的相关性。在(2)中,基于通过(1)检查的相关性来指定用于构造用于目标块的编码信息的候选组的块。也就是说,这可能意味着基于所检查的相关性结果来确定是否包括作为相关块。当然,在该示例中可以一起考虑描述如上所述的具有水平关系的相关块的规格的内容。
在(3)中,使用通过上述处理指定的相关块的编码信息根据预定顺序来构造候选组。在这种情况下,可以支持考虑通过(2)包括或不包括的相关块的自适应顺序。在(4)中,基于目标块的编码信息来选择候选组中的一个候选。在(5)中,可以基于所选择的候选来执行图像编码/解码处理。
在流程图中,基于相关性被确定为具有低相关性的块可以不被包括作为相关块。
以下示出了基于与目标块具有水平关系的块和编码/解码处理的候选组构造的另一示例。
指定要被参考以用于目标块的编码信息的块(1)。检查目标块与所指定的块之间的相关性(2)。基于目标块的编码信息和通过(2)检查的相关性来确定预定顺序,并且相应地构造候选组(3)。基于目标块的编码信息来选择候选组中的一个候选(4)。基于所选择的候选来执行图像编码/解码处理(5)。
在(1)中,指定要用于构造用于目标块的编码信息的候选组的相关块。在(2)中,检查目标块与相关块之间的相关性。在(3)中,可以基于通过(2)检查的相关性来确定包括候选的顺序。
例如,如果相关性高或低,则可以应用预定顺序。如果相关性高,则可以应用相关块具有高优先级的顺序,如果相关性低,则可以应用相关块具有低优先级的顺序。
随后,在(3)中,在通过以上处理确定构造候选组的顺序之后,可以根据该顺序来构造候选组。在(4)中,基于目标块的编码信息来选择候选组中的一个候选。在(5)中,可以基于所选择的候选来执行图像编码/解码处理。
在流程图中,可以基于相关性来自适应地设置包括候选的顺序。
以下示出了基于与目标块具有水平关系或竖直关系的块和编码/解码处理的候选组构造的示例。此处,假设用于指定被参考的块的基本块被设置为目标块。
检查目标块与其中存在参考可能性的块之间的相关性(1)。
(被判断为与目标块具有低相关性的块的数量小于预定数量或更少)
基于相关性来指定被参考以用于目标块的编码信息的块(2A)。使用指定的编码信息以预定顺序构造候选组(3A)。
(被判断为与目标块具有低相关性的块的数量超过预定数量或更大)
用于指定被参考的块的基本块被改变为预定较高块(2B)。基于改变的基本块来指定被参考以用于目标块的编码信息的块(3B)。使用所指定的块的编码信息以预定顺序构造候选组(4B)。
基于目标块的编码信息来选择候选组中的一个(5)。基于所选择的候选组来执行图像编码/解码处理(6)。
在流程图中,可以根据相关性确定结果来确定1-2A-3A-5-6的顺序(P)或1-2B-3B-4-5-6的顺序(Q)中的一个。具体地,当存在被确定为与目标块具有低相关性的很少的块时,将除了相应块之外的其余块指定为相关块;当存在被确定为与目标块具有低相关性的许多块时,通过将候选组构造的基本块改变为比目标块更高的块,将与较高块具有水平关系的块指定为相关块。
在P顺序的情况下,由于其中被确定为具有低相关性的块没有被包括在相关块中的上述流程图中的一些流程图是相同的,因此省略了详细描述。Q顺序可以是基于具有竖直关系的块与候选组构造组合的配置。它可以是当与目标块邻近的块由具有低相关性的块组成时通过改变作为候选组构造的基础的块单元来构造候选组的示例。在以下描述中,省略先前描述的冗余描述并且集中于差异。
在(2B)中,用作候选组标准的块被改变为第一相关块。此处,第一相关块可以是与目标块具有竖直关系的块(此处为较高块)。
在(3B)中,指定用于构造用于目标块的编码信息的候选组的第二相关块。此处,第二相关块可以是与基本块具有水平关系的块,基本块是较高块。在(4B)中,使用通过上述处理指定的第二相关块的编码信息以预定顺序构造候选组。
此处,用于确定与目标块的相关性低的标准是在流程图中用块的数量进行分割的情况,但是可以设置要确定的各种标准。
通过以上各种示例描述了块之间的各种关系,并且描述了使用这执行编码/解码的情况。当描述稍后要描述的各种编码/解码处理中的基于上述块之间的关系的算法时,应当理解,即使不添加详细描述,也可以以相同或相似的方式应用通过上述各种实施方式建议的设置。
(帧间预测)
在根据本公开内容的实施方式的图像编码方法中,帧间预测可以如下被配置。预测单元中的帧间预测可以包括参考图片构造阶段、运动估计阶段、运动补偿阶段、运动信息确定阶段和运动信息编码阶段。此外,图像编码装置可以被配置成:包括实现参考图片构造阶段、运动估计阶段、运动补偿阶段、运动信息确定阶段和运动信息编码阶段的参考图片构造单元、运动估计单元、运动补偿单元、运动信息确定单元和运动信息编码单元。可以省略以上提及的处理中的一些或者可以添加其他处理,并且可以以其他顺序而不是以上提及的顺序进行改变。
在根据本公开内容的实施方式的图像解码方法中,帧间预测可以如下被配置。预测单元中的帧间预测可以包括运动信息解码阶段、参考图片构造阶段和运动补偿阶段。此外,图像解码设备可以被配置成:包括实现运动信息解码阶段、参考图片构造阶段和运动补偿阶段的运动信息解码单元、参考图片构造单元和运动补偿单元。可以省略以上提及的处理中的一些或者可以添加其他处理,并且可以以其他顺序而不是以上提及的顺序进行改变。
由于图像解码设备的参考图片构造单元和运动补偿单元起到与对应于图像编码设备的配置相同的作用,因此省略详细描述,并且可以通过逆向地使用运动信息编码单元中使用的方法来执行运动信息解码单元。在这种情况下,可以将在运动补偿单元中生成的预测块发送至加法单元。
图12是示出通过帧间预测获得预测块的各种情况的示例性图。
参照图12,单向预测可以从先前被编码的参考图片(T-1,T-2)获得预测块(A.前向预测),或者可以从随后被编码的参考图片(T+1,T+2)获得预测块(B.后向预测)。双向预测可以从先前被编码的多个参考图片(T-2至T+2)生成预测块(C,D)。通常,图像类型P可以支持单向预测,而图像类型B可以支持双向预测。
如在该示例中,可以从存储器获得被参考以用于当前图片的编码的图片。参考图片列表可以被配置成:基于当前图片(T),包括具有在当前图片之前的时间顺序或显示顺序的参考图片以及具有在当前图片之后的时间顺序或显示顺序的参考图片。
可以在当前图像中以及在当前图像之前或之后的图像中执行帧间预测(E)。当在当前图像中执行帧间预测时,其可以被称为非方向预测。可以在图像类型I或图像类型P/B中支持它,并且可以根据编码设置来确定受支持的图像类型。使用当前图像执行帧间预测与使用其他图像执行帧间预测以使用时间相关性不同,原因是使用当前图像执行帧间预测通过使用空间相关性来生成预测块,但是它们之间的预测方法(例如,参考图像、运动矢量等)可以是相同的。
在这种情况下,假设可以执行帧间预测的图像类型是P和B,但是帧间预测也可以应用于被添加或被代替的其他各种图像类型。例如,预定图像类型可能不支持帧内预测,可能仅支持帧间预测,可能仅支持在预定方向(后向)上的帧间预测并且仅支持在预定方向上的帧间预测。
参考图片构建单元可以通过参考图片列表来配置和管理用于对当前图片进行编码的参考图片。可以根据编码设置(例如,图像类型、预测方向等)来配置至少一个参考图片列表,并且可以从包括在参考图片列表中的参考图片生成预测块。
对于单向预测,可以使用参考图片列表0(L0)或参考图片列表1(L1)中包括的至少一个参考图片来执行帧间预测。此外,对于双向预测,可以使用通过组合L0和L1而生成的组合列表(LC)中包括的至少一个参考图片来执行帧间预测。
例如,单向方向可以被分类为使用前向参考图片列表(L0)的前向预测(Pred_L0)和使用后向参考图片列表(L1)的后向预测(Pred_L1)。双向预测(Pred_BI)可以使用前向参考图片列表(L0)和后向参考图片列表(L1)两者。
替选地,在双向预测中可以包括通过将前向参考图片列表(L0)复制到后向参考图片列表(L1)执行两个或更多个前向预测。在双向预测中可以包括通过将后向参考图片列表(L1)复制到前向参考图片列表(L0)来执行两个或更多个后向预测。
预测方向可以由指示相应方向的标志信息(例如,inter_pred_idc。假设可以通过predFlagL0、predFlagL1、predFlagBI来调整该值)来表示。predFlagL0表示是否执行前向预测,predFlagL1表示是否执行后向预测。可以通过predFlagBI或通过同时(例如,当每个标志为1时)激活predFlagL0和predFlagL1来表示是否执行双向预测。
在本公开内容中,主要描述了使用前向参考图片列表的前向预测的单向预测的情况,但是它也可以同样地或通过修改而适用于其他情况。
通常,可以使用以下方法:在编码器中确定针对要编码的图片的最佳参考图片,并且将关于相应参考图片的信息显式地发送至解码器。为此,参考图片构建单元可以对被参考以用于当前图片的帧间预测的图片列表执行管理,并且通过考虑有限的存储器大小来设置用于参考图片管理的规则。
所发送的信息可以被限定为RPS(参考图片集),并且从RPS选择的图片可以被分类为参考图片并且被存储在存储器(或DPB)中,并且不是从RPS选择的图片可以被分类为非参考图片,并且在一定时间段之后从存储器中被移除。可以将预设数量的图片(例如,14、15、16或更多个图片)存储在存储器中,并且可以根据级别和图像分辨率来设置存储器大小。
图13是根据本公开内容的实施方式的配置参考图片列表的示例性图。
参照图13,通常,可以将在当前图片之前存在的参考图片(T-1,T-2)分配给L0并进行管理,并且可以将在当前图片之后存在的参考图片(T+1,T+2)分配给L1并进行管理。当在配置L0时未达到L0的参考图片的允许数量时,可以分配L1的参考图片。类似地,当在配置L1时未达到L1的参考图片的允许数量时,可以分配L0的参考图片。
此外,当前图片可以被包括在至少一个参考图片列表中。例如,当前图片可以被包括在L0或L1中,并且可以通过将其时间顺序为T的参考图片(或当前图片)添加到当前图片之前的参考图片来配置L0,并且可以通过将其时间顺序为T的参考图片添加到当前图片之后的参考图片来配置L1。
可以根据编码设置来确定参考图片列表配置。
可以在单独存储器中管理与参考图片列表相区别的当前图片,而不将当前图片包括在参考图片列表中,或者可以通过将当前图片包括在至少一个参考图片列表中来管理当前图片。
例如,它可以由指示当前图片是否被包括在参考图片列表中的信号(curr_pic_ref_enabled_flag)来确定。在这种情况下,信号可以是被隐式地确定或显式地生成的信息。
详细地,当信号被去激活(例如,curr_pic_ref_enabled_flag=0)时,当前图片可以不作为参考图片而被包括在所有参考图片列表中,当信号被激活(例如,curr_pic_ref_enabled_flag=1)时,可以隐式地确定当前图片是否被包括在预定参考图片列表中(例如,可以仅将当前图片添加到L0,仅将当前图片添加到L1或同时将当前图片添加到L0和L1),或者可以通过生成相关信号(例如,curr_pic_ref_from_l0_flag、curr_pic_ref_from_l1_flag)来显式地确定当前图片是否被包括在预定参考图片列表中。可以在视频、序列、图片、切片、图块组、图块、砖形块等的单元中支持信号。
在这种情况下,可以如图13中那样将当前图片定位在参考图片列表中的第一个或最后一个处,并且可以根据编码设置(例如,图像类型信息等)来确定列表中的布置顺序。例如,在I类型的情况下,当前图片可以被定位在第一个处,而在P/B类型的情况下,当前图片可以被定位在最后一个处,而且不限于此,其他修改的示例也是可能的。
替选地,可以根据指示在当前图片中是否支持块匹配(或模板匹配)的信号(ibc_enabled_flag)来支持单独的参考图片存储器。在这种情况下,信号可以是被隐式地确定或显式地生成的信息。
详细地,当信号被去激活(例如,ibc_enabled_flag=0)时,这可能意味着在当前图片中不支持块匹配;当信号被激活(例如,ibc_enabled_flag=1)时,可以在当前图片中支持块匹配,并且可以支持其参考图片存储器。在该示例中,假设设置了附加的存储器,但是在不设置附加的存储器的情况下,也可以将当前图片设置为在当前图片所支持的现有存储器中直接支持块匹配。
参考图片构造单元可以包括参考图片内插单元,是否执行对呈小数单位的像素的内插处理可以根据帧间预测的内插精度被确定。例如,当具有呈整数单位的内插精度时,可以省略参考图片内插处理,而当具有呈小数单位的内插精度时,可以执行参考图片内插处理。
可以根据编码设置来确定在参考图片内插处理中使用的内插滤波器,并且可以使用一个预设的内插滤波器{例如,DCT-IF(基于离散余弦变换的内插滤波器)等}或者可以使用多个内插滤波器中的一个,并且对于前者,可以隐式地省略关于内插滤波器的选择信息,而对于后者,可以在视频、序列、图片、切片、图块组、图块、砖形块等的单元中包括关于内插滤波器的选择信息。对于后者,关于内插滤波器的信息(例如,滤波器系数信息等)也可以是可以被显式地生成的信息。
可以根据内插位置(例如,诸如1/2、1/4、1/8的小数单位)来使用相同类型的滤波器。例如,可以根据内插位置从一个滤波器公式获得滤波器系数信息。替选地,可以根据内插位置来使用不同类型的内插滤波器。例如,可以将6抽头维纳滤波器应用于1/2单位,可以将8抽头卡尔曼滤波器应用于1/4单位,可以将线性滤波器应用于1/8单位。
可以根据编码设置来确定内插精度(执行内插的最大精度),内插精度可以是整数单位或小数单位(例如,1/2、1/4、1/8、1/16、1/32等)的一种精度。在这种情况下,可以根据图像类型、参考图片设置、支持的帧间预测方法等来确定内插精度。
例如,可以在图像类型I中将内插精度设置为整数单位,可以在图像类型P/B中将内插精度设置为小数单位。替选地,在当前图片被包括在参考图片中时,可以根据要参考的图片将内插精度设置为整数单位或小数单位之一。替选地,当对于当前图片支持块匹配或模板匹配时,可以将内插精度设置为整数单位或小数单位之一,否则可以将内插精度设置为小数单位。
替选地,可以通过选择多个内插精度中的一个来执行内插处理,当支持根据自适应内插精度的内插处理时(例如,当adaptive_ref_resolution_enabled_flag为0时,使用预设的内插精度;当adaptive_ref_resolution_enabled_flag为1时,使用多个内插精度中的一个),可以生成精度选择信息(例如,ref_resolution_idx)。
可以隐式地确定或显式地生成与内插精度有关的设置和信息(例如,是否支持自适应内插精度、精度选择信息等),并且可以将设置和信息包括在视频、序列、图片、切片、图块组、图块、砖形块等的单元中。替选地,可以基于由图像类型、参考图片设置、支持的帧内预测方法、支持的运动模型等中的一个或更多个编码要素限定的编码设置来确定是否支持自适应内插精度、精度选择信息、精度候选组等。
可以根据内插精度来执行运动估计和补偿处理,并且还可以基于内插精度来确定运动矢量的表示单元和存储单元。
例如,当内插精度为1/2单位时,可以以1/2单位执行运动估计和补偿处理,可以以1/2单位表示运动矢量,并且可以在编码处理中使用运动矢量。此外,可以以1/2单位存储运动矢量,并且在其他块的运动信息编码处理中参考运动矢量。
替选地,当插值精度为1/8单位时,可以以1/8单位执行运动估计和补偿处理,可以以1/8单位表示运动矢量,以1/8单位在编码处理中使用运动矢量并存储运动矢量。
此外,可以以不同于插值精度的单位——例如,1/2单位、1/4单位等——执行、表示和存储运动估计和补偿处理以及运动矢量,并且可以根据帧间预测方法/设置(例如,运动估计/补偿方法、运动模型、运动信息编码模式<后面提到的内容>等)自适应地确定运动估计和补偿处理以及运动矢量。
在示例中,当假设插值精度为1/8单位时,对于平移运动模型,可以以1/4单位执行运动估计和补偿处理,并且可以以1/4单位表示(该示例假设编码处理中的单位)运动矢量并以1/8单位存储运动矢量。对于非平移运动模型,可以以1/8单位执行运动估计和补偿处理,并且可以以1/4单位表示运动矢量并以1/8单位存储运动矢量。
在示例中,当假设插值精度为1/8单位时,对于块匹配,可以以1/4单位执行运动估计和补偿处理,并且可以以1/4单位表示运动矢量并以1/8单位存储运动矢量。对于模板匹配,可以以1/8单位执行运动估计和补偿处理,并且可以以1/8单位表示运动矢量并以1/8单位存储运动矢量。
在示例中,当假设插值精度为1/16单位时,对于竞争模式,可以以1/4单位执行运动估计和补偿处理,并且可以以1/4单位表示运动矢量并以1/16单位存储运动矢量。对于合并模式,可以以1/8单位执行运动估计和补偿处理,并且可以以1/4单位表示运动矢量并以1/16单位存储运动矢量。对于跳过模式,可以以1/16单位执行运动估计和补偿处理,并且可以以1/4单位表示运动矢量并以1/16单位存储运动矢量。
总之,可以基于帧间预测方法或设置和插值精度来自适应地确定运动估计和补偿以及运动矢量的表示和存储单位。详细地,通常基于帧间预测方法或设置自适应地确定运动估计和补偿以及运动矢量的表示单位,并且基于插值精度来确定运动矢量的存储单位,但是不限于此,各种修改的示例是可能的。此外,该示例根据一个类别(例如,运动模型、运动估计/补偿方法等),但是混合两个或更多个类别并且确定设置也是可能的。
此外,如上所述,插值精度信息具有预设值或被选择为多个精度之一,但是相反地,可以根据按照帧间预测方法或设置支持的运动估计和补偿设置来确定参考图片插值精度。例如,当平移运动模型支持多达1/8单位并且非平移运动模型支持多达1/16个单位时,可以根据具有最高精度的非平移运动模型的精度单位来执行插值处理。
换言之,可以根据对于平移运动模型、非平移运动模型、竞争模式、合并模式、跳过模式等所支持的精度信息的设置来执行参考图片内插。在这种情况下,可以隐式地或显式地确定精度信息,并且当相关信息显式地被生成时,可以在视频、序列、图片、切片、图块组、图块、砖形块等的单元中包括精度信息。
运动估计单元执行估计(或搜索)哪个参考图片的哪个块与目标块具有高相关性的处理。可以从块划分单元获得执行预测的目标块的尺寸和形状(M×N)。在示例中,可以在4×4至128×128的范围内确定目标块。通常,在预测块的单元中执行帧间预测,但是可以根据块划分单元的设置在编码块、变换块等的单元中执行帧间预测。在参考区域的可用范围内执行估计时,可以使用至少一种运动估计方法。可以在运动估计方法中限定以像素为单位的估计顺序和条件等。可以基于运动估计方法来执行运动估计。例如,在块匹配的情况下,要被比较以用于运动估计处理的区域可以是目标块;在模板匹配的情况下,要被比较以用于运动估计处理的区域可以是基于基本块设置的预定区域(模板)。对于前者,可以在参考区域的可用范围内找到与目标块具有最高相关性的块,而对于后者,可以在参考区域的可用范围内找到与根据编码设置限定的模板具有最高相关性的区域。
在这种情况下,可以基于基本块在诸如左、上、左上、右上、左下块等的邻近块中的一个或更多个邻近块中设置模板。邻近块可以是已经被编码的块。在示例中,当基本块为M×N时,M×h和v×N可以分别被配置为基本块的上和左处的模板。在这种情况下,模板可以具有诸如一个预定固定区域(例如,左块和上块)和长度(w,h)等的设置,或者可以具有根据编码设置的自适应设置。在这种情况下,可以由基本块的尺寸、形状、位置、宽高比、图像类型、颜色分量等来限定编码设置。替选地,可以在视频、序列、图片、切片、图块组、图块、砖形块等的单元中显式地生成关于模板区域、长度等的信息,或者可以根据编码设置隐式地确定关于模板区域、长度等的信息。
在这种情况下,块匹配可以是显式地生成所有或一些运动信息的方法之一,并且模板匹配可以是隐式地获得所有或一些运动信息的方法之一。可以通过帧间预测设置来确定在运动估计方法中显式地生成或隐式地获得的运动信息(或运动信息类型),并且可以通过运动模型、运动信息编码模式等来限定帧间预测设置。在这种情况下,对于模板匹配,可以隐式地确定基于估计开始位置的信息、完成最终估计的运动矢量的修改信息(与x和y矢量相关)等,但是可以显式地生成相关信息。
可以根据编码设置显式地生成或隐式地确定关于模板匹配的可支持范围的信息。在这种情况下,可以由目标块的尺寸、形状、位置、图像类型、颜色分量等的一个或更多个要素来限定编码设置。在示例中,可以在A×B至C×D的范围内支持模板匹配,A至D可以是诸如4、8、16、32、64或更大的整数,并且A和B可以分别小于C和D或与C和D相同。此外,模板匹配的支持范围可以属于块匹配的支持范围,或者例外配置(例如,当块的最小尺寸较小时)被启用。
当支持多个运动估计方法时(例如,当adaptive_motion_comp_enabled_flag为0时,使用一个预设运动估计方法,而当adaptive_motion_comp_enabled_flag为1时,使用多种运动估计方法之一),可以生成运动估计方法选择信息,并且可以以块为单位包括运动估计方法选择信息。例如,当在图片、切片等的预定划分单元中motion_comp_idx为0时,仅支持块匹配;而当motion_comp_idx为1时,支持块匹配和模板匹配。替选地,在块的单元中motion_comp_idx为0的情况下,支持块匹配;而在块的单元中motion_comp_idx为1的情况下,支持模板匹配。如上,可以根据单元生成多个相关的选择信息,但是由相应信息指示的候选可以具有不同的含义。
以上示例可以是在块的单元中运动估计方法的分类(选择)为先的配置。在示例中,当选择模板匹配时,可能不存在要被另外确认的信息或合并模式,竞争模式可以被支持作为运动信息编码模式的候选。在这种情况下,当选择合并模式时,完成最终估计的运动矢量可以被设置为目标块的运动矢量;当选择竞争模式时,另外地生成用于在水平方向或竖直方向上修改通过最终估计获得的运动矢量的偏移信息,并且通过将偏移信息添加到通过最终估计获得的运动矢量而得到的运动矢量可以被设置为目标块的运动矢量。
替选地,可以通过被包括为帧间预测配置中的一些来支持模板匹配。在示例中,可以支持关于模板匹配的运动信息编码模式,并且可以通过被包括为以预定运动信息编码模式配置的运动信息预测候选组中的候选来支持关于模板匹配的运动信息编码模式。对于前者,它可以是通过运动信息编码模式的分类(选择)来执行模板匹配的配置,而对于后者,它可以是通过选择用于表示预定运动信息编码模式中的最佳运动信息的运动信息预测候选组中的一个候选来执行模板匹配的配置。
可以基于基本块来设置以上示例中的模板,并且基本块可以是编码块或预测块(或变换块)。描述了当由块划分单元确定编码块时,可以将编码块按原样设置为预测块,或者可以将编码块划分为两个或更多个预测块。在这种情况下,当编码块没有被划分或者被划分为两个或更多个预测块(例如,非正方形或直角三角形)以执行帧间预测时,将该编码块称为以子块为单位的帧间预测。换言之,基本块可以被设置为编码块或预测块,并且可以基于基本块来设置模板。
此外,除了上述单元之外,还可以支持用于模板设置的基本块。在示例中,与基本块成竖直关系或水平关系的块可以是目标。
详细地,可以假设编码块是目标块,并且与编码块具有竖直关系的较高块是相关块<1>。替选地,可以假设编码块是目标块,并且与编码块具有水平关系的块是相关块。在这种情况下,编码块可以被改变为预测块并被应用。此外,可以假设预测块是目标块,并且编码块是相关块。在后面提到的示例中,假设<1>中的情况。
可以通过关于在序列、图片、切片、图块组、图块、砖形块、块等的单元中是否支持(对于0,不支持;对于1,支持)的信息来显式地确定通过在多个候选块中设置基本块来配置模板的方法,并且当相应信息没有被确认时,可以将预定值(0或1)分配给它。替选地,可以隐式地确定是否支持,并且可以基于编码设置来确定是否支持。在这种情况下,可以由诸如块(目标块)的尺寸、形状、位置等、图像类型(I/P/B)、颜色分量、是否应用了以子块为单位的帧间预测等的状态信息的一个或更多个要素来限定编码设置。
例如,当目标块的尺寸大于预定第一阈值或与预定第一阈值相同时,可以支持在多个候选块中设置基本块的方法。替选地,当目标块的尺寸小于或等于预定第二阈值时,可以支持该方法。在这种情况下,可以用宽度(W)和高度(H)将阈值大小表示为W、H、W×H、W*H,并且将阈值大小表示为编码/解码设备中的预承诺值(pre-promised value),W和H可以是诸如4、8、16的等于或大于1的整数。当阈值大小被表示为宽度和高度的总和时,W*H可以是诸如16、32、64或更大的整数。第一阈值大小小于或等于第二阈值大小。在这种情况下,当不支持该方法时,这意味着基本块被设置为预定块(目标块)。
当支持多个候选块时,候选块(相关块)可以被不同地限定。(当编码块是目标块时),相关块(例如,较高块)可以是如下块,所述块的划分深度比编码块的划分深度小1或更多。替选地,它可以是预定左上坐标处(例如,位于目标块的左上坐标的左或上处)具有预定宽度(C)和高度(D)的块。在这种情况下,C和D可以是诸如8、16、32或更大的整数,并且可以大于或等于目标块的宽度和高度。此外,可以基于关于块尺寸的信息(例如,变换块的最大尺寸、编码块的最大尺寸等)来确定C和D。
当支持多个候选块时,可以显式地生成候选选择信息,并且可以将相应候选块设置为基本块。替选地,可以隐式地确定基本块,并且它可以基于编码设置。
例如,当确定编码设置(第一类别)支持多个候选块时,相关块可以被设置为基本块,否则当确定编码设置(第二类别)支持多个候选块时,目标块可以被设置为基本块。
替选地,当编码设置属于第一类别时,目标块可以被设置为基本块,而当编码设置属于第二类别时,第一相关块(例如,较高块)可以被设置为基本块,当编码设置属于第三类别时,第二相关块(例如,邻近块)可以被设置为基本块。此外,当替换或添加一些类别时,可以生成选择目标块和相关块之一的信息。
可以由诸如目标块的尺寸、形状、长宽比、位置等、图像类型、颜色分量、是否应用了以子块为单位的帧间预测等的状态信息的一个或更多个要素来限定编码设置。
总之,可以在包括目标块的各种候选块中设置基本块,并且可以显式地或隐式地确定基本块。该示例描述了可以不同地设置用于模板设置的基本块,但是该基本块可以适用于用于帧间预测的各种情况。换言之,该描述可以同样地或类似地适用于用于后面提到的帧间预测中的运动信息预测候选组等的配置的基本块设置。但是,应当理解,可以同样地或不同地设置关于该示例中基本块或支持范围等的限定。
可以基于运动模型来执行运动估计。可以通过使用除了仅考虑平行平移的平移运动模型之外的附加运动模型来执行运动估计和补偿。例如,可以通过使用考虑诸如旋转、透视、放大/缩小等以及平行平移的运动的运动模型来执行运动估计和补偿。通过生成反映根据图像的区域特征生成的各种类型的运动的预测块,可以支持它以改善编码性能。
图14是示出根据本公开内容的实施方式的非平移运动模型的概念图。参照图14,作为关于仿射模型的一些示例,描述了其中基于预定位置处的运动矢量V0和V1来表示运动信息的示例。因为可以基于多个运动矢量来表示运动,所以精确的运动估计和补偿是可能的。
如在示例中,可以基于预定义的运动模型来执行帧间预测,但也可以支持基于附加运动模型的帧间预测。在这种情况下,假设预定义的运动模型是平移运动模型,并且附加运动模型是仿射模型,但是不限于此,各种修改是可能的。
平移运动模型可以基于一个运动矢量来表示运动信息(假设单向预测),假设用于表示运动信息的控制点(基点)是左上坐标,但是不限于此。
可以通过各种配置的运动信息来表示非平移运动模型。该示例假设由除了一个运动矢量之外的附加信息(基于左上坐标)表示的配置。可以不以块为单位执行后面提到的示例中提及的一些运动估计和补偿,但是可以以预定的子块单位来执行后面提到的示例中提及的一些运动估计和补偿。在这种情况下,可以基于每个运动模型来确定子块的预定尺寸和位置。
图15是示出根据本公开内容的实施方式的以子块为单位的运动预测的示例性图。详细地,描述了根据仿射模型(2个运动矢量)以子块为单位的运动预测。
对于平移运动模型,以包括在目标块中的像素为单位的运动矢量可以是相同的。换言之,它可以具有以像素为单位同样地应用的运动矢量,并且通过使用一个运动矢量(V0)执行运动估计和补偿。
对于非平移运动模型(仿射模型),以包括在目标块中的像素为单位的运动矢量可能不相同,并且可能需要以像素为单位的单独的运动矢量。在这种情况下,可以基于目标块的预定控制点位置处的运动矢量(V0,V1)来得出以像素为单位或以子块为单位的运动矢量,并且可以通过使用所得出的运动矢量来执行运动估计和补偿。
例如,可以通过根据Vx=(V1x-V0x)×x/M-(V1y-V0y)×y/N+V0x、Vy=(V1y-V0y)×x/M+(V1x-V0x)×y/N+V0y的等式来得出以子块为单位或以目标块{例如,(Vx,Vy)}中的像素为单位的运动矢量。在该等式中,V0{在该示例中为(V0X,V0Y)}是目标块的左上处的运动矢量,而V1{在该示例中为(V1X,V1Y)}是目标块的右上处的运动矢量。通过考虑复杂度,可以以子块为单位执行非平移运动模型的运动估计和运动补偿。
在这种情况下,可以根据编码设置来确定子块的尺寸(M×N),并且子块的尺寸(M×N)可以具有固定尺寸或者可以被设置为自适应尺寸。在这种情况下,M和N可以是诸如2、4、8、16或更大的整数,并且M和N可以相同或不同。可以在序列、图片、切片、图块组、图块、砖形块等的单元中显式地生成子块的尺寸。替选地,可以通过编码器与解码器之间的共同承诺来隐式地确定子块的尺寸,或者可以通过编码设置来确定子块的尺寸。
在这种情况下,可以由诸如目标块的尺寸、形状、位置等、图像类型、颜色分量、帧间预测设置信息(例如,运动信息编码模式、参考图片信息、插值精度、运动模型<类型>等)等的状态信息的一个或更多个要素来限定编码设置。
以上示例描述了以下处理:根据一些非平移运动模型得出子块的尺寸,并且基于子块的尺寸来执行运动估计和补偿。如在该示例中,可以根据运动模型以子块或像素为单位来执行运动估计和补偿,并且省略其详细描述。
接下来,将描述关于根据运动模型配置的运动信息的各种示例。
在示例中,表示旋转运动的运动模型可以表示具有一个运动矢量的块的平移运动,并且可以表示具有旋转角度信息的旋转运动。可以基于预定位置(例如,左上坐标)来测量旋转角度信息(0度),并且可以由在预定角度范围内(例如,在-90度和90度之间)具有预定间隔(例如,角度差值是0度、11.25度、22.25度等)的k(k是诸如1、2、3或更大的整数)个候选来表示旋转角度信息。
在这种情况下,旋转角度信息可以在运动信息编码处理中按原样被编码,或者可以基于邻近块的运动信息(例如,运动矢量、旋转角度信息)被编码(例如,预测+差值信息)。
替选地,块的平移运动可以由一个运动矢量表示,并且块的旋转运动可以由一个或更多个附加运动矢量表示。在这种情况下,附加运动矢量的数量可以是诸如1、2或更大的整数,并且可以在右上、左下或右下坐标中确定附加运动矢量的控制点,或者可以将块中的其他坐标设置为控制点。
在这种情况下,附加运动矢量可以在运动信息编码处理中按原样被编码,或者可以基于邻近块的运动信息(例如,根据平移运动模型或非平移运动模型的运动矢量)被编码(例如,预测+差值信息),或者可以基于块的表示旋转运动的其他运动矢量被编码(例如,预测+差值信息)。
在示例中,对于表示诸如放大/缩小情况的尺寸调整或缩放运动的运动模型,它可以表示具有一个运动矢量的块的平移运动,并且可以表示具有缩放信息的尺寸调整运动。缩放信息可以由表示基于预定位置(例如,左上坐标)的水平方向或竖直方向的扩展或缩小的缩放信息来表示。
在这种情况下,可以在水平方向或竖直方向中的至少一个方向上应用缩放。此外,可以支持在水平方向和竖直方向中的每个方向上应用的缩放信息,或者可以支持共同应用的缩放信息。可以通过将经缩放的块的宽度和高度添加到预定位置(左上坐标)来确定运动估计和补偿的位置。
在这种情况下,缩放信息可以在运动信息编码处理中按原样被编码,或者可以基于邻近块的运动信息(例如,运动矢量、缩放信息)被编码(例如,预测+差值信息)。
替选地,块的平移运动可以由一个运动矢量表示,并且块的尺寸调整可以由一个或更多个附加运动矢量表示。在这种情况下,附加运动矢量的数量可以是诸如1、2或更大的整数,并且可以在右上、左下或右下坐标中确定附加运动矢量的控制点,或者可以将块中的其他坐标设置为控制点。
在这种情况下,附加运动矢量可以在运动信息编码处理中按原样被编码,或者可以基于邻近块的运动信息(例如,根据平移运动模型或非平移运动模型的运动矢量)被编码(例如,预测+差值信息),或者可以基于块中的预定坐标(例如,右下坐标)被编码(例如,预测+差值信息)。
以上示例描述了关于用于表示一些运动的表示的情况,并且它可以被表示为用于表示多个运动的运动信息。
例如,对于表示各种运动或复杂运动的运动模型,它可以用一个运动矢量表示块的平移运动,用旋转角度信息表示旋转运动,并且用缩放信息表示尺寸调整。可以通过上面提到的示例得出关于每个运动的描述,因此省略详细描述。
替选地,它可以用一个运动矢量表示块的平移运动,并且用一个或更多个附加运动矢量表示块的其他运动。在这种情况下,附加运动矢量的数量可以是诸如1、2或更大的整数,并且可以在右上、左下或右下坐标中确定附加运动矢量的控制点,或者可以将块中的其他坐标设置为控制点。
在这种情况下,附加运动矢量可以在运动信息编码处理中按原样被编码,或者可以基于邻近块的运动信息(例如,根据平移运动模型或非平移运动模型的运动矢量)被编码(例如,预测+差值信息),或者可以基于块的表示各种运动的其他运动矢量被编码(例如,预测+差值信息)。
描述可以关于仿射模型,并且主要描述附加运动矢量的数量是1或2的情况。总之,根据运动模型的运动矢量的使用数量可以是1、2、3,并且假设根据用于表示运动信息的运动矢量的数量可以将它视为单独运动模型。此外,当运动矢量的数量是1时,假设它是预定义的运动模型。
用于帧间预测的多个运动模型可以得到支持,并且可以由指示支持附加运动模型的信号(例如,adaptive_motion_mode_enabled_flag)来确定。在这种情况下,当信号为0时,可以支持预定义的运动模型;而当信号为1时,可以支持多个运动模型。可以在视频、序列、图片、切片、图块组、图块、砖形块、块等的单元中生成信号,但是当不可能对信号进行单独确认时,可以根据预定设置来分配信号的值。替选地,可以基于编码设置来隐式地确定是否支持。替选地,可以根据编码设置来确定是隐式的还是显式的情况。在这种情况下,编码设置可以由图像类型、图像类别(例如,对于0,一般图像;对于1,360度图像)、颜色分量等的一个或更多个要素来限定。
可以在上述处理中确定是否支持多个运动模型。接下来,假设另外地支持两个或更多个运动模型,并且确定要在序列、图片、切片、图块组、图块、砖形块等的单元中支持多个运动模型,但是可以存在一些例外配置。在后面提到的示例中,假设可以支持运动模型A、B、C,并且A是基本上被支持的运动模型,而B和C是可以另外被支持的运动模型。
可以在以上单元中生成关于所支持的运动模型的配置信息。换言之,支持的运动模型配置例如{A,B},{A,C},{A,B,C}是可能的。
例如,索引(0~2)可以被分配给配置的候选并且被选择。当选择索引2时,可以确定支持{A,C}的运动模型配置,当选择索引3时,可以确定支持{A,B,C}的运动模型配置。
替选地,可以单独地支持表示是否支持预定运动模型的信息。换言之,可以生成关于是否支持B的标志或关于是否支持C的标志。当两个标志均为0时,可能是仅支持A的情况。该示例可以是在不生成表示是否支持多个运动模型的信息的情况下被处理的示例。
如在以上示例中,当配置所支持的运动模型的候选组时,候选组的一个运动模型可以被显式地确定并且被使用,或者可以在块的单元中隐式地被使用。
通常,运动估计单元可以是存在于编码设备中的配置,但是它可以是根据预测方法(例如,模板匹配等)可以被包括在解码设备中的配置。例如,对于模板匹配,这是因为可以通过在解码器中基于目标块的邻近模板执行运动预测来获得目标块的运动信息。在这种情况下,与运动估计相关的信息(例如,运动估计范围、运动估计方法<扫描顺序>等)可以被隐式地确定或显式地生成,并且可以被包括在视频、序列、图片、切片、图块组、图块、砖形块等的单元中。
运动补偿单元执行用于获得在运动估计处理中被确定为目标块的预测块的一些参考图片的一些块的数据的处理。详细地,可以基于在运动估计处理中获得的运动信息(例如,参考图片信息、运动矢量信息等)从至少一个参考图片的至少一个区域(或块)生成目标块的预测块。
可以基于如下的运动补偿方法来执行运动补偿。
对于块匹配,基于通过在参考图片中显式地获得的目标块(M×N)的运动矢量(Vx,Vy)和目标块的左上坐标(Px,Py)获得的坐标(Px+Vx,Py+Vy)、与右侧M和下部N相对应的区域中的数据可以被补偿为目标块的预测块。
对于模板匹配,基于通过在参考图片中隐式地获得的目标块(M×N)的运动矢量(Vx,Vy)和目标块的左上坐标(Px,Py)获得的坐标(Px+Vx,Py+Vy)、与右侧M和下部N相对应的区域中的数据可以被补偿为目标块的预测块。
此外,可以基于如下运动模型来执行运动补偿。
对于平移运动模型,基于通过在参考图片中显式地获得的目标块(M×N)的一个运动矢量(Vx,Vy)和目标块的左上坐标(Px,Py)获得的坐标(Px+Vx,Py+Vy)、与右侧M和下部N相对应的区域中的数据可以被补偿为目标块的预测块。
对于非平移运动模型,基于通过在参考图片中显式地获得的目标块(M×N)的多个运动矢量(V0x,V0y)、(V1x,V1y)隐式地获得的m×n个子块的运动矢量(Vmx,Vmy)和每个子块的左上坐标(Pmx,Pny)获得的坐标(Pmx+Vnx,Pmy+Vny)、与右侧M/m和下部N/n相对应的区域中的数据可以被补偿为目标块的预测块。换言之,可以通过收集子块的预测块来利用目标块的预测块进行补偿。
在运动信息确定单元中,可以执行用于选择目标块的最佳运动信息的处理。通常,可以通过使用块失真{例如,目标块和重构块的失真、SAD(绝对差之和)、SSD(平方差之和)等}和考虑了根据相应运动信息生成的比特量的率失真方法从编码成本的角度确定最佳模式信息。基于在以上处理中确定的运动信息生成的预测块可以被发送到减法单元和加法单元。此外,它可以是根据一些预测方法(例如,模板匹配等)可以被包括在解码设备中的配置,在这种情况下,可以基于块失真来确定它。
对于运动信息确定单元,可以考虑与诸如运动补偿方法、运动模型等帧间预测有关的设置信息。例如,当支持多个运动补偿方法时,运动补偿方法选择信息和得到的运动矢量、参考图片信息等可以是最佳运动信息。替选地,当支持多个运动模型时,运动模型选择信息和得到的运动矢量、参考图片信息等可以是最佳运动信息。
在运动信息编码单元中,可以对在运动信息确定处理中获得的目标块的运动信息进行编码。在这种情况下,运动信息可以配置有关于被参考以用于目标块的预测的图像和区域的信息。详细地,运动信息可以配置有关于参考的图像的信息(例如,参考图像信息等)和关于参考的区域的信息(例如,运动矢量信息等)。
此外,与帧间预测有关的设置信息(或者选择信息等,例如,运动估计/补偿方法、运动模型的选择信息等)也可以被包括在目标块的运动信息中。可以基于与帧间预测相关的设置来配置关于参考的图像和区域的信息(例如,运动矢量的数量等)。
可以通过将关于参考的图像和参考的区域的信息配置为一个组合来编码运动信息,并且可以将关于参考的图像和参考的区域的信息的组合配置为运动信息编码模式。
在这种情况下,可以基于邻近块或预定信息(例如,在当前图片之前或之后编码的图像、零运动矢量等)来获得关于参考的图像和参考的区域的信息,并且邻近块可以是与基本块具有水平关系的块(相关块)。换言之,当类别被分类为属于与基本块相同的空间并且最邻近目标块的块的<inter_blk_A>、属于与基本块相同的空间并且远邻目标块的块的<inter_blk_B>以及不属于与基本块相同的空间的块的<inter_blk_C>时,属于它们中的一个或更多个类别的块可以被指定为相关块。
例如,可以基于相关块的运动信息或参考图片信息来编码目标块的运动信息,并且可以基于从相关块的运动信息或参考图片信息(或通过中间值、变换处理等的信息)得出的信息来编码目标块的运动信息。换言之,对于目标块的运动信息,可以从邻近块执行预测以对其上的信息进行编码。
可以预测和编码目标块的运动信息,或者可以编码运动信息本身,并且它可以基于指示是否执行了运动信息的预测的信号(例如,当mvp_enabled_flag为0时,运动信息按原样被编码;而当mvp_enabled_flag为1时,运动信息被预测并被编码。换言之,仅对于1,可以使用后面提到的运动信息编码模式,例如跳过模式、合并模式、竞争模式等)。在本公开内容中,在信号为1的假设下进行描述。换言之,在后面提到的示例中,假设基于预测对目标块的运动信息的全部或一些进行编码。
在以上描述中,可以在目标块和与目标块具有水平关系或竖直关系的块中设置基本块。详细地,这意味着可以不同地设置如下块,当基于(通过预测)相关块的参考图片信息或运动信息对目标块的运动信息进行编码时,所述块变为标准。由于其内容可以从上面提到的各种示例中得出,因此省略详细描述。
总之,目标块可以是作为具有要编码的运动信息的相关方的块,并且基本块可以是当运动信息预测候选组被配置时变为标准的块(例如,当左、上方向上的邻近块被指定时变为标准的块)。在这种情况下,基本块可以被设置为目标块,或者可以被设置为相关块(以竖直关系/水平关系的块)。在后面提到的示例中提及的基本块可以从本公开内容的包括该示例的上面提到的各种示例中得出。
在本公开内容中,可以基于一个或更多个运动信息编码模式来对目标块的运动信息进行编码。在这种情况下,运动信息编码模式可以被不同地限定,并且可以包括跳过模式、合并模式、竞争模式(Comp模式)等中的一个或更多个。
它可以基于上面提到的模板匹配(tmp)与运动信息编码模式进行组合,或者可以作为单独的运动信息编码模式被支持,或者可以被包括在运动信息编码模式的详细配置中的所有或一些中。其前提是,确定以较高单元(例如,图片、切片等)支持模板匹配,但是关于是否支持的标志可以被认为是用于帧间预测设置的部分要素。
它可以基于在上面提到的当前图片(ibc)中执行块匹配的方法与运动信息编码模式进行组合,或者可以作为单独的运动信息编码模式被支持,或者可以被包括在运动信息编码模式的详细配置中的所有或一些中。其前提是,确定对于当前图片以较高单元支持块匹配,但是关于是否支持的标志可以被认为是用于帧间预测设置的部分要素。
它可以基于上面提到的运动模型(仿射)与运动信息编码模式进行组合,或者可以作为单独的运动信息编码模式被支持,或者可以被包括在运动信息编码模式的详细配置中的所有或一些中。其前提是,确定以较高单元支持非平移运动模型,但是关于是否支持的标志可以被认为是用于帧间预测设置的部分要素。
例如,可以支持单独的运动信息编码模式,例如temp_inter、temp_tmp、temp_ibc、temp_affine。替选地,可以支持组合的运动信息编码模式,例如temp_inter_tmp、temp_inter_ibc、temp_inter_affine、temp_inter_tmp_ibc等。替选地,它可以通过包括基于模板的候选、基于在当前图片中执行块匹配的方法的候选、在运动信息预测候选组配置temp中的基于仿射的候选被配置。
在这种情况下,temp可以表示跳过模式(skip)、合并模式(merge)、竞争模式(comp)。在示例中,对于跳过模式,可以支持诸如skip_inter、skip_tmp、skip_ibc、skip_affine的运动信息编码模式;对于合并模式,可以支持诸如merge_inter、merge_tmp、merge_ibc、merge_affine的运动信息编码模式;以及对于竞争模式,可以支持诸如comp_inter、comp_tmp、comp_ibc、comp_affine等的运动信息编码模式。
当支持跳过模式、合并模式和竞争模式并且考虑以上要素的候选被包括在每个模式的运动信息预测候选组中时,可以通过识别跳过模式、合并模式和竞争模式的标志来选择一种模式。在示例中,当支持表示它是否是跳过模式的标志并且该标志的值为1时,可以选择跳过模式;当支持表示当值为0时它是否是合并模式的标志并且该标志的值为1时,可以选择合并模式;当该标志的值为0时,可以选择竞争模式。而且基于inter、tmp、ibc、affine的候选可以被包括在每个模式的运动信息预测候选组中。
替选地,当在一个共同模式中支持多个运动信息编码模式时,除了用于选择跳过模式、合并模式和竞争模式之一的标志之外,还可以支持识别所选择的模式的详细模式的附加标志。在示例中,当选择了合并模式时,这意味着另外支持用于在关于诸如merge_inter、merge_tmp、merge_ibc、merge_affine等的合并模式的详细模式中进行选择的标志。替选地,支持表示它是否是merge_inter的标志,并且当它不是merge_inter时,可以另外支持用于在merge_tmp、merge_ibc、merge_affine等中进行选择的标志。
可以根据编码设置来支持运动信息编码模式候选中的所有或一些。在这种情况下,可以由诸如基本块(例如,目标块)的尺寸、形状、长宽比、位置等、图像类型、图像类别、颜色分量、帧间预测支持设置(例如,是否支持模板匹配、在当前图片中是否支持块匹配、非平移运动模型支持要素等)等的状态信息的一个或更多个要素限定编码设置。
在示例中,可以根据块的尺寸来确定支持的运动信息编码模式。在这种情况下,对于块的尺寸,可以通过第一阈值大小(最小值)或第二阈值大小(最大值)来确定支持范围,并且可以用块的宽度(W)和高度(H)将每个阈值大小表示为W、H、W×H、W*H。对于第一阈值大小,W和H可以是诸如4、8、16或更大的整数,并且W*H可以是诸如16、32、64或更大的整数。对于第二阈值大小,W和H可以是诸如16、32、64或更大的整数,W*H可以是诸如64、128、256或更大的整数。该范围可以由第一阈值大小或第二阈值大小中的一个来确定,或者可以通过使用第一阈值大小和第二阈值大小二者来确定。
在这种情况下,阈值大小可以是固定的,或者可以根据图像(例如,图像类型等)是自适应的。在这种情况下,可以基于最小编码块、最小预测块、最小变换块等的尺寸来设置第一阈值大小,并且可以基于最大编码块、最大预测块、最大变换块等的尺寸来设置第二阈值大小。
在示例中,可以根据图像类型来确定支持的运动信息编码模式。在这种情况下,对于图像类型I,可以包括跳过模式、合并模式、竞争模式中的至少一个。在这种情况下,可以支持关于在当前图片中执行块匹配(或模板匹配)的方法和仿射模型(在下文中,被称为术语“要素”)的单独的运动信息编码模式,或者可以通过组合两个或更多个要素来支持运动信息编码模式。替选地,可以将根据预定运动信息编码模式的要素配置在运动信息预测候选组中。
对于图像类型P/B,可以包括跳过模式、合并模式或竞争模式中的至少一个。在这种情况下,可以支持关于当前图片中的一般帧间预测、模板匹配、块匹配以及仿射模型(在下文中,被称为术语“要素”)的单独的运动信息编码模式,或者可以通过组合两个或更多个要素来支持运动信息编码模式。替选地,可以将根据预定运动信息编码模式的要素配置在运动信息预测候选组中。
接下来,描述根据运动信息编码模式的限定和配置。
跳过模式、合并模式和竞争模式可以使用/参考基于用于目标块的运动信息编码的基本块而设置的相关块(候选块)的运动信息。换言之,可以从相关块得出运动信息(例如,参考图像或参考区域),并且基于相关块获得的运动信息(预测运动信息)可以被预测为目标块的运动信息。
在这种情况下,可以不在跳过模式和合并模式中生成目标块的运动矢量与预测运动矢量之间的差信息,并且可以在竞争模式中生成差信息。换言之,这可能意味着预测运动矢量在跳过模式和合并模式中按原样被用作目标块的运动矢量,但是在合并模式中生成差信息的修改是可能的。
在这种情况下,关于目标块的参考图像的信息可以在跳过模式和合并模式中按原样被用作预测参考图像信息,并且关于目标块的参考图像的信息可以在没有预测的情况下或者在竞争模式中基于预测参考图像信息(例如,在预测之后对差值进行编码)而被编码为参考图像信息。
在这种情况下,可以不在跳过模式中生成目标块的残差分量,并且可以在合并模式和竞争模式中生成目标块的残差分量。换言之,这意味着可以在合并模式和竞争模式中生成残差分量,并且可以执行针对残差分量的处理(对残差分量的变换、量化、逆处理)(例如,可以通过确认在诸如coded_block_flag的块中是否存在残差信号而不执行该处理),但是在合并模式中不生成残差分量的修改是可能的。
可以不同地配置运动信息编码模式的运动信息预测候选组。在示例中,跳过模式和合并模式可以共同地配置候选组,并且竞争模式可以配置单独的候选组。可以基于运动信息编码模式来确定候选组配置设置。
在这种情况下,可以通过候选组数量、候选块(相关块)的类别和位置、候选配置方法等来限定候选组配置设置。
候选组数量可以是k,k可以是从1至6或更大的整数。在这种情况下,当候选组数量为1时,这意味着不生成候选组选择信息,并且预定候选块的运动信息被设置为预测运动信息,并且当候选组数量等于或大于2时,可以生成候选组选择信息。
候选块的类别可以是inter_blk_A、inter_blk_B、inter_blk_C中的一个或更多个。在这种情况下,inter_blk_A可以是基本上被包括的类别,而其他类别可以是另外被支持的类别,但是不限于此。
对于inter_blk_A或inter_blk_C,候选块的位置可以在基本块的左、上、左上、右上、左下方向上邻近,并且可以从关于图6的描述中得出。对于inter_blk_B,可以将其指定为具有与目标块的编码信息具有同一性/相似性的模式信息的块,并且可以从指定具有上面提到的水平关系的块的部分中得出相关描述。在示例中,当在基于运动模型的运动信息编码模式中配置运动信息预测候选组时,具有相同模式的块的运动信息可以被包括在候选组中。
如在描述中,描述了被参考以配置运动信息预测候选组的候选块的位置。接下来,将描述基于相应候选块获得预测运动信息的方法。
用于配置用于帧间预测的运动信息预测候选组的候选块可能表示上面提到的块之间的关系中的相关块。换言之,可以将在基于基本块的许多相关块中指定的块称为候选块,并且可以基于候选块的运动信息等来配置运动信息预测候选组。在后面提到的示例中,应当理解,候选块可能表示相关块。
图16是关于根据本公开内容的实施方式的与基本块在空间上或在时间上邻近的块的布置的示例性图。详细地,图16可以是关于与属于inter_blk_A和inter_blk_C的类别的基本块具有水平关系的块(相关块或候选块)的布置的示例性图。在后面提到的示例中,属于inter_blk_A的块被称为空间候选,而属于inter_blk_C的块被称为时间候选。
参照图16,基于基本块在左、上、左上、右上、左下方向等上邻近的块以及基于与时间上不同的空间(Col_Pic)中的基本块相对应的块在中心、左、右、上、下、左上、右上、左下、右下方向等上邻近的块可以被配置为用于预测目标块的运动信息的候选块。
此外,可以以一个或更多个子块为单位划分(分类)在以上方向上邻近的块(例如,左方向上的L块可以被划分成l0、l1、l2、l3个子块),图16是每个方向上邻近的块配置有4个子块(相应块的中心配置有16个子块)的示例,但是它可以被划分成各种各样的p个子块,但是不限于此。在这种情况下,p可以是诸如1、2、3、4或更大的整数。此外,可以基于邻近块的位置(方向)自适应地确定p。
在这种情况下,Col_Pic可以是在当前图像之前或之后邻近的图像(例如,当图像之间的间隔为1时),并且相应块可以被设置成在图像中具有与基本块相同的位置。
替选地,Col_Pic可以是基于当前图像来预定义图像之间的间隔的图像(例如,图像之间的间隔是z。z是诸如1、2、3的整数),并且可以将相应块设置成具有在基本块的预定坐标(例如,左上)上移动预定视差矢量(disparity vector)的位置,并且可以将视差矢量设置为预定义的值。
替选地,可以基于邻近块(例如,参考图像)的运动信息来设置Col_Pic,并且可以基于邻近块的运动信息(例如,运动矢量)来设置视差矢量以确定相应块的位置。
在这种情况下,可以参考k个邻近块,k可以是诸如1、2或更大的整数。当k等于或大于2时,可以基于邻近块的运动信息(例如,参考图像或运动矢量)的诸如最大值、最小值、中间值、加权平均值等的运算来获得Col_Pic和视差矢量。例如,视差矢量可以被设置为左块或上块的运动矢量,并且可以被设置为左块和左下块的运动矢量的中间值或平均值。
可以基于运动信息配置设置等来确定时间候选的以上设置。例如,可以根据是以块为单位还是以子块为单位配置要包括运动信息预测候选组中的以块为单位的运动信息或以子块为单位的运动信息的运动信息,来确定Col_Pic的位置、相应块的位置等。在示例中,当获得了以子块为单位的运动信息时,可以将移动了预定视差矢量的位置处的块设置成具有相应块的位置。
以上示例表示以下情况:隐式地确定关于与Col_Pic对应的块的位置的信息,并且可以在序列、图片、切片、图块组、图块、砖形块等的单元中显式地生成相关信息。
根据运动信息编码模式,空间地或时间地邻近块(或候选块)的上面提到的运动信息(分别为空间候选和时间候选)可以被包括在运动信息预测候选组中。
在示例(1)中,可以将奇异(singular)运动信息按原样包括在候选组中。换言之,在没有改变的情况下,可以使用奇异运动矢量、奇异参考图片、奇异预测方向等中的所有或一些作为目标块的运动矢量、参考图片、预测方向等中的所有或一些的预测值。
在这种情况下,可以从空间候选或时间候选的一个候选块获得奇异运动信息。在后面提到的示例中,假设在该示例中获得的候选是空间候选。此外,它可以是应用于跳过模式、合并模式和竞争模式中的所有模式的情况。
在示例(2)中,在调整(或变换)处理之后,可以将奇异运动信息包括在候选组中。该示例还假设从一个候选块获得奇异运动信息的情况。详细地,可以基于当前图片与参考图片之间的距离间隔和候选块所属的图片与候选块的参考图片之间的距离间隔来执行关于候选块的运动信息(例如,运动矢量)的调整处理。
换言之,可以基于当前图片与参考图片之间的距离间隔在缩放处理中调整候选块的运动矢量。并且候选块的经调整的运动矢量可以被包括在候选组中。对于参考图片的运动信息或预测方向等,候选块的参考图片或预测方向信息可以不改变地被包括在候选组中,或者可以基于参考图片的距离间隔被包括在候选组中。替选地,基于预定信息(例如,参考图片是当前图片之前或之后的图片<参考图片索引为0>,预测方向是前向、后向、双向等中之一)或参考图片或目标块的预测方向信息设置的信息可以被包括在候选组中。
在这种情况下,奇异运动信息可以是时间候选。在后面提到的示例中,假设在该示例中获得的候选是时间候选。此外,它可以是应用于跳过模式、合并模式和竞争模式中的所有或一些的情况。例如,它可以应用于跳过模式、合并模式和竞争模式,或者它可以不应用于跳过模式和合并模式并且可以应用于竞争模式。
在示例(3)中,在组合处理之后,多个运动信息可以被包括在候选组中。可以对运动矢量、参考图像和预测方向中的所有或一些执行组合处理。组合处理表示运动信息的中间值、加权平均值等的处理。详细地,基于p个运动信息的中间值、加权平均值等获得的q个运动信息可以被包括在候选组中。在这种情况下,p可以是诸如2、3、4或更大的整数,q可以是诸如1、2或更大的整数。在示例中,p和q可以分别为2和1。在这种情况下,对于平均值,可以将相同的权重(例如,1:1、1:1:1等)应用于运动信息或者可以应用不同的权重(例如,1:2、1:3、2:3、1:1:2、1:2:3等)。
可以从多个候选块获得多个运动信息。在这种情况下,假设从一个候选块获得一个运动信息,但是不限于此。候选块的运动信息(组合处理的输入值)可以是被限制为(1)或(2)中的一个或者属于(1)和(2)二者的信息。
此外,多个运动信息可以从空间候选或时间候选中的任一个得出,并且可以从空间候选和时间候选二者得出。例如,可以通过使用空间候选来执行组合处理,或者可以通过使用时间候选来执行组合处理。替选地,可以通过使用一个或更多个空间候选和一个或更多个时间候选来执行组合处理。
可以从候选组的预先包括的候选获得多个运动信息。换言之,可以使用之前在候选组配置处理中包括的多个候选运动信息(例如,空间候选或时间候选)作为组合处理的输入值。在这种情况下,被用作组合处理的输入值的候选运动信息可以从空间候选或时间候选中的任何一个得出,并且可以从空间候选和时间候选二者得出。
该描述可以是应用于跳过模式、合并模式和竞争模式中的所有或一些的情况。例如,它可以应用于跳过模式、合并模式和竞争模式,或者它可以应用于跳过模式和合并模式并且可以不应用于竞争模式。
对于在组合处理中获得的运动信息,从空间候选或时间候选得出的运动信息被称为空间得出候选或时间得出候选,而从空间候选和时间候选得出的运动信息被称为空间和时间得出候选。在下列示例中,将描述得出候选的处理。
作为空间得出候选的示例,可以通过应用基于在基本块的左、上、左上、右上、左下方向上的块中的所有或一些的运动矢量获得加权平均值或中间值的处理来获得空间得出候选。替选地,可以通过应用基于已经被包括在候选组中的空间候选中的所有或一些获得加权平均值或中间值的处理来获得空间得出候选。接下来,假设将运动矢量l3、t3、tl、tr、bl视为获得图16的Curr_Pic中的加权平均值或中间值的处理的输入值。
例如,可以从avg(l3_x,t3_x,tl_x,tr_x,bl_x)得出运动矢量的x分量,可以从avg(l3_y,t3_y,tl_y,tr_y,bl_y)得出运动矢量的y分量,并且假设avg是计算括号中的运动矢量的平均值的函数。替选地,可以从median(l3_x,t3_x,tl_x,tr_x,bl_x)得出运动矢量的x分量,并且可以从median(l3_y,t3_y,tl_y,tr_y,bl_y)得出运动矢量的y分量,并且假设median是计算括号中的运动矢量的中间值的函数。
作为关于时间得出候选的示例,可以通过应用基于与基本块相对应的块的左、右、上、下、左上、右上、左下、右下、中心方向上的块中的所有或一些的运动矢量获得加权平均值或中间值的处理来获得时间得出候选。替选地,可以通过应用基于已经被包括在候选组中的时间候选中的所有或一些获得加权平均值或中间值的处理来获得时间得出候选。接下来,假设将运动矢量br、r2、b2视为获得图16的Col_Pic中的加权平均值或中间值的处理的输入值。
例如,可以从avg(br_x,r2_x,b2_x)得出运动矢量的x分量,并且可以从avg(br_y,r2_y,b2_y)得出运动矢量的y分量。替选地,可以从median(br_x,r2_x,b2_x)得出运动矢量的x分量,并且可以从median(br_y,r2_y,b2_y)得出运动矢量的y分量。
作为关于空间和时间得出候选的示例,可以通过应用基于基本块和与基本块相对应的块的空间邻近块中的所有或一些的运动矢量获得加权平均值或中间值的处理来获得空间和时间得出候选。替选地,可以通过应用基于已经被包括在候选组中的空间候选或时间候选中的所有或一些获得加权平均值或中间值的处理来获得空间和时间得出候选。省略了关于其的示例。
可以将在以上处理中获得的运动信息添加到(包括在)目标块的运动信息预测候选组。
(1)至(3)中的实施方式描述了以下示例:空间候选或时间候选不改变地被包括在运动信息预测候选组中,或者基于多个空间候选或时间候选而得到的空间得出候选、时间得出候选以及空间和时间得出候选被包括在运动信息预测候选组中。换言之,(1)和(2)中的实施方式可以是关于空间或时间候选的描述,而(3)中的实施方式可以是关于空间得出候选、时间得出候选以及空间和时间得出候选的描述。
上面提到的示例可以是以下情况:以像素为单位的运动矢量在目标块中是相同的。作为关于以像素为单位或以子块为单位的运动矢量在目标块中是不同的情况的示例,以上描述了仿射模型。在后面提到的示例中,以子块为单位的运动矢量在目标块中存在部分变化,但是将描述关于基于空间或时间相关性被表示为候选的情况的示例。
接下来,描述基于一个或更多个运动信息获得以子块为单位的运动信息的预测值的情况。它可以是以下示例:经过与基于多个运动信息获得运动信息的处理类似的处理(3),但是获得以子块为单位的运动信息(4)。在(4)的处理中获得的运动信息可以被包括在运动信息预测候选组中。稍后通过使用作为本示例中使用的术语的空间得出候选、时间得出候选以及空间和时间得出候选来描述实施方式(4)。
当获得以子块为单位的运动信息的预测值时,可以将基本块限制为目标块。此外,当通过混合以子块为单位的运动信息和以块为单位的运动信息来配置候选组时,假设基本块被限制为目标块。
作为关于空间得出候选的示例,可以获得基于目标块中的子块(在本示例中,它配置有4个子块<在图16的Curr_Pic中,c0+c1+c4+c5/c2+c3+c6+c7/c8+c9+c12+c13/c10+c11+c14+c1分别被称为D0、D1、D2、D3>)获得的空间邻近块(在本示例中,图16的Curr_Pic中的各种块。本示例中使用的块位于与基于子块的目标块邻近的左、右和右上位置处)的一个运动信息作为空间导出候选,或者可以通过基于多个运动信息的加权平均值或中间值来获得空间导出候选。所获得的空间得出候选可以被添加到目标块的运动信息预测候选组。
例如,对于子块D0,l1、t1、t2(左块的下区域、上块的右区域、基于子块的左上块)可以是相应子块的空间邻近块;对于子块D1,l1、t3可以是相应子块的空间邻近块;对于子块D2,l3、t1、t2可以是相应子块的空间邻近块;对于子块D3,l3、t3,tr可以是相应子块的空间邻近块。在这种情况下,被添加到目标块的运动信息预测候选组的是空间得出候选(该示例假设一个被支持),但是可以以每个子块(在该示例中,多达4个子块)为单位得出于此得出的运动信息。换言之,当解码器解析选择空间得出候选的信息时,可以如在以上处理中那样获得每个子块的运动信息预测值。
作为关于时间得出候选的示例,可以获得基于目标块中的子块获得的时间邻近块(在本示例中,图16的Col_Pic中的各种块。本示例中使用的块位于与相应子块邻近的中心、右下、右或下位置处)的一个运动信息作为时间得出候选,或者可以通过基于多个运动信息的加权平均值或中间值来获得时间得出候选。所获得的时间得出候选可以被添加到目标块的运动信息预测候选组。
例如,对于子块D0,c10、c6、c9(左下块、右块的下区域、基于相应子块的下块的右区域)可以是相应子块的时间邻近块;对于子块D1,r2、r1、c11可以是相应子块的时间邻近块;对于子块D2,b2、c14、b1可以是相应子块的时间邻近块;对于子块D3,br、r3,b3可以是相应子块的时间邻近块。如在该示例中添加的是时间得出候选,但是可以以每个子块为单位得出于此得出的运动信息。
作为空间和时间得出候选的示例,可以获得基于目标块中的子块获得的空间上或时间上邻近的块(在该示例中使用的块位于基于子块的在空间上邻近的左和上位置处以及在时间上邻近的右下位置处)的运动信息的加权平均值或中间值等作为空间和时间得出候选,并且可以将所述加权平均值或中间值等添加到目标块的运动信息预测候选组。
例如,对于子块D0,l1、t1、c10可以是相应子块的邻近块;对于子块D1,l1、t3、r2可以是相应子块的邻近块;对于子块D2,l3、t1、b2可以是相应子块的邻近块;对于子块D3,l3、t3、br可以是相应子块的邻近块。
总之,基于实施方式(4)中的一个或更多个运动信息获得的运动信息可以被包括在候选组中。详细地,基于p个运动信息的中间值、加权平均值等获得的q个运动信息可以被包括在候选组中。在这种情况下,p可以是诸如1、2、3或更大的整数,q可以是诸如1、2或更大的整数。在这种情况下,对于平均值,可以向运动信息施加相同的权重(例如,1:1、1:1:1等),或者可以向运动信息施加不同的权重(例如,1:2、1:3、2:3、1:1:2、1:2:3等)。以上处理中的输入值可以是被限制为(1)或(2)中的一个或属于(1)和(2)二者的信息。
子块的尺寸可以是m×n,m和n可以是诸如4、8、16或更大的整数,m和n可以相同或不同。子块的尺寸可以具有固定值,或者可以基于目标块的尺寸自适应地被设置。此外,可以根据编码设置隐式地确定子块的尺寸,或者可以以各种单位显式地生成相关信息。在这种情况下,对于关于编码设置的限定,可以参考上面提到的各种示例。
该描述可以是被应用于跳过模式、合并模式和竞争模式中的所有或一些的情况。例如,它可以应用于跳过模式、合并模式和竞争模式,或者它可以应用于跳过模式和合并模式并且可以不应用于竞争模式。
对于是否支持(3)和(4)中的实施方式,可以在序列、图片、切片、图块组、图块、砖形块等的单元中显式地生成相关信息。替选地,可以基于编码设置来确定是否支持。在这种情况下,可以由诸如基本块(例如,目标块)的尺寸、形状、宽高比、位置等、图像类型、图像类别、颜色分量、与帧间预测相关的设置(例如,运动信息编码模式、是否支持模板匹配、在当前图片中是否支持块匹配、非平移运动模型支持要素等)等的状态信息的一个或更多个要素限定编码设置。
例如,可以根据块的尺寸来确定是否支持(3)或(4)中的实施方式的候选组。在这种情况下,对于块的尺寸,可以通过第一阈值大小(最小值)或第二阈值大小(最大值)来确定支持范围,并且可以用块的宽度(W)和高度(H)将每个阈值大小表示为W、H、W×H、W*H。对于第一阈值大小,W和H可以是诸如4、8、16或更大的整数,W*H可以是诸如16、32、64或更大的整数。对于第二阈值大小,W和H可以是诸如16、32、64或更大的整数,W*H可以是诸如64、128、256或更大的整数。该范围可以由第一阈值大小或第二阈值大小中的一个来确定,或者可以通过使用第一阈值大小和第二阈值大小二者来确定。
在这种情况下,阈值大小可以是固定的,或者可以根据图像(例如,图像类型等)是自适应的。在这种情况下,可以基于最小编码块、最小预测块或最小变换块等的尺寸来设置第一阈值大小,并且可以基于最大编码块、最大预测块或最大变换块等的尺寸来设置第二阈值大小。
对于仿射模型,根据运动信息编码模式,空间上或时间上邻近的块(候选块)的运动信息可以被包括在运动信息预测候选组中。在这种情况下,空间上或时间上邻近的块的位置可以与先前实施方式相同或相似。
在这种情况下,可以根据候选块的运动模型来确定候选组配置。
例如,当候选块的运动模型是仿射模型时,候选块的运动矢量集配置可以不改变地被包括在候选组中。
替选地,当候选块的运动模型是平移运动模型时,可以将它包括为基于目标块的相对位置的控制点的位置处的运动矢量的候选。在示例中,当左上、右上和左下坐标被用作控制点时,可以基于基本目标块的左块、上块或左上块的运动矢量(例如,对于平移运动模型)来预测左上控制点的运动矢量,可以基于基本块的上块或右上块的运动矢量(例如,对于平移运动模型)来预测右上控制点的运动矢量,并且可以基于基本块的左块或左下块的运动矢量来预测左下控制点的运动矢量。
总之,当候选块的运动模型是仿射模型时,相应块的运动矢量集可以被包括在候选组中(A);以及当候选块的运动模型是平移运动模型时,它可以被认为是目标块的预定控制点的运动矢量的候选,并且根据每个控制点的组合获得的运动矢量集可以被包括在候选组中(B)。
在这种情况下,可以通过仅使用方法A或B中的一个来配置候选组,或者可以通过使用方法A和B二者来配置候选组。并且可以首先配置方法A,可以随后配置方法B,但是不限于此。
接下来,将描述根据运动信息编码模式来配置运动信息预测候选组的方法。
为了便于描述,在跳过模式具有与合并模式的候选组配置相同的候选组配置的假设下描述合并模式和竞争模式,但是跳过模式的候选组配置的一些要素可以与合并模式不同。
(Merge_inter模式)
用于合并模式的运动信息预测候选组(在下文中,合并模式候选组)可以包括k个候选,k可以是诸如2、3、4、5、6或更大的整数。合并模式候选组可以包括空间候选或时间候选中的至少一个。
可以基于基本块从在左、上、左上、右上、左下方向等上邻近的块中的至少一个得出空间候选。可以存在用于配置候选组的优先级,并且可以设置诸如左-上-左下-右上-左上、左-上-右上-左下-左上、上-左-左下-左上-右上等的优先级。在示例中,在图16的Curr_Pic中,可以按照l3-t3-bl-tr-tl的顺序设置优先级。
可以基于优先级、每个候选块的可用性(例如,基于编码模式、块的位置等进行判断)以及空间候选的最大允许数(p.1和合并模式候选组数量之间的整数)将候选中的所有或一些包括在候选组中。根据最大允许数和可用性,可以不按照tl-tr-bl-t3-l3的顺序将其包括在候选组中,当最大允许数为4并且候选块的可用性完全为真时,t1的运动信息可以不被包括在候选组中,并且当一些候选块的可用性为假时,t1的运动信息可以被包括在候选组中。
可以基于与基本块对应的块而从在中心、左、右、上、下、左上、右上、左下、右下方向等上邻近的块中的至少一个得出时间候选。可以存在用于配置候选组的优先级,并且可以设置诸如中心-左下-右-下、左下-中心-左上等的优先级。在示例中,在图16的Col_Pic中,可以按照cl0-br的顺序设置优先级。
基于优先级、每个候选块的可用性以及时间候选的最大允许数(q.1和合并模式候选组数量之间的整数),候选中的所有或一些可以被包括在候选组中。当最大允许数为1并且c10的可用性为真时,c10的运动信息可以被包括在候选组中,当c10的可用性为假时,br的运动信息可以被包括在候选组中。
在这种情况下,可以基于候选块的运动矢量来获得时间候选的运动矢量,并且可以基于候选块的参考图像来获得时间候选的参考图像,或者可以获得时间候选的参考图像作为预定义的参考图像(例如,参考图片索引为0)。
对于合并模式候选组中包括的优先级,可以设置空间候选-时间候选,反之亦然;并且可以支持混合和配置空间候选和时间候选的优先级。该示例假设空间候选-时间候选的情况。
此外,属于相同空间并且远邻的块的运动信息(统计候选)或者以块为单位的得出候选(空间得出候选、时间得出候选、空间和时间得出候选)可以被另外地包括在合并模式候选组中。可以在空间候选和时间候选之后配置统计候选和以块为单位的得出候选,但是各种优先级是可能的,并且不限于此。在本公开内容中,假设以块为单位按照统计候选-得出候选的顺序配置候选组,但相反的顺序是可能,并且不限于此。在这种情况下,以块为单位的得出候选可以仅使用空间得出候选或时间得出候选或空间和时间得出候选中的任何一个,或者以块为单位的得出候选可以使用它们全部。该示例假设使用空间得出候选的情况。
在该示例中,统计候选是远离基本块的块(或者不是最邻近的块)的运动信息,并且它可以被限制为具有与目标块相同的编码模式的块。此外,(当统计候选不是以子块为单位的运动信息时)它可以被限制为具有以块为单位的运动信息的块。
对于统计候选,可以通过诸如FIFO的方法来管理多达n个运动信息,并且可以将其中的z个运动信息包括在合并模式候选组中作为统计候选。根据已经被包括在合并模式候选组中的候选配置,z可以是可变的,z可以是诸如0、1、2或更大的整数并且可以小于或等于n。
可以通过组合已经被包括在合并模式候选组中的n个候选来得出以块为单位的得出候选,n可以是诸如2、3、4或更大的整数。经组合的候选的数量(n)可以是在序列、图片、切片、图块组、图块、砖形块、块等的单元中显式地生成的信息。替选地,可以根据编码设置来隐式地确定n。在这种情况下,可以基于基本块的尺寸、形状或位置、图像类型、颜色分量等的一个或更多个要素来限定编码设置。
此外,可以基于没有填充在合并模式候选组中的候选的数量来确定经组合的候选的数量。在这种情况下,没有填充在合并模式候选组中的候选的数量可以是合并模式候选组的数量与已经填充的候选的数量之间的差值。换言之,当合并模式候选组的配置已经被完成时,可以不添加以块为单位的得出候选。当合并模式候选组的配置没有被完成时,可以添加以块为单位的得出候选,但是当填充在合并模式候选组中的候选等于或小于1时,不添加以块为单位的得出候选。
当没有填充的候选的数量为1时,可以基于2个候选来添加以块为单位的得出候选,并且当没有填充的候选的数量等于或大于2时,可以基于3个或更多个候选来添加以块为单位的得出候选。
n个经组合的候选的位置可以是合并模式候选组中的预设位置。例如,可以为属于合并模式候选组的每个候选分配索引(例如,0到<k-1>)。在这种情况下,k表示合并模式候选组的数量。在这种情况下,n个经组合的候选的位置可以对应于合并模式候选组中的索引0至索引(n-1)。在示例中,可以根据(0,1)-(0,2)-(1,2)-(0,3)的索引组合来获得以块为单位的得出候选。
替选地,可以通过考虑属于合并模式候选组的每个候选的预测方向来确定n个经组合的候选。在示例中,在属于合并模式候选组的候选中,可以选择性地仅使用双向预测候选,或者可以选择性地仅使用单向预测候选。
通过以上处理,可能完成或可能没有完成合并模式候选组的配置。当没有完成合并模式候选组的配置时,可以通过使用零运动矢量来完成合并模式候选组的配置。
在候选组配置处理中,候选组中可以不包括与已经被包括在候选组中的候选冗余的后验运动信息,但不限于此,也可以产生包括冗余运动信息的例外情况。此外,冗余意味着运动矢量、参考图片和预测方向是相同的,但是允许预定误差范围(例如,运动矢量)的例外配置也是可能的。
此外,可以基于块之间的相关性来配置合并模式候选组。例如,对于空间候选,可以将低优先级分配给被判断为与基本块具有低相关性的候选块的运动信息。
例如,假设用于配置空间候选的候选组的优先级是左-上-左下-右上-左下。当根据块之间的相关性确认左块与基本块具有低相关性时,可以改变优先级以将左块设置为后验顺序。在示例中,优先级可以被改变为上-左下-右上-左下-左的顺序。
替选地,假设用于配置以块为单位的得出候选的候选组的优先级是(0,1)-(0,2)-(1,2)-(0,3)的顺序。当候选组中与第1索引相对应的候选是左块(空间候选)的运动信息时,可以改变优先级以将与第1索引相对应的候选设置为后验顺序。在示例中,优先级可以被改变为(0,2)-(0,3)-(0,1)-(1,2)的顺序。
当基于块之间的相关性来配置合并模式候选组时,可以有效地配置候选组并且可以提高编码性能。
(comp_inter模式)
用于竞争模式的运动信息预测候选组(在下文中,竞争模式候选组)可以包括k个候选,k可以是诸如2、3、4或更大的整数。合并模式候选组可以包括空间候选或时间候选中的至少一个。
可以基于基本块从在左、上、左上、右上、左下方向等上邻近的块中的至少一个得出空间候选。替选地,可以从在左方向上邻近的块(左、左下块)和在上方向上邻近的块(左上、上、右上块)得出至少一个候选,稍后通过假设这种设置进行描述。
可以存在两个或更多个用于配置候选组的优先级。可以在在左方向上邻近的区域中设置左下-左的优先级,并且可以在在上方向上邻近的区域中设置右上-上-左上的优先级。
以上示例可以是仅从具有与目标块相同的参考图片的块得出空间候选的配置,并且可以基于目标块的参考图片通过缩放处理(接下来,用*标记)得出空间候选。在这种情况下,可以在在左方向上邻近的区域中设置左–左下–左*-左下*或左–左下–左下*-左*的优先级,并且可以在在上方向上邻近的区域中设置右上–上–左上–右上*-上*-左上*或右上–上–左上–左上*-上*-右上*的优先级。
可以基于与基本块对应的块从在中心、左、右、上、下、左上、右上、左下、右下方向等上邻近的块中的至少一个得出时间候选。可以存在用于配置候选组的优先级,并且可以设置诸如中心-左下-右-下、左下-中心-左上等的优先级。在示例中,在图16的Col_Pic中,可以按照c10-br的顺序设置优先级。
当具有空间候选的最大允许数量和时间候选的最大允许数量之和小于竞争模式候选组的数量的设置时,无论空间候选的候选组配置如何,时间候选都可以被包括在候选组中。
基于优先级、每个候选块的可用性以及时间候选的最大允许数(q.1和竞争模式候选组数量之间的整数),候选中的所有或一些可以被包括在候选组中。
在这种情况下,当空间候选的最大允许数量被设置为与合并模式候选组的数量相同时,时间候选可以不被包括在候选组中,并且当基于空间候选没有填充最大允许数时,时间候选可以被包括在候选组中。该示例假设后者的情况。
在这种情况下,可以基于候选块的运动矢量以及当前图像与目标块的参考图像之间的距离间隔来获得时间候选的运动矢量,并且可以基于当前图像与目标块的参考图像之间的距离间隔来获得时间候选的参考图像,或者可以基于时间候选的参考图像来获得时间候选的参考图像,或者可以获得时间候选的参考图像作为预定义的参考图像(例如,参考图片索引为0)。
通过以上处理,可能完成或可能没有完成竞争模式候选组的配置。当没有完成竞争模式候选组的配置时,可以通过使用零运动矢量来配置竞争模式候选组。
在候选组配置处理中,候选组中可以不包括与已经被包括在候选组中的候选冗余的后验运动信息,但不限于此,也可以产生包括冗余运动信息的例外情况。此外,冗余意味着运动矢量、参考图片和预测方向是相同的,但是允许预定误差范围(例如,运动矢量)的例外配置也是可能的。
此外,可以基于块之间的相关性来配置竞争模式候选组。例如,对于空间候选,可以从候选组中排除被判断为与基本块具有低相关性的候选块的运动信息。
例如,假设在在左方向上邻近的块中,用于配置空间候选的候选组的优先级为左-左下-左*-左下*;在在上方向上邻近的块中,用于配置空间候选的候选组的优先级为右上-上-左上-右上*-上*-左上*。当根据块之间的相关性确认上块与基本块具有低相关性时,可以从优先级中除去关于上块的候选。在示例中,优先级可以被改变为右上-左上-右上*-左上*的顺序。
当基于块之间的相关性来配置竞争模式候选组时,可以有效地配置候选组并且可以提高编码性能。
接下来,将描述根据运动信息编码模式执行帧间预测的处理。
得出目标块的运动信息编码模式(1)。根据所得出的运动信息编码模式来指定参考块(2)。利用基于所指定的参考块和运动信息编码模式而获得的运动信息来配置运动信息预测候选组(3)。从运动信息预测候选组得出目标块的运动信息(4)。可以通过使用目标块的运动信息来执行帧间预测。
在(1)中,可以用信号通知关于目标块的运动信息编码模式的标志信息。在这种情况下,运动信息编码模式可以被确定为跳过模式、合并模式和竞争模式中的一个;并且根据所确定的模式,用信号通知的标志可以配置有一个或两个或更多个信息。此外,可以用信号通知用于选择所确定的模式的详细类别之一的附加标志信息。
在(2)中,根据所得出的运动信息编码模式来指定参考块。根据运动信息编码模式的参考块的位置可以被不同地配置。在(3)中,可以基于运动信息编码模式来确定将从指定的参考块得出哪个运动信息,并且得出的运动信息可以被包括在候选组中。
在(4)中,可以基于目标块的候选选择信息来得出与候选组中的相应索引相对应的运动信息。在这种情况下,可以根据运动信息编码模式来确定得出的运动信息配置。在示例中,对于跳过模式或合并模式,可以基于一个候选选择信息来得出关于运动矢量、参考图像和预测方向的信息。替选地,对于竞争模式,可以基于一个候选选择信息来得出关于运动矢量的信息,并且可以基于其他预定标志来得出关于参考图像和预测方向的信息。在(5)中,可以通过使用目标块的运动信息来执行帧间预测。
可以通过使用经过以上处理获得的运动信息来生成预测块。可以通过添加目标块的残差分量来重构目标块。在这种情况下,可以通过对从比特流用信号通知的残差系数执行去量化或逆变换中的至少一个来得出残差分量。
接下来,稍后将描述差分运动矢量,即目标块的运动矢量与预测运动矢量之间的差值,并且它可以是与竞争模式相对应的描述。
可以根据运动矢量精度(在该示例中,假设根据参考图片插值精度来确定运动矢量精度。对于上面提到的内容<例如,运动矢量而不是差分运动矢量不改变地被编码的示例>,当自适应地确定运动矢量精度时,它与该示例不对应)来表示差分运动矢量(在该示例中,基于差分运动矢量的绝对值进行描述)。
例如,当运动矢量精度为1/4单位、目标块的运动矢量是(2.5,-4)并且预测运动矢量是(3.5,-1)时,差分运动矢量可以是(-1,-3)。
当差分运动矢量精度与运动矢量精度(即,1/4单位)相同时,x差分分量可能需要根据第4索引的码字和负号,而y差分分量可能需要根据第12索引的码字和正号。
此外,除了运动矢量精度之外,还可以支持差分运动矢量的精度。在这种情况下,差分运动矢量精度可以具有小于或等于作为候选组的运动矢量精度的精度。
可以根据差分运动矢量精度不同地表示差分运动矢量。
例如,当运动矢量精度为1/4单位、目标块的运动矢量是(7.75,10.25)并且预测运动矢量是(2.75,3.25)时,差分运动矢量可以是(5,7)。
当支持固定的差分运动矢量精度时(即,当差分运动矢量精度与运动矢量精度相同时。在此示例中,运动矢量精度为1/4单位),x差分分量可能需要根据第20索引的码字和正号,而y差分分量可能需要根据第28索引的码字和正号。该示例可以是根据固定的差分运动矢量精度的示例。
当支持自适应差分运动矢量精度时(即,当差分运动矢量精度与运动矢量精度相同或不同时。换言之,当多个精度之一被选择时。在该示例中,假设精度是整数(1)单位),x差分分量可能需要根据第5索引的码字和正号,而y差分分量可能需要根据第7索引的码字和正号。
当假设在示例中无论精度如何相同的码字都被分配给索引顺序时(例如,用于差分运动矢量的二值化方法是相同的);当支持固定的差分运动矢量时,诸如根据第20索引和第28索引的码字的长码字(在该示例中,假设在具有小索引的情况下分配短比特,而在具有大索引的情况下分配长比特)被分配给x差分分量和y差分分量;但是当支持自适应差分运动矢量时,诸如根据第5索引和第7索引的码字的短码字可以被分配给x差分分量和y差分分量。
以上示例可以是针对一个差分运动矢量支持差分运动矢量精度的情况。替选地,对于配置一个差分运动矢量的x差分分量和y差分分量支持一个差分运动矢量精度的情况可以如下。
例如,当差分运动矢量是(5,-1.75)并且自适应差分运动矢量精度(在该示例中,整数(1)单位、1/4单位)被支持时,下面的配置是可能的。
对于整数(1)单位,x差分分量可能需要根据第5索引的码字和正号;而对于1/4单位,y差分分量可能需要根据第7索引的码字和负号。该示例可以是最佳情况,可以以整数单位确定x差分分量的差分运动矢量精度选择信息,并且可以以1/4单位确定y差分分量的差分运动矢量精度选择信息。
如在以上示例中,可以支持共同应用于差分运动矢量的精度,或者可以支持单独应用于差分运动矢量的分量的精度,并且可以根据编码设置来确定精度。
另外地,作为关于比特流配置的描述,对于前者,当至少一个差分分量不为0时,可以支持自适应差分运动矢量精度。
abs_mvd_x
if(abs_mvd_x)
mvd_sign_x
abs_mvd_y
if(abs_mvd_y)
mvd_sign_y
if((abs_mvd_x||abs_mvd_y)&&adaptive_mvd_precision_enabled_flag)
mvd_precision_flag
对于后者,当每个差分分量不为0时,可以支持自适应差分运动矢量精度。
abs_mvd_x
if(abs_mvd_x)
mvd_sign_x
abs_mvd_y
if(abs_mvd_y)
mvd_sign_y
if(abs_mvd_x&&adaptive_mvd_precision_enabled_flag)
mvd_precision_flag_x
if(abs_mvd_y&&adaptive_mvd_precision_enabled_flag)
mvd_precision_flag_y
总之,可以根据编码设置来确定差分运动矢量精度,并且差分运动矢量精度可以是整数单位和小数单位中的一个精度。差分运动矢量精度可以具有一个预设差分运动矢量精度或多个差分运动矢量精度中的一个精度。对于前者,差分运动矢量精度可以是基于参考图片内插精度确定的示例。
当支持多个差分运动矢量精度时(例如adaptive_mvd_precision_enabled_flag。如果它为0,则使用预设差分运动矢量精度;如果它为1,则使用多个差分运动矢量精度之一),可以生成差分运动矢量精度选择信息(例如,mvd_precision_flag)。在这种情况下,精度候选组可以配置有以4、2、1、1/2、1/4、1/8或1/16单位的精度。换言之,候选组的数量可以是诸如2、3、4、5或更大的整数。
虽然上面提到的实施方式中的示例中的运动矢量精度和差分运动矢量精度根据运动信息编码设置被分类并且被描述,但是它们可以具有相同或相似的配置,原因是:对于要编码的运动信息,它们具有固定的或自适应的精度。
在本公开内容中,在以下假设下进行描述:要编码的运动矢量配置有差分运动矢量和关于差分运动矢量的符号信息。
在编码模式中,跳过模式和合并模式获得预测信息,并且立即将预测信息用作相应块的运动信息而不生成差信息,因此不支持自适应差分运动矢量精度,当在竞争模式中至少一个差分运动矢量不为0时,可以支持自适应差分运动矢量精度。
运动信息被存储的原因如下:因为邻近块的运动信息被用来对目标块的运动信息进行编码,而在目标块被编码之后,在对后续块的运动信息进行编码时也可以参考目标块。在以下设置下进行描述:根据参考图片内插精度来确定运动矢量存储单位的精度。换言之,在运动矢量的表示单位被设置成与存储单位不同的假设下进行描述,后面提到的示例假设支持自适应差分运动矢量精度设置的情况。
如上所述,表示运动矢量的精度(假设它是1/8单位)可以与存储运动矢量的精度相同。还描述了表示运动矢量的精度与存储运动矢量的精度不相同的情况,但是为了便于描述,在该示例中,在表示运动矢量的精度与存储运动矢量的精度相同的假设下进行描述,而且关于其的内容可以被扩展并被应用于表示运动矢量的精度与存储运动矢量的精度不相同的情况。
在示例中,因为在跳过模式(或合并模式)中不生成差分分量,所以可以根据预设运动矢量存储单位来存储运动矢量。换言之,由于预测运动矢量的精度(因为通过邻近块的存储的运动矢量来执行预测)与预设运动矢量精度相同,所以预测运动矢量可以被认为是重构的运动矢量并且没有改变地被存储(作为目标块的运动矢量)。
在示例中,在竞争模式下生成差分分量,并且差分运动矢量精度可以与预设运动矢量存储单位相同或不同,因此可以根据预设运动矢量存储单位来存储运动矢量。换言之,由于预测运动矢量的精度可以与差分运动矢量的精度相同或不同,所以可以在将预测运动矢量存储在存储器中之前执行使差分运动矢量的精度与预测运动矢量的精度匹配的处理。
差分运动矢量精度等于或低于运动矢量精度,因此在这种情况下,可能需要将差分运动矢量的精度与预测运动矢量的精度进行匹配的处理(例如,乘法、除法、舍入/下舍入/上舍入、移位运算等。在该示例中,向左的移位运算)。在该示例中,假设整数(1)单位、1/4单位、1/8单位被包括作为差分运动矢量精度的候选。
假设每个候选具有以下设置。
mvd_pres_idx=0(1/1单位)->mvd_shift=3(移位次数)
mvd_pres_idx=1(1/2单位)->mvd_shift=2(移位次数)
mvd_pres_idx=2(1/8单位)->mvd_shift=0(移位次数)
可以通过以下处理将运动矢量存储在存储器中。
if(adaptive_mvd_precision_enabled_flag==0)
{
mv_x=mvp_x+mvd_x
_y=mvp_y+mvd_y
}
else
{
mv_x=mvp_x+(mvd_x<<mvd_shift_x)
mv_y=mvp_y+(mvd_y<<mvd_shift_y)
}
在示例中,mv表示重构的运动矢量,mvp表示预测运动矢量,mvd表示差分运动矢量。遵循mvd_shift的_x和_y用于在分别被应用于差分运动矢量配置分量的精度设置下进行分类,并且其可以被去除并以通常应用于差分运动矢量的精度设置被表示。此外,对于固定的差分运动矢量精度设置,可以通过将预测运动矢量和差分运动矢量相加来获得重构的运动矢量。该示例可以是以下情况:运动估计和补偿处理、运动矢量的表示单位(精度)和存储单位被固定为一个精度(例如,其被统一为1/4单位并被使用,并且仅自适应地确定差分运动矢量精度)。
总之,当具有自适应精度时,可以在存储运动矢量之前执行对精度进行匹配的处理。
另外地,上面描述了运动矢量精度可以与要存储的精度不同,并且在这种情况下,可以通过以下处理将运动矢量存储在存储器中。在该示例中,通过假设将运动估计和补偿处理、运动矢量的表示单位和存储单位确定为多个精度的情况来进行描述(由于其根据运动信息编码模式被不同地设置,因此该示例描述了跳过模式、合并模式和竞争模式被混合并且被使用的情况)。
if(cu_skip_flag||merge_flag)
{
mv_x=mvp_x
mv_y=mvp_y
}
else
{
if(adaptive_mvd_precision_enabled_flag==0)
{
mv_x=mvp_x+(mvd_x<<diff_prec)
mv_y=mvp_y+(mvd_y<<diff_prec)
}
else
{
mv_x=mvp_x+{(mvd_x<<mvd_shift_x)<<diff_prec}
mv_y=mvp_y+{(mvd_y<<mvd_shift_y)<<diff_prec}
}
}
在该示例中,跳跃模式(在这种情况下,cu_skip_flag=1)和合并模式(在这种情况下,merge_flag=1)假设以下情况:运动估计和补偿处理中的精度为1/16单位,运动矢量精度为1/4单位并且存储单位为1/16单位;竞争模式假设以下情况:运动估计和补偿处理中的精度为1/4单位,运动矢量精度为1/4单位并且存储单位为1/16单位。如在该示例中,可以另外地执行用于匹配运动矢量存储单位的处理。
在该示例中,mvp是从邻近块获得的预测运动矢量,并且mvp指的是邻近块的存储的运动矢量信息,因此mvp已经被设置为运动矢量存储单位(1/16)。对于mvd,尽管执行了使目标块的运动矢量精度(在该示例中为1/4)与差分运动矢量精度(在该示例中,假设其为整数单位)匹配的处理,但是可以保留关于mvp(在该示例中为1/16)的精度调整处理。换言之,可以执行匹配关于运动矢量存储单位的精度的处理(在该示例中,通过diff_prec的左移位运算)。
如在一些假设(例如,运动信息编码模式的精度被不同地设置等)下描述了以上示例,可以通过得出即使当被各种假设改变时仍然由该示例同样地或类似地应用的信息进行描述。
替选地,可以根据内插精度(或运动矢量精度)来确定差分运动矢量精度候选组。例如,当插值精度是整数单位时可以生成的差分运动矢量可以以1或更大的整数单位(例如,1、2、4单位)来配置候选组;在小数单位的情况下,当插值精度是整数单位时可以生成的差分运动矢量可以以等于或大于内插精度的单位(例如,2、1、1/4、1/8单位。该示例假设1/8是内插精度)来配置候选组。
根据本公开内容的方法可以在以可以由各种计算机装置执行的程序指令的形式实施之后被记录在计算机可读介质中。计算机可读介质可以单独地或组合地包括程序指令、数据文件、数据结构等。可以针对本公开内容特别地设计和配置记录在计算机可读介质中的程序指令,或者可以在向计算机软件领域的技术人员通知之后可获得记录在计算机可读介质中的程序指令。
计算机可读介质的示例可以包括诸如ROM、RAM、闪存等的硬件装置,其特别地被配置成存储和执行程序指令。除了由编译器产生的机器语言代码之外,程序指令的示例还可以包括可以由具有解释器的计算机运行的高级语言代码等。上面提到的硬件装置可以被配置成操作为至少一个软件模块以执行本公开内容的动作,反之亦然。
此外,可以在这样的配置或功能的所有或部分被组合或分离之后实施上面提到的方法或设备。
尽管以上通过参考本公开内容的期望实施方式进行了描述,但是相关技术领域的技术人员可以理解,在不超出所附权利要求中所提出的本公开内容的思想和领域的范围内,可以对本公开内容进行各种修改和改变。
工业实用性
本公开内容可以用于对视频信号进行编码/解码。
Claims (7)
1.一种帧间预测方法,包括:
得出目标块的运动信息编码模式;
根据所得出的运动信息编码模式来指定参考块;
利用基于所指定的参考块和所述运动信息编码模式而获得的运动信息来配置运动信息预测候选组;
从所述运动信息预测候选组得出所述目标块的运动信息;以及
通过使用所述目标块的运动信息来执行帧间预测,
其中,所述运动信息预测候选组包括空间候选、时间候选、统计候选或以块为单位的得出候选中的至少一个。
2.根据权利要求1所述的方法,其中,所述运动信息编码模式是在跳过模式、合并模式和竞争模式中选择的,并且所述运动信息编码模式由预定的第一标志来确定。
3.根据权利要求2所述的方法,其中,所述第一标志另外地得出第二标志,所述第二标志对详细的模式进行分类。
4.根据权利要求3所述的方法,其中,当在所述跳过模式或所述合并模式中确定所述运动信息编码模式时,生成所述第二标志。
5.根据权利要求1所述的方法,其中,通过对在所述运动信息预测候选组中包括的n个候选进行组合来获得所述以块为单位的得出候选。
6.根据权利要求5所述的方法,其中,通过所述n个候选的加权平均值来获得所述以块为单位的得出候选。
7.根据权利要求6所述的方法,其中,n的值是2、3或4中的一个。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180076176 | 2018-06-30 | ||
KR10-2018-0076176 | 2018-06-30 | ||
KR20180085681 | 2018-07-24 | ||
KR10-2018-0085681 | 2018-07-24 | ||
PCT/KR2019/007982 WO2020005046A1 (ko) | 2018-06-30 | 2019-07-01 | 영상 부호화/복호화 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112369035A true CN112369035A (zh) | 2021-02-12 |
Family
ID=68987541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980044609.XA Pending CN112369035A (zh) | 2018-06-30 | 2019-07-01 | 图像编码/解码方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11758175B2 (zh) |
KR (1) | KR20210016054A (zh) |
CN (1) | CN112369035A (zh) |
WO (1) | WO2020005046A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113056920B (zh) | 2018-11-22 | 2024-05-24 | 北京字节跳动网络技术有限公司 | 基于子块的帧间预测的协调方法 |
EP3918801A4 (en) * | 2019-01-28 | 2022-06-15 | OP Solutions, LLC | ONLINE AND OFFLINE CHOICE OF EXTENDED LONG-TERM REFERENCE IMAGE STORAGE |
JP7481430B2 (ja) * | 2019-08-13 | 2024-05-10 | 北京字節跳動網絡技術有限公司 | サブブロックに基づくインター予測における動き精度 |
WO2021052506A1 (en) | 2019-09-22 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | Transform unit based combined inter intra prediction |
CN113742288A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于数据索引的方法、电子设备和计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299642A (zh) * | 2011-01-07 | 2013-09-11 | Lg电子株式会社 | 编码和解码图像信息的方法和使用该方法的装置 |
CN103858428A (zh) * | 2011-10-19 | 2014-06-11 | 松下电器产业株式会社 | 图像编码方法、图像编码装置、图像解码方法及图像解码装置 |
CN107409225A (zh) * | 2015-03-27 | 2017-11-28 | 高通股份有限公司 | 视频译码中运动信息推导模式确定 |
US20180041768A1 (en) * | 2015-02-24 | 2018-02-08 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
US20180098063A1 (en) * | 2016-10-05 | 2018-04-05 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201041404A (en) * | 2009-03-06 | 2010-11-16 | Sony Corp | Image processing device and method |
SG194746A1 (en) | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
US10536701B2 (en) * | 2011-07-01 | 2020-01-14 | Qualcomm Incorporated | Video coding using adaptive motion vector resolution |
KR20130030181A (ko) * | 2011-09-16 | 2013-03-26 | 한국전자통신연구원 | 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치 |
CN109005407B (zh) * | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
CN113612994B (zh) * | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
JP6938612B2 (ja) * | 2016-07-12 | 2021-09-22 | エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute | 画像復号方法、画像符号化方法、及び非一時的なコンピュータ可読の記録媒体 |
KR102559063B1 (ko) * | 2017-02-24 | 2023-07-24 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
-
2019
- 2019-07-01 WO PCT/KR2019/007982 patent/WO2020005046A1/ko active Application Filing
- 2019-07-01 US US17/252,019 patent/US11758175B2/en active Active
- 2019-07-01 CN CN201980044609.XA patent/CN112369035A/zh active Pending
- 2019-07-01 KR KR1020217002064A patent/KR20210016054A/ko active Search and Examination
-
2023
- 2023-07-14 US US18/352,620 patent/US20230362401A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103299642A (zh) * | 2011-01-07 | 2013-09-11 | Lg电子株式会社 | 编码和解码图像信息的方法和使用该方法的装置 |
CN103858428A (zh) * | 2011-10-19 | 2014-06-11 | 松下电器产业株式会社 | 图像编码方法、图像编码装置、图像解码方法及图像解码装置 |
US20180041768A1 (en) * | 2015-02-24 | 2018-02-08 | Lg Electronics Inc. | Polygon unit-based image processing method, and device for same |
CN107409225A (zh) * | 2015-03-27 | 2017-11-28 | 高通股份有限公司 | 视频译码中运动信息推导模式确定 |
US20180098063A1 (en) * | 2016-10-05 | 2018-04-05 | Qualcomm Incorporated | Motion vector prediction for affine motion models in video coding |
Also Published As
Publication number | Publication date |
---|---|
US20210258601A1 (en) | 2021-08-19 |
WO2020005046A1 (ko) | 2020-01-02 |
KR20210016054A (ko) | 2021-02-10 |
US11758175B2 (en) | 2023-09-12 |
US20230362401A1 (en) | 2023-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11368675B2 (en) | Method and device for encoding and decoding intra-frame prediction | |
US11297309B2 (en) | Method and apparatus for encoding/decoding image | |
US11166040B2 (en) | Video signal processing method and apparatus using adaptive motion vector resolution | |
US11647179B2 (en) | Method and apparatus for encoding/decoding images | |
CN112369035A (zh) | 图像编码/解码方法和设备 | |
US20240015300A1 (en) | Image encoding/decoding method and device | |
KR101782154B1 (ko) | 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치 | |
KR102514392B1 (ko) | 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치 | |
CN112106356B (zh) | 图像编码/解码方法和装置 | |
CN111602400A (zh) | 用于色度分量的帧内预测编码/解码方法和装置 | |
JP2024063178A (ja) | 画像符号化/復号化方法及び装置 | |
KR102476230B1 (ko) | 움직임 벡터 정밀성을 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210420 Address after: Seoul, Korea Applicant after: B1 Imaging Technology Research Institute Address before: Han Guodatian Applicant before: Jin Qibai |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |