一种多核相机的OSD中文显示实现方法技术

技术编号:10313317 阅读:368 留言:0更新日期:2014-08-13 15:47
本发明专利技术提供了一种多核相机的OSD中文显示实现方法,包括以下步骤:(1)使用库函数libfreetype.so.6.9.0和libbz2.so.1.0把带有中文的字符串转换成rgb图;(2)通过工具ffmpeg把rgb转换成yuv文件;(3)将yuv文件读出来放到数组里,发送给OSD控制电路处理;(4)任意2个核之间通过Syslink/IPC通信,每个link中包含了一个基于BIOS6/Linux的任务、线程、消息盒;(5)将OSD的yuv数据压到每一个帧里面,显示。本发明专利技术解决了OSD只能显示英文,并且只能在一个核上实现的问题,使多核也可以实现OSD的中文显示,操作简单方便。

【技术实现步骤摘要】
—种多核相机的OSD中文显示实现方法
本专利技术涉及高清相机领域,尤其是一种多核相机的OSD中文显示实现方法。
技术介绍
目前德州仪器(TI)的平台可以实现OSD (On-Screen Display)需要的大部分功能,可以支持自定义log以及动态的使能和变化位置。但是TI的平台都是英文的,如果需要面向中国的市场,需要做些中文化的处理,需要能实现OSD的中文显示,所以,基于现在的背景,需要实现多核相机的OSD中文显示功能。
技术实现思路
本专利技术的目的在于提供一种多核相机的OSD中文显示实现方法。本专利技术的技术方案如下: 一种多核相机的OSD中文显示实现方法,其特征在于,包括以下步骤: (I)使用库函数libfreetype.s0.6.9.0和libbz2.s0.1.0把带有中文的字符串转换成rgb图;(2)通过工具ffmpeg把rgb转换成yuv文件; (3)将yuv文件读出来放到数组里,发送给OSD控制电路处理; (4)任意2个核之间通过Syslink/IPC通信,每个link中包含了一个基于B10S6/Linux的任务、线程、消息盒; (5)将OSD的yuv数据压到每一个帧里面,显示。本专利技术的技术效果在于解决了 OSD只能显示英文,并且只能在一个核上实现的问题,使多核也可以实现OSD的中文显示,操作简单方便。【附图说明】图1为本专利技术的多核相机的OSD中文显示实现方法的示意图。【具体实施方式】本专利技术提供了一种多核相机的OSD中文显示实现方法,如图1所示,包括以下步骤: (1)使用库函数libfreetype.s0.6.9.0和libbz2.s0.1.0把带有中文的字符串转换成rgb 图; (2)通过工具ffmpeg把rgb转换成yuv文件; (3)将yuv文件读出来放到数组里,发送给OSD控制电路处理; (4)任意2个核之间通过Syslink/IPC通信,每个link中包含了一个基于B10S6/Linux的任务、线程、消息盒; (5)将OSD的yuv数据压到每一个帧里面,显示。第⑴-(3)步,需要用到库函数libfreetype.s0.6.9.0, libbz2.s0.1.0 把带有中文的字符串转换成rgb图,然后通过工具ffmpeg把rgb转换成yuv文件,最后将yuv文件读出来放到数组里,等待发送给DSP处理。第(4)步,通过Syslink/IPC通信,任意2个核之间都可以直接通信,每个link中包含了一个基于B10S6/Linux的任务、线程、消息盒(使用操作系统的信号量实现)。由于每个link运行一个独立的现成,因此link之间可以并行运行。消息盒是关联用户指定的link,让link之间有个互相对话的机制,用来传递信令。而对于视频流数据、帧数据的传递I ink实现了专门的接口来实现,只传递指针,而不是数据。实现数据流可以通过将多个 link 连接来实现 chain, link API 允许用户 Create、Start、Stop、Delete、Control 各个link。在Rdk中TI基于link API进行再次封装,用于特定的应用场合,其各种参数均是为特定的产品定制,可以是相关业务的开发更迅速。每个link都有自己独立的任务/线程用于完成视频采集或播放等处理;每个link都可以处理来自多个通道的视频帧数据,每个通道的视频宽高和数据格式都可以不同;A8作为HOST可以用来连接多个link形成数据流的链并对其进行控制;数据链被建立并启动时,数据链中的每个link将和它的下游link进行帧数据的交互;links之间的帧数据交互可以在多个核心之间进行,并且并不需要ASHOST的干涉,从而降低AS的开销;在数据链运行过程中用户可以发送控制信令给任意link来动态设置相关的link参数。一个Link可以有一个或多个输出队列用来存放采集到的或处理完毕的巾贞数据,每个Link的输出队列内存由自己分配;大多数Links只有一个输出队列,但是有些link有多个,从而可以实现多路不同的输出数据流满足不同的应用需求,例如,Noise filter Link可以输出16路帧数据到2个输出队列,每个输出队列输出8路通道数据跟别给2个DEI Links模块处理。一个输出队列中可以有多个视频channels的数据,每个channel可以有不同的大小和数据格式;数据结构FVID2_Frame是在VPSS驱动中定义的,Links之间就通过该结构参数传递帧数据的信息,如帧数据的Buf指针,而帧数据本身并不会被拷贝,从而节省内存开销;当一个Link采集完或处理完一帧数据后会发送一个消息“SYSTEM_CMD_NEW_DATA”给下游的Link,从而通知它有数据可取;当下游Link收到该消息后会调System_getLinksFulIFrames O函数来获取对用的巾贞数据,处理完后再调用System_putLinksEmptyFrames O函数来归还给上游Link继续使用,因此一个Link需要知道上游Link的LinkID和QuelD,从而从该队列里面获取帧数据下游LinkID,从而在有新数据产生时通知下游Link来取上游Link的LinkID和QueID以及下游LinkID都是在System_linkCreate O时由A8 HOST端来指定的。IPC Link,是用来多核之间的巾贞数据传递的。如VPSS上的采集Link想把巾贞数据发送给Video Link处理,先将巾贞数据传递给本地的 IPC Link,然后 IPC Link 再通过 Syslink/IPC 发送到 Video Link 上的 IPC Link,然后再转发给Video Link,这样的话对于采集Link的实现来说就非常清晰简单,它的实现都是发送给本地的另一个Link ;IPC Link的实现有点复杂,因为它涉及的帧数据传递是在多个核之间,这里面就牵扯到cache的一致性问题,考虑到每个核的特性以及高效性,总共设计了 3个内部Links用于巾贞数据的传递机制:Intra-processor links即同一核心内部的link,如采集与降噪之间的帧数据传递,这种内部的link间传递帧数据都是在VPSS M3内部完成,因此采用简单且高效的队列机制实现。Inter M3 (Video / VPSS) links即M3内部核心之间的link,由于Video和Vpss所在的2个M3核心是同属于一个多核M3处理器,它们的cache是共享的;如降噪模块(VPSS NF)到编码模块(VIDEO Enc)之间传递帧数据,带有NoTIfy的IPC ListMP机制被用来在这2个M3核心之间传递帧信息(FVID2_Frame),该过程中不需要任何cache操作和地址转换。Inter processor (M3 to A8 or DSP)即处理器内部核心之间,如编码(VideoM3)到BitStream In(HostA8)之间传递帧数据,同样使用带NoTIfy的IPC ListMP机制在2个核心之间传递帧信息(FVID2_Frame),但该过程中需要做cache同步和地址转换操作。一个Chain是由多个links按照一定的应用需求按顺本文档来自技高网...

【技术保护点】
一种多核相机的OSD中文显示实现方法,其特征在于,包括以下步骤:(1)使用库函数libfreetype.so.6.9.0和libbz2.so.1.0把带有中文的字符串转换成rgb图; (2)通过工具ffmpeg 把rgb转换成yuv文件;(3)将yuv文件读出来放到数组里,发送给OSD控制电路处理;(4)任意2个核之间通过Syslink/IPC通信,每个link中包含了一个基于BIOS6/Linux的任务、线程、消息盒; (5)将OSD的yuv数据压到每一个帧里面,显示。

【技术特征摘要】
1.一种多核相机的OSD中文显示实现方法,其特征在于,包括以下步骤: (1)使用库函数libfreetype.s0.6.9.0和libbz2.s0.1.0把带有中文的字符串转换成rgb图;(2)通过工具ffmpeg把rgb转换成yuv文件; (3)将yuv文件读出来放到数组里,发送给OSD控制电路处理; (4)任意2个核之间通过Syslink/IPC通信,每个link中包含了一个基于B10S6/Linux的任务、线程、消息盒; (5)将OSD的yuv数据压到每一个帧里面,显示。2.如权利要求1所述的多核相机的OSD中文显示实现方法,其特征在于,所述步骤(5)具体包括: (O当有一个新的帧产生的时候,通过调用函数Int VIDEO_s...

【专利技术属性】
技术研发人员:陈刚
申请(专利权)人:江苏友上科技实业有限公司
类型:发明
国别省市:江苏;32

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

1