适用于大面阵米级高分辨率卫星的视频播放系统
技术领域
本发明涉及大面阵米级高分辨率卫星的视频播放技术领域,具体涉及一种适用于大面阵米级高分辨率卫星的视频播放系统,可实现对于高分辨率卫星视频播放相关的诸多操作。
背景技术
由长光卫星技术有限公司自主研制的“吉林一号”视频卫星,能够在几百公里外的太空拍摄地球上面积达到几十公里的清晰视频影像,空间分辨率达到了米级水平。对于一个1分钟左右的视频,其总大小将达到几个G的数量级。而对于一幅12K*5K的单帧影像,其大小就有175M,远非1920*1080大小的普通视频单帧影像所能比拟。这些海量、重量级的大视频,对于视频播放软件来说提出了一个严酷的挑战。宽幅度、高分辨率等卫星视频数据特点使得传统视频播放技术对其失效,不仅无法保障高分辨率卫星视频的流畅播放,也无法在有限的屏幕分辨率制约下对视频中较小的感兴趣区域进行信息提取,针对卫星视频数据的播放技术缺失也成为了一个制约卫星视频数据应用前景的瓶颈。
目前,比较常用的视频播放器如暴风影音、QQ影音、potplayer等,在视频编解码、影像优化、视频资源库等方面做出了非常多的努力。但是,市面上这些常用的视频播放器都是针对普通视频来进行相关处理。当遇到视频影像以及特定的功能需求时,这些软件常常不是很好的选择。
首先卫星遥感视频的打开与流畅播放就是一个首要面临的问题,像暴风影像打开大面阵的卫星视频时,软件会直接给出错误信息,根本就不支持这种类型视频的解码,更别提流畅播放等其他操作。Potplayer虽然对于一些卫星视频可以打开并播放,但是也同样不能保证视频正常的播放帧率,会减缓视频的播放速度,影响观看和细节分析。
其次,对于大面阵的卫星遥感视频,直接在个人计算机的屏幕上观察,是无法看清楚具体影像细节的。常常需要针对一个特定的局部区域进行放缩操作,例如某个军事基地中车辆的进出情况,或者某一机场中飞机的起飞降落情况。目前市面上的众多商业播放器中,只有potplayer支持影像的放缩处理。另外,通过键盘来进行局域选择往往让人们用起来感觉很笨拙,没有鼠标直接框定方便直观。
另外,卫星视频影像中存在了大量的信息,对于这些信息的分析和处理是视频星影像应用的一个主要部分。其中,移动目标的检测与跟踪就是一个关键的研究内容。现有的各类播放软件中都没有集中入移动目标检测功能,不能满足军事分析和民用分析等需要。
发明内容
本发明为解决现有视频播放技术无法对卫星遥感视频文件进行流畅播放,同时存在能缩放,影响观看和细节分析以及无法实现移动目标检测功能等问题,提供一种适用于大面阵米级高分辨率卫星的视频播放系统。
适用于大面阵米级高分辨率卫星的视频播放系统,包括视频解码模块、视频播放模块、视频放缩模块和移动目标检测与跟踪模块;
所述视频解码模块通过选择视频文件,视频播放系统根据视频的编码器自动选择相应的解码器对视频进行解码,并加载至内存中,读取视频的基本信息和地理信息;
所述视频播放模块采用C++和OpenCV无压缩显示视频单帧影像,以人机交互的方式对视频进行播放;
所述视频放缩模块:通过窗口右下方显示视频首帧原始影像,并将所述窗口右下方作为鹰眼面板操作显示区域,选择鹰眼面板中矩形热点框的不同位置对局部播放区域进行切换,改变矩形热点框的大小实现对显示视频的放大和缩小;
所述移动目标检测与跟踪模块:当用户点击移动目标检测按钮时,系统将自动对视频中的移动目标进行检测,并给出所述移动目标的当前位置信息;
当用户点击移动目标跟踪按钮时,系统将自动对用户选定的移动目标进行连续跟踪,并计算移动目标的移动速度、前进方向和当前位置经纬度信息。
本发明的有益效果:
一、本发明实现了对于大面阵米级高分辨率卫星的视频的流畅播放,集中了当前常规播放器中的常用操作;针对一些播放器无法达到后者体验不好的视频放缩功能进行针对性设计,结合鹰眼小地图并加入人机交互的方式,良好的做到了局部区域的放缩查看;另外,对于遥感卫星视频影像,实现了对于视频中移动目标的检测与跟踪。
二、采用OpenCV计算机数字图像处理库和影像预加载等技术实现了视频的常规播放操作;通过人机交互选定局部区域的方式可实现对于特定场景的放缩处理;采用基于上下文的移动目标跟踪算法实现了对于飞机、汽车、轮船等的识别与跟踪。
三、本发明针对现有视频无法播放的缺点,结合了OpenCV数字图像处理库实现了视频文件的打开与解码。读取出视频中关键的信息如时长、分辨率、帧率等;
四、本发明针对现有视频不能流畅播放的缺点,采用将整个视频文件加载至内存的方式,实现了卫星视频按帧率播放,跳转、全屏、放缩操作都不会出现卡顿的情况;
五、本发明针对现有视频不能放缩的缺点,采用人机结合的方法。通过用户根据鼠标移动来确定感兴趣的局部区域,滚动鼠标滚轮实现放大和缩小。另外,小键盘中的“1”,“9”也可以实现缩小和放大,“2”、“4”、“6”、“8”可以实现局域的上下左右的移动。
六、本发明针对现有技术不能对移动目标检测与跟踪的缺点,基于时空上下文的移动目标检测方法,鼠标选定一个移动目标后,给出该目标的移动轨迹、移动速度、当前位置等信息。在军事分析、航班分析、海运分析等方面有广阔的应用前景。
附图说明
图1为本发明所述的适用于大面阵米级高分辨率卫星的视频播放系统的原理框图;
图2为本发明所述的适用于大面阵米级高分辨率卫星的视频播放系统的流程图;
图3为本发明所述的适用于大面阵米级高分辨率卫星的视频播放系统中视频解码模块的工作流程图;
图4为本发明所述的适用于大面阵米级高分辨率卫星的视频播放系统中视频播放模块的原理框图。
具体实施方式
具体实施方式一、结合图1至图4说明本实施方式,适用于大面阵米级高分辨率卫星的视频播放系统,该系统包括视频解码模块,视频播放模块,视频放缩模块以及移动目标检测与跟踪模块;
所述视频解码模块:打开视频是软件数据输入的唯一途径,主要分为两种方式:点击“打开视频”按钮或者将视频文件拖拽到软件窗体内。为达到播放时流程的目的,首先要将整个大视频缓冲到内存中,对机器的可用内存具有限制。结合图3,打开选择的视频文件,判断是否打开成功,如果否,继续打开视频文件,如果是,读取视频文件信息,系统根据视频的编码器自动选择相应的解码器对视频进行解码;根据单帧解码事件和帧率判断是否需要预加载至内存中;调整窗口比例读取视频基本信息如时长、分辨率、总帧数、文件大小、单帧大小等;读取地理信息如经纬度、拍摄时间、卫星编号、传感器类型等。
所述视频播放模块:播放视频是最基本的功能,要求视频播放时无采样痕迹,播放速度尽量与帧率吻合。播放比例严格依照原视频长宽比,不能出现拉伸情况。采用C++和OpenCV无压缩显示视频单帧影像,以人机交互的方式对视频播放进行操作如暂停、停止、全屏、前后跳转、当前进度显示、播放列表显示等。
暂停:暂停为基本的视频播放功能,暂停时同样要求支持放大缩小,全屏。
停止:停止为基本的视频播放功能,停止时同样要求支持放大缩小,全屏。
全屏:有按键和双击两种方式,在播放和暂停情况下都可能全屏。全屏时画面比例要根据视频帧比例决定,不能出现拉伸情况。全屏时视频播放窗口全屏,其他窗口隐藏。全屏时支持键盘操作鹰眼面板中矩形热点框移动,放大,缩小,全景,跳转,单帧查看。
进度条:进度条为基本的视频播放功能,播放和暂停情况下要求进度条位置正确,点击进度条上不同位置,响应迅速,定位准确,当前帧更新。
播放列表:播放列表为基本的视频播放功能,打开视频文件后保存已经打开的文件名。点击播放列表的不同项,重新打开新的视频。如果选择项与当前播放视频为同一个文件,不重新加载。
跳转:跳转为基本的视频播放功能,点击向前或向后跳转,跳跃总视频帧的1/20。要求快速响应,定位准确。跳转时进度条和当前帧更新。
改变窗口大小:主要有三种情况:屏幕的80%,60%,100%,默认初始情况为80%。
单帧查看与保存:点击按钮或者按键实现上一帧或者下一帧的查看,要求定位准确,响应迅速,当前帧和进度条更新。单帧保存视频帧时,要求保存内容为感兴趣区的影像范围,类似于播放窗口截屏功能。
所述视频放缩模块:窗口右下方显示视频首帧原始影像,主要通过鼠标滚轮、键盘按键和操作鹰眼面板实现。
鼠标滚轮:当鼠标移动到播放框时,向上放大,向下缩小。
鹰眼面板来操作显示区域,选择鹰眼面板中矩形热点框的不同位置可以对局部播放区域进行切换,改变矩形热点框的大小可实现对显示视频的放大和缩小,当移动到鹰眼面板中的矩形热点框时,向上缩小,向下放大,每次缩小时刷新播放框。热点框的颜色表示当前感兴趣视频帧区域与播放框的大小关系。
键盘操作:用户也可以直接操作键盘来控制矩形热点框的移动和放缩,如“1”缩小,“9”放大,“2468”左右移动等。“5”回到全景,上下箭头单帧查看,左右箭头前后跳转。
本实施方式中,采用鹰眼面板操作显示区域也是主要区别于现有其他播放器的地方。鹰眼框默认显示视频的首帧影像的全部内容,在刷新后可显示对应当前帧。鹰眼框中的矩形热点框,负责选定播放范围,框体可放大、缩小、移动,对应视频的缩小、放大、移动感兴趣区范围。
结合图4说明本实施方式,所述鹰眼面板显示视频首帧影像--根据帧率设置定时器--根据屏幕分辨率设置采样间隔--从内存中依次提取视频帧--根据鹰眼面板中热点框提取感兴趣区域--根据视频帧比例设置显示方式,宽适应高,高适应宽--视频帧显示到播放框--显示当前播放进度。
所述移动目标检测与跟踪模块:该模块为本实施方式中播放系统的进阶属性,结合高性能、高准确度的移动目标检测与跟踪算法,移植和优化算法以适应遥感影像中移动目标的跟踪。要求给出移动目标的位置和速度等信息。
显示坐标:鼠标点击播放框中的任意位置,经过计算和比例调整,给出对应影像中当前帧的像素位置。
当用户点击移动目标检测按钮时,系统将自动对视频中的移动目标如汽车、轮船、飞机等进行检测,并给出移动目标的当前位置等信息;当用户点击移动目标跟踪按钮时,系统将自动对用户选定的移动目标基于上下文的移动目标跟踪算法实现了对于飞机、汽车、轮船等的识别与跟踪,计算移动目标的移动速度、前进方向、当前位置经纬度等属性。