[发明专利]一种对多路视频源同时进行压缩编码的实现方法与系统无效
申请号: | 200610145983.3 | 申请日: | 2006-11-30 |
公开(公告)号: | CN101179715A | 公开(公告)日: | 2008-05-14 |
发明(设计)人: | 王亮 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04N7/24 | 分类号: | H04N7/24;G06T9/00 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 郭润湘 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 同时 进行 压缩 编码 实现 方法 系统 | ||
技术领域
本发明涉及视频压缩编码技术,尤其涉及一种对多路视频源同时进行压缩编码的方法与系统。
背景技术
现有技术中,对视频进行压缩编码时,一次只能对一路视频源输出的图像帧进行压缩编码处理;当需要对多路视频源进行压缩编码时,只能依次对各路视频源进行处理,不能同时对多路视频源进行压缩编码处理。这是因为,现有技术中,定义了视频压缩编码过程中所需的一系列全局变量,如果对多路视频源同时启动多路编码操作,则由于每路编码操作都需要使用这些全局变量,势必相互影响,最终将导致整个系统崩溃。
而在实际应用中,某些场合可能需要同时传送多路视频源的图像,例如:当两个用户通过网络进行视频聊天时,通过本地摄像头将自己的头像传送到对端的聊天窗口中,这时,需要将摄像头获取的图像压缩编码后通过网络传送,如果聊天一方还希望将本地的一个视频文件传送给对方,此时需要启动第二路视频压缩编码。现有技术中,在这种情况下需要用户先停止本地摄像头的输出,再启动希望转送的视频文件,这不仅给用户带来使用上的麻烦,而且需要中断当前的聊天图像传送,对用户当前使用的业务造成影响。
发明内容
本发明提供一种对多路视频源同时进行压缩编码的实现方法与系统,用以解决现有技术中存在的不能同时对多路视频源进行压缩编码的问题。
本发明方法包括:预先将视频压缩编码所需变量封装到相应结构体中,并编译连接存储到库文件;
当需要启动对多路视频源同时进行压缩编码时,执行下列步骤:
为每一路视频源新建一个实例;
通过实例中定义的指针携带对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的变量进行赋值,并调用相应库函数对该路视频源图像帧进行压缩编码。
所述预先将视频压缩编码所需变量封装到相应结构体中,具体包括:
将与码率控制相关的变量封装到码率控制结构体中;
将与编码状态相关的变量封装到编码状态结构体中;
将与码流状态相关的变量封装到码流状态结构体中。
所述为每一路视频源新建一个实例,具体为:
为每一路视频源新建一个对应的C++编码器类,在所述C++编码器类中封装编码器实现视频压缩编码的相应功能。
所述封装编码器实现视频压缩编码的相应功能,具体包括:
在所述编码器类中,为编码器实现视频压缩编码所需执行的每一项具体功能定义相应的成员函数;
通过顺序启动所述编码器类中定义的成员函数调用相关库函数,实现对一路视频源图像帧的压缩编码。
所述通过顺序启动编码器类中定义的成员函数调用相关库函数,实现对一路视频源图像帧的压缩编码,具体包括:
启动设置CPU类型成员函数,调用相关库函数给CPU类型变量赋值;
启动编码初始化成员函数,调用相关库函数对压缩编码所需的相关变量进行初始化;
启动图像帧编码成员函数,调用相关库函数实现对一个图像帧进行压缩编码,并写入压缩后文件的码流缓冲区中;
启动编码后处理成员函数,调用相关库函数输出码流给压缩后文件,并在处理完视频源的全部图像帧后释放相应资源。
根据本发明的上述方法,所述编码器读取到一路视频源图像文件的文件头信息后,根据该文件头信息获得对该路视频源进行视频压缩编码的相关变量值,并将相关变量值传递给为该路视频源新建的一个对应C++编码器类中的对应指针。
所述C++编码器类中定义的指针至少包括码率控制指针和编码状态指针;
在启动编码器类中的编码初始化成员函数后,调用相关库函数由所述码率控制指针和编码状态指针携带获得的对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的对应变量进行初始化。
本发明还提供一种对多路视频源同时进行压缩编码的实现系统,包括:
第一功能模块,用于将视频压缩编码所需变量封装到相应结构体中,并编译连接存储到库文件;
第二功能模块,用于为每一路视频源新建一个实例;
第三功能模块,用于通过实例中定义的指针携带对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的变量进行赋值,并调用相应库函数对该路视频源图像帧进行压缩编码。
所述库文件中包括三个结构体,分别为:
封装码率控制相关变量的码率控制结构体;
封装编码状态相关变量的编码状态结构体;以及
封装码流状态相关变量的码流状态结构体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610145983.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:芯片嵌埋式封装结构
- 下一篇:一种直流无刷马达转矩补偿方法及系统