通过共帧运动矢量的运动预测代码化的制作方法

文档序号:22627494发布日期:2020-10-23 19:36阅读:来源:国知局

技术特征:

1.一种方法,包括:

由处理器通过对来自编码比特流的当前帧进行解码来生成解码帧,其中解码包括:

从所述当前帧中识别当前块;

基于所述当前块的代码化信息来识别先前解码的块;

确定所述先前解码的块的运动信息是否包括所述先前解码的块的共帧运动矢量;

确定是否基于参考共帧来识别用于对所述当前块进行解码的预测块;

响应于确定省略基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:

响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:

基于所述先前解码的块的空间位置和所述先前解码的块的所述共帧运动矢量,识别所述参考共帧中的对准块;

基于所述对准块的运动场信息来确定所述对准块的运动矢量;

基于所述对准块的所述运动矢量和所述先前解码的块的所述共帧运动矢量,确定所述当前块的运动矢量预测;

基于所述当前块的所述运动矢量预测来确定所述当前块的运动矢量;并且

基于由所述当前块的所述运动矢量所指示的参考帧来识别所述预测块;

响应于确定基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:

响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:

基于所述先前解码的块的所述共帧运动矢量来确定所述当前块的共帧运动矢量预测;

响应于确定所述先前解码的块的所述运动信息省略了所述先前解码的块的所述共帧运动矢量:

根据所述先前解码的块的所述运动信息来识别前向运动矢量;

根据所述先前解码的块的所述运动信息来识别后向运动矢量;

基于所述前向运动矢量和所述后向运动矢量来确定所述当前块的共帧运动矢量预测;

基于所述当前块的所述共帧运动矢量预测来确定所述当前块的共帧运动矢量;并且

基于所述参考共帧和所述当前块的所述共帧运动矢量来识别所述预测块;

基于所述预测块来生成与所述当前块相对应的解码块;并且

将所述解码块包括在所述解码帧中;以及

基于所述解码帧来输出重构帧。

2.根据权利要求1所述的方法,其中,解码包括:

基于与所述当前帧的时空位置相对应的时空位置处的运动场,为所述当前帧生成所述参考共帧,使得所述参考共帧指示帧序列当中的所述时空位置处的线性运动,其中所述帧序列包括所述当前帧。

3.根据权利要求1或2所述的方法,其中:

所述先前解码的块的所述共帧运动矢量指示所述先前解码的块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移;并且

所述当前块的所述共帧运动矢量指示所述当前块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移。

4.根据权利要求1至3中的任一项所述的方法,其中,确定是否基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块包括:

对来自所述编码比特流的所述当前块的所述代码化信息进行解码;以及

基于所述当前块的所述代码化信息,确定是否基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块。

5.根据权利要求1至4中的任一项所述的方法,其中,确定所述对准块的所述运动矢量包括:

通过对与所述对准块相对应的所述运动场信息取平均来获得所述对准块的所述运动矢量。

6.根据权利要求1至5中的任一项所述的方法,其中,基于所述对准块的所述运动矢量和所述先前解码的块的所述共帧运动矢量来确定所述当前块的所述运动矢量预测包括:

基于所述对准块的所述运动矢量和所述先前解码的块的所述共帧运动矢量,确定所述先前解码的块的运动矢量预测;以及

将所述先前解码的块的所述运动矢量预测识别为所述当前块的所述运动矢量预测。

7.根据权利要求1至6中的任一项所述的方法,其中:

确定所述对准块的所述运动矢量包括:

确定所述对准块的第一运动矢量;以及

确定所述对准块的第二运动矢量;并且

确定所述当前块的所述运动矢量预测包括:

将所述当前块的第一运动矢量预测确定为所述对准块的所述第一运动矢量与所述共帧运动矢量之和;以及

将所述当前块的第二运动矢量预测确定为所述对准块的所述第二运动矢量与所述共帧运动矢量之和。

8.根据权利要求1至7中的任一项所述的方法,其中:

所述当前帧是来自帧序列的帧,其中来自所述帧序列的每个帧在所述帧序列中具有相应的顺序位置,其中所述当前帧在所述帧序列中具有当前顺序位置;

所述后向运动矢量指示在所述当前顺序位置之前的第一顺序位置处的后向参考帧;

所述前向运动矢量指示在所述当前顺序位置之后的第二顺序位置处的前向参考帧;并且

确定所述当前块的所述共帧运动矢量预测包括:

确定所述第二顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述后向运动矢量的乘积的所得结果与所述第一顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述前向运动矢量的乘积的所得结果之和。

9.一种方法,包括:

由处理器通过对来自输入比特流的当前帧进行编码来生成编码帧,其中编码包括:

从所述当前帧中识别当前块;

识别先前代码化的块;

确定所述先前代码化的块的运动信息是否包括所述先前代码化的块的共帧运动矢量;

确定是否基于参考共帧来识别用于对所述当前块进行编码的预测块;

响应于确定省略基于所述参考共帧来识别用于对所述当前块进行编码的所述预测块:

响应于确定所述先前代码化的块的所述运动信息包括所述先前代码化的块的所述共帧运动矢量:

基于所述先前代码化的块的空间位置和所述先前代码化的块的所述共帧运动矢量,识别所述参考共帧中的对准块;

基于所述对准块的运动场信息来确定所述对准块的运动矢量;

基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量,确定所述当前块的运动矢量预测;以及

将所述当前块的所述运动矢量预测的指示包括在输出比特流中;并且

响应于确定基于所述参考共帧来识别用于对所述当前块进行编码的所述预测块,确定所述当前块的共帧运动矢量预测,其中确定所述当前块的所述共帧运动矢量预测包括:

响应于确定所述先前代码化的块的所述运动信息包括所述先前代码化的块的所述共帧运动矢量:

基于所述先前代码化的块的所述共帧运动矢量来确定所述当前块的所述共帧运动矢量预测;

响应于确定所述先前代码化的块的所述运动信息省略了所述先前代码化的块的所述共帧运动矢量:

根据所述先前代码化的块的所述运动信息来识别前向运动矢量;

根据所述先前代码化的块的所述运动信息来识别后向运动矢量;以及

基于所述前向运动矢量和所述后向运动矢量来确定所述当前块的所述共帧运动矢量预测;并且

将所述当前块的所述共帧运动矢量预测的所述指示包括在所述输出比特流中;以及

输出所述输出比特流。

10.根据权利要求9所述的方法,其中,编码包括:

基于与所述当前帧的时空位置相对应的时空位置处的运动场,为所述当前帧生成所述参考共帧,使得所述参考共帧指示帧序列当中的所述时空位置处的线性运动,其中所述帧序列包括所述当前帧。

11.根据权利要求9或10所述的方法,其中:

所述先前代码化的块的所述共帧运动矢量指示所述先前代码化的块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移;并且

所述当前块的所述共帧运动矢量指示所述当前块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移。

12.根据权利要求9至11中的任一项所述的方法,其中,确定所述对准块的所述运动矢量包括:

通过对与所述对准块相对应的所述运动场信息取平均来获得所述对准块的所述运动矢量。

13.根据权利要求9至12中的任一项所述的方法,其中,基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量来确定所述当前块的所述运动矢量预测包括:

基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量,确定所述先前代码化的块的运动矢量预测;以及

将所述先前代码化的块的所述运动矢量预测识别为所述当前块的所述运动矢量预测。

14.根据权利要求9至13中的任一项所述的方法,其中:

确定所述对准块的所述运动矢量包括:

确定所述对准块的第一运动矢量;以及

确定所述对准块的第二运动矢量;并且

确定所述当前块的所述运动矢量预测包括:

将所述当前块的第一运动矢量预测确定为所述对准块的所述第一运动矢量与所述共帧运动矢量之和;以及

将所述当前块的第二运动矢量预测确定为所述对准块的所述第二运动矢量与所述共帧运动矢量之和。

15.根据权利要求9至14中的任一项所述的方法,其中:

所述当前帧是来自输入帧序列的帧,其中来自所述输入帧序列的每个帧在所述输入帧序列中具有相应的顺序位置,其中所述当前帧在所述输入帧序列中具有当前顺序位置;

所述后向运动矢量指示在所述当前顺序位置之前的第一顺序位置处的后向参考帧;

所述前向运动矢量指示在所述当前顺序位置之后的第二顺序位置处的前向参考帧;并且

确定所述当前块的所述共帧运动矢量预测包括:

确定所述第二顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述后向运动矢量的乘积的所得结果与所述第一顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述前向运动矢量的乘积的所得结果之和。

16.一种方法,包括:

由处理器通过对来自输入比特流的当前帧进行编码来生成编码帧,其中编码包括:

生成在时空上与所述当前帧相对应的参考共帧,其中所述当前帧是来自输入帧序列的帧,其中来自所述输入帧序列的每个帧在所述输入帧序列中具有相应的顺序位置,并且其中所述当前帧在所述输入帧序列中具有当前顺序位置;以及

使用所述参考共帧来对所述当前帧进行编码;

将所述编码帧包括在输出比特流中;以及

输出所述输出比特流。

17.根据权利要求16所述的方法,其中,使用所述参考共帧来对所述当前帧进行编码包括:

基于重构的参考帧来生成用于对所述当前帧中的当前块进行编码的预测块,其中所述重构的参考帧在所述输入帧序列中具有与所述当前顺序位置不同的顺序位置;

基于与所述当前帧中的所述当前块邻近的先前代码化的块的共帧运动矢量,确定所述当前块的运动矢量预测;以及

将所述当前块的所述运动矢量预测的指示包括在所述输出比特流中。

18.根据权利要求17所述的方法,其中,确定所述当前块的所述运动矢量预测包括:

基于所述先前代码化的块的空间位置和所述先前代码化的块的所述共帧运动矢量,识别所述参考共帧的对准块;

基于所述对准块的运动场信息来确定所述对准块的运动矢量;

基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量来确定所述当前块的所述运动矢量预测包括:

基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量,确定所述先前代码化的块的运动矢量预测;以及

将所述先前代码化的块的所述运动矢量预测识别为所述当前块的所述运动矢量预测。

19.根据权利要求16至18中的任一项所述的方法,其中,使用所述参考共帧来对所述当前帧进行编码包括:

基于所述参考共帧来生成用于对所述当前帧中的当前块进行编码的预测块;

确定所述当前块的共帧运动矢量预测,其中确定所述当前块的所述共帧运动矢量预测包括:

响应于确定与所述当前帧中的所述当前块邻近的先前代码化的块的运动信息包括所述先前代码化的块的共帧运动矢量,基于所述先前代码化的块的所述共帧运动矢量来确定所述当前块的所述共帧运动矢量预测;以及

响应于确定所述先前代码化的块的所述运动信息包括所述先前代码化的块的复合运动矢量,基于所述先前代码化的块的所述复合运动矢量来确定所述当前块的所述共帧运动矢量预测;以及

将所述当前块的所述共帧运动矢量预测的指示包括在所述输出比特流中。

20.根据权利要求19所述的方法,其中,基于所述先前代码化的块的所述复合运动矢量来确定所述当前块的所述共帧运动矢量预测包括:

根据所述先前代码化的块的所述运动信息来识别前向运动矢量;

根据所述先前代码化的块的所述运动信息来识别后向运动矢量;以及

基于所述前向运动矢量和所述后向运动矢量,确定所述当前块的共帧运动矢量预测。


技术总结
视频代码化可以包括:通过对来自输入比特流的当前帧进行编码来生成编码帧;生成在时空上与当前帧相对应的参考共帧;以及使用参考共帧来对当前帧进行编码。当前帧是来自输入帧序列的帧,来自输入帧序列的每个帧在输入帧序列中具有相应的顺序位置,并且当前帧在输入帧序列中具有当前顺序位置。视频代码化可以包括将编码帧包括在输出比特流中并且输出该输出比特流。

技术研发人员:李博晗;许耀武;韩敬宁
受保护的技术使用者:谷歌有限责任公司
技术研发日:2019.05.28
技术公布日:2020.10.23
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1