Higher-resolution terrain elevation data from low-resolution terrain elevation data

A terrain elevation data generation method includes: obtaining, at an apparatus, a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; and applying, at the apparatus, the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

BACKGROUND

Wireless communication systems have developed through various generations, including a first-generation analog wireless phone service (1G), a second-generation (2G) digital wireless phone service (including interim 2.5G and 2.75G networks), a third-generation (3G) high speed data, Internet-capable wireless service, a fourth-generation (4G) service (e.g., Long Term Evolution (LTE) or WiMax), a fifth-generation (5G) service, etc. There are presently many different types of wireless communication systems in use, including Cellular and Personal Communications Service (PCS) systems. Examples of known cellular systems include the cellular Analog Advanced Mobile Phone System (AMPS), and digital cellular systems based on Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Time Division Multiple Access (TDMA), the Global System for Mobile access (GSM) variation of TDMA, etc.

Mobile devices, that may be connected to wireless communication systems, may provide various data internally or externally, e.g., to users of the mobile devices. Mobile devices are often limited in the amount of information that may be stored by the mobile devices. Data storage limitations may affect the amount and/or type of information that may be stored and used by a mobile and/or provided to a user of the mobile device.

SUMMARY

In an embodiment, an apparatus includes: an interface; a memory; and a processor, communicatively coupled to the memory and the interface, configured to: obtain a low-resolution data set, the low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; and apply the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

In an embodiment, a terrain elevation data generation method includes: obtaining, at an apparatus, a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; and applying, at the apparatus, the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

In an embodiment, an apparatus includes: means for obtaining a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; and means for applying the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

In an embodiment, a non-transitory, processor-readable storage medium includes processor-readable instructions to cause a processor of an apparatus to: obtain a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; and apply the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

DETAILED DESCRIPTION

Techniques are discussed herein for producing and using high-resolution data from low-resolution stored data. For example, an apparatus may store low-resolution data such as low-resolution terrain elevation data. The apparatus may retrieve some or all of the low-resolution data and use a resolution enhancing model (e.g., a mathematical model produced using machine learning, such as deep machine-learning such as a generative adversarial network) to produce higher-resolution data. The higher-resolution data may be provided, e.g., to a user through a user interface such as a display. For example, higher-resolution terrain elevation data may be displayed to a user, e.g., to provide a more detailed terrain map than possible using the low-resolution data alone. As another example, a portion of a terrain map may be expanded (zoomed in on) and the expanded portion of the terrain map displayed with better resolution than providable by the low-resolution data alone, e.g., with the same resolution as, or better resolution than, the low-resolution data before expansion. Other configurations may be used.

Items and/or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. Higher-resolution data may be provided at an apparatus without storing the higher-resolution data on the apparatus. Other capabilities may be provided and not every implementation according to the disclosure must provide any, let alone all, of the capabilities discussed.

Obtaining the locations of mobile devices that are accessing a wireless network may be useful for many applications including, for example, emergency calls, personal navigation, consumer asset tracking, locating a friend or family member, etc. Existing positioning methods include methods based on measuring radio signals transmitted from a variety of devices or entities including satellite vehicles (SVs) and terrestrial radio sources in a wireless network such as base stations and access points. It is expected that standardization for the 5G wireless networks will include support for various positioning methods, which may utilize reference signals transmitted by base stations in a manner similar to which LTE wireless networks currently utilize Positioning Reference Signals (PRS) and/or Cell-specific Reference Signals (CRS) for position determination.

The description may refer to sequences of actions to be performed, for example, by elements of a computing device. Various actions described herein can be performed by specific circuits (e.g., an application specific integrated circuit (ASIC)), by program instructions being executed by one or more processors, or by a combination of both. Sequences of actions described herein may be embodied within a non-transitory computer-readable medium having stored thereon a corresponding set of computer instructions that upon execution would cause an associated processor to perform the functionality described herein. Thus, the various aspects described herein may be embodied in a number of different forms, all of which are within the scope of the disclosure, including claimed subject matter.

A base station may operate according to one of several RATs in communication with UEs depending on the network in which it is deployed. Examples of a base station include an Access Point (AP), a Network Node, a NodeB, an evolved NodeB (eNB), or a general Node B (gNodeB, gNB). In addition, in some systems a base station may provide purely edge node signaling functions while in other systems it may provide additional control and/or network management functions.

UEs may be embodied by any of a number of types of devices including but not limited to printed circuit (PC) cards, compact flash devices, external or internal modems, wireless or wireline phones, smartphones, tablets, consumer asset tracking devices, asset tags, and so on. A communication link through which UEs can send signals to a RAN is called an uplink channel (e.g., a reverse traffic channel, a reverse control channel, an access channel, etc.). A communication link through which the RAN can send signals to UEs is called a downlink or forward link channel (e.g., a paging channel, a control channel, a broadcast channel, a forward traffic channel, etc.). As used herein the term traffic channel (TCH) can refer to either an uplink/reverse or downlink/forward traffic channel.

As used herein, the term “cell” or “sector” may correspond to one of a plurality of cells of a base station, or to the base station itself, depending on the context. The term “cell” may refer to a logical communication entity used for communication with a base station (for example, over a carrier), and may be associated with an identifier for distinguishing neighboring cells (for example, a physical cell identifier (PCID), a virtual cell identifier (VCID)) operating via the same or a different carrier. In some examples, a carrier may support multiple cells, and different cells may be configured according to different protocol types (for example, machine-type communication (MTC), narrowband Internet-of-Things (NB-IoT), enhanced mobile broadband (eMBB), or others) that may provide access for different types of devices. In some examples, the term “cell” may refer to a portion of a geographic coverage area (for example, a sector) over which the logical entity operates.

Referring toFIG.1, an example of a communication system100includes a UE105, a UE106, a Radio Access Network (RAN), here a Fifth Generation (5G) Next Generation (NG) RAN (NG-RAN)135, a 5G Core Network (5GC)140, and a server150. The UE105and/or the UE106may be, e.g., an IoT device, a location tracker device, a cellular telephone, a vehicle (e.g., a car, a truck, a bus, a boat, a flying vehicle or other flying device, etc.), or other device. A 5G network may also be referred to as a New Radio (NR) network; NG-RAN135may be referred to as a 5G RAN or as an NR RAN; and 5GC140may be referred to as an NG Core network (NGC). Standardization of an NG-RAN and 5GC is ongoing in the 3rd Generation Partnership Project (3GPP). Accordingly, the NG-RAN135and the 5GC140may conform to current or future standards for 5G support from 3GPP. The NG-RAN135may be another type of RAN, e.g., a 3G RAN, a 4G Long Term Evolution (LTE) RAN, etc. The UE106may be configured and coupled similarly to the UE105to send and/or receive signals to/from similar other entities in the system100, but such signaling is not indicated inFIG.1for the sake of simplicity of the figure. Similarly, the discussion focuses on the UE105for the sake of simplicity. The communication system100may utilize information from a constellation185of satellite vehicles (SVs)190,191,192,193for a Satellite Positioning System (SPS) (e.g., a Global Navigation Satellite System (GNSS)) like the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), Galileo, or Beidou or some other local or regional SPS such as the Indian Regional Navigational Satellite System (IRNSS), the European Geostationary Navigation Overlay Service (EGNOS), or the Wide Area Augmentation System (WAAS). Additional components of the communication system100are described below. The communication system100may include additional or alternative components.

As shown inFIG.1, the NG-RAN135includes NR nodeBs (gNBs)110a,110b, and a next generation eNodeB (ng-eNB)114, and the 5GC140includes an Access and Mobility Management Function (AMF)115, a Session Management Function (SMF)117, a Location Management Function (LMF)120, and a Gateway Mobile Location Center (GMLC)125. The gNBs110a,110band the ng-eNB114are communicatively coupled to each other, are each configured to bi-directionally wirelessly communicate with the UE105, and are each communicatively coupled to, and configured to bi-directionally communicate with, the AMF115. The gNBs110a,110b, and the ng-eNB114may be referred to as base stations (BSs). The AMF115, the SMF117, the LMF120, and the GMLC125are communicatively coupled to each other, and the GMLC is communicatively coupled to an external client130. The SMF117may serve as an initial contact point of a Service Control Function (SCF) (not shown) to create, control, and delete media sessions. Base stations such as the gNBs110a,110band/or the ng-eNB114may be a macro cell (e.g., a high-power cellular base station), or a small cell (e.g., a low-power cellular base station), or an access point (e.g., a short-range base station configured to communicate with short-range technology such as WiFi, WiFi-Direct (WiFi-D), Bluetooth®, Bluetooth®-low energy (BLE), Zigbee, etc. One or more BSs, e.g., one or more of the gNBs110a,110band/or the ng-eNB114may be configured to communicate with the UE105via multiple carriers. Each of the gNBs110a,110band the ng-eNB114may provide communication coverage for a respective geographic region, e.g. a cell. Each cell may be partitioned into multiple sectors as a function of the base station antennas.

FIG.1provides a generalized illustration of various components, any or all of which may be utilized as appropriate, and each of which may be duplicated or omitted as necessary. Specifically, although one UE105is illustrated, many UEs (e.g., hundreds, thousands, millions, etc.) may be utilized in the communication system100. Similarly, the communication system100may include a larger (or smaller) number of SVs (i.e., more or fewer than the four SVs190-193shown), gNBs110a,110b, ng-eNBs114, AMFs115, external clients130, and/or other components. The illustrated connections that connect the various components in the communication system100include data and signaling connections which may include additional (intermediary) components, direct or indirect physical and/or wireless connections, and/or additional networks. Furthermore, components may be rearranged, combined, separated, substituted, and/or omitted, depending on desired functionality.

WhileFIG.1illustrates a 5G-based network, similar network implementations and configurations may be used for other communication technologies, such as 3G, Long Term Evolution (LTE), etc. Implementations described herein (be they for 5G technology and/or for one or more other communication technologies and/or protocols) may be used to transmit (or broadcast) directional synchronization signals, receive and measure directional signals at UEs (e.g., the UE105) and/or provide location assistance to the UE105(via the GMLC125or other location server) and/or compute a location for the UE105at a location-capable device such as the UE105, the gNB110a,110b, or the LMF120based on measurement quantities received at the UE105for such directionally-transmitted signals. The gateway mobile location center (GMLC)125, the location management function (LMF)120, the access and mobility management function (AMF)115, the SMF117, the ng-eNB (eNodeB)114and the gNBs (gNodeBs)110a,110bare examples and may, in various embodiments, be replaced by or include various other location server functionality and/or base station functionality respectively.

The system100is capable of wireless communication in that components of the system100can communicate with one another (at least some times using wireless connections) directly or indirectly, e.g., via the gNBs110a,110b, the ng-eNB114, and/or the 5GC140(and/or one or more other devices not shown, such as one or more other base transceiver stations). For indirect communications, the communications may be altered during transmission from one entity to another, e.g., to alter header information of data packets, to change format, etc. The UE105may include multiple UEs and may be a mobile wireless communication device, but may communicate wirelessly and via wired connections. The UE105may be any of a variety of devices, e.g., a smartphone, a tablet computer, a vehicle-based device, etc., but these are examples as the UE105is not required to be any of these configurations, and other configurations of UEs may be used. Other UEs may include wearable devices (e.g., smart watches, smart jewelry, smart glasses or headsets, etc.). Still other UEs may be used, whether currently existing or developed in the future. Further, other wireless devices (whether mobile or not) may be implemented within the system100and may communicate with each other and/or with the UE105, the gNBs110a,110b, the ng-eNB114, the 5GC140, and/or the external client130. For example, such other devices may include internet of thing (IoT) devices, medical devices, home entertainment and/or automation devices, etc. The 5GC140may communicate with the external client130(e.g., a computer system), e.g., to allow the external client130to request and/or receive location information regarding the UE105(e.g., via the GMLC125).

The UE105or other devices may be configured to communicate in various networks and/or for various purposes and/or using various technologies (e.g., 5G, Wi-Fi communication, multiple frequencies of Wi-Fi communication, satellite positioning, one or more types of communications (e.g., GSM (Global System for Mobiles), CDMA (Code Division Multiple Access), LTE (Long-Term Evolution), V2X (Vehicle-to-Everything, e.g., V2P (Vehicle-to-Pedestrian), V2I (Vehicle-to-Infrastructure), V2V (Vehicle-to-Vehicle), etc.), IEEE 802.11p, etc.). V2X communications may be cellular (Cellular-V2X (C-V2X)) and/or WiFi (e.g., DSRC (Dedicated Short-Range Connection)). The system100may support operation on multiple carriers (waveform signals of different frequencies). Multi-carrier transmitters can transmit modulated signals simultaneously on the multiple carriers. Each modulated signal may be a Code Division Multiple Access (CDMA) signal, a Time Division Multiple Access (TDMA) signal, an Orthogonal Frequency Division Multiple Access (OFDMA) signal, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) signal, etc. Each modulated signal may be sent on a different carrier and may carry pilot, overhead information, data, etc. The UEs105,106may communicate with each other through UE-to-UE sidelink (SL) communications by transmitting over one or more sidelink channels such as a physical sidelink synchronization channel (PSSCH), a physical sidelink broadcast channel (PSBCH), or a physical sidelink control channel (PSCCH).

The UE105may comprise and/or may be referred to as a device, a mobile device, a wireless device, a mobile terminal, a terminal, a mobile station (MS), a Secure User Plane Location (SUPL) Enabled Terminal (SET), or by some other name. Moreover, the UE105may correspond to a cellphone, smartphone, laptop, tablet, PDA, consumer asset tracking device, navigation device, Internet of Things (IoT) device, health monitors, security systems, smart city sensors, smart meters, wearable trackers, or some other portable or moveable device. Typically, though not necessarily, the UE105may support wireless communication using one or more Radio Access Technologies (RATs) such as Global System for Mobile communication (GSM), Code Division Multiple Access (CDMA), Wideband CDMA (WCDMA), LTE, High Rate Packet Data (HRPD), IEEE 802.11 WiFi (also referred to as Wi-Fi), Bluetooth® (BT), Worldwide Interoperability for Microwave Access (WiMAX), 5G new radio (NR) (e.g., using the NG-RAN135and the 5GC140), etc. The UE105may support wireless communication using a Wireless Local Area Network (WLAN) which may connect to other networks (e.g., the Internet) using a Digital Subscriber Line (DSL) or packet cable, for example. The use of one or more of these RATs may allow the UE105to communicate with the external client130(e.g., via elements of the 5GC140not shown inFIG.1, or possibly via the GMLC125) and/or allow the external client130to receive location information regarding the UE105(e.g., via the GMLC125).

The UE105may be configured to communicate with other entities using one or more of a variety of technologies. The UE105may be configured to connect indirectly to one or more communication networks via one or more device-to-device (D2D) peer-to-peer (P2P) links. The D2D P2P links may be supported with any appropriate D2D radio access technology (RAT), such as LTE Direct (LTE-D), WiFi Direct (WiFi-D), Bluetooth®, and so on. One or more of a group of UEs utilizing D2D communications may be within a geographic coverage area of a Transmission/Reception Point (TRP) such as one or more of the gNBs110a,110b, and/or the ng-eNB114. Other UEs in such a group may be outside such geographic coverage areas, or may be otherwise unable to receive transmissions from a base station. Groups of UEs communicating via D2D communications may utilize a one-to-many (1:M) system in which each UE may transmit to other UEs in the group. A TRP may facilitate scheduling of resources for D2D communications. In other cases, D2D communications may be carried out between UEs without the involvement of a TRP. One or more of a group of UEs utilizing D2D communications may be within a geographic coverage area of a TRP. Other UEs in such a group may be outside such geographic coverage areas, or be otherwise unable to receive transmissions from a base station. Groups of UEs communicating via D2D communications may utilize a one-to-many (1:M) system in which each UE may transmit to other UEs in the group. A TRP may facilitate scheduling of resources for D2D communications. In other cases, D2D communications may be carried out between UEs without the involvement of a TRP.

Base stations (BSs) in the NG-RAN135shown inFIG.1include NR Node Bs, referred to as the gNBs110aand110b. Pairs of the gNBs110a,110bin the NG-RAN135may be connected to one another via one or more other gNBs. Access to the 5G network is provided to the UE105via wireless communication between the UE105and one or more of the gNBs110a,110b, which may provide wireless communications access to the 5GC140on behalf of the UE105using 5G. InFIG.1, the serving gNB for the UE105is assumed to be the gNB110a, although another gNB (e.g. the gNB110b) may act as a serving gNB if the UE105moves to another location or may act as a secondary gNB to provide additional throughput and bandwidth to the UE105.

Base stations (BSs) in the NG-RAN135shown inFIG.1may include the ng-eNB114, also referred to as a next generation evolved Node B. The ng-eNB114may be connected to one or more of the gNBs110a,110bin the NG-RAN135, possibly via one or more other gNBs and/or one or more other ng-eNBs. The ng-eNB114may provide LTE wireless access and/or evolved LTE (eLTE) wireless access to the UE105. One or more of the gNBs110a,110band/or the ng-eNB114may be configured to function as positioning-only beacons which may transmit signals to assist with determining the position of the UE105but may not receive signals from the UE105or from other UEs.

The gNBs110a,110band/or the ng-eNB114may each comprise one or more TRPs. For example, each sector within a cell of a BS may comprise a TRP, although multiple TRPs may share one or more components (e.g., share a processor but have separate antennas). The system100may include macro TRPs exclusively or the system100may have TRPs of different types, e.g., macro, pico, and/or femto TRPs, etc. A macro TRP may cover a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by terminals with service subscription. A pico TRP may cover a relatively small geographic area (e.g., a pico cell) and may allow unrestricted access by terminals with service subscription. A femto or home TRP may cover a relatively small geographic area (e.g., a femto cell) and may allow restricted access by terminals having association with the femto cell (e.g., terminals for users in a home).

Each of the gNBs110a,110band/or the ng-eNB114may include a radio unit (RU), a distributed unit (DU), and a central unit (CU). For example, the gNB110bincludes an RU111, a DU112, and a CU113. The RU111, DU112, and CU113divide functionality of the gNB110a. While the gNB110ais shown with a single RU, a single DU, and a single CU, a gNB may include one or more RUs, one or more DUs, and/or one or more CUs. An interface between the CU113and the DU112is referred to as an F1 interface. The RU111is configured to perform digital front end (DFE) functions (e.g., analog-to-digital conversion, filtering, power amplification, transmission/reception) and digital beamforming, and includes a portion of the physical (PHY) layer. The RU111may perform the DFE using massive multiple input/multiple output (MIMO) and may be integrated with one or more antennas of the gNB110a. The DU112hosts the Radio Link Control (RLC), Medium Access Control (MAC), and physical layers of the gNB110a. One DU can support one or more cells, and each cell is supported by a single DU. The operation of the DU112is controlled by the CU113. The CU113is configured to perform functions for transferring user data, mobility control, radio access network sharing, positioning, session management, etc. although some functions are allocated exclusively to the DU112. The CU113hosts the Radio Resource Control (RRC), Service Data Adaptation Protocol (SDAP), and Packet Data Convergence Protocol (PDCP) protocols of the gNB110a. The UE105may communicate with the CU113via RRC, SDAP, and PDCP layers, with the DU112via the RLC, MAC, and PHY layers, and with the RU111via the PHY layer.

As noted, whileFIG.1depicts nodes configured to communicate according to 5G communication protocols, nodes configured to communicate according to other communication protocols, such as, for example, an LTE protocol or IEEE 802.11x protocol, may be used. For example, in an Evolved Packet System (EPS) providing LTE wireless access to the UE105, a RAN may comprise an Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access Network (E-UTRAN) which may comprise base stations comprising evolved Node Bs (eNBs). A core network for EPS may comprise an Evolved Packet Core (EPC). An EPS may comprise an E-UTRAN plus EPC, where the E-UTRAN corresponds to the NG-RAN135and the EPC corresponds to the 5GC140inFIG.1.

The gNBs110a,110band the ng-eNB114may communicate with the AMF115, which, for positioning functionality, communicates with the LMF120. The AMF115may support mobility of the UE105, including cell change and handover and may participate in supporting a signaling connection to the UE105and possibly data and voice bearers for the UE105. The LMF120may communicate directly with the UE105, e.g., through wireless communications, or directly with the gNBs110a,110band/or the ng-eNB114. The LMF120may support positioning of the UE105when the UE105accesses the NG-RAN135and may support position procedures/methods such as Assisted GNSS (A-GNSS), Observed Time Difference of Arrival (OTDOA) (e.g., Downlink (DL) OTDOA or Uplink (UL) OTDOA), Round Trip Time (RTT), Multi-Cell RTT, Real Time Kinematic (RTK), Precise Point Positioning (PPP), Differential GNSS (DGNSS), Enhanced Cell ID (E-CID), angle of arrival (AoA), angle of departure (AoD), and/or other position methods. The LMF120may process location services requests for the UE105, e.g., received from the AMF115or from the GMLC125. The LMF120may be connected to the AMF115and/or to the GMLC125. The LMF120may be referred to by other names such as a Location Manager (LM), Location Function (LF), commercial LMF (CLMF), or value added LMF (VLMF). A node/system that implements the LMF120may additionally or alternatively implement other types of location-support modules, such as an Enhanced Serving Mobile Location Center (E-SMLC) or a Secure User Plane Location (SUPL) Location Platform (SLP). At least part of the positioning functionality (including derivation of the location of the UE105) may be performed at the UE105(e.g., using signal measurements obtained by the UE105for signals transmitted by wireless nodes such as the gNBs110a,110band/or the ng-eNB114, and/or assistance data provided to the UE105, e.g. by the LMF120). The AMF115may serve as a control node that processes signaling between the UE105and the 5GC140, and may provide QoS (Quality of Service) flow and session management. The AMF115may support mobility of the UE105including cell change and handover and may participate in supporting signaling connection to the UE105.

The server150, e.g., a cloud server, is configured to obtain and provide location estimates of the UE105to the external client130. The server150may, for example, be configured to run a microservice/service that obtains the location estimate of the UE105. The server150may, for example, pull the location estimate from (e.g., by sending a location request to) the UE105, one or more of the gNBs110a,110b(e.g., via the RU111, the DU112, and the CU113) and/or the ng-eNB114, and/or the LMF120. As another example, the UE105, one or more of the gNBs110a,110b(e.g., via the RU111, the DU112, and the CU113), and/or the LMF120may push the location estimate of the UE105to the server150.

The GMLC125may support a location request for the UE105received from the external client130via the server150and may forward such a location request to the AMF115for forwarding by the AMF115to the LMF120or may forward the location request directly to the LMF120. A location response from the LMF120(e.g., containing a location estimate for the UE105) may be returned to the GMLC125either directly or via the AMF115and the GMLC125may then return the location response (e.g., containing the location estimate) to the external client130via the server150. The GMLC125is shown connected to both the AMF115and LMF120, though may not be connected to the AMF115or the LMF120in some implementations.

As further illustrated inFIG.1, the LMF120may communicate with the gNBs110a,110band/or the ng-eNB114using a New Radio Position Protocol A (which may be referred to as NPPa or NRPPa), which may be defined in 3GPP Technical Specification (TS) 38.455. NRPPa may be the same as, similar to, or an extension of the LTE Positioning Protocol A (LPPa) defined in 3GPP TS 36.455, with NRPPa messages being transferred between the gNB110a(or the gNB110b) and the LMF120, and/or between the ng-eNB114and the LMF120, via the AMF115. As further illustrated inFIG.1, the LMF120and the UE105may communicate using an LTE Positioning Protocol (LPP), which may be defined in 3GPP TS 36.355. The LMF120and the UE105may also or instead communicate using a New Radio Positioning Protocol (which may be referred to as NPP or NRPP), which may be the same as, similar to, or an extension of LPP. Here, LPP and/or NPP messages may be transferred between the UE105and the LMF120via the AMF115and the serving gNB110a,110bor the serving ng-eNB114for the UE105. For example, LPP and/or NPP messages may be transferred between the LMF120and the AMF115using a 5G Location Services Application Protocol (LCS AP) and may be transferred between the AMF115and the UE105using a 5G Non-Access Stratum (NAS) protocol. The LPP and/or NPP protocol may be used to support positioning of the UE105using UE-assisted and/or UE-based position methods such as A-GNSS, RTK, OTDOA and/or E-CID. The NRPPa protocol may be used to support positioning of the UE105using network-based position methods such as E-CID (e.g., when used with measurements obtained by the gNB110a,110bor the ng-eNB114) and/or may be used by the LMF120to obtain location related information from the gNBs110a,110band/or the ng-eNB114, such as parameters defining directional SS transmissions from the gNBs110a,110b, and/or the ng-eNB114. The LMF120may be co-located or integrated with a gNB or a TRP, or may be disposed remote from the gNB and/or the TRP and configured to communicate directly or indirectly with the gNB and/or the TRP.

With a UE-assisted position method, the UE105may obtain location measurements and send the measurements to a location server (e.g., the LMF120) for computation of a location estimate for the UE105. For example, the location measurements may include one or more of a Received Signal Strength Indication (RSSI), Round Trip signal propagation Time (RTT), Reference Signal Time Difference (RSTD), Reference Signal Received Power (RSRP) and/or Reference Signal Received Quality (RSRQ) for the gNBs110a,110b, the ng-eNB114, and/or a WLAN AP. The location measurements may also or instead include measurements of GNSS pseudorange, code phase, and/or carrier phase for the SVs190-193.

With a UE-based position method, the UE105may obtain location measurements (e.g., which may be the same as or similar to location measurements for a UE-assisted position method) and may compute a location of the UE105(e.g., with the help of assistance data received from a location server such as the LMF120or broadcast by the gNBs110a,110b, the ng-eNB114, or other base stations or APs).

With a network-based position method, one or more base stations (e.g., the gNBs110a,110b, and/or the ng-eNB114) or APs may obtain location measurements (e.g., measurements of RSSI, RTT, RSRP, RSRQ or Time of Arrival (ToA) for signals transmitted by the UE105) and/or may receive measurements obtained by the UE105. The one or more base stations or APs may send the measurements to a location server (e.g., the LMF120) for computation of a location estimate for the UE105.

Information provided by the gNBs110a,110b, and/or the ng-eNB114to the LMF120using NRPPa may include timing and configuration information for directional SS transmissions and location coordinates. The LMF120may provide some or all of this information to the UE105as assistance data in an LPP and/or NPP message via the NG-RAN135and the 5GC140.

An LPP or NPP message sent from the LMF120to the UE105may instruct the UE105to do any of a variety of things depending on desired functionality. For example, the LPP or NPP message could contain an instruction for the UE105to obtain measurements for GNSS (or A-GNSS), WLAN, E-CID, and/or OTDOA (or some other position method). In the case of E-CID, the LPP or NPP message may instruct the UE105to obtain one or more measurement quantities (e.g., beam ID, beam width, mean angle, RSRP, RSRQ measurements) of directional signals transmitted within particular cells supported by one or more of the gNBs110a,110b, and/or the ng-eNB114(or supported by some other type of base station such as an eNB or WiFi AP). The UE105may send the measurement quantities back to the LMF120in an LPP or NPP message (e.g., inside a 5G NAS message) via the serving gNB110a(or the serving ng-eNB114) and the AMF115.

As noted, while the communication system100is described in relation to 5G technology, the communication system100may be implemented to support other communication technologies, such as GSM, WCDMA, LTE, etc., that are used for supporting and interacting with mobile devices such as the UE105(e.g., to implement voice, data, positioning, and other functionalities). In some such embodiments, the 5GC140may be configured to control different air interfaces. For example, the 5GC140may be connected to a WLAN using a Non-3GPP InterWorking Function (N3IWF, not shownFIG.1) in the 5GC140. For example, the WLAN may support IEEE 802.11 WiFi access for the UE105and may comprise one or more WiFi APs. Here, the N3IWF may connect to the WLAN and to other elements in the 5GC140such as the AMF115. In some embodiments, both the NG-RAN135and the 5GC140may be replaced by one or more other RANs and one or more other core networks. For example, in an EPS, the NG-RAN135may be replaced by an E-UTRAN containing eNBs and the 5GC140may be replaced by an EPC containing a Mobility Management Entity (MME) in place of the AMF115, an E-SMLC in place of the LMF120, and a GMLC that may be similar to the GMLC125. In such an EPS, the E-SMLC may use LPPa in place of NRPPa to send and receive location information to and from the eNBs in the E-UTRAN and may use LPP to support positioning of the UE105. In these other embodiments, positioning of the UE105using directional PRSs may be supported in an analogous manner to that described herein for a 5G network with the difference that functions and procedures described herein for the gNBs110a,110b, the ng-eNB114, the AMF115, and the LMF120may, in some cases, apply instead to other network elements such eNBs, WiFi APs, an MME, and an E-SMLC.

As noted, in some embodiments, positioning functionality may be implemented, at least in part, using the directional SS beams, sent by base stations (such as the gNBs110a,110b, and/or the ng-eNB114) that are within range of the UE whose position is to be determined (e.g., the UE105ofFIG.1). The UE may, in some instances, use the directional SS beams from a plurality of base stations (such as the gNBs110a,110b, the ng-eNB114, etc.) to compute the UE's position.

Referring also toFIG.2, a UE200is an example of one of the UEs105,106and comprises a computing platform including a processor210, memory211including software (SW)212, one or more sensors213, a transceiver interface214for a transceiver215(that includes a wireless transceiver240and a wired transceiver250), a user interface216, a Satellite Positioning System (SPS) receiver217, a camera218, and a position device (PD)219. The processor210, the memory211, the sensor(s)213, the transceiver interface214, the user interface216, the SPS receiver217, the camera218, and the position device219may be communicatively coupled to each other by a bus220(which may be configured, e.g., for optical and/or electrical communication). One or more of the shown apparatus (e.g., the camera218, the position device219, and/or one or more of the sensor(s)213, etc.) may be omitted from the UE200. The processor210may include one or more intelligent hardware devices, e.g., a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor210may comprise multiple processors including a general-purpose/application processor230, a Digital Signal Processor (DSP)231, a modem processor232, a video processor233, and/or a sensor processor234. One or more of the processors230-234may comprise multiple devices (e.g., multiple processors). For example, the sensor processor234may comprise, e.g., processors for RF (radio frequency) sensing (with one or more (cellular) wireless signals transmitted and reflection(s) used to identify, map, and/or track an object), and/or ultrasound, etc. The modem processor232may support dual SIM/dual connectivity (or even more SIMs). For example, a SIM (Subscriber Identity Module or Subscriber Identification Module) may be used by an Original Equipment Manufacturer (OEM), and another SIM may be used by an end user of the UE200for connectivity. The memory211is a non-transitory storage medium that may include random access memory (RAM), flash memory, disc memory, and/or read-only memory (ROM), etc. The memory211stores the software212which may be processor-readable, processor-executable software code containing instructions that are configured to, when executed, cause the processor210to perform various functions described herein. Alternatively, the software212may not be directly executable by the processor210but may be configured to cause the processor210, e.g., when compiled and executed, to perform the functions. The description may refer to the processor210performing a function, but this includes other implementations such as where the processor210executes software and/or firmware. The description may refer to the processor210performing a function as shorthand for one or more of the processors230-234performing the function. The description may refer to the UE200performing a function as shorthand for one or more appropriate components of the UE200performing the function. The processor210may include a memory with stored instructions in addition to and/or instead of the memory211. Functionality of the processor210is discussed more fully below.

The configuration of the UE200shown inFIG.2is an example and not limiting of the disclosure, including the claims, and other configurations may be used. For example, an example configuration of the UE includes one or more of the processors230-234of the processor210, the memory211, and the wireless transceiver240. Other example configurations include one or more of the processors230-234of the processor210, the memory211, a wireless transceiver, and one or more of the sensor(s)213, the user interface216, the SPS receiver217, the camera218, the PD219, and/or a wired transceiver.

The UE200may comprise the modem processor232that may be capable of performing baseband processing of signals received and down-converted by the transceiver215and/or the SPS receiver217. The modem processor232may perform baseband processing of signals to be upconverted for transmission by the transceiver215. Also or alternatively, baseband processing may be performed by the processor230and/or the DSP231. Other configurations, however, may be used to perform baseband processing.

The UE200may include the sensor(s)213that may include, for example, one or more of various types of sensors such as one or more inertial sensors, one or more magnetometers, one or more environment sensors, one or more optical sensors, one or more weight sensors, and/or one or more radio frequency (RF) sensors, etc. An inertial measurement unit (IMU) may comprise, for example, one or more accelerometers (e.g., collectively responding to acceleration of the UE200in three dimensions) and/or one or more gyroscopes (e.g., three-dimensional gyroscope(s)). The sensor(s)213may include one or more magnetometers (e.g., three-dimensional magnetometer(s)) to determine orientation (e.g., relative to magnetic north and/or true north) that may be used for any of a variety of purposes, e.g., to support one or more compass applications. The environment sensor(s) may comprise, for example, one or more temperature sensors, one or more barometric pressure sensors, one or more ambient light sensors, one or more camera imagers, and/or one or more microphones, etc. The sensor(s)213may generate analog and/or digital signals indications of which may be stored in the memory211and processed by the DSP231and/or the processor230in support of one or more applications such as, for example, applications directed to positioning and/or navigation operations.

The sensor(s)213may be used in relative location measurements, relative location determination, motion determination, etc. Information detected by the sensor(s)213may be used for motion detection, relative displacement, dead reckoning, sensor-based location determination, and/or sensor-assisted location determination. The sensor(s)213may be useful to determine whether the UE200is fixed (stationary) or mobile and/or whether to report certain useful information to the LMF120regarding the mobility of the UE200. For example, based on the information obtained/measured by the sensor(s)213, the UE200may notify/report to the LMF120that the UE200has detected movements or that the UE200has moved, and report the relative displacement/distance (e.g., via dead reckoning, or sensor-based location determination, or sensor-assisted location determination enabled by the sensor(s)213). In another example, for relative positioning information, the sensors/IMU can be used to determine the angle and/or orientation of the other device with respect to the UE200, etc.

The IMU may be configured to provide measurements about a direction of motion and/or a speed of motion of the UE200, which may be used in relative location determination. For example, one or more accelerometers and/or one or more gyroscopes of the IMU may detect, respectively, a linear acceleration and a speed of rotation of the UE200. The linear acceleration and speed of rotation measurements of the UE200may be integrated over time to determine an instantaneous direction of motion as well as a displacement of the UE200. The instantaneous direction of motion and the displacement may be integrated to track a location of the UE200. For example, a reference location of the UE200may be determined, e.g., using the SPS receiver217(and/or by some other means) for a moment in time and measurements from the accelerometer(s) and gyroscope(s) taken after this moment in time may be used in dead reckoning to determine present location of the UE200based on movement (direction and distance) of the UE200relative to the reference location.

The magnetometer(s) may determine magnetic field strengths in different directions which may be used to determine orientation of the UE200. For example, the orientation may be used to provide a digital compass for the UE200. The magnetometer(s) may include a two-dimensional magnetometer configured to detect and provide indications of magnetic field strength in two orthogonal dimensions. The magnetometer(s) may include a three-dimensional magnetometer configured to detect and provide indications of magnetic field strength in three orthogonal dimensions. The magnetometer(s) may provide means for sensing a magnetic field and providing indications of the magnetic field, e.g., to the processor210.

The transceiver215may include a wireless transceiver240and a wired transceiver250configured to communicate with other devices through wireless connections and wired connections, respectively. For example, the wireless transceiver240may include a wireless transmitter242and a wireless receiver244coupled to an antenna246for transmitting (e.g., on one or more uplink channels and/or one or more sidelink channels) and/or receiving (e.g., on one or more downlink channels and/or one or more sidelink channels) wireless signals248and transducing signals from the wireless signals248to wired (e.g., electrical and/or optical) signals and from wired (e.g., electrical and/or optical) signals to the wireless signals248. Thus, the wireless transmitter242may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wireless receiver244may include multiple receivers that may be discrete components or combined/integrated components. The wireless transceiver240may be configured to communicate signals (e.g., with TRPs and/or one or more other devices) according to a variety of radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobiles), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long-Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee etc. New Radio may use mm-wave frequencies and/or sub-6 GHz frequencies. The wired transceiver250may include a wired transmitter252and a wired receiver254configured for wired communication, e.g., a network interface that may be utilized to communicate with the NG-RAN135to send communications to, and receive communications from, the NG-RAN135. The wired transmitter252may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wired receiver254may include multiple receivers that may be discrete components or combined/integrated components. The wired transceiver250may be configured, e.g., for optical communication and/or electrical communication. The transceiver215may be communicatively coupled to the transceiver interface214, e.g., by optical and/or electrical connection. The transceiver interface214may be at least partially integrated with the transceiver215. The wireless transmitter242, the wireless receiver244, and/or the antenna246may include multiple transmitters, multiple receivers, and/or multiple antennas, respectively, for sending and/or receiving, respectively, appropriate signals.

The user interface216may comprise one or more of several devices such as, for example, a speaker, microphone, display device, vibration device, keyboard, touch screen, etc. The user interface216may include more than one of any of these devices. The user interface216may be configured to enable a user to interact with one or more applications hosted by the UE200. For example, the user interface216may store indications of analog and/or digital signals in the memory211to be processed by DSP231and/or the general-purpose processor230in response to action from a user. Similarly, applications hosted on the UE200may store indications of analog and/or digital signals in the memory211to present an output signal to a user. The user interface216may include an audio input/output (I/O) device comprising, for example, a speaker, a microphone, digital-to-analog circuitry, analog-to-digital circuitry, an amplifier and/or gain control circuitry (including more than one of any of these devices). Other configurations of an audio I/O device may be used. Also or alternatively, the user interface216may comprise one or more touch sensors responsive to touching and/or pressure, e.g., on a keyboard and/or touch screen of the user interface216.

The SPS receiver217(e.g., a Global Positioning System (GPS) receiver) may be capable of receiving and acquiring SPS signals260via an SPS antenna262. The SPS antenna262is configured to transduce the SPS signals260from wireless signals to wired signals, e.g., electrical or optical signals, and may be integrated with the antenna246. The SPS receiver217may be configured to process, in whole or in part, the acquired SPS signals260for estimating a location of the UE200. For example, the SPS receiver217may be configured to determine location of the UE200by trilateration using the SPS signals260. The general-purpose processor230, the memory211, the DSP231and/or one or more specialized processors (not shown) may be utilized to process acquired SPS signals, in whole or in part, and/or to calculate an estimated location of the UE200, in conjunction with the SPS receiver217. The memory211may store indications (e.g., measurements) of the SPS signals260and/or other signals (e.g., signals acquired from the wireless transceiver240) for use in performing positioning operations. The general-purpose processor230, the DSP231, and/or one or more specialized processors, and/or the memory211may provide or support a location engine for use in processing measurements to estimate a location of the UE200.

The UE200may include the camera218for capturing still or moving imagery. The camera218may comprise, for example, an imaging sensor (e.g., a charge coupled device or a CMOS imager), a lens, analog-to-digital circuitry, frame buffers, etc. Additional processing, conditioning, encoding, and/or compression of signals representing captured images may be performed by the general-purpose processor230and/or the DSP231. Also or alternatively, the video processor233may perform conditioning, encoding, compression, and/or manipulation of signals representing captured images. The video processor233may decode/decompress stored image data for presentation on a display device (not shown), e.g., of the user interface216.

The position device (PD)219may be configured to determine a position of the UE200, motion of the UE200, and/or relative position of the UE200, and/or time. For example, the PD219may communicate with, and/or include some or all of, the SPS receiver217. The PD219may work in conjunction with the processor210and the memory211as appropriate to perform at least a portion of one or more positioning methods, although the description herein may refer to the PD219being configured to perform, or performing, in accordance with the positioning method(s). The PD219may also or alternatively be configured to determine location of the UE200using terrestrial-based signals (e.g., at least some of the signals248) for trilateration, for assistance with obtaining and using the SPS signals260, or both. The PD219may be configured to determine location of the UE200based on a cell of a serving base station (e.g., a cell center) and/or another technique such as E-CID. The PD219may be configured to use one or more images from the camera218and image recognition combined with known locations of landmarks (e.g., natural landmarks such as mountains and/or artificial landmarks such as buildings, bridges, streets, etc.) to determine location of the UE200. The PD219may be configured to use one or more other techniques (e.g., relying on the UE's self-reported location (e.g., part of the UE's position beacon)) for determining the location of the UE200, and may use a combination of techniques (e.g., SPS and terrestrial positioning signals) to determine the location of the UE200. The PD219may include one or more of the sensors213(e.g., gyroscope(s), accelerometer(s), magnetometer(s), etc.) that may sense orientation and/or motion of the UE200and provide indications thereof that the processor210(e.g., the processor230and/or the DSP231) may be configured to use to determine motion (e.g., a velocity vector and/or an acceleration vector) of the UE200. The PD219may be configured to provide indications of uncertainty and/or error in the determined position and/or motion. Functionality of the PD219may be provided in a variety of manners and/or configurations, e.g., by the general purpose/application processor230, the transceiver215, the SPS receiver217, and/or another component of the UE200, and may be provided by hardware, software, firmware, or various combinations thereof.

Referring also toFIG.3, an example of a TRP300of the gNBs110a,110band/or the ng-eNB114comprises a computing platform including a processor310, memory311including software (SW)312, and a transceiver315. The processor310, the memory311, and the transceiver315may be communicatively coupled to each other by a bus320(which may be configured, e.g., for optical and/or electrical communication). One or more of the shown apparatus (e.g., a wireless interface) may be omitted from the TRP300. The processor310may include one or more intelligent hardware devices, e.g., a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor310may comprise multiple processors (e.g., including a general-purpose/application processor, a DSP, a modem processor, a video processor, and/or a sensor processor as shown inFIG.2). The memory311is a non-transitory storage medium that may include random access memory (RAM), flash memory, disc memory, and/or read-only memory (ROM), etc. The memory311stores the software312which may be processor-readable, processor-executable software code containing instructions that are configured to, when executed, cause the processor310to perform various functions described herein. Alternatively, the software312may not be directly executable by the processor310but may be configured to cause the processor310, e.g., when compiled and executed, to perform the functions.

The description may refer to the processor310performing a function, but this includes other implementations such as where the processor310executes software and/or firmware. The description may refer to the processor310performing a function as shorthand for one or more of the processors contained in the processor310performing the function. The description may refer to the TRP300performing a function as shorthand for one or more appropriate components (e.g., the processor310and the memory311) of the TRP300(and thus of one of the gNBs110a,110band/or the ng-eNB114) performing the function. The processor310may include a memory with stored instructions in addition to and/or instead of the memory311. Functionality of the processor310is discussed more fully below.

The transceiver315may include a wireless transceiver340and/or a wired transceiver350configured to communicate with other devices through wireless connections and wired connections, respectively. For example, the wireless transceiver340may include a wireless transmitter342and a wireless receiver344coupled to one or more antennas346for transmitting (e.g., on one or more uplink channels and/or one or more downlink channels) and/or receiving (e.g., on one or more downlink channels and/or one or more uplink channels) wireless signals348and transducing signals from the wireless signals348to wired (e.g., electrical and/or optical) signals and from wired (e.g., electrical and/or optical) signals to the wireless signals348. Thus, the wireless transmitter342may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wireless receiver344may include multiple receivers that may be discrete components or combined/integrated components. The wireless transceiver340may be configured to communicate signals (e.g., with the UE200, one or more other UEs, and/or one or more other devices) according to a variety of radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobiles), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long-Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee etc. The wired transceiver350may include a wired transmitter352and a wired receiver354configured for wired communication, e.g., a network interface that may be utilized to communicate with the NG-RAN135to send communications to, and receive communications from, the LMF120, for example, and/or one or more other network entities. The wired transmitter352may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wired receiver354may include multiple receivers that may be discrete components or combined/integrated components. The wired transceiver350may be configured, e.g., for optical communication and/or electrical communication.

The configuration of the TRP300shown inFIG.3is an example and not limiting of the disclosure, including the claims, and other configurations may be used. For example, the description herein discusses that the TRP300is configured to perform or performs several functions, but one or more of these functions may be performed by the LMF120and/or the UE200(i.e., the LMF120and/or the UE200may be configured to perform one or more of these functions).

Referring also toFIG.4, a server400, of which the LMF120is an example, comprises a computing platform including a processor410, memory411including software (SW)412, and a transceiver415. The processor410, the memory411, and the transceiver415may be communicatively coupled to each other by a bus420(which may be configured, e.g., for optical and/or electrical communication). One or more of the shown apparatus (e.g., a wireless interface) may be omitted from the server400. The processor410may include one or more intelligent hardware devices, e.g., a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc. The processor410may comprise multiple processors (e.g., including a general-purpose/application processor, a DSP, a modem processor, a video processor, and/or a sensor processor as shown inFIG.2). The memory411is a non-transitory storage medium that may include random access memory (RAM), flash memory, disc memory, and/or read-only memory (ROM), etc. The memory411stores the software412which may be processor-readable, processor-executable software code containing instructions that are configured to, when executed, cause the processor410to perform various functions described herein. Alternatively, the software412may not be directly executable by the processor410but may be configured to cause the processor410, e.g., when compiled and executed, to perform the functions. The description may refer to the processor410performing a function, but this includes other implementations such as where the processor410executes software and/or firmware. The description may refer to the processor410performing a function as shorthand for one or more of the processors contained in the processor410performing the function. The description may refer to the server400performing a function as shorthand for one or more appropriate components of the server400performing the function. The processor410may include a memory with stored instructions in addition to and/or instead of the memory411. Functionality of the processor410is discussed more fully below.

The transceiver415may include a wireless transceiver440and/or a wired transceiver450configured to communicate with other devices through wireless connections and wired connections, respectively. For example, the wireless transceiver440may include a wireless transmitter442and a wireless receiver444coupled to one or more antennas446for transmitting (e.g., on one or more downlink channels) and/or receiving (e.g., on one or more uplink channels) wireless signals448and transducing signals from the wireless signals448to wired (e.g., electrical and/or optical) signals and from wired (e.g., electrical and/or optical) signals to the wireless signals448. Thus, the wireless transmitter442may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wireless receiver444may include multiple receivers that may be discrete components or combined/integrated components. The wireless transceiver440may be configured to communicate signals (e.g., with the UE200, one or more other UEs, and/or one or more other devices) according to a variety of radio access technologies (RATs) such as 5G New Radio (NR), GSM (Global System for Mobiles), UMTS (Universal Mobile Telecommunications System), AMPS (Advanced Mobile Phone System), CDMA (Code Division Multiple Access), WCDMA (Wideband CDMA), LTE (Long-Term Evolution), LTE Direct (LTE-D), 3GPP LTE-V2X (PC5), IEEE 802.11 (including IEEE 802.11p), WiFi, WiFi Direct (WiFi-D), Bluetooth®, Zigbee etc. The wired transceiver450may include a wired transmitter452and a wired receiver454configured for wired communication, e.g., a network interface that may be utilized to communicate with the NG-RAN135to send communications to, and receive communications from, the TRP300, for example, and/or one or more other network entities. The wired transmitter452may include multiple transmitters that may be discrete components or combined/integrated components, and/or the wired receiver454may include multiple receivers that may be discrete components or combined/integrated components. The wired transceiver450may be configured, e.g., for optical communication and/or electrical communication.

The description herein may refer to the processor410performing a function, but this includes other implementations such as where the processor410executes software (stored in the memory411) and/or firmware. The description herein may refer to the server400performing a function as shorthand for one or more appropriate components (e.g., the processor410and the memory411) of the server400performing the function.

The configuration of the server400shown inFIG.4is an example and not limiting of the disclosure, including the claims, and other configurations may be used. For example, the wireless transceiver440may be omitted. Also or alternatively, the description herein discusses that the server400is configured to perform or performs several functions, but one or more of these functions may be performed by the TRP300and/or the UE200(i.e., the TRP300and/or the UE200may be configured to perform one or more of these functions).

Producing and Using Higher-Resolution Data from Low-Resolution Data

Providing high-resolution data by an apparatus such as mobile device, e.g., for use by the mobile device and/or for display to a user of the apparatus, may be challenging due to a data storage limitation for the apparatus. For example, high-resolution terrain data storage and visualization on embedded navigation display devices may be challenging due to the hardware limitations on devices. Terrain data are discussed herein as an example of high-resolution data and low-resolution data, but the discussion herein may be applied to other types of data. Terrain data may include elevations of corresponding locations, e.g., elevations of land, buildings, etc.

Terrain data sets may be available in different spatial resolutions, for example, 10-meter, 30-meter, 90-meter, 180-meter, etc. A 10-meter resolution data set will have a terrain elevation value for locations disposed about 10 meters apart, e.g., a grid of rows and columns with adjacent values in a row corresponding to locations about 10 m apart and adjacent values in a column corresponding to locations about 10 m apart. The terrain data may be stored in a database for moving map engines such that a map may be updated as a mobile device displaying the map moves. To reduce the database size, regions or spatial grids may be packed with a single-resolution data set instead of packing multiple resolutions for the same spatial grid. A size of a spatial grid for a terrain elevation map may span, for example, 1° of longitude and 1° of latitude. A higher-resolution terrain data set contains more elevation points for the same geographic area than a lower-resolution data set, and hence has more data than the lower-resolution data set. As of today, most moving map display systems, for example air and/or ground vehicle display systems and/or simulators, use lower-resolution data sets, for example either 90-meter or 180-meter data due to memory size and processing limitations. A map engine may receive position and altitude information, and obtain appropriate stored terrain information (e.g., based on a view angle and altitude information for 3D applications, or for 2D applications or sky view applications the same data are interpolated or simplified based on view angle). For example, for a 10 NM×10 NM (Nautical Miles) geographical view, terrain data may be simplified to fit into a display screen. The displayed data may be of low-resolution resulting in a low-quality image on the display. Discussion herein are techniques for producing approximate high-resolution data from low-resolution data, e.g., higher-resolution spatial terrain data from low-resolution spatial terrain data for better situational awareness in 2D and 3D map display systems.

Referring toFIG.5, with further reference toFIGS.1-4, a model establishment apparatus500includes a processor510, an interface520, and a memory530communicatively coupled to each other by a bus540. The model establishment apparatus500may include some or all of the components shown inFIG.5. The processor510may include one or more intelligent hardware devices, e.g., a CPU, a microcontroller, an ASIC, an artificial intelligence processor (AI processor), etc. The processor510may comprise multiple processors (e.g., including a general-purpose/application processor, a DSP, etc.). The memory530is a non-transitory storage medium that may include RAM, flash memory, disc memory, and/or ROM, etc. The memory530may store software532which may be processor-readable, processor-executable software code containing instructions that are configured to, when executed, cause the processor510to perform various functions described herein. Alternatively, the software532may not be directly executable by the processor510but may be configured to cause the processor510, e.g., when compiled and executed, to perform the functions. The interface520may include one or more components of a transceiver, e.g., a wireless transmitter and an antenna, or a wireless receiver and an antenna, or a wireless transmitter, a wireless receiver, and an antenna. Also or alternatively, the interface520may include a wired transmitter and/or a wired receiver. The interface520may include a network interface (wired or wireless) such as a network interface card (NIC).

The description herein may refer to the processor510performing a function, but this includes other implementations such as where the processor510executes software (stored in the memory530) and/or firmware. The description herein may refer to the model establishment apparatus500performing a function as shorthand for one or more appropriate components (e.g., the processor510and the memory530) of the model establishment apparatus500performing the function. The processor510(possibly in conjunction with the memory530and, as appropriate, the interface520) includes a model generation unit550. The model generation unit550is configured to use machine-learning (e.g., deep learning such as a generative adversarial network) to produce a model for converting low-resolution data into higher-resolution data (e.g., low-resolution terrain elevation data into higher-resolution terrain elevation data). Functionality of the model generation unit550is discussed further herein, and the processor510(and one or more other components as appropriate) is configured to perform the functions of the model generation unit550discussed herein.

Referring also toFIG.6, a user apparatus600includes a processor610, an interface620, a memory630, and one or more sensors640, communicatively coupled to each other by a bus645. The user apparatus600may include some or all of the components shown inFIG.5. The processor610may include one or more intelligent hardware devices, e.g., a CPU, a microcontroller, an ASIC, an artificial intelligence processor (AI processor), etc. The processor610may comprise multiple processors (e.g., including a general-purpose/application processor, a DSP, etc.). The memory630is a non-transitory storage medium that may include RAM, flash memory, disc memory, and/or ROM, etc. The memory630may store software532which may be processor-readable, processor-executable software code containing instructions that are configured to, when executed, cause the processor610to perform various functions described herein. Alternatively, the software532may not be directly executable by the processor610but may be configured to cause the processor610, e.g., when compiled and executed, to perform the functions. The interface620may include one or more components of a transceiver, e.g., a wireless transmitter and an antenna, or a wireless receiver and an antenna, or a wireless transmitter, a wireless receiver, and an antenna. Also or alternatively, the interface620may include a wired transmitter and/or a wired receiver. The interface620may include a network interface (wired or wireless) such as a network interface card (NIC). The interface may include a user interface, e.g., a display for providing images, text, etc. The sensor(s)640may comprise one or more sensors for determining a location of the user apparatus. For example, the sensor(s) may include an SPS receiver and an SPS antenna (e.g., similar to the SPS receiver217and the SPS antenna262). The sensor(s)640may also or alternatively including one or more sensors for receiving cellular signals to determine a location of the user apparatus600, e.g., as a cell sector center, as a function of a range to a TRP, etc.

The description herein may refer to the processor610performing a function, but this includes other implementations such as where the processor610executes software (stored in the memory630) and/or firmware. The description herein may refer to the user apparatus600performing a function as shorthand for one or more appropriate components (e.g., the processor610and the memory630) of the user apparatus600performing the function. The processor610(possibly in conjunction with the memory630and, as appropriate, the interface620) includes a data generation unit650. The data generation unit650is configured to apply a resolution enhancing model (e.g., a mathematical model developed by the model generation unit550of the model establishment apparatus500) to low-resolution data to produce higher-resolution data (e.g., higher-resolution terrain elevation data from low-resolution terrain elevation data). Functionality of the data generation unit650is discussed further herein, and the processor610(and one or more other components as appropriate) is configured to perform the functions of the data generation unit650discussed herein.

Terrain data sets may be provided as moving maps where the map displayed is updated over time corresponding to change in relevant map data, e.g., due to motion and/or viewing angle of a user apparatus for which the terrain data are relevant. Moving map systems may use a DEM (Digital Elevation Model) for visualizing the terrain data in 2D or 3D formats for situational awareness. For example, referring toFIG.7, an architecture700for providing a moving map includes a location block710, a moving map engine720, a navigational database730, a terrain database740, and a display750. The architecture may be implemented by the user apparatus600, with the moving map engine720and the location block710implemented by the processor610(and the memory630as appropriate), the navigational database730and the terrain database740stored in the memory630, and the display750implemented by the interface620). The location block710and the moving map engine720may comprise one or more processors (e.g., which may include memory and software that can be executed by one or more processors). The location block710is configured to determine a location of an apparatus, e.g., based on one or more inputs such as one or more sensor measurements (e.g., GNSS signal measurements) and provide the location to the moving map engine720. The moving map engine720is configured to use the location provided by the location block710to retrieve terrain data from the terrain database740corresponding to an area that includes the location of the apparatus. The terrain data retrieved may also depend on one or more other factors such as one or more attributes of the apparatus (e.g., maximum altitude of the apparatus). The location block710can provide locations of the apparatus over time, and the moving map engine720can retrieve new terrain data as appropriate. The moving map engine720provides the terrain data to the display750and the display is configured to display the terrain data, e.g., in a 2D or 3D image on a screen. The navigational database730includes information about routes between locations and the moving map engine720may retrieve appropriate route information, and other navigational data (e.g., permitted direction of travel) as appropriate, from the navigational database730and provide the route information to the display750. The display750can display the route information (e.g., a path) on the displayed terrain data (e.g., overwriting pixels of the terrain data with a visual representation of the path corresponding to the route information). The moving map engine720may also use one or more additional offline and/or online databases, for example including weather and/or traffic information, for situational awareness.

The terrain database740may contain one or more elevation data sets, e.g., for different geographical areas. The geographical areas may have a global or nearly global span. The geographical areas stored in, or retrieved from, the terrain database740may span various areas, e.g., depending upon a use of the terrain data, e.g., for a local airline service or a global airline service. For example, referring also toFIG.8, a global map800may divided into a grid of terrain patches810(even though some of the terrain patches810may overly no terrain) and the terrain patches for a country or a continent, or other relevant region, may be retrieved by the moving map engine720. The terrain database740may include low-resolution data sets, for example 90m or 180 m for one or more countries, with terrain data organized into terrain patches each spanning an area, for example, extending about 1° of longitude and 1° of latitude. The terrain database740may include a single database of a single resolution (e.g., 90 m), or may include multiple databases each of a respective resolution, and/or may include a database with different patches having different resolutions (e.g., one patch may include 90 m data and an adjacent patch may include 180 m data).

The moving map engine720and the display750are configured for image generation and display. The elevation values in terrain patches retrieved by the moving map engine720may be assigned color values (e.g., red-green-blue (RGB)) color values to produce color pixels of different colors corresponding to different elevations. The moving map engine720may be configured to apply a resolution enhancing model to low-resolution data to produce higher-resolution data that can be used by the display750to produce an image, e.g., with better resolution than the low-resolution data and that can be zoomed in on while providing useful resolution (e.g., without interpolating between elevation points or interpolating at a finer resolution than with the low-resolution data).

Referring toFIG.9, with further reference toFIGS.1-8, a method900for producing and providing a resolution enhancing model to the user apparatus600includes the stages shown. The method900is, however, an example only and not limiting. The method900may be altered, e.g., by having stages added. At stage910, the method900includes preparing data for training. At stage920, the method900includes building a resolution enhancing model by training the model with the data prepared for training at stage910. At stage920, the method900includes deploying the model to the user apparatus600, e.g., the moving map engine720implemented by the processor610. The method900uses deep learning techniques to produce higher-resolution data, e.g., to produce higher-resolution terrain elevation data and to produce images from the higher-resolution terrain elevation data. For example, terrain elevation data may be converted into triangular pieces and used to generate 2D or 3D images using a graphics pipeline.

At stage910, the model establishment apparatus500prepares data for training offline. For example, the model establishment apparatus500may be implemented by a manufacturer of the user apparatus600so a resolution enhancing model may be stored in the user apparatus during manufacture. Also or alternatively, the model establishment apparatus500may be implemented by a service provider that provides data conversion models to the user apparatus600, e.g., on a subscription basis. The model establishment apparatus500, e.g., the model generation unit550, may collect data patches of low-resolution data and high-resolution data, e.g., terrain elevation patches from low-resolution terrain elevation data and from high-resolution terrain elevation data. The patches are segments of the data, e.g., corresponding to respective geographic regions (e.g., 1° of longitude and 1° of latitude). High-resolution patches have higher data density than the low-resolution patches, with more data points per patch in the high-resolution patches, e.g., more terrain elevation values per unit area. For example, the model generation unit550may retrieve from the memory530, or receive through the interface520, N×N low-resolution terrain elevation patches and M*N×M*N high-resolution terrain elevation patches. The value of N is typically greater than 64 and is typically a power of two, such as 256. The value of M is typically a power of two and less than 16, e.g., two or four or eight.

The model generation unit550obtains low-resolution data and high-resolution data to be used to produce one or more resolution enhancing models for converting the low-resolution data into higher-resolution data (e.g., approximating the high-resolution data). For example, the low-resolution data and the high-resolution data may be retrieved from memory and/or received via the interface520from another entity. Referring also toFIG.10, a signaling and process flow1000includes the stages shown for obtaining low-resolution and high-resolution data for training a resolution enhancing model using deep learning. The flow1000is an example, as stages may be added, rearranged, and/or removed.

At stage1010, the model generation unit550determines one or more criteria for identifying low-resolution data and high-resolution data to be retrieved. For example, the model generation unit550may identify one or more parameters such as an amount of data, or an amount of data points. As another example, for geographic-related data such as terrain elevation data, the model generation unit550may identify a geographic area for which data are to be retrieved. The model generation unit550may identify a bounding box corresponding to a geographic area. The bounding box defines a boundary for a domain of input values (e.g., a perimeter for a domain of geographic locations). The perimeter may be defined in various ways, e.g., a regular shape (e.g., a rectangle, a circle, etc.) or an irregular shape (e.g., a polygon defining a shape that is not a regular shape). The bounding box may be identified by generating a description of the boundary (e.g., coordinates), or by selecting from a set of predefined boundary boxes (e.g., randomly selecting from the set, methodically selecting from the set, e.g., in a sequence, etc.), or in another way. The model generation unit550transmits an indication1012of the one or more determined criteria (e.g., bounding box coordinates) for the low-resolution data and the high-resolution data to the memory530.

At stage1020, the memory530identifies a data set of low-resolution data534(e.g., a low-resolution data database) and a data set of high-resolution data536(e.g., a high-resolution data database) corresponding to the one or more data set criteria indicated by the indication1012. For example, the one or more data set criteria may identify a geographic region and terrain elevation data of the low-resolution data534within the identified geographic region may comprise an N×N set of data points, and terrain elevation data of the low-resolution data534within the identified geographic region may comprise an M*N×M*N (e.g., 4N×4N) set of data points. Thus, for example, the data set of the low-resolution data534may be a 2×2 set of locations and corresponding elevations, and the data set of the high-resolution data536may be an 8×8 set of locations and corresponding elevations for the same geographic region.

At stage1030, the memory530transmits the identified data sets to the model generation unit550. The memory530transmits a low-resolution data set1032containing the identified data set of the low-resolution data534and transmits a high-resolution data set1034containing the identified data set of the high-resolution data536. For example, the low-resolution data set may be 180 m terrain elevation data and the high-resolution data set may be 30 m terrain elevation data.

Referring again in particular toFIG.9, at stage920, the model generation unit550builds a resolution enhancing model using the low-resolution data set1032and the high-resolution data set1034prepared at stage910. For example, referring also toFIG.11, a method1100for building and training the resolution enhancing model for generating higher-resolution data from low-resolution data includes the stages shown. The method1100is, however, an example only and not limiting. The method1100may be altered, e.g., by having stages added, removed, rearranged, combined, performed concurrently, and/or having single stages split into multiple stages.

At stage1110, the method1100includes the model generation unit550building a resolution enhancing model for generating higher-resolution data from low-resolution data. For example, the model generation unit550obtains the low-resolution data set1032and the high-resolution data set1034and builds a resolution enhancing model to convert the low-resolution data set1032to a higher-resolution data set, attempting to have the higher-resolution data set match the high-resolution data set1034. The resolution enhancing model may be a multivariate model with different weighting factors (e.g., coefficients) that uses one or more low-resolution data points (e.g., location(s) and corresponding elevation(s)) as input and provides as output one or more higher-resolution data points. On subsequent executions of stage1110, the method1100includes the model generation unit550training the resolution enhancing model as discussed further below.

At stage1120, the method1100includes evaluating the resolution enhancing model. For example, the model generation unit550provides the low-resolution data set1032as input to the resolution enhancing model and runs the resolution enhancing model to generate a higher-resolution data set from the low-resolution data set1032. The data density of the higher-resolution data is higher than the data density of the low-resolution data. The higher-resolution data enables more detailed data analysis than with the low-resolution data. For example, for terrain elevation data displayed to a user, the higher-resolution data facilitates zooming, i.e., selection of a portion of the display to be expanded, with the expanded data having a data density that is higher than if a corresponding portion of the low-density data was expanded. The expanded data of the higher-resolution data will have a new data density (e.g., if one-half of the bounding box is zoomed in on, then the data density will be reduced by half), and the new data density may be, for example, as high or higher than the data density of the non-expanded low-resolution data. This helps avoid using techniques such as interpolation between data points to attempt to add resolution. Interpolation may yield values that are less accurate than those of the higher-resolution data, thus decreasing accuracy of the data, which may, for example, result in lack of situational awareness, e.g., for a pilot.

At stage1130, the method1100includes determining whether the higher-resolution data set is acceptable. For example, the model generation unit550determines how well the higher-resolution data set matches the high-resolution data set1034. If the higher-resolution data set is not acceptable, e.g., a metric of closeness of the higher-resolution data set to the high-resolution data set1034is above a threshold level (e.g., has not converged to below a threshold difference (e.g., average elevation difference for all locations in the data set)), then the method1100returns to stage1110, where the method1100includes training the resolution enhancing model. To train the resolution enhancing model, the model generation unit550may employ one or more deep learning techniques based on the differential between the higher-resolution data set and the high-resolution data set1034. For example, the model generation unit550may employ a generative adversarial network (GAN) to perform machine learning to modify the resolution enhancing model (e.g., modify functions and/or weighting values) to attempt to better approximate the high-resolution data set1034with the higher-resolution data set produced by the resolution enhancing model using the low-resolution data set1032as input. The method1100returns to stage1120to use the resolution enhancing model, as modified, to produce a new higher-resolution data set using the low-resolution data set1032. Stages1110,1120,1130are repeated until the higher-resolution data set is acceptable. If the higher-resolution data set is acceptable, e.g., a metric of closeness of the higher-resolution data set to the high-resolution data set1034is below a threshold level (e.g., has converged to below a threshold difference (e.g., average elevation difference for all locations in the data set)), then the method1100ends such that the method900proceeds to stage930.

Referring again toFIG.9, at stage930, the method900includes deploying the resolution enhancing model to a user apparatus. The model generation unit550may transmit the resolution enhancing model that produced acceptable higher-resolution data through the interface520to the user apparatus600. For example, the resolution enhancing model may be stored in a device (e.g., a mobile phone, a flying vehicle or other flying device, etc.) during manufacture. As another example, the resolution enhancing model may be transmitted via the interface and a communication network (e.g., a wired communication network and/or a wireless communication network) to the user apparatus600to provide a software update, e.g., as new low-resolution data are obtained and/or as one or more new resolution enhancing models (e.g., for one or more corresponding data sets) are determined.

Stages910and920may be repeated for different low-resolution data sets as appropriate to produce different corresponding resolution enhancing models. For example, each low-resolution data set may correspond to a portion of the total low-resolution data (e.g., a 1°×1° map portion of a larger map, e.g., of a country, a continent, the world, or other geographic area). The model generation unit550may determine a different resolution enhancing model for each low-resolution data set. Stages910and920may be repeated until all desired data sets (e.g., all terrain elevation data sets for a desired geographic area) have been used to generate corresponding resolution enhancing models.

The user apparatus600may apply the resolution enhancing model to stored low-resolution data to produce higher-resolution data that can be provided to a user such that the user is able to take advantage of information provided by the higher-resolution without the user apparatus having to store the higher-resolution data or the high-resolution data. The user apparatus600, e.g., the data generation unit650may produce the higher-resolution data in an ad hoc manner, producing higher-resolution data that are presently relevant without producing higher-resolution data from all stored low-resolution data.

Referring also toFIG.12, a user apparatus1200, which is an example of the user apparatus600, includes one or more sensors1210, a supplemental information database1220, a low-resolution-data database1230, a data selection engine1240, a shared memory1250, a CPU1260, a GPU1270(graphics processing unit), an AI processor1280(artificial intelligence processor), and a user interface1290. The CPU1260, the GPU1270, and the AI processor1280are example components of the processor610. The supplemental information database1220and the low-resolution-data database1230may be stored in memory that is an example of the memory630. The shared memory1250may be an example component of the memory630. The CPU1260may be configured to coordinate operation of the GPU1270and the AI processor1280, e.g., with queuing operations to control the flow of information to the GPU1270and the AI processor1280and the order and timing of operations performed by the GPU1270and the AI processor1280. The GPU1270and the AI processor1280are configured to perform operations faster than the CPU1260and the AI processor1280may be configured to perform operations faster than the GPU1270.

The data selection engine1240is configured to determine and selectively provide low-resolution data from the low-resolution-data database1230to the shared memory1250. The data selection engine1240, which may be implemented by the CPU1260(and possibly software stored in memory), determines what low-resolution data to retrieve from the low-resolution-data database1230. For example, the data selection engine1240may obtain one or more indications from the sensor(s)1210and use the indication(s) to determine a data set of the low-resolution data. The indication(s) may, for example, indicate a location of the user apparatus1200(e.g., if the sensor(s)1210include an SPS receiver) or may indicate one or more measurements (e.g., satellite signal measurement(s) and/or terrestrial-based-signal measurement(s)) from which a location estimate for the user apparatus1200may be determined. The data selection engine1240may use a location estimate for the user apparatus1200to request a corresponding data set, spanning the location estimate, from the low-resolution-data database1230. The data selection engine1240may, for example, compute a bounding box based on the location estimate and fetch a low-resolution data set, from the low-resolution-data database1230, that includes terrain elevation values for locations within the bounding box, e.g., a corresponding terrain patch. The data selection engine1240provides the low-resolution data set to the shared memory1250and the shared memory1250stores the low-resolution data set, e.g., in a buffer1252such as a frame buffer.

The CPU1260controls the GPU1270and/or the AI processor1280to execute a resolution enhancing model corresponding to the low-resolution data set retrieved from the low-resolution-data database1230and stored in the buffer1252. The shared memory1250stores one or more resolution enhancing models1254, with each resolution enhancing model corresponding to respective low-resolution data, with a low-resolution data set comprising some or all low-resolution data corresponding to a resolution enhancing model. The GPU1270and/or the AI processor1280applies the low-resolution data set to the appropriate resolution enhancing model and executes the resolution enhancing model to produce a higher-resolution data set and store the higher-resolution data set in the shared memory1250.

Graphical data corresponding to the higher-resolution data may be conveyed to a user. The GPU1270may process the higher-resolution data set stored in the shared memory1250to produce corresponding graphical data (e.g., red, green, and blue intensity values to produce different colors corresponding to different elevation values) and store the graphical data in the shared memory1250, e.g., in the buffer1252. The user interface1290may retrieve the graphical data from the shared memory1250and use the graphical data to produce an image (e.g., a two-dimensional or three-dimensional image) on a display for a user. The user interface1290may display multiple images in succession, e.g., if the user apparatus1200is moving, to provide a moving map corresponding the movements of the user apparatus1200.

Executing the resolution enhancing model using the GPU1270and/or the AI processor1280will produce the higher-resolution data set faster than using the CPU1260, e.g., such that an image of terrain elevation based on the higher-resolution data set may be provided to a user faster than using the CPU1260, and multiple images providing a moving map can be provided to the user faster than using the CPU1260. The CPU1260can coordinate operation of the GPU1270and the AI processor1280to implement workload sharing between the GPU1270and the AI processor1280to execute the resolution enhancing model, or to execute multiple resolution enhancing models. The GPU1270and the AI processor1280may execute the resolution enhancing model(s) concurrently. The GPU1270may process the higher-resolution data to produce the graphical data while the AI processor1280concurrently executes the resolution enhancing model to produce further higher-resolution data. Executing the resolution enhancing model on the low-resolution data set allows higher-resolution data to be produced and used, e.g., by the user interface1290to provide more-useful information to a user (e.g., allowing zooming in on images) without storing the higher-resolution data long term, or storing higher-resolution data corresponding to all of the low-resolution data in the low-resolution-data database1230.

The data selection engine1240may select data from the supplemental information database and provide the selected supplemental data to the shared memory1250. For example, the supplemental information database1220may store a navigational database with information regarding routes between locations. The GPU1270may process the selected supplemental data to produce graphical data corresponding to one or more routes, and the user interface1290may use the graphical data to display one or more indications of the one or more routes, e.g., a line overlaid on a terrain elevation map.

Referring toFIG.13, with further reference toFIGS.1-12, a method1300for generating data includes the stages shown. The method1300is, however, an example only and not limiting. The method1300may be altered, e.g., by having stages added, removed, rearranged, combined, performed concurrently, and/or having single stages split into multiple stages. The method1300is, and implementations of the method1300are, discussed with respect to an example of generating (and using, e.g., displaying) terrain elevation data, but the method1300is applicable to generating other types of higher-resolution data from low-resolution data (and using the higher-resolution data).

At stage1310, the method1300includes obtaining, at an apparatus, a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area. For example, the model generation unit550may receive low-resolution data via the interface520and/or retrieve low-resolution data from the memory530. The processor510, possibly in combination with the memory530and/or possibly in combination with the interface520(e.g., a wired receiver and/or a wireless receiver and an antenna), may comprise means for obtaining the low-resolution data set. As another example, the data generation unit650may retrieve low-resolution data from the memory630. The processor610, possibly in combination with the memory630, may comprise means for obtaining the low-resolution data set.

At stage1320, the method1300includes applying, at the apparatus, the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area. For example, the model generation unit550may generate higher-resolution terrain elevation data from the low-resolution data set using a resolution enhancing model corresponding to the low-resolution data set. The processor510, possibly in combination with the memory530, may comprise means for applying the plurality of low-resolution terrain elevation values to the resolution enhancing model. As another example, the data generation unit650may generate higher-resolution terrain elevation data from the low-resolution data set using a resolution enhancing model corresponding to the low-resolution data set. The processor610, possibly in combination with the memory630, may comprise means for applying the plurality of low-resolution terrain elevation values to the resolution enhancing model.

Implementations of the method1300may include one or more of the following features. In an example implementation, obtaining the low-resolution data set comprises retrieving the low-resolution data set from a memory of the apparatus based on a location estimate for the apparatus. For example, the data generation unit650may determine a location estimate (e.g., by receiving an indication of the location estimate and/or by calculating the location estimate from one or more sensor measurements), determine a bounding box that includes the location estimate, and retrieve low-resolution data that corresponds to the bounding box, e.g., all low-resolution data with locations inside the bounding box. The processor610, in combination with the memory630and possibly in combination with the sensor(s)640and/or the interface620, may comprise means for retrieving the low-resolution data set from a memory of the apparatus based on a location estimate for the apparatus. In another example implementation, the method1300includes displaying, at the apparatus, an image of pixels with different visual appearances corresponding to different values of the plurality of higher-resolution terrain elevation values. For example, the processor610(e.g., the GPU1270) produces graphical data from the higher-resolution data and stores the graphical data in the memory630(e.g., the shared memory1250), and the processor610(e.g., the CPU1260) causes the interface620(e.g., the user interface1290) to display an image with different colors representing different elevations. The processor610, the memory630, and the interface620(e.g., the CPU1260, the GPU1270, the shared memory1250, and the user interface1290) may comprise means for displaying the image.

Also or alternatively, implementations of the method1300may include one or more of the following features. In an example implementation, the plurality of low-resolution terrain elevation values are applied to the resolution enhancing model by a resolution enhancing model processor of the apparatus that is configured to perform operations faster than a graphics processing unit of the apparatus. For example, the AI processor1280generates the higher-resolution data using the appropriate resolution enhancing model. This may help expedite generation of higher-resolution data, and thus expedite display of one or more terrain elevation image that may, for example, enhance situational awareness for a pilot. In a further example implementation, the method1300includes processing a first portion of the plurality of higher-resolution terrain elevation values, corresponding to a first portion of the plurality of low-resolution terrain elevation values, by the graphics processing unit while the resolution enhancing model processor applies a second portion of the plurality of low-resolution terrain elevation values to the resolution enhancing model to produce a second portion of the plurality of higher-resolution terrain elevation values. For example, the GPU1270may produce graphical data from higher-resolution data (e.g., corresponding to a first low-resolution data set or a portion of the first low-resolution data set) while the AI processor1280generates further higher-resolution data (e.g., based on a second low-resolution data set or a second portion of the first low-resolution data set). The GPU1270and the AI processor1280, and possibly the CPU1260(which may coordinate operation of the GPU1270and the AI processor1280) may comprise means for processing the first portion of the plurality of higher-resolution terrain elevation values by the graphics processing unit while the resolution enhancing model processor applies a second portion of the plurality of low-resolution terrain elevation values to the resolution enhancing model.

Also or alternatively, implementations of the method1300may include one or more of the following features. In an example implementation, the geographic area is a first geographic area, the low-resolution data set is a first low-resolution data set corresponding to the first geographic area, the resolution enhancing model is a first resolution enhancing model, and the plurality of higher-resolution terrain elevation values are a first plurality of higher-resolution terrain elevation values, and wherein the terrain elevation data display method further comprises: obtaining a second low-resolution data set corresponding to a second geographic area that is different from the first geographic area; and applying the second low-resolution data set to a second resolution enhancing model, different from the first resolution enhancing model, to produce a second plurality of higher-resolution terrain elevation values corresponding to the second geographic area. For example, the model generation unit550may obtain low-resolution data corresponding to different geographic regions that correspond to different resolution enhancing models, and produce higher-resolution data using the different resolution enhancing models on the respective low-resolution data. The processor510, possibly in combination with the memory530and/or possibly in combination with the interface520(e.g., a wired receiver and/or a wireless receiver and an antenna), may comprise means for obtaining the second low-resolution data set. The processor510, possibly in combination with the memory530, may comprise means for applying the second low-resolution data set to the second resolution enhancing model. As another example, the data generation unit650may obtain (e.g., retrieve from the memory630) low-resolution data corresponding to different geographic regions that correspond to different resolution enhancing models, and produce higher-resolution data using the different resolution enhancing models on the respective low-resolution data. The processor610, in combination with the memory630, may comprise means for obtaining the second low-resolution data set. The processor610, possibly in combination with the memory630, may comprise means for applying the second low-resolution data set to the second resolution enhancing model. In a further example implementation, the first low-resolution data set has a first data density that is different from a second data density of the second low-resolution data set. For example, the first low-resolution data set may have 90 m data for one terrain patch and the second low-resolution data set may have 180 m data for another terrain patch.

Also or alternatively, implementations of the method1300may include one or more of the following features. In an example implementation, the method1300includes: obtaining a high-resolution data set corresponding to the geographic area and comprising a plurality of high-resolution terrain elevation values; and modifying the resolution enhancing model in accordance with a machine-learning algorithm based on a difference between at least a portion of the plurality of higher-resolution terrain elevation values and at least a portion of the plurality of high-resolution terrain elevation values. For example, the model generation unit550may receive the high-resolution data set1034(e.g., via the interface520or by retrieving the high-resolution data set1034from the memory530), and modify the resolution enhancing model, e.g., using a GAN, in response to the higher-resolution data not being within a threshold difference of the high-resolution data set. The processor510, possibly in combination with the memory530and/or possibly in combination with the interface520, may comprise means for obtaining the high-resolution data set. The processor510, possibly in combination with the memory530, may comprise means for modifying the resolution enhancing model. In a further example implementation, the method1300includes recursively: applying the plurality of higher-resolution terrain elevation values to the resolution enhancing model; and using the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion. For example, the model generation unit550repeats stages1110,1120,1130until the latest higher-resolution terrain elevation values produced by the resolution enhancing model (with the latest modification(s)) meets one or more criteria, e.g., is within a threshold difference of respective high-resolution data. The processor510, possibly in combination with the memory530, may comprise means for recursively applying the resolution enhancing model to the plurality of higher-resolution terrain elevation values and using the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion. In a further example implementation, the apparatus is a first apparatus, and the method1300includes transmitting the resolution enhancing model to a second apparatus in response to the plurality of higher-resolution terrain elevation values meeting the at least one convergence criterion. For example, in response to the higher-resolution data being determined to be acceptable at stage1130, the model generation unit550transmits the resolution enhancing model, as modified, via the interface520(e.g., a wired transmitter and/or a wireless transmitter and an antenna) to the user apparatus600(e.g., via one or more intermediate devices such as the TRP300). The processor510, possibly in combination with the memory530, in combination with the interface520, may comprise means for transmitting the resolution enhancing model to the second apparatus.

Implementation Examples

Implementation examples are provided in the following numbered clauses.

Clause 1. An apparatus comprising:an interface;a memory; anda processor, communicatively coupled to the memory and the interface, configured to:obtain a low-resolution data set, the low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; andapply the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

Clause 2. The apparatus of clause 1, wherein the processor is configured to obtain the low-resolution data set by retrieving the low-resolution data set from the memory based on a location estimate for the apparatus.

Clause 3. The apparatus of clause 1, further comprising a display communicatively coupled to the processor, wherein the processor is further configured to provide display values, corresponding to the plurality of higher-resolution terrain elevation values, to the display to produce an image of pixels with different visual appearances corresponding to different values of the plurality of higher-resolution terrain elevation values.

Clause 4. The apparatus of clause 3, wherein:the processor comprises a graphics processing unit configured to produce the display values;the processor further comprises a resolution enhancing model processor that is configured to apply the plurality of low-resolution terrain elevation values to the resolution enhancing model to produce the plurality of higher-resolution terrain elevation values; andthe resolution enhancing model processor is configured to produce the plurality of higher-resolution terrain elevation values faster than the graphics processing unit.

Clause 5. The apparatus of clause 4, wherein the processor further comprises a central processing unit communicatively coupled to the graphics processing unit and the resolution enhancing model processor and configured to coordinate operation of the graphics processing unit and the resolution enhancing model processor to have the graphics processing unit process a first portion of the plurality of higher-resolution terrain elevation values, corresponding to a first portion of the plurality of low-resolution terrain elevation values, while the resolution enhancing model processor processes a second portion of the plurality of low-resolution terrain elevation values to produce a second portion of the plurality of higher-resolution terrain elevation values.

Clause 6. The apparatus of clause 1, wherein the geographic area is a first geographic area, the low-resolution data set is a first low-resolution data set corresponding to the first geographic area, the resolution enhancing model is a first resolution enhancing model, and the plurality of higher-resolution terrain elevation values are a first plurality of higher-resolution terrain elevation values, and wherein the processor is further configured to:obtain a second low-resolution data set corresponding to a second geographic area that is different from the first geographic area; andapply the second low-resolution data set to a second resolution enhancing model, different from the first resolution enhancing model, to produce a second plurality of higher-resolution terrain elevation values corresponding to the second geographic area.

Clause 7. The apparatus of clause 6, wherein the first low-resolution data set has a first data density that is different from a second data density of the second low-resolution data set.

Clause 8. The apparatus of clause 1, wherein the processor is further configured to:obtain a high-resolution data set corresponding to the geographic area and comprising a plurality of high-resolution terrain elevation values; andmodify the resolution enhancing model in accordance with a machine-learning algorithm based on a difference between at least a portion of the plurality of higher-resolution terrain elevation values and at least a portion of the plurality of high-resolution terrain elevation values.

Clause 9. The apparatus of clause 8, wherein the processor is further configured to recursively apply the plurality of higher-resolution terrain elevation values to the resolution enhancing model and use the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion.

Clause 10. The apparatus of clause 9, wherein the interface comprises a transmitter, and wherein the processor is further configured to transmit the resolution enhancing model to a user apparatus via the transmitter in response to the plurality of higher-resolution terrain elevation values meeting the at least one convergence criterion.

Clause 11. A terrain elevation data generation method comprising:obtaining, at an apparatus, a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; andapplying, at the apparatus, the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

Clause 12. The terrain elevation data generation method of clause 11, wherein obtaining the low-resolution data set comprises retrieving the low-resolution data set from a memory of the apparatus based on a location estimate for the apparatus.

Clause 13. The terrain elevation data generation method of clause 11, further comprising displaying, at the apparatus, an image of pixels with different visual appearances corresponding to different values of the plurality of higher-resolution terrain elevation values.

Clause 14. The terrain elevation data generation method of clause 11, wherein the plurality of low-resolution terrain elevation values are applied to the resolution enhancing model by a resolution enhancing model processor of the apparatus that is configured to perform operations faster than a graphics processing unit of the apparatus.

Clause 15. The terrain elevation data generation method of clause 14, further comprising processing a first portion of the plurality of higher-resolution terrain elevation values, corresponding to a first portion of the plurality of low-resolution terrain elevation values, by the graphics processing unit while the resolution enhancing model processor applies a second portion of the plurality of low-resolution terrain elevation values to the resolution enhancing model to produce a second portion of the plurality of higher-resolution terrain elevation values.

Clause 16. The terrain elevation data generation method of clause 11, wherein the geographic area is a first geographic area, the low-resolution data set is a first low-resolution data set corresponding to the first geographic area, the resolution enhancing model is a first resolution enhancing model, and the plurality of higher-resolution terrain elevation values are a first plurality of higher-resolution terrain elevation values, and wherein the terrain elevation data generation method further comprises:obtaining a second low-resolution data set corresponding to a second geographic area that is different from the first geographic area; andapplying the second low-resolution data set to a second resolution enhancing model, different from the first resolution enhancing model, to produce a second plurality of higher-resolution terrain elevation values corresponding to the second geographic area.

Clause 17. The terrain elevation data generation method of clause 16, wherein the first low-resolution data set has a first data density that is different from a second data density of the second low-resolution data set.

Clause 18. The terrain elevation data generation method of clause 11, further comprising:obtaining a high-resolution data set corresponding to the geographic area and comprising a plurality of high-resolution terrain elevation values; andmodifying the resolution enhancing model in accordance with a machine-learning algorithm based on a difference between at least a portion of the plurality of higher-resolution terrain elevation values and at least a portion of the plurality of high-resolution terrain elevation values.

Clause 19. The terrain elevation data generation method of clause 18, further comprising recursively:applying the plurality of higher-resolution terrain elevation values to the resolution enhancing model; andusing the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion.

Clause 20. The terrain elevation data generation method of clause 19, wherein the apparatus is a first apparatus, and the terrain elevation data generation method further comprises transmitting the resolution enhancing model to a second apparatus in response to the plurality of higher-resolution terrain elevation values meeting the at least one convergence criterion.

Clause 21. An apparatus comprising:means for obtaining a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; andmeans for applying the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

Clause 22. The apparatus of clause 21, wherein the means for obtaining the low-resolution data set comprise means for retrieving the low-resolution data set from a memory of the apparatus based on a location estimate for the apparatus.

Clause The apparatus of clause 21, further comprising means for displaying an image of pixels with different visual appearances corresponding to different values of the plurality of higher-resolution terrain elevation values.

Clause 24. The apparatus of clause 21, wherein the means for applying the plurality of low-resolution terrain elevation values to the resolution enhancing model comprise means for applying the plurality of low-resolution terrain elevation values to the resolution enhancing model by a resolution enhancing model processor of the apparatus that is configured to perform operations faster than a graphics processing unit of the apparatus.

Clause 25. The apparatus of clause 24, further comprising means for processing a first portion of the plurality of higher-resolution terrain elevation values, corresponding to a first portion of the plurality of low-resolution terrain elevation values, to produce graphical data while the means for applying the plurality of low-resolution terrain elevation values to the resolution enhancing model applies a second portion of the plurality of low-resolution terrain elevation values to the resolution enhancing model to produce a second portion of the plurality of higher-resolution terrain elevation values.

Clause 26. The apparatus of clause 21, wherein the geographic area is a first geographic area, the low-resolution data set is a first low-resolution data set corresponding to the first geographic area, the resolution enhancing model is a first resolution enhancing model, and the plurality of higher-resolution terrain elevation values are a first plurality of higher-resolution terrain elevation values, and wherein the apparatus further comprises:means for obtaining a second low-resolution data set corresponding to a second geographic area that is different from the first geographic area; andmeans for applying the second low-resolution data set to a second resolution enhancing model, different from the first resolution enhancing model, to produce a second plurality of higher-resolution terrain elevation values corresponding to the second geographic area.

Clause 27. The apparatus of clause 26, wherein the first low-resolution data set has a first data density that is different from a second data density of the second low-resolution data set.

Clause 28. The apparatus of clause 21, further comprising:means for obtaining a high-resolution data set corresponding to the geographic area and comprising a plurality of high-resolution terrain elevation values; andmeans for modifying the resolution enhancing model in accordance with a machine-learning algorithm based on a difference between at least a portion of the plurality of higher-resolution terrain elevation values and at least a portion of the plurality of high-resolution terrain elevation values.

Clause 29. The apparatus of clause 28, further comprising means for recursively applying the resolution enhancing model to the plurality of higher-resolution terrain elevation values and using the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion.

Clause 30. The apparatus of clause 29, further comprising means for transmitting the resolution enhancing model to a user apparatus in response to the plurality of higher-resolution terrain elevation values meeting the at least one convergence criterion.

Clause 31. A non-transitory, processor-readable storage medium comprising processor-readable instructions to cause a processor of an apparatus to:obtain a low-resolution data set corresponding to a geographic area and comprising a plurality of low-resolution terrain elevation values corresponding to first locations within the geographic area; andapply the plurality of low-resolution terrain elevation values to a resolution enhancing model to produce a plurality of higher-resolution terrain elevation values corresponding to second locations within the geographic area, a second quantity of the second locations within the geographic area being higher than a first quantity of the first locations within the geographic area.

Clause 32. The storage medium of clause 31, wherein the processor-readable instructions to cause the processor to obtain the low-resolution data set comprise processor-readable instructions to cause the processor to retrieve the low-resolution data set from a memory of the apparatus based on a location estimate for the apparatus.

Clause 33. The storage medium of clause 31, further comprising processor-readable instructions to cause the processor to display an image of pixels with different visual appearances corresponding to different values of the plurality of higher-resolution terrain elevation values.

Clause 34. The storage medium of clause 31, wherein the processor-readable instructions to cause the processor to apply the plurality of low-resolution terrain elevation values to the resolution enhancing model comprise processor-readable instructions to cause a resolution enhancing model processor of the apparatus, that is configured to perform operations faster than a graphics processing unit of the apparatus, to apply the plurality of low-resolution terrain elevation values to the resolution enhancing model.

Clause 35. The storage medium of clause 34, further comprising processor-readable instructions to cause the processor to coordinate operation of the graphics processing unit and the resolution enhancing model processor to have the graphics processing unit process a first portion of the plurality of higher-resolution terrain elevation values, corresponding to a first portion of the plurality of low-resolution terrain elevation values, while the resolution enhancing model processor processes a second portion of the plurality of low-resolution terrain elevation values to produce a second portion of the plurality of higher-resolution terrain elevation values.

Clause 36. The storage medium of clause 31, wherein the geographic area is a first geographic area, the low-resolution data set is a first low-resolution data set corresponding to the first geographic area, the resolution enhancing model is a first resolution enhancing model, and the plurality of higher-resolution terrain elevation values are a first plurality of higher-resolution terrain elevation values, and wherein the processor-readable instructions further comprise processor-readable instructions to cause the processor to:obtain a second low-resolution data set corresponding to a second geographic area that is different from the first geographic area; andapply the second low-resolution data set to a second resolution enhancing model, different from the first resolution enhancing model, to produce a second plurality of higher-resolution terrain elevation values corresponding to the second geographic area.

Clause 37. The storage medium of clause 36, wherein the first low-resolution data set has a first data density that is different from a second data density of the second low-resolution data set.

Clause 38. The storage medium of clause 31, further comprising processor-readable instructions to cause the processor to:obtain a high-resolution data set corresponding to the geographic area and comprising a plurality of high-resolution terrain elevation values; andmodify the resolution enhancing model in accordance with a machine-learning algorithm based on a difference between at least a portion of the plurality of higher-resolution terrain elevation values and at least a portion of the plurality of high-resolution terrain elevation values.

Clause 39. The storage medium of clause 38, further comprising processor-readable instructions to cause the processor to recursively apply the resolution enhancing model to the plurality of higher-resolution terrain elevation values and use the machine-learning algorithm to modify the resolution enhancing model until the plurality of higher-resolution terrain elevation values meet at least one convergence criterion.

Clause 40. The storage medium of clause 39, further comprising processor-readable instructions to cause the processor to transmit the resolution enhancing model to a user apparatus in response to the plurality of higher-resolution terrain elevation values meeting the at least one convergence criterion.

Other Considerations

Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software and computers, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or a combination of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.

As used herein, the singular forms “a,” “an,” and “the” include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “includes,” and/or “including,” as used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

Also, as used herein, “or” as used in a list of items (possibly prefaced by “at least one of” or prefaced by “one or more of”) indicates a disjunctive list such that, for example, a list of “at least one of A, B, or C,” or a list of “one or more of A, B, or C” or a list of “A or B or C” means A, or B, or C, or AB (A and B), or AC (A and C), or BC (B and C), or ABC (i.e., A and B and C), or combinations with more than one feature (e.g., AA, AAB, ABBC, etc.). Thus, a recitation that an item, e.g., a processor, is configured to perform a function regarding at least one of A or B, or a recitation that an item is configured to perform a function A or a function B, means that the item may be configured to perform the function regarding A, or may be configured to perform the function regarding B, or may be configured to perform the function regarding A and B. For example, a phrase of “a processor configured to measure at least one of A or B” or “a processor configured to measure A or measure B” means that the processor may be configured to measure A (and may or may not be configured to measure B), or may be configured to measure B (and may or may not be configured to measure A), or may be configured to measure A and measure B (and may be configured to select which, or both, of A and B to measure). Similarly, a recitation of a means for measuring at least one of A or B includes means for measuring A (which may or may not be able to measure B), or means for measuring B (and may or may not be configured to measure A), or means for measuring A and B (which may be able to select which, or both, of A and B to measure). As another example, a recitation that an item, e.g., a processor, is configured to at least one of perform function X or perform function Y means that the item may be configured to perform the function X, or may be configured to perform the function Y, or may be configured to perform the function X and to perform the function Y. For example, a phrase of “a processor configured to at least one of measure X or measure Y” means that the processor may be configured to measure X (and may or may not be configured to measure Y), or may be configured to measure Y (and may or may not be configured to measure X), or may be configured to measure X and to measure Y (and may be configured to select which, or both, of X and Y to measure).

Substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.) executed by a processor, or both. Further, connection to other computing devices such as network input/output devices may be employed. Components, functional or otherwise, shown in the figures and/or discussed herein as being connected or communicating with each other are communicatively coupled unless otherwise noted. That is, they may be directly or indirectly connected to enable communication between them.

A wireless communication system is one in which communications are conveyed wirelessly, i.e., by electromagnetic and/or acoustic waves propagating through atmospheric space rather than through a wire or other physical connection. A wireless communication network may not have all communications transmitted wirelessly, but is configured to have at least some communications transmitted wirelessly. Further, the term “wireless communication device,” or similar term, does not require that the functionality of the device is exclusively, or evenly primarily, for communication, or that the device be a mobile device, but indicates that the device includes wireless communication capability (one-way or two-way), e.g., includes at least one radio (each radio being part of a transmitter, receiver, or transceiver) for wireless communication.