一种移动终端视频编码方法、装置及移动终端制造方法及图纸

技术编号:20520277 阅读:19 留言:0更新日期:2019-03-06 03:55
本发明专利技术的实施例公开一种移动终端视频编码方法、装置及移动终端,涉及视频数据编码技术领域,能够在缓解视频数据丢失的同时,提高视频数据的编码效率。所述移动终端视频编码方法,包括:获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区;通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区;通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据。本发明专利技术适用于移动终端摄像头所采集的视频数据的编码。

【技术实现步骤摘要】
一种移动终端视频编码方法、装置及移动终端
本专利技术涉及视频编码
,尤其涉及一种移动终端视频编码方法、装置及移动终端。
技术介绍
随着移动网络及移动终端技术的发展,人们对移动终端高清视频的需求,已经越来越普遍。为满足公安、司法、交通等行业现场指挥、指挥调度、保险理赔等业务需求,移动终端上开发了视频采集回传应用软件。该软件主要依赖移动终端自带摄像头采集视频、音频等媒体信息,并将该媒体数据处理后,回传给集成平台,供平台进行相关业务处理。原始的媒体数据量很大,为了保证网络的有效传输,在网络传输之前,移动终端需要将媒体数据进行压缩编码。目前,移动终端上对媒体数据进行编码的方式,通常是采用单线程编码处理机制,这种处理机制存在编码效率低的问题,由此会导致数据缓冲区中的数据缓冲溢出,出现丢帧现象,视频分辨率越高,现象越明显。
技术实现思路
有鉴于此,本专利技术实施例提供一种移动终端视频编码方法、装置及移动终端,能够在缓解视频数据丢失的同时,提高视频数据的编码效率。第一方面,本专利技术实施例提供一种移动终端视频编码方法,包括:获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区;通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区;通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据。结合第一方面,在第一方面的第一种实施方式中,所述获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区,包括:获取所述原始视频数据,并将获取的所述原始视频数据按照预定顺序轮询输入到两个以上的编码前数据缓冲区。结合第一方面,在第一方面的第二种实施方式中,所述编码后数据缓冲区的数量为两个以上;所述通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据,包括:通过编码数据读线程,按照预定顺序轮询读取各编码后数据缓冲区中编码后的视频数据。结合第一方面的第一种或第二种实施方式,在第一方面的第三种实施方式中,所述预定顺序为所述两个以上编码线程的创建顺序。结合第一方面或第一方面的第二种实施方式,在第一方面的第四种实施方式中,各编码前数据缓冲区、各编码后数据缓冲区的大小各自为I帧间隔数乘以一帧原始视频数据大小。结合第一方面,在第一方面的第五种实施方式中,在获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区之前,所述方法还包括:创建两个以上编码线程,为每个编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区;以及创建编码数据读线程。结合第一方面的第五种实施方式,在第一方面的第六种实施方式中,所述创建两个以上编码线程,为每个编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区,包括:创建第一编码线程,为所述第一编码线程创建第一编码前数据缓冲区和第一编码后数据缓冲区;创建第二编码线程,为所述第二编码线程创建第二编码前数据缓冲区和第二编码后数据缓冲区;其中,所述获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区,包括:获取原始视频数据,并将获取的所述原始视频数据输入到所述第一编码前数据缓冲区和所述第二编码前数据缓冲区;所述通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区,包括:通过第一编码线程对所述第一编码前数据缓冲区中的视频数据进行编码,将编码后的视频数据输入第一编码后数据缓冲区;通过第二编码线程对所述第二编码前数据缓冲区中的视频数据进行编码,将编码后的视频数据输入第二编码后数据缓冲区。结合第一方面,在第一方面的第七种实施方式中,所述的移动终端视频编码方法,还包括:判断当前已创建的编码线程的数量,是否等于当前正在编码的编码线程的数量;若当前已创建的编码线程的数量,等于当前正在编码的编码线程的数量,则判断当前已创建的编码线程的数量是否小于移动终端中CPU的内核数;若当前已创建的编码线程的数量,小于移动终端中CPU的内核数,则创建新的编码线程,并为所述新的编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区。第二方面,本专利技术实施例提供一种移动终端视频编码装置,包括:视频数据获取模块,用于获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区;编码模块,用于通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区;编码数据读取模块,用于通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据。结合第二方面,在第二方面的第一种实施方式中,所述视频数据获取模块,具体用于获取所述原始视频数据,并将获取的所述原始视频数据按照预定顺序轮询输入到两个以上的编码前数据缓冲区。结合第二方面,在第二方面的第二种实施方式中,所述编码后数据缓冲区的数量为两个以上;所述编码数据读取模块,用于通过编码数据读线程,按照预定顺序轮询读取各编码后数据缓冲区中编码后的视频数据。结合第二方面的第一种或第二种实施方式,在第二方面的第三种实施方式中,所述预定顺序为所述两个以上编码线程的创建顺序。结合第二方面或第二方面的第二种实施方式中,在第二方面的第四种实施方式中,所述的移动终端视频编码装置,还包括:I帧间隔数设置模块,用于设置I帧间隔数;缓冲区大小确定模块,用于根据所述I帧间隔数设置模块设置的I帧间隔数,以及一帧原始视频数据大小,确定各编码前数据缓冲区、各编码后数据缓冲区的大小。结合第二方面,在第二方面的第五种实施方式中,所述的移动终端视频编码装置,还包括:线程创建模块,用于在所述视频数据获取模块获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区之前,创建两个以上编码线程,为每个编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区;以及创建编码数据读线程。结合第二方面的五种实施方式,在第二方面的第六种实施方式中,所述的移动终端视频编码装置,所述线程创建模块,包括:第一线程创建子模块,用于创建第一编码线程,为所述第一编码线程创建第一编码前数据缓冲区和第一编码后数据缓冲区;第一线程创建子模块,用于创建第二编码线程,为所述第二编码线程创建第二编码前数据缓冲区和第二编码后数据缓冲区;第一线程创建子模块,用于创建编码数据读线程。结合第二方面,在第二方面的第七种实施方式中,所述的移动终端视频编码装置,还包括:编码线程动态创建模块,用于判断当前已创建的编码线程的数量,是否等于当前正在编码的编码线程的数量;若当前已创建的编码线程的数量,等于当前正在编码的编码线程的数量,则判断当前已创建的编码线程的数量是否小于移动终端中CPU的内核数;若当前已创建的编码线程的数量,小于移动终端中CPU的内核数,则创建新的编码线程,并为所述新的编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区。第三方面,本专利技术实施例提供一种移动终端,所述移动终端包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一实施方式所述的移动终端视频编本文档来自技高网...

【技术保护点】
1.一种移动终端视频编码方法,其特征在于,包括:获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区;通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区;通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据。

【技术特征摘要】
1.一种移动终端视频编码方法,其特征在于,包括:获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区;通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区;通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据。2.根据权利要求1所述的移动终端视频编码方法,其特征在于,所述获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区,包括:获取所述原始视频数据,并将获取的所述原始视频数据按照预定顺序轮询输入到两个以上的编码前数据缓冲区。3.根据权利要求1所述的移动终端视频编码方法,其特征在于,所述编码后数据缓冲区的数量为两个以上;所述通过编码数据读线程,读取编码后数据缓冲区中编码后的视频数据,包括:通过编码数据读线程,按照预定顺序轮询读取各编码后数据缓冲区中编码后的视频数据。4.根据权利要求2或3所述的移动终端视频编码方法,其特征在于,所述预定顺序为所述两个以上编码线程的创建顺序;或者,所述预定顺序为各编码前数据缓冲区的创建顺序;或者,所述预定顺序为各编码后数据缓冲区的创建顺序。5.根据权利要求1或3所述的移动终端视频编码方法,其特征在于,各编码前数据缓冲区、各编码后数据缓冲区的大小各自为I帧间隔数乘以一帧原始视频数据大小。6.根据权利要求1所述的移动终端视频编码方法,其特征在于,在获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区之前,所述方法还包括:创建两个以上编码线程,为每个编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区;以及创建编码数据读线程。7.根据权利要求6所述的移动终端视频编码方法,其特征在于,所述创建两个以上编码线程,为每个编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区,包括:创建第一编码线程,为所述第一编码线程创建第一编码前数据缓冲区和第一编码后数据缓冲区;创建第二编码线程,为所述第二编码线程创建第二编码前数据缓冲区和第二编码后数据缓冲区;其中,所述获取原始视频数据,并将获取的所述原始视频数据输入到两个以上的编码前数据缓冲区,包括:获取原始视频数据,并将获取的所述原始视频数据输入到所述第一编码前数据缓冲区和所述第二编码前数据缓冲区;所述通过两个以上的编码线程,对所述两个以上的编码前数据缓冲区中的视频数据进行编码,并将编码后的视频数据输入到编码后数据缓冲区,包括:通过第一编码线程对所述第一编码前数据缓冲区中的视频数据进行编码,将编码后的视频数据输入第一编码后数据缓冲区;通过第二编码线程对所述第二编码前数据缓冲区中的视频数据进行编码,将编码后的视频数据输入第二编码后数据缓冲区。8.根据权利要求1所述的移动终端视频编码方法,其特征在于,还包括:判断当前已创建的编码线程的数量,是否等于当前正在编码的编码线程的数量;若当前已创建的编码线程的数量,等于当前正在编码的编码线程的数量,则判断当前已创建的编码线程的数量是否小于移动终端中CPU的内核数;若当前已创建的编码线程的数量,小于移动终端中CPU的内核数,则创建新的编码线程,并为所述新的编码线程创建对应的编码前数据缓冲区和编码后数据缓冲区。9.一种移动终端视频编码...

【专利技术属性】
技术研发人员:胡亚峰
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江,33

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

1