一种编码方法及相关设备技术

技术编号:12172368 阅读:63 留言:0更新日期:2015-10-08 10:02
本申请实施例公开了一种编码方法及相关设备,该编码方法通过获取需要编码为I帧数据的待编码图像数据并进行索引计算,得到索引值;根据该索引值在I帧缓存队列中进行查找,当查找到索引值时,获取该索引值对应的I帧缓存对象,该I帧缓存对象中包含有该待编码图像数据对应的I帧数据。通过上述方法,当一个或多个用户并行访问时,针对需要进行I帧编码的待编码图像数据,利用索引值查找I帧缓存队列中对应的I帧缓存对象,当查找到I帧缓存对象时,获取其中待编码图像数据对应的I帧数据直接使用,通过该方式可实现多个编码设备对同一个I帧数据的共享,不必重复I帧编码,实现降低编码时间,提高编码效率,同时降低对服务器硬件资源消耗的目的。

【技术实现步骤摘要】

本专利技术涉及机顶盒
,更具体地说,涉及一种编码方法及相关设备
技术介绍
随着各类电视机顶盒的大量应用其对应的各类机顶盒技术也随之快速发展,针对机顶盒的管理,当前利用虚拟机顶盒的技术,将家庭使用的机顶盒中的核心组件转移到运营商的机房服务器上来,以提高对机顶盒管理维护能力的同时降低对机顶盒硬件的要求。在现有技术中,从逻辑上来讲将机顶盒主体业务移到了服务器端进行执行,当大量用户并发访问服务器时多路用户同时在服务器端进行264编码时,每路用户都需要一个编码器模块,且每个编码器模块对应的各个编码器实例之间是互相独立的,也就是说各自编码自己的每帧数据。同时,在虚拟机顶盒(VSTB,Virtual Set Top Box,虚拟机顶盒)的场景下,单个用户或多个用户之间Π页面场景复杂,不同级别的页面也会同时存在多个,因为每个不同页面都需要至少一个I帧,I帧的编码时间是P帧编码时间的2-3倍,且用户在不同页面之间进行切换时,前后都需要一个I帧编码。在现有的用户操作的过程中,如:N路用户并发访问服务器,针对一个编码器的编码帧序列格式为:11,P1,”.Ρη,12,P1,”.Ρη,…In,…。就同一个编码器而言,在大量的II,12,…In之间都可能会存在重复的Ρ1,…Pn数据,但仍然需要重复进行编码。对于N个不同的编码器而言,编码器I的I帧序列中和编码器N中的I帧序列中存在大量重复I帧,且该大量重复I帧数据不可重复利用和共享,就编码器而言会耗费大量的编码时间,降低编码的效率,同时这样的编码器对服务器硬件资源尤其是CPU资源的消耗也会比较高。
技术实现思路
本申请实施例提供一种编码方法及相关设备,以解决现有技术中因大量重复I帧数据不可重复利用和共享,耗费大量的编码时间和降低编码效率,同时对服务器硬件资源造成比较大的消耗的问题。为实现上述目的,本申请实施例提供了如下技术方案:本申请实施例第一方面提供了一种编码方法,应用于编码设备,包括:获取需要编码为I帧数据的待编码图像数据;对所述待编码图像数据进行索引计算,获得索引值;根据所述索引值在I帧缓存队列中进行查找,当在所述I帧缓存队列中查找到所述索引值时,获取所述索引值对应的I帧缓存对象,所述I帧缓存对象中包括所述待编码图像数据对应的I帧数据。在本申请实施例第一方面中的第一实现方式中,所述根据所述索引值在I帧缓存队列中进行查找,还包括:当在所述I帧缓存队列中未查找到所述索引值时,对所述待编码图像数据进行I帧编码,获取对应的I帧数据;利用所述对应的I帧数据构建对应的I帧缓存对象,并将所述对应的I帧缓存对象和所述索引值加载至I帧缓存队列中。在本申请实施例第一方面中的第二实现方式中,在所述获取需要编码为I帧数据的待编码图像数据之前,还包括:获取当前输入的图像数据,并基于对比函数将所述当前输入的图像数据与前一图像数据中的最后一帧数据进行对比;若对比结果大于预设的阈值,则确定所述当前输入的图像数据为需要编码为I帧数据的待编码图像数据;若对比结果小于预设的阈值,则对所述当前输入的图像数据进行B帧或P帧编码,并输出对应的编码结果。本申请实施例第二方面提供了一种编码设备,包括:处理模块用于,获取需要编码为I帧数据的待编码图像数据,对所述待编码图像数据进行索引计算,获得索引值;查找模块用于,根据所述索引值在I帧缓存队列中进行索引值查找,当在所述I帧缓存队列中查找到所述索引值时,获取所述索引值对应的I帧缓存对象,所述I帧缓存对象中包括所述待编码图像数据对应的I帧数据。在本申请实施例第二方面的第一实现方式中,所述根据所述索引值在I帧缓存队列中进行查找的查找模块,当在所述I帧缓存队列中未查找到所述索引值时,还包括:所述处理模块用于,对所述所述待编码图像数据进行I帧编码,获取对应的I帧数据,并利用所述对应的I帧数据构建对应的I帧缓存对象,将所述对应的I帧缓存对象和所述索引值加载至I帧缓存队列中。在申请实施例第二方面的第二实现方式中,所述获取需要编码为I帧数据的待编码图像数据的处理模块,还包括:所述处理模块用于,获取当前输入的图像数据,并基于对比函数将所述当前输入的图像数据与前一图像数据中的最后一帧数据进行对比;若比对结果大于预设的阈值,则确定所述当前输入的图像数据为需要编码为I帧数据的待编码图像数据;若比对结果小于预设的阈值时,则对所述当前输入的图像数据进行B帧或P帧编码,并输出对应的编码结果O本申请实施例第三方面提供了一种编码方法,包括:编码设备获取需要编码为I帧数据的待编码图像数据,并对所述待编码图像数据进行索引计算,获得索引值;所述编码设备根据所述索引值在I帧缓存器中的I帧缓存队列中进行查找,当在所述I帧缓存队列中查找到所述索引值时,获取所述索引值对应的I帧缓存对象,所述I帧缓存对象中包括所述待编码图像数据对应的I帧数据;当在所述I帧缓存队列中未查找到所述索引值时,对所述待编码图像数据进行I帧编码,获取对应的I帧数据,并依据所述对应的I帧数据构建对应的I帧缓存对象,将所述对应的I帧缓存对象和所述索引值加载至所述I帧缓存器中;所述I帧缓存器获取加载的所述对应的I帧缓存对象和所述索引值,存储于所述I帧缓存队列中;所述I帧缓存器依据所述索引值对所述I帧缓存队列进行更新。在本申请实施例第三方面的第一实现方式中,所述编码设备获取需要编码为I帧数据的待编码图像数据之前,还包括:所述编码设备获取当前输入的图像数据,并基于对比函数将所述当前输入的图像数据与前一图像数据中的最后一帧数据进行对比;若对比结果大于预设的阈值,则确定所述当前输入的图像数据为需要编码为I帧数据的待编码图像数据;若对比结果小于预设的阈值,则对所述当前输入的图像数据进行B帧或P帧编码,并输出对应的编码结果。在本申请实施例的第三方面的第二种实现方式中,在所述编码设备获取需要编码为I帧数据的待编码图像数据之前,还包括:对比设备对当前输入的图像数据,并基于对比函数将所述当前输入的图像数据与前一图像数据中的最后一帧数据进行对比;若比对结果大于预设阈值,则确定所述当前输入的图像数据为需要编码为I帧数据的待编码图像数据;若比对结果小于预设的阈值时,则触发所述编码设备;所述编码设备对所述当前输入的图像数据进行B帧或P帧编码,并输出对应的编码结果。在本申请实施例的第三方面的第三种实现方式中,所述I帧缓存器获取加载的所述对应的I帧缓存对象和所述索引值,存储于所述I帧缓存队列中,包括:所述I帧缓存器获取由所述编码设备构建并加载的所述对应的I帧缓存对象和所述索引值,所述对应的I帧缓存对象中包含进行I帧编码的待编码图像数据对应的I帧数据;所述I帧缓存器建立所述索引值和所述对应的I帧缓存对象之间的关联,并将所述对应的I帧缓存对象和所述索引值存储于所述I帧缓存队列中。本申请实施例的第四方面提供了一种编码系统,包括:编码设备用于,获取需要编码为I帧数据的待编码图像数据,对所述待编码图像数据进行索引计算,获得索引值,根据所述索引值在I帧缓存器的I帧缓存队列中进行查找,当在所述I帧缓存队列中查找到所述索引值时,获取所述索引值对应的I帧缓存对象;当在所述I帧缓存队列中未查找到所述索引值时,对所述待编码图像数据进行I帧编码,获取对应的I帧数据,并依据所述对应本文档来自技高网...

【技术保护点】
一种编码方法,其特征在于,应用于编码设备,包括:获取需要编码为I帧数据的待编码图像数据;对所述待编码图像数据进行索引计算,获得索引值;根据所述索引值在I帧缓存队列中进行查找,当在所述I帧缓存队列中查找到所述索引值时,获取所述索引值对应的I帧缓存对象,所述I帧缓存对象中包括所述待编码图像数据对应的I帧数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:王飞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1