CN103916671A - Osd动态叠加方法及装置 - Google Patents
Osd动态叠加方法及装置 Download PDFInfo
- Publication number
- CN103916671A CN103916671A CN201410177268.2A CN201410177268A CN103916671A CN 103916671 A CN103916671 A CN 103916671A CN 201410177268 A CN201410177268 A CN 201410177268A CN 103916671 A CN103916671 A CN 103916671A
- Authority
- CN
- China
- Prior art keywords
- osd
- information
- dynamic
- web camera
- bitmap information
- 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.)
- Pending
Links
Abstract
本发明涉及通信技术领域中的视频处理技术,公开了OSD动态叠加方法,包括步骤:控制客户端将接收到的OSD信息传输至控制客户端的动态库;动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;控制客户端将所述bitmap信息发送至网络摄像机;网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。本发明还公开了OSD动态叠加装置。其有益效果是:克服网络摄像机的嵌入式系统的资源不足导致叠加大量OSD信息时速度缓慢的问题,将字体处理引擎设置于控制客户端中,使被控制客户端的字体处理引擎转换为bitmap信息的OSD信息能够快速叠加入视频中。
Description
技术领域
本发明涉及通信技术领域中的视频处理技术,尤其涉及一种网络摄像机的OSD动态叠加方法及装置。
背景技术
OSD为On-Screen Display的缩写,即可显式于屏幕的文字信息,通过将OSD信息叠加在视频中可以使视频的观看者了解视频序列中记录的事件发生的时间、地点以及其他信息。目前,在图像序列中叠加OSD信息通常是在采集图像时嵌入OSD位图,然后再对视频进行编码。用于进行OSD叠加的系统主要包括控制客户端,网络摄像机及网络互联设备。控制客户端主要负责接收用户OSD信息和传输OSD信息到网络摄像机;网络摄像机与OSD叠加相关的组成有OSD接收模块、OSD文本字体处理引擎模块、DSP图像处理模块(DSP为Digital SignalProcessor的缩写,是一种专用于实时的数字信号处理的微处理器)。
OSD叠加流程一般为:控制客户端获取用户要设置的OSD信息,随后控制客户端通过网络把OSD信息不经任何处理直接发送到网络摄像机;网络摄像机收到OSD信息后,主处理程序调用字体处理引擎根据要设置的字体的行数、每行字体的字符数及要求的字体类型、颜色、大小等格式信息把要叠加的OSD信息转换为bitmap格式(即位图格式);最后主处理器通过专有图像处理接口传输字体引擎转换后的bitmap信息到图像处理模块,并由该模块完成OSD叠加任务。
这个流程对于一般少量几行、适量字符个数和适当字体大小的OSD信息叠加来说在叠加速度上是没有问题的。但是当要求叠加的OSD信息无论在行数、每行字数、字体大小等影响总量字符信息的因素上面有更高要求时,比如要求在大于10行、每行25个字符、每个字符大小为32x32以上时,由于网络摄像机自身CPU性能及系统资源有限,当主处理程序调用字体处理引擎对多行OSD信息进行bitmap信息转换时就显得力不从心,因为字体处理引擎在对大量的OSD信息进行bitmap格式转换时本身要做的运算量是极其巨大的,这就直接导致对10行以上大尺寸多字符的OSD信息在叠加时要经过秒级以上的运算时间才能完成,若网络摄像机的主处理器MIPS(MIPS为Million Instruction Per Second的缩写,即计算机每秒钟执行的百万指令数,是衡量计算机速度的指标)能力更低的话,可能需要的时间更久,这无法满足某些对OSD叠加实时性要求高的场合。
要解决以上问题,一般有如下两个方案:
方案一:把OSD叠加信息和视频流分离但封装在一起,通过网络传送到的控制客户端后,由控制客户端对视频流和OSD信息进行分离,然后再做解码,并调用相关接口在渲染时把OSD信息进行叠加显示,这种方式能够完成多行OSD快速叠加的要求,但其缺点在于当同时有多路视频请求时,每一路视频都需要做这个复杂的封装传输和分离渲染工作,并且这种方式要求对控制客户端的播放插件中的数据接收、解码渲染模块要进行私有协议的改动,使得码流若由公用常见的或其他厂家私有的视频播放器播放视频流时无法完成OSD信息的叠加,同时对于有存储及视频信息安全性要求的客户来讲由于视频流和OSD信息分离,导致OSD信息存在被篡改的风险,不符合取证要求,不能被接受。
方案二:修改底层硬件,添加FPGA专有图像处理模块,在编码前进行YUV数据叠加,这种方式可以从根源上解决OSD信息叠加速度慢的问题,同时也可以避免面OSD信息和视频流数据分离的问题,但由于需要增加新器件导致成本上升,同时由于需要对网络摄像机在硬件设计上做出改动,从改动设计到完成新的产品所需的周期长。
以上两种方案,一种实现方式的通用性和安全性差,另一种成本高,周期长,不能满足在现有网络摄像机上快速实现多行OSD信息快速叠加的要求。
发明内容
本发明主要解决的技术问题是提供一种OSD动态叠加方法及装置,在保证较快叠加速度的基础上实现较佳的通用性、安全性和较低的成本。
为解决上述技术问题,本发明采用的一个技术方案是一种OSD动态叠加方法,包括步骤:
控制客户端将接收到的OSD信息传输至控制客户端的动态库;
动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;
控制客户端将所述bitmap信息发送至网络摄像机;
网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
本发明采用的另一个技术方案是一种OSD动态叠加装置,包括:
传输单元,用于通过控制客户端将接收到的OSD信息传输至控制客户端的动态库;
转换单元,用于通过动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;
发送单元,用于通过控制客户端将所述bitmap信息发送至网络摄像机;
叠加单元,用于通过网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
本发明的有益效果是:将字体处理引擎设置于控制客户端中,充分利用控制客户端的性能和网络资源来克服网络摄像机的嵌入式系统的资源不足导致叠加大量OSD信息时速度缓慢的问题,使得被控制客户端的字体处理引擎转换为bitmap信息的OSD信息能够快速叠加入视频中。
附图说明
图1是本发明的OSD动态叠加方法的一个实施方式的流程图;
图2是本发明的OSD动态叠加装置的一个实施方式的结构框图;
图3是本发明的OSD动态叠加方法及装置的一个实施例的示意图。
主要元件符号说明:
10、传输单元;20、转换单元;30、发送单元;40、叠加单元;
50、PC端;51、OSD接收模块;52、字体处理引擎;53、bitmap信息传输模块;54、视频接收模块;55、视频解码渲染模块;
60、网络摄像机;61、bitmap接收模块;62、封装模块;63、DSP图像处理模块;64、DSP编码模块;65、码流发送模块。
具体实施方式
本发明最关键的构思在于:利用PC或其他控制客户端的硬件性能和网络资源来驱动字体处理引擎对OSD信息进行处理和转换,解决了一般网络摄像机由于嵌入式系统资源限制导致的多行OSD字符动态叠加响应速度较慢的问题,特别适用于OSD字符叠加信息量大、叠加速度要求高的场合应用。
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。其中,OSD为可显式于屏幕的文字信息;DSP图像处理模块即带有数字信号处理器的图像处理模块,bitmap信息即位图格式信息。
请参阅图1,本发明的第一实施方式为一种OSD动态叠加方法,包括步骤:
S1、控制客户端将接收到的OSD信息传输至控制客户端的动态库;
S2、动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;
S3、控制客户端将所述bitmap信息发送至网络摄像机;
S4、网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
本实施方式利用控制客户端的硬件资源来调用字体处理引擎对OSD信息进行处理和转换,极大地提高了OSD信息转换至bitmap信息的速率,使其能够快速地叠加入视频中。
进一步地,第一实施方式的基础上,所述OSD信息包括多行OSD信息。该方法的优势在对多行OSD信息的处理和转化上更为明显,通常在网络摄像机对多行OSD信息的处理上,例如大于10行的大尺寸多字符的OSD信息,在叠加时要经过秒级以上的运算时间才能完成,而本实施方式把底层网络摄像机中字体转换处理的压力直接转移到控制客户端这边了,由于控制客户端一般具有丰富的硬件资源,其完成字体处理引擎相关的工作非常的简单快速,所耗费的时间在毫秒级,几乎可以忽略不计。
进一步地,第一实施方式的基础上,所述的控制客户端和网络摄像机之间用于传输bitmap信息的协议为专有协议,该专有协议包含在与底层网络摄像机OSD信息传输相关的专有协议模块中,用于对控制客户端和网络摄像机连接的建立和断开进行管理。
除此之外,由于具有不同图像分辨率的视频进行OSD叠加时所需的字体大小不同,OSD信息在转换成bitmap信息前需要从网络摄像机获取当前视频的分辨率大小以便选择最匹配该视频的字体大小、颜色、背景、字体类型等信息,这些都可通过该专有协议交互来完成,从而使得后期输出的带有OSD信息的视频的图像和文字之间更为协调,防止由于没有设置专有协议导致OSD信息的字号过大遮蔽视频内容,或OSD信息的字号过小导致无法识别,或OSD信息的文字颜色与视频颜色过于相近导致文字内容识别困难等一系列问题。
进一步地,第一实施方式中所述步骤S3和S4之间还包含步骤:网络摄像机通过OSD接收模块接收所述bitmap信息并对bitmap信息进行封装。
进一步地,第一实施方式的基础上,所述控制客户端包括PC端,采用PC来作用控制终端,可充分利用PC丰富的硬件和网络资源,进一步使字体处理引擎充分利用PC的能力在短时间内完成字体处理并转换成底层叠加所需要的bitmap信息。
请参阅图2,本发明的第二实施方式为一种OSD动态叠加装置,其包括传输单元10、转换单元20、发送单元30和叠加单元40。
所述传输单元10用于通过控制客户端将接收到的OSD信息传输至控制客户端的动态库。
所述转换单元20用于通过动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息。
所述发送单元30用于通过控制客户端将所述bitmap信息发送至网络摄像机。
所述叠加单元40用于通过网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
其中,所述OSD信息包括多行OSD信息,所述控制客户端包括PC端。
进一步地,还包括协议模块和封装单元,所述协议模块用于存储所述控制客户端和所述网络摄像机之间用于传输所述bitmap信息的专有协议,所述专有协议用于对控制客户端和网络摄像机连接的建立和断开进行管理,并包含网络摄像机获取的当前视频的分辨率信息;所述封装单元用于使网络摄像机通过OSD接收模块接收所述bitmap信息并对bitmap信息进行封装。
本实施方式把字体处理引擎模块从网络摄像机的主处理模块中提取出来,封装成PC端可用模块,同时设计协议模块用于存储和底层网络摄像机OSD信息传输相关的专有协议,再把字体处理引擎和协议模块封装起来作为一个动态库代替控制客户端原有的OSD传输模块,这样就可以把底层网络摄像机中字体转换处理的压力直接转移到PC端,在PC上完成字体处理引擎相关的工作非常的简单快速,所耗费的资源和时间几乎可以忽略不计。
目前,部分OSD动态叠加方法及装置应用于类似于高速路收费站或卡口处对抓拍的车辆信息包括车牌、车辆颜色、车类型、入口点、入口时间等信息进行一对一的叠加;也可采用一台控制客户端集成多部网络摄像机进行工作,一台具有常规运算能力的PC控制一部网络摄像机进行OSD转换的时间为数十毫秒,在1秒内可同时处理几十部网络摄像机的转换运算。
请参阅图3,图3为本发明在实际工作中所采用的方案的示意图,其具体包括PC端50和网络摄像机60,PC端50包括OSD接收模块51、字体处理引擎52、bitmap信息传输模块53、视频接收模块54和视频解码渲染模块55,网络摄像机60包括bitmap接收模块61、封装模块62、DSP图像处理模块63、DSP编码模块64和码流发送模块65。
具体的实施步骤为:
1.准备好OSD叠加所使用的字库,初始化在PC端已封装的字体处理引擎的开源库。
2.OSD接收模块51接收用户的OSD操作命令及OSD文本信息,若操作命令为OSD叠加命令,则解析用户输入的多行OSD文本信息,并实时获取当前视频流的分辨率及已获取的全局字体信息,从而确定当前分辨率下应该使用的OSD字体类型、大小和颜色,并把这些信息及OSD文本信息发送至字体处理引擎52。
3.字体处理引擎52根据字符码信息针对OSD信息中的每个字符获取字形索引,然后把该字形加载到字形槽,提取字形并根据OSD信息中的当前字体类型、大小、颜色等信息把该字形转换为bitmap信息。
4.转换后的与OSD信息对应的bitmap信息通过专有OSD传输协议传输到网络摄像机60中。
5.网络摄像机60的bitmap接收模块61在接收到bitmap信息后通过封装模块62对其进行封装,使bitmap信息符合底层图形OSD叠加模块要求的格式,再通过专有图像处理接口传给DSP图像处理模块63。
6.DSP图像处理模块63在视频被编码前将bitmap信息动态叠加入视频中,然后通过DSP编码模块64进行视频编码,并把叠加有OSD信息的视频流通过码流发送模块65发送到PC端50。
7.PC端50的视频接收模块54接收到视频流后,通过视频解码渲染模块55进行解码显示。
本方案充分利用PC端的性能和网络资源,解决了一般网络摄像机由于嵌入式系统资源限制导致的多行OSD字符动态叠加响应速度较慢的问题,特别适用于对摄像机的OSD字符叠加信息量较大和叠加速度有要求的场合应用,OSD信息的处理和转化速率大大高于现有设备。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种OSD动态叠加方法,其特征在于,包括步骤:
控制客户端将接收到的OSD信息传输至控制客户端的动态库;
动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;
控制客户端将所述bitmap信息发送至网络摄像机;
网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
2.根据权利要求1所述的OSD动态叠加方法,其特征在于,所述OSD信息包括多行OSD信息。
3.根据权利要求1所述的OSD动态叠加方法,其特征在于,所述控制客户端和所述网络摄像机之间用于传输所述bitmap信息的协议为专有协议,所述专有协议用于对控制客户端和网络摄像机连接的建立和断开进行管理,并包含网络摄像机获取的当前视频的分辨率信息。
4.根据权利要求1所述的OSD动态叠加方法,其特征在于,所述步骤「控制客户端将所述bitmap信息发送至网络摄像机」和「网络摄像机调用DSP图像处理模块对bitmap信息进行OSD动态叠加」之间还包含步骤:
网络摄像机通过OSD接收模块接收所述bitmap信息并对bitmap信息进行封装。
5.根据权利要求1-5任意一项所述的OSD动态叠加方法,其特征在于,所述控制客户端包括PC端。
6.一种OSD动态叠加装置,其特征在于,包括:
传输单元,用于通过控制客户端将接收到的OSD信息传输至控制客户端的动态库;
转换单元,用于通过动态库调用字体处理引擎对OSD信息中的字体进行处理并转换成bitmap信息;
发送单元,用于通过控制客户端将所述bitmap信息发送至网络摄像机;
叠加单元,用于通过网络摄像机调用DSP图像处理模块将bitmap信息动态叠加至未被编码的视频中。
7.根据权利要求6所述的OSD动态叠加装置,其特征在于,所述OSD信息包括多行OSD信息。
8.根据权利要求6所述的OSD动态叠加装置,其特征在于,还包括:
协议模块,用于存储所述控制客户端和所述网络摄像机之间用于传输所述bitmap信息的专有协议,所述专有协议用于对控制客户端和网络摄像机连接的建立和断开进行管理,并包含网络摄像机获取的当前视频的分辨率信息。
9.根据权利要求6所述的OSD动态叠加装置,其特征在于,还包括:
封装单元,用于使网络摄像机通过OSD接收模块接收所述bitmap信息并对bitmap信息进行封装。
10.根据权利要求6-9任意一项所述的OSD动态叠加装置,其特征在于,所述控制客户端包括PC端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410177268.2A CN103916671A (zh) | 2014-04-28 | 2014-04-28 | Osd动态叠加方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410177268.2A CN103916671A (zh) | 2014-04-28 | 2014-04-28 | Osd动态叠加方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103916671A true CN103916671A (zh) | 2014-07-09 |
Family
ID=51042015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410177268.2A Pending CN103916671A (zh) | 2014-04-28 | 2014-04-28 | Osd动态叠加方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916671A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948545A (zh) * | 2018-01-12 | 2018-04-20 | 安徽华夏显示技术股份有限公司 | 一种网络摄像机字符叠加器及其操作方法 |
CN113316018A (zh) * | 2021-04-12 | 2021-08-27 | 浙江华创视讯科技有限公司 | 时间信息在视频画面显示的叠加方法、设备及存储介质 |
-
2014
- 2014-04-28 CN CN201410177268.2A patent/CN103916671A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107948545A (zh) * | 2018-01-12 | 2018-04-20 | 安徽华夏显示技术股份有限公司 | 一种网络摄像机字符叠加器及其操作方法 |
CN113316018A (zh) * | 2021-04-12 | 2021-08-27 | 浙江华创视讯科技有限公司 | 时间信息在视频画面显示的叠加方法、设备及存储介质 |
CN113316018B (zh) * | 2021-04-12 | 2022-08-09 | 浙江华创视讯科技有限公司 | 时间信息在视频画面显示的叠加方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103348695B (zh) | 针对图形的低延时无线显示器 | |
CN101751905B (zh) | 一种拼接墙显示数据处理方法及其系统 | |
CN103841432B (zh) | 一种复合视频数据的传输方法和设备 | |
CN103873568A (zh) | 基于云计算实现远程虚拟桌面显示的系统及方法 | |
EP3244621A1 (en) | Video encoding method, system and server | |
CN103686432A (zh) | 一种基于视联网的屏幕共享方法和系统 | |
CN110636305B (zh) | 图像渲染和编码方法及相关装置 | |
CN105282124A (zh) | 基于xmpp协议的渐进式图片的传输方法及呈现方法 | |
CN103685430A (zh) | 移动终端组合显示方法、系统和服务器 | |
CN104244029A (zh) | 具有远程截屏功能的广告机系统及其方法 | |
CN105635802A (zh) | 一种数字媒体数据的传输方法及装置 | |
CN103916671A (zh) | Osd动态叠加方法及装置 | |
CN103581695B (zh) | 一种实现移动终端接入全球眼的系统和方法 | |
CN102770827A (zh) | 用于在终端的屏幕上显示多媒体内容的方法 | |
WO2012109582A1 (en) | System and method for multistage optimized jpeg output | |
CN115225881A (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN103686404A (zh) | 一种移动终端播放机顶盒画面的方法和系统 | |
CN110570614B (zh) | 一种视频监控系统及智能相机 | |
CN113015019B (zh) | 数据处理方法、装置和系统 | |
CN1870505A (zh) | 一种嵌入式系统及其信息处理方法 | |
CN105554571A (zh) | 一种基于Firefox OS的TV系统实现方法及装置 | |
CN103455293A (zh) | 分屏异步处理的实现方法及系统 | |
KR20210052884A (ko) | 크로마키를 활용한 개인 맞춤형 영상 제작 시스템 및 방법 | |
CN107241199B (zh) | 一种会议终端的图像处理方法及装置 | |
CN104780390A (zh) | 一种视频处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140709 |
|
RJ01 | Rejection of invention patent application after publication |