一种多路视频开窗的实现方法技术

技术编号:7839854 阅读:243 留言:0更新日期:2012-10-12 07:30
本发明专利技术实施例公开了一种多路视频开窗的实现方法,通过定义和使用纹理池,不依靠硬件的相应功能即实现了视频开窗,避免了系统资源的浪费,提高了系统效率,同时支持多路视频输入信号,也实现了同一路视频信号的多个视频开窗效果。

【技术实现步骤摘要】

本专利技术涉及视频、字幕等领域,特别涉及。
技术介绍
一个完整的字幕机系统由计算机、字幕卡和字幕软件组成。其中,计算机提供了整个字幕系统的运行平台;字幕卡提供了视频画面的输入、输出功能,并实现视频背景和图文字幕之间的快速混合;字幕软件是整个系统的核心,它是制作图文字幕、控制字幕卡运行和字幕播出的交互工具。一般的字幕卡都支持一路或多路视频信号的输入,视频输入信号经由字幕卡与图文字幕混合成最终输出的信号,此时视频画面覆盖整个电视屏幕。有些字幕卡在硬件设计上支持视频开窗的功能,即能够把相应的视频信号进行缩放,然后输出和图文字幕混叠后的信号。但是为了节约硬件成本,更多的字幕卡不支持硬件的视频开窗功能,因此,急需一种不依靠硬件实现视频开窗的方法来降低成本,提高系统效率。 纹理是指表示字幕条目表面细节的一幅或几幅二维图形,也称纹理贴图,当把纹理按照特定的方式映射到字幕条目表面上的时候能使字幕看上去更加真实,在三维的图文系统中,几乎所有的字幕条目使用了纹理贴图技术。
技术实现思路
本专利技术提供了,通过定义和是用纹理池,不依靠硬件的相应功能即实现了视频开窗,避免了系统资源的浪费,提高了系统效率,同时支持多路视频输入信号,也实现了同一路视频信号的多个视频开窗效果。具体方法如下以视频开窗对应的输入通道为关键字建立一个纹理池;根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例;创建采集线程,采集视频信号;每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例;根据系统的扫描频率,实现字幕条目的输出;附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。图I为本专利技术的步骤流程图。图2为本专利技术实施例字幕条目播出和采集线程之间的关系图。图3为本专利技术实施例实现了同一路视频信号的多个视频开窗效果结构示意图。具体实施例方式下面将结合附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。如图I所示,具体步骤如下SlOl :以视频开窗对应的输入通道为关键字建立一个纹理池,对于输入源相同的视频开窗字幕使用相同的纹理源,这样避免了纹理的重复上下传。假设有多个字幕使用了视频输入通道为O的视频开窗功能,那么在更新纹理时,只需更新纹理库里输入视频源为O值的对应纹理数据,从而实现对这多个字幕条目 纹理进行更新的效果。建立纹理池包括以下步骤(I)定义纹理池中节点,包括定义对应视频输入通道值,定义管理纹理上下载的纹理实例,定义判断纹理是否更新的布尔函数等,可采用如下定义 typedef struct STextureData { 定义对应视频输入通道值; 定义管理纹理上下载的纹理实例; 定义判断纹理是否更新的布尔函数 STextureData() {nlnputChannel = O;pTexturelns = NULL;bUpdateDone = FALSE; }; } * LPSTextureData;(2)将纹理池中的节点合在一起形成纹理池,可采用如下定义typedef CArray<LPSTextureData, LPSTextureData>CTexturePool。S102 :根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例。当系统遇到需要播出视频开窗的字幕条目时,系统会根据该条目视频输入通道的值到纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例。该实例供所有相同输入通道的字幕条目使用。这种纹理池的使用解决了多个视频开窗分别创建各自纹理所带来的资源浪费。S103 :创建采集线程,采集视频信号;为了解决实时性问题,字幕卡支持几路视频输入则需要几个视频采集线程,每一路视频采集需要独立的一个线程来实现,每个线程维护一个内存环,线程实现实时的采集功能,并将采集的视频数据依次放入内存环中。采集好的数据供纹理池更新相应的纹理使用,用毕则归还给内存环。每个视频采集线程包含一个计数器,它记录当前使用到该线程的字幕条目的个数,该值记为m_nRefCount [nlnputChannel], nlnputChannel表示视频采集线程对应的输入通道的值。计数器的初始值为0,系统每播出到一个视频开窗字幕该值增加1,每播完一个字幕条目计数器减去1,采集线程由第一个视频开窗的字幕条目发起,由最后一个字幕条目使用完毕后自动销毁。字幕条目播出和采集线程之间的关系如图2所示。S104:系统在每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例,实现了一路或者多路视频开窗的效果S105 :根据系统的扫描频率,实现字幕条目的输出,纹理池的使用避免了系统资源的浪费,提高了系统效率,也实现了同一路视频信号的多个视频开窗效果,总的结构示意图如3所示。本实施例同时还提供了更新一条字幕条目的纹理的方法。当系统需要更新该字幕条目的纹理时,系统照样在纹理池中查找对应的纹理实例,然后根据该实例的更新标记来确定是否需要更新纹理池中实例的内容。纹理更新标记需要在每一帧的开始时赋初始值,直到有字幕条目更新了纹理池里对应实例的内容,该标记确保相同通道的视频开窗字幕每帧只更新一次内容。 本专利技术包括但不局限于以上描述的实施例,任何本领域的技术人员不需要付出创造性劳动就能思之的变化都应落入本专利技术的保护范围。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多路视频开窗的实现方法,其特征在于,包括以下步骤 5101以视频开窗对应的输入通道为关键字建立一个纹理池,所述纹理是指表示字幕条目表面细节的一幅或几幅二维图形,也称纹理贴图; 5102:根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例; 5103:创建采集线程,采集视频信号; 5104:每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例; 5105:根据系统的扫描频率,实现字幕条目的输出。2.如权利要求I所述的多路视频开窗的实现方法,其特征在于,所述步骤SlOl所述的建立一个纹理池还包括以下具体步骤 定义纹理池中节点,包括定义对应视频输入通道值,定义管理纹理上下载的纹理实例,定义判断纹理是否更新的布尔函数等; 将纹理池中的节点合在一起形成纹理池。3.如权利要求I所述的多路视频开窗的实现方法,其特征在于,所述步骤S...

【专利技术属性】
技术研发人员:吕精华郭红艳廖健饶文辉
申请(专利权)人:新奥特北京视频技术有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利