下一代视频的内容自适应、特性补偿预测.pdf

上传人:小** 文档编号:1682037 上传时间:2018-07-04 格式:PDF 页数:71 大小:7.22MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380053480.1

申请日:

2013.11.13

公开号:

CN104854866A

公开日:

2015.08.19

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):H04N 19/50申请日:20131113|||公开

IPC分类号:

H04N19/50; H04N19/00

主分类号:

H04N19/50

申请人:

英特尔公司

发明人:

A·普里; N·N·戈卡莱

地址:

美国加利福尼亚

优先权:

61/725,576 2012.11.13 US; 61/758,314 2013.01.30 US

专利代理机构:

永新专利商标代理有限公司72002

代理人:

刘瑜; 王英

PDF下载: PDF下载
内容摘要

用于视频编码的内容自适应特性补偿预测的计算机实现的方法包括:生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数;至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数;至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据;以及至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。

权利要求书

权利要求书1.  一种用于视频编码的计算机实现的方法,包括:生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于所述第一解码的预测参考图片来生成第一修改的预测参考图片和与所述第一修改的预测参考图片相关联的第一修改特性参数;至少部分地基于所述第二解码的预测参考图片来生成第二修改的预测参考图片和与所述第二修改的预测参考图片相关联的第二修改特性参数,其中,所述第二修改的参考图片具有与所述第一修改的参考图片不同的类型;至少部分地基于所述第一修改的预测参考图片或所述第二修改的预测参考图片中的至少一个来生成与当前图片的预测分区相关联的运动数据;以及至少部分地基于所述第一修改的预测参考图片或所述第二修改的预测参考图片中的至少一个和所述运动数据来执行运动补偿以生成所述预测分区的预测的分区数据。2.  如权利要求1所述的方法,还包括:确定所述预测的分区数据和与所述预测分区相关联的原始像素数据的差异以生成预测误差数据分区;划分所述预测误差数据分区以生成多个编码分区;在所述多个编码分区上执行正向变换以生成与所述多个编码分区相关联的变换系数;对所述变换系数进行量化以生成量化的变换系数;以及使所量化的变换系数、所述第一修改特性参数、所述第二修改特性参数、所述运动数据、以及与所述预测分区相关联的模式熵编码到比特流中。3.  如权利要求1所述的方法,其中,所述第一修改的预测参考图片包括变形的预测参考图片,而所述第二修改的预测参考图片包括合成的预测参考图片。4.  如权利要求1所述的方法,其中,所述第一修改的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个。5.  如权利要求1所述的方法,其中,所述第一修改的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个。6.  如权利要求1所述的方法,其中,所述第一修改的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,并且其中,所述第二修改的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个。7.  如权利要求1所述的方法,其中,所述第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。8.  如权利要求1所述的方法,还包括:至少部分地基于所述第一解码的预测参考图片来生成第三修改的预测参考图片和与所述第三修改的预测参考图片相关联的第三修改特性参数;以及至少部分地基于所述第三修改的预测参考图片中的一个来生成与所述当前图片的第二预测分区相关联的第二运动数据。9.  如权利要求1所述的方法,还包括:至少部分地基于所述第一解码的预测参考图片来生成第三修改的预测参考图片和与所述第三修改的预测参考图片相关联的第三修改特性参数;以及至少部分地基于所述第三修改的预测参考图片中的一个来生成与所述当前图片的第二预测分区相关联的第二运动数据,其中,所述第一修改的 预测参考图片包括增益修改的预测参考图片,所述第二修改的预测参考图片包括模糊修改的预测参考图片,以及所述第三修改的预测参考图片包括超分辨率预测参考图片。10.  如权利要求1所述的方法,还包括:至少部分地基于所述第二修改的预测参考图片来生成与所述当前图片的所述预测分区相关联的第二运动数据,其中,生成所述运动数据包括至少部分地基于所述第一修改的预测参考图片来生成所述运动数据;至少部分地基于所述第二运动数据和所述第二修改的预测参考图片来执行第二运动补偿以生成所述预测分区的第二预测的分区数据,其中,执行所述运动补偿包括至少部分地基于所述第一修改的预测参考图片来执行所述运动补偿;以及组合所述预测的分区数据和所述第二预测的分区数据以生成所述预测分区的最终预测分区数据,其中,组合所述预测的分区数据和所述第二预测的分区数据包括对所述预测的分区数据和所述第二预测的分区数据进行平均。11.  如权利要求1所述的方法,还包括:至少部分地基于所述第二修改的预测参考图片来生成与所述当前图片的所述预测分区相关联的第二运动数据,其中,生成所述运动数据包括至少部分地基于所述第一修改的预测参考图片来生成所述运动数据;至少部分地基于所述第二运动数据和所述第二修改的预测参考图片来执行第二运动补偿以生成所述预测分区的第二预测的分区数据,其中,执行所述运动补偿包括至少部分地基于所述第一修改的预测参考图片来执行所述运动补偿;组合所述预测的分区数据和所述第二预测的分区数据以生成所述预测分区的最终预测分区数据,其中,组合所述预测的分区数据和所述第二预测的分区数据包括对所述预测的分区数据和所述第二预测的分区数据进行平均;确定所述预测的分区数据或所述最终预测分区和与所述预测分区相关 联的原始像素数据的差异以生成预测误差数据分区;划分所述预测误差数据分区以生成多个编码分区;在所述多个编码分区上执行正向变换以生成与所述多个编码分区相关联的变换系数;对所述变换系数进行量化以生成量化的变换系数;使所量化的变换系数、所述第一修改特性参数、所述第二修改特性参数、所述运动数据、和与所述预测分区相关联的模式熵编码到比特流中;发送所述比特流;接收所述比特流;对所述比特流进行熵解码以确定所述量化的变换系数、所述第一修改特性参数、所述第二修改特性参数、所述运动数据、以及与所述预测分区相关联的所述模式;至少部分地基于所述量化的变换系数来执行反向量化以生成解码的变换系数;至少部分地基于所述解码的变换系数来执行反向变换以生成多个解码的编码分区;装配所述多个解码的编码分区以生成解码的预测误差数据分区;生成第三解码的预测参考图片和第四解码的预测参考图片;至少部分地基于所述第一修改特性参数来生成第三修改的预测参考图片的至少一部分;至少部分地基于相关联的所述第二修改特性参数来生成第四修改的预测参考图片的至少一部分;以及至少部分地基于所述第三修改的预测参考图片的部分或所述第四修改的预测参考图片的部分中的至少一个和所述运动数据来执行运动补偿以生成解码的预测分区数据;将所述解码的预测分区数据加到所述解码的预测误差数据分区以生成第一重建的预测分区;装配所述第一重建的预测分区和第二重建的预测分区以生成第一瓦片或第一超分片中的至少一个;将解块滤波或质量恢复滤波中的至少一个应用于所述第一瓦片或所述 第一超分片以生成第一最终解码的瓦片或超分片;装配所述第一最终解码的瓦片或超分片和第二最终解码的瓦片或超分片以生成解码的视频帧;发送所述解码的视频帧以用于经由显示设备来呈现;至少部分地基于所述第一解码的预测参考图片、所述第二解码的预测参考图片、或第三解码的预测参考图片来生成与所述当前图片的第二预测分区相关联的第二运动数据;进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十个预测参考图片来生成与所述当前图片的第三预测分区相关联的第三运动数据,其中,所述当前图片包括P-图片;以及进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十一个预测参考图片来生成与所述当前图片的第四预测分区相关联的第四运动数据,其中,所述当前图片包括F-图片/B-图片,其中,所述第一修改的预测参考图片包括变形的预测参考图片、合成的预测参考图片、增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、超分辨率预测参考图片、或投影轨迹预测参考图片中的至少一个,其中,所述第一修改的预测参考图片包括变形的预测参考图片,而所述第二修改的预测参考图片包括合成的预测参考图片,其中,所述变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,其中,所述合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个,其中,所述第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个,以及其中,所述运动数据包括运动矢量。12.  一种用于视频编码的计算机实现的方法,包括:生成解码的预测参考图片;生成与所述解码的预测参考图片的修改分块相关联的修改特性参数;至少部分地基于修改的参考分区来生成与当前图片的预测分区相关联的运动数据,所述修改的参考分区是至少部分地基于所述解码的预测参考图片和所述修改特性参数而生成的;以及至少部分地基于所述运动数据和所述修改的参考分区来执行运动补偿以生成所述预测分区的预测的分区数据。13.  如权利要求12所述的方法,其中,所述修改特性参数包括变形特性参数或合成特性参数中的至少一个。14.  如权利要求12所述的方法,其中,所述修改特性参数包括增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个。15.  如权利要求12所述的方法,还包括:生成与所述解码的预测参考图片的第二修改分块相关联的第二修改特性参数,其中,所述修改分块和所述第二修改分块包括不同的分块;至少部分地基于第二修改参考分区来生成与所述当前图片的所述预测分区相关联的第二运动数据,所述第二修改参考分区是至少部分地基于所述解码的预测参考图片和所述第二修改特性参数而生成的;至少部分地基于所述运动数据和所述第二修改的参考分区来执行第二运动补偿以生成所述预测分区的第二预测的分区数据;以及组合所述预测的分区数据和所述第二预测的分区数据以生成所述预测分区的最终预测分区数据。16.  如权利要求12所述的方法,还包括:生成与所述解码的预测参考图片的第二修改分块相关联的第二修改特性参数,其中,所述修改分块和所述第二修改分块包括不同的分块,以及其中,所述修改的特性参数包括变形特性参数,而所述第二修改的特性参数包括合成特性参数;至少部分地基于第二修改的参考分区来生成与所述当前图片的所述预测分区相关联的第二运动数据,所述第二修改的参考分区是至少部分地基于所述解码的预测参考图片和所述第二修改特性参数而生成的;至少部分地基于所述运动数据和所述第二修改的参考分区来执行第二运动补偿以生成所述预测分区的第二预测的分区数据;以及对所述预测的分区数据和所述第二预测的分区数据进行平均以生成所述预测分区的最终预测分区数据。17.  如权利要求12所述的方法,还包括:生成与所述解码的预测参考图片的第二修改分块相关联的第二修改特性参数,其中,所述修改分块和所述第二修改分块包括不同的分块;至少部分地基于第二修改的参考分区来生成与所述当前图片的所述预测分区相关联的第二运动数据,所述第二修改的参考分区是至少部分地基于所述解码的预测参考图片和所述第二修改特性参数而生成的;至少部分地基于所述运动数据和所述第二修改的参考分区来执行第二运动补偿以生成所述预测分区的第二预测的分区数据;以及组合所述预测的分区数据和所述第二预测的分区数据以生成所述预测分区的最终预测分区数据,其中,组合所述预测的分区数据和所述第二预测的分区数据包括对所述预测的分区数据和所述第二预测的分区数据进行平均,其中,所述修改特性参数包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个,以及其中,所述第二修改特性参数包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个。18.  一种视频编码器,包括:图像缓冲器;以及图形处理单元,其包括变形分析器和生成逻辑电路、合成分析器和生 成逻辑电路、运动估计器逻辑电路、以及特性和运动补偿滤波预测器逻辑电路,其中,所述图形处理单元通信地耦合到所述图像缓冲器,并且其中,所述变形分析器和生成逻辑电路被配置为:接收第一解码的预测参考图片;以及至少部分地基于所述第一解码的预测参考图片来生成变形的预测参考图片和与所述变形的预测参考图片相关联的变形特性参数,其中,所述合成分析器和生成逻辑电路被配置为:接收第二解码的预测参考图片;以及至少部分地基于所述第二解码的预测参考图片来生成合成的预测参考图片和与所述合成的预测参考图片相关联的合成特性参数,其中,所述运动估计器逻辑电路被配置为:至少部分地基于所述变形的预测参考图片或所述合成的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据,以及其中,所述特性和运动补偿滤波预测器逻辑电路被配置为:至少部分地基于所述变形的预测参考图片或所述合成的预测参考图片中的至少一个和所述运动数据来执行运动补偿以生成所述预测分区的预测的分区数据。19.  如权利要求18所述的视频编码器,其中,所述变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个。20.  如权利要求18所述的视频编码器,其中,所述合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个。21.  如权利要求18所述的视频编码器,其中,所述第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。22.  如权利要求18所述的视频编码器,其中,所述运动估计器逻辑电 路还被配置为:至少部分地基于所述第一解码的预测参考图片、所述第二解码的预测参考图、或第三解码的预测参考图片来生成与所述当前图片的第二预测分区相关联的第二运动数据。23.  如权利要求18所述的视频编码器,其中,所述图形处理单元还包括:区分确定器,其被配置为:确定所述预测分区数据和与所述预测分区相关联的原始像素数据的差异以生成预测误差数据分区;编码分区逻辑电路,其被配置为:划分所述预测误差数据分区以生成多个编码分区;自适应变换逻辑电路,其被配置为:在所述多个编码分区上执行正向变换以生成与所述多个编码分区相关联的变换系数;自适应量化逻辑电路,其被配置为:对所述变换系数进行量化以生成量化的变换系数;自适应熵编码器逻辑电路,其被配置为:使所量化的变换系数、所述变形特性参数、所述合成特性参数、所述运动数据、和与所述预测分区相关联的模式熵编码到比特流中。24.  如权利要求18所述的视频编码器,所述图形处理单元还包括:区分确定器,其被配置为:确定所述预测的分区数据和与所述预测分区相关联的原始像素数据的差异以生成预测误差数据分区;编码分区逻辑电路,其被配置为:划分所述预测误差数据分区以生成多个编码分区;自适应变换逻辑电路,其被配置为:在所述多个编码分区上执行正向变换以生成与所述多个编码分区相关联的变换系数;自适应量化逻辑电路,其被配置为:对所述变换系数进行量化以生成量化的变换系数;自适应熵编码器逻辑电路,其被配置为:使所述量化的变换系数、所述变形特性参数、所述合成特性参数、所述运动数据、和与所述预测分区相关联的模式熵编码到比特流中;以及发送所述比特流;其中,所述运动估计器逻辑电路还被配置为:至少部分地基于所述第一解码的预测参考图片、所述第二解码的预测参考图片、或第三解码的预测参考图片来生成与所述当前图片的第二预测分区相关联的第二运动数据;进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十个预测参考图片来生成与所述当前图片的第三预测分区相关联的第三运动数据,其中,所述当前图片包括P-图片;以及进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十一个预测参考图片来生成与所述当前图片的第四预测分区相关联的第四运动数据,其中,所述当前图片包括F-图片/B-图片,其中,所述变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,其中,所述合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个,以及其中,所述第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。25.  一种解码器系统,包括:视频解码器,被配置为对编码的比特流进行解码,其中,所述视频解码器被配置为:对所述编码的比特流进行解码以确定第一修改的图片特性参数、第二修改的图片特性参数、和与预测分区相关联的运动数据;生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于所述第一解码的预测参考图片和所述第一修改的图片特性参数来生成第一修改的预测参考图片的至少一部分;至少部分地基于所述第二解码的预测参考图片和所述第二修改的图片特性参数来生成第二修改的预测参考图片的至少一部分,其中,所述第二修改的参考图片具有与所述第一修改的参考图片不同的类型;至少部分地基于所述第一修改的预测参考图片的部分或所述第二修改的预测参考图片的部分中的至少一个和所述运动数据和来执行运动补偿以生成与所述预测分区相关联的解码的预测的分区数据;将所述解码的预测分区数据加到解码的预测分区误差数据以生成第一重建的预测分区;以及装配所述第一重建的预测分区和第二重建的预测分区以生成瓦片或超分片中的至少一个。26.  如权利要求25所述的解码器系统,还包括:天线,其被通信地耦合到所述天线并且被配置为接收视频数据的所述编码的比特流;以及显示设备,其被配置为呈现视频帧。27.  如权利要求25所述的解码器系统,其中,所述第一修改的预测参考图片包括变形的预测参考图片,而所述第二修改的预测参考图片包括合成的预测参考图片。28.  如权利要求25所述的解码器系统,其中,所述第一修改的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,而所述第二修改的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个。29.  如权利要求25所述的解码器系统,其中,所述第一解码的预测参 考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。30.  如权利要求25所述的解码器系统,还包括:天线,其被通信地耦合到所述天线并且被配置为接收视频数据的所述编码的比特流;以及显示设备,其被配置为呈现视频帧,其中,所述视频解码器还被配置为:对所述编码的比特流进行解码以确定与所述预测分区的预测误差数据相关联的量化的变换系数和与所述预测分区相关联的模式;至少部分地基于所述量化的变换系数来执行反向量化以生成解码的变换系数;至少部分地基于所述解码的变换系数来执行反向变换以生成多个解码的编码分区;装配所述多个解码的编码分区以生成与所述预测分区相关联的预测分区误差数据;将解块滤波或质量恢复滤波中的至少一个应用于所述瓦片或第一超分片以生成第一最终解码的瓦片或超分片;装配所述第一最终解码的瓦片或超分片和第二最终解码的瓦片或超分片以生成解码的视频帧;发送所述解码的视频帧以用于经由显示设备来呈现,其中,所述第一修改的预测参考图片包括变形的预测参考图片、合成的预测参考图片、增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、超分辨率预测参考图片、或投影轨迹预测参考图片中的至少一个,其中,所述第一修改的预测参考图片包括变形的预测参考图片,而所述第二修改的预测参考图片包括合成的预测参考图片,其中,所述变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,其中,所述合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个,其中,所述第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个,以及其中,所述运动数据包括运动矢量。31.  至少一个机器可读介质,包括:多个指令,所述指令响应于在计算设备上被执行,使所述计算设备执行根据权利要求1-11中的任一项所述的方法。32.  一种装置,包括:用于执行根据权利要求1-11中的任一项所述的方法的模块。

说明书

说明书下一代视频的内容自适应、特性补偿预测
相关申请
本申请要求2012年11月13日提交的并且标题为“CONTENT ADAPTIVE VIDEO CODER”的美国临时申请NO.61/725,576以及2013年1月30日提交的并且标题为“NEXT GENERATION VIDEO CODING”的美国临时申请NO.61/758,314的优先权。
背景技术
视频编码器压缩视频信息,使得更多的信息可以在给定的带宽上被发送。压缩的信号可以然后被发送到具有解码器的接收机,所述解码器在显示之前对信号解码或解压缩。
高效视频编码(HEVC)是最近的视频压缩标准,其是由ISO/IEC运动图片专家组(MPEG)和ITU-T视频编码专家组(VCEG)组成的视频编码联合组(JCT-VC)开发的。HEVC响应于以前的H.264/AVC(高级视频编码)标准不提供足够的压缩的而进行开发,以用于发展较高分辨率视频应用。类似于以前的视频编码标准,HEVC包括基本功能模块,例如,帧内/帧间预测、变换、量化、循环滤波和熵编码。
正在发展的HEVC标准可以试图改进对H.264/AVC标准的限制,例如,对被允许的预测分区和编码分区的有限选择、有限的被允许的多个参考和预测生成、有限的变换块尺寸和实际变换、用于减少编码伪像的有限机制和低效熵编码技术。然而,正在发展的HEVC标准可以使用迭代方法来解决这样的问题。
例如,在要被压缩的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,H.264)或甚至发展的标准(例如,H.265/HEVC)进行编码所需的相对的应比特率/带宽是相对高的。前面提到的标准使用传统方法的扩展形式来隐含地处理不足的压缩/质量问题,但结果常常是有限的。
在下一代视频(NGV)编码译码器计划的上下文内发展的本公开处理设计使可实现的压缩效率最大化同时保持对设备上的实现足够实用的高级视频编码译码器的一般问题。例如,在由于良好的显示器的可用性而引起的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,早些时候的MPEG标准)和甚至更近的H.264/AVC标准所需的相对应的比特率/带宽是相对高的。H.264/AVC不被理解为提供用于发展较高分辨率视频应用的足够高的压缩。
附图说明
本文描述的材料作为示例而不是作为限制在附图中示出。为了举例说明的简单和清楚,在附图中所示的元件不一定按比例绘制。例如,为了清楚,一些元件的尺寸可以相对于其它元件被放大。此外,在被认为适当的场合,参考标记在附图当中重复以指示相对应的或类似的元件。在附图中:
图1是示例下一代视频编码器的示意图;
图2是示例下一代视频解码器的示意图;
图3(a)是示例下一代视频编码器子系统的示意图;
图3(b)是示例下一代视频解码器子系统的示意图;
图4是修改的预测参考图片的示意图;
图5是示例编码器子系统的示意图;
图6是示例编码器子系统的示意图;
图7是示例编码器子系统的示意图;
图8是示例解码器子系统的示意图;
图9是示出了示例视频编码过程的流程图;
图10示出了示例比特流;
图11是示出了示例视频解码过程的流程图;
图12(A)和图12(B)提供了在操作中的示例视频编码系统和视频编码过程的示意图;
图13(A)、图13(B)和图13(C)提供了在操作中的示例视频编码系统和视频编码过程的示意图;
图14是示例视频编码系统的示意图;
图15是示例系统的示意图;
图16示出了所有都根据本公开的至少一些实现来布置的示例设备。
具体实施方式
现在参考所包含的附图来描述一个或多个实施例或实现。虽然讨论了特定的配置和布置,但是应理解,这仅出于例证性目的而被完成。相关领域中的技术人员将认识到,可以使用其它配置和布置而不偏离描述的精神和范围。对相关领域中的技术人员显而易见的是,还可以在除了本文描述的内容以外的各种其它系统和应用中使用本文描述的技术和/或布置。
虽然下面的描述阐述了可以在诸如芯片上系统(SoC)架构之类的架构中出现的各种实现,本文描述的技术和/或布置的实现并不限于特定的架构和/或计算系统,并且可以出于类似的目的由任何架构和/或计算系统实现。例如,使用例如多个集成电路(IC)芯片和/或封装、和/或各种计算设备和/或消费电子(CE)设备(例如,机顶盒、智能电话等)的各种架构可以实现本文描述的技术和/或布置。此外,虽然下面的描述可以阐述很多特定的细节,例如,逻辑实现、系统部件的类型和相互关系、逻辑划分/集成选择等,所主张的主题可以在没有这样的特定细节的情况下被实施。在其它实例中,一些材料(例如,控制结构和完整的软件指令序列)可以不详细示出,以便不使本文公开的材料难理解。
本文公开的材料可以在硬件、固件、软件或其任何组合中实现。本文公开的材料也可以被实现为存储在机器可读介质上的指令,所述指令可以由一个或多个处理器读取和执行。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或发送信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等);及其它。
在说明书中对“一个实现”、“实现”、“示例实现”等的提及指示所述实现可以包括特定的特征、结构、或特性,但每个实施例可能不一定必须包括所述特定的特征、结构或特性。而且,这样的短语并不一定指同一实现。此外,当结合实施例来描述特定的特征、结构或特性时,提出的是, 无论是否在本文被明确地描述,结合其它实现来实施这样的特征、结构、或特性是在本领域中的技术人员的知识范围内的。
下面描述关于帧间预测补偿的系统、装置、制品、以及方法。
如上面讨论的,H.264/VAC标准可以具有各种限制和在进行中改进标准的试图,例如,HEVC标准可以使用迭代的方法来处理这样的限制。例如,在要被压缩的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,H.264)或甚至发展的标准(例如,H.265/HEVC)进行编码所需的相对应的比特率/带宽是相对高的。前述标准可以使用传统方法的扩展形式来隐含地处理不足的压缩/质量问题,但常常结果是有限的。例如,传统帧间编码一般包括由标准使用的运动补偿预测。因此,这样的不足的压缩/质量问题一般通过只使用在视频的帧间编码中的局部运动补偿预测来隐含地处理。
此外,当前尝试一些特定的方法。这样的尝试一般可以使用多个过去或多个过去和未来的帧。多个过去或多个过去和未来的帧的这样的用途一般被利用,希望在过去或未来的帧中,与在过去的帧(对于P图片/切片)中或在过去和未来的帧(对于B图片/切片)中相比,可能存在与正被预测的当前帧的区域更类似的区域。
然而,因为很多这样的不足压缩/质量问题不仅是由于运动而且也由于其它特征所引起的,所以仅仅运动补偿预测不能使用来自以前的参考帧(在P图片/切片的情况下)及在B图片/切片的情况下的前面和后面的参考帧的预测来完全解决这样的不足压缩/质量问题。因此,下面描述下一代视频(NGV)系统、装置、制品和方法。NGV视频编码可以在视频编码过程中合并基于适应性的重要内容来实现较高的压缩。在NGV编码译码器的上下文中发展的这样的实现处理如何改进预测信号的问题,这继而允许在视频编码中实现高压缩效率。
如在本文使用的,术语“编码器”可以指编码器和/或解码器。类似地,如在本文使用的,术语“编码”可以指经由编码器执行视频编码和/或经由解码器执行视频解码。例如,视频编码器和视频解码器二者都可以是能够对视频数据编码的编码器的示例。此外,如在本文使用的,术语“编码译码器”可以指任何过程、程序或操作的集合,例如,可以实现编码器和/或 解码器的软件、固件和/或硬件的任何组合。此外,如在本文使用的,短语“视频数据”可以指与视频编码相关联的任何类型的数据,例如,视频帧、图像数据、编码的比特流数据等。
图1是根据本公开的至少一些实现布置的示例下一代视频编码器100的示意图。如所示出的,编码器100可以接收输入视频101。输入视频101可以包括用于对例如视频序列的输入帧编码的任何适当的输入视频。如所示出的,可以经由内容预分析器模块102来接收输入视频101。内容预分析器模块102可以被配置为执行对输入视频101的视频帧的内容的分析以确定用于提高视频编码效率和速度性能的各种类型的参数。例如,内容预分析器模块102可以确定水平和垂直梯度信息(例如,Rs、Cs)、方差、每图片空间复杂度、每图片时间复杂度、场景改变检测、运动范围估计、增益检测、预测距离估计、物体数量的估计、区边界检测、空间复杂度地图计算、焦距估计、胶片颗粒估计等。由内容预分析器模块102生成的参数可以由编码器100(例如,经由编码控制器103)使用和/或被量化和被传递到解码器。如所示出的,视频帧和/或其它数据可以从内容预分析器模块102被发送到自适应图片组织器模块104,其可以确定每一个视频帧的图片类型(例如,I-图片、P-图片或F-图片/B-图片)并且按需要记录视频帧。在一些示例中,自适应图片组织器模块104可以包括被配置为生成帧部分的帧部分发生器。在一些示例中,内容预分析器模块102和自适应图片组织器模块104可以共同被考虑为编码器100的预分析器子系统。
如所示出的,视频帧和/或其它数据可以从自适应图片组织器模块104被发送到预测分区发生器模块105。在一些示例中,预测分区发生器模块105可以将帧或图片分成瓦片(tile)或超片段(super-fragment)等。在一些示例中,可以提供用于将帧或图片分成瓦片或超分片的附加的模块(例如,在模块104和105之间)。预测分区发生器模块105可以将每一个瓦片或超分片分成潜在的预测分块(partitioning)或分区。在一些示例中,可以使用划分技术(例如k-d树划分技术、二分树划分技术等)来确定潜在的预测分块,其可以至少部分地基于单独视频帧的图片类型(例如I-图片、P-图片或F-图片/B-图片)、被划分的帧部分的特征等来确定。在一些示例中,所确定的潜在预测分块可以是用于预测(例如,帧间或帧内预测)的 分区,并且可以被描述为预测分区或预测块等。
在一些示例中,可以利用潜在的预测分块来确定选定的预测分块(例如,预测分区)。例如,选定的预测分块可以至少部分地基于对于每一个潜在的预测分块,使用基于特征和运动的多参考预测或帧内预测的预测来确定,并且确定预测参数。对于每一个潜在的预测分块,可以通过确定原始像素与预测像素的差异来确定潜在的预测误差,并且选定的预测分块可以是具有最小预测误差的潜在的预测分块。在其它示例中,可以至少部分地基于包括至少部分地基于用于对分块编码的比特的数量的加权分数的率失真优化和与预测分块相关联的预测误差来确定选定的预测分块。
如所示出的,可以在区分确定器106处来确定选定的预测分块(例如当前帧的预测分区)的原始像素与预测分区的差异(例如,至少部分地基于一个或多个参考帧的当前帧的预测分区的预测和其它预测数据,例如,帧间或帧内预测数据)。预测分区的确定将在下面被进一步描述并且可以包括如图1所示的解码循环。来自区分的任何残差或残余数据(例如,分区预测误差数据)可以被发送到编码分区发生器模块107。在一些示例中,例如,对于在任何图片类型(I-图片、F-图片/B-图片或P-图片)中的预测分区的帧内预测,编码分区发生器模块107可以经由开关107a和107b被绕过。在这样的示例中,可以只执行单个水平的划分。这样的划分可以被描述为预测划分(如所讨论的)或编码划分或这两者。在各种示例中,可以经由预测分区发生器模块105(如所讨论的)来执行这样的划分,或如在本文进一步讨论的,可以经由k-d树帧内预测/编码划分器模块或经由编码分区发生器模块107实现的二分树帧内预测/编码划分器模块来执行这样的划分。
在一些示例中,分区预测误差数据,如果有的话,可能不足够重要来保证编码。在其它示例中,其中对分区预测误差数据编码可能是合乎需要的,并且分区预测误差数据与帧间预测等相关联,编码分区发生器模块107可以确定预测分区的编码分区。在一些示例中,可以不需要编码分区发生器模块107,因为分区可以被编码而不进行编码划分(例如,如经由通过开关107a和107b可用的旁路路径所示的)。在进行或不进行编码划分的情况下,分区预测误差数据(其可以随后在任一事件中被描述为编码分区)可 以在残差或残余数据需要编码的情况下被发送到自适应变换模块108。在一些示例中,预测分区发生器模块105和编码分区发生器模块107可以共同被考虑为编码器100的划分器子系统。在各种示例中,编码分区发生器模块107可以对分区预测误差数据、原始像素数据、残余数据或小波数据进行操作。
编码分区发生器模块107可以使用二分树和/或k-d树划分技术等来生成例如分区预测误差数据的潜在的编码分块(例如,编码分区)。在一些示例中,可以使用具有各种块尺寸的自适应变换或固定的变换经由自适应变换模块108来变换潜在的编码分区,并且可以至少部分地基于率失真优化或其它基础来确定选定的编码分块和选定的变换(例如,自适应或固定的)。在一些示例中,可以至少部分地基于至少部分地基于编码分区尺寸等的预定的选择方法来确定选定的编码分块和/或选定的变换。
例如,自适应变换模块108可以包括用于执行参数变换以允许小到中等尺寸块的局部最佳变换编码的第一部分或部件,以及用于使用来自包括参数变换的各种变换的固定变换(例如,离散余弦变换(DCT)或基于图片的变换)或如在本文进一步讨论的任何其它配置来执行全局稳定的、低开销变换编码的第二部分或部件。在一些示例中,对于局部最佳变换编码,可以执行参数Haar变换(PHT),如在本文进一步讨论的。在一些示例中,可以在大约4x4像素和64x64像素之间的矩形尺寸的2D块上执行变换,实际尺寸取决于多个因素,例如,所变换的数据是亮度还是色度,或帧间还是帧内、或所使用的确定的变换是PHT还是DCT等。
如所示出的,结果的变换系数可以被发送到自适应量化模块109。自适应量化模块109可以量化结果的变换系数。此外,与参数变换相关联的任何数据按需要可以被发送到自适应量化模块109(如果量化被需要)或自适应熵编码器模块110。同样如在图1中示出的,量化系数可以被扫描并且被发送到自适应熵编码器模块110。自适应熵编码器模块110可以对量化系数进行熵编码,并且在输出比特流111中包括所述量化系数。在一些示例中,自适应变换模块108和自适应量化模块109可以共同被考虑为编码器100的变换编码器子系统。
同样如在图1中示出的,编码器100包括局部解码循环。局部解码循 环可以在自适应反向量化模块112处开始。自适应反向量化模块112可以被配置为执行自适应量化模块109的相反操作,使得反向扫描可以被执行并且量化系数可以被解缩放以确定变换系数。例如这样的自适应量化操作可以是有损的。如所示出的,变换系数可以被发送到自适应反向变换模块113。例如自适应反向变换模块113可以执行如由自适应变换模块108所执行的反向变换,以生成残差或残余值或与编码分区相关联的分区预测误差数据(或原始数据或小波数据,如所讨论的)。在一些示例中,自适应反向量化模块112和自适应反向变换模块113可以共同被考虑为解码器100的变换解码器子系统。
如所示出的,分区预测误差数据(或类似数据)可以被发送到可选的编码分区装配器114。编码分区装配器114可以按需要将编码分区装配到解码的预测分区中(如所示出的,在一些示例中,编码分区装配器114可以经由开关114a和114b被跳过,使得解码的预测分区可以在自适应反向变换模块113处生成)以生成预测误差数据的预测分区或解码的残余预测分区等。
如所示出的,解码的残余预测分区可以在加法器115处被加到预测分区(例如,预测像素数据)以生成重建的预测分区。所述重建的预测分区可以被发送到预测分区装配器116。预测分区装配器116可以装配重建的预测分区以生成重建的瓦片或超分片。在一些示例中,编码分区装配器模块114和预测分区装配器模块116可以共同被考虑为编码器100的解划分器子系统。
重建的瓦片或超分片可以被发送到块效应分析器和解块滤波模块117。块效应分析器和解块滤波模块117可以使重建的瓦片或超分片(或瓦片或超分片的预测部分)解块和抖动。所生成的解块和抖动滤波器参数可以用于当前的滤波器操作和/或在比特流111中被编码以由例如解码器使用。块效应分析器和解块滤波模块117的输出可以被发送到质量分析器和质量恢复滤波模块118。质量分析器和质量恢复滤波模块118可以确定QR滤波参数(例如,对于QR分解)并且使用所确定的参数以用于滤波。QR滤波参数也可以被编码在比特流111中以由解码器使用。如所示出的,质量分析器和质量恢复滤波模块118的输出可以被发送到解码的图片缓冲器119。在 一些示例中,质量分析器和质量恢复滤波模块118的输出可以是可以用于对其它帧进行的编码的预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。在一些示例中,块效应分析器和解块滤波模块117以及质量分析器和质量恢复滤波模块118可以共同被考虑为编码器100的滤波子系统。
在编码器100中,预测操作可以包括帧间和/或帧内预测。如图1所示,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块120、合成分析器和生成模块121、以及特性和运动滤波预测器模块123。变形分析器和生成模块120可以分析当前图片以确定相对于当前图片被编码所使用的一个或多个参考帧的增益中的变化、主要运动中的变化、配准中的变化和模糊中的变化的参数。所确定的变形参数可以被量化/去量化并且被使用(例如,通过变形分析器和生成模块120)以生成变形的参考帧,所述变形的参考帧可以由运动估计器模块122使用以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。合成分析器和生成模块121可以生成超分辨率(SR)图片和投影插补(PI)图片等,以用于确定在这些帧中的有效运动补偿预测的运动矢量。
运动估计器模块122可以至少部分地基于变形参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来生成运动矢量数据。在一些示例中,运动估计器模块122可以被考虑为帧间预测模块。例如,运动矢量数据可以用于帧间预测。如果帧间预测被应用,则特性和运动滤波预测器模块123可以应用运动补偿作为如所讨论的局部解码循环的部分。
帧内预测可以由帧内定向预测分析器和预测生成模块124执行。帧内定向预测分析器和预测生成模块124可以被配置为执行空间定向预测并且可以使用解码的相邻分区。在一些示例中,方向的确定和预测的生成二者都可以由帧内定向预测分析器和预测生成模块124执行。在一些示例中,帧内定向预测分析器和预测生成模块124可以被考虑为帧内预测模块。
如图1所示,预测模式和参考类型分析器模块125可以允许从“跳过”、“自动”、“帧间”、“分离”、“多重”和“帧内”当中,针对瓦片(或超分片)的每一个预测分区选择预测模式,其中所有预测模式都可以适用于P-图片和F-图片/B-图片。除了预测模式以外,也允许取决于“帧间”或“多重”模式以及针对P-图片和F-图片/B-图片来选择可以不同的参考帧。在预 测模式和参考类型分析器模块125的输出处的预测信号可以由预测分析器和预测融合滤波模块126滤波。预测分析器和预测融合滤波模块126可以确定参数(例如,滤波系数、频率、开销)以用于滤波,并且可以执行滤波。在一些示例中,滤波预测信号可以融合表示不同模式(例如,帧内、帧间、多重、分离、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其它类型的帧间预测信号不同,使得正确的滤波可以极大地增强编码效率。在一些示例中,滤波参数可以在比特流111中被编码以由解码器使用。滤波的预测信号可以向区分确定器106提供第二输入(例如,预测分区),如上面所讨论的,区分确定器106可以确定预测差异信号(例如,分区预测误差)以用于编码,正如早些时候讨论的。此外,相同的经滤波的预测信号可以向加法器115提供第二输入,也如上面讨论的。如所讨论的,输出比特流111可以提供有效地编码的比特流以由解码器使用,用于视频的呈现。
在操作中,编码器100的一些部件可以作为编码器预测子系统操作。例如,编码器100的这样的编码器预测子系统可以包括解码的图片缓冲器119、变形分析器和生成模块120、合成分析器和生成模块121、运动估计器模块122、和/或特性和运动补偿精度自适应滤波预测器模块123。
如下面更详细讨论的,在一些实现中,编码器100的这样的编码器预测子系统可以在有效的视频编码算法中合并多个部件和由这些部件生成的组合预测。例如,NGV编码器的所提出的实现可以包括下列特征中的一个或多个:1.增益补偿(例如,在场景中的增益/亮度中的变化的显式补偿);2.模糊补偿:例如,在场景中的模糊/清晰度中的变化的显式补偿;3.主要/全局运动补偿(例如,在场景中的主要运动的显式补偿);4.配准补偿(例如,在场景中的配准失配的显式补偿);5.超分辨率(例如,在场景中的分辨率精度中的变化的显式模型);6.投影(例如,在场景中的运动轨迹的变化的显式模型);类似物、和/或其组合。
例如,在编码器100的这样的编码器预测子系统中,质量分析器和质量恢复滤波的输出可以被发送到解码的图片缓冲器119。在一些示例中,质量分析器和质量恢复滤波的输出可以是可用于对其它帧的编码进行预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。在编码器100中, 预测操作可以包括帧间和/或帧内预测。如所示出的,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块120、合成分析器和生成模块121、和/或特性和运动补偿精度自适应滤波预测器模块123。
如下面更详细描述的,变形分析器和生成模块120可以分析当前图片以确定相对于当前图片被编码所使用的一个或多个参考帧的增益中的变化、主要运动中的变化、配准中的变化和模糊中的变化的参数。所确定的变形参数可以被量化/去量化,并且被用于(例如,通过变形分析器和生成模块120)来生成变形参考帧。这样生成的变形参考帧可以被存储在缓冲器中,并且可以由运动估计器模块122使用,以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
类似地,合成分析器和生成模块121可以生成超分辨率(SR)图片和投影插补(PI)图片等,以用于确定在这些帧中的有效运动补偿预测的运动矢量。这样生成的合成参考帧可以被存储在缓冲器中,并且可以由运动估计器模块122使用,以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
相应地,在编码器100的这样的编码器预测子系统中,运动估计器模块122可以至少部分地基于变形参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来生成运动矢量数据。在一些示例中,运动估计器模块122可以被考虑为帧间预测模块。例如,运动矢量数据可以用于帧间预测。如果帧间预测被应用,则特征和运动滤波预测器模块123可以应用运动补偿作为如所讨论的局部解码循环的部分。
在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现除了关于解码的过去和/或未来图片/切片的通常的局部运动补偿以外还可以使用上述部件中的一个或多个。因此,所述实现并不委托例如对增益补偿或对任何其它特性补偿参考帧生成的特定解决方案。
图2是根据本公开的至少一些实现而布置的示例下一代视频解码器200的示意图。如所示出的,编码器200可以接收输入比特流201。在一些示例中,输入比特流201可以经由编码器100和/或经由本文讨论的编码技术来被编码。如所示出的,输入比特流201可以由自适应熵解码器模块202 接收。自适应熵解码器模块202可以对各种类型的编码数据(例如,开销、运动矢量、变换系数等)进行解码。在一些示例中,自适应熵解码器202可以使用可变长度解码技术。在一些示例中,自适应熵解码器202可以执行上面讨论的自适应熵编码器模块110的反向操作。
解码数据可以被发送到自适应反向量化模块203。自适应反向量化模块203可以被配置为反向扫描和解缩放量化系数以确定变换系数。例如,这样的自适应量化操作可以是有损的。在一些示例中,自适应反向量化模块203可以被配置为执行自适应量化模块109的相反操作(例如,实质上与自适应反向量化模块112相同的操作)。如所示出的,变换系数(和在一些示例中,在参数变换中使用的变换数据)可以被发送到自适应反向变换模块204。自适应反向变换模块204可以对变换系数执行反向变换以生成残差或残余值或与编码分区相关联的分区预测误差数据(或原始数据或小波数据)。
在一些示例中,自适应反向变换模块204可以被配置为执行自适应变换模块108的相反操作(例如,实质上与自适应反向变换模块113相同的操作)。在一些示例中,自适应反向变换模块204可以至少部分地基于其它以前解码的数据(例如,解码的相邻分区)来执行反向变换。在一些示例中,自适应反向量化模块203和自适应反向变换模块204可以共同被考虑为解码器200的变换解码器子系统。
如所示出的,残差或残余值或分区预测误差数据可以被发送到编码分区装配器205。编码分区装配器205可以按需要将编码分区装配到解码的预测分区中(如所示出的,在一些示例中,编码分区装配器205可以经由开关205a和205b被跳过,使得解码的预测分区可以在自适应反向变换模块204处被生成)。预测误差数据(例如,预测分区残差)的解码的预测分区可以在加法器206处被加到预测分区(例如,预测像素数据)以生成重建的预测分区。重建的预测分区可以被发送到预测分区装配器207。预测分区装配器207可以装配重建的预测分区以生成重建的瓦片或超分片。在一些示例中,编码分区装配器模块205和预测分区装配器模块207可以共同被考虑为解码器200的解划分器子系统。
重建的瓦片或超分片可以被发送到解块滤波模块208。解块滤波模块 208可以使重建的瓦片或超分片(或瓦片或超分片的预测部分)解块和抖动。所生成的解块和抖动滤波器参数可以根据例如输入比特流201确定。解块滤波模块208的输出可以被发送到质量恢复滤波模块209。质量恢复滤波模块209可以至少部分地基于例如可以根据输入比特流201确定的QR参数来应用质量滤波。如图2所示,质量恢复滤波模块209的输出可以被发送到解码的图片缓冲器210。在一些示例中,质量恢复滤波模块209的输出可以是可以用于对其它帧进行编码的预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。在一些示例中,解块滤波模块208和质量恢复滤波模块209可以共同被考虑为解码器200的滤波子系统。
如所讨论的,由于预测操作而引起的补偿可以包括帧间和/或帧内预测补偿。如所示出的,帧间补偿可以由一个或多个模块执行,所述一个或多个模块包括变形生成模块211、合成生成模块212、及特性和运动补偿滤波预测器模块213。变形生成模块211可以使用去量化的变形参数(例如,根据输入比特流201确定)来生成变形参考帧。合成生成模块212可以至少部分地基于根据输入比特流201确定的参数来生成超分辨率(SR)图片和投影插补(PI)图片等。如果帧间预测被应用,则特性和运动补偿滤波预测器模块213可以至少部分地基于在输入比特流201中的所接收的帧和运动矢量数据等来应用运动补偿。
帧内预测补偿可以由帧内定向预测生成模块214执行。帧内定向预测生成模块214可以被配置为执行空间定向预测,并且可以根据输入比特流201中的帧内预测数据来使用解码的相邻分区。
如图2所示,预测模式选择器模块215可以至少部分地基于输入比特流201中的模式选择数据,针对瓦片的每一个预测分区来从“跳过”、“自动”、“帧间”、“多重”和“帧内”当中确定预测模式,其中所有预测模式可以应用于P-图片和F-图片/B-图片。除了预测模式以外,也允许取决于“帧间”或“多重”模式以及针对P-图片和F-图片/B-图片选择可以不同的参考类型。在预测模式选择器模块215的输出处的预测信号可以由预测融合滤波模块216滤波。预测融合滤波模块216可以至少部分地基于经由输入比特流201确定的参数(例如,滤波系数、频率、开销)来执行滤波。在一些示例中,滤波预测信号可以融合表示不同模式(例如,帧内、帧间、多 重、跳过和自动)的不同类型的信号。在一些示例中,帧内预测信号可以与所有其它类型的帧间预测信号不同,使得正确的滤波可以极大地增强编码效率。经滤波的预测信号可以向区分确定器206提供第二输入(例如,预测分区),如上面讨论的。
如所讨论的,质量恢复滤波模块209的输出可以是最终重建的帧。最终重建的帧可以被发送到自适应图片再组织器217,其可以至少部分地基于输入比特流201中的排序参数按需要对帧再排序或再组织。再排序的帧可以被发送到内容后恢复器模块218。内容后恢复器模块218可以是被配置为执行对解码视频的感知质量的进一步改进的可选的模块。改进处理可以响应于输入比特流201中的质量改进参数来被执行,或它可以作为独立操作被执行。在一些示例中,内容后恢复器模块218可以应用参数以提高质量,例如,胶片颗粒噪声的估计或残余块减小(例如,甚至在关于解块滤波模块208讨论的解块操作之后)。如所示出的,解码器200可以提供显示视频219,其可以被配置用于经由显示设备(未示出)来显示。
在操作中,解码器200的一些部件可以作为解码器预测子系统来操作。例如,解码器200的这样的解码器预测子系统可以包括解码的图片缓冲器210、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
如下面更详细讨论的,在一些实现中,解码器200的这样的解码器预测子系统可以在有效的视频编码算法中合并多个部件和由这些部件生成的组合预测。例如,NGV编码器的所提出的实现可以包括下列特征中的一个或多个:1.增益补偿(例如,在场景中的增益/亮度中的变化的显式补偿);2.模糊补偿:例如,在场景中的模糊/清晰度中的变化的显式补偿;3.主要/全局运动补偿(例如,在场景中的主要运动的显式补偿);4.配准补偿(例如,在场景中的配准失配的显式补偿);5.超分辨率(例如,在场景中的分辨率预测中的变化的显式模型);6.投影(例如,在场景中的运动轨迹的变化的显式模型);类似物、和/或其组合。
例如,在解码器200的这样的解码器预测子系统中,质量恢复滤波模块的输出可以被发送到解码的图片缓冲器210。在一些示例中,质量恢复滤波模块的输出可以是可以用于对其它帧进行编码的预测的最终重建的帧, (例如,最终重建的帧可以是参考帧等)。如所讨论的,由于预测操作而引起的补偿可以包括帧间和/或帧内预测补偿。如所示出的,帧间补偿可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
如下面更详细描述的,变形分析器和生成模块211可以使用去量化的变形参数(例如,根据输入比特流确定的)来生成变形的参考帧。这样生成的变形的参考帧可以被存储在缓冲器中,并且可以由特性和运动补偿精度自适应滤波预测器模块213使用。
类似地,合成分析器和生成模块212可以被配置为至少部分地基于根据输入比特流201确定的参数来生成一种或多种类型的合成预测参考图片例如,超分辨率(SR)图片和投影插补(PI)图片等。这样生成的合成参考帧可以存储在缓冲器中,并且可以由运动补偿滤波预测器模块213使用。
因此,在解码器200的这样的解码器预测子系统中,在帧间预测被应用的情况下,特性和运动补偿滤波预测器模块213可以至少部分地基于变形的参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来应用运动补偿。
在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现除了关于解码的过去和/或未来、图片/切片的通常的局部运动补偿以外还可以使用上述部件中的一个或多个。因此,实现并不委托例如对增益补偿或对任何其它特性补偿的参考帧生成的特定解决方案。
虽然图1和2示出了特定的编码和解码模块,但是还可以根据本公开利用未描绘的各种其它编码模块或部件。此外,本公开不限于图1和2所示的特定部件和/或各种部件被布置的方式。可以在软件、固件和/或硬件和/或其任何组合中实现本文描述的系统的各种部件。例如,编码器100和/或解码器200的各种部件可以至少部分地由例如可以在计算系统(例如,移动电话)中的计算片上系统(SoC)的硬件提供。
此外,可以认识到,编码器100可以与包括例如视频内容服务器系统的内容提供者系统相关联和/或由所述内容提供者系统提供,以及输出比特流111可以由未在图1和2中描绘的各种通信部件和/或系统(例如,收发 机、天线、网络系统等发送或输送到解码器,例如,解码器200。也可以认识到,解码器200可以与客户端系统例如计算设备(例如,桌上型计算机、膝上型计算机、平板计算机、可改装的膝上型计算机、移动电话等)相关联,客户端系统远离编码器100并且经由未在图1和2中描绘的各种通信部件和/或系统(例如,收发机、天线、网络系统等)接收输入比特流201。因此,在各种实现中,编码器100和解码器子系统200可以共同或彼此独立地被实现。
图3(a)是根据本公开的至少一些实现布置的与下一代视频编码器100相关联的示例子系统的示意图。如所示出的,编码器100可以包括预分析器子系统310、划分器子系统320、预测编码器子系统330、变换编码器子系统340、熵编码器子系统360、变换解码器子系统370、解划分器子系统380、和/或滤波编码子系统350。
虽然子系统310到380被示出为与图3(a)中的编码器100的特定示例功能模块相关联,但是本文的编码器100的其它实现可以包括在子系统310到380当中的编码器100的功能模块的不同分布。本公开并不被限制在这个方面中,并且在各种示例中,本文的示例子系统310到380的实现可以包括实施所示的编码器100的特定示例功能模块的仅仅子集、附加的功能模块、和/或在除了所示出的以外的不同布置中。
图3(b)是根据本公开的至少一些实现布置的与下一代视频解码器200相关联的示例子系统的示意图。如所示出的,解码器200可以包括熵解码器子系统362、变换解码器子系统372、解划分器子系统382、滤波解码器子系统352、预测解码器子系统332、和/或后恢复器子系统392。
虽然子系统322到392被示出为与图3(b)中的解码器200的特定示例功能模块相关联,但是本文的编码器100的其它实现可以包括在子系统322到392当中的解码器200的功能模块的不同分布。本公开并不被限制在这个方面中,并且在各种示例中,本文的示例子系统322到392的实现可以包括实施所示的解码器200的特定示例功能模块的仅仅子集、附加的功能模块、和/或在除了所示出的以外的不同布置中。
图4是根据本公开的至少一些实现布置的修改的预测参考图片400的示意图。如所示出的,质量分析器和质量恢复滤波的输出可以是可以用于 对其它帧进行编码的预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。
NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以使用变形的预测参考428到438(MR0到3)和/或合成预测参考412和440到446(S0到S3、MR4到7)的组合来实现P图片编码。NGV编码涉及被称为I-图片、P-图片和F-图片/B-图片的3种图片类型的使用。在所示的示例中,在时刻t=4处示出待编码的当前图片(P-图片)。在编码期间,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以使用4个以前解码的参考R0412、R1414、R2416、和R3418中的一个或多个。与可以简单地使用直接用于预测的这些参考的其它解决方案不同,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以根据这样的以前解码的参考来生成修改的(变形的或合成的)参考并且然后至少部分地基于这样生成的修改的(变形的或合成的)参考来使用运动补偿编码。
如下面更详细讨论的,在一些示例中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以在有效视频编码算法中合并多个部件和由这些部件生成的组合的预测。例如,NGV编码器的所提出的实现可以包括下列特征中的一个或多个:1.增益补偿(例如,在场景中的增益/亮度中的变化的显式补偿);2.模糊补偿:例如,在场景中的模糊/清晰度中的变化的显式补偿;3.主要/全局运动补偿(例如,在场景中的主要运动的显式补偿);4.配准补偿(例如,在场景中的配准失配的显式补偿);5.超分辨率(例如,在场景中的分辨率预测中的变化的显式模型);6.投影(例如,在场景中的运动轨迹的变化的显式模型);类似物、和/或其组合。
在所示出的示例中,如果帧间预测被应用,则特性和运动滤波预测器模块可以将运动补偿应用于当前图片410(例如,在图中被标记为P-pic(curr))作为局部解码循环的部分。在一些实例中,这样的运动补偿可以至少部分地基于未来帧(未示出)和/或前面的帧R0412(例如,在图中被标记为R0)、前面的帧R1414(例如,在图中被标记为R1)、前面的帧R2416(例如,在图中被标记为R2)、和/或前面的帧R3418(例如,在图中被标记为R3)。
例如,在一些实现中,预测操作可以包括帧间和/或帧内预测。帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块和/或合成分析器和生成模块。这样的变形分析器和生成模块可以分析当前图片以确定相对于当前图片被编码所使用的一个或多个参考帧的模糊420中的变化(例如,在图中被标记为模糊参数))、增益422中的变化(例如,在图中被标记为增益参数)、配准424中的变化(例如,在图中被标记为配准参数))、和主要运动426中的变化(例如,在图中被标记为主要运动参数))的参数。
所确定的变形参数420、422、424和/或426可以用于生成变形的参考帧。这样生成的变形的参考帧可以被存储并且可以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。在所示出的示例中,所确定的变形参数420、422、424和/或426可以例如用于生成变形参考帧,例如,模糊补偿变形参考帧428(例如,在图中被标记为MR3b)、增益补偿变形参考帧430(例如,在图中被标记为MR2g)、增益补偿变形参考帧432(例如,在图中被标记为MR1g)、配准补偿变形参考帧434(例如,在图中被标记为MR1r)、主要运动补偿变形参考帧436(例如,在图中被标记为MR0d)、和/或配准补偿变形参考帧438(例如,在图中被标记为MR0r)等或其组合。
类似地,合成分析器和生成模块可以生成超分辨率(SR)图片440(例如,在图中被标记为S0(其等于前面的帧R0412)、S1、S2、S3)和投影插补(PI)图片442(例如,在图中被标记为PE)等,以用于确定在这些帧中的有效运动补偿预测的运动矢量。这样生成的合成参考帧可以被存储并且可以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
此外或可选地,所确定的变形参数420、422、424和/或426可以用于使所生成的合成参考帧超分辨率(SR)图片440和/或投影插补(PI)图片442变形。例如,合成分析器和生成模块可以根据所确定的配准变形参数424生成变形的配准补偿超分辨率(SR)图片444(例如,在图中被标记为MR4r、MR5r和MR6r)和/或变形的配准补偿投影插补(PI)图片446(例如,在图中被标记为MR7r)等。这样生成的变形和合成参考帧可以被存储并且可以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
在一些实现中,在一组特性(例如,增益、模糊、主要运动、配准、 分辨率精度、运动轨迹等或例如其组合)中的变化可以被明确地被计算。除了局部运动以外,还可以计算这样的一组特性。在一些情况中,可以在适当时利用前面和后面的图片/切片;然而,在其它情况下,这样的一组特征可以根据前面的图片/切片来完成更好的预测工作。此外,因为在任何估计过程中可能有错误,(例如,根据多个过去或多个过去和未来的图片/切片)可以选择与这组特性(例如,增益、模糊、主要运动、配准、分辨率经度、运动轨迹等或例如其组合)相关联的生成最佳估计的修改的参考帧。因此,利用与这组特性(例如,增益、模糊、主要运动、配准、分辨率精度、运动轨迹等或例如其组合)相关联的修改的参考帧的所提出的方法可以显式地补偿这些特性中的差异。所提出的实现可以处理如何改进预测信号的问题,其继而允许实现在视频编码中的高压缩效率。
例如,在待压缩的视频的不断增加的分辨率和对高视频质量的期望的情况下,使用现有的视频编码标准(例如,H.264)或甚至发展的标准(例如,H.265/HEVC)进行编码所需的相对应的比特率/带宽是相对高的。前面提到的标准使用传统方法的扩展形式来隐含地处理不足的压缩/质量问题,但结果常常是有限的。
所提出的实现通过改进帧间预测来改进视频压缩效率,这继而减小编码所需的帧间预测差异(误差信号)。待编码的帧间预测差异的量越小,编码所需的比特的数量就越少,这有效地提高压缩效率,因为它现在采用较少的比特来存储或发送编码的预测差异信号。不是只被限制到运动预测,所提出的NCV编码译码器可以高度适合于通过使用除了运动补偿以外或可替代运动补偿的方法来明确地补偿内容的特性中的变化,从而改变内容的特性(例如,增益、模糊、主要运动、配准、分辨率精度、运动轨迹等或例如其组合)。因此通过明确地处理问题的根本原因,NVG编码译码器可以处理基于标准的限制的编码译码器的关键源,从而实现更高的压缩效率。
由于所提出的NCV编码译码器针对视频内容中的变化的各种原因而补偿的能力,可以实现在帧间预测输出中的这个变化。由于很多局部和全局变化(在本文被称为特性),一般的视频场景从一个帧到另一帧改变。除了局部运动以外,还可以存在未充分由当前解决方案处理的、可以由所提 出的实现处理的很多其它特性。
所提出的实现除了局部运动以外,还可以明确地计算一组特征(例如,增益、模糊、主要运动、配准、分辨率精度、运动轨迹等或例如其组合)中的变化,并且因此可以与只使用根据前面和后面的图片/切片的局部运动预测相比根据前面的图片/切片完成更好的预测工作。此外,因为在任何估计过程中可能有错误,所述根据多个过去的或多个过去和未来的图片/切片中,NGV编码器可选择通过明确地补偿各种特征中的差异来生成最佳效果的帧。
特别是,NGV编码器的所提出的实现可以包括特征:i.在场景中的增益/亮度中的变化的显式补偿;ii.在场景中的模糊/清晰度中的变化的显式补偿;iii.在场景中的主要运动的显式补偿;iv.在场景中的配准失配的显式补偿;v.在场景中的分辨率精度中的变化的显式模型;和/或vi.在场景中的运动轨迹的变化的显式模型。
下面示出的表1和表2示出了码本条目的一个示例。完整的码本的条目可以提供所有可能的条目及其编码的完整或实质上完整的列表。在一些示例中,码本可以考虑如上所述的约束。在一些示例中,与预测模式和/或参考类型的码本条目相关联的数据可以被编码在比特流中,用于在解码器处使用,如本文讨论的。
表1 在P-图片中的示例预测参考
号码帧间预测模式的P图片的参考类型0.MR0r(=过去的SR0)1.MR1r2.MR2r3.MR2g4.MR4r(过去的SR1)5.MR5r(过去的SR2)6.MR6r(过去的SR3)7.MR0d8.MR1g9.MR3b
表2 在F-图片中的示例预测参考
号码帧间预测模式的F-图片的参考类型0.MR0r1.MR7r(投影插补)2.MR3r(=未来的SR0)3.MR1r4.MR4r(=未来的SR1)5.MR5r(=未来的SR2)6.MR6r(=未来的SR3)7.MR0d8.MR3d9.MR0g/MR3g10.MR3b
在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提出的实现可以工作,使得预测模式和/或参考类型数据可以使用符号运行编码或码本等来被定义。预测模式和/或参考类型数据可以在各种示例中使用内容自适应或离散变换来被变换编码以生成变换系数。也如所讨论的,与分区相关联的数据(例如,变换系数或量化的变换系数)、开销数据(例如,如在本文对变换类型、自适应变换方向和/或变换模式讨论的指示符)、和/或定义分区的数据等可以被编码(例如,经由熵编码器)到比特流中。比特流可以被传递到解码器,所述解码器可以使用编码的比特流来对视频帧进行解码以用于显示。在局部基础上(例如,在宏块或瓦片内的逐个块或在瓦片或预测单元内的逐个分区上、或在超分片或区内的分片),可以例如至少部分地基于率失真优化(RDO)或至少部分地基于对视频的预分析来选择最佳模式,并且模式和所需的参考的标识符可以在比特流内被编码,以用于由解码器使用。
在操作中,NGV编码器(例如,编码器100和/或解码器200)的所提 出的实现除了关于解码的过去和/或未来的、图片/分片的通常的局部运动补偿以外,还可以使用上述部件中的一个或多个。因此,该实现不委托例如对增益补偿、或对任何其它特性补偿参考帧生成的特定解决方案。
图5是根据本公开的至少一些实现布置的用于执行特性和运动补偿预测的示例编码器预测子系统330的示意图。如所示出的,编码器500的编码器预测子系统330可以包括解码的图片缓冲器119、变形分析器和生成模块120、合成分析器和生成模块121、运动估计器模块122、和/或特性和运动补偿精度自适应滤波预测器模块123。
如所示出的,质量分析器和质量恢复滤波的输出可以被发送到解码的图片缓冲器119。在一些示例中,质量分析器和质量恢复滤波的输出可以是可以用于对其它帧进行预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。在编码器500中,预测操作可以包括帧间和/或帧内预测。如图5所示,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块120、合成分析器和生成模块121、和/或特性和运动补偿精度自适应滤波预测器模块123。
变形分析器和生成模块120可以包括变形类型分析器(MTA)和变形图片发生器(MPG)510以及变形预测参考(MPR)缓冲器520。变形类型分析器(MTA)和变形的图片发生器(MPG)510可以分析当前图片以确定相对于当前图片被编码所使用的一个或多个参考帧的增益中的变化、主要运动中的变化、配准中的变化和模糊中的变化的参数。所确定的变形参数可以被量化/去量化并且被使用(例如,通过变形分析器和生成模块120)以生成变形的参考帧。这样生成的变形的参考帧可以存储在变形的预测参考(MPR)缓冲器520中,并且可以由运动估计器模块122使用以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
合成分析器和生成模块121可以包括合成类型分析器(STA)和合成图片发生器530以及合成预测参考(MPR)缓冲器540。合成类型分析器(STA)和合成图片发生器530可以生成超分辨率(SR)图片和投影插补(PI)图片等,以用于确定在这些帧中的有效运动补偿预测的运动矢量。这样生成的合成参考帧可以被存储在合成预测参考(MPR)缓冲器540中,并且可以由运动估计器模块122使用以用于计算当前帧的有效运动(和特 性)补偿预测的运动矢量。
运动估计器模块122可以至少部分地基于变形参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来生成运动矢量数据。在一些示例中,运动估计器模块122可以被考虑为帧间预测模块。例如,运动矢量数据可以用于帧间预测。如果帧间预测被应用,则特性和运动滤波预测器模块123可以应用运动补偿作为如所讨论的局部解码循环的部分。
图6是根据本公开的至少一些实现布置的用于执行特性和运动补偿预测的示例解码器预测子系统601的示意图。如所示出的,解码器600的解码器预测子系统601可以包括解码的图片缓冲器210、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
如所示出的,质量恢复滤波模块的输出可以被发送到解码的图片缓冲器210。在一些示例中,质量恢复滤波模块的输出可以是可以用于对其它帧进行编码的预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。如所讨论的,由于预测操作引起的补偿可以包括帧间和/或帧内预测补偿。如所示出的,帧间预测补偿可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
变形分析器和生成模块120可以包括变形图片发生器(MPG)610以及变形预测参考(MPR)缓冲器620。变形图片发生器(MPG)610可以使用去量化的变形参数(例如,根据输入比特流确定的)来生成变形的参考帧。这样生成的变形的参考帧可以被存储在变形预测参考(MPR)缓冲器620中,并且可以由特性和运动补偿精度自适应滤波预测器模块213使用。
合成分析器和生成模块212可以包括合成图片发生器630以及合成预测参考(MPR)缓冲器640。合成图片发生器630可以被配置为至少部分地基于根据输入比特流201确定的参数来生成一种或多种类型的合成预测参考图片,例如,超分辨率(SR)图片和投影插补(PI)图片等。这样生成的合成参考帧可以被存储在合成预测参考(MPR)缓冲器540中,并且可以由运动补偿滤波预测器模块213使用。
如果帧间预测被应用,则特性和运动补偿滤波预测器模块213可以至少部分地基于变形参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来应用运动补偿。
图7是根据本公开的至少一些实现布置的用于执行特性和运动补偿预测的另一示例编码器预测子系统330的示意图。如所示出的,编码器700的编码器预测子系统330可以包括解码的图片缓冲器119、变形分析器和生成模块120、合成分析器和生成模块121、运动估计器模块122、和/或特性和运动补偿精度自适应滤波预测器模块123。
如所示出的,质量分析器和质量恢复滤波的输出可以被发送到解码的图片缓冲器119。在一些示例中,质量分析器和质量恢复滤波的输出可以是可以用于对其它帧的编码进行预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。在编码器700中,预测操作可以包括帧间和/或帧内预测。如图7所示,帧间预测可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块120、合成分析器和生成模块121、和/或特性和运动补偿精度自适应滤波预测器模块123。
变形分析器和生成模块120可以包括变形类型分析器(MTA)和变形图片发生器(MPG)510以及变形预测参考(MPR)缓冲器520。变形类型分析器(MTA)和变形图片发生器(MPG)510可以被配置为分析和/或生成一种或多种类型的修改的预测参考图片。
例如,变形类型分析器(MTA)和变形图片发生器(MPG)510可以包括增益估计器和补偿预测发生器705、模糊估计器和补偿预测发生器710、主要运动估计器和补偿预测发生器715、配准估计器和补偿预测发生器720、类似物和/或其组合。增益估计器和补偿预测发生器705可以被配置为分析和/或生成适合于处理增益中的变化的变形的预测参考图片。模糊估计器和补偿预测发生器710可以被配置为分析和/或生成适合于处理模糊中的变化的变形的预测参考图片。主要运动估计器和补偿预测发生器715可以被配置为分析和/或生成适合于处理主要运动中的变化的变形的预测参考图片。配准估计器和补偿预测发生器720可以被配置为分析和/或生成适合于处理配准中的变化的变形的预测参考图片。
变形类型分析器(MTA)和变形图片发生器(MPG)510可以将这样 生成的变形参考帧存储在变形的预测参考(MPR)缓冲器520中。例如,变形预测参考(MPR)缓冲器520可以包括增益补偿(GC)图片/缓冲器725、模糊补偿(BC)图片/缓冲器730、主要运动补偿(DC)图片/缓冲器735、配准补偿(RC)图片/缓冲器740、类似物和/或其组合。增益补偿(GC)图片/缓冲器725可以被配置为存储适合于处理增益中的变化的变形的参考帧。模糊补偿(BC)图片/缓冲器730可以被配置为存储适合于处理模糊中的变化的变形的参考帧。主要运动补偿(DC)图片/缓冲器735可以被配置为存储适合于处理主要运动中的变化的变形的参考帧。配准补偿(RC)图片/缓冲器740可以被配置为存储适合于处理配准中的变化的变形的参考帧。
合成分析器和生成模块121可以包括合成类型分析器(STA)和合成图片发生器530以及合成预测参考(MPR)缓冲器540。合成类型分析器(STA)和合成图片发生器530可以被配置为分析和/或生成一种或多种类型的合成预测参考图片。例如,合成类型分析器(STA)和合成图片发生器530可以包括超分辨率滤波选择器和预测发生器745、投影轨迹分析器和预测发生器750、类似物和/或其组合。超分辨率滤波选择器和预测发生器745可以被配置为分析和/或生成超分辨率(SR)类型的合成的预测参考图片。投影轨迹分析器和预测发生器750可以被配置为分析和/或生成投影插补(PI)类型的合成的预测参考图片。
合成类型分析器(STA)和合成图片发生器530可以生成超分辨率(SR)图片和投影插补(PI)图片等,以用于这些帧中的有效运动补偿预测。这样生成的合成参考帧可以存储在合成预测参考(MPR)缓冲器540中,并且可以由运动估计器模块122使用以用于计算当前帧的有效运动(和特性)补偿预测的运动矢量。
例如,合成预测参考(MPR)缓冲器540可以包括超分辨率(SR)图片缓冲器755、投影插补(PI)图片缓冲器760、类似物和/或其组合。超分辨率(SR)图片缓冲器755可以被配置为存储针对超分辨率(SR)图片生成的合成的参考帧。投影插补(PI)图片缓冲器760可以被配置为存储针对投影插补(PI)图片生成的合成的参考帧。
运动估计器模块122可以至少部分地基于变形参考帧和/或超分辨率 (SR)图片和投影插补(PI)图片连同当前帧来生成运动矢量数据。在一些示例中,运动估计器模块122可以被考虑为帧间预测模块。例如,运动矢量数据可用于帧间预测。如果帧间预测被应用,则特性和运动滤波预测器模块123可以应用运动补偿作为如所讨论的局部解码循环的部分。
图8是根据本公开的至少一些实现布置的用于执行特性和运动补偿预测的另一示例解码器预测子系统601的示意图。如所示出的,解码器预测子系统601可以包括解码的图片缓冲器210、变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
如所示出的,质量恢复滤波模块的输出可以被发送到解码图片缓冲器210。在一些示例中,质量恢复滤波模块的输出可以是可以用于对其它帧的编码进行预测的最终重建的帧(例如,最终重建的帧可以是参考帧等)。如所讨论的,由于预测操作引起的补偿可以包括帧间和/或帧内预测补偿。如所示出的,帧间预测补偿可以由一个或多个模块执行,所述一个或多个模块包括变形分析器和生成模块211、合成分析器和生成模块212、和/或特性和运动补偿精度自适应滤波预测器模块213。
变形生成模块212可以包括变形图片发生器(MPG)610以及变形预测参考(MPR)缓冲器620。变形图片发生器(MPG)610可以使用去量化变形参数(例如,根据输入比特流确定的)来生成变形参考帧。例如,变形图片发生器(MPG)610可以包括增益补偿预测发生器805、模糊补偿预测发生器810、主要运动补偿预测发生器815、配准补偿预测发生器820、类似物和/或其组合。增益补偿预测发生器805可以被配置为生成适合于处理增益中的变化的变形的预测参考图片。模糊补偿预测发生器810可以被配置为生成适合于处理模糊中的变化的变形的预测参考图片。主要运动补偿预测发生器815可以被配置为生成适合于处理主要运动中的变化的变形的预测参考图片。配准补偿预测发生器820可以被配置为生成适合于处理配准中的变化的变形的预测参考图片。
变形的图片发生器(MPG)610可以将这样生成的变形参考帧存储在变形预测参考(MPR)缓冲器620中。例如,变形预测参考(MPR)缓冲器620可以包括增益补偿(GC)图片/缓冲器825、模糊补偿(BC)图片/ 缓冲器830、主要运动补偿(DC)图片/缓冲器835、配准补偿(RC)图片/缓冲器840、类似物和/或其组合。增益补偿(GC)图片/缓冲器825可以被配置为存储适合于处理增益中的变化的变形的参考帧。模糊补偿(BC)图片/缓冲器830可以被配置为存储适合于处理模糊中的变化的变形的参考帧。主要运动补偿(DC)图片/缓冲器835可以被配置为存储适合于处理主要运动中的变化的变形的参考帧。配准补偿(RC)图片/缓冲器840可以被配置为存储适合于处理配准中的变化的变形的参考帧。
合成生成模块212可以包括合成图片发生器630以及合成预测参考(MPR)缓冲器640。合成图片发生器630可以被配置为至少部分地基于根据输入比特流201确定的参数来生成一种或多种类型的合成预测参考图片,例如,超分辨率(SR)图片和投影插补(PI)图片等。这样生成的合成的参考帧可以被存储在合成预测参考(MPR)缓冲器640中,并且可以由运动补偿滤波预测器模块213使用。例如,合成图片发生器630可以包括超分辨率图片发生器845、投影轨迹图片发生器850、类似物和/或其组合。超分辨率图片发生器845可以被配置为生成超分辨率(SR)类型的合成预测参考图片。投影轨迹图片发生器850可以被配置为生成投影插补(PI)类型的合成的预测参考图片。
合成图片发生器630可以生成超分辨率(SR)图片和投影插补(PI)图片等,以用于在这些帧中的有效运动补偿预测。这样生成的合成参考帧可以被存储在合成预测参考(MPR)缓冲器640中,并且可以由特征和运动补偿滤波预测器模块213使用,以用于当前帧的有效运动(和特性)补偿预测。
例如,合成预测参考(MPR)缓冲器640可以包括超分辨率(SR)图片缓冲器855、投影插补(PI)图片缓冲器860、类似物和/或其组合。超分辨率(SR)图片缓冲器855可以被配置为存储针对超分辨率(SR)图片生成的合成参考帧。投影插补(PI)图片缓冲器860可以被配置为存储针对投影插补(PI)图片生成的合成参考帧。
如果帧间预测被应用,则特性和运动补偿滤波预测器模块213可以至少部分地基于变形的参考帧和/或超分辨率(SR)图片和投影插补(PI)图片连同当前帧来应用运动补偿。
图9是示出了根据本公开的至少一些实现布置的示例过程900的流程图。过程900可以包括一个或多个操作、如由一个或多个操作902、904、906、908、910、912、914、916、918、920和/或922示出的功能或行动。过程900可以形成下一代视频编码过程的至少部分。作为非限制性的示例,过程900可以形成如图1的编码器系统100和/或图1到3和图5到8的编码器系统中的任何一个所实施的下一代视频编码过程的至少部分。
过程900可以在操作902“接收视频序列的输入视频帧”开始,其中可以经由例如编码器100接收视频序列的输入视频帧。
过程900可以在操作904“使图片类型与每一个视频帧相关联”继续,其中图片类型可以经由例如内容预分析器模块102与一组图片中的每一个视频帧相关联。例如,图片类型可以是F-图片/B-图片、P-图片或I-图片等。在一些示例中,视频序列可以包括图片组,并且本文描述的处理(例如,操作903到911)可以在一组图片的帧或图片上执行,并且处理可以对一组的所有帧或图片重复并且然后对视频序列中的所有组的图片重复。
过程900可以在操作906“将图片分成瓦片和/或超分片和潜在的预测分块”继续,其中可以经由例如预测分区发生器105将图片分成瓦片或超分片和潜在的预测分区。
过程900可以在操作908“确定修改(例如,变形或合成)特性参数以用于生成变形的或合成的预测参考并且执行预测”继续,其中可以执行修改(例如,变形或合成)特性参数和预测。例如,可以生成用于生成变形的或合成的预测参考的修改(例如,变形或合成)特性参数并且可以执行预测。
在划分期间,对于每一个潜在的预测分块,可以执行预测,并且可以确定预测参数。例如,可以生成一定范围的潜在的预测分块(每一个具有各种预测分区),并且可以确定相关联的预测和预测参数。例如,预测可以包括使用特性的预测及基于运动的多参考预测或帧内预测。
如所讨论的,在一些示例中,可以执行帧间预测。在一些示例中,多达4个解码的过去和/或未来的图片和几个变形/合成预测可以用于生成大量参考类型(例如,参考图片)。例如,在“帧内”模式中,可以在P图片中支持多达9个参考类型,以及对于F-图片/B-图片可以支持多达十个参考 类型。此外,“多重”模式可以提供一种类型的帧间预测模式,其中代替使用1个参考图片,可以使用2个参考图片,并且P-图片以及F-图片/B-图片分别可以允许3个和多达8个参考类型。例如,预测可以至少部分地基于使用至少一种变形技术或合成技术生成的以前解码的帧。在这样的示例中,比特流(下面关于操作912所讨论的)可以包括与预测分区相关联的帧参考、变形参数、或合成参数。
过程900可以在操作910“对于潜在的预测分块,确定潜在的预测误差”继续,其中对于每一个潜在的预测分块,可以确定潜在的预测误差。例如,对于每一个潜在的预测分块(和相关联的预测分区、预测和预测参数),可以确定预测误差。例如,确定潜在的预测误差可以包括确定原始像素(例如,预测分区的原始像素数据)与预测像素的差异。在一些示例中,可以存储相关联的预测参数。如所讨论的,在一些示例中,预测误差数据分区可以包括至少部分地基于使用至少一种变形技术或合成技术来生成的以前解码的帧而生成的预测误差数据。
过程900可以在操作912“选择预测分块和预测类型并且保存参数”继续,其中可以选择预测分块和预测类型,并且可以保存相关联的参数。在一些示例中,可以选择具有最小预测误差的潜在的预测分块。在一些示例中,可以至少部分地基于率失真优化(RDO)来选择潜在的预测分块。
过程900可以在操作914“对潜在的编码分块执行变换”继续,其中可以对分区预测误差数据的各种潜在的编码分块执行具有各种块尺寸的固定或内容自适应变换。例如,分区预测误差数据可以被划分以生成多个编码分区。例如,分区预测误差数据可以由编码分区发生器模块107的二分树编码划分器模块或k-d树编码划分器模块进行划分,如在本文讨论的。在一些示例中,与F-图片/B-图片或P-图片相关联的分区预测误差数据可以由二分树编码划分器模块划分。在一些示例中,与I-图片(例如,在一些示例中,瓦片或超分片)相关联的视频数据可以由k-d树编码划分器模块划分。在一些示例中,可以经由一个或多个开关来选择或挑选编码划分器模块。例如,分区可以由编码分区发生器模块107生成。
过程900可以在操作916“确定最佳编码分块、变换块尺寸和实际变换”继续,其中可以确定最佳编码分块、变换块尺寸和实际变换。例如, 可以至少部分地基于RDO或另一基础来评估各种编码分块(例如,具有各种编码分区)以确定选定的编码分块(其还可以包括当编码分区与如所讨论的变换块尺寸不匹配时将编码分区进一步分成变换块)。例如,实际变换(或选定的变换)可以包括对编码分区或如本文描述的块尺寸执行的任何内容自适应变换或固定变换。
过程900可以在操作918“量化和扫描变换系数”继续,其中可以量化和扫描与编码分区(和/或变换块)相关联的变换系数以为熵编码作准备。
过程900可以在操作920“重建像素数据、装配到图片中并且保存在参考图片缓冲器中”继续,其中像素数据可以被重建、装配到图片中并且保存在参考图片缓冲器中。例如,在局部解码循环(例如,包括反向扫描、反向变换、和装配编码分区)之后,可以生成预测误差数据分区。预测误差数据分区可以与预测分区相加以生成重建的预测分区,所述重建的预测分区可以被装配到瓦片或超分片中。装配的瓦片或超分片可以可选地经由解块滤波和/或质量恢复滤波被处理并且被装配以生成图片。图片可以保存在解码的图片缓冲器119中作为用于预测其它(例如,后面的)图片的参考图片。
过程900可以在操作922“对熵编码的比特流解码以确定编码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)、量化的变换系数、运动矢量和参考类型数据、特性参数(例如,mop、syp)”,其中数据可以被熵编码。例如,熵编码的数据可以包括编码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)、量化的变换系数、运动矢量和参考类型数据、特性参数(例如,mop、syp)、类似物和/或其组合。此外或可选地,熵编码的数据可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
操作902到922可以提供可以由如本文讨论的编码器系统使用的视频编码和比特流传输技术。
图10示出了根据本公开的至少一些实现布置的示例比特流1000。在一些示例中,比特流1000可以与如图1所示的输出比特流111和/或如图2所示的输入比特流201相对应。虽然为了呈现的清楚起见没有在图10中示 出,但是在一些示例中,比特流1000可以包括报头部分和数据部分。在各种示例中,比特流1000可以包括与如本文讨论的对视频帧进行编码相关联的数据、指示符、索引值、模式选择数据等类似数据。
在操作中,量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据、与预测分区相关联的模式、类似物和/或其组合可以被熵编码到如图1所示的输出比特流111中。如图1所示的输出比特流111可以从如图1所示的编码器100被发送到如图2所示的解码器200。如图2所示的输入比特流201可以由如图2所示的解码器200接收。如图2所示的输入比特流201可以由如图2所示的解码器200进行熵解码以确定与预测分区相关联的量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据、模式、类似物和/或其组合。
如所讨论的,比特流1000可以由编码器(例如,编码器100)生成和/或由用于解码的解码器200接收,使得解码的视频帧可以经由显示设备来进行呈现。
图11是示出了根据本公开的至少一些实现布置的示例过程1100的流程图。过程1100可以包括一个或多个操作、如由一个或多个操作1102、1104、1106、1108、1110、1112和/或1114示出的功能或行动。过程1100可以形成下一代视频编码过程的至少部分。作为非限制性的示例,过程1100可以形成如图2的解码器系统200所实施的下一代视频解码过程的至少部分。
过程1100可以在操作1102“接收编码的比特流”开始,在操作1102中可以接收比特流。例如,如本文讨论的进行编码的比特流可以在视频解码器处被接收。在一些示例中,可以经由解码器200来接收比特流1100。
过程1100可以在操作1104“对熵编码的比特流进行解码以确定编码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)、量化变换系数、运动矢量和参考类型数据、特性参数(例如,mop、syp)”,其中比特流可以被解码以确定编码分区指示符、块尺寸数据、变换类型数据、量化器(Qp)、量化的变换系数、运动矢量和参考类型数据、特性参数(例如,mop、syp)、类似物和/或其组合。此外或可选地,熵编码的数据可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换 系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1100可以在操作1106“对量化系数应用量化器(Qp)以生成反向量化的变换系数”继续,其中量化器(Qp)可以被应用于量化的变换系数以生成反向量化的变换系数。例如,操作1106可以经由自适应反向量化模块203被应用。
过程1100可以在操作1108“至少部分地基于变换类型和块尺寸数据来在编码(或帧内预测)分区中的系数的每个解码块上执行反向变换以生成解码的预测误差分区”继续,其中在编码(或帧内预测)分区中的变换系数的每个解码块上,可以至少部分地基于变换类型和块尺寸数据来执行反向变换以生成解码的预测误差分区。在一些示例中,反向变换可以包括反向固定变换。一些示例中,反向变换可以包括反向内容自适应变换。在这样的示例中,执行反向内容自适应变换可以包括至少部分地基于解码的视频数据的相邻块来确定与反向内容自适应变换相关联的基础功能,如在本文所讨论的。如本文讨论用于编码的任何正向变换可以用于使用相关联的反向变换进行解码。在一些示例中,反向变换可以由自适应反向变换模块204执行。在一些示例中,生成解码的预测误差分区还可以包括经由编码分区装配器205来装配编码分区。
过程1100可以在操作1109“使用解码的修改特性(例如,mop、syp)来生成用于预测的修改的参考并使用运动矢量和参考信息、预测的分区信息和修改的参考来生成预测分区”,其中可以生成用于预测的修改的参考并且还可以生成预测分区。例如,其中可以至少部分地基于解码的修改特性(例如,mop、syp)来生成用于预测的修改的参考并且可以至少部分地基于运动矢量和参考信息、预测的分区信息和修改的参考来生成预测分区。
过程1100可以在操作1110“将预测分区加到解码的预测误差数据分区以生成重建的分区”继续,其中可以将预测分区加到解码的预测误差数据分区以生成重建的预测分区。例如,可以经由加法器206将解码的预测误差数据分区加到相关联的预测分区。
过程1100可以在操作1112“装配重建的分区以生成瓦片或超分片”继续,其中可以装配重建的预测分区以生成瓦片或超分片。例如,可以经由预测分区装配器模块207来装配重建的分区以生成瓦片或超分片。
过程1100可以在操作1114“装配图片的瓦片或超分片以生成完整解码的图片”继续,其中可以装配图片的瓦片或超分片以生成完整解码的图片。例如,在可选的解块滤波和/或质量恢复滤波之后,可以装配瓦片或超分片以生成完整解码的图片,完整解码的图片可以经由解码的图片缓冲器210被存储和/或在经由自适应图片再组织器模块217和内容后恢复器模块218处理之后被发送以用于经由显示设备呈现。
虽然本文的示例过程的实现可以包括实施以所示顺序示出的所有操作,但是本公开并不被限制在这个方面中,并且在各种示例中,本文的示例过程的实现可以包括实施所示的操作的仅仅子集和/或以与所示的不同的顺序来实施。
可以在本文讨论的实现的一个或多个示例中且特别是关于图12在下面示出与过程900、1100和本文所讨论的其它过程相关的一些附加的和/或可选的细节。
图12(A)和12(B)提供根据本公开的至少一些实现布置的在工作中的示例视频编码系统1400和视频编码过程1200的示意图。在所示出的实现中,过程1200可以包括一个或多个操作、如由行动1201到1223中的一个或多个示出的功能或行动。作为非限制性示例,在本文中将关于包括图1的编码器100和图2的解码器200的示例视频编码系统1400来描述过程1200,正如下面关于图14在本文进一步讨论的。在一些示例中,视频编码系统1400可以包括图7的编码器700和图8的解码器800。在各种示例中,过程1200可以由包括编码器和解码器二者的系统或由具有使用编码器(和可选地解码器)的一个系统和使用解码器(和可选地编码器)的另一系统的单独系统实施。也注意,如上面所讨论的,编码器可以包括使用局部解码器作为编码器系统的一部分的局部解码循环。
在所示出的实现中,视频编码系统1400可以包括逻辑电路1250、类似物和/或其组合。例如,逻辑电路1250可以包括编码器100(或编码器700),并且可以包括如关于图1、图3、图5和/或图7讨论的任何模块和解码器200(或解码器1800),并且可以包括如关于图2、图6和/或图8讨论的任何模块。虽然如图12(A)和12(B)所示的视频编码系统1400可以包括与特定的模块相关联的特定的一组块或行动,但是这些块或行动可 以与和本文所示出的特定模块不同的模块相关联。虽然如所示出的过程1200目的在于编码和解码,但是所描述的概念和/或操作可以被单独地应用于编码和/或解码,以及更一般地被应用于视频编码。
过程1200可以在操作1201“接收视频序列的输入视频帧”开始,其中可以经由例如编码器100来接收视频序列的输入视频帧。
过程1200可以在操作1202“使图片类型与一组图片中的每一个视频帧相关联”继续,其中图片类型可以经由例如内容预分析器模块102与一组图片中的每一个视频帧相关联。例如,图片类型可以是F-图片/B-图片、P-图片或I-图片等。在一些示例中,视频序列可以包括图片组,并且本文描述的处理(例如操作1203到1211)可以在一组图片的帧或图片上执行,并且所述处理可以对一组的所有帧或图片重复,并且然后对视频序列中的所有组的图片重复。
过程1200可以在操作1203“将图片分成瓦片和/或超分片和潜在的预测分块”继续,其中图片可以经由例如预测分区发生器105被分成瓦片或超分片和潜在的预测分区。
过程1200可以在操作1204“对于每一个潜在的预测分块,执行预测并且确定预测参数”继续,其中对于每一个潜在的预测分块,可以执行预测并且可以确定预测参数。例如,可以生成一定范围的潜在的预测分块(每一个都具有各种预测分区),并且可以确定相关联的预测和预测参数。例如,预测可以包括使用特性的预测以及基于运动的多参考预测或帧内预测。
如所讨论的,在一些示例中,可以执行帧间预测。在一些示例中,可以使用多达4个解码的过去和/或未来的图片和几个变形/合成预测来生成大量参考类型(例如,参考图片)。例如,在“帧间”模式中,可以在P-图片中支持多达9个参考类型,并且对于F-图片/B-图片可以支持多达十个参考类型。此外,“多重”模式可以提供一种类型的帧间预测模式,其中不使用1个参考图片,可以使用2个参考图片,并且P-图片和F-图片/B-图片分别可以允许3个和多达8个参考类型。例如,预测可以至少部分地基于使用至少一种变形技术或合成技术生成的以前解码的帧。在这样的示例中,比特流(下面关于操作1212讨论的)可以包括与预测分区相关联的帧参考、变形参数、或合成参数。
过程1200可以在操作1205“对于每一个潜在的预测分块,确定潜在的预测误差”继续,其中对于每一个潜在的预测分块,可以确定潜在的预测误差。例如,对于每一个预测分块(和相关联的预测分区、预测、和预测参数),可以确定预测误差。例如,确定潜在的预测误差可以包括确定原始像素(例如,预测分区的原始像素数据)与预测像素的差异。在一些示例中,可以存储相关联的预测参数。如所讨论的,在一些示例中,预测误差数据分区可以包括至少部分地基于使用至少一种变形技术或合成技术来生成的以前解码的帧而生成的预测误差数据。
过程1200可以在操作1206“选择预测分块和预测类型并且保存参数”继续,其中可以选择预测分块和预测类型并且可以保存相关联的参数。在一些示例中,可以选择具有最小预测误差的潜在的预测分块。在一些示例中,可以至少部分地基于率失真优化(RDO)来选择潜在的预测分块。
过程1200可以在操作1207“在分区预测误差数据的各种潜在编码分块上执行具有各种块尺寸的固定或内容自适应变换”继续,其中可以在分区预测误差数据的各种潜在编码分块上执行具有各种块尺寸的固定的或内容自适应变换。例如,分区预测误差数据可以被划分以生成多个编码分区。例如,分区预测误差数据可以由如在本文讨论的编码分区发生器模块107的二分树编码划分器模块或k-d树编码划分器模块进行划分。在一些示例中,与F-图片/B-图片或P-图片相关联的分区预测误差数据可以由二分树编码划分器模块进行划分。在一些示例中,与I-图片(例如,在一些示例中,瓦片或超分片)相关联的视频数据可以由k-d树编码划分器模块划分。在一些示例中,可以经由一个或多个开关来选择或挑选编码划分器模块。例如,分区可以由编码分区发生器模块107生成。
过程1200可以在操作1208“确定最佳编码分块、变换块尺寸、以及实际的变换”继续,其中可以确定最佳编码分块、变换块尺寸、以及实际的变换。例如,可以至少部分地基于RDO或另一基础来评估各种编码分块(例如,具有各种编码分区)以确定选定的编码分块(其也可以包括当编码分区与如所讨论的变换块尺寸不匹配时将编码分区进一步分成变换块)。例如,实际变换(或选定的变换)可以包括在编码分区或如本文描述的块尺寸上执行的任何内容自适应变换或固定变换。
过程1200可以在操作1209“量化和扫描变换系数”继续,其中可以量化和扫描与编码分区(和/或变换块)相关联的变换系数以为熵编码作准备。
过程1200可以在操作1210“重建像素数据、装配到图片中并且保存在参考图片缓冲器中”继续,其中像素数据可以被重建、装配到图片中并且被保存在参考图片缓冲器中。例如,在局部解码循环(例如,包括反向扫描、反向变换、和装配编码分区)之后,可以生成预测误差数据分区。预测误差数据分区可以与预测分区相加以生成重建的预测分区,所述重建的预测分区可以被装配到瓦片或超分片中。装配的瓦片或超分片可以可选地经由解块滤波和/或质量恢复滤波来处理并且被装配以生成图片。图片可以被保存在解码的图片缓冲器119中作为用于预测其它(例如,后面的)图片的参考图片。
过程1200可以在操作1211“对与每一个瓦片或超分片相关联的数据进行熵编码”继续,其中与每一个瓦片或超分片相关联的数据可以被熵编码。例如,与每一个视频序列的每一组图片的每一个图片的每一个瓦片或超分片相关联的数据可以被熵编码。被熵编码的数据可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)和指示符。
过程1200可以在操作1212“生成比特流”继续,其中可以至少部分地基于熵编码数据来生成比特流。如所讨论的,在一些示例中,比特流可以包括与预测分区相关联的帧或图片参考、变形参数、或合成参数。
过程1200可以在操作1213“发送比特流”继续,其中可以发送比特流。例如,视频编码系统1400可以经由天线1402(请参考图14)来发送输出比特流111、比特流1000等。
操作1201到1213可以提供可以由如本文讨论的编码器系统使用的视频编码和比特流传输技术。后面的操作,操作1214到1223可以提供可以由如本文讨论的解码器系统使用的视频解码和视频显示技术。
过程1200可以在操作1214“接收比特流”继续,其中可以接收比特流。例如,可以经由解码器200接收输入比特流201、比特流1000等。在一些示例中,比特流可以包括如上面讨论的与编码分区相关联的数据、一 个或多个指示符、和/或定义编码分区的数据。在一些示例中,比特流可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)和指示符。
过程1200可以在操作1215“对比特流进行解码”继续,其中可以经由例如自适应熵解码器模块202对所接收的比特流进行解码。例如,所接收的比特流可以被熵解码以确定预测分块、预测参数、选定的编码分块、选定的特征数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)和指示符。
过程1200可以在操作1216“在每一个编码分区的每一个块上执行反向扫描和反向量化”继续,其中可以在正处理的预测分区的每一个编码分区的每一个块上执行反向扫描和反向量化。例如,可以经由自适应反向量化模块203来执行反向扫描和反向量化。
过程1200可以在操作1217“执行固定的或内容自适应反向变换以对变换系数进行解码来确定解码的预测误差数据分区”继续,其中可以执行固定的或内容自适应反向变换以对变换系数进行解码来确定解码的预测误差数据分区。例如,反向变换可以包括反向内容自适应变换(例如,混合参数Haar反向变换),使得混合参数Haar反向变换可以包括在参数变换方向的方向上的参数Haar反向变换和在垂直于参数变换方向的方向上的离散余弦反向变换。在一些示例中,固定的反向变换可以包括离散余弦反向变换或离散余弦反向变换近似者。例如,可以经由自适应反向变换模块204来执行固定的或内容自适应变换。如所讨论的,内容自适应反向变换可以至少部分地基于其它以前解码的数据,例如,解码的相邻分区或块。在一些示例中,生成解码的预测误差数据分区可以包括经由编码分区装配器模块205来装配解码的编码分区。
过程1200可以在操作1218“针对每一个预测分区来生成预测像素数据”继续,其中可以针对每一个预测分区来生成预测像素数据。例如,可以使用选定的预测类型(例如,至少部分地基于特性和运动、或帧内、或其它类型)和相关联的预测参数来生成预测像素数据。
过程1200可以在操作1219“将每一个解码的预测误差分区加到相对 应的预测分区以生成重建的预测分区”继续,其中可以将每一个解码的预测误差分区(例如,包括零预测误差分区)加到相对应的预测分区以生成重建的预测分区。例如,预测分区可以经由图2所示的解码循环来生成并且经由加法器206加到解码的预测误差分区。
过程1200可以在操作1220“装配重建的预测分区以生成解码的瓦片或超分片”继续,其中可以装配重建的预测分区以生成解码的瓦片或超分片。例如,可以经由预测分区装配器模块207来装配预测分区以生成解码的瓦片或超分片。
过程1200可以在操作1221“应用解块滤波和/或QR滤波以生成最终解码的瓦片或超分片”继续,其中可选的解块滤波和/或质量恢复滤波可以被应用于解码的瓦片或超分片以生成最终解码的瓦片或超分片。例如,可以经由解块滤波模块208来应用可选的解块滤波,和/或可以经由质量恢复滤波模块209来应用可选的质量恢复滤波。
过程1200可以在操作1222“装配解码的瓦片或超分片以生成解码的视频图片,并且保存在参考图片缓冲器中”继续,其中可以装配解码的(或最终解码的)瓦片或超分片以生成解码的视频图片,并且可以将解码的视频图片保存在参考图片缓冲器(例如,解码的图片缓冲器210)中以用于在未来预测中使用。
过程1200可以在操作1223“发送解码的视频帧以用于经由显示设备来呈现”继续,其中可以发送解码的视频帧以用于经由显示设备来呈现。例如,解码的视频图片可以经由自适应图片再组织器217和内容后恢复器模块218被进一步处理并且被发送到显示设备作为用于呈现给用户的显示视频219的视频帧。例如,视频帧可以被发送到显示设备1405(如图14所示)以用于呈现。
虽然本文的示例过程的实现可以包括实施以所示顺序示出的所有操作,但是本公开并不被限制在这个方面中,并且在各种示例中,本文的示例过程的实现可以包括实施所示的操作的仅仅子集和/或以与所示的不同的顺序来实施。
可以在本文讨论的实现的一个或多个示例中并且特别是关于图13在下面示出与过程900、1100、1200和本文讨论的其它过程相关的一些附加 的和/或可选的细节。
图13(A)、图13(B)和图13(C)提供了根据本公开的至少一些实现布置的在工作中的示例视频编码系统1200和视频编码过程1300的示意图。在所示出的实现中,过程1300可以包括如由行动1301到1323中的一个或多个示出的一个或多个操作、功能或行动。作为非限制性示例,本文将关于包括图1的编码器100和图2的解码器200的示例视频编码系统1400来描述过程1300,如下面关于图14在本文中进一步讨论的。在一些示例中,视频编码系统1400可以包括图7的编码器700和图8的解码器800。在各种示例中,过程1300可以由包括编码器和解码器二者的系统或由具有使用编码器(和可选地解码器)的一个系统和使用解码器(和可选地编码器)的另一系统的单独系统实施。也注意,如上面讨论的,编码器可以包括使用局部解码器作为编码器系统的一部分的局部解码循环。
在所示出的实现中,视频编码系统1400可以包括逻辑电路1350、类似物和/或其组合。例如,逻辑电路1350可以包括编码器100(或编码器700),并且可以包括如关于图1、图3、图5和/或图7讨论的任何模块和解码器200(或解码器1800),并且可以包括如关于图2、图6和/或图8讨论的任何模块。虽然如图13(A)、图13(B)和图13(C)所示的视频编码系统1400可以包括与特定的模块相关联的特定的一组块或行动,但是这些块或行动可以与和本文示出的特定模块不同的模块相关联。虽然如所示出出的过程1300目的在于编码和解码,但是所描述的概念和/或操作可以被单独地应用于编码和/或解码,并且更一般地被应用于视频编码。
过程1300可以在操作1301“接收视频序列的输入视频帧”开始,其中可以经由例如编码器100接收视频序列的输入视频帧。
过程1300可以在操作1302“使图片类型与一组图片中的每一个视频帧相关联”继续,其中图片类型可以经由例如内容预分析器模块102与一组图片中的每一个视频帧相关联。例如,图片类型可以是F-图片/B-图片、P-图片或I-图片等。在一些示例中,视频序列可以包括图片组,并且本文所描述的处理(例如,操作1303到1311)可以在一组图片的帧或图片上执行,并且所述处理可以针对一组的所有帧或图片重复,并且然后针对视频序列中的所有组的图片重复。
过程1300可以在操作1303“将图片分成瓦片和/或超分片和潜在的预测分块”继续,其中图片可以经由例如预测分区发生器105被分成瓦片或超分片和潜在的预测分区。
过程1300可以在操作1304“对于每一个潜在的预测分块,执行预测并且确定预测参数”继续,其中对于每一个潜在的预测分块,可以执行预测并且可以确定预测参数。例如,可以生成一定范围的潜在预测分块(每一个都具有各种预测分区),并且可以确定相关联的预测和预测参数。例如,预测可以包括使用特性的预测以及基于运动的多参考预测或帧内预测。
如所讨论的,在一些示例中,可以执行帧间预测。在一些示例中,多达4个解码的过程和/或未来的图片和几个变形/合成预测可以用于生成大量参考类型(例如,参考图片)。例如,在“帧间”模式中,可以在P-图片中支持多达9个参考类型,并且对于F-图片/B-图片可以支持多达十个参考类型。此外,“多重”模式可以提供一种类型的帧间预测模式,其中不使用1个参考图片,而可以使用2个参考图片,并且P-图片和F-图片/B-图片分别可以允许3个和多达8个参考类型。例如,预测可以至少部分地基于使用变形技术或合成技术中的至少一种生成的以前解码的帧。在这样的示例中,并且比特流(下面关于操作1312讨论的)可以包括与预测分区相关联的帧参考、变形参数或合成参数。
过程1300可以在操作1305“对于每一个潜在的预测分块,确定潜在的预测误差”继续,其中对于每一个潜在的预测分块,可以确定潜在的预测误差。例如,对于每一个预测分块(和相关联的预测分区、预测、和预测参数),可以确定预测误差。例如,确定潜在的预测误差可以包括确定原始像素(例如,预测分区的原始像素数据)与预测像素的差异。在一些示例中,可以存储相关联的预测参数。如所讨论的,在一些示例中,预测误差数据分区可以包括至少部分地基于使用变形技术或合成技术中的至少一种生成的以前解码的帧生成的预测误差数据。
过程1300可以在操作1306“选择预测分块和预测类型并且保存参数”继续,其中可以选择预测分块和预测类型并且可以保存相关联的参数。在一些示例中,可选择具有最小预测误差的潜在的预测分块。在一些示例中,可以至少部分地基于率失真优化(RDO)来选择潜在的预测分块。
过程1300可以在操作1307“在分区预测误差数据的各种潜在的编码分块上执行具有各种块尺寸的固定的或内容自适应变换”继续,其中可以在分区预测误差数据的各种潜在的编码分块上执行具有各种块尺寸的固定的或内容自适应变换。例如,分区预测误差数据可以被划分以生成多个编码分区。例如,分区预测误差数据可以由如本文讨论的编码分区发生器模块107的二分树编码划分器模块或k-d树编码划分器模块进行划分。在一些示例中,与F-图片/B-图片或P-图片相关联的分区预测误差数据可以由二分树编码划分器模块进行划分。在一些示例中,与I-图片(例如,在一些示例中,瓦片或超分片)相关联的视频数据可以由k-d树编码划分器模块进行划分。在一些示例中,可以经由一个或多个开关来选择或挑选编码划分器模块。例如,分区可以由编码分区发生器模块107生成。
过程1300可以在操作1308“确定最佳编码分块、变换块尺寸、和实际变换”继续,其中可以确定最佳编码分块、变换块尺寸、和实际变换。例如,可以至少部分地基于RDO或另一基础来评估各种编码分块(例如,具有各种编码分区)以确定选定的编码分块(其也可以包括当编码分区与如所讨论的变换块尺寸不匹配时将编码分区进一步分成变换块)。例如,实际变换(或选定的变换)可以包括在编码分区或如本文描述的块尺寸上执行的任何内容自适应变换或固定的变换。
过程1300可以在操作1309“量化和扫描变换系数”继续,其中可以量化和扫描与编码分区(和/或变换块)相关联的变换系数以为熵编码作准备。
过程1300可以在操作1311“对与每一个瓦片或超分片相关联的数据进行熵编码”继续,其中与每一个瓦片或超分片相关联的数据可以被熵编码。例如,与每一个视频序列的每一组图片的每一个图片的每一个瓦片或超分片相关联的数据可以被熵编码。熵编码数据可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)、以及指示符。
过程1300可以在操作1312“生成比特流”继续,其中可以至少部分地基于熵编码的数据来生成比特流。如所讨论的,在一些示例中,比特流可以包括与预测分区相关联的帧或图片参考、变形参数、或合成参数。
过程1300可以在操作1313“发送比特流”继续,其中可以发送比特流。例如,视频编码系统1400可以经由天线1402(请参考图14)来发送输出比特流111、比特流1000等。
过程1300可以在操作1320“重建像素数据、装配到图片中并且保存在参考图片缓冲器中”继续,其中像素数据可以被重建、装配到图片中并且被保存在参考图片缓冲器中。例如,在局部解码循环(例如,包括反向扫描、反向变换、和装配编码分区)之后,可以生成预测误差数据分区。预测误差数据分区可以与预测分区相加以生成重建的预测分区,重建的预测分区可以被装配到瓦片或超分片中。被装配的瓦片或超分片可以可选地经由解块滤波和/或质量恢复滤波被处理并且被装配以生成图片。所述图片可以被保存在解码的图片缓冲器119中作为用于预测其它(例如,后面的)图片的参考图片。
过程1300可以在操作1322“生成解码的预测参考图片”继续,其中解码的预测参考图片可以被解码。例如,可以装配解码的(最终解码的)瓦片或超分片以生成解码的视频图片,并且可以将解码的视频图片保存在参考图片缓冲器(例如,解码的图片缓冲器119)中用于在未来预测中使用。
过程1300可以在操作1323“生成修改特性参数”继续,其中可以生成修改的特性参数。例如,可以至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型。
过程1300可以在操作1324“生成修改的预测参考图片”继续,其中可以生成修改的预测参考图片,例如,可以至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数。
过程1300可以在操作1325“生成运动数据”继续,其中可以生成运动估计数据。例如,可以至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据。
过程1300可以在操作1326“执行运动补偿”继续,其中可以执行运 动补偿。例如,可以至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。过程1300可以将这个信息反馈回到操作1304,在操作1304中每一个解码的预测误差分区(例如,包括零预测误差分区)可以被加到相对应的预测分区以生成重建的预测分区。
操作1301到1326可以提供可以由如本文讨论的编码器系统使用的视频编码和比特流传输技术。后面的操作——操作1354到1368可以提供由如本文讨论的解码器系统使用的视频解码和视频显示技术。
过程1300可以在操作1354“接收比特流”继续,其中可以接收比特流。例如,可以经由解码器200接收输入比特流201、比特流1000等。在一些示例中,比特流可以包括如上面讨论的与编码分区相关联的数据、一个或多个指示符、和/或定义编码分区的数据。在一些示例中,比特流可以包括预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)和指示符。
过程1300可以在操作1355“对比特进行流解码”继续,其中可以经由例如自适应熵解码器模块202对所接收的比特流解码。例如,所接收的比特流可以被熵解码以确定预测分块、预测参数、选定的编码分块、选定的特性数据、运动矢量数据、量化的变换系数、滤波器参数、选择数据(例如,模式选择数据)和指示符。
过程1300可以在操作1356“在每一个编码分区的每一个块上执行反向扫描和反向量化”继续,其中可以被处理的预测分区的每一个编码分区的每一个块上执行反向扫描和反向量化。例如,可以经由自适应反向量化模块203执行反向扫描和反向量化。
过程1300可以在操作1357“执行固定的或内容自适应反向变换以对变换系数进行解码来确定解码的预测误差数据分区”继续,其中可以执行固定的或内容自适应反向变换以对变换系数进行解码来确定解码的预测误差数据分区。例如,反向变换可以包括反向内容自适应变换(例如,混合参数Haar反向变换),使得混合参数Haar反向变换可以包括在参数变换方向的方向上的参数Haar反向变换和在垂直于参数变换方向的方向上的离散 余弦反向变换。在一些示例中,固定的反向变换可以包括离散余弦反向变换或离散余弦反向变换近似者。例如,可以经由自适应反向变换模块204来执行固定的或内容自适应变换。如所讨论的,内容自适应反向变换可以至少部分地基于其它以前解码的数据,例如,解码的相邻分区或块。在一些示例中,生成解码的预测误差数据分区可以包括经由编码分区装配器模块205来装配解码的编码分区。
过程1300可以在操作1358“针对每一个预测分区生成预测像素数据”继续,其中可以针对每一个预测分区生成预测像素数据。例如,可以使用选定的预测类型(例如,至少部分地基于特性和运动、或帧内、或其它类型)和相关联的预测参数来生成预测像素数据。
过程1300可以在操作1359“将每一个解码的预测误差分区加到相对应的预测分区以生成重建的预测分区”继续,其中可以将每一个解码的预测误差分区(例如,包括零预测误差分区)加到相对应的预测分区以生成重建的预测分区。例如,预测分区可以经由图2所示的解码循环来生成并且经由加法器206被加到解码的预测误差分区。
过程1300可以在操作1360“装配重建的预测分区以生成解码的瓦片或超分片”继续,其中可以装配重建的预测分区以生成解码的瓦片或超分片。例如,可以经由预测分区装配器模块207来装配预测分区以生成解码的瓦片或超分片。
过程1300可以在操作1361“应用解块滤波和/或QR滤波以生成最终解码的瓦片或超分片”继续,其中可选的解块滤波和/或质量恢复滤波可以被应用于解码的瓦片或超分片以生成最终解码的瓦片或超分片。例如,可以经由解块滤波模块208来应用可选的解块滤波,和/或可以经由质量恢复滤波模块209来应用可选的质量恢复滤波。
过程1300可以在操作1362“装配解码的瓦片或超分片以生成解码的视频图片,并且保存在参考图片缓冲器中”继续,其中可以装配解码的(或最终解码的)瓦片或超分片以生成解码的视频图片,并且可以将解码的视频图片保存在参考图片缓冲器(例如,解码的图片缓冲器210)中以用于在未来预测中使用。
过程1300可以在操作1363“发送解码的视频帧以用于经由显示设备 来呈现”继续,其中可以发送解码的视频帧以用于经由显示设备来呈现。例如,解码的视频图片可以经由自适应图片再组织器217和内容后恢复器模块218被进一步处理并且被发送到显示设备作为用于呈现给用户的显示视频219的视频帧。例如,视频帧可以被发送到显示设备1405(如图14所示)用于呈现。
过程1300可以在操作1372“生成解码的预测参考图片”继续,其中解码的预测参考图片可以被解码。例如,可以装配解码的编码分区以生成解码的预测误差数据分区,并且可以将解码的视频图片(例如,可以生成第三解码的预测参考图片和第四解码的预测参考图片)保存在参考图片缓冲器中以用于在未来预测中使用。
过程1300可以在操作1324“生成修改的预测参考图片”继续,其中可以生成修改的预测参考图片,例如,可以至少部分地基于第三修改特性参数来生成第三修改的预测参考图片的至少一部分。类似地,可以至少部分地基于相关联的第二修改特性参数来生成第四修改的预测参考图片的至少一部分。
过程1300可以在操作1375“生成运动数据”继续,其中可以生成运动估计数据。例如,可以至少部分地基于第三修改的预测参考图片或第三修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据。
过程1300可以在操作1376“执行运动补偿”继续,其中可以执行运动补偿。例如,可以至少部分地基于运动数据和第三修改的预测参考图片或第四修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。过程1300可以将这个信息反馈回到操作1359,在操作1359中每一个解码的预测误差分区(例如,包括零预测误差分区)可以被加到相对应的预测分区以生成重建的预测分区。
可以经由如本文讨论的编码器系统中的任何一个来实现过程1300。此外,过程1300可以在视频数据的任何数量的例示(例如,预测误差数据分区、原始数据分区、或小波数据等)上串行或并行地重复(例如,在操作1301,过程1300可以接收原始数据或小波数据以用于与所述预测误差数据分区类似地处理)。在一些示例中,操作1322到1326可以包括生成第一解 码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改的特性参数;至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第一修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型;至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据;以及至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。
在操作中,过程1300可以生成第一解码的预测参考图片和第二解码的预测参考图片。可以至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数。可以至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型。可以至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据。可以至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。
在一些示例中,过程1300可以操作来生成第一解码的预测参考图片和第二解码的预测参考图片。可以至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数。可以至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型。可以至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据。可以至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。可 以至少部分地基于第二修改的预测参考图片来生成与当前图片的预测分区相关联的第二运动数据,使得生成运动数据可以包括至少部分地基于第一修改的预测参考图片来生成运动数据。可以至少部分地基于第二运动数据和第二修改的预测参考图片来执行第二运动补偿以生成预测分区的第二预测的分区数据,使得执行运动补偿可以包括至少部分地基于第一修改的预测参考图片来执行运动补偿。预测的分区数据和第二预测的分区数据可以被装配以生成预测分区的最终预测分区数据,使得装配预测的分区数据和第二预测的分区数据可以包括对预测的分区数据和第二预测的分区数据进行平均。可以确定预测的分区数据或最终预测分区和与预测分区相关联的原始像素数据的差异以生成预测误差数据分区;划分预测误差数据分区以生成多个编码分区。可以在多个编码分区上执行正向变换以生成与多个编码分区相关联的变换系数;量化变换系数以生成量化的变换系数。量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据、与预测分区相关联的模式、类似物和/或其组合可以被熵编码到比特流中。所述比特流可以从编码器100被发送到解码器200。
在这样的示例中,可以基于使用运动数据和修改的预测参考图片的运动补偿来生成预测的分区数据。在一些示例中,两个或多个修改的预测参考图片可以用于生成运动数据的一个或多个实例(例如,参考两个或多个修改的预测参考图片的两个或多个运动矢量)和与单个预测分区相关联的两个或多个预测分区。预测分区然后可以被装配(例如,被平均、经由加权平均来装配等)以生成预测分区的最终预测分区(例如,最终预测分区数据)。例如,可以基于第二修改的预测参考图片(其可以是如本文讨论的任何类型)来确定与预测分区相关联的第二运动数据。可以基于第二运动数据和第二修改的预测参考图片来执行第二运动补偿以生成第二预测分区(例如,第二预测的分区数据)。第二预测分区可以与第一预测分区(以类似的方式生成并且如本文所讨论的)装配以生成最终预测分区(例如,最终预测分区数据),其可以如本文所讨论的被使用以用于编码。
类似地,过程1300可以操作,使得比特流可以由解码器200接收。比特流可以被熵编码以确定与预测分区相关联的量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据、模式、类似物和/或其组合。可 以至少部分地基于量化的变换系数来执行反向量化以生成解码的变换系数。可以至少部分地基于解码的变换系数来执行反向变换以生成多个解码的编码分区。所述多个解码的编码分区可以被装配以生成解码的预测误差数据分区。可以生成第三解码的预测参考图片和第四解码的预测参考图片。可以至少部分地基于第三修改特性参数来生成第三修改的预测参考图片的至少一部分。可以至少部分地基于相关联的第二修改特性参数来生成第四修改的预测参考图片的至少一部分。可以至少部分地基于运动数据和第三修改的预测参考图片的部分或第四修改的预测参考图片的部分中的至少一个来执行运动补偿以生成解码的预测的分区数据。可以将解码的预测的分区数据加到解码的预测误差数据分区以生成第一重建的预测分区。第一重建的预测分区和第二重建的预测分区可以被装配以生成第一瓦片或第一超分片中的至少一个。解块滤波或质量恢复滤波中的至少一个可以被应用于第一瓦片或第一超分片以生成第一最终解码的瓦片或超分片。第一最终解码的瓦片或超分片和第二最终解码的瓦片或超分片可以被装配以生成解码的视频帧;发送解码的视频帧以用于经由显示设备来呈现。可以至少部分地基于第一解码的预测参考图片、第二解码的预测参考图片或第三解码的预测参考图片来生成与当前图片的第二预测分区相关联的第二运动数据。在当前图片包括P-图片的情况下,可以至少部分地基于解码的预测参考图片和修改的预测参考图片总共十个预测参考图片来进一步生成与当前图片的第三预测分区相关联的第三运动数据。在当前图片包括F-图片/B-图片的情况下,可以至少部分地基于解码的预测参考图片和修改的预测参考图片总共十一个预测参考图片来进一步生成与当前图片的第四预测分区相关联的第四运动数据。第一修改的预测参考图片可以包括变形的预测参考图片、合成的预测参考图片、增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、超分辨率预测参考图片、投影轨迹预测参考图片、类似物和/或其组合中的至少一个。第一修改的预测参考图片可以包括变形的预测参考图片,而第二修改的预测参考图片可以包括合成的预测参考图片。变形的预测参考图片可以包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、类似物和/或其组合中的至少一个。 合成的预测参考图片可以包括超分辨率预测参考图片、投影轨迹预测参考图片、类似物和/或其组合中的至少一个。第一解码的预测参考图片可以包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。运动数据可以包括运动矢量。
在又一示例中,过程1300可以生成解码的预测参考图片。可以生成与解码的预测参考图片的修改分块相关联的修改特性参数。可以至少部分地基于至少部分地基于解码的预测参考图片和修改特性参数的修改的参考分区来生成与当前图片的预测分区相关联的运动数据。可以至少部分地基于运动数据和修改的参考分区来执行运动补偿以生成预测分区的预测的分区数据。
在这样的示例中,过程1300可以进一步生成解码的预测参考图片;生成与解码的预测参考图片的修改分块相关联的修改特性参数;至少部分地基于至少部分地基于解码的预测参考图片和修改特性参数而生成的修改参考的分区来生成与当前图片的预测分区相关联的运动数据;至少部分地基于运动数据和修改的参考分区来执行运动补偿以生成预测分区的预测的分区数据;生成与解码的预测参考图片的第二修改分块相关联的第二修改特性参数,使得修改分块和第二修改分块包括不同的分块;至少部分地基于至少部分地基于解码的预测参考图片和第二修改特性参数而生成的第二修改的参考分区来生成与当前图片的预测分区相关联的第二运动数据;至少部分地基于运动数据和第二修改的参考分区来执行第二运动补偿以生成预测分区的第二预测的分区数据;以及装配预测的分区数据和第二预测的分区数据以生成预测分区的最终预测分区数据,使得装配预测的分区数据和第二预测的分区数据可以包括对预测的分区数据和第二预测的分区数据进行平均。修改特性参数可以包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个。第二修改特性参数可以包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个。
在这样的示例中,可以使用基于局部的技术来确定修改的特性参数和 修改的参考图片。例如,可以基于解码的预测参考图片的修改分块来确定修改的特性参数。例如,划分可以包括将解码的预测参考图片划分成瓦片、块、分片等。划分可以将预测参考图片分成重复的形状(例如,正方形或矩形),或划分可以基于划分技术(例如,k-d树划分、二分树划分等)来分隔预测参考图片。例如,划分技术可以基于修改的类型(例如,增益、模糊、主要运动、配准、超分辨率、或投影轨迹等)而改变。运动数据可以基于修改的参考分区(例如,基于修改的特性参数而修改的预测参考图片的分区),针对当前图片的预测分区(例如,用于预测的分区而不是预测参考图片的分区)生成。这样的运动估计可以被考虑为基于局部的,因为它使用与全局修改的预测参考图片相对的预测参考图片的修改的分区。预测的分区可以用于编码,正如在本文其它地方所讨论的。此外在一些示例中,基于局部的技术可以被重复一次或多次以生成两个或更多个预测的分区,其可以如所讨论的被装配(例如,经由平均化等)以生成最终预测分区。此外,可以使用如在本文中所讨论的任何修改技术(例如,增益、模糊、主要方向、配准、超分辨率、或投影轨迹等)来执行基于局部的技术。
虽然本文的示例过程的实现可以包括实施以所示顺序示出的所有操作,但是本公开并不被限制在这个方面中,并且在各种示例中,本文的示例过程的实现可以包括实施所示的操作的仅仅子集和/或以与所示的不同的顺序实施。
可以在软件、固件、和/或硬件和/或其任何组合中实现本文所述的系统的各种部件。例如,系统1400的各种部件可以至少部分地由例如可以在计算系统(例如,智能电话)中的计算片上系统(SoC)提供。本领域中的技术人员可以认识到,本文描述的系统可以包括未在相对应的图中描绘的附加部件。例如,本文讨论的系统可以包括为了清楚而未被描绘的附加部件,例如,比特流多路复用器或解多路复用器模块等。
此外,可以响应于由一个或多个计算机程序产品提供的指令而实施本文讨论的操作中的任何一个或多个。这样的程序产品可以包括承载提供指令的介质的信号,所述指令当由例如处理器执行时可以提供本文所描述的功能。可以以任何形式的一个或多个机器可读介质来提供计算机程序产品。因此例如,包括一个或多个处理器核心的处理器可以响应于由一个或多个 机器可读介质传送到处理器的程序代码和/或指令或指令集来实施本文的示例过程的操作中的一个或多个。通常,机器可读介质可以程序代码和/或指令或指令集的形式来传送软件,所述程序代码和/或指令或指令集可以使本文描述的设备和/或系统中的任何一个实现如本文讨论的视频系统的至少部分。
如在本文描述的任何实现中使用的,术语“模块”指被配置为提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。软件可以被体现为软件封装、代码和/或指令集或指令,并且如在本文描述的任何实现中使用的“硬件”,可以包括例如单独地或以任何组合的硬连线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可以共同或单独地被体现为形成大型系统的部分的电路,所述大型系统例如集成电路(IC)、片上系统(SoC)等。例如,模块可以被体现在逻辑电路中,用于经由本文公开的编码系统的软件、固件、或硬件来实现。
图14是根据本公开的至少一些实施例布置的示例视频编码系统1400的示意图。在所示的实现中,视频编码系统1400可以包括成像设备1401、视频编码器100、视频解码器200(和/或经由处理单元1420的逻辑电路1450实现的视频编码器)、天线1402、一个或多个处理器1403、一个或多个存储器存储装置1404、和/或显示设备1405。
如所示出的,成像设备1401、天线1402、处理单元1420、逻辑电路1450、视频编码器100、视频解码器200、处理器1403、存储器存储装置1404、和/或显示设备1405能够彼此通信。如所讨论的,虽然示出了视频编码器100和视频解码器200二者,但是在各种示例中,视频编码系统1400可以包括仅仅视频编码器100或仅仅视频解码器200。此外,虽然关于视频编码器和/或视频解码器进行了描述,但是在一些示例中,系统1400可以实现图7的视频编码器700和/或图8的解码器800。
如所示出的,在一些示例中,视频编码系统1400可以包括天线1402。天线1402可以被配置为发送或接收例如视频数据的编码的比特流。此外,在一些示例中,视频编码系统1400可以包括显示设备1405。显示设备1405可以被配置为呈现视频数据。如所示出的,在一些示例中,可以经由处理单元1420来实现逻辑电路1450。处理单元1420可以包括专用集成电路 (ASIC)逻辑、图形处理器、通用处理器等。视频编码系统1400还可以包括可选的处理器1403,其可以类似地包括专用集成电路(ASIC)逻辑、图形处理器、通用处理器等。在一些示例中,可以经由硬件、视频编码专用硬件等来实现逻辑电路1450,以及可以经由通用软件、操作系统等来实现处理器1403。此外,存储器存储装置1404可以是任何类型的存储器,例如,易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等。在非限制性示例中,存储器存储装置1404可以由高速缓冲存储器实现。在一些示例中,逻辑电路1450可以访问存储器存储装置1404(用于实现例如图像缓冲器)。在其它示例中,逻辑电路1450和/或处理单元1420可以包括用于实现图像缓冲器等的存储器存储装置(例如,高速缓冲存储器等)。
在一些示例中,经由逻辑电路实现的视频编码器100可以包括图像缓冲器(例如,经由处理单元1420或存储器存储装置1404)和图形处理单元(例如,经由处理单元1420)。图形处理单元可以通信地耦合到图像缓冲器。图形处理单元可以包括如经由逻辑电路1450实现以体现如关于图1、图3、图5和图8实现的各种模块的视频编码器100(或编码器700)。例如,图形处理单元可以包括编码分区发生器逻辑电路、自适应变换逻辑电路、内容预分析器、编码控制器逻辑电路、自适应熵编码器逻辑电路等。
逻辑电路可以被配置为执行如本文讨论的各种操作。例如,编码分区发生器逻辑电路可以被配置为包括图像缓冲器和图形处理单元,所述图形处理单元包括变形分析器和生成逻辑电路、合成分析器和生成逻辑电路、运动估计器逻辑电路、以及特性和运动补偿滤波预测器逻辑电路,其中图形处理单元可以被耦合到图像缓冲区,以及其中变形分析器和生成逻辑电路可以被配置为接收第一解码的预测参考图片,并且至少部分地基于第一解码的预测参考图片来生成变形的预测参考图片和与变形的预测参考图片相关联的变形特性参数,其中合成分析器和生成逻辑电路可以被配置为接收第二解码的预测参考图片,并且至少部分地基于第二解码的预测参考图片来生成合成的预测参考图片和与合成的预测参考图片相关联的合成特性参数,其中运动估计器逻辑电路可以被配置为至少部分地基于变形的预测参考图片或合成的预测参考图片中的一个来生成与当前图片的预测分区相 关联的运动数据,并且其中特性和运动补偿滤波预测器逻辑电路可以被配置为至少部分地基于运动数据和变形的预测参考图片或合成的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。视频解码器200可以用类似的方式实现。
在一些示例中,视频编码系统1400的天线1402可以被配置为接收视频数据的编码的比特流。视频编码系统1400还可以包括耦合到天线1402并且被配置为对编码的比特流进行解码的视频解码器200(或解码器1800)。
在示例实施例中,解码器系统可以包括被配置为对编码的比特流进行解码的视频解码器200(或解码器1800),其中视频解码器可以被配置为对编码的比特流进行解码以确定第一修改的图片特性参数、第二修改的图片特性参数、和与预测分区相关联的运动数据;生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片和第一修改的图片特性参数来生成第一修改的预测参考图片的至少一部分;至少部分地基于第二解码的预测参考图片和第一修改的图片特性参数来生成第二修改的预测参考图片的至少一部分,其中第二修改的参考图片可以具有与第一修改的参考图片不同的类型;至少部分地基于运动数据和第一修改的预测参考图片的部分或第二修改的预测参考图片的部分中的至少一个来执行运动补偿以生成与预测分区相关联的解码的预测分区数据;将解码的预测分区数据加到解码的预测分区误差数据以生成第一重建的预测分区;以及装配第一重建的分区和第二重建的分区以生成瓦片或超分片中的至少一个。
在实施例中,可以响应于由一个或多个计算机程序产品提供的指令来实施本文描述的特征。这样的程序产品可以包括承载了提供指令的介质的信号,所述指令当由例如处理器执行时可以提供本文所描述的功能。计算机程序产品可以以一个或多个机器可读介质的任何形式被提供。因此例如,包括一个或多个处理器核心的处理器可以响应于由一个或多个机器可读介质传送到处理器的程序代码和/或指令或指令集来实施本文所述的示例过程的一个或多个特征。通常,机器可读介质可以传送以可以使本文描述的设备和/或系统中的任何一个实现本文描述的特征的至少部分的程序代码和/或指令或指令集的形式的软件。
图15是根据本公开的至少一些实现布置的示例系统1500的示意图。在各种实现中,系统1500可以是介质系统,但是系统1500不限于这个上下文。例如,系统1500可以被合并到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触控板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备、照相机(例如,自动照相机、超级变焦照相机、数码单镜头反光(DSLR)照相机)等中。
在各种实现中,系统1500包括耦合到显示器1520的平台1502。平台1502可以从内容设备(例如,内容服务设备1530或内容分发设备1540或其它类似的内容源)接收内容。包括一个或多个导航特征的导航控制器1550可以用于与例如平台1502和/或显示器1520进行交互。下面更详细描述这些部件中的每一个。
在各种实现中,平台1502可以包括芯片组1505、处理器1510、存储器1512、天线1513、存储装置1514、图形子系统1515、应用1516和/或无线装置1518的任何组合。芯片组1505可以提供在处理器1510、存储器1512、存储装置1514、图形子系统1515、应用1516和/或无线装置1518当中的相互通信。例如,芯片组1505可以包括能够提供与存储装置1514的相互通信的存储适配器(未描绘)。
处理器1510可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核心、或任何其它微处理器或中央处理单元(CPU)。在各种实现中,处理器1510可以是双核处理器、双核移动处理器等。
存储器1512可以被实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
存储装置1514可以被实现为非易失性存储设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连的存储设备、闪存、电池备份SDRAM(同步DRAM)、和/或网络可访问的存储设备。在各种实现中,存储装置1514可以包括例如当多个硬盘驱动器被包括时增加对有价值的数字媒体的存储性能增强保护的技术。
图形子系统1515可以执行图像(例如,静止图像或视频)的处理以用于显示。图形子系统1515可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用于通信地耦合图形子系统1515和显示器1520。例如,接口可以是高清多媒体接口、显示端口、无线HDMI、和/或兼容无线HD的技术中的任一个。图形子系统1515可以被集成到处理器1510或芯片组1505中。在一些实现中,图形子系统1515可以是通信地耦合到芯片组1505的独立设备。
本文描述的图形和/或视频处理技术可以在各种硬件体系结构中实现。例如,图形和/或视频功能可以被集成在芯片组中。可选地,可以使用分立的图形和/或视频处理器。作为又一实现,图形和/或视频功能可以由包括多核处理器的通用处理器提供。在另外的实施例中,可以在消费电子设备中实现功能。
无线装置1518可以包括能够使用各种适当的无线通信技术来发送和接收信号的一个或多个无线装置。这样的技术可以涉及在一个或多个无线网络当中的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络、和卫星网络。在这样的网络当中的通信中,无线装置1518可以根据任何版本的一个或多个可应用的标准来操作。
在各种实现中,显示器1520可以包括任何电视机型监视器或显示器。显示器1520可以包括例如计算机显示屏、触摸屏显示器、视频监视器、电视机型设备和/或电视机。显示器1520可以是数字的和/或模拟的。在各种实现中,显示器1520可以是全息显示器。此外,显示器1520可以是可以接收视觉投影的透明表面。这样的投影可以传送各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用15115的控制下,平台1502可以在显示器1520上显示用户界面1522。
在各种实现中,内容服务设备1530可以由任何国家、国际和/或独立服务托管,并且因此是平台1502经由例如互联网可以访问的。内容服务设备1530可以耦合到平台1502和/或显示器1520。平台1502和/或内容服务设备1530可以耦合到网络1560以向和从网络1560传递(例如,发送和/ 或接收)媒体信息。内容分发设备1540还可以耦合到平台1502和/或显示器1520。
在各种实现中,内容服务设备1530可以包括有线电视盒、个人计算机、网络、电话、启用互联网的设备或能够分发数字信息和/或内容的电器、和能够经由网络1560或直接地在内容提供者和平台1502和/或显示器1520之间单向或双向地传递内容的任何其它类似设备。将认识到,可以经由网络1560从和向系统1500中的任一个部件和内容提供者单向和/或双向地传递内容。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
内容服务设备1530可以接收内容,例如,有线电视节目,包括媒体信息、数字信息、和/或其它内容。内容提供者的示例可以包括任何有线或卫星电视或广播或互联网内容提供者。所提供的示例并不是要以任何方式来限制根据本发明的实现。
在各种实现中,平台1502可以从具有一个或多个导航特征的导航控制器1550接收控制信号。控制器1550的导航特征可以用于与例如用户界面1522进行交互。在各种实施例中,导航控制器1550可以是定点设备,其可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件部件(具体地,人机接口设备)。很多系统(例如,图形用户界面(GUI)和电视机和监视器)允许用户使用物理手势来控制数据和将数据提供到计算机或电视机。
可以通过指针、光标、聚焦环或显示在显示器上的其它视觉指示符的运动来在显示器(例如,显示器1520)上复制控制器1550的导航特征的运动。例如,在软件应用1516的控制下,位于导航控制器1550上的导航特征可以被映射到显示在用户界面1522上的虚拟导航特征。在各种实施例中,控制器1550可以不是单独的部件,但可以被集成到平台1502和/或显示器1520中。然而,本公开并不限于在本文所示或所述的元件或上下文中。
在各种实现中,驱动器(未示出)可以包括使用户能够像电视机一样例如在初始引导之后,当被启动时使用按钮的触摸即时地打开和关闭平台1502的技术。程序逻辑可以允许平台1502将内容流式地传送到媒体适配器或其它内容服务设备1530或内容分发设备1540,即使平台被“关闭”时。 此外,芯片组1505可以包括例如支持5.1环绕声音频和/或高分辨率7.1环绕声音频的硬件和/或软件。驱动器可以包括集成图形平台的图形驱动器。在各种实施例中,图形驱动器可以包括快速外围部件互连(PCI)图形卡。
在各种实现中,可以集成在系统1500中示出的部件中的任何一个或多个。例如,可以集成平台1502和内容服务设备1530,或可以集成平台1502和内容分发设备1540,或例如可以集成平台1502、内容服务设备1530、和内容分发设备1540。在各种实施例中,平台1502和显示器1520可以是集成单元。例如可以集成显示器1520和内容服务设备1530,或可以集成显示器1520和内容分发设备1540。这些示例并不是要限制本公开。
在各种实施例中,系统1500可以被实现为无线系统、有线系统、或这两者的组合。当被实现为无线系统时,系统1500可以包括适合于通过无线共享介质(例如,一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等)进行通信的部件和接口。无线共享介质的示例可以包括无线频谱(例如,RF频谱等)的部分。当被实现为有线系统时,系统1500可以包括适合于通过有线通信介质(例如,输入/输出(I/O)适配器、用于使I/O适配器与相对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等)进行通信的部件和接口。有线通信介质的示例可以包括电线、电缆、金属引线、印刷电路板(PCB)、底板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等。
平台1502可以建立一个或多个逻辑或物理通道以传递信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示用于用户的内容的任何数据。内容的示例可以包括例如来自语音对话、视频会议、流式视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如说话信息、静默时间段、背景噪声、舒适噪声、音调等。控制信息可以指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于通过系统按规定路线发送媒体信息或指示节点以预定方式处理媒体信息。然而,实施例并不限于图15所示或所述的元件或上下文中。
如上所述,系统1500可以体现在变化的物理风格或形状因子中。图16示出了系统1600可以体现于其中的小形状因子设备1600的实现中。在 各种实施例中,例如,设备1600可以被实现为具有无线能力的移动计算设备。移动计算设备可以指例如具有处理系统和移动功率源或电源(例如,一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触控板、便携式计算机、手持计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如,智能电话、智能平板计算机或智能电视机)、移动互联网设备(MID)、消息发送设备、数据通信设备、照相机(例如,自动照相机、超级变焦照相机、数码单镜头反光(DSLR)照相机)等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如,手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、衣服计算机,和其它可穿戴的计算机。在各种实施例中,例如移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然作为示例可以使用被实现为智能电话的移动计算设备来描述一些实施例,但是可以认识到,也可以使用其它无线移动计算设备来实现其它实施例。实施例并不被限制在这个上下文中。
如图16所示,设备1600可以包括壳体1602、可以包括用户界面1610的显示器1604、输入/输出(I/O)设备1606、和天线1608。设备1600还可以包括导航特征1612。显示器1604可以包括用于显示适合于移动计算设备的信息的任何适当的显示单元。I/O设备1606可以包括用于将信息输入到移动计算设备中的任何适当的I/O设备。I/O设备1606的示例可以包括字母数字键盘、数字小键盘、触控板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、语音识别设备和软件等。信息还可以通过麦克风(未示出)被输入到设备1600中。这样的信息可以由语音识别设备(未示出)被数字化。实施例并不被限制在所述上下文中。
可以使用硬件元件、软件元件或这两者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可 以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。确定实施例是否是使用硬件元件和/或软件元件来实现的可以根据任何数量的因素(例如,期望的计算速率、功率电平、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、和其它设计或性能约束)而改变。
至少一个实施例的一个或多个方面可以由存储在表示在处理器内的各种逻辑的机器可读介质上的代表性指令实现,所述指令在由机器读取时使机器制造逻辑以执行本文描述的技术。被称为“IP核心”的这样的表示可以存储在有形、机器可读介质上并且被提供到各种消费者或制造设施以加载到实际上制造逻辑或处理器的制造机器中。
虽然关于各种实现描述了本文所阐述的某些特征,但是这个描述并不是要以限制性的意义被解释。因此,本文描述的实现以及对本公开所属的领域中的技术人员显而易见的其它实现的各种修改被认为在本公开的精神和范围内。
下面的示例涉及另外的实施例。
在一个示例中,用于视频编码的计算机实现的方法可以包括:生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数;至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片具有与第一修改的参考图片不同的类型;至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来生成与当前图片的预测分区相关联的运动数据;以及至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据。
在另一示例中,用于视频编码的计算机实现的方法可以包括:生成第 一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数;至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第一修改的预测参考图片相关联的第二修改特性参数,其中第二修改的参考图片具有与第一修改的参考图片不同的类型;至少部分地基于第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来生成与当前图片的预测分区相关联的运动数据;至少部分地基于运动数据和第一修改的预测参考图片或第二修改的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测的分区数据;至少部分地基于第二修改的预测参考图片来生成与当前图片的预测分区相关联的第二运动数据,使得生成运动数据可以包括至少部分地基于第一修改的预测参考图片来生成运动数据;至少部分地基于第二运动数据和第二修改的预测参考图片来执行第二运动补偿以生成预测分区的第二预测的分区数据,使得执行运动补偿可以包括至少部分地基于第一修改的预测参考图片来执行运动补偿;装配预测的分区数据和第二预测的分区数据以生成预测分区的最终预测分区数据,使得装配预测的分区数据和第二预测的分区数据可以包括对预测的分区数据和第二预测的分区数据进行平均;确定预测的分区数据或最终预测分区和与预测分区相关联的原始像素数据的差异以生成预测误差数据分区;划分预测误差数据分区以生成多个编码分区;在多个编码分区上执行正向变换以生成与多个编码分区相关联的变换系数;量化变换系数以生成量化的变换系数;将量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据、和与预测分区相关联的模式熵编码到比特流中;发送比特流;接收比特流;将比特流进行熵解码以确定量化的变换系数、第一修改特性参数、第二修改特性参数、运动数据和与预测分区相关联的模式;至少部分地基于量化的变换系数来执行反向量化以生成解码的变换系数;至少部分地基于解码的变换系数来执行反向变换以生成多个解码的编码分区;装配多个解码的编码分区以生成解码的预测误差数据分区;生成第三解码的预测参考图片和第四解码的预测参考图片;至少部分地基于第三修改特性参数来生成第三修改的预测参考图片的至少一部分;至少部分地基于相关联的第二修改特性参数来生成第四修 改的预测参考图片的至少一部分;至少部分地基于运动数据和第三修改的预测参考图片的部分或第四修改的预测参考图片的部分中的至少一个来执行运动补偿以生成解码的预测分区数据;将解码的预测分区数据加到解码的预测误差数据分区以生成第一重建的预测分区;装配第一重建的预测分区和第二重建的预测分区以生成第一瓦片或第一超分片中的至少一个;将解块滤波或质量恢复滤波中的至少一个应用于第一瓦片或第一超分片以生成第一最终解码的瓦片或超分片;装配第一最终解码的瓦片或超分片和第二最终解码的瓦片或超分片以生成解码的视频帧;发送解码的视频帧用于经由显示设备呈现;至少部分地基于第一解码的预测参考图片、第二解码的预测参考图片、或第三解码的预测参考图片来生成与当前图片的第二预测分区相关联的第二运动数据;在当前图片包括P-图片的场合,进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十个预测参考图片来生成与当前图片的第三预测分区相关联的第三运动数据;以及在当前图片包括F-图片/B-图片的场合,进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十一个预测参考图片来生成与当前图片的第四预测分区相关联的第四运动数据;第一修改的预测参考图片包括变形预测参考图片、合成预测参考图片、增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、超分辨率预测参考图片、或投影轨迹预测参考图片中的至少一个;第一修改的预测参考图片包括变形的预测参考图片,而第二修改的预测参考图片包括合成的预测参考图片;变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片中的至少一个;合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个;第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个;以及运动数据包括运动矢量。
在另一示例中,用于视频编码的计算机实现的方法可以包括:生成解码的预测参考图片;生成与解码的预测参考图片的修改分块相关联的修改特性参数;至少部分地基于至少部分地基于解码的预测参考图片和修改特性参数而生成的修改的参考分区来生成与当前图片的预测分区相关联的运 动数据;以及至少部分地基于运动数据和修改的参考分区来执行运动补偿以生成预测分区的预测的分区数据。
在另一示例中,用于视频编码的计算机实现的方法可以包括:生成解码的预测参考图片;生成与解码的预测参考图片的修改分块相关联的修改特性参数;至少部分地基于至少部分地基于解码的预测参考图片和修改特性参数而生成的修改的参考分区来生成与当前图片的预测分区相关联的运动数据;至少部分地基于运动数据和修改的参考分区来执行运动补偿以生成预测分区的预测的分区数据;生成与解码的预测参考图片的第二修改分块相关联的第二修改特性参数,使得修改分块和第二修改分块包括不同的分块;至少部分地基于至少部分地基于解码的预测参考图片和第二修改特性参数而生成的第二修改的参考分区来生成与当前图片的预测分区相关联的第二运动数据;至少部分地基于运动数据和第二修改的参考分区来执行第二运动补偿以生成预测分区的第二预测的分区数据;以及装配预测的分区数据和第二预测的分区数据以生成预测分区的最终预测分区数据,使得装配预测的分区数据和第二预测的分区数据可以包括对预测的分区数据和第二预测的分区数据进行平均。修改特性参数可以包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数或投影轨迹特性参数中的至少一个。第二修改特性参数可以包括变形特性参数、合成特性参数、增益特性参数、模糊特性参数、主要运动特性参数、配准特性参数、超分辨率特性参数、或投影轨迹特性参数中的至少一个。
在另一示例中,视频编码器可以包括:图像缓冲器;图形处理单元,所述图形处理单元包括变形分析器和生成逻辑电路、合成分析器和生成逻辑电路、运动估计器逻辑电路、以及特性和运动补偿滤波预测器逻辑电路,其中图形处理单元可以通信地耦合到图像缓冲器,而变形分析器和生成逻辑电路可以被配置为接收第一解码的预测参考图片,并且至少部分地基于第一解码的预测参考图片来生成变形的预测参考图片和与变形的预测参考图片相关联的变形特性参数,其中合成分析器和生成逻辑电路可以被配置为接收第二解码的预测参考图片,并且至少部分地基于第二解码的预测参考图片来生成合成的预测参考图片和与合成的预测参考图片相关联的合成 特性参数,其中运动估计器逻辑电路可以被配置为至少部分地基于变形的预测参考图片或合成的预测参考图片中的一个来生成与当前图片的预测分区相关联的运动数据,并且其中特性和运动补偿滤波预测器逻辑电路可以被配置为至少部分地基于运动数据和变形的预测参考图片或合成的预测参考图片中的至少一个来执行运动补偿以生成预测分区的预测分区数据。
在另一附加的示例中,所述图形处理单元还可以包括:区分确定器,其被配置为确定预测分区数据和与预测分区相关联的原始像素数据的差异以生成预测误差数据分区;编码分区逻辑电路,其被配置为划分预测误差数据分区以生成多个编码分区;自适应变换逻辑电路,其被配置为在多个编码分区上执行正向变换以生成与多个编码分区相关联的变换系数;自适应量化逻辑电路,其被配置为量化变换系数以生成量化的变换系数;以及自适应熵编码器逻辑电路,其被配置为使量化的变换系数、变形特性参数、合成特性参数、运动数据和与预测分区相关联的模式熵编码到比特流中,并且发送比特流;其中运动估计器逻辑电路还被配置为至少部分地基于第一解码的预测参考图片、第二解码的预测参考图片、或第三解码的预测参考图片来生成与当前图片的第二预测分区相关联的第二运动数据,至少部分地基于解码的预测参考图片和修改的预测参考图片总共十个预测参考图片(其中当前图片包括P-图片)来生成与当前图片的第三预测分区相关联的第三运动数据,以及进一步至少部分地基于解码的预测参考图片和修改的预测参考图片总共十一个预测参考图片(其中当前图片包括F-图片/B-图片)来生成与当前图片的第四预测分区相关联的第四运动数据,其中变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、或配准修改的预测参考图片中的至少一个,其中合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个,并且其中第一解码的预测参考图片包括过去解码的预测参考图片或未来解码的预测参考图片中的至少一个。
在又一附加的示例中,解码器系统可以包括被配置为接收视频数据的解码的比特流的天线和通信地耦合到天线并且被配置为对编码的比特流进行解码的视频解码器,其中视频解码器被配置为对编码的比特流进行解码以确定第一修改的图片特性参数、第二修改的图片特性参数、和与预测分 区相关联的运动数据;生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片和第一修改的图片特性参数来生成第一修改的预测参考图片的至少一部分;至少部分地基于第二解码的预测参考图片和第二修改的图片特性参数来生成第二修改的预测参考图片的至少一部分(其中第二修改的预测参考图片具有与第一修改的预测参考图片不同的类型);至少部分地基于运动数据和第一修改的预测参考图片的部分或第二修改的预测参考图片的部分中的至少一个来执行运动补偿以生成与预测分区相关联的解码的预测分区数据;将解码的预测分区数据加到解码的预测分区误差数据以生成第一重建的预测分区;以及装配第一重建的预测分区和第二重建的预测分区以生成第一瓦片或第一超分片中的至少一个。
在另一附加的示例中,所述解码器系统还可以包括被配置为呈现视频帧的显示设备,其中视频解码器还被配置为对编码的比特流进行解码以确定与预测分区的预测误差数据相关联的量化的变换系数和与预测分区相关联的模式;至少部分地基于量化的变换系数来执行反向量化以生成解码的变换系数;至少部分地基于解码变换系数来执行反向变换以生成多个解码的编码分区;装配多个解码的编码分区以生成与预测分区相关联的预测分区误差数据;将解块滤波或质量恢复滤波中的至少一个应用于瓦片或第一超分片以生成第一最终解码的瓦片或超分片;装配第一最终解码的瓦片或超分片和第二最终解码的瓦片或超分片以生成解码的视频帧;以及发送解码的视频帧用于经由显示设备来呈现,其中第一修改的预测参考图片包括变形的预测参考图片、合成的预测参考图片、增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片、配准修改的预测参考图片、超分辨率预测参考图片、或投影轨迹预测参考图片中的至少一个,其中第一修改的预测参考图片包括变形的预测参考图片,而第二修改的预测参考图片包括合成的预测参考图片,其中变形的预测参考图片包括增益修改的预测参考图片、模糊修改的预测参考图片、主要运动修改的预测参考图片或配准修改的预测参考图片中的至少一个,其中合成的预测参考图片包括超分辨率预测参考图片或投影轨迹预测参考图片中的至少一个,其中第一解码的预测参考图片包括过去解码的预测参考图片或未来解 码的预测参考图片中的至少一个;以及其中运动数据包括运动矢量。
在另一示例中,至少一个机器可读介质可以包括多个指令,所述指令响应于在计算设备上被执行,使得计算设备根据上述示例中的任一个的方法执行。
在又一示例中,装置可以包括用于执行根据上述示例中的任一个的方法的模块。
上述示例可以包括特征的特定组合。然而,这样的上述示例并不被限制在这个方面中,并且在各种实现中,上述示例可以包括实施这样的特征的仅仅子集、实施这样的特征的不同顺序、实施这样的特征的不同组合、和/或实施除了明确列出的那些特征以外的附加特征。例如,关于示例方法描述的所有特征可以关于示例装置、示例系统和/或实例物品来实现,反之亦然。

下一代视频的内容自适应、特性补偿预测.pdf_第1页
第1页 / 共71页
下一代视频的内容自适应、特性补偿预测.pdf_第2页
第2页 / 共71页
下一代视频的内容自适应、特性补偿预测.pdf_第3页
第3页 / 共71页
点击查看更多>>
资源描述

《下一代视频的内容自适应、特性补偿预测.pdf》由会员分享,可在线阅读,更多相关《下一代视频的内容自适应、特性补偿预测.pdf(71页珍藏版)》请在专利查询网上搜索。

用于视频编码的内容自适应特性补偿预测的计算机实现的方法包括:生成第一解码的预测参考图片和第二解码的预测参考图片;至少部分地基于第一解码的预测参考图片来生成第一修改的预测参考图片和与第一修改的预测参考图片相关联的第一修改特性参数;至少部分地基于第二解码的预测参考图片来生成第二修改的预测参考图片和与第二修改的预测参考图片相关联的第二修改特性参数;至少部分地基于第一修改的预测参考图片或第二修改的预测参考。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1