CN112514384A - 视频信号编码/解码方法及其装置 - Google Patents

视频信号编码/解码方法及其装置 Download PDF

Info

Publication number
CN112514384A
CN112514384A CN202080004289.8A CN202080004289A CN112514384A CN 112514384 A CN112514384 A CN 112514384A CN 202080004289 A CN202080004289 A CN 202080004289A CN 112514384 A CN112514384 A CN 112514384A
Authority
CN
China
Prior art keywords
block
prediction
current block
mode
sub
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
Application number
CN202080004289.8A
Other languages
English (en)
Inventor
李培根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Xris Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xris Corp filed Critical Xris Corp
Publication of CN112514384A publication Critical patent/CN112514384A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)

Abstract

根据本发明的视频解码方法可包括:用于确定是否将当前块划分为多个子块的步骤;用于确定用于当前块的帧内预测模式的步骤;以及用于在当前块被划分为所述多个子块时基于帧内预测模式针对每一个子块执行帧内预测的步骤。

Description

视频信号编码/解码方法及其装置
技术领域
本公开涉及一种视频信号编码/解码方法及其装置。
背景技术
随着显示面板变大,需要更高质量的视频服务。高清视频服务最大的问题是数据量大大增加。为了解决以上问题,正在积极进行提高视频压缩率的研究。作为代表性示例,视频编码联合工作组(JCT-VC)于2009年由国际电信联盟电信标准分局(ITU-T)下的运动图像专家组(MPEG)和视频编码专家组(VCEG)成立。JCT-VC提出了一种视频压缩标准:高效视频编码(HEVC),其压缩性能大约是H.264/AVC的两倍,并且于2013年1月25日作为标准获得批准。然而,随着高清视频服务的飞速发展,HEVC的性能逐渐显示出其局限性。
发明内容
技术目的
本公开的目的在于提供一种用于将编码块划分为多个子块然后基于子块执行帧内预测的对视频信号进行编码/解码的方法以及用于执行所述方法的装置。
本公开的目的在于提供一种用于基于当前块的尺寸或形状自适应地对编码块进行划分的将视频编码块划分为多个子块的方法以及用于执行所述方法的装置。
本公开的目的在于提供一种用于将编码块划分为多个预测单元并对每一个预测单元执行帧间预测的对视频信号进行编码/解码的方法以及用于执行所述方法的装置。
本公开的目的在于提供一种用于从不同的合并候选获得包括在一个编码块中的多个预测单元的运动信息的对视频信号进行编码/解码的方法以及用于执行所述方法的装置。
本公开的目的在于提供一种用于将编码块划分为多个子块然后对多个子块中的至少一个子块执行变换的对视频信号进行编码/解码的方法以及用于执行所述方法的装置。
从本公开可获得的技术目的不限于上述技术目的,并且本公开所属技术领域的普通技术人员可从以下描述中清楚地理解其他未提及的技术目的。
技术方案
本发明的一方面提供一种用于对视频数据进行解码的方法,所述方法包括:确定是否将当前块分区为多个子块;确定用于当前块的帧内预测模式;以及在当前块被分区为所述多个子块时,基于所述帧内预测模式对所述多个子块中的每一个子块执行帧内预测,其中,是否将当前块分区为所述多个子块是基于标志被确定的,其中,在当前块的尺寸小于阈值时,省略从比特流对所述标志的解析,其中,当省略对所述标志的解析时,所述标志被认为指示不将当前块分区为所述多个子块。
本发明的一方面提供一种用于对视频数据进行编码的方法,所述方法包括:确定是否将当前块分区为多个子块;确定用于当前块的帧内预测模式;以及在当前块被分区为所述多个子块时,基于所述帧内预测模式对所述多个子块中的每一个子块执行帧内预测,其中,基于当前块的尺寸是否小于阈值来确定是否将指示是否将当前块分区为所述多个子块的标志编码到比特流中,其中,在当前块的尺寸小于所述阈值时,省略对所述标志的编码,并因此确定不将当前块分区为所述多个子块。
在第一方面的一种实施方式中,所述方法还包括:确定当前块的参考样点线,其中,当所确定的参考样点线的索引大于阈值时,省略从所述比特流对所述标志的解析。
在第一方面的一个实施方式中,基于当前块的尺寸或形状中的至少一个确定包括在当前块中的子块的数量。
在第一方面的一个实施方式中,所述方法还包括对当前块执行第一逆变换,其中,第一逆变换是基于至少一个变换核候选中的一个变换核候选被执行的,其中,变换核候选的数量根据当前块是否已经被分区为所述多个子块而变化。
在第一方面的一个实施方式中,所述方法还包括对当前块执行第二逆变换,其中,当执行第二逆变换时,将变换核设置为DCT2。
在第一方面的一个实施方式中,当前块中的不被执行第二逆变换的区域的变换系数为0。
在第一方面的一个实施方式中,基于当前块中的最后一个变换系数的位置确定是否执行第二逆变换。
应当理解的是,前述概述的特征是本公开的以下详细描述的示例性方面,而不限制本公开的范围。
技术效果
根据本公开,将编码块划分为多个子块然后基于子块执行帧内预测可使得帧内预测效率被提高。
根据本公开,在帧内预测时,基于当前块的尺寸或形状自适应地对编码块进行划分可使得帧内预测效率被提高。
根据本公开,将编码块划分为多个预测单元,然后对每一个预测单元执行帧间预测可使得帧间预测效率被提高。
根据本公开,在对视频信号进行编码/解码时,从不同的合并候选获得包括在一个编码块中的多个预测单元的运动信息可使得帧间预测效率被提高。
根据本公开,将编码块划分为多个子块,然后对所述多个子块中的至少一个子块执行变换可使得编码/解码效率被提高。
可从本公开获得的效果可以不受上述效果的限制,并且本公开所属技术领域的普通技术人员可从以下描述中清楚地理解其他未提及的效果。
附图说明
图1是示出根据本公开的实施例的视频编码装置(编码器)的框图的示图。
图2是示出根据本公开的实施例的视频解码装置(解码器)的框图的示图。
图3是示出根据本公开的实施例的基本编码树单元的示图。
图4是示出编码块的各种分区类型的示图。
图5是示出对CTU进行分区的一方面的示例的示图。
图6是根据本公开的实施例的帧间预测方法的流程图。
图7是在合并模式下推导当前块运动信息的处理的流程图。
图8是示出用于推导合并候选的候选块的示图。
图9是用于描述确定每个子块的运动矢量的示例的示图。
图10是用于描述运动信息表的更新方面的示图。
图11是示出运动信息表的更新方面的示图。
图12是示出更新预保存的运动信息候选的索引的示例的示图。
图13是示出代表性子块的位置的示图。
图14呈现针对每个帧间预测模式产生运动信息表的示例。
图15是示出仅针对合并候选的一部分执行冗余检查的示例的示图。
图16是示出省略与特定合并候选的冗余检查的示例的示图。
图17是示出使用对角线将编码块划分为多个预测单元的示例的示图。
图18是示出将编码块划分为两个预测单元的示例的示图。
图19示出将编码块划分为多个不同尺寸的预测块的示例。
图20是示出用于推导分区模式合并候选的邻近块的示图。
图21是用于描述确定针对每一个预测单元的邻近块的可用性的示例的示图。
图22和图23是示出基于第一预测样点和第二预测样点的加权和来推导预测样点的示例的示图。
图24是根据本公开的实施例的帧内预测方法的流程图。
图25是示出帧内预测模式的示图。
图26和图27是示出参考样点被排列成行的一维阵列的示例的示图。
图28是示出由方向帧内预测模式与平行于x轴的直线形成的角度的示图。
图29是示出在当前块为非正方形形状的情况下获得预测样点的一方面的示图。
图30是示出广角帧内预测模式的示图。
图31是示出垂直分区和水平分区的示例的示图。
图32是示出确定编码块的分区类型的示例的示图。
图33是示出确定编码块的分区类型的示例的示图。
图34是示出基于编码块的帧内预测模式确定编码块的分区类型的示例的示图。
图35用于描述编码块的分区的示图。
图36是示出不同地设置用于每一个子块的预测编码模式的示例的示图。
图37是示出PDPC的应用方面的示图。
图38和图39是示出将被进行第二变换的子块的示图。
图40是用于描述确定当前块的变换类型的示例的示图。
图41是示出确定子块的变换类型的示例的示图。
图42是用于描述将子块的残差系数设置为0的示例的示图。
图43表示基于在比特流中用信号传送的信息指定执行变换和/或量化的子块的位置的示例。
具体实施方式
在下文中,将参照附图详细地描述本公开的实施例。
基于块执行图像编码和解码。在示例中,可针对编码块、变换块或预测块执行诸如变换、量化、预测、环内滤波、重建等编码/解码处理。
在下文中,编码/解码目标块被称为“当前块”。在示例中,根据当前的编码/解码处理,当前块可表示编码块、变换块或预测块。
另外,在本说明书中使用的术语“单元”表示用于执行特定编码/解码处理的基本单元,并且“块”可被理解为表示具有预定尺寸的样点阵列。除非另有说明,否则可互换应用“块”和“单元”。在示例中,编码块和编码单元在稍后描述的示例中可被理解为具有彼此相同的含义。
图1是示出根据本公开的实施例的图像编码装置(编码器)的框图的示图。
参照图1,图像编码装置100可包括画面分区单元110、预测单元120和预测单元125、变换单元130、量化单元135、重排单元160、熵编码单元165、反量化单元140、逆变换单元145、滤波器单元150和存储器155。
图1中描述的组件被独立地示出,以便示出图像编码装置中的不同特征功能,并且该图并不意味着每一个组件都由分开的硬件或一个软件单元组成。也就是说,每一个组件仅被列举以便于解释,各个组件中的至少两个组件可构成一个组件,或者一个组件可被分区为可执行它们的功能的多个组件。甚至是集成了各个组件的实施例以及对组件进行划分的实施例也被包括在本公开的范围内,除非它们脱离了本公开的精神。
此外,一些组件不是执行本公开的必要功能的必要组件,而是仅用于改善性能的可选组件。可利用除了仅用于改善性能的组件之外的用于实施本公开的精神的必要组件来实现本公开,并且仅包括除了仅用于改善性能的可选组件之外的必要组件的结构也被包括在本公开的范围内。
画面分区单元110可将输入的画面分区为至少一个处理单元。在这方面,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。在画面分区单元110中,可将单个画面分区为多个编码单元、预测单元和变换单元的多个组合,并且可通过根据预定条件(例如,代价函数)选择编码单元、预测单元和变换单元的组合来对画面进行编码。
例如,可将单个画面分区为多个编码单元。为了将画面分区为编码单元,可使用诸如四叉树结构的递归树结构,并且源自诸如单个图像或最大编码单元的根的编码单元可被分区为其它编码单元并且可具有与分区出的编码单元一样多的子节点。根据特定限制不再被分区的编码单元成为叶节点。即,当假设只有正方形分区可用于单个编码单元时,可将单个编码单元分区为最多四个其它编码单元。
在下文中,在本公开的实施例中,编码单元可被用作用于编码的单元,或者可被用作用于解码的单元。
可通过将单个编码单元分区为具有相同尺寸的至少一个正方形或矩形来获得预测单元,或者可按照一个预测单元在形状和/或尺寸上可不同于另一个预测单元的方式将单个编码单元分区为预测单元。
在基于正执行帧内预测的编码块产生预测单元时,当编码单元不是最小编码单元时,可在不执行分区为多个N×N的预测单元的情况下执行帧内预测。
预测单元120和预测单元125可包括执行帧间预测的帧间预测单元120以及执行帧内预测的帧内预测单元125。可确定对预测单元执行帧间预测还是帧内预测,并且可确定根据每一种预测方法的详细信息(例如,帧内预测模式、运动矢量、参考画面等)。在这方面,被执行预测的处理单元可不同于被确定预测方法及其详情的预测单元。例如,可基于预测单元来确定预测方法、预测模式等,并且可基于变换单元来执行预测。所产生的预测块与原始块之间的残差值(残差块)可被输入到变换单元130。另外,用于预测的预测模式信息、运动矢量信息等可由熵编码单元165使用残差值来编码,并且可被发送给解码器。当特定编码模式被使用时,原始块在无需通过预测单元120或预测单元125产生预测块的情况下按照原样被编码并且被发送给解码单元。
帧间预测单元120可基于关于当前画面的先前画面和后续画面中的至少一个的信息对预测单元进行预测,或者在某些情况下,可基于关于当前画面中的一些已编码区域的信息对预测单元进行预测。帧间预测单元120可包括参考画面插值单元、运动预测单元和运动补偿单元。
参考画面插值单元可从存储器155接收参考画面信息,并且可从参考画面产生整数像素或更小像素的像素信息。在亮度像素的情况下,可应用具有不同系数的基于DCT的8抽头插值滤波器,以便以1/4像素为单位产生关于整数像素或更小像素的像素信息。在色度信号的情况下,可应用具有不同滤波器系数的基于DCT的4抽头插值滤波器,以便以1/8像素为单位产生关于整数像素或更小像素的像素信息。
运动预测单元可基于由参考画面插值单元插值后的参考画面来执行运动预测。可将诸如基于全搜索的匹配算法(FBMA)、三步搜索(TSS)算法、新三步搜索(NTS)算法等各种方法用作用于计算运动矢量的方法。运动矢量可基于插值后的像素具有以1/2像素或1/4像素为单位的运动矢量值。运动预测单元可通过改变运动预测方法对当前预测单元进行预测。可将诸如跳过方法、合并方法、高级运动矢量预测(AMVP)方法、帧内块复制方法等各种方法用作运动预测方法。
帧内预测单元125可基于作为当前画面中的像素信息的在当前块周围的参考像素的信息来产生预测单元。在当前预测单元的邻近块是被执行帧间预测的块,并因此参考像素是被执行帧间预测的像素时,可用关于被执行帧内预测的邻近块的参考像素的信息来替换包括在被执行帧间预测的块中的参考像素。换句话说,当参考像素不可用时,可应用可用参考像素中的至少一个参考像素来代替不可用的参考像素信息。
帧内预测下的预测模式可包括当执行预测时根据预测方向使用参考像素信息的方向预测模式、以及当执行预测时不使用方向信息的非方向模式。用于预测亮度信息的模式可不同于用于预测色度信息的模式。为了预测色度信息,可使用关于用于预测亮度信息的帧内预测模式的信息或者关于预测出的亮度信号的信息。
在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸相同时,可基于位于预测单元的左侧、左上方和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测时,当预测单元的尺寸与变换单元的尺寸不同时,可基于变换单元使用参考像素来执行帧内预测。另外,使用N×N分区的帧内预测可仅被用于最小编码单元。
在帧内预测方法中,可在根据预测模式将自适应帧内平滑(AIS)滤波器应用于参考像素之后产生预测块。应用于参考像素的AIS滤波器的类型可变化。为了执行帧内预测方法,可从当前预测单元周围存在的预测单元的帧内预测模式预测用于当前预测单元的帧内预测模式。在使用从邻近预测单元预测出的模式信息来预测用于当前预测单元的预测模式时,当用于当前预测单元的帧内预测模式与该邻近预测单元的帧内预测模式相同时,可使用预定标志信息来发送指示当前预测单元与该邻近预测单元具有相同预测模式的信息。当用于当前预测单元的预测模式不同于邻近预测单元的预测模式时,可执行熵编码来对关于用于当前块的预测模式的信息进行编码。
另外,可产生包括关于残差值的信息的残差块,其中,残差值是由预测单元120或预测单元125执行了预测的预测单元与该预测单元的原始块之间的差值。产生的残差块可被输入到变换单元130。
变换单元130可使用诸如离散余弦变换(DCT)或离散正弦变换(DST)的变换方法对残差块执行变换,其中,残差块包括关于原始块与由预测单元120或预测单元125产生的预测单元之间的残差值的信息。在这方面,DCT变换核包括DCT2或DCT8中的至少一个,并且DST变换核包括DST7。可基于关于被用于产生残差块的预测单元的帧内预测模式的信息来确定是应用DCT还是应用DST以便对残差块执行变换。可跳过针对残差块的变换。可对指示是否跳过针对残差块的变换的标志进行编码。对于尺寸小于或等于阈值的残差块、在4:4:4格式下的亮度分量的残差块或色度分量的残差块,可允许进行变换跳过。
量化单元135可对由变换单元130变换到频域的值执行量化。量化系数可根据图像的重要性或块而变化。在量化单元135中计算出的值可被提供给反量化单元140和重排单元160。
重排单元160可对关于量化残差值的变换系数执行重排。
重排单元160可通过系数扫描方法将二维块形式的系数变为一维矢量形式的系数。例如,重排单元160可使用Z字形扫描方法从DC系数至高频域中的系数进行扫描,以便将系数变为一维矢量形式。根据变换单元的尺寸和帧内预测模式,可使用沿列方向扫描二维块形式的系数的垂直方向扫描或沿行方向扫描二维块形式的系数的水平方向扫描,而不是Z字形扫描。换句话说,可根据变换单元的尺寸和帧内预测模式来确定使用Z字形扫描、垂直方向扫描和水平方向扫描中的哪一种扫描方法。
熵编码单元165可基于由重排单元160计算出的值来执行熵编码。熵编码可使用各种编码方法,例如,指数哥伦布编码、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。
熵编码单元165可对从重排单元160以及预测单元120和预测单元125获得的各种类型的信息(诸如,关于残差值系数的信息和关于编码单元的块类型的信息、关于预测模式的信息、关于分区单元的信息、关于预测单元的信息、关于分区单元的信息、关于预测单元的信息和关于变换单元的信息、关于运动矢量的信息、关于参考帧的信息、关于块插值的信息、滤波信息等)进行编码。
熵编码单元165可对从重排单元160输入的编码单元的系数进行熵编码。
反量化单元140可对在量化单元135中量化的值执行反量化,并且逆变换单元145可对在变换单元130中变换的值执行逆变换。可将由反量化单元140和逆变换单元145产生的残差值与由包括在预测单元120和预测单元125中的运动估计单元、运动补偿单元或帧内预测单元预测出的预测单元相加,以便产生重建块。
滤波器单元150可包括去块滤波器、偏移校正单元和自适应环路滤波器(ALF)中的至少一个。
去块滤波器可去除由于重建画面中的块之间的边界而发生的块失真。为了确定是否执行去块,可基于在块中包括的几行或几列中所包括的像素来确定是否对当前块应用去块滤波器。当去块滤波器被应用于块时,根据所需要的去块滤波强度来应用强滤波器或弱滤波器。另外,在应用去块滤波器时,当执行水平方向滤波和垂直方向滤波时,可将水平方向滤波和垂直方向滤波配置为并行处理。
偏移校正单元可相对于被执行去块的图像用以像素为单位的偏移来校正原始图像。为了对特定画面执行偏移校正,可使用对在将图像的像素分区为预定数量个区域之后所确定的区域应用偏移的方法、或者根据每一个像素的边缘信息应用偏移的方法。
可基于通过将经过滤波的重建图像与原始图像进行比较而获得的值来执行自适应环路滤波(ALF)。可将图像中包括的像素分区为预定群组,可确定将被应用于每一个群组的滤波器,并且可对每一个群组单独地执行滤波。可针对亮度信号对每一个编码单元(CU)发送关于是否应用ALF的信息,并且将被应用的ALF滤波器的形状和滤波器系数可基于每一个块而变化。可选地,可应用具有相同形状(固定形状)的ALF滤波器,而不管将被应用滤波器的块的特征如何。
在存储器155中,可存储通过滤波器单元150计算的重建块或重建画面。当执行帧间预测时,存储的重建块或重建画面可被提供给预测单元120或预测单元125。
图2是示出根据本公开的实施例的图像解码装置(解码器)的框图的示图。
参照图2,图像解码装置200可包括熵解码单元210、重排单元215、反量化单元220、逆变换单元225、预测单元230和预测单元235、滤波器单元240和存储器245。
当从编码器输入了图像比特流时,可根据图像编码装置的逆处理来对输入的比特流进行解码。
熵解码单元210可根据由图像编码器的熵编码单元进行的熵编码的逆处理来执行熵解码。例如,可与由图像编码器装置执行的方法相关联地应用各种方法,诸如指数哥伦布编码、上下文自适应可变长度编码(CAVLC)或上下文自适应二进制算术编码(CABAC)。
熵解码单元210可对关于由编码器执行的帧内预测和帧间预测的信息进行解码。
重排单元215可基于在编码器中使用的重排方法对由熵解码单元210进行熵解码的比特流执行重排。一维矢量形式表示的系数可被重建,并且可被重排成二维块形式的系数。重排单元215可通过接收与在编码器中执行的系数扫描有关的信息并基于在编码器中执行的扫描顺序进行逆扫描的方法来执行重排。
反量化单元220可基于从编码器接收的量化参数以及重排后的块的系数值来执行反量化。
针对在图像编码器中由变换单元对量化结果执行的变换(即DCT或DST),逆变换单元225可执行逆变换(即逆DCT或逆DST)。在这方面,DCT变换核可包括DCT2或DCT8中的至少一个,并且DST变换核可包括DST7。可选地,当在图像编码器中跳过了变换时,在逆变换单元225中也不执行逆变换。可基于由图像编码器确定的变换单元来执行逆变换。图像解码器的逆变换单元225可根据多条信息(诸如,预测方法、当前块的尺寸、预测方向等)来选择性地执行变换方法(例如,DCT或DST)。
预测单元230或预测单元235可基于从熵解码单元210接收到的与预测块相关的信息以及从存储器245接收到的关于先前解码块或画面的信息来产生预测块。
如上所述,如同图像编码器的操作那样,在执行帧内预测的过程中,当预测单元的尺寸与变换单元的尺寸相同时,可基于位于预测单元的左侧、左上方和顶部的像素对预测单元执行帧内预测。然而,在执行帧内预测的过程中,当预测单元的尺寸与变换单元的尺寸不同时,可基于变换单元使用参考像素来执行帧内预测。另外,使用N×N分区的帧内预测可仅被用于最小编码单元。
预测单元230和预测单元235可包括PU确定模块、帧间预测单元和帧内预测单元。PU确定单元可接收从熵解码单元210输入的各种类型的信息(诸如,关于预测单元的信息、关于帧内预测方法的预测模式的信息、关于帧间预测方法的运动预测的信息等),可对当前编码单元中的预测单元进行划分,并且可确定对预测单元执行帧间预测还是执行帧内预测。使用从图像编码器接收到的当前预测单元的帧间预测所需的信息,帧间预测单元230可基于关于包括当前预测单元的当前画面的先前画面和后续画面中的至少一个的信息来对当前预测单元执行帧间预测。可选地,可基于关于包括当前预测单元的当前画面中的一些预先重建的区域的信息来执行帧间预测。
为了执行帧间预测,可基于编码单元来确定跳过模式、合并模式、AMVP模式或帧内块复制模式中的哪种方法被用作用于编码单元中包括的预测单元的运动预测方法。
帧内预测单元235可基于关于当前画面内的像素的信息来产生预测块。当预测单元是已经被执行了帧内预测的预测单元时,可基于从图像编码器接收到的关于预测单元的帧内预测模式的信息来执行帧内预测。帧内预测单元235可包括自适应帧内平滑(AIS)滤波器、参考像素插值模块或DC滤波器。AIS滤波器可对当前块的参考像素执行滤波,并且,可根据用于当前预测单元的预测模式来确定是否应用滤波器。当对当前块的参考像素执行AIS滤波时,可应用从图像编码器接收到的预测单元的预测模式以及关于AIS滤波器的信息。当用于当前块的预测模式是不被应用AIS滤波的模式时,可不应用AIS滤波器。
当预测单元的预测模式是基于通过对参考像素进行插值而获得的像素值来执行帧内预测的预测模式时,参考像素插值单元可对参考像素进行插值,以便产生具有整数单位或更小单位的参考像素。当用于当前预测单元的预测模式是在不对参考像素进行插值的情况下产生预测块的预测模式时,可不对参考像素进行插值。当用于当前块的预测模式是DC模式时,DC滤波器可通过滤波产生预测块。
重建块或重建画面可被提供给滤波器单元240。滤波器单元240可包括去块滤波器、偏移校正模块和ALF。
可从图像编码器接收关于去块滤波器是否已被应用于相应块或画面的信息、以及关于在去块滤波器被应用时是应用强滤波器还是弱滤波器的信息。图像解码器的去块滤波器可从图像编码器接收关于去块滤波器的信息,并且图像解码器可对相应块执行去块滤波。
偏移校正单元可基于在执行编码时应用于图像的偏移校正的类型、关于偏移值的信息等对重建图像执行偏移校正。
可基于从编码器接收到的关于是否应用ALF的信息、关于ALF系数的信息等对编码单元应用ALF。以上的ALF信息可通过被包括在特定参数集中而被提供。
在存储器245中,可存储重建画面或重建块以便将其用作参考画面或参考块,并且重建画面可被提供给输出单元。
图3是示出根据本公开的实施例的基本编码树单元的示图。
最大编码块可被定义为编码树块。单个画面可被分区为多个编码树单元(CTU)。CTU可以是最大尺寸的编码单元,并且可被称为最大编码单元(LCU)。图3是示出单个画面被分区为多个CTU的示例的示图。
可在画面级别或序列级别来定义CTU的尺寸。同样,可通过画面参数集或序列参数集用信号传送表示CTU的尺寸的信息。
在示例中,可将用于序列内的整个画面的CTU的尺寸设置为128×128。可选地,可在画面级别将128×128或256×256中的一个确定为CTU的尺寸。在示例中,可在第一画面中将CTU设置为具有尺寸128×128,并且可在第二画面中将CTU设置为具有尺寸256×256。
通过对CTU进行分区可产生编码块。编码块表示用于执行编码/解码的基本单元。在示例中,可针对每一个编码块执行预测或变换,或者,可针对每一个编码块确定预测编码模式。在这方面,预测编码模式表示产生预测图像的方法。在示例中,预测编码模式可包括帧内预测、帧间预测、当前画面参考(CPR)、帧内块复制(IBC)或组合预测。对编码块,可使用帧内预测、帧间预测、当前画面参考、或组合预测中的至少一个的预测编码模式来产生编码块的预测块。
可在比特流中用信号传送表示用于当前块的预测编码模式的信息。在示例中,所述信息可以是表示预测编码模式是帧内模式还是帧间模式的1比特标志。当用于当前块的预测编码模式被确定为帧间模式时,当前画面参考或组合预测可以是可用的。
当前画面参考是将当前画面设置为参考画面并从当前画面内已经被编码/解码的区域获得当前块的预测块。在这方面,当前画面表示包括当前块的画面。可在比特流中用信号传送表示当前画面参考是否被应用于当前块的信息。在示例中,所述信息可以是1比特标志。当该标志为真(TRUE)时,用于当前块的预测编码模式可被确定为当前画面参考,当该标志为假(FALSE)时,用于当前块的预测编码模式可被确定为帧间预测。
可选地,可基于参考画面索引来确定用于当前块的预测编码模式。在示例中,当参考画面索引指示当前画面时,用于当前块的预测编码模式可被确定为当前画面参考。当参考画面索引指示除了当前画面之外的画面时,用于当前块的预测编码模式可被确定为帧间预测。换句话说,当前画面参考是使用关于在当前画面内已经被编码/解码的区域的信息的预测方法,帧间预测是使用关于已经被编码/解码的另一画面的信息的预测方法。
组合预测表示组合了帧内预测、帧间预测和当前画面参考中的至少两个的组合编码模式。在示例中,当应用组合预测时,可基于帧内预测、帧间预测或当前画面参考中的一个来产生第一预测块,并且可基于帧内预测、帧间预测或当前画面参考中的另一个来产生第二预测块。当产生了第一预测块和第二预测块时,可通过计算第一预测块和第二预测块的平均值或加权和来产生最终预测块。可在比特流中用信号传送表示是否对当前块应用组合预测的信息。所述信息可以是1比特标志。
图4是示出编码块的各种分区类型的示图。
可基于四叉树分区、二叉树分区或三叉树分区将编码块分区为多个编码块。可基于四叉树分区、二叉树分区或三叉树分区将分区出的编码块再分区为多个编码块。
四叉树分区表示将当前块分区为四个块的方法。作为四叉树分区的结果,可将当前块分区为四个正方形分区(参照图4的(a)的“SPLIT_QT”)。
二叉树分区表示将当前块分区为两个块的方法。可将沿垂直方向(也就是说,使用穿过当前块的垂直线)将当前块分区为两个块的操作称为垂直方向二叉树分区,并且可将沿水平方向(也就是说,使用穿过当前块的水平线)将当前块分区为两个块的操作称为水平方向二叉树分区。作为二叉树分区的结果,当前块可被分区为两个非正方形分区。图4的(b)的“SPLIT_BT_VER”是示出垂直方向二叉树分区的结果的示图,图4的(c)的“SPLIT_BT_HOR”是示出水平方向二叉树分区的结果的示图。
三叉树分区表示将当前块分区为三个块的方法。可将沿垂直方向(也就是说,使用穿过当前块的两条垂直线)将当前块分区为三个块的操作称为垂直方向三叉树分区,并且可将沿水平方向(也就是说,使用穿过当前块的两条水平线)将当前块分区为三个块的操作称为水平方向三叉树分区。作为三叉树分区的结果,当前块可被分区为三个非正方形分区。在这方面,位于当前块中心的分区的宽度/高度可以是其它分区的宽度/高度的两倍。图4的(d)的“SPLIT_TT_VER”是示出垂直方向三叉树分区的结果的示图,图4的(e)的“SPLIT_TT_HOR”是示出水平方向三叉树分区的结果的示图。
CTU的分区次数可被定义为分区深度。可在序列级别或画面级别确定CTU的最大分区深度。因此,CTU的最大分区深度可基于序列或画面而变化。
可选地,可针对每一个分区方法独立地确定最大分区深度。在示例中,允许四叉树分区的最大分区深度可不同于允许二叉树分区和/或三叉树分区的最大分区深度。
编码器可在比特流中用信号传送表示当前块的分区类型和分区深度中的至少一个的信息。解码器可基于通过对比特流进行解析而获得的信息来确定CTU的分区类型和分区深度。
图5是示出对CTU进行分区的一方面的示例的示图。
可将使用四叉树分区、二叉树分区和/或三叉树分区对编码块进行分区的操作称为多叉树分区。
可将通过应用多叉树分区对编码块进行分区而产生的编码块称为子编码块。当编码块的分区深度是k时,子编码块的分区深度被设置为k+1。
与此相反,对于分区深度为k+1的编码块,可将分区深度为k的编码块称为父编码块。
可基于父编码块的分区类型和邻近编码块的分区类型中的至少一个来确定当前编码块的分区类型。在这方面,邻近编码块可以是与当前编码块相邻的块,并且可包括顶部邻近块、左侧邻近块或与当前编码块的左上角相邻的邻近块中的至少一个。在这方面,分区类型可包括是否应用四叉树分区、是否应用二叉树分区、二叉树分区的方向、是否应用三叉树分区、或者三叉树分区的方向。
为了确定编码块的分区类型,可在比特流中用信号传送表示编码块是否被分区的信息。所述信息可以是1比特标志“split_cu_flag”,并且当该标志为真时,它可表示编码块通过多叉树分区方法被分区。
当split_cu_flag为真时,可在比特流中用信号传送表示编码块是否通过四叉树分区被分区的信息。所述信息是1比特标志split_qt_flag,并且当该标志为真时,编码块可被分区为四个块。
在示例中,在图5中示出的示例中,通过四叉树分区对CTU进行了分区,并因此产生了分区深度为1的四个编码块。另外,示出了再次对通过四叉树分区而产生的四个编码块之中的第一编码块和第四编码块应用四叉树分区。结果,可产生分区深度为2的四个编码块。
另外,通过再次对分区深度为2的编码块应用四叉树分区,可产生分区深度为3的编码块。
当四叉树分区未被应用于编码块时,可根据编码块的尺寸、编码块是否位于画面边界、最大分区深度、或邻近块的分区类型中的至少一个来确定是否针对编码块执行二叉树分区或三叉树分区。当确定针对编码块执行二叉树分区或三叉树分区时,可在比特流中用信号传送表示分区方向的信息。所述信息可以是1比特标志mtt_split_cu_vertical_flag。可基于该标志来确定分区方向是垂直方向还是水平方向。另外,可在比特流中用信号传送表示二叉树分区或三叉树分区中的哪一个被应用于编码块的信息。所述信息可以是1比特标志mtt_split_cu_binary_flag。可基于该标志确定二叉树分区被应用于编码块还是三叉树分区被应用于编码块。
在示例中,在图5中示出的示例中,垂直方向二叉树分区被应用于分区深度为1的编码块,垂直方向三叉树分区被应用于通过该垂直方向二叉树分区而产生的编码块之中的左侧编码块,并且垂直方向二叉树分区被应用右侧编码块。
帧间预测是使用关于先前画面的信息对当前块进行预测的预测编码模式。在示例中,可将先前画面内与当前块位于相同位置的块(在下文中称为同位块)设置为当前块的预测块。在下文中,基于当前块的同位块所产生的预测块可被称为同位预测块。
与此相反,当在先前画面中存在的对象在当前画面中已经移动到另一位置时,可使用对象的运动来有效地预测当前块。例如,当通过将先前画面与当前画面进行比较来确定对象的运动方向和大小时,可根据对象的运动信息来产生当前块的预测块(或预测图像)。在下文中,使用运动信息所产生的预测块可被称为运动预测块。
可通过从当前块减去预测块来产生残差块。在这方面,在对象移动的情况下,使用运动预测块而不是使用同位预测块可减少残差块的能量,并因此可提高残差块的压缩性能。
如上,使用运动信息产生预测块的操作可被称为运动估计预测。在大多数帧间预测中,可基于运动补偿预测来产生预测块。
运动信息可包括运动矢量、参考画面索引、预测方向和双向加权因子索引中的至少一个。运动矢量表示对象的运动方向和幅度。参考画面索引指定在参考画面列表中包括的参考画面之中的当前块的参考画面。预测方向指示单向L0预测、单向L1预测或双向预测(L0预测和L1预测)中的一个。可根据当前块的预测方向来应用L0方向运动信息和L1方向运动信息中的至少一个。双向加权因子索引指定被应用于L0预测块的加权因子和被应用于L1预测块的加权因子。
图6是根据本公开的实施例的帧间预测方法的流程图。
参照图6,帧间预测方法包括:确定用于当前块的帧间预测模式(S601)、根据确定的帧间预测模式获得当前块的运动信息(S601)、以及基于获得的运动信息针对当前块执行运动补偿预测(S603)。
在这方面,帧间预测模式可表示用于确定当前块的运动信息的各种方法,并且可包括使用平移运动信息的帧间预测模式、使用仿射运动信息的帧间预测模式。在示例中,使用平移运动信息的帧间预测模式可包括合并模式和运动矢量预测模式,使用仿射运动信息的帧间预测模式可包括仿射合并模式和仿射运动矢量预测模式。可基于与当前块邻近的邻近块或者通过对比特流进行解析而获得的信息来确定关于当前块的运动信息。
可从另一块的运动信息推导当前块的运动信息。在这方面,另一块可以是在当前块之前通过帧间预测被编码/解码的块。将当前块的运动信息设置为与另一块的运动信息相同的操作可被定义为合并模式。此外,将另一块的运动矢量设置为当前块的运动矢量的预测值的操作可被定义为运动矢量预测模式。
图7是在合并模式下推导当前块的运动信息的处理的流程图。
可推导当前块的合并候选(S701)。可从在当前块之前通过帧间预测被编码/解码的块推导当前块的合并候选。
图8是示出用于推导合并候选的候选块的示图。
候选块可包括邻近块或非邻近块中的至少一个,其中,所述邻近块包括与当前块相邻的样点,所述非邻近块包括不与当前块相邻的样点。在下文中,确定候选块的样点被定义为基本样点。另外,与当前块相邻的基本样点被称为邻近基本样点,并且不与当前块相邻的基本样点被称为非邻近基本样点。
邻近基本样点可被包括在当前块的最左侧列的邻近列或当前块的最上方行的邻近行中。在示例中,在当前块的左上方样点的坐标为(0,0)时,包括在位置(-1,H-1)、(W-1,-1)、(W,-1)、(-1,H)或(-1,1)处的基本样点的块中的至少一个可被用作候选块。参照示图,索引0到4的邻近块可被用作候选块。
非邻近基本样点表示与相邻于当前块的基本样点的x轴距离或y轴距离中的至少一个为预定义值的样点。在示例中,包括与左侧基本样点的x轴距离为预定义值的基本样点的块、包括与顶部基本样点的y轴距离为预定义值的非邻近样点的块或包括与左上方基本样点的x轴距离和y轴距离为预定义值的非邻近样点的块中的至少一个可被用作候选块。预定义值可以是诸如4、8、12、16等的自然数。参照附图,索引为5至26的块中的至少一个块可被用作候选块。
可选地,可将与当前块不属于相同的编码树单元的候选块设置为不可用作合并候选。在示例中,当基本样点在当前块所属的编码树单元的上边界之外时,包括该基本样点的候选块可被设置为不可用作合并候选。
可从与当前块包括在不同的画面中的时间邻近块推导合并候选。在示例中,可从包括在同位画面中的同位块推导合并候选。可将包括在参考画面列表中的参考画面中的任何一个设置为同位画面。可在比特流中用信号传送标识参考画面中的同位画面的索引信息。可选地,可将参考画面中的具有预定义索引的参考画面确定为同位画面。
可将合并候选的运动信息设置为与候选块的运动信息相同。在示例中,可将候选块的运动矢量、参考画面索引、预测方向或双向权重索引中的至少一个设置为合并候选的运动信息。
可产生包括合并候选的合并候选列表S702。
可根据预定顺序分配合并候选列表中的合并候选的索引。在示例中,可按照从左侧邻近块推导的合并候选、从顶部邻近块推导的合并候选、从右上方邻近块推导的合并候选、从左下方邻近块推导的合并候选、从左上方邻近块推导的合并候选和从时间邻近块推导的合并候选的顺序分配索引。
当多个合并候选被包括在合并候选中时,可选择多个合并候选中的至少一个S703。具体地,可在比特流中用信号传送用于指定多个合并候选中的一个的信息。在示例中,可在比特流中用信号传送表示包括在合并候选列表中的合并候选中的一个的索引的信息merge_idx。
可针对每个子块推导运动矢量。
图9是用于描述确定每个子块的运动矢量的示例的示图。
可将包括在合并候选列表中的多个合并候选中的任何运动矢量设置为当前块的初始运动矢量。在这方面,用于推导初始运动矢量的合并候选可由语法merge_idx来确定。可选地,当按照预定扫描顺序搜索与当前块相邻的邻近块时,可从首先被找到的可用合并候选推导初始运动矢量。在这方面,预定扫描顺序可以是与当前块的左侧相邻的邻近块(A1)、与当前块的顶部相邻的邻近块(B1)、与当前块的右上角相邻的邻近块(B0)和与当前块的左下角相邻的邻近块(A0)的顺序。可选地,可按照B1、B0、A1和A0的顺序来定义预定扫描顺序或者可按照B1、A1、B0和A0的顺序确定预定扫描顺序。
当初始运动矢量被确定时,可确定当前块的同位画面。在这方面,可将同位画面设置为包括在参考画面列表中的参考画面中的具有预定义索引的参考画面。例如,预定义索引可以是0或最大索引。可选地,可在比特流中用信号传送用于确定同位画面的信息。在示例中,可在比特流中用信号传送指定参考画面列表中的同位画面的语法collocated_ref_idx。
当同位画面被确定时,可确定同位画面中的与具有与当前块相同的位置和尺寸的同位块间隔开初始运动矢量的块。由初始运动矢量指定的块可被称为同位画面相应块。在示例中,当初始运动矢量(对于图9,A1块的运动矢量)为(x1,y1)时,可将同位画面中的与和当前块在相同位置处的块(即,同位块)相距(x1,y1)的块确定为同位画面相应块。
当同位画面相应块被确定时,可将同位画面相应块中的子块的运动矢量设置为当前块中的子块的运动矢量。在示例中,在当前块被分区为4×4尺寸的子块时,可将同位画面相应块中的4×4尺寸的子块的运动矢量设置为当前块中的每一个子块的运动矢量。
当同位画面相应块中的子块具有双向运动矢量(例如,L0运动矢量和L1运动矢量)时,可将同位画面相应块中的子块的双向运动矢量认为是当前块中的子块的双向运动矢量。可选地,基于是否将双向预测应用于当前块,可从同位画面相应块中的子块获取仅L0运动矢量或者获取仅L1运动矢量。
可选地,在当前块的参考画面不同于同位画面相应块的参考画面时,可对同位画面相应块中的子块的运动矢量进行缩放以推导当前块中的子块的运动矢量。
可将当前块的参考画面以及是否将双向预测应用于当前块设置为与用于推导初始运动矢量的合并候选相同。可选地,可在比特流中用信号传送用于指定当前块的参考画面的信息和/或指示是否将双向预测应用于当前块的信息。
可在比特流中用信号传送指示是否将针对每个子块推导运动矢量的信息。所述信息可以是1比特标志,但不限于此。可选地,基于是否将双向预测应用于当前块或多个可用合并候选中的至少一个,可确定是否将针对每一个子块推导运动矢量。
当包括在合并候选列表中的合并候选的数量小于阈值时,可将包括在运动信息表中的运动信息候选作为合并候选被添加到合并候选列表。在这方面,阈值可以是可被包括在合并候选列表中的合并候选的最大数量或从合并候选的最大数量减去偏移而得到的值。偏移可以是诸如1或2等的自然数。
运动信息表包括从当前画面中的基于帧间预测编码/解码的块推导出的运动信息候选。在示例中,可将包括在运动信息表中的运动信息候选的运动信息设置为与基于帧间预测编码/解码的块的运动信息相同。在这方面,运动信息可包括运动矢量、参考画面索引、预测方向或双向权重索引中的至少一个。
包括在运动信息表中的运动信息候选也可被称为帧间区域合并候选或预测区域合并候选。
可在编码器和解码器中预先定义可包括在运动信息表中的运动信息候选的最大数量。在示例中,可包括在运动信息表中的运动信息候选的最大数量可以是1、2、3、4、5、6、7、8或更大(例如,16)。
可选地,可在比特流中用信号传送表示可包括在运动信息表中的运动信息候选的最大数量的信息。可在序列、画面或条带级别用信号传送所述信息。所述信息可表示可包括在运动信息表中的运动信息候选的最大数量。可选地,所述信息可表示可包括在运动信息表中的运动信息候选的最大数量与可包括在合并候选列表中的合并候选的最大数量之间的差。
可选地,可根据画面尺寸、条带尺寸或编码树单元尺寸来确定可包括在运动信息表中的运动信息候选的最大数量。
可以以画面、条带、并行块、分块、编码树单元或编码树单元线(行或列)为单位对运动信息表进行初始化。在示例中,当条带被初始化时,运动信息表也被初始化,因此,运动信息表可以不包括任何运动信息候选。
可选地,可在比特流中用信号传送表示是否将对运动信息表进行初始化的信息。可在条带、并行块、分块或块级别用信号传送所述信息。在所述信息指示运动信息表的初始化之前,可使用预先配置的运动信息表。
可选地,可在画面参数集或条带头中用信号传送关于初始运动信息候选的信息。尽管条带被初始化,但运动信息表可包括初始运动信息候选。因此,可将初始运动信息候选应用于作为条带中的第一编码/解码目标的块。
可选地,可将包括在先前编码树单元的运动信息表中的运动信息候选设置为初始运动信息候选。在示例中,可将在先前编码树单元的运动信息表中包括的运动信息候选中的具有最小索引或具有最大索引的运动信息候选设置为初始运动信息候选。
按照编码/解码的顺序对块进行编码/解码,并且可按照编码/解码的顺序将基于帧间预测编码/解码的块顺序地设置为运动信息候选。
图10是用于描述运动信息表的更新方面的示图。
当针对当前块执行帧间预测时S1001,可基于当前块推导运动信息候选S1002。可将运动信息候选的运动信息设置为与当前块的运动信息相同。
当运动信息表为空时S1003,可将基于当前块推导出的运动信息候选添加到运动信息表S1004。
当运动信息表已经包括运动信息候选时S1003,可执行针对当前块的运动信息(或基于当前块推导出的运动信息候选)的冗余检查S1005。冗余检查被用于确定运动信息表中的预存储的运动信息候选的运动信息是否与当前块的运动信息相同。可针对运动信息表中的所有预存储的运动信息候选执行冗余检查。可选地,可针对运动信息表中的预存储的运动信息候选中的具有超过或低于阈值的索引的运动信息候选执行冗余检查。可选地,可针对预定义数量的运动信息候选执行冗余检查。在示例中,可将具有最小索引或具有最大索引的2个运动信息候选确定为冗余检查的目标。
当具有与当前块相同的运动信息的运动信息候选未被包括时,可将基于当前块推导出的运动信息候选添加到运动信息表S1008。可基于运动信息候选的运动信息(例如,运动矢量/参考画面索引等)是否相同来确定运动信息候选是否相同。
在这方面,当最大数量的运动信息候选已经被存储在运动信息表中时S1006,可删除最旧的运动信息候选S1007,并且可将基于当前块推导出的运动信息候选添加到运动信息表S1008。在这方面,最旧的运动信息候选可以是具有最大或最小索引的运动信息候选。
可通过各个索引识别运动信息候选。当将从当前块推导出的运动信息候选添加到运动信息表时,可将最小索引(例如,0)分配给该运动信息候选,并且预存储的运动信息候选的索引可增加1。在这方面,当最大数量的运动信息候选已经被存储在运动信息表中时,移除具有最大索引的运动信息候选。
可选地,当将从当前块推导出的运动信息候选添加到运动信息表时,可将最大索引分配给该运动信息候选。在示例中,当运动信息表中的预存储的运动信息候选的数量小于最大值时,可将具有与预存储的运动信息候选的数量相同的值的索引分配给该运动信息候选。可选地,当运动信息表中的预存储的运动信息候选的数量等于最大值时,可将从最大值减去1而得到的索引分配给该运动信息候选。可选地,移除具有最小索引的运动信息候选,并且剩余的预存储的运动信息候选的索引减小1。
图11是示出运动信息表的更新方面的示图。
假设当将从当前块推导出的运动信息候选添加到运动信息表时,将最大索引分配给该运动信息候选。另外,假设最大数量的运动信息候选已经被存储在运动信息表中。
当将从当前块推导出的运动信息候选HmvpCand[n+1]添加到运动信息表HmvpCandList时,可删除预存储的运动信息候选中的具有最小索引的运动信息候选HmvpCand[0],并且剩余的运动信息候选的索引可减小1。另外,可将从当前块推导出的运动信息候选HmvpCand[n+1]的索引设置为最大值(例如,图11中所示出的n)。
当与基于当前块推导出的运动信息候选相同的运动信息候选被预先存储时S1005,可以不将基于当前块推导出的运动信息候选添加到运动信息表S1009。
可选地,在将基于当前块推导出的运动信息候选添加到运动信息表的同时,可移除与该运动信息候选相同的预存储的运动信息候选。在这种情况下,产生与预存储的运动信息候选的索引被新更新时相同的效果。
图12是示出更新预存储的运动信息候选的索引的示例的示图。
当与从当前块推导出的运动信息候选mvCand相同的预存储的运动信息候选的索引为hIdx时,可移除该预存储的运动信息候选,并且索引大于hIdx的运动信息候选的索引可减小1。在示例中,图12中所示出的示例示出在运动信息表HvmpCandList中删除与mvCand相同的HmvpCand[2],并且从HmvpCand[3]至HmvpCand[n]的索引减小1。
并且,可将基于当前块推导出的运动信息候选mvCand添加到运动信息表的末尾。
可选地,可更新被分配给与基于当前块推导出的运动信息候选相同的预存储的运动信息候选的索引。例如,可将预存储的运动信息候选的索引改变为最小值或最大值。
可将包括在预定区域中的块的运动信息设置为不被添加到运动信息表。在示例中,可以不将基于包括在合并处理区域中的块的运动信息推导出的运动信息候选添加到运动信息表。由于针对包括在合并处理区域中的块的编码/解码顺序未被定义,因此将包括在合并处理区域中的块中的一个块的运动信息用于它们中的另一个块的帧间预测是不合适的。因此,可以不将基于包括在合并处理区域中的块推导出的运动信息候选添加到运动信息表。
可选地,可将小于预设尺寸的块的运动信息设置为不被添加到运动信息表。在示例中,可以不将基于宽度或高度小于4或8的编码块的运动信息或者4×4尺寸的编码块的运动信息推导出的运动信息候选添加到运动信息表。
当以每个子块为基础执行运动补偿预测时,可基于包括在当前块中的多个子块中的代表性子块的运动信息来推导运动信息候选。在示例中,当子块合并候选被用于当前块时,可基于子块中的代表性子块的运动信息来推导运动信息候选。
可按照以下顺序推导子块的运动矢量。首先,可选择包括在当前块的合并候选列表中的合并候选中的一个,并且可基于选择的合并候选的运动矢量来推导初始移位矢量(shVector)。并且,可通过将初始移位矢量与编码块中的每一个子块的基本样点(例如,左上方样点或中心样点)的位置(xSb,ySb)相加来推导基本样点位于位置(xColSb,yColSb)处的移位子块。下面的等式1示出用于推导移位子块的公式。
[等式1]
(xColSb,yColSb)=(xSb+shVector[0]>>4,ySb+shVector[l]>>4)
然后,可将与包括(xColSb,yColSb)的子块的中心位置相应的同位块的运动矢量设置为包括(xSb,ySb)的子块的运动矢量。
代表性子块可表示包括当前块的左上方样点或中心样点的子块。
图13是示出代表性子块的位置的示图。
图13的(a)呈现将位于当前块的左上方处的子块设置为代表性子块的示例,并且图13的(b)呈现将位于当前块的中心处的子块设置为代表性子块的示例。当基于子块执行运动补偿预测时,可基于包括当前块的左上方样点或包括当前块的中心样点的子块的运动矢量来推导当前块的运动信息候选。
基于当前块的帧间预测模式,可确定当前块是否将被用作运动信息候选。在示例中,可将基于仿射运动模型编码/解码的块设置为不可用作运动信息候选。因此,尽管通过帧间预测对当前块进行编码/解码,但在当前块的帧间预测模式为仿射预测模式时,可以不基于当前块更新运动信息表。
可选地,可基于包括在基于仿射运动模型编码/解码的块中的子块的至少一个子块矢量推导运动信息候选。在示例中,可使用位于当前块的左上方、中心或右上方处的子块来推导运动信息候选。可选地,可将多个子块的子块矢量的平均值设置为运动信息候选的运动矢量。
可选地,可基于根据仿射运动模型编码/解码的块的仿射种子矢量的平均值来推导运动信息候选。在示例中,可将当前块的第一仿射种子矢量、第二仿射种子矢量或第三仿射种子矢量的至少一个平均值设置为运动信息候选的运动矢量。
可选地,可针对帧间预测模式配置运动信息表。在示例中,可对通过帧内块复制编码/解码的块的运动信息表、基于平移运动模型编码/解码的块的运动信息表或者基于仿射运动模型编码/解码的块的运动信息表中的至少一个进行定义。根据当前块的帧间预测模式,可选择多个运动信息表中的一个。
图14呈现针对每个帧间预测模式产生运动信息表的示例。
当基于非仿射运动模型对块进行编码/解码时,可将基于以上块推导出的运动信息候选mvCand添加到非仿射运动信息表HmvpCandList。
可将运动信息候选设置为包括除了运动信息之外的附加信息。在示例中,块的尺寸、形状或分区信息中的至少一个可被另外存储在运动信息候选中。当配置当前块的合并候选列表时,可仅使用运动信息候选中的尺寸、形状或分区信息与当前块相同或相似的运动信息候选,或者可将尺寸、形状或分区信息与当前块相同或相似的运动信息候选预先添加到合并候选列表。
当包括在当前块的合并候选列表中的合并候选的数量小于阈值时,可将包括在运动信息表中的运动信息候选作为合并候选添加到合并候选列表。按照反映按升序或降序排列的运动信息候选的索引的顺序的顺序执行附加处理。在示例中,可首先将具有最大索引的运动信息候选添加到当前块的合并候选列表。
当将包括在运动信息表中的运动信息候选添加到合并候选列表时,可执行运动信息候选与合并候选列表中的预存储的合并候选之间的冗余检查。作为冗余检查的结果,可以不将具有与预存储的合并候选相同的运动信息的运动信息候选添加到合并候选列表。
可仅针对包括在运动信息表中的运动信息候选中的一部分执行冗余检查。在示例中,可仅针对具有超过或低于阈值的索引的运动信息候选执行冗余检查。可选地,可仅针对具有最大索引或最小索引的N个运动信息候选执行冗余检查。
可选地,可仅针对合并候选列表中的预存储的合并候选中的一部分执行冗余检查。在示例中,可仅对其索引超过或低于阈值的合并候选或从特定位置处的块推导出的合并候选执行冗余检查。在这方面,特定位置可包括当前块的左侧邻近块、顶部邻近块、右上方邻近块或左下方邻近块中的至少一个。
图15是示出仅针对合并候选中的一部分执行冗余检查的示例的示图。
当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最大索引的2个合并候选mergeCandList[NumMerge-2]和mergeCandList[NumMerge-1]的冗余检查。在这方面,NumMerge可示出可用的空间合并候选和时间合并候选的数量。
与示出的示例不同,当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最小索引的2个合并候选的冗余检查。例如,可检查mergeCandList[0]和mergeCandList[1]是否与HmvpCand[j]相同。
可选地,可仅针对从特定位置推导出的合并候选执行冗余检查。在示例中,可针对从位于当前块左侧或当前块顶部处的邻近块推导出的合并候选中的至少一个执行冗余检查。当在合并候选列表中不存在从特定位置推导出的合并候选时,可在不进行冗余检查的情况下将运动信息候选添加到合并候选列表。
当将运动信息候选HmvpCand[j]添加到合并候选列表时,可针对运动信息候选执行与具有最大索引的2个合并候选mergeCandList[NumMerge-2]和mergeCandList[NumMerge-1]的冗余检查。在这方面,NumMerge可示出可用的空间合并候选和时间合并候选的数量。
可仅针对运动信息候选中的一部分执行与合并候选的冗余检查。在示例中,可仅针对包括在运动信息表中的运动信息候选中的具有大索引或小索引的N个运动信息候选执行冗余检查。在示例中,可仅针对具有包括在运动信息表中的运动信息候选的数量和运动信息候选的差低于阈值的索引的运动信息候选执行冗余检查。当阈值为2时,可仅针对包括在运动信息表中的运动信息候选中的具有最大索引值的3个运动信息候选执行冗余检查。对于除了上述3个运动信息候选之外的运动信息候选,可省略冗余检查。当省略冗余检查时,可将运动信息候选添加到合并候选列表,而不考虑是否存在与合并候选相同的运动信息。
相反地,将冗余检查设置为仅针对具有包括在运动信息表中的运动信息候选的数量和运动信息候选的差超过阈值的索引的运动信息候选被执行。
可在编码器和解码器中重新定义执行冗余检查的运动信息候选的数量。在示例中,阈值可以是诸如0、1或2的整数。
可选地,可基于包括在合并候选列表中的合并候选的数量或包括在运动信息表中的运动信息候选的数量中的至少一个来确定阈值。
当发现与第一运动信息候选相同的合并候选时,可在针对第二运动信息候选的冗余检查中省略与和第一运动信息候选相同的合并候选的冗余检查。
图16是示出省略与特定合并候选的冗余检查的示例的示图。
当将索引为i的运动信息候选HmvpCand[i]添加到合并候选列表时,执行运动信息候选与合并候选列表中的预存储的合并候选之间的冗余检查。在这方面,当发现合并候选mergeCandlist[j]与运动信息候选HmvpCand[i]相同时,可在不将运动信息候选HmvpCand[i]添加到合并候选列表的情况下执行运动信息候选HmvpCand[i-1](其中,其索引为i-1)与合并候选之间的冗余检查。在这方面,可省略运动信息候选HmvpCand[i-1]与合并候选mergeCandList[j]之间的冗余检查。
在示例中,在图16示出的示例中,已经确定HmvpCand[i]与mergeCandList[2]相同。因此,可在不将HmvpCand[i]添加到合并候选列表的情况下执行针对HmvpCand[i-1]的冗余检查。在这方面,可省略HmvpCand[i-1]与mergeCandList[2]之间的冗余检查。
当包括在当前块的合并候选列表中的合并候选的数量小于阈值时,除了包括运动信息候选之外,可另外包括成对合并候选或零合并候选中的至少一个。成对合并候选表示具有从对多于2个合并候选的运动矢量求平均而获得的值作为运动矢量的合并候选,零合并候选表示运动矢量为0的合并候选。
对于当前块的合并候选列表,可按照以下顺序添加合并候选。
空间合并候选-时间合并候选-运动信息候选-(仿射运动信息候选)-成对合并候选-零合并候选
空间合并候选表示从邻近块或非邻近块中的至少一个推导出的合并候选,时间合并候选表示从先前参考画面推导出的合并候选。仿射运动信息候选表示从通过仿射运动模型编码/解码的块推导出的运动信息候选。
可将编码块分区为多个预测单元,并且可对每一个分区的预测单元执行预测。在这方面,预测单元表示执行预测的基本单元。
可使用垂直线、水平线、斜线或对角线中的至少一个将编码块分区为多个预测单元。通过使用分区线对块进行分区而获得的预测单元中的每一个可具有诸如三角形、矩形、梯形或五边形的形状。在一个示例中,可将编码块分区为两个三角形形状的预测单元、两个梯形形状的预测单元、两个矩形形状的预测单元、或者一个三角形形状的预测单元和一个五边形形状的预测单元。
可在比特流中用信号传送用于确定用于对编码块进行分区的线的数量、角度或位置中的至少一个的信息。在一个示例中,可在比特流中用信号传送指示编码块的分区类型候选中的一个的信息,或可在比特流中用信号传送指定用于对编码块进行划分的多个线候选中的一个的信息。在一个示例中,可在比特流中用信号传送指示多个线候选中的一个的索引信息。
多个线候选可具有不同的角度和/或位置。可基于当前块的尺寸或形状、可用合并候选的数量或特定位置处的邻近块是否可被用作合并候选来确定可用于当前块的线候选的数量。
可选地,可在比特流中用信号传送用于确定线候选的数量或类型的信息。在一个示例中,可使用1比特标志确定具有大于对角线的角度的斜线和/或具有小于对角线的角度的斜线是否可被用作线候选。可在序列、画面或序列级别用信号传送所述信息。
可选地,可基于编码块的帧内预测模式或帧间预测模式、可用合并候选的位置或者邻近块的分区模式中的至少一个,自适应地确定用于对编码块进行划分的线的数量、角度或位置中的至少一个。
当编码块被分区为多个预测单元时,可对划分出的预测单元中的每一个执行帧内预测或帧间预测。
图17是示出使用对角线将编码块分区为多个预测单元的示例的示图。
如在图17的(a)和图17的(b)中所示出的示例中,可使用对角线将编码块分区为两个三角形形状的预测单元。
在图17的(a)和图17的(b)中,使用连接编码块的两个顶点的对角线将编码块分区为两个预测单元。然而,可使用至少一端不与编码块的顶点相交的斜线将编码块分区为两个预测单元。
图18是示出将编码块划分为两个预测单元的示例的示图。
如在图18的(a)和图18的(b)中所示出的示例中,可使用两端分别与编码块的顶部边界和底部边界相交的斜线将编码块分区为两个预测单元。
可选地,如在图18的(c)和图18的(d)中所示出的示例中,可使用两端分别与编码块的左侧边界和右侧边界相交的斜线将编码块分区为两个预测单元。
可选地,可将编码块分区为具有不同尺寸的两个预测块。在一个示例中,用于对编码块进行划分的斜线的每一端可分别与形成一个顶点的编码块的两条边界线相交,使得编码块可被分区为不同尺寸的两个预测单元。
图19示出将编码块划分为多个不同尺寸的预测块的示例。
如在图19的(a)和图19的(b)中所示出的示例中,将编码块的左上方和右下方彼此连接的对角线可以不与编码块的左上角或右下角相交,而是可与编码块的左侧边界、右侧边界、顶部边界或底部边界相交,使得编码块可被分区为具有不同尺寸的两个预测单元。
可选地,如在图19的(c)和图19的(d)中所示出的示例中,将编码块的右上方和左下方彼此连接的对角线可以不与编码块的左上角或右下角相交,而是可与编码块的左侧边界、右侧边界、顶部边界或底部边界相交,使得编码块可被分区为具有不同尺寸的两个预测单元。
通过对编码块进行分区而产生的预测单元中的每一个可被称为“第N预测单元”。在一个示例中,在图17至图19中所示出的示例中,PU1可被定义为第一预测单元,并且PU2可被义为第二预测单元。第一预测单元是指包括编码块中的位于左下方处的样点或编码块中的位于左上方处的样点的预测单元。第二预测单元可指包括编码块中的位于右上方处的样点或位于右下方处的样点的预测单元。
与上述定义相反,包括编码块中的位于右上方处的样点或位于右下方处的样点的预测单元可被定义为第一预测单元,并且包括编码块中的位于左下方处的样点或位于左上方处的样点的预测单元可被定义为第二预测单元。
使用水平线、垂直线、对角线或斜线对编码块进行划分可被称为预测单元分区。通过应用预测单元分区而产生的预测单元可根据其形状被称为三角形预测单元、四边形预测单元或五边形预测单元。
在如下所述的实施例中,假设使用对角线将编码块分区为多个预测单元。具体地,使用对角线将编码块划分为两个预测单元可被称为对角线分区或三角形分区。然而,即使当使用垂直线、水平线或具有与对角线的角度不同的角度的斜线将编码块分区为多个预测单元时,也可根据稍后将描述的实施例对预测单元进行编码/解码。也就是说,与稍后将描述的三角形预测单元的编码/解码相关的原理可同样被应用于对矩形预测单元或五边形预测单元进行编码/解码。
可基于以下项中的至少一个来确定是否将预测单元分区应用于编码块:条带类型、合并候选列表可包括的合并候选的最大数量、编码块的尺寸、编码块的形状、编码块的预测编码模式或父节点的分区模式。
在一个示例中,可基于当前条带是否为B类型来确定是否将预测单元分区应用于编码块。可仅在当前条带为B类型时允许预测单元分区。
可选地,可基于包括在合并候选列表中的合并候选的最大数量是否为2或更大来确定是否将预测单元分区应用于编码块。仅当包括在合并候选列表中的合并候选的最大数量为2或更大时,才可允许预测单元分区。
可选地,当编码块的宽度或高度中的至少一个大于64时,就硬件实现而言存在冗余地访问64×64尺寸的数据处理单元的缺点。因此,当编码块的宽度或高度中的至少一个大于阈值时,可以不允许将编码块分区为多个预测单元。在一个示例中,当编码块的高度或宽度中的至少一个大于64时(例如,当宽度或高度中的至少一个为128时),可以不使用预测单元分区。
可选地,考虑到在硬件实现中可被并行处理的样点的最大数量,对于样点数量大于阈值的编码块,可以不允许进行预测单元分区。在一个示例中,对于样点数量大于4096的编码树块,可以不允许预测单元分区。
可选地,对于包括在编码块中的样点数量小于阈值的编码块,可以不允许进行预测单元分区。在一个示例中,当包括在编码块中的样点的数量小于64时,可以不将预测单元分区应用于编码块。
可选地,可基于编码块的宽度与高度的比是否小于第一阈值或者编码块的宽度与高度的比是否大于第二阈值来确定是否将预测单元分区应用于编码块。在这方面,可将编码块的宽度与高度的比whRatio确定为如以下等式2中所示出的编码块的宽度CbW与高度CbH的比:
[等式2]
whRatio=CbW/CbH
第二阈值可以是第一阈值的倒数。在一个示例中,当第一阈值是k时,第二阈值可以是1/k。
仅当编码块的宽度与高度的比存在于第一阈值与第二阈值之间时,才可将预测单元分区应用于编码块。
可选地,可仅当编码块的宽度与高度的比小于第一阈值或大于第二阈值时应用预测单元分区。在一个示例中,当第一阈值为16时,可以不允许针对64×4或4×64尺寸的编码块进行预测单元分区。
可选地,可基于父节点的分区模式来确定是否允许预测单元分区。在一个示例中,当对作为父节点的编码块基于四叉树分区方案被划分时,可将预测单元分区应用于作为叶节点的编码块。相反,当作为父节点的编码块基于二叉树或三叉树分区方案被划分时,可以不允许针对作为叶节点的编码块进行预测单元分区。
可选地,可基于编码块的预测编码模式来确定是否允许预测单元分区。在一个示例中,仅当编码块经由帧内预测被编码时,当编码块经由帧间预测被编码时,或者当编码块使用预定义的帧间预测模式被编码时,才可允许预测单元分区。在这方面,预定义的帧间预测模式可包括合并模式、运动矢量预测模式、仿射合并模式或仿射运动矢量预测模式中的至少一个。
可选地,可基于并行处理区域的尺寸来确定是否允许预测单元分区。在一个示例中,当编码块的尺寸大于并行处理区域的尺寸时,可以不使用预测单元分区。
考虑到上面列举的条件中的两个或更多个条件,可确定是否将预测单元分区应用于编码块。
在另一示例中,可在比特流中用信号传送指示是否将预测单元分区应用于编码块的信息。可在序列、画面、条带或块级别用信号传送所述信息。例如,可在编码块级别用信号传送指示是否将预测单元分区应用于编码块的标志triangle_partition_flag。
在确定将预测单元分区应用于编码块时,可在比特流中用信号传送指示用于对编码块进行划分的线的数量或线的位置的信息。
在一个示例中,当使用对角线将编码块划分为多个预测单元时,可在比特流中用信号传送指示用于对编码块进行划分的对角线的方向的信息。在一个示例中,可在比特流中用信号传送指示对角线的方向的标志triangle_partition_type_flag。所述标志指示是使用将编码块的左上方和右下方彼此连接的对角线还是使用将编码块的右上方和左下方彼此连接的对角线来对编码块进行划分。使用将左上方和右下方彼此连接的对角线对编码块进行划分的方案可被称为左侧三角形分区类型。使用将右上方和左下方彼此连接的对角线对编码块进行划分的方案可被称为右侧三角形分区类型。在一个示例中,当所述标志的值为0时,其可指示编码块的分区类型为左侧三角形分区类型。当所述标志的值为1时,其可指示编码块的分区类型为右侧三角形分区类型。
另外,可在比特流中用信号传送指示预测单元的尺寸是否彼此相等的信息或指示用于对编码块进行划分的对角线的位置的信息。在一个示例中,当指示预测单元的尺寸的信息指示预测单元的尺寸相同时,可省略对指示对角线的位置的信息的编码,并且可使用穿过编码块的两个顶点的对角线将编码块划分为两个预测单元。相反,当指示预测单元的尺寸的信息指示预测单元的尺寸彼此不相同时,可基于指示对角线的位置的信息来确定用于对编码块进行划分的对角线的位置。在一个示例中,当将左侧三角形分区类型应用于编码块时,位置信息可指示对角线是否与编码块的左侧边界和底部边界相交或者对角线是否与编码块的顶部边界和右侧边界相交。可选地,当将右侧三角形分区类型应用于编码块时,位置信息可指示对角线是否与编码块的右侧边界和底部边界相交或者对角线是否与编码块的顶部边界和左侧边界接触。
可在编码块级别用信号传送指示编码块的分区类型的信息。因此,可针对应用预测单元分区的每一个编码块确定分区类型。
在另一示例中,可针对序列、画面、条带、并行块或编码树单元用信号传送指示分区类型的信息。在这种情况下,可将序列、画面、条带、并行块或编码树单元中的应用对角线分区的编码块的分区类型设置为相同。
可选地,可在比特流中对用于确定针对编码树单元中的应用预测单元分区的第一编码单元的分区类型的信息编码并且用信号传送用于确定针对编码树单元中的应用预测单元分区的第一编码单元的分区类型的信息。可将与第一编码单元的分区类型相同的分区类型应用于同一编码树单元中的应用预测单元分区的第二编码单元和后续编码单元。
在另一示例中,可基于邻近块的分区类型确定编码块的分区类型。在这方面,邻近块可包括与编码块的左上角相邻的邻近块、与编码块的右上角相邻的邻近块、与编码块的左下角相邻的邻近块、位于编码块上方的邻近块或位于编码块左侧的邻近块中的至少一个。在一个示例中,可将当前块的分区类型设置为与邻近块的分区类型相同。可选地,可基于左侧三角形分区类型是否被应用于与当前块的左上角相邻的邻近块或者右侧三角形分区类型是否被应用于与当前块的右上角或左下角相邻的邻近块,来确定当前块的分区类型。
为了针对第一预测单元和第二预测单元执行运动预测补偿,可推导第一预测单元和第二预测单元中的每一个的运动信息。在这方面,可从包括在合并候选列表中的合并候选推导第一预测单元和第二预测单元的运动信息。为了区分一般合并候选列表与用于推导预测单元的运动信息的合并候选列表,可将用于推导预测单元的运动信息的合并候选列表称为分区模式合并候选列表或三角形合并候选列表。此外,包括在分区模式合并候选列表中的合并候选可被称作分区模式合并候选或三角形合并候选。然而,将如上所述的合并候选推导方法和合并候选列表构建方案应用于分区模式合并候选推导方法和分区模式合并候选列表构建方法可被包括在本公开的构思中。
可在比特流中用信号传送用于确定分区模式合并候选列表可包括的分区模式合并候选的最大数量的信息。所述信息可指示合并候选列表可包括的合并候选的最大数量与分区模式合并候选列表可包括的分区模式合并候选的最大数量之间的差。
可从编码块的空间邻近块和时间邻近块推导分区模式合并候选。
图20是示出用于推导分区模式合并候选的邻近块的示图。
可使用位于编码块上方的邻近块、位于编码块左侧的邻近块或包括在与包括编码块的画面不同的画面中的同位块中的至少一个来推导分区模式合并候选。位于编码块上方的邻近块可包括位于编码块上方的包括样点(xCb+CbW-1,yCb-1)的块、位于编码块上方的包括样点(xCb+CbW,yCb-1)的块或者位于编码块上方的包括样点(xCb-1,yCb-1)的块中的至少一个。位于编码块左侧的邻近块可包括位于编码块左侧的包括样点(xCb-1,yCb+CbH-1)的块或位于编码块左侧的包括样点(xCb-1,yCb+CbH)的块中的至少一个。可将同位块确定为同位画面中的与编码块的右上角相邻的包括样点(xCb+CbW,yCb+CbH)的块和位于编码块的中心的包括样点(xCb/2,yCb/2)的块中的一个。
可按照预定义的顺序搜索邻近块,并且可根据预定义顺序利用搜索到的分区模式合并候选构建分区模式合并候选列表。在一个示例中,可通过按照B1、A1、B0、A0、C0、B2和C1的顺序搜索分区模式合并候选来构建分区模式合并候选列表。
可基于分区模式合并候选列表推导预测单元的运动信息。也就是说,预测单元可共享单个分区模式合并候选列表。
为了推导预测单元的运动信息,可在比特流中用信号传送用于指定包括在分区模式合并候选列表中的分区模式合并候选中的至少一个的信息。在一个示例中,可在比特流中用信号传送用于指定分区模式合并候选中的至少一个的索引信息merge_triangle_idx。
索引信息可指定第一预测单元的合并候选与第二预测单元的合并候选的组合。在一个示例中,下面的表格1是根据索引信息merge_triangle_idx的合并候选的组合的示例。
[表格1]
merge_triangle_idx 0 1 2 3 4 5 6 7 8
第一预测单元 1 0 0 0 2 0 0 1 3
第二预测单元 0 1 2 1 0 3 4 0 0
merge_triangle_idx 9 10 11 12 13 14 15 16 17
第一预测单元 4 0 1 1 0 0 1 1 1
第二预测单元 0 2 2 2 4 3 3 4 4
merge_triangle_idx 18 19 20 21 22 23 24 25 26
第一预测单元 1 2 2 2 4 3 3 3 4
第二预测单元 3 1 0 1 3 0 2 4 0
merge_triangle_idx 27 28 29 30 31 32 33 34 35
第一预测单元 3 2 4 4 2 4 3 4 3
第二预测单元 1 3 1 1 3 2 2 3 1
merge_triangle_idx 36 37 38 39
第一预测单元 2 2 4 3
第二预测单元 4 4 2 4
当索引信息merge_triangle_idx的值为1时,这指示第一预测单元的运动信息是从索引为1的合并候选被推导的,并且第二预测单元的运动信息是从索引为0的合并候选被推导的。基于索引信息merge_triangle_idx,可确定用于推导第一预测单元的运动信息的分区模式合并候选和用于推导第二预测单元的运动信息的分区模式合并候选。可基于索引信息来确定应用对角线分区的编码块的分区类型。也就是说,索引信息可指定第一预测单元的合并候选、第二预测单元的合并候选和编码块的分区方向的组合。当基于索引信息确定编码块的分区类型时,可以不对指示用于对编码块进行划分的对角线的方向的信息triangle_partition_type_flag进行编码。下面的表格2以索引信息merge_triangle_idx示出编码块的分区类型。
[表格2]
merge_triangle_idx 0 1 2 3 4 5 6 7 8
TriangleDir 0 1 1 0 0 1 1 1 0
merge_triangle_idx 9 10 11 12 13 14 15 16 17
TriangleDir 0 0 0 1 0 0 0 0 1
merge_triangle_idx 18 19 20 21 22 23 24 25 26
TriangleDir 1 1 1 0 0 1 1 1 1
merge_triangle_idx 27 28 29 30 31 32 33 34 35
TriangleDir 1 1 1 0 0 1 0 1 0
merge_triangle_idx 36 37 38 39
TriangleDir 0 1 0 0
变量TriangleDir为0指示将左侧三角形分区类型应用于编码块。变量TriangleDir为1指示将右侧三角形分区类型应用于编码块。基于表格1和表格2的组合,可将索引信息merge_triangle_idx设置为指定第一预测单元的合并候选、第二预测单元的合并候选以及编码块的分区方向的组合。在另一示例中,可仅用信号传送针对第一预测单元和第二预测单元中的一个的索引信息,并且可基于所述索引信息确定针对第一预测单元和第二预测单元中的另一个的合并候选的索引。在一个示例中,可基于指示分区模式合并候选中的一个的索引信息merge_triangle_idx来确定第一预测单元的合并候选。可基于merge_triangle_idx确定第二预测单元的合并候选。在一个示例中,可通过将偏移与索引信息merge_triangle_idx相加或从索引信息merge_triangle_idx减去偏移来推导第二预测单元的合并候选。偏移可以是诸如1或2的整数。在一个示例中,可将第二预测单元的合并候选确定为将通过将1与merge_traingle_idx相加而获得的值作为索引的分区模式合并候选。当merge_triangle_idx指示分区模式合并候选中的具有最大索引值的分区模式合并候选时,可从具有索引0的分区模式合并候选或将通过从merge_triangle_idx减去1而获得的值作为索引的分区模式合并候选推导第二预测单元的运动信息。
可选地,可从具有与由索引信息指定的第一预测单元的分区模式合并候选的参考画面相同的参考画面的分区模式合并候选推导第二预测单元的运动信息。在这方面,具有与第一预测单元的分区模式合并候选的参考画面相同的参考画面的分区模式合并候选可表示具有与第一预测单元的分区模式合并候选的参考画面相同的L0参考画面像或L1参考画面中的至少一个的分区模式合并候选。当存在具有与第一预测单元的分区模式合并候选的参考画面相同的参考画面的多个分区模式合并候选时,可基于相应合并候选是否包括双向运动信息或者相应合并候选的索引与索引信息之间的差中的至少一个来从所述多个分区模式合并候选中选择一个。
在另一示例中,可针对第一预测单元和第二预测单元中的每一个用信号传送索引信息。在一个示例中,可在比特流中用信号传送用于确定第一预测单元的分区模式合并候选的第一索引信息1st_merge_idx以及用于确定第二预测单元的分区模式合并候选的第二索引信息2nd_merge_idx。可从基于第一索引信息1st_merge_idx确定的分区模式合并候选推导第一预测单元的运动信息。可从基于第二索引信息2nd_merge_idx确定的分区模式合并候选推导第二预测单元的运动信息。
第一索引信息1st_merge_idx可指示包括在分区模式合并候选列表中的分区模式合并候选中的一个的索引。可将第一预测单元的分区模式合并候选确定为由第一索引信息1st_merge_idx指示的分区模式合并候选。
可以不将由第一索引信息1st_merge_idx指示的分区模式合并候选用作第二预测单元的分区模式合并候选。因此,第二预测单元的第二索引信息2nd_merge_idx可指示除由第一索引信息指示的分区模式合并候选之外的其余分区模式合并候选中的一个的索引。当第二索引信息2nd_merge_idx的值小于第一索引信息1st_merge_idx的值时,可将第二预测单元的分区模式合并候选确定为具有由第二索引信息2nd_merge_idx指示的索引信息的分区模式合并候选。相反,当第二索引信息2nd_merge_idx的值等于或大于第一索引信息1st_merge_idx的值时,可将第二预测单元的分区模式合并候选确定为将通过将第二索引信息2nd_merge_idx的值加1而获得的值作为索引的分区模式合并候选。
可选地,可基于包括在分区模式合并候选列表中的分区模式合并候选的数量来确定是否用信号传送第二索引信息。在一个示例中,当分区模式合并候选列表可包括的分区模式合并候选的最大数量不超过2时,可省略对第二索引信息的信号传送。当省略对第二索引信息的信号传送信时,可通过将偏移与第一索引信息相加或从第一索引信息减去偏移来推导第二分区模式合并候选。在一个示例中,当分区模式合并候选列表可包括的分区模式合并候选的最大数量为2,并且第一索引信息指示0时,可通过将1与第一索引信息相加来推导第二分区模式合并候选。可选地,当分区模式合并候选列表可包括的分区模式合并候选的最大数量为2,并且第一索引信息指示1时,可通过从第一索引信息减去1推导第二分区模式合并候选。
可选地,当省略对第二索引信息的信号传送时,可将第二索引信息设置为默认值。在这方面,默认值可以是0。可基于第一索引信息与第二索引信息之间的比较结果推导第二分区模式合并候选。在一个示例中,当第二索引信息小于第一索引信息时,可将索引为0的合并候选确定为第二分区模式合并候选。当第二索引信息等于或大于第一索引信息时,可将索引为1的合并候选确定为第二分区模式合并候选。
当分区模式合并候选具有单向运动信息时,可将分区模式合并候选的单向运动信息设置为预测单元的运动信息。相反,当分区模式合并候选具有双向运动信息时,可仅将L0运动信息或L1运动信息中的一个设置为预测单元的运动信息。可基于分区模式合并候选的索引或另一预测单元的运动信息来确定将L0运动信息或L1运动信息中的哪一个设置为预测单元的运动信息。
在一个示例中,当分区模式合并候选的索引为偶数时,可将预测单元的L0运动信息设置为0,并且可将分区模式合并候选的L1运动信息设置为预测单元的L1运动信息。相反,当分区模式合并候选的索引为奇数时,可将预测单元的L1运动信息设置为0,并且可将分区模式合并候选的L0运动信息设置为0。在另一示例中,当分区模式合并候选的索引为偶数时,可将分区模式合并候选的L0运动信息设置为预测单元的L0运动信息。当分区模式合并候选的索引为奇数时,可将分区模式合并候选的L1运动信息设置为预测单元的L1运动信息。可选地,对于第一预测单元,当分区模式合并候选的索引为偶数时,可将分区模式合并候选的L0运动信息设置为第一预测单元的L0运动信息。对于第二预测单元,当分区模式合并候选的索引为奇数时,可将分区模式合并候选的L1运动信息设置为第二预测单元的L1运动信息。
可选地,当第一预测单元具有L0运动信息时,可将第二预测单元的L0运动信息设置为0,并且可将分区模式合并候选的L1运动信息设置为第二预测单元的L1信息。相反,当第一预测单元具有L1运动信息时,可将第二预测单元的L1运动信息设置为0,并且可将分区模式合并候选的L0运动信息设置为第二预测单元的L0运动信息。
可单独构建用于推导第一预测单元的运动信息的分区模式合并候选列表和用于推导第二预测单元的运动信息的分区模式合并候选列表。
在一个示例中,当基于针对第一预测单元的索引信息指定分区模式合并候选列表中的用于推导第一预测单元的运动信息的分区模式合并候选时,可使用包括除由该索引信息指示的分区模式合并候选之外的其余分区模式合并候选的分区模式合并列表来推导第二预测单元的运动信息。具体地,可从其余分区模式合并候选中的一个推导第二预测单元的运动信息。
因此,在第一预测单元的分区模式合并候选列表中包括的分区模式合并候选的最大数量与在第二预测单元的分区模式合并候选列表中包括的分区模式合并候选的最大数量可彼此不同。在一个示例中,当第一预测单元的分区模式合并候选列表包括M个合并候选时,第二预测单元的分区模式合并候选列表可包括将由第一预测单元的索引信息指示的分区模式合并候选排除在外的M-1个合并候选。
在另一示例中,可基于与编码块相邻的邻近块推导每一个预测单元的合并候选。在这方面,可基于预测单元的形状或位置来确定邻近块的可用性。
图21是用于描述确定针对每一个预测单元的邻近块的可用性的示例的示图。
将与第一预测单元不相邻的邻近块设置为不可用于第一预测单元。可将与第二预测单元不相邻的邻近块设置为不可用于第二预测单元。
在一个示例中,如在图21的(a)所示出的示例中,当将左侧三角形分区类型应用于编码块时,与编码块相邻的邻近块中的与第一预测单元相邻的块A1、块A0和块A2可被确定为可用于第一预测单元,而与第一预测单元不相邻的块B0和块B1可被设置为不可用于第一预测单元。因此,第一预测单元的分区模式合并候选列表可包括从块A1、块A0和块B2推导出的分区模式合并候选,但可以不包括从块B0和B1推导的分区模式合并候选。
如在图21的(b)所示出的示例中,当将左侧三角形分区类型应用于编码块时,与第二预测单元相邻的块B0和块B1可被设置为可用于第二预测单元,并且块A1、块A0和块B2可被设置为不可用于第二预测单元。因此,第二预测单元的分区模式合并候选列表可包括从块B0和块B1推导出的分区模式合并候选,但是可以不包括从块A1、块A0和块B2推导的分区模式合并候选。
因此,可基于预测单元的位置或编码块的分区类型中的至少一个来确定预测单元可使用的分区模式合并候选的数量或范围。
在另一示例中,可仅将合并模式应用于第一预测单元和第二预测单元中的一个。在这方面,可将第一预测单元和第二预测单元中的另一个的运动信息设置为与应用合并模式的预测单元的运动信息相同,或者可通过对应用合并模式的预测单元的运动信息进行细化来推导第一预测单元和第二预测单元中的另一个的运动信息。
在一个示例中,基于分区模式合并候选,可推导第一预测单元的运动矢量和参考画面索引。在这方面,可通过对第一预测单元的运动矢量进行细化来推导第二预测单元的运动矢量。在一个示例中,可通过将细化的运动矢量{Rx,Ry}与第一预测单元的运动矢量{mvD1LXx,mvD1LXy}相加或者从第一预测单元的运动矢量{mvD1LXx,mvD1LXy}减去细化的运动矢量{Rx,Ry}来推导第二预测单元的运动矢量。可将第二预测单元的参考画面索引设置为等于第一预测单元的参考画面索引。
可在比特流中用信号传送用于确定表示第一预测单元的运动矢量与第二预测单元的运动矢量之间的差的细化的运动矢量的信息。所述信息可包括指示细化的运动矢量的大小的信息或指示细化的运动矢量的方向的信息中的至少一个。
可选地,可基于预测单元的位置和索引以及应用于编码块的分区类型中的至少一个来推导细化的运动矢量的方向。
在另一示例中,可在比特流中用信号传送第一预测单元和第二预测单元中的一个的运动矢量和参考画面索引。可通过对用信号传送的运动矢量进行细化来推导第一预测单元和第二预测单元中的另一个的运动矢量。
在一个示例中,基于在比特流中用信号传送的信息,可确定第一预测单元的运动矢量和参考画面索引。可通过对第一预测单元的运动矢量进行细化来推导第二预测单元的运动矢量。在一个示例中,可通过将细化的运动矢量{Rx,Ry}与第一预测单元的运动矢量{mvD1LXx,mvD1LXy}相加或相减来推导第二预测单元的运动矢量。可将第二预测单元的参考画面索引设置为等于第一预测单元的参考画面索引。
在另一示例中,可将合并模式仅应用于第一预测单元和第二预测单元中的一个。可基于应用合并模式的预测单元的运动信息推导第一预测单元和第二预测单元中的另一个的运动信息。在一个示例中,可将第一预测单元的运动矢量的对称运动矢量设置为第二预测单元的运动矢量。在这方面,对称运动矢量具有与第一预测单元的运动矢量的大小相同的大小,但在x轴分量和y轴分量中的至少一个上具有与第一预测单元的运动矢量的方向相反的方向。可选地,对称运动矢量可表示具有与通过对第一预测单元的运动矢量进行缩放而获得的缩放矢量的大小相同的大小、但在x轴分量和y轴分量中的至少一个上具有与缩放矢量的方向相反的方向的运动矢量。在一个示例中,当第一预测单元的运动矢量为(MVx,MVy)时,可将第二预测单元的运动矢量设置为作为第一预测单元的运动矢量的对称运动矢量的(MVx,-MVy)、(-MVx,MVy)或(-MVx,-MVy)。
可将未应用合并模式的第一预测单元和第二预测单元中的一个的参考画面索引设置为等于应用合并模式的第一预测单元和第二预测单元中的另一个的参考画面索引。可选地,可将未应用合并模式的预测单元的参考画面索引设置为预定义值。在这方面,预定义值可以是参考画面列表中的最小索引或最大索引。可选地,可在比特流中用信号传送指定未应用合并模式的预测单元的参考画面索引的信息。可选地,可从与应用合并模式的预测单元的参考画面所属的参考画面列表不同的参考画面列表中选择未应用合并模式的预测单元的参考画面。在一个示例中,当从L0参考画面列表选择应用合并模式的预测单元的参考画面时,可从L1参考画面列表选择未应用合并模式的预测单元的参考画面。在这方面,可基于应用合并模式的预测单元的参考画面与当前画面之间的画面顺序计数(POC)的差推导未应用合并模式的预测单元的参考画面。在一个示例中,当从L0参考画面列表选择应用合并模式的预测单元的参考画面时,可将L1参考画面列表中的与当前画面的差等于或接近于应用合并模式的预测单元的参考画面与当前画面之间的差的参考画面选为未应用合并模式的预测单元的参考画面。
当第一预测单元的参考画面与当前画面之间的POC差不同于第二预测单元的参考画面与当前画面之间的POC差时,可将通过对应用合并模式的预测单元的运动矢量进行缩放而获得的缩放运动矢量的对称运动矢量设置为未应用合并模式的预测单元的运动矢量。在这方面,可基于每一个参考画面与当前画面之间的每一个POC差执行缩放。
在另一示例中,可推导第一预测单元和第二预测单元中的每一个的运动矢量,然后可将细化矢量与推导的运动矢量相加或从推导的运动矢量减去细化矢量。在一个示例中,可通过将第一细化矢量与基于第一合并候选推导的第一运动矢量相加或从基于第一合并候选推导的第一运动矢量减去第一细化矢量来推导第一预测单元的运动矢量,并且可通过将第二细化矢量与基于第二合并候选推导的第二运动矢量相加或从基于第二合并候选推导的第二运动矢量减去第二细化矢量来推导第二预测单元的运动矢量。可在比特流中用信号传送用于确定第一细化矢量或第二细化矢量中的至少一个的信息。所述信息可包括用于确定细化矢量的大小的信息或用于确定细化矢量的方向的信息中的至少一个。
第二细化矢量可以是关于第一细化矢量的对称运动矢量。在此情况下,可在比特流中用信号传送仅用于确定第一细化矢量和第二细化矢量中的一个的信息。在一个示例中,当基于比特流中用信号传送的信息将第一细化矢量确定为(MVDx,MVDy)时,可将第一细化矢量的对称运动矢量(-MVDx,MVDy)、(MVDx,-MVDy)或(-MVDx,-MVDy)设置为第二细化矢量。基于预测单元中的每一个的参考画面的POC,可将通过对第一细化矢量进行缩放而获得的缩放运动矢量的对称运动矢量设置为第二细化矢量。
在另一示例中,可基于合并候选推导第一预测单元和第二预测单元中的一个的运动信息,同时可基于比特流中用信号传送的信息确定第一预测单元和第二预测单元中的另一个的运动信息。在一个示例中,可用信号传送第一预测单元的合并索引,同时可在比特流中用信号传送用于确定第二预测单元的运动矢量的信息和用于确定第二预测单元的参考画面的信息中的至少一个。可将第一预测单元的运动信息设置为等于由合并索引指定的合并候选的运动信息。可由在比特流中用信号传送的用于确定运动矢量的信息和用于确定参考画面的信息中的至少一个来指定第二预测单元的运动信息。
可基于第一预测单元的运动信息和第二预测单元的运动信息来执行针对每一个编码块的运动预测补偿预测。在这方面,在第一预测单元与第二预测单元之间的边界中可能发生图像质量劣化。在一个示例中,在存在于第一预测单元与第二预测单元之间的边界处的边缘周围,图像质量的连续性可能劣化。为了减少边界处的图像质量劣化,可经由平滑滤波器或加权预测来推导预测样点。
可基于根据第一预测单元的运动信息获得的第一预测样点与根据第二预测单元的运动信息获得的第二预测样点的加权和来推导应用对角线分区的编码块中的预测样点。可选地,可从基于第一预测单元的运动信息确定的第一预测块推导第一预测单元的预测样点,并且可从基于第二预测单元的运动信息确定的第二预测块推导第二预测单元的预测样点。在这方面,可基于包括在第一预测块中的第一预测样点与包括在第二预测块中的第二预测样点的加权和推导位于第一预测单元与第二预测单元之间的边界区域中的预测样点。在一个示例中,下面的等式3呈现推导第一预测单元和第二预测单元的预测样点的示例。
[等式3]
P(x,y)=w1*P1(x,y)+(1-w1)*P2(x,y)
在等式3中,P1表示第一预测样点,P2表示第二预测样点。w1表示施加于第一预测样点的权重,并且(1-w1)表示施加于第二预测样点的权重。如在等式3中所示出的示例中,可通过从常数值减去施加于第一预测样点的权重来推导施加于第二预测样点的权重。
当将左侧三角形分区类型应用于编码块时,边界区域可包括预测样点,其中,每一个样点具有相同的x轴坐标和y轴坐标。相反,当将右侧三角形分区类型应用于编码块时,边界区域可包括预测样点,其中,每一个样点的x轴坐标和y轴坐标的总和大于或等于第一阈值且小于或等于第二阈值。
可基于编码块的尺寸、编码块的形状、预测单元的运动信息、预测单元的运动矢量之间的差、以及参考画面的POC或对角线边界处的第一预测样点与第二预测样点之间的差中的至少一个来确定边界区域的尺寸。
图22和图23是示出基于第一预测样点和第二预测样点的加权和推导预测样点的示例的示图。图22是将左侧三角形分区类型应用于编码块的情况的示例。图23是将右侧三角形分区类型应用于编码块的情况的示例。另外,图22的(a)和图23的(a)是示出用于亮度分量的预测模式(pattern)的示图。图22的(b)和图23的(b)是示出用于色度分量的预测模式的示图。
在示出的附图中,在位于第一预测单元和第二预测单元的边界附近的预测样点上标记的数字指示被施加于第一预测样点的权重。在一个示例中,当标记在预测样点上的数字为N时,可将N/8的权重施加于第一预测样点,并且可将(1-(N/8))的权重施加于第二预测样点,由此推导预测样点。
在非边界区域中,可将第一预测样点或第二预测样点确定为预测样点。参照图22的示例,在属于第一预测单元的区域中,可将基于第一预测单元的运动信息推导的第一预测样点确定为预测样点。相反,在属于第二预测单元的区域中,可将基于第二预测单元的运动信息推导的第二预测样点确定为预测样点。
参照图23的示例,在x轴坐标与y轴坐标的总和小于第一阈值的区域中,可将基于第一预测单元的运动信息推导的第一预测样点确定为预测样点。相反,在x轴坐标与y轴坐标的总和大于第二阈值的区域中,可将基于第二预测单元的运动信息推导的第二预测样点确定为预测样点。
可基于编码块尺寸、编码块形状或颜色分量中的至少一个来确定用于确定非边界区域的阈值。在一个示例中,当亮度分量的阈值被设置为N时,可将色度分量的阈值可设置为N/2。
可基于第一预测样点与第二预测样点的加权和来推导包括在边界区域中的预测样点。在这方面,可基于预测样点的位置、编码块的尺寸、编码块的形状或颜色分量中的至少一个来确定施加于第一预测样点和第二预测样点的权重。
在一个示例中,如在图22的(a)所示出的示例中,可通过将相同的权重施加于第一预测样点和第二预测样点来推导每一个具有相同的x轴坐标和y轴坐标的预测样点。可通过将施加于第一预测样点的权重与施加于第二预测样点的权重的比设置为(3:1)或(1:3)来推导每一个样点的x轴坐标与y轴坐标之间的差的绝对值为1的预测样点。此外,可通过将施加于第一预测样点的权重和施加于第二预测样点的权重的比设置为(7:1)或(1:7)来推导每一个样点的x轴坐标和y轴坐标之间的差的绝对值为2的预测样点。
可选地,如在图22的(b)所示出的示例中,可通过将相同的权重施加于第一预测样点和第二预测样点来推导每一个样点的x轴坐标和y轴坐标相同的预测样点。通过将施加于第一预测样点的权重与施加于第二预测样点的权重的比设置为(7:1)或(1:7),可推导每一个样点的x轴坐标与y轴坐标的差的绝对值为1的预测样点。
在一个示例中,如在图23的(a)所示出的示例中,可通过将相同的权重施加于第一预测样点和第二预测样点来推导每一个预测样点的x轴坐标与y轴坐标的总和比编码块的宽度或高度小1的预测样点。可通过将施加于第一预测样点的权重与施加于第二预测样点的权重的比设置为(3:1)或(1:3)来推导每一个样点的x轴坐标与y轴坐标的总和与编码块的宽度或高度相同或者比编码块的宽度或高度小2的预测样点。可通过将施加于第一预测样点的权重与施加于第二预测样点的权重的比设置为(7:1)或(1:7)来推导每一个样点的x轴坐标与y轴坐标的总和比编码块的宽度或高度大1或者比编码块的宽度或高度小3的预测样点。
可选地,如在图23的(b)所示出的示例中,可通过将相同的权重施加于第一预测样点和第二预测样点来推导每一个样点的x轴坐标与y轴坐标的总和比编码块的宽度或高度小1的预测样点。可通过将施加于第一预测样点的权重与施加于第二预测样点的权重之间的比设置为(7:1)或(1:7)来推导每一个样点的x轴坐标与y轴坐标的总和与编码块的宽度或高度相同或者比编码块的宽度或高度小2的预测样点。
在另一示例中,可基于预测样点的位置或编码块的形状来确定权重。以下等式4到等式6表示当将左侧三角形分区类型应用于编码块时推导权重的示例。等式4呈现当编码块为正方形时推导施加于第一预测样点的权重的示例。
[等式4]
w1=(x-y+4)/8
在上述等式4中,x和y表示预测样点的位置。当编码块为非正方形时,可如等式5或等式6中推导施加于第一预测样点的权重。等式5表示编码块的宽度大于其高度的情况。等式6表示编码块的宽度小于其高度的情况。
[等式5]
w1=((x/whRatio)-y+4)/8
[等式6]
w1=(x-(y*whRatio)+4)/8
当将右侧三角形分区类型应用于编码块时,可应用以下等式7到等式9来确定施加于第一预测样点的权重。等式7呈现当编码块为正方形时推导施加于第一预测样点的权重的示例。
[等式7]
w1=(CbW-1-x-y)+4)/8
在上面的等式7中,CbW表示编码块的宽度。当编码块为非正方形时,可使用以下等式8或等式9推导施加于第一预测样点的权重。等式8表示编码块的宽度大于其高度的情况。等式9表示编码块的宽度小于其高度的情况。
[等式8]
w1=(CbH-1-(x/whRatio)-y)+4)/8
[等式9]
w1=(CbW-1-x-(y*whRatio)+4)/8
在上述等式8中,CbH表示编码块的高度。
如在示出的示例中,可通过将第一权重施加于第一预测样点并将小于第一权重的第二权重施加于第二预测样点来推导边界区域内的预测样点中的包括在第一预测单元中的预测样点。可通过将第一权重施加于第一预测样点并将大于第一权重的第二权重施加于第二预测样点来推导边界区域内的预测样点中的包括在第二预测单元中的预测样点。
当将对角线分区应用于编码块时,可以不将帧内预测模式和合并模式被组合的组合预测模式应用于编码块。
在完成当前编码块的编码/解码时,可存储已经完成编码/解码的当前编码块的运动信息以用于下一个编码块的编码/解码。可基于具有预设尺寸的子块存储运动信息。在一个示例中,具有预设尺寸的子块可具有4×4尺寸。可选地,基于编码块的尺寸或形状,子块的尺寸或形状可变化。
当子块属于第一预测单元时,可将第一预测单元的运动信息存储为子块的运动信息。相反,当子块属于第二预测单元时,可将第二预测单元的运动信息存储为子块的运动信息。
当子块属于第一预测单元和第二预测单元的边界时,可将第一预测单元的运动信息和第二预测单元的运动信息中的一个设置为子块的运动信息。在一个示例中,可将第一预测单元的运动信息设置为子块的运动信息,或者可将第二预测单元的运动信息设置为子块的运动信息。
在另一示例中,当子块属于第一预测单元和第二预测单元的边界时,可从第一预测单元推导子块的L0运动信息和L1运动信息中的一个,同时可从第二预测单元推导子块的L0运动信息和L1运动信息中的另一个。在一个示例中,可将第一预测单元的L0运动信息设置为子块的L0运动信息,并且可将第二预测单元的L1运动信息设置为子块的L1运动信息。然而,当第一预测单元和第二预测单元中的每一个仅具有L0运动信息或仅具有L1运动信息时,可选择第一预测单元和第二预测单元中的一个,然后可基于所选择的一个确定子块的运动信息。可选地,可将第一预测单元和第二预测单元的运动矢量的平均值设置为子块的运动矢量。
可将已经完成编码/解码的当前编码块的运动信息更新到运动信息表。在这方面,可以不将被应用预测单元分区的编码块的运动信息添加到运动信息表。
可选地,可仅将通过对编码块进行分区而产生的多个预测单元中的一个的运动信息添加到运动信息表。在一个示例中,虽然可将第一预测单元的运动信息添加到运动信息表,也可以不将第二预测单元的运动信息添加到运动信息表。在这方面,可基于编码块尺寸、编码块形状、预测单元尺寸、预测单元形状或者是否已经对预测单元执行双向预测中的至少一个来选择将被添加到运动信息表的预测单元。
可选地,可将通过对编码块进行分区而产生的多个预测单元中的每一个的运动信息添加到运动信息表。在这方面,可在编码器和解码器中预先定义将多个预测单元的运动信息添加到运动信息表的顺序。在一个示例中,可在不包括左上方样点或左下角样点的预测单元的运动信息被添加到运动信息表之前,将包括左上方样点或左下角样点的预测单元的运动信息添加到运动信息表。可选地,可基于每一个预测单元的合并索引、参考画面索引或运动矢量大小中的至少一个来确定将每一个预测单元的运动信息添加到运动信息表的顺序。
可选地,可将第一预测单元的运动信息与第二预测单元的运动信息的组合添加到运动信息表。可从第一预测单元推导所述组合的L0运动信息和L1运动信息中的一个,同时可从第二预测单元推导所述组合的L0运动信息和L1运动信息中的另一个。
可选地,可基于第一预测单元和第二预测单元的参考画面是否彼此相同来确定将被添加到运动信息表的运动信息。在一个示例中,当第一预测单元和第二预测单元的参考画面彼此不同时,可将第一预测单元和第二预测单元中的一个的运动信息或者第一预测单元的运动信息与第二预测单元的运动信息的组合添加到运动信息表。相反,当第一预测单元和第二预测单元的参考画面彼此相同时,可将第一预测单元的运动矢量与第二预测单元的运动矢量的平均值添加到运动信息表。
可选地,可基于编码块的尺寸、编码块的形状或编码块的分区类型来确定将被添加到运动信息表的运动矢量。在一个示例中,当将右侧三角形分区应用于编码块时,可将第一预测单元的运动信息添加到运动信息表。相反,当将左侧三角形分区应用于编码块时,可将第二预测单元的运动信息添加到运动信息表,或者可将第一预测单元的运动信息与第二预测单元的运动信息的组合添加到运动信息表。
可单独定义用于存储应用预测单元分区的编码块的运动信息的运动信息表。在一个示例中,应用预测单元分区的编码块的运动信息可被存储在分区模式运动信息表中。分区模式运动信息表可被称为三角形运动信息表。也就是说,未应用预测单元分区的编码块的运动信息可被存储在一般运动信息表中,而应用预测单元分区的编码块的运动信息可被存储在分区模式运动信息表中。如上所述将应用预测单元分区的编码块的运动信息添加到运动信息表的实施例可被应用于更新分区模式运动信息表。在一个示例中,分区模式运动信息表可包括第一预测单元的运动信息、第二预测单元的运动信息、第一预测单元的运动信息与第二预测单元的运动信息的组合、以及通过对第一预测单元的运动矢量与第二预测单元的运动矢量求平均而获得的运动信息。
当预测模式分区不被应用于编码块时,可使用一般运动信息表推导合并候选。相反,当预测模式分区被应用于编码块时,可使用预测模式运动信息表推导合并候选。
帧内预测是通过使用已经被编码/解码并且在当前块周围的重建样点来预测当前块。在这方面,在应用环路内滤波器之前的重建样点可被应用于当前块的帧内预测。
帧内预测方法包括基于矩阵的帧内预测和根据与邻近重建样点的方向的帧内预测。可在比特流中用信号传送指示当前块的帧内预测方法的信息。所述信息可以是1比特标志。可选地,可基于当前块的位置、当前块的尺寸、当前块的形状或邻近块的帧内预测方法中的至少一个来确定当前块的帧内预测。在一个示例中,当存在穿过画面边界的当前块时,当前块可被设置使得不将基于矩阵的帧内预测方法应用于当前块。
基于矩阵的帧内预测方法是基于存储在编码器和解码器中的矩阵与当前块周围的重建样点的矩阵乘积来获得当前块的预测块的方法。可在比特流中用信号传送用于指定多个预存储矩阵中的任何一个的信息。解码器可基于上述信息和当前块的尺寸来确定用于对当前块执行帧内预测的矩阵。
一般帧内预测是一种基于非方向帧内预测模式或方向帧内预测模式获得当前块的预测块的方法。在下文中,将参照附图详细描述基于一般帧内预测的帧内预测的处理。
图24是根据本公开的实施例的帧内预测方法的流程图。
可确定当前块的参考样点线S2401。参考样点线是指包括在远离当前块的顶部和/或左侧的第k线中的一组参考样点。可从在当前块周围被编码/解码的重建样点推导参考样点。
可在比特流中用信号传送标识多条参考样点线中的用于当前块的参考样点线的索引信息。在示例中,可在比特流中用信号传送用于指定当前块的参考样点线的索引信息intra_luma_ref_idx。可针对每个编码块用信号传送索引信息。
多条参考样点线可包括在当前块的顶部和/或左侧的第一线、第二线或第三线中的至少一条。多条参考样点线中的由与当前块的顶部相邻的行和与当前块的左侧相邻的列组成的参考样点线可被称为相邻参考样点线,并且其他参考样点线可被称为非相邻参考样点线。
表格3示出被分配给每一条候选参考样点线的索引。
[表格3]
索引(intra_luma_ref_idx) 参考样点线
0 相邻参考样点线
1 第一非相邻参考样点线
2 第二非相邻参考样点线
基于当前块的位置、尺寸、形状或者邻近块的预测编码模式中的至少一个,可确定当前块的参考样点线。在一个示例中,在当前块邻接画面、并行块、条带或编码树单元的边界时,可将相邻参考样点线确定为当前块的参考样点线。参考样点线可包括位于当前块顶部的顶部参考样点和位于当前块左侧的左侧参考样点。可从当前块周围的重建样点推导顶部参考样点和左侧参考样点。重建样点可处于被应用环内滤波器之前的状态。
接下来,可确定当前块的帧内预测模式S2402。对于当前块的帧内预测模式,可将非方向帧内预测模式或方向帧内预测模式中的至少一个确定为当前块的帧内预测模式。非方向帧内预测模式包括平面和DC,并且方向帧内预测模式包括从左下方对角线方向到右上方对角线方向的33个或65个模式。
图25是示出帧内预测模式的示图。
图25的(a)示出35个帧内预测模式,图25的(b)示出67个帧内预测模式。
可定义比图25中所示出的更多个或更少个数量的帧内预测模式。
基于与当前块相邻的邻近块的帧内预测模式,可设置MPM(最可能模式)。在这方面,邻近块可包括与当前块的左侧相邻的左侧邻近块和与当前块的顶部相邻的顶部邻近块。
可在编码器和解码器中预先设置包括在MPM列表中的MPM的数量。在示例中,MPM的数量可以是3、4、5或6。可选地,可在比特流中用信号传送表示MPM的数量的信息。可选地,基于邻近块的预测编码模式、当前块的尺寸、当前块的形状或当前块的参考样点线索引中的至少一个来确定MPM的数量。在一个示例中,当相邻参考样点线被确定为当前块的参考样点线时可应用N个MPM,然而当非相邻参考样点线被确定为当前块的参考样点线时可应用M个MPM。由于M是小于N的自然数,因此,在示例中,N可以是6并且M可以是5、4或3。因此,在当前块的参考样点线的索引为0并且MPM标志为真时可将当前块的帧内预测模式确定为6个候选帧内预测模式中的任何一个,然而在当前块的参考样点线的索引大于0并且MPM标志为真时,可将当前块的帧内预测模式确定为5个候选帧内预测模式中的任何一个。
可选地,可应用固定数量的(例如,6个或5个)MPM候选而不考虑当前块的参考样点线的索引如何。
可产生包括多个MPM的MPM列表,并且可在比特流中用信号传送指示与当前块的帧内预测模式相同的MPM是否被包括在MPM列表中的信息。当所述信息是1比特标志时,其可被称为MPM标志。当MPM标志表示与当前块相同的MPM被包括在MPM列表中时,可在比特流中用信号传送标识MPM中的一个的索引信息。在示例中,可在比特流中用信号传送指定多个MPM中的任何一个的索引信息mpm_idx。可将由索引信息指定的MPM设置为当前块的帧内预测模式。当MPM标志表示与当前块相同的MPM不被包括在MPM列表中时,可在比特流中用信号传送指示除MPM之外的其余帧内预测模式中的任何一个的其余模式信息。其余模式信息表示当索引被重新分配给除MPM之外的其余帧内预测模式时的与当前块的帧内预测模式相应的索引值。解码器可通过按照升序排列MPM并将其余模式信息与MPM进行比较来确定当前块的帧内预测模式。在示例中,当其余模式信息等于或小于MPM时,可通过将1与其余模式信息相加来推导当前块的帧内预测模式。
在推导当前块的帧内预测模式时,可省略将MPM的一部分与其余模式信息进行比较。在示例中,可从比较目标排除MPM中的非方向帧内预测模式中的MPM。当非方向帧内预测模式被设置为MPM时,其余模式信息清楚地指示方向帧内预测模式,因此可通过将除非方向帧内预测模式之外的其余MPM与其余模式信息进行比较来推导当前块的帧内预测模式。可在将非方向帧内预测模式的数量与其余模式信息相加之后将结果值与其余MPM进行比较来代替从比较目标排除非方向帧内预测模式。
可在比特流中用信号传送指示当前块的帧内预测模式是否为默认模式的信息来代替将默认模式设置为MPM。所述信息是1比特标志,并且所述标志可被称为默认模式标志。可仅在MPM标志表示与当前块相同的MPM被包括在MPM列表中时用信号传送默认模式标志。如上所述,默认模式可包括平面、DC、垂直方向模式或水平方向模式中的至少一个。在示例中,当平面被设置为默认模式时,默认模式标志可指示当前块的帧内预测模式是否为平面。当默认模式标志指示当前块的帧内预测模式不是默认模式时,可将由索引信息指示的MPM中的一个设置为当前块的帧内预测模式。
当使用默认模式标志时,可将与默认模式相同的帧内预测模式设置为MPM。在示例中,当默认模式标志指示当前块的帧内预测模式是否为平面时,可通过使用不包括与平面相应的MPM的5个MPM推导当前块的帧内预测模式。
当将多个帧内预测模式设置为默认模式时,可在比特流中进一步用信号传送指示默认模式中的任何一个的索引信息。可将当前块的帧内预测模式设置为由索引信息指示的默认模式。
在当前块的参考样点线的索引不为0时,可将其设置为不使用默认模式。在一个示例中,当非相邻参考样点线被确定为当前块的参考样点线时,可将其设置为不使用诸如DC模式或平面模式的非方向帧内预测模式。因此,当参考样点线的索引不为0时,可以不用信号传送默认模式标志,并且可将默认模式标志的值推断为预定义值(即,假)。
在当前块的帧内预测模式被确定时,可基于确定的帧内预测模式来获得当前块的预测样点S2403。
当DC模式被选择时,可基于参考样点的平均值产生针对当前块的预测样点。具体地,可基于参考样点的平均值来产生预测块内的所有样点的值。可使用与当前块的顶部相邻的顶部参考样点和与当前块的左侧相邻的左侧参考样点中的至少一个来推导平均值。
在推导平均值时使用的参考样点的数量或范围可基于当前块的形状而变化。在示例中,在当前块为宽度大于高度的非正方形块时,可通过使用顶部参考样点来计算平均值。相反,在当前块为宽度小于高度的非正方形块时,可通过使用左侧参考样点来计算平均值。换句话说,在当前块的宽度和高度不同时,可应用与较大长度相邻的参考样点以便计算平均值。可选地,可基于当前块的宽度与高度之间的比来确定是通过使用顶部参考样点还是通过使用左侧参考样点来计算平均值。
当平面模式被选择时,可通过使用水平方向预测样点和垂直方向预测样点来获得预测样点。在这方面,可基于与预测样点位于同一水平线处的左侧参考样点和右侧参考样点来获得水平方向预测样点,并且可基于与预测样点位于同一垂直线处的顶部参考样点和底部参考样点来获得垂直方向预测样点。在这方面,可通过复制与当前块的右上角相邻的参考样点来产生右侧参考样点,并且可通过复制与当前块的左下角相邻的参考样点来产生底部参考样点。可基于左侧参考样点与右侧参考样点的加权和来获得水平方向预测样点,并且可基于顶部参考样点与底部参考样点的加权和来获得垂直方向预测样点。在这方面,可根据预测样点的位置来确定被分配给每一个参考样点的加权因子。可基于水平方向预测样点与垂直方向预测样点的平均值或加权和来获得预测样点。当使用加权和时,可基于预测样点的位置来确定被分配给水平方向预测样点和垂直方向预测样点的加权因子。
当方向预测模式被选择时,可确定表示所选择的方向预测模式的预测方向(或预测角度)的参数。下面的表格4表示用于每一个帧内预测模式的帧内方向参数intraPredAng。
[表格4]
PredModeIntra 1 2 3 4 5 6 7
IntraPredAng - 32 26 21 17 13 9
PredModeIntra 8 9 10 11 12 13 14
IntraPredAng 5 2 0 -2 -5 -9 -13
PredModeIntra 15 16 17 18 19 20 21
IntraPredAng -17 -21 -26 -32 -26 -21 -17
PredModeIntra 22 23 24 25 26 27 28
IntraPredAng -13 -9 -5 -2 0 2 5
PredModeIntra 29 30 31 32 33 34
IntraPredAng 9 13 17 21 26 32
表格4表示每一个帧内预测模式的帧内方向参数,其中,当定义了35个帧内预测模式时,每一个帧内预测模式的索引是2至34中的一个。当方向帧内预测模式被定义为多于33个时,可通过对表格4进行细划分来设置每一个帧内预测模式的帧内方向参数。当前块的顶部参考样点和左侧参考样点被排列成线,然后可基于帧内方向参数的值获得预测样点。在这方面,当帧内方向参数的值为负值时,左侧参考样点和顶部参考样点可被排列成线。
图26和图27是分别示出参考样点被排列成线的一维排列的示例的示图。
图26是示出沿垂直方向排列参考样点的垂直方向一维排列的示图,并且图27是示出沿水平方向排列参考样点的水平方向一维排列的示图。在假设定义了35个帧内预测模式的条件下将描述图26和图27的示例。
当帧内预测模式索引是11至18中的任何一个时,可应用水平方向的一维排列,其中,顶部参考样点被沿逆时针旋转,并且当帧内预测模式索引是19至25中的任何一个时,可应用垂直方向的一维排列,其中,左侧参考样点被沿顺时针旋转。当将参考样点排列成线时,可考虑帧内预测模式角度。
可基于帧内方向参数来确定参考样点确定参数。参考样点确定参数可包括用于指定样点的参考样点索引、以及用于确定被施加于参考样点的加权因子的加权因子参数。
可通过下面的等式10和等式11分别获得参考样点索引iIdx和加权因子参数ifact。
[等式10]
iIdx=(y+1)*Pang/32
[等式11]
ifact=[(y+1)*Pang]&31
在等式10和等式11中,Pang表示帧内方向参数。由参考样点索引iIdx指定的参考样点与整数像素相应。
为了推导预测样点,指定至少一个参考样点。具体地,根据预测模式的斜率,可指定用于推导预测样点的参考样点的位置。在示例中,可通过使用参考样点索引iIdx来指定用于推导预测样点的参考样点。
在这方面,当帧内预测模式的斜率不由一个参考样点表示时,可通过对多个参考样点执行插值来产生预测样点。在示例中,当帧内预测模式的斜率是预测样点和第一参考样点之间的斜率与预测样点和第二参考样点之间的斜率之间的值时,可通过对第一参考样点和第二参考样点执行插值来获得预测样点。换句话说,当根据帧内预测角度的角度线不穿过位于整数像素处的参考样点时,可通过对位置与角度线通过的位置的左侧与右侧或者顶部与底部相邻的参考样点执行插值来获得预测样点。
下面的等式12表示基于参考样点获得预测样点的示例。
[等式12]
P(x,y)=((32-ifact)/32)*Ref_1D(x+iIdx+l)+(ifact/32)*Ref_1D(x+iIdx+2)
在等式12中,P表示预测样点,Ref_1D表示被排列成线的参考样点中的任何一个。在这方面,可通过预测样点的位置(x,y)和参考样点索引iIdx来确定参考样点的位置。
当帧内预测模式的斜率可由一个参考样点表示时,将加权因子参数ifact设置为0。因此,可将等式12简化为下面的等式13。
[等式13]
P(x,y)=Ref_1D(x+iIdx+1)
可基于多个帧内预测模式执行针对当前块的帧内预测。在示例中,可针对每一个预测样点推导帧内预测模式,并且可基于被分配给每一个预测样点的帧内预测模式来推导预测样点。
可选地,可针对每一个区域推导帧内预测模式,可基于被分配给每一个区域的帧内预测模式来执行针对每一个区域的帧内预测。在这方面,所述区域可包括至少一个样点。可基于当前块的尺寸、当前块的形状和当前块的帧内预测模式中的至少一个自适应地确定区域的尺寸和形状中的至少一个。可选地,可在编码器和解码器中独立于当前块的尺寸或形状来预先定义区域的尺寸和形状中的至少一个。
图28是示出在方向帧内预测模式与平行于x轴的直线之间形成的度数的示图。
作为在图28中所示出的示例,方向预测模式可存在于左下方对角线方向与右上方对角线方向之间。在描述在x轴与方向预测模式之间形成的度数时,方向预测模式可存在于从45度(左下方对角线方向)到-135度(右上方对角线方向)。
在当前块为非正方形时,可能存在如下情况:通过使用位于根据帧内预测角度的角度线处的参考样点中的位于比靠近根据用于当前块的帧内预测模式的预测样点的参考样点更远的参考样点来推导预测样点。
图29是示出在当前块为非正方形时获得预测样点的一方面的示图。
在示例中,作为图29的(a)中所示出的示例,假设当前块为宽度大于高度的非正方形,并且当前块的帧内预测模式是具有0度至45度的角度的方向帧内预测模式。在上述情况下,当在位于根据上述角度的角度模式处的参考样点中推导当前块的右侧的列周围的预测样点A时,可能存在使用远离该预测样点的左侧参考样点L而不使用靠近该预测样点的顶部参考样点T的情况。
在另一示例中,作为图29的(b)中所示出的示例,假设当前块为高度大于宽度的非正方形,并且当前块的帧内预测模式是从-90度到-135度的方向帧内预测模式。在上述情况下,当在位于根据上述角度的角度模式处的参考样点中推导当前块的底部的行周围的预测样点A时,可能存在使用远离该预测样点的顶部参考样点T而不使用靠近该预测样点的左侧参考样点L的情况。
为了解决上述问题,在当前块为非正方形时,可用相反方向的帧内预测模式替换当前块的帧内预测模式。因此,对于非正方形块,可使用角度大于或小于在图25中所示出的方向预测模式的角度的方向预测模式。上述方向帧内预测模式可被定义为广角帧内预测模式。广角帧内预测模式表示不属于45度到-135度范围的方向帧内预测模式。
图30是示出广角帧内预测模式的示图。
在图30中所示出的示例中,具有从-1到-14的索引的帧内预测模式和具有从67到80的索引的帧内预测模式表示广角帧内预测模式。
在图30中,示出了角度大于45度的14个广角帧内预测模式(从-1到-14)和角度小于-135度的4个广角帧内预测模式(从67到80)。然而,可定义更多个或更少个数量的广角帧内预测模式。
当使用广角帧内预测模式时,可将顶部参考样点的长度设置为2W+1,并且可将左侧参考样点的长度设置为2H+1。
通过使用广角帧内预测模式,可通过使用参考样点T来预测图30的(a)所示出的样点A,并且可通过参考样点L来预测图30的(b)所示出的样点A。
除了传统帧内预测模式和N个广角帧内预测模式之外,还可使用总共67+N个帧内预测模式。在示例中,表格5表示当定义了20个广角帧内预测模式时用于帧内预测模式的帧内方向参数。
[表格5]
Figure BDA0002924090890000541
Figure BDA0002924090890000551
在当前块为非正方形,并且在S2502获得的当前块的帧内预测模式属于变换范围时,可将当前块的帧内预测模式变换为广角帧内预测模式。可基于当前块的尺寸、形状或比率中的至少一个来确定变换范围。在这方面,所述比率可表示当前块的宽度与高度之比。在当前块为宽度大于高度的非正方形时,可将变换范围设置为从右上方对角线方向的帧内预测模式索引(例如,66)至(右上方对角线方向的帧内预测模式索引-N)。在这方面,可基于当前块的比率来确定N。在当前块的帧内预测模式属于变换范围时,可将帧内预测模式变换为广角帧内预测模式。该变换可以是从帧内预测模式中减去预定义值,并且预定义值可以是不包括广角帧内预测模式的帧内预测模式的总数(例如,67)。
在以上示例中,可将从编号66到编号53的帧内预测模式分别变换为从编号-1到编号-14的广角帧内预测模式。
在当前块为高度大于宽度的非正方形时,可将变换范围设置为从左下方对角线方向的帧内预测模式索引(例如,2)至(左下方对角线方向的帧内预测模式索引+M)。在这方面,可基于当前块的比率来确定M。在当前块的帧内预测模式属于变换范围时,可将帧内预测模式变换为广角帧内预测模式。该变换可以是将预定义值与帧内预测模式相加,并且预定义值可以是除广角帧内预测模式之外的方向帧内预测模式的总数(例如,65)。
在以上示例中,可将从编号2到编号15的帧内预测模式分别变换为从编号67到编号80的广角帧内预测模式。
在下文中,属于变换范围的帧内预测模式被称为广角帧内预测替换模式。
可基于当前块的比率来确定变换范围。在示例中,表格6和表格7分别示出定义了除广角帧内预测模式之外的35个帧内预测模式的情况以及定义了除广角帧内预测模式之外的67个帧内预测模式的情况的变换范围。
[表格6]
条件 替换的帧内预测模式
W/H=2 模式2、模式3、模式4
W/H>2 模式2、模式3、模式4、模式5、模式6
W/H=1
H/W=1/2 模式32、模式33、模式34
H/W<1/2 模式30、模式31、模式32、模式33、模式34
[表格7]
Figure BDA0002924090890000561
如在表格4和表格5中所示出的示例,包括在变换范围中的广角帧内预测替换模式的数量可根据当前块的比率而变化。可进一步对当前块的比率进行细划分以设置如下面的表格8所示出的变换范围。
[表格8]
Figure BDA0002924090890000562
Figure BDA0002924090890000571
当非相邻参考样点线被确定为当前块的参考样点线时,或者当用于选择多条参考样点线中的一条的多线帧内预测编码方法被使用时,可将预测方法配置为不使用广角帧内预测模式。也就是说,尽管当前块具有非正方形形状,并且当前块的帧内预测模式属于变换范围,但可以不将当前块的帧内预测模式变换为广角帧内预测模式。可选地,在当前块的帧内预测模式被确定为广角帧内预测模式时,可将预测方法配置为使得非相邻参考样点线不可用作当前块的参考样点线,或者可将预测方法配置为不使用用于选择多条参考样点线中的一条的多线帧内预测编码方法。当不使用多线帧内预测编码方法时,可将相邻参考样点线确定为当前块的参考样点线。
当不使用广角帧内预测模式时,可将refW和refH中的每一个设置为nTbW与nTbH的总和。因此,与当前块间隔开i的非相邻参考样点线可包括除了左上参考样点之外的(nTbW+nTbH+offsetX[i])个顶部参考样点和(nTbW+nTbH+offsetY[i])个左侧参考样点。也就是说,与当前块间隔开i的非相邻参考样点线可包括(2nTbW+2nTbH+offsetX[i]+offsetY[i]+1)个参考样点。例如,当whRatio的值大于1时,可将offsetX的值设置为大于offsetY的值。在一个示例中,当offsetX的值可被设置为1时,可将offsetY的值设置为0。相反,当whRatio的值小于1时,可将offsetY的值设置为大于offsetX的值。在一个示例中,可将offsetX的值设置为0,并且可将offsetY的值设置为1。
由于除了传统帧内预测模式之外还使用广角帧内预测模式,因此可增加用于对广角帧内预测模式进行编码的资源,因此可能降低编码效率。因此,对广角帧内预测模式的替换帧内预测模式进行编码而不是按照原样对广角帧内预测模式进行编码,以便提高编码效率。
在示例中,当通过使用编号67的广角帧内预测模式对当前块进行编码时,可将编号2编码为当前块的帧内预测模式,其中,编号2是编号67的广角替换帧内预测模式。另外,当通过使用编号-1的广角帧内预测模式对当前块进行编码时,可将编号66编码为当前块的帧内预测模式,其中,编号67是编号-1的广角替换帧内预测模式。
解码器可对当前块的帧内预测模式进行解码,并且确定解码的帧内预测模式是否属于变换范围。当解码的帧内预测模式是广角替换帧内预测模式时,可将帧内预测模式变换为广角帧内预测模式。
可选地,在当前块通过广角帧内预测模式被编码时,可按照原样对广角帧内预测模式进行编码。
可基于以上所述的MPM列表执行对帧内预测模式的编码。具体地,当邻近块在广角帧内预测模式下被编码时,可基于与广角帧内预测模式相应的广角替换帧内预测模式来设置MPM。
可将编码块或变换块分区为多个子块(或子分区)。当编码块或变换块被分区为多个子块时,可针对每一个子块执行预测、变换和量化。将编码块或变换块划分为多个子块可被定义为子分区帧内编码方法。
可在比特流中用信号传送指示是否应用子分区帧内编码方法的信息。所述信息可以是1比特标志。在一个示例中,可在比特流中用信号传送指示是否将编码块或变换块分区为多个子块的语法元素“intra_subpartitions_mode_flag”。
可选地,可基于编码块或变换块的尺寸、形状或帧内预测模式中的至少一个来确定是否应用子分区帧内编码方法。在一个示例中,当编码块的帧内预测模式是非方向帧内预测模式(例如,平面或DC模式)或预定义的方向帧内预测模式(例如,水平帧内预测模式、垂直帧内预测模式或对角线帧内预测模式)时,可以不应用子分区帧内编码方法。可选地,当编码块的尺寸小于阈值时,可以不应用子分区帧内编码方法。
可选地,当基于编码块的帧内预测模式执行子块的帧内预测时,可基于包括在邻近子块中的重建样点是否应被用作相应子块的帧内预测中的参考样点来确定是否应用子分区帧内编码方法。在一个示例中,当编码块的帧内预测模式为对角线帧内预测模式或广角帧内预测模式时,并且当包括在邻近子块中的重建样点无法被用作基于帧内预测模式针对相应子块执行帧内预测时的参考样点时,可以不应用子分区帧内编码方法。
可选地,当编码块的高宽比大于或小于阈值时,可以不应用子分区帧内编码方法。可选地,当编码块的高度或宽度中的至少一个小于阈值时,可以不应用子分区帧内编码方法。在一个示例中,当编码块的宽度或高度小于阈值时,或者当编码块的高度和宽度两者都小于阈值时,可以不应用子分区帧内编码方法。可选地,当包括在编码块中的样点的数量小于或等于阈值时,可以不应用子分区帧内编码方法。阈值可具有在编码器和解码器中预定义的值。可选地,可在比特流中用信号传送用于确定阈值的信息。
可选地,可基于编码块或变换块的尺寸、形状或帧内预测模式中的至少一个来确定是否用信号传送指示是否应用子分区帧内编码方法的标志。在一个示例中,仅当编码块的高度和宽度两者都小于阈值和/或编码块的尺寸大于阈值时,可在比特流中对指示是否应用子分区帧内编码方法的标志进行编码并且用信号传送指示是否应用子分区帧内编码方法的标志。当指示是否应用子分区帧内编码方法的标志未被编码时,可以不应用子分区帧内编码方法。
当不应用子分区帧内编码方法时,可省略语法元素intra_subpartitions_mode_flag的信号传送。当省略标志的信号传送时,可认为标志指示不应用子分区帧内编码方法。
当应用子分区帧内编码方法时,可确定编码块或变换块的分区类型。在这方面,分区类型指示编码块或变换块的分区的方向。在一个示例中,垂直分区是指使用至少一个垂直线对编码块或变换块进行分区。水平分区可指使用至少一个水平线对编码块或变换块进行分区。
图31是示出垂直分区和水平分区的示例的示图。
图31的(a)示出将编码块划分为两个子块的示例,图31的(b)示出将编码块划分为四个子块的示例。
可在比特流中用信号传送用于确定编码块或变换块的分区类型的信息。在一个示例中,可在比特流中用信号传送指示是将垂直分区还是将水平分区应用于编码块或变换块的信息。所述信息可以是1比特标志intra_subpart_type_flag。当标志值的值为1时,其指示沿水平方向对编码块或变换块进行分区,并且当标志值为0时,其指示沿垂直方向对编码块或变换块进行分区。
可选地,可基于编码块或变换块的尺寸、形状或帧内预测模式来确定编码块或变换块的分区类型。在一个示例中,基于编码块的宽度与高度的比率,可确定编码块的分区类型。例如,当表示编码块的高宽比的whRatio的值大于或等于第一阈值时,可将垂直分区应用于编码块。否则,可将水平分区应用于编码块。
图32是示出确定编码块的分区类型的示例的示图。
为了便于描述,假设第一阈值是2。在图32的(a)所示出的示例中,编码块的whRatio为1,因此小于第一阈值。因此,可省略对指示编码块的分区类型的信息的编码,并且可将水平分区应用于编码块。
在图32的(b)所示出的示例中,编码块的whRatio为2并且等于第一阈值。因此,可省略对指示编码块的分区类型的信息的编码,并且可将垂直分区应用于编码块。
可使用具有与第一阈值的正负号相反的正负号的第二阈值来确定编码块的分区类型。在一个示例中,当whRatio的值小于第二阈值时,可将水平分区应用于编码块。否则,可将垂直分区应用于编码块。第一阈值和第二阈值的绝对值可相同,并且第一阈值和第二阈值可具有相反的正负号。在一个示例中,当第一阈值是N(其中,N是诸如1、2、4等的整数)时,第二阈值可以是-N。
图33是示出确定编码块的分区类型的示例的示图。
为了便于描述,假设第二阈值为-2。在图33的(a)所示出的示例中,编码块的whRatio为-1,并且大于第二阈值。因此,可省略对指示编码块的分区类型的信息的编码,并且可将垂直分区应用于编码块。
在图33的(b)所示出的示例中,编码块的whRatio为-2,并且与第二阈值相同。因此,可省略对指示编码块的分区类型的信息的编码,并且可将水平分区应用于编码块。
可选地,可基于第一阈值和第二阈值确定编码块的分区类型。在一个示例中,当whRatio的值大于第一阈值时,可将水平分区应用于编码块。当whRatio的值小于第二阈值时,可将垂直分区应用于编码块。当whRatio的值存在于第一阈值与第二阈值之间时,可从比特流解析信息,并且可基于解析的信息确定当前块的分区类型。
可在编码器和解码器中预先定义第一阈值和第二阈值。可选地,可针对每一个序列、每一个画面或每一个条带定义第一阈值和第二阈值。
可选地,可基于编码块或变换块的尺寸来确定分区类型。在一个示例中,当编码块的尺寸为N×n时,可应用垂直分区。当编码块的尺寸为n×N时,可应用水平分区。在这方面,n可以是小于N的自然数。N和/或n可以是编码器和解码器中的预定义值。可选地,可在比特流中用信号传送用于确定N和/或N的信息。在一个示例中,N可以是32、64、128或256等。因此,当编码块的尺寸为128×n(其中,n是诸如16、32或64的自然数)时,可应用垂直分区。当编码块的尺寸为n×28时,可应用水平分区。
可选地,可基于编码块或变换块的帧内预测模式来确定编码块或变换块的分区类型。在一个示例中,当编码块的帧内预测模式具有水平方向或与水平方向类似的方向时,可将垂直分区应用于编码块。在这方面,与水平方向类似的方向上的帧内预测模式可指与水平帧内预测模式的索引(例如,在图25的(b)中所示出的INTRA_ANGULAR18)的索引差小于阈值的帧内预测模式(例如,INTRA_ANGULAR18±N)。相反,当编码块的帧内预测模式具有垂直方向或与垂直方向类似的方向时,可将水平分区应用于编码块。在这方面,与垂直方向类似的方向上的帧内预测模式可指与垂直帧内预测模式的索引(例如,在图25的(b)中所示出的INTRA_ANGULAR50)的索引差小于阈值的帧内预测模式(例如,INTRA_ANGULAR50±N)。在这方面,阈值N可以是编码器和解码器中的预定义值。可选地,可在序列、画面或条带级别用信号传送用于确定阈值N的信息。
图34是示出基于编码块的帧内预测模式确定编码块的分区类型的示例的示图。
如在图34的(a)中所示出的示例中,当编码块的帧内预测模式在与垂直方向类似的方向上时,可将水平分区应用于编码块。
相反,如在图34的(b)中所示出的示例中,当编码块的帧内预测模式在与水平方向类似的方向上时,可将垂直分区应用于编码块。
与示出的示例相反,当编码块的帧内预测模式在水平方向或与水平方向类似的方向上时,可应用水平分区。当编码块的帧内预测模式在垂直方向或与垂直方向类似的方向上时,可应用垂直分区。
可基于通过基于垂直分区对编码块或变换块进行分区而产生的子块中的每一个的宽度或高度中的至少一个是否小于阈值来确定编码块或变换块的分区类型。在这方面,阈值可以是诸如2、4或8的整数。
图35是用于描述编码块的分区的示图。
当将水平分区应用于图35的(a)中所示出的4×8尺寸的编码块时,将编码块分区为两个子块,其中,每一个子块具有2×8尺寸。在此情况下,由于子块的宽度小于阈值,因此水平分区可能不可用于编码块。相反,当将垂直分区应用于4×8尺寸的编码块时,将编码块分区为两个子块,其中,每一个子块具有4×4尺寸。由于子块的宽度和高度都大于阈值,因此垂直分区可用于编码块。由于仅垂直分区可用于编码块,因此可省略对指示编码块的分区类型的信息的编码,并且可将垂直分区应用于编码块。
当将垂直分区应用于图35的(b)中所示出的8×4尺寸的编码块时,将编码块分区为两个子块,其中,每一个子块具有8×2的尺寸。在此情况下,由于子块的高度小于阈值,因此垂直分区可能不可用于编码块。相反,当将水平分区应用于8×4尺寸的编码块时,将编码块分区为两个子块,其中,每一个子块具有4×4尺寸,由于子块的宽度和高度都大于阈值,因此可将水平分区应用于编码块。由于仅水平分区可用于编码块,因此可省略对指示编码块的分区类型的信息的编码,并且可将垂直分区应用于编码块。
当垂直分区和水平分区都可用时,可对指示编码块的分区类型的信息进行解析,然后可基于解析的信息确定编码块的分区类型。
可基于编码块或变换块的尺寸或形状中的至少一个来确定子块的数量。在一个示例中,当编码块的宽度和高度中的一个为8并且宽度和高度中的另一个为4时,可将编码块分区为两个子块。相反,当编码块的宽度和高度两者都为8或更大时,或者当编码块的宽度和高度中的一个大于8时,可将编码块划分为四个子块。总之,当编码块为4×4尺寸时,可不将编码块分区为子块。当编码块为4×8或8×4尺寸时,可将编码块分区为两个子块。在其它情况下,可将编码块分区为四个子块。
可选地,可在比特流中用信号传送指示子块的尺寸或形状或者子块的数量的信息。可基于指示子块的数量的信息来确定子块的尺寸或形状。可选地,可基于指示子块的尺寸或形状的信息来确定子块的数量。
当应用子分区帧内编码方法时,通过对编码块或变换块进行分区而产生的子块可使用相同的帧内预测模式。在一个示例中,基于与编码块相邻的邻近块的帧内预测模式,可推导针对编码块的MPM,然后可基于推导的MPM确定编码块的帧内预测模式。当编码块的帧内预测模式被确定时,可使用确定的帧内预测模式执行每一个子块的帧内预测。
当应用子分区帧内编码方法时,可将MPM中的一个确定为编码块的帧内预测模式。也就是说,当应用子分区帧内编码方法时,即使没有用信号传送MPM标志,也可认为MPM标志为真。
可选地,当应用子分区帧内编码方法时,可将预定义的候选帧内预测模式中的一个确定为编码块的帧内预测模式。在一个示例中,可将水平帧内预测模式、垂直帧内预测模式、对角线帧内预测模式(例如,左上方帧内预测模式、右上方帧内预测模式或左下方帧内预测模式中的至少一个)以及非方向性帧内预测模式(例如,平面模式或DC模式中的至少一个)中的一个确定为编码块的帧内预测模式。可在比特流中用信号传送指定预定义的候选帧内预测模式中的一个的索引信息。可选地,候选帧内预测模式的数量和/或类型可根据编码块的分区方向而变化。在一个示例中,当将水平分区应用于编码块时,可将非方向帧内预测模式、垂直帧内预测模式、左上方对角线帧内预测模式或右上方对角线帧内预测模式中的至少一个设置为候选帧内预测模式。相反,当将垂直分区应用于编码块时,可将非方向帧内预测模式、水平帧内预测模式、左上方对角线帧内预测模式或左下方对角线帧内预测模式中的至少一个设置为候选帧内预测模式。
根据本公开的实施例,可将子块中的至少一个的帧内预测模式设置为与其他子块的帧内预测模式不同。在一个示例中,可通过将偏移与第(N-1)子块的帧内预测模式相加或者从第(N-1)子块的帧内预测模式减去偏移来推导第N子块的帧内预测模式。可在编码器和解码器中预先定义偏移。可选地,可基于编码块的尺寸、形状或帧内预测模式、子块的尺寸或形状、子块的数量或编码块的分区方向中的至少一个来推导偏移。可选地,可在比特流中用信号传送用于推导偏移的信息。
可选地,当第(N-1)子块的帧内预测模式为非方向模式时,可将第N子块的帧内预测模式设置为与第(N-1)子块的帧内预测模式相同。当第(N-1)子块的帧内预测模式为方向模式时,可将通过将偏移与第(N-1)子块的帧内预测模式相加或者从第(N-1)子块的帧内预测模式减去偏移而推导的帧内预测模式设置为与第N子块的帧内预测模式相同。
可选地,可将方向帧内预测模式应用于多个子块中的一些子块,同时可将非方向帧内预测模式应用于其余子块。可基于子块的尺寸、形状或位置或者子块的数量中的至少一个来确定将应用非方向帧内预测模式的子块。可选地,仅当被应用于所述多个子块中的一个子块的方向帧内预测模式具有预定义值时,可将非方向帧内预测模式应用于所述多个子块中的另一个子块。
可选地,可从MPM推导每一个子块的帧内预测模式。为此,可针对每一个子块用信号传送指定MPM中的一个的索引信息。
可选地,可从预定义的候选帧内预测模式推导每一个子块的帧内预测模式。为此,可针对每一个子块用信号传送指定预定义的候选帧内预测模式中的一个的索引信息。不同子块可具有不同数量和/或类型的候选帧内预测模式。
可选地,可在比特流中用信号传送指示是否将子块的帧内预测模式设置为彼此相同的信息。
可单独确定子块的量化参数。因此,可不同地设置针对每一个子块的量化参数值。为了确定每一个子块的量化参数,可对指示子块的量化参数与先前子块的量化参数之间的差的信息进行编码。在一个示例中,为了确定第N子块的量化参数,可对第N子块的量化参数与第(N-1)子块的量化参数之间的差进行编码。
可使用参考样点执行子块的帧内预测。在这方面,可从与子块相邻的邻近块的重建样点推导参考样点。当与子块相邻的邻近块被包括在包括该子块的同一编码块中时,可基于邻近子块的重建样点推导该子块的参考样点。在一个示例中,当第一子块位于第二子块的左侧或顶部时,可从第一子块的重建样点推导第二子块的参考样点。为此,可以不将并行帧内预测应用于子块之间。也就是说,可对包括在编码块中的子块顺序地执行编码/解码。因此,在完成第一子块的编码/解码之后,可执行第二子块的帧内预测。
当应用子分区帧内编码方法时,可以不应用在多个参考样点线候选中选择一个参考样点线候选的多线帧内预测编码方法。当不应用多线帧内预测编码方法时,可将与每一个子块相邻的相邻参考样点线确定为每一个子块的参考样点线。可选地,在当前块的参考样点线的索引大于0时,可省略对指示是否应用子分区帧内编码方法的语法元素intra_subpartitions_mode_flag的编码。当省略对语法intra_subpartitions_mode_flag的编码时,可以不应用子分区帧内编码方法。
可选地,即使当应用子分区帧内编码方法时,也可使用多线帧内预测编码方法。为此,可在比特流中用信号传送用于指定针对每一个子块的参考样点线的索引信息。可选地,可仅针对多个子块中的一个子块在比特流中用信号传送用于指定参考样点线的索引信息,并且此索引信息可应用于其余子块。可选地,可用信号传送用于指定针对编码块的参考样点线的索引信息,并且包括在编码块中的所述多个子块可共享索引信息。
可选地,仅子块中的具有预定义位置或预定义分区索引的子块可被配置为使用多线帧内预测编码方法。在一个示例中,可仅针对所述多个子块中的具有分区索引0的子块或者邻接编码块的顶部边界或左侧边界的子块用信号传送指定参考样点线候选中的一个的索引信息。在这方面,可以不将多线帧内预测编码方法应用于其余子块。因此,可使用相邻参考样点线来执行其余子块的帧内预测。
用于每一个子块的预测编码模式可以不同。在一个示例中,可将帧内预测应用于一些子块,同时可将帧间预测、当前画面参考或组合预测应用于其余子块。
图36是示出不同地设置用于每一个子块的预测编码模式的示例的示图。
可不同地设置针对每一个子块的帧内预测模式或预测编码模式。在一个示例中,在图36中所示出的示例中,可将帧内预测应用于子块0和子块1,同时可将当前画面参考应用于子块1和子块2。
当使用当前画面参考时,可从当前画面或条带(或并行块组)的预先解码区域推导子块的预测块。当应用当前画面参考时,可推导运动矢量以便指定子块的预测块。当前画面参考下的运动矢量可被称为“块矢量”。
可基于编码块或子块的邻近块的运动矢量推导运动矢量。可选地,可在比特流中用信号传送用于确定运动矢量的信息。
在这方面,可基于子块的尺寸或子块所属的编码块或变换块的尺寸来确定子块的运动矢量的最大值。在一个示例中,可将子块的运动矢量设置为不超过子块所属的编码块或变换块的边界。也就是说,可从子块所属的编码块中的预先编码/预先解码的区域推导子块的预测块。
可在比特流中编码并用信号传送指示编码块中的预先解码的子块中的一个的索引信息而不是运动矢量。可将子块的预测块确定为由索引信息指定的预先解码的子块。
在另一示例中,可允许子块的运动矢量超过子块所属的编码块或变换块的边界。
当产生预测块作为执行帧内预测的结果时,可基于包括在预测块中的预测样点中的每一个的位置来更新预测样点中的每一个。所述更新方法可被称为基于样点位置的帧内加权预测方法(或位置相关预测组合(Position Dependent Prediction Combination):PDPC)。
可考虑当前块的尺寸、形状或帧内预测模式、当前块的参考样点线、或者颜色分量来确定是否应用PDPC。在一个示例中,在当前块的帧内预测模式为平面模式、DC模式、垂直方向模式、水平方向模式、索引值小于垂直方向模式的索引值的模式或索引值大于水平方向模式的索引值的模式中的至少一个时,可应用PDPC。可选地,可仅在当前块的宽度和高度中的至少一个大于4时应用PDPC。可选地,仅在当前块的参考画面线的索引为0时,可应用PDPC。可选地,可仅在当前块的参考画面线的索引大于预定义值时应用PDPC。可选地,可仅将PDPC应用于亮度分量。可选地,根据是否满足以上列举的条件中的两个或更多个,可确定是否应用PDPC。
可选地,可基于是否应用子分区帧内编码方法来确定是否应用PDPC。在一个示例中,当将子分区帧内编码方法应用于编码块或变换块时,可以不应用PDPC。可选地,当将子分区帧内编码方法应用于编码块或变换块时,可将PDPC应用于多个子块中的至少一个子块。在这方面,可基于编码块或子块的尺寸、形状、位置、帧内预测模式或参考样点线索引中的至少一个来确定将被应用PDPC的子块。在一个示例中,可将PDPC应用于与编码块的顶部边界和/或左侧边界相邻的子块或与编码块的底部边界和/或右侧边界相邻的子块。可选地,基于子块的尺寸或形状,可将PDPC应用于包括在编码块中的所有子块,或者可以不将PDPC应用于包括在编码块中的所有子块。在一个示例中,当子块的宽度或高度中的至少一个小于阈值时,可省略对PDPC的应用。在另一示例中,可将PDPC应用于编码块中的所有子块。
可选地,根据通过对编码块或变换块进行分区而产生的每一个子块的尺寸、形状、帧内预测模式或参考画面索引中的至少一个是否满足预设条件,可确定是否将PDPC应用于每一个子块。在一个示例中,当子块的宽度或高度中的至少一个大于4时,可将PDPC应用于子块。
在另一示例中,可在比特流中用信号传送指示是否应用PDPC的信息。
可选地,可基于当前块的尺寸、形状或帧内预测模式或预测样点的位置中的至少一个来确定应用PDPC的区域。在一个示例中,在当前块的帧内预测模式的索引大于垂直方向模式的索引时,可以不校正x轴坐标或y轴坐标中的至少一个大于阈值的预测样点,并且可仅对x轴坐标或y轴坐标小于或等于阈值的预测样点执行校正。可选地,在当前块的帧内预测模式的索引小于水平方向模式的索引时,可以不校正x轴坐标或y轴坐标中的至少一个大于阈值的预测样点,并且可仅对x轴坐标或y轴坐标小于或等于阈值的预测样点执行校正。在这方面,可基于当前块的尺寸、形状或帧内预测模式中的至少一个来确定阈值。
当预测样点经由帧内预测被获得时,可基于获得的预测样点的位置来确定用于校正获得的预测样点的参考样点。为便于描述,在如稍后描述的实施例中,用于校正预测样点的参考样点可被称为PDPC参考样点。另外,经由帧内预测获得的预测样点可被称为第一预测样点,并且通过校正第一预测样点获得的预测样点可被称为第二预测样点。
图37是示出PDPC的应用方面的示图。
可使用至少一个PDPC参考样点来校正第一预测样点。PDPC参考样点可包括与当前块的左上角相邻的左上方参考样点、在当前块顶部的顶部参考样点或在当前块左侧的左侧参考样点中的至少一个。
可将包括在当前块的参考样点线中的参考样点中的至少一个设置为PDPC参考样点。可选地,不管当前块的参考样点线如何,可将属于具有索引0的参考样点线的参考样点中的至少一个设置为PDPC参考样点。在一个示例中,即使在使用包括在具有索引1或索引2的参考样点线中的参考样点获得第一预测样点时,也可使用包括在具有索引0的参考样点线中的参考样点获得第二预测样点。
可基于当前块的帧内预测模式、当前块的尺寸、当前块的形状或第一预测样点的位置中的至少一个来确定用于校正第一预测样点的PDPC参考样点的数量或位置。
在一个示例中,在当前块的帧内预测模式是平面模式或DC模式时,可使用顶部参考样点和左侧参考样点来获得第二预测样点。在这方面,顶部参考样点可以是与第一预测样点垂直排列的参考样点(例如,具有与第一预测样点的x坐标相同的x坐标的参考样点),并且左侧参考样点可以是与第一预测样点水平排列的参考样点(例如,具有与第一预测样点的y坐标相同的y坐标的参考样点)。
在当前块的帧内预测模式是水平帧内预测模式时,可使用顶部参考样点获得第二预测样点。在这方面,顶部参考样点可以是与第一预测样点垂直排列的参考样点。
在当前块的帧内预测模式是垂直帧内预测模式时,可使用左侧参考样点获得第二预测样点。在这方面,左侧参考样点可以是与第一预测样点水平排列的参考样点。
在当前块的帧内预测模式是左下方对角线方向帧内预测模式或右上方对角线方向帧内预测模式时,可基于左上方参考样点、上方参考样点和左侧参考样点获得第二预测样点。左上方参考样点可以是与当前块的左上角相邻的参考样点(例如,(-1,-1)位置的参考样点)。顶部参考样点可以是对角地位于第一预测样点的右上方的参考样点,并且左侧参考样点可以是对角地位于第一预测样点的左下方的参考样点。
总之,当第一预测样点的位置是(x,y)时,可将R(-1,-1)设置为左上方参考样点,并且可将R(x+y+1,-1)或R(x,-1)设置为顶部参考样点。此外,可将R(-1,x+y+1)或R(-1,y)设置为左侧参考样点。
在另一示例中,可基于当前块的形状或是否应用广角帧内模式中的至少一个来确定左侧参考样点或顶部参考样点的位置。
具体地,在当前块的帧内预测模式是广角帧内预测模式时,可将与位于第一预测样点的对角线方向上的参考样点间隔开偏移的参考样点设置为PDPC参考样点。在一个示例中,可将顶部参考样点R(x+y+k+1,-1)和左侧参考样点R(-1,x+y-k+1)设置为PDPC参考样点。
在这方面,可基于广角帧内预测模式来确定偏移k。以下等式14和等式15表示基于广角帧内预测模式推导偏移的示例。
[等式14]
k=CurrIntraMode-66
if(CurrIntraMode>66)
[等式15]
k=-CurrIntraMode
if(CurrIntraMode<0)
可基于第一预测样点与PDPC参考样点之间的加权和来确定第二预测样点。在一个示例中,可基于以下等式16获得第二预测样点。
[等式16]
pred(x,y)=(xL*RL+wT*RT-wTL*RTL+(64-wL-wT+wTL)*pred(x,y)+32)>>6
在等式16中,RL表示左侧参考样点,RT表示顶部参考样点,并且RTL表示左上方参考样点。pred(x,y)表示(x,y)位置的预测样点。wL表示被分配给左侧参考样点的权重,wT表示被分配给顶部参考样点的权重,并且wTL表示被分配给左上方参考样点的权重。可通过从最大值减去被分配给参考样点的权重来推导被分配给第一预测样点的权重。为了便于描述,被分配给PDPC参考样点的权重可被称为PDPC权重。
可基于当前块的帧内预测模式或第一预测样点的位置中的至少一个来确定被分配给每一个参考样点的每一个权重。
在一个示例中,wL、wT或wTL中的至少一个可与预测样点的x轴坐标值或y轴坐标值中的至少一个具有正比或反比关系。可选地,wL、wT或wTL中的至少一个可与当前块的宽度或高度中的至少一个成正比或成反比。
在当前块的帧内预测模式为DC模式时,可如以下等式17来确定PDPC权重。
[等式17]
wT=32>>((v<<1)>>shift)
wL=32>>((x<<1)>>shift)
wTL=(wL>>4)+(wT>>4)
在以上等式17中,x和y表示第一预测样点的位置。
可基于当前块的宽度或高度推导等式17中的位移位操作中所使用的变量shift。在一个示例中,可基于以下等式18或等式19推导变量shift。
[等式18]
shift=(log2(width)-2+log2(height)-2+2)>>2
[等式19]
shift=((Log2(nTbW)+Log2(nTbH)-2)>>2)
可选地,可基于当前块的帧内方向参数推导变量shift。
用于推导变量shift的参数的数量或类型可基于当前块的帧内预测模式而变化。在一个示例中,在当前块的帧内预测模式为平面模式、DC模式、垂直方向模式或水平方向模式时,如在以上等式18或等式19中所示出的示例中,可使用当前块的宽度(width)和高度(height)推导变量shift。在当前块的帧内预测模式是索引大于垂直帧内预测模式的索引的帧内预测模式时,可使用当前块的高度和帧内方向参数来推导变量shift。在当前块的帧内预测模式是索引小于水平帧内预测模式的索引的帧内预测模式时,可使用当前块的宽度和帧内方向参数来推导变量shift。
在当前块的帧内预测模式是平面模式时,可以将wTL值设置为0。可基于以下等式20推导wL和wT。
[等式20]
wT[y]=32>>((y<<1)>>shift)
wL[x]32>>((x<<1)>>shift)
在当前块的帧内预测模式是水平帧内预测模式时,可将wT设置为0,并且可将wTL和wL设置为彼此相等。相反,在当前块的帧内预测模式是垂直帧内预测模式时,可将wL设置为0,并且可将wTL和wT设置为彼此相等。
在当前块的帧内预测模式为右上方向上的索引值大于垂直帧内预测模式的索引值的帧内预测模式时,可基于以下等式21推导PDPC权重。
[等式21]
wT=16>>((y<<1)>>shift)
wL=16>>((x<<1)>>shift)
wTL=0
相反,在当前块的帧内预测模式为左下方向上的索引值小于水平帧内预测模式的索引值的帧内预测模式时,可基于以下等式22推导PDPC权重。
[等式22]
wT=16>>((y<<1)>>shift)
wL=16>>((x<<1)>>shift)
wTL=0
如在上述实施例中,可基于预测样点的位置x和y来确定PDPC权重。
在另一示例中,可基于子块确定被分配给PDPC参考样点中的每一个的权重。包括在子块中的预测样点可共享相同的PDPC权重。
可在编码器和解码器中预先定义作为确定权重的基本单元的子块的尺寸。在一个示例中,可针对2×2尺寸或4×4尺寸的每一个子块确定权重。
可选地,可基于当前块的尺寸或形状确定子块的尺寸或形状、或者子块的数量。在一个示例中,不管编码块的尺寸如何,可将编码块可分区为4个子块。可选地,根据编码块的尺寸,可将编码块分区为4或16个子块。
可选地,可基于当前块的帧内预测模式来确定子块的尺寸或形状、或者子块的数量。在一个示例中,在当前块的帧内预测模式具有水平方向时,可将N个列(或N个行)设置为一个子块。在当前块的帧内预测模式具有垂直方向时,可将N个行(或N个列)设置为一个子块。
以下等式23至等式19表示确定2×2尺寸的子块的PDPC权重的示例。等式23举例说明当前块的帧内预测模式为DC模式的情况。
[等式23]
wT=32>>(((y<<log2K)>>log2K)<<1)>>shift)
wL=32>>(((x<<log2K))>>log2K))<<1)>>shift)
wTL=(wL>>4)+(wT>>4)
在等式23中,可基于子块的尺寸确定K。
等式24举例说明当前块的帧内预测模式为具有右上方向的索引值大于垂直帧内预测模式的索引值的帧内预测模式的情况。
[等式24]
wT=16>>(((y<<log2K))>>log2K))<<1)>>shift)
wL=16>>(((x<<log2K))>>log2K))<<1)>>shift)
wTL=0
等式25举例说明当前块的帧内预测模式为具有左下方向的索引值小于水平帧内预测模式的索引值的帧内预测模式的情况。
[等式25]
wT=16>>(((y<<log2K))>>log2K))<<1)>>shift)
wL=16>>(((x<<log2K))>>log2K))<<1)>>shift)
wTL=0
在等式23至等25中的每一个等式中,x和y表示子块中的参考样点的位置。参考样点可以是位于子块的左上方处的样点、位于子块的中心处的样点或位于子块的右下方处的样点中的一个。
以下等式26至等式28表示确定4×4尺寸的子块的PDPC权重的示例。等式26举例说明当前块的帧内预测模式为DC模式的情况。
[等式26]
wT=32>>(((y<<2)>>2)<<1)>>shift)
wL=32>>(((x<<2)>>2)<<1)>>shift)
wTL=(wL>>4)+(wT>>4)
等式27举例说明当前块的帧内预测模式为具有右上方向的索引值大于垂直帧内预测模式的索引值的帧内预测模式的情况。
[等式27]
wT=16>>(((y<<2)>>2)<<1)>>shift)
wL16>>(((x<<2)>>2)<<1)>>shift)
wTL=0
等式28举例说明当前块的帧内预测模式为具有左下方向的索引值小于水平帧内预测模式的索引值的帧内预测模式的情况。
[等式28]
wT=16>>(((y<<2)>>2)<<1)>>shift)
wL=16>>(((x<<2)>>2)<<1)>>shift)
wTL=0
在上述实施例中,已经描述了考虑第一预测样点或包括在子块中的多个预测样点的位置来确定PDPC权重。在另一示例中,可基于当前块的形状来确定PDPC权重。
在一个示例中,在DC模式中,PDPC权重推导方法可根据当前块是宽度大于高度的非正方形还是高度大于宽度的非正方形而变化。
以下等式29表示在当前块为其宽度大于其高度的非正方形时推导PDPC权重的示例。以下等式30表示在当前块为其高度大于其宽度的非正方形时推导PDPC权重的示例。
[等式29]
wT=32>>((y<<1)>>shift)
wL=32>>(x>>shift)
wTL=(wL>>4)+(wT>>4)
[等式30]
wT>>(y>>shift)
wL=32>>((x<<1)>>shift)
wTL=(xL>>4)+(wT>>4)
在当前块为非正方形时,可使用广角帧内预测模式来预测当前块。以这种方式,即使在应用广角帧内预测模式时,也可通过应用PDPC来更新第一预测样点。
当将广角帧内预测应用于当前块时,可基于编码块的形状确定PDPC权重。
在一个示例中,在当前块为其宽度大于其高度的非正方形时,根据第一预测样点的位置,可能发生位于第一预测样点右上方的顶部参考样点比位于第一预测样点左下方的左侧参考样点更靠近第一预测样点的情况。因此,在校正第一预测样点时,可将施加于顶部参考样点的权重设置为具有比施加于左侧参考样点的权重更大的值。
相反,在当前块为其高度大于其宽度的非正方形时,根据第一预测样点的位置,可能发生位于第一预测样点左下方的左侧参考样点比位于第一预测样点右上方的顶部参考样点更靠近第一预测样点的情况。因此,在校正第一预测样点时,可将施加于左侧参考样点的权重设置为具有比施加于顶部参考样点的权重更大的值。
以下等式31表示在当前块的帧内预测模式为索引大于66的广角帧内预测模式时推导PDPC权重的示例。
[等式31]
wT=16>>(y>>shift)
wL=16>>((x<<1)>>shift)
wTL=0
等式32表示在当前块的帧内预测模式为索引小于0的广角帧内预测模式时推导PDPC权重的示例。
[等式32]
wT=16>>((y<<1)>>shift)
wL=16>>(x>>shift)
wTL=0
基于当前块的比率,可确定PDPC权重。当前块的比率表示当前块的宽度与高度的比率,并且可被定义为以下等式33。
[等式33]
whRatio=CUwidth/CUheight
基于当前块的帧内预测模式,用于推导PDPC权重的方法可变化。
在一个示例中,以下等式34和等式35表示在当前块的帧内预测模式为DC模式时推导PDPC权重的示例。具体地,等式34示出在当前块为其宽度大于其高度的非正方形时推导PDPC权重的示例。等式35示出在当前块为其宽度小于其高度的非正方形时推导PDPC权重的示例。
[等式34]
wT=32>>((y<<1)>>shift)
wL=32>>(((x<<1)>>whRatio)>>shift)
wTL=(wL>>4)+(wT>>4)
[等式35]
wT=32>>(((y<<1)>>1/whRatio)>>shift)
wL=32>>((x<<1)>>shift)
wTL=(wL>>4)+(wT>>4)
等式36表示在当前块的帧内预测模式为索引大于66的广角帧内预测模式时推导PDPC权重的示例。
[等式36]
wT=16>>(((y<<1)>>1/whRatio)>>shift)
wL=16>>((x<<1)>>shift)
wTL=0
等式37表示在当前块的帧内预测模式为索引小于0的广角帧内预测模式时推导PDPC权重的示例。
[等式37]
wT=16>>((y<<1)>>shift)
wL=16>>(((x<<1)>>whRatio)>>shift
wTL=0
可通过从原始图像中减去预测图像来推导残差图像。在这方面,当将残差图像转换到频域中时,即使从频率分量中去除高频分量,图像的主观图像质量也不会显著下降。因此,当高频分量的值被变换为小值时,或者当高频分量的值被设置为0时,可提高压缩效率而不会引起大的视觉失真。反映上述特征,可对当前块执行变换,以便将残差图像分解为二维频率分量。可通过使用诸如DCT(离散余弦变换)、DST(离散正弦变换)等的变换方法来执行变换。
DCT被配置为使用余弦变换将残差图像分解(或变换)为二维频率分量,DST被配置为使用正弦变换将残差图像分解(或变换)为2D频率分量。作为变换残差图像的结果,频率分量可被表示为基本图像。在一个示例中,当对N×N尺寸的块执行DCT变换时,可获得N2个基本模式分量。可经由变换获得包括在N×N尺寸的块中的每一个基本模式分量的大小。根据所使用的变换方案,基本模式分量的大小可被称为DCT系数或DST系数。
DCT的变换方案主要用于对非零低频分量以较大量分布的图像进行变换。DST的变换方案主要用于对高频分量以较大量分布的图像进行变换。
还可能的是,可使用除DCT或DST之外的变换方案来对残差图像进行变换。
在下文中,将残差图像变换为2D频率分量可被称为2D图像变换。另外,作为变换的结果获得的每一个基本模式分量的大小可被称为变换系数。在一个示例中,变换系数可指DCT系数或DST系数。当应用稍后将描述的第一变换和第二变换两者时,变换系数可表示作为第二变换的结果而产生的基本模式分量的大小。
可基于块来确定变换方法。可基于用于当前块的预测编码模式、当前块的尺寸或当前块的形状中的至少一个来确定变换方法。在示例中,当通过帧内预测模式对当前块进行编码并且当前块的尺寸小于N×N时,可通过使用DST的变换方法来执行变换。另一方面,当不满足上述条件时,可通过使用DCT的变换方法来执行变换。
对于残差图像的部分块,可以不执行二维图像变换。不执行二维图像变换可被称为变换跳过。当应用变换跳过时,可将量化应用于不执行变换的残差值。
在通过使用DCT或DST对当前块执行变换之后,可再次对变换的当前块执行变换。在这方面,基于DCT或DST的变换可被定义为第一变换,并且再次对应用了第一变换的块执行变换可被定义为第二变换。
可通过使用多个变换核候选中的任何一个来执行第一变换。在示例中,可通过使用DCT2、DCT8或DST7中的任何一个来执行第一变换。
可将不同的变换核用于水平方向和垂直方向。可在比特流中用信号传送表示水平方向的变换核与垂直方向的变换核的组合的信息。
可分别基于不同的块尺寸来执行第一变换和第二变换。在一个示例中,可在8×8尺寸的块的基础上执行第一变换,并且可在变换的8×8块的4×4尺寸的子块的基础上执行第二变换。可选地,可对属于三个子块的变换系数执行第二变换,其中,所述三个子块中的每一个具有4×4尺寸。三个子块可包括位于当前块的左上方的子块、与位于当前块的左上方的子块的右侧相邻的子块和与位于当前块的左上方的子块的底部相邻的子块。可选地,可在8×8尺寸的块基础上执行第二变换。
可将不执行第二变换的残差区域的变换系数设置为0。
可选地,可对4×4块执行第一变换,并且可对包括变换的4×4块的8×8尺寸的区域执行第二变换。
可在比特流中用信号传送指示是否执行第二变换的信息。在一个示例中,可在比特流中用信号传送指示是否执行第二变换的标志、或者指定是否执行第二变换的索引信息和用于第二变换的变换核。在一个示例中,当索引信息为0时,这指示不对当前块执行第二变换。相反,当索引信息大于0时,可基于索引信息确定用于执行第二变换的变换核。
可选地,可基于水平变换核与垂直变换核是否相同来确定是否执行第二变换。在一个示例中,可仅当水平变换核与垂直变换核相同时执行第二变换。可选地,可仅当水平变换核和垂直变换核彼此不同时执行第二变换。
可选地,仅当通过使用预定义变换核执行水平变换和垂直变换时,可允许第二变换。在一个示例中,当将DCT2变换核用于水平变换和垂直变换时,可允许第二变换。可选地,当将子分区帧内编码方法应用于当前块时,仅当将DCT2变换核用于水平变换和垂直变换时,可允许第二变换。
可选地,可基于当前块的非零变换系数的数量确定是否执行第二变换。在一个示例中,在当前块的非零变换系数的数量小于或等于阈值时,可以不应用第二变换。在当前块的非零变换系数的数量大于阈值时,可应用第二变换。仅当使用帧内预测对当前块进行编码时,可应用第二变换。
可选地,可基于当前块的最后一个非零变换系数的位置确定是否执行第二变换。在一个示例中,在当前块的最后非一个零变换系数的x轴坐标或y轴坐标中的至少一个大于阈值时,或在当前块的最后一个非零变换系数所属的子块的x轴坐标或y轴坐标中的至少一个大于阈值时,可以不执行第二变换。在这方面,可在编码器和解码器中预先定义阈值。可选地,可基于当前块的尺寸或形状确定阈值。
可选地,当仅DC分量的变换系数存在于当前块中时,可以不应用第二变换。在这方面,DC分量表示当前块中的左上方位置的变换系数。
基于当前块的形状,可确定将被执行第二变换的子块的尺寸或形状。
图38和图39是示出被执行第二变换的子块的示图。
在当前块为正方形时,可执行第一变换,然后可对当前块的左上方的N×N尺寸的子块执行第二变换。在一个示例中,在当前块为8×8尺寸的编码块时,可对当前块执行第一变换,然后可对当前块的左上方的4×4尺寸的子块执行第二变换(参见图38)。
在当前块为其宽度是其高度的4倍大或更大的非正方形时,可执行第一变换,然后可对当前块的左上方的(kN)×(4kN)尺寸的子块执行第二变换。在一个示例中,在当前块为16×4尺寸的非正方形时,可对当前块执行第一变换,然后可对当前块的左上方的2×8尺寸的子块执行第二变换(参见图39的(a))。
在当前块为其高度是其宽度的4倍大或更大的非正方形时,可执行第一变换,然后可对当前块的左上方的(4kN)×(kN)尺寸的子块执行第二变换。在一个示例中,在当前块为16×4尺寸的非正方形时,可对当前块执行第一变换,然后可对当前块的左上方的2×8尺寸的子块执行第二变换(参见图39的(b))。
在解码器中,可执行第二变换的逆变换(第二逆变换),并且可对第二逆变换的结果执行第一变换的逆变换(第一逆变换)。作为执行第二逆变换和第一逆变换的结果,可获得当前块的残差信号。
可在比特流中用信号传送指示当前块的变换类型的信息。所述信息可以是指示水平变换类型和垂直变换类型的组合中的一个的索引信息tu_mts_idx。
基于由索引信息tu_mts_idx指定的变换类型候选,可确定垂直变换核和水平变换核。表格9和表格10示出基于tu_mts_idx的变换类型组合。
[表格9]
Figure BDA0002924090890000771
[表格10]
Figure BDA0002924090890000772
Figure BDA0002924090890000781
可将变换类型确定为DCT2、DST7、DCT8或变换跳过中的一个。可选地,可仅使用除变换跳过之外的变换核来组成变换类型组合候选。当使用表格9时,并且当tu_mts_idx为0时,可将变换跳过应用于水平方向和垂直方向。当tu_mts_idx为1时,可将DCT2应用于水平方向和垂直方向。当tu_mts_idx为3时,可将DCT8应用于水平方向,并且可将DCT7应用于垂直方向。
当使用表格10时,并且当tu_mts_idx为0时,可将DCT2应用于水平方向和垂直方向。当tu_mts_idx为1时,可将变换跳过应用于水平方向和垂直方向。当tu_mts_idx为3时,可将DCT8应用于水平方向,并且可将DCT7应用于垂直方向。
可基于当前块的非零系数的大小、形状或数量、是否已经执行了第二变换、或者是否已经应用了子分区帧内编码方法中的至少一个来确定是否对索引信息进行编码。在一个示例中,当将子分区帧内编码方法应用于当前块时,或者在当前块的非零系数的数量等于或小于阈值时,可省略索引信息的信号传送。当省略索引信息的信号传送时,可将默认变换类型应用于当前块。默认变换类型可包括DCT2或DST7中的至少一个。当存在多个默认变换类型时,可基于当前块的尺寸、形状或帧内预测模式、是否已经执行了第二变换、或者是否已经应用了子分区帧内编码方法中的至少一个来选择多个默认变换类型中的一个。在一个示例中,基于当前块的宽度是否落在预设范围内,可将多个变换类型中的一个确定为水平变换类型。基于当前块的高度是否落在预设范围内,可将多个变换类型中的一个确定为垂直变换类型。可选地,默认模式可根据当前块的尺寸、形状或帧内预测模式、或者是否已经应用了第二变换而变化。
可选地,当仅DC分量的变换系数存在于当前块中时,可将水平变换类型和垂直变换类型中的每一个设置为默认变换类型。在一个示例中,当仅DC分量的变换系数存在于当前块中时,可将水平变换类型和垂直变换类型中的每一个设置为DCT2。
可基于当前块的尺寸或形状来确定阈值。在一个示例中,在当前块的尺寸小于或等于32×32时,可将阈值设置为2。在当前块大于32×32时(例如,在当前块是32×64或64×32尺寸的编码块时),可将阈值设置为4。
多个查找表可被预先存储在编码器/解码器中。可通过分配给变换类型组合候选的索引值、变换类型组合候选的类型和/或变换类型组合候选的数量中的至少一个来区分多个查找表中的每一个。
可基于当前块的尺寸、形状、预测编码模式或帧内预测模式、是否已经应用了第二变换、或者是否已经将变换跳过应用于邻近块中的至少一个来选择当前块的查找表。
在一个示例中,在当前块的尺寸为4×4或更小时,或者当经由帧间预测对当前块进行编码时,可选择表格9的查找表。在当前块的尺寸大于4×4时或当经由帧内预测对当前块进行编码时,可选择表格10的查找表。
可选地,可在比特流中用信号传送指示多个查找表中的一个的信息。解码器可基于所述信息针对当前块选择查找表。
在另一示例中,可基于当前块的尺寸、形状、预测编码模式或帧内预测模式、是否已经应用了第二变换、或者是否已经将变换跳过应用于邻近块中的至少一个来自适应地确定分配给变换类型组合候选的索引。在一个示例中,在当前块的尺寸为4×4时被分配给变换跳过的索引的值可比在当前块的尺寸大于4×4时被分配给变换跳过的索引小。具体地,在当前块的尺寸为4×4时,可将索引0应用于变换跳过。在当前块大于4×4且小于或等于16×16时,可将大于0的索引(例如,索引1)分配给变换跳过。在当前块大于16×16时,可将最大值(例如,5)分配给变换跳过的索引。
可选地,当经由帧间预测对当前块进行编码时,可将索引0分配给变换跳过。当经由帧内预测对当前块进行编码时,可将大于0的索引(例如,索引1)分配给变换跳过。
可选地,在当前块为4×4尺寸并且经由帧间预测被编码时,可将索引0分配给变换跳过。相反,当不经由帧间预测对当前块进行编码时,或者在当前块的尺寸大于4×4时,可将大于0的值的索引(例如,索引1)分配给变换跳过。
可定义和使用与表格9和10格中列出的变换类型组合候选不同的变换类型组合候选。在一个示例中,可将变换跳过应用于水平变换和垂直变换中的一个,并且可将应用包括DCT2、DCT8或DST7的变换核的变换类型组合候选应用于水平变换和垂直变换中的另一个。在这方面,可基于当前块的尺寸(例如,宽度和/或高度)、形状或者预测编码模式或帧内预测模式中的至少一个来确定将变换跳过用作水平变换类型候选还是垂直变换类型候选。
可选地,可在比特流中用信号传送指示特定变换类型候选是否可用的信息。在一个示例中,可在比特流中用信号传送指示变换跳过可被用作水平变换类型候选还是垂直变换类型候选的标志。根据所述标志,可确定多个变换类型组合候选中的特定变换类型组合候选是否被包括。
可选地,可在比特流中用信号传送是否将特定变换类型候选应用于当前块。在一个示例中,可在比特流中用信号传送指示是否将DCT2应用于水平方向和垂直方向的标志cu_mts_flag。当cu_mts_flag的值为1时,可将DCT2设置为垂直变换核和水平变换核。当cu_mts_flag的值为0时,可将DCT8或DST7设置为垂直变换核和水平变换核。可选地,当cu_mts_flag的值为0时,可在比特流中用信号传送指定多个变换类型组合候选中的一个的信息tu_mts_idx。
在当前块为其宽度大于其高度的非正方形或者其高度大于其宽度的非正方形时,可省略cu_mts_flag的编码。因此,可将cu_mts_flag的值推断为0。
根据当前块的尺寸、形状或帧内预测模式,可将可用变换类型组合候选的数量设置为变化。在一个示例中,在当前块为正方形时,可使用三个或更多个变换类型组合候选。在当前块为非正方形时,可使用两个变换类型组合候选。可选地,在当前块为正方形时,可仅使用变换类型组合候选中的水平变换类型和垂直变换类型彼此不同的变换类型组合候选。
当存在当前块可使用的三个或更多个变换类型组合候选时,可在比特流中用信号传送指示变换类型组合候选中的一个的索引信息tu_mts_idx。相反,当存在当前块可使用的两个变换类型组合候选时,可在比特流中用信号传送指示变换类型组合候选中的一个的标志mts_flag。下面的表格11示出用于基于当前块的形状指定变换类型组合候选的信息的编码。
[表格11]
Figure BDA0002924090890000801
Figure BDA0002924090890000811
根据当前块的形状,可重新排列(或重新排序)变换类型组合候选的索引。在一个示例中,在当前块为正方形时被分配给变换类型组合候选的索引可不同于在当前块为非正方形时被分配给变换类型组合候选的索引。在一个示例中,在当前块为正方形时,可基于以下表格12选择变换类型组合。在当前块为非正方形时,可基于以下表格13选择变换类型组合。
[表格12]
Figure BDA0002924090890000812
[表格13]
Figure BDA0002924090890000813
可基于当前块的水平非零系数或垂直非零系数的数量来确定变换类型。在这方面,水平非零系数的数量表示包括在1×N(其中,N是当前块的宽度)中的非零系数的数量。垂直非零系数的数量表示包括在N×1中的非零系数的数量(其中,N是当前块的高度)。当水平非零系数的数量的最大值小于或等于阈值时,可将第一变换类型应用于水平方向。当水平非零系数的最大值大于阈值时,可将第二变换类型应用于水平方向。当垂直非零系数的数量的最大值小于或等于阈值时,可将第一变换类型应用于垂直方向。当垂直非零系数的数量的最大值大于阈值时,可将第二变换类型应用于垂直方向。图40是用于描述确定当前块的变换类型的示例的示图。
在一个示例中,当经由帧内预测对当前块进行编码并且当前块的水平非零系数的数量的最大值为2或更小(参见图40的(a))时,可将DST7确定为水平变换类型。
当经由帧内预测对当前块进行编码并且当前块的垂直非零系数的数量的最大值大于2时(参见图40的(b)),可将DCT2或DCT8确定为垂直变换类型。
可在比特流中用信号传送指示是否显式地用信号传送用于确定当前块的变换类型的索引信息的信息。在一个示例中,可在序列级别用信号传送指示针对经由帧内预测进行编码的块是否允许显式变换类型确定的信息sps_explicit_intra_mts_flag和/或指示针对经由帧间预测进行编码的块是否允许显式变换类型确定的信息sps_explicit_inter_mts_flag。
当允许显式变换类型确定时,可基于在比特流中用信号传送的索引信息tu_mts_idx来确定当前块的变换类型。相反,当不允许显式变换类型确定时,可基于当前块的尺寸或形状、是否允许基于子块的变换、包括非零变换系数的子块的位置、是否已经执行了第二变换、或者是否已经应用了子分区帧内编码方法中的至少一个来确定当前块的变换类型。在一个示例中,可基于当前块的宽度确定当前块的水平变换类型。可基于当前块的高度确定当前块的垂直变换类型。例如,在当前块的宽度小于4或大于16时,可将其水平变换类型确定为DCT2。否则,可将其水平变换类型确定为DST7。在当前块的高度小于4或大于16时,可将其垂直变换类型确定为DCT2。否则,可将其垂直变换类型确定为DST7。在这方面,为了确定水平变换类型和垂直变换类型,可基于当前块的尺寸、形状或帧内预测模式中的至少一个来确定将与宽度和高度进行比较的阈值。
可选地,在当前块为高度与宽度相同的正方形时,可将水平变换类型和垂直变换类型设置为彼此相同。在当前块为高度与宽度彼此不相等的非正方形时,可将水平变换类型和垂直变换类型设置为彼此不同。在一个示例中,在当前块的宽度大于其高度时,可将水平变换类型确定为DST7,并且可将垂直变换类型确定为DCT2。在当前块的高度大于宽度时,可将垂直变换类型确定为DST7,并且可将水平变换类型确定为DCT2。
变换类型候选的数量和/或类型或者变换类型组合候选的数量和/或类型可根据是否允许显式变换类型确定而变化。在一个示例中,当允许显式变换类型确定时,可将DCT2、DST7及DCT8用作变换类型候选。因此,可将水平变换类型和垂直变换类型中的每一个设置为DCT2、DST8或DCT8。当不允许显式变换类型确定时,仅可将DCT2和DST7用作变换类型候选。因此,可将水平变换类型和垂直变换类型中的每一个确定为DCT2或DST7。
可将编码块或变换块分区为多个子块,并且可对所述多个子块中的每一个执行变换。在一个示例中,当将上述子分区帧内编码方法应用于编码块时,可将编码块划分为所述多个子块,然后可对所述多个子块中的每一个子块执行变换。
子块的变换类型可彼此相同。在一个示例中,当确定所述多个子块中的第一子块的变换类型时,也可将第一子块的变换类型应用于其余子块。可选地,可确定编码块的变换类型,然后可将编码块的变换类型确定为每一个子块的变换类型。
在另一示例中,可单独确定多个子块的变换类型。可基于针对每一个子块用信号传送的信息来确定每一个子块的变换类型。在一个示例中,可针对每一个子块用信号传送索引信息tu_mts_idx。索引信息tu_mts_idx可指定水平变换类型和垂直变换类型的多个组合中的一个。根据tu_mts_idx的值,可将水平变换类型和垂直变换类型确定为DCT2、DST7或DCT8。基于索引信息tu_mts_idx,可确定水平变换类型和垂直变换类型是否相同。
可在比特流中用信号传送指示当前子块的变换类型是否与先前子块的变换类型相同的信息。当信息指示当前子块的变换类型与先前子块的变换类型相同时,可省略针对当前子块的索引信息tu_mts_idx的编码。可将先前子块的变换类型应用于当前子块。相反,当信息指示当前子块的变换类型与先前子块的变换类型不同时,可针对当前子块的索引信息tu_mts_idx进行编码。在这方面,当前子块的索引信息可指示除由先前子块的索引信息指示的变换类型组合之外的其余变换类型组合中的一个。
可选地,方法可被配置使得当将编码块分区为多个子块时,不允许显式变换类型确定。在这方面,当允许显式变换类型时,可基于索引信息tu_mts_idx来确定变换类型。相反,当不允许显式变换类型确定时,可考虑子块的尺寸或形状、或者包括非零系数的子块的位置中的至少一个来确定变换类型。
图41是示出确定子块的变换类型的示例的示图。
在图41中,示出了子块的高宽比为1:2或2:1的示例。
可分别基于子块的宽度和高度确定水平变换类型和垂直变换类型。在一个示例中,如在图41的(a)和图41的(b)所示出的示例中,当子块的宽度小于阈值时,可将第一变换类型(例如,DCT2)用作水平变换类型。相反,当子块的宽度大于或等于阈值时,可将第二变换类型(例如,DST7)用作水平变换类型。
此外,当子块的高度小于阈值时,可将第一变换类型(例如,DCT2)用作垂直变换类型。相反,当子块的宽度大于或等于阈值时,可将第二变换类型(例如,DST7)用作垂直变换类型。
在这方面,阈值可以是诸如2、4或8的自然数。阈值可基于编码块的尺寸、形状、帧内预测模式或预测编码模式中的至少一个而可变。可选地,可在比特流中用信号传送用于确定阈值的信息。
在以上示例中,将子块的宽度和高度与单个阈值进行比较。然而,本公开不限于此。可将子块的宽度和高度与两个阈值进行比较,然后可基于比较结果确定变换类型。在一个示例中,当子块的宽度小于第一阈值或大于第二阈值时,可将水平变换类型确定为DCT2。否则,可将水平变换类型确定为DST7。此外,当子块的高度小于第一阈值或大于第二阈值时,可将垂直变换类型确定为DCT2。否则,可将垂直变换类型确定为DST7。第二阈值可以是大于第一阈值的自然数。第一阈值可以是诸如2、4或8的自然数。第二阈值可以是诸如8、16或32的自然数。
在另一示例中,当子块为高度与宽度相同的正方形时,可将水平变换类型和垂直变换类型设置为相同,但当子块为高度与宽度彼此不相等的非正方形时,可将水平变换类型和垂直变换类型设置为彼此不同。在一个示例中,当子块的宽度大于其高度时,可将水平变换类型确定为DST7,并且可将垂直变换类型确定为DCT2。当子块的高度大于其宽度时,可将垂直变换类型确定为DST7,并且可将水平变换类型确定为DCT2。
可将包括在所述多个子块中的至少一个子块中的残差系数的值设置为0。在这方面,残差系数是指经由变换产生的变换系数、经由变换跳过产生的变换跳过系数或者通过对变换系数进行量化产生的量化系数。在一个示例中,可将包括在与编码块的边界间隔开预定距离或更大距离的子块中的残差系数的值设置为0。
图42是用于描述将子块的残差系数设置为0的示例的示图。
在图42所示出的示例中,CBF(编码块标志)指示在子块中是否存在非零残差系数。当CBF的值为0时,其指示在子块中不存在非零残差系数,当CBF的值为1时,其指示在子块中存在非零残差系数。
当从编码块的边界到子块的距离大于阈值时,可将包括在子块中的残差系数设置为0。在这方面,可基于位于编码块的边界处的第一样点与包括在子块中的第二样点来获得从编码块的边界到子块的距离。在一个示例中,第一样点可以是位于编码块的左上角处的样点、位于编码块的左下角处的样点、位于编码块的左侧中间处的样点、位于编码块的右上角处的样点、位于编码块的右下角处的样点、位于编码块的右侧中间处的样点、位于编码块的顶部中心处的样点或位于编码块的底部中心处的样点。第二样点可以是位于子块的左上角处的样点、位于子块的左下角处的样点、位于子块的左侧中间处的样点、位于子块的右上角处的样点、位于子块的右下角处的样点、位于子块的右侧中间处的样点、位于子块的顶部中心处的样点或位于子块的底部中心处的样点。
可基于编码块的尺寸、形状、包括在编码块中的子块的数量或子块的尺寸中的至少一个来确定阈值。可选地,可在比特流中用信号传送用于确定阈值的信息。
在一个示例中,当将垂直分区应用于当前块时,可将距编码块的左侧边界的距离大于或等于阈值的子块的残余系数设置为0。如在图42的(a)所示出的示例中,当编码块的尺寸为64并且阈值为32时,可将距编码块的左侧边界的距离大于或等于32的子块(子CU2和子CU3)的残差系数设置为0。
可选地,当对当前块应用水平分区时,可以将与编码块的顶部边界的距离大于或等于阈值的子块的残差系数设置为0。如在图42的(b)所示出的示例中,当编码块的尺寸为64并且阈值为32时,可将距编码块的顶部边界的距离大于或等于32的子块(子CU2和子CU3)的残差系数设置为0。
与所示出的示例相反,可将包括在距编码块的边界的距离小于阈值的子块中的残差系数设置为0。
可选地,可将所述多个子块中的除了位于预设位置处的子块之外的其余子块的残差系数设置为0。在一个示例中,当将垂直分区应用于编码块时,可将所述多个子块中的除了最左侧或最右侧的子块之外的其余子块的残差系数设置为0。可选地,当将水平分区应用于编码块时,可将除了所述多个子块中的除了位于最顶部或最底部的子块之外的其余子块的残差系数设置为0。
可省略对指示在子块中是否存在非零系数的信息的编码,例如对CBF的编码。当省略CBF编码时,可基于编码块的边界与子块之间的距离或者子块的位置来确定每一个子块中是否包括非零残差系数。在一个示例中,在图42所示出的示例中,可将子块0和子块1(子CU0、子CU1)的CBF值推导为1,并且可将子块2和子块3(子CU2、子CU3)的CBF值推导为0。
可对包括非零系数的子块执行变换和/或量化,同时可省略对不包括非零系数的子块的变换和量化。
在另一示例中,可在比特流中编码并用信号传送指示是否仅对编码块的部分区域或变换块的部分区域执行变换的信息。所述信息可以是1比特标志cu_sbt_flag。当标志为1时,这指示仅对通过对编码块或变换块进行分区而产生的多个子块中的一些执行变换。当标志为0时,这指示在不将编码块或变换块划分为子块的情况下执行变换。
可将用于仅对编码块的部分区域执行变换的技术配置为仅当将子分区帧内编码方案应用于编码块时才被允许。因此,仅当将子分区帧内编码方法应用于编码块时,可在比特流中对cu_sbt_flag编码并且用信号传送cu_sbt_flag。当cu_sbt_flag的值为1时,仅对通过对编码块或变换块进行分区而产生的多个子块中的一些子块执行变换。可将其余子块的残差系数设置为0。当cu_sbt_flag的值为1时,可对所有子块执行变换。
可选地,当将子分区帧内编码方法应用于编码块时,可省略cu_sbt_flag的编码,并且可推断cu_sbt_flag的值为1。
在另一示例中,仅当编码块的预测编码模式是帧间预测或当前画面参考时,可允许仅对编码块的部分区域执行变换的技术。当经由帧间预测或经由当前画面参考对编码块进行编码时,可在比特流中编码并用信号传送指示是否仅对编码块的部分区域执行变换的信息。当仅对编码块的部分区域执行变换时,可在比特流中编码并用信号传送指示编码块的分区类型的信息。指示编码块的划分类型的信息可包括指示编码块是否被划分为四个子块的信息、指示编码块的划分方向的信息或指示子块的数量的信息中的至少一个。在一个示例中,当cu_sbt_flag为1时,可在比特流中用信号传送指示编码块是否被分区为四个子块的标志cu_sbt_quadtree_flag。当cu_sbt_quadtree_flag为1时,这指示编码块被分区为四个子块。在一个示例中,可通过使用3条垂直线或3条水平线将编码块分区为4个子块。可选地,可使用一条垂直线和一条水平线将编码块分区为4个子块。当cu_sbt_quadtree_flag为0时,这指示编码块被分区为两个子块。在一个示例中,可通过使用一条垂直线或一条水平线将编码块分区为两个子块。
此外,可在比特流中用信号传送指示编码块的分区方向的标志。在一个示例中,可在比特流中编码并用信号传送指示是否将水平分区应用于编码块的标志cu_sbt_horizontal_flag。当cu_sbt_horizontal_flag的值为1时,其指示将水平分区应用于编码块,当cu_sbt_horizontal_flag的值为0时,其指示将垂直分区应用于编码块。
可在比特流中用信号传送指示不存在非零系数的子块的位置或者不执行变换的子块的位置的信息。基于所述信息,可确定已经执行了变换和/或量化的子块以及已经省略了变换和/或量化的子块。
图43表示基于在比特流中用信号传送的信息指定已经执行变换和/或量化的子块的位置的示例。
可在比特流中用信号传送指示非零系数是否存在于特定位置或第一子块中的标志sbt_upleft_flag。当sbt_upleft_flag的值为1时,这指示已经对位于编码块的顶部或左侧处的子块执行了变换和/或量化,并且指示尚未对位于编码块的右侧或底部处的子块执行变换和/或量化。当sbt_upleft_flag的值为0时,这指示已经对位于编码块的顶部或左侧处的子块执行了变换和/或量化,并且指示尚未对位于编码块的右侧或底部处的子块执行变换和/或量化。
当编码块被分区为4个子块时,sbt_upleft_flag可指示已经对N个子块执行了变换和/或量化。在一个示例中,当sbt_upleft_flag的值为1时,这指示已经对顶部或左侧的两个子块执行了变换和/或量化。当sbt_upleft_flag的值为0时,这指示已经对右侧或底部的两个子块执行了变换和/或量化。
与上述示例不同,可将N的值设置为1或3。
可将尚未执行变换和/或量化的子块的残差系数设置为0。
可基于编码块的分区方向和子块的位置确定子块的变换类型。在一个示例中,当沿垂直方向对编码块进行划分时,并且当对子块中的左侧子块执行变换时,可将子块的水平变换类型和垂直变换类型设置为彼此不同。在一个示例中,可将水平变换类型设置为DCT8,同时可将垂直变换类型设置为DST7。相反,当沿垂直方向对编码块进行划分时,并且当对子块中的右侧子块执行变换时,可将子块的水平变换类型和垂直变换类型设置为彼此相同。在一个示例中,可将水平变换类型和垂直变换类型设置为DST7。
可选地,当沿水平方向对编码块进行划分时,并且当对子块中的顶部子块执行变换时,可将水平变换类型和垂直变换类型设置为彼此不同。在一个示例中,可将水平变换类型设置为DST7,并且可将垂直变换类型设置为DCT8。相反,当沿水平方向对编码块进行划分时,并且当对子块中的底部子块执行变换时,可将子块的水平变换类型和垂直变换类型设置为彼此相同。在一个示例中,可将水平变换类型和垂直变换类型设置为DST7。
可省略对指示在子块中是否存在非零系数的信息的编码,例如对CBF的编码。当省略CBF编码时,可基于被执行变换的子块的位置来确定在每一个子块中是否包括非零残差系数。在一个示例中,当sbt_upleft_flag的值为0时,可将左侧或顶部子块的CBF值推断为0,并且可将右侧或底部子块的CBF值推断为1。可选地,当sbt_upleft_flag的值为1时,可将左侧或顶部子块的CBF值推断为1,并且可将右侧或底部子块的CBF值推断为0。
可将被执行变换的子块的重建样点推导为预测样点与残余样点的总和。相反,可将省略变换的子块的预测样点设置为重建样点。量化是为了减少块的能量,并且量化处理包括将变换系数除以特定常数值的处理。可基于量化参数推导常数值,并且量化参数可被定义为1与63之间的值。
当编码器执行变换和量化时,解码器可经由反量化和逆变换获得残差块。解码器可获得残差块和预测块之和,以获得当前块的重建块。
当获得当前块的重建块时,可经由环内滤波来减少在量化和编码处理中发生的信息损失。环内滤波器可包括去块滤波器、样点自适应偏移滤波器(SAO)或自适应环路滤波器(ALF)中的至少一个。在下文中,在应用环内滤波器之前的重建块被称为第一重建块,并且在应用环内滤波器之后的重建块被称为第二重建块。
可通过将去块滤波器、SAO或ALF中的至少一个应用于第一重建块来获得第二重建块。在这方面,可在应用去块滤波器之后应用SAO或ALF。
将如上描述的关于解码处理或编码处理的实施例分别应用于编码处理或解码处理的操作可被包括在本公开的范围中。在本公开的范围内,操作按照预定顺序发生的实施例可被修改为操作按照不同于所述预定顺序的顺序发生的实施例。
尽管基于一系列操作或流程图描述了上述实施例,但是实施例不限于该方法的操作的时间顺序。在另一个示例中,根据需要,这些操作可被同时执行,或者可按照不同的顺序被执行。此外,在上述实施例中,构成框图的组件(例如,单元、模块等)中的每一个可以以硬件装置或软件的形式来实施。多个组件可彼此组合成可使用单个硬件装置或软件被实施的单个组件。上述实施例可使用可经由各种计算机组件运行的程序指令来实施。所述指令可被记录在计算机可读存储介质中。计算机可读存储介质可包括单独的或彼此组合的程序指令、数据文件、数据结构等。计算机可读存储介质的示例包括磁性介质(诸如硬盘、软盘和磁带)、光学存储介质(诸如CD-ROM、DVD)和磁光介质(诸如软光盘)、以及专门被配置为存储和运行程序指令的硬件装置(诸如ROM、RAM、闪存等)。硬件装置可被配置为作为一个或更多个软件模块操作以执行根据本公开的处理,反之亦可。
[工业可用性]
本公开可被应用于对视频进行编码/解码的电子装置。

Claims (15)

1.一种用于对视频数据进行解码的方法,所述方法包括:
确定是否将当前块分区为多个子块;
确定用于当前块的帧内预测模式;以及
在当前块被分区为所述多个子块时,基于所述帧内预测模式对所述多个子块中的每一个子块执行帧内预测,
其中,是否将当前块分区为所述多个子块是基于标志被确定的,
其中,在当前块的尺寸小于阈值时,省略从比特流对所述标志的解析,以及
其中,当省略对所述标志的解析时,所述标志被认为指示不将当前块分区为所述多个子块。
2.根据权利要求1所述的方法,其中,所述方法还包括:确定当前块的参考样点线,
其中,当所确定的参考样点线的索引大于阈值时,省略从所述比特流对所述标志的解析。
3.根据权利要求1所述的方法,其中,包括在当前块中的所述多个子块的数量是基于当前块的尺寸或形状中的至少一个被确定的。
4.根据权利要求1所述的方法,其中,所述方法还包括:对当前块执行第一逆变换,
其中,第一逆变换是基于至少一个变换核候选中的一个变换核候选被执行的,以及
其中,变换核候选的数量根据当前块是否已经被分区为所述多个子块而变化。
5.根据权利要求4所述的方法,其中,所述方法还包括:对当前块执行第二逆变换,以及
其中,当执行第二逆变换时,将变换核设置为DCT2。
6.根据权利要求5所述的方法,其中,当前块中的不被执行第二逆变换的区域的变换系数为0。
7.根据权利要求5所述的方法,其中,基于当前块中的最后一个变换系数的位置确定是否执行第二逆变换。
8.一种用于对视频数据进行编码的方法,所述方法包括:
确定是否将当前块分区为多个子块;
确定用于当前块的帧内预测模式;以及
在当前块被分区为所述多个子块时,基于所述帧内预测模式对所述多个子块中的每一个子块执行帧内预测,
其中,基于当前块的尺寸是否小于阈值来确定是否将指示是否将当前块分区为所述多个子块的标志编码到比特流中,以及
其中,在当前块的尺寸小于所述阈值时,省略对所述标志的编码,并且确定不将当前块分区为所述多个子块。
9.根据权利要求8所述的方法,其中,所述方法还包括:确定当前块的参考样点线,且
其中,当所确定的参考样点线的索引大于阈值时,省略对所述标志的编码。
10.根据权利要求8所述的方法,其中,包括在当前块中的所述多个子块的数量是基于当前块的尺寸或形状中的至少一个被确定的。
11.根据权利要求8所述的方法,其中,所述方法还包括:对当前块执行第一变换,
其中,第一变换是基于至少一个变换核候选中的一个变换核候选被执行的,以及
其中,变换核候选的数量根据当前块是否已经被分区为所述多个子块而变化。
12.根据权利要求11所述的方法,其中,所述方法还包括:对当前块执行第二变换,以及
其中,当执行第二变换时,将变换核设置为DCT2。
13.根据权利要求12所述的方法,其中,当前块中的不被执行第二变换的区域的变换系数为0。
14.根据权利要求12所述的方法,其中,基于当前块中的最后一个变换系数的位置确定是否执行第二变换。
15.一种用于对视频数据进行解码的装置,所述装置包括帧内预测单元,其中,所述帧内预测单元被配置为:
确定是否将当前块分区为多个子块;
确定用于当前块的帧内预测模式;以及
在当前块被分区为所述多个子块时,基于所述帧内预测模式对所述多个子块中的每一个子块执行帧内预测,
其中,是否将当前块分区为所述多个子块是基于标志被确定的,
其中,在当前块的尺寸小于阈值时,省略从比特流对所述标志的解析,以及
其中,当省略对所述标志的解析时,所述标志被认为指示不将当前块分区为所述多个子块。
CN202080004289.8A 2019-01-28 2020-01-28 视频信号编码/解码方法及其装置 Pending CN112514384A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20190010246 2019-01-28
KR10-2019-0010246 2019-01-28
KR10-2019-0010245 2019-01-28
KR20190010245 2019-01-28
PCT/KR2020/001299 WO2020159198A1 (ko) 2019-01-28 2020-01-28 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
CN112514384A true CN112514384A (zh) 2021-03-16

Family

ID=71840073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080004289.8A Pending CN112514384A (zh) 2019-01-28 2020-01-28 视频信号编码/解码方法及其装置

Country Status (4)

Country Link
US (2) US11570436B2 (zh)
KR (2) KR20200093468A (zh)
CN (1) CN112514384A (zh)
WO (1) WO2020159198A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103385002A (zh) * 2010-02-17 2013-11-06 韩国电子通信研究院 用于对超高清图像进行编码的装置及其方法、以及解码装置及其方法
CN112514384A (zh) 2019-01-28 2021-03-16 株式会社 Xris 视频信号编码/解码方法及其装置
US11425378B2 (en) * 2019-01-31 2022-08-23 Hfi Innovation Inc. Method and apparatus of transform type assignment for intra sub-partition in video coding
MX2021009355A (es) * 2019-02-05 2021-09-14 Beijing Dajia Internet Information Tech Co Ltd Codificacion de video que utiliza el modo de codificacion de subparticion.
KR20210114386A (ko) 2019-02-08 2021-09-23 주식회사 윌러스표준기술연구소 이차 변환을 이용하는 비디오 신호 처리 방법 및 장치
US20220086490A1 (en) * 2019-02-12 2022-03-17 Lg Electronics Inc. Method and apparatus for processing video signal
JP7293376B2 (ja) * 2019-02-28 2023-06-19 ヒューマックス・カンパニー・リミテッド イントラ予測ベースのビデオ信号処理方法及び装置
MX2021003465A (es) * 2019-03-08 2021-06-18 Jvckenwood Corp Dispositivo de codificacion de video, metodo de codificacion de video, programa de codificacion de video, dispositivo de decodificacion de video, metodo de decodificacion de video y programa de decodificacion de video.
KR20220147731A (ko) * 2019-03-11 2022-11-03 엘지전자 주식회사 Ibc 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
US12010305B2 (en) * 2019-03-11 2024-06-11 Apple Inc. Method for encoding/decoding image signal, and device therefor
JP7145793B2 (ja) * 2019-03-11 2022-10-03 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
WO2020228673A1 (en) 2019-05-10 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Conditional use of reduced secondary transform for video processing
EP3967032A4 (en) 2019-06-07 2022-07-27 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL SIGNALING OF A REDUCED SECONDARY TRANSFORM FOR VIDEO BIANARY FLOWS
CN114208183A (zh) 2019-08-03 2022-03-18 北京字节跳动网络技术有限公司 视频的缩减二次变换中基于位置的模式导出
CN114223208B (zh) 2019-08-17 2023-12-29 北京字节跳动网络技术有限公司 为视频中的缩减二次变换的边信息的上下文建模
GB2588406B (en) * 2019-10-22 2022-12-07 British Broadcasting Corp Video encoding and video decoding
WO2022108419A1 (ko) * 2020-11-23 2022-05-27 현대자동차주식회사 선택적 서브블록 분할정보 전송을 이용하는 영상 부호화 및 복호화 방법과 장치
WO2023282625A1 (ko) * 2021-07-06 2023-01-12 엘지전자 주식회사 비분리 1차 변환에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090232204A1 (en) * 2008-03-17 2009-09-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding transform coefficients
CN102724493A (zh) * 2011-01-18 2012-10-10 清华大学 基于图像块的帧内预测模式的编解码方法和编解码器
WO2018016823A1 (ko) * 2016-07-18 2018-01-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018097691A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018174457A1 (ko) * 2017-03-22 2018-09-27 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
WO2018212430A1 (ko) * 2017-05-15 2018-11-22 엘지전자 주식회사 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101455161B1 (ko) * 2007-01-08 2014-10-28 톰슨 라이센싱 비디오 스트림 스플라이싱을 위한 방법 및 장치
US20100167689A1 (en) * 2008-07-07 2010-07-01 Hossein Alexander Sepehri-Nik Method and apparatus for determining whether a cellular phone chip is dormant
WO2010022078A1 (en) * 2008-08-22 2010-02-25 Mobile Science Ltd. System and method for interpreting and classifying signals in communications systems
JP5131101B2 (ja) * 2008-09-09 2013-01-30 富士通株式会社 動画像編集装置および動画像編集プログラム
WO2010041857A2 (en) 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
JP5332773B2 (ja) * 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
CN103262534B (zh) 2010-10-14 2018-05-22 汤姆逊许可公司 改进熵编码和解码的方法及装置
BR112019007423B1 (pt) * 2016-10-11 2022-06-14 Lg Electronics Inc Método de decodificação de vídeo realizado por um dispositivo de decodificação, método de codificação de vídeo realizado por um dispositivo de codificação, e mídia de armazenamento legível por computador não transitória
CN117336509A (zh) 2017-07-06 2024-01-02 Lx 半导体科技有限公司 图像编码/解码方法、发送方法和数字存储介质
CN111480341A (zh) 2017-11-01 2020-07-31 Vid拓展公司 用于合并模式的解码器侧运动矢量细化和子块运动导出
CN116437082A (zh) 2018-06-25 2023-07-14 Oppo广东移动通信有限公司 帧内预测方法和装置
AU2019295574B2 (en) 2018-06-27 2023-01-12 Vid Scale, Inc. Methods and apparatus for reducing the coding latency of decoder-side motion refinement
CN112514384A (zh) 2019-01-28 2021-03-16 株式会社 Xris 视频信号编码/解码方法及其装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090232204A1 (en) * 2008-03-17 2009-09-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding transform coefficients
CN102724493A (zh) * 2011-01-18 2012-10-10 清华大学 基于图像块的帧内预测模式的编解码方法和编解码器
WO2018016823A1 (ko) * 2016-07-18 2018-01-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018097691A2 (ko) * 2016-11-28 2018-05-31 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2018174457A1 (ko) * 2017-03-22 2018-09-27 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
WO2018212430A1 (ko) * 2017-05-15 2018-11-22 엘지전자 주식회사 영상 코딩 시스템에서 주파수 도메인 필터링 방법 및 그 장치

Also Published As

Publication number Publication date
US20210360240A1 (en) 2021-11-18
KR20200093468A (ko) 2020-08-05
WO2020159198A1 (ko) 2020-08-06
US11570436B2 (en) 2023-01-31
KR20240023059A (ko) 2024-02-20
US11863745B2 (en) 2024-01-02
US20230283773A1 (en) 2023-09-07

Similar Documents

Publication Publication Date Title
KR102608847B1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
US11570436B2 (en) Video signal encoding/decoding method and device therefor
CN112425160B (zh) 用于对视频信号进行编码/解码的方法及其设备
CN112088533B (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN110063056B (zh) 用于处理视频信号的方法和设备
CN112673637A (zh) 用于对图像信号进行编码/解码的方法及其装置
CN113329224A (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN112219397A (zh) 用于对视频信号编码/解码的方法及其装置
CN112514380A (zh) 用于对视频信号进行编码/解码的方法及其设备
CN113382234B (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN116828205A (zh) 用于解码视频的方法和用于编码视频的方法
KR102654647B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN113574878A (zh) 用于对视频信号进行编码/解码的方法及其设备
CN112930683A (zh) 用于对图像信号进行编码/解码的方法及其设备
CN113039799B (zh) 图像信号编码/解码方法及其设备
KR20190059255A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20200026758A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN112236998A (zh) 用于对视频信号进行编码/解码的方法及其装置
CN112789860A (zh) 用于对图像信号进行编码/解码的方法及其装置
CN113711596A (zh) 图像信号编码/解码方法及其装置
CN112236996A (zh) 视频信号编码/解码方法及其装置
CN112470479A (zh) 图像信号编码/解码方法及其装置
CN112544083A (zh) 图像信号编码/解码方法及用于其的装置
CN113170199B (zh) 用于对图像信号进行编码/解码的方法及其装置
CN112970251A (zh) 用于对图像信号进行编码/解码的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20220415

Address after: California, USA

Applicant after: APPLE Inc.

Address before: Gyeonggi Do city of South Korea

Applicant before: Xris Co.,Ltd.

TA01 Transfer of patent application right