当前位置: 首页 > 专利查询>谷歌公司专利>正文

使用先前帧残差的运动矢量预测制造技术

技术编号:16043106 阅读:16 留言:0更新日期:2017-08-20 01:34
本发明专利技术涉及一种使用先前帧残差的运动矢量预测。从作为除了视频序列中的当前帧之外的至少两个帧的像素值之间的差的残差生成掩模。然后,掩模被用于通过帧间预测编码或解码当前块。掩模在对象的边界内形成对象的边缘,并且能够用于将参考帧的不同部分组合成单个块。这能够提高编码效率。

【技术实现步骤摘要】
使用先前帧残差的运动矢量预测
技术介绍
数字视频流通常使用帧序列或静止图像来表示视频。每个帧可以包括多个块,该块进而又可以包含描述像素的颜色、亮度或其他属性的值的信息。视频流中的数据量很大,并且视频的传输和存储可以使用大量的计算或通信资源。由于视频数据中涉及大量数据,因此需要高性能压缩以用于传输和存储。这通常涉及使用运动矢量的帧间预测。
技术实现思路
本专利技术总体上涉及利用使用先前帧残差的运动矢量预测来编码和解码视觉数据,诸如视频流数据。根据本公开的一个方面的用于编码或解码视频信号的方法包括:从作为除当前帧之外的至少两个帧的像素值之间的差的残差中生成当前帧内的当前块的掩模,以及通过使用该掩模的帧间预测编码或解码当前块。视频信号包括定义视频序列的帧,这些帧具有由像素组成的块。本文描述的装置的一个方面是用于编码或解码视频信号的装置,该视频信号包括定义视频序列的多个帧,这些帧具有由像素组成的块。该装置包括处理器和非暂时性存储器,非暂时性存储器存储包括使处理器执行方法的指令,所述方法包括:根据残差生成视频序列中的当前帧内的当前块的掩模,残差是除当前帧之外的至少两个帧的像素值之间的差,并且使用掩模通过帧间预测编码或解码当前块。本文中所描述的设备的另一方面是一种用于生成用于编码或解码视频信号的当前块的掩模的装置,该视频信号包括定义视频序列的多个帧,这些帧具有块,且这些块由像素组成。该装置包括处理器和非暂时性存储器,非暂时性存储器存储包括使处理器执行方法的指令,方法包括:通过从第二帧内的像素值减去第一帧内的像素值来计算残差,第一帧和第二帧中的每一个帧均位于视频序列内的当前帧之前,将阈值应用于残差内的相应像素位置的像素值,以生成包括像素的阈值残差,该阈值残差内的每一像素具有第一值或不同于第一值的第二值中的一个,以及扩展包括具有第一值的像素的阈值残差的第一区域或包括具有第二值的像素的阈值残差的第二区域中的至少一个,以形成具有第一值的具有像素位置的第一连续部分和具有第二值的像素位置的第二连续部分的掩模,第一连续部分和第二连续部分不重叠,并且第一连续部分和第二连续部分之间的边界在掩模的两边延伸;并且,其中掩模具有与所述当前块相同的像素大小。在以下详细说明书、所附权利要求和附图中更详细地描述本公开的这些和其它方面。附图说明本说明书参考了下面描述的附图,其中在几个视图中相同的附图标记指代相同的部件。图1是视频编码和解码系统的示意图。图2是能够实现发送站或接收站的计算设备的示例的框图。图3是要编码并随后解码的视频流的图。图4是根据本文教导的一个方面的视频压缩系统的框图。图5是根据本文教导的另一方面的视频解压缩系统的框图。图6是根据本公开的一个实施方式的通过使用前帧残差的运动矢量预测编码或解码块的过程的流程图。图7是根据本公开的一个实施方式的用于使用前帧残差生成掩模的过程的流程图。图8A-8C是用于说明图7的过程的图。具体实施方式视频流可以通过各种技术被压缩以减少所需的传输或存储视频流的带宽。视频流可以被编码到比特流中,比特流可以涉及压缩,然后被发送到解码器,解码器可以解码或解压缩视频流以使其准备用于观看或进一步处理。编码视频流可以涉及在视频质量和比特流大小之间的权衡的参数,其中,增加解码的视频流的感知质量可以增加传输或存储比特流所需的比特数。一种实现优良压缩性能的技术通过空间和/或运动补偿预测利用视频信号的空间和时间相关性。例如,帧间预测使用运动矢量来识别类似于要被编码的当前块的先前编码和解码的块。通过编码运动矢量以及两个块之间的差,解码器可以重新创建当前块。然而,对象很少落在图像中的常规块边界上。其结果是编码效率。相反,本文的教导描述了不需要块(例如,正方形)帧间预测器的生成和使用,以便更好地匹配帧内的对象。这可以通过使用先前帧的残差来创建用于块的悬崖掩模(cliffmask)来实现,其允许将两个不同的运动矢量应用于该块。在对其中可以使用本文的教导的环境的初始讨论之后描述进一步的细节。图1是视频编码和解码系统100的示意图。发送站102可以是例如具有诸如图1所描述的硬件的内部配置的计算机。然而,发送站102的其他合适的实施方式是可能的。例如,发送站102的处理可以分布在多个设备之间。网络104可以连接发送站102和接收站106,用于视频流的编码和解码。具体地,可以在发送站102中编码视频流,并且编码的视频流可以在接收站106中被解码。网络104可以是例如因特网。网络104还可以是局域网(LAN),广域网(WAN),虚拟专用网络(VPN),蜂窝电话网络或在此示例中将视频流从发送站102传送到例如接收站106的任何其它手段。在一个示例中,接收站106可以是具有诸如图1所描述的硬件的内部配置的计算机。然而,接收站106的其他合适的实施方式是可能的。例如,接收站106的处理可以分布在多个设备之间。视频编码和解码系统100的其它实施方式是可能的。例如,实施方式可以省略网络104。在另一实施方式中,视频流可以被编码,然后被存储以便稍后传输到接收站106或具有存储器的任何其他设备。在一个实施方式中,接收站106接收(例如,经由网络104、计算机总线和/或一些通信路径)编码的视频流,并存储视频流以供稍后解码。在示例实施方式中,实时传输协议(RTP)用于通过网络104传输编码的视频。在另一实施方式中,可以使用除RTP之外的传输协议,例如基于超文本传输协议(HTTP)的视频流协议。当在视频会议系统中使用时,例如,发送站102和/或接收站106可以包括如下所述的编码和解码视频流的能力。例如,接收站106可以是视频会议参与者,其从视频会议服务器(例如,发送站102)接收编码视频比特流以解码和观看,并进一步编码并将其自身的视频比特流发送到视频会议服务器用于由其他参与者解码和观看。图2是可以实施发送站或接收站的计算设备200的示例的框图。例如,计算设备200可以实施图1的发送站102和接收站106中的一个或两个。计算设备200可以是包括多个计算设备的计算系统的形式,或者可以是单个计算设备的形式,例如移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机等。计算设备200中的CPU202可以是中央处理单元。或者,CPU202可以是能够操纵或处理现在或将来开发的信息的任何其他类型的设备或多个设备。尽管所公开的实施方式可以用如图所示的单个处理器,例如CPU202来实施,但是可以使用多于一个处理器来实现速度和效率方面的优点。在实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。任何其它合适类型的存储设备可以用作存储器204。存储器204可以包括由CPU202使用总线212访问的代码和数据206。存储器204还可以包括操作系统208和应用程序210,应用程序210包括允许CPU202执行在这里描述的方法的至少一个程序。例如,应用程序210可以包括应用1至N,其还包括执行在这里描述的方法的视频编码应用。计算设备200还可以包括储存器214,储存器214例如可以是与移动计算设备一起使用的存储卡。因为视频通信会话可以包含大量的信息,所以它们可以全部或部分地存储在储存器214中,并且根据处理需要被加载到存储器20本文档来自技高网...
使用先前帧残差的运动矢量预测

【技术保护点】
一种用于使用计算设备编码或解码视频信号的方法,所述视频信号包括定义视频序列的帧,所述帧具有由像素形成的块,所述方法包括:从作为在所述视频序列中除当前帧之外的至少两个帧的像素值之间的差的残差,生成用于在所述视频序列中的所述当前帧内的当前块的掩模;以及使用所述掩模通过帧间预测编码或解码所述当前块。

【技术特征摘要】
2016.01.29 US 15/010,5941.一种用于使用计算设备编码或解码视频信号的方法,所述视频信号包括定义视频序列的帧,所述帧具有由像素形成的块,所述方法包括:从作为在所述视频序列中除当前帧之外的至少两个帧的像素值之间的差的残差,生成用于在所述视频序列中的所述当前帧内的当前块的掩模;以及使用所述掩模通过帧间预测编码或解码所述当前块。2.根据权利要求1所述的方法,其中,生成所述掩模包括:通过从第二帧内的像素值中减去第一帧内的像素值来计算所述残差,所述第一帧和所述第二帧位于所述视频序列内的所述当前帧之前,并且所述第一帧和所述第二帧由一个或多个帧和定义的时间量间隔开。3.根据权利要求1所述的方法,其中,所述掩模具有像素位置的第一连续部分和像素位置的第二连续部分,所述第一连续部分和所述第二连续部分不重叠,并且所述第一连续部分和所述第二连续部分之间的边界在所述掩模的两个边缘之间延伸,所述方法进一步包括:使用所述掩模对于在所述当前块的像素位置的所述第一连续部分内的像素值在参考帧内执行第一运动搜索;使用所述掩模对于在所述当前块的像素位置的所述第二连续部分内的像素值在所述参考帧内执行第二运动搜索;以及通过使用所述掩模组合所述第一运动搜索的结果与所述第二运动搜索的结果来生成预测块。4.根据权利要求1所述的方法,其中,生成所述掩模包括:将阈值应用于所述残差内的相应像素位置的像素值以生成包括像素的阈值残差,所述阈值残差内的每个像素具有第一值或不同于所述第一值的第二值;以及修改所述阈值残差以生成所述掩模。5.根据权利要求4所述的方法,其中,应用所述阈值包括:将所述残差内的每个像素位置的像素值与所述阈值进行比较;当所述每个像素位置的像素值小于所述阈值时,将所述第一值指配给所述阈值残差内的相同像素位置;以及当所述每个像素位置的像素值大于所述阈值时,将所述第二值指配给所述阈值残差内的相同像素位置。6.根据权利要求4所述的方法,其中,修改所述阈值残差包括:基于与由具有所述第一值的最小数量的连续像素所限定的区域相邻的像素的值,应用生长函数以扩展所述区域。7.根据权利要求6所述的方法,其中,修改所述阈值残差包括:应用收缩函数以移除由具有所述第一值的最大数量的连续像素所限定的区域,所述具有所述第一值的最大数量的连续像素由具有所述第二值的像素包围。8.根据权利要求4所述的方法,其中,所述至少两个帧包括第一帧和第二帧,所述方法进一步包括:通过从所述第一帧内的共位像素的像素值减去所述第二帧内的像素的像素值来计算所述残差,并且其中,在编码或解码所述当前块之前,通过运动矢量移位所述掩模的边界。9.根据权利要求1所述的方法,进一步包括:旋转所述掩模;使用旋转的掩模在参考帧内执行第一运动搜索;使用所述旋转的掩模在所述参考帧内执行第二运动搜索;以及使用所述掩模组合通过所述第一运动搜索找到的块与通过所述第二运动搜索找到的块,以生成用于编码所述当前块的预测块。10.根据权利要求1所述的方法,进一步包括:接收包括第一运动矢量、第二运动矢量和用于编码所述当前块的掩模模式的指示符的编码比特流;以及在生成所述掩模后:将所述掩模应用于从所述第一运动矢量得到的第一参考块以生成第一掩模参考块;将所述掩模应用于从所述第二运动矢量得到的第二参考块以生成第二掩模参考块;以及组合所述第一掩模参考块和所述第二掩模参考块以生成预测块,其中:使用所述掩模通过帧间预测解码所述当前块包括使用所述预测块来解码所述当前块。11.一种用于编码或解码视频信号的装置,所述视频信号包括定义视频序列的帧,所述帧具有块,并且所述块由像素形成,所述装置包括:处理器;以及非暂时性存储器,所述非暂时性存储器存储在执行时使所述处理器执行操作的指令,所述操作包括:从作为在所述视频序列中除当前帧之外的至少两个帧的像素值之间的差的残差,生成用于在所述视频序列中的所述当前帧内的当前块的掩模;以及使用所述掩模通过帧间预测编码或解码所述当前块。12.根据权利要求11所述的装置,其中,所述操作进一步包括通过下述步骤生成所述掩模:计算作为所述视频序列中的第一帧内的像素值与...

【专利技术属性】
技术研发人员:詹姆斯·班科斯基德巴尔加·慕克吉许耀武
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国,US

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

1