CN118200556A - 图像编码/解码方法和装置 - Google Patents

图像编码/解码方法和装置 Download PDF

Info

Publication number
CN118200556A
CN118200556A CN202410315336.0A CN202410315336A CN118200556A CN 118200556 A CN118200556 A CN 118200556A CN 202410315336 A CN202410315336 A CN 202410315336A CN 118200556 A CN118200556 A CN 118200556A
Authority
CN
China
Prior art keywords
block
inter
region
luminance
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410315336.0A
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.)
Intellectual Discovery Co Ltd
Original Assignee
Intellectual Discovery Co Ltd
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 Intellectual Discovery Co Ltd filed Critical Intellectual Discovery Co Ltd
Publication of CN118200556A publication Critical patent/CN118200556A/zh
Pending legal-status Critical Current

Links

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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal 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/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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

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)

Abstract

公开了图像编码/解码方法和装置。一种图像解码方法包括:确定色度块的帧内预测模式;基于帧内预测模式,指定用于色度块的分量间参考的亮度区域,亮度区域包括对应于色度块的亮度块和与亮度块相邻的邻近亮度区域中的至少一个;对亮度区域进行下采样;基于通过对邻近亮度区域进行下采样而获得的预定数量的像素,导出用于色度块的分量间参考的参数;通过将参数应用于下采样的亮度块来生成色度块的预测块;以及基于残余块和预测块来重构色度块。

Description

图像编码/解码方法和装置
本专利申请是国际申请日为2019年12月27日、国家申请号为201980092849.7、发明名称为“图像编码/解码方法和装置”的专利申请的分案申请。
技术领域
本公开内容涉及用于处理视频信号的方法和装置。
背景技术
随着对高分辨率视频的市场需求增加,可以有效地压缩高分辨率图像的技术是必要的。根据这样的市场需求,ISO/IEC的MPEG(运动图片专家组)和ITU-T的VCEG(视频编码专家组)联合形成JCT-VC(视频编码联合协作组),在2013年1月开发了HEVC(高效视频编码)视频压缩标准,并且已经在积极地研究和开发下一代压缩标准。
视频压缩主要由帧内预测、帧间预测、变换、量化、熵编码和环内滤波组成。另一方面,随着对高分辨率图像的需求增加,对作为新图像服务的立体图像内容的需求也增加。已经讨论了用于有效地提供高分辨率和超高分辨率立体图像内容的视频压缩技术。
发明内容
技术问题
本公开内容的目的是提供一种自适应地划分图片的方法和装置。
本公开内容的目的是提供一种帧内预测方法和装置。
本公开内容的目的是提供一种帧间预测方法和装置。
本公开内容的目的是提供一种基于分量间参考的预测方法和装置。
技术解决方案
根据本公开内容的视频编码/解码方法和装置可以确定色度块的帧内预测模式,指定用于色度块的分量间参考的亮度区域,对所指定的亮度区域进行下采样,导出用于色度块的分量间参考的参数,并且通过使用与色度块对应的亮度块和参数来预测色度块。
在根据本公开内容的视频编码/解码方法和装置中,亮度区域可以包括与色度块对应的亮度块或与亮度块相邻的邻近区域中的至少一个。
在根据本公开内容的视频编码/解码方法和装置中,可以基于配置有基于分量间参考的预测模式的预定组和索引来导出色度块的帧内预测模式。
在根据本公开内容的视频编码/解码方法和装置中,基于分量间参考的预测模式可以包括参考与色度块相邻的左区域和上区域两者的第一模式、参考与色度块相邻的左区域的第二模式、或参考与色度块相邻的上区域的第三模式中的至少一个。
在根据本公开内容的视频编码/解码方法和装置中,与亮度块相邻的邻近区域可以包括上邻近区域或左邻近区域中的至少一个,上邻近区域可以包括n个像素线,并且左邻近区域可以包括m个像素线。
在根据本公开内容的视频编码/解码方法和装置中,可以通过仅使用在特定位置处的亮度像素和亮度像素的邻近像素来执行对与亮度块相邻的邻近区域进行下采样。
在根据本公开内容的视频编码/解码方法和装置中,可以基于从属于色度块的邻近区域的多个像素之中选择的像素的位置来确定特定位置。
在根据本公开内容的视频编码/解码方法和装置中,所选择的像素可以是在色度块的邻近区域中以每个预定间隔定位的一个或更多个像素。
在根据本公开内容的视频编码/解码方法和装置中,邻近像素可以是位于亮度像素的左方向、右方向、上方向、下方向、左上方向、左下方向、右上方向或右下方向中的至少一个方向上的像素。
在根据本公开内容的视频编码/解码方法和装置中,导出用于分量间参考的参数可以包括从通过对亮度块的邻近区域进行下采样而获得的多个像素计算最大值和最小值,以及可以通过使用所计算的最大值和最小值来导出用于分量间参考的参数。
一种用于存储视频流的数字存储介质,在所述视频流中记录有用于执行处理的视频解码程序,该处理可以包括确定色度块的帧内预测模式,指定用于色度块的分量间参考的亮度区域,对所指定的亮度区域进行下采样,导出用于色度块的分量间参考的参数,以及通过将该参数应用于下采样的亮度区域来预测色度块。
技术效果
本公开内容可以通过以预定单位划分图片并执行编码/解码来提高视频信号的编码/解码效率。
本公开内容可以通过使用细分方向模式和/或选择性像素线来提高帧内预测的编码效率。
本公开内容可以通过使用仿射模式或区域间运动信息来提高帧间预测的编码效率。
本公开内容可以通过对亮度区域进行下采样/子采样来提高基于分量间参考的预测效率。
附图说明
图1是示出根据本公开内容的图像编码装置的框图。
图2是示出根据本公开内容的图像解码装置的框图。
图3至图5示出了作为应用本公开内容的实施方式的将图片划分为多个块的方法。
图6粗略地示出了作为应用本公开内容的实施方式的重构当前块的处理。
图7示出了作为应用本公开内容的实施方式的帧间预测方法。
图8至图10示出了作为应用本公开内容的实施方式的仿射帧间预测方法。
图11示出了作为应用本公开内容的实施方式的合并模式的空间邻近块的范围。
图12至图18示出了作为应用本公开内容的实施方式的使用区域间的运动信息的合并模式。
图19和图20示出了作为应用本公开内容的实施方式的基于MPMM的合并模式。
图21至图30示出了作为应用本公开内容的实施方式的帧内预测方法。
图31示出了作为应用本公开内容的实施方式的基于分量间参考的预测方法。
图32至图38示出了对亮度块的邻近区域进行下采样并导出用于分量间参考的参数的方法。
图39和图40示出了作为应用本公开内容的实施方式的将环内滤波器应用于重构块的方法。
最佳方式
根据本公开内容的视频编码/解码方法和装置可以确定色度块的帧内预测模式,指定用于色度块的分量间参考的亮度区域,对所指定的亮度区域进行下采样,导出用于色度块的分量间参考的参数,并且通过使用与色度块对应的亮度块和参数来预测色度块。
在根据本公开内容的视频编码/解码方法和装置中,亮度区域可以包括与色度块对应的亮度块或与亮度块相邻的邻近区域中的至少一个。
在根据本公开内容的视频编码/解码方法和装置中,可以基于配置有基于分量间参考的预测模式的预定组和索引来导出色度块的帧内预测模式。
在根据本公开内容的视频编码/解码方法和装置中,基于分量间参考的预测模式可以包括参考与色度块相邻的左区域和上区域两者的第一模式、参考与色度块相邻的左区域的第二模式、或参考与色度块相邻的上区域的第三模式中的至少一个。
在根据本公开内容的视频编码/解码方法和装置中,与亮度块相邻的邻近区域可以包括上邻近区域或左邻近区域中的至少一个,上邻近区域可以包括n个像素线,并且左邻近区域可以包括m个像素线。
在根据本公开内容的视频编码/解码方法和装置中,可以通过仅使用在特定位置处的亮度像素和亮度像素的邻近像素来执行对与亮度块相邻的邻近区域进行下采样。
在根据本公开内容的视频编码/解码方法和装置中,可以基于从属于色度块的邻近区域的多个像素之中选择的像素的位置来确定特定位置。
在根据本公开内容的视频编码/解码方法和装置中,所选择的像素可以是在色度块的邻近区域中以每个预定间隔定位的一个或更多个像素。
在根据本公开内容的视频编码/解码方法和装置中,邻近像素可以是位于亮度像素的左方向、右方向、上方向、下方向、左上方向、左下方向、右上方向或右下方向中的至少一个方向上的像素。
在根据本公开内容的视频编码/解码方法和装置中,导出用于分量间参考的参数可以包括从通过对亮度块的邻近区域进行下采样而获得的多个像素计算最大值和最小值,以及可以通过使用所计算的最大值和最小值来导出用于分量间参考的参数。
一种用于存储视频流的数字存储介质,在所述视频流中记录有用于执行处理的视频解码程序,该处理可以包括确定色度块的帧内预测模式,指定用于色度块的分量间参考的亮度区域,对所指定的亮度区域进行下采样,导出用于色度块的分量间参考的参数,以及通过将该参数应用于下采样的亮度区域来预测色度块。
具体实施方式
参照本说明书中所附的图,详细描述了本公开内容的实施方式,使得本发明所属领域的普通技术人员可以容易地实现本公开内容。然而,本公开内容可以以各种不同的形式来实现,并且不限于在本文中描述的实施方式。另外,省略了与描述无关的部分,并且贯穿说明书将类似的附图标记赋予类似的部分,以在图中清楚地描述本公开内容。
在本说明书中,当一部分被称为“连接至”另一部分时,它包括在***另一元件的同时电连接的情况以及直接连接的情况。
另外,在本说明书中,当一部分被称为“包括”部件时,其是指可以另外包括其他部件而不排除其他部件,除非另有说明。
另外,可以使用术语例如第一、第二等来描述各种部件,但是部件不应受这些术语限制。这些术语仅用于区分一个部件与其他部件。
另外,在关于本说明书中描述的装置和方法的实施方式中,可以省略装置的一些配置或方法的一些步骤。另外,可以改变装置的一些配置或方法的一些步骤的顺序。另外,另一配置或另一步骤可以***到装置的一些配置或方法的一些步骤中。
另外,本公开内容的第一实施方式中的一些配置或一些步骤可以被添加至本公开内容的第二实施方式,或者可以用第二实施方式中的一些配置或一些步骤替换。
另外,由于本公开内容的实施方式所示出的结构单元被独立地示出以表示不同的特征功能,因此并不意味着每个结构单元被配置在单独的硬件或一个软件结构单元中。换言之,为了便于描述,每个结构单元可以通过被列举为每个结构单元来描述,每个结构单元之中的至少两个结构单元可以被组合以配置一个结构单元,或者一个结构单元可以被分成多个构结构单元以执行功能。只要不超出本公开内容的本质,每个结构单元中的这样的集成实施方式和单独实施方式也包括在本公开内容的权利范围内。
在本说明书中,块可以被不同地表示为单元、区域、单位、分区等,并且样本可以被不同地表示为像素、像元、像素等。
在下文中,将参照附图更详细地描述本公开内容的实施方式。在描述本公开内容时,省略了对相同部件的重复描述。
图1是示出根据本公开内容的图像编码装置的框图。
参照图1,通常的图像编码装置100可以包括图片划分单元110、预测单元120和125、变换单元130、量化单元135、重排单元160、熵编码单元165、逆量化单元140、逆变换单元145、滤波器单元150和存储器155。
图片划分单元110可以将输入图片划分为至少一个处理单元。在该情况下,处理单元可以是预测单元(PU)、变换单元(TU)或编码单元(CU)。在下文中,在本公开内容的实施方式中,编码单元可以用作执行编码的单元,并且可以用作执行解码的单元。
预测单元可以在一个编码单元内以具有相同大小的至少一个正方形形状或矩形形状等进行划分,并且可以被划分成使得在一个编码单元中划分的预测单元之中的任何一个预测单元将具有与另一个预测单元不同的形状和/或大小。在生成基于编码单元执行帧内预测的预测单元时,当它不是最小编码单元时,可以在不划分为多个预测单元N×N的情况下执行帧内预测。
预测单元120和125可以包括执行帧间预测的帧间预测单元120和执行帧内预测的帧内预测单元125。可以确定针对预测单元执行帧间预测还是帧内预测,并且可以确定根据每种预测方法的详细信息(例如帧内预测模式、运动矢量、参考图片等)。所生成的预测块与原始块之间的残余值(残余块)可以被输入到变换单元130。另外,用于预测的预测模式信息、运动矢量信息等可以在熵编码单元165中利用残余值来编码,并且被发送到解码器。
帧间预测单元120可以基于当前图片的先前图片或后续图片中的至少一个图片的信息来预测预测单元,或者在一些情况下可以基于在当前图片中编码的一些区域的信息来预测预测单元。帧间预测单元120可以包括参考图片内插单元、运动预测单元和运动补偿单元。
在参考图片内插单元中,可以从存储器155提供参考图片信息,并且可以在参考图片中生成整数像素或更小的像素信息。对于亮度像素,可以使用具有不同滤波器系数的基于DCT的8抽头内插滤波器来生成以1/4像素为单位的整数像素或更小的像素信息。对于色度信号,可以使用具有不同滤波器系数的基于DCT的4抽头内插滤波器来生成以1/8像素为单位的整数像素或更小的像素信息。
运动预测单元可以基于由参考图片内插单元内插的参考图片来执行运动预测。作为计算运动矢量的方法,可以使用诸如FBMA(基于全搜索的块匹配算法)、TSS(三步搜索)、NTS(新三步搜索算法)等的各种方法。基于内插像素,运动矢量可以具有1/2或1/4像素单位的运动矢量值。在运动预测单元中,可以通过使运动预测方法不同来预测当前预测单元。对于运动预测方法,可以使用诸如跳过模式、合并模式、AMVP(高级运动矢量预测)模式、帧内块复制模式、仿射模式等的各种方法。
帧内预测单元125可以基于当前块周围的参考像素信息、当前图片中的像素信息生成预测单元。当因为当前预测单元的邻近块是执行帧间预测的块,所以参考像素是执行帧间预测的像素时,执行帧间预测的块中包括的参考像素可以通过用执行邻近帧内预测的块的参考像素信息替换而被使用。换言之,当参考像素不可用时,不可用的参考像素信息可以通过用可用参考像素中的至少一个参考像素替换而被使用。
另外,可以生成包括关于残余值的信息的残余块,该残余值是基于在预测单元120和125中生成的预测单元执行预测的预测单元与预测单元的原始块之间的差值。所生成的残余块可以被输入到变换单元130。
在变换单元130中,可以通过使用诸如DCT(离散余弦变换)、DST(离散正弦变换)和KLT的变换方法来对原始块和包括关于在预测单元120和125中生成的预测单元的残余值的信息的残余块进行变换。可以基于用于生成残余块的预测单元中的帧内预测模式信息来确定是否应用DCT、DST或KLT对残余块进行变换。
量化单元135可以对在变换单元130中被变换到频域的值进行量化。根据块或根据图像重要性,可以改变量化系数。在量化单元135中计算的值可以被提供给逆量化单元140和重排单元160。
重排单元160可以对量化后的残余值的系数值执行重排。
重排单元160可以通过系数扫描方法将二维块形式的系数改变为一维向量形式。例如,在重排单元160中,可以通过zig-zag扫描方法扫描DC系数至高频域中的系数,并且可以将其改变为一维向量形式。根据变换单元的大小和帧内预测模式,可以使用逐列扫描二维块形式的系数的垂直扫描或逐行扫描二维块形式的系数的水平扫描来代替zig-zag扫描。换言之,可以根据变换单元的大小和帧内预测模式来确定是否将使用zig-zag扫描、垂直方向扫描和水平方向扫描之中的哪种扫描方法。
熵编码单元165可以基于由重排单元160计算出的值来执行熵编码。例如,熵编码可以使用各种编码方法,例如指数哥伦布码(ExponentialGolomb)、CAVLC(上下文自适应可变长度编码)和CABAC(上下文自适应二进制算术编码)。关于这一点,熵编码单元165可以对来自重排单元160以及预测单元120和125的编码单元中的残余值系数信息进行编码。另外,根据本公开内容,可以用信号通知和发送指示在解码器侧导出并且使用运动信息的信息以及关于用于导出运动信息的方法的信息。
在逆量化单元140和逆变换单元145中,对在量化单元135中量化的值进行逆量化,并且对在变换单元130中变换的值进行逆变换。在逆量化单元140和逆变换单元145中生成的残余值可以通过与预测单元组合来生成重构块,该预测单元通过包括在预测单元120和125中的运动预测单元、运动补偿单元和帧内预测单元被预测。
滤波器单元150可以包括去块滤波器、偏移修改单元或ALF(自适应环路滤波器)中的至少一个。去块滤波器可以去除由重构图片中的块之间的边界生成的块失真。偏移修改单元可以以像素为单位针对对其已经执行了去块的图像修改与原始图像的偏移。可以使用将包括在图像中的像素分成一定数量的区域、确定将执行偏移的区域、并将偏移应用于对应区域的方法,或者通过考虑每个像素的边缘信息来应用偏移的方法,来对特定图片执行偏移修改。可以基于通过将滤波的重构图像与原始图像进行比较而获得的值来执行ALF(自适应环路滤波器)。可以将包括在图像中的像素分成预定的组,可以确定将应用于对应组的一个滤波器,并且可以按组有区别地执行滤波。
存储器155可以存储在滤波器单元150中计算的重构块或图片,并且可以在执行帧间预测时将所存储的重构块或图片提供给预测单元120和125。
图2是示出根据本公开内容的图像解码装置的框图。
参照图2,图像解码器200可以包括熵解码单元210、重排单元215、逆量化单元220、逆变换单元225、预测单元230和235、滤波器单元240和存储器245。
当图像比特流被输入到图像编码器中时,输入比特流可以在与图像编码器的处理相反的处理中被解码。
熵解码单元210可以在与在图像编码器的熵编码单元中执行熵编码的处理相反的处理中执行熵解码。例如,可以对应于在图像编码器中执行的方法应用诸如指数Golomb、CAVLC(上下文自适应可变长度编码)和CABAC(上下文自适应二进制算术编码)的各种方法。
在熵解码单元210中,可以对与在编码器中执行的帧内预测和帧间预测有关的信息进行解码。
重排单元215可以基于编码单元的重排方法对在熵解码单元210中熵解码的比特流执行重排。以一维向量形式表示的系数可以被重构为二维块形式的系数,并且可以被重排。
逆量化单元220可以基于编码器中提供的量化参数和重排块的系数值来执行逆量化。
逆变换单元225可以执行逆DCT、逆DST和逆KLT,即,用于DCT、DST和KLT的逆变换,即,在变换单元中对图像编码器中执行的量化的结果执行的变换。可以基于在图像编码器中确定的传输单元来执行逆变换。在图像解码器的逆变换单元225中,可以根据多个信息(例如预测方法、当前块的大小、预测方向等)来选择性地执行变换方法(例如,DCT、DST、KLT)。
预测单元230和235可以基于与熵解码单元210中提供的预测块生成有关的信息和存储器245中提供的预解码块或图片信息来生成预测块。
如上所述,当在以与图像编码器中的操作相同的方式执行帧内预测时,预测单元的大小与变换单元的大小相同时,可以基于预测单元的左位置处的像素、预测单元的左上位置处的像素和预测单元的上位置处的像素执行对预测单元的帧内预测,但是当在执行帧内预测时,预测单元的大小与变换单元的大小不同时,可以通过使用基于变换单元的参考像素来执行帧内预测。另外,可以使用仅针对最小编码单元使用NxN个分区的帧内预测。
预测单元230和235可以包括预测单元确定单元、帧间预测单元和帧内预测单元。预测单元确定单元可以接收从熵解码单元210输入的各种信息,例如预测单元信息、帧内预测方法的预测模式信息以及与帧间预测方法的运动预测有关的信息等,对当前编码单元中的预测单元进行分类,并且确定预测单元执行帧间预测还是帧内预测。另一方面,如果在编码装置100中发送指示在解码器侧导出并使用运动信息的信息和关于用于导出运动信息的方法的信息,而不发送用于帧间预测的运动预测相关信息,则预测单元确定单元可以基于从编码器100发送的信息确定帧间预测单元230是否执行预测。
帧间预测单元230可以通过使用由图像编码器提供的当前预测单元的帧间预测所需的信息,基于包括当前预测单元的当前图片的先前图片或后续图片中的至少一个图片中包括的信息,对当前预测单元执行帧间预测。为了执行帧间预测,可以确定基于编码单元的对应编码单元中包括的预测单元中的运动预测方法是跳过模式、合并模式、AMVP模式、帧内块复制模式还是仿射模式。
帧内预测单元235可以基于当前图片中的像素信息来生成预测块。当预测单元是执行帧内预测的预测单元时,可以基于由图像编码器提供的预测单元的帧内预测模式信息来执行帧内预测。
帧内预测单元235可以包括自适应帧内平滑(AIS)滤波器、参考像素内插单元和DC滤波器。作为对当前块的参考像素执行滤波的部分,可以通过根据当前预测单元的预测模式确定是否应用滤波器来应用AIS滤波器。可以通过使用预测单元的预测模式和由图像编码器提供的AIS滤波器信息来对当前块的参考像素执行AIS滤波。在当前块的预测模式是不执行AIS滤波的模式时,可以不应用AIS滤波器。
当预测单元的预测模式是基于内插参考像素的像素值执行帧内预测的预测单元时,参考像素内插单元可以对参考像素进行内插以生成等于或小于整数值的像素单位的参考像素。在当前预测单元的预测模式是在不对参考像素进行内插的情况下生成预测块的预测模式时,可以不对参考像素进行内插。在当前块的预测模式是DC模式时,DC滤波器可以通过滤波来生成预测块。
可以将重构块或图片提供至滤波器单元240。滤波器单元240可以包括去块滤波器、偏移修改单元和ALF。
关于是否将去块滤波器应用于对应的块或图片的信息以及关于当应用去块滤波器时是应用强滤波器还是弱滤波器的信息可以由图像编码器提供。图像解码器的去块滤波器可以接收由图像编码器提供的与去块滤波器有关的信息,并且在图像解码器中对对应的块执行去块滤波。
偏移修改单元可以基于在编码中应用于图像的偏移修改的类型、偏移值信息等,对重构图像执行偏移修改。可以基于由编码器提供的关于是否应用ALF的信息、ALF系数信息等将ALF应用于编码单元。这样的ALF信息可以通过将其包括在特定参数集中来提供。
存储器245可以存储重构图片或块以用作参考图片或参考块,并且还将重构图片提供至输出单元。
图3至图5示出了作为应用本公开内容的实施方式的将图片划分为多个块的方法。
参照图3,图片300被划分为多个基本编码单元(编码树单元,在下文中称为CTU)。
可以以图片或视频序列为单位来调整CTU的大小,并且每个CTU被配置成不与其他CTU交叠。例如,CTU大小可以在整个序列中被设置为128×128,并且可以以图片为单位选择128×128至256×256中的任何一个并使用。
可以通过分层划分CTU来生成编码块/编码单元(在下文中,CU)。预测和变换可以以编码单元为单位执行,并且编码单元成为确定预测编码模式的基本单元。预测编码模式可以表示生成预测图像的方法,并且考虑帧内预测、帧间预测或组合预测等作为示例。具体地,例如,可以通过以编码单元为单位使用帧内预测、帧间预测或组合预测中的至少任何一个的预测编码模式来生成预测块。当参考图片在帧间预测模式下指示当前图片时,可以基于当前图片中已被解码的区域生成预测块。这可以被包括在帧间预测中,因为通过使用参考图片索引和运动矢量生成预测块。帧内预测是通过使用当前图片的信息来生成预测块的方法,帧间预测是通过使用已经解码的其他图片的信息来生成预测块的方法,并且组合预测是组合和使用帧间预测和帧内预测的方法。组合预测可以利用帧间预测对配置一个编码块的多个子区域中的一些区域进行编码/解码,并且可以利用帧内预测对其他区域进行编码/解码。替选地,组合预测可以首先对多个子区域执行帧间预测,并且其次执行帧内预测。在此情况下,可以通过对根据帧间预测的预测值和根据帧内预测的预测值执行加权平均来导出编码块的预测值。配置一个编码块的子区域的数目可以是2、3、4或更多,并且子区域的形状可以是四边形、三角形或其他多边形。
参照图4,CTU可以以四叉树、二叉树或三叉树的形式被划分。被划分的块可以另外以四叉树、二叉树或三叉树的形式被划分。将当前块划分为4个正方形分区的方法称为四叉树划分,将当前块划分为2个正方形或非正方形分区的方法称为二叉树划分,并且将当前块划分为3个分区的方法被定义为二叉树划分。
垂直方向上的二叉树划分(图4中的SPLIT_BT_VER)被称为垂直二叉树划分,而水平方向上的二叉树划分(图4中的SPLIT_BT_HOR)被称为水平二叉树划分。
垂直方向上的三叉树划分(图4中的SPLIT_TT_VER)被称为垂直三叉树划分,而水平方向上的三叉树划分(图4中的SPLIT_TT_HOR)被称为水平三叉树划分。
分区的数目可以被称为划分深度,并且可以针对每个序列、图片、子图片、切片或图块不同地设置划分深度的最大值,并且可以根据划分树形状(四叉树/二叉树/三叉树)将其设置成具有不同的划分深度,并且可以用信号发送代表其的语法。
可以通过以诸如四叉树划分、二叉树划分或其他多叉树划分(例如,三叉树划分)的方法对划分的编码单元进行额外划分来配置叶节点的编码单元,或者可以在没有额外划分的情况下配置叶节点的编码单元。
参照图5,可以通过分层划分一个CTU来设置编码单元,并且可以通过使用二叉树划分、四叉树划分/三叉树划分中的至少任意一种来划分编码单元。这样的方法被称为多叉树划分。
通过对划分深度为k的任意编码单位进行划分而生成的编码单元被称为低编码单元,并且划分深度变为(k+1)。包括划分深度为(k+1)的低编码单元的划分深度为k的编码单元被称为高编码单元。
可以根据高编码单元的划分类型和/或当前编码单元周围的编码单元的划分类型来限制当前编码单元的划分类型。
在此情况下,划分类型表示指示符,其指示使用二叉树划分、四叉树划分/三叉树划分中的哪一种划分。
图6粗略地示出了作为应用本公开内容的实施方式的重构当前块的处理。
参照图6,在S600中,可以在编码/解码装置中基于预定义的预测模式生成当前块的预测块。
可以通过编码/解码视频中的多种方法来生成预测图像,并且生成预测图像的方法被称为预测编码模式。
预测编码模式可以配置有帧内预测编码模式、帧间预测编码模式、当前图片参考编码模式或组合编码模式(组合预测)等。
帧间预测编码模式被称为通过使用先前图片的信息来生成当前块的预测块(预测图像)的预测编码模式,而帧内预测编码模式被称为通过使用与当前块邻近的样本来生成预测块的预测编码模式。可以通过使用当前图片的预重构图像来生成预测块,这被称为当前图片参考模式或帧内块复制模式。
可以通过使用帧间预测编码模式、帧内预测编码模式或当前图片参考编码模式中的至少2种或更多种预测编码模式来生成预测块,这被称为组合编码模式(组合预测)。
将通过参照图7至图20详细描述帧间预测编码模式,并将通过参照图21至图38详细描述帧内预测编码模式。
参照图6,在S610中,可以通过预定变换来生成当前块的变换块。
从原始图像减去预测图像的图像被称为残余图像或变换块。
通过诸如DCT(离散余弦变换)的二维变换,可以将残余图像分解为二维频率分量。存在尽管从图像中去除了高频分量但不会显著生成视觉失真的特征。当对应于高频的值被设置为小或0时,可以提高压缩效率而没有显著的视觉失真。
可以根据预测块的大小或预测模式来使用DST(离散正弦变换)。具体地,例如,当其是帧内预测模式并且预测块/编码块的大小小于NxN时,可以设置DST变换以被使用,并且DCT变换可以被设置用于其他预测块/编码块。
DCT是通过使用cos变换将图像分解(变换)为二维频率分量的处理,并且在此情况下将频率分量表示为基本图像。例如,当在N×N块中执行DCT变换时,可以获得N2个基本模式分量。执行DCT变换是指找到包括在原始像素块中的每个基本模式分量的大小。每个基本模式分量的大小被称为DCT系数。
通常,在许多非零分量分布在低频的图像中,主要使用DCT(离散余弦变换),而在分布有许多高频分量的图像中,可以使用DST(离散正弦变换)。
DST表示通过使用sin变换将图像分解(变换)为二维频率分量的处理。通过使用被称为二维图像变换的、DCT或DST变换以外的变换方法,二维图像可被分解(变换)为二维频率分量。
在残余图像的特定块中可以不执行二维图像变换,这被称为变换跳过。在变换跳过之后,可以应用量化。
DCT或DST或二维图像变换可以被应用于二维图像中的任意块,并且在此情况下使用的变换被称为第一变换。在执行第一变换之后,可以在变换块的一些区域中重新执行变换,这被称为第二变换。
第一变换可以使用多个变换核中的一个。具体地,例如,DCT2、DCT8或DST7中的任何一个可以被选择并在变换块中使用。替选地,在变换块中的水平方向上的变换和垂直方向上的变换中可以使用不同的变换核。
可以不同地设置执行第一变换和第二变换的块的单元。具体地,例如,在残余图像的8×8块中执行第一变换之后,可以分别对每个4×4子块执行第二变换。在另一示例中,在每个4×4块中执行第一变换之后,可以分别在8×8大小的块中执行第二变换。
应用第一变换的残余图像被称为第一变换残余图像。DCT或DST或二维图像变换可以应用于第一变换残余图像,且在此情况下使用的变换被称为第二变换。应用第二变换的二维图像被称为第二变换残余图像。
在执行第一变换和/或第二变换之后的块中的样本值被称为变换系数。量化指的是将变换系数除以预定义值以减少块的能量的处理。被定义以对变换系数应用量化的值被称为量化参数。
可以以序列或块为单位来应用预定义的量化参数。通常,量化参数可以被定义为从1到51的值。
在执行变换和量化之后,可以通过执行逆量化和逆变换生成残余重构图像。可以通过将预测图像与残余重构图像相加来生成第一重构图像。
可以基于在编码/解码装置中预定义的n个变换类型中的至少一个来生成变换块。n可以是整数,例如1、2、3、4或更大。DCT2、DCT8、DST7、变换跳过模式等可以用于变换类型。分别地,在一个块的垂直/水平方向上可以仅应用一种相同的变换类型,或者在垂直/水平方向上可以应用不同的变换类型。为此,可以使用表示是否应用一种相同变换类型的标志。该标志可以在编码装置中用信号发送。
另外,可以基于在编码装置中用信号发送的信息来确定变换类型,或者可以基于预定编码参数来确定变换类型。在此情况下,编码参数可以指块的大小或形状、帧内预测模式或分量类型(例如,亮度、色度)中的至少一个。块的大小可以表示为宽度、高度、宽度和高度的比率、宽度和高度的乘积、宽度和高度的和/差等。例如,在当前块的大小大于预定阈值时,可以将水平方向上的变换类型确定为第一变换类型(例如,DCT2),并且可以将垂直方向上的变换类型确定为第二变换类型(例如,DST7)。阈值可以是整数,例如0、4、8、16、32或更大。
另一方面,可以通过在第一变换之后执行第二变换来获得根据本公开内容的残余系数。可以对当前块中的一些区域的残余系数执行第二变换。在此情况下,解码装置可以通过对一些区域执行第二逆变换并对包括逆变换的一些区域的当前块执行第一逆变换,来获得当前块的变换块。
参照图6,在S620中,可以基于预测块和变换块来重构当前块。
可以将预定环内滤波器应用于重构的当前块。环内滤波器可以包括去块滤波器、SAO(样本自适应偏移)滤波器或ALF(自适应环路滤波器)中的至少一个,这将参照图39和图40来描述。
图7示出了作为应用本公开内容的实施方式的帧间预测方法。
通过使用先前图片的信息来生成当前图片中的块的预测块(预测图像)的方法被称为帧间预测编码模式或帧间模式。
例如,可以基于先前图片的对应块(并置块/共位块)来生成预测图像,或者可以基于先前图片的特定块来生成预测块(预测图像)。
在此情况下,可以从运动矢量中导出特定块。并置块表示左上样本的位置和大小与当前块相同的对应图片的块,如图7中那样。对应的图片可以由与参考图片参考相同的语法来指定。
可以通过在帧间预测编码模式中考虑对象的运动来生成预测块。例如,如果知道先前图片中的对象在哪个方向移动以及移动了多少,则可以通过从当前块减去考虑运动的块来生成预测块(预测图像),其被称为运动预测块。
可以通过从当前块减去运动预测块或对应的预测块来生成残余块。当在对象中生成运动时,如果使用运动预测块而不是对应的预测块,则残余块的能量降低,因此可以提高压缩性能。因此,使用运动预测块的方法被称为运动补偿预测,并且运动补偿预测被用于大多数帧间预测编码。
表示先前图片中的对象在哪个方向移动以及移动了多少的值被称为运动矢量。作为运动矢量,可以以序列、图片、子图片、切片、图块、CTU或CU为单位使用具有不同像素精度的运动矢量。例如,特定块中的运动矢量的像素精度可以是1/16、1/8、1/4、1/2、1、2、4或8中的至少任何一个。可用像素精度候选的类型和/或数目可以因下文描述的每个帧间预测编码模式而不同。例如,对于仿射帧间预测方法,k像素精度可用,而对于使用平移运动的帧间预测方法,i像素精度不可用。对于当前图片参考模式,j像素精度可用。在此情况下,k、i和j可以是自然数,例如1、2、3、4、5或更大。然而,k可以小于i并且i可以小于j。仿射帧间预测方法可以使用1/16、1/4或1中的至少一个像素精度,且使用平移运动的帧间预测方法(例如,合并模式、AMVP模式)可以使用1/4、1/2、1或4中的至少一个像素精度。当前图片参考模式可以使用1、4或8中的至少一个像素精度。
对于帧间预测模式,可以选择性地利用使用平移运动的帧间预测方法和使用仿射运动的仿射帧间预测方法。作为使用平移运动的帧间预测方法,可以使用合并模式或AMVP模式。
图8至图10示出了作为应用本公开内容的实施方式的仿射帧间预测方法。
在视频中,出现了许多特定对象的运动不是线性出现的情况。例如,如图8所示,当仅平移运动矢量用于使用了仿射运动——诸如放大、缩小、旋转、使得任意形式的变换成为可能的仿射变换等——的图像中的对象的运动时,对象的运动可能不能被有效地表示,并且编码性能可能降低。
仿射运动可以如以下公式1中那样表示。
[公式1]
vx=ax-by+e
vy=cx+dy+f
当通过使用总共6个参数来表示仿射运动时,对于具有复杂运动的图像是有效的,但是使用许多比特来编码仿射运动参数,因此可能降低编码效率。
因此,可以简化仿射运动并用4个参数表示仿射运动,这被称为4参数仿射运动模型。公式2表示具有4个参数的仿射运动。
[公式2]
vx=ax-by+e
vy=bx+ay+f
4参数仿射运动模型可以包括当前块的2个控制点处的运动矢量。控制点可以包括当前块的左上角、右上角或左下角中的至少一个。在示例中,4参数仿射运动模型可以由编码单元的左上样本(x0,y0)处的运动矢量sv0及编码单元的右上样本(x1,y1)处的运动矢量sv1确定,如图9的左侧那样,且sv0及sv1被称为仿射种子矢量。在下文中,假设在左上位置处的仿射种子矢量sv0是第一仿射种子矢量,并且在右上位置处的仿射种子矢量sv1是第二仿射种子矢量。也可以用左下位置处的仿射种子矢量代替第一种子矢量和第二种子矢量之一,并且在4参数仿射运动模型中使用它。
6参数仿射运动模型是将残余控制点(例如,左下位置处的样本(x2,y2))的运动矢量sv2添加到4参数仿射运动模型的仿射运动模型,如图9的右侧图中那样。在下文中,假设左上位置处的仿射种子矢量sv0是第一仿射种子矢量,右上位置处的仿射种子矢量sv1是第二仿射种子矢量,以及左下位置处的仿射种子矢量sv2是第三仿射种子矢量。
可以在比特流中编码关于用于表示仿射运动的参数的数目的信息。例如,表示是否使用6参数的标志和表示是否使用4参数的标志可以以图片、子图片、切片、图块组、图块、编码单元或CTU中的至少一个为单位来编码。因此,可以在预定单元中选择性地使用4参数仿射运动模型或6参数仿射运动模型中的任何一个。
可以通过使用如图10中那样的仿射种子矢量来按编码单元的子块导出运动矢量,该仿射种子矢量被称为仿射子块矢量。
仿射子块矢量可以如以下公式3中那样导出。在此情况下,子块的基本样本位置(x,y)可以是位于块的角处的样本(例如,左上样本),或者可以是x轴或y轴中的至少一个在中心处的样本(例如,中心样本)。
[公式3]
可以通过使用仿射子块矢量以编码单元为单位或者以编码单元中的子块为单位执行运动补偿,这被称为仿射帧间预测模式。在公式3中,(x1-x0)可以具有与编码单元的宽度相同的值。
图11示出了作为应用本公开内容的实施方式的合并模式的空间邻近块的范围。
当前编码单元的运动信息(运动矢量、参考图片索引等)可以从邻近块的运动信息中导出,而不需被编码。可以将邻近块中的任何一个的运动信息设置为当前编码单元的运动信息,这被称为合并模式。
参照图11,用于合并模式的邻近块可以是与当前编码单元相邻的块,例如图11的索引0至4(接触当前编码单元的边界的块),或者可以是与当前编码单元不相邻的块,例如图11的索引5至26。
合并模式可以配置包括邻近块中的至少一个的合并候选列表。基于合并索引,可以指定属于合并候选列表的多个合并候选中的任一个,并且可以将指定的合并候选的运动信息设置为当前编码单元的运动信息。
图12至图18示出了作为应用本公开内容的实施方式的使用区域间的运动信息的合并模式。
可以将当前图片中已经通过帧间预测编码的编码单元的运动信息(运动矢量和参考图片索引)以预定义的大小存储在列表(缓冲器)中,该列表被称为区域间运动信息列表。
区域间运动信息列表中的运动信息(运动矢量或参考图片索引中的至少一个)被称为区域间运动候选。
区域间运动候选可以被用作当前编码单元的合并候选,且针对其,区域间运动候选中的至少一个可以添加到当前编码单元的合并候选列表。这样的方法被称为区域间合并方法。
可以以图片、切片、图块、CTU行或CTU中的任何一个为单位初始化区域间运动信息列表。初始化可以指列表为空的状态。来自被编码和/或解码的图片的一些区域的运动信息可以被添加到区域间运动信息列表。还可以在序列、图片、子图片、切片或图块的至少一个层级中用信号发送区域间运动信息列表的初始区域间运动候选。
当通过帧间预测对编码单元进行编码/解码时,可以如图12中那样在区域间运动信息列表中更新编码单元的运动信息。当区域间运动信息列表中的区域间运动候选的数目是最大值时,可以移除区域间运动信息列表的索引之中具有最小值的索引(首先添加到区域间运动信息列表的运动信息),并且可以将最近编码/解码的区域间的运动信息添加到区域间运动信息列表。
当最近的运动信息与预先添加的运动信息相同时,可以不将最近的运动信息添加到列表。替选地,可以从列表中移除与最近运动信息相同的运动信息,并且可以添加最近运动信息。在此情况下,最近运动信息可以被添加到列表的最后位置。
被解码的编码单元的运动矢量mvCand可以在区域间运动信息列表HmvpCandList中被更新。在此情况下,当被解码的编码单元的运动信息与区域间运动信息列表中的运动信息中的任何一个相同时(当运动矢量和参考索引两者都相同时),区域间运动信息列表可以不被更新,或者被解码的编码单元的运动矢量mvCand可以被存储在区域间运动信息列表的最后,如图14所示。在此情况下,当具有与mvCand相同的运动信息的HmvpCandList的索引为hIdx时,对于大于hIdx的每个i,HMVPCandList[i]可以被设置为HVMPCandList[i-1],如图14所示。当在当前解码的编码单元中使用子块合并候选时,编码单元中的代表性子块的运动信息可以被存储在区域间运动信息列表中。
在示例中,编码单元中的代表性子块可以被设置为编码单元中的左上子块或可以被设置为编码单元中的中间子块,如图13中所示。
可以如在以下处理中那样导出以子块为单位的合并候选。
1.初始移位矢量(shVector)可以从当前块的邻近合并候选块的运动矢量导出。在此情况下,邻近合并候选块可以是当前块的左块、上块、左下块、右上块或左上块中的任何一个。替选地,可以仅将当前块的左块或上块设置为以固定方式使用。
2.如在公式4中,左上样本的位置是(xColSb,yColSb)的移位子块可以通过将初始移位矢量添加到编码单元中的子块的左上样本(xSb,ySb)来导出。
[公式4]
(xColSb,yColSb)=(xSb+shVector[0]>>4,ySb+shVector[1]>>4]
3.对应于包括(xColSb,yColSb)的子块的中心位置的并置块的运动矢量可以被导出为包括左上样本(xSb,ySb)的子块的运动矢量。
可以将总NumHmvp运动信息存储在区域间运动信息列表中,并且NumHmvp被称为区域间运动信息列表的大小。
区域间运动信息列表的大小可以使用预定义值。可以在序列、图片、子图片、切片报头和/或图块报头中用信号发送区域间运动信息列表的大小。在示例中,区域间运动信息列表的大小可以被定义为16或可以被定义为4、5、6等。
当编码/解码的编码单元是帧间预测并且具有仿射运动矢量时,其可以不包括在区域间运动信息列表中。
替选地,当编码/解码的编码单元是帧间预测并且具有仿射运动矢量时,仿射子块矢量可以被添加到区域间运动信息列表。在此情况下,子块的位置可以被设置为左上子块或右上子块、中心子块等。替选地,可以将每个控制点的运动矢量平均值添加到区域间运动候选列表。
当通过编码/解码特定编码单元导出的运动矢量MV0与区域间运动候选中的任何一个相同时,MV0可以不被添加到区域间运动信息列表。替选地,可以删除具有与MV0相同的运动矢量的现有区域间运动候选,并且可以将MV0新包括在区域间运动信息列表中以更新分配给MV0的索引。
除了区域间运动信息列表HmvpLTList之外,可以配置区域间运动信息长期列表。区域间运动信息长期列表大小可以被设置为与区域间运动信息列表的大小相同或不同的值。
区域间运动信息长期列表可以被配置有首先添加到图块组的开始位置的区域间合并候选。可以在用所有可用值配置区域间运动信息长期列表之后配置区域间运动信息列表,或者可以将区域间运动信息列表中的运动信息设置为区域间运动信息长期列表的运动信息。
在此情况下,可以将先前配置的区域间运动信息长期列表设置成不更新,或者设置成当图块组的解码区域大于整个图块组的一半时被重新更新,或者设置成每m个CTU行被更新。区域间运动信息列表可以被设置成每当其被解码为区域间时被更新,或者被设置成以CTU行为单位被更新。
运动信息和分区信息或编码单元的形状可以被存储在区域间运动信息列表中。可以通过仅使用其分区信息和形状与当前编码单元类似的区域间运动候选来执行区域间合并方法。
替选地,可以根据块形状单独地配置区域间运动信息列表。在此情况下,可以根据当前块的形状选择和使用多个区域间运动信息列表中的一个。
如图15中所示,其可以被配置有区域间仿射运动信息列表和区域间运动信息列表。当解码的编码单元是仿射帧间或仿射合并模式时,第一仿射种子矢量和第二仿射种子矢量可以被存储在区域间仿射运动信息列表HmvpAfCandList中。区域间仿射运动信息列表中的运动信息被称为区域间仿射合并候选。
可以在当前编码单元中使用的合并候选可以被如下配置,并且可以具有与配置顺序相同的搜索顺序。
1.空间合并候选(A1、B1、B0、A0)
2.时间合并候选(从先前参考图片导出的合并候选)
3.空间合并候选(B2)
4.区域间合并候选
5.区域间仿射合并候选
6.零运动合并候选
首先,合并候选列表mergeCandList可以被配置有空间合并候选和时间合并候选。可用空间合并候选和时间合并候选的数目被称为可用合并候选的数目(NumMergeCand)。当可用合并候选的数目小于合并的最大可允许数目时,区域间运动信息列表的运动候选可以被添加到合并候选列表mergeCandList作为区域间合并候选。
当将区域间运动信息列表HmvpCandList添加到合并候选列表mergeCandList时,可以检查区域间运动信息列表中的区域间运动候选的运动信息是否与现有合并候选列表mergeCandList的运动信息相同。当运动信息相同时,区域间合并候选可以不被添加到合并列表mergeCandList,且当运动信息不相同时,区域间合并候选可以被添加到合并列表mergeCandList。
在示例中,当HmvpCandList的最近更新的运动信息(HmvpCandList[n])被添加到合并候选列表(mergeCandList)时,可以仅对mergeCandList中的任何L个候选执行冗余检查。在此情况下,L是大于0的正整数,并且例如,当L是2时,可以仅对mergeCandList的第一运动信息和第二运动信息执行冗余检查。
在示例中,HmvpCandList与mergeCandList之间的冗余检查可以仅针对mergeCandList的合并候选的一部分和HmvpCandList的运动候选的一部分来执行。在此情况下,mergeCandList的一部分可以包括空间合并候选的左块和上块。然而,其不限于此,并且其可以限于空间合并候选中的任何一个的块,或者可以另外包括左下块、右上块、左上块或时间合并候选中的至少一个。另一方面,HmvpCandList的一部分可以指最近添加到HmvpCandList的K个区域间运动候选。在此情况下,K可以是1、2、3或更大,并且可以是在编码/解码装置中预先约定的固定值。假设5个区域间运动候选被存储在HmvpCandList中,并且1至5的索引被分配给每个区域间运动候选。当索引较大时,其是指最近存储的区域间运动候选。在此情况下,可以执行具有索引5、4和3的区域间运动候选与mergeCandList的合并候选之间的冗余检查。替选地,可以执行具有索引5和4的区域间运动候选与mergeCandList的合并候选之间的冗余检查。替选地,排除最近添加的索引5的区域间运动候选,可以执行在mergeCandList的合并候选与具有索引4和3的区域间运动候选之间的冗余检查。作为冗余检查的结果,当存在至少一个相同的区域间运动候选时,HmvpCandList的运动候选可以不被添加到mergeCandList。另一方面,当不存在相同的区域间运动候选时,HmvpCandList的运动候选可以被添加到区域间运动信息列表的最后位置。在此情况下,其可以按照最近存储在HmvpCandList中的运动候选的顺序(即,按照从大索引到小索引的顺序)被添加到mergeCandList。然而,可能存在这样的限制,即最近存储在HmvpCandList中的运动候选(具有最大索引的运动信息)不被添加到mergeCandList。
在区域间运动候选之中,具有大索引的区域间运动候选可以首先被添加到合并候选列表mergeCandList,并且可以使用以下处理。
对于索引HMVPIdx=1…numCheckedHMVPCand的HMVPCandList中的每个候选,重复以下排序的步骤,直到combStop等于真:
—sameMotion被设置成假;
—如果HMVPCandList[NumHmvp-HMVPIdx]具有与任何mergeCandList[i]相同的运动矢量和相同的参考索引,其中i为0…numOrigMergeCand-1,并且HasBeenPrund[i]等于假,则sameMotion被设置成真;
—如果sameMotion等于假,则mergeCandList[numCurrMergeCand++]被设置成HMVPCandList[NumHmvp-HMVPIdx];
—如果numCurrMergeCand等于(MaxNumMergeCand-1),则hmvpStop被设置成真;
—当索引为i的区域间运动候选HmvpCandList[i]与索引为j的合并候选列表mergeCandList[j]的运动信息相同时,可以将mergeCandList[j]设置为在比较HmvpCandList[i-1]的运动信息是否相同时不进行比较,如图16中所示。
替选地,可以仅比较HmvpCandList中的区域间运动候选的运动信息是否与合并候选列表中的合并候选的运动信息相同。在示例中,可以如图17中那样比较合并候选列表中具有最大索引的N个合并候选的运动信息是否与区域间运动候选的运动信息相同。
当尽管将区域间运动信息列表添加到合并候选列表但其小于图块组中所允许的最大合并数目(在下文中,最大可允许合并数目)时,可以如图18中那样使用区域间运动信息长期列表并且可以使用以下处理。
对于索引HMVPLTIdx=1…numHMVPLTCand的HMVPCandList中的每个候选,重复以下排序的步骤,直到combStop等于真:
—sameMotion被设置成假;
—如果hmvpStop等于假并且numCurrMergeCand小于(MaxNumMergeCand-1),则hvmpLT被设置成真;
—如果HMVPLTCandList[NumLTHmvp-HMVPLTIdx]具有与任何mergeCandList[i]相同的运动矢量和相同的参考索引,其中i为0…numOrigMergeCand-1,并且HasBeenPrund[i]等于假,则将sameMotion设置成真;
—如果sameMotion等于假,则mergeCandList[numCurrMergeCand++]被设置成HMVPLTCandList[NumLTHmvp-HMVPLTIdx];
—如果numCurrMergeCand等于(MaxNumMergeCand-1),则hmvpLTStop被设置成真;
—区域间运动候选可以用作当前编码单元的运动矢量预测符(MVP),并且这样的方法被称为区域间运动信息预测方法。
区域间仿射运动候选可以用作当前编码单元的运动矢量预测符(MVP),并且这样的方法被称为区域间运动信息仿射预测方法。
可以在当前编码单元中使用的运动矢量预测符候选可以被如下配置,并且可以具有与配置顺序相同的搜索顺序。
1.空间运动预测符候选(和与编码块相邻的合并候选以及与编码块不相邻的合并候选相同)
2.时间运动预测符候选(从先前参考图像导出的运动预测符候选)
3.区域间运动预测符候选
4.区域间仿射运动预测符候选
5.零运动预测符候选
图19和图20示出了作为应用本公开内容的实施方式的基于MPMM的合并模式。
当前编码单元的运动信息很可能与邻近编码单元的运动信息类似。另外,当前编码单元的合并模式信息很可能类似于邻近编码单元的合并模式信息,或者更可能的是将靠近当前编码单元的邻近编码单元的运动信息用作当前编码单元的合并候选。
可以导出配置有邻近编码单元的合并候选或运动信息的最可能合并模式(MPMM)列表,且对于MPMM列表的大小,可以按图块集或按序列不同地设置M,或者可以将M设置为预定义值。
在合并候选列表MergeCandList中的合并候选之中,不属于MPMM列表的合并候选被称为剩余合并模式(RMM)列表。
可以用信号发送标志mpmm_flag,标志mpmm_flag表示当前编码单元的合并候选是否属于MPM列表中的合并候选。
在当前编码单元的合并候选是MPMM列表中的至少任一个时(即,当mpmm_flag的值为1时),可以用信号发送MPMM索引(在MPMM列表中预定义的索引,mpmm_index)。在当前编码单元的合并候选不属于MPMM时,可以用信号发送RMM列表中的索引(rmm_index),并且可以使用如表1中所示的语法表。
[表1]
例如,如图19所示,MPMM列表可以被配置有编码/解码顺序与在先前编码单元中解码的帧间编码单元之中的当前编码单元接近的HmvpCandList[LastIdx]至HmvpCandList[LastIdx-M+1]。RMM可以从现有的mergeCandList导出,但如果MPMM列表中存在相同的运动信息,则可以从RMM列表中移除。从HmvpCandList[LastIdx]至HmvpCandList[LastIdx-M+1]导出的mergeCandList中的合并候选可以不被添加到RMM列表。
在另一示例中,从与当前编码单元具有相同形状的先前编码单元导出的mergeCandList可以被设置为MPMM。例如,在当前编码单元具有如图20所示的正方形形状时,从正方形编码单元导出的合并候选可以被添加到MPMM列表。
在另一示例中,使用合并模式/跳过模式从邻近编码单元导出的合并候选可以被添加到MPMMM列表,并且通过使用AMVP模式从编码单元导出的合并候选可以被添加到RMM列表。
图21至图30示出了作为应用本公开内容的实施方式的帧内预测方法。
对于帧内预测,如图21中所示,使用当前块周围的预编码的边界样本来生成帧内预测,预编码的边界样本被称为帧内参考样本。
帧内预测可以通过将帧内参考样本的平均值设置为预测块的所有样本的值(DC模式);通过在生成通过对水平方向上的参考样本执行加权预测而生成的水平方向上的预测样本和通过对垂直方向上的参考样本执行加权预测而生成的垂直方向上的预测样本之后,通过对水平方向上的预测样本和垂直方向上的预测样本执行加权预测来生成预测样本(平面模式);通过使用定向帧内预测模式等来执行。
帧内预测可以通过使用如图22的左图片中的33个方向(总共35个帧内预测模式)或者通过使用如右图片中的65个方向(总共67个帧内预测模式)来执行。当使用定向帧内预测时,可以通过考虑帧内预测模式的方向性来生成帧内参考样本(参考样本),并且在此,可以执行帧内预测。
在编码单元的左位置处的帧内参考样本被称为左帧内参考样本,并且在编码单元的上位置处的帧内参考样本被称为上帧内参考样本。
当执行定向帧内预测时,可以根据如表2中的帧内预测模式来设置帧内定向参数(intraPredAng),即表示预测方向(或预测角度)的参数。以下的表2仅仅是基于当使用35个帧内预测模式时具有2至34的值的定向帧内预测模式的示例。当然,当定向帧内预测模式的预测方向(或预测角度)被进一步细分时,可以使用33个或更多的定向帧内预测模式。
[表2]
当intraPredAng为负数(例如,帧内预测模式索引在11与25之间)时,当前块的左帧内参考样本和上帧内参考样本可以根据帧内预测模式的角度被重新配置为由一维配置的一维参考样本(Ref_1D),如图23所示。
当帧内预测模式索引在11与18之间时,可以从位于当前块的上侧的右侧的帧内参考样本到位于当前块的左侧的下侧的帧内参考样本沿逆时针方向生成一维参考样本,如图24所示。
在其他模式中,可以通过仅使用上侧的帧内参考样本或左侧的帧内参考样本来生成一维参考样本。
当帧内预测模式索引在19与25之间时,可以从位于当前块的左侧的下侧的帧内参考样本到位于上侧的右侧的帧内参考样本沿顺时针方向生成一维参考样本,如图25所示。
应用于基于iIdx确定的至少一个参考样本的参考样本确定索引iIdx和权重相关参数ifact可以如以下公式5中那样导出。iIdx和ifact可以根据定向帧内预测模式的斜率可变地确定,并且由iIdx指定的参考样本可以对应于整数像素。
[公式5]
iIdx=(y+1)*Pang/32
ifact=[(y+1)*Pang]&31
可以通过为每个预测样本指定至少一个或多个一维参考样本来导出预测图像。例如,可以通过考虑定向帧内预测模式的斜率值来指定可用于生成预测样本的一维参考样本的位置。每个预测样本可以具有不同的定向帧内预测模式。多个帧内预测模式可以用于一个预测块。多个帧内预测模式可以由多个非定向帧内预测模式的组合表示,可以由一个非定向帧内预测模式和至少一个定向帧内预测模式的组合表示,或者可以由多个定向帧内预测模式的组合表示。可以对一个预测块中的每个预定样本组应用不同的帧内预测模式。预定的样本组可以配置有至少一个样本。样本组的数目可以根据当前预测块的大小/样本的数目而可变地确定,或者可以是独立于预测块的大小/样本的数目而在编码器/解码器中预设的固定数目。
具体地,例如,可以通过使用参考样本确定索引iIdx来指定一维参考样本的位置。
当帧内预测模式的斜率不能仅由根据帧内预测模式的斜率的一个一维参考样本表示时,可以通过如公式6中那样对相邻的一维参考样本进行内插来生成第一预测图像。当根据帧内预测模式的斜率/角度的角线不经过位于整数像素处的参考样本时,可以通过对与对应角线的左/右或上/下相邻的参考样本进行内插来生成第一预测图像。在此情况下使用的内插滤波器的滤波器系数可以基于ifact来确定。例如,可以基于位于角线上的分数像素与位于整数像素处的参考样本之间的距离来导出内插滤波器的滤波器系数。
[公式6]
P(x,y)=((32-ifact)/32)*Ref_1D(x+iIdx+1)+(ifact/32)*Ref_1D(x+iIdx+2)
当帧内预测模式的斜率可以仅由一个一维参考样本表示时(当ifact的值为0时),可以如以下公式7中那样生成第一预测图像。
[公式7]
P(x,y)=Ref_1D(x+iIdx+1)
定向帧内预测模式的预测角可以如图26中那样被设置在45度与-135度之间。
当在非正方形编码单元中执行帧内预测模式时,由于预定义的预测角,可能导致下述缺点:在远离当前样本的帧内参考样本中而不是在靠近当前样本的帧内参考样本中预测当前样本。
例如,如图27的左图片中所示,对于编码单元的宽度大于编码单元的高度的编码单元(在下文中,水平方向的编码单元),可以在远样本L中而不是近样本T中执行帧内预测。在另一示例中,如右图片中所示,对于编码单元高度大于编码单元宽度的编码单元(在下文中,垂直方向的编码单元),可以在远样本T中而不是在近样本L中执行帧内预测。
在非正方形编码单元中,可以以比预定义的预测角宽的预测角执行帧内预测,这被称为广角帧内预测模式。
广角帧内预测模式可以具有45-α至-135-β的预测角,并且在现有帧内预测模式中使用的角度中的预测角被称为广角角度。
在图27的左图片中,水平方向的编码单元中的样本A可以通过使用广角帧内预测模式从帧内参考样本T执行预测。在图27的右图片中,垂直方向的编码单元中的样本A可以通过使用广角帧内预测模式从帧内参考样本L执行预测。
N+M个帧内预测模式可以通过将M个广角角度添加到N个现有帧内预测模式来定义。具体地,例如,如表3所示,可以通过将67个帧内模式和28个广角角度相加来定义总共95个帧内预测模式。
可以由当前块使用的帧内预测模式可以根据当前块的形状来确定。在示例中,可以基于当前块的大小、宽高比(例如,宽度和高度的比率)或参考线索引中的至少一个来选择95个定向帧内预测模式中的65个定向帧内预测模式。
[表3]
predModeIntra -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 2 3 4
intraPredAngle 512 341 256 171 128 102 86 73 64 57 51 45 39 35 32 29 26
predModeIntra 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
intraPredAngle 23 20 18 16 14 12 10 8 6 4 3 2 1 0 -1 -2 -3
predModeIntra 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
intraPredAngle -4 -6 -8 -10 -12 -14 -16 -18 -20 -23 -26 -29 -32 -29 -26 -23 -20
predModeIntra 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
intraPredAngle -18 -16 -14 -12 -10 -8 -6 -4 -3 -2 -1 0 1 2 3 4 6
predModeIntra 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
intraPredAngle 8 10 12 14 16 18 20 23 26 29 32 35 39 45 51 57 64
predModeIntra 73 74 75 76 77 78 79 80
intraPredAngle 73 86 102 128 171 256 341 512
可以基于当前块的形状或参考线索引中的至少一个来自适应地确定表3中所示的帧内预测模式角度。在示例中,模式15的intraPredAngle可以被设置成在当前块为正方形时比在当前块为非正方形时具有更大的值。替选地,模式75的intraPredAngle可以被设置成在选择非相邻参考线时比在选择相邻参考线时具有更大的值。
当使用广角帧内预测模式时,上帧内参考样本的长度可以被设置为2W+1,而左帧内参考样本的长度可以被设置为2H+1,如图28所示。
当使用广角帧内预测对广角帧内预测模式的帧内预测模式进行编码时,帧内预测模式的数目增加,因此编码效率可能降低。广角帧内预测模式可以通过用在广角帧内中不使用的现有帧内预测模式替换来进行编码,并且替换的预测模式被称为广角替换模式。广角替换模式可以是与广角帧内预测模式相反的方向上的帧内预测模式。
具体地,例如,当如图29中那样使用35帧内预测时,广角帧内预测模式35可以被编码为帧内预测模式2,即广角替换模式,并且广角帧内预测模式36可以被编码为帧内预测模式3,即广角替换模式。
可以根据编码块的形状或编码块的高度和宽度的比率来不同地设置替换模式和替换模式的数目。具体地,例如,可以如表4中那样根据编码块的形状来不同地设置替换模式和替换模式的数目。表4表示根据编码块的宽度和高度的比率使用的帧内预测替换模式。
[表4]
宽高比 替换的帧内预测模式
W/H==16 模式12、13、14、15
W/H==8 模式12、13
W/H==4 模式2、3、4、5、6、7、8、9、10、11
W/H==2 模式2、3、4、5、6、7
W/H==1 没有
W/H==1/2 模式61、62、63、64、65、66
W/H==1/4 模式57、58、59、60、61、62、63、64、65、66
W/H==1/8 模式55、56
W/H==1/16 模式53、54、55、56
参照图30,可以通过使用多个帧内参考线中的至少一个来执行帧内预测。
在示例中,可以通过选择被配置有相邻帧内参考线和非相邻帧内参考线的多个帧内参考线中的任何一个来执行帧内预测,这被称为多线帧内预测方法。非相邻帧内参考线可以包括第一非相邻帧内参考线(非相邻参考线索引1)、第二非相邻帧内参考线(非相邻参考线索引2)或第三非相邻帧内参考线(非相邻参考线索引3)中的至少一个。可以仅使用非相邻帧内参考线的一部分。在示例中,可以仅使用第一非相邻帧内参考线和第二非相邻帧内参考线,或者可以仅使用第一非相邻帧内参考线和第三非相邻帧内参考线。
帧内参考线索引(intra_luma_ref_idx),即指定用于帧内预测的参考线的语法,可以以编码单元为单位用信号发送。
具体地,当使用相邻帧内参考线、第一非相邻帧内参考线和第三非相邻帧内参考线时,intra_luma_ref_idx可以如以下表5中那样定义。
[表5]
intra_luma_ref_idx[x0][y0] 用于帧内预测的参考线
0 相邻帧内参考线
1 第一非相邻参考线
2 第三非相邻参考线
替选地,根据当前块的大小或形状或帧内预测模式,可以指定非相邻参考线的位置。例如,线索引0可以表示相邻帧内参考线,而线索引1可以表示第一非相邻帧内参考线。另一方面,根据当前块的大小或形状或帧内预测模式,线索引2可以表示第二非相邻帧内参考线或第三非相邻帧内参考线。
根据帧内模式,可以确定可用的非相邻参考线。例如,当使用对角模式中的帧内预测时,可以仅使用相邻参考线、第一非相邻参考线和第三非相邻参考线,并且可以将相邻参考线、第一非相邻参考线和第二非相邻参考线设置成在垂直或水平帧内预测模式中使用。
当使用非相邻帧内参考线时,可以将非定向帧内预测模式设置成不使用。换言之,当使用非相邻帧内参考线时,可能存在不使用DC模式或平面模式的限制。
在另一示例中,当使用非相邻帧内参考线时,可以存在不使用非定向帧内预测模式或特定定向帧内预测模式中的至少一个的限制。非定向帧内预测模式可以包括DC模式或平面模式中的至少一个,并且特定定向帧内预测模式可以包括水平定向模式(INTRA_MODE18)、垂直定向模式(INTRA_MODE50)、对角线定向模式(INTRA_MODE2,66)或广角模式中的至少一个。
属于非相邻帧内参考线的样本的数目可以被设置成大于相邻帧内参考线的样本的数目。另外,第(i+1)条非相邻帧内参考线的样本的数目可以被设置成大于第i条非相邻帧内参考线的样本的数目。第i条非相邻帧内参考线的上样本的数目与第(i-1)条非相邻帧内参考线的上样本的数目之间的差可以被表示为参考样本数目的偏移offsetX[i]。offsetX[1]表示第一非相邻帧内参考线的上样本的数目与相邻帧内参考线的上样本的数目之间的差值。第i条非相邻帧内参考线的左样本的数目与第(i-1)条非相邻帧内参考线的左样本的数目之间的差可以被表示为参考样本数目的偏移offsetY[i]。offsetY[1]表示第一非相邻帧内参考线的左样本的数目与相邻帧内参考线的左样本的数目之间的差值。
可以用上非相邻参考线refW+offsetX[i]、左非相邻参考线refH+offsetY[i]和左上样本来配置帧内参考线索引为i的非相邻帧内参考线,并且可以用refW+refH+offsetX[i]+offsetY[i]+1来配置属于非相邻帧内参考线的样本的数目。
[公式8]
refW=(nTbW*2)
refH=(nTbH*2)
在公式8中,nTbW可表示编码单元的宽度,nTbH可以表示编码单元的高度,并且whRatio可以如以下公式9中那样定义。
[公式9]
whRatio=log2(nTbW/nTbH)
在多线帧内预测编码方法中,当使用非相邻帧内参考线时,可以将广角帧内模式设置为不被使用。替选地,在当前编码单元的MPM模式是广角帧内模式时,可以将多线帧内预测编码方法设置成不被使用。在此情况下,帧内参考线索引为i的非相邻帧内参考线可以配置有上非相邻参考线W+H+offsetX[i]、左非相邻参考线H+W+offsetY[i]和左上样本,属于非相邻帧内参考线的样本的数目可以配置有2W+2H+offsetX[i]+offsetY[i]+1,并且offsetX[i]和offsetY[i]的值可以根据whRatio的值而变化。例如,当whRatio的值大于1时,offsetX[i]的值可以被设置成1,并且offsetY[i]的值可以被设置成0,并且当whRatio的值小于1时,offsetX[i]的值可以被设置成0,并且offsetY[i]的值可以被设置成1。
图31示出了作为应用本公开内容的实施方式的基于分量间参考的预测方法。
当前块可以根据分量类型被分类为亮度块和色度块。色度块可以通过使用被称为分量间参考的预重构的亮度块的像素来预测。在本实施方式中,假设色度块具有(nTbW×nTbH)的大小,并且与色度块对应的亮度块具有(2*nTbW×2*nTbH)的大小。
参照图31,在S3100中可以确定色度块的帧内预测模式。
色度块的预定义帧内预测模式可以被分类为第一组和第二组。在此情况下,第一组可以被配置有基于分量间参考的预测模式,并且第二组可以被配置有图22中所示的帧内预测模式的全部或部分。
作为基于分量间参考的预测模式,编码/解码装置可以定义INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM中的至少一个。INTRA_LT_CCLM可以是参考与亮度/色度块相邻的左区域和上区域两者的模式,INTRA_L_CCLM可以是参考与亮度/色度块相邻的左区域的模式,并且INTRA_T_CCLM可以是参考与亮度/色度块相邻的上区域的模式。
可以通过选择性地使用第一组或第二组中的任何一组来导出色度块的帧内预测模式。可以基于预定的第一标志来执行选择。第一标志可以表示色度块的帧内预测模式是基于第一组导出还是基于第二组导出。
例如,当第一标志是第一值时,色度块的帧内预测模式可以被确定为属于第一组的基于分量间参考的预测模式中的任何一个。预定索引可以用于选择基于分量间参考的预测模式中的任何一个。索引可以是指定INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM中的任何一个的信息。在以下表6中示出了分配给基于分量间参考的预测模式和每个预测模式的索引。
[表6]
Idx 基于分量间参考的预测模式
0 INTRA_LT_CCLM
1 INTRA_L_CCLM
2 INTRA_T_CCLM
表6仅是分配给每个预测模式的索引的示例,并且其不限于此。换言之,如表6所示,索引可以以INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM的优先级分配,或者索引可以以INTRA_LT_CCLM、INTRA_T_CCLM和INTRA_L_CCLM的优先级分配。替选地,INTRA_LT_CCLM可以具有低于INTRA_T_CCLM或INTRA_L_CCLM的优先级。
另一方面,当第一标志是第二值时,色度块的帧内预测模式可以被确定为属于第二组的多个帧内预测模式中的任何一个。在示例中,可以如表7中那样定义第二组,并且可以基于在编码装置中用信号发送的信息(intra_chroma_pred_mode)和亮度块的帧内预测模式(IntraPredModeY)导出色度块的帧内预测模式。
[表7]
可以基于表示是否允许分量间参考的信息来选择性地用信号发送第一标志。例如,如果信息的值为1,那么可以用信号发送第一标志,否则,可以不用信号发送第一标志。在此情况下,可以基于后面提到的预定条件将信息确定为0或1。
(条件1)当表示是否允许基于分量间参考的预测的第二标志为0时,信息可以被设置成0。第二标志可以在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)或切片报头中的至少一个中用信号发送。
(条件2)当满足以下子条件中的至少一个时,信息可以被设置成1:
—当qtbtt_dual_tree_intra_flag的值为0时;
—当切片类型不是I切片时;
—当编码树块的大小小于64×64时。
在条件2中,qtbtt_dual_tree_intra_flag可以表示编码树块是否被隐式地划分为64×64大小的编码块以及64×64大小的编码块是否被双树划分。双树可以指其中亮度分量和色度分量被划分为具有彼此独立的分区结构的方法。编码树块的大小(CtbLog2Size)可以是编码/解码装置中的预定义大小(例如,64x64、128x128、256x256),或者可以在编码装置中被编码和用信号发送。
(条件3)当满足以下子条件中的至少一个时,信息可以被设置成1:
—当第一较高块的宽度和高度为64时;
—当第一较高块的深度与(CtbLog2Size-6)相同,第一较高块被水平BT划分,并且第二较高块为64x32时;
—当第一较高区块的深度大于(CtbLog2Size-6)时;
—当第一较高区块的深度与(CtbLog2Size-6)相同,第一较高块被水平BT划分,并且第二较高块被垂直BT划分时。
在条件3中,第一较高块可以是包括作为较低块的当前色度块的块。例如,在当前色度块的深度为k时,第一较高块的深度可以是(k-n)并且n可以是1、2、3、4或更大。第一较高块的深度可以仅指根据基于四叉树的划分的深度,或者可以指根据四叉树、二叉树或三叉树中的至少一个的划分的深度。作为属于第一较高块的较低块,第二较高块可以具有小于当前色度块且大于第一较高块的深度。例如,在当前色度块的深度是k时,第二较高块的深度可以是(k-m)并且m可以是小于n的自然数。
当不满足上述条件1至3中的甚至任何一个时,可以将信息设置成0。
然而,即使满足条件1至3中的至少一个,当满足以下子条件中的至少一个时,信息也可以被重置为0:
—当第一较高块是64×64并且执行以子块为单位的上述预测时;
—当第一较高块的宽度或高度中的至少一个小于64且第一较高块的深度与(CtbLog2Size-6)相同时。
参照图31,在S3110中可以指定用于色度块的分量间参考的亮度区域。
亮度区域可以包括亮度块或与亮度块相邻的邻近区域中的至少一个。在此情况下,亮度块可以定义为包括像素pY[x][y](x=0…nTbW*2-1、y=0…nTbH*2-1)的区域。该像素可以指在应用环内滤波器之前的重构值。
邻近区域可以包括左邻近区域、上邻近区域或左上邻近区域中的至少一个。左邻近区域可以被设置为包括像素pY[x][y](x=-1…-3,y=0…2*numSampL-1)的区域。可以仅在numSampL的值大于0时执行该设置。上邻近区域可以被设置为包括像素pY[x][y](x=0…2*numSampT-1,y=-1…-3)的区域。可以仅在numSampT的值大于0时执行该设置。左上邻近区域可以被设置为包括像素pY[x][y](x=-1,y=-1,-2)的区域。可以仅在亮度块的左上区域可用时执行该设置。
可以基于当前块的帧内预测模式来确定上述numSampL和numSampT。在此情况下,当前块可以指色度块。
例如,在当前块的帧内预测模式是INTRA_LT_CCLM时,其可以如以下公式10中那样导出。在此情况下,INTRA_LT_CCLM可以指基于与当前块的左侧和上侧相邻的区域执行分量间参考的模式。
[公式10]
numSampT=availT?nTbW:0
numSampL=availL?nTbH:0
根据公式10,如果当前块的上邻近区域可用,则numSampT可以被导出为nTbW,否则,其可以被导出为0。同样,如果当前块的左邻近区域可用,则numSampL可以被导出为nTbH,否则,其可以被导出为0。
另一方面,在当前块的帧内预测模式不是INTRA_LT_CCLM时,其可以如以下公式11中那样导出。
[公式11]
numSampT=(availT&&predModeImtra==INTRA_T_CCLM)?(nTbW+numTopRight):0
numSampL=(availL&&predModeIntra==INTRA_LCCLM)?(nTbH+numLeftBelow):0
在公式11中,INTRA_T_CCLM可以指基于与当前块的上侧相邻的区域执行分量间参考的模式,并且INTRA_L_CCLM可以指基于与当前块的左侧相邻的区域执行分量间参考的模式。numTopRight可以指属于与色度块的右上侧相邻的区域的所有或部分像素的数目。一些像素可以指属于对应区域的最低像素线(行)的像素之中的可用像素。为了确定可用性,从左方向到右方向顺序地确定像素是否可用,这可以被执行直到找到不可用像素。numLeftBelow可以指属于与色度块的左下侧相邻的区域的所有或部分像素的数目。一些像素可以指属于对应区域的最右像素线(列)的像素之中的可用像素。为了确定可用性,从上方向到下方向顺序地确定像素是否可用,这可以被执行直到找到不可用像素。
参照图31,在S3120中可以执行对在S3110中指定的亮度区域进行下采样。
下采样可以包括以下至少一个:1.对亮度块进行下采样,2对亮度块的左邻近区域进行下采样,或3.对亮度块的上邻近区域进行下采样,并且这将在下面详细描述。
1.对亮度块进行下采样
(实施方式1)
下采样的亮度块的像素pDsY[x][y](x=0…nTbW-1,y=0…nTbH-1)可以基于亮度块的对应像素pY[2*x][2*y]和邻近像素而导出。邻近像素可以指在左方向、右方向、上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pDsY[x][y]可以如以下公式12中那样导出。
[公式12]
pDsY[x][y]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3
然而,可能存在当前块的左/上邻近区域不可用的情况。在当前块的左邻近区域不可用时,可以基于亮度块的对应像素pY[0][2*y]和邻近像素导出下采样的亮度块的像素pDsY[0][y](y=1…nTbH-1)。邻近像素可以指在上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pDsY[0][y](y=1…nTbH-1)可以如以下公式13中那样导出。
[公式13]
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2
在当前块的上邻近区域不可用时,可以基于亮度块的对应像素pY[2*x][0]和邻近像素来导出下采样的亮度块的像素pDsY[x][0](x=1…nTbW-1)。邻近像素可以指在左方向或右方向中的至少一个方向上与对应像素相邻的像素。例如,像素pDsY[x][0](x=1…nTbW-1)可以如以下公式14中那样导出。
[公式14]
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2
另一方面,可以基于亮度块的对应像素pY[0][0]和/或邻近像素导出下采样的亮度块的像素pDsY[0][0]。可以根据当前块的左/上邻近区域是否可用来不同地确定邻近像素的位置。
例如,当左邻近区域可用而上邻近区域不可用时,pDsY[0][0]可以如以下公式15中那样导出。
[公式15]
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2
另一方面,当左邻近区域不可用而上邻近区域可用时,pDsY[0][0]可以如以下公式16中那样导出。
[公式16]
pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2
另一方面,当左邻近区域和上邻近区域两者都不可用时,pDsY[0][0]可以被设置为亮度块的对应像素pY[0][0]。
(实施方式2)
下采样的亮度块的像素pDsY[x][y](x=0…nTbW-1,y=0…nTbH-1)可以基于亮度块的对应像素pY[2*x][2*y]和邻近像素而导出。邻近像素可以指在下方向、左方向、右方向、左下方向或右下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pDsY[x][y]可以如以下公式17中那样导出。
[公式17]
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3
但是,在当前块的左邻近区域不可用时,也可以基于亮度块的对应像素pY[0][2*y]和下邻近像素来导出下采样的亮度块的像素pDsY[0][y](y=0…nTbH-1)。例如,像素pDsY[0][y](y=0…nTbH-1)可以如以下公式18中那样导出。
[公式18]
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1
可以基于上述实施方式1和2中的任何一个来执行对亮度块进行下采样。在此情况下,可以基于预定标志来选择实施方式1或2中的任何一个。在此情况下,标志可以表示下采样的亮度像素是否具有与原始亮度像素相同的位置。例如,当标志是第一值时,下采样的亮度像素具有与原始亮度像素相同的位置。另一方面,当标志是第二值时,下采样的亮度像素在水平方向上具有与原始亮度像素相同的位置,但是它在垂直方向上具有移位半个像素的位置。
2.对亮度块的左邻近区域进行下采样
(实施方式1)
可以基于左邻近区域的对应像素pY[-2][2*y]和邻近像素来导出下采样的左邻近区域的像素pLeftDsY[y](y=0…numSampL-1)。邻近像素可以指在左方向、右方向、上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pLeftDsY[y]可以如以下公式19中那样导出。
[公式19]
pLeftDsY[y]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1]]2*y]+pY]-2][2*y+1]+4)>>3
然而,在当前块的左上邻近区域不可用时,可以基于左邻近区域的对应像素pY[-2][0]和邻近像素导出下采样的左邻近区域的像素pLeftDsY[0]。邻近像素可以指在左方向或右方向中的至少一个方向上与对应像素相邻的像素。例如,像素pLeftDsY[0]可以如以下公式20中那样导出。
[公式20]
pLeftDsY[0]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2
(实施方式2)
可以基于左邻近区域的对应像素pY[-2][2*y]和邻近像素来导出下采样的左邻近区域的像素pLeftDsY[y](y=0…numSampL-1)。邻近像素可以指在下方向、左方向、右方向、左下方向或右下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pLeftDsY[y]可以如以下公式21中那样导出。
[公式21]
pLeftDsY[y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3
同样地,可以基于上述实施方式1和2中的任何一个来执行对左邻近区域进行下采样。在此情况下,可以基于预定标志来选择实施方式1或2中的任何一个。该标志可以表示下采样的亮度像素是否具有与原始亮度像素相同的位置,这与上述相同。
另一方面,可以仅当numSampL的值大于0时执行对左邻近区域进行下采样。当numSampL的值大于0时,这可以指当前块的左邻近区域可用且当前块的帧内预测模式是INTRA_LT_CCLM或INTLM_L_CCLM的情况。
3.对亮度块的上邻近区域进行下采样
(实施方式1)
通过考虑上邻近区域是否属于不同于亮度块的CTU,可以导出下采样的上邻近区域的像素pTopDsY[x](x=0…numSampT-1)。
当上邻近区域属于与亮度块相同的CTU时,可以基于上邻近区域的对应像素pY[2*x][-2]和邻近像素来导出下采样的上邻近区域的像素pTopDsY[x]。邻近像素可以指在左方向、右方向、上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[x]可以如以下公式22中那样导出。
[公式22]
pTopDsY[x]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3
另一方面,在上邻近区域属于与亮度块不同的CTU时,可以基于上邻近区域的对应像素pY[2*x][-1]和邻近像素导出下采样的上邻近区域的像素pTopDsY[x]。邻近像素可以指在左方向或右方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[x]可以如以下公式23中那样导出。
[公式23]
pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2
替选地,在当前块的左上邻近区域不可用时,邻近像素可以指在上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[0]可以如以下公式24中那样导出。
[公式24]
pTopDsY[0]=(pY[0][-3]+2*pY[0][-2[+pY[0][-1]+2)>>2
替选地,在当前块的左上邻近区域不可用且上邻近区域属于不同于亮度块的CTU时,可以将像素pTopDsY[0]设置为上邻近区域的像素pY[0][-1]。
(实施方式2)
通过考虑上邻近区域是否属于不同于亮度块的CTU,可以导出下采样的上邻近区域的像素pTopDsY[x](x=0…numSampT-1)。
当上邻近区域属于与亮度块相同的CTU时,可以基于上邻近区域的对应像素pY[2*x][-2]和邻近像素来导出下采样的上邻近区域的像素pTopDsY[x]。邻近像素可以指在下方向、左方向、右方向、左下方向或右下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[x]可以如以下公式25中那样导出。
[公式25]
pTopDsY[x]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pYp2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3
另一方面,在上邻近区域属于与亮度块不同的CTU时,可以基于上邻近区域的对应像素pY[2*x][-1]和邻近像素导出下采样的上邻近区域的像素pTopDsY[x]。邻近像素可以指在左方向或右方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[x]可以如以下公式26中那样导出。
[公式26]
pTopDsY[x]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2
替选地,在当前块的左上邻近区域不可用时,邻近像素可以指在上方向或下方向中的至少一个方向上与对应像素相邻的像素。例如,像素pTopDsY[0]可以如以下公式27中那样导出。
[公式27]
pTopDsY[0]=(pY[0][-2]+pY[0][-1]+1)>>1
替选地,在当前块的左上邻近区域不可用且上邻近区域属于不同于亮度块的CTU时,可以将像素pTopDsY[0]设置为上邻近区域的像素pY[0][-1]。
同样地,可以基于上述实施方式1和2中的任何一个来执行对上邻近区域进行下采样。在此情况下,可以基于预定标志来选择实施方式1或2中的任何一个。该标志表示下采样的亮度像素是否具有与原始亮度像素相同的位置,这与上述相同。
另一方面,可以仅当numSampT的值大于0时执行对上邻近区域进行下采样。当numSampT的值大于0时,这可以指当前块的上邻近区域可用并且当前块的帧内预测模式是INTRA_LT_CCLM或INTLM_T_CCLM的情况。
可以通过仅使用特定位置的对应像素pY[-2][2*y]和邻近像素来执行对上述亮度块的左邻近区域或上邻近区域(在下文中,亮度参考区域)中的至少一个进行下采样。在此情况下,可以基于从属于色度块的左邻近区域或上邻近区域(在下文中,色度参考区域)中的至少一个的多个像素之中选择的像素的位置来确定特定位置。
所选择的像素可以是色度参考区域中的奇数编号像素或偶数编号像素。替选地,所选择的像素可以是起始像素和从起始像素开始以每个预定间隔定位的一个或更多个像素。在此情况下,起始像素可以是位于色度参考区域中的第一位置、第二位置或第三位置的像素。该间隔可以是1、2、3、4或更多个采样间隔。例如,当间隔是1个采样间隔时,所选择的像素可以包括第n个像素、第(n+2)个像素等。所选择的像素的数目可以是2、4、6、8或者更多。
可以基于色度参考区域的长度(即,numSampL和/或numSampT)或色度块的帧内预测模式中的至少一个来可变地确定所选择的像素的数目、起始像素和间隔。替选地,所选择的像素的数目可以是在编码/解码装置中预先约定的固定数目(例如,4),而与色度参考区域的长度和色度块的帧内预测模式无关。
参照图31,在S3130中可以导出用于色度块的分量间参考的参数。
参数可以包括权重或偏移中的至少一个。可以通过考虑当前块的帧内预测模式来确定参数。可以通过使用色度参考区域的所选像素和通过对亮度参考区域进行下采样而获得的像素来导出参数。
具体地,通过比较通过对亮度参考区域进行下采样而获得的n个像素之间的大小,可以将n个像素分类为2组。例如,第一组可以是n个像素之中具有相对大的值的像素的组,并且第二组可以是n个样本之中除了第一组的像素之外的其他像素的组。换言之,第二组可以是具有相对小的值的像素的组。在此情况下,n可以是4、8、16或更大。属于第一组的像素的平均值可以被设置为最大值(MaxL),并且属于第二组的像素的平均值可以被设置为最小值(MinL)。
色度参考区域的所选择的像素可以根据通过对亮度参考区域进行下采样而获得的n个像素的分组来分组。可以通过使用对应于亮度参考区域的第一组的像素的色度参考区域的像素来配置色度参考区域的第一组,并且可以通过使用对应于亮度参考区域的第二组的像素的色度参考区域的像素来配置色度参考区域的第二组。同样,属于第一组的像素的平均值可以被设置为最大值(MaxC),并且属于第二组的像素的平均值可以被设置为最小值(MinC)。
可以基于所计算的最大值(MaxL,MaxC)和最小值(MinL,MaxC)来导出参数的权重和/或偏移。
在S3140中可以基于下采样的亮度块及参数来预测色度块。
可以通过将预先导出的权重或偏移中的至少一个应用于下采样的亮度块的像素来预测色度块。
然而,图31仅是用于亮度块的邻近区域的下采样方法的示例,并且可以应用其他下采样/子采样方法,这将通过参照图32至图38来详细描述。
图32至图38示出了对亮度块的邻近区域进行下采样并导出用于分量间参考的参数的方法。
如公式28所示,通过基于执行下采样或子采样中的至少一个的图像来线性地预测当前编码单元的邻近样本,可以生成预测图像。
[公式28]
Predc(i,j)=(α*rec1′)i,j)>>S)+β在公式28中,recl'可以指下采样的亮度块的重构样本,而Predc可以指由线性色度预测生成的色度块的预测样本。
当前编码单元的邻近样本可以被配置有如图32的右图所示的当前编码单元的左边界和上边界的样本,其可以被下采样(下采样到图32的右图中的灰色样本)且被称为亮度邻近模板图像。
在此情况下,使得在公式28中的预测误差最小的线性色度预测参数α和β的值可以如以下公式29中那样导出。
[公式29]
α=(yB-yA)/(xB-xA)
β=yA-α*xA
在此情况下,如图33所示,xA表示子采样的亮度邻近样本(即,亮度邻近模板图像)之中的最小值,并且xB表示子采样的亮度邻近样本之中的最大值。yA表示对应于xA的色度邻近样本,并且yB表示对应于xB的色度邻近样本。
替选地,如图34所示,可以通过对亮度邻近模板图像进行子采样来导出最大值和最小值。通过子采样获得的n个样本可以被分类为2个组。例如,第一组可以是n个样本之中具有相对大的值的样本的组,并且第二组可以是n个样本之中除了第一组的样本之外的其他样本的组。换言之,第二组可以是具有相对小的值的样本的组。在此情况下,n可以是4、8、16或更大。属于第一组的样本的平均值可以被设置为最大值(Max),并且属于第二组的样本的平均值可以被设置为最小值(Min)。
在远离其他样本的具有最小值或最大值的孤立样本的情况下,如果通过使用公式29执行色度预测,则预测性能很可能降低。
当亮度邻近模板图像被子采样时,几乎不存在孤立样本变为最大值或最小值的情况,并且存在可以改善预测性能的优点。此外,应该执行比较操作以找到最大值和最小值,并且操作的次数可以从4N(最大值2N和最小值2N)次减少到2N(最大值N和最小值N)次。
可以从与亮度块的上边界相邻的i条线和与左边界相邻的j条线导出亮度邻近模板图像。i和j可以是2、3、4或更大。i可以与j相同,或者i可以被设置为大于j的值。
如图35所示,可以执行子采样/下采样以便与上边界相邻的4条线变成2条线,并且可以执行子采样/下采样以便与左边界相邻的4条线变成2条线,其被称为第一亮度模板。线性预测色度参数α和β可以通过导出第一亮度模板的最大值和最小值来导出。可以通过使用导出的线性预测色度参数和亮度块的重构样本来执行色度块的线性预测色度预测。在此情况下,亮度块的重构样本可以是被下采样以对应于色度块的分辨率的样本。
如图36所示,可以通过在通过下采样生成的第一亮度模板中执行子采样来生成亮度邻近模板图像。
在示例中,在第一亮度模板中的上行(top line),具有相同x轴坐标的样本可以被配置成不同时进行子采样。同样,在第一亮度模板中的上行,具有相同y轴坐标的样本可以被配置成不同时进行子采样。
替选地,当在亮度块中使用多线帧内预测方法时,可以根据帧内参考线索引(intra_luma_ref_idx)来不同地配置亮度邻近模板图像。具体地,例如,当intra_luma_ref_idx的值是0时,与亮度边界相邻的亮度邻近模板图像可以被配置为如图37的左图所示,而当intra_luma_ref_idx的值不是0时,与亮度边界不相邻的亮度邻近模板图像可以被配置为如右图所示。
替选地,当在亮度中使用多线帧内预测方法时,可以通过根据帧内参考线索引(intra_luma_ref_idx)对亮度邻近模板图像中的样本执行加权预测来导出亮度邻近模板图像的最大值和最小值。具体地,例如,可以在2个上行中具有相同x轴坐标的样本之间执行加权预测,并且可以在2个左行中具有相同y轴坐标的样本之间执行加权预测,以生成第二邻近模板样本。可以计算第二邻近模板样本的最大值和最小值,可以通过使用其来导出线性预测色度参数α和β,并且可以执行线性预测色度预测。
如图38所示,可以根据intra_luma_ref_idx的值来不同地设置在生成第二邻近模板样本中使用的加权的预测参数的值。具体地,例如,当intra_luma_ref_idx的值为0时,可以为属于与块边界相邻的行的样本设置大的权重,并且当intra_luma_ref_idx的值不为0时,可以为属于与块边界不相邻的行的样本设置大的权重。
图39和图40示出了作为应用本公开内容的实施方式的将环内滤波器应用于重构块的方法。
环内滤波是一种自适应地对解码图像执行滤波以减少在量化和编码的处理中生成的信息的损失的技术。去块滤波器、样本自适应偏移滤波器(SAO)和自适应环路滤波器(ALF)是环内滤波的示例。
可以通过对第一重构图像执行去块滤波器、样本自适应偏移滤波器(SAO)或自适应环路滤波器(ALF)中的至少任何一个来生成第二重构图像。
在将去块滤波器应用于重构图像之后,可以应用SAO及ALF。
在视频编码处理中以块为单位执行变换和量化。出现在量化处理中生成的损失,并且在重构其的图像的边界上出现不连续性。在块边界上生成的不连续图像被称为块伪影。
去块滤波器是减轻在第一图像的块边界上生成的块伪像并提高编码性能的方法。
如图39所示,通过对块边界执行滤波可以减轻块伪影,并且可以基于是否通过帧内预测模式对块进行编码、邻近块的运动矢量的绝对值的差是否大于预定义的预定阈值、或者邻近块的参考图片是否彼此相同中的至少任何一个来确定块强度(在下文中,BS)的值。当BS的值是0时,可以不执行滤波,而当BS的值是1或2时,可以对块边界执行滤波。
因为在频域中执行量化,所以在对象的边缘上生成振铃伪影,或者像素值与原始值相比变大或变小某个值。通过考虑第一重构图像的图案,SAO可以通过以块为单位增加或减去特定偏移来有效地减少振铃伪影。根据重构图像的特征,SAO被配置有边缘偏移(在下文中,EO)和带偏移(在下文中,BO)。边缘偏移是根据邻近像素样本图案将偏移不同地添加到当前样本的方法。带偏移是通过对区域中具有相似像素亮度值的像素组增加特定值来减小编码误差。像素亮度可以被分成32个均匀的带,以将具有类似亮度值的像素设置为一组。例如,4个相邻带可以被组合成一个类别。可以将相同的偏移值设置成在一个类别中使用。
ALF(自适应环路滤波器)是一种通过使用用于第一重构图像或对第一重构图像执行去块滤波后的重构图像的任何一个预定义滤波器来生成第二重构图像的方法,如公式30中所示。
[公式30]
在这种情况下,可以以图片为单位或以CTU为单位选择滤波器。
对于亮度分量,可以选择5x5、7x7或9x9菱形中的任何一种,如以下图40所示。对于色度分量,可能存在仅使用5x5菱形的限制。
本公开内容的各种实施方式并不列举所有可能的组合,而是描述本公开内容的代表性方面,并且在各种实施方式中描述的内容可以独立地应用或者可以通过两个或更多个组合来应用。
另外,本公开内容的各种实施方式可以由硬件、固件、软件、其组合等来实现。为了通过硬件实现,可以通过一个或更多个ASIC(专用集成电路)、DSP(数字信号处理装置)、DSPD(数字信号处理装置)、PLD(可编程逻辑装置)、FPGA(现场可编程门阵列)、通用处理器、控制器、微控制器、微处理器等来执行实现。
本公开内容的范围包括在装置或计算机中根据各种实施方式的方法执行动作的软件或机器可执行指令(例如,操作***、应用、固件、程序等)以及这样的软件、指令等被存储在装置或计算机中并且在装置或计算机中可执行的非暂态计算机可读介质。
工业适用性
本公开内容可以用于编码/解码视频。
发明构思
本发明提供了以下发明构思:
1.一种图像解码方法,包括:
确定色度块的帧内预测模式;
指定用于所述色度块的分量间参考的亮度区域;
对所指定的亮度区域进行下采样,所述亮度区域包括对应于所述色度块的亮度块或与所述亮度块相邻的邻近区域中的至少一个;
导出用于所述色度块的分量间参考的参数;以及
通过将所述参数应用于下采样的亮度块来预测所述色度块。
2.根据发明构思1所述的方法,其中,基于配置有基于分量间参考的预测模式的预定组和索引来导出所述色度块的帧内预测模式,以及
其中,所述基于分量间参考的预测模式包括参考与所述色度块相邻的左区域和上区域两者的第一模式、参考与所述色度块相邻的左区域的第二模式、或参考与所述色度块相邻的上区域的第三模式中的至少一个。
3.根据发明构思1所述的方法,其中,与所述亮度块相邻的邻近区域包括上邻近区域或左邻近区域中的至少一个,以及
其中,所述上邻近区域包括n个像素线,并且所述左邻近区域包括m个像素线。
4.根据发明构思1所述的方法,其中,通过仅使用特定位置处的亮度像素和所述亮度像素的邻近像素来执行对与所述亮度块相邻的邻近区域进行下采样。
5.根据发明构思4所述的方法,其中,基于在属于所述色度块的邻近区域的多个像素之中选择的像素的位置来确定所述特定位置。
6.根据发明构思5所述的方法,其中,所选择的像素是在所述色度块的邻近区域中以每个预定间隔定位的一个或更多个像素。
7.根据发明构思4所述的方法,其中,所述邻近像素是位于所述亮度像素的左方向、右方向、上方向、下方向、左上方向、左下方向、右上方向或右下方向中的至少一个方向上的像素。
8.根据发明构思1所述的方法,其中,导出用于所述分量间参考的参数包括从通过对所述亮度块的邻近区域进行下采样而获得的多个像素计算最大值和最小值,以及
其中,通过使用所计算的最大值和最小值来导出用于所述分量间参考的参数。
9.一种图像编码方法,包括:
确定色度块的帧内预测模式;
指定用于所述色度块的分量间参考的亮度区域;
对所指定的亮度区域进行下采样,所述亮度区域包括对应于所述色度块的亮度块或与所述亮度块相邻的邻近区域中的至少一个;
导出用于所述色度块的分量间参考的参数;以及
通过将所述参数应用于下采样的亮度块来预测所述色度块。
10.一种用于存储视频流的数字存储介质,在所述视频流中记录有用于执行处理的视频解码程序,所述处理包括:
确定色度块的帧内预测模式,指定用于所述色度块的分量间参考的亮度区域,对所指定的亮度区域进行下采样,导出用于所述色度块的分量间参考的参数,以及通过将所述参数应用于下采样的亮度区域来预测所述色度块。

Claims (9)

1.一种图像解码方法,包括:
确定色度块的帧内预测模式;
基于所述帧内预测模式,指定用于所述色度块的分量间参考的亮度区域,所述亮度区域包括对应于所述色度块的亮度块和与所述亮度块相邻的邻近亮度区域中的至少一个;
对所述亮度区域进行下采样;
基于通过对所述邻近亮度区域进行下采样而获得的预定数量的像素,导出用于所述色度块的分量间参考的参数;
通过将所述参数应用于下采样的亮度块来生成所述色度块的预测块;以及
基于所述残余块和所述预测块来重构所述色度块,
其中,导出用于分量间参考的参数包括:
将所述预定数量的像素分成第一组和第二组,所述第一组包括具有相对大的值的像素,而所述第二组包括具有相对小的值的像素;
基于包括在所述第一组中的像素的平均值来导出最大值;以及
基于包括在所述第二组中的像素的平均值来导出最小值,
其中,基于所述最大值和所述最小值来导出用于分量间参考的参数,以及
其中,所述用于分量间参考的参数包括权重和偏移中的至少一个。
2.根据权利要求1所述的方法,其中,所述色度块的帧内预测模式被确定为基于分量间参考的预测模式之一,并且
其中,所述基于分量间参考的预测模式包括:参考与所述色度块相邻的左区域和上区域两者的第一模式;参考与所述色度块相邻的左区域但不参考所述色度块的上区域的第二模式;以及参考与所述色度块相邻的上区域但不参考所述色度块的左区域的第三模式。
3.根据权利要求1所述的方法,其中,与所述亮度块相邻的邻近亮度区域包括上邻近亮度区域和左邻近亮度区域中的至少一个,
其中,所述上邻近亮度区域包括N个像素线,并且所述左邻近亮度区域包括M个像素线,以及
其中,N和M是大于0的整数,并且N被设置为与M不同的值。
4.根据权利要求1所述的方法,其中,基于特定位置处的亮度像素和所述亮度像素的邻近像素来执行对与所述亮度块相邻的邻近亮度区域进行下采样。
5.根据权利要求4所述的方法,其中,所述特定位置包括在属于所述色度块的邻近色度区域的多个像素之中选择的一个或更多个像素的位置。
6.根据权利要求5所述的方法,其中,所述一个或更多个像素是在所述色度块的邻近色度区域中以每个预定间隔定位的一个或更多个像素。
7.根据权利要求4所述的方法,其中,所述邻近像素包括位于所述亮度像素的左方向、右方向、上方向、下方向、左上方向、左下方向、右上方向和右下方向中的至少一个方向上的像素。
8.一种图像编码方法,包括:
确定色度块的帧内预测模式;
基于所述帧内预测模式,指定用于所述色度块的分量间参考的亮度区域,所述亮度区域包括对应于所述色度块的亮度块和与所述亮度块相邻的邻近亮度区域中的至少一个;
对所述亮度区域进行下采样;
基于通过对所述邻近亮度区域进行下采样而获得的预定数量的像素,导出用于所述色度块的分量间参考的参数;以及
通过将所述参数应用于下采样的亮度块来生成所述色度块的预测块,
其中,导出用于分量间参考的参数包括:
将所述预定数量的像素分成第一组和第二组,所述第一组包括具有相对大的值的像素,而所述第二组包括具有相对小的值的像素;
基于包括在所述第一组中的像素的平均值来导出最大值;以及
基于包括在所述第二组中的像素的平均值来导出最小值,
其中,基于所述最大值和所述最小值来导出用于分量间参考的参数,以及
其中,所述用于分量间参考的参数包括权重和偏移中的至少一个。
9.一种发送图像的比特流的方法,包括:
生成所述图像的比特流,其中,所述比特流基于以下来生成:根据基于分量间参考的预测模式来确定色度块的帧内预测模式;基于所述帧内预测模式,指定用于所述色度块的分量间参考的亮度区域,所述亮度区域包括对应于所述色度块的亮度块和与所述亮度块相邻的邻近亮度区域中的至少一个;对所述亮度区域进行下采样;基于通过对所述邻近亮度区域进行下采样而获得的预定数量的像素,导出用于所述色度块的分量间参考的参数;以及通过将所述参数应用于下采样的亮度块来生成所述色度块的预测块;以及
发送所述图像的比特流,
其中,导出用于分量间参考的参数包括:
将所述预定数量的像素分成第一组和第二组,所述第一组包括具有相对大的值的像素,而所述第二组包括具有相对小的值的像素;
基于包括在所述第一组中的像素的平均值来导出最大值;以及
基于包括在所述第二组中的像素的平均值来导出最小值,
其中,基于所述最大值和所述最小值来导出用于分量间参考的参数,以及
其中,所述用于分量间参考的参数包括权重和偏移中的至少一个。
CN202410315336.0A 2018-12-27 2019-12-27 图像编码/解码方法和装置 Pending CN118200556A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2018-0171320 2018-12-27
KR20180171320 2018-12-27
CN201980092849.7A CN113475063B (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
PCT/KR2019/018643 WO2020139039A1 (ko) 2018-12-27 2019-12-27 영상 부/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980092849.7A Division CN113475063B (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置

Publications (1)

Publication Number Publication Date
CN118200556A true CN118200556A (zh) 2024-06-14

Family

ID=71126639

Family Applications (5)

Application Number Title Priority Date Filing Date
CN201980092849.7A Active CN113475063B (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315311.0A Pending CN118200553A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315336.0A Pending CN118200556A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315329.0A Pending CN118200555A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315325.2A Pending CN118200554A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201980092849.7A Active CN113475063B (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315311.0A Pending CN118200553A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202410315329.0A Pending CN118200555A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置
CN202410315325.2A Pending CN118200554A (zh) 2018-12-27 2019-12-27 图像编码/解码方法和装置

Country Status (4)

Country Link
US (1) US12010299B2 (zh)
KR (1) KR20200081327A (zh)
CN (5) CN113475063B (zh)
WO (1) WO2020139039A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020197223A1 (ko) * 2019-03-23 2020-10-01 엘지전자 주식회사 영상 코딩 시스템에서의 인트라 예측 기반 영상 코딩
WO2023197193A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9530189B2 (en) * 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US8705134B2 (en) * 2011-01-26 2014-04-22 Michael Robert Campanelli Method of processing an image to clarify text in the image
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
WO2013102293A1 (en) * 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
EP3661215A1 (en) 2012-09-28 2020-06-03 Vid Scale, Inc. Cross-plane filtering for chroma signal enhancement in video coding
JP6005572B2 (ja) * 2013-03-28 2016-10-12 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
JP6023332B2 (ja) 2013-07-10 2016-11-09 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
US10455249B2 (en) 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
US10652575B2 (en) 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
CN109804625A (zh) 2016-10-04 2019-05-24 韩国电子通信研究院 对图像编码/解码的方法和装置及存储比特流的记录介质
US10477240B2 (en) * 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
JP2021005741A (ja) * 2017-09-14 2021-01-14 シャープ株式会社 画像符号化装置及び画像復号装置
GB2567249A (en) * 2017-10-09 2019-04-10 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction

Also Published As

Publication number Publication date
CN118200554A (zh) 2024-06-14
CN113475063A (zh) 2021-10-01
US12010299B2 (en) 2024-06-11
CN118200553A (zh) 2024-06-14
CN118200555A (zh) 2024-06-14
US20220070452A1 (en) 2022-03-03
WO2020139039A1 (ko) 2020-07-02
CN113475063B (zh) 2024-04-09
KR20200081327A (ko) 2020-07-07

Similar Documents

Publication Publication Date Title
JP7500691B2 (ja) ビデオ信号の符号化/復号化方法及び前記方法のための装置
CN112823513B (zh) 图像编码/解码方法和装置
US20220174287A1 (en) Image encoding/decoding method and apparatus
CN116055720A (zh) 视频信号编码/解码方法及其设备
CN113455001B (zh) 视频编码/解码方法和装置
CN113382234A (zh) 视频信号编码/解码方法以及用于所述方法的设备
CN113225560A (zh) 视频编码/解码方法、视频编码/解码装置和存储介质
CN113574878A (zh) 用于对视频信号进行编码/解码的方法及其设备
CN116684632A (zh) 图像信号编码/解码方法及其设备
CN113475063B (zh) 图像编码/解码方法和装置
US20240022730A1 (en) Image encoding/decoding method and device
CN112219397A (zh) 用于对视频信号编码/解码的方法及其装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination