一种利用GPU实现视频播放的方法及系统.pdf

上传人:1*** 文档编号:4311485 上传时间:2018-09-13 格式:PDF 页数:10 大小:496.04KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110387122.7

申请日:

2011.11.29

公开号:

CN102413375A

公开日:

2012.04.11

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):H04N 21/472申请公布日:20120411|||实质审查的生效IPC(主分类):H04N 21/472申请日:20111129|||公开

IPC分类号:

H04N21/472(2011.01)I; H04N5/45

主分类号:

H04N21/472

申请人:

康佳集团股份有限公司

发明人:

赵松龄; 戴洪春

地址:

518053 广东省深圳市南山区华侨城

优先权:

专利代理机构:

深圳市君胜知识产权代理事务所 44268

代理人:

王永文;杨宏

PDF下载: PDF下载
内容摘要

本发明公开了一种利用GPU实现视频播放的方法及系统,其方法A、分别初始化视频抓图设备和图形处理器;B、由视频抓图设备捕获一帧视频图像,并将视频图像数据存储在GPU缓存中;C、在GPU缓存中存储有一帧视频图像数据时,由同步控制模块控制所述图形处理器获取该一帧视频图像数据,并转换为纹理,再根据空间几何体的纹理坐标,将该一帧视频图像数据渲染到几何体表面;同时所述同步控制模块控制所述视频抓图设备执行步骤B。本发明提供的一种利用GPU实现视频播放的方法及系统,在具有图形处理单元(GPU)的显示终端设备上,利用视频抓图设备捕获图像,并利用GPU绘制视频帧,实现了一种新的视频播放方法。

权利要求书

1: 一种利用 GPU 实现视频播放的方法, 其特征在于, 所述的方法包括以下步骤 : A、 分别初始化视频抓图设备和图形处理器 ; B、 由视频抓图设备捕获一帧视频图像, 并将视频图像数据存储在 GPU 缓存中 ; C、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块控制所述图形处理器获 取该一帧视频图像数据, 并转换为纹理, 再根据空间几何体的纹理坐标, 将该一帧视频图像 数据渲染到几何体表面 ; 同时所述同步控制模块控制所述视频抓图设备执行步骤 B。2: 根据权利要求 1 所述的利用 GPU 实现视频播放的方法, 其特征在于, 所述的步骤 B 具 体包括 : B1、 视频抓图设备判断是否有停止视频抓图的控制指令 ; 如果是, 则执行步骤 B2 ; 否 则, 执行步骤 B3 ; B2、 视频抓图设备停止抓图, 并复位 ; B3、 由视频抓图设备捕获一帧视频图像, 并发出回调通知, 然后执行步骤 B4 ; B4、 将所述视频图像的视频图像数据存储在 GPU 缓存中, 并返回步骤 B1。3: 根据权利要求 1 所述的利用 GPU 实现视频播放的方法, 其特征在于, 所述步骤 C 具体 包括 : C1、 图形处理器判断是否有停止渲染的控制指令 ; 如果是, 则执行 C2 ; 否则, 执行步骤 C3 ; C2、 停止渲染 ; C3、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块控制所述图形处理器 获取该一帧视频图像数据, 并转换为纹理 ; C4、 图形处理器根据空间几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体表面 ; C5、 在一帧视频图像数据渲染结束后, 同步控制模块控制视频抓图设备存储下一帧视 频图像数据。4: 根据权利要求 3 所述的利用 GPU 实现视频播放的方法, 其特征在于, 所述步骤 C3 中, 在同步控制模块控制所述图像处理器获取一帧视频图像数据的同时, 所述视频抓图设备抓 取下一帧视频数据, 并在图形处理器将上一帧视频图像数据渲染结束后进行存储。5: 一种利用 GPU 实现视频播放的系统, 其特征在于, 包括 : 视频抓图设备, 用于捕获视频图像, 并将视频图像数据进行存储 ; GPU 缓存模块, 用于存储视频抓图设备捕获的视频图像数据 ; 图形处理器, 用于从 GPU 缓存模块获取一帧视频图像数据, 并转换为纹理, 再根据空间 几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体表面 ; 同步控制模块, 用于在 GPU 缓存模块中存储有一帧视频图像数据时, 控制图形处理器 渲染该一帧视频图像数据, 并在一帧视频图像数据结束后, 控制视频抓图设备存储下一帧 视频图像数据。6: 根据权利要求 5 所述的利用 GPU 实现视频播放的系统, 其特征在于, 视频抓图设备, 还用于在图形处理器获取一帧视频图像数据的同时, 抓取下一帧视频数据, 并在将上一帧 渲染结束后进行存储。7: 根据权利要求 5 所述的利用 GPU 实现视频播放的系统, 其特征在于, 视频抓图设备, 还用于在抓取完一帧视频图像后, 发出回调通知。

说明书


一种利用 GPU 实现视频播放的方法及系统

    【技术领域】
     本发明涉及视频显示技术领域, 尤其涉及一种利用 GPU 实现视频播放的方法及系统。 背景技术
     目前, 3D (Three Dimensions 的简称, 中文是指三维、 三个维度、 三个坐标, 即有长、 宽、 高) 技术多应用于显示设备中, 其包括 3D 电视、 3D 显示器等等, 其 3D 效果的处理主要是 依靠于 GPU (Graphic Processing Unit 图形处理器) 。 例如 : 目前在市场上流行的 LCD、 LED 等主流平板电视的显示终端, 其 CPU 的整体速度已经有了很大的提升, 最高能达到 1GHz/s 左右。并且在游戏机、 手机领域里广泛使用的图形处理单元 (GPU) , 也逐步应用于电视等显 示终端的芯片解决方案中 ; 这使得显示终端的 3D UI(User Interface 用户界面) 图形处 理能力显著增强, 使得 3D UI 的动画效果更佳流畅, UI 的 3D 效果更佳绚丽, 而作为显示终 端的主要功能——视频播放, 也可以利用 GPU 进行绘制。
     目前, 大部分电视和显示设备在实现 PIP (画中画) 播放视频功能时, 均采用一个硬 件通道来进行处理。 传统的显示设备在实现类似于 PIP 功能时, 需要利用一个 PIP 硬件通道 来进行解决, 整个芯片方案成本较高, 而 PIP 功能只能将视频播放与一个矩形的窗口固定, 几乎不可能实现在动态 UI 下的视频播放功能。
     由于 GPU 渲染的速度还达不到标准视频播放速度 (50Hz/s 或 60Hz/s) 的要求, 目 前, 一般还没有显示设备利用 GPU 进行视频帧渲染。虽然目前 GPU 的渲染帧数的速度达不 到标准视频播放的要求, 但利用 GPU 进行视频帧的渲染, 可以将视频帧绘制在任意形状的 2D 或者 3D 的几何形体上。并且, 利用 CPU 和 GPU 软件指令之间的交互与协调, GPU 更能够 在 UI 动画过程中进行视频的渲染。而且随着 GPU 和 CPU 的性能逐步提高, 依靠 GPU 和 CPU 的软件控制来实现视频播放将成为显示终端进行视频播放的趋势。有鉴于此, 本发明提供 一种利用 GPU 实现视频播放的方法和系统。 发明内容
     鉴于上述现有技术的不足, 本发明的目的在于提供一种利用 GPU 实现视频播放的 方法及系统, 能利用 GPU 实现显示终端的视频播放功能。
     本发明的技术方案如下 : 一种利用 GPU 实现视频播放的方法, 其包括以下步骤 : A、 分别初始化视频抓图设备和图形处理器 ; B、 由视频抓图设备捕获一帧视频图像, 并将视频图像数据存储在 GPU 缓存中 ; C、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块控制所述图形处理器获 取该一帧视频图像数据, 并转换为纹理, 再根据空间几何体的纹理坐标, 将该一帧视频图像 数据渲染到几何体表面 ; 同时所述同步控制模块控制所述视频抓图设备执行步骤 B。
     上述的利用 GPU 实现视频播放的方法中, 所述的步骤 B 具体包括 :B1、 视频抓图设备判断是否有停止视频抓图的控制指令 ; 如果是, 则执行步骤 B2 ; 否 则, 执行步骤 B3 ; B2、 视频抓图设备停止抓图, 并复位 ; B3、 由视频抓图设备捕获一帧视频图像, 并发出回调通知, 然后执行步骤 B4 ; B4、 将所述视频图像的视频图像数据存储在 GPU 缓存中, 并返回步骤 B1。
     上述的利用 GPU 实现视频播放的方法中, 所述步骤 C 具体包括 : C1、 图形处理器判断是否有停止渲染的控制指令 ; 如果是, 则执行 C2 ; 否则, 执行步骤 C3 ; C2、 停止渲染 ; C3、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块控制所述图形处理器 获取该一帧视频图像数据, 并转换为纹理 ; C4、 图形处理器根据空间几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体表 面; C5、 在一帧视频图像数据渲染结束后, 同步控制模块控制视频抓图设备存储下一帧视 频图像数据。 上述的利用 GPU 实现视频播放的方法中, 所述步骤 C3 中, 在同步控制模块控制所 述图像处理器获取一帧视频图像数据的同时, 所述视频抓图设备抓取下一帧视频数据, 并 在图形处理器将上一帧视频图像数据渲染结束后进行存储。
     一种利用 GPU 实现视频播放的系统, 其包括 : 视频抓图设备, 用于捕获视频图像, 并将视频图像数据进行存储 ; GPU 缓存模块, 用于存储视频抓图设备捕获的视频图像数据 ; 图形处理器, 用于从 GPU 缓存模块获取一帧视频图像数据, 并转换为纹理, 再根据空间 几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体表面 ; 同步控制模块, 用于在 GPU 缓存模块中存储有一帧视频图像数据时, 控制图形处理器 渲染该一帧视频图像数据, 并在一帧视频图像数据结束后, 控制视频抓图设备存储下一帧 视频图像数据。
     上述的利用 GPU 实现视频播放的系统中, 视频抓图设备, 还用于在图形处理器获 取一帧视频图像数据的同时, 抓取下一帧视频数据, 并在将上一帧渲染结束后进行存储。
     上述的利用 GPU 实现视频播放的系统中, 视频抓图设备, 还用于在抓取完一帧视 频图像后, 发出回调通知。
     与现有技术相比, 本发明提供的一种利用 GPU 实现视频播放的方法及系统, 在具 有图形处理单元 (GPU) 的显示终端设备上, 利用视频抓图设备捕获图像, 并利用 GPU 绘制视 频帧, 实现了一种新的视频播放方法, 其具备优点为 : 一、 显示终端设备在实现 PIP (画中画) 的功能时, 不需要视频处理芯片内部的 PIP 信号处理过程硬件通道, 降低了视频处理芯片 方案的成本 ; 二、 可以利用 GPU 将视频帧描绘在任何形状的几何物体上, 而不仅仅是类似于 传统的 PIP 矩形视频窗口 ; 三、 GPU 可以控制最终播放视频窗口的尺寸, 给用户带来了新的 体验。
     附图说明图 1 为本发明的利用 GPU 实现视频播放的方法的流程图。 图 2 为本发明的利用 GPU 实现视频播放的方法中视频抓图设备捕获视频图像的流 图 3 为本发明的利用 GPU 实现视频播放的方法中图形处理器渲染视频图像的流程 图 4 为本发明的利用 GPU 实现视频播放的系统结构框图。程图。
     图。
     具体实施方式
     为使本发明的目的、 技术方案及效果更加清楚、 明确, 以下对本发明进一步详细说 明。应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本发明。
     请参阅图 1, 其为本发明的利用 GPU 实现视频播放的方法的流程图, 如图所示, 所 述方法包括以下步骤 : S11、 分别初始化视频抓图设备和图形处理器 ; S21、 由视频抓图设备捕获一帧视频图像, 并将视频图像数据存储在 GPU 缓存中 ; S31、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块控制所述图形处理器 获取该一帧视频图像数据, 并转换为纹理, 再根据空间几何体的纹理坐标, 将该一帧视频图 像数据渲染到几何体表面 ; 同时所述同步控制模块控制所述视频抓图设备执行步骤 S21。
     下面分别针对每一步骤对本发明的利用 GPU 实现视频播放的方法进行详细说明 : 在步骤 S11 中, 在显示设备开启时, 分别初始化视频抓图设备、 UI 和图形处理器。 此时, 视频抓图设备准备捕获视频图像, 图形处理器准备开始渲染显示设备的 UI。
     请参阅图 2, 其为本发明的利用 GPU 实现视频播放的方法中视频抓图设备捕获视 频图像的流程图, 该视频抓图设备捕获视频图像的步骤具体包括 : S211、 视频抓图设备判断是否有停止视频抓图的控制指令 ; 如果是, 则执行步骤 S212 ; 否则, 执行步骤 S213 ; S212、 视频抓图设备停止抓图, 并复位 ; S213、 由视频抓图设备捕获一帧视频图像, 并发出回调通知, 然后执行步骤 S214 ; S214、 将所述视频图像的视频图像数据存储在 GPU 缓存中, 并返回步骤 S211。
     本发明实施例中, 所述视频抓图设备捕获视频图像和图形处理器渲染视频是两个 不同的线程, 这两个线程需要同时共享和访问一块 GPU 缓存, 因此这两个线程在访问这一 内存区域时, 需要利用同步控制模块进行同步控制。
     请参阅图 3, 其为本发明的利用 GPU 实现视频播放的方法中图形处理器渲染视频 图像的流程图, 其具体包括 : S311、 图形处理器判断是否有停止渲染的控制指令 ; 如果是, 则执行 S312 ; 否则, 执行 步骤 S313 ; S312、 停止渲染 ; S313、 在 GPU 缓存中存储有一帧视频图像数据时, 由同步控制模块通过所述图形处理 器获取该一帧视频图像数据, 并转换为纹理 ; S314、 图形处理器根据空间几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体 表面 ;S315、 在一帧视频图像数据渲染结束后, 同步控制模块控制视频抓图设备存储下一帧 视频图像数据。
     并且, 在步骤 S313 中, 同步控制模块在通过所述图像处理器获取一帧视频图像数 据的同时, 控制所述视频抓图设备抓取下一帧视频数据, 并在图形处理器将上一帧视频图 像数据渲染结束后进行存储。
     本发明提供的利用 GPU 实现视频播放的方法, 视频抓图设备的线程主要完成 Video Encoder(视频编码器) 硬件设备初始化, 在得到开始抓图指令后开始视频抓图, 当抓 到一帧视频图像后, 将其数据存储在 GPU 缓存中。 图形处理器的线程主要用于完成渲染 UI, 从 GPU 缓存中获取一帧的视频图像数据, 并转换为可用的纹理 (Texture) , GPU 利用需要渲 染的空间几何体纹理坐标将一帧视频图像数据渲染到几何体表面。
     由于视频抓图设备抓图和 GPU 绘制渲染这两个线程需要同时共享和访问一块 GPU 缓存, 本发明的重点在于采用同步控制模块利用同步控制 (如 : 同步锁、 信号量等) , 完成同 一个时间点只有视频抓图设备或者 GPU 来操作该内存区域, 进而做到视频抓图设备抓一帧 并存储后, GPU 才进行绘制渲染, 在 GPU 进行绘制渲染一帧视频结束后, 视频抓图设备再存 储下一帧视频图像数据。 基于上所述的利用 GPU 实现视频播放的方法, 本发明还相应提供一种利用 GPU 实 现视频播放的系统, 如图 4 所示, 其包括视频抓图设备 101、 GPU 缓存模块 102、 图形处理器 103 和同步控制模块 104。所述视频抓图设备 101 与 GPU 缓存模块 102 和同步控制模块 104 连接, 图形处理器 103 与 GPU 缓存模块 102 和同步控制模块 104 连接。
     所述视频抓图设备 101 用于捕获视频图像, 并将视频图像数据进行存储, 在存储 完一帧视频图像后继续抓取下一帧视频图像, 其每秒抓取的视频图像为 20-30 帧, 具体可 根据图形处理器 103 渲染的速度进行设置 ; GPU 缓存模块 102 用于存储视频抓图设备 101 捕获的视频图像数据 ; 图形处理器 103 用于从 GPU 缓存模块 102 获取一帧视频图像数据, 并 转换为纹理, 再根据空间几何体的纹理坐标, 将该一帧视频图像数据渲染到几何体表面 ; 同 步控制模块 104 用于在 GPU 缓存模块 102 中存储有一帧视频图像数据时, 控制图形处理器 103 渲染该一帧视频图像数据, 并在一帧视频图像数据结束后, 控制视频抓图设备 101 存储 下一帧视频图像数据。
     本发明实施例中, 所述视频抓图设备 101 还用于在图形处理器获取一帧视频图像 数据的同时, 抓取下一帧视频数据, 并在将上一帧渲染结束后进行存储 ; 并且在抓取完一帧 视频图像后, 发出回调通知, 通过同步控制模块 104 该视频抓图设备已抓取一帧视频图像。
     综上所述, 本发明提供的一种利用 GPU 实现视频播放的方法及系统, 在具有图形 处理单元 (GPU) 的显示终端设备上, 利用视频抓图设备捕获图像, 并利用 GPU 绘制视频帧, 实现了一种新的视频播放方法, 其具备优点为 : 一、 显示终端设备在实现 PIP(画中画) 的功 能时, 不需要视频处理芯片内部的 PIP 信号处理过程硬件通道, 降低了视频处理芯片方案 的成本 ; 二、 可以利用 GPU 将视频帧描绘在任何形状的几何物体上, 而不仅仅是类似于传统 的 PIP 矩形视频窗口 ; 三、 GPU 可以控制最终播放视频窗口的尺寸, 给用户带来了新的体验。
     应当理解的是, 本发明的应用不限于上述的举例, 对本领域普通技术人员来说, 可 以根据上述说明加以改进或变换, 所有这些改进和变换都应属于本发明所附权利要求的保 护范围。
    

一种利用GPU实现视频播放的方法及系统.pdf_第1页
第1页 / 共10页
一种利用GPU实现视频播放的方法及系统.pdf_第2页
第2页 / 共10页
一种利用GPU实现视频播放的方法及系统.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种利用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 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1