《一种利用GPU实现视频播放的方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种利用GPU实现视频播放的方法及系统.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102413375 A (43)申请公布日 2012.04.11 C N 1 0 2 4 1 3 3 7 5 A *CN102413375A* (21)申请号 201110387122.7 (22)申请日 2011.11.29 H04N 21/472(2011.01) H04N 5/45(2006.01) (71)申请人康佳集团股份有限公司 地址 518053 广东省深圳市南山区华侨城 (72)发明人赵松龄 戴洪春 (74)专利代理机构深圳市君胜知识产权代理事 务所 44268 代理人王永文 杨宏 (54) 发明名称 一种利用GPU实现视频播放的方法及系统 (57) 。
2、摘要 本发明公开了一种利用GPU实现视频播放的 方法及系统,其方法A、分别初始化视频抓图设备 和图形处理器;B、由视频抓图设备捕获一帧视频 图像,并将视频图像数据存储在GPU缓存中;C、在 GPU缓存中存储有一帧视频图像数据时,由同步 控制模块控制所述图形处理器获取该一帧视频图 像数据,并转换为纹理,再根据空间几何体的纹理 坐标,将该一帧视频图像数据渲染到几何体表面; 同时所述同步控制模块控制所述视频抓图设备执 行步骤B。本发明提供的一种利用GPU实现视频播 放的方法及系统,在具有图形处理单元(GPU)的 显示终端设备上,利用视频抓图设备捕获图像,并 利用GPU绘制视频帧,实现了一种新的视频播。
3、放 方法。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 4 页 CN 102413388 A 1/1页 2 1.一种利用GPU实现视频播放的方法,其特征在于,所述的方法包括以下步骤: A、分别初始化视频抓图设备和图形处理器; B、由视频抓图设备捕获一帧视频图像,并将视频图像数据存储在GPU缓存中; C、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器获 取该一帧视频图像数据,并转换为纹理,再根据空间几何体的纹理坐标,将该一帧视频图像 数据渲染到几何体表面;同时所述同步控制模块控制所述视频抓。
4、图设备执行步骤B。 2.根据权利要求1所述的利用GPU实现视频播放的方法,其特征在于,所述的步骤B具 体包括: B1、视频抓图设备判断是否有停止视频抓图的控制指令;如果是,则执行步骤B2;否 则,执行步骤B3; B2、视频抓图设备停止抓图,并复位; B3、由视频抓图设备捕获一帧视频图像,并发出回调通知,然后执行步骤B4; B4、将所述视频图像的视频图像数据存储在GPU缓存中,并返回步骤B1。 3.根据权利要求1所述的利用GPU实现视频播放的方法,其特征在于,所述步骤C具体 包括: C1、图形处理器判断是否有停止渲染的控制指令;如果是,则执行C2;否则,执行步骤 C3; C2、停止渲染; C3、。
5、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器 获取该一帧视频图像数据,并转换为纹理; C4、图形处理器根据空间几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表面; C5、在一帧视频图像数据渲染结束后,同步控制模块控制视频抓图设备存储下一帧视 频图像数据。 4.根据权利要求3所述的利用GPU实现视频播放的方法,其特征在于,所述步骤C3中, 在同步控制模块控制所述图像处理器获取一帧视频图像数据的同时,所述视频抓图设备抓 取下一帧视频数据,并在图形处理器将上一帧视频图像数据渲染结束后进行存储。 5.一种利用GPU实现视频播放的系统,其特征在于,包括: 视频抓图设备,用。
6、于捕获视频图像,并将视频图像数据进行存储; GPU缓存模块,用于存储视频抓图设备捕获的视频图像数据; 图形处理器,用于从GPU缓存模块获取一帧视频图像数据,并转换为纹理,再根据空间 几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表面; 同步控制模块,用于在GPU缓存模块中存储有一帧视频图像数据时,控制图形处理器 渲染该一帧视频图像数据,并在一帧视频图像数据结束后,控制视频抓图设备存储下一帧 视频图像数据。 6.根据权利要求5所述的利用GPU实现视频播放的系统,其特征在于,视频抓图设备, 还用于在图形处理器获取一帧视频图像数据的同时,抓取下一帧视频数据,并在将上一帧 渲染结束后进行存储。 7。
7、.根据权利要求5所述的利用GPU实现视频播放的系统,其特征在于,视频抓图设备, 还用于在抓取完一帧视频图像后,发出回调通知。 权 利 要 求 书CN 102413375 A CN 102413388 A 1/4页 3 一种利用 GPU 实现视频播放的方法及系统 技术领域 0001 本发明涉及视频显示技术领域,尤其涉及一种利用GPU实现视频播放的方法及系 统。 背景技术 0002 目前,3D(Three Dimensions的简称,中文是指三维、三个维度、三个坐标,即有长、 宽、高)技术多应用于显示设备中,其包括3D电视、3D显示器等等,其3D效果的处理主要是 依靠于GPU(Graphic Pr。
8、ocessing Unit 图形处理器)。例如:目前在市场上流行的LCD、LED 等主流平板电视的显示终端,其CPU的整体速度已经有了很大的提升,最高能达到1GHz/s 左右。并且在游戏机、手机领域里广泛使用的图形处理单元(GPU),也逐步应用于电视等显 示终端的芯片解决方案中;这使得显示终端的3D UI(User Interface 用户界面)图形处 理能力显著增强,使得3D UI的动画效果更佳流畅,UI的3D效果更佳绚丽,而作为显示终 端的主要功能视频播放,也可以利用GPU进行绘制。 0003 目前,大部分电视和显示设备在实现PIP(画中画)播放视频功能时,均采用一个硬 件通道来进行处理。。
9、传统的显示设备在实现类似于PIP功能时,需要利用一个PIP硬件通道 来进行解决,整个芯片方案成本较高,而PIP功能只能将视频播放与一个矩形的窗口固定, 几乎不可能实现在动态UI下的视频播放功能。 0004 由于GPU渲染的速度还达不到标准视频播放速度(50Hz/s或60Hz/s)的要求,目 前,一般还没有显示设备利用GPU进行视频帧渲染。虽然目前GPU的渲染帧数的速度达不 到标准视频播放的要求,但利用GPU进行视频帧的渲染,可以将视频帧绘制在任意形状的 2D或者3D的几何形体上。并且,利用CPU和GPU软件指令之间的交互与协调,GPU更能够 在UI动画过程中进行视频的渲染。而且随着GPU和CP。
10、U的性能逐步提高,依靠GPU和CPU 的软件控制来实现视频播放将成为显示终端进行视频播放的趋势。有鉴于此,本发明提供 一种利用GPU实现视频播放的方法和系统。 发明内容 0005 鉴于上述现有技术的不足,本发明的目的在于提供一种利用GPU实现视频播放的 方法及系统,能利用GPU实现显示终端的视频播放功能。 0006 本发明的技术方案如下: 一种利用GPU实现视频播放的方法,其包括以下步骤: A、分别初始化视频抓图设备和图形处理器; B、由视频抓图设备捕获一帧视频图像,并将视频图像数据存储在GPU缓存中; C、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器获 取该一帧视。
11、频图像数据,并转换为纹理,再根据空间几何体的纹理坐标,将该一帧视频图像 数据渲染到几何体表面;同时所述同步控制模块控制所述视频抓图设备执行步骤B。 0007 上述的利用GPU实现视频播放的方法中,所述的步骤B具体包括: 说 明 书CN 102413375 A CN 102413388 A 2/4页 4 B1、视频抓图设备判断是否有停止视频抓图的控制指令;如果是,则执行步骤B2;否 则,执行步骤B3; B2、视频抓图设备停止抓图,并复位; B3、由视频抓图设备捕获一帧视频图像,并发出回调通知,然后执行步骤B4; B4、将所述视频图像的视频图像数据存储在GPU缓存中,并返回步骤B1。 0008 上。
12、述的利用GPU实现视频播放的方法中,所述步骤C具体包括: C1、图形处理器判断是否有停止渲染的控制指令;如果是,则执行C2;否则,执行步骤 C3; C2、停止渲染; C3、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器 获取该一帧视频图像数据,并转换为纹理; C4、图形处理器根据空间几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表 面; C5、在一帧视频图像数据渲染结束后,同步控制模块控制视频抓图设备存储下一帧视 频图像数据。 0009 上述的利用GPU实现视频播放的方法中,所述步骤C3中,在同步控制模块控制所 述图像处理器获取一帧视频图像数据的同时,所述视频抓图。
13、设备抓取下一帧视频数据,并 在图形处理器将上一帧视频图像数据渲染结束后进行存储。 0010 一种利用GPU实现视频播放的系统,其包括: 视频抓图设备,用于捕获视频图像,并将视频图像数据进行存储; GPU缓存模块,用于存储视频抓图设备捕获的视频图像数据; 图形处理器,用于从GPU缓存模块获取一帧视频图像数据,并转换为纹理,再根据空间 几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表面; 同步控制模块,用于在GPU缓存模块中存储有一帧视频图像数据时,控制图形处理器 渲染该一帧视频图像数据,并在一帧视频图像数据结束后,控制视频抓图设备存储下一帧 视频图像数据。 0011 上述的利用GPU实现视频。
14、播放的系统中,视频抓图设备,还用于在图形处理器获 取一帧视频图像数据的同时,抓取下一帧视频数据,并在将上一帧渲染结束后进行存储。 0012 上述的利用GPU实现视频播放的系统中,视频抓图设备,还用于在抓取完一帧视 频图像后,发出回调通知。 0013 与现有技术相比,本发明提供的一种利用GPU实现视频播放的方法及系统,在具 有图形处理单元(GPU)的显示终端设备上,利用视频抓图设备捕获图像,并利用GPU绘制视 频帧,实现了一种新的视频播放方法,其具备优点为:一、显示终端设备在实现PIP(画中画) 的功能时,不需要视频处理芯片内部的PIP信号处理过程硬件通道,降低了视频处理芯片 方案的成本;二、可。
15、以利用GPU将视频帧描绘在任何形状的几何物体上,而不仅仅是类似于 传统的PIP矩形视频窗口;三、GPU可以控制最终播放视频窗口的尺寸,给用户带来了新的 体验。 附图说明 说 明 书CN 102413375 A CN 102413388 A 3/4页 5 0014 图1为本发明的利用GPU实现视频播放的方法的流程图。 0015 图2为本发明的利用GPU实现视频播放的方法中视频抓图设备捕获视频图像的流 程图。 0016 图3为本发明的利用GPU实现视频播放的方法中图形处理器渲染视频图像的流程 图。 0017 图4为本发明的利用GPU实现视频播放的系统结构框图。 具体实施方式 0018 为使本发明的。
16、目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说 明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。 0019 请参阅图1,其为本发明的利用GPU实现视频播放的方法的流程图,如图所示,所 述方法包括以下步骤: S11、分别初始化视频抓图设备和图形处理器; S21、由视频抓图设备捕获一帧视频图像,并将视频图像数据存储在GPU缓存中; S31、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器 获取该一帧视频图像数据,并转换为纹理,再根据空间几何体的纹理坐标,将该一帧视频图 像数据渲染到几何体表面;同时所述同步控制模块控制所述视频抓图设备。
17、执行步骤S21。 0020 下面分别针对每一步骤对本发明的利用GPU实现视频播放的方法进行详细说明: 在步骤S11中,在显示设备开启时,分别初始化视频抓图设备、UI和图形处理器。此时, 视频抓图设备准备捕获视频图像,图形处理器准备开始渲染显示设备的UI。 0021 请参阅图2,其为本发明的利用GPU实现视频播放的方法中视频抓图设备捕获视 频图像的流程图,该视频抓图设备捕获视频图像的步骤具体包括: S211、视频抓图设备判断是否有停止视频抓图的控制指令;如果是,则执行步骤S212; 否则,执行步骤S213; S212、视频抓图设备停止抓图,并复位; S213、由视频抓图设备捕获一帧视频图像,并发。
18、出回调通知,然后执行步骤S214; S214、将所述视频图像的视频图像数据存储在GPU缓存中,并返回步骤S211。 0022 本发明实施例中,所述视频抓图设备捕获视频图像和图形处理器渲染视频是两个 不同的线程,这两个线程需要同时共享和访问一块GPU缓存,因此这两个线程在访问这一 内存区域时,需要利用同步控制模块进行同步控制。 0023 请参阅图3,其为本发明的利用GPU实现视频播放的方法中图形处理器渲染视频 图像的流程图,其具体包括: S311、图形处理器判断是否有停止渲染的控制指令;如果是,则执行S312;否则,执行 步骤S313; S312、停止渲染; S313、在GPU缓存中存储有一帧视。
19、频图像数据时,由同步控制模块通过所述图形处理 器获取该一帧视频图像数据,并转换为纹理; S314、图形处理器根据空间几何体的纹理坐标,将该一帧视频图像数据渲染到几何体 表面; 说 明 书CN 102413375 A CN 102413388 A 4/4页 6 S315、在一帧视频图像数据渲染结束后,同步控制模块控制视频抓图设备存储下一帧 视频图像数据。 0024 并且,在步骤S313中,同步控制模块在通过所述图像处理器获取一帧视频图像数 据的同时,控制所述视频抓图设备抓取下一帧视频数据,并在图形处理器将上一帧视频图 像数据渲染结束后进行存储。 0025 本发明提供的利用GPU实现视频播放的方法。
20、,视频抓图设备的线程主要完成 Video Encoder(视频编码器)硬件设备初始化,在得到开始抓图指令后开始视频抓图,当抓 到一帧视频图像后,将其数据存储在GPU缓存中。图形处理器的线程主要用于完成渲染UI, 从GPU缓存中获取一帧的视频图像数据,并转换为可用的纹理(Texture),GPU利用需要渲 染的空间几何体纹理坐标将一帧视频图像数据渲染到几何体表面。 0026 由于视频抓图设备抓图和GPU绘制渲染这两个线程需要同时共享和访问一块GPU 缓存,本发明的重点在于采用同步控制模块利用同步控制(如:同步锁、信号量等),完成同 一个时间点只有视频抓图设备或者GPU来操作该内存区域,进而做到视。
21、频抓图设备抓一帧 并存储后,GPU才进行绘制渲染,在GPU进行绘制渲染一帧视频结束后,视频抓图设备再存 储下一帧视频图像数据。 0027 基于上所述的利用GPU实现视频播放的方法,本发明还相应提供一种利用GPU实 现视频播放的系统,如图4所示,其包括视频抓图设备101、GPU缓存模块102、图形处理器 103和同步控制模块104。所述视频抓图设备101与GPU缓存模块102和同步控制模块104 连接,图形处理器103与GPU缓存模块102和同步控制模块104连接。 0028 所述视频抓图设备101用于捕获视频图像,并将视频图像数据进行存储,在存储 完一帧视频图像后继续抓取下一帧视频图像,其每秒。
22、抓取的视频图像为20-30帧,具体可 根据图形处理器103渲染的速度进行设置;GPU缓存模块102用于存储视频抓图设备101 捕获的视频图像数据;图形处理器103用于从GPU缓存模块102获取一帧视频图像数据,并 转换为纹理,再根据空间几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表面;同 步控制模块104用于在GPU缓存模块102中存储有一帧视频图像数据时,控制图形处理器 103渲染该一帧视频图像数据,并在一帧视频图像数据结束后,控制视频抓图设备101存储 下一帧视频图像数据。 0029 本发明实施例中,所述视频抓图设备101还用于在图形处理器获取一帧视频图像 数据的同时,抓取下一帧视频。
23、数据,并在将上一帧渲染结束后进行存储;并且在抓取完一帧 视频图像后,发出回调通知,通过同步控制模块104该视频抓图设备已抓取一帧视频图像。 0030 综上所述,本发明提供的一种利用GPU实现视频播放的方法及系统,在具有图形 处理单元(GPU)的显示终端设备上,利用视频抓图设备捕获图像,并利用GPU绘制视频帧, 实现了一种新的视频播放方法,其具备优点为:一、显示终端设备在实现PIP(画中画)的功 能时,不需要视频处理芯片内部的PIP信号处理过程硬件通道,降低了视频处理芯片方案 的成本;二、可以利用GPU将视频帧描绘在任何形状的几何物体上,而不仅仅是类似于传统 的PIP矩形视频窗口;三、GPU可以。
24、控制最终播放视频窗口的尺寸,给用户带来了新的体验。 0031 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可 以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保 护范围。 说 明 书CN 102413375 A CN 102413388 A 1/4页 7 图1 说 明 书 附 图CN 102413375 A CN 102413388 A 2/4页 8 图2 说 明 书 附 图CN 102413375 A CN 102413388 A 3/4页 9 图3 说 明 书 附 图CN 102413375 A CN 102413388 A 4/4页 10 图4 说 明 书 附 图CN 102413375 A 。