对视频流进行解码显示的方法及设备技术

技术编号:10175932 阅读:420 留言:0更新日期:2014-07-02 16:06
本发明专利技术公开了对视频流进行解码显示的方法及设备,其中,该方法包括:客户端进程单元接收解码指令,判断与客户端进程单元连接的至少一个解码显示进程单元是否存在具有空闲的解码资源,如果是,则将视频码流传送给具有空闲解码资源的解码显示进程单元;否则,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元;解码显示进程单元接收视频码流,由空闲的解码资源对视频码流进行解码后显示。本发明专利技术方案能够提高对视频码流进行解码显示的效率。

【技术实现步骤摘要】
对视频流进行解码显示的方法及设备
本专利技术涉及解码技术,尤其涉及对视频流进行解码显示的方法及设备。
技术介绍
目前,多采用单进程方式对视频流进行解码显示,解码和显示功能与客户端功能在一个进程中执行;客户端进程单元既完成客户端功能,也进行解码和显示。现有技术中,客户端进程单元接收用户通过视频解码界面输入的解码指令,查询本单元是否有空闲的解码资源,如果是,则将视频码流传送给空闲的解码资源,解码资源对接收的视频码流进行解码后显示;如果没有,则解码失败,通过视频解码界面向用户反馈失败响应。对于某指定的操作系统,其虚拟内存一部分被内核空间占用;另一部分被用户空间占用,也就是用于应用程序,且每个进程使用的最大虚拟空间容量为用户占用的空间容量。对应于本专利技术方案,用户占用的虚拟空间也就是解码显示可用的最大虚拟内存空间,在需要进行解码显示的情况下,如果判断出这部分虚拟空间用完,则解码失败,降低了解码显示的效率。以32位操作系统为例,操作系统分配了4GB的虚拟内存,其中2GB被内核空间占用,2GB被用户空间占用,应用程序可使用的虚拟内存只有2GB,也就是最大只有2GB用于对视频流的解码显示,这意味着客户端的其他功能和解码显示功能必须共同使用这部分虚拟内存资源,客户端的其他功能包括界面显示功能、与用户的交互功能等。由于计算机的特点,应用程序通常真正能够使用的虚拟内存远未达到2GB。现有的客户端进程单元包含多个解码资源,每个解码资源可进行一路视频码流的解码显示,一路视频码流的解码显示过程可能会占用大量的虚拟内存,虚拟内存使用量主要根据视频图像的大小和设置的视频流畅程度而定。以视频监控为例,视频数据解码显示设备需要将来自多路监控设备的视频流进行同时解码显示;由于可使用的虚拟内存最大容量有限,这导致了客户端进程单元同时解码显示的路数受到很大的限制;对于高清1080p以上的分辨率码流,路数限制会更加明显,具体表现在一个客户端可能同时只能看到几个高清画面;对于目前H.264码流的倒放功能,其占用更多的虚拟内存资源,在单进程解码中,一个客户端最多只能倒放两路高清码流。解码显示占用的虚拟内存过多时也会影响到客户端的其他功能的正常使用。对于单进程解码显示的客户端来说,如果要解决虚拟内存限制就需要使用64位的操作系统。而使用64位的操作系统对于产品的管理和维护需要付出更大的成本,因此,较少地采用增加虚拟内存的方式。综上,现有对视频流进行单进程解码显示的方案,存在效率低的缺陷。
技术实现思路
本专利技术提供了一种对视频流进行解码显示的方法,该方法能够提高对视频码流进行解码显示的效率。本专利技术提供了一种对视频流进行解码显示的设备,该设备能够提高对视频码流进行解码显示的效率。一种对视频流进行解码显示的方法,该方法包括:客户端进程单元接收解码指令,判断与客户端进程单元连接的至少一个解码显示进程单元是否存在具有空闲的解码资源,如果是,则将视频码流传送给具有空闲解码资源的解码显示进程单元;否则,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元;解码显示进程单元接收视频码流,由空闲的解码资源对视频码流进行解码后显示。一种对视频流进行解码显示的设备,该设备包括客户端进程单元和至少一个解码显示进程单元;所述客户端进程单元,接收解码指令,判断与客户端进程单元连接的至少一个解码显示进程单元是否存在具有空闲的解码资源,如果是,则将视频码流传送给具有空闲解码资源的解码显示进程单元;否则,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元;所述解码显示进程单元,接收来自客户端进程单元的视频码流,由空闲的解码资源对视频码流进行解码后显示。从上述方案可以看出,本专利技术中,将解码显示从客户端进程单元独立出来,与客户端进程单元连接的解码显示单元为至少一个,如果与客户端进程单元连接的解码显示单元的解码资源用完,则启动新的解码显示进程单元;这样,采用多个解码显示进程单元对视频流进行解码显示,相比于现有技术中单进程的解码实现方案,提高了效率。假设同时有两个解码显示单元进行解码显示,解码路数将比现有方案增加一倍;对于同时有三个以上解码显示单元进行解码显示的情况,将进一步提高效率。附图说明图1为本专利技术对视频流进行解码显示的方法示意性流程图;图2为本专利技术对视频流进行解码显示的方法流程图实例;图3为客户端进程与解码显示进程之间的关系示意图;图4为本专利技术对视频流进行解码显示的设备结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本专利技术进一步详细说明。本专利技术中,将解码显示从客户端进程单元独立出来,与客户端进程单元连接的解码显示单元为至少一个,如果与客户端进程单元连接的解码显示单元的解码资源用完,则启动新的解码显示进程单元。参加图1,为本专利技术对视频流进行解码显示的方法,其包括以下步骤:步骤101,客户端进程单元接收解码指令。用户通过视频解码界面向客户端进程单元输入解码指令。以视频监控为例,视频解码界面显示的内容包括需要进行解码显示的视频源标识,当用户需要显示关于某监控设备的视频数据时,选择与该监控设备对应的视频源标识,以向客户端进程单元输入关于该视频源标识的解码指令。步骤102,客户端进程单元判断与客户端进程单元连接的至少一个解码显示进程单元是否存在具有空闲的解码资源,如果是,则执行步骤103;否则执行步骤104。较优地,与客户端进程单元连接的有一个常驻解码显示进程单元,客户端进程单元启动后便启动该常驻解码显示进程单元,由该常驻解码显示进程单元进行视频流解码显示;如果该常驻解码显示进程单元的解码资源用完,则启动一个新的解码显示进程单元。这样,与客户端进程单元连接着至少一个解码显示进程单元;各个解码显示进程单元互相独立,分别运行一个进程进行解码显示,每个解码显示进程单元可占用的最大虚拟内存容量为用户可占用的空间容量,以32位操作系统为例,每个解码显示进程单元可占用的最大虚拟内存容量为2GB,从而,提高了解码显示效率。步骤103,客户端进程单元将视频码流传送给具有空闲解码资源的解码显示进程单元,执行步骤105。较优地,本步骤具体包括:客户端进程单元与解码显示进程单元的空闲解码资源之间建立码流管道,将视频码流通过建立的码流管道传送给解码资源。进行视频码流传送过程中,如果数据包过大,可进行拆包传输,具体地:客户端进程单元对视频码流进行拆包,为拆分后的数据包加上包头,传送给具有空闲资源的解码显示进程单元;解码显示进程单元接收来自客户端进程单元的数据包后,解析出包头,由包头组合出原始的视频码流;组合时,按照包头信息的指示,将属于同一视频码流的数据包按顺序组合成原始的视频码流。步骤104,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元,执行步骤105。较优地,本步骤具体包括:新启动的解码显示进程单元申请空闲资源,客户端进程单元与申请的空闲解码资源之间建立码流管道,将视频码流通过建立的码流管道传送给解码资源。新启动的解码显示进程单元可从系统申请空闲资源。步骤105,解码显示进程单元接收视频码流,由空闲的解码资源对视频码流进行解码后显示。图1的流程中,可在客户端进本文档来自技高网
...
对视频流进行解码显示的方法及设备

【技术保护点】
一种对视频流进行解码显示的方法,其特征在于,该方法包括:客户端进程单元接收解码指令,判断与客户端进程单元连接的至少一个解码显示进程单元是否存在具有空闲的解码资源,如果是,则将视频码流传送给具有空闲解码资源的解码显示进程单元;否则,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元;解码显示进程单元接收视频码流,由空闲的解码资源对视频码流进行解码后显示。

【技术特征摘要】
1.一种对视频流进行解码显示的方法,其特征在于,该方法包括:客户端进程单元接收解码指令,其中,客户端进程单元连接至少一个解码显示进程单元,判断所述至少一个解码显示进程单元所运行的解码显示进程所包含的多个解码资源中是否有空闲的解码资源,如果是,则将视频码流传送给具有空闲解码资源的解码显示进程单元;否则,客户端进程单元启动一个新的解码显示进程单元,将视频码流传送给新启动的解码显示进程单元;解码显示进程单元接收视频码流,由空闲的解码资源对视频码流进行解码后显示。2.如权利要求1所述的方法,其特征在于,所述将视频码流传送给具有空闲解码资源的解码显示进程单元包括:客户端进程单元与解码显示进程单元的空闲解码资源之间建立码流管道,将视频码流通过建立的码流管道传送给解码资源;所述客户端进程单元将视频码流传送给新启动的解码显示进程单元包括:新启动的解码显示进程单元申请空闲资源,客户端进程单元与申请的空闲解码资源之间建立码流管道,将视频码流通过建立的码流管道传送给解码资源。3.如权利要求1所述的方法,其特征在于,所述判断所述至少一个解码显示进程单元所运行的解码显示进程所包含的多个解码资源中是否具有空闲的解码资源之前,该方法还包括:客户端进程单元与解码显示进程单元之间协商消息管道名,客户端进程单元与解码显示进程单元之间建立与消息管道名对应的消息管道;所述判断所述至少一个解码显示进程单元所运行的解码显示进程所包含的多个解码资源中是否具有空闲的解码资源包括:客户端进程单元通过消息管道向解码显示进程单元发送资源请求指令;解码显示进程单元接收资源请求指令后判断所述解码显示进程是否具有空闲的解码资源,如果是,则通过消息管道将空闲解码资源的标识反馈给客户端进程单元,否则通过消息管道向客户端进程单元反馈无空闲资源消息。4.如权利要求3所述的方法,其特征在于,所述由空闲的解码资源对视频码流进行解码后显示的过程中,该方法还包括:客户端进程单元经通过消息管道向解码显示进程单元发送视频控制命令;解码显示进程单元将接收的视频控制命令传送给解码资源,解码资源按照视频控制命令对接收的视频码流进行解码和显示。5.如权利要求3所述的方法,其特征在于,所述由空闲的解码资源对视频码流进行解码后显示之后,该方法还包括:客户端进程单元经消息管道向解码显示进程单元发送停止命令,所述停止命令包括码流管道标识;解码显示进程单元接收停止命令后,通知与码流管道标识对应的解码资源停止解码,释放解码资源;解码显示进程单元判断所有解码资源...

【专利技术属性】
技术研发人员:杨欣
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1