适用于视频快进的编解码方法和装置的制作方法

文档序号:7658636阅读:142来源:国知局
专利名称:适用于视频快进的编解码方法和装置的制作方法
技术领域
本发明涉及视频处理技术领域,尤指一种适用于视频快进的编解码方法和装置以及一种视频压缩编码的方法和装置。
背景技术
视频文件由依次排序的数字图像组成,视频文件中的数字图像根据其与上一帧数字图像相比较的变化程度,分为运动图像和静止图像。视频文件中的数字图像,尤其是运动图像,由于其数据量非常大,使得视频文件不便于传输和存储。视频压缩技术主要将二维的运动图像像素点矩阵压缩编码成数据量相对较小的一维比特流,以减小传输或存储的数字图像数据量,进而实现减小传输或存储的视频文件数据量的目的。
目前,现有的视频压缩技术通常采用基于宏块的运动估计和离散余弦变换(DCT,Discrete Cosine Transform)变换、量化的混合编码方式对运动图像进行编码。常用的视频压缩标准有H.261系列,H.263系列,H.264系列,MPEG-2系列和MPEG-4系列。对视频序列的编码是指,按照视频压缩标准将视频图像序列变成高压缩比比特流的过程;对视频序列的解码是指,按照视频压缩标准把高压缩比比特流恢复成视频图像序列的过程。
运动估计的过程是在当前帧的前一帧或前几帧中搜索与当前帧中的当前块最相似的块的过程。当在前帧中搜索到与当前块最相似的块时,将所搜索到的块作为当前块的参考块,参考块所在的帧为参考帧,当前块与参考块之间的距离为当前块的运动矢量(MV)。视频压缩编码器将当前块与参考块之间的差值进行DCT变换、量化、扫描处理,然后将扫描之后的差值和运动矢量MV进行变长编码,形成码流。
视频的快进是指解码时用比正常的速度快的方式播放视频文件。快进主要用于快速浏览视频内容,在短时间内找到目标视频的起始点。由于显示设备每秒显示的图像数目是固定的,一般是每秒显示25帧图像或每秒显示30帧图像,因此快进会导致一部分图像不能在显示设备上显示,这部分图像可以从压缩码流中解码出来而不显示,也可以不用解码直接跳过。
目前,在快进时,对压缩编码后的视频文件中的所有图像都进行解码,但只显示部分图像的视频快进方案,由于对系统的解码要求过高、系统开销大,因此没有被广泛采用。广泛采用的视频快进方法是视频编码端在对视频文件进行压缩编码时,以固定的时间间隔插入关键图像,同时在压缩码流中对关键图像进行标识,且关键图像的编码不依赖于非关键图像;在解码端进行解码时,只解码和显示全部或部分关键图像。这里,关键图像是快进时解码的图像,是相对于快进时不进行解码的非关键图像而言的,关键图像的编码不依赖于非关键图像。在现有技术中,关键图像一般采用帧内编码,即关键图像是I图像,其在压缩编码时只使用本帧内的像素点,而不会参考其它图像,从而获得较好的独立性。当视频压缩编码采用场编码模式时,一帧图像的顶场和底场都设置成关键图像。
由于关键图像要与非关键图像保持独立,即压缩时不能参考非关键图像,因此关键图像的压缩性能比用常规的编码方式对非关键图像编码时的压缩性能低。现有技术中按固定的时间间隔插入关键图像的技术方案,由于频繁地插入压缩性能较低的关键图像,导致整个视频文件的压缩性能降低。如果关键图像是I图像,则这种缺点更为明显。并且在视频文件较大且存在大量静止画面的情况下,按固定时间插入关键图像的快进技术,使搜索目标视频所花的时间也较长。
综上所述,现有技术中按固定时间间隔插入关键图像的视频快进方法的压缩性能较低,且搜索目标视频所花的时间也较长。

发明内容
本发明实施例提供了一种适用于视频快进的编解码方法,该方法提高了视频压缩性能,加快了搜索目标视频的速度。
本发明实施例提供了一种适用于视频快进的编解码装置,该装置提高了视频压缩的性能,加快了搜索目标视频的速度。
本发明实施例提供了一种视频压缩编码方法,该方法提高了视频压缩的性能。
本发明实施例还提供了一种视频压缩编码装置,该装置提高了视频压缩的性能。
本发明实施例的技术方案具体是这样实现的本发明实施例公开了一种适用于视频快进的编解码方法,该方法包括将待编码视频序列中预先指定的图像编码为关键图像;对于所述视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像;当视频快进时只解码关键图像。
本发明实施例公开了一种适用于视频快进的编解码装置,包括编码模块,用于将待编码视频序列中预先指定的图像编码为关键图像;对所述待编码视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像,得到编码后的视频序列;快进模块,用于在视频快进时只解码所述编码后的视频序列中的关键图像。
本发明实施例公开了一种视频压缩编码方法,该方法包括将待编码视频序列中预先指定的图像编码为关键图像;对于所述待编码视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像。
本发明实施例还公开了一种视频压缩编码装置,该装置包括判断单元,用于在当前图像是待编码视频序列中的预先指定的图像时,发送指示信息;对于待编码视频序列中的所述预先指定的图像之后的每一个当前图像,在判断出该当前图像是运动图像且该当前图像与上一个关键图像之间的时间间隔大于或等于预设值时,发送指示信息;编码单元,用于在接收到判断单元发送的指示信息时,将当前图像编码为关键图像。
由上述技术方案可见,本发明实施例,在当前图像是运动图像且与上一个关键图像之间的时间间隔满足一定条件的情况下才将当前图像编码为关键图像,在视频快进时,只解码关键图像的技术方案,避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能和在快进时搜索目标视频的速度。


图1是本发明实施例一种适用于视频快进的编解码方法在编码端的实现过程流程图;图2是本发明实施例一种适用于视频快进的编解码装置的结构框图;图3是本发明实施例一种视频压缩编码装置的结构框图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举较佳实施例,对本发明进一步详细说明。
图1是本发明实施例一种适用于视频快进的编解码方法在编码端的实现过程流程图。如图1所示,包括以下步骤步骤101,在编码端,设插入关键图像的预设时间间隔为N,计时变量n的初始值为0,将待编码的视频序列的第一个图像设置为关键图像,并对视频序列依次到来的每一个图像执行接下来的步骤。
在本步骤中,N一般取自然数,当然也可以取一个任意的正数。由于N的取值大小直接影响视频压缩的性能,因此本发明实施例中,为了在相同场景下得到比现有的按“固定间隔”插入关键图像的快进技术高的视频压缩性能,N的取值大小可以参考现有技术中的“固定间隔”,比如N的取值可以取与所述“固定间隔”相同的值,当然N也可以取与所述“固定间隔”不同的值。
在本步骤中,将视频序列的第一个图像设置为第一个关键图像是因为第一个图像包含的信息量大。当然,也可以将视频序列中的除第一个图像以外的图像预先指定为第一个关键图像。
在本步骤中,将第一个图像设置为关键图像后,可以在编码码流中将此关键图像标记出来,以便于相应的解码器在解码时可以识别该关键图像。在编码码流中标记关键图像的方法可以是如果所选用的视频压缩协议提供了标记字段,则可以直接使用该标记字段来标识关键图像;如果所选用的视频压缩协议没有提供标记字段,可以在编码码流中加入用户私有数据以标记关键图像,相应的解码器必须能识别此用户私有数据。这些都是现有技术,这里不再详述。
在本实施例中,计时变量n用于对帧的个数进行计数,因此n是一个关于时间的变量,而常量N也表示帧的个数,因此N也是一个关于时间的常量。
步骤102,判断当前图像是否为运动图像,如果是,则执行步骤103,否则执行步骤105。
在本步骤中,可以通过运动检测算法,设置可变的门限值来判断当前图像是否为运动图像。运动检测算法是现有技术,这里不再详述。
步骤103,判断计时变量n的值是否大于或等于预设值N,如果是,则执行步骤104,否则执行步骤105。
在本步骤中,通过判断n是否大于或等于预设值N,来检测当前图像与上一个关键图像之间的时间间隔是否大于或等于插入关键图像的预设时间间隔N,以保证不会频繁地将运动图像设置为关键图像。
步骤104,将当前图像编码为关键图像,计时变量清0,即n=0。执行步骤106。
在本步骤中,为了提高关键图像的压缩性能,将关键图像编码为P图像,即一个关键图像的编码需要参考该关键图像之前的一个或多个关键图像。在本实施中设置一个参考图像列表用于保存当前被参考的关键图像,且当前关键图像的编码只参考其前一个关键图像,此时,关键图像列表只用于保存一个关键图像。当一个关键图像的编码需要参考该关键图像之前的M个关键图像时,关键图像列表用于保存M个关键图像,M是大于等于1的正整数。在本步骤中,将当前关键图像编码成P图像后,将该关键图像保存到参考列表中,以被后续的关键图像编码所参考,当该关键图像不再被参考时删除该关键图像。
在本步骤中,为了提高压缩码流的容错性,也可以在前面若干个关键图像编码为P图像的情况下,将当前关键图像编码为I图像,即该当前关键的图像的编码不需要参考任何其它图像。将当前关键图像编码成I图像后,将该关键图像保存到参考列表中,以被后续的关键图像编码所参考,当该关键图像不再被参考时删除该关键图像。当然,如果后续的关键图像也要编码为I图像,而该当前关键图像没有被参考的可能时,无需将该当前关键图像保存到参考列表中。
在本步骤中,在场模式编码下,可以将当前图像的顶场编码为关键图像,也可以将当前图像的底场编码关键图像,这样可以进一步提高关键图像的压缩性能。
在本步骤中,还需要标记关键图像。
步骤105,将当前图像编码为非关键图像,计时变量加1,即n=n+1。执行步骤106。
在本步骤中,非关键图像是与关键图像相对而言的,将当前图像编码为非关键图像,即是将当前图像按照常规的视频压缩协议标准,如H.246,MPEG-4等的要求进行编码,并且参考当前图像之前的一个或多个图像进行编码。
计时变量加1是一较佳的实施例,在实际应用中,可以加一个固定常量,如2、4。
步骤106,判断视频序列中是否还有未编码的图像,如果是,则重复执行步骤102,否则结束本流程。
到此,完成本发明实施例一种实现视频快进的方法在编码端的实现过程,得到了压缩编码后的视频序列。
本发明实施例一种实现视频快进的方法在解码端的实现过程是如果没有快进要求,则对压缩后的编码序列进行常规的解码并播放;如果有快进要求,则只解码关键图像,播放部分或全部的解码的关键图像。
在解码关键图像的过程中,根据码流中关键图像的标记,识别出关键图像,将关键图像保存到参考图像列表中,直到该关键图像不再被参考。如果关键图像采用了场编码模式编码,例如采用了顶场编码模式,则在对关键图像解码后,可以利用插值算法对解码后的关键图像进行进一步的插值处理,以补偿关键图像的底场。
通过上述的实施例可见,本发明实施例一种实现视频快进的方法只有在当前图像是运动图像且与上一个关键图像之间的时间间隔满足一定条件的情况下才将当前图像编码为关键图像的技术方案,避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能和在快进时搜索目标视频的速度。
图2是本发明实施例一种适用于视频快进的编解码装置的结构框图。如图2所示,该装置包括编码模块201和快进模块202。
在图2中,编码模块201,用于将待编码视频序列中预先指定的图像编码为关键图像;对所述待编码视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像;得到编码后的视频序列。
快进模块202,用于在快进时解码所述编码后的视频序列中的关键图像。
在图2中,编码模块201包括判断单元205和编码单元206,其实现所述将视频序列中预先指定的图像编码为关键图像,对预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像具体可以为判断单元205,用于设置一个预设值以及一个初始值为零的计时变量,并在当前图像是视频序列的第一个图像时,向编码单元206发送指示信息;对于视频序列中第一个图像之后的每一个当前图像,用于判断该当前图像是否为运动图像以及计时变量是否大于或等于预设值,当判断出该当前图像是运动图像且计时变量大于或等于预设值时,向编码单元206发送指示信息,将计时变量清零,否则,在计时变量上加一个固定常量;编码单元206,用于在收到判断单元205发送的指示信息时,将当前图像编码为关键图像。
在图2所示的装置中,如果编码模块201将所述图像的顶场或底场编码为关键图像,则该装置还进一步包括插值算法处理模块203,用于根据插值算法对快进模块202所解码后的关键图像进行插值处理,以补偿关键图像的底场或顶场。
在图2所示的装置中,如果编码模块201将关键图像编码为P图像,则该装置进一步包括参考图像存储模块204,用于存储编码模块201发送的图像;编码模块201,用于根据参考图像存储模块204中的图像,将当前图像编码为关键图像,将所编码完的关键图像发送到参考图像存储模块204进行存储,并删除参考图像存储模块204中的不再被参考的关键图像。
图2所示的实现视频快进的装置,在编码时避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能,并且提高了在解码端快进时搜索目标视频的速度。
图3是本发明实施例一种视频压缩编码装置的结构框图。如图3所示该装置包括判断单元301和编码单元302。
在图3中判断单元301,用于在当前图像是视频序列中的预先指定的图像时向编码模块发送指示信息;对于视频序列中的所述预先指定的图像之后的每一个当前图像,在判断出该当前图像是运动图像且该当前图像与上一个关键图像之间的间隔大于或等于预设值时,向编码单元302发送指示信息;编码单元302,用于在接收到判断单元301发送的指示信息时,将当前图像编码为关键图像。
在图3所示的实施例中,为了协助判断单元301实现所述在判断出当前图像是运动图像且当前图像与上一个关键图像之间的间隔大于或等于预设值时向编码单元302发送指示信息的功能,该视频压缩编码装置还可以包括一个初始计数值为零的计数器303,在图3中用虚线框表示,此时所述判断单元301,用于设置一个预设值,并在当前图像是待编码视频序列的第一个图像时,向编码单元302发送指示信息;对于待编码视频序列中第一个图像之后的每一个当前图像,用于判断该当前图像是否为运动图像以及计数器303的计数值是否大于或等于预设值,当判断出该当前图像是运动图像且计数器303的计数值大于或等于预设值时,向编码单元302发送指示信息,向计数器303发送清零指令,否则,向计数器303发送计数指令;所述计数器303,用于在收到清零指令时,将自身的计数值清零,在收到计数指令时,在自身的计数值上加一个固定常量。
图3所示的实现视频压缩编码的装置,在编码时避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能。
综上所述,本发明实施例通过在当前图像是运动图像且与上一个关键图像之间的间隔满足一定条件的情况下才将当前图像编码为关键图像的技术方案,避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能,以及在快进时搜索目标视频的速度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种适用于视频快进的编解码方法,其特征在于,该方法包括将待编码视频序列中预先指定的图像编码为关键图像;对于所述视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像;当视频快进时只解码关键图像。
2.如权利要求1所述的方法,其特征在于,所述预先指定的图像是所述待编码视频序列中的第一个图像;所述在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像的步骤包括设置一个预设值以及一个初始值为零的计时变量;对于视频序列中第一个图像之后的每一个图像进行编码时,判断该图像是否为运动图像以及计时变量是否大于或等于预设值;当判断出该图像是运动图像且计时变量大于或等于预设值时,将该图像编码为关键图像,计时变量清零,否则,在计时变量上加一个固定常量。
3.如权利要求1或2所述的方法,其特征在于,所述将该图像编码为关键图像包括在场编码模式下,将该图像的顶场或底场编码为关键图像。
4.如权利要求3所述的方法,其特征在于,所述在解码关键图像之后进一步包括用插值算法对解码后的关键图像进行插值处理。
5.如权利要求1或2所述的方法,其特征在于,所述将该图像编码为关键图像包括参考该图像之前的一个以上的关键图像,将该图像编码为关键图像;或不参考任何图像,将该图像编码为关键图像。
6.如权利要求5所述的方法,其特征在于,当所述将该图像编码为关键图像是参考该图像之前的一个以上的关键图像,将该图像编码为关键图像时,在所述将该图像编码为关键图像之后进一步包括将该关键图像保存到参考图像列表中;当该关键图像之后的关键图像的编码不再参考该关键图像时,将该关键图像从参考图像列表中删除;所述参考该图像之前的一个以上的关键图像具体包括,参考所述参考图像列表中的关键图像。
7.一种适用于视频快进的编解码装置,其特征在于,包括编码模块,用于将待编码视频序列中预先指定的图像编码为关键图像;对所述待编码视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像,得到编码后的视频序列;快进模块,用于在视频快进时只解码所述编码后的视频序列中的关键图像。
8.如权利要求7所述的装置,其特征在于,所述编码模块包括判断单元和编码单元,其中,判断单元,用于设置一个预设值以及一个初始值为零的计时变量,并在当前图像是视频序列的第一个图像时,向编码单元发送指示信息;对于视频序列中第一个图像之后的每一个当前图像,用于判断该当前图像是否为运动图像以及计时变量是否大于或等于预设值,当判断出该当前图像是运动图像且计时变量大于或等于预设值时,向编码单元发送指示信息,将计时变量清零,否则,在计时变量上加一个固定常量;编码单元,用于在收到判断单元发送的指示信息时,将当前图像编码为关键图像。
9.如权利要求7或8所述的装置,其特征在于,该装置进一步包括插值算法处理模块,所述编码模块,用于将图像的顶场或底场编码为关键图像;所述插值算法处理模块,用于根据插值算法对快进模块所解码后的关键图像进行插值处理。
10.如权利要求7或8所述的装置,其特征在于,该装置进一步包括参考图像存储模块,用于存储所述编码模块发送的图像;所述编码模块,用于根据参考图像存储模块中的图像,将图像编码为关键图像,将所编码完的关键图像发送到参考图像存储模块进行存储,并删除参考图像存储模块中的不再被参考的关键图像。
11.一种视频压缩编码方法,其特征在于,该方法包括将待编码视频序列中预先指定的图像编码为关键图像;对于所述待编码视频序列中预先指定的图像之后的每一个图像,在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像。
12.如权利要求11所述的方法,其特征在于,所述预先指定的图像是视频序列中的第一个图像;所述在该图像是运动图像且该图像与上一个关键图像之间的时间间隔大于或等于预设值时,将该图像编码为关键图像的步骤包括设置一个预设值以及一个初始值为零的计时变量;对于视频序列中第一个图像之后的每一个图像进行编码时,判断该图像是否为运动图像以及计时变量是否大于或等于预设值;当判断出该图像是运动图像且计时变量大于或等于预设值时,将该图像编码为关键图像,计时变量清零,否则,在计时变量上加一个固定常量。
13.一种视频压缩编码装置,其特征在于,该装置包括判断单元,用于在当前图像是待编码视频序列中的预先指定的图像时,发送指示信息;对于待编码视频序列中的所述预先指定的图像之后的每一个当前图像,在判断出该当前图像是运动图像且该当前图像与上一个关键图像之间的时间间隔大于或等于预设值时,发送指示信息;编码单元,用于在收到判断单元发送的指示信息时,将当前图像编码为关键图像。
14.如权利要求13所述的装置,其特征在于,该装置包括一个初始计数值为零的计数器;所述判断单元,用于设置一个预设值,并在当前图像是视频序列的第一个图像时,向编码单元发送指示信息;对于视频序列中第一个图像之后的每一个当前图像,用于判断该当前图像是否为运动图像以及所述计数器的计数值是否大于或等于预设值,当判断出该当前图像是运动图像且计数器的计数值大于或等于预设值时,向编码单元发送指示信息,向计数器发送清零指令,否则,向计数器发送计数指令;所述计数器,用于在收到清零指令时,将自身的计数值清零,在收到计数指令时,在自身的计数值上加一个固定常量。
全文摘要
本发明实施例公开了一种适用于视频快进的编解码方法和装置,通过在当前图像是运动图像且当前图像与上一个关键图像之间的时间间隔满足一定条件时,将当前图像编码为关键图像,而在视频快进时解码关键图像的技术方案,避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能和在快进时搜索目标视频的速度。本发明实施例还公开了一种视频压缩编码方法和装置,通过在当前图像是运动图像且与上一个关键图像之间的时间间隔满足一定条件的情况下才将当前图像编码为关键图像的技术方案,避免了在大量连续的静止图像中频繁地插入关键图像,从而提高了视频序列的压缩性能。
文档编号H04N7/26GK101090500SQ200710130679
公开日2007年12月19日 申请日期2007年7月13日 优先权日2007年7月13日
发明者郭戈, 巨朝东 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1