[发明专利]一种对多路视频源同时进行压缩编码的实现方法与系统无效
申请号: | 200610145983.3 | 申请日: | 2006-11-30 |
公开(公告)号: | CN101179715A | 公开(公告)日: | 2008-05-14 |
发明(设计)人: | 王亮 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04N7/24 | 分类号: | H04N7/24;G06T9/00 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 郭润湘 |
地址: | 518044广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 同时 进行 压缩 编码 实现 方法 系统 | ||
1.一种对多路视频源同时进行压缩编码的实现方法,其特征在于,包括:
预先将视频压缩编码所需变量封装到相应结构体中,并编译连接存储到库文件;
当需要启动对多路视频源同时进行压缩编码时,执行下列步骤:
为每一路视频源新建一个实例;
通过实例中定义的指针携带对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的变量进行赋值,并调用相应库函数对该路视频源图像帧进行压缩编码。
2.如权利要求1所述的方法,其特征在于,所述预先将视频压缩编码所需变量封装到相应结构体中,具体包括:
将与码率控制相关的变量封装到码率控制结构体中;
将与编码状态相关的变量封装到编码状态结构体中;
将与码流状态相关的变量封装到码流状态结构体中。
3.如权利要求1所述的方法,其特征在于,所述为每一路视频源新建一个实例,具体为:
为每一路视频源新建一个对应的C++编码器类,在所述C++编码器类中封装编码器实现视频压缩编码的相应功能。
4.如权利要求3所述的方法,其特征在于,所述封装编码器实现视频压缩编码的相应功能,具体包括:
在所述编码器类中,为编码器实现视频压缩编码所需执行的每一项具体功能定义相应的成员函数;
通过顺序启动所述编码器类中定义的成员函数调用相关库函数,实现对一路视频源图像帧的压缩编码。
5.如权利要求4所述的方法,其特征在于,所述通过顺序启动编码器类中定义的成员函数调用相关库函数,实现对一路视频源图像帧的压缩编码,具体包括:
启动设置CPU类型成员函数,调用相关库函数给CPU类型变量赋值;
启动编码初始化成员函数,调用相关库函数对压缩编码所需的相关变量进行初始化;
启动图像帧编码成员函数,调用相关库函数实现对一个图像帧进行压缩编码,并写入压缩后文件的码流缓冲区中;
启动编码后处理成员函数,调用相关库函数输出码流给压缩后文件,并在处理完视频源的全部图像帧后释放相应资源。
6.如权利要求5所述的方法,其特征在于,所述编码器读取到一路视频源图像文件的文件头信息后,根据该文件头信息获得对该路视频源进行视频压缩编码的相关变量值,并将相关变量值传递给为该路视频源新建的一个对应C++编码器类中的对应指针。
7.如权利要求6所述的方法,其特征在于,所述C++编码器类中定义的指针至少包括码率控制指针和编码状态指针;
在启动编码器类中的编码初始化成员函数后,调用相关库函数由所述码率控制指针和编码状态指针携带获得的对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的对应变量进行初始化。
8.一种对多路视频源同时进行压缩编码的实现系统,其特征在于,包括:
第一功能模块,用于将视频压缩编码所需变量封装到相应结构体中,并编译连接存储到库文件;
第二功能模块,用于为每一路视频源新建一个实例;
第三功能模块,用于通过实例中定义的指针携带对该路视频源进行视频压缩编码的相关变量值,对所述库文件相应结构体中的变量进行赋值,并调用相应库函数对该路视频源图像帧进行压缩编码。
9.如权利要求8所述的系统,其特征在于,所述库文件中包括三个结构体,分别为:
封装码率控制相关变量的码率控制结构体;
封装编码状态相关变量的编码状态结构体;以及
封装码流状态相关变量的码流状态结构体。
10.如权利要求9所述的系统,其特征在于,所述第二功能模块为每一路视频源新建的对应实例为C++编码器类,在所述C++编码器类中封装码器实现视频压缩编码的相应功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610145983.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:芯片嵌埋式封装结构
- 下一篇:一种直流无刷马达转矩补偿方法及系统