掌桥专利:专业的专利平台
掌桥专利
首页

视频OSD自适应图像分辨率的方法、装置、存储介质及系统

文献发布时间:2023-06-19 19:30:30


视频OSD自适应图像分辨率的方法、装置、存储介质及系统

技术领域

本发明涉及视频图像的处理方法和装置,具体是视频OSD自适应图像分辨率的方法及装置及存储介质及系统。

背景技术

近年来,无人机在众多领域得到广泛应用。目前无人机系统通常包括无人机、地面站以及负责地-空传输的图传和数传链路。无人机上载有图传和数传发射器,地面站安装有图传和数传接收器进行数据交互。由此,无人机数据可传至地面进行显示、处理,地面站也可根据具体情况控制无人机。而在无人机的实际使用过程中,在屏显示(On-screenDisplay,OSD)技术是及其重要的一环。OSD最初意为屏幕菜单式调节方式,后延伸为一种屏幕显示技术,用于在终端上叠加显示字符、图形和图像。无人机系统中的OSD通常指视频中叠加的文字、图像等,将无人机的信息(机载信息、载荷信息以及目标信息等,后续统称元数据)叠加显示在传回来的视频上。OSD可为用户带来友好的人机界面,使用户获得非常多的附加信息,这些信息也就是用户控制无人机的参考标准。

对于无人机系统中的OSD显示,目前常用的技术方案一般是将视频和元数据通过链路下发至地面站,地面站软件接收数据后对视频和元数据进行解析,元数据和视频帧同步后,将元数据绘制到视频画面上,一起渲染至显示器。整个系统的简单结构如图1所示。

图1中,无人机目前载有的相机提供的视频图像分辨率一般都是1080P,在地面站通过软件将元数据信息绘制到视频图像上时,OSD的展现形式取决于各商家的UI设计,但OSD信息绘制所在的区域,以及各种信息所绘制的位置坐标,都是依据当前视频图像分辨率来确定设计的。而随着市场需求的变化,图传技术逐步提高,数据带宽增长,相机技术等的提高,导致现在无人机上都不止载有一个相机,可能会存在红外相机,超高清相机,那么会存在多路视频流切换显示,视频图像分辨率会大于1080P或者小于1080P,那么按照图像分辨率来确定OSD信息显示坐标的OSD绘制模块就不再通用。根据不同用户的需求,地面站软件接收到的视频图像分辨率可能多达几十种,如果还是按照一种固定分辨率来确定OSD信息绘制坐标,那么显示到屏幕上时,就可能会出现OSD信息显示坐标偏移,或者缺少一些信息的显示,显示的非常杂乱,这对用户来说显然是不可接受的;而如果针对各种分辨率分别来确定一个OSD信息的显示坐标,显然对程序开发者来说工作量过于大,非长久之计。如何设计一个OSD绘制模块,使OSD信息的绘制自适应不同分辨率的视频图像,能正常显示才是目前一个主要的技术问题。

发明内容

本发明提供了一种视频OSD自适应图像分辨率的方法及装置,以解决在不同分辨率的视频图像上,如何通过一种通用的OSD绘制方法,能让其自适应不同分辨率,能够按照预期的方式正常显示。

本发明视频OSD自适应图像分辨率的方法,包括步骤:

A.对接入的视频进行解封装,获取到视频裸流以及编码压缩的元数据;

B.对视频解码和元数据解析,视频解码后获取到视频帧和视频分辨率,将所述视频帧存入缓存队列;

C.根据获得的视频分辨率和原有的满足当前OSD显示标准的图像分辨率,对解析后的元数据进行坐标和大小调整的计算,使其在显示时与所述获得的视频分辨率相适应;

D.从缓存队列中获取保存的视频帧,按照步骤C的计算结果将元数据的信息绘制到图像上;

E.渲染叠加了元数据信息的图像至屏幕。

所述原有的满足当前OSD显示标准的图像分辨率,指的是现有的、能够满足当前屏幕需求的OSD显示标准,即基于常用的图像分辨率,OSD信息中的各字段已经满足显示需求能够正常叠加在视频画面上进行显示。

本发明根据获取视频中新的分辨率,分别计算各OSD信息的坐标和大小,以此实现了对各种视频分辨率的自适应,使不同分辨率视频中的OSD信息都能够正确额叠加在视频画面中显示。因元数据的解析和对坐标、大小计算的平均每帧耗时远小于视频每帧解码的平均耗时,以2019年发布的i5-9400型号CPU为例,耗时都是微秒级别的,因此增加的延时可以忽略不计,缓存的视频帧队列的内存也不会持续增长。

进一步的,步骤C所述的计算,是通过所述当前OSD显示标准的字段坐标和原有的当前图像分辨率的比值,再乘以获得的视频分辨率来求得新的字段坐标。

以当前OSD显示标准的字段坐标和原有的当前图像分辨率为基础来计算新的字段坐标,能够使新的字段显示坐标更准确。

具体的,所述新的字段坐标的计算方式为:

其中,x

进一步的,步骤C所述的计算,是通过获得的视频分辨率和原有的当前图像分辨率的比值,再乘以原有的当前字段的大小来求得新的字段大小。

以原有的当前图像分辨率和原有的当前字段的大小来计算新的字段大小,能够使新的字段大小显示更准确。

具体的,所述新的字段大小的计算方式为:

其中,wide

优选的,步骤B中,所述对视频解码和元数据解析为同步进行。同步进行视频解码和元数据解析,而不是先后进行,能够进一步提高数据处理效率。

本发明还提供了一种用于上述方法的视频OSD自适应图像分辨率的装置,包括用于接收传入视频的视频接收装置,所述视频接收装置的输出端连接视频解封装模块,所述视频解封装模块分别输出连接到元数据解析模块和视频解码模块,所述元数据解析模块和视频解码模块一同连接到OSD计算模块,所述OSD计算模块将计算出的新的字段坐标和字段大小经过OSD信息绘制模块渲染到屏幕上。

其中,解封装模块对接收装置传入的视频进行解封装,得到编码的元数据和视频裸流。将编码的元数据输入到元数据解析模块,视频裸流输入到视频解码模块。通过视频解码,得到视频分辨率,将所述视频分辨率和元数据解析模块输出的解码后的元数据一同输入到OSD计算模块进行新的字段坐标和字段大小的计算,然后根据计算出的结果通过OSD信息绘制模块将OSD信息渲染到屏幕上。

进一步的,所述视频解码模块包括相连接的解码器和视频帧缓存单元,其中所述解码器的输入端与所述视频解封装模块,解码器的视频分辨率输出端连接所述OSD计算模块,解码器的视频帧输出端连接所述视频帧缓存单元,视频帧缓存单元的输出端连接所述OSD信息绘制模块。

本发明还提供了一种数据存储介质,在所述数据存储介质中存储有用于执行上述方法的计算机程序。

本发明还提供了一种数据处理系统,具有数据处理器,以及上述装置,以及上述数据存储介质,所述数据处理器与所述数据存储介质信号连接,所述数据处理器与所述装置中的各模块或单元之间信号连接。其中所述数据处理器可以为一个,也可以根据实际情况,对应相应的模块/单元设置多个。

本发明的有益效果包括:

1、能够对各种不同分辨率的视频图像进行自适应,使各种OSD信息能够按照预期的方式正常显示在屏幕上。

2、几乎不会增加多余的计算开销,增加的耗时为微秒级别,可以忽略不计。

3、实现简单,开发工作量小。

附图说明

图1为现有技术的无人机系统中的OSD显示结构框图。

图2为本发明视频OSD自适应图像分辨率的方法时序图。

图3为本发明OSD自适应图像分辨率的装置的框图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例1:

如图2所示,本发明视频OSD自适应图像分辨率的方法,包括步骤:

A.对接入的视频进行解封装,获取到视频裸流以及编码压缩的元数据;

B.对视频解码和元数据解析,视频解码后获取到视频帧和视频分辨率,将所述视频帧存入缓存队列;

C.根据获得的视频分辨率和原有的满足当前OSD显示标准的图像分辨率,对解析后的元数据进行坐标和大小调整的计算,使其在显示时与所述获得的视频分辨率相适应;

D.从缓存队列中获取保存的视频帧,按照步骤C的计算结果将元数据的信息绘制到图像上;

E.渲染叠加了元数据信息的图像至屏幕。

所述原有的满足当前OSD显示标准的图像分辨率,指的是现有的、能够满足当前屏幕需求的OSD显示标准,即基于常用的图像分辨率(例如:1920×1080,其它分辨率均可),OSD信息中的各字段已经满足显示需求能够正常叠加在视频画面上进行显示。其中步骤B中所述对视频解码和元数据解析为同步进行,以进一步提高数据处理效率。

视频裸流指的是没有抗误码的视频传输方式,简单来说就是只进行了编码的视频流,未进行其它封装,例如H264裸流。

视频帧指的是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。一帧就是一幅静止的画面,连续的帧就形成动画,如电影视频。

本发明根据获取视频中新的分辨率,分别计算各OSD信息的坐标和大小,以此实现了对各种视频分辨率的自适应,使不同分辨率视频中的OSD信息都能够正确额叠加在视频画面中显示。因元数据的解析和对坐标、大小计算的平均每帧耗时远小于视频每帧解码的平均耗时,以2019年发布的i5-9400型号CPU为例,耗时都是微秒级别的,因此增加的延时可以忽略不计,缓存的视频帧队列的内存也不会持续增长。

实施例2:

在实施例1的基础上,步骤C所述的计算,是通过所述当前OSD显示标准的字段坐标和原有的当前图像分辨率的比值,再乘以获得的视频分辨率来求得新的字段坐标(即待显示字段的坐标)。以及,

通过获得的视频分辨率和原有的当前图像分辨率的比值,再乘以原有的当前字段的大小来求得新的字段大小(即待显示字段的大小)。

设原有的当前图像分辨率(即像素分辨率)为width

所述新的字段坐标的计算方式为:

/>

其中,x

新的字段大小的计算方式为:

其中,wide

由此计算出适应接受的视频分辨率的OSD信息显示坐标和字段大小,使其能够正确叠加显示在屏幕上。

实施例3:

本发明还提供了一种用于上述实施例的视频OSD自适应图像分辨率的装置,如图3所示,包括用于接收传入视频的视频接收装置,所述视频接收装置的输出端连接视频解封装模块,所述视频解封装模块分别输出连接到元数据解析模块和视频解码模块,所述元数据解析模块和视频解码模块一同连接到OSD计算模块,所述OSD计算模块将计算出的新的字段坐标和字段大小经过OSD信息绘制模块渲染到屏幕上。

其中,解封装模块对接收装置传入的视频进行解封装,得到编码的元数据和视频裸流。将编码的元数据输入到元数据解析模块,视频裸流输入到视频解码模块。通过视频解码,得到视频分辨率,将所述视频分辨率和元数据解析模块输出的解码后的元数据一同输入到OSD计算模块进行新的字段坐标和字段大小的计算,然后根据计算出的结果通过OSD信息绘制模块将OSD信息渲染到屏幕上。

所述视频解码模块包括相连接的解码器和视频帧缓存单元,其中所述解码器的输入端与所述视频解封装模块,解码器的视频分辨率输出端连接所述OSD计算模块,解码器的视频帧输出端连接所述视频帧缓存单元,视频帧缓存单元的输出端连接所述OSD信息绘制模块。

实施例4:

本发明还提供了一种数据存储介质,该数据存储介质上存储有用于执行实施例1和/或实施例2的方法的计算机程序。

实施例5:

本发明还提供了一种数据处理系统,具有数据处理器,以及实施例3的装置,以及实施例4的数据存储介质,所述数据处理器与所述数据存储介质信号连接,所述数据处理器与所述装置中的各模块或单元之间信号连接。其中所述数据处理器可以为一个,也可以根据实际情况,对应相应的模块/单元设置多个。

以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做相关的变形和改进,这些都属于本申请的保护范围。

技术分类

06120115929222