一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Hypervisor的跨操作系统视频投影显示方法、系统、装置和车辆与流程

2022-07-23 11:39:25 来源:中国专利 TAG:

一种基于hypervisor的跨操作系统视频投影显示方法、系统、装置和车辆
技术领域
1.本发明涉及一种视频投影显示方法、系统、装置和车辆,尤其涉及一种基于hypervisor的跨操作系统的视频投影显示方法、系统、装置和车辆。


背景技术:

2.随着汽车ee架构往集中化域控制器方向的发展,域控制器的作用显示越来越重要。在座舱域中,一般需要支持仪表、hud等安全相关的信息域系统和中控、副驾、后座娱乐等相关的娱乐域系统,因需求的不同,信息域和娱乐域一般是运行两个不同的操作系统。hud显示在正对着司机前方的挡风玻璃上,因此司机看起来比较方便,然而司机在看中控、副驾等娱乐系统显示的东西时需要低头或侧身/侧脸,不是很方便。因此,如何解决信息域和娱乐域之间基于不同操作系统共享一套硬件设备的问题,显得越发迫切。


技术实现要素:

3.本发明的目的在于提供一种基于hypervisor跨操作系统的视频投影显示方法、系统、装置和车辆,基于hypervisor进行跨操作系统操作,通过隐藏硬件实现细节让多个操作系统共享使用同一套硬件设备,从而使硬件资源得到更加充分地利用,解决现有技术存在的缺憾。
4.本发明提供了下述方案:
5.一种基于hypervisor的跨操作系统视频投影显示方法,具体包括:
6.基于视频分辨率,计算视频解码后数据所占空间的大小;
7.娱乐域在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;
8.第一缓冲区列表为空闲缓冲区列表,用于存储娱乐域的视频播放器的解码后的视频数据,第二缓冲区列表初始为空;
9.娱乐域从第一缓冲区列表中取出空闲缓冲区,将解码后的视频数据写入所述空闲缓冲区内,并将缓冲区推入第二缓冲区列表;
10.娱乐域将缓冲区列表的相关信息传输给信息域的显示装置,信息域从hypervisor层的第二缓冲区列表中获取视频数据;
11.信息域获取从娱乐域传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去;
12.娱乐域和信息域重复上述hypervisor层共享内存的申请/推入的过程,直到满足结束的条件,释放缓冲区,销毁缓冲区列表。
13.进一步的,所述娱乐域具体包括娱乐域的视频播放器,所述信息域具体包括hud抬头显示装置。
14.进一步的,将所述视频数据推入到第二缓冲区列表,依据音视频同步机制,在需要显示时,通过控制通道信息域的显示装置进行显示;信息域从所述第二缓冲区列表取出缓
冲数据,当接收到娱乐域发送过来显示的通知时,将该缓冲数据进行显示。
15.进一步的,所述控制通道具体包括:基于qnx或integrity hypervisor平台之上的hab,socket或其他hypervisor跨操作系统通信机制。
16.一种基于hypervisor的跨操作系统视频投影显示方法,具体包括:
17.基于视频分辨率,计算视频解码后数据所占空间的大小;
18.在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;
19.在第一缓冲区列表中申请空闲缓冲区,将解码后的视频数据写入缓冲区,将所述缓冲区推入到第二缓冲区列表中;
20.将缓冲区列表的相关信息传输给信息域的显示装置,用于使信息域从hypervisor层的第二缓冲区中获取视频数据;
21.依据音视频同步机制,在需要显示时通知信息域的hud抬头显示装置进行显示。
22.一种基于hypervisor的跨操作系统视频投影显示方法,具体包括:
23.信息域通过控制通道,获取娱乐域在hypervisor层的共享内存中创建的第一缓冲区列表和第二缓冲区列表;
24.获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表databuffers取出的数据显示出去。
25.一种基于hypervisor的跨操作系统视频投影显示系统,具体包括:
26.视频数据计算模块,用于计算视频解码后数据所占空间的大小;
27.缓冲区列表模块,在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;第一缓冲区列表为空闲缓冲区列表,用于存储娱乐域的视频播放器解码后的视频数据,第二缓冲区列表初始为空;
28.缓冲区信息数据传输模块,用于将娱乐域的视频播放器的相关信息通过控制通道传输给信息域的显示装置,信息域的显示装置获取从娱乐域的视频播放器传递过来的控制信息;
29.缓冲区视频数据传输模块,娱乐域的视频播放器从第一缓冲区列表中申请空闲缓冲区,将解码后的视频数据写入缓冲区内,并将缓冲区推入第二缓冲区列表;娱乐域的视频播放器将缓冲区列表的相关信息传输给信息域的显示装置,信息域从hypervisor层的第二缓冲区列表中获取视频数据;
30.视频显示模块,信息域的显示装置获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去。
31.一种基于hypervisor的跨操作系统视频投影显示装置,所述视频显示模块具体为hud抬头显示装置,hud抬头显示装置位于信息域内,获取来自娱乐域传递过来的控制信息,将视频数据投影显示。
32.进一步的,在所述缓冲区列表模块中,娱乐域的视频播放器在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;
33.信息域的hud抬头显示装置获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去。
34.一种汽车,具体包括:
35.电子设备,用于实现基于hypervisor的跨操作系统视频投影显示方法;
36.处理器,所述处理器运行程序,当所述程序运行时从所述车载电子设备输出的数据执行所述基于hypervisor的跨操作系统视频投影显示方法的步骤;
37.存储介质,用于存储程序,所述程序在运行时对于从电子设备输出的数据执行基于hypervisor的跨操作系统视频投影显示方法的步骤。
38.本发明与现有技术相比具有以下的优点:
39.基于hypervisor进行跨操作系统操作,通过隐藏硬件实现细节让多个操作系统共享使用同一套硬件设备,从而使硬件资源得到更加充分地利用,在两个操作系统的不同应用间完成视频显示数据的传送。
40.娱乐域的视频播放器在hypervisor层创建第一缓冲区列表和第二缓冲区列表,娱乐域从第一缓冲区列表中取出空闲缓冲区,将解码后的数据写入其中,然后将该缓冲区列表推入第二缓冲区列表,信息域的显示装置从第二缓冲区取出缓冲数据,将该缓冲数据进行显示,当满足结束的条件时,释放缓冲区,销毁缓冲区列表,实现视频数据的高效存储和转发。
41.信息域接收从第二缓冲区列表中取出的缓冲数据,通过hud抬头显示装置进行显示,让驾驶人员能够在hud抬头显示装置中不仅能看到驾驶、导航方面的信息,还能够享受到娱乐域中娱乐系统的信息,而在现有技术中娱乐系统的信息只在中控、副驾和后座屏幕上进行显示,无法让驾驶员通过hud抬头显示装置看到。
附图说明
42.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本发明基于hypervisor跨操作系统视频投影显示方法的流程图。
44.图2是本发明基于hypervisor跨操作系统视频投影显示系统的架构图。
45.图3是本发明实施例中具体应用场景的流程图之一。
46.图4是本发明实施例中具体应用场景的流程图之二。
47.图5是本发明实施例中具体应用场景的系统架构图。
48.图6是电子设备的系统架构图。
具体实施方式
49.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.如图1所示的本发明基于hypervisor跨操作系统视频投影显示方法,具体包括:
51.步骤s1:基于视频分辨率,计算视频解码后数据所占空间的大小;
52.步骤s2:娱乐域在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;
53.步骤s3:第一缓冲区列表为空闲缓冲区列表,用于存储娱乐域的视频播放器的所
有缓冲数据,第二缓冲区列表初始为空;
54.步骤s4:娱乐域从第一缓冲区列表中取出(dequeue)空闲缓冲区,将解码后的视频数据写入空闲缓冲区内,并将(写入解码后视频数据的)该缓冲区推入(enqueue)第二缓冲区列表;
55.步骤s5:娱乐域将缓冲区列表的相关信息传输给信息域的显示装置,信息域从hypervisor层的第二缓冲区列表中获取视频数据;
56.步骤s6:信息域获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去;
57.步骤s7:娱乐域和信息域重复上述hypervisor层共享内存的申请\推入的过程,直到满足结束的条件,释放缓冲区,销毁缓冲区列表。
58.优选的,娱乐域具体包括娱乐域的视频播放器,所述信息域具体包括hud抬头显示装置。
59.优选的,将所述视频数据推入到第二缓冲区列表,依据音视频同步机制,在需要显示时,通过控制通道信息域的显示装置进行显示;信息域从第二缓冲区列表取出缓冲数据,当接收到娱乐域发送过来显示的通知时,将该缓冲数据进行显示。
60.优选的,控制通道具体包括:基于qnx或integrity hypervisor平台之上的hab,socket或其他hypervisor跨操作系统通信机制。
61.本实施例公开的是信息域与娱乐域之间进行数据交互、信息传输的内容,如果基于车辆区域控制原理分别看待信息域与娱乐域,信息域侧与娱乐域侧的方法流程分别为:
62.娱乐域基于hypervisor的跨操作系统视频投影显示方法,具体包括:
63.基于视频分辨率,计算视频解码后数据所占空间的大小;
64.在hypervisor层的共享内存中创建第一缓冲区列表freebuffers和第二缓冲区列表databuffers;
65.(娱乐域)在第一缓冲区列表中申请空闲缓冲区,将解码后的视频数据写入缓冲区,并将缓冲区推入第二缓冲区列表中;
66.(娱乐域)将缓冲区列表的相关信息传输给信息域的显示装置,用于使信息域从hypervisor层的第二缓冲区databuffers中获取视频数据;
67.依据音视频同步机制,在需要显示时通知信息域的hud进行显示。
68.上述内容是在描述娱乐域进行视频投影显示方法,存在另一个可能的实施例中信息域为方法流程的执行主体,在本实施例中信息域作为方法流程的执行主体与娱乐域进行视频投影显示的方法相对应:
69.(信息域)基于hypervisor的跨操作系统视频投影显示方法,具体包括:
70.信息域通过控制通道,获取娱乐域在hypervisor层的共享内存中创建的第一缓冲区列表freebuffers和第二缓冲区列表databuffers;
71.获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表databuffers取出的数据显示出去。
72.重复上述hypervisor层共享内存的申请\推入的过程,直到满足结束的条件,释放缓冲区,销毁缓冲区列表。
73.如图2所示的基于hypervisor跨操作系统视频投影显示系统的架构图,本系统与
基于hypervisor跨操作系统视频投影显示方法相对应,具体包括:
74.视频数据计算模块,用于计算视频解码后数据所占空间的大小;
75.缓冲区列表模块,在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;第一缓冲区列表为空闲缓冲区列表,用于存储娱乐域的视频播放器的所有缓冲数据,第二缓冲区列表初始为空;
76.缓冲区信息数据传输模块,用于将娱乐域的视频播放器的相关信息通过控制通道传输给信息域的显示装置,信息域的显示装置获取从娱乐域的视频播放器传递过来的控制信息;
77.缓冲区视频数据传输模块,娱乐域的视频播放器从第一缓冲区列表中申请空闲缓冲区,将解码后的视频数据写入缓冲区内,并将缓冲区推入第二缓冲区列表;
78.娱乐域的视频播放器将缓冲区列表的相关信息传输给信息域的显示装置,信息域从hypervisor层的第二缓冲区列表中获取视频数据;
79.视频显示模块,信息域的显示装置获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去。
80.值得注意的是,虽然在本系统中只公开了视频数据计算模块、缓冲区数据信息传输模块、缓冲数据申请/推入模块等基本功能模块,但并不意味着本发明的保护范围仅仅局限于上述基本功能模块。相反,本发明所要表达的意思是,在上述基本功能模块的基础之上,本领域技术人员可以结合现有技术任意添加一个或多个功能模块,形成无穷多个实施例或技术方案,也就是说系统是开放式而非封闭式的,不能因为本实施例仅仅披露了个别基本功能模块,就认为本发明权利要求的保护范围局限于上述公开的功能模块。同时,为了描述的方便,描述本系统时以功能分为各种单元、模块分别描述。当然在实施本发明时可以把各单元、模块的功能在同一个或多个软件和/或硬件中实现。
81.本发明还公开了一种基于hypervisor的跨操作系统视频投影显示装置,视频显示模块具体为hud抬头显示装置,hud抬头显示装置位于信息域内,获取来自娱乐域传递过来的控制信息,将显示内容转换为视频数据,对视频进行投影显示。
82.优选的,在缓冲区列表模块中,娱乐域的视频播放器在hypervisor层的共享内存中创建第一缓冲区列表和第二缓冲区列表;
83.信息域的hud抬头显示装置获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表取出的数据显示出去。
84.如图3至图5和所示的本发明的一个具体实施例,本实施例披露了基于hypervisor跨操作系统视频投影显示方法、系统的一个具体应用场景,具体为汽车娱乐播放视频投影到信息域的hud抬头显示装置。本实施例的方法流程具体包括:
85.1、基于视频分辨率计算出视频解码后数据所占空间(size),娱乐域里的视频播放器据此在hypervisor的共享内存里创建两个buffer列表:第一缓冲区freebuffers和第二缓冲区databuffers,列表里所有缓冲数据buffer都与解码后数据所占空间(size)的大小相同。起初,所有缓冲buffer都放在freebuffers列表里,databuffers列表初始为空。
86.2、娱乐域的视频播放器把hypervisor层中共享内存的缓冲区列表的相关信息通过控制通道传输给信息域的hud。由于有多种传递控制信息的方法,比如:socket、hypervisor提供的操作系统间通信机制(比如:高通qnx/integrity hypervisor平台之上
的hab,socket或其他hypervisor跨操作系统通信机制,等等),在此对控制通道传递控制信息的通信机制不做限定。
87.3、信息域的hud获取娱乐域视频播放器传递过来的控制信息后,将显示切换成不断地从hypervisor共享内存第二缓冲区databuffers获取视频数据,投影视频的状态。
88.4、娱乐域视频播放器播放时,不断地从第一缓冲区freebuffers里申请(dequeue)一个空闲buffer,并将解码后的视频数据写入该buffer中,然后将该buffer推入(enqueue)到第二缓冲区databuffers中,同时依据音视频同步机制在需要显示时通过控制通道通知信息域的hud显示一帧。
89.5、信息域的hud则不断地从第二缓冲区databuffers取出(dequeue)一个buffer,当接收到娱乐域视频播放器发送过来显示的通知时,则将该buffer里的视频数据显示到hud上,显示完成后将该buffer还回(enqueue)给freebuffers。
90.视频投影过程中娱乐域的视频播放器和信息域的hud不断地循环以上4、5步,直至结束。
91.在上述方法、系统的基础之上,本发明还公开了一种基于hypervisor的跨操作系统视频投影显示装置,具体为hud抬头显示装置,hud位于信息域内,获取来自娱乐域视频播放器传递过来的控制信息,将显示内容转换为视频数据,对视频进行投影显示。hud抬头显示装置进行显示时,hypervisor层能够让信息域os和娱乐域os共享同一段物理内存,将这段共享的物理内存逻辑上划分成由若干个buffer组成的bufferqueue,娱乐域的视频播放器将解码后的数据推送到bufferqueue,信息域的hud从bufferqueue里取出数据显示到hud抬头显示装置上,从而实现将娱乐域的视频播放投影到hud抬头显示装置上。
92.作为一种可选的替代方式,本实施例可以把视频显示数据通过网络协议(比如:tcp/ip协议)在不同系统间传送,这样虽然能实现该功能,但是系统资源(cpu、内存、总线带宽等)耗费大、速度慢、延迟大、性能低。
93.本发明还公开了一种汽车,汽车中具体包括:
94.电子设备,用于实现基于hypervisor的跨操作系统视频投影显示方法。该电子设备具体为车载电子设备,即电子设备与车辆处于同一空间中(例如车厢内),进行数据交互和协同工作。
95.处理器,处理器运行程序,当程序运行时从车载电子设备输出的数据执行基于hypervisor的跨操作系统视频投影显示方法的步骤;
96.存储介质,用于存储程序,程序在运行时对于从电子设备输出的数据执行基于hypervisor的跨操作系统视频投影显示方法的步骤。
97.在本实施例中,汽车上安装有基于hypervisor的跨操作系统视频投影显示装置,具体为hud抬头显示装置,hud位于信息域内,信息域从hypervisor层的第二缓冲区列表databuffers中获取视频数据;获取从娱乐域的视频播放器传递过来的控制信息,将从第二缓冲区列表databuffers取出的数据显示出去。
98.如图6所示,上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
99.电子设备包括硬件层,运行在硬件层之上的操作系统层,以及运行在操作系统上的应用层。该硬件层包括中央处理器(cpu,central processing unit)、内存管理单元(mmu,memory management unit)和内存等硬件。该操作系统可以是任意一种或多种通过进程(process)实现电子设备控制的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。并且在本发明实施例中该电子设备可以是智能手机、平板电脑等手持设备,也可以是桌面计算机、便携式计算机等电子设备,本发明实施例中并未特别限定。
100.本发明实施例中的电子设备控制的执行主体可以是电子设备,或者是电子设备中能够调用程序并执行程序的功能模块。电子设备可以获取到存储介质对应的固件,存储介质对应的固件由供应商提供,不同存储介质对应的固件可以相同可以不同,在此不做限定。电子设备获取到存储介质对应的固件后,可以将该存储介质对应的固件写入存储介质中,具体地是往该存储介质中烧入该存储介质对应固件。将固件烧入存储介质的过程可以采用现有技术实现,在本发明实施例中不做赘述。
101.电子设备还可以获取到存储介质对应的重置命令,存储介质对应的重置命令由供应商提供,不同存储介质对应的重置命令可以相同可以不同,在此不做限定。
102.此时电子设备的存储介质为写入了对应的固件的存储介质,电子设备可以在写入了对应的固件的存储介质中响应该存储介质对应的重置命令,从而电子设备根据存储介质对应的重置命令,对该写入对应的固件的存储介质进行重置。根据重置命令对存储介质进行重置的过程可以现有技术实现,在本发明实施例中不做赘述。
103.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
104.对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
105.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施方式或者实施方式的某些部分所述的方法。
106.以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
107.本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序
模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
108.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献