HK40020618B - 在视频译码中与位置相关的预测组合 - Google Patents
在视频译码中与位置相关的预测组合 Download PDFInfo
- Publication number
- HK40020618B HK40020618B HK62020010566.1A HK62020010566A HK40020618B HK 40020618 B HK40020618 B HK 40020618B HK 62020010566 A HK62020010566 A HK 62020010566A HK 40020618 B HK40020618 B HK 40020618B
- Authority
- HK
- Hong Kong
- Prior art keywords
- value
- corresponding sample
- weight
- sample
- intra
- Prior art date
Links
Description
本申请案要求2017年10月9日申请的美国临时专利申请案第62/570,019号的权益,且要求2018年10月8日申请的美国申请案第16/154,261号的优先权,所述申请案的全部内容以引用的方式并入。
技术领域
本公开涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝蜂窝式或卫星无线电电话、智能电话、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、ITU-T H.265、高效率视频译码(HEVC)标准所定义的标准及这些标准的扩展中所描述的那些视频压缩技术。视频装置可通过实施这些视频压缩技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术可执行空间(图片内)预测及/或时间(图片间)预测来减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频切片(例如,视频帧或视频帧的一部分)可分割成视频块,例如译码树型块及译码块。空间或时间预测导致待译码块的预测块。残余数据表示经译码的原始块与预测块之间的像素差。为了进一步压缩,可将残余数据从像素域变换到变换域,从而导致可接着进行量化的残余变换系数。
发明内容
一般来说,本公开描述与帧内预测及帧内模式译码相关的技术。本公开的技术可用于高级视频编解码器的上下文中,例如HEVC的扩展或视频译码标准的下一代中。
在一个实例中,本公开描述一种解码视频数据的方法,所述方法包括:使用帧内预测模式产生预测块,其中产生所述预测块包括:确定第一权重的初始值;确定第二权重的初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及残余数据重构建所述视频数据的经解码块。
在另一实例中,本公开描述一种编码视频数据的方法,所述方法包括:使用帧内预测模式产生预测块,其中产生所述预测块包括:确定第一权重的初始值;确定第二权重的初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及所述视频数据的译码块产生残余数据。
在另一实例中,本公开描述一种用于解码视频数据的设备,所述设备包括:一或多个存储媒体,其经配置以存储所述视频数据;及一或多个处理器,其经配置以:使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:确定第一权重的初始值;确定第二权重的初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及残余数据重构建所述视频数据的经解码块。
在另一实例中,本公开描述一种用于编码视频数据的设备,所述设备包括:一或多个存储媒体,其经配置以存储所述视频数据;以及一或多个处理器,其经配置以:使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:确定第一权重的初始值;确定第二权重的初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及所述视频数据的译码块产生残余数据。
在另一实例中,本公开描述一种用于解码视频数据的设备,所述设备包括:用于存储所述视频数据的装置;及用于使用帧内预测模式产生预测块的装置,其中所述用于产生所述预测块的装置包括:用于确定第一权重的初始值的装置;用于确定第二权重的初始值的装置;针对所述预测块中的样本集合中的每一相应样本:用于基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值的装置;用于基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值的装置;用于确定所述相应样本的第三权重的值的装置;用于基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值的装置;用于根据所述帧内预测模式确定所述相应样本的主值的装置;及用于将所述相应样本的辅值确定为所述相应样本的第一值右移第二值的装置,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及用于基于所述预测块及残余数据重构建所述视频数据的经解码块的装置。
在另一实例中,本公开描述一种用于编码视频数据的设备,所述设备包括:用于存储所述视频数据的装置;及用于使用帧内预测模式产生预测块的装置,其中所述用于产生所述预测块的装置包括:用于确定第一权重的初始值的装置;用于确定第二权重的初始值的装置;针对所述预测块中的样本集合中的每一相应样本:用于基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值的装置;用于基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值的装置;用于确定所述相应样本的第三权重的值的装置;用于基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值的装置;用于根据所述帧内预测模式确定所述相应样本的主值的装置;及用于将所述相应样本的辅值确定为所述相应样本的第一值右移第二值的装置,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及用于基于所述预测块及所述视频数据的译码块产生残余数据的装置。
在另一实例中,本公开描述一种其上存储有指令的计算机可读存储媒体,所述指令在执行时使得一或多个处理器进行以下操作:使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:确定第一权重的初始值;确定第二权重的一初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及残余数据重构建视频数据的经解码块。
在另一实例中,本公开描述一种其上存储有指令的计算机可读存储媒体,所述指令在执行时使得一或多个处理器进行以下操作:使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:确定第一权重的初始值;确定第二权重的初始值;针对所述预测块中的样本集合中的每一相应样本:基于所述第一权重的所述初始值及所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的所述第一权重的值;基于所述第二权重的所述初始值及所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的所述第二权重的值;确定所述相应样本的第三权重的值;基于所述相应样本的所述第一权重的所述值、所述相应样本的所述第二权重的所述值及所述相应样本的所述第三权重的所述值确定所述相应样本的第四权重的值;根据所述帧内预测模式确定所述相应样本的主值;及将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以在所述相应样本左上方的所述相应样本的左上方参考样本,(iv)所述相应样本的所述第四权重的所述值乘以所述相应样本的所述主值,及(v)偏移值;及基于所述预测块及所述视频数据的一译码块产生残余数据。
在随附图式及以下描述中阐述本公开的一或多个方面的细节。本公开中所描述的技术的其它特征、目标及优势将从描述、图式及权利要求书显而易见。PCT案可缺少小標題下的內容,但應保留上面的小標題。
附图说明
图1为说明可使用本公开中所描述的一或多种技术的实例视频编码及解码系统的框图。
图2说明16×16块的帧内预测的实例。
图3说明实例帧内预测模式。
图4为说明如HEVC中所定义的平面模式的实例的概念图。
图5为说明角帧内预测模式的实例的概念图。
图6A为说明可用于4×4像素块的与位置相关的预测组合的数据的实例的概念图。
图6B为说明可用于4×4像素块的与位置相关的预测组合的数据的实例的概念图。
图7A为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(0,0)的权重的实例的框图。
图7B为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(1,0)的权重的实例的框图。
图7C为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(0,1)的权重的实例的框图。
图7D为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(1,1)的权重的实例的框图。
图8为说明可实施本公开中所描述的一或多种技术的实例视频编码器的框图。
图9为说明可实施本公开中所描述的一或多种技术的实例视频解码器的框图。
图10为说明根据本公开的技术的视频编码器的实例操作的流程图。
图11为说明根据本公开的技术的视频解码器的实例操作的流程图。
具体实施方式
视频译码器(例如,视频编码器或视频解码器)可使用帧内预测来产生当前图片的当前块的预测块。一般来说,当使用帧内预测产生预测块时,视频译码器确定在当前图片中的当前块左方的一列中及/或在当前图片的当前块上方的一行中的参考样本的集合。视频译码器随后可使用参考样本来确定预测块中的样本的值。
在高效率视频译码(HEVC)及其它视频译码标准中,视频译码器执行帧内参考平滑化。当视频译码器执行帧内参考平滑化时,视频译码器在使用参考样本确定预测块中的样本的预测值之前将滤波器应用于参考样本。举例来说,视频译码器可将2分接头双线性滤波器、3分接头(1,2,1)/4滤波器或与模式相关的帧内平滑化滤波器应用于参考样本。在上文滤波器描述中,『/4』表示通过结果除以4归一化。通常,执行帧内参考平滑化改进预测准确性,尤其在当前块表示平滑变化的梯度时。
虽然帧内参考平滑化在许多情形中可改进预测准确性,但存在可有益于使用未经滤波参考样本的其它情形。与位置相关的预测组合(Position-dependent predictioncombination;PDPC)为已经设计以解决这些问题且改进帧内预测的方案。在PDPC方案中,视频译码器基于经滤波参考样本、未经滤波参考样本及预测块内的预测块样本的位置确定预测块样本的值。PDPC方案的使用可能与译码效率增益相关联。举例来说,可使用较少位编码相同量的视频数据。
不管与上文所描述的PDPC方案的使用相关联的译码效率增益如何,存在若干缺陷。举例来说,PDPC方案仅限于平面模式以控制编码器复杂度,所述平面模式可限制通过PDPC方案贡献的译码增益。
本公开描述可改进上文所描述的PDPC方案从而产生简化PDPC方案的技术。举例来说,根据本公开的一个实例技术,视频译码器(例如,视频编码器或视频解码器)使用帧内预测模式产生预测块。作为产生预测块的部分,视频译码器可确定第一权重的初始值且确定第二权重的初始值。此外,针对预测块中的样本集合中的每一相应样本,视频译码器可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值。视频译码器还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值。此外,视频译码器可确定相应样本的第三权重的值。视频译码器还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值。另外,视频译码器可根据帧内预测模式确定相应样本的主值。接着,视频译码器可将相应样本的辅值确定为相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
在此实例中,帧内预测模式不必受限于平面模式。实际上,此实例中所描述的PDPC技术可与其它帧内预测模式一起使用,从而可能得到经改进的压缩性能。此外,本公开的设计可避免使用除法运算,其可简化实施方案,节约电力,且加速解码。
图1为说明可利用本公开的技术的实例视频编码及解码系统10的框图。如图1中所展示,系统10包含源装置12,其提供稍后将由目的地装置14解码的经编码视频数据。具体地说,源装置12经由计算机可读媒体16将经编码视频数据提供到目的地装置14。源装置12及目的地装置14可包含广泛范围的装置或设备中的任一者,包含台式计算机、笔记型计算机(即,膝上型计算机)、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些情况下,源装置12及目的地装置14经装备用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。可将本公开中所描述的技术应用于无线及/或有线应用。源装置12为实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14为实例视频解码装置(即,用于解码视频数据的装置)。
图1的所说明系统10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置执行。在一些实例中,可由视频编码器/解码器(通常被称为“编码解码器”)执行所述技术。源装置12及目的地装置14为源装置12产生经译码视频数据以供发射到目的地装置14的这类译码装置的实例。在一些实例中,源装置12及目的地装置14可以大体上对称方式操作,使得源装置12及目的地装置14中的每一者包含视频编码及解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频传输,例如用于视频流式传输、视频播放、视频广播或视频电话。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20及输出接口22。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30及显示装置32。在其它实例中,源装置12及目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成显示装置。
视频源18为视频数据的源。视频数据可包含一系列图片。视频源18可包含视频捕捉装置,例如摄像机、含有先前捕捉的视频的视频存档及/或用于从视频内容提供者接收视频数据的视频馈入接口。在一些实例中,视频源18产生基于计算机图形的视频数据或实况视频、存档视频及计算机产生的视频的组合。存储媒体19可经配置以存储视频数据。在每一情况下,所捕捉、所预先捕捉或计算机产生的视频可通过视频编码器20编码。
输出接口22可将经编码视频信息输出到计算机可读媒体16。输出接口22可包含各种类型的组件或装置。举例来说,输出接口22可包含无线发射器、调制解调器、有线网络连接组件(例如,以太网卡)或另一物理组件。在输出接口22包含无线发射器的实例中,输出接口22可经配置以发射根据蜂窝蜂窝式通信标准(例如4G、4G-LTE、高级LTE、5G等等)而调制的数据,例如经编码视频数据。在输出接口22包含无线发射器的一些实例中,输出接口22可经配置以发射根据其它无线标准(例如IEEE 802.11规范、IEEE 802.15规范(例如,紫蜂TM)、蓝牙TM标准等等)而调制的数据,例如经编码视频数据。在一些实例中,输出接口22的电路集成于源装置12的视频编码器20及/或其它组件的电路中。举例来说,视频编码器20及输出接口22可为系统芯片(SoC)的部分。SoC还可包含其它组件,例如,通用微处理器、图形处理单元等。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包含能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一些实例中,计算机可读媒体16包含通信媒体,使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14。通信媒体可包含任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于分组的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可用于促进从源装置12到目的地装置14的通信的任何其它设备。目的地装置14可包含经配置以存储经编码视频数据及经解码视频数据的一或多个数据存储媒体。
在一些实例中,输出接口22可将例如经编码视频数据的数据输出到中间装置,例如存储装置。类似地,目的地装置14的输入接口26可从中间装置接收经编码数据。中间装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘机、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在一些实例中,中间装置对应于文件服务器。实例文件服务器包含网页服务器、FTP服务器、网络附接存储(NAS)装置或本地磁碟机。
目的地装置14可经由任何标准数据连接(包含因特网连接)而存取经编码的视频数据。这可包含适用于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或两者的组合。从存储装置的经编码视频数据的发射可为流式传输发射、下载发射或其组合。
计算机可读媒体16可包含暂时性媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、快闪驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14,例如经由网络发射。类似地,例如光盘冲压设施的媒体生产设施的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收数据。输出接口26可包含各种类型的组件或装置。举例来说,输入接口26可包含无线接收器、调制解调器、有线网络连接组件(例如,以太网卡)或另一物理组件。在输入接口26包含无线接收器的实例中,输入接口26可经配置以接收根据蜂窝蜂窝式通信标准(例如,4G、4G-LTE、高级LTE、5G等等)而调制的数据,例如位流。在输入接口26包含无线接收器的一些实例中,输入接口26可经配置以接收根据其它无线标准(例如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等等)而调制的数据,例如位流。在一些实例中,输入接口26的电路可集成到目的地装置14的视频解码器30及/或其它组件的电路中。举例来说,视频解码器30及输入接口26可为SoC的部分。SoC还可包含其它组件,例如,通用微处理器、图形处理单元等。
存储媒体28可经配置以存储经编码视频数据,例如通过输入接口26接收的经编码视频数据(例如,位流)。显示装置32将经解码视频数据显示给用户。显示装置32可包含多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30各自可实施为多种合适电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件,或其任何组合。当所述技术部分以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令,以执行本公开的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
在一些实例中,视频编码器20及视频解码器30根据视频译码标准或规范编码及解码视频数据。举例来说,视频编码器20及视频解码器30可根据ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual及ITU-T H.264(还被称作ISO/IEC MPEG-4 AVC)(包含其可调式视频译码(SVC)及多视图视频译码(MVC)扩展)或另一视频译码标准或规范而编码及解码视频数据。在一些实例中,视频编码器20及视频解码器30根据高效率视频译码(HEVC)(其被称为ITU-TH.265)、其范围及屏幕内容译码扩展、其3D视频译码扩展(3D-HEVC)、其多视图扩展(MV-HEVC)或其可延展扩展(SHVC)而编码及解码视频数据。联合视频探勘小组(Joint Video Exploration Team;JVET)当前正基于联合探勘模型开发通用视频译码(Versatile Video Coding;VVC)标准。
本公开通常可指“用信号通知”某些信息,例如语法元素。术语“用信号通知”可通常指用于解码经编码视频数据的语法元素及/或其它数据的通信。此通信可实时或接近实时发生。替代地,可历时时间跨度而发生此通信,例如当在编码时间处,将位流中的语法元素存储到计算机可读存储媒体时,可发生此通信,接着,在存储于此媒体之后可由解码装置在任何时间处检索所述语法元素。
视频数据包含一系列图片。图片还可被称为“帧”。图片可包含一或多个样本阵列。图片的每一相应样本阵列包含相应色彩分量的样本的2维阵列。举例来说,图片可包含明度样本的2维阵列、Cb色度样本的二维阵列及Cr色度样本的二维阵列。在其它情况下,图片可为单色的,且可仅包含明度样本阵列。
作为编码视频数据的部分,视频编码器20可编码视频数据的图片。换句话说,视频编码器20可产生视频数据的图片的经编码表示。本公开可将图片的经编码表示称为“经译码图片”或“经编码图片”。
作为产生图片的经编码表示的部分,视频编码器20编码图片的样本阵列中的样本的块。块为数据的2维阵列,例如样本的2维阵列。视频编码器20可将视频块的经编码表示包含于位流中。
在一些实例中,为了编码图片的块,视频编码器20执行帧内预测或帧间预测以产生用于块的一或多个预测块。此外,视频编码器20可产生用于块的残余数据。残余块包含残余样本。每一残余样本可指示所产生的预测块中的一者的样本与块的对应样本之间的差异。视频编码器20可将变换应用于残余样本的块以产生变换系数。此外,视频编码器20可量化变换系数。在一些实例中,视频编码器20可产生一或多个语法元素以表示变换系数。视频编码器20可熵编码表示变换系数的语法元素中的一或多者。
在一些视频译码规范,为了产生图片的经编码表示,视频编码器20将图片的每一样本阵列分割成译码树型块(CTB)且编码所述CTB。CTB可为图片的样本阵列中的样本的N×N块。举例来说,CTB可在16×16到64×64大小范围内。
图片的译码树型单元(CTU)包含一或多个共置CTB及用以编码所述一或多个共置CTB的样本的语法结构。举例来说,每一CTU可包含图片的明度样本的CTB、图片的色度样本的两个对应CTB,及用以编码CTB的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包含单一CTB及用于编码CTB的样本的语法结构。CTU还可被称作“树型块”或“最大译码单元”(LCU)。在本公开中,“语法结构”可经定义为按指定次序一起在位流中呈现的零或多个语法元素。在一些编解码器中,经编码图片为含有图片的所有CTU的经编码表示。
为编码图片的CTU,视频编码器20可将CTU的CTB分割成一或多个译码块。译码块为样本的N×N块。在一些编解码器中,为编码图片的CTU,视频编码器20可根据树型结构分割CTU的译码树型块以将CTU的CTB分割成译码块,因此命名为“译码树型单元”。
译码单元(CU)包含一或多个译码块及用以编码一或多个译码块的样本的语法结构。举例来说,CU可包含具有明度样本阵列、Cb样本阵列及Cr样本阵列的图片的明度样本的译码块,及色度样本的两个对应译码块,及用于编码所述译码块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包含单个译码块及用于译码所述译码块的样本的语法结构。
另外,视频编码器20可编码视频数据的图片的CU。在一些编解码器中,作为编码CU的部分,视频编码器20可将CU的译码块分割成一或多个预测块。预测块为应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包含CU的一或多个预测块及用以预测所述一或多个预测块的语法结构。举例来说,PU可包含明度样本的预测块、色度样本的两个对应预测块,及用以对预测块进行预测的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包含单个预测块及用以对所述预测块进行预测的语法结构。在其它编解码器中,视频编码器20并不将CU的译码块分割成预测块。实际上,预测在CU层级处进行。因此,CU的译码块可与CU的预测块同义。
视频编码器20可产生用于CU的预测块(例如,明度、Cb及Cr预测块)的预测块(例如,明度、Cb及Cr预测块)。视频编码器20可使用帧内预测或帧间预测以产生预测块。如果视频编码器20使用帧内预测产生预测块,那么视频编码器20可基于包含CU的图片的经解码样本产生预测块。如果视频编码器20使用帧间预测产生当前图片的预测块,那么视频编码器20可基于参考图片(即,除当前图片以外的图片)的经解码样本产生预测块。
视频译码器,例如视频编码器20或视频解码器30,可使用选自可用帧内预测模式的帧内预测模式执行帧内预测。帧内预测模式可包含定向帧内预测模式,其还可被称作帧内预测方向。不同定向帧内预测模式对应于不同角。在一些实例中,为使用定向帧内预测模式确定预测块的当前样本的值,视频译码器可确定线以对应于定向帧内预测模式与边界样本集合相交的角度穿过当前样本的点。边界样本可包含直接在预测块左方的列中的样本及直接在预测块上方的行中的样本。如果所述点介于边界样本中的两者之间,那么视频译码器可内插或以其它方式确定对应于所述点的值。如果所述点对应于边界样本中的单个样本,那么视频译码器可确定所述点的值等于边界样本。视频译码器可将预测块的当前样本的值设置为等于所述点的所确定值。
视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生每一色彩分量(例如,明度、Cb及Cr)的单独残余。色彩分量的CU的残余块中的每一样本指示色彩分量的CU的预测块中的样本与色彩分量的CU的译码块中的对应样本之间的差异。
在一些视频译码标准中,视频编码器20可将CU的残余块分解为一或多个变换块。举例来说,视频编码器20可使用四分树分割以将CU的残余块分解成一或多个变换块。变换块为供应用相同变换的样本的矩形((例如正方形或非正方形)块。CU的变换单元(TU)可包含一或多个变换块。视频编码器20可将一或多个变换应用于TU的变换块以产生TU的系数块。系数块可为变换系数的二维阵列。视频编码器20可产生指示一些或所有潜在地经量化的变换系数的语法元素。视频编码器20可熵编码指示经量化变换系数的语法元素中的一或多者(例如,使用上下文自适应性二进制算术译码(CABAC))。
视频编码器20可输出包含经编码视频数据的位流。换句话说,视频编码器20可输出包含视频数据的经编码表示的位流。视频数据的经编码表示可包含视频数据的图片的经编码表示。举例来说,位流可包含形成视频数据及相关联数据的经编码图片的表示的位的序列。在一些实例中,经编码图片的表示可包含图片的块的经编码表示。
视频解码器30可接收由视频编码器20产生的位流。如上文所提及,位流可包含视频数据的经编码表示。视频解码器30可解码位流以重建视频数据的图片。作为解码位流的部分,视频解码器30可从位流获得语法元素。视频解码器30至少部分地基于从位流获得的语法元素来重建视频数据的图片。重建视频数据的图片的过程可大体上互逆于由视频编码器20执行以编码图片的过程。
举例来说,作为解码视频数据的图片的部分,视频解码器30可使用帧间预测或帧内预测产生图片的CU的预测块。此外,视频解码器30可基于从位流获得的语法元素确定变换系数。在一些实例中,视频解码器30反量化所确定变换系数。反量化将经量化值映射到经重建值。举例来说,视频解码器30可通过确定一值乘以量化步长而反量化所述值。此外,视频解码器30可对所确定变换系数应用反变换以确定残余样本的值。视频解码器30可基于残余样本及所产生的预测块的对应样本来重建图片的块。举例来说,视频解码器30可将残余样本添加到所产生的预测块的对应样本以确定块的经重建样本。
更具体地说,视频解码器30可使用帧间预测或帧内预测产生当前CU的每一PU的一或多个预测块。另外,视频解码器30可反量化当前CU的TU的系数块。视频解码器30可对系数块执行反变换,以重建当前CU的TU的变换块。视频解码器30可基于当前CU的PU的预测块的样本及当前CU的TU的变换块的残余样本重建当前CU的译码块。在一些实例中,通过将当前CU的PU的预测块的样本添加到当前CU的TU的变换块的对应经解码样本,视频解码器30可重构当前CU的译码块。通过重建图片的每一CU的译码块,视频解码器30可重建所述图片。
图片的切片可包含图片的整数数目个块。举例来说,图片的切片可包含图片的整数数目个CTU。切片的CTU可按扫描次序(例如光栅扫描次序)连续定序。在一些编解码器中,切片经定义为含于同一存取单元内的一个独立切片分段及先于下一独立切片分段(如果存在)的所有后续相关切片分段(如果存在)中的整数数目个CTU。此外,在一些编解码器中,切片分段经定义为图像块扫描中经连续定序且含于单一NAL单元中的整数数目个CTU。图像块扫描为分割图片的CTB的特定顺序定序,其中CTB在图像块中在CTB光栅扫描中经连续定序,而图片中的图像块是在图片的图像块的光栅扫描中经连续定序。图像块为图片中的特定图像块列及特定图像块行内的CTB的矩形区。
帧内预测使用块的空间相邻经重建图像样本执行图像块预测。用于16×16图像块的帧内预测的典型实例展示于图2中。利用帧内预测,通过上方及左方相邻重建样本(参考样本)沿所选预测方向(如由白色箭头指示)来预测16×16图像块(在黑色正方形框中)。在图2中,块正方形含有16×16块50。在图2中,通过上方及左方相邻经重建样本52、54(即,参考样本)沿所选预测方向来预测块50。在图2中,黑色方块外的样本为参考样本。图2中的白色箭头指示所选预测方向。
图3说明实例帧内预测模式。在一些实例中,明度块的帧内预测包含35个模式,包含平面模式、DC模式及33个角模式。帧内预测的35个模式如下表中所展示经索引化。
表1-帧内预测模式及相关联名称的规范
| 帧内预测模式 | 相关联名称 |
| 0 | INTRA_PLANAR |
| 1 | INTRA_DC |
| 2..34 | INTRA_ANGULAR2..INTRA_ANGULAR34 |
图4为说明平面模式的实例的概念图。对于通常为最常使用的帧内预测模式的平面模式,预测样本如图4中所示地产生。为了执行N×N块的平面预测,针对位于(x,y)处的每一样本pxy,可通过将双线性滤波器应用于四个特定的相邻经重建样本(即,参考样本)来计算预测值。四个参考样本包含右上经重建样本TR、左下经重建样本BL及位于与当前样本同一列(rx,-1)及行(r-1,y)中的两个经重建样本。平面模式可公式化如下:
pxy=((N-x1)·L+(N-y1)·T+x1·R+y1·B)/(2*N)
其中x1=x+1,y1=y+1,R=TR且B=BL。
对于DC模式,用相邻重建样本的平均值填充预测块。一般来说,针对模型化平滑地变化及恒定图片区应用平面模式及DC模式两者。
对于包含33个不同预测方向的HEVC中的角帧内预测模式,帧内预测过程可描述如下。对于每一给定角帧内预测模式,帧内预测方向可相应地经识别;例如,根据图3,帧内模式18对应于纯水平预测方向,且帧内模式26对应于纯竖直预测方向。因此,在图3的实例中,帧内模式18对应于水平模式,且帧内模式26对应于竖直模式。
图5为说明角帧内预测模式的实例的概念图。给定特定帧内预测方向,对于预测块的每一样本,其坐标(x,y)首先沿预测方向投影到相邻重建样本的行/列,如图5中的实例中所示。假设(x,y)投影到两个相邻重建样本L及R之间的分数位置α;接着可使用二分接头双线性内插滤波器计算(x,y)的预测值,公式化如下:
pxy=(1-α)·L+α·R.
举例来说,如图5的实例中所示,预测块72的样本70的坐标(x,y)沿特定帧内预测方向74投影。在HEVC中,为了避免浮点运算,使用整数算术将以上计算估算为:
pxy=((32-a)·L+a·R+16)>>5,
其中a为等于32*α的整数。
在一些实例中,在帧内预测之前,使用2分接头双线性或3分接头(1,2,1)/4滤波器对相邻参考样本进行滤波,被称为帧内参考平滑化,或与模式相关的帧内平滑化(mode-dependent intra smoothing;MDIS)。当进行帧内预测时,给定帧内预测模式索引(predModeIntra)及块大小(nTbS),其决定参考平滑化过程是否执行及哪一平滑滤波器经使用。帧内预测模式索引为指示帧内预测模式的索引。来自HEVC标准的以下文本描述相邻样本的滤波过程。
8.4.4.2.3相邻样本的滤波过程
对此过程的输入为:
-相邻样本p[x][y],其中x=-1,y=-1..nTbS*2-1且x=0..nTbS*2-1,y=-1,
-指定预测块大小的变量nTbS。
此过程的输出为经滤波样本pF[x][y],其中x=-1,y=-1..nTbS*2-1且x=0..nTbS*2-1,y=-1。
如下导出变量filterFlag:
-如果以下条件中的一或多者为真,那么将filterFlag设置为等于0:
-predModeIntra等于INTRA_DC。
-nTbS等于4。
-否则,以下适用:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-26),Abs(predModeIntra-10))。
-在表8-3中指定变量intraHorVerDistThres[nTbS]。
-如下导出变量filterFlag:
-如果minDistVerHor大于intraHorVerDistThres[nTbS],那么将filterFlag设置为等于1。
-否则,将filterFlag设置为等于0。
表8-3-用于各种预测块大小的intraHorVerDistThres[nTbS]的规范
| nTbS=8 | nTbS=16 | nTbS=32 | |
| intraHorVerDistThres[nTbS] | 7 | 1 | 0 |
当filterFlag等于1时,以下情形适用:
-如下导出变量biIntFlag:
-如果以下所有条件为真,那么biIntFlag设置为等于1:
-strong_intra_smoothing_enabled_flag等于1
-nTbS等于32
-Abs(p[-1][-1]+p[nTbS*2-1][-1]-2*p[nTbS-1][-1])<(1<<(BitDepthY-5))
-Abs(p[-1][-1]+p[-1][nTbS*2-1]-2*p[-1][nTbS-1])<(1<<(BitDepthY-5))
-否则,将biIntFlag设置为等于0。
-如下执行滤波:
-如果biIntFlag等于1,那么如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..63且x=0..63,y=-1:
pF[-1][-1]=p[-1][-1] (8-30)
针对y=0..62,pF[-1][y]=((63-y)*p[-1][-1]+(y+1)*p[-1][63]+32)>>6 (8-31)
pF[-1][63]=p[-1][63] (8-32)
针对x=0..62,pF[x][-1]=((63-x)*p[-1][-1]+(x+1)*p[63][-1]+32)>>6 (8-33)
pF[63][-1]=p[63][-1] (8-34)
-否则(biIntFlag等于0),如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..nTbS*2-1,且x=0..nTbS*2-1,y=-1:
pF[-1][-1]=(p[-1][0]+2*p[-1][-1]+p[0][-1]+2)>>2 (8-35)
针对y=0..nTbS*2-2,pF[-1][y]=(p[-1][y+1]+2*p[-1][y]+p[-1][y-1]+2)>>2(8-36)
pF[-1][nTbS*2-1]=p[-1][nTbS*2-1] (8-37)
针对x=0..nTbS*2-2,pF[x][-1]=(p[x-1][-1]+2*p[x][-1]+p[x+1][-1]+2)>>2(8-38)
pF[nTbS*2-1][-1]=p[nTbS*2-1][-1] (8-39)
Panusopone等人,“不等权重平面预测及受约束PDPC(Unequal Weight PlanarPrediction and Constrained PDPC)”,ITU-T SG 16WP 3及ISO/IEC JTC 1/SC 29WG 11的联合视频探勘组(JVET),第5次会议,日内瓦,CH,2017年1月12日到20日,文献JVET-E0068,描述不等权重平面(unequal weight planar;UWP)模式。在UWP模式中,针对W×H(宽度×高度)块,以图4的方式执行平面预测:
pxy=((y1*H*(W-x1))·L+(x1*W*(H-y1))·T+(x1*y1*H)·R+(x1*y1*W)·B)/(W*H*(x1+y1))
其中如下文所示计算R及B,
R=(TR*(H-y1)+BR*y1)/H;
B=(BL*(W-x1)+BR*(k+1))/W;
其中如下文所示计算BR,
BR=(H*TR+W*BL)/(W+H);
且其中pxy为经预测样本的值。
虽然交叉互补冗余在YCbCr色彩空间中显著减少,但三个色彩分量之间仍存在相关性。已研究各种技术以通过进一步减小三个色彩分量之间的相关性而改进视频译码性能。举例来说,在4:2:0色度视频译码中,在HEVC标准开发期间研究被称作线性模型(LM)预测模式的技术。在4:2:0采样中,两个色度阵列中的每一者具有明度阵列的高度的一半及宽度的一半。利用LM预测模式,通过使用如下线性模型基于相同块的重建明度样本预测色度样本:
predc(i,j)=α*recL(i,j)+β (1)
其中predC(i,j)表示当前块中的色度样本的预测且recL(i,j)表示当前块的经下采样的经重建明度样本。参数α及β从关于当前块的因果重建样本导出。块的因果样本为按解码次序在块之前发生的样本。如果通过N×N表示色度块大小,那么i及j两者皆在范围[0,N)内。
通过最小化关于当前块的相邻重建明度样本与色度样本之间的回归错误导出等式(5)中的参数α及β。
如下解析参数α及β:
β=(∑yi-α·∑xi)/I (4)
在以上等式中,xi为下采样的经重建明度参考样本,其中色彩格式并非4:4:4(即,色彩格式为其中一个色度样本对应于多个明度样本的格式),yi为未经下采样的经重建色度参考样本,且I为参考样本的数目。换句话说,视频译码器可基于色彩格式不为4:4:4对经重建明度参考样本进行下采样,但基于色彩格式为4:4:4避免对经重建明度参考样本进行下采样。对于目标N×N色度块,当左方及上方因果样本两者可用时,所涉及样本I的总数等于2N。当仅左方或上方因果样本可用时,所涉及样本的总数I等于N。在此,N始终等于2m(其中m针对不同CU大小可不同)。因此,为了减小复杂度,移位运算可用于实施等式(3)及(4)中的除法运算。当参考样本的真值不可供用于视频解码器时(例如,当参考样本关于预测块在切片、图片或图像块边界外时),参考样本可视为不可用。
美国专利公开案第2017-0094285-A1号描述限定如何基于经滤波及未经滤波参考值且基于经预测像素的位置而组合预测的一组参数化等式。此方案被称作与位置相关的预测组合(PDPC),且已经用于JEM 7。A.Said等人,“位置相关帧内预测组合(Position-dependent intra prediction combination)”(日内瓦,瑞士,ITU-T SG16,COM16-C1046提案,2015年10月)为关于所用的主题的标准提交文献。在JEM 7中,仅在平面模式中应用PDPC。
图6A为说明可用于4×4像素块的PDPC的数据的实例的概念图。图6B为说明可用于4×4像素块的PDPC的数据的实例的概念图。利用PDPC,给定分别仅使用未经滤波及经滤波(或平滑化)参考r及s计算的任何两组像素预测pr[x,y]及qs[x,y],由v[x,y]表示的像素的组合预测值由以下定义:
v[x,y]=c[x,y]pr[x,y]+(1-c[x,y])qs[x,y] (5)
其中c[x,y]为组合参数集合,其值取决于像素位置。在图6A及图6B中,参考(即,参考样本)展示为加阴影正方形,且预测样本展示为白色正方形。
PDPC的一个实务实施方案使用公式:
其中g及dv,dh∈{1,2}为控制左上方及上方未经滤波参考样本的权重沿水平及竖直方向衰变的快速程度的预定义参数,N为块大小,为使用根据HEVC标准、针对特定模式,使用经滤波参考计算的预测值,且:
为归一化因子,其由所述参数定义。将参考滤波器,例如3分接头{1,2,1}、5分接头{1,4,6,4,1}或7分接头{1,6,15,20,15,6,1}应用于未经滤波参考上以产生经滤波参考。在本公开中,滤波器的分接头的标号{t1,t2,…tc,…,tn}指示样本集合中的当前样本的经滤波值等于在当前样本之前及之后的样本的加权和,其中施加到当前样本的权重为{t1,t2……tc……tn}(即,tc)中的中心权重,且权重t1……tc-1为施加到在当前样本之前的样本的权重,且tc+1……tn为施加到在当前样本之后的样本的权重。在一些实例中,低通滤波器可用作参考滤波器。典型低通滤波器可仅具有正滤波器系数,或负滤波器系数可存在但绝对值相对较小或接近零。
替代地,PDPC可如下公式化为4分接头滤波器:
其中为对上方、左方、左上方未经滤波参考样本施加的权重。
与PDPC模式有关的JEM存在若干缺点。举例来说,在JEM 7中,PDPC仅应用于平面模式,其限制由PDPC贡献的译码增益。在JEM 7中,存在应用于DC模式的边界滤波器,及应用于水平及竖直模式的边缘滤波器。在DC模式中应用的边界滤波器为用于横越左上方的块边界的预测符的滤波器。水平/竖直边缘滤波器为补偿水平及竖直参考像素与左上角像素之间的差值的滤波器。这些译码工具就算法设计来说以与PDPC重叠的方式优化帧内预测。就帧内预测的清洁及调和设计来说并不需要存在彼此重叠的若干译码工具。PDPC中的参数基于训练导出,就不同序列的译码增益来说其可次优化。UWP模式要求除法运算,其对于实务实施方案并非优选的。尽管UWP可通过使用查找表(LUT)替代地估算以避免除法,但此要求用以存储LUT的额外存储器。为解决上文所提及的问题,本公开提出如下技术。
本公开描述可解决上文所描述的缺点中的一或多者的简化PDPC技术。图7A为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(0,0)的权重的实例的框图。图7B为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(1,0)的权重的实例的框图。图7C为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(0,1)的权重的实例的框图。图7D为说明根据本公开的技术使用平面/DC模式及应用于产生预测样本(1,1)的权重的实例的框图。本文中所公开的简化PDPC技术应用于明度(Y)及色度(Cb,Cr)分量两者,仅明度分量,或仅色度分量。
根据本公开的技术,视频译码器可如下使用下文的等式(9)计算坐标(x,y)处的预测样本。
在等式(9)中及本公开中的其它处,offset及rightShift的实例值可包含offset=32且rightShift=6。在等式(9)中,表示根据由HEVC指定的帧内预测过程确定的坐标(x,y)处的预测样本的值。在一些实例中,offset可等于0、0.5或另一值。
在另一实例中,视频译码器可根据下文的等式(10)计算坐标(x,y)处的预测样本的值。
在等式(10)中,qs[x,y]表示根据帧内预测过程确定的坐标(x,y)处的预测样本的值,所述帧内预测过程可为由HEVC指定的帧内预测过程或另一帧内预测过程。
在另一实例中,视频译码器可根据下文的等式(11)计算坐标(x,y)处的预测样本的值。
等式(11)展示rightShift与从其减去wT、wL及wTL以确定第四权重的所述值之间的实例关系。在题为“帧内预测模式INTRA_PLANAR的规范(Specification of intraprediction mode INTRA_PLANAR)”、“帧内预测模式INTRA_DC的规范(Specification ofintra prediction mode INTRA_DC)”、“帧内预测模式INTRA_HOR的规范(Specificationof intra prediction mode INTRA_HOR)”及“帧内预测模式INTRA_VER的规范(Specification of intra prediction mode INTRA_VER)”的章节中使用的等式在下文使用其中rightShift等于6的等式(11)的版本,且因此从其减去wT、wL及wTL以确定第四权重的所述值等于64。
为避免如原始PDPC设计中出现的权重LUT表,在简化版本中,根据本公开的技术实施的视频译码器可针对左方及上方参考样本选择初始权重wL、wT(例如,如图7A中所示,32、32),将左上方参考样本的权重wTL导出为-(wL>>4)-(wT>>4)(例如,如图7A中所示,-4),且接着通过应用等式(9)、(10)或(11)计算用于块中的第一样本的PDPC预测。
移动到块中的下一样本,权重wL、wT、wTL的初始值基于当前样本与块边界之间的距离更新。举例来说,更新可仅为移位运算,例如“>>1”或“>>2”,即,权重除以2或4(例如,如图7A及图7B中所示从(0,0)移动到(1,0),wL除以4)。移动到块中的下一样本,权重再次更新等等。在这类方法中,不需要具有带权重的LUT,这是因为所有权重是从初始权重导出。
因此,根据本公开的技术,视频译码器(例如,视频编码器20或视频解码器30)可确定第一权重(wL)的初始值且可确定第二权重(wT)的初始值。此外,针对预测块中的样本集合中的每一相应样本,视频译码器可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值。视频译码器还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值。此外,视频译码器可确定相应样本的第三权重(wTL)的值。视频译码器还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值。举例来说,视频译码器可将相应样本的第四权重的值确定为(64-wL-wT-wTL)或根据本公开中提供的其它实例中的任一者。另外,视频译码器可根据帧内预测模式确定相应样本的主值(qs[x,y])。接着,视频译码器可将相应样本的辅值确定为相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
在一些实例中,第一、第二、第三及第四权重的值中的每一者为非零值。
在一些实例中,wL、wT及wTL的更新在导出每一样本的PDPC预测之后可能不会发生。也就是说,在一些实例中,视频译码器并不针对预测块的每一单独样本确定第一、第二及第三权重的不同值。举例来说,更新可在N个经处理样本之后发生(例如,当N=2时,更新在每两个样本之后发生)。在另一实例中,视频译码器沿水平方向每隔一个样本更新wL,且沿竖直方向每隔一个样本更新wT。另外,所有涉及权重(例如,第一、第二、第三及第四权重)可具有不同更新方法及距离相关性。举例来说,视频译码器可在处理不同数目个样本之后更新第一、第二、第三及第四权重;及视频译码器根据距预测块的边界的距离藉以改变第一、第二、第三及第四权重的量可不同。
在一些实例中,如何执行更新及在多少个样本之后执行更新可取决于块大小、帧内模式、所使用的变换等等。举例来说,视频译码器在预测块的大小小于W×L(例如,32×32、16×16等)的阈值大小时可在处理预测块的每一样本之后更新权重(例如,第一、第二、第三及/或第四权重),且在预测块的大小大于W×L的阈值大小时可在处理预测块的两个样本之后更新权重。在另一实例中,视频译码器在预测块的帧内预测模式为定向帧内预测模式时可在处理预测块的每一样本之后更新权重(例如,第一、第二、第三及/或第四权重),且在预测块的帧内预测模式为平面或DC模式时可在处理预测块的两个样本之后更新权重。
在一个实施方案实例中,本公开的简化PDPC技术的双重实施方案可为可能的且两个实施方案可提供相同结果。在一个实施方案中,本公开的简化PDPC技术可被视为在常规帧内预测经导出之后的第二阶段。也就是说,本公开的简化PDPC技术可视为预测后处理。此类方法可为所有帧内模式提供均匀实施方案,但可要求帧内预测中的额外阶段。在另一实施方案中,本公开的简化PDPC技术可实施为经修改帧内预测模式,即,不同于常规帧内预测的另一帧内预测模式。在这类方法中,修改可为帧内预测模式特定的,但其可能不要求帧内预测中的额外阶段。本公开的简化PDPC技术在实施方案中可具有此对偶性,其可提供额外优点且实施者可选择最拟合编解码器设计的无论哪种方法。
对于帧内预测,针对每一帧内预测样本(例如,针对预测块的每一相应样本或其子集),在帧内预测样本产生之后(即,在相应样本的主值经确定之后),预测样本值可通过左方参考样本、上方参考样本、左上方参考样本及其原始预测样本值(即,相应样本的主值)的加权和进一步调整。左方参考样本的权重表示为wL,上方参考样本的权重表示为wT,且左上方参考样本的权重表示为wTL。在一些实例中,视频译码器可通过wL及wT的加权和导出wTL(例如,wTL=a·wL+b·wT)。因此,在一些此类实例中,视频译码器可将预测块的样本的第三权重(wTL)的值确定为第一参数(a)乘以相应样本的第一权重(wL)的值加第二参数(b)乘以相应样本的第二权重(wT)的值的总和。在一些实例中,wL及wT初始化为0.5。在一些实例中,第一参数及第二参数中的每一者在0与1之间(不包含端值)。
第一参数(a)及第二参数(b)的值可以各种方式中的一或多者确定。举例来说,a及b的值可为与模式相关的。举例来说,在a及b的值为与模式相关的实例中,a及b的值可取决于不同帧内预测方向。因此,在此实例中,a及b的不同值可应用于不同帧内预测方向。举例来说,对于非定向帧内预测模式(例如,平面模式及DC模式),第一参数(a)等于第二参数(b)(即,a=b)。在a及b的值为与模式相关的另一实例中,查找表经预定义,且到查找表的输入为帧内预测模式索引,且查找表的输出为a及b的值。在一些实例中,如果使用竖直预测,那么更优选可为b,即b>a。类似地,对于水平预测,a可大于b。
此外,在a及b的值为与模式相关的其它实例中,对于定向帧内预测模式(例如,水平及竖直),第一参数(a)及第二参数(b)是基于相对于水平及竖直预测方向的帧内预测角度差异或帧内模式索引差异导出。举例来说,在一个实例中,对于水平预测,a等于0且b等于1;对于竖直预测,a等于1且b等于0。在此实例中,对于竖直状预测角度,相对于竖直预测的角度差异经测量以计算a及b。此外,在此实例中,对于水平状预测角度,相对于水平预测的角度差异经测量以计算a及b。
在可如何确定第一参数(a)及第二参数(b)的值的另一实例中,无论预测块内部的位置如何,a及b为两个恒定值。在此实例中,a及b的典型值包含:1/16、1/32、1/8、1/4、1/2、1及0。在另一实例中,a及b在序列层级、图片层级、切片层级、块层级或另一层级处从视频编码器20用信号通知到视频解码器30。
在一些实例中,视频译码器可基于预测样本的按比例缩放的坐标y、块大小及帧内预测模式导出第一权重(wT)的值。举例来说,y可除以2、4或8以导出第一权重(wT)的值。权重改变的方式可取决于块大小(例如,坐标的除数)。对于小块,权重的衰变可比较大块更快。视频译码器可基于预测样本的按比例缩放的水平坐标x、块大小及帧内预测模式导出第二权重(wL)的值。在此实例中,块大小可指代以下各者中的一者:
·min(log2(width),log2(height)),
·max(log2(width),log2(height)),
·(log2(width)+log2(height))/2,
·log2(width)+log2(height),
·log2(width),或
·log2(height)。
在此实例中,对于如同平面及DC模式的非定向帧内预测模式,针对相同坐标(x,y),可使用wT及wL的相同值。换句话说,在此实例中,对于预测块的每一预测样本来说wT=wL=m,但对于预测块的不同预测样本可能存在不同的m值。此外,对竖直及水平坐标x及y的缩放可经预定义。在一些实例中,缩放值的典型值包含2、4及8。
在一个实例中,本文中公开的技术(大于左方、上方及左上方参考样本的权重)应用于平面模式、DC模式、水平模式及竖直模式。
在一些实例中,视频译码器可仅在应用特定条件时应用本公开的简化PDPC技术。举例来说,当并未应用所述条件时,视频译码器可使用常规帧内预测确定预测块中的样本的辅值。在一个实例中,视频译码器可如Zhang等人的“增强型交叉分量线性模型帧内预测(Enhanced Cross-Component Linear Model Intra-prediction)”(ITU-T SG 16 WP 3及ISO/IEC JTC 1/SC 29/WG 11的联合探勘小组(JVET),第4次会议,中国成都(Chengdu,CN),2016年10月15日到21日,第JVET-D0110号文献)中所描述将本公开的简化PDPC技术应用于LM模式或增强型LM模式(色度分量)。在此实例中,当LM模式或增强型LM模式并不在CU中应用时,视频译码器并不将本公开的简化PDPC技术应用于CU的预测块。在一些实例中,将本公开的简化PDPC技术应用于特定块大小,例如,大于阈值的块区域大小(例如,比8×8、16×16、32×32、16×8等更大(或更小)的预测块)。在一些实例中,本公开的简化PDPC技术应用于特定类型的图片或切片。举例来说,在一个实例中,视频译码器仅将本公开的简化PDPC技术应用于I切片。此外,在一些实例中,当一些相邻样本不可用时并不应用本公开的简化PDPC技术。举例来说,在一个实例中,如果上方相邻样本不可用,那么视频译码器并不应用本公开的简化PDPC技术。
此外,在另一实例中,本公开的简化PDPC技术仅应用于预测块内的所选预测样本位置而非应用于整个预测块。在一些实例中,所选预测样本位置处于从左方开始的预定义数目的列及/或从上方开始的预定义数目的行。举例来说,视频译码器可将本公开的简化PDPC技术应用于预测块的偶数行或列,而非预测块的奇数行或列。在一些实例中,应用本公开的简化PDPC技术的预测样本的列/行的数目可取决于译码信息,包含但不限于块大小、块高度及/或宽度,及/或帧内预测模式。举例来说,视频译码器在预测块的大小小于阈值大小(例如,16×16、8×8等)时可将本公开的简化PDPC技术应用于预测块的每一列,且在预测块的大小大于或等于阈值大小时可将本公开的简化PDPC技术应用于预测块的每隔一个行/列。
在加权运算之后对预测样本的削剪运算可经去除。削剪可用于保证预测符值在特定范围内,通常与输入位深度有关。如果在导出预测值之后,像素超出所述范围,那么视频译码器可将其值削剪到最小或最大范围值。然而,根据本公开的技术,对预测样本的此类削剪运算可为不必要的。
用于调整预测样本的左方、上方及左上方参考样本可为经滤波/平滑化参考样本或未经滤波参考样本,且选择取决于帧内预测模式。在一个实例中,对于DC、水平及竖直帧内预测方向,视频译码器在加权和计算中可使用未经滤波上方、左方及左上方参考样本;对于平面模式,在所述计算中使用经滤波/平滑化左方、上方及左上方参考样本。
如上文所描述,在PDPC的较早版本中,视频译码器可将5分接头或7分接头滤波器应用于参考样本。然而,根据本公开的一些实例,视频译码器可仅应用短分接头滤波器(例如,3分接头滤波器)而非将较长分接头滤波器(例如,5分接头或7分接头滤波器)应用于参考样本,且较长分接头滤波器可通过以预定义次序级联多个短分接头滤波器而替换。本公开可使用短语“平滑化参考样本”来指代由将滤波器或滤波器的级联应用于参考样本集合产生的样本。平滑化参考样本的不同设置可在例如PDPC的帧内预测中应用。换句话说,视频译码器在执行本公开的简化PDPC技术时可产生平滑化参考样本的不同设置。在一些实例中,视频译码器可通过应用短分接头滤波器的不同级联产生平滑化参考样本的不同设置。短分接头滤波器的不同级联可具有不同数目个短分接头滤波器及/或级联短分接头滤波器的不同次序。视频译码器在执行本公开的简化PDPC技术中可选择平滑化参考样本集合。选择平滑化参考样本的哪一集合可取决于块大小,例如,块区域大小、块高度及/或宽度,及/或帧内预测模式。举例来说,视频译码器在预测块的大小小于阈值大小(例如,16×16、8×8等)时可选择平滑化参考样本的第一集合(例如,使用第一滤波器或一组滤波器产生的参考样本集合),且在预测块的大小大于或等于阈值大小时可选择平滑化参考样本的第二集合。
在视频译码器将短分接头滤波器的级联应用于参考样本的一个实例中,短分接头滤波器的级联包含3分接头{2,4,2}滤波器及3分接头{4,0,4}滤波器。在此实例中,视频译码器使用3分接头{2,4,2}滤波器产生平滑化参考样本的第一集合,且通过在平滑化参考样本的第一集合的顶部上进一步应用3分接头{4,0,4}滤波器产生平滑化参考样本的第二集合。换句话说,视频译码器可通过级联使用3分接头{2,4,2}滤波器及3分接头{4,0,4}滤波器的滤波产生平滑化参考样本的第二集合。在另一实例中,两个短分接头滤波器包含{2,4,2}滤波器及{3,2,3}滤波器,且可应用上文所描述的相同过程。在另一实例中,视频译码器可直接将5分接头{1,2,2,2,1}滤波器而非级联的两个3分接头滤波器应用于参考样本。
在一些实例中,视频译码器对帧内预测模式中的任一者应用参考样本滤波。在其它实例中,视频译码器将参考样本滤波应用于一些帧内预测模式,而非其它帧内预测模式。举例来说,在一个实例中,当应用本公开的简化PDPC技术时,视频译码器仅对平面帧内预测模式,而非对DC、水平或竖直帧内预测模式应用参考样本滤波。
在一些实例中,视频译码器可将不同滤波器(例如,不同数目个滤波器分接头)应用于参考样本,且对滤波器的选择可取决于参考样本位置。举例来说,在一个实例中,视频译码器可取决于参考样本是否位于所有可用的参考样本的边界位置(左下方、右上方、左上方)处而将不同滤波器应用于参考样本。在一些实例中,通过视频编码器20将应用哪一组滤波器用信号通知到视频解码器30。在这些实例中,视频编码器20可在位流内的各种地点中,例如在序列层级、图片层级、切片层级或块层级处用信号通知所述组滤波器。
在原始PDPC设计中,参考样本的未经滤波及经滤波版本用于预测导出。然而,可能存在用于帧内参考平滑化(例如在HEVC中使用的与模式相关的帧内平滑化(modedependent intra smoothing;MDIS))的另一平滑化滤波器。为进一步一体化预测过程,例如用于产生经滤波版本的3/5分接头滤波器的PDPC滤波器(滤波器长度可取决于块大小及/或帧内方向)可在本公开的简化PDPC技术中经替换以完全使用可应用于未使用PDPC的模式的相同平滑化滤波(例如MDIS)。以此方式,可能不需要保留PDPC-特定滤波过程且PDPC的实施方案可进一步简化。
本公开的以下部分描述用以实施本公开的实例技术的实例编解码器规范文本。反映本公开的技术的一些运算通过“<highlight>……</highlight>“标记强调。
题为“相邻样本的滤波过程(Filtering process of neighboring samples)”的编解码器规范文本的以下章节描述针对用于帧内预测的相邻参考样本的滤波过程。
相邻样本的滤波过程
对此过程的输入为:
-相邻样本p[x][y],其中x=-1,y=-1..nTbS*2-1且x=0..nTbS*2-1,y=-1,
-指定变换块宽度及高度的变量nTbWidth及nTbHeight。
-3分接头滤波器f[3]。
此过程的输出为经滤波样本pF[x][y],其中x=-1,y=-1..(nTbWidth+nTbHeight)-1且x=0..(nTbWidth+nTbHeight)-1,y=-1。
如下导出变量filterFlag:
-如果以下条件中的一或多者为真,那么将filterFlag设置为等于0:
-predModeIntra等于INTRA_DC。
-nTbS等于4。
-否则,以下适用:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-26),Abs(predModeIntra-10))。
-在表8-3中指定变量intraHorVerDistThres[nTbS]。
-如下导出变量filterFlag:
-如果minDistVerHor大于intraHorVerDistThres[nTbWidth],那么将filterFlag设置为等于1。
-否则,将filterFlag设置为等于0。
表8-3-用于各种预测块大小的intraHorVerDistThres[nTbWidth]的规范
| nTbWidth=8 | nTbWidth=16 | nTbWidth=32 | |
| intraHorVerDistThres[nTbS] | 7 | 1 | 0 |
当filterFlag等于1时,以下情形适用:
-如下导出变量biIntFlag:
-如果以下所有条件为真,那么biIntFlag设置为等于1:
-strong_intra_smoothing_enabled_flag等于1
-nTbWidth等于32
-Abs(p[-1][-1]+p[nTbWidth+nTbHeight-1][-1]-2*p[nTbWidth-1][-1])<(1<<(BitDepthY-5))
-Abs(p[-1][-1]+p[-1][nTbWidth+nTbHeight-1]-2*p[-1][nTbWidth-1])<(1<<(BitDepthY-5))
-否则,将biIntFlag设置为等于0。
-如下执行滤波:
-如果biIntFlag等于1,那么如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..63且x=0..63,y=-1:
pF[-1][-1]=p[-1][-1] (8-30)
针对y=0..62,pF[-1][y]=((63-y)*p[-1][-1]+(y+1)*p[-1][63]+32)>>6 (8-31)
pF[-1][63]=p[-1][63] (8-32)
针对x=0..62,pF[x][-1]=((63-x)*p[-1][-1]+(x+1)*p[63][-1]+32)>>6 (8-33)
pF[63][-1]=p[63][-1] (8-34)
-否则(biIntFlag等于0),如下导出经滤波样本值pF[x][y],其中x=-1,y=-1..(nTbWidth+nTbHeight)-1,且x=0..(nTbWidth+nTbHeight)-1,y=-1:
pF[-1][-1]=(f[0]*p[-1][0]+f[1]*p[-1][-1]+f[2]*p[0][-1]+4)>>3 (8-35)
针对y=0..nTbS*2-2,pF[-1][y]=(f[0]*p[-1][y+1]+f[1]*p[-1][y]+f[2]*p[-1][y-1]+4)>>3 (8-36)
pF[-1][nTbS*2-1]=p[-1][nTbS*2-1] (8-37)
针对x=0..nTbS*2-2,pF[x][-1]=(f[0]*p[x-1][-1]+f[1]*p[x][-1]+f[1]*p[x+1][-1]+4)>>3 (8-38)
pF[nTbS*2-1][-1]=p[nTbS*2-1][-1] (8-39)
如上文所提及,视频译码器可产生平滑化参考样本的多个集合且接着选择平滑化参考样本集合中的一者以供用于本公开的简化PDPC技术。题为“产生帧内预测参考样本的多个集合(Generation of multiple sets of intra prediction reference samples)”的编解码器规范文本的以下章节描述产生平滑化参考样本的多个集合的一个实例方式。
产生帧内预测参考样本的多个集合
对此过程的输入为:
-未经滤波相邻样本unfiltRef[x][y],其中x=-1,y=-1..(nTbWidth+nTbHeight)-1且x=0..(nTbWidth+nTbHeight)-1,y=-1,
-指定预测块宽度及高度的变量nTbWidth及nTbHeight。
此过程的输出为经滤波样本filtRef[2][x][y],其中x=-1,y=-1..(nTbWidth+nTbHeight)-1且x=0..(nTbWidth+nTbHeight)-1,y=-1。
1.“相邻样本的滤波过程”章节中指定的相邻样本的滤波过程调用样本阵列unfiltRef及变换块大小nTbWidth及nTbHeight作为输入,且将输出分配给样本阵列filtRef[0][x][y]。
2.“相邻样本的滤波过程”章节中指定的相邻样本的滤波过程调用样本阵列filtRef[0][x][y]及变换块大小nTbWidth及nTbHeight作为输入,且将输出分配给样本阵列filtRef[1][x][y]。
题为“帧内预测模式INTRA_PLANAR的规范”的编解码器规范文本的以下章节描述使用本公开的简化PDPC技术及平面帧内预测模式确定预测块的样本的过程。
帧内预测模式INTRA_PLANAR的规范
对此过程的输入为:
-未经滤波相邻样本unfiltRef[x][y],其中x=-1,y=-1..nTbHeight*2-1且x=0..nTbWidth*2-1,y=-1,
-经滤波相邻样本filtRef[x][y],其中x=-1,y=-1..nTbHeight*2-1且x=0..nTbWidth*2-1,y=-1,
-指定预测块宽度及高度的变量nTbWidth及nTbHeight。
此过程的输出为预测样本predSamples[x][y],其中x,y=0..nTbS-1。
<highlight>rightShift的值导出为(log2(nTbWidth)+1+log2(nTbHeight)+1)>>2;</highlight>
对于每一样本位置(x,y),如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
<highlight>wT=32>>((y<<1)>>rightShift);
wL=32>>((x<<1)>>rightShift);
wTL=(wL>>4)+(wT>>4);</highlight>
predPlanar=((nTbS-1-x)*filtRef[-1][y]+(x+1)*filtRef[nTbS][-1]+(nTbS-1-y)*filtRef[x][-1]+(y+1)*filtRef[-1][nTbS]+nTbS)>>(Log2(nTbS)+1) (8-40)
<highlight>predSamples[x][y]=wL*unfiltRef[-1][y]+wT*unfiltRef[x][-1]-wTL*unfiltRef[-1][-1]
(64-wL-wT+wTL)*predPlanar+32)>>6 (8-41)
</highlight>
题为“帧内预测模式INTRA_DC的规范”的编解码器规范文本的以下章节描述使用本公开的简化PDPC技术及DC帧内预测模式确定预测块的样本的过程。
帧内预测模式INTRA_DC的规范
对此过程的输入为:
-未经滤波相邻样本unfiltRef[x][y],其中x=-1,y=-1..nTbHeight*2-1且x=0..nTbWidth*2-1,y=-1,
-指定预测块宽度及高度的变量nTbWidth及nTbHeight。
此过程的输出为预测样本predSamples[x][y],其中x,y=0..nTbS-1。
<highlight>rightShift的值导出为(log2(nTbWidth)+1+log2(nTbHeight)+1)>>2;</highlight>
通过以下定序步骤导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
1.如下导出变量dcVal:
其中k=Log2(nTbS)。
2.对于每一样本位置(x,y),如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
<highlight>wT=32>>((y<<1)>>rightShift);
wL=32>>((x<<1)>>rightShift);
wTL=(wL>>4)+(wT>>4);
predSamples[x][y]=wL*unfiltRef[-1][y]+wT*unfiltRef[x][-1]-wTL*unfiltRef[-1][-1]
(64-wL-wT+wTL)*predDC+32)>>6 (8-43)
</highlight>
题为“帧内预测模式INTRA_HOR的规范”的编解码器规范文本的以下章节描述使用本公开的简化PDPC技术及水平帧内预测模式确定预测块的样本的过程。
帧内预测模式INTRA_HOR的规范
对此过程的输入为:
-未经滤波相邻样本unfiltRef[x][y],其中x=-1,y=-1,0,...,nTbHeight*2-1且x=0,1,...nTbWidth*2-1,y=-1,
-指定预测块宽度及高度的变量nTbWidth及nTbHeight。
此过程的输出为预测样本predSamples[x][y],其中x,y=0..nTbS-1。
<highlight>rightShift的值导出为(log2(nTbWidth)+1+log2(nTbHeight)+1)>>2;</highlight>
对于每一样本位置(x,y),如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
<highlight>wT=32>>((y<<1)>>rightShift);
wL=32>>((x<<1)>>rightShift);
wTL=wT;
predSamples[x][y]=wL*unfiltRef[-1][y]+wT*unfiltRef[x][-1]-wTL*unfiltRef[-1][-1]
(64-wL-wT+wTL)*unfiltRef[-1][y]+32)>>6
(8-43)</highlight>
题为“帧内预测模式INTRA_VER的规范”的编解码器规范文本的以下章节描述使用本公开的简化PDPC技术及竖直帧内预测模式确定预测块的样本的过程。
帧内预测模式INTRA_VER的规范
对此过程的输入为:
-未经滤波相邻样本unfiltRef[x][y],其中x=-1,y=-1..nTbHeight*2-1且x=0..nTbWidth*2-1,y=-1,
-指定预测块宽度及高度的变量nTbWidth及nTbHeight。
此过程的输出为预测样本predSamples[x][y],其中x,y=0..nTbS-1。
<highlight>rightShift的值导出为(log2(nTbWidth)+1+log2(nTbHeight)+1)>>2;</highlight>
对于每一样本位置(x,y),如下导出预测样本predSamples[x][y]的值,其中x,y=0..nTbS-1:
<highlight>wT=32>>((y<<1)>>rightShift);
wL=32>>((x<<1)>>rightShift);
wTL=wL;
predSamples[x][y]=wL*unfiltRef[-1][y]+wT*unfiltRef[x][-1]-wTL*unfiltRef[-1][-1]
(64-wL-wT+wTL)*unfiltRef[x][-1]+32)>>6
(8-43)</highlight>
图8为说明可实施本公开的技术的视频编码器20的实例的框图。出于解释的目的提供图8,且不应将所述图视为对如本公开中广泛例示及描述的技术的限制。本公开的技术可应用于各种译码标准或方法。
处理电路包含视频编码器20,且视频编码器20经配置以执行本公开中所描述的实例技术中的一或多者。举例来说,视频编码器20包含集成电路,且图8中说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独电路块或所述单元中的两者或多于两者可组合为共享硬件电路块。硬件电路块可形成为电子组件的组合,所述电子组件形成例如算术逻辑单元(ALU)、基础功能单元(EFU)的操作块,以及例如AND、OR、NAND、NOR、XOR、XNOR及其它类似逻辑块的逻辑块。
在一些实例中,图8中所说明的单元中的一或多者为执行于处理电路上的软件单元。在此类实例中,用于这些软件单元的目的码存储于存储器中。操作系统可使得视频编码器20检索目的码并执行目的码,其使得视频编码器20执行实施实例技术的操作。在一些实例中,软件单元可为视频编码器20在启动处执行的固件。因此,视频编码器20为具有执行实例技术的硬件或具有在硬件上执行以特化执行所述实例技术的硬件的软件/固件的结构性组件。
在图8的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重建单元112、滤波器单元114、经解码图片缓冲器116及熵编码单元118。预测处理单元100包含帧间预测处理单元120及帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元及运动补偿单元(未展示)。
视频数据存储器101可经配置以存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储供视频编码器20用于编码视频数据(例如,以帧内或帧间译码模式)的参考视频数据的参考图片存储器。视频数据存储器101及经解码图片缓冲器116可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。可由同一存储器装置或单独存储器装置提供视频数据存储器101及经解码图片缓冲器116。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器101可与图1的存储媒体19相同或是所述存储媒体的部分。
视频编码器20接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。所述CTU中的每一者可与图片的相等大小的明度译码树型块(CTB)及对应CTB相关联。作为编码CTU的部分,预测处理单元100可执行四分树分割以将CTU的CTB分割成逐渐较小的块。所述较小块可为CU的译码块。举例来说,预测处理单元100可根据树型结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码CU)。作为编码CU的部分,预测处理单元100可分割与CU的一或多个PU中的CU相关联的译码块。因此,每一PU可与明度预测块及对应的色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的明度译码块的大小,且PU的大小可指PU的明度预测块的大小。假定特定CU的大小为2N×2N,那么视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20及视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的非对称分割。
帧间预测处理单元120可产生用于PU的预测性数据。作为产生用于PU的预测性数据的部分,帧间预测处理单元120对PU执行帧间预测。用于PU的预测性数据可包含PU的预测块及用于PU的运动信息。取决于PU是在I切片中、P切片中抑或B切片中,帧间预测处理单元120可针对CU的PU执行不同操作。在I切片中,所有PU经帧内预测。因此,如果PU在I切片中,那么帧间预测处理单元120并不对PU执行帧间预测。因此,对于在I模式中编码的块,经预测块可使用空间预测从相同图帧内的先前经编码的相邻块形成。如果PU在P切片中,那么帧间预测处理单元120可使用单向帧间预测以产生PU的预测块。如果PU在B切片中,那么帧间预测处理单元120可使用单向或双向帧间预测以产生PU的预测块。
帧内预测处理单元126可通过对PU执行帧内预测而产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测块及各种语法元素。帧内预测处理单元126可对I切片、P切片及B切片中的PU执行帧内预测。
为对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式来产生用于PU的预测性数据的多个集合。帧内预测处理单元126可使用来自相邻PU的样本块的经重建样本产生PU的预测块。对于PU、CU及CTU,假定从左到右、从上到下的编码次序,那么所述相邻PU可在PU上方、右上方、左上方或左边。帧内预测处理单元126可使用各种数目的帧内预测模式,例如,33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区域的大小。帧内预测处理单元126可执行本公开的帧内预测技术。
预测处理单元100可从通过帧间预测处理单元120针对PU产生的预测性数据或通过帧内预测处理单元126针对PU产生的预测性数据中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据的集合的速率/失真度量而选择用于CU的PU的预测性数据。所选预测性数据的预测块在本文中可被称作所选预测块。
帧内预测处理单元126可根据本公开的技术中的任一者使用帧内预测模式产生预测块。举例来说,作为产生预测块的部分,帧内预测处理单元126可确定第一权重的初始值且确定第二权重的初始值。此外,针对预测块中的样本集合中的每一相应样本,帧内预测处理单元126可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值。帧内预测处理单元126还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值。此外,帧内预测处理单元126可确定相应样本的第三权重的值。帧内预测处理单元126还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值。另外,帧内预测处理单元126可根据帧内预测模式确定相应样本的主值。接着,帧内预测处理单元126可将相应样本的辅值确定为相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
举例来说,帧内预测处理单元126可根据等式(11)确定相应样本的辅值,其中wT为第一权重,wL为第二权重,wTL为第三权重,(2rightShift-wT-wL-wTL)为第四权重,且rightShift为第二值。
残余产生单元102可基于CU的译码块(例如,明度、Cb及Cr译码块)及CU的PU的所选预测块(例如,预测性明度、Cb及Cr块)产生CU的残余块(例如,明度、Cb及Cr残余块)。举例来说,残余产生单元102可产生CU的残余块,以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应所选预测块中的对应样本之间的差的值。
变换处理单元104可执行将CU的残余块分割成CU的TU的变换块。举例来说,变换处理单元104可执行四分树分割以将CU的残余块分割成CU的TU的变换块。因此,TU可与明度变换块及两个色度变换块相关联。CU的TU的明度变换块及色度变换块的大小及定位可或可不基于CU的PU的预测块的大小及定位。被称为“残余四分树”(RQT)的四分树结构可包含与区中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元104可通过将一或多个变换应用于TU的变换块而产生CU的每一TU的变换系数块。变换处理单元104可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元104可将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在这些实例中,变换块可经处理为变换系数块。
量化单元106可量化系数块中的变换系数。量化单元106可基于相关联于CU的量化参数(QP)值来量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息的损失。因此,经量化变换系数可具有比最初变换系数低的精度。
反量化单元108及反变换处理单元110可分别将反量化及反变换应用于系数块,以从系数块重建残余块。重建单元112可将经重建残余块添加到来自由预测处理单元100产生的一或多个预测块的对应样本,以产生与TU相关联的经重建变换块。通过以此方式重建CU的每一TU的变换块,视频编码器20可重建CU的译码块。
滤波器单元114可执行一或多个解块操作以减小与CU相关联的译码块中的块伪影。经解码图片缓冲器116可在滤波器单元114对经重建译码块执行一或多个解块操作之后存储经重建译码块。帧间预测处理单元120可使用含有经重建译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可使用经解码图片缓冲器116中的经重构译码块来对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元118可从量化单元106接收系数块,并可从预测处理单元100接收语法元素。熵编码单元118可对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元118可对数据执行CABAC操作、上下文自适应性可变长度译码(CAVLC)操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应性二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码数据的位流。举例来说,位流可包含表示用于CU的变换系数的值的数据。
图9为说明经配置以实施本公开的技术的实例视频解码器30的框图。出于解释的目的而提供图9,且其并不限制如本公开中所广泛例示及描述的技术。出于解释的目的,本公开描述在HEVC译码的上下文中的视频解码器30。然而,本公开的技术可适用于其它译码标准或方法,例如通用视频译码(VVC)。
处理电路包含视频解码器30,且视频解码器30经配置以执行本公开中所描述的实例技术中的一或多者。举例来说,视频解码器30包含集成电路,且图9中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为单独电路块或所述单元中的两者或多于两者可组合为共享硬件电路块。硬件电路块可形成为电子组件的组合,所述电子组件形成例如算术逻辑单元(ALU)、基础功能单元(EFU)的操作块,以及例如AND、OR、NAND、NOR、XOR、XNOR及其它类似逻辑块的逻辑块。
在一些实例中,图9中所说明的单元中的一或多者可为在处理电路上执行的软件单元。在此类实例中,用于这些软件单元的目的码存储于存储器中。操作系统可使得视频解码器30检索目的码并执行目的码,其使得视频解码器30执行实施实例技术的操作。在一些实例中,软件单元可为视频解码器30在启动处执行的固件。因此,视频解码器30为具有执行实例技术的硬件或具有在硬件上执行以特化执行所述实例技术的硬件的软件/固件的结构性组件。
在图9的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、反量化单元154、反变换处理单元156、重建单元158、滤波器单元160,及经解码图片缓冲器162。预测处理单元152包含运动补偿单元164及帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同功能性组件。
视频数据存储器151可存储待由视频解码器30的组件解码的经编码视频数据(例如,经编码视频位流)。可经由视频数据的有线或无线网络通信或通过存取物理数据存储媒体例如从计算机可读媒体16(例如,从本地视频源,例如相机)获得存储在视频数据存储器151中的视频数据。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储供视频解码器30用于解码视频数据(例如,以帧内或帧间译码模式)或供输出的参考视频数据的参考图片存储器。视频数据存储器151及经解码图片缓冲器162可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151及经解码图片缓冲器162可通过同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器151可与图1的存储媒体28相同或是所述存储媒体的部分。
视频数据存储器151接收并存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器151接收经编码视频数据(例如,NAL单元),且可解析NAL单元以获得语法元素。熵解码单元150可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元152、反量化单元154、反变换处理单元156、重建单元158及滤波器单元160可基于从位流提取的语法元素产生经解码视频数据。熵解码单元150可执行大体上互逆于熵编码单元118的所述过程的过程。
除从位流获得语法元素之外,视频解码器30可对未经分割的CU执行重建操作。为对CU执行重建操作,视频解码器30可对CU的每一TU执行重建操作。通过对CU的每一TU执行重建操作,视频解码器30可重建CU的残余块。
作为对CU的TU执行重建操作的部分,反量化单元154可反量化(即,解量化)与TU相关联的系数块。在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块,以便产生与TU相关联的残余块。举例来说,反变换处理单元156可将反DCT、反整数变换、反Karhunen-Loeve变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
如果使用帧内预测编码PU,那么帧内预测处理单元166可执行帧内预测以产生PU的预测块。帧内预测处理单元166可基于样本空间相邻块使用帧内预测模式来产生PU的预测块。帧内预测处理单元166可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。帧内预测处理单元166可执行本公开的帧内预测技术。
帧内预测处理单元166可根据本公开的技术中的任一者使用帧内预测模式产生预测块。举例来说,作为产生预测块的部分,帧内预测处理单元166可确定第一权重的初始值且确定第二权重的初始值。此外,针对预测块中的样本集合中的每一相应样本,帧内预测处理单元166可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值。帧内预测处理单元166还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值。此外,帧内预测处理单元166可确定相应样本的第三权重的值。帧内预测处理单元166还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值。另外,帧内预测处理单元166可根据帧内预测模式确定相应样本的主值。接着,帧内预测处理单元166可将相应样本的辅值确定为相应样本的第一值右移第二值,所述相应样本的所述第一值为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
举例来说,帧内预测处理单元166可根据等式(11)确定相应样本的辅值,其中wT为第一权重,wL为第二权重,wTL为第三权重,(2rightShift-wT-wL-wTL)为第四权重,且rightShift为第二值。
如果使用帧间预测编码PU,那么运动补偿单元164可确定PU的运动信息。运动补偿单元164可基于PU的运动信息确定一或多个参考块。运动补偿单元164可基于一或多个参考块产生PU的预测块(例如,预测性亮度、Cb及Cr块)。
重建单元158可使用CU的TU的变换块(例如,明度、Cb及Cr变换块)及CU的PU的预测块(例如,明度、Cb及Cr块)(即,可适用的帧内预测数据或帧间预测数据)来重建CU的译码块(例如,明度、Cb及Cr译码块)。举例来说,重建单元158可将变换块(例如,明度、Cb及Cr变换块)的样本添加到预测块(例如,明度、Cb及Cr预测块)的对应样本,以重建CU的译码块(例如,明度、Cb及Cr译码块)。
滤波器单元160可执行解块操作以减少与CU的译码块相关联的块伪影。视频解码器30可将CU的译码块存储于经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以用于随后运动补偿、帧内预测及在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。
图10为说明根据本公开的技术的视频编码器20的实例操作的流程图。本公开的流程图作为实例提供。在其它实例中,操作可包含更多、更少或不同的动作。此外,在一些实例中,操作可以不同次序执行。
在图10的实例中,视频编码器20(例如,视频编码器20的帧内预测处理单元126(图8))可使用帧内预测模式产生预测块(1000)。在一些实例中,帧内预测模式为DC帧内预测模式。在一些实例中,帧内预测模式为水平帧内预测模式。在一些实例中,帧内预测模式为竖直帧内预测模式。在一些实例中,帧内预测模式可为另一类型的帧内预测模式。在一些实例中,预测块中的样本中的每一者为明度样本。在一些实例中,预测块中的样本中的每一者为色度样本。在一些实例中,视频编码器20可将图10的操作应用于明度及色度样本两者。
作为产生预测块的部分,视频编码器20可确定第一权重的初始值(1002)。另外,视频编码器20可确定第二权重的初始值(1004)。在一些实例中,第一权重的初始值及第二权重的初始值可经固定及预定。在一些实例中,wL及wT初始化为0.5。在一些实例中,视频编码器20可基于一或多个因子,例如预测块的大小或帧间预测模式,确定第一权重的初始值及第二权重的初始值。
此外,针对预测块中的样本集合中的每一相应样本,视频编码器20可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值(1006)。第一边界可为预测块的上边界。在一些实例中,视频编码器20可基于相应样本与预测块的第一边界之间的距离通过以一量对第一权重的初始值执行移位运算来确定相应样本的第一权重的值。举例来说,在题为“帧内预测模式INTRA_PLANAR的规范”、“帧内预测模式INTRA_DC的规范”、“帧内预测模式INTRA_HOR的规范”及“帧内预测模式INTRA_VER的规范”的本公开的章节中,视频编码器20可将相应样本的第一权重的值确定为32>>((y<<1)>>rightShift),其中32为第一权重的初始值,且y为样本距预测块的上边界的距离。在其它实例中,视频编码器20可基于相应样本与预测块的第一边界之间的距离通过第一权重的初始值除以一量来确定相应样本的第一权重的值。
预测块中的样本集合可包含预测块的每一样本。在其它实例中,预测块的样本集合可为预测块的样本的子集。换句话说,在一些实例中,本公开的简化PDPC技术仅应用于所选预测样本位置而非应用于整个预测块。举例来说,其上施加本公开的简化PDPC技术的所选预测样本位置可为从预测块的左方开始的预测块的预定义列数目及/或从预测块的上方开始的预测块的预定义行数目。
视频编码器20还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值(1008)。第二边界可为预测块的左边界。在一些实例中,视频编码器20可基于相应样本与预测块的第二边界之间的距离通过以一量对第二权重的初始值执行移位运算来确定相应样本的第二权重的值。举例来说,在题为“帧内预测模式INTRA_PLANAR的规范”、“帧内预测模式INTRA_DC的规范”、“帧内预测模式INTRA_HOR的规范”及“帧内预测模式INTRA_VER的规范”的本公开的章节中,视频编码器20可将相应样本的第二权重的值确定为32>>((x<<1)>>rightShift),其中32为第二权重的初始值,x为样本距预测块的左边界的距离,且rightShift为藉以右移(x<<1)的值。在一些实例中,视频编码器20可基于相应样本与预测块的第二边界之间的距离通过第二权重的初始值除以一量来确定相应样本的第二权重。
在一些实例中,视频编码器20可基于以下各者中的一或多者确定相应样本的第一权重值:当前样本的按比例缩放的水平坐标,预测块的块大小,或帧内预测模式。在一些实例中,视频编码器20可基于以下各者中的一或多者:导出相应样本的第二权重的值:相应样本的按比例缩放的竖直坐标,预测块的块大小,或帧内预测模式。
此外,视频编码器20可确定相应样本的第三权重的值(1010)。视频编码器20可以各种方式中的一或多者确定相应样本的第三权重的值。举例来说,视频编码器20可将相应样本的第三权重的值确定为(wL>>4)+(wT>>4),其中wL为相应样本的第一权重的值,wT为相应样本的第二权重的值,且>>为右移位运算。在另一实例中,视频编码器20可将相应样本的第三权重的值确定为-(wL>>4)-(wT>>4),其中wL为相应样本的第一权重的值,wT为相应样本的第二权重的值,且>>为右移位运算。
在一些实例中,视频编码器20基于帧内预测模式确定相应样本的第三权重的值。举例来说,在一个实例中,如题为“帧内预测模式INTRA_PLANAR的规范”及“帧内预测模式INTRA_DC的规范”的本公开的章节中所示,视频编码器20可将相应样本的第三权重的值确定为wTL=(wL>>4)+(wT>>4)。在此实例中,如题为“帧内预测模式INTRA_HOR的规范”的本公开的章节中所示,视频编码器20可将相应样本的第三权重的值确定为wTL=wT。在此实例中,如题为“帧内预测模式INTRA_VER的规范”的本公开的章节中所示,视频编码器20可将相应样本的第四权重的值确定为wTL=wL。
在一些实例中,视频编码器20可将相应样本的第三权重的值确定为第一参数乘以相应样本的第一权重的值加第二参数乘以相应样本的第二权重的值的总和。作为一实例,视频编码器20可将第三权重(wTL)的值确定为wTL=a·wL+b·wT。视频编码器20可根据本公开中的其它处提供的实例中的任一者确定第一参数(a)及第二参数(b)的值。举例来说,视频编码器20可基于帧内预测方向确定第一参数及第二参数的值。在一些实例中,第一参数及第二参数的值取决于相对于水平及/或竖直预测方向的帧内预测角度差异或帧内模式索引差异。
在一些实例中,视频编码器20可在位流中用信号通知第一参数及第二参数的值。如本公开中的其它处所提及,位流可包含视频数据的经编码表示。举例来说,视频编码器20可包含在位流中指定第一参数及第二参数的语法元素。
此外,在图10的实例中,视频编码器20还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值(1012)。视频编码器20可以各种方式中的一或多者确定相应样本的第四权重的值。举例来说,视频编码器20可将相应样本的第四权重的值确定为等于(64-wT-wL-wTL),其中wT为相应样本的第二权重的值,wL为相应样本的第一权重的值,且wTL为相应样本的第三权重的值,且第二值(即,右移值)等于6。在一些实例中,视频编码器20可将相应样本的第四权重的值确定为等于(2rightShift-wT-wL-wTL),其中wT为相应样本的第二权重的值,wL为相应样本的第一权重的值,且wTL为相应样本的第三权重的值。
另外,在图10的实例中,视频编码器20可根据帧内预测模式确定相应样本的主值(1014)。举例来说,视频编码器20可使用平面帧内预测模式、DC帧内预测模式或定向帧内预测模式确定相应样本的主值,如本公开中的其它处所描述。
举例来说,视频编码器20可基于含有预测块的当前图片中的参考样本确定相应样本的主值。举例来说,在此实例中,视频编码器20可基于预测块的参考样本确定相应样本的主值。预测块的参考样本可包含在预测块左方的一列中的经解码样本及在预测块上方的一行中的经解码样本。因此,预测块的参考样本可包含在相应样本左方的相应样本的左方参考样本、在相应样本上方的当前样本的上方参考样本,及在相应样本左上方的相应样本的左上方参考样本。然而,取决于帧内预测模式,基于预测块的参考样本确定相应样本值的主值并不要求视频编码器20使用相应样本的左方参考样本、相应样本的上方参考样本或相应样本的左上方参考样本中的一或多者或任一者。在一些实例中,视频编码器20可基于在预测块内的经重建样本确定相应样本的主值。
在一些实例中,视频编码器20将一或多个滤波器应用于参考样本且基于经滤波参考样本确定相应样本的主值。举例来说,视频编码器20可根据本公开中的其它处提供的实例中的任一者对参考样本进行滤波。在其它实例中,视频编码器20可基于未经滤波参考样本确定相应样本的主值。
接着,视频编码器20可将相应样本的辅值确定为相应样本的第一值右移第二值(1016)。相应样本的第一值可为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
举例来说,视频编码器20可根据等式(11)确定相应样本的辅值,其中wT为第一权重,wL为第二权重,wTL为第三权重,(2rightShift-wT-wL-wTL)为第四权重,且rightShift为第二值。在一些实例中,偏移值等于32,且第二值等于6。
在一些实例中,视频编码器20将一或多个滤波器应用于参考样本(包含左方参考样本、上方参考样本及左上方参考样本)且可基于经滤波参考样本确定相应样本的辅值。举例来说,视频编码器20可根据本公开中的其它处提供的实例中的任一者对参考样本进行滤波。参考样本可为预测块的参考样本。也就是说,参考样本可在预测块左方的列中及在预测块上方的行中。在参考样本为预测块的参考样本的实例中,视频编码器20可通过将滤波器应用于预测块的初始未经滤波参考样本来产生预测块的经滤波参考样本。在其它实例中,视频编码器20可使用左方参考样本、上方参考样本及左上方参考样本中的一或多者的未经滤波值来确定相应样本的辅值。
在一些实例中,视频编码器20仅针对特定块大小(例如,具有大于阈值的大小的块)应用本公开的简化PDPC技术。因此,在一些实例中,视频编码器20可基于预测块的大小大于预定阈值确定相应样本的辅值为第一值右移第二值。因此,在预测块的大小不大于阈值的个例中,相应样本的辅值可等于相应样本的主值。
此外,在图10的实例中,视频编码器20可基于预测块及视频数据的译码块产生残余数据(1018)。举例来说,视频编码器20可通过从预测块的对应样本减去译码块的样本来产生残余数据。
图11为说明根据本公开的技术的视频解码器30的实例操作的流程图。在图11的实例中,视频解码器30(例如,视频解码器30的帧内预测处理单元166(图9))可使用帧内预测模式产生预测块(1100)。在一些实例中,帧内预测模式为DC帧内预测模式。在一些实例中,帧内预测模式为水平帧内预测模式。在一些实例中,帧内预测模式为竖直帧内预测模式。在一些实例中,帧内预测模式可为另一类型的帧内预测模式。在一些实例中,预测块中的样本中的每一者为明度样本。在一些实例中,预测块中的样本中的每一者为色度样本。在一些实例中,视频解码器30可将图10的操作应用于明度及色度样本两者。
作为产生预测块的部分视频解码器30可确定第一权重的初始值(1102)。另外,视频解码器30可确定第二权重的初始值(1104)。视频解码器30可根据关于动作(1002)及(1004)及在本公开中的其它处提供的实例中的任一者确定第一权重的初始值及第二权重的初始值。
此外,针对预测块中的样本集合中的每一相应样本,视频解码器30可基于第一权重的初始值及相应样本与预测块的第一边界之间的距离确定相应样本的第一权重的值(1106)。第一边界可为预测块的上边界。视频解码器30还可基于第二权重的初始值及相应样本与预测块的第二边界之间的距离确定相应样本的第二权重的值(1108)。第二边界可为预测块的左边界。此外,视频解码器30可确定相应样本的第三权重的值(1110)。视频解码器30还可基于相应样本的第一权重的值、相应样本的第二权重的值及相应样本的第三权重的值确定相应样本的第四权重的值(1112)。视频解码器30可如上文关于动作(1006)、(1008)、(1010)及(1012)所描述及本公开中的其它处所描述以与视频编码器20相同的方式确定相应样本的第一、第二、第三及第四权重的值。
另外,在图11的实例中,视频解码器30可根据帧内预测模式确定相应样本的主值(1114)。举例来说,视频解码器30可如上文关于动作(1014)所描述及本公开中的其它处所描述以与视频编码器20相同的方式确定主值。
接着,视频解码器30可将相应样本的辅值确定为相应样本的第一值右移第二值(1116)。相应样本的第一值可为以下各者的总和:
(i)相应样本的第一权重的值乘以在相应样本左方的相应样本的左方参考样本,
(ii)相应样本的第二权重的值乘以在相应样本上方的相应样本的上方参考样本,
(iii)相应样本的第三权重的值乘以在相应样本左上方的相应样本的左上方参考样本,
(iv)相应样本的第四权重的值乘以相应样本的主值,及
(v)偏移值。
举例来说,视频解码器30可根据等式(11)确定相应样本的辅值,其中wT为第一权重,wL为第二权重,wTL为第三权重,(2rightShift-wT-wL-wTL)为第四权重,且rightShift为第二值。在一些实例中,偏移值等于32,且第二值等于6。
在一些实例中,视频解码器30将一或多个滤波器应用于参考样本(包含左方参考样本、上方参考样本及左上方参考样本)且可基于经滤波参考样本确定相应样本的辅值。举例来说,视频解码器30可根据本公开中的其它处提供的实例中的任一者对参考样本进行滤波。参考样本可为预测块的参考样本。也就是说,参考样本可在预测块左方的列中及在预测块上方的行中。在参考样本为预测块的参考样本的实例中,视频解码器30可通过将滤波器应用于预测块的初始未经滤波参考样本来产生预测块的经滤波参考样本。在其它实例中,视频解码器30可使用左方参考样本、上方参考样本及左上方参考样本中的一或多者的未经滤波值来确定相应样本的辅值。
在一些实例中,视频解码器30仅针对特定块大小(例如,具有大于阈值的大小的块)应用本公开的简化PDPC技术。因此,在一些实例中,视频解码器30可基于预测块的大小大于预定阈值确定相应样本的辅值为第一值右移第二值。因此,在预测块的大小不大于阈值的个例中,相应样本的辅值可等于相应样本的主值。
此外,在图11的实例中,视频解码器30可基于预测块及残余数据重建视频数据的经解码块(1118)。举例来说,视频解码器30可通过将预测块的样本添加到残余数据的样本来产生残余数据。
为了说明的目的,本公开的某些方面已经关于HEVC标准的扩展而描述。然而,本公开中所描述的技术可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如本公开中所描述,视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,如适用,视频译码可指视频编码或视频解码。本公开可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块及用以译码样本的一或多个块的样本的语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区,等等。在一些上下文中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树型块、译码块及其它类型的视频数据块。
所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如,空中电视广播、有线电视传输、有线传输、卫星电视传输、因特网流式传输视频传输(例如,HTTP动态自适应流式传输(DASH))、经编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码或其它应用或以上实例的组合。在一些实例中,系统10可经配置以支持单向或双向视频传输从而支持例如视频流式传输、视频播放、视频广播及/或视频电话的应用。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可添加、合并或完全省略所述动作或事件(例如,并非所有所描述动作或事件对于所述技术的实践是必要的)。此外,在某些实例中,可例如经由多线程处理、中断处理或多个处理器同时而非顺序执移动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体的有形媒体)或通信媒体,所述通信媒体包含例如根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体可对应于(1)为非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可通过一或多个计算机或一或多个处理电路存取以检索指令、代码及/或数据结构以用于实施本公开中描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
通过实例说明而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁碟存储器或其它磁性存储装置、快闪存储器、高速缓存存储器或可用以存储呈指令或数据结构形式的所要程序代码且可通过计算机存取的任何其它媒体。此外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外线、无线电及微波的无线技术,从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而实情为涉及非暂时性有形存储媒体。如本文中所使用,磁碟及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁碟通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各者的组合还应包含于计算机可读媒体的范围内。
本公开中所描述的功能可通过固定功能及/或可编程处理电路执行。举例来说,指令可通过固定功能及/或可编程处理电路执行。这些处理电路可包含一或多个处理器,例如一或多个数字信号处理器(DSP)、通用微处理器、集成电路专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能可经提供于经配置以供编码及解码的专用硬件及/或软件模块内或并入于经组合编码解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。处理电路可以各种方式耦合到其它组件。举例来说,处理电路可经由内部装置互连件、有线或无线网络连接件或另一通信媒体耦合到其它组件。
本公开的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC集合(例如,芯片组)。在本公开中描述各种组件、模块或单元以强调经配置以执行所公开技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于可在编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合与适合的合适软件及/或固件一起组合或由互操作硬件单元的集合来提供所述单元,所述硬件单元包含如上文所描述的一或多个处理器。
在本公开中,例如“第一”、“第二”、“第三”等的序数术语未必为次序内的位置的指示符,而是可仅仅用以区分同一事物的不同个例。
已描述各种实例。这些及其它实例在以下权利要求书的范围内。
Claims (31)
1.一种解码视频数据的方法,所述方法包括:
使用帧内预测模式产生预测块,其中产生所述预测块包括:
针对所述预测块中的样本集合中的每一相应样本:
基于所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的第一权重的值;
基于所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的第二权重的值;
基于所述相应样本的所述第一权重的所述值及所述相应样本的所述第二权重的所述值确定所述相应样本的第三权重的值;
根据所述帧内预测模式确定所述相应样本的主值;及
将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值基于以下各者:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以所述相应样本的所述主值,及(iv)偏移值;及
其中所述预测块中的每个相应样本是基于所述相应样本的所述主值以及所述相应样本的所述第二值;及
基于所述预测块及残余数据重建所述视频数据的经解码块。
2.根据权利要求1所述的方法,其中针对所述预测块中的所述样本集合中的每一相应样本,确定所述相应样本的所述主值包括基于所述预测块的参考样本确定所述相应样本的所述主值,所述参考样本包含所述相应样本的所述左方参考样本及所述相应样本的所述上方参考样本。
3.根据权利要求2所述的方法,其中所述块的所述参考样本为经滤波参考样本,且所述方法进一步包括:
通过将滤波器应用于所述预测块的初始参考样本产生所述预测块的所述经滤波参考样本。
4.根据权利要求1所述的方法,其中,针对所述预测块中的所述样本集合中的每一相应样本:
确定所述相应样本的所述第一权重的所述值包括基于所述相应样本与所述预测块的所述第一边界之间的所述距离通过以一量对所述第一权重的初始值执行移位运算来确定所述相应样本的所述第一权重的所述值;及
确定所述第二权重的所述值包括基于所述相应样本与所述预测块的所述第二边界之间的所述距离通过以一量对所述第二权重的初始值执行所述移位运算来确定所述相应样本的所述第二权重的所述值。
5.根据权利要求1所述的方法,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述相应样本的所述第三权重的所述值等于(64-wT-wL-wTL),其中wT为所述相应样本的所述第二权重的所述值,wL为所述相应样本的所述第一权重的所述值,且wTL为所述相应样本的所述第三权重的所述值,所述偏移值等于32,且所述第二值等于6。
6.根据权利要求1所述的方法,其中确定所述相应样本的所述第三权重的所述值包括:
将所述相应样本的所述第三权重的所述值确定为(wL>>4)+(wT>>4),其中wL为所述相应样本的所述第一权重的所述值,wT为所述相应样本的所述第二权重的所述值,且>>为右移位运算。
7.根据权利要求1所述的方法,其进一步包括,针对所述预测块中的所述样本集合中的每一相应样本:
将所述相应样本的所述第三权重的所述值确定为第一参数乘以所述相应样本的所述第一权重的所述值加第二参数乘以所述相应样本的所述第二权重的所述值的总和。
8.根据权利要求7所述的方法,其进一步包括:
基于帧内预测方向确定所述第一参数及所述第二参数的所述值,
从包括所述视频数据的经编码表示的位流获得所述第一参数及所述第二参数的值,或
基于相对于水平及/或竖直预测方向的帧内预测角度差异或帧内模式索引差异确定所述第一参数及所述第二参数的所述值。
9.根据权利要求1所述的方法,其中所述帧内预测模式为DC帧内预测模式、水平帧内预测模式,或竖直帧内预测模式。
10.一种编码视频数据的方法,所述方法包括:
使用帧内预测模式产生预测块,其中产生所述预测块包括:
针对所述预测块中的样本集合中的每一相应样本:
基于所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的第一权重的值;
基于所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的第二权重的值;
基于所述相应样本的所述第一权重的所述值及所述相应样本的所述第二权重的所述值确定所述相应样本的第三权重的值;
根据所述帧内预测模式确定所述相应样本的主值;及
将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值基于以下各者:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以所述相应样本的所述主值,及(iv)偏移值;及
其中所述预测块中的每个相应样本是基于所述相应样本的所述主值以及所述相应样本的所述第二值;及
基于所述预测块及所述视频数据的译码块产生残余数据。
11.根据权利要求10所述的方法,其中,针对所述预测块中的所述样本集合中的每一相应样本:
确定所述相应样本的所述第一权重的所述值包括基于所述相应样本与所述预测块的所述第一边界之间的所述距离通过以一量对所述第一权重的初始值执行移位运算来确定所述相应样本的所述第一权重的所述值;及
确定所述第二权重的所述值包括基于所述相应样本与所述预测块的所述第二边界之间的所述距离通过以一量对所述第二权重的初始值执行所述移位运算来确定所述相应样本的所述第二权重的所述值。
12.根据权利要求10所述的方法,其中确定所述相应样本的所述第三权重的所述值包括:
将所述相应样本的所述第三权重的所述值确定为(wL>>4)+(wT>>4),其中wL为所述相应样本的所述第一权重的所述值,wT为所述相应样本的所述第二权重的所述值,且>>为右移位运算。
13.根据权利要求10所述的方法,其进一步包括,针对所述预测块中的所述样本集合中的每一相应样本:
将所述相应样本的所述第三权重的所述值确定为第一参数乘以所述相应样本的所述第一权重的所述值加第二参数乘以所述相应样本的所述第二权重的所述值的总和。
14.根据权利要求10所述的方法,其中所述帧内预测模式为DC帧内预测模式、水平帧内预测模式,或竖直帧内预测模式。
15.一种用于解码视频数据的设备,所述设备包括:
一或多个存储媒体,其经配置以存储所述视频数据;及
一或多个处理器,其经配置以:
使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:
针对所述预测块中的样本集合中的每一相应样本:
基于所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的第一权重的值;
基于所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的第二权重的值;
基于所述相应样本的所述第一权重的所述值及所述相应样本的所述第二权重的所述值确定所述相应样本的第三权重的值;
根据所述帧内预测模式确定所述相应样本的主值;及
将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值基于以下各者:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,
(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以所述相应样本的所述主值,及(iv)偏移值;及
其中所述预测块中的每个相应样本是基于所述相应样本的所述主值以及所述相应样本的所述第二值;及
基于所述预测块及残余数据重建所述视频数据的经解码块。
16.根据权利要求15所述的设备,其中针对所述预测块中的所述样本集合中的每一相应样本,所述一或多个处理器经配置以基于所述预测块的参考样本确定所述相应样本的所述主值,所述参考样本包含所述相应样本的所述左方参考样本及所述相应样本的所述上方参考样本。
17.根据权利要求16所述的设备,其中所述块的所述参考样本为经滤波参考样本,且所述一或多个处理器经配置以通过将滤波器应用于所述预测块的初始参考样本产生所述预测块的所述经滤波参考样本。
18.根据权利要求15所述的设备,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述一或多个处理器经配置以:
基于所述相应样本与所述预测块的所述第一边界之间的所述距离通过以一量对所述第一权重的初始值执行移位运算来确定所述相应样本的所述第一权重的所述值;及
基于所述相应样本与所述预测块的所述第二边界之间的所述距离通过以一量对所述第二权重的初始值执行所述移位运算来确定所述相应样本的所述第二权重的所述值。
19.根据权利要求15所述的设备,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述相应样本的所述第三权重的所述值等于(64-wT-wL-wTL),其中wT为所述相应样本的所述第二权重的所述值,wL为所述相应样本的所述第一权重的所述值,且wTL为所述相应样本的所述第三权重的所述值,所述偏移值等于32,且所述第二值等于6。
20.根据权利要求15所述的设备,其中所述一或多个处理器经配置以将所述相应样本的所述第三权重的所述值确定为(wL>>4)+(wT>>4),其中wL为所述相应样本的所述第一权重的所述值,wT为所述相应样本的所述第二权重的所述值,且>>为右移位运算。
21.根据权利要求15所述的设备,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述一或多个处理器经配置以将所述相应样本的所述第三权重的所述值确定为第一参数乘以所述相应样本的所述第一权重的所述值加第二参数乘以所述相应样本的所述第二权重的所述值的总和。
22.根据权利要求21所述的设备,其中所述一或多个处理器进一步经配置以:
基于帧内预测方向确定所述第一参数及所述第二参数的所述值,
从包括所述视频数据的经编码表示的位流获得所述第一参数及所述第二参数的值,或
基于相对于水平及/或竖直预测方向的帧内预测角度差异或帧内模式索引差异确定所述第一参数及所述第二参数的所述值。
23.根据权利要求15所述的设备,其中所述帧内预测模式为DC帧内预测模式、水平帧内预测模式,或竖直帧内预测模式。
24.根据权利要求23所述的设备,其中所述设备包括:
集成电路,
微处理器,或
无线通信装置。
25.一种用于编码视频数据的设备,所述设备包括:
一或多个存储媒体,其经配置以存储所述视频数据;及
一或多个处理器,其经配置以:
使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:
针对所述预测块中的样本集合中的每一相应样本:
基于所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的第一权重的值;
基于所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的第二权重的值;
基于所述相应样本的所述第一权重的所述值及所述相应样本的所述第二权重的所述值确定所述相应样本的第三权重的值;
根据所述帧内预测模式确定所述相应样本的主值;及
将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值基于以下各者:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以所述相应样本的所述主值,及(iv)偏移值;及
其中所述预测块中的每个相应样本是基于所述相应样本的所述主值以及所述相应样本的所述第二值;及
基于所述预测块及所述视频数据的译码块产生残余数据。
26.根据权利要求25所述的设备,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述一或多个处理器经配置以:
基于所述相应样本与所述预测块的所述第一边界之间的所述距离通过以一量对所述第一权重的初始值执行移位运算来确定所述相应样本的所述第一权重的所述值;及
基于所述相应样本与所述预测块的所述第二边界之间的所述距离通过以一量对所述第二权重的初始值执行所述移位运算来确定所述相应样本的所述第二权重的所述值。
27.根据权利要求25所述的设备,其中所述一或多个处理器经配置以将所述相应样本的所述第三权重的所述值确定为(wL>>4)+(wT>>4),其中wL为所述相应样本的所述第一权重的所述值,wT为所述相应样本的所述第二权重的所述值,且>>为右移位运算。
28.根据权利要求25所述的设备,其中,针对所述预测块中的所述样本集合中的每一相应样本,所述一或多个处理器经配置以将所述相应样本的所述第三权重的所述值确定为第一参数乘以所述相应样本的所述第一权重的所述值加第二参数乘以所述相应样本的所述第二权重的所述值的总和。
29.根据权利要求25所述的设备,其中所述帧内预测模式为DC帧内预测模式、水平帧内预测模式,或竖直帧内预测模式。
30.根据权利要求25所述的设备,其中所述设备包括:
集成电路,
微处理器,或
无线通信装置。
31.一种其上存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使得一或多个处理器进行以下操作:
使用帧内预测模式产生预测块,其中所述一或多个处理器经配置以使得,作为产生所述预测块的部分,所述一或多个处理器:
针对所述预测块中的样本集合中的每一相应样本:
基于所述相应样本与所述预测块的第一边界之间的距离确定所述相应样本的第一权重的值;
基于所述相应样本与所述预测块的第二边界之间的距离确定所述相应样本的第二权重的值;
基于所述相应样本的所述第一权重的所述值及所述相应样本的所述第二权重的所述值确定所述相应样本的第三权重的值;
根据所述帧内预测模式确定所述相应样本的主值;及
将所述相应样本的辅值确定为所述相应样本的第一值右移第二值,所述相应样本的所述第一值基于以下各者:(i)所述相应样本的所述第一权重的所述值乘以在所述相应样本左方的所述相应样本的左方参考样本,(ii)所述相应样本的所述第二权重的所述值乘以在所述相应样本上方的所述相应样本的上方参考样本,(iii)所述相应样本的所述第三权重的所述值乘以所述相应样本的所述主值,及(iv)偏移值;及
其中所述预测块中的每个相应样本是基于所述相应样本的所述主值以及所述相应样本的所述第二值;及
基于所述预测块及残余数据重建视频数据的经解码块。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/570,019 | 2017-10-09 | ||
| US16/154,261 | 2018-10-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK40020618A HK40020618A (zh) | 2020-10-23 |
| HK40020618B true HK40020618B (zh) | 2024-07-12 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI763935B (zh) | 在視訊寫碼中與位置相依之預測組合 | |
| EP3987781B1 (en) | Signaling of matrix intra prediction parameters in video coding | |
| CN112385223B (zh) | 取决于模式的帧内平滑(mdis)与帧内内插滤波器切换的组合 | |
| CN110622514B (zh) | 用于视频译码的帧内参考滤波器 | |
| CN109716765B (zh) | 用于视频译码中的帧内预测的经改进内插滤波器 | |
| CN109691102B (zh) | 跨分量滤波器 | |
| US11671592B2 (en) | Position-dependent intra-prediction combination for angular intra-prediction modes for video coding | |
| CN113785589A (zh) | 仿射线性加权帧内预测中的预测信号滤波 | |
| JP7423647B2 (ja) | 異なるクロマフォーマットを使用した三角予測ユニットモードでのビデオコーディング | |
| TW202345593A (zh) | 具有去方塊濾波之前的樣點和樣點自我調整偏移之前的樣點的自我調整迴路濾波器 | |
| US12439038B2 (en) | Reduced complexity multi-mode neural network filtering of video data | |
| US20200304785A1 (en) | Simplified non-linear adaptive loop filter | |
| CN114830667A (zh) | 视频编解码中用于参考图片重采样的参考图片缩放比例 | |
| CN112789856A (zh) | 视频编/解码中基于变换域滤波的量化伪影抑制 | |
| US11019332B2 (en) | Chroma intra prediction in video coding | |
| TW202418805A (zh) | 視頻編解碼複雜性降低的幀內預測融合 | |
| US20210314567A1 (en) | Block partitioning for image and video coding | |
| US12413728B2 (en) | Flexible activation of multiple transform selection for inter-coding in video coding | |
| HK40020618B (zh) | 在视频译码中与位置相关的预测组合 | |
| US20240430420A1 (en) | Chroma component coding | |
| US20250324046A1 (en) | Adaptive loop filter (alf) and/or cross-component alf for video coding | |
| US20250227253A1 (en) | Sample position and block characteristic dependent intra-prediction for video coding | |
| US20260012596A1 (en) | Subblock transforms for video coding | |
| US20260012641A1 (en) | Non-separable transform kernel selection based on prediction type in video coding | |
| WO2025221445A1 (en) | Adaptive loop filter (alf) and/or cross-component alf for video coding |