使用帧内预测的图像编码/解码方法和装置与流程

文档序号:25731029发布日期:2021-07-02 21:19阅读:89来源:国知局
使用帧内预测的图像编码/解码方法和装置与流程

本申请是申请日为2019年4月1日的pct国际专利申请pct/kr2019/003776进入中国国家阶段的中国专利申请号201980024708.1、发明名称为“使用帧内预测的图像编码/解码方法和装置”的分案申请。

本发明涉及图像编码/解码方法和装置。



背景技术:

最近,在各种应用领域中对诸如高清(hd)图像和超高清(uhd)图像的高分辨率和高质量图像的需求正在增加,并且因此,正在讨论高效图像压缩技术。

存在各种技术,例如,使用视频压缩技术从当前图片之前或之后的图片来预测当前图片中包括的像素值的帧间预测技术、通过使用当前图片中的像素信息来预测当前图片中包括的像素值的帧内预测技术、将短代码分配给具有高出现频率的值并且将长代码分配给具有低出现频率的值的熵编码技术。可以通过使用这样的图像压缩技术而有效地压缩、发送或存储图像数据。



技术实现要素:

技术问题

本发明的目的是提供用于得出帧内预测模式的方法和装置。

本发明的目的是提供根据部件类型的帧内预测方法和装置。

本发明的目的是提供用于帧内预测的块划分方法和装置。

技术解决方案

第一方面,提供了一种对图像进行解码的方法,该方法包括:确定当前块的帧内预测模式,并且基于确定的帧内预测模式来对当前块执行帧内预测。其中,分别针对亮度块和色度块得出当前块的帧内预测模式。其中,基于mpm列表和mpm索引来得出亮度块的帧内预测模式,并且mpm列表可以包括以下帧内预测模式中的至少一个:模式a、模式a+n、或模式a-n,其中,所述模式a表示相邻块的帧内预测模式。

可选的,执行所述帧内预测包括:指定用于所述色度块的分量间参考的亮度区域;对所述亮度区域执行下采样;得出用于所述色度块的所述分量间参考的参数;以及基于下采样的亮度区域和所述参数来预测所述色度块。

可选的,所述当前块被划分为多个子块,并且,其中,所述划分是基于所述当前块的大小来执行的,当所述当前块的大小小于预定阈值大小时,将所述当前块垂直地或水平地划分为两个子块,当所述当前块的大小大于或等于所述预定阈值大小时,将所述当前块垂直地或水平地划分为四个子块。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:pleftdsy[0]=(py[-3][0]+2×py[-2][0]+py[-1][0]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-2]+py[2×x-1][-1]+2×py[2×x][-2]+2×py[2×x][-1]+py[2×x+1][-2]+py[2×x+1][-1]+4)>>3。

第二方面,提供了一种对图像进行编码的方法,该方法包括:确定当前块的帧内预测模式;以及基于所述帧内预测模式对所述当前块执行帧内预测,其中,分别针对亮度块和色度块中的每一个确定所述当前块的帧内预测模式;将mpm索引写入码流;其中,所述mpm索引基于mpm列表和所述亮度块的帧内预测模式得到,并且,其中,所述mpm列表包括以下帧内预测模式中的至少一个:模式a、模式a+n、或模式a-n,其中,所述模式a表示相邻块的帧内预测模式。

可选的,执行所述帧内预测包括:指定用于所述色度块的分量间参考的亮度区域;对所述亮度区域执行下采样;得出用于所述色度块的所述分量间参考的参数;以及基于下采样的亮度区域和所述参数来预测所述色度块。

可选的,所述当前块被划分为多个子块,并且其中,所述划分是基于所述当前块的大小来执行的,当所述当前块的大小小于预定阈值大小时,将所述当前块垂直地或水平地划分为两个子块,当所述当前块的大小大于或等于所述预定阈值大小时,将所述当前块垂直地或水平地划分为四个子块。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:pleftdsy[0]=(py[-3][0]+2×py[-2][0]+py[-1][0]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-2]+py[2×x-1][-1]+2×py[2×x][-2]+2×py[2×x][-1]+py[2×x+1][-2]+py[2×x+1][-1]+4)>>3。

第三方面,提供了一种解码器,包括存储介质和处理器,其中,所述存储器配置为存储能够运行在所述处理器上的计算机程序;所述处理器配置为运行所述计算机程序以执行以下步骤:确定当前块的帧内预测模式;以及基于所述帧内预测模式对所述当前块执行帧内预测,其中,分别针对亮度块和色度块中的每一个确定所述当前块的帧内预测模式;其中,基于mpm列表和mpm索引得出所述亮度块的帧内预测模式,并且,其中,所述mpm列表包括以下帧内预测模式中的至少一个:模式a、模式a+n或模式a-n,其中,所述模式a表示相邻块的帧内预测模式。

可选的,执行所述帧内预测包括:指定用于所述色度块的分量间参考的亮度区域;对所述亮度区域执行下采样;得出用于所述色度块的所述分量间参考的参数;以及基于下采样的亮度区域和所述参数来预测所述色度块。

可选的,所述当前块被划分为多个子块,并且,其中,所述划分是基于所述当前块的大小来执行的,当所述当前块的大小小于预定阈值大小时,将所述当前块垂直地或水平地划分为两个子块,当所述当前块的大小大于或等于所述预定阈值大小时,将所述当前块垂直地或水平地划分为四个子块。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:pleftdsy[0]=(py[-3][0]+2×py[-2][0]+py[-1][0]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-2]+py[2×x-1][-1]+2×py[2×x][-2]+2×py[2×x][-1]+py[2×x+1][-2]+py[2×x+1][-1]+4)>>3。

第四方面,提供了一种编码器,包括存储介质和处理器,其中,所述存储器配置为存储能够运行在所述处理器上的计算机程序;所述处理器配置为运行所述计算机程序以执行以下步骤:确定当前块的帧内预测模式;以及基于所述帧内预测模式对所述当前块执行帧内预测,其中,分别针对亮度块和色度块中的每一个确定所述当前块的帧内预测模式;将mpm索引写入码流;其中,所述mpm索引基于mpm列表和所述亮度块的帧内预测模式得到,其中,所述mpm列表包括以下帧内预测模式中的至少一个:模式a、模式a+n、或模式a-n,其中,所述模式a表示相邻块的帧内预测模式。

可选的,执行所述帧内预测包括:指定用于所述色度块的分量间参考的亮度区域;对所述亮度区域执行下采样;得出用于所述色度块的所述分量间参考的参数;以及基于下采样的亮度区域和所述参数来预测所述色度块。

可选的,所述当前块被划分为多个子块,其中,所述划分是基于所述当前块的大小来执行的,当所述当前块的大小小于预定阈值大小时,将所述当前块垂直地或水平地划分为两个子块,当所述当前块的大小大于或等于所述预定阈值大小时,将所述当前块垂直地或水平地划分为四个子块。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述亮度块执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:pleftdsy[0]=(py[-3][0]+2×py[-2][0]+py[-1][0]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样: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时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2。

可选的,所述亮度区域包括亮度块和与所述亮度块相邻的相邻区域,其中,对所述亮度区域执行下采样,包括:当所述亮度区域与所述亮度块属于相同ctu时,基于以下公式对所述与所述亮度块相邻的相邻区域执行下采样:ptopdsy[x]=(py[2×x-1][-2]+py[2×x-1][-1]+2×py[2×x][-2]+2×py[2×x][-1]+py[2×x+1][-2]+py[2×x+1][-1]+4)>>3。

第五方面,提供了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序由第一处理器执行以执行以上第一方面所述的方法,或者,所述计算机程序由第二处理器执行以执行以上第二方面所述的方法。

有利效果

根据本发明,可以通过基于mpm列表得出帧内预测模式来更准确和高效地执行预测。

根据本发明,可以提高基于分量间参考的帧间预测的效率。

本发明可以通过自适应块划分来提高帧内预测编码/解码的效率。

附图说明

图1是示出根据本发明的实施方式的图像编码装置的框图。

图2是示出根据本发明的示例性实施方式的图像解码装置的框图。

图3示出了作为应用本发明的实施方式的帧内预测方法。

图4示出了作为应用本发明的实施方式的以子块为单位的帧内预测方法。

图5示出了在应用本公开内容的实施方式中的基于分量间参考的预测方法。

最佳实施方式

本发明的图像编码/解码方法和装置可以确定当前块的帧内预测模式,并且基于确定的帧内预测模式来对当前块执行帧内预测。

在本发明的图像编码/解码方法和装置中,可以分别针对亮度块和色度块得出当前块的帧内预测模式。

在本发明的图像编码/解码方法和装置中,基于mpm列表和mpm索引来得出亮度块的帧内预测模式,并且mpm列表可以包括以下帧内预测模式中的至少一个:相邻块的帧内预测模式(模式a)、模式a+n、模式a-n或默认模式。

在本发明的图像编码/解码方法和装置中,当前块是属于较高编码块的多个较低编码块中的任一个,并且属于较高编码块的多个较低编码块可以共享mpm列表。

本发明的图像编码/解码方法和装置可以指定用于色度块的分量间参考的亮度区域,对亮度区域执行下采样,得出用于色度块的分量间参考的参数,并且基于下采样亮度块和参数来预测色度块。

在本发明的图像编码/解码方法和装置中,当前块被划分为多个子块,并且该划分可以基于当前块的大小或形状中的至少之一来执行。

具体实施方式

本发明可以以各种方式进行改变和修改,并且可以参考不同的示例性实施方式进行说明,其中一些实施方式将在附图中描述和示出。然而,这些实施方式不旨在限制本发明,而是被理解为包括属于本发明的精神和技术范围的所有修改、等同方案和替换方案。在附图中,相同附图标记始终指代相同元件。

虽然术语第一、第二等可以用于描述各种元件,但是这些元件不应当被这些术语限制。这些术语仅用于将一个元件与另一元件区分开。例如,在不偏离本发明的教导的情况下,第一元件可以被称为第二元件,并且同样地第二元件可以被称为第一元件。术语“和/或”包括多个关联列出项的任何组合和所有组合。

将要理解,当元件被称为“连接至”或“耦接至”另一元件时,该元件可以直接连接或耦接至另一元件或中间元件。相反,当元件被称为“直接连接至”或“直接耦接至”另一元件时,不存在中间元件。

本文中使用的术语仅出于描述特定实施方式的目的,而不旨在限制本发明。如本文中所使用的,除非上下文另有明确指出,否则单数形式(“a”“an”)和该(“the”)也旨在包括复数形式。还将要理解,当在本说明书中使用时,术语“包括”和/或“具有”指定存在所陈述的特征、数字、步骤、操作、元件和/或部件,但是不排除存在或添加一个或更多个其他特征、数字、步骤、操作、元件、部件和/或它们的组。

在下文中,将参照附图详细描述本发明的示例性实施方式。在附图中,相同附图标记始终指代相同元件,并且在本文中将省去对相同元件的冗余描述。

图1是示出根据本发明的实施方式的图像编码装置的框图。

参照图1,图像编码装置100包括图片划分单元110、预测单元120和125、变换单元130、量化单元135、重排单元160、熵编码单元165、逆量化单元140、逆变换单元145、滤波器单元150和存储器155。

图1中示出的元件中的每一个被独立地示出以表示图像编码装置100中的不同特征功能,但并不意指每个元件由单独的硬件或一个软件元件组成。即,为了便于描述,元件被独立地布置,其中,至少两个元件可以被组合为单个元件,或者单个元件可以被划分为多个元件以执行功能。要注意,在不偏离本发明的精神的情况下,一些元件被集成为一个组合元件和/或元件被划分为多个单独的元件的实施方式包括在本发明的范围内。

一些元件对于本发明中的实质功能并非是必要的,而是可以仅用于提高性能的可选构成元件。可以通过仅包括对于本发明的实施方式必要的构成元件(而不包括仅用于提高性能的构成部件)来实施本发明。仅包括必要构成元件(而不包括仅用于提高性能的可选构成元件)的结构属于本发明的范围。

图片划分单元110可以将输入图片划分为至少一个处理单元。在该情况下,处理单元可以是预测单元(pu)、变换单元(tu)或编码单元(cu)。图片划分单元110可以将一个图片划分为编码单元、预测单元和变换单元的多个组合,并且基于预定准则(例如,成本函数)选择编码单元、预测单元和变换单元的一个组合以对图片进行编码。

例如,一个图片可以被划分为多个编码单元。为了将图片划分为编码单元,可以使用诸如四叉树结构的递归树结构。作为根的一个图像或最大的编码块(最大编码单元)可以被划分为其他编码单元,并且可以划分有与划分的编码单元的数目一样多的子节点。根据某些限制不再划分的编码单元成为叶节点。即,当假设对于一个编码单元仅正方形划分是可能的时,一个编码单元可以被划分为多达四个不同的编码单元。

在本发明的实施方式中,编码单元不仅可以用于指代编码的单元而且还可以用于指代解码的单元。

预测单元可以是在一个编码单元内以诸如具有相同大小的至少一个正方形或矩形的形状划分的块,或者在一个编码单元内划分的预测单元中的一个预测单元可以具有与另一预测单元不同的形状和/或大小。

当基于编码单元执行帧内预测的预测单元不是最小编码单元时,可以在不划分为多个预测单元n×n的情况下执行帧内预测。

预测单元120和125可以包括用于执行帧间预测的帧间预测单元120和用于执行帧内预测的帧内预测单元125。预测单元120和125可以确定对pu执行帧间预测和帧内预测中的哪一个,并且可以确定所确定的预测方法的特定信息(例如,帧内预测模式、运动矢量和参考图片)。这里,对其执行预测的处理单元可以不同于确定对其的预测方法和特定信息的处理单元。例如,可以针对每个pu来确定预测方法和预测模式,而可以针对每个tu来执行预测。可以将生成的预测块与原始块之间的残差值(残差块)输入至变换单元130。此外,用于预测的预测模式信息、运动矢量信息等可以与残差值一起被熵编码单元165编码并且被发送至解码装置。当使用特定编码模式时,可以将原始块编码并且将其发送至解码装置,而不由预测单元120和125生成预测块。

帧间预测单元120可以基于关于在当前图片的先前图片和当前图片的后续图片中的至少一个图片的信息来预测pu。在一些情况下,帧间预测单元120可以基于当前图片中的部分编码区域的信息来预测pu。帧间预测单元120可以包括参考图片内插单元、运动预测单元和运动补偿单元。

可以向参考图片内插单元提供来自存储器155的参考图片信息,并且参考图片内插单元可以生成小于或等于参考图片上的整数像素的像素信息。在亮度像素的情况下,可以使用具有可变滤波器系数的基于dct的8抽头内插滤波器以1/4像素为单位生成小于或等于整数像素的像素信息。在色度像素的情况下,可以使用具有可变滤波器系数的基于dct的4抽头内插滤波器以1/8像素为单位生成小于或等于整数像素的像素信息。

运动预测单元可以基于由参考图片内插单元内插的参考图片来执行运动预测。可以使用各种方法(例如,基于全搜索的块匹配算法(fbma)、三步搜索(tss)算法和新三步搜索(nts)算法)来计算运动矢量。基于内插像素,运动矢量具有以1/2或1/4像素为单位的运动矢量值。运动预测单元可以使用不同的运动预测方法来预测当前pu。可以将各种方法例如跳过模式、合并模式和高级运动矢量预测(amvp)模式、帧内块复制模式等用作运动预测方法。

帧内预测单元125可以基于关于与当前块相邻的参考像素的信息来生成pu。当由于与当前pu相邻的块是已执行帧间预测的块,参考像素是已执行帧间预测的像素时,可以用关于已执行帧内预测的块中的参考像素的信息替换已执行帧间预测的块中的参考像素的信息。即,当参考像素不可用时,可以用关于可用参考像素中的至少一个参考像素的信息来替换关于不可用参考像素的信息。

帧内预测的预测模式包括根据预测方向使用参考像素信息的方向预测模式以及在执行预测时不使用关于方向的信息的非方向预测模式。用于预测亮度信息的模式与用于预测色度信息的模式可以彼此不同。此外,可以使用用于预测亮度信息的帧内预测模式信息或预测的亮度信号信息来预测色度信息。

当在执行帧内预测时预测单元的大小与变换单元的大小相同时,可以基于预测单元的左侧的像素、左上方的像素和顶部的像素来执行预测单元的帧内预测。然而,当在执行帧内预测时预测单元的大小与变换单元的大小不同时,可以使用基于变换单元确定的参考像素来执行帧内预测。此外,使用n×n划分的帧内预测可以仅用于最小编码单元。

在帧内预测方法中,可以通过根据预测模式对参考像素应用自适应帧内平滑(ais)滤波器来生成预测块。可以对参考像素应用不同类型的ais滤波器。在帧内预测方法中,可以根据与当前pu相邻的pu的帧内预测模式来预测当前pu的帧内预测模式。在使用根据相邻pu预测的模式信息来预测当前pu的预测模式时,当当前pu与相邻pu具有相同的帧内预测模式时,可以使用预定标记信息来发送指示当前pu与相邻pu具有相同的预测模式的信息。当当前pu与相邻pu具有不同的预测模式时,可以通过熵编码对关于当前块的预测模式的信息进行编码。

可以生成包括残差信息的残差块。残差信息是由预测单元120和125生成的预测单元与预测单元的原始块之间的差。可以将生成的残差块输入至变换单元130。

变换单元130可以通过使用诸如dct(离散余弦变换)、dst(离散正弦变换)或klt的变换类型来对包括由预测单元120和125生成的预测单元与原始块之间的残差信息的残差块进行变换。可以基于用于生成残差块的预测单元的帧内预测模式信息来确定是否应用dct、dst或klt来对残差块进行变换。

量化单元135可以对由变换单元130变换至频域的值进行量化。量化系数可以取决于图像的重要性或块而改变。可以将从量化单元135输出的值提供至逆量化单元140和重排单元160。

重排单元160可以对量化残差的系数值执行重排。

重排单元160可以通过系数扫描方法将二维(2d)块的系数变为一维(1d)矢量的系数。例如,重排单元160可以使用z形扫描方法将dc系数扫描成高频区域中的系数,并且将其变为一维向量形式。取决于变换单元130的大小和帧内预测模式,可以使用在列方向上扫描二维块形状系数的垂直扫描或在行方向上扫描二维块形状系数的水平扫描来代替z形扫描。即,根据变换单元130的大小和帧内预测模式,可以确定要使用z形扫描、垂直方向扫描和水平方向扫描中的哪一个。

熵编码单元165可以基于由重排单元160获得的值来执行熵编码。针对熵编码,可以使用各种编码方法,例如指数哥伦布(golomb)编码、上下文自适应可变长度编码(cavlc)或上下文自适应二进制算术编码(cabac)。

熵编码单元165可以对来自重排单元160以及预测单元120和125的各种信息例如编码单元的残差系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息、传输单元信息、运动矢量信息、参考帧信息、块内插信息和滤波信息进行编码。

熵编码单元165可以对从重排单元160输入的cu的系数进行熵编码。

逆量化单元140和逆变换单元145对由量化单元135量化的值进行去量化以及对由变换单元130变换的值进行逆变换。可以通过将残差值加到预测pu来生成重建块。残差值可以由逆量化单元140和逆变换单元145生成。预测pu可以由预测单元120和125的运动矢量预测单元、运动补偿单元和帧内预测单元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可以将1d矢量的系数重建为2d块的系数并且重排。可以向重排单元215提供关于由图像编码装置执行的系数扫描的信息,并且重排单元215可以基于由图像编码装置执行的扫描顺序使用对系数进行逆扫描的方法来执行重排。

去量化单元220可以基于由图像编码装置提供的量化参数以及块的重排系数来执行去量化。

逆变换单元225可以相对于由变换单元对由图像编码装置执行的量化结果执行的变换(即dct、dst和klt)来执行逆变换即逆dct、逆dst和逆klt。可以基于由图像编码装置确定的传输单元来执行逆变换。图像解码装置200的逆变换单元225可以根据诸如预测方法、当前块的大小和预测方向的多条信息来选择性地执行变换技术(例如,dct、dst、klt)。

预测单元230和235可以基于提供的用于生成预测块的信息以及关于先前解码的块或图片的信息来生成预测块。用于生成预测块的信息可以由熵解码单元210提供。关于先前解码的块或图片的信息可以由存储器245提供。

如上所述,当以与图像编码装置的操作相同的方式执行帧内预测时如果预测单元的大小与变换单元的大小相同,可以基于预测单元的左侧的像素、左上方的像素和顶部的像素来执行预测单元的帧内预测。然而,当在执行帧内预测时如果预测单元的大小与变换单元的大小彼此不同,可以使用基于变换单元确定的参考像素来执行预测单元的帧内预测。另外,使用n×n划分的帧内预测可以仅用于最小编码单元。

预测单元230和235可以包括预测单元确定单元、帧间预测单元230和帧内预测单元235。预测单元确定单元可以从熵解码单元210接收诸如预测单元信息、帧内预测方法的预测模式信息和帧间预测方法的运动预测相关信息等各种信息,可以确定当前编码单元的预测单元。预测单元确定单元可以确定对预测单元执行帧间预测和帧内预测中的哪一个。帧间预测单元230可以基于关于包括当前预测单元的当前图片的先前图片和后续图片中的至少一个图片的信息对当前预测单元执行帧间预测。在本文中,帧间预测单元230可以使用由图像编码装置提供的当前预测单元的帧间预测所需的信息。可以基于包括当前预测单元的当前图片中的预重建的部分区域的信息来执行帧间预测。

为了执行帧间预测,可以以编码单元为单位来确定编码单元中包括的预测单元的运动预测方法是跳过模式、合并模式、amvp模式还是帧内块复制模式。

帧内预测单元235可以基于当前图片中的像素信息来生成预测块。当预测单元是对其执行帧内预测的预测单元时,可以基于从图像编码装置提供的关于预测单元的帧内预测模式信息来执行帧内预测。帧内预测单元235可以包括ais(自适应帧内平滑)滤波器、参考像素内插单元和dc滤波器。ais滤波器对当前块的参考像素执行滤波。ais滤波器可以根据当前预测单元的预测模式来判定是否应用滤波器。可以使用从图像编码装置提供的关于ais滤波器的信息和预测单元的预测模式对当前块的参考像素执行ais滤波。当当前块的预测模式是不执行ais滤波的模式时,可以不应用ais滤波器。

当预测单元的预测模式指示基于通过对参考像素进行内插而获得的像素值来执行帧内预测的预测模式时,参考像素内插单元可以通过对参考像素进行内插以小于整数像素(即,全像素)的分数像素为单位生成参考像素。当当前预测单元的预测模式指示在不对参考像素进行内插的情况下生成预测块的预测模式时,可以不对参考像素进行内插。当当前块的预测模式是dc模式时,dc滤波器可以通过滤波来生成预测块。

可以将重建块或重建图片提供至滤波器单元240。滤波器单元240包括去块滤波器、偏移单元和alf。

图像编码装置可以提供关于是否对对应的块或图片应用去块滤波器的信息以及关于在使用去块滤波器时应用强滤波器和弱滤波器中的哪一个的信息。可以向图像解码装置的去块滤波器提供来自图像编码装置的关于去块滤波器的信息,并且去块滤波器可以对对应的块执行去块滤波。

偏移单元可以基于关于在编码过程中应用于图片的偏移类型和偏移值的信息来对重建图片施加偏移。

可以基于从图像编码装置提供的关于是否应用alf的信息和alf系数信息等来对编码单元应用alf。alf信息可以包括在特定参数集中并且在特定参数集中被提供。

存储器245可以存储用作参考图片或参考块的重建图片或重建块,并且可以将重建图片提供至输出单元。

如上所述,在本发明的实施方式中,为了便于描述,将编码(coding)单元用作编码(encoding)单元,但是编码(coding)单元可以是不仅执行编码而且还执行解码的单元。

图3示出了作为应用本发明的实施方式的帧内预测方法。

参照图3,可以确定当前块的帧内预测模式(s300)。

当前块是包括亮度块和色度块的概念,并且可以针对亮度块和色度块中的每一个确定帧内预测模式。在下文中,假设在解码装置中预定义的帧内预测模式包括非定向模式(平面模式、dc模式)和65个定向模式。

1.亮度块的帧内预测模式的得出

可以基于mpm列表和mpm索引来得出亮度块的帧内预测模式。mpm列表包括多个mpm,并且可以基于当前块的相邻块的帧内预测模式来确定mpm。mpm的数目为r,并且r可以是3、4、5、6或更大的整数。

例如,mpm列表可以包括相邻块的帧内预测模式(模式a)、模式a-n、模式a+n或默认模式中的至少之一。n值可以是1、2、3、4或更大的整数。相邻块可以表示与当前块的左侧和/或顶部相邻的块。默认模式可以是平面模式、dc模式或预定定向模式中的至少之一。预定定向模式可以包括水平模式(模式v)、垂直模式(模式h)、模式v-k、模式v+k、模式h-k或模式h+k中的至少之一。

mpm索引可以在mpm列表的mpm中指定与亮度块的帧内预测模式相同的mpm。即,可以将由mpm索引指定的mpm设置为亮度块的帧内预测模式。

同时,可以基于预定的较高编码块来生成mpm列表,并且属于较高编码块的较低编码块可以共享mpm列表。这里,较低编码块可以对应于上述当前块或亮度块。在该情况下,可以以较高编码块为单位用信号通知mpm索引。在该情况下,可以使用相同的帧内预测模式来预测属于较高编码块的较低编码块。替选地,可以针对较低编码块中的每一个用信号通知mpm索引。在该情况下,较低编码块共享一个mpm列表,但是可以使用彼此不同的帧内预测模式来预测。

较高编码块可以被定义为共享mpm列表的节点的块,并且较低编码块可以被定义为不再被划分为较小编码块的叶节点的块。

(实施方式1)仅当较高编码块大于或等于预定的第一阈值大小时,才可以执行mpm列表的共享。这里,第一阈值大小可以被定义为其中使得能够共享mpm列表的块的最小大小。相反,仅当较高编码块小于或等于预定的第一阈值大小时,才可以执行mpm列表的共享。这里,阈值大小可以被定义为其中使得能够共享mpm列表的块的最大大小。这里,第一阈值大小可以以宽度(w)、高度(h)、w×h、w*h等表示,并且w和h可以是8、16、32或更大的整数。

(实施方式2)仅当属于较高编码块的多个较低编码块中的至少之一小于或等于预定的第二阈值大小时,才可以执行mpm列表的共享。这里,第二阈值大小可以以宽度(w)、高度(h)、w×h、w*h等表示,并且w和h可以是4、8、16、32或更大的整数。然而,第二阈值大小可以被设置为小于或等于第一阈值大小。

(实施方式3)可以考虑较高编码块的划分类型来自适应地执行mpm列表的共享。例如,如果基于四叉树(qt)来划分较高编码块,则允许共享mpm列表,否则,可以允许共享mpm列表。替选地,当基于二叉树(bt)划分较高编码块时,允许共享mpm列表,以及当基于三叉树(tt)划分较高编码块时,可以不允许共享mpm列表。

可以基于上述实施方式1至实施方式3中任一个来选择性地使用mpm列表的共享,或者可以基于实施方式1至实施方式3中的至少两个的组合来选择性地使用mpm列表的共享。

另外,可以由编码装置用信号通知关于是否共享mpm列表、mpm列表的共享节点的大小和形状以及划分深度的信息。可以基于用信号通知的信息来执行mpm列表的共享。

2.色度块的帧内预测模式的得出

色度块的帧内预测模式可以基于由编码装置用信号通知的信息(intra_chroma_pred_mode)如下面的表1或表2所示地得出。

[表1]

根据表1,可以基于用信号通知的信息和亮度块的帧内预测模式来确定色度块的帧内预测模式。在表1中,模式66表示右上方向的对角线模式,模式50表示垂直模式,模式18表示水平模式,模式1表示dc模式。例如,当用信号通知的信息intra_chroma_pred_mode的值为4时,色度块的帧内预测模式可以被设置为与亮度块的帧内预测模式相同。

[表2]

当针对色度块允许进行基于分量间参考的预测时,可以应用表2。表2支持将模式81、模式82和模式83作为色度块的帧内预测模式,其对应于基于分量间参考的预测模式。

参照图3,基于在s300中得出的帧内预测模式,可以对当前块执行帧内预测(s310)。

可以以当前块的子块为单位执行帧内预测。为此,可以将当前块划分为多个子块。将参照图4详细描述划分方法。

同时,当得出的帧内预测模式对应于基于分量间参考的预测模式时,可以根据预重建的亮度块预测色度块,这将参照图5进行详细描述。

图4示出了作为应用本发明的实施方式的以子块为单位的帧内预测方法。

如上所述,可以将当前块划分为多个子块。在该情况下,当前块可以对应于叶节点。叶节点可以表示不再被划分为较小编码块的编码块。

可以基于当前块的大小来执行划分(实施方式1)。

参照图4,当当前块400的大小小于预定的阈值大小时,可以将当前块垂直或水平地划分为两个子块。相反,当当前块410的大小大于或等于阈值大小时,可以将当前块垂直或水平地划分为四个子块。

阈值大小可以由编码装置用信号通知,或者可以是在解码装置中预定义的固定值。例如,阈值大小被表示为n×m,并且n和m可以是4、8、16或更大。n和m可以相同,或者可以彼此不同地设置。

替选地,如果当前块的大小小于预定的阈值大小,则可以不划分(不拆分)当前块,否则,可以将当前块划分为两个或四个子块。

可以基于当前块的形状执行划分(实施方式2)。

如果当前块的形状是正方形,则可以将当前块划分为四个子块,否则,可以将当前块划分为两个子块。相反,当当前块的形状是正方形时,可以将当前块划分为两个子块,否则,可以将当前块划分为四个子块。

替选地,如果当前块的形状是正方形,则将当前块划分为两个或四个子块,否则,当前块可以不被划分。相反,如果当前块的形状是正方形,则可以不对当前块划分,否则,可以将当前块划分为两个或四个子块。

可以通过选择性地应用上述实施方式1或实施方式2中任一个进行划分,或者可以基于实施方式1和实施方式2的组合进行划分。

2划分在垂直或水平方向上划分为两个子块,并且4划分可以包括在垂直或水平方向上划分为四个子块,或者在垂直和水平方向上划分为四个子块。

在以上实施方式中,描述了2划分或4划分,但是本发明不限于此,并且可以在垂直或水平方向上将当前块划分为三个子块。在该情况下,宽度或高度的比率可以是(1∶1∶2)、(1∶2∶1)或(2∶1∶1)。

关于是否要被划分为子块单元、是否要被划分为四个子块、划分的方向以及划分的数目的信息可以由编码装置用信号通知,或者可以由解码装置基于预定编码参数可变地确定。这里,编码参数表示块大小/形状、划分类型(4划分、2划分、3划分)、帧内预测模式、用于帧内预测的相邻像素的范围/位置以及分量类型(例如,亮度和色度)、变换块的最大/最小大小、变换类型(例如,变换跳过、dct2、dst7、dct8)等。

图5示出了在应用本公开内容的实施方式中的基于分量间参考的预测方法。

根据分量类型,可以将当前块划分为亮度块和色度块。可以使用重建的亮度块的像素来预测色度块。这被称为分量间参考。在该实施方式中,假设色度块的大小为(ntbw×ntbh),并且与色度块对应的亮度块的大小为(2×ntbw×2×ntbh)。

参照图5,可以指定用于色度块的分量间参考的亮度区域(s500)。

亮度区域可以包括亮度块或与亮度块相邻的相邻区域中的至少之一。这里,亮度块可以被定义为包括像素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时,可以基于等式1得出numsampl和numsampt。这里,intra_lt_cclm可以表示基于当前块的左相邻区域和上相邻区域执行分量间参考的模式。

[等式1]

numsampt=availt?ntbw:0

numsampl=availl?ntbh:0

根据等式1,当当前块的上相邻区域可用时,numsampt被得出为ntbw。否则,numsampt可以被得出为0。类似地,当当前块的左相邻区域可用时,numsampl被得出为ntbh。否则,numsampt可以被得出为0。

相反,当当前块的帧内预测模式不是intra_lt_cclm时,可以基于下面的等式2得出numsampl和numsampt。

[等式2]

numsampt=(availt&&predmodeintra==intra_t_cclm)?(ntbw+numtopright):0

numsampl=(availl&&predmodeintra==intra_l_cclm)?(ntbh+numleftbelow):0

在等式2中,intra_t_cclm可以指的是基于当前块的上相邻区域执行分量间参考的模式。intra_l_cclm可以表示基于当前块的左相邻区域执行分量间参考的模式。numtopright可以表示属于色度块的右上方相邻区域的所有或一些像素的数目。一些像素可以是指属于对应的区域的最低像素行的像素中的可用像素。在可用性确定中,可以在从左到右的方向上顺序地确定像素是否可用。可以执行该过程直到找到不可用像素。numleftbelow可以表示属于色度块的左下方相邻区域的所有或一些像素的数目。一些像素可以是指属于对应的区域的最右像素行(列)的像素中的可用像素。在可用性确定中,可以在从上到下的方向上顺序地确定像素是否可用。可以执行该过程直到找到不可用像素。

参照图5,可以对在s500中指定的亮度区域执行下采样(s510)。

下采样可以包括以下中的至少之一:1.亮度块的下采样,2.亮度块的左相邻区域的下采样,或3.亮度块的上相邻区域的下采样。这将在下面详细描述。

1.亮度块的下采样

(实施方式1)

可以基于亮度块的对应的像素py[2×x][2×y]和相邻像素得出下采样亮度块的像素pdsy[x][y](x=0..ntbw-1,y=0..ntbh-1)。相邻像素可以表示对应的像素的左相邻像素、右相邻像素、上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式3得出像素pdsy[x][y]。

[等式3]

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)。相邻像素可以表示对应的像素的上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式4得出像素pdsy[0][y](y=1..ntbh-1)。

[等式4]

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)。相邻像素可以表示对应的像素的左相邻像素或右相邻像素中的至少之一。例如,可以基于下面的等式5得出像素pdsy[x][0](x=1..ntbw-1)。

[等式5]

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]。相邻像素的位置可以取决于当前块的左/上相邻区域是否可用而变化。

例如,当左相邻区域可用而上相邻区域不可用时,可以基于下面的等式6得出pdsy[0][0]。

[等式6]

pdsy[0][0]=(py[-1][0]+2×py[0][0]+py[1][0]+2)>>2

相反,当左相邻区域不可用而上相邻区域可用时,可以基于下面的等式7得出pdsy[0][0]。

[等式7]

pdsy[0][0]=(py[0][-1]+2×py[0][0]+py[0][1]+2)>>2

在另一示例中,当左相邻区域和上相邻区域均不可用时,pdsy[0][0]可以被设置为亮度块的对应的像素py[0][0]。

(实施方式2)

可以基于亮度块的对应的像素py[2×x][2×y]和对应的像素的相邻像素得出下采样亮度块的像素pdsy[x][y](x=0..ntbw-1,y=0..ntbh-1)。相邻像素可以表示对应的像素的下相邻像素、左相邻像素、右相邻像素、左下相邻像素或右下相邻像素中的至少之一。例如,可以基于下面的等式8得出像素pdsy[x][y]。

[等式8]

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)。例如,可以基于下面的等式9得出像素pdsy[0][y](y=0..ntbh-1)。

[等式9]

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)。相邻像素可以表示对应的像素的左相邻像素、右相邻像素、上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式10得出像素pleftdsy[y]。

[等式10]

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]。相邻像素可以表示对应的像素的左相邻像素或右相邻像素中的至少之一。例如,可以基于下面的等式11得出像素pleftdsy[0]。

[等式11]

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)。相邻像素可以表示对应的像素的下相邻像素、左相邻像素、右相邻像素、左下相邻像素或右下相邻像素中的至少之一。例如,可以基于以下等式12得出像素pleftdsy[y]。

[等式12]

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或intra_l_cclm。

3.亮度块的上相邻区域的下采样

(实施方式1)

可以考虑上相邻区域是否属于与亮度块所属的ctu不同的ctu,来得出下采样上相邻区域的像素ptopdsy[x](x=0..numsampt-1)。

当上相邻区域属于与亮度块相同的ctu时,可以基于上相邻区域的对应的像素py[2×x][-2]和对应的像素的相邻像素得出下采样上相邻区域的像素ptopdsy[x]。相邻像素可以表示对应的像素的左相邻像素、右相邻像素、上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式13得出像素ptopdsy[x]。

[等式13]

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]。相邻像素可以表示对应的像素的左相邻像素或右相邻像素中的至少之一。例如,可以基于下面的等式14得出像素ptopdsy[x]。

[等式14]

ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2

替选地,当当前块的左上方相邻区域不可用时,相邻像素可以表示对应的像素的上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式15得出像素ptopdsy[0]。

[等式15]

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]。相邻像素可以表示对应的像素的下相邻像素、左相邻像素、右相邻像素、左下相邻像素或右下相邻像素中的至少之一。例如,可以基于下面的等式16得出像素ptopdsy[x]。

[等式16]

ptopdsy[x]=(py[2×x-1][-2]+py[2×x-1][-1]+2×py[2×x][-2]+2×py[2×x][-1]+py[2×x+1][-2]+py[2×x+1][-1]+4)>>3

相反,当上相邻区域属于与亮度块不同的ctu时,可以基于上相邻区域的对应的像素py[2×x][-1]和对应的像素的相邻像素来得出下采样上相邻区域的像素ptopdsy[x]。相邻像素可以表示对应的像素的左相邻像素或右相邻像素中的至少之一。例如,可以基于下面的等式17得出像素ptopdsy[x]。

[等式17]

ptopdsy[x]=(py[2×x-1][-1]+2×py[2×x][-1]+py[2×x+1][-1]+2)>>2

替选地,当当前块的左上方相邻区域不可用时,相邻像素可以表示对应的像素的上相邻像素或下相邻像素中的至少之一。例如,可以基于下面的等式18得出像素ptopdsy[0]。

[等式18]

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或intra_t_cclm。

可以得出用于色度块的分量间参考的参数(s520)。

可以考虑当前块的帧内预测模式来确定参数。可以使用色度块的上/左相邻区域的像素或亮度区域的像素中的至少之一来得出参数。这里,亮度区域可以包括亮度块或亮度块的上/左相邻区域中的至少之一。亮度区域可以表示施加了以上提及的下采样的区域。

可以基于下采样亮度块和参数来预测色度块(s530)。

应用于亮度块的参数的数目可以为k。这里,k可以是1、2、3或更大的整数。参数中的至少之一可以是应用于亮度块的像素值的缩放因子。参数还可以包括应用于亮度块的像素值或缩放像素值的偏移参数。

应理解,以上解码侧方法同样可以应用于编码侧。当应用于编码侧时,相比解码侧,会将mpm索引写入码流,其中,mpm索引基于mpm列表和亮度块的帧内预测模式得到。

根据本发明的方法可以以程序指令的形式来实现,该程序指令可以通过各种计算机装置执行并记录在计算机可读介质中。计算机可读介质可以单独地或组合地包括程序指令、数据文件、数据结构等。记录在计算机可读介质上的程序指令可以针对本发明进行专门设计和配置,或者可以是计算机软件领域的技术人员已知并可以使用的。

计算机可读介质的示例可以包括专门配置成存储和执行程序指令的硬件设备,例如rom、ram、闪速存储器等。程序指令的示例可以包括可以由计算机使用解释器等执行的高级语言代码以及诸如由编译器产生的机器语言代码。上述硬件设备可以被配置成作为至少一个软件模块来操作以执行本发明的操作,反之亦然。

另外,上述方法或装置可以通过组合其配置或功能的全部或一部分来实现,或者可以单独地实现。

尽管以上已经参照本发明的优选实施方式进行了描述,但是本领域技术人员将在不偏离所附权利要求中描述的本发明的精神和范围的范围内对本发明进行各种修改和改变。

工业适用性

本发明可以用于对图像进行编码/解码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1