一种视频解码装置的制作方法

文档序号:13590008阅读:189来源:国知局

本发明涉及视频解码领域,特别涉及一种视频解码装置。



背景技术:

随着现在市面上盗版越来越猖狂,外加版权保护意识的增强,对越来越多的视频进行加密处理得到安全视频,所谓安全视频指的是带版权的视频,需要有密钥进行解密后,才能在普通播放器上进行播放。

安全视频进行播放的时候,其解密后压缩的视频流与压缩的视频流解码成的yuv图像所存储的空间均不能被普通的cpu访问,因此目前常见的安全视频解码做法是:将整个视频解码器移植到安全操作系统(secureos)里面。如图1所示为普通视频的播放框架,图2为目前市面上支持安全视频播放的视频解码框架,因为安全视频解密后的视频流被存储的内存是普通cpu不能直接访问的,因此在安全视频解码的时候需要将图1的视频解码器的相关代码整体移植至图2中的安全操作系统(secureos)下面,但是由于安全操作系统(secureos)处于内核之内,只支持c运行,且调试起来麻烦,若将整个解码器进行移植的话,需要耗费很长时间,不仅效率低下,而且解码器整个移植到底层,有些错误处理比较难以控制,会造成系统稳定性差。



技术实现要素:

为此,需要提供一种视频解码装置,用以解决安全视频解码过程中,耗时长、效率低下及系统稳定性差的问题。

为实现上述目的,发明人提供了一种视频解码装置,具体实现技术方案如下:

一种视频解码装置,包括:解码器和解码加速器,所述解码器通信连接解码加速器;所述解码器包括:头信息语法解析单元和硬件寄存器生成单元;所述头信息语法解析单元通信连接所述硬件寄存器生成单元;所述头信息语法解析单元设置于安全操作系统层,所述硬件寄存器生成单元设置于普通操作系统层;所述头信息语法解析单元用于:在步骤“对加密视频进行解密,获得解密后压缩的视频流”后,对解密后压缩的视频流进行解析,获得视频流头信息数据,并发送所述视频流头信息数据至硬件寄存器生成单元,所述视频流头信息数据包括:视频流参考帧信息及解码帧类型;所述硬件寄存器生成单元用于:接收视频流头信息数据,并在用户态模式下,对视频流头信息数据进行解析,获得硬件配置信息,并发送所述硬件配置信息至所述解码加速器;所述解码加速器用于:接收所述硬件配置信息,并根据所述硬件配置信息对解密后压缩的视频流进行解码,获得解码后的视频数据。

进一步的,所述解码器还包括:帧管理单元,所述帧管理单元设置于普通操作系统层;所述帧管理单元通信连接所述头信息语法解析单元;所述帧管理单元用于:在用户态模式下,接收所述头信息语法解析单元发送的视频流参考帧信息,并管理视频流参考帧信息

进一步的,还包括:多媒体加速器,所述多媒体加速器通信连接所述解码器;所述多媒体加速器用于:控制解密后压缩的视频流的缓冲区的分配和使用。

进一步的,所述解码后的视频数据包括:yuv图像数据。

进一步的,还包括:码流解码器,所述码流解码器用于:对加密视频进行解密,获得解密后压缩的视频流。

本发明的有益效果是:头信息语法解析单元设置于安全操作系统层,故其有权限读取解密后压缩的视频流,并对其进行解析,获得视频流头信息数据,并发送所述视频流头信息数据至硬件寄存器生成单元;硬件寄存器生成单元设置于普通操作系统层,因该单元无需读取解密后压缩的视频流,将其设置于普通操作系统层,既可以保硬件寄存器生成单元用于:接收视频流头信息数据,并在用户态模式下,对视频流头信息数据进行解析,获得硬件配置信息,并发送所述硬件配置信息至所述解码加速器的功能,解码加速器根据所述硬件配置信息对解密后压缩的视频流进行解码,获得解码后的视频数据,又解决了现有框架中将硬件寄存器生成单元设置于安全操作系统层内,代码移植量大,软件开发效率低的问题。在本发明中,无需将整个解码器所有代码均进行移植到安全操作系统层,大大减少代码移植量,简化了安全视频解码装置的软件开发,从而提高软件开发效率,使得产品能尽快投入到市场。

进一步的,将帧管理单元设置于普通操作系统层,即可保证帧管理单元在用户态模式下,管理视频流参考帧信息的作用,且帧数据无需通过用户态传到安全操作系统层,减少很多交互,提高系统稳定性;且帧管理单元设置于普通操作系统层,也减少了移植到安全操作系统层的代码移植量,大大提高系统运行效率。

附图说明

图1为背景技术所述普通视频的播放框架的示意图;

图2为背景技术所述目前市面上支持安全视频播放的视频解码框架的示意图;

图3为具体实施方式所述一种视频解码装置的模块示意图;

图4为具体实施方式所述一种视频解码装置包括帧管理单元的模块示意图。

附图标记说明:

300、视频解码装置;

301、解码器;

302、解码加速器;

3010、硬件寄存器生成单元;

3011、头信息语法解析单元;

3012、帧管理单元。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

首先,对本实施方式中涉及的一些术语进行说明:

安全视频:带版权保护的视频,需要有密钥进行解密后,才能在普通播放器上进行播放;且解密后压缩的视频流所存放的空间位置是带保护的内存,普通的cpu不能直接访问,只有安全模式下,该带保护的内存才能被访问。

普通操作系统:一个系统内资源可分为受保护和非受保护两种类型,在系统启动的时候可将一些资源设置为安全(即受保护类型),例如受保护的内存。在普通操作系统下,即用户态下是访问不了受保护的内存。

安全操作系统:在安全操作系统下,可直接访问受保护的内存。

yuv图像数据:yuv,分为三个分量,y:表示明亮度(luminance或luma),也就是灰度值;而u和v:表示的则是色度(chrominance或chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

请参阅图3,在本实施方式中,一种视频解码装置300的实现如下:

一种视频解码装置300,包括:解码器301和解码加速器302,所述解码器301通信连接解码加速器302;所述解码器301包括:头信息语法解析单元3011和硬件寄存器生成单元3010;所述头信息语法解析单元3011通信连接所述硬件寄存器生成单元3010;所述头信息语法解析单元3011设置于安全操作系统层,所述硬件寄存器生成单元3010设置于普通操作系统层;所述头信息语法解析单元3011用于:在步骤“对加密视频进行解密,获得解密后压缩的视频流”后,对解密后压缩的视频流进行解析,获得视频流头信息数据,并发送所述视频流头信息数据至硬件寄存器生成单元3010,所述视频流头信息数据包括:视频流参考帧信息及解码帧类型;所述硬件寄存器生成单元3010用于:接收视频流头信息数据,并在用户态模式下,对视频流头信息数据进行解析,获得硬件配置信息,并发送所述硬件配置信息至所述解码加速器302;所述解码加速器302用于:接收所述硬件配置信息,并根据所述硬件配置信息对解密后压缩的视频流进行解码,获得解码后的视频数据。

在本实施方式中,实际的解码过程中,首先对安全视频进行解密,获得解密后压缩的视频流,该视频流存放的内存位置是普通cpu(即普通操作系统层)没有办法访问的,而解码器301中的头信息语法解析单元3011涉及对解密后压缩的视频流的访问,因此所述头信息语法解析单元3011设置于安全操作系统层,故头信息语法解析单元3011具有权限对解密后压缩的视频流进行解析,获得视频流头信息数据。因为头信息语法解析单元3011通信连接硬件寄存器生成单元3010,故其可发送所述视频流头信息数据至硬件寄存器生成单元3010,硬件寄存器生成单元3010并无涉及对解密后压缩的视频流的访问,故将其设置于普通操作系统层,因此其在用户态模式下,对视频流头信息数据进行解析,获得硬件配置信息。解码加速器302接收所述硬件配置信息,并根据所述硬件配置信息对解密后压缩的视频流进行解码,获得解码后的视频数据,在本实施方式中,所述解码加速器302设置于安全操作系统层。在本实施方式中,解码后的视频数据所存放的内存位置与解密后压缩的视频流所存放的位置是一样的,同样是普通cpu无法访问。

头信息语法解析单元3011设置于安全操作系统层,故其有权限读取解密后压缩的视频流,并对其进行解析,获得视频流头信息数据,并发送所述视频流头信息数据至硬件寄存器生成单元3010;硬件寄存器生成单元3010设置于普通操作系统层,因该单元无需读取解密后压缩的视频流,将其设置于普通操作系统层,既可以保硬件寄存器生成单元3010用于:接收视频流头信息数据,并在用户态模式下,对视频流头信息数据进行解析,获得硬件配置信息,并发送所述硬件配置信息至所述解码加速器302的功能,解码加速器302根据所述硬件配置信息对解密后压缩的视频流进行解码,获得解码后的视频数据,又解决了现有框架中将硬件寄存器生成单元3010设置于安全操作系统层内,导致需将其代码移植到安全操作系统层,代码移植量大,软件开发效率低的问题。在本发明中,无需将整个解码器301所有代码均进行移植到安全操作系统层,大大减少代码移植量,简化了安全视频解码装置的软件开发,从而提高软件开发效率,使得产品能尽快投入到市场。

请参阅图4,在其它实施方式中,所述解码器301还包括:帧管理单元3012,所述帧管理单元3012设置于普通操作系统层;所述帧管理单元3012通信连接所述头信息语法解析单元3011;所述帧管理单元3012用于:在用户态模式下,接收所述头信息语法解析单元3011发送的视频流参考帧信息,并管理视频流参考帧信息。

通过将帧管理单元3012设置于普通操作系统层,即可保证帧管理单元3012在用户态模式下,管理视频流参考帧信息的功能,且帧数据无需通过用户态传到安全操作系统层(现有技术中,将帧管理单元3012设置于安全操作系统层,则帧数据的传输将涉及通过用户态到安全操作系统层),减少很多交互,从而降低错误发生概率,提高系统稳定性;且帧管理单元3012设置于普通操作系统层,也减少了移植到安全操作系统层的代码移植量,大大提高系统运行效率。

在其它实施方式中,所述视频解码装置300还包括:多媒体加速器,所述多媒体加速器通信连接所述解码器301;所述多媒体加速器用于:控制解密后压缩的视频流的缓冲区的分配和使用。在本实施方式中,所述多媒体加速器可设置于普通操作系统层,其不仅可用来控制解密后压缩的视频流的缓冲区的分配和使用,同样也可以用来控制解码后的视频数据的缓冲区的分配和使用。在本实施方式中,帧管理单元3012亦通信连接硬件寄存器生成单元3010,多媒体加速器分别为解密后压缩的视频流和解码后的视频数据分别分配好缓冲区后,将该分配信息发送给帧管理单元3012,帧管理单元3012将缓冲区的分配信息发送至硬件寄存器生成单元3010,硬件寄存器生成单元3010将所述缓冲区的分配信息再送到解码加速器302中,解码加速器302最后将解码后的视频数据写入到预先分配好的缓冲区中。在本实施方式中,为确保解码后视频数据的安全,解码后的视频数据存放的缓冲区也属于安全缓冲区(即受保护的缓冲区),故在本实施方式中,为保证解码加速器302将视频数据解码至受保护的缓冲区,所述解码加速器302设置于安全操作系统层。同时,因所述解码加速器302设置于安全操作系统层,故硬件寄存器生成单元3010将所述缓冲区的分配信息传递至解码加速器302,即传送至安全操作系统层进行信息确认,并在安全操作系统层根据所述缓冲区的分配信息进行配置硬件,确保了硬件配置信息的安全性。

在其它实施方式中,所述解码后的视频数据包括:yuv图像数据。yuv图像数据只需占用极少的频宽。

在其它实施方式中,所述视频解码装置300还包括:码流解码器,所述码流解码器用于:对加密视频进行解密,获得解密后压缩的视频流。

需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

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