CN102724574B - 一种多路视频开窗的实现方法 - Google Patents
一种多路视频开窗的实现方法 Download PDFInfo
- Publication number
- CN102724574B CN102724574B CN201110121240.3A CN201110121240A CN102724574B CN 102724574 B CN102724574 B CN 102724574B CN 201110121240 A CN201110121240 A CN 201110121240A CN 102724574 B CN102724574 B CN 102724574B
- Authority
- CN
- China
- Prior art keywords
- texture
- video
- pond
- subtitle item
- thread
- 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.)
- Expired - Fee Related
Links
Abstract
本发明实施例公开了一种多路视频开窗的实现方法,通过定义和使用纹理池,不依靠硬件的相应功能即实现了视频开窗,避免了系统资源的浪费,提高了系统效率,同时支持多路视频输入信号,也实现了同一路视频信号的多个视频开窗效果。
Description
技术领域
本发明涉及视频、字幕等领域,特别涉及一种多路视频开窗的实现方法。
背景技术
一个完整的字幕机系统由计算机、字幕卡和字幕软件组成。其中,计算机提供了整个字幕系统的运行平台;字幕卡提供了视频画面的输入、输出功能,并实现视频背景和图文字幕之间的快速混合;字幕软件是整个系统的核心,它是制作图文字幕、控制字幕卡运行和字幕播出的交互工具。一般的字幕卡都支持一路或多路视频信号的输入,视频输入信号经由字幕卡与图文字幕混合成最终输出的信号,此时视频画面覆盖整个电视屏幕。有些字幕卡在硬件设计上支持视频开窗的功能,即能够把相应的视频信号进行缩放,然后输出和图文字幕混叠后的信号。但是为了节约硬件成本,更多的字幕卡不支持硬件的视频开窗功能,因此,急需一种不依靠硬件实现视频开窗的方法来降低成本,提高系统效率。
纹理是指表示字幕条目表面细节的一幅或几幅二维图形,也称纹理贴图,当把纹理按照特定的方式映射到字幕条目表面上的时候能使字幕看上去更加真实,在三维的图文系统中,几乎所有的字幕条目使用了纹理贴图技术。
发明内容
本发明提供了一种多路视频开窗的实现方法,通过定义和是用纹理池,不依靠硬件的相应功能即实现了视频开窗,避免了系统资源的浪费,提高了系统效率,同时支持多路视频输入信号,也实现了同一路视频信号的多个视频开窗效果。
具体方法如下:
以视频开窗对应的输入通道为关键字建立一个纹理池;
根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例;
创建采集线程,采集视频信号;
每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例;
根据系统的扫描频率,实现字幕条目的输出;
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明一种多路视频开窗的实现方法的步骤流程图。
图2为本发明实施例字幕条目播出和采集线程之间的关系图。
图3为本发明实施例实现了同一路视频信号的多个视频开窗效果结构示意图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,具体步骤如下:
S101:以视频开窗对应的输入通道为关键字建立一个纹理池,对于输入源相同的视频开窗字幕使用相同的纹理源,这样避免了纹理的重复上下传。假设有多个字幕使用了视频输入通道为0的视频开窗功能,那么在更新纹理时,只需更新纹理库里输入视频源为0值的对应纹理数据,从而实现对这多个字幕条目纹理进行更新的效果。
建立纹理池包括以下步骤:
(1)定义纹理池中节点,包括定义对应视频输入通道值,定义管理纹理上下载的纹理实例,定义判断纹理是否更新的布尔函数等,可采用如下定义:
(2)将纹理池中的节点合在一起形成纹理池,可采用如下定义:
typedef CArray<LPSTextureData,LPSTextureData>CTexturePool。
S102:根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例。
当系统遇到需要播出视频开窗的字幕条目时,系统会根据该条目视频输入通道的值到纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例。该实例供所有相同输入通道的字幕条目使用。这种纹理池的使用解决了多个视频开窗分别创建各自纹理所带来的资源浪费。
S103:创建采集线程,采集视频信号;
为了解决实时性问题,字幕卡支持几路视频输入则需要几个视频采集线程,每一路视频采集需要独立的一个线程来实现,每个线程维护一个内存环,线程实现实时的采集功能,并将采集的视频数据依次放入内存环中。采集好的数据供纹理池更新相应的纹理使用,用毕则归还给内存环。
每个视频采集线程包含一个计数器,它记录当前使用到该线程的字幕条目的个数,该值记为m_nRefCount[nInputChannel],nInputChannel表示视频采集线程对应的输入通道的值。计数器的初始值为0,系统每播出到一个视频开窗字幕该值增加1,每播完一个字幕条目计数器减去1,采集线程由第一个视频开窗的字幕条目发起,由最后一个字幕条目使用完毕后自动销毁。字幕条目播出和采集线程之间的关系如图2所示。
S104:系统在每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例,实现了一路或者多路视频开窗的效果
S105:根据系统的扫描频率,实现字幕条目的输出,纹理池的使用避免了系统资源的浪费,提高了系统效率,也实现了同一路视频信号的多个视频开窗效果,总的结构示意图如3所示。
本实施例同时还提供了更新一条字幕条目的纹理的方法。当系统需要更新该字幕条目的纹理时,系统照样在纹理池中查找对应的纹理实例,然后根据该实例的更新标记来确定是否需要更新纹理池中实例的内容。纹理更新标记需要在每一帧的开始时赋初始值,直到有字幕条目更新了纹理池里对应实例的内容,该标记确保相同通道的视频开窗字幕每帧只更新一次内容。
本发明包括但不局限于以上描述的实施例,任何本领域的技术人员不需要付出创造性劳动就能思之的变化都应落入本发明的保护范围。
Claims (2)
1.一种多路视频开窗的实现方法,其特征在于,包括以下步骤:
S101:以视频开窗对应的输入通道为关键字建立一个纹理池,所述纹理是指表示字幕条目表面细节的一幅或几幅二维图形,也称纹理贴图;
所述的建立一个纹理池还包括以下具体步骤:定义纹理池中节点,包括定义对应视频输入通道值,定义管理纹理上下载的纹理实例,定义判断纹理是否更新的布尔函数;将纹理池中的节点合在一起形成纹理池;
S102:根据需要播出的字幕条目的输入通道的值,在纹理池中查询对应的纹理实例,如果找到,则返回对应的纹理实例,否则创建新的纹理实例;
S103:创建采集线程,采集视频信号;
S104:每一帧内抽取视频流水线中采集的视频信号,并用它更新了纹理池里的对应纹理实例;
S105:根据系统的扫描频率,实现字幕条目的输出;
还提供了更新一条字幕条目的纹理的方法,具体内容包括:当系统需要更新该字幕条目的纹理时,系统在纹理池中查找对应的纹理实例,然后根据该实例的更新标记来确定是否需要更新纹理池中实例的内容,纹理更新标记需要在每一帧的开始时赋初始值,直到有字幕条目更新了纹理池里对应实例的内容,该标记确保相同通道的视频开窗字幕每帧只更新一次内容。
2.如权利要求1所述的多路视频开窗的实现方法,其特征在于,所述步骤S103还包括以下具体内容:
为每一路视频采集独立的创建一个采集线程,每个线程维护一个内存环,线程实时的采集视频数据,并将采集的视频数据依次放入内存环中,采集好的数据供纹理池更新相应的纹理使用,用毕则归还给内存环;
为每个视频采集线程设置一个计数器,它记录当前使用到该线程的字幕条目的个数,计数器的初始值为0,系统每播出到一个视频开窗字幕该计数器的值增加1,每播完一个字幕条目该计数器的值减去1;
采集线程由第一个视频开窗的字幕条目发起,由最后一个字幕条目使用完毕后自动销毁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110121240.3A CN102724574B (zh) | 2011-05-11 | 2011-05-11 | 一种多路视频开窗的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110121240.3A CN102724574B (zh) | 2011-05-11 | 2011-05-11 | 一种多路视频开窗的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102724574A CN102724574A (zh) | 2012-10-10 |
CN102724574B true CN102724574B (zh) | 2015-02-18 |
Family
ID=46950212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110121240.3A Expired - Fee Related CN102724574B (zh) | 2011-05-11 | 2011-05-11 | 一种多路视频开窗的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102724574B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101002252A (zh) * | 2003-10-23 | 2007-07-18 | 微软公司 | 合成桌面窗口管理器 |
CN101179409A (zh) * | 2006-12-30 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 在即时通信中显示多方视频的方法及装置 |
CN101543041A (zh) * | 2007-06-15 | 2009-09-23 | 索尼株式会社 | 图像处理装置和图像处理方法、图像处理方法的程序、以及具有记录在其上的图像处理方法的程序的记录介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503345A1 (en) * | 2003-07-30 | 2005-02-02 | Koninklijke Philips Electronics N.V. | System for adaptive resampling in texture mapping |
-
2011
- 2011-05-11 CN CN201110121240.3A patent/CN102724574B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101002252A (zh) * | 2003-10-23 | 2007-07-18 | 微软公司 | 合成桌面窗口管理器 |
CN101179409A (zh) * | 2006-12-30 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 在即时通信中显示多方视频的方法及装置 |
CN101543041A (zh) * | 2007-06-15 | 2009-09-23 | 索尼株式会社 | 图像处理装置和图像处理方法、图像处理方法的程序、以及具有记录在其上的图像处理方法的程序的记录介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102724574A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102047241B (zh) | 本地与全局数据共享 | |
CN102780932B (zh) | 多窗口播放方法和系统 | |
CN104104888A (zh) | 一种并行多核fpga数字图像实时缩放处理方法和装置 | |
CN101997886A (zh) | 一种信息发布系统及方法 | |
CN105307028A (zh) | 一种针对多个镜头视频素材的视频编辑方法和装置 | |
CN102622159A (zh) | 一种便携式设备及其用户界面的实现方法和系统 | |
CN104038848A (zh) | 一种视频处理方法及装置 | |
CN101887464B (zh) | 显示数据库中的数据的方法、装置 | |
CN101494742A (zh) | 应用于篮球直播电视字幕系统的技术统计数据实现方法 | |
CN109168021A (zh) | 一种推流的方法及装置 | |
CN105045623A (zh) | 基于智能操作系统的应用程序配置方法 | |
CN105138462A (zh) | 一种测试软件集成框架及测试数据的处理方法 | |
CN105635835B (zh) | 一种微课制作存储播放的方法 | |
CN101145921A (zh) | 互联网高清视频广告系统及其实现方法 | |
CN105141992A (zh) | 移动终端视频播放方法及装置 | |
CN103927779B (zh) | 一种基于配置的二维动画生成方法 | |
CN106131651A (zh) | 一种同屏直播方法及装置 | |
CN104202676A (zh) | 一种频道切换方法和系统 | |
CN104469466A (zh) | 基于linux系统的电视数据管理方法 | |
CN103546828B (zh) | 节目预览的生成方法及装置 | |
CN103095994A (zh) | 一种应用于数字家庭的高清媒体非线性编辑方法及其装置 | |
CN110390035A (zh) | 直播间的搜索方法、装置、设备和存储介质 | |
CN103631526A (zh) | 一种显示搜索信息的设备和方法 | |
CN102724574B (zh) | 一种多路视频开窗的实现方法 | |
CN106230948A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 Termination date: 20200511 |
|
CF01 | Termination of patent right due to non-payment of annual fee |