CN103796021A - 视频编解码方法及装置 - Google Patents
视频编解码方法及装置 Download PDFInfo
- Publication number
- CN103796021A CN103796021A CN201210420721.9A CN201210420721A CN103796021A CN 103796021 A CN103796021 A CN 103796021A CN 201210420721 A CN201210420721 A CN 201210420721A CN 103796021 A CN103796021 A CN 103796021A
- Authority
- CN
- China
- Prior art keywords
- reference picture
- image
- buffer memory
- encoded
- parameter value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000002457 bidirectional effect Effects 0.000 claims description 40
- 238000006073 displacement reaction Methods 0.000 claims description 13
- 230000007547 defect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
Images
Abstract
本发明实施例提供一种视频编解码方法及装置,该视频编码方法包括:确定待编码图像的层级值;对待编码图像进行编码生成编码图像,根据层级值判断是否将编码图像作为参考图像移入参考图像缓存,若是,则将编码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序;将层级值写入编码图像的图像头中。本发明实施例提供的视频编解码方法及装置,避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频编码效率。
Description
技术领域
本发明实施例涉及视频编解码技术,尤其涉及一种视频编解码方法及装置。
背景技术
在视频编解码中,为了尽量减少传送视频数据所需要的带宽,通常采用多种视频压缩编码方法对视频数据进行压缩编码。现有技术中常用的视频压缩编码方法主要可以包括:帧内预测编码和帧间预测编码。帧间预测编码还可以进一步细分为前向帧预测编码和双向帧间预测编码。在前向帧间预测编码过程中,对某一帧图像进行编码时,将该帧图像之前的已编码的图像作为参考图像,该参考图像称为P帧。在双向帧间预测编码过程中,对某一帧图像进行编码时,可以分别将该帧图像之前和之后的已编码的图像作为参考图像,该参考图像称为B帧。
层级B帧(Hierarchical B)技术在双向帧间预测编码中的应用可以提高编码效率。但是,由于在双向帧间预测编码中需要使用在当前待编码图像之前及之后的已编码图像作为参考图像,需要维护两个参考图像列表(reference list),通过参考图像的图像序号以及偏移量对该两个参考图像列表中的参考图像进行重排序,以确定当前待编码图像的参考图像。现有的层级B帧技术,需要根据图像序号及偏移量对参考图像列表中的参考图像进行重排序,并且要同时维护两个参考图像列表,其编码操作过程较为复杂。
发明内容
本发明的目的在于针对现有技术的不足,提供一种视频编解码方法及装置,以避免设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高视频编码效率。
第一方面,本发明提供一种视频编码方法,包括:
确定待编码图像的层级值;
对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序;
将所述层级值写入所述编码图像的图像头中。
在第一种可能实现的方式中,所述确定待编码图像的层级值之前,所述方法还包括:
根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在第四种可能的实现方式中,所述待编码图像为待编码视频流中的第一帧图像;相应地,所述对所述待编码图像进行编码生成编码图像,具体为:
对所述待编码图像进行帧内预测编码生成所述编码图像。
在第五种可能的实现方式中,所述待编码图像不是待编码视频流中的第一帧图像;相应地,所述对所述待编码图像进行编码生成编码图像,具体为:
根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
在第六种可能的实现方式中,所述对所述待编码图像进行编码生成编码图像,具体为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
第二方面,本发明提供一种视频解码方法,包括:
从码流中获取层级值;
对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
在第一种可能实现的方式中,所述根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在第二种可能实现的方式中,所述码流对应的图像为视频码流中的第一帧图像;相应地,所述对所述码流进行解码获得解码图像,具体为:
对所述码流进行帧内预测解码获得所述解码图像。
在第三种可能实现的方式中,所述码流对应的图像不是视频码流中的第一帧图像;相应地,所述对所述码流进行解码获得解码图像,具体为:
根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
在第四种可能实现的方式中,所述对所述码流进行解码获得解码图像,具体为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
第三方面,本发明提供一种视频编码装置,包括:
确定单元,用于确定待编码图像的层级值;
编码处理单元,与所述确定单元相连,用于对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序;
写入单元,分别与所述确定单元和所述编码处理单元相连,用于将所述层级值写入所述编码图像的图像头中。
在第一种可能实现的方式中,所述视频编码装置,还包括:
设置单元,与所述确定单元相连,用于根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述设置单元具体用于将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述设置单元具体用于将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在第四种可能的实现方式中,所述待编码图像为待编码视频流中的第一帧图像;相应地,所述编码处理单元具体用于对所述待编码图像进行帧内预测编码生成所述编码图像。
在第五种可能的实现方式中,所述待编码图像不是待编码视频流中的第一帧图像;相应地,所述编码处理单元具体用于根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
在第六种可能的实现方式中,所述编码处理单元具体用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
第四方面,本发明提供一种视频解码装置,包括:
获取单元,用于从码流的图像头中获取层级值;
解码处理单元,与所述获取单元相连,用于对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
在第一种可能的实现方式中,所述解码处理单元具体用于:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在第二种可能的实现方式中,所述码流对应的图像为视频码流中的第一帧图像;相应地,所述解码处理单元具体用于对所述码流进行帧内预测解码获得所述解码图像。
在第三种可能的实现方式中,所述码流对应的图像不是视频码流中的第一帧图像;相应地,所述解码处理单元具体用于根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
在第四种可能的实现方式中,所述解码处理单元具体用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
本发明的有益效果是,本发明的视频编码装置确定待编码图像的层级值,对待编码图像进行编码生成编码图像,根据层级值判断是否将编码图像作为参考图像移入参考图像缓存,若是,则将编码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序,将层级值写入编码图像的图像头中。通过层级值的设置,可以根据每帧待编码图像分别对应的层级值来判断是否将该待编码图像编码后的编码图像作为参考图像,并根据该层级值来调整参考图像缓存中各参考图像的位置,以为后面的图像的编码过程提供编码参考。避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频编码效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种视频编码方法流程图;
图2为本发明实施例提供的第二种视频编码方法流程图;
图3为本发明实施例提供的一种层级B帧结构示意图;
图4为本发明实施例提供参考图像缓存结构示意图;
图5为本发明实施例提供的另一种层级B帧结构示意图;
图6为本发明实施例提供的视频解码方法流程图;
图7为本发明实施例提供的第一种视频编码装置结构示意图;
图8为本发明实施例提供的第二种视频编码装置结构示意图;
图9为本发明实施例提供的视频解码装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的第一种视频编码方法流程图。如图1所示,本实施例提供视频编码方法具体可以应用于对视频流的编码过程,本实施例提供的视频编码方法可以通过视频编码装置来执行,该视频编码装置可以集成在例如电视机、机顶盒、个人计算机、笔记本电脑、平板电脑或手机等设备的视频处理器中,也可以单独设置,该视频编码装置可以通过软件和/或硬件的方式来实现。
本实施例提供的视频编码方法具体包括:
步骤A10、确定待编码图像的层级值;
具体地,待编码的视频流包括多帧图像,每一帧图像都是待编码图像,可以根据预设编码规则为每一帧待编码图像设置层级值,该层级值用以指示在对该待编码图像编码生成编码图像后,是否将该编码图像作为参考图像移入参考图像缓存,以及指示如何将参考图像缓存中的参考图像的位置进行调整。参考图像缓存具体设置在视频编码装置中,用于缓存参考图像,在视频编码过程中,参考图像为已编码的图像。参考图像缓存的大小可以根据实际的编码需要来设置,例如参考图像缓存包括2n个存储位置,其中,n≥0,且n为整数。参考图像缓存可以通过堆栈来实现,为了描述方便,将位于参考图像缓存头部的存储位置作为第一位置,由此依次为第二位置、第三位置、….和第2n位置。将编码图像移入参考图像缓存中的第一位置,原来位于第一位置的参考图像移至第二位置,依次类推,若参考图像缓存存满,参考图像缓存尾部的参考图像将被移出。
步骤A20、对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序;
具体地,将待编码图像的编码过程可以依据预设编码规则,例如,该待编码图像为视频流中的第一帧图像,此时,参考图像缓存通常为空。则可以对该待编码图像进行帧内预测编码以生成编码图像。帧内预测编码的具体实现可以为:将该待编码图像换分为若干个大小相等的图像块,对于每个图像块,根据预设的预测模式、预测方向和该图像块周围的像素值得到预测块对应的像素,将图像块像素与预测块像素相减得到残差,将残差经变换、量化和熵编码后生成编码图像。对视频流的除第一帧图像的其他待编码图像的编码过程可以采用前向帧间预测编码或双向帧间预测编码来实现,前向帧间预测编码或双向帧间预测编码过程,均可以根据参考图像缓存中的参考图像来实现。在前向帧间预测编码过程中,可以将参考图像缓存中缓存的该待编码图像之前的至少一帧编码图像作为参考图像。在双向帧间预测编码过程中,可以将参考图像缓存中缓存的该待编码图像之前的至少一帧编码图像和该待编码图像之后的至少一帧编码图像作为参考图像。帧间预测编码的具体实现过程可以为:将该待编码图像换分为若干个大小相等的图像块,对于每个图像块,在参考图像中搜索与当前待编码的图像块最匹配的图像块作为预测块,然后将该图像块与预测块的相应像素值相减得到残差,并将该残差经变换与量化后得到的值进行熵编码,最后将熵编码得到编码图像。
对待编码图像编码生成编码图像后,根据层级值判断是否将该编码图像作为参考图像移入参考图像缓存,并根据层级值对参考图像缓存中的参考图像进行排序,以为后面的图像的编码过程提供编码参考。为了方便操作,对下一帧待编码图像进行编码时所需要的参考图像通常缓存在参考图像缓存的头部,以便于读取,因此,基于该原则,对参考图像缓存中各参考图像的位置进行调整。
步骤A30、将所述层级值写入所述编码图像的图像头中。
将层级值写入编码图像的图像头中,以使的当视频解码装置对该编码图像解码时,可以从图像头中提取该层级值,采用与预设编码规则对应的解码规则对编码图像进行解码,并根据该层级值判断是否将该解码图像移入视频解码装置的参考图像缓存,并根据该层级值对参考图像缓存中的参考图像进行排序,以为后面的编码图像的解码过程提供解码参考。
本实施例提供的视频编码方法,视频编码装置确定待编码图像的层级值,对待编码图像进行编码生成编码图像,根据层级值判断是否将编码图像作为参考图像移入参考图像缓存,若是,则将编码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序,将层级值写入编码图像的图像头中。通过层级值的设置,可以根据每帧待编码图像分别对应的层级值来判断是否将该待编码图像编码后的编码图像作为参考图像,并根据该层级值来调整参考图像缓存中各参考图像的位置,以为后面的图像的编码过程提供编码参考。避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频编码效率。
图2为本发明实施例提供的第二种视频编码方法流程图。如图2所示,在本实施例中,步骤A10,所述确定待编码图像的层级值之前,所述方法还可以包括:
步骤A40、根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
具体地,该组待编码图像中待编码图像的数量为至少一帧,待编码图像的数量可以根据预设编码规则来设置,相应地,为每帧待编码图像分配层级值。预设编码规则不同以及该组待编码图像中待编码图像的数量不同,层级值的设置方式也不同。
以预设编码规则基于层级B帧技术为例,通过以下实施例进行说明。
在一种实现方式中,所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
具体地,该组待编码图像中包括9帧待编码图像,按照待编码图像在视频流中的出现顺序,依次为待编码图像I0、待编码图像B1、待编码图像B2、待编码图像B3、待编码图像B4、待编码图像B5、待编码图像B6、待编码图像B7和待编码图像P8。为了描述方便,图3示出了一种层级B帧结构示意图,请同时参照图3,在采视频编码时,首对待编码图像I0进行帧内预测编码;然后将待编码图像I0的编码图像作为前向参考图像,对待编码图像P8进行前向帧间预测编码;然后将待编码图像I0的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B4进行双向帧间预测编码;然后将待编码图像I0的编码图像作为前向参考图像,将待编码图像B4的编码图像作为后向参考图像,对待编码图像B2进行双向帧间预测编码;然后将待编码图像I0的编码图像作为前向参考图像,将待编码图像B2的编码图像作为后向参考图像,对待编码图像B1进行双向帧间预测编码;然后将待编码图像B2的编码图像作为前向参考图像,将待编码图像B4的编码图像作为后向参考图像,对待编码图像B3进行双向帧间预测编码;然后将待编码图像B4的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B6进行双向帧间预测编码;然后将待编码图像B4的编码图像作为前向参考图像,将待编码图像B6的编码图像作为后向参考图像,对待编码图像B5进行双向帧间预测编码;最后将待编码图像B6的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B7进行双向帧间预测编码。
该组待编码图像中每个待编码图像的层级值如表1所示。
表1
待编码图像标号 | 层级值 |
I0 | 第一参数值L0 |
B1 | 第三参数值L2 |
B2 | 第二参数值L1 |
B3 | 第四参数值L3 |
B4 | 第二参数值L1 |
B5 | 第三参数值L2 |
B6 | 第二参数值L1 |
B7 | 第五参数值L4 |
P8 | 第一参数值L0 |
将参考图像缓存中的存储位置的数量设为4个,第一位置、第二位置、第三位置和第四位置的排列顺序如图4所示。对该组中9帧待编码图像分别进行编码的过程具体可以为:
待编码图像I0的层级值为第一参数值L0,对待编码图像I0进行帧内预测编码,待编码图像I0的编码图像移入参考图像缓存的第一位置,此时参考图像缓存中的参考图像的位置关系为待编码图像I0的编码图像,为了描述方便,以下只用符号表示;
待编码图像P8的层级值为第一参数值L0,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,对待编码图像P8进行前向帧间预测编码,将待编码图像P8的编码图像移入参考图像缓存的第一位置,此时参考图像缓存中的参考图像的位置关系为I0 P8;
待编码图像B4的层级值为第二参数值L1,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B4进行双向帧间预测编码,将待编码图像B4的编码图像移入参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为P8 I0 B4;
待编码图像B2的层级值为第二参数值L1,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,将待编码图像B4的编码图像作为后向参考图像,对待编码图像B2进行双向帧间预测编码,将待编码图像B2的编码图像移入参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为P8 B4 I0 B2;
待编码图像B1的层级值为第三参数值L2,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,将待编码图像B2的编码图像作为后向参考图像,对待编码图像B1进行双向帧间预测编码,不将待编码图像B1的编码图像移入参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为P8 I0 B2 B4;
待编码图像B3的层级值为第四参数值L3,将参考图像缓存中的待编码图像B2的编码图像作为前向参考图像,将待编码图像B4的编码图像作为后向参考图像,对待编码图像B3进行双向帧间预测编码,不将待编码图像B4的编码图像移入参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置,此时参考图像缓存中的参考图像的位置关系为I0 B2 B4 P8;
待编码图像B6的层级值为第二参数值L1,将参考图像缓存中的待编码图像B4的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B6进行双向帧间预测编码,将待编码图像B6的编码图像移入参考图像缓存的第一位置,由于参考帧缓存只能存放四个参考图像,此时待编码图像I0的编码图像已经移出参考帧缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为B2 P8 B4 B6;
待编码图像B5的层级值为第三参数值L2,将参考图像缓存中的待编码图像B4的编码图像作为前向参考图像,将待编码图像B6的编码图像作为后向参考图像,对待编码图像B5进行双向帧间预测编码,不将待编码图像B5的编码图像移入参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为B2 B4 B6 P8;
待编码图像B7的层级值为第五参数值L4,将参考图像缓存中的待编码图像B6的编码图像作为前向参考图像,将待编码图像P8的编码图像作为后向参考图像,对待编码图像B7进行双向帧间预测编码,不将待编码图像B5的编码图像移入参考图像缓存,也不改变参考图像缓存中的各参考图像的位置关系。
至此就完成了对该组待编码图像的编码过程,对下一组待编码图像的编码过程可以采用相同方式实现,对于下一组待编码图像中的第一帧待编码图像的编码过程,也可以根据对上一组待编码图像进行编码过程产生的参考图像缓存中的参考图像实现,例如将待编码图像P8的编码图像作为下一组的第一帧待编码图像的前向前向参考图像。
在另一种实现方式中,所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
具体地,该组待编码图像中包括5帧待编码图像,按照待编码图像在视频流中的出现顺序,依次为待编码图像I0、待编码图像B1、待编码图像B2、待编码图像B3和待编码图像P4。为了描述方便,图5示出了另一种层级B帧结构示意图,请同时参照图5,在采视频编码时,首对待编码图像I0进行帧内预测编码;然后将待编码图像I0的编码图像作为前向参考图像,对待编码图像P4进行前向帧间预测编码;然后将待编码图像I0的编码图像作为前向参考图像,将待编码图像P4的编码图像作为后向参考图像,对待编码图像B2进行双向帧间预测编码;然后将待编码图像I0的编码图像作为前向参考图像,将待编码图像B2的编码图像作为后向参考图像,对待编码图像B1进行双向帧间预测编码;然后将待编码图像B2的编码图像作为前向参考图像,将待编码图像P4的编码图像作为后向参考图像,对待编码图像B3进行双向帧间预测编码。
该组待编码图像中每个待编码图像的层级值如表2所示。
表2
待编码图像标号 | 层级值 |
I0 | 第一参数值L0 |
B1 | 第三参数值L2 |
B2 | 第二参数值L1 |
B3 | 第五参数值L4 |
P4 | 第一参数值L0 |
将参考图像缓存中的存储位置的数量设为4个,第一位置、第二位置、第三位置和第四位置的排列顺序如图4所示。对该组中5帧待编码图像分别进行编码的过程具体可以为:
待编码图像I0的层级值为第一参数值L0,对待编码图像I0进行帧内预测编码,待编码图像I0的编码图像移入参考图像缓存的第一位置,此时参考图像缓存中的参考图像的位置关系为待编码图像I0的编码图像,为了描述方便,以下只用符号表示;
待编码图像P4的层级值为第一参数值L0,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,对待编码图像P8进行前向帧间预测编码,将待编码图像P8的编码图像移入参考图像缓存的第一位置,此时参考图像缓存中的参考图像的位置关系为I0 P4;
待编码图像B2的层级值为第二参数值L1,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,将待编码图像P4的编码图像作为后向参考图像,对待编码图像B2进行双向帧间预测编码,将待编码图像B2的编码图像移入参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为P4 I0 B2;
待编码图像B1的层级值为第三参数值L2,将参考图像缓存中的待编码图像I0的编码图像作为前向参考图像,将待编码图像B2的编码图像作为后向参考图像,对待编码图像B1进行双向帧间预测编码,不将待编码图像B1的编码图像移入参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置,此时参考图像缓存中的参考图像的位置关系为I0 B2 P4;
待编码图像B3的层级值为第五参数值L4,将参考图像缓存中的待编码图像B2的编码图像作为前向参考图像,将待编码图像P4的编码图像作为后向参考图像,对待编码图像B3进行双向帧间预测编码,不将待编码图像B3的编码图像移入参考图像缓存,也不改变参考图像缓存中的各参考图像的位置关系。
值得注意的是,本实施例示出了两种具体的实现方式,但是本发明并不以此为限,本领域技术人员根据具体的编码规则和实现需要来设置层级值,并分配给相应的待编码图像。
在本实施例中,所述待编码图像为待编码视频流中的第一帧图像;相应地,步骤A20,所述对所述待编码图像进行编码生成编码图像,具体可以为:
对所述待编码图像进行帧内预测编码生成所述编码图像。
在本实施例中,所述待编码图像不是待编码视频流中的第一帧图像;相应地,步骤A20,所述对所述待编码图像进行编码生成编码图像,具体可以为:
根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
在本实施例中,步骤A20,所述对所述待编码图像进行编码生成编码图像,具体可以为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
具体地,当参考图像缓存中存储有至少两帧参考图像时,对于后续的待编码图像的编码过程可以采用参考图像缓存中的两帧参考图像分别作为前向参考图像和后向参考图像进行双向帧间预测编码。在本实施例中,通过层级值确定参考图像缓存中的各参考图像的位置,并据此调整参考图像的位置,调整后的参考图像缓存中第二位置的参考图像作为前向参考图像,第一位置的参考图像作为后向参考图像。
图6为本发明实施例提供的视频解码方法流程图。如图6所示,本实施例提供的视频解码方法具体可以与本发明任意实施例提供的视频编码方法配合实现,具体实现过程在此不再赘述。本实施例提供的视频解码方法可以通过视频解码装置来执行,该视频解码装置可以集成在例如电视机、机顶盒、个人计算机、笔记本电脑、平板电脑或手机等设备的视频处理器中,也可以单独设置,该视频解码装置可以通过软件和/或硬件的方式来实现。
本实施例提供的视频解码方法具体包括:
步骤B10、从码流的图像头中获取层级值;
步骤B20、对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
本实施例提供的视频解码方法,视频解码装置从码流的图像头中获取层级值,对码流进行解码获得解码图像,根据层级值判断是否将解码图像作为参考图像移入参考图像缓存,若是,则将解码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序。通过层级值的设置,可以根据每帧待码流分别对应的层级值来判断是否将该码流解码后的解码图像作为参考图像,并根据该层级值来调整参考图像缓存中各参考图像的位置,以为后面的图像的解码过程提供解码参考。避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频解码效率。
在本实施例中,步骤B20,所述根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,具体可以包括:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
由于视频解码过程与视频编码过程相对应,则具体可以参照本发明实施例中示出的视频编码过程中根据层级值进行相应处理的实现方式,在此不再赘述。
在本实施例中,所述码流对应的图像为视频码流中的第一帧图像;相应地,步骤B20中,所述对所述码流进行解码获得解码图像,具体可以为:
对所述码流进行帧内预测解码获得所述解码图像。
在本实施例中,所述码流对应的图像不是视频码流中的第一帧图像;相应地,步骤B20中,所述对所述码流进行解码获得解码图像,具体可以为:
根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
在本实施例中,步骤B20中,所述对所述码流进行解码获得解码图像,具体可以为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
图7为本发明实施例提供的第一种视频编码装置结构示意图。如图7所示,本实施例提供的视频编码装置具体可以实现本发明任意实施例提供的视频编码方法的各个步骤,其具体实现过程在此不再赘述。本实施例提供的视频编码装置具体包括确定单元11、编码处理单元12和写入单元13。所述确定单元11用于确定待编码图像的层级值。所述编码处理单元12与所述确定单元11相连,用于对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。所述写入单元13分别与所述确定单元11和所述编码处理单元12相连,用于将所述层级值写入所述编码图像的图像头中。
本实施例提供的视频编码装置,确定单元11确定待编码图像的层级值,编码处理单元12对待编码图像进行编码生成编码图像,根据层级值判断是否将编码图像作为参考图像移入参考图像缓存,若是,则将编码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序,写入单元13将层级值写入编码图像的图像头中。通过层级值的设置,可以根据每帧待编码图像分别对应的层级值来判断是否将该待编码图像编码后的编码图像作为参考图像,并根据该层级值来调整参考图像缓存中各参考图像的位置,以为后面的图像的编码过程提供编码参考。避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频编码效率。
图8为本发明实施例提供的第二种视频编码装置结构示意图。如图8所示,在本实施例中,进一步,所述视频编码装置还可以包括设置单元14,所述设置单元14与所述确定单元11相连,用于根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
在本实施例中,所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,所述设置单元具体用于将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元12具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在本实施例中,所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,所述设置单元具体用于将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元12具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在本实施例中,所述待编码图像为待编码视频流中的第一帧图像;相应地,所述编码处理单元12具体用于对所述待编码图像进行帧内预测编码生成所述编码图像。
在本实施例中,所述待编码图像不是待编码视频流中的第一帧图像;相应地,所述编码处理单元12具体用于根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
在本实施例中,所述编码处理单元12具体用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
图9为本发明实施例提供的视频解码装置结构示意图。如图9所示,本实施例提供的视频解码装置可以实现本发明任意实施例提供的视频解码方法的各个步骤,其具体实现过程在此不再赘述。本实施例提供的视频解码装置具体包括:获取单元21和解码处理单元22。所述获取单元21用于从码流的图像头中获取层级值。所述解码处理单元22与所述获取单元21相连,用于对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
本实施例提供的视频解码装置,获取单元21从码流的图像头中获取层级值,解码处理单元22对码流进行解码获得解码图像,根据层级值判断是否将解码图像作为参考图像移入参考图像缓存,若是,则将解码图像移入参考图像缓存,根据层级值对参考图像缓存中的参考图像进行排序。通过层级值的设置,可以根据每帧待码流分别对应的层级值来判断是否将该码流解码后的解码图像作为参考图像,并根据该层级值来调整参考图像缓存中各参考图像的位置,以为后面的图像的解码过程提供解码参考。避免了设置两个参考图像列表对参考图像进行维护所造成的排序过程复杂和增加系统开销的弊端,提高了视频解码效率。
在本实施例中,所述解码处理单元22具体可以用于:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
在本实施例中,所述码流对应的图像为视频码流中的第一帧图像;相应地,所述解码处理单元22具体可以用于对所述码流进行帧内预测解码获得所述解码图像。
在本实施例中,所述码流对应的图像不是视频码流中的第一帧图像;相应地,所述解码处理单元22具体可以用于根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
在本实施例中,所述解码处理单元22具体可以用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种视频编码方法,其特征在于,包括:
确定待编码图像的层级值;
对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序;
将所述层级值写入所述编码图像的图像头中。
2.根据权利要求1所述的视频编码方法,其特征在于,所述确定待编码图像的层级值之前,所述方法还包括:
根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
3.根据权利要求2所述的视频编码方法,其特征在于:所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
4.根据权利要求2所述的视频编码方法,其特征在于:所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,具体为:
将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
5.根据权利要求1所述的视频编码方法,其特征在于:所述待编码图像为待编码视频流中的第一帧图像;相应地,所述对所述待编码图像进行编码生成编码图像,具体为:
对所述待编码图像进行帧内预测编码生成所述编码图像。
6.根据权利要求1所述的视频编码方法,其特征在于:所述待编码图像不是待编码视频流中的第一帧图像;相应地,所述对所述待编码图像进行编码生成编码图像,具体为:
根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
7.根据权利要求1所述的视频编码方法,其特征在于:所述对所述待编码图像进行编码生成编码图像,具体为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
8.一种视频解码方法,其特征在于,包括:
从码流中获取层级值;
对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
9.根据权利要求8所述的视频解码方法,其特征在于,所述根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序,包括:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
10.根据权利要求8所述的视频解码方法,其特征在于:所述码流对应的图像为视频码流中的第一帧图像;相应地,所述对所述码流进行解码获得解码图像,具体为:
对所述码流进行帧内预测解码获得所述解码图像。
11.根据权利要求8所述的视频解码方法,其特征在于:所述码流对应的图像不是视频码流中的第一帧图像;相应地,所述对所述码流进行解码获得解码图像,具体为:
根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
12.根据权利要求8所述的视频解码方法,其特征在于,所述对所述码流进行解码获得解码图像,具体为:
将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
13.一种视频编码装置,其特征在于,包括:
确定单元,用于确定待编码图像的层级值;
编码处理单元,与所述确定单元相连,用于对所述待编码图像进行编码生成编码图像,根据所述层级值判断是否将所述编码图像作为参考图像移入参考图像缓存,若是,则将所述编码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序;
写入单元,分别与所述确定单元和所述编码处理单元相连,用于将所述层级值写入所述编码图像的图像头中。
14.根据权利要求13所述的视频编码装置,其特征在于,还包括:
设置单元,与所述确定单元相连,用于根据预设编码规则设置一组待编码图像中每帧所述待编码图像的层级值,其中,所述一组待编码图像包括至少一帧所述待编码图像。
15.根据权利要求14所述的视频编码装置,其特征在于:所述一组待编码图像包括顺序排列的9帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述设置单元具体用于将9帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第四参数值、第二参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述编码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
16.根据权利要求14所述的视频编码装置,其特征在于:所述一组待编码图像包括顺序排列的5帧所述待编码图像,所述待编码图像在所述组中的排列顺序与所述待编码图像在视频流中的排列顺序相同;相应地,
所述设置单元具体用于将5帧所述待编码图像按照所述排列顺序依次设置层级值,分别为第一参数值、第三参数值、第二参数值、第五参数值和第一参数值;
所述编码处理单元具体用于:
若所述层级值为第一参数值,则将所述编码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述编码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述编码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第五参数值,则不将所述编码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
17.根据权利要求13所述的视频编码装置,其特征在于:所述待编码图像为待编码视频流中的第一帧图像;相应地,所述编码处理单元具体用于对所述待编码图像进行帧内预测编码生成所述编码图像。
18.根据权利要求13所述的视频编码装置,其特征在于:所述待编码图像不是待编码视频流中的第一帧图像;相应地,所述编码处理单元具体用于根据所述参考图像缓存中的参考图像对所述待编码图像进行编码生成所述编码图像。
19.根据权利要求13所述的视频编码装置,其特征在于:所述编码处理单元具体用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述待编码图像进行双向帧间预测编码生成所述编码图像。
20.一种视频解码装置,其特征在于,包括:
获取单元,用于从码流的图像头中获取层级值;
解码处理单元,与所述获取单元相连,用于对所述码流进行解码获得解码图像,根据所述层级值判断是否将所述解码图像作为参考图像移入参考图像缓存,若是,则将所述解码图像移入所述参考图像缓存,根据所述层级值对所述参考图像缓存中的参考图像进行排序。
21.根据权利要求20所述的视频解码装置,其特征在于,所述解码处理单元具体用于:
若所述层级值为第一参数值,则将所述解码图像移入所述参考图像缓存的第一位置,保持所述参考图像缓存中的参考图像的排列顺序;
若所述层级值为第二参数值,则将所述解码图像移入所述参考图像缓存的第一位置,将位于第二位置的参考图像和位于第三位置的参考图像交换位置;
若所述层级值为第三参数值,则不将所述解码图像移入所述参考图像缓存,将位于第二位置的参考图像和位于第三位置的参考图像交换位置,再将交换位置后位于第一位置的参考图像和位于第二位置的参考图像交换位置;
若所述层级值为第四参数值,则不将所述解码图像移入所述参考图像缓存,将位于第四位置的参考图像移至第一位置,并将移位前分别位于第一位置、第二位置和第三位置的参考图像移至第二位置、第三位置和第四位置;
若所述层级值为第五参数值,则不将所述解码图像移入所述参考图像缓存,保持所述参考图像缓存中的参考图像的排列顺序。
22.根据权利要求20所述的视频解码装置,其特征在于:所述码流对应的图像为视频码流中的第一帧图像;相应地,所述解码处理单元具体用于对所述码流进行帧内预测解码获得所述解码图像。
23.根据权利要求20所述的视频解码装置,其特征在于:所述码流对应的图像不是视频码流中的第一帧图像;相应地,所述解码处理单元具体用于根据所述参考图像缓存中的参考图像对所述码流进行解码获得所述解码图像。
24.根据权利要求20所述的视频解码装置,其特征在于:所述解码处理单元具体用于将从所述参考图像缓存的第二位置获取的参考图像作为前向参考图像,将从所述参考图像缓存的第一位置获取的参考图像作为后向参考图像,根据所述前向参考图像和所述后向参考图像对所述码流进行双向帧间预测解码生成所述解码图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210420721.9A CN103796021B (zh) | 2012-10-29 | 2012-10-29 | 视频编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210420721.9A CN103796021B (zh) | 2012-10-29 | 2012-10-29 | 视频编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103796021A true CN103796021A (zh) | 2014-05-14 |
CN103796021B CN103796021B (zh) | 2018-03-16 |
Family
ID=50671242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210420721.9A Expired - Fee Related CN103796021B (zh) | 2012-10-29 | 2012-10-29 | 视频编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103796021B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784226A (zh) * | 2018-12-28 | 2019-05-21 | 深圳云天励飞技术有限公司 | 人脸抓拍方法及相关装置 |
CN111405291A (zh) * | 2019-01-02 | 2020-07-10 | 浙江大学 | 视频编解码方法与装置 |
CN112040233A (zh) * | 2020-11-04 | 2020-12-04 | 北京金山云网络技术有限公司 | 视频编码、视频解码方法和装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101257628A (zh) * | 2008-03-20 | 2008-09-03 | 武汉大学 | 一种实现视频码流帧率可调整的压缩方法 |
WO2008105389A1 (ja) * | 2007-02-28 | 2008-09-04 | Sony Corporation | 画像情報符号化装置及び符号化方法 |
US20090003445A1 (en) * | 2006-01-10 | 2009-01-01 | Chen Ying | Method and Apparatus for Constructing Reference Picture Lists for Scalable Video |
US20110080949A1 (en) * | 2009-10-05 | 2011-04-07 | Sony Corporation | Image processing apparatus, image processing method, and program |
CN102387361A (zh) * | 2010-09-02 | 2012-03-21 | 乐金电子(中国)研究开发中心有限公司 | 视频编解码的参考帧处理方法及视频编解码器 |
US20120189053A1 (en) * | 2011-01-22 | 2012-07-26 | Qualcomm Incorporated | Combined reference picture list construction for video coding |
WO2012102973A1 (en) * | 2011-01-24 | 2012-08-02 | Qualcomm Incorporated | Single reference picture list construction for video coding |
US20120236942A1 (en) * | 2011-03-14 | 2012-09-20 | Mediatek Inc. | Method and Apparatus for Deriving Temporal Motion Vector Prediction |
-
2012
- 2012-10-29 CN CN201210420721.9A patent/CN103796021B/zh not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090003445A1 (en) * | 2006-01-10 | 2009-01-01 | Chen Ying | Method and Apparatus for Constructing Reference Picture Lists for Scalable Video |
CN101356822A (zh) * | 2006-01-10 | 2009-01-28 | 汤姆逊许可公司 | 用于构造可伸缩视频的参考图像列表的方法和设备 |
WO2008105389A1 (ja) * | 2007-02-28 | 2008-09-04 | Sony Corporation | 画像情報符号化装置及び符号化方法 |
CN101637028A (zh) * | 2007-02-28 | 2010-01-27 | 索尼株式会社 | 图像信息编码设备和编码方法 |
CN101257628A (zh) * | 2008-03-20 | 2008-09-03 | 武汉大学 | 一种实现视频码流帧率可调整的压缩方法 |
US20110080949A1 (en) * | 2009-10-05 | 2011-04-07 | Sony Corporation | Image processing apparatus, image processing method, and program |
CN102387361A (zh) * | 2010-09-02 | 2012-03-21 | 乐金电子(中国)研究开发中心有限公司 | 视频编解码的参考帧处理方法及视频编解码器 |
US20120189053A1 (en) * | 2011-01-22 | 2012-07-26 | Qualcomm Incorporated | Combined reference picture list construction for video coding |
WO2012102973A1 (en) * | 2011-01-24 | 2012-08-02 | Qualcomm Incorporated | Single reference picture list construction for video coding |
US20120236942A1 (en) * | 2011-03-14 | 2012-09-20 | Mediatek Inc. | Method and Apparatus for Deriving Temporal Motion Vector Prediction |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109784226A (zh) * | 2018-12-28 | 2019-05-21 | 深圳云天励飞技术有限公司 | 人脸抓拍方法及相关装置 |
CN109784226B (zh) * | 2018-12-28 | 2020-12-15 | 深圳云天励飞技术有限公司 | 人脸抓拍方法及相关装置 |
CN111405291A (zh) * | 2019-01-02 | 2020-07-10 | 浙江大学 | 视频编解码方法与装置 |
CN111405291B (zh) * | 2019-01-02 | 2021-10-19 | 浙江大学 | 视频编解码方法与装置 |
CN112040233A (zh) * | 2020-11-04 | 2020-12-04 | 北京金山云网络技术有限公司 | 视频编码、视频解码方法和装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103796021B (zh) | 2018-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102408278B1 (ko) | 이미지 예측 방법 및 장치 | |
CN100505878C (zh) | 运动画面编码方法及运动画面解码方法 | |
CN107995494B (zh) | 视频图像数据的压缩方法与解压方法、计算机装置、计算机可读存储介质 | |
US20150215631A1 (en) | Parallel Coding with Overlapped Tiles | |
US8577165B2 (en) | Method and apparatus for bandwidth-reduced image encoding and decoding | |
CN100508585C (zh) | 用于控制数字视频比特流逆向播放的装置和方法 | |
CN104106264B (zh) | 元数据辅助的视频解码 | |
CN1893652A (zh) | 视频编码方法和装置,以及视频解码方法和装置 | |
US10757440B2 (en) | Motion vector prediction using co-located prediction units | |
CN103796021A (zh) | 视频编解码方法及装置 | |
CN105872550A (zh) | 用于编码和解码的多级有效图 | |
CN100493193C (zh) | 对实时数码视频影流进行缓存控制的方法和装置 | |
CN101005627A (zh) | 图像译码方法、图像译码装置 | |
KR102035759B1 (ko) | 멀티-쓰레드 텍스처 디코딩 | |
DE102011100936A9 (de) | Techniken zum Speichern und Abrufen von Pixeldaten | |
CN104935933A (zh) | 一种视频编解码方法 | |
CN105049853A (zh) | 一种基于片源分析的sao编码方法及系统 | |
CN102387361B (zh) | 视频编解码的参考帧处理方法及视频编解码器 | |
CN100461866C (zh) | 影像装置、影像处理系统及其方法 | |
KR101602871B1 (ko) | 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치 | |
CN100576917C (zh) | 逆扫描频率系数的方法和系统 | |
CN107241601B (zh) | 图像数据传输方法、装置及终端 | |
CN101656881B (zh) | 运动图像编码方法及运动图像解码方法 | |
CN102123280B (zh) | 解码方法及解码装置 | |
US20200382767A1 (en) | Motion compensation reference frame compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180316 |
|
CF01 | Termination of patent right due to non-payment of annual fee |