一种基于第三方播放软件的视频加速方法技术

技术编号:3024867 阅读:229 留言:0更新日期:2012-04-11 18:40
一种基于第三方播放软件的视频加速方法,其特征在于:它包括以下步骤:    a、预先建立系统提供给播放软件的图形接口特征库及相应处理方式;    b、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行图像接口修改并截取其视频数据流和视频窗口坐标;    c、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,或者不分块;    d、把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示,或者把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;    e、告诉播放软件表示成功地播放了当前帧。

【技术实现步骤摘要】

本专利技术涉及计算机多媒体
,尤其涉及一种在多通道输出单一完整桌面计算机结构或超高分辨率计算机中,基于第三方播放软件的视频加速方法
技术介绍
在现有技术中,计算机多媒体播放软件进行视频播放的流程如附图1,其实现方法主要有以下两大类一类是,利用现有操作系统提供的多媒体解决方案如DirectX、OpenGL,开发者只需实现播放源的前端部分解码工作,后端图形处理和显示提交给操作系统完成;另一类是,利用操作系统提供的图形接口,从播放源的前端数据读取、解码到后端图像处理及显示全部逐一实现。在多通道输出单一完整桌面计算机结构或超高分辨率计算机上,利用以上两类方法实现的播放器将面临重大挑战,其主要因素是由于显示硬件能力的限制以及图形驱动仅实现图形驱动的最小子集。在实践中,DirectX、OpenGL在多通道输出单一完整桌面计算机结构或超高分辨率计算机上无法满足显示要求,因为受显示硬件能力的限制以及图形驱动仅实现图形驱动的最小子集的制约,在实践中,常见第三方多媒体播放器如Window Media Player、视频会议系统等在此类计算机结构上播放时视频画面放大甚至全屏后刷新速度极慢且严重消耗系统资源,影响视频观看感观及其它应用软件的正常使用。
技术实现思路
本专利技术的目的是为克服现有技术上的不足,提出。为了实现上述目的,本专利技术采用如下技术方案1、先建立系统提供给播放软件的图形显示接口特征库及相应处理方式;2、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行修改接口并截取其视频数据流和视频窗口坐标;3、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,或者不分块; 4、把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示,或者把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;5、告诉播放软件表示成功地播放了当前帧。所述的系统为UNIX、LINUX、WINDOWS等计算机系统。所述图形接口特征可以是绘图API接口,也可以是一种接口规范。所述的图像接口修改可以API接口的拦截,也可以是文件替换。所述专用硬件可以是逻辑芯片、DSP、或PC机。通过此方法可以使第三方多媒体播放软件实时流畅地播放视频,同时占用系统资源极低即整个计算机处理速度不会因此而变慢。附图说明图1现有技术中视频播放流程图。图2本专利技术的视频播放流程图。图3本专利技术实施例的流程图。具体实施例方式本专利技术根据多媒体播放接口特征创建一个或多个加速器插件,这些插件能自动地加载到播放器的进程空间,并动态地检测、识别、修改进程中相关图形接口,从而达到自动截取图像数据流、解码、图像分块、多硬件缩放及多硬件加速显示,其视频播放流程如图2所示。请参考图3,以Windows为例逐步解述其加速方法的实施步骤1、建立图形接口特征库。在Windows中实现多媒体播放主要分两种方式第一种是DirectX接口,第二种原始图形API接口。分别对这两种方式建立特征库。A、DirectX的RendererFilter取代在DirectX的多媒体解决方案包括主要分三层Source Filter、Transform Filter、Renderer Filter、涉及图形显示的是Renderer Filter层。根据其接口规范创建一个最高优先级的RendererFilter的AX插件,它实现视频数据截取、分块、等功能。在注册该插件后,它会屏蔽系统提供的RenderFilter插件而使用此插件。B、原始图形API接口拦截。系统中提供很多丰富的底层图形绘图接口,如StretchBlt、BitBlt等。创建一个动态链接库文件,分别对这些图形接口进行特征记录及实现其对应的处理方式。例如,StretchBlt特征记录后,其新的对应函数为Sniffer_StretchBlt函数。2、图形接口特征识别。播放软件启动阶段中自动加载这两个加速器插件,并进行初始化、监控、分析、识别进程中的各种图形函数的调用,如果识别匹配则会进入图形接口修改。3、图形接口修改。在进程中利用重定位或者优先级屏蔽的方法,相应地修改原来播放软件实现的图形接口,被动式的等待进程调用。分别对这两方法举例A、重定位法。在加速器插件中实现了一个接口特征与StretchBlt函数一致的新函数,命名为Sniffer_StretchBlt。StretchBlt函数经动态函数重定位后其处理函数变成了Sniffer_StretchBlt函数,进程在调用StretchBlt函数时实际就是调用Sniffer_StretchBlt函数。B、优先级屏蔽法。如果在系统存在多个RendererFilter插件,它们是通过优先级来确定使用。在加速器插件中实现一个比它们任何一个更高优先级的插件,来保证系统调用该插件。4、图形截取和分块。播放视频过程中,进程会自动调用被修改的接口并通过该接口传送图像数据到加速器内进行图像解码截取,并根据视频窗口坐标关系分割成多个小图像块。例如,在多通道输出单一完整桌面计算机结构中,视频原始图像尺寸为320×280,通过10×4个通道,在尺寸为10240×3072的桌面(由尺寸为1024×768的10×4个显示单元构成)上全屏显示该原始图像。首先,根据视频窗口坐标关系,将原始图像分割成10×4块尺寸为32×70的小图像,然后,分别发送到对应的通道进行相应倍数(10240×3072/10×4=1024×768/32×70=32×11)的放大,最后在在尺寸为10240×3072的桌面全屏显示。5、多硬件放大或缩小处理。加速器会根据视频窗口的坐标关系把多个小块图像分别传送给多个视频硬件同步进行缩小或放大处理,硬件可以是逻辑芯片、DSP、或PC机。6、多个硬件加速显示。加速器会把缩小或放大的图像结果利用多个硬件同步加速显示。7、告诉播放软件播放成功。返回播放软件上层调用,告诉播放软件表示播放当前帧成功。以上步骤4-6是针对图像分块的具体实施例。当对图像不进行分块处理时,可以把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示。上列详细说明是针对本专利技术之一可行实施例的具体说明,该实施例并非用以限制本专利技术的专利范围,凡未脱离本专利技术所为的等效实施或变更,均应包含于本案的专利范围中。权利要求1.,其特征在于它包括以下步骤a、预先建立系统提供给播放软件的图形接口特征库及相应处理方式;b、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行图像接口修改并截取其视频数据流和视频窗口坐标;c、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,或者不分块;d、把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示,或者把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;e、告诉播放软件表示成功地播放了当前帧。2.根据权利要求1所述的,其特征在于所述的系统为UNIX、LINUX或WINDOWS计算机系统。3.根据权利要求1所述的,其特征在于所述图形接口特征是绘图API接口,或者是一种接口规范。4.根据权利要求1所述的,其特征在于所述的图像接口修改是API接口的拦截,或者是文件替换。5.根据权利要求1所述本文档来自技高网...

【技术保护点】
一种基于第三方播放软件的视频加速方法,其特征在于:它包括以下步骤:a、预先建立系统提供给播放软件的图形接口特征库及相应处理方式;b、检测和分析播放软件的图形显示接口并与接口特征库比较,如果匹配则根据其对应的处理方式进行图像接口修改并截取其视频数据流和视频窗口坐标;c、解码视频流为图像帧,根据坐标关系分割该图像帧为多块小图像,或者不分块;d、把整块图像及坐标关系发送给专用硬件进行放大或缩小并最终显示,或者把各小块图像及坐标关系发送给一个或分别发送多个专用硬件进行放大或缩小并最终显示;e、告诉播放软件表示成功地播放了当前帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:何国文刘良潘远雄唐天佑
申请(专利权)人:广东威创日新电子有限公司
类型:发明
国别省市:81

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1