CN113924552B - 具有优化的性能的多媒体系统 - Google Patents
具有优化的性能的多媒体系统 Download PDFInfo
- Publication number
- CN113924552B CN113924552B CN202080040264.3A CN202080040264A CN113924552B CN 113924552 B CN113924552 B CN 113924552B CN 202080040264 A CN202080040264 A CN 202080040264A CN 113924552 B CN113924552 B CN 113924552B
- Authority
- CN
- China
- Prior art keywords
- display
- detection module
- user
- application
- running
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/20—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
- B60K35/28—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor characterised by the type of the output information, e.g. video entertainment or vehicle dynamics information; characterised by the purpose of the output information, e.g. for attracting the attention of the driver
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K2360/00—Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
- B60K2360/16—Type of output information
- B60K2360/166—Navigation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/10—Special adaptations of display systems for operation with variable images
- G09G2320/103—Detection of image changes, e.g. determination of an index representative of the image change
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0435—Change or adaptation of the frame rate of the video stream
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2350/00—Solving problems of bandwidth in display systems
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2380/00—Specific applications
- G09G2380/10—Automotive applications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种车辆中的多媒体系统,该系统能够同时运行一个以上的用户应用程序,该系统包括:至少一个处理器;和计算机可读存储介质,该计算机可读存储介质包括存储有计算机可读指令的非暂时性计算机可读存储介质,该系统被配置为通过处理器执行计算机可读指令,其中计算机可读指令包括检测模块和显示器控制器,检测模块被配置为检测系统的状况,并且显示器控制器被配置为确定哪个用户应用程序是正在显示器上显示的前台应用程序并呈现显示内容,其中如果检测模块检测到该状况超过阈值,则显示器控制器被配置为以衰减的速率呈现显示内容的每一帧,其中如果检测模块检测到该状况在阈值内,则显示器控制器被配置为没有任何衰减地呈现显示内容的每一帧。本发明还涉及一种优化车辆中能够同时运行一个以上的用户应用程序的多媒体系统的性能的相关方法。
Description
技术领域
本发明总体上涉及车辆中的多媒体系统,并且具体地涉及优化多媒体系统的性能。
背景技术
随着车载多媒体娱乐系统广泛使用高清显示器,在考虑性能时,连接到此类系统内存的总线带宽变得至关重要。这是因为在读取和写入内存时,将内容呈现到高清显示器上需要高带宽。特别地,同时使用需要如此高的内存总线带宽的应用程序通常会导致100%的总线负载,从而引起系统响应缓慢,其表现在例如用户输入的执行缓慢、帧率急剧下降和呈现到显示器的延迟。总线负载是通过总线的总总线流量的百分比,并且包括总线仲裁的开支。总线利用率是有用的总总线流量——即通过总线的有用数据,例如进入应用程序的数据而不是将被刷新的不需要的数据——的百分比。当内存总线具有例如90%或更高的高总线负载百分比时,总线利用率可能只是总线负载百分比的一小部分,例如小于60%,具体取决于系统。换句话说,尽管内存总线例如在90%的时间里被占用,但是通过内存总线的实际有用数据或吞吐量可能只有不到60%。此外,随着系统变得越来越复杂,总线主控器的数量增加,这会增加总线负载并进一步降低总线利用率,例如进一步降低30%。因此,降低内存总线上的负载势在必行。
减小存储器总线上的负载的现有方法是以固定的、人为的低速率将内容呈现到显示器。然而,即使该系统能够提供更快的响应,用户也可能认为这样的系统具有较差的性能。因此,此类系统损害了用户体验。
另一种现有的方式是提供不同的速率,更新的数据以该不同的速率刷新来自互联网上不同信息源的显示内容。即,被认为具有较低优先级的内容可以以较低的速率刷新,而被认为具有较高优先级的内容可以以较高的速率刷新。然而,优化通过互联网获取信息所需的带宽并不一定优化了内存总线上的带宽要求。特别是,从互联网获取信息后,此类现有技术系统的处理可能无法优化利用系统资源,比如内存和CPU负载,因此可能无法优化内存总线上的负载。
因此,需要克服或至少改善了一个或多个上述缺点的新的或改进的系统和方法。
发明内容
因此,一个目的是提供一种多媒体系统和相关方法来解决上述问题。特别地,一个目的是提供一种无论正在系统上运行的用户应用程序的数量如何都优化性能并减少延迟的多媒体系统和相关方法。另一个目的是提供一种能够灵活地管理存储器总线上不断变化的带宽需求的多媒体系统和相关方法。
为了实现这些和其他目的,在第一方面,提供了一种车辆中的多媒体系统,该系统能够同时运行一个以上的用户应用程序,该系统包括:至少一个处理器;和计算机可读存储介质,其包括存储有计算机可读指令的非暂时性计算机可读存储介质,该系统被配置为通过处理器执行计算机可读指令,其中计算机可读指令包括检测模块和显示器控制器,检测模块被配置为检测系统的状况,并且显示器控制器被配置为确定哪个用户应用程序是正在显示器上显示的前台应用程序并呈现显示内容,其中如果检测模块检测到状况超过阈值,则显示器控制器被配置为以衰减速率呈现显示内容的每一帧,其中如果检测模块检测到状况在阈值内,则显示器控制器被配置为没有任何衰减地呈现显示内容的每一帧。
所公开的系统利用了适于判断是否应当衰减帧率的状况。例如,合适的状况可以是反映系统的处理负载的状况。在一些实施例中,检测模块可以被配置为检测到计算机可读存储介质的总线的负载,本文称为总线负载或存储器总线的负载。在此类实施例中,如果检测模块检测到存储器总线负载繁忙,例如,当总线负载高于约90%时,显示器控制器于是可以被配置为以衰减的速率呈现显示内容的每一帧。反之,如果检测模块检测到存储器总线能够相对灵活地对未来的处理请求作出响应,例如,如果总线负载低于约60%或70%,则显示器控制器可以被配置为没有任何衰减地呈现显示内容的每一帧。
在其他实施例中,检测模块可以被配置为检测系统上同时运行的用户应用程序的数量。在此类实施例中,如果检测模块检测到一个以上的用户应用程序正同时在系统上运行,该一个以上的用户应用程序由此导致系统上的处理负载增加,则显示器控制器于是可以被配置为以衰减的速率呈现显示内容的每一帧。反之,如果检测模块检测到没有同时运行的用户应用程序,即前台应用程序是正在系统上唯一运行的用户应用程序,则显示器控制器可以被配置为没有任何衰减地呈现显示内容的每一帧。有利地,所公开的系统能够根据系统的处理负载灵活地响应。所公开的系统可以动态地平衡存储器总线上来自一个以上同时运行的用户应用程序的负载。当一个以上同时运行的用户应用程序各自都需要存储器总线的高带宽和/或共同消耗高存储器总线带宽时,这可能是特别有利的。
因此,所公开的系统可以被设计为最佳地管理其可用资源。已经发现,与其他操作如将来自互联网的数据写入高速缓存、数据库处理和通常的CPU计算相比,显示内容的呈现使用了大量带宽。因此,无论系统是否具有大量存储器或高处理速度供其支配,本公开都优化呈现操作的速率,从而减小和/或优化了通过存储器总线的总带宽。
衰减率可以基于连接至计算机可读存储介质的总线负载、即存储器总线负载来确定。存储器总线上的负载可能由一个或多个用户应用程序的操作造成。存储器总线负载可以是所有用户应用程序造成的总负载。在开销可以忽略不计的直接用例中,衰减率可以基于该或每个用户应用程序的存储器总线带宽来确定,例如基于该用户应用程序或一个以上同时运行的用户应用程序中的每一个所需的数据量来确定。所显示的并且因此对用户最明显的内容可以被控制为根据用例以适合的帧率显示,例如以与需要显示的新内容量成比例的帧刷新率。例如,根据多媒体系统的设计或要求,已显示不断变化的内容的用户应用程序可以以比具有静态显示内容的另一个用户应用程序低的速率衰减。另一种设计理念可以是,由于用户应用程序显示的内容变化速度快于用户的反应速度,这种用户应用程序可能会以更高的速率衰减以减小总线负载。衰减率可以被选择为最小化在连续帧上呈现的不连续运动,使得用户体验最低限度的滞后。例如,通常在车辆多媒体系统上运行的用户应用程序是导航应用程序,其显示随着车辆移动而不断变化的内容。因此,当前台应用程序是导航应用程序时,有利的是衰减率被选择为最小化用户眼睛显而易见的不连续帧变化。另一方面,未被显示或用户无法看到的用户应用程序,例如后台用户应用程序,可能会以较高的速率衰减或以较低的速率刷新,从而减少其对通过存储器总线的带宽的贡献。
衰减率可以基于存储器总线负载而动态地确定。可以周期性地测量存储器总线负载,从而可以动态地更新或消除衰减率。可以将总线负载测量值反馈给显示器控制器或用户应用程序以实现帧速率衰减或实现帧速率衰减的消除。当多个用户应用程序同时运行时,每个用户应用程序可能被分配唯一的刷新率衰减。每当停止或关闭用户应用程序或启动新的用户应用程序时,可以检测和/或测量存储器总线负载和/或确定衰减率。有利地,衰减率可以针对每个场景定制。可以为该或每一个同时发生的用户应用程序实现帧速率的固定百分比降低。或者,可以针对某些类型的用户应用程序实施帧速率的一个百分比降低,并且可以针对其他类型的用户应用程序实现帧速率的另一个百分比降低。
如上所述,检测模块可以检测用户应用程序的数量,以决定是否需要进行刷新率衰减。检测模块可以检测正在系统上运行的所有或至少一些用户应用程序。被检测的用户应用程序可以是那些消耗高存储器总线带宽或资源密集型的应用程序,例如导航、视频播放、语音识别和与移动设备的连接。在一个示例中,检测模块可以被配置为检测请求音频输出的用户应用程序的数量。来自不同源的音频或重叠的音频输出可能是多媒体音频系统中多个同时运行的用户应用程序的指示。检测模块可以基于优先级表管理例如输出声音的用户应用程序,使得可以例如通过必要的音频通道适当地输出音频。由于音频输出可以是多媒体系统中资源密集型用户应用程序的指示,因此这种检测模块可能适合于检测资源密集型用户应用程序的数量。
检测模块可以是用户应用程序的一部分或附加,例如前台应用程序的插件。因此,在一个实施例中,检测模块可以是音频插件或音频管理器。
决定是否需要刷新率衰减的其他方式也在本公开的范围内。例如,处理负载或存储器负载可用于决定是否以衰减的速率呈现所显示的帧。
在另一方面,提供了一种优化车辆中能够同时运行一个以上的用户应用程序的多媒体系统的性能的方法,该方法包括:通过系统的检测模块检测系统的状况;当状况超过阈值时,通过系统的显示器控制器以衰减的速率呈现在显示器上显示的前台应用的每一帧的内容;当状况在阈值内时,通过显示器控制器没有衰减地呈现显示内容的每一帧。
该方法可以进一步包括:通过显示器控制器接收基于连接到计算机可读存储介质的总线的负载的衰减率。衰减率可以根据系统上运行的所有操作和用户应用程序对存储器总线施加的负载动态地调节。
在一些实施例中,该方法可以包括通过检测模块检测到系统的计算机可读存储介质的总线的负载或存储器总线负载。当检测到计算机可读存储介质的总线繁忙时,例如当总线负载高于约90%时,该方法可以包括以衰减的速率呈现每一帧。反之,当检测出到计算机可读存储介质的总线能够对未来的处理请求作出响应时,例如如果总线负载低于约60%或70%,则该方法可以包括没有任何衰减地呈现每一帧。
在一些实施例中,该方法可以包括通过检测模块检测系统上同时运行的用户应用程序的数量。为了决定是否需要刷新率衰减,检测步骤可以例如通过检测请求音频输出的用户应用程序的数量来检测系统上运行的用户应用程序的数量,因为来自不同源的音频或叠加的音频输出可以是多媒体系统中多个同时运行的用户应用程序的指示。当检测到一个以上的用户应用程序正在系统上同时运行时,可以认为存储器总线负载繁忙,因此该方法可以包括以衰减的速率呈现每一帧。反之,当前台应用程序是正在系统上唯一运行的用户应用程序时,该方法可以包括没有任何衰减地呈现每一帧。检测模块可以是系统的插件。检测模块可以是用户应用程序的一部分或附加,例如前台应用程序的执行刷新率衰减的插件。
当车辆多媒体系统用于运行导航应用程序时,所公开的方法可以帮助优化性能。
有利地,所公开的方法通过在多个用户应用程序同时运行时或在诸如存储器总线负载的某些状况超过阈值时降低刷新率来帮助平衡存储器总线上的负载,但在不缺乏计算资源时,例如在前台应用程序是正在系统上唯一运行的用户应用程序时,以原始帧率呈现内容。
附图说明
图1示出了示例性多媒体系统100的硬件框图。
图中,相同的标号表示相同的部件。
具体实施方式
在下文中,将参考附图详细描述本发明的示例性实施例。将为了解释本发明的原理及其实践应用而提供本发明的详细描述,从而使本领域技术人员能够能够就适合预期的特定用途的各种示例性实施例和各种改型理解本发明。详细描述并非旨在穷举或将本发明限制为所公开的具体实施例。改型和等效方案对于本领域技术人员将是显而易见的,并且被包括在所附权利要求的精神和范围之内。
提供了一种车辆中的多媒体系统。该系统能够同时运行一个以上的用户应用程序。该系统包括:至少一个处理器;和计算机可读存储介质,其包括在存储介质上存储有计算机可读指令的非暂时性计算机可读存储介质,该系统被配置为由处理器执行计算机可读指令。计算机可读指令包括检测模块和显示器控制器。检测模块被配置为检测系统的状况,而显示器控制器被配置为确定哪个用户应用程序是在显示器上显示的前台应用程序并呈现显示内容。如果检测模块检测到状况超过阈值,则显示器控制器被配置为以衰减速率呈现显示内容的每一帧。如果检测模块检测到状况在阈值内,则显示器控制器被配置为没有任何衰减地呈现显示内容的每一帧。
还提供了一种优化车辆中能够同时运行一个以上的用户应用程序的多媒体系统的性能的方法。该方法包括通过系统的检测模块检测系统的状况。当状况超过阈值时,该方法包括通过系统的显示器控制器以衰减速率呈现在显示器上显示的前台应用的每一帧的内容。当状况在阈值内时,该方法包括通过显示器控制器没有任何衰减地呈现显示内容的每一帧。
多媒体系统是指用于播放不同类型的数字媒体如文本、音频、视频、计算机图形、照片和动画的系统。在车辆多媒体系统的背景下,最常见的应用包括但不限于导航、音频、收音机、辅助媒体播放、视频播放、语音识别、例如通过苹果CarPlayTM、百度CarLife、Android Auto等与移动设备的连接。车载多媒体系统可以具有的其他应用包括免提语音通话以及朗读消息和电子邮件。车辆多媒体系统也可称为或可包括主机单元或信息娱乐单元。多媒体系统的用户可以是车辆的驾驶员或所有者或乘客或乘员。
为了播放不同类型的媒体,多媒体系统可以是例如嵌入式系统或通用计算设备。图1示出了示例性多媒体系统100的硬件框图。多媒体系统100可以包括一个或多个处理设备10,例如片上系统或微控制器,以实现多媒体系统的功能。多媒体系统100通常包括通过通信总线(附图标记一般为30)连接到计算机可读存储介质或存储器模块(附图标记一般为118)的多个处理器等部件。尽管存储器模块118在图1中被显示为在处理设备10的外部,但是存储器模块可以替代地或附加地被包括在处理设备中。处理器可以包括一个或多个中央处理单元,例如ARM内核,以及位于处理设备上的其他处理器,例如控制器、2D和/或3D图形处理器、视频处理器、图像处理器等。在图1中,处理设备10包括中央处理单元120、视频处理器108、图像处理器110和图形处理器112,它们均与存储器模块118通信。虽然图1示出了一个中央处理单元120,但多媒体系统可以包括一个以上的中央处理单元。例如,包括两个中央处理单元的多媒体系统通常被认为是双核系统,而包括四个中央处理单元的多媒体系统通常被认为是四核系统。通常,中央处理单元120执行指令以初始化和运行视频处理器108、图像处理器110和/或图形处理器112。一旦中央处理单元120指示处理器108、110和/或112,处理器108、110和/或112独立地执行指令。即,处理器120、108、110和112可以单独地向诸如高速缓冲存储器、RAM(例如DDR RAM)和闪存(例如NAND闪存和NOR闪存)的存储器模块写入数据和从存储器模块读取数据。计算机可读存储介质或存储器模块118可以包括暂时性和非暂时性计算机可读存储介质。例如,中央处理单元120可以从非暂时性存储器模块读取计算机可读指令并且响应于指令而将数据写入到暂时性存储器模块。响应于指令,中央处理单元120可以为视频处理器108、图像处理器110和/或图形处理器112写入指令以读取和执行。处理器中的一个、一些或全部可以被配置为或参与呈现每个用户应用程序的内容或同时运行用户应用程序,而连接到处理器的存储器模块可以被配置为存储呈现的内容。存储器模块也可由其他外围设备如USB设备、个人移动设备、DVD或Blu-rayTM光盘驱动器访问,尽管外围设备的驱动程序通常通过直接内存访问来写入存储器模块以提高效率。直接存储器访问可以是潜在的存储器总线主控,其会导致存储器总线负载增加。多媒体系统通常还包括用于接收用户输入的装置,例如用户界面或人机界面、旋钮、方向盘上的致动器、鼠标、操纵杆、触摸屏显示器、麦克风、触觉致动器和/或诸如语音识别、手势识别等其他输入机制。多媒体系统通常还包括用于输出多媒体或任何信息的显示屏或显示器。输入装置可以与显示器控制器通信,显示器控制器从输入装置接收用户输入并将用户输入的执行引导到例如处理器或处理器组,其处理输入以根据请求提供输出。外围设备、用于接收用户输入的装置、用于输出多媒体或信息的装置(例如显示器)和多媒体系统的其他外围设备的附图标记一般为116。
在实施例中,本文公开的车辆多媒体系统可以是嵌入式系统。嵌入式系统通常被设计为执行一个或数个专用功能,例如本文公开的功能。该嵌入式系统可以不被配置为包括与专用功能不相关或分开的功能。嵌入式系统可以从内置芯片读取软件或计算机可读指令,而不是像台式PC等通用计算机系统那样从磁盘读取软件或计算机可读指令。因此,嵌入式系统用于同时运行多个用户应用程序的系统资源是有限的。嵌入式系统可能具有实时计算约束。虽然系统可以被设计为同时运行一个以上的用户应用程序,但嵌入式系统的系统资源可能不足以支持正在运行的用户应用程序和/或任何新动作。因此,在一些实施例中,本公开有利地为嵌入式系统提供了优化其性能的解决方案。
多媒体系统可以包括软件架构。软件架构通常可以包括存储在非暂时性计算机可读存储介质上的计算机可读指令,以使多媒体系统能够履行其功能。如本领域技术人员所知,软件或代码或指令可以在计算系统的各个层中实现。代码的最低层(物理或硬件层)从硬件传输和接收原始比特,以服务于其上方的层。代码的最高层直接与终端用户交互。计算机可读指令可包含跨越若干层的代码。软件架构可以包括但不限于多媒体系统的操作系统、每个用户应用程序的应用软件以及在操作系统与应用软件之间接口或执行多媒体系统所需的其他功能所需的其他软件。
多媒体系统的用户应用程序是软件程序或一组指令,其与系统的硬件组件一起工作以允许用户使用和体验多媒体。运行多媒体应用程序所涉及的操作可以包括音频编解码、视频编解码、内容呈现、音量改变、色彩空间转换、叠加等操作。在一个特定示例中,运行导航应用程序所涉及的操作可以包括导航地图呈现、生成用于逐向指令的音频输出、音频音量改变、叠加等操作。用户应用程序可以通过用户动作或用户输入来操纵,例如用户可以启动应用程序,切换多媒体源,例如切换到视频源或音频源,切换应用程序界面,或操纵应用程序界面,例如滚动以显示另一地图部分或缩放地图部分。这些操作和动作对存储器总线的带宽要求有贡献。
虽然本发明适用于在多媒体系统上同时运行的任何应用程序,但所公开的发明有利地辅助将多媒体系统配置为同时运行导航应用程序和至少一个其他用户应用程序,特别是至少一个其他资源密集型用户应用程序,例如高清视频播放或语音识别。
描述了对存储器总线上特定于导航应用程序的带宽要求有贡献的操作和动作。导航引擎通常包括存储的地图数据库以及路线计算和/或路线优化能力。对于显示的地图部分,导航引擎通常需要根据要求呈现道路、建筑物和其他细节。当导航引擎被结合到多媒体系统中时,地图的呈现利用系统的图形处理单元。诸如道路和建筑物等对象的呈现可以采用2D或3D形式。因此,2D图形处理单元可以使用存储器总线来呈现2D图形,而3D图形处理单元可以使用存储器总线来呈现3D图形。因此将有两个总线主控器,从而需要总线进行仲裁并导致总线负载的增加。例如从车辆的GPS系统或惯性传感器获得的车辆的当前位置可以被叠加到所呈现的面上(通常利用系统的图像处理单元,因此增加了另一个总线主控器)以构建用于最终的显示帧。也可以在帧上呈现或叠加逐向指令。或者,路线引导可以以音频方式输出,其中音频帧需要与导航帧同步。当用户滚动以显示另一个地图部分或缩放地图部分(通常利用系统的CPU或ARM内核)时,导航引擎将呈现每个导航帧的速率设计得足够高,例如15fps或更高,以便帧过渡平滑。
当处理器被指示执行任何动作时,处理器可以控制至存储器模块的总线,从而成为存储器总线主控器。例如,呈现和显示上述导航应用程序的导航地图涉及图形处理单元、ARM内核和图像处理单元作为存储器总线主控器。在另一示例中,播放USB外围设备中的媒体文件中的高清视频涉及视频处理单元、图形处理单元和图像处理单元,因此这些处理器成为存储器总线主控器。因此,任何用户动作,例如选择视频播放、请求导航路线引导、改变音频源、改变音量和切换屏幕,都需要一个或多个总线主控器。
到存储器的一条或多条总线,即存储器总线,应当有足够的带宽以将数据传输到存储器和从存储器传输数据,甚至是高带宽用例或用户应用程序或资源密集型操作(例如用户动作)的数据。然而,当结合到多媒体系统——该系统可能不够强大,无法与其他日益复杂的用户应用程序或操作同时执行导航引擎的设计功能——中时,存储器总线的带宽可能会不堪重负。由于图形和视频处理的优先级较高,系统可能不会对用户动作或其他非图形、非视频相关的动作作出响应。所公开的发明旨在减轻此类情况,其中存储器总线没有足够的带宽来同时执行所有动作和任何新动作,尤其是当系统是多任务的并同时运行多个用户应用程序时。一般来说,总线的能力决定了计算机系统的部件可以多快地相互通信。因此,连接到存储器(例如RAM)的速度直接控制计算机系统访问指令和数据可以有多快。
已经发现,与其他操作相比,用于在全显示屏上显示的内容的呈现利用了大量带宽。这是因为显示器的每个像素都需要一定量的数据,并且由于典型的显示器有数千个像素,因此为全显示屏呈现内容所需的数据量变得非常大。在一个示例中,为了显示高清视频,常见的高清视频显示器尺寸使用720行,每行1280个像素(1280×720)。每个彩色像素通常使用32比特/像素,即4个字节,并且典型的高清显示器的刷新率为每秒30帧。因此,对于一个读取周期和一个写入周期,在一秒钟内将30个视频帧呈现到这种高清视频显示器所需的带宽为:
带宽=1280像素×720像素×4字节(真彩像素大小)×30fps×2(读写周期)=220MB/秒
上面的示例显示了每秒有大量帧的用户应用程序,例如30fps的视频播放,可能是资源密集型的,特别是当一个以上这样的资源密集型应用程序同时运行时。如本文所用的术语“刷新率”或“帧率”是指每秒为显示而呈现的帧数或为显示而呈现内容的速率,其与显示屏的刷新率不同并与之相反,由此以显示屏的这种刷新率显示已经呈现的内容或已经构建的帧。因此,衰减呈现每一帧的速率意味着减少每秒呈现的帧数。当此类资源密集型应用在多任务场景中处于前台时,可以选择刷新率衰减,使得用户体验不会受到太大的损害。例如,对于所显示的内容变化不那么快的用户应用程序,可以将帧速率设计或设置为较低的速率,例如10fps,或者只有在显示内容发生变化时才可以刷新帧。当此类应用程序在多任务场景中处于前台、尤其是涉及资源密集型后台应用时,在不影响用户体验的情况下,可以尽可能降低前台应用程序的刷新率衰减,或者例如仅在显示内容改变时才可以以特定速率刷新帧。
还可以修改后台应用程序以减少它们的带宽贡献。在一些常见的示例中,后台应用程序可能会被停止/暂停或使其帧率衰减或缩小界定它的窗口。只要不损害用户体验,就可以修改前台应用程序。呈现显示内容的每一帧的速率被降低到合理的帧率,使得用户体验不会受到损害,但其他应用程序或操作例如用户动作可以响应地起作用。适当地确定衰减刷新率以有利地补偿多任务场景中存储器总线负载的增加。例如,在导航应用程序仍然是前台应用程序的情况下,例如在显示导航应用程序的至少一部分被显示的情况下或当导航应用程序是唯一显示的用户应用程序时,显示的导航地图帧以合理衰减的导航地图刷新率呈现,以在需要响应地处理用户动作的情况下节省一定带宽而没有滞后。对于显示内容变化不大的前台用户应用程序,可以将帧率从其原始帧率、例如10fps降低到较低的帧率,或者可以将帧率保持在其原始低帧率,但修改后台应用程序以节省带宽。帧率可以有预定的降低下限,例如10fps、8fps或5fps。因此,取决于用户应用程序的特性,例如不断变化的显示内容或本来低的带宽,可以相应地修改前台和/或后台应用程序。
检测模块可以检测诸如其中总线负载可能危及系统性能的多任务场景等状况。例如,检测可以基于正在系统上运行的用户应用程序的数量。
检测模块可以是用户应用程序的一部分,也可以是附加代码,例如前台应用程序的插件。因此,在前台应用程序是导航应用程序的情况下,检测模块可以是导航引擎的插件。如果导航引擎由第三方提供或在其它方面不能修改,则将检测模块作为插件提供可能是增加识别除导航应用之外是否激活任何其他应用程序的功能的有效方式。
在检测模块检测正在系统上运行的用户应用程序的数量的情况下,检测模块可以被配置为检测正在请求音频输出的用户应用程序的数量。因此,检测步骤可以包括检测正在系统上运行的正在请求音频输出的用户应用程序的数量。在一个示例中,检测模块是系统的插件,特别是导航引擎的音频插件,用以管理任何正在请求音频输出的用户应用程序,使得可以分配适当的通道来输出音频。对于车载多媒体系统,资源密集型或存储器密集型的用户应用程序通常涉及音频输出。因此,检测请求音频输出的用户应用程序可能是确定正在系统上运行的用户应用程序数量的有效方式。例如,当视频播放和语音识别同时运行时,检测模块可以检测来自视频播放和语音识别应用程序的音频输出,然后可以触发刷新率衰减的实现。检测模块能够识别可能在多媒体系统上运行的用户应用程序是被启用还是停用、启动还是停止。
或者,检测多任务场景、决定是否需要刷新率衰减的其他方式也在本公开的范围内。例如,显示器控制器可以识别为每个运行的用户应用程序构建的面的数量,或者系统可以识别每个正在运行的用户应用程序所使用的处理负载或存储器负载。在检测到存储器总线上的负载高于70%、75%、80%、85%或90%的示例中,显示器控制器可以被配置为以衰减的速率呈现显示内容的每一帧。存储器总线负载的检测可以是到相关存储器或存储介质(例如DDR存储器)的所有存储器总线、例如内部总线(芯片或组件或单元内的连接)和/或外部总线(芯片、组件或单元之间的连接)的总负载。在另一示例中,呈现检测到的用户应用程序的内容所需的处理量或处理负载可用于决定是否需要刷新率衰减。例如,可以计算基于需要显示的兴趣点的密度来呈现导航地图显示所需的处理量以确定是否需要刷新率衰减。
显示器控制器可以是用户应用软件的一部分,通常作为代码的顶部两层之一的一部分或跨越代码的顶部两层。显示器控制器可以是指定控制呈现内容的显示的显示服务器与其客户端(例如,用户应用程序)之间的通信的协议。或者,显示器控制器可以包括呈现模块,以控制数据的呈现和呈现数据的显示。显示器控制器可以包括显示服务器的功能和/或组合来自每个用户应用程序的面以创建输出到显示器的图形用户界面的功能。显示器控制器可以控制内容的显示,在处理器与输入装置之间传输通信,和/或将图像输出到显示器。借助于其在呈现内容的显示中的作用,显示器控制器能够确定哪个用户应用程序是正在显示器上显示的前台应用程序。
在检测到多个并发用户应用程序或其他检测方法时,检测模块可以通知用户应用程序或者控制或实现刷新率的软件架构的任何部分。触发刷新率衰减的启用或停用的计算机可读指令或逻辑可以是用户应用程序的一部分,通常作为顶部的几层代码之一的一部分或跨越顶部的几层代码。实现刷新率衰减的逻辑可以在前台应用的中间层之一中实现。逻辑可以计算或确定适于多媒体系统的衰减率。该逻辑可以包括用以确定合适的衰减率的确定单元。或者,可以从非暂时性计算机可读存储介质获得合适的预定衰减率。该逻辑然后可以指示显示器控制器以衰减的速率呈现显示内容的每一帧。
如上所述,检测模块可以通知实现前台应用程序或显示内容的刷新率衰减的逻辑,并计算、获取或以其他方式确定合适的衰减率。然后可以将所确定的衰减率通知显示器控制器并且以衰减率呈现显示内容。可以通过用户应用程序与显示服务器之间交换的包括所确定的刷新率衰减值的信息来通知显示器控制器。
在从存储器中获得适当的衰减率的情况下,系统可以被设计为针对每个同时发生的用例具有预定的衰减刷新率。例如,选择能够实现总线负载的目标降低或目标总线负载的衰减刷新率值。这是可能的,因为在典型的车辆多媒体系统中用户应用程序的数量是固定的。因此,可以将用于每个同时发生的场景的矩阵输入到非暂时性计算机可读存储介质中。
可以根据同时运行的用户应用程序的数量来衰减刷新率。在一个示例中,刷新率可以与正在同时运行的用户应用程序的数量成比例地衰减。例如,如果两个应用程序正在同时运行,则每个应用程序的设计刷新率可以减半;如果三个应用程序正在同时运行,每个应用程序的刷新率可以衰减到其设计刷新率的三分之一;在另一示例中,可以基于存储器总线上的总负载来衰减刷新率。如果存储器总线上的总负载超过阈值,则显示器控制器可以接收衰减率,使得呈现内容的所有用户应用以相同速率被呈现。或者,在超过临界总线负载时,衰减率可能因用户应用程序而异,因用例而异。以前台导航应用程序为例,与弯路的地图的帧率相比,如果需要,可以更激进地衰减直路的地图的帧率。当检测模块检测到越过阈值时,可以相应地调整衰减率。因此,可以在需要时有利地例如根据争夺存储器总线带宽的用户应用程序的数量逐步实现刷新率的降低。显示器控制器可以接收基于存储器总线负载的动态可调衰减率。因此,可以在每次状况改变——例如用户应用程序数量改变——后动态地确定刷新率的降低。
当状况在阈值内时,例如当前台应用程序被检测为系统上唯一运行的用户应用程序时,或者当检测模块检测到没有其他用户应用程序被启用时,检测模块通知实施刷新率衰减的逻辑去除任何衰减率或刷新率上限。然后显示器控制器被通知衰减率(或没有衰减率)并根据提供的刷新率呈现显示内容。因此,当前台应用程序正在单独运行时,有利地采用原始设计的刷新率。
Claims (6)
1.一种车载多媒体系统,所述系统能够同时运行多个用户应用程序,所述系统包括:
至少一个处理器;和
计算机可读存储介质,所述计算机可读存储介质包括存储有计算机可读指令的非暂时性计算机可读存储介质,
所述系统被配置为通过所述至少一个处理器执行所述计算机可读指令,
其中,所述系统还包括检测模块和显示器控制器,所述检测模块被配置为检测所述系统的状况,并且所述显示器控制器被配置为确定正在显示器上显示的前台应用程序并且呈现显示内容,
其特征在于,
响应于所述检测模块检测到一个以上的用户应用程序正同时在系统上运行,所述显示器控制器被配置为以衰减速率呈现显示内容的每一帧,并且,
响应于所述检测模块检测到仅有一个用户应用程序在系统上运行,所述显示器控制器被配置为没有任何衰减地呈现显示内容的每一帧。
2.根据权利要求1所述的系统,其中,所述检测模块是所述前台应用程序的插件。
3.根据权利要求1所述的系统,其中,所述前台应用程序是导航应用程序。
4.一种优化车辆中能够同时运行一个以上的用户应用程序的多媒体系统的性能的方法,所述方法包括:
通过所述多媒体系统的至少一个处理器执行计算机可读指令,所述计算机可读指令存储在计算机可读存储介质中,所述计算机可读存储介质包括非暂时性计算机可读存储介质,
所述方法还包括:
通过所述多媒体系统的检测模块检测所述系统的状况,通过所述多媒体系统的显示器控制器确定正在显示器上显示的前台应用程序并且呈现显示内容,所述至少一个处理器中的每一个都具有计算机可读存储介质和存储在其上的计算机可读指令;
其特征在于,
响应于所述检测模块检测到一个以上的用户应用程序正同时在系统上运行,通过所述显示器控制器以衰减速率呈现显示内容的每一帧,并且,
响应于所述检测模块检测到仅有一个用户应用程序在系统上运行,通过所述显示器控制器没有任何衰减地呈现显示内容的每一帧。
5.根据权利要求4所述的方法,其中,所述检测模块是所述系统的插件。
6.根据权利要求4所述的方法,其中,所述前台应用程序是导航应用程序。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB1907708.0A GB2584325A (en) | 2019-05-31 | 2019-05-31 | Multimedia system with optimized performance |
| GB1907708.0 | 2019-05-31 | ||
| PCT/EP2020/064941 WO2020239968A1 (en) | 2019-05-31 | 2020-05-29 | Multimedia system with optimized performance |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113924552A CN113924552A (zh) | 2022-01-11 |
| CN113924552B true CN113924552B (zh) | 2024-12-17 |
Family
ID=67385945
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080040264.3A Active CN113924552B (zh) | 2019-05-31 | 2020-05-29 | 具有优化的性能的多媒体系统 |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP3977272B1 (zh) |
| CN (1) | CN113924552B (zh) |
| GB (1) | GB2584325A (zh) |
| WO (1) | WO2020239968A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023014751A1 (en) * | 2021-08-03 | 2023-02-09 | Vertiv It Systems, Inc. | Systems and methods for managing application refresh rates presented on a display |
| CN116932193B (zh) * | 2022-04-07 | 2024-08-20 | 华为技术有限公司 | 一种显示子系统的通道分配方法、装置及存储介质 |
| CN119759199A (zh) * | 2023-09-28 | 2025-04-04 | 荣耀终端股份有限公司 | 降功耗的方法和装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106941563A (zh) * | 2017-03-10 | 2017-07-11 | 广东欧珀移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8451279B2 (en) * | 2006-12-13 | 2013-05-28 | Nvidia Corporation | System, method and computer program product for adjusting a refresh rate of a display |
| US8125490B1 (en) * | 2007-07-12 | 2012-02-28 | Marvell International Ltd. | Systems and methods for reducing display under-run and conserving power |
| CN101944075B (zh) * | 2010-07-21 | 2012-06-27 | 北京星网锐捷网络技术有限公司 | 总线系统、对低速总线设备进行读写操作的方法及装置 |
| US9449359B2 (en) * | 2012-09-13 | 2016-09-20 | Ati Technologies Ulc | Rendering settings in a multi-graphics processing unit system |
| CN102930852B (zh) * | 2012-11-08 | 2014-05-14 | 山东大学 | 通过动态调节屏幕刷新率来提高移动终端系统性能的方法 |
| EP2962479B1 (en) * | 2013-02-28 | 2016-11-30 | Robert Bosch GmbH | Mobile electronic device integration with in-vehicle information systems |
| US20150106649A1 (en) * | 2013-10-11 | 2015-04-16 | Qualcomm Innovation Center, Inc. | Dynamic scaling of memory and bus frequencies |
| US9905199B2 (en) * | 2014-09-17 | 2018-02-27 | Mediatek Inc. | Processor for use in dynamic refresh rate switching and related electronic device and method |
| US10262604B2 (en) * | 2014-12-08 | 2019-04-16 | Sharp Kabushiki Kaisha | Control device, display device, and control method for display device |
| US10108564B2 (en) * | 2016-03-28 | 2018-10-23 | Qualcomm Incorporated | Active and stall cycle based dynamic scaling of processor frequency and bus bandwidth |
| CN106933526B (zh) * | 2017-03-10 | 2019-03-15 | Oppo广东移动通信有限公司 | 一种动态调节屏幕刷新率的方法、装置及移动终端 |
| CN106791212B (zh) * | 2017-03-10 | 2019-07-02 | Oppo广东移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
-
2019
- 2019-05-31 GB GB1907708.0A patent/GB2584325A/en not_active Withdrawn
-
2020
- 2020-05-29 EP EP20730219.1A patent/EP3977272B1/en active Active
- 2020-05-29 CN CN202080040264.3A patent/CN113924552B/zh active Active
- 2020-05-29 WO PCT/EP2020/064941 patent/WO2020239968A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106941563A (zh) * | 2017-03-10 | 2017-07-11 | 广东欧珀移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
Also Published As
| Publication number | Publication date |
|---|---|
| GB201907708D0 (en) | 2019-07-17 |
| EP3977272A1 (en) | 2022-04-06 |
| CN113924552A (zh) | 2022-01-11 |
| GB2584325A (en) | 2020-12-02 |
| EP3977272B1 (en) | 2024-05-22 |
| WO2020239968A1 (en) | 2020-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10225348B2 (en) | Efficient communications amongst computing nodes for operating autonomous vehicles | |
| JP6009692B2 (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
| US9881592B2 (en) | Hardware overlay assignment | |
| US20100199283A1 (en) | Data processing unit | |
| CN113924552B (zh) | 具有优化的性能的多媒体系统 | |
| CN113892134B (zh) | 具有优化的性能的多媒体系统 | |
| WO2021258274A1 (en) | Power demand reduction for image generation for displays | |
| US12008676B2 (en) | Vehicle device, drawing requests using priority queues, and vehicle device control method | |
| KR100941029B1 (ko) | 그래픽 가속기 및 그래픽 가속 방법 | |
| US6791538B2 (en) | Method and system for operating a combination unified memory and graphics controller | |
| CN116028000B (zh) | 跨多操作系统的显示特性处理方法、单元及交通设备 | |
| CN113348436B (zh) | 显示控制系统及方法、显示装置及方法、移动体、记录介质 | |
| WO2021168771A1 (en) | Optimized method of page zeroing in memory pool | |
| CN119645330B (zh) | 一种应用多开方法、装置、电子设备及存储介质 | |
| US20250045091A1 (en) | Low latency inter core communication | |
| US20250291618A1 (en) | Virtualization acceleration in display processing | |
| CN121100329A (zh) | 将末级高速缓存(llc)动态分配给头戴式显示器(hmd)中的功能 | |
| CN120335906A (zh) | 帧合成方法、电子设备及计算机可读存储介质 | |
| CN115729696A (zh) | 车载系统的显示控制方法、装置、设备及介质 | |
| US20160171645A1 (en) | Display controller and a method thereof |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| TA01 | Transfer of patent application right | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20230201 Address after: Hannover Applicant after: Continental Automotive Technology Co.,Ltd. Address before: Hannover Applicant before: CONTINENTAL AUTOMOTIVE GmbH |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant |