视频图像处理方法及装置与流程

文档序号:19792093发布日期:2020-01-24 14:27阅读:314来源:国知局
视频图像处理方法及装置与流程

本公开涉及计算机图像技术领域,尤其涉及视频图像处理方法及装置。



背景技术:

在某些保密场景下,如商业机构的核心部门、涉及国家机密的保密部门,内部局域网与互联网是处于隔离的状态,相关设备的usb端口、串口等外接接口也通过物理方式封闭。这样保证了无法通过网络、外设等方式将机密文件流出。

这种方式虽然可以有效保护数据文件,但对于视频文件的保护有一定的局限性。这是因为,视频文件可以通过拍照、录像的方式将其流出,而智能手机等便携设备的高度普及,通过拍照、录像等方式获取视频从而导致泄密的事件屡见不鲜。



技术实现要素:

本公开实施例提供一种视频图像处理方法及装置,能够解决现有智能手机等便携设备的高度普及,通过拍照、录像等方式获取视频从而导致泄密的事件的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种视频图像处理方法,该方法包括:

查询所述视频图像的用户信息,其中,所述用户信息用于生成水印图形;

获取所述视频图像的原始信息;其中,所述视频的原始信息至少包含:视频图像的尺寸、编码格式;

根据所述用户信息和视频的原始信息,生成包括水印图形的水印图像;其中,所述水印图像的尺寸、编码格式和所述视频图像的尺寸、编码格式相同;

将所述水印图像叠加到所述视频图像中。

在一个实施例中,用户信息至少包括以下至少之一:设备的硬件信息、当前登录的用户名、系统时间、地点。

在一个实施例中,设备的硬件信息包括:cpu序列号和/或硬盘序列号。

在一个实施例中,水印图像是明文水印或暗纹水印。

在一个实施例中,查询所述视频图像的用户信息之前,所述方法还包括:

监控解码器启动程序,若监控到解码器启动程序,则触发查询所述视频图像的用户信息的步骤。

根据本公开实施例的第二方面,提供一种视频图像处理装置,该装置包括:

查询单元,用于查询所述视频图像的用户信息,其中,所述用户信息用于生成水印图形;

获取单元,用于获取所述视频图像的原始信息;其中,所述视频的原始信息至少包含:视频图像的尺寸、编码格式;

生成单元,用于根据所述用户信息和视频的原始信息,生成包括水印图形的水印图像;其中,所述水印图像的尺寸、编码格式和所述视频图像的尺寸、编码格式相同;

叠加单元,用于将所述水印图像叠加到所述视频图像中。

在一个实施例中,用户信息至少包括以下至少之一:设备的硬件信息、当前登录的用户名、系统时间、地点。

在一个实施例中,设备的硬件信息包括:cpu序列号和/或硬盘序列号。

在一个实施例中,水印图像是明文水印或暗纹水印。

在一个实施例中,上述装置还包括监控单元,用于查询所述视频图像的用户信息之前,监控解码器启动程序,若监控到解码器启动程序,则触发查询所述视频图像的用户信息的步骤。

在本公开中,可以捕捉视频播放器输出的视频图像,以及将根据特定信息生成的水印图形与视频图像合成,使得视频播放器播放的视频画面中包含有水印图形,其中,用于生成水印图形的特定信息是指能够找到观看视频图像的用户的相关信息,比如,设备编码、姓名,地址等等。

这样,用户通过录像、拍照等方式拍摄到的每帧视频图像中,均包含水印图形,一旦用户将拍摄到的视频传播给他人,即可根据泄漏出的视频图像中的水印图形,查找到播放该视频的用户。不仅可以起到对意图泄密者的威慑作用,而且能够在泄密行为发生后通过水印图形追溯到泄密者。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种视频图像处理方法流程图;

图2是本公开实施例提供的一种视频图像处理示意图;

图3是本公开实施例提供的一种视频图像处理示意图;

图4是本公开实施例提供的视频图像处理装置结构图;

图5是本公开实施例提供的视频图像处理装置结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种视频图像处理方法,如图1所示,该视频图像处理方法包括以下步骤:

步骤101、查询所述视频图像的用户信息,其中,所述用户信息用于生成水印图形;

用户信息至少包括以下至少之一:设备的硬件信息、当前登录的用户名、系统时间、地点。

设备的硬件信息包括:cpu序列号和/或硬盘序列号。

步骤102、获取所述视频图像的原始信息;其中,所述视频的原始信息至少包含:视频图像的尺寸、编码格式;

步骤103、根据所述用户信息和视频的原始信息,生成包括水印图形的水印图像;其中,所述水印图像的尺寸、编码格式和所述视频图像的尺寸、编码格式相同;

其中,水印图像是明文水印或暗纹水印。

步骤104、将所述水印图像叠加到所述视频图像中。

以windows系统为例进行说明,如图2和图3所示,处理流程如下:

步骤1,在应用程序启动后,钩子主进程(exe格式文件)可以将钩子库(dll格式文件)加载到启动后的应用程序的进程中。

其中,钩子主进程负责将钩子库(dll格式文件)加载到各进程中。

需要说明的是,钩子库是事先设置好的,用于判断各进程是否为播放器进程。

上述钩子主进程和钩子库的功能均由windows钩子机制保证。

步骤2,钩子库根据进程的启动参数,判断所处的进程是否为播放器进程;若为是,则启动注入库(dll格式的文件)并将注入库注入到播放器进程中。

具体的,dll在被加载到播放器进程以后,可以通过相关应用程序编程接口(applicationprogramminginterface,api)获取进程启动参数,如windows自带播放器wmplayer启动参数为“c:\programfiles(x86)\windowsmediaplayer\wmplayer.exe"/play–embedding”,通过启动参数可判断启动进程为wmplayer(播放器进程)。

步骤3,注入库运行在该播放器进程中,监控解码器启动程序,若发现解码器启动程序,则说明解码器启动,执行步骤4.

步骤4,注入库拦截解码器输出的视频图像,并将事先生成的包括水印图形的水印图像叠加在视频图像中。

具体的,下面对播放器进程的运行步骤进行说明:

第一,播放器获取视频源;

第二,播放器通过源分离器,将视频源中的视频与音频信息分离,并将视频信息提供给视频解码器;

第三,视频解码器对视频信息进行解码,生成视频图像,并将视频图像发送给视频渲染器;

第四,视频渲染器将接收到的视频图像渲染到输出设备,如显示器等。

需要说明的是,注入库在注入到播放器进程,并检测到解码器启动之后,首先,通过操作系统提供的接口,查询设备的硬件信息(cpu序列号、硬盘序列号)、当前登录的用户名、系统时间、地点等,以获取用于生成水印图形所需的用户信息,比如硬件序列号(硬件标识)、登录的用户名、系统时间、地点等;然后,从解码器中读取视频的原始信息,比如,输出视频图像的尺寸、编码格式(nv12、yuv422等;接下来,根据上述用户信息以及视频的原始信息,生成一张包括水印图形的水印图像,可以理解的,该图像的尺寸、编码格式均与解码器输出图像相同。

需要说明的是,通过操作系统提供的接口,查询设备的硬件信息(cpu序列号、硬盘序列号)、当前登录的用户名、系统时间、地点等,是由操作系统特性保证的。

步骤5,注入库向视频渲染器输出叠加水印图像的视频图像。

步骤6,视频渲染器将接收到的叠加水印图像的视频图像渲染到输出设备。

这样,用户从输入设备上观看到的视频中的每一帧视频图像,均是叠加水印图像的视频图像。

需要说明的是,水印图像可以为明文水印,也可以为暗纹水印。可以理解的,本公开中的水印图像是在视频播放过程中叠加的,不会修改视频源本身。

此外,即使同一个视频源,当登录的用户名,或播放设备,或播放地点,或播放时间改变时,生成的水印图像均不同。

可见,若视频泄漏,只需要获取到叠加水印图像的视频图像,就能够得知泄密者的用户名、地点、观看视频的时间等信息,进而快速追溯到泄密者,更能给其他用户有效的警示作用。

在实际应用中,图2的框中处理流程可以由mediafoundation来实现,本公开可以在mediafoundation的基础上进行改进。

基于mediafoundation平台的视频解码器本质上是一个com组件,com组件通过cocreateinstance函数创建,这是windows系统特性保证。

cocreateinstance函数原型:

stdapicocreateinstance(

refclsidrclsid,//创建的com对象的类标识符(clsid)

lpunknownpunkouter,//指向接口iunknown的指针

dworddwclscontext,//运行可执行代码的上下文

refiidriid,//创建的com对象的接口标识符

lpvoid*ppv//用来接收指向com对象接口地址的指针变量

);

其中rclsid代表创建com组件的唯一标识,ppv是创建后的com组件对象,通过注入cocreateinstance函数,可以监控进程内所有组件的创建过程。

在系统创建解码器组件时,通过创建兼容解码器com组件接口的代理类替代原始com组件提供给播放器,后续播放器所有对解码器的调用都通过代理类可以捕捉到,从而实现了对解码器的行为监控。

其中代理类提供了解码器的相应接口,在系统调用解码器功能时其实调用的时代理类的功能,代理类再将相应的参数传递给解码器实现真实功能调用。

这个过程称之为代理注入。

编码器实现的接口包含如下两个虚函数:

stdmethodimpsetoutputtype(dworddwoutputstreamid,imfmediatype*ptype,dworddwflags);

stdmethodimpprocessmessage(mft_message_typeemessage,ulong_ptrulparam);

其中在setoutputtype函数调用过程中,通过ptype参数可以查询视频格式数据(如视频尺寸等)。

processmessage函数产生最终的视频图像数据,emessage参数中存储了固定格式(nv12、yv12等)的图像数据。根据生成的水印图像与之叠加后再覆盖emessage参数中存储的图像数据,而后数据被渲染到输出设备上即可实现水印的实时叠加功能。

mediafoundation是微软在windowsvista上推出的新一代多媒体应用库,目的是提供windows平台一个统一的多媒体影音解决方案,开发者可以通过mediafoundation播放视频或声音文件、进行多媒体文件格式转码,或者将一连串图片编码为视频等等。windowsmediaplayer等播放器使用mediafoundation框架编写。

图4公开了一种视频图像处理装置,该装置40包括:

查询单元401,用于查询所述视频图像的用户信息,其中,所述用户信息用于生成水印图形;

获取单元402,用于获取所述视频图像的原始信息;其中,所述视频的原始信息至少包含:视频图像的尺寸、编码格式;

生成单元403,用于根据所述用户信息和视频的原始信息,生成包括水印图形的水印图像;其中,所述水印图像的尺寸、编码格式和所述视频图像的尺寸、编码格式相同;

叠加单元404,用于将所述水印图像叠加到所述视频图像中。

在一个实施例中,用户信息至少包括以下至少之一:设备的硬件信息、当前登录的用户名、系统时间、地点。

在一个实施例中,设备的硬件信息包括:cpu序列号和/或硬盘序列号。

在一个实施例中,水印图像是明文水印或暗纹水印。

图5公开了一种视频图像处理装置,该装置50包括:

查询单元501,用于查询所述视频图像的用户信息,其中,所述用户信息用于生成水印图形;

获取单元502,用于获取所述视频图像的原始信息;其中,所述视频的原始信息至少包含:视频图像的尺寸、编码格式;

生成单元503,用于根据所述用户信息和视频的原始信息,生成包括水印图形的水印图像;其中,所述水印图像的尺寸、编码格式和所述视频图像的尺寸、编码格式相同;

叠加单元504,用于将所述水印图像叠加到所述视频图像中。

在一个实施例中,用户信息至少包括以下至少之一:设备的硬件信息、当前登录的用户名、系统时间、地点。

在一个实施例中,设备的硬件信息包括:cpu序列号和/或硬盘序列号。

在一个实施例中,水印图像是明文水印或暗纹水印。

监控单元505,用于查询所述视频图像的用户信息之前,监控解码器启动程序,若监控到解码器启动程序,则触发查询所述视频图像的用户信息的步骤。

基于上述图1对应的实施例中所描述的视频图像处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的视频图像处理方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

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