一种图像预处理方法及相关设备的制作方法
【专利摘要】本发明实施例涉及互联网【技术领域】,公开了一种图像预处理方法及相关设备,该方法包括:显卡截取游戏图层;所述显卡将所述游戏图层加载至主播客户端的Directx设备中;所述显卡检测所述主播客户端添加的媒体图层;所述显卡将所述媒体图层加载至所述主播客户端的Directx设备中;所述显卡将所述主播客户端的Directx设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像;所述显卡从所述主播客户端的Directx设备中拷贝所述合成图像至内存,以使所述主播客户端从所述内存中读取所述合成图像并传递给服务设备进行直播。实施本发明实施例,能够减少CPU消耗,提升直播的游戏质量。
【专利说明】一种图像预处理方法及相关设备
【技术领域】
[0001]本发明涉及互联网【技术领域】,特别涉及一种图像预处理方法及相关设备。
【背景技术】
[0002]近年来,集合在线K歌、在线视频直播、在线游戏直播、在线教育直播等功能为一体的综合型的富媒体客户端空前发展。在富媒体客户端的实际应用中,富媒体客户端可以向服务设备申请成为主播客户端,主播客户端允许用户进入游戏直播模版进行游戏直播。在游戏直播过程中,主播客户端可以将用户上传的摄像头图层、图片图层、文字图层等媒体图层与直播的游戏图层一并传输给中央处理器(Central Processing Unit,CPU)进行预合成,以获得合成图像并发送给服务设备,再由服务设备向主播客户端所在频道广播合成图像。
[0003]然而在实践中发现,由于媒体图层与直播的游戏图层的数据量通常很大,因此,将媒体图层与直播的游戏图层一并传输给CPU进行预合成会加剧CPU消耗,从而影响直播的游戏质量。
【发明内容】
[0004]本发明实施例公开了一种图像预处理方法及相关设备,能够减少CPU消耗,提升直播的游戏质量。
[0005]本发明实施例第一方面公开一种图像预处理方法,包括:
[0006]显卡截取游戏图层;
[0007]所述显卡将所述游戏图层加载至主播客户端的DirectX设备中;
[0008]所述显卡检测所述主播客户端添加的媒体图层;
[0009]所述显卡将所述媒体图层加载至所述主播客户端的DirectX设备中;
[0010]所述显卡将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像;
[0011]所述显卡从所述主播客户端的DirectX设备中拷贝所述合成图像至内存,以使所述主播客户端从所述内存中读取所述合成图像并传递给服务设备进行直播。
[0012]本发明实施例第二方面公开一种显卡,用于执行图像预处理方法,所述显卡包括:
[0013]截取单元,用于截取游戏图层;
[0014]第一加载单元,用于将所述游戏图层加载至主播客户端的DirectX设备中;
[0015]第一检测单元,用于检测所述主播客户端添加的媒体图层;
[0016]第二加载单元,用于将所述媒体图层加载至所述主播客户端的DirectX设备中;
[0017]合成单元,用于将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像;
[0018]拷贝单元,用于从所述主播客户端的DirectX设备中拷贝所述合成图像至内存,以使所述主播客户端从所述内存中读取所述合成图像并传递给服务设备进行直播。
[0019]本发明实施例中,显卡可以将截取的游戏图层以及主播客户端添加的媒体图层一并加载至主播客户端的Directx设备中,并且显卡可以将主播客户端的Directx设备中加载的游戏图层以及媒体图层进行合成以获得合成图像,以及显卡可以从主播客户端的Directx设备中拷贝合成图像至内存,从而使主播客户端可以从内存中读取合成图像并传递给服务设备进行直播。可见,实施本发明实施例可以将导致CPU消耗较高的合成图像操作放在显卡中进行,从而可以减少CPU消耗,提升直播的游戏质量。
【专利附图】
【附图说明】
[0020]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1是本发明实施例公开的一种网络构架示意图;
[0022]图2是本发明实施例公开的一种图像预处理方法的流程示意图;
[0023]图3是本发明实施例公开的另一种图像预处理方法的流程示意图;
[0024]图4是本发明实施例公开的一种主播客户端的预览编辑界面示意图;
[0025]图5是本发明实施例公开的一种主播客户端添加摄像头图层的界面示意图;
[0026]图6是本发明实施例公开的一种主播客户端中编辑图层关系的界面示意图;
[0027]图7是本发明实施例公开的一种主播客户端中游戏直播预览界面示意图;
[0028]图8是本发明实施例公开的一种显卡的结构示意图;
[0029]图9是本发明实施例公开的另一种显卡的结构示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]本发明实施例公开了一种图像预处理方法及相关设备,可以将导致CPU消耗较高的合成图像操作放在显卡中进行,从而可以减少CPU消耗,提升直播的游戏质量。以下分别进行详细说明。
[0032]为了更好理解本发明实施例公开的一种图像预处理方法及相关设备,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架示意图。如图1所示,该网络构架可以包括服务设备以及多个客户端,其中,服务设备也被称后台服务器、组件服务器等,服务设备可以通过互联网与多个客户端进行通信连接。在图1所示的网络构架中,多个客户端中的部分客户端可以作为主播客户端,而其余客户端可以作为观众客户端接入任意一个主播客户端所在的频道。本发明实施例中,频道简单来讲就是一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端不仅可以观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端对接入其所在频道内的其余观众客户端不仅具有接入、踢出控制权,还具体直播主动权,例如主播客户端具有直播内容上传的主动权,直播内容可以是游戏直播内容以及各种视频直播内容,或者,直播内容还可以是由游戏图层和媒体图层进行合成获得的合成图像,本发明实施例不作限定。本发明实施例中,主播客户端、观众客户端均可以是包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等功能为一体的富媒体客户端。在图1所示的网络构架中,主播客户端、观众客户端可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant, PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上,其中,上述用户设备中可以安装有显卡、CPU等设备,其中,显卡全称显不接口卡(Video card, Graphics card),是用户设备最基本配置之一。显卡作为用户设备里的一个重要组成部分,承担输出显示图像的任务。
[0033]基于图1所示的网络构架,本发明实施例公开了的一种图像预处理方法。请参阅图2,图2是本发明实施例公开的一种图像预处理方法的流程示意图。如图2所示,该图像预处理方法可以包括以下步骤。
[0034]S201、显卡截取游戏图层。
[0035]本发明实施例中,显卡可以调用钩子函数从游戏进程中捕捉游戏图层。举例来说,当主播客户端启动游戏直播时,显卡可以调用钩子函数从游戏进程中捕捉游戏图层。其中,钩子函数可以认为是WINDOWS的主要特性之一,利用钩子函数不仅可以从游戏进程中捕捉游戏图层,或可以捕捉其它进程发生的事件。
[0036]本发明实施例中,游戏图层也称为游戏画面,该游戏画面可以是动态显示的游戏画面。
[0037]S202、显卡将游戏图层加载至主播客户端的Directx设备中。
[0038]本发明实施例中,Directx(Direct extens1n,简称DirectX)设备是由微软公司创建的多媒体编程接口。由C++编程语言实现,遵循COM。被广泛使用于MicrosoftWindows, Microsoft XBOX、Microsoft XBOX 360 和 Microsoft XBOX ONE 电子游戏开发。DirectX设备的最新版本为DirectX 12,创建在最新的Windows 8.1上。在实际应用中,很多运行于Windows环境的游戏均需要Directx设备支持。Directx设备包含了对Direct3D、DirectDraw> DirectPlay> DirectSouncU DirectInput 等显不、声音以及系统的重要升级。Directx 12可以获得更好的图像显示质量,使多人游戏具可伸缩性,以及包括更棒的音频效果。
[0039]本发明实施例中,上述步骤S202中显卡将游戏图层加载至主播客户端的DirectX设备中的方式可以为:
[0040]显卡识别是否共享主播客户端的DirectX设备,如果是,传递指示信号给主播客户端,该指示信号用于指示已截取游戏图层;以及,显卡可以检测主播客户端传递的控制信号,该控制信号用于指示将游戏图层加载至主播客户端的DirectX设备中;以及,显卡可以响应该控制信号,将游戏图层加载至主播客户端的DirectX设备中。
[0041]反之,如果显卡识别未共享主播客户端的DirectX设备,那么显卡还可以将游戏图层拷贝至游戏进程对应的CPU,由主播客户端通过命名管道将位于CPU中的游戏图层加载至主播客户端的DirectX设备中。
[0042]本发明实施例中,显卡可以检测用户设备是否安装有主播客户端的DirectX设备的DirectX驱动,如果安装有,则显卡可以识别出共享主播客户端的Directx设备,反之,则显卡可以识别出未共享主播客户端的Directx设备。
[0043]S203、显卡检测主播客户端添加的媒体图层。
[0044]本发明实施例中,显卡可以检测主播客户端通过直播控制界面添加的媒体图层。其中,媒体图层可以包括摄像头图层、图片图层以及文字图层中的任意一种或几种的组合,本发明实施例不作限定。
[0045]本发明实施例中,媒体图层也被称为媒体画面,例如摄像头画面、图片画面、文字画面等。当媒体图层也为摄像头画面时,摄像头画面可以是动态显示的摄像头画面。
[0046]S204、显卡将媒体图层加载至主播客户端的DirectX设备中。
[0047]本发明实施例中,上述步骤S204中显卡将媒体图层加载至主播客户端的DirectX设备中的方式,可以类似于上述步骤S202中显卡将游戏图层加载至主播客户端的DirectX设备中的方式,本发明实施例不作限定。
[0048]S205、显卡将主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行合成,以获得合成图像。
[0049]本发明实施例中,显卡可以对主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行缩放,并将缩放后的游戏图层以及媒体图层进行合成,以获得合成图像。其中,显卡对主播客户端的DirectX设备中加载的游戏图层以及媒体图层先缩放再合成图像,可以减少后续合成图像的传输量,提高合成图像的传输效率。
[0050]S206、显卡从主播客户端的DirectX设备中拷贝合成图像至内存,以使主播客户端从内存中读取合成图像并传递给服务设备进行直播。
[0051]本发明实施例中,服务设备收到主播客户端传递的合成图像之后,可以将合成图像在主播客户端所在频道内进行直播。
[0052]在图2所描述的方法中,显卡可以将截取的游戏图层以及主播客户端添加的媒体图层一并加载至主播客户端的Directx设备中,并且显卡可以将主播客户端的Directx设备中加载的游戏图层以及媒体图层进行合成以获得合成图像,以及显卡可以从主播客户端的Directx设备中拷贝合成图像至内存,从而使主播客户端可以从内存中读取合成图像并传递给服务设备进行直播。可见,实施图2所描述的方法可以将导致CPU消耗较高的合成图像操作放在显卡中进行,从而可以减少CPU消耗,提升直播的游戏质量。
[0053]基于图1所示的网络构架,本发明实施例公开了的另一种图像预处理方法。请参阅图3,图3是本发明实施例公开的另一种图像预处理方法的流程示意图。如图3所示,该图像预处理方法可以包括以下步骤。
[0054]S301、显卡调用钩子函数从游戏进程中捕捉游戏图层。
[0055]举例来说,当主播客户端进入频道后,主播客户端可以加载游戏直播模版并启动游戏直播,此时显卡可以调用钩子函数从游戏进程中捕捉游戏图层。
[0056]S302、显卡将游戏图层传递给主播客户端的预览编辑窗口进行预览;其中,预览编辑窗口包括添加媒体图层入口和编辑图层关系入口。
[0057]请一并参阅图4,图4是本发明实施例公开的一种主播客户端的预览编辑界面示意图。在图4所示的预览编辑界面中,右上角存在一个预览编辑窗口,相应地,如图4所示的预览编辑窗口中的白色虚线框所示,显卡可以将游戏图层传递给主播客户端的预览编辑窗口进行预览。更进一步地,如图4所示,主播客户端的预览编辑窗口还可以包括编辑图层关系入口,该编辑图层关系入口可以编辑图层,删除图层以及调整图层之间的层叠关系(如上移、下移)。更进一步地,如图4所示,主播客户端的预览编辑窗口还可以包括添加摄像头图层入口、添加图片图层入口、添加文字图层入口等添加媒体图层入口。其中,添加摄像头图层入口可以添加摄像头图层(也被称为摄像头画面),添加图片图层入口可以添加图片图层(也被称为图片画面),而添加文字图层入口可以添加文字图层(也被称为文字画面)。
[0058]举例来说,在图4所示的预览编辑界面的基础上,用户可以点击主播客户端的预览编辑窗口包括的添加摄像头图层入口,从而实现添加摄像头图层。请一并参阅图5,图5是本发明实施例公开的一种主播客户端添加摄像头图层的界面示意图。当用户点击主播客户端的预览编辑窗口包括的添加摄像头图层入口时,可以弹出如图5所示的一种主播客户端添加摄像头图层的界面。在图5所示的一种主播客户端添加摄像头图层的界面中,可以选择摄像头(如91KB0X),进一步地还可以选择分辨率(如640x640),更进一步地还可以设置不透明度(0-100,100为不透明),在此基础上,点击确认按钮时,即可实现在主播客户端的预览编辑窗口中添加摄像头图层。本发明实施例中,在主播客户端的预览编辑窗口中添加图片图层、添加文字图层的过程是类似的,本发明实施例不作复述。
[0059]举例来说,在图4所示的预览编辑界面的基础上,用户可以点击主播客户端的预览编辑窗口包括的编辑图层关系入口,从而实现编辑图层关系。请一并参阅图6,图6是本发明实施例公开的一种主播客户端中编辑图层关系的界面示意图。当用户可以点击主播客户端的预览编辑窗口包括的编辑图层关系入口时,可以弹出如图6所示的一种主播客户端中编辑图层关系的界面。举例来说,在图6所示的一种主播客户端中编辑图层关系的界面中,“进程/桌面捕捉画面”代表游戏图层,“添加摄像头”代表摄像头图层,在此基础上,可以选择(如打勾)图层进行层叠关系编辑,例如,可以选择摄像头图层,将摄像头图层移动到游戏图层的下方。
[0060]S303、显卡识别是否共享主播客户端的DirectX设备,如果否,执行步骤S304?S305 ;如果是,执行步骤S306?S308。
[0061]本发明实施例中,显卡可以检测用户设备是否安装有主播客户端的DirectX设备的DirectX驱动,如果安装有,则显卡可以识别出共享主播客户端的Directx设备,反之,则显卡可以识别出未共享主播客户端的Directx设备。
[0062]S304、显卡将游戏图层拷贝至游戏进程对应的CPU。
[0063]S305、主播客户端通过命名管道将位于CPU中的游戏图层加载至主播客户端的Directx设备中,并跳转至步骤S312执行下一步操作。
[0064]S306、显卡传递指示信号给主播客户端,该指示信号用于指示已截取游戏图层。
[0065]S307、显卡检测主播客户端传递的控制信号,该控制信号用于指示将游戏图层加载至主播客户端的Directx设备中。
[0066]S308、显卡响应该控制信号,将游戏图层加载至主播客户端的Directx设备中,并跳转至步骤S312执行下一步操作。
[0067]S309、显卡检测主播客户端的预览编辑窗口包括的添加媒体图层入口添加的媒体图层。
[0068]本发明实施例中,媒体图层可以包括摄像头图层、图片图层以及文字图层中的任意一种或几种的组合,本发明实施例不作限定。
[0069]S310、显卡将添加媒体图层入口添加的媒体图层传递给主播客户端的预览编辑窗口进行预览。
[0070]S311、显卡将媒体图层加载至主播客户端的Directx设备中。
[0071]S312、显卡检测通过编辑图层关系入口输入的图层关系编制指令。
[0072]S313、显卡响应该图层关系编制指令,编辑主播客户端的DirectX设备中加载的游戏图层以及媒体图层的图层关系。
[0073]S314、显卡将主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行合成,以获得合成图像。
[0074]本发明实施例中,显卡可以对主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行缩放,并将缩放后的游戏图层以及媒体图层进行合成,以获得合成图像。其中,显卡对主播客户端的DirectX设备中加载的游戏图层以及媒体图层先缩放再合成图像,可以减少后续合成图像的传输量,提高合成图像的传输效率。
[0075]S315、显卡从主播客户端的Directx设备中拷贝合成图像至内存,以使主播客户端从内存中读取合成图像并传递给服务设备进行直播。
[0076]本发明实施例中,服务设备收到主播客户端传递的合成图像之后,可以将合成图像在主播客户端所在频道内进行直播。
[0077]本发明实施例中,主播客户端的预览编辑窗口预览的游戏图层、摄像头图层都是动态显示的,特别地,主播客户端的预览编辑窗口预览的游戏图层与主播客户端直播的游戏图层是一样的。举例来说,请参阅图7,图7是本发明实施例公开的一种主播客户端中游戏直播预览界面示意图。在图7所示的主播客户端中游戏直播预览界面中,左侧画面是主播客户端直播的游戏图层,而右侧画面是主播客户端的预览编辑窗口预览的游戏图层,二者对比发现,主播客户端的预览编辑窗口预览的游戏图层与主播客户端直播的游戏图层是一样的。
[0078]在图3所描述的方法中,显卡可以将截取的游戏图层以及主播客户端添加的媒体图层一并加载至主播客户端的Directx设备中,并且显卡可以将主播客户端的Directx设备中加载的游戏图层以及媒体图层进行合成以获得合成图像,以及显卡可以从主播客户端的Directx设备中拷贝合成图像至内存,从而使主播客户端可以从内存中读取合成图像并传递给服务设备进行直播。可见,实施图3所描述的方法可以将导致CPU消耗较高的合成图像操作放在显卡中进行,从而可以减少CPU消耗,提升直播的游戏质量。
[0079]基于图1所示的网络构架,本发明实施例公开了的一种显卡,用于执行图像预处理方法。请参阅图8,图8是本发明实施例公开的一种显卡的结构示意图。如图8所示,该显卡可以包括:
[0080]截取单元801,用于截取游戏图层;
[0081]第一加载单元802,用于将游戏图层加载至主播客户端的DirectX设备中;
[0082]第一检测单元803,用于检测主播客户端添加的媒体图层;
[0083]第二加载单元804,用于将媒体图层加载至主播客户端的DirectX设备中;
[0084]合成单元805,用于将主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行合成,以获得合成图像;
[0085]拷贝单元806,用于从主播客户端的DirectX设备中拷贝合成图像至内存,以使主播客户端从内存中读取合成图像并传递给服务设备进行直播。
[0086]本发明实施例中,第一加载单元802将游戏图层加载至主播客户端的DirectX设备之后,可以通知合成单元805,而第二加载单元804将媒体图层加载至主播客户端的Directx设备之后,也可以通知合成单元805。
[0087]本发明实施例中,截取单元801可以用于调用钩子函数从游戏进程中捕捉游戏图层。举例来说,当主播客户端启动游戏直播时,截取单元801可以调用钩子函数从游戏进程中捕捉游戏图层。其中,钩子函数可以认为是WINDOWS的主要特性之一,利用钩子函数不仅可以从游戏进程中捕捉游戏图层,或可以捕捉其它进程发生的事件。
[0088]本发明实施例中,合成单元805可以对主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行缩放,并将缩放后的游戏图层以及媒体图层进行合成,以获得合成图像。其中,合成单元805对主播客户端的DirectX设备中加载的游戏图层以及媒体图层先缩放再合成图像,可以减少后续合成图像的传输量,提高合成图像的传输效率。
[0089]请一并参阅图9,图9是本发明实施例公开的另一种显卡的结构示意图。其中,图9所示的显卡是由图8所示的显卡进行优化得到的。与图8所示的显卡相比较,图9所示的显卡还可以包括:
[0090]传递单元807,用于在截取单元801调用钩子函数从游戏进程中捕捉游戏图层之后,将戏图层传递给主播客户端的预览编辑窗口进行预览;其中,预览编辑窗口包括添加媒体图层入口;
[0091]其中,第一检测单元803具体用于检测主播客户端的预览编辑窗口包括的添加媒体图层入口添加的媒体图层;
[0092]相应地,传递单元807还用于将添加媒体图层入口添加的媒体图层传递给主播客户端的预览编辑窗口进行预览。
[0093]本发明实施例中,预览编辑窗口还包括编辑图层关系入口,第一检测单元803还用于在第二加载单元804将媒体图层加载至主播客户端的DirectX设备中之后,检测通过编辑图层关系入口输入的图层关系编制指令;
[0094]相应地,如图9所示,该显卡还包括:
[0095]图层编辑单元808,用于响应图层关系编制指令,编辑主播客户端的DirectX设备中加载的游戏图层以及媒体图层的图层关系,并触发合成单元805执行上述的将主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行合成,以获得合成图像的步骤。
[0096]本发明实施例中,如图9所示,第一加载单元802可以包括:
[0097]识别子单元8021,用于识别是否共享主播客户端的DirectX设备;
[0098]交互子单元8022,用于在识别子单元8021的识别结果为是时,传递指示信号给主播客户端,该指示信号用于指示已截取游戏图层;以及,检测主播客户端传递的控制信号,该控制信号用于指示将游戏图层加载至主播客户端的DirectX设备中;
[0099]加载子单元8023,用于响应控制信号,将游戏图层加载至主播客户端的DirectX设备中。
[0100]本发明实施例中,如图9所示,第一加载单元802还可以包括:
[0101]拷贝子单元8024,用于在识别子单元8021的识别结果为否时,将游戏图层拷贝至游戏进程对应的CPU,以使主播客户端通过命名管道将位于CPU中的游戏图层加载至主播客户端的DirectX设备中。
[0102]在图8、图9所描述的显卡中,显卡可以将截取的游戏图层以及主播客户端添加的媒体图层一并加载至主播客户端的DirectX设备中,并且显卡可以将主播客户端的DirectX设备中加载的游戏图层以及媒体图层进行合成以获得合成图像,以及显卡可以从主播客户端的Directx设备中拷贝合成图像至内存,从而使主播客户端可以从内存中读取合成图像并传递给服务设备进行直播。可见,实施图8、图9所描述的显卡可以将导致CPU消耗较高的合成图像操作放在显卡中进行,从而可以减少CPU消耗,提升直播的游戏质量。
[0103]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory, ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Progra_able Read-only Memory, PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory, EPROM) >一次可编程只读存储器(One-time Programmable Read-Only Memory, 0TPR0M)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory, EEPR0M)、只读光盘(CompactDisc Read-Only Memory,⑶-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
[0104]以上对本发明实施例公开的一种图像预处理及相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种图像预处理方法,其特征在于,包括: 显卡截取游戏图层; 所述显卡将所述游戏图层加载至主播客户端的DirectX设备中; 所述显卡检测所述主播客户端添加的媒体图层; 所述显卡将所述媒体图层加载至所述主播客户端的DirectX设备中; 所述显卡将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像; 所述显卡从所述主播客户端的DirectX设备中拷贝所述合成图像至内存,以使所述主播客户端从所述内存中读取所述合成图像并传递给服务设备进行直播。
2.根据权利要求1所述的方法,其特征在于,所述显卡截取游戏图层包括: 显卡调用钩子函数从游戏进程中捕捉游戏图层。
3.根据权利要求2所述的方法,其特征在于,所述显卡调用钩子函数从游戏进程中捕捉游戏图层之后,所述方法还包括: 所述显卡将所述游戏图层传递给所述主播客户端的预览编辑窗口进行预览;其中,所述预览编辑窗口包括添加媒体图层入口; 其中,所述显卡检测所述主播客户端添加的媒体图层包括: 所述显卡检测所述主播客户端的预览编辑窗口包括的所述添加媒体图层入口添加的媒体图层; 所述方法还包括: 所述显卡将所述添加媒体图层入口添加的媒体图层传递给所述主播客户端的预览编辑窗口进行预览。
4.根据权利要求3所述的方法,其特征在于,所述预览编辑窗口还包括编辑图层关系入口,所述显卡将所述媒体图层加载至所述主播客户端的DirectX设备中之后,以及所述显卡将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像之前,所述方法还包括: 所述显卡检测通过编辑图层关系入口输入的图层关系编制指令; 所述显卡响应所述图层关系编制指令,编辑所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层的图层关系。
5.根据权利要求1?4任一项所述的方法,其特征在于,所述显卡将所述游戏图层加载至主播客户端的Directx设备中包括: 所述显卡识别是否共享主播客户端的DirectX设备,如果是,传递指示信号给所述主播客户端,所述指示信号用于指示已截取游戏图层; 所述显卡检测所述主播客户端传递的控制信号,所述控制信号用于指示将所述游戏图层加载至主播客户端的Directx设备中; 所述显卡响应所述控制信号,将所述游戏图层加载至主播客户端的DirectX设备中。
6.根据权利要求5所述的方法,其特征在于,如果所述显卡识别未共享主播客户端的Directx设备,所述方法还包括: 所述显卡将所述游戏图层拷贝至游戏进程对应的中央处理单元,以使所述主播客户端通过命名管道将位于所述中央处理单元中的所述游戏图层加载至所述主播客户端的DirectX设备中。
7.根据权利要求6所述的方法,其特征在于,所述显卡将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像包括: 所述显卡对所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行缩放,并将缩放后的所述游戏图层以及所述媒体图层进行合成,以获得合成图像。
8.—种显卡,其特征在于,用于执行图像预处理方法,所述显卡包括: 截取单元,用于截取游戏图层; 第一加载单元,用于将所述游戏图层加载至主播客户端的DirectX设备中; 第一检测单元,用于检测所述主播客户端添加的媒体图层; 第二加载单元,用于将所述媒体图层加载至所述主播客户端的DirectX设备中; 合成单元,用于将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像; 拷贝单元,用于从所述主播客户端的DirectX设备中拷贝所述合成图像至内存,以使所述主播客户端从所述内存中读取所述合成图像并传递给服务设备进行直播。
9.根据权利要求8所述的显卡,其特征在于,所述截取单元用于调用钩子函数从游戏进程中捕捉游戏图层。
10.根据权利要求9所述的显卡,其特征在于,所述显卡还包括: 传递单元,用于在所述截取单元调用钩子函数从游戏进程中捕捉游戏图层之后,将所述游戏图层传递给所述主播客户端的预览编辑窗口进行预览;其中,所述预览编辑窗口包括添加媒体图层入口; 其中,所述第一检测单元用于检测所述主播客户端的预览编辑窗口包括的所述添加媒体图层入口添加的媒体图层; 所述传递单元,还用于将所述添加媒体图层入口添加的媒体图层传递给所述主播客户端的预览编辑窗口进行预览。
11.根据权利要求10所述的显卡,其特征在于,所述预览编辑窗口还包括编辑图层关系入口,所述第一检测单元还用于在所述第二加载单元将所述媒体图层加载至所述主播客户端的DirectX设备中之后,检测通过编辑图层关系入口输入的图层关系编制指令; 所述显卡还包括: 图层编辑单元,用于响应所述图层关系编制指令,编辑所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层的图层关系,并触发所述合成单元执行所述的将所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行合成,以获得合成图像的步骤。
12.根据权利要求8?11任一项所述的显卡,其特征在于,所述第一加载单元包括: 识别子单元,用于识别是否共享主播客户端的DirectX设备; 交互子单元,用于在所述识别子单元的识别结果为是时,传递指示信号给所述主播客户端,所述指示信号用于指示已截取游戏图层;以及,检测所述主播客户端传递的控制信号,所述控制信号用于指示将所述游戏图层加载至主播客户端的DirectX设备中; 加载子单元,用于响应所述控制信号,将所述游戏图层加载至主播客户端的DirectX设备中。
13.根据权利要求12所述的显卡,其特征在于,所述第一加载单元还包括: 拷贝子单元,用于在所述识别子单元的识别结果为否时,将所述游戏图层拷贝至游戏进程对应的中央处理单元,以使所述主播客户端通过命名管道将位于所述中央处理单元中的所述游戏图层加载至所述主播客户端的DirectX设备中。
14.根据权利要求13所述的显卡,其特征在于,所述合成单元用于对所述主播客户端的DirectX设备中加载的所述游戏图层以及所述媒体图层进行缩放,并将缩放后的所述游戏图层以及所述媒体图层进行合成,以获得合成图像。
【文档编号】G06T1/00GK104410928SQ201410729826
【公开日】2015年3月11日 申请日期:2014年12月3日 优先权日:2014年12月3日
【发明者】徐光兴, 罗创, 黄业龙 申请人:广州华多网络科技有限公司