通过共帧运动矢量的运动预测代码化制造技术

技术编号:26045519 阅读:63 留言:0更新日期:2020-10-23 21:26
视频代码化可以包括:通过对来自输入比特流的当前帧进行编码来生成编码帧;生成在时空上与当前帧相对应的参考共帧;以及使用参考共帧来对当前帧进行编码。当前帧是来自输入帧序列的帧,来自输入帧序列的每个帧在输入帧序列中具有相应的顺序位置,并且当前帧在输入帧序列中具有当前顺序位置。视频代码化可以包括将编码帧包括在输出比特流中并且输出该输出比特流。

【技术实现步骤摘要】
【国外来华专利技术】通过共帧运动矢量的运动预测代码化
技术介绍
数字图像和视频可以用于例如在互联网上的经由视频会议的远程商务会议、高清视频娱乐、视频广告或用户生成的内容的共享。由于在传输和处理图像和视频数据中涉及大量数据,所以高性能压缩对于传输和存储可能是有利的。
技术实现思路
提供通过具有有限带宽的通信信道发送的高分辨率图像和视频将是有利的,诸如使用通过共帧运动矢量的运动预测代码化的图像和视频代码化。本申请涉及对图像数据、视频流数据或两者进行编码和解码以供传输或存储。本文公开了用于使用利用共帧运动矢量的运动预测代码化进行编码和解码的系统、方法和装置的方面。一个方面是一种用于视频解码的方法,包括:由处理器通过从编码比特流中对当前帧进行解码来生成解码帧,该处理器执行存储在非暂时性计算机可读介质上的指令。解码包括,从当前帧中识别当前块;基于当前块的代码化信息识别先前解码的块;确定先前解码的块的运动信息是否包括先前解码的块的共帧运动矢量;以及确定是否基于参考共帧识别用于对当前块进行解码的预测块。解码包括,响应于省略基于参考共帧识别用于对当前块进行解码的预测块的确定,并且响应于先前解码的块的运动信息包括先前解码的块的共帧运动矢量的确定,基于先前解码的块的空间位置和先前解码的块的共帧运动矢量在参考共帧中识别对准块;基于对准块的运动场信息确定对准块的运动矢量;基于对准块的运动矢量和先前解码的块的共帧运动矢量确定针对当前块的运动矢量预测;基于针对当前块的运动矢量预测确定所当前块的运动矢量;以及基于由当前块的运动矢量所指示的参考帧识别预测块。视频代码化包括,响应于基于参考共帧识别用于对当前块进行解码的预测块的确定并且响应于先前解码的块的运动信息包括先前解码的块的共帧运动矢量的确定,基于先前解码的块的共帧运动矢量确定针对当前块的共帧运动矢量预测。视频代码化包括,响应于基于参考共帧识别用于解码当前块的预测块的确定并且响应于先前解码的块的运动信息省略先前解码的块的共帧运动矢量的确定,根据先前解码的块的运动信息识别前向运动矢量;根据先前解码的块的运动信息识别后向运动矢量;基于前向运动矢量和后向运动矢量确定针对当前块的共帧运动矢量预测;基于针对当前块的共帧运动矢量预测确定当前块的共帧运动矢量;以及基于参考共帧和当前块的共帧运动矢量识别预测块。视频代码化包括,基于预测块生成与当前块相对应的解码块,将所述解码块包括在解码帧中。该方法包括,基于解码帧输出重构帧。另一个方面是一种用于视频编码的方法,包括:由处理器通过从输入比特流中对当前帧进行编码来生成编码帧,该处理器执行存储在非暂时性计算机可读介质上的指令。编码包括,从当前帧中识别当前块;识别先前代码化的块;确定先前代码化的块的运动信息是否包括先前代码化的块的共帧运动矢量;以及确定是否基于参考共帧识别用于对当前块进行编码的预测块。编码包括,响应于省略基于参考共帧识别用于对当前块进行编码的预测块的确定,并且响应于先前代码化的块的运动信息包括先前代码化的块的共帧运动矢量的确定,基于先前代码化的块的空间位置和先前代码化的块的共帧运动矢量在参考共帧中识别对准块;基于对准块的运动场信息确定对准块的运动矢量;基于对准块的运动矢量和先前代码化的块的共帧运动矢量确定针对当前块的运动矢量预测;以及在输出比特流中包括用于当前块的运动矢量预测的指示。编码包括,响应于基于参考共帧识别用于对当前块进行编码的预测块的确定并且响应于先前代码化的块的运动信息包括先前代码化的块的共帧运动矢量的确定,基于先前代码化的块的共帧运动矢量确定针对当前块的共帧运动矢量预测。编码包括,响应于基于参考共帧识别用于对当前块编码的预测块的确定并且响应于先前代码化的块的运动信息省略先前代码化的块的共帧运动矢量的确定,根据先前代码化的块的运动信息识别前向运动矢量;根据先前代码化的块的运动信息识别后向运动矢量;以及基于前向运动矢量和后向运动矢量确定针对当前块的共帧运动矢量预测。编码包括,在输出比特流中包括针对当前块的共帧运动矢量预测的指示。该方法包括,输出输出比特流。另一方面是一种用于视频编码的方法,包括:由执行存储在非暂时性计算机可读介质上的指令的处理器通过对来自输入比特流的当前帧进行编码来生成编码帧。编码包括,在时空上生成与当前帧相对应的参考共帧,其中当前帧是来自输入帧序列的帧,其中来自输入帧序列的每个帧在输入帧序列中具有相应的顺序位置,并且其中当前帧在输入帧序列中具有当前顺序位置,以及使用参考共帧对当前帧进行编码。该方法包括将编码帧包括在输出比特流中并输出该输出比特流。这些和其他方面的变化将在下文中更详细地描述。附图说明本文的描述参考附图,其中,除非另外指出或以其它方式根据上下文是清楚的,否则贯穿若干视图,相似的附图标记指的是相似的部分。图1是根据本公开的实施方式的计算设备的图。图2是根据本公开的实施方式的计算和通信系统的图。图3是根据本专利技术的实施方式的用于编码和解码的视频流的图。图4是根据本公开的实施方式的编码器的框图。图5是根据本专利技术的实施方式的解码器的框图。图6是根据本专利技术的实施方式的帧的一部分的表示的框图。图7是根据本专利技术的实施方式的帧序列的示例的框图。图8是根据本公开的实施方式的使用参考共帧800进行编码的示例的流程图。图9是根据本专利技术的实施方式的使用参考共帧900解码的示例的流程图。图10是根据本专利技术的实施方式的使用参考共帧对视频序列进行代码化的一部分的示例的框图。图11是根据本专利技术的实施方式的识别共帧运动矢量的示例的图。图12是根据本专利技术的实施方式的帧间代码化的运动数据缩减部分的示例的流程图。图13示出根据本公开的实施方式的、基于针对先前代码化的块的共帧运动矢量来确定当前块的运动矢量预测的示例,以及根据本公开的实施方式的、为当前块确定共帧运动矢量预测的示例的流程图。图14是根据本专利技术的实施方式的、基于先前代码化的块的共帧运动矢量确定当前块的运动矢量预测的示例的图。图15是根据本专利技术的实施方式的使用参考共帧的帧间预测的示例的流程图。图16是根据本专利技术的实施方式的、基于来自先前代码化的块的共帧运动矢量确定预测块的示例的流程图。图17是根据本公开的实施方式的、基于参考共帧来确定当前块的预测块的示例的流程图。图18是根据本专利技术的实施方式的、基于先前代码化的块的运动矢量来确定当前块的共帧运动矢量预测的示例的图。具体实施方式图像和视频压缩方案可以包括:将图像或帧分解成较小的部分,诸如块;以及使用限制输出中每个块所包括的信息的技术来生成输出比特流。在一些实现方式中,可以通过减少空间冗余、减少时间冗余或它们的组合来限制输出中每个块所包括的信息。例如,可以通过以下步骤来减少时间冗余或空间冗余:基于对编码器和解码器两者可用的信息预测帧或其一部分,并且将表示预测帧与原始帧之间的差异或残差的信息包括在编码比特流中。可以通过将残差信息变换成变换系数、对变换系数进行量化并且对量化变换系数进行熵代码本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n由处理器通过对来自编码比特流的当前帧进行解码来生成解码帧,其中解码包括:/n从所述当前帧中识别当前块;/n基于所述当前块的代码化信息来识别先前解码的块;/n确定所述先前解码的块的运动信息是否包括所述先前解码的块的共帧运动矢量;/n确定是否基于参考共帧来识别用于对所述当前块进行解码的预测块;/n响应于确定省略基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:/n响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:/n基于所述先前解码的块的空间位置和所述先前解码的块的所述共帧运动矢量,识别所述参考共帧中的对准块;/n基于所述对准块的运动场信息来确定所述对准块的运动矢量;/n基于所述对准块的所述运动矢量和所述先前解码的块的所述共帧运动矢量,确定所述当前块的运动矢量预测;/n基于所述当前块的所述运动矢量预测来确定所述当前块的运动矢量;并且/n基于由所述当前块的所述运动矢量所指示的参考帧来识别所述预测块;/n响应于确定基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:/n响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:/n基于所述先前解码的块的所述共帧运动矢量来确定所述当前块的共帧运动矢量预测;/n响应于确定所述先前解码的块的所述运动信息省略了所述先前解码的块的所述共帧运动矢量:/n根据所述先前解码的块的所述运动信息来识别前向运动矢量;/n根据所述先前解码的块的所述运动信息来识别后向运动矢量;/n基于所述前向运动矢量和所述后向运动矢量来确定所述当前块的共帧运动矢量预测;/n基于所述当前块的所述共帧运动矢量预测来确定所述当前块的共帧运动矢量;并且/n基于所述参考共帧和所述当前块的所述共帧运动矢量来识别所述预测块;/n基于所述预测块来生成与所述当前块相对应的解码块;并且/n将所述解码块包括在所述解码帧中;以及/n基于所述解码帧来输出重构帧。/n...

【技术特征摘要】
【国外来华专利技术】20180914 US 16/131,1331.一种方法,包括:
由处理器通过对来自编码比特流的当前帧进行解码来生成解码帧,其中解码包括:
从所述当前帧中识别当前块;
基于所述当前块的代码化信息来识别先前解码的块;
确定所述先前解码的块的运动信息是否包括所述先前解码的块的共帧运动矢量;
确定是否基于参考共帧来识别用于对所述当前块进行解码的预测块;
响应于确定省略基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:
响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:
基于所述先前解码的块的空间位置和所述先前解码的块的所述共帧运动矢量,识别所述参考共帧中的对准块;
基于所述对准块的运动场信息来确定所述对准块的运动矢量;
基于所述对准块的所述运动矢量和所述先前解码的块的所述共帧运动矢量,确定所述当前块的运动矢量预测;
基于所述当前块的所述运动矢量预测来确定所述当前块的运动矢量;并且
基于由所述当前块的所述运动矢量所指示的参考帧来识别所述预测块;
响应于确定基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块:
响应于确定所述先前解码的块的所述运动信息包括所述先前解码的块的所述共帧运动矢量:
基于所述先前解码的块的所述共帧运动矢量来确定所述当前块的共帧运动矢量预测;
响应于确定所述先前解码的块的所述运动信息省略了所述先前解码的块的所述共帧运动矢量:
根据所述先前解码的块的所述运动信息来识别前向运动矢量;
根据所述先前解码的块的所述运动信息来识别后向运动矢量;
基于所述前向运动矢量和所述后向运动矢量来确定所述当前块的共帧运动矢量预测;
基于所述当前块的所述共帧运动矢量预测来确定所述当前块的共帧运动矢量;并且
基于所述参考共帧和所述当前块的所述共帧运动矢量来识别所述预测块;
基于所述预测块来生成与所述当前块相对应的解码块;并且
将所述解码块包括在所述解码帧中;以及
基于所述解码帧来输出重构帧。


2.根据权利要求1所述的方法,其中,解码包括:
基于与所述当前帧的时空位置相对应的时空位置处的运动场,为所述当前帧生成所述参考共帧,使得所述参考共帧指示帧序列当中的所述时空位置处的线性运动,其中所述帧序列包括所述当前帧。


3.根据权利要求1或2所述的方法,其中:
所述先前解码的块的所述共帧运动矢量指示所述先前解码的块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移;并且
所述当前块的所述共帧运动矢量指示所述当前块在所述当前帧中的位置与所述参考共帧中的位置之间的空间位移。


4.根据权利要求1至3中的任一项所述的方法,其中,确定是否基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块包括:
对来自所述编码比特流的所述当前块的所述代码化信息进行解码;以及
基于所述当前块的所述代码化信息,确定是否基于所述参考共帧来识别用于对所述当前块进行解码的所述预测块。


5.根据权利要求1至4中的任一项所述的方法,其中,确定所述对准块的所述运动矢量包括:
通过对与所述对准块相对应的所述运动场信息取平均来获得所述对准块的所述运动矢量。


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


7.根据权利要求1至6中的任一项所述的方法,其中:
确定所述对准块的所述运动矢量包括:
确定所述对准块的第一运动矢量;以及
确定所述对准块的第二运动矢量;并且
确定所述当前块的所述运动矢量预测包括:
将所述当前块的第一运动矢量预测确定为所述对准块的所述第一运动矢量与所述共帧运动矢量之和;以及
将所述当前块的第二运动矢量预测确定为所述对准块的所述第二运动矢量与所述共帧运动矢量之和。


8.根据权利要求1至7中的任一项所述的方法,其中:
所述当前帧是来自帧序列的帧,其中来自所述帧序列的每个帧在所述帧序列中具有相应的顺序位置,其中所述当前帧在所述帧序列中具有当前顺序位置;
所述后向运动矢量指示在所述当前顺序位置之前的第一顺序位置处的后向参考帧;
所述前向运动矢量指示在所述当前顺序位置之后的第二顺序位置处的前向参考帧;并且
确定所述当前块的所述共帧运动矢量预测包括:
确定所述第二顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述后向运动矢量的乘积的所得结果与所述第一顺序位置和所述第一顺序位置与所述第二顺序位置之和的商同所述前向运动矢量的乘积的所得结果之和。


9.一种方法,包括:
由处理器通过对来自输入比特流的当前帧进行编码来生成编码帧,其中编码包括:
从所述当前帧中识别当前块;
识别先前代码化的块;
确定所述先前代码化的块的运动信息是否包括所述先前代码化的块的共帧运动矢量;
确定是否基于参考共帧来识别用于对所述当前块进行编码的预测块;
响应于确定省略基于所述参考共帧来识别用于对所述当前块进行编码的所述预测块:
响应于确定所述先前代码化的块的所述运动信息包括所述先前代码化的块的所述共帧运动矢量:
基于所述先前代码化的块的空间位置和所述先前代码化的块的所述共帧运动矢量,识别所述参考共帧中的对准块;
基于所述对准块的运动场信息来确定所述对准块的运动矢量;
基于所述对准块的所述运动矢量和所述先前代码化的块的所述共帧运动矢量,确定所述当前块的运动矢量预测;以及
将所述当前块的所述运动矢量预测的指示包括在输出比特流中;并且
响应于确定基于所述参考共帧来识别用于对所述当前块进行编码的所述预测块,确定所述当前块的共帧运动矢量预测,其中确定所述当前块的所述共帧运动矢量预测包括:
响应于确定...

【专利技术属性】
技术研发人员:李博晗许耀武韩敬宁
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1