基于CUDA显卡编码的无线视频传输系统及其传输方法与流程

文档序号:11139328阅读:1167来源:国知局
基于CUDA显卡编码的无线视频传输系统及其传输方法与制造工艺

本发明涉及图形图像及视频编解码领域,更具体地,涉及一种基于CUDA显卡编码的无线视频传输系统及其传输方法。



背景技术:

H.264/MPEG-4part 10AVC(H.264/AVC)视频编码标准,是由国际化标准组织(ISO)和国际电信联盟(ITU)于2003年共同提出的一种数字视频压缩格式标准。这种视频压缩格式标准的编码质量和压缩比相比于原有的标准均有了大幅度的提高。并且在相同的视觉感知质量上,其编码效率比H.263、MPEG-2和MPEG-4提高了50%左右,并且具有良好的网络友好性。这些优秀的性能让H.264/AVC广泛应用于广播电视、无线多媒体等各个领域。

但随着网络技术和终端处理能力的不断提高,人们提出了更多更高的要求。包括能够提供超高清视频传输,3D视频传输,移动无线传输等等需求,以满足新的家庭影院、远程监控、数字广播以及移动流媒体等各个领域的应用。

新一代的视频编码标准HEVC(High Efficiency Video Coding)于2013年完成标准定稿。在H.264/AVC high profile的基础上,压缩效率提高一倍。即在保证视频图像质量的前提下,视频流的码率减少50%。同时,更重要的是,HEVC标准同时也支持4K(4096x2160)和8K(8192x4320)超高清视频,让网络视频跟上了显示屏“高分辨率化”的脚步。

目前,复杂的计算正在从利用中央处理器(CPU)处理向CPU和GPU协同处理的方向发展。CUDA是NVIDIA发明的一种并行计算平台和编程模型。它利用图形处理器(GPU)的处理能力,能够大幅度提升计算性能。在包括图像与视频处理、流体力学模拟及光线追踪等各个领域广泛运用。利用CUDA并行计算架构,能够极大的提升HEVC的编码效率,同时保证一定的图像质量,大幅度降低编码时对CPU核的占用。

当前,无线视频传输系统常采用CPU软编码的方式进行编码,而大量的视频数据常常会使得CPU在处理视频编解码时负担过大,对CPU性能有一定的要求,性能不足则难以承担编码消耗。如果利用嵌入式系统中的CPU进行编码,则需要保证其性能,提高了硬件上的成本;如果采用PC机上的CPU进行编码,则编码会持续占用CPU,影响用户的体验。另外,也有采用片上系统Soc(System on Chip)方案,使用嵌入式处理器和专用硬件配合工作的编解码器。这种方案降低了对CPU的占用,但同时相应也增加了硬件上的成本。目前类似的无线视频传输系统中,视频源获取端的嵌入式设备与视频源计算机通过HDMI线连接,同时,还需要外接电源。增加了复杂度。



技术实现要素:

本发明提供一种基于CUDA显卡编码的无线视频传输系统,该系统可提高编码速度,有利于网络实时传输,并且对CPU的占用率低。

本发明的又一目的在于提供一种基于CUDA显卡编码的无线视频传输系统的传输方法。

为了达到上述技术效果,本发明的技术方案如下:

一种基于CUDA显卡编码的无线视频传输系统,包括编码发送端系统模块和解码接收端模块;

所述编码发送端系统模块包括屏幕采集模块、CUDA视频编码模块、x265视频编码模块、ORTP发送模块和无线发送模块;屏幕采集模块与所要获取的屏幕视频的计算机连接,屏幕采集模块、CUDA视频编码模块、ORTP发送模块和无线发送模块顺次连接,x265视频编码模块分别于屏幕采集模块和ORTP发送模块连接;

所述解码接收端模块包括顺次连接的无线接收模块和视频解码输出模块,视频解码输出模块还与所要进行显示的显示设备连接。

进一步地,所述屏幕采集模块获取计算机屏幕视频数据流,将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据。

进一步地,所述CUDA视频编码模块将YUV420P或YUV422视频数据利用显卡硬编码压缩成HEVC数据流。

进一步地,所述x265视频编码模块使用软编码的方式将YUV420P或者YUV422视频数据压缩编码成HEVC数据流。

进一步地,所述ORTP发送模块利用ORTP协议栈,将HEVC数据流发送至指定的接收端模块中。

优选地,所述屏幕采集模块采用USB接口与所要获取的屏幕视频的计算机连接,所要获取的屏幕视频的计算机通过该USB接口对整个编码发送端系统模块供电。

优选地,所述视频解码输出模块采用HDMI接口与所要进行显示的显示设备连接。

一种基于CUDA显卡编码的无线视频传输系统的传输方法,包括以下步骤:

S1:屏幕采集模块从所要获取的屏幕视频的计算机中获取屏幕视频数据流,并将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据;

S2:CUDA视频编码模块接收屏幕采集模块传送过来的YUV420P或YUV422像素格式的视频数据,并将YUV420P或YUV422像素格式的视频数据利用显卡硬编码压缩成HEVC数据流;

S3:x265视频编码模块接收屏幕采集模块传送过来的YUV420P或YUV422像素格式的视频数据,并将YUV420P或YUV422像素格式的视频数据使用软编码的方式压缩编码成HEVC数据流;

S4:CUDA视频编码模块和x265视频编码模块将各自的HEVC数据流攒送给ORTP发送模块,ORTP发送模块利用ORTP协议栈,将HEVC数据流发送至指定的接收端模块中。

优选地,所述无线发送模块和无线接收模块之间采用Wi-Fi设备模块建立无线连接。

进一步地,所述编码发送端系统模块采用USB设备Gadget驱动的方式驱动,使得整个编码发送端系统模块模拟成一个大容量存储器以及USB Gadget网络设备,并运行于多种操作系统上,包括Windows及Linux。编码发送端系统模块使用Linux嵌入式操作系统,通过在该设备中使用专用的USB设备Gadget驱动,该设备被同时模拟成一个大容量存储器以及USB Gadget网络设备,该设备实现了跨平台的使用。

本发明中,无需安装任何驱动或客户端,只需要将编码发送端系统模块插入计算机的USB接口,不需要额外外接电源。该编码发送端系统模块被模拟成一个大容量存储器和一个Gadget网络设备,大容量存储器中存储有编码端程序,并被设置为自动运行,Gadget网络设备结合发送端设备上的Wi-Fi模块,即可通过Wi-Fi与接收解码端建立网络连接。编码发送端系统模块自行建立与解码接收端模块之间的网络连接,并实现对计算机屏幕视频流的获取,将其编码成HEVC数据流,最后利用Wi-Fi发送出去。

与现有技术相比,本发明技术方案的有益效果是:

本发明的编码发送端系统模块通过屏幕采集模块从所要获取的屏幕视频的计算机中获取屏幕视频数据流,并将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据;CUDA视频编码模块和x265视频编码模块分别将YUV420P或YUV422像素格式的视频数据压缩成HEVC数据流再经由ORTP发送模块发送出去由解码接收端模块接收,能够实现编码速度的大幅提高,有利于网络实时传输,并且对CPU的占用率低,并且在无法使用显卡硬编码时,本发明仍然能够通过软编码对视频数据进行编码。

附图说明

图1为本发明系统的结构图;

图2为本发明方法的流程图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;

对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

下面结合附图和实施例对本发明的技术方案做进一步的说明。

实施例1

如图1所示,一种基于CUDA显卡编码的无线视频传输系统,包括编码发送端系统模块和解码接收端模块;

编码发送端系统模块包括屏幕采集模块、CUDA视频编码模块、x265视频编码模块、ORTP发送模块和无线发送模块;屏幕采集模块与所要获取的屏幕视频的计算机连接,屏幕采集模块、CUDA视频编码模块、ORTP发送模块和无线发送模块顺次连接,x265视频编码模块分别于屏幕采集模块和ORTP发送模块连接;

解码接收端模块包括顺次连接的无线接收模块和视频解码输出模块,视频解码输出模块还与所要进行显示的显示设备连接。

屏幕采集模块获取计算机屏幕视频数据流,将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据。

CUDA视频编码模块将YUV420P或YUV422视频数据利用显卡硬编码压缩成HEVC数据流。

x265视频编码模块使用软编码的方式将YUV420P或者YUV422视频数据压缩编码成HEVC数据流。

ORTP发送模块利用ORTP协议栈,将HEVC数据流发送至指定的接收端模块中。

屏幕采集模块采用USB接口与所要获取的屏幕视频的计算机连接,所要获取的屏幕视频的计算机通过该USB接口对整个编码发送端系统模块供电。

视频解码输出模块采用HDMI接口与所要进行显示的显示设备连接。

无线发送模块和无线接收模块之间采用Wi-Fi设备模块建立无线连接。

编码发送端系统模块采用USB设备Gadget驱动的方式驱动,使得整个编码发送端系统模块模拟成一个大容量存储器以及USB Gadget网络设备,并运行于多种操作系统上。

实施例2

如图2所示,一种基于CUDA显卡编码的无线视频传输系统的传输方法,包括以下步骤:

S1:屏幕采集模块从所要获取的屏幕视频的计算机中获取屏幕视频数据流,并将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据;

S2:CUDA视频编码模块接收屏幕采集模块传送过来的YUV420P或YUV422像素格式的视频数据,并将YUV420P或YUV422像素格式的视频数据利用显卡硬编码压缩成HEVC数据流;

S3:x265视频编码模块接收屏幕采集模块传送过来的YUV420P或YUV422像素格式的视频数据,并将YUV420P或YUV422像素格式的视频数据使用软编码的方式压缩编码成HEVC数据流;

S4:CUDA视频编码模块和x265视频编码模块将各自的HEVC数据流攒送给ORTP发送模块,ORTP发送模块利用ORTP协议栈,将HEVC数据流发送至指定的接收端模块中。

本发明的编码发送端系统模块通过屏幕采集模块从所要获取的屏幕视频的计算机中获取屏幕视频数据流,并将视频数据流的原始数据码流转换为YUV420P或YUV422像素格式的视频数据;CUDA视频编码模块和x265视频编码模块分别将YUV420P或YUV422像素格式的视频数据压缩成HEVC数据流再经由ORTP发送模块发送出去由解码接收端模块接收,能够实现编码速度的大幅提高,有利于网络实时传输,并且对CPU的占用率低。在无法使用显卡硬编码时,本发明仍然能够通过软编码对视频数据进行编码。

同时,编码发送端系统模块无需安装任何驱动或客户端,只需要将编码发送端系统模块插入计算机的USB接口,不需要额外外接电源。该编码发送端系统模块被模拟成一个大容量存储器和一个Gadget网络设备,大容量存储器中存储有编码端程序,并被设置为自动运行,Gadget网络设备结合发送端设备上的Wi-Fi模块,即可通过Wi-Fi与接收解码端建立网络连接。编码发送端系统模块自行建立与解码接收端模块之间的网络连接,并实现对计算机屏幕视频流的获取,将其编码成HEVC数据流,最后利用Wi-Fi发送出去。

相同或相似的标号对应相同或相似的部件;

附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1