一种图像显示的处理方法及处理装置与流程

文档序号:11406921阅读:237来源:国知局
一种图像显示的处理方法及处理装置与流程

本发明涉及图像显示技术领域,特别是涉及一种图像显示的处理方法及处理装置。



背景技术:

andriod是移动终端操作系统之一,当基于android系统的移动终端在滑动屏幕、绘图或者vr显示时,需要利用采集到的传感器数据完成图像的绘制和显示。

现有android系统对图像显示的处理过程为:linux内核空间在采集到传感器数据后会触发中断,再调用输入子系统进程;然后用户空间内的传感器管理单元从linux内核空间获取传感器数据,并调用图像合成surfaceflinger进程,将所述传感器数据分发给surfaceflinger,surfaceflinger对传感器数据对应的图像信息处理后,合成图像;最后,驱动位于linux内核空间的显示驱动,实现显示图像的功能。可见,在采集到传感器数据后,用户空间需要从内核空间中获取传感器数据,然后传感器管理单元再将传感器数据分发给图像合成进程,并最终将图像合成进程合成后的图像返回内核空间,才能实现图像显示,即需要在内核空间和用户空间之间进行多次传输,进而导致在传感器产生数据后,不能及时利用传感器的数据完成图像的绘制和显示,图像显示的实时性差,降低了用户的体验。



技术实现要素:

本发明提供一种图像显示的处理方法及处理装置,用以解决图像显示的实时性差的问题。

为实现上述目的,本发明的技术方案为:

本发明提供了一种图像显示的处理方法,应用于内核空间,包括:

采集到传感器的数据后,触发中断;

利用所述中断,中断正在运行的程序;

检测图像的显示模式;

当所述显示模式为快速显示模式时,调用图像算法进程;

利用所述图像算法进程,查找与所述传感器的数据对应的图像信息;

依据所述图像信息,合成图像;

显示所述合成图像。

优选地,所述处理方法,还包括:

当所述图像显示模式为普通显示模式时,调用输入子系统进程;

通过所述输入子系统进程,以供用户空间内的传感器管理器从内核空间读取所述传感器的数据后,将所述传感器的数据分发至图形合成进程;

接收所述图形合成进程根据所述传感器的数据合成的图像。

优选地,所述采集到传感器的数据后,触发中断之前,还包括:

接收图像显示模式参数;

其中,所述检测图像显示模式,包括:

检测所述图像显示模式参数;

根据所述图像显示模式参数,判断所述图像的显示模式。

优选地,所述采集到传感器的数据后,触发中断之前,还包括:

接收图像显示信息;

其中,所述显示所述合成图像,包括:

根据所述图像显示信息,显示所述合成图像。

本发明还提供了一种图像显示的处理装置,包括:

采集单元,用于采集传感器的数据;

触发单元,用于在所述采集单元采集到传感器的数据后,触发中断;

检测单元,用于检测图像的显示模式;

第一进程调用单元,用于当所述检测单元检测到的显示模式为快速显示模式时,调用图像算法进程;

图像算法单元,用于查找与所述传感器的数据对应的图像信息;

所述图像算法单元,还用于依据所述图像信息,合成图像;

显示单元,用于显示所述合成图像。

优选地,所述处理装置还包括:

第二进程调用单元,用于当所述检测单元检测到的显示模式为普通显示模式时,调用输入子系统进程;

输入子系统单元,用于与用户空间内的接口单元交互,以供用户空间内的传感器管理器从内核空间读取所述传感器的数据后,将所述传感器的数据分发至图形合成单元;

第一接收单元,用于接收用户空间内的图形合成单元合成的图像。

优选地,所述处理装置还包括:

第二接收单元,用于接收图像显示模式参数。

优选地,所述处理装置还包括:

第三接收单元,用于接收图像显示信息。

经由上述的技术方案可知,与现有技术相比,本申请中在内核空间内采集到传感器的数据后,触发中断,在快速显示模式下,直接调用内核空间内的图像算法进程,运行图像算法进程以合成图像,并显示合成图像。

由于本申请从采集传感器数据到依据传感器的数据对图像信息处理的过程,都是在内核空间内完成的,不需要与用户空间进行数据传输,且采集到传感器的数据后,直接利用内核空间内的图像算法进行处理,大大减少了数据传输过程,因此节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间,增强了显示的实时性,提高了用户的体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种图像显示的处理方法的流程图;

图2为本发明实施例公开的另一种图像显示的处理方法的流程图;

图3为本发明实施例公开的一种图像显示的处理装置的结构图;

图4为本发明实施例公开的另一种图像显示的处理装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

andriod是目前最流行的移动终端操作系统之一,其广泛应用于移动电话、车载、投影仪等领域,但是由于android是基于linux内核而开发,其采用用户空间结合内核空间的结构,共同完成对一项功能的处理。其中,用户空间主要用于处理各项业务逻辑,而内核空间主要用于调度各项进程、内存管理以及其它的资源分配等。当将andriod系统应用在对实时显示要求较高的场景时,例如绘图时,需要沿着轨迹实时显示图像;vr显示时,需要按照头转动的方向实时显示图像。

但是,由于现有android系统对图像显示的处理过程为:linux内核空间在采集到传感器数据后会触发中断,再调用输入子系统进程;然后用户空间内的传感器管理单元从linux内核空间获取传感器数据,并调用图像合成surfaceflinger进程,将所述传感器数据分发给surfaceflinger,surfaceflinger对传感器数据对应的图像信息处理后,合成图像;最后,驱动位于linux内核空间的显示驱动,实现显示图像的功能。可见,在采集到传感器数据后,用户空间需要从内核空间中获取传感器数据,然后传感器管理单元再将传感器数据分发给图像合成进程,并最终将图像合成进程合成后的图像返回内核空间,才能实现图像显示,即需要在内核空间和用户空间之间进行多次传输,进而导致在传感器产生数据后,不能及时利用传感器的数据完成图像的绘制和显示,图像显示的实时性差,降低了用户的体验。

针对图像显示实时性差的这一问题,现有技术中通常的做法是增加专门的图像处理单元gpu,由于gpu可以实现对大规模的矩阵和向量的运算,而图形图像都是通过矩阵的形式表示的,因此,gpu可以加快对2d和3d图像的处理速度。或者,增加一些特殊的硬件模块,例如fpga,以加速运算速度。

可见,现有技术中是通过增加硬件的方式以实现加快运算速度,进而增强显示的实时性。

但是,这种方式不仅会增加硬件成本,而且实时显示的效果并不理想。

针对图像显示的实时性差的问题,本申请提供了一种图像显示的处理方法,通过在内核空间内采集到传感器的数据后,触发中断,在快速显示模式下,直接调用内核空间内的图像算法进程,运行图像算法进程以合成图像,并显示合成图像。

由于本申请从采集传感器数据到依据传感器的数据对图像信息处理的过程,都是在内核空间内完成的,不需要与用户空间进行数据传输,且采集到传感器的数据后,直接利用内核空间内的图像算法进行处理,大大减少了数据传输过程,因此节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间,增强了显示的实时性,提高了用户的体验。

请参阅图1,其示出了本发明实施例提供的一种图像显示的处理方法的流程图,所述处理方法应用于移动终端的内核空间,包括:

s101、采集到传感器的数据后,触发中断;

内核空间实时检测是否有传感器的数据产生;具体地,当传感器输出数据后,通过传感器与移动设备之间的接口,将传感器的数据传输至移动设备的内核空间,将传感器的数据存储至预定的数据存储空间内。可以方便后续其他程序需要利用传感器的数据实现其他功能时,能从此预定的数据存储空间内读取传感器的数据。

内核空间实时检测数据存储空间内是否产生新数据,当检测到有新数据时,采集所述传感器的数据,触发中断。

本实施例中,为了降低系统功耗,只有在需要采集传感器的数据时,才打开传感器,使得传感器正常工作,其他时候可以关闭传感器;具体地,可以通过用户空间内的传感器管理器控制特定传感器打开,例如,当需要进行vr显示时,将设置在设备上的追踪传感器打开。

可以理解的是,对应不同的操作,传感器是不同的,当然传感器的数据也是不同的。

为了实现绘图的操作,传感器可以是压力传感器、电容传感器等,为了实现vr显示,传感器可以是角度传感器等。本实施例中,并不对传感器的类型进行限定,只要能够满足所需要实现的操作即可。

s102、利用所述中断,中断正在运行的程序;

将传感器的数据触发的中断,设置为中断最高优先级,即优先响应传感器的数据触发的中断,将内核空间当前运行的程序中断。

设置指针,以便结束响应传感器的数据触发的进程后,通过指针返回继续执行当前运行的程序。

s103、检测图像显示模式;

用户根据当前的需求,可以预先设置图像显示模式。例如,需要快速绘制简单图形时,可以预先将图像显示模式设置为快速显示模式,当需要显示一个游戏场景的复杂图像时,可以预先将图像显示模式设置为普通显示模式。默认图像显示模式为普通显示模式。

优选地,在采集到传感器的数据后,触发中断之前,设置图像显示模式。

设置图像显示模式的方式可以是:

在用户空间内通过触发物理按键或者触摸显示屏幕特定区域的方式,设置图像显示模式参数,并通过设置的用户接口模块,将所述图像显示模式参数发送至内核空间。

物理按键可以是移动设备本身具有的按键,例如音量键等,当然也可以是为移动设备新设置的显示模式切换键。通过触摸显示屏幕特定区域时,可以通过操作移动设备上设置的功能菜单,完成显示模式的设置。

内核空间接收到用户空间发送的图像显示模式参数,通过检测所述图像显示模式参数,判断当前的图像显示模式。

s104、当所述图像显示模式为快速显示模式时,调用图像算法进程;

当所述图像显示模式为快速显示模式时,直接调用内核空间内的图像算法进程。

s105、利用所述图像算法进程,查找与所述传感器的数据对应的图像信息;

运行图像算法进程,通过所述传感器的数据,在预先存储的图像信息存储空间内,查找与所述传感器的数据对应的图像信息。

例如,在vr显示场景下,将各个方向下所需要显示的图像对应的图像信息存储在图像信息存储空间内,当采集到传感器的数据是具体的一个方向信息时,调用图像算法进程后,图像算法进程根据所述方向信息,从图像信息存储空间内查找与所述方向信息对应的图像信息。

s106、依据所述图像信息,合成图像;

s107、显示所述合成图像。

将生成的需要显示在移动终端显示界面上的图像,显示在移动终端的显示界面上。

用户根据当前的需求,可以在用户空间下预先设置图像显示信息,其中,所述图像显示信息可以是颜色、线条粗度等。

优选地,在采集到传感器的数据后,触发中断之前,设置图像显示信息。

内核空间接收到用户空间发送的图像显示信息,根据所述图像显示信息,显示所述图像。可以满足用户的个性化需求。

本实施例中,并不限定在用户空间下设置图像显示信息,与在用户空间下设置图像显示模式的先后顺序,两者的执行顺序可以根据自身的需要进行不同的选择。当然也可以选择只设置图像显示信息,或只设置图像显示模式,或两者都不设置。当不设置时,按照默认值进行设置。

本实施例中,在内核空间内采集到传感器的数据后,触发中断,在快速显示模式下,直接调用内核空间内的图像算法进程,通过图像算法进程以合成图像,并显示合成图像。

由于本实施例从采集传感器数据到依据传感器的数据对图像信息处理的过程,都是在内核空间内完成的,不需要与用户空间进行数据传输,且采集到传感器的数据后,直接利用内核空间内的图像算法进行处理,大大减少了数据传输过程,因此节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间,增强了显示的实时性,提高了用户的体验。

本实施例通过改变调度逻辑,以增强显示的实时性的方案,相较于现有技术通过单纯增加硬件的方式,以加快运算速度进而增强显示的实时性的方案,降低了成本,而且实时显示的效果好。

请参阅图2,其示出了本发明实施例提供的另一种图像显示的处理方法的流程图,所述处理方法应用于移动终端的内核空间,包括:

s201、采集到传感器的数据后,触发中断;

s202、利用所述中断,中断正在运行的程序;

本实施例中步骤s201和步骤s202,与图1所示的处理方法中的步骤s101和步骤s102相同,在此不在赘述。

s203、检测图像显示模式;当所述图像显示模式为快速显示模式时,执行步骤s204;

当所述图像显示模式为普通显示模式时,执行步骤s207;

本实施例中,根据检测到的图像显示模式的不同,进行不同的处理。

s204、调用图像算法进程;

s205、利用所述图像算法进程,查找与所述传感器的数据对应的图像信息;

s206、依据所述图像信息,合成图像;执行步骤s2010;

本实施例中步骤s204-步骤s206,与图1所示的处理方法中的步骤s104-步骤s106相同,在此不在赘述。

s207、调用输入子系统进程;

当所述图像显示模式为普通显示模式时,调用内核空间内的输入子系统进程。

s208、通过所述输入子系统进程,以供用户空间内的传感器管理器从内核空间读取所述传感器的数据后,将所述传感器的数据分发至图形合成进程;

在实际应用中,传感器的数据并不是仅在一项业务对应的进程内使用,可能在多个业务对应的进程内都需要使用,因此,需要将采集到的传感器的数据分发到各个进程中。本实施例中用户空间内的传感器管理器可以实现将传感器的数据分发到各个进程的功能。

用户空间内的传感器管理器从内核空间内存储有传感器的数据的预定的数据存储空间内,读取传感器的数据,然后调用图像合成进程,将传感器的数据分发给图形合成进程。

s209、接收所述图形合成进程根据所述传感器的数据合成的图像;执行步骤s2010;

用户空间内的所述图形合成进程,根据所述传感器的数据,在预先存储的图像信息存储空间内,查找与所述传感器的数据对应的图像信息;

对所述图像信息进行矩阵运算,并将运算结果发送给layer,分别生成每个surface所显示的内容,然后将多个surface上所需要显示的内容合并后,生成最终需要显示在移动终端显示界面上的图像。

s2010、显示所述合成图像;

然后将在移动终端显示界面上的图像,返回给内核空间,并在显示界面上显示所述图像。

同时,用户可以根据当前的需求,可以在用户空间下预先设置图像显示信息,其中,所述图像显示信息可以是颜色、线条粗度等。

内核空间接收用户空间发送的图像显示信息,且接收用户空间发送的需要显示的图像,根据所述图像显示信息,在显示界面显示所述图像。

本实施例中,在内核空间内采集到传感器的数据后,触发中断,在快速显示模式下,直接调用内核空间内的图像算法进程,运行图像算法进程以合成图像,并显示合成图像。

由于本申请从采集传感器数据到依据传感器的数据对图像信息处理的过程,都是在内核空间内完成的,不需要与用户空间进行数据传输,且采集到传感器的数据后,直接利用内核空间内的图像算法进行处理,大大减少了数据传输过程,因此节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间,增强了显示的实时性,提高了用户的体验。

同时,针对不同的显示需求,可以进行不同的处理,在快速显示模式下,直接调用内核空间内的图像算法的这一进程,相较于现有技术中,需要先调用内核空间内的输入子系统进程,使得用户空间内的传感器管理器能够从内核空间内存储有传感器的数据的存储空间读取传感器的数据,所述传感器管理器再将传感器的数据分发给图像合成进程,以对获取到的图像信息进行处理的方式而言,本申请的快速显示模式中用户空间并不需要从内核空间内获取传感器的数据,并且不存在分发传感器的数据的步骤,大大节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间;在普通模式下,可以在用户空间下预先设置的图像显示信息,并通过增加的用户接口实现将用户空间内设置的图像显示信息发送给内核空间,以实现根据图像显示信息显示图像的功能。满足了用户的个性化需求。

对应图1所示的处理方法,本实施例公开了一种图像显示的处理装置,参阅图3,其示出了所述处理装置的结构图,包括:

采集单元11、触发单元12、检测单元13、第一进程调用单元14、图像算法单元15和显示单元16;

所述采集单元11,用于采集传感器的数据;

所述触发单元12,用于在所述采集单元采集到传感器的数据后,触发中断;

所述检测单元13,用于检测图像的显示模式;

所述第一进程调用单元14,用于当所述检测单元检测到的显示模式为快速显示模式时,调用图像算法单元;

所述图像算法单元15,用于查找与所述传感器的数据对应的图像信息;

所述图像算法单元15,还用于依据所述图像信息,合成图像;

优选地,所述图像算法单元15,包括:内核缓存组件,内核队列组件,内核图形处理组件和内核分配内存空间组件。内核缓存组件表示一个缓存,包含所要显示的图形的位置,大小,颜色信息和指向空闲缓存的指针;内核队列组件是用来描述一个或多个缓存的队列;内核图形处理组件用于给内核缓存组件分配内存空间;内核图形处理组件是opengles的简单实现,通过获取图像的一些参数,对图形进行渲染和合成,具体流程如下:首先,通过内核缓存组件来设定显示的位置,内容等,通过内核分配内存空间组件来开辟一块数据缓存,多个内核缓存组件或者一个内核缓存组件中的多个缓存都可以通过内核队列组件来把内核缓存组件或者数据缓存挂在队列上,通过内核图形处理组件,来对多个数据缓存或者内核缓存组件进行渲染和合成。

所述显示单元16,用于显示所述合成图像。

本实施例公开了一种图像显示的处理装置,参阅图4,其示出了所述处理装置的结构图,在图3所示的处理装置的基础上,所述处理装置还包括:

第二进程调用单元21、输入子系统单元22和第一接收单元23;

所述第二进程调用单元21,用于当所述检测单元检测到的显示模式为普通显示模式时,调用输入子系统进程;

所述输入子系统单元22,用于与用户空间内的接口单元交互,以供用户空间内的传感器管理器从内核空间读取所述传感器的数据后,将所述传感器的数据分发至图形合成单元;

所述第一接收单元23,用于接收用户空间内的图形合成单元合成的图像。

所述第一接收单元23接收到用户空间内的图形合成单元合成的图像后,将所述图像发送给显示单元16,以显示所述图像。

优选地,所述处理装置还包括:

第二接收单元31和第三接收单元41;

所述第二接收单元31,用于接收图像显示模式参数;

所述检测单元13可以通过检测所述图像显示模式参数,判断所述图像的显示模式。

所述第三接收单元41,用于接收图像显示信息。

所述第三接收单元41接收到图像显示信息后,将所述图像显示信息发送给所述显示单元16,使得当所述显示单元16接收到所述图像算法单元发送的合成图像或接收到第一接收单元23发送的图像后,按照所述图像显示信息显示所述图像。

本实施例中,通过内核空间内的采集单元采集到传感器的数据后,通过触发单元触发中断,当通过检测单元检测到当前显示模式为快速显示模式时,通过第一进程调用单元直接调用内核空间内的图像算法单元,通过图像算法单元合成图像后,通过显示单元显示所述合成图像。

由于本实施例中从采集传感器数据到依据传感器的数据对图像信息处理的过程,都是在内核空间内完成的,不需要与用户空间进行数据传输,且采集到传感器的数据后,直接利用内核空间内的图像算法进行处理,大大减少了数据传输过程,因此节省了从采集传感器数据到依据传感器的数据对图像信息处理的时间,增强了显示的实时性,提高了用户的体验。

本实施例通过改变调度逻辑,以增强显示的实时性的方案,相较于现有技术通过单纯增加硬件的方式,以加快运算速度进而增强显示的实时性的方案,降低了成本,而且实时显示的效果好。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

以上对本申请所提供的一种数据共享方法、系统及移动终端进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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