Computing system with map automatic zooming mechanism and operation method thereof
By automatically adjusting the map zoom level based on the current location and road type in the computing system and generating a camera view, the problem of users in the prior art need to manually adjust the map is solved, and the efficiency and safety of navigation are improved.
Patent Information
- Application Number
- CN202210063093.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-01-28
- Filing Date
- 2022-01-20
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-01-20
AI Technical Summary
When existing computing systems provide navigation information, it is difficult to automatically adjust the zoom level of the map to adapt to the user's current speed and road type, resulting in the user needing to manually adjust while driving, affecting the user experience.
The automatic zoom mechanism is achieved by determining the current zoom level based on the current position and road type, and generating a camera view of the map based on the front view distance.
Improves the usability of map presentation when users navigate, reduces the need for users to manually adjust camera views while driving, and improves navigation efficiency and safety.
Smart Images

Figure CN114812543B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate generally to computing systems, and more particularly to computing systems having an automatic zoom mechanism. Background Art
[0002] Modern consumer and industrial electronics, especially devices such as cellular phones, smart phones, tablet computers, laptop computers, vehicle integrated computing and communication systems, vehicle navigation systems, portable digital assistants and combination devices, are providing increasingly higher levels of functionality to support modern life including communication services. Research and development of existing technologies can take countless different directions.
[0003] Users of connected computing systems (i.e., systems that use connectivity to provide navigation information such as maps, points of interest (POIs), street names, directions, traffic conditions, speed limits, etc.) often rely on the presentation of maps to obtain guidance on routes, locate destinations, and navigate maneuvers. However, users are often challenged by the availability of providing the best amount of map information while driving.
[0004] Therefore, there remains a need for a computing system with automatic scaling mechanisms and methods to improve availability. Finding answers to these questions is becoming increasingly critical given the increasing competitive pressures on business, as well as growing consumer expectations and decreasing opportunities for meaningful product differentiation in the marketplace. Additionally, the need to improve efficiency and performance and meet competitive pressures adds greater urgency to the critical necessity of finding answers to these questions.
[0005] Solutions to these problems have been long sought but prior developments have not taught or suggested any solutions, and thus, solutions to these problems have long eluded those skilled in the art. Summary of the invention
[0006] An embodiment of the present invention provides an operating method of a computing system, comprising: determining a current road type of a current road segment based on a current position located along a current road segment; generating a map at a current zoom level based on the current road type, the map at the current zoom level including the current position on the current road segment; generating a camera view of the map based on a lookahead distance of the current road type; and communicating the current zoom level for displaying the current position along the current road segment.
[0007] An embodiment of the present invention provides a computing system, comprising: a control unit, which is configured to: determine a current road type of a current road segment based on a current position located along the current road segment; generate a map at a current zoom level based on the current road type, the map at the current zoom level including the current position on the current road segment; generate a camera view of the map based on a foresight distance of the current road type; and communicate the current zoom level for displaying the current position along the current road segment.
[0008] An embodiment of the present invention provides a non-temporary computer-readable medium comprising instructions for a computing system, including: determining a current road type of a current road segment based on a current position located along the current road segment; generating a map at a current zoom level based on the current road type, the map at the current zoom level including the current position on the current road segment; generating a camera view of the map based on a foresight distance of the current road type; and communicating the current zoom level for displaying the current position along the current road segment.
[0009] As an addition or replacement of those steps and elements described above, some embodiments of the present invention have other steps or elements, which will become clear to those skilled in the art when reading the following detailed description with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 It is a computing system with an automatic scaling mechanism in an embodiment of the present invention.
[0011] Figure 2 is an exemplary block diagram of components of a computing system.
[0012] Figure 3 is an exemplary display of a computing system with an active map area and a current zoom level.
[0013] Figure 4 is an exemplary display of a computing system when operating in active boot mode.
[0014] Figure 5 is an exemplary display of a computing system while operating in free drive mode.
[0015] Figure 6 is an exemplary control flow of a computing system.
[0016] Figure 7 is an exemplary flow chart of a method of operation of a computing system in a further embodiment of the present invention. DETAILED DESCRIPTION
[0017] Embodiments enable a computing system to increase map presentation to a user by automatically adjusting a zoom level of the map. The automatic zoom mechanism provides for displaying a map at a zoom level based on a speed limit of a user's current location to provide a look ahead distance.
[0018] Embodiments enable a computing system to detect changes in speed limits for a road segment based on a user's current location. Correct detection of changes in speed limits allows the computing system to make transitions, thereby increasing operator awareness.
[0019] Embodiments enable a computing system to set a zoom level by determining the road type when a speed limit is not available. Setting a zoom level based on road type allows a computing system with an automatic zoom mechanism to function even when the speed limit for the user's current location cannot be determined.
[0020] The following embodiments are described in sufficient detail to enable those skilled in the art to make and use the invention. It should be understood that other embodiments will be clear based on this disclosure, and that systemic, procedural or mechanical changes may be made without departing from the scope of the embodiments of the invention.
[0021] In the following description, many specific details are given to provide a thorough understanding of the present invention. However, it will be clear that the present invention can be practiced without these specific details. In order to avoid obscuring the embodiments of the present invention, some well-known circuits, system configurations and process steps are not disclosed in detail.
[0022] The drawings showing embodiments of the system are semi-diagrammatic and not to scale, and in particular, some dimensions are for clarity of presentation and are shown exaggerated in the drawings. Similarly, although the views in the drawings generally show similar orientations for ease of description, this description in the drawings is arbitrary in most cases. Generally, the present invention can be operated in any orientation.
[0023] For the convenience of description, the embodiments have been numbered as the first embodiment, the second embodiment, etc., and are not intended to have any other meaning or provide limitations to the embodiments of the present invention. For the convenience of description, the terms first, second, etc. may be used throughout as part of the element name, and are not intended to have any other meaning or provide limitations to the embodiments.
[0024] Depending on the context in which the term is used, in embodiments of the present invention, the term "vehicle" referred to herein may include an automobile, an autonomous vehicle, a train, a bus, a bicycle, a boat, a motorcycle, a cart, an airplane, a helicopter, or any other mode of transportation, or a combination thereof.
[0025] Depending on the context in which the term is used, in embodiments of the present invention, the term "module" or "unit" referred to herein may include software, hardware, or a combination thereof. For example, software may be machine code, firmware, embedded code, and application software. Software may also include functions, calls to functions, code blocks, or a combination thereof. Also for example, hardware may be a circuit, a processor, a special purpose computer, an integrated circuit, an integrated circuit core, a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), a passive device, or a combination thereof. In addition, if modules are written in the system claim section below, for the purpose and scope of the system claim, these modules are deemed to include hardware circuits.
[0026] The modules in the following description of the embodiments may be coupled to each other as described or shown in the figures. The coupling may be direct or indirect, with no or intermediate items between the coupled items, respectively. The coupling may be physical contact or communication between items.
[0027] Reference now Figure 1 , which shows a computing system 100 with an automatic scaling mechanism in an embodiment of the present invention. The computing system 100 includes a first device 102 (such as a client or server) connected to a second device 106 (such as a client or server). The first device 102 can communicate with the second device 106 along a communication path 104 (such as a wireless or wired network).
[0028] For example, the first device 102 can be any of a variety of devices, such as a smartphone, a cellular phone, a personal digital assistant, a tablet computer, a notebook computer, a laptop computer, a desktop computer, an in-vehicle navigation system, or a vehicle integrated communication system. The first device 102 can be directly or indirectly coupled to the communication path 104 to communicate with the second device 106, or can be a stand-alone device. The first device 102 can be incorporated into a vehicle.
[0029] The second device 106 can be any of a variety of centralized or decentralized computing devices. For example, the second device 106 can be a laptop computer, a multimedia computer, a desktop computer, a grid computing resource, a virtualized computer resource, a cloud computing resource, a router, a switch, a peer-to-peer distributed computing device, a server, or a combination thereof. The second device 106 can be installed outside or inside the vehicle, concentrated in a single room, distributed across different rooms, distributed across different geographical locations, embedded in a telecommunications network. The second device 106 can be coupled to the communication path 104 to communicate with the first device 102.
[0030] For purposes of illustration, the computing system 100 is shown with the first device 102 being a client device, but it is understood that the computing system 100 can have the first device 102 being a different type of device. For example, the first device 102 can be a server. Also for purposes of illustration, the computing system 100 is shown with the second device 106 being a server, but it is understood that the computing system 100 can have the second device 106 being a different type of device. For example, the second device 106 can be a client device.
[0031] For simplicity of description, in the embodiments discussed below, the first device 102 will be described as a client device and the second device 106 will be described as a server device. However, embodiments of the present invention are not limited to this selection of device types. This selection is an example of an embodiment of the present invention.
[0032] Also for purposes of illustration, the computing system 100 is shown with the second device 106 and the first device 102 as endpoints of the communication path 104, but it is understood that the computing system 100 can have a different division between the first device 102, the second device 106, and the communication path 104. For example, the first device 102, the second device 106, or a combination thereof can also serve as part of the communication path 104.
[0033] Communication path 104 can span and represent various networks and network topologies.For example, communication path 104 can include wireless communication, wired communication, optical communication, ultrasonic communication or its combination.For example, satellite communication, cellular communication, Bluetooth, infrared data association standard (lrDA), wireless fidelity (WiFi) and world microwave access interoperability (WiMAX) are examples of wireless communication that can be included in communication path 104. Cable, Ethernet, digital subscriber line (DSL), fiber line, fiber to the home (FTTH) and plain old telephone service (POTS) are examples of wired communication that can be included in communication path 104. In addition, communication path 104 can traverse many network topologies and distances.For example, communication path 104 can include direct connection, personal area network (PAN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN) or its combination.
[0034] Reference now Figure 2, which shows an exemplary block diagram of components of a computing system 100. The computing system 100 may include a first device 102, a communication path 104, and a second device 106. The first device 102 may send information to the second device 106 via the communication path 104 in a first device transmission 222. The second device 106 may send information to the first device 102 via the communication path 104 in a second device transmission 224. The first device transmission 222 and the second device transmission 224 may be sent via one or more communication channels 248. The communication channel 248 refers to a physical transmission medium such as a wire, or refers to a logical connection via a multiplexed medium such as a radio channel.
[0035] For purposes of illustration, computing system 100 is shown with first device 102 being a client device, but it is understood that computing system 100 can have first device 102 being a different type of device. For example, first device 102 can be a server that includes a display interface.
[0036] Also for purposes of illustration, the computing system 100 is shown with the second device 106 being a server, but it is understood that the computing system 100 can have the second device 106 being a different type of device. For example, the second device 106 can be a client device.
[0037] Furthermore, for purposes of illustration, computing system 100 is shown with interaction between first device 102 and second device 106, but it is understood that first device 102 can similarly interact with another instance of first device 102. Similarly, second device 106 can similarly interact with another instance of second device 106.
[0038] For the sake of brevity of description, in this embodiment of the present invention, the first device 102 will be described as a client device and the second device 106 will be described as a server device. Embodiments of the present invention are not limited to this selection of device types. This selection is an example of an embodiment of the present invention.
[0039] The first device 102 may include a first control unit 210, a first storage unit 216, a first communication unit 202, a first user interface 254, and a first location unit 214. The first control unit 210 may include a first control interface 212. The first control unit 210 may execute first software 220 to provide intelligence of the computing system 100.
[0040] The first control unit 210 can be implemented in many different ways. For example, the first control unit 210 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. The first control interface 212 can be used for communication between the first control unit 210 and other functional units in the first device 102. The first control interface 212 can also be used for communication outside the first device 102.
[0041] The first control interface 212 can receive information from other functional units or circuits or from external sources, or can send information to other functional units or circuits or to external destinations. External sources and external destinations refer to sources and destinations external to the first device 102.
[0042] The first control interface 212 can be implemented in different ways and can include different implementations, depending on which functional units or circuits or external units are being interfaced with the first control interface 212. For example, the first control interface 212 can be implemented with a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), an optical circuit, a waveguide, a wireless circuit, a wired circuit, an application programming interface, or a combination thereof.
[0043] The first storage unit 216 may store the first software 220. The first storage unit 216 may also store related information, such as data representing an incoming image, data representing a previously rendered image, a sound file, or a combination thereof. For purposes of illustration, the first storage unit 216 is shown as a single element, but it should be understood that the first storage unit 216 may be a distribution of multiple storage elements.
[0044] Also for purposes of illustration, the computing system 100 is shown with the first storage unit 216 as a single hierarchical storage system, but it is understood that the computing system 100 can have the first storage unit 216 in different configurations. For example, the first storage unit 216 can be formed with different storage technologies forming a memory hierarchy system including different levels of cache, main memory, rotating media, or offline storage.
[0045] The first storage unit 216 can be a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. For example, the first storage unit 216 can be a non-volatile storage such as a non-volatile random access memory (NVRAM), a flash memory, a disk storage, or a volatile storage such as a static random access memory (SRAM).
[0046] The first storage unit 216 may include a first storage interface 218. The first storage interface 218 may be used for communication between the first storage unit 216 and other functional units in the first device 102. The first storage interface 218 may also be used for communication outside the first device 102.
[0047] The first storage interface 218 can receive information from other functional units or circuits or from external sources, or can send information to other functional units or circuits or to external destinations. External sources and external destinations refer to sources and destinations external to the first device 102.
[0048] The first storage interface 218 can include different implementations depending on which functional units or circuits or external units or circuits are being interfaced with the first storage unit 216. The first storage interface 218 can be implemented with technologies and techniques similar to those of the first control interface 212.
[0049] The first communication unit 202 can enable external communications to and from the first device 102. For example, the first communication unit 202 can allow the first device 102 to communicate with the second device 106, accessories (such as peripheral devices or computer desktops), and the communication path 104.
[0050] The first communication unit 202 may also serve as a communication hub, allowing the first device 102 to act as part of the communication path 104 and not be limited to being an endpoint or terminal unit of the communication path 104. The first communication unit 202 may include active and passive components for interacting with the communication path 104, such as microelectronics or an antenna.
[0051] The first communication unit 202 may include a first communication interface 208. The first communication interface 208 may be used for communication between the first communication unit 202 and other functional units or circuits in the first device 102. The first communication interface 208 may receive information from other functional units or circuits or from external sources, or may send information to other functional units or circuits or external destinations. External sources and external destinations refer to sources and destinations outside the first device 102.
[0052] The first communication interface 208 can include different implementations depending on which functional units or circuits are being interfaced with the first communication unit 202. The first communication interface 208 can be implemented with technologies and techniques similar to the implementation of the first control interface 212.
[0053] The first communication unit 202 can be coupled to the communication path 104 to send information in a first device transmission 222 to the second device 106. The second device 106 can receive information from the first device transmission 222 of the communication path 104 in a second communication unit 226.
[0054] The first control unit 210 can operate the first user interface 254 to present information generated by the computing system 100. In one embodiment, the first user interface 254 allows a user of the computing system 100 to interface with the first device 102. The first user interface 254 may include an input device and an output device. Examples of input devices of the first user interface 254 may include a keypad, a touch pad, soft keys, a keyboard, a microphone, a sensor for receiving a remote signal, or any combination thereof to provide data and communication input. Examples of output devices may include a first display interface 206 and a first audio interface 204.
[0055] The first control unit 210 can operate the first user interface 254 to present information generated by the computing system 100. The first control unit 210 can also execute the first software 220 for other functions of the computing system 100. The first control unit 210 can also execute the first software 220 for interacting with the communication path 104 via the first communication unit 202.
[0056] The first display interface 206 may be any graphical user interface, such as a display, a projector, a video screen, or any combination thereof. The first audio interface 204 may include a sensor, a speaker, a microphone, a headset, a subwoofer, a surround sound component, a transducer, or any combination thereof. The first display interface 206 and the first audio interface 204 allow a user of the computing system 100 to interact with the computing system 100.
[0057] As an example, the first location unit 214 can generate location information, current heading, current acceleration, and current speed of the first device 102. The first location unit 214 can be implemented in a variety of ways. For example, the first location unit 214 can be used as at least a part of a global positioning system (GPS) and can include components such as a GPS receiver, an inertial navigation system, a gyroscope, a cellular tower positioning system, a pressure positioning system, or any combination thereof.
[0058] The first location unit 214 may include a first location interface 250. The first location interface 250 may be used for communication between the first location unit 214 and other functional units or circuits in the first device 102. The first location interface 250 may also be used for communication outside the first device 102.
[0059] The first location interface 250 can include different implementations depending on which functional units or circuits or external units or circuits are being interfaced with the first location unit 214. The first location interface 250 can be implemented with similar technologies and techniques as the first control interface 212 implementations.
[0060] The second device 106 may be optimized for implementing embodiments of the present invention in a multi-device embodiment with the first device 102. The second device 106 may provide additional or higher performance processing capabilities than the first device 102. The second device 106 may include a second control unit 238, a second storage unit 240, a second communication unit 226, a second user interface 228, and a second location unit 246.
[0061] The second control unit 238 can execute the second software 244 to provide the intelligence of the second device 106 of the computing system 100. The second software 244 can also operate independently or in conjunction with the first software 220. Compared to the first control unit 210, the second control unit 238 can provide additional capabilities.
[0062] The second control unit 238 can be implemented in many different ways. For example, the second control unit 238 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
[0063] The second control unit 238 may include a second control interface 236. The second control interface 236 may be used for communication between the second control unit 238 and other functional units or circuits in the second device 106. The second control interface 236 may also be used for communication outside the second device 106. The second control interface 236 may receive information from other functional units or circuits or from external sources, or may send information to other functional units or circuits or to external destinations. External sources and external destinations refer to sources and destinations outside the second device 106.
[0064] The second control interface 236 can be implemented in different ways and can include different implementations, depending on which functional units or circuits or external units are being interfaced with the second control interface 236. For example, the second control interface 236 can be implemented with a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), an optical circuit, a waveguide, a wireless circuit, a wired circuit, an application programming interface, or a combination thereof.
[0065] The second storage unit 240 can store the second software 244. The second storage unit 240 can also store information such as data representing an incoming image, data representing a previously presented image, sound files, or a combination thereof. The size of the second storage unit 240 can be set to provide additional storage capacity to supplement the first storage unit 216.
[0066] For purposes of illustration, the second storage unit 240 is shown as a single element, but it should be understood that the second storage unit 240 may be a distribution of multiple storage elements. Also for purposes of illustration, the computing system 100 is shown with the second storage unit 240 as a single hierarchical storage system, but it should be understood that the computing system 100 may have the second storage unit 240 in a different configuration. For example, the second storage unit 240 may be formed with different storage technologies forming a memory hierarchy system including different levels of cache, main memory, rotating media, or offline storage.
[0067] The second storage unit 240 may be a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. For example, the second storage unit 240 may be a non-volatile storage such as a non-volatile random access memory (NVRAM), a flash memory, a disk storage, or a volatile storage such as a static random access memory (SRAM).
[0068] The second storage unit 240 may include a second storage interface 242. The second storage interface 242 may be used for communication between the second storage unit 240 and other functional units or circuits in the second device 106. The second storage interface 242 may also be used for communication outside the second device 106.
[0069] The second storage interface 242 can receive information from the other functional units or circuits or from external sources, or can send information to the other functional units or circuits or to external destinations. External sources and external destinations refer to sources and destinations external to the second device 106.
[0070] The second storage interface 242 can include different implementations depending on which functional units or circuits or external units or circuits are being interfaced with the second storage unit 240. The second storage interface 242 can be implemented with technologies and techniques similar to the implementation of the second control interface 236.
[0071] The second communication unit 226 can enable external communications to and from the second device 106. For example, the second communication unit 226 can allow the second device 106 to communicate with the first device 102, accessories (such as peripheral devices or a computer desktop), and the communication path 104.
[0072] The second communication unit 226 may also function as a communication hub, allowing the second device 106 to function as part of the communication path 104 and is not limited to being an endpoint or terminal unit or circuit of the communication path 104. The second communication unit 226 may include active and passive components for interacting with the communication path 104, such as microelectronics or an antenna.
[0073] The second communication unit 226 may include a second communication interface 230. The second communication interface 230 may be used for communication between the second communication unit 226 and other functional units in the second device 106. The second communication interface 230 may receive information from other functional units or circuits or from external sources, or may send information to other functional units or circuits or external destinations. External sources and external destinations refer to sources and destinations external to the second device 106.
[0074] The second communication interface 230 can include different implementations depending on which functional units or circuits are being interfaced with the second communication unit 226. The second communication interface 230 can be implemented with technologies and techniques similar to the implementation of the second control interface 236.
[0075] The second communication unit 226 can be coupled to the communication path 104 to send information in the second device transmission 224 to the first device 102. The first device 102 can receive information from the second device transmission 224 of the communication path 104 in the first communication unit 202.
[0076] The second control unit 238 can operate the second user interface 228 to present information generated by the computing system 100. In one embodiment, the second user interface 228 allows a user (not shown) of the computing system 100 to interface with the second device 106. The second user interface 228 may include an input device and an output device. Examples of the input devices of the second user interface 228 may include a keypad, a touch pad, soft keys, a keyboard, a microphone, a sensor for receiving a remote signal, or any combination thereof to provide data and communication input. Examples of output devices may include a second display interface 234 and a second audio interface 232.
[0077] The second control unit 238 can operate the second user interface 228 to present information generated by the computing system 100. The second control unit 238 can also execute the second software 244 for other functions of the computing system 100. The second control unit 238 can also execute the second software 244 for interacting with the communication path 104 via the second communication unit 226.
[0078] The second display interface 234 can be any graphical user interface, such as a display, a projector, a video screen, or any combination thereof. The second audio interface 232 can include a sensor, a speaker, a microphone, a headset, a subwoofer, a surround sound component, a transducer, or any combination thereof. The second display interface 234 and the second audio interface 232 allow a user of the computing system 100 to interact with the computing system 100.
[0079] As an example, the second location unit 246 can generate location information, current heading, current acceleration, and current speed of the second device 106. The second location unit 246 can be implemented in a variety of ways. For example, the second location unit 246 can function as at least a portion of a global positioning system (GPS) and can include components such as a GPS receiver, an inertial navigation system, a cellular tower positioning system, or any combination thereof.
[0080] The second location unit 246 may include a second location interface 252. The second location interface 252 may be used for communication between the second location unit 246 and other functional units or circuits in the second device 106. The second location interface 252 may also be used for communication outside the second device 106. The second location interface 252 may be implemented with techniques and technologies similar to those of the second control interface 236.
[0081] The functionality of the computing system 100 may be provided by the first control unit 210, the second control unit 238, or a combination thereof. For purposes of illustration, the second device 106 is shown with a partition having a second user interface 228, a second storage unit 240, a second control unit 238, a second location unit 246, and a second communication unit 226, but it should be understood that the second device 106 may have a different partition. For example, the second software 244 may be partitioned differently so that some or all of its functionality may be in the second control unit 238 and the second communication unit 226. In addition, for clarity, the second device 106 may include Figure 2 Other functional units not shown.
[0082] The first device 102 may have a similar or different partitioning than the second device 106. The functional units in the first device 102 may operate individually and independently of other functional units or circuits. The first device 102 may operate individually and independently of the second device 106 and the communication path 104.
[0083] The functional units in the second device 106 can operate individually and independently of other functional units or circuits. The second device 106 can operate individually and independently of the first device 102 and the communication path 104.
[0084] The above functional units or circuits may be implemented in hardware. For example, one or more of the functional units or circuits may be implemented using a gate, a circuit, a processor, a computer, an integrated circuit, an integrated circuit core, a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), a passive device, a physical non-transitory storage medium containing instructions for executing software functions, a portion thereof, or a combination thereof.
[0085] For illustrative purposes, the computing system 100 is described through the operation of the first device 102 and the second device 106. It should be understood that the first device 102 and the second device 106 can operate any modules, units, and functions of the computing system 100.
[0086] Reference now Figure 3 , which shows Figure 1 1 is an exemplary display of the computing system 100 with an active map area 302 and a current zoom level 306. The active map area 302 is Figure 2 The first display interface 206, Figure 2 The computing system 100 may utilize the second display interface 234 or a combination thereof to display the size and portion of the map 310. Figure 2 The first control unit 210, Figure 2 The computing system 100 may also obtain the measurements of the active map area 302 from the first display interface 206, the second display interface 234, or a combination thereof.
[0087] Map 310 is a visual representation of a geographic area. For example, map 310 may be a representation of a state, city, town, neighborhood, or any portion thereof. As a further example, map 310 may represent roads within a geographic area. Map 310 may be represented by Figure 2 The first display interface 206, Figure 2 The second display interface 234 or a combination thereof can be displayed. A map 310 can be displayed with respect to the current location 304.
[0088] Current location 304 by Figure 2 The first location unit 214, Figure 2 The second position unit 246 or a combination thereof is generated. For example, the current position 304 provides Figure 1 The first device 102 or Figure 1 The current location 304 may be generated in a variety of ways. For example, the current location 304 may be determined by a global positioning system (GPS), cellular triangulation, wireless fidelity (Wi-Fi) triangulation, dead reckoning, or a combination thereof. The computing system 100, Figure 1 The first device 102, Figure 2 The second device 106 or a combination thereof can track the current location 304 dynamically and in real time.
[0089] The computing system 100 tracks the current location 304 “dynamically”, which means that the current location 304 is received, monitored, or a combination thereof, not statically or through a potential differential mechanism. The computing system 100 tracks the current location 304 “in real time”, which means that the current location 304 is received, monitored, or a combination thereof, regardless of the mechanism over a certain period of time when the current location 304 is read. The computing system 100 can display the current location 304 on the first display interface 206, the second display interface 234, or a combination thereof.
[0090] The computing system 100 can display the current location 304 as a direction 312. The direction 312 is the direction to move toward. The direction 312 can be determined by calculating the change in the current location 304 or based on dead reckoning, such as using an accelerometer or gyroscope in the first location unit 214, the second location unit 246, or a combination thereof. For example, the direction 312 can be determined based on the change in degrees of latitude, longitude, altitude, or a combination thereof of the current location 304.
[0091] The computing system 100 may utilize the current location 304 to obtain map information 314. Map information 314 refers to a graph or data set representing an arrangement or distribution of geographic features, physical features, non-physical features, or combinations thereof, of a geographic location on a map. For example, map information 314 may include physical features such as paths, road signs, street names, infrastructure, geographic features, natural topology, points of interest, buildings, bodies of water, or combinations thereof. As another example, map information 314 may also include non-physical features such as speed limits, one-way designations, addresses, points of interest (POIs), or combinations thereof. The above list is not meant to be limiting.
[0092] The computing system 100 may use Figure 2 The first communication unit 214, Figure 2 The computing system 100 may use the second communication unit 226 or a combination thereof to request and receive map information 314. Figure 2 The first storage unit 216, Figure 2 The map information 314 may be cached by the second storage unit 240 , an external database, or a combination thereof.
[0093] The computing system 100 can obtain map information 314 to determine a current road segment 316, a current speed limit 318, a current road type 320, or a combination thereof. The current road segment 316 is a road or portion of a road on which the user is currently traveling. For example, the current road segment 316 can be a street, an alley, a highway, a freeway, a parkway, an expressway, a toll road, a residential road, or an unpaved path. The above list is not meant to be limiting. The current road segment 316 can be determined based on the current location 304.
[0094] The current speed limit 318 is the specified maximum legal speed for the current road segment 316. For example, the computing system 100 can determine the current speed limit 318 from the map information 314 obtained from the second device 106, an external entity, an external system, or a combination thereof. As a further example, the computing system 100 can determine the current speed limit 318 using sensors such as cameras, infrared detectors, radar detectors, light detection and ranging (LIDAR) units, or a combination thereof.
[0095] Current road type 320 is the classification of road. Current road type 320 can be classified in many ways. For example, current road type 320 can be based on segment speed limit 336, traffic conditions, traffic limiter as traffic light or stop sign, or specifying the indication of expressway or expressway or expressway, residential area, or its combination. When current speed limit 306 is not available or unavailable, segment speed limit 336 is the estimated speed limit for current segment 316. Segment speed limit 336 can be determined by multiple factors. For example, segment speed limit 336 can be based on the number of lanes, the number of intersections, the speed limit of nearby roads, geographic area or its combination. The above list is not meant to be a restrictive and closed list, but is described as an example. Segment speed limit 336 can be determined using map 310, map information 314 or its combination.
[0096] Continuing with this example, the current zoom level 306 can be displayed on the first display interface 206, the second display interface 234, or a combination thereof. The current zoom level 206 is a view of the map 310 based on a foresight distance 308. The foresight distance 308 is the physical distance between the current location 304 and the real-world location of the top edge of the map 310 displayed in the active map area 302. The foresight distance 308 is calculated based on the minimum distance 334 and the foresight distance multiplier 322.
[0097] Minimum distance 334 is the minimum value of forward sight distance 308 based on the speed limit range. Minimum distance 334 can be predefined. Minimum distance 334 can be represented by categories. Categories can indicate the range of speed limits. For example, categories can be low speed distance 336, medium speed distance 338, high speed distance 340, and maximum speed distance 342.
[0098] Low speed distance 336 requires the shortest instance of minimum distance 334. For example, when the speed limit is less than 30 miles per hour, low speed distance 336 may require a minimum distance 334 of 1000 feet. Medium speed distance 338 provides an instance of minimum distance 334 that is longer than low speed distance 336 and shorter than high speed distance 340. For example, when the speed limit is at least 30 miles per hour and less than 45 miles per hour, medium speed distance 338 may provide a minimum distance 334 of 2000 feet.
[0099] The high speed distance 340 may require an instance of the minimum distance 334 that is longer than the medium speed distance 338 and shorter than the maximum speed distance 342. For example, when the speed limit is at least 45 miles per hour and less than 65 miles per hour, the high speed distance 340 may require a minimum distance 334 of 0.8 miles. The maximum speed distance 342 may require an instance of the minimum distance 334 that is longer than the higher speed distance 340. For example, when the speed limit is at least 65 miles per hour, the maximum speed distance 342 may require a minimum distance 334 of 1.6 miles. The computing system 100 may obtain the minimum distance 334 from the second device 106, an external entity, an external system, or a combination thereof. The computing system 100 may store the minimum distance 334 in the first storage interface 216, the second storage interface 240, or a combination thereof.
[0100] The foresight distance multiplier 322 is a value of at least 1, which is multiplied by the minimum distance 334 to obtain the foresight distance 308. The foresight distance multiplier 322 adjusts the minimum distance 334 based on the active map area 302. When the aspect ratio of the active map area 302 decreases, the foresight distance multiplier 322 can increase. For example, when the active map area 302 of the first display interface 206 has an aspect ratio of 0.75, the foresight distance multiplier 322 can be 1.2. As another example, when the active map area 302 of the second display interface 234 has an aspect ratio of 0.5, the foresight distance multiplier 322 can be 1.4. The computing system 100 can calculate the foresight distance multiplier 322 with the first control unit 210, the second control unit 238, or a combination thereof. The computing system 100 can calculate the foresight distance 308 by multiplying the minimum distance 334 with the foresight distance multiplier 322 with the first control unit 210, the second control unit 238, or a combination thereof.
[0101] The computing system 100 can generate a camera view 324 based on the forward view distance 308. The camera view 324 is the tilt angle and magnification of the map 310 displayed in the active map area 302. The camera view 324 can be represented using categories. The categories can indicate the range of the forward view distance 308. For example, the categories can be a low speed view 311, a medium speed view 313, a high speed view 315, and a maximum speed view 317.
[0102] The low speed view 326 can represent a camera view 324 of the map 310 that provides the shortest instance of the foresight distance 308. For example, the low speed zoom 326 can provide a minimum view of the map 310 from a viewpoint directly above the current location 304, also known as a bird's eye view. The medium speed zoom 328 can represent a camera view 324 of the map 310 that provides an instance of the foresight distance 308 that is longer than the low speed zoom 326 and shorter than the high speed zoom 330. For example, the medium speed zoom 328 can provide a view of the map 310 that is greater than the low speed zoom 326 and less than the high speed zoom 330 from a viewpoint tilted at a low inclination, also known as a bird's eye view.
[0103] The high speed zoom 330 may represent an instance of a camera view 324 of the map 310 that provides a longer forward-looking distance 308 than the medium speed zoom 328 and shorter than the maximum speed zoom 332. For example, the high speed zoom 330 may provide a view of the map 310 that is greater than the medium speed zoom 328 and less than the maximum speed zoom 332 from a viewpoint tilted at a higher tilt than the medium speed zoom 328. The maximum speed zoom 332 may represent an instance of a camera view 324 of the map 310 that provides a longer forward-looking distance 308 than the higher speed zoom 330. For example, the maximum speed zoom 332 may provide a maximum view of the map 310 from a viewpoint tilted at the highest tilt.
[0104] The computing system 100 can generate the camera view 324 as a low speed zoom 326, a medium speed zoom 328, a high speed zoom 330, and a maximum speed zoom 332 based on the forward viewing distance 308. The computing system 100 can generate the camera view 324 using the first control unit 210, the second control unit 238, or a combination thereof. The computing system 100 can generate the camera view 324 using the first control unit 210, the second control unit 238, or a combination thereof.
[0105] Continuing with this example, the computing system 100 can generate the current zoom level 306 by generating a camera view 324 based on the forward sight distance 308 for the current speed limit 318, the current road type 320, or a combination thereof. The computing system 100 can generate the current zoom level 306 using the camera view 324 and the forward sight distance 308 using the first control unit 210, the second control unit 238, or a combination thereof.
[0106] Reference now Figure 4 , where Figure 14. An exemplary display interface of computing system 100 when operating in active guidance mode 402. Active guidance mode 402 refers to a mode of computing system 100 in which computing system 100 calculates a route for a user to follow to reach route destination 404. For example, active guidance mode 402 may provide instructions for guiding a user or vehicle along a route to follow. As a specific example, the guidance may include step-by-step instructions for traversing the route.
[0107] Route destination 404 refers to a geographic location or point of interest to which the user wants to navigate. Route destination 404 may include an endpoint or end point of a route or guidance. Route destination 404 may also include waypoints or intermediate stops. For example, route destination 404 may be a store, a landmark, an office building or location, a park, an address, a general geographic area, a street, a city or municipality, or a combination thereof. For another example, when guidance terminates at a particular instance of a waypoint, the waypoint of the route may represent route destination 404.
[0108] For the sake of brevity, in this embodiment, reference is made to Figure 2 The first display interface 206 and the first user interface 254 of FIG. 1 , however, the description of the first display interface 206 and the first user interface 256 may be similarly applicable to Figure 2 The second display interface 234 and the second user interface 228 .
[0109] In one embodiment, the first display interface 206 in conjunction with the first user interface 254 enables a user of the computing system 100 to enter a route destination 404 to enable the active guidance mode 402 of the computing system 100. The user may enter the route destination 404 by using alphanumeric characters, symbols, voice commands, gestures, or a combination thereof. For example, the user may enter the route destination 404 by interfacing with the first user interface 254, the second user interface 228, or a combination thereof. As a further example, the user may enter the route destination 404 by interfacing with the first user interface 254, the second user interface 228, or a combination thereof. Figure 2 The first audio interface 204, Figure 2 The route destination 404 is inputted through the second audio interface 232 or a combination of the interfaces thereof.
[0110] Continuing with this example, once the user enters route destination 404, computing system 100 can determine driving route 406 for the user to navigate. Driving route 406 is a path to navigate from current location 304 to route destination 404. For example, driving route 406 can be determined based on the shortest distance to route destination 404, the fastest time to reach route destination 404, avoiding tolls to route destination 404, or other constraints.
[0111] Continuing with this example, the first display interface 206 can display the driving route 406 and any additional instances of the driving route 406 generated based on different constraints. For example, the navigation system 100 can display the driving route 406 based on the shortest distance to the route destination 404. As another example, the computing system 100 can display the driving route 406 based on the fastest time to reach the route destination 404. As a further example, the computing system 100 can display the driving route 406 based on road restrictions, such as avoiding toll roads or avoiding highways.
[0112] Continuing with this example, the first display interface 206 can display the current location 304. The current location 304 can represent a starting point for determining a driving route 406 to a route destination 404. The current location 304 can also represent a present location along the driving route 406 to the route destination 404.
[0113] Continuing with this example, the computing system 100 can provide step-by-step instructions to the user of the maneuver 408. The maneuver 408 is a movement or series of movements that continues on the current road segment 316 or travels from the current road segment 316 to a further road segment 410. For example, the maneuver 408 can be a merge, a turn, a U-turn, a lane change, an exit, an entrance, a roundabout, or a combination thereof. The above list is not meant to be limiting. The computing system 100 can provide visual instructions to the user on the first display interface 206. As a further example, the computing system 100 can provide audible instructions to the user through the first audio interface 204, the second audio interface 232, or a combination thereof. The computing system 100 can determine the maneuver 408 from the map 310, the map information 314, or a combination thereof obtained from the second device 106, an external entity, an external system, or a combination thereof. As a further example, the computing system 100 can determine the maneuver 408 using sensors such as cameras, infrared detectors, radar detectors, light detection and ranging (LIDAR) units, or a combination thereof.
[0114] The further road segment 410 is a road connected to the current road segment 316 with the maneuver 408. The further road segment 410 is not the current road segment 316. For example, the further road segment 410 may be the next road that the user will need to travel on the driving route 406 to the route destination 404. As a further example, the further road segment 410 may be the road that the user will enter after completing the maneuver 408 from the current road segment 316. The computing system 100 may determine the further road segment 410 and any additional instances of the further road segment 410 using the first control unit 210, the second control unit 240, or a combination thereof.
[0115] The computing system 100 may determine a further speed limit 412 for the further road segment 410 and any additional instances of the further road segment 410. The further speed limit 412 is a maximum legal speed limit specified on the further road segment 410. The computing system 100 may determine a further speed limit 412 for the further road segment 410 and any additional instances of the further road segment 410. Figure 3 Map 310, Figure 3 The computing system 100 may determine the further speed limit 412 using the map information 314 or a combination thereof. The further speed limit 412 may be obtained from the second device 106, an external entity, an external system, or a combination thereof. As a further example, the computing system 100 may determine the further speed limit 412 using sensors such as cameras, infrared detectors, radar detectors, light detection and ranging (LIDAR) units, or a combination thereof.
[0116] The computing system 100 may automatically set a further zoom level 414 when determining the further speed limit 412. The further zoom level 414 is a camera view 324 of the map 310 that is automatically set based on the look-ahead distance 308 of the further speed limit 412. For example, when the further speed limit 412 requires a look-ahead distance 308 based on the low speed distance 336, the further zoom level 414 may be set with the low speed view 311. As a further example, when the further speed limit 412 requires a look-ahead distance 308 based on the high speed distance 340, the further zoom level may be set with the high speed view 315.
[0117] The computing system 100 "automatically" generates the further zoom level 414, which means that the further zoom level 414 of the further road segment 410 is set, generated, or a combination thereof based on the further speed limit 412 without input from the user. The computing system 100 can generate the further zoom level 414 based on the forward sight distance 308 for the further speed limit 412 using the first control unit 210, the second control unit 238, or a combination thereof.
[0118] The computing system 100 may also automatically determine the further zoom level 414 based on the further road type 416. The further road type 416 is a road classification based on the road segment speed limit 336 of the further road segment 416. For example, the further road type 416 may be determined as a low speed road 338, a medium speed road 340, a high speed road 342, or a maximum speed road 344. The computing system 100 may determine the further road type 416 for the further road segment 410 when the further speed limit 412 is not available or is unavailable.
[0119] The computing system 100 may utilize the map 310, the map information 314, or a combination thereof to determine the road segment speed limit 336 for the further road type 416. For example, the computing system 100 may determine the road segment speed limit 336 for the further road type 416 from the map information 314 obtained from the second device 106, an external entity, an external system, or a combination thereof.
[0120] The computing system 100 "automatically" sets the further zoom level 414, which means that the further zoom level 414 of the further road segment 410 is set, generated, or a combination thereof based on the further road type 416 without input from the user. The computing system 100 can set the further zoom level 414 with the first control unit 210, the second control unit 238, or a combination thereof. The computing system 100 can generate the further zoom level 414 based on the foresight distance 308 for the further road type 416 with the first control unit 210, the second control unit 238, or a combination thereof.
[0121] Reference now Figure 5 , when operating in free drive mode 502 Figure 1 Free driving mode 502 refers to a mode of computing system 100 in which computing system 100 is in a state without Figure 4 The computing system 100 operates without the input of the route destination 404. Figure 4 The active guided mode 402 is operated in the free driving mode 502 .
[0122] During operation in free driving mode 502, computing system 100 may operate without Figure 4 When in free driving mode 502, the computing system 100, Figure 1 The first device 102, Figure 1 The second device 106 or a combination thereof may detect, send, receive, or a combination thereof the current location 304. The current location 304 may be updated dynamically and in real time. The computing system 100 may use Figure 2 The first location unit 214, Figure 2 The second location unit 246 or a combination thereof is used to track the current location 304.
[0123] The computing system 100 can track the current driving speed 504 using the first device 102, the second device 106, or a combination thereof. The computing system 100 can use Figure 2 The first location unit 214, Figure 2The current driving speed 504 can be tracked based on the second location unit 246 or a combination thereof. For example, the current driving speed 504 can be tracked based on a measurement of the current speed limit 318.
[0124] The computing system 100 can detect the speed change 506 based on the current speed limit 318, the current driving speed 504, or a combination thereof. The speed change 506 occurs when the current speed limit 318, the current driving speed 504, or a combination thereof falls outside the speed limit range of the minimum distance 320 for the current zoom level 306. For example, when the current driving speed 504 exceeds the minimum distance 320 for the current zoom level 306, the speed change 506 occurs. Figure 3 When the speed upper limit range of the minimum distance 320 is reached, the speed change 506 is detected. The computing system 100 can detect the speed change 506 using the first device 102, the second device 106, or a combination thereof.
[0125] Computing system 100 can generate speed scaling adjustment 508 when speed change 506 is detected. Speed scaling adjustment 508 displays map 310 using camera view 324 of an instance with minimum distance 320 based on current speed limit 318, current travel speed 504, or a combination thereof. Computing system 100 can use Figure 2 The first control unit 210, Figure 2 The computing system 100 can utilize the first control unit 210, the second control unit 238, or a combination thereof to generate a speed scaling adjustment 508 with the camera view 324 based on the current speed limit 318, the current driving speed 504, or a combination thereof. The computing system 100 can utilize the first control unit 210, the second control unit 238, or a combination thereof to update the current zoom level 306 to the speed scaling adjustment 508.
[0126] Continuing with this example, computing system 100 may track Figure 3 The computing system 100 may detect the road segment change 510 by determining the current road type 320 of the current road segment 316. The road segment change 510 is a change in the current road type 320 when traveling on the current road segment 316. For example, when the current location 304 is detected on the current road segment 316, the road segment change 510 occurs when the current speed limit 318 changes. As a further example, when the current location 304 is detected on the current road segment 316, the road segment change 510 occurs when the current road type 320 changes. The computing system 100 may detect the road segment change 510 by determining the current speed limit 318, the current road type 320, or a combination thereof from the map 310, the map information 314, or a combination thereof.
[0127] The computing system 100 can generate a road segment zoom adjustment 512 when the road segment change 510 is detected. The road segment zoom adjustment 512 is to display the map 310 using the camera view 324 and the front view distance 308 based on the road segment change 510. The computing system 100 can generate the road segment zoom adjustment 512 based on the current road type 320 using the first control unit 210, the second control unit 238, or a combination thereof.
[0128] Reference now Figure 6 , which shows an exemplary control flow 600 of the computing system 100. In one embodiment, the computing system 100 may include an activity area module 602, a user input module 604, a route determination module 606, an information module 608, a map display module 610, a preparation module 610, a conversion module 610, and an action module 610.
[0129] As an example, the activity area module 602 can be coupled to the user input module 604. The user input module 604 can be coupled to the route determination module 606 and the information module 610. The route determination module 606 can be coupled to the information module 610. The information module 610 can be coupled to the map display module 610. The map display module 610 can be coupled to the preparation module 612. The preparation module 612 can be coupled to the transformation module 614. The transformation module 614 can be coupled to the action module 616. The action module 616 can be coupled to the map display module 610.
[0130] The activity area module 602 can determine Figure 2 The first display interface 206, Figure 2 The second interface 234 or a combination thereof Figure 3 The active map area 302. The active area module 602 can calculate the foresight distance multiplier 322 based on the active map area 302. The active area module 602 can Figure 2 The first control unit 210, Figure 2 The second control unit 238 or a combination thereof calculates the forward-looking multiplier 322. The activity area module 602 may store the forward-looking distance multiplier 332 in Figure 2 The first storage unit 216, Figure 2 Once the active area module 602 determines the forward-looking distance multiplier 322, control is passed to the user input module 604 so that the computing system 100 can receive the user's input. Figure 4 The route destination is 404.
[0131] The user input module 604 can detect whether the user of the computing system 100 has passed the Figure 2 The first user interface 254, Figure 2The second user interface 228 or a combination thereof is input Figure 4 The user input module 604 may set one or more of the flags 618 to indicate that the user has entered the route destination 404. The flag 618 refers to a software or hardware flag, variable, condition, or combination thereof that indicates a particular condition or state. For example, the user input module 604 may detect whether the user has entered an alphanumeric character or symbol indicating the route destination 404 by interfacing with the first display interface 206, the second display interface 234, or a combination thereof. If the alphanumeric character or symbol is detected and the route destination 404 is verified, then Figure 4 The proactive guidance module 402 can set one or more of the flags 618 to a value, such as “yes” or “1,” to indicate that the route destination 404 has been entered by the user.
[0132] As a further example, the user input module 604 can detect whether the user Figure 2 The first audio interface 204, Figure 2 The user input module 604 may input a voice command indicating the route destination 404 through the second audio interface 232 or a combination thereof. If the user input module 604 recognizes the voice command instructing the computing system 100 to find the route destination 404 and verifies the route destination 404, the user input module 604 may set one or more of the flags 618 to a value such as “yes” or “1” to indicate that the route destination 404 has been input by the user.
[0133] If user input module 604 sets one or more of flags 618 to a value indicating that route destination 404 has been received, user input module 604 can determine that computing system 100 is to operate in active guidance mode 402. When operating in active guidance mode 402, computing system 100 can pass control to route determination module 606.
[0134] Alternatively, if the user input module 604 does not set one or more of the flags 618 to a value indicating that the route destination 404 has been received, the user input module 604 may determine that the computing system 100 is not in the Figure 5 When operating in the free driving mode 502 , the computing system 100 may pass control to the information module 608 .
[0135] Continuing with this example, upon determining that the computing system 100 is operating in the active guidance mode 402, the user input module 604 can pass control to the route determination module 606. The route determination module 606 can determine the route to the route destination 404. Figure 4 The driving route 406 is as follows: Figure 4The method may be carried out in any conventional manner known to those skilled in the art and according to the Figure 4 The above description is used to make a determination on driving route 406.
[0136] Alternatively, in another embodiment, upon determining that the operating system 100 is operating in the free driving mode 502, the user input module 604 may pass control to the information module 608. The information module 608 may obtain Figure 3 Current location 304, Figure 3 Direction 312, Figure 3 Map 310, Figure 3 map information 314, or a combination thereof.
[0137] The information module 608 can dynamically and in real time determine the current location 304 and track the current location 306. The current location 306 can be used Figure 2 The first display interface 206, Figure 2 The second display interface 234 or a combination thereof is displayed in the direction 312 of the user. The information module 608 can obtain the map 310, the map information 314 or a combination thereof based on the current location 306.
[0138] The information module 608 may obtain the current location 304 from the first location unit 214, the second location unit 246, or a combination thereof. The information module 608 may obtain the map 310, the map information 314, or a combination thereof using the first communication unit 214, the second communication unit 226, or a combination thereof. For example, the information module 608 may obtain Figure 3 The current section 316, Figure 3 The current speed limit is 318. Figure 3 Current road type 320, Figure 5 Once the information module 608 determines the current speed limit 318, the current road type 320, the current driving speed 504, or a combination thereof, control is passed to the map display module 610 to set and display the current zoom level 306, the speed zoom adjustment 508, or the road segment zoom adjustment 512.
[0139] The map display module 610 can generate the current zoom level 306 based on the current speed limit 318, the current road type 320, or a combination thereof. The map display module 610 can obtain the current speed limit 318, the current road type 320, or a combination thereof from the second device 106, an external entity, an external system, or a combination thereof. The map display module 610 can obtain the current speed limit 318, the current road type 320, or a combination thereof to determine the minimum distance 334 as Figure 3 Low speed distance 336, Figure 3 Medium speed distance 338, Figure 3High speed distance 340 or Figure 3 The maximum speed distance is 342.
[0140] The map display module 610 can calculate the foresight distance 308 based on the minimum distance 334 and the foresight distance multiplier 322. The map display module 610 uses the foresight distance 308 to set the camera view 324 to Figure 3 Slow zoom 326, Figure 3 Medium speed zoom 328, Figure 3 The height of the scale is 330, or Figure 3 For example, the map display module 610 can determine the current road type 320 as Figure 3 The map display module 610 may determine the current road type 320 as the high-speed road 342 and set the high-speed zoom 330 to the current zoom level 306 .
[0141] Upon detecting the speed change 506 , the map display module 610 can generate the speed scaling adjustment 508 . The map display module 610 can detect the speed change 506 by tracking the current driving speed 504 .
[0142] The map display module 610 may determine the camera view 324 of the current zoom level 306 and the updated zoom level 506 using the first control unit 210, the second control unit 238, or a combination thereof. The map display module 610 may determine the current driving speed 506 using the first location unit 214, the second location unit 246, or a combination thereof. The map display module 610 may send the current zoom level 306 for display using the first communication unit 214, the second communication unit 226, or a combination thereof. Once the map display module 610 displays the current location 304, the direction 312, the map 310, the map information 314, the current zoom level 306, the updated zoom level 506, or a combination thereof, control is passed to the preparation module 612 to set Figure 4 A further zoom level of 414 is shown.
[0143] The preparation module 612 sets the further zoom level 414 for the further road segment 410 by determining the further speed limit 412, the further road type 416, or a combination thereof. In an embodiment where the computing system 100 operates in the active guidance mode 402, the preparation module 612 may determine the further road segment 410 based on the driving route 406 to the route destination 404 and any additional instances of the driving route 406. The preparation module 612 may obtain the further speed limit 412, the further road type 416, or a combination thereof for the further road segment 410 along the driving route 406 and any additional instances of the driving route 406 to obtain the camera view 324 for the further zoom level 414.
[0144] In an alternative embodiment where the computing system 100 operates in the free driving mode 502, the preparation module 612 may determine the further road segment 410 based on the user's direction 312. The preparation module 612 may obtain further speed limits 412, further road types 416, or a combination thereof for the further road segment 410 and any additional instances of the further road segment 410 connected to the current road segment 316 on the user's direction 312. The preparation module 612 may obtain further speed limits 412, further road types 416, or a combination thereof for the further road segment 410 on the user's direction 312 to obtain the camera view 324 for the further zoom level 414.
[0145] The preparation module 612 may obtain further road segments 410, further speed limits 412, further road types 416, directions 312, or a combination thereof from the map 310, the map information 314, or a combination thereof. Once the preparation module 612 sets the further zoom level 414, control is passed to the transition module 614 to generate a transition view 620 between the current zoom level 306 and the further zoom level 414.
[0146] The transition module 614 generates a transition view 620 to be displayed between the current zoom level 306 and the further zoom level 414. The transition view 620 is a camera view 324 that provides visual guidance for the maneuver 408, the further road segment 410, or a combination thereof. The transition module 614 can display the transition view 620 when the current location 304 is before or on the maneuver 408. For example, when the current location 304 is determined to be 20 feet before the maneuver 408, the transition view 620 can provide a camera view 324 of the maneuver 408, the further road segment 410, or a combination thereof. As a further example, when the current location 304 is determined to be on a maneuver 408 that turns left, the transition view 620 can provide a camera view 324 of the left turn.
[0147] The transition module 614 can generate a transition view 620 with the first control unit 210, the second control unit 238, or a combination thereof to display the maneuver 408, the further road segment 410, or a combination thereof. When the current position 304 is located at the operation 408, the transition module 614 can update the current zoom level 306 on the first display interface 206, the second display interface 234, or a combination thereof to the transition view 620. Once the transition module 614 displays the transition view 620, control is passed to the action module 616 to display the further zoom level 414 as the current zoom level 306.
[0148] The action module 616 sets the further zoom level 414 as the current zoom level 306 by determining that the current position 304 is located on the further road segment 410. The action module 616 determines that the current position 304 is located on the further road segment 410 using the first position unit 214, the second position unit 246, or a combination thereof. Once the further zoom level 414 is set as the current zoom level 306, control is passed to the map display module 610.
[0149] It has been discovered that computing system 100 having an automatic zoom mechanism allows users of computing system 100 to have greater efficiency and reliability during navigation because it allows computing system 100 to provide a view of map 310 with forward viewing distance 308 based on current speed limit 318 .
[0150] It has also been discovered that the computing system 100 with an automatic zoom mechanism promotes and provides greater safety for users of the computing system 100 than traditional methods because it allows the user to avoid having to manually adjust the camera view 324 while driving. For example, a user of the computing system 100 can avoid having to manually adjust the camera view 324 while operating a vehicle.
[0151] It has been discovered that a computing system 100 having an automatic zoom mechanism allows a user of the computing system 100 to have greater efficiency and reliability during navigation because it allows the computing system 100 to set a further zoom level 414 before the current location 304 is located on a further road segment 410 .
[0152] It has also been discovered that a computing system 100 having an automatic zoom mechanism allows the computing system 100 to be more efficient and reliable by determining an active map area 302 and a foresight distance multiplier 322 for displaying a current zoom level 306, a further zoom level 414, an updated zoom level 506, or a combination thereof to provide a foresight distance 308 based on an aspect ratio of the display.
[0153] The modules described in this application can be hardware implementations or hardware accelerators in the first storage unit 216, the second storage unit 240, the first control unit 210, the second control unit 238, or a combination thereof, including passive circuits, active circuits, or both. The modules can also be hardware implementations or hardware accelerators in the first device 102, the second device 106, or a combination thereof, but outside the first storage unit 216, the second storage unit 240, the first control unit 210, the second control unit 238, or a combination thereof, including passive circuits, active circuits, or both.
[0154] The computing system 100 has been described using module functions or sequences as examples. The computing system 100 may divide the modules differently or sequence the modules differently. Figure 2 The first software 220 may include modules of the computing system 100. As a specific example, the first software 220 may include an activity area module 602, a user input module 604, a route determination module 606, an information module 608, a map display module 610, a preparation module 612, a conversion module 614, and an action module 616, as well as associated sub-modules included therein.
[0155] The first control unit 210 can execute the first software 220 to operate the modules. For example, the first control unit 210 can implement an activity area module 602, a user input module 604, a route determination module 606, an information module 608, a map display module 610, a preparation module 612, a conversion module 614, and an action module 616, as well as associated submodules included therein.
[0156] In another example of module partitioning, the second device 106 Figure 2 The second software 244 may include modules of the computing system 100. As a specific example, the second software 244 may include an activity area module 602, a user input module 604, a route determination module 606, an information module 608, a map display module 610, a preparation module 612, a conversion module 614, and an action module 616, as well as associated sub-modules included therein.
[0157] The second control unit may execute the second software 244 to operate the modules. For example, the second control unit 238 may implement an activity area module 602, a user input module 604, a route determination module 606, an information module 608, a map display module 610, a preparation module 612, a conversion module 614, and an action module 616, as well as associated submodules included therein.
[0158] The computing system 100 has been described with module functions or order as examples. The computing system 100 may divide the modules differently or order the modules differently. For example, various modules may be implemented in different devices, or the functions of the modules may be distributed across multiple devices. Also as an example, various modules may be stored in a non-transitory storage medium.
[0159] The modules described in this application may be implemented as instructions stored on a non-transitory computer-readable medium to be executed by the first control unit 210, the second control unit 238, or a combination thereof. The non-transitory computer medium may include the first storage unit 216, the second storage unit 240, or a combination thereof. The non-transitory computer-readable medium may include a non-volatile memory, such as a hard drive, a non-volatile random access memory (NVRAM), a solid-state storage device (SSD), a compact disk (CD), a digital video disk (DVD), or a universal serial bus (USB) flash memory device. The non-transitory computer-readable medium may be integrated as part of the computing system 100, or installed as a removable part of the computing system 100.
[0160] Reference now Figure 7 , which shows an exemplary flow chart of an operating method 700 of the computing system 100 in another embodiment of the present invention. The method 700 includes: in block 702, based on the current road type of the current road segment of the current position located along the current road segment; in block 704, based on the current road type, generating a current zoom level of a map including the current position on the current road segment; in block 706, generating a camera view of the map based on the forward view distance of the current road type; and in block 708, communicating the current zoom level to display the current position along the current road segment.
[0161] The method also includes generating a current zoom level based on a current speed limit for the current road segment.Method 700 also includes detecting a current driving speed; generating a speed zoom adjustment based on the current driving speed; and updating the current zoom level to the speed zoom adjustment based on the current driving speed.
[0162] The method 700 also includes determining a maneuver from the current road segment to a further road segment representing a further road type; generating a further zoom level based on the further road type; and updating the current zoom level to the further zoom level based on the current location associated with the maneuver.
[0163] The method 700 also includes detecting a segment change along the current segment; generating a segment zoom adjustment based on the segment change along the current segment; and updating the current zoom level using the segment zoom adjustment.
[0164] The method 700 also includes detecting that the current location enters a maneuver; generating a transition view for the maneuver and further road segments based on the current location; and updating the current zoom level to the transition view when the current location is associated with the maneuver. The method 700 also includes calculating a look ahead distance multiplier based on the active map area.
[0165] The resulting method, process, apparatus, device, product and / or system is cost-effective, highly versatile, accurate, and can be implemented by adapting components for readily available, efficient and economical manufacture, application and utilization. Another important aspect of the embodiments of the present invention is that it valuable supports and serves the historical trend of reducing costs, simplifying systems and improving performance.
[0166] Therefore, these and other valuable aspects of the embodiments of the present invention further promote the state of the art to at least the next level. Although the present invention has been described in conjunction with a specific best mode, it should be understood that many substitutions, modifications and variations will be apparent to those skilled in the art based on the description herein. Therefore, it is intended to cover all such substitutions, modifications and variations that fall within the scope of the included claims. All matters set forth herein or shown in the accompanying drawings should be interpreted in an illustrative, non-restrictive sense.
Claims
1. A method for operating a computing system, comprising: Determining a current road type of the current road segment based on a current position located along the current road segment; generating, based on the current road type, a current zoom level of a map including the current location on the current road segment; generating a camera view of the map based on a lookahead distance for the current road type, wherein the lookahead distance is a physical distance between the current location and a real-world location of a top edge of a map displayed in an active map area of a display interface, wherein the lookahead distance is calculated based on a minimum distance and a lookahead distance multiplier, the minimum distance being a minimum of a lookahead distance based on a current speed limit for the current road segment, and the lookahead distance multiplier being based on an aspect ratio of the active map area, including the lookahead distance multiplier increasing as the aspect ratio of the active map area decreases; as well as The current zoom level is communicated to display the current location along the current road segment in an active map area of the display interface.
2. The method of claim 1, further comprising: Detect current driving speed; generating a speed scaling adjustment based on the current travel speed; as well as Based on the current driving speed, the current zoom level is updated to the speed zoom adjustment.
3. The method of claim 1, further comprising: determining a transfer from the current road segment to a further road segment representing a further road type; Based on the further road type, generating a further zoom level; and The current zoom level is updated to the further zoom level based on the current position associated with the maneuver.
4. The method of claim 1, further comprising: detecting a route segment change along the current route segment; generating a segment scaling adjustment based on the segment change along the current segment; as well as The current zoom level is updated with the road segment zoom adjustment.
5. The method of claim 1, further comprising: Detecting the current position to enter the maneuver; generating a transition view for the maneuver and further segments based on the current position; as well as When the current position is on the translation, the current zoom level is updated to the transition view.
6. A computing system comprising: A control unit configured to: Determining a current road type of the current road segment based on a current position located along the current road segment; generating, based on the current road type, a current zoom level of a map including the current location on the current road segment; generating a camera view of the map based on a lookahead distance for the current road type, wherein the lookahead distance is a physical distance between the current location and a real-world location of a top edge of a map displayed in an active map area of a display interface, wherein the lookahead distance is calculated based on a minimum distance and a lookahead distance multiplier, the minimum distance being a minimum of a lookahead distance based on a current speed limit for the current road segment, and the lookahead distance multiplier being based on an aspect ratio of the active map area, including the lookahead distance multiplier increasing as the aspect ratio of the active map area decreases; as well as a communication unit, coupled to the control unit, the communication unit being configured to: The current zoom level is communicated to display the current location along the current road segment in an active map area of the display interface.
7. The system of claim 6, wherein: The control unit is further configured to: Detect current driving speed; generating a speed scaling adjustment based on the current travel speed; as well as Based on the current driving speed, the current zoom level is updated to the speed zoom adjustment.
8. The system of claim 6, wherein: The control unit is further configured to: determining a transfer from the current road segment to a further road segment representing a further road type; Based on the further road type, generating a further zoom level; and When the current position is located along the further road segment, the current zoom level is updated to the further zoom level.
9. The system of claim 6, wherein: The control unit is further configured to: detecting a route segment change along the current route segment; generating a segment scaling adjustment based on the segment change along the current segment; as well as The current zoom level is updated with the road segment zoom adjustment.
10. The system of claim 6, wherein: The control unit is further configured to: Detecting the current position to enter the maneuver; generating a transition view for the maneuver and further segments based on the current position; as well as When the current position is on the translation, the current zoom level is updated to the transition view.
11. A non-transitory computer-readable medium comprising instructions executable by a control unit for a computing system, comprising: Determining a current road type of the current road segment based on a current position located along the current road segment; generating, based on the current road type, a current zoom level of a map including the current location on the current road segment; generating a camera view of the map based on a lookahead distance for the current road type, wherein the lookahead distance is a physical distance between the current location and a real-world location of a top edge of a map displayed in an active map area of a display interface, wherein the lookahead distance is calculated based on a minimum distance and a lookahead distance multiplier, the minimum distance being a minimum of a lookahead distance based on a current speed limit for the current road segment, and the lookahead distance multiplier being based on an aspect ratio of the active map area, including the lookahead distance multiplier increasing as the aspect ratio of the active map area decreases; as well as The current zoom level is communicated to display the current location along the current road segment in an active map area of the display interface.
12. The non-transitory computer readable medium of claim 11, further comprising: Detect current driving speed; generating a speed scaling adjustment based on the current travel speed; as well as Based on the current driving speed, the current zoom level is updated to the speed zoom adjustment.
13. The non-transitory computer readable medium of claim 11, further comprising: determining a transfer from the current road segment to a further road segment representing a further road type; generating a further zoom level based on the further road type; as well as When the current position is located along the further road segment, the current zoom level is updated to the further zoom level.
14. The non-transitory computer readable medium of claim 11, further comprising: detecting a route segment change along the current route segment; generating a segment scaling adjustment based on the segment change along the current segment; as well as The current zoom level is updated with the road segment zoom adjustment.
15. The non-transitory computer readable medium of claim 11, further comprising: Detecting the current position to enter the maneuver; generating a transition view for the maneuver and further segments based on the current position; as well as When the current position is on the translation, the current zoom level is updated to the transition view.
Citation Information
Patent Citations
Navigator
US20040117109A1
In-vehicle navigation apparatus and method
US20080275645A1
Personal GPS navigation device
US20090138194A1