Patent Description:
<CIT> provides methods and devices for processing and retransmitting highway communication system transmissions which include determining a reliability of a receive message and including an indication of the reliability in retransmitted transmissions. Reliability of received messages may be based on a signal strength of the received peer transmission, comparison of the signal strength to a distance to the transmitter based on message contents, the age of the received message, the signal quality of the received message, and other parameters. An indication of the determined reliability may be included in retransmissions of the message to enable other vehicles and receiver unites in the highway communication system to benefit from the reliability determination. Message reliability may be sue3d as part of prioritizing messages for processing. Messages may be processed according to priority so that high priority messages are processed before lower priority messages.

<CIT> describes a filter method for adapting a computing load to a computing capacity of a car-to-x communication system, in which method car-to-x messages are received and/or sent using the car-to-x communication system and the received car-to-x messages require processing by the car-to-x communication system. The filer method decides which of the received car-to-x messages to process and which of the received car-to-x messages to discard.

<CIT> provides systems and methods for filtering received messages of a dedicated short range communication (DSRC) system. A receive module receives messages from at least one or a remote vehicle and an infrastructure system. A processing module determines at least one or a central processing unit (CPU) usage and a messages receives frequency (MRF) of the DSRC system, determines a received signal strength (RSS) of a received message, determines whether the RSS of the received message is greater than a RSS threshold, and processed the received message in response to the RSS of the receives message being greater than the RSS threshold. An RF filter control module adjusts the RSS threshold in response to at least one of the CPU usage being greater than a threshold CPU usage, the MRF being greater than a threshold MRF, and the MRF being less than a minimum threshold MRF.

Techniques described herein provide for filtering and prioritizing incoming messages, which can help reduce and smooth out the processing load on components used to process the incoming messages. Filtering techniques may comprise identifying a subset of nearby vehicles from which messages are to be processed, and further calculating remaining delay budgets with regard to the messages to prioritize them for processing. Different techniques for categorizing nearby vehicles and determining a subset of nearby vehicles can be used, and different techniques for calculating and/or communicating delay budgets can be used.

The invention is defined by the independent claims to which reference should be made. Preferable features are set out in the dependent claims.

Several illustrative embodiments will now be described with respect to the accompanying drawings, which form a part hereof. While particular embodiments, in which one or more aspects of the disclosure may be implemented, are described below, other embodiments may be used and various modifications may be made without departing from the scope of the disclosure or the appended claims.

V2X-capable vehicles may execute vehicle-to-vehicle (V2V) safety applications built around Society of Automotive Engineers (SAE) J2735 BSMs, which communicate information about vehicle position, time, heading, speed, acceleration, predicted path, path history, and more. As noted, this information can be used by nearby vehicles to inform the vehicles' movement and maneuver execution. As noted, a given V2X-capable vehicle of interest, referred to herein as a Host Vehicle (HV), may receive a large number of BSMs broadcast by nearby V2X-capable vehicles within communication range, referred to herein as Remote Vehicles (RVs). For example, BSMs may be broadcast up to <NUM> times per second (<NUM>). And thus, if an HV is surrounded by <NUM> RVs each communicating up to <NUM> BSMs per second, the HV may need to process up to <NUM> BSMs per second. This processing can include verifying digitally-signed certificates of the messages and determining, based on the content of the messages, whether to issue a warning to a driver, alter or execute a maneuver, etc. Moreover, additional message types (e.g., non-BSM safety messages) may also be communicated to the HV from nearby RVs, and other communications may be received from Road-Side Units (RSUs), traffic-related servers, and more. Further, the information communicated by BSMs and other messages is often very time sensitive and must be processed quickly by the HV before it becomes irrelevant. Thus, the HV often has a limited ability to delay the processing of these incoming messages. This can cause a high processing load on the hardware block (e.g., Central Processing Unit (CPU), Digital Signal Processor (DSP), and/or Elliptic Curve Digital Signature Algorithm (ECDSA)) of the HV.

Traditional techniques for handling these issues have their shortcomings. For example, to avoid any compromise of safety, current schemes are designed to run at a performance level for the worst case (e.g., a maximum number of messages). To provide the processing capacity sufficient to do so, this can be a costly option in terms of price, power, and/or temperature. Additionally, traditional techniques often only account for packet delay budgets allocated at radio layers of the transmitting RV and the receiving HV, without accounting for total end-to-end packet delay from the application layer of the transmitting RV to the application layer of the receiving HV. This can mean that, although radio-layer delay budgets are met, messages may not be processed in time to meet application-layer needs. To overcome this, traditional techniques again use brute force techniques by operating radio-layer hardware (modems) at a very high operating frequency to account for worst-case scenarios at all times, without accounting for changes for messages from RVs.

Embodiments provided herein can address these and other issues by enabling an HV to filter incoming messages from RVs by establishing a zone of interest to identify RVs from which messages will be processed, and further prioritize the filtered messages at an application layer based on remaining time budget to smooth the processing load requirements out over time. The zone of interest can be defined based on a number of factors, including the relative locations of the RVs, one or more road conditions, and one or more vehicle operating conditions. Additional details are provided herein below, with respect to the appended figures.

<FIG> is an overhead view of a road <NUM>, provided to help illustrate how RVs may be categorized and zones of interest can be established. <FIG> shows multiple vehicles on the road <NUM>, including an HV <NUM> surrounded by multiple RVs (collectively and generically referred to herein as RVs <NUM>). As can be seen, the trajectory of the RVs <NUM> can be categorized as going in the same direction or opposite (reverse) direction as the HV. Additionally, according to some embodiments, the location of the RVs <NUM> may be categorized as being "ahead" or "behind" of the HV <NUM>, based on the orientation of the HV <NUM>, as illustrated by the line <NUM> shown in <FIG>. (It will be understood, however, that alternative embodiments may position the line <NUM> differently with respect to the HV <NUM>, such as more toward the front of the HV <NUM> or more toward the back of the HV <NUM>. Additionally or alternatively, embodiments may categorize vehicles as being either ahead or behind, but "adjacent" to the HV <NUM>, as indicated below.

For purposes of the description herein, a notation can be used to describe the location and trajectory of RVs <NUM> with respect to the HV <NUM>. A mapping of the RVs illustrated in <FIG> to the notation used herein and a description of the notation is provided in Table <NUM>.

As can be seen in Table <NUM>, the notation accounts for the direction and location of RVs <NUM> surrounding HV <NUM>. As previously noted, additional notation may be used to account for RVs <NUM> that are neither fully ahead of or fully behind the HV <NUM>. For example, line <NUM> passes through RV <NUM>-<NUM>, in which case it may be considered "adjacent. " RVs (not shown) in other lands that are also neither fully ahead of or behind the HV <NUM> may be similarly categorized. That said, based on information received by the HV <NUM> (e.g., via a BSM received from RV <NUM>-<NUM>) regarding the location of RV <NUM>-<NUM>, the HV <NUM> may determine to categorize RV <NUM>-<NUM> as being either ahead of or behind HV <NUM>, based on a certain location on RV <NUM>-<NUM> (e.g., the front, center, or back of the vehicle).

In the early example of the HV <NUM> being surrounded by <NUM> cars, it is likely that BSMs or similar messages from many other cars are irrelevant to the safety or operation of the HV <NUM>. With this in mind, and referring again to the example shown in <FIG>, the HV <NUM> can create one or more "contours" that define one or more areas of interest around groups of RVs <NUM>. These contours can specifically exclude RVs <NUM> from which messages may not be relevant. For example, messages from RVs <NUM>-<NUM> and <NUM>-<NUM>, which are traveling in the opposite direction and are behind the HV <NUM> may be excluded from these areas of interest. Many other factors may be taken into account when determining contours defining an area of interest.

<FIG> and <FIG> are overhead views of the road <NUM> of <FIG> with two different contours, <NUM>-A and <NUM>-B, respectively (collectively and generically referred to herein as contours <NUM>). As illustrated, the contours <NUM> define an area in which a subset of the neighboring RVs are located. The examples provided in <FIG> and <FIG> show relatively simple contours, but it will be understood that contours may be more complex in real life scenarios. For example, contours may be three-dimensional to take into account underpasses or overpasses near the HV <NUM>. Further, contours <NUM> may be determined by an application layer of the HV <NUM>, which may be executed by one or more processors (as described in more detail below).

The shape of a contour <NUM> may be based on any variety of factors related to current traffic conditions for the HV <NUM>. These factors, termed "road conditions" herein, may comprise, for example the speed and/or heading of the HV <NUM>, the number of lanes of the road <NUM>, the current lane in which the HV <NUM> is located, road hazards, weather-related conditions (rain, snow, ice, etc.), speed limits, path history and/or predicted path of RVs <NUM>, and so forth. This information may be gathered via sensors on the HV <NUM>, V2X and/or other communications with RVs <NUM>, communication with computer servers (providing, for example, map-related, weather-related, and/or other traffic-related information), and so forth. (Additional detail regarding is described below with regard to <FIG>.

Additionally, the shape of the contour <NUM> may be based on one or more constraints due to the processing capabilities of the HV <NUM>. These constraints, termed "operating constraints" herein, may comprise, for example, constraints in the message-processing capabilities of the HV <NUM>, which may be due to static and/or dynamic features of the underlying hardware and/or software used by the HV <NUM> to process messages. (Examples of hardware and software components used to process messages are provided herein below, with regard to <FIG>.

Another operating constraint may comprise a thermal constraint, which can also limit the amount of messages processed. That is, given the on-chip temperature of a processor and/or other digital processing hardware used to process the messages, and/or the temperature outside the HV <NUM>, the processing of messages may be reduced (e.g., via a reduction in the operating clock frequency) to help ensure a thermal maximum is not exceeded, in efforts to ensure the operating integrity of the processing hardware.

Another operating constraint may comprise a concurrency constraint, related to the ability of the HV <NUM> to engage in concurrent operations utilizing the same underlying hardware and/or software components used to process messages. That is, the communication components used to send and receive V2X messages may comprise components enabling cellular communication such as communication via Long-Term Evolution (LTE) or fifth-generation (<NUM>). Accordingly, these components may also be used for data, voice, emergency (e.g., eCall), and/or other communication. Because components of the HV <NUM> may be engaged in such alternative forms of communication (or may reserve a certain amount of capabilities to be able to engage in such alternative forms of communication), this may operate as a constraint, limiting the amount of messages the HV <NUM> is able to process over a certain period of time.

Returning to the notation shown in Table <NUM>, a contour <NUM> may be defined by the number of RVs <NUM> of different RV types are included within an area of interest. For example, each of the various parameters (Nsa, Nsb, Naa, etc.) corresponding to a different type of RV <NUM> may be "tuned" to include a larger or smaller amount of RVs <NUM> of that type, depending on the various road conditions and/or operating constraints. This "tuning" can be distance-based, such that an increase in a particular parameter may result in the contour <NUM> expanding to include additional RVs <NUM> of the same type, but farther away from the HV <NUM>. In the example of <FIG>, for instance, the value of the term Nsa is <NUM>. That is, there is only one RVs <NUM>-<NUM> in the same lane, going in the same direction, and located ahead of the HV <NUM>. An increase in the value of the term Nsa can result in the contour <NUM>-A encompassing additional HVs (not shown) in the same lane, going the same direction, and located ahead of the HV <NUM>. As the value of the term Nsa increases, so, too, does the distance of the contour <NUM>-A increase in front of the HV <NUM> to encompass the additional HVs.

This tuning of parameters is shown in the differences of contours <NUM> in <FIG> and <FIG>. In <FIG>, the corresponding contour <NUM>-B encompasses a smaller area of interest than the contour <NUM>-A of FIG. Again, this could be due to one or more of the various road conditions and/or operating constraints. The contour <NUM>-A of <FIG> defining the larger area of interest may be due to the HV <NUM> having relatively fewer operating constraints (fewer limits on message-processing capabilities). Additionally or alternatively, the relatively larger area of interest may be due to road conditions warranting a larger area of interest, such as hazardous weather conditions (e.g., icy roads), the HV <NUM> traveling at relatively high speeds, a large number of RVs <NUM> within a relatively short distance from the HV <NUM>, a curve in the road <NUM>, or the like. On the other hand, the contour <NUM>-B of <FIG> defining a smaller area of interest may be due to the HV <NUM> having relatively more operating constraints (more limits on message-processing capabilities) and/or having road conditions warranting a smaller area of interest, such as dry roads, low speeds, etc..

Some embodiments may account for operating constraints and road conditions in a different manner. For example, in some embodiments, the HV <NUM> may use a two-step approach by first determining (e.g., at an application layer) multiple contours <NUM> based on various road conditions, then selecting from the contours based on operating constraints. This process is illustrated in <FIG>.

<FIG> is an overhead view of the road <NUM> of <FIG> with multiple contours <NUM>-<NUM>, <NUM>-<NUM>, and <NUM>-<NUM>, as determined by the HV <NUM>. Contours may be ordered such that the largest contour <NUM>-<NUM> corresponds to a "first-order" contour, the second-largest contour <NUM>-<NUM> corresponds to a "second-order" contour, and the third-largest contour <NUM>-<NUM> corresponds to a "third-order" contour. As will be appreciated, an HV <NUM> may compute any number of contours <NUM>.

Again, using the notation of Table <NUM>, a contour of order "i" may define the value of each parameter type as Nsai, Naai, Nnai, etc. Higher-order contours have smaller areas of interest and encompass fewer RVs <NUM> than lower order contours. Thus, where first order parameters are defined as Nsa<NUM>, Naa<NUM>, Nna<NUM>, etc., and second order parameters are defined as Nsa<NUM>, Naa<NUM>, Nna<NUM>, etc., each of the second order parameters is equal to or less than the corresponding parameter in the first-order, such that Nsa<NUM> ≤ Nsa<NUM> , Naa<NUM> ≤ Naa<NUM> , Nna<NUM> ≤ Nna<NUM>, etc., where at least one parameter in the second order is less than the corresponding parameter in the first order.

The contours <NUM> of <FIG> may be created based on the previously-noted road conditions, as well as some logic for reducing the area of interest for higher-order contours. For example, an initial contour <NUM>-<NUM> may be created based on road conditions, under the assumption that operating constraints are minimal. Logic may then be applied to reduce the value of some or all of the parameters (e.g., to reduce the amount of encompassed RVs <NUM> by one or more) to create the second-order contour <NUM>-<NUM>. This logic may then be applied again to reduce the value of some or all of the parameters of the second-order contour <NUM>-<NUM>, to create the third-order contour <NUM>-<NUM>, and so on.

Once the contours <NUM> are created, the HV <NUM> may then select the contour <NUM> to use, based on operating constraints. If, for example, operating constraints are relatively minimal, then a relatively low-order contour may be chosen. On the other hand, if operating constraints are restrictive, then a relatively high-order contour may be chosen.

<FIG> are flowcharts that illustrate methods <NUM> for creating an area of interest to use in filtering messages from incoming RVs <NUM>, outlining the different embodiments previously described in relation to <FIG>. The HV <NUM> may repeat either or both of the methods <NUM> to continuously define contours <NUM> with which message filtering may be conducted. Means for performing these methods may include one or more hardware and/or software components of an HV <NUM>, such as those illustrated in <FIG>, which is described below.

Method <NUM>-A of <FIG>, for example, shows the two-step approach previously described with regard to <FIG>, in which contours are defined based on road conditions (and other logic), and a contour is then selected based on operating constraints. Specifically, the functionality at block <NUM> comprises obtaining road conditions. Again, this may be obtained from sensors, RVs <NUM>, servers, and/or other devices with which the HV <NUM> is communicatively connected.

As shown at block <NUM>, the contours <NUM> are then determined, based on the obtained road conditions and additional logic. Higher-order contours <NUM> may be defined by reducing the number of one or more types of RVs <NUM> (e.g., parameters of Table <NUM>) at each increasing order. Depending on desired functionality, the HV <NUM> may determine any number of contours <NUM>, which may be fixed or dynamic, depending on desired functionality.

As shown at block <NUM>, operating constraints are then obtained. As noted, this may comprise comparing an on-chip temperature and/or ambient temperature with a temperature threshold of the HV <NUM>, assessing message processing capabilities of the HV <NUM>, and/or determining whether processing resources are being shared with other processes (e.g., cellular data/voice communication). A contour <NUM> is then selected based on the operating constraints, as shown at block <NUM>.

The functionality shown at block <NUM> comprises identifying RVs <NUM> within the zone of interest defined by the contour <NUM>. Again, this may be based on location, identity, and/or other information obtained directly from RVs <NUM>, and/or information from other sources. The method <NUM>-A can then proceed by processing the messages from the identified RVs, while disregarding messages from other RVs. As noted, filtering messages in this manner can result in a significant reduction in processing load by ignoring messages (e.g., BSMs) that are not relevant to the HV <NUM>.

In some embodiments, the disregarding of messages from RVs <NUM> outside the area of interest may be conducted by a combination of functionality at the application layer and radio layer of the HV <NUM> (which are described in more detail below). In some embodiments, for example, the application layer may perform the functionality at block <NUM> by identifying RVs <NUM> within the zone of interest, then indicate to the radio layer the identity of the identified RVs so that the radio layer can filter incoming messages accordingly. In some embodiments, for example, the application layer can provide the radio layer with the L2 addresses of messages that are to be considered (although this may be limited given the fact that these addresses can change over time).

The method <NUM>-B shows the single-step approach previously discussed with regard to <FIG> and <FIG>, in which the functions shown in block <NUM> and <NUM> of <FIG> (obtaining road conditions and operating constraints, respectively) are performed together, and, as shown at block <NUM>, a single contour is determined based on both road conditions and operating constraints. The method <NUM>-B can then proceed in a manner similar to the method <NUM>-A, by identifying RVs in the zone of interest (at block <NUM>) and processing messages from those identified RVs (at block <NUM>).

Alternative embodiments may vary from the methods <NUM> shown in <FIG>. For example, the two-step process of method <NUM>-A may be such that a plurality of contours are determined based on operating constraints, and a contour is then selected from the plurality of contours, based on road conditions. Additional or alternative factors may be taken into account to determine one or more contours. Additionally or alternatively, rather than defining contours based on a number of RVs of various RV types, a contour (area of interest) may be defined based on distance. The person of ordinary skill in the art will appreciate other such variations.

Once messages are filtered to exclude messages from RVs <NUM> outside an area of interest, embodiments may additionally employ techniques for prioritizing the messages based on a delay budget for each of the messages, which can help smooth processing requirements by delaying message processing where possible, as well as help ensure end-to-end delay budgets are met.

<FIG> is a simplified block diagram of relevant communication components of an RV <NUM> and HV <NUM> used to help illustrate the functionality of different components used for message prioritization. It will be understood that the communication components shown may be executed by any number of hardware and/or software components of the RV <NUM> and HV <NUM>, such as those illustrated in <FIG> and described below.

Here, each vehicle comprises an application layer <NUM> and radio layer <NUM>. The application layer <NUM> may comprise (among other things) an Intelligent Transport Systems (ITS) stack, and may be communicatively coupled with a radio layer <NUM>. As indicated previously, the application layer <NUM>-RX of the HV <NUM> may determine the area of interest (e.g., define one or more contours <NUM>) using the above-described techniques. The radio layer <NUM> may be executed at a modem of the respective vehicle, may comprise (among other things) a V2X stack and may be used to communicate messages from the RV <NUM> to the HV <NUM> (and vice versa).

As noted, traditional V2X messaging may provide indications of a delay budget used at the radio layer, but may not provide the framework for keeping an end-to-end delay budget for messages between the application layer <NUM>-TX of the RV <NUM> and the application layer <NUM>-RX of the HV <NUM>. Embodiments herein may employ functionality at the application and/or radio layers to enable such a framework. An example of this is illustrated in <FIG>.

<FIG> is a call-flow diagram, illustrating functionality and communications between the various components illustrated in <FIG>, to enable the HV <NUM> to prioritize incoming messages, according to an embodiment. The functionality at block <NUM> comprises the application layer <NUM>-TX generating a message with a corresponding delay budget. That is, according to embodiments, when creating a message (e.g., a BSM message), the application layer <NUM>-TX may indicate a delay budget for the message to the radio layer <NUM>-TX, as shown by arrow <NUM> in <FIG>. In some embodiments, the delay budget may be mapped to a priority in a manner similar to Packet Delay Budgets are mapped to Pro se Per Packet Priority (PPPP) for packet data convergence protocol (PDCP)-layer communications. That is, certain priorities may be mapped to a particular delay budget. For example, higher priority levels may be mapped to smaller delay budgets (e.g., <NUM> or <NUM>) whereas lower priority levels may be mapped to higher delay budgets (e.g., <NUM>). As will be appreciated, embodiments may utilize any number of priority levels and/or delay budgets. Moreover, in some embodiments, delay budgets provided by the application layer <NUM>-TX may not be linked to particular priority levels.

As shown in block <NUM>, the radio layer <NUM>-TX can then determine remaining delay budget. That is, with the delay budget for the message, the radio layer <NUM>-TX can then calculate how much remaining delay budget will be left for the message once the radio layer <NUM>-TX transmits the message. More specifically, the radio layer <NUM>-TX can determine, based on the known time it takes between receiving messages from the application layer <NUM>-TX to transmitting messages, how much time there will be remaining in the delay budget once the radio layer <NUM>-TX transmits the message. It can communicate this remaining delay budget with the message using, for example, a reserve field in a Physical Sidelink Control Channel (PSCCH). This communication is shown by arrow <NUM> in <FIG>.

The functionality at block <NUM> comprises, the radio layer <NUM>-RX of the HV <NUM> calculating an updated remaining delay budget by calculating an amount of time it takes for the radio layer <NUM>-RX to provide the message to the application layer <NUM>-RX. Moreover, although over-the-air (OTA) delays may be relatively small, the radio layer <NUM>-RX may also take OTA delays into account when computing the updated remaining delay budget. The message and the indication of the updated delay budget can then be provided to the application layer <NUM>-RX, as shown by arrow <NUM>.

Finally, with the message and remaining delay budget, the application layer <NUM>-RX can then prioritize the message processing, as indicated at block <NUM>. That is, the application layer <NUM>-RX may place the message in a processing queue with other messages, based on the amount of remaining delay budget for the message. Thus, the processing of messages with little delay budget remaining can be conducted more quickly, while the processing of messages with a large amount of delay budget remaining can be conducted later. In this way, the application layer <NUM>-RX has some flexibility in the timing of such processing, allowing the application layer <NUM>-RX to smooth spikes in the processing load over time. This can also allow the application layer <NUM>-RX to reduce or increase its operating frequency to accommodate reductions and/or increases in message processing requirements, given the amount of messages received and their corresponding delay budgets.

Some embodiments may employ some prioritization at the radio layer <NUM>-RX of the HV <NUM>, as illustrated by block <NUM>. That is, according to some embodiments, the radio layer <NUM>-RX may determine the amount of delay budget the message has left and prioritize providing the message to the application layer <NUM>-RX accordingly. It can, for example, keep its own queue of messages, where the position of each message in the queue is based on the amount of delay budget remaining for each message. In some embodiments, the radio layer <NUM>-RX may perform prioritization of incoming messages in this manner in addition or as an alternative to indicating the remaining delay budget to the application layer <NUM>-RX.

<FIG> is a flow diagram of a method of message selection and prioritization at an HV, according to an embodiment. As noted, the functionality of an HV may be implemented by hardware and/or software components of a vehicle, such as those illustrated in <FIG> and described below. As such, in some embodiments, one or more of the functions illustrated in the blocks of <FIG> may be performed by one or more of the hardware and/or computer components illustrated in <FIG>. Furthermore, alternative embodiments may alter the functionality shown in the blocks of <FIG> by separating or combining blocks to perform functions in a different order, simultaneously, etc. A person of ordinary skill in the art will readily recognize such variations in view of the description herein.

The functionality of block <NUM> comprises wirelessly receiving messages from a plurality of RVs. As noted with regard to <FIG>, these messages may be received directly from neighboring RVs within communication range. According to some embodiments, these messages may be received via V2X communication. In embodiments utilizing cellular communication (e.g., C-V2X) such embodiments may be made using, for example, a PC5 communication interface. As previously discussed, a remaining delay budget may accompany (included in and/or communicated with) each message for prioritization purposes. According to some embodiments, the messages may comprise V2X BSMs.

Means for performing the functionality at block <NUM> may include one or more software and/or hardware components of a vehicle, such as a bus <NUM>, processor(s) <NUM>, memory <NUM>, wireless transceiver <NUM>, and/or other software and/or hardware components of a vehicle <NUM> as illustrated in <FIG>, which is described in more detail below.

The functionality shown by block <NUM> comprises determining a first subset of the plurality of RVs from which to process the messages, wherein the first subset is determined based at least in part on the respective location of HRV relative to the HV, one or more road conditions of road on which the HV is located, and one or more operating constraints of the HV. As detailed in the embodiments described above with regard to <FIG>, for example, the first subset may be determined using one or more contours to define one or more areas of interest in which the subset of the plurality of RVs is located. Thus, according to some embodiments, determining the first subset of the plurality of RVs comprises defining a plurality of subsets of the plurality of RVs, wherein each subset of the plurality of subsets comprises a different number of RVs from the plurality of RVs, and selecting the first subset from the plurality of subsets based on the one or more operating constraints. As noted, each subset may be defined by contours of different orders defining different areas of interest, and the contour may be chosen based on its order and the operating conditions of the HV. Moreover, according to some embodiments, defining each subset of the plurality of subsets can be based at least in part on the one or more road conditions.

As noted in the previously-described embodiments, the one or more road conditions and one or more operating constraints may include any of a variety of related factors. For example, according to some embodiments, the one or more road conditions may comprise a number of lanes of the road, a current lane of the HV, a speed limit of the road, a road hazard, a weather condition, a curvature of the road, speed of the HV, heading of the HV, or a trajectory of one or more RVs of the plurality of RVs, or any combination thereof. According to some embodiments, the one or more operating constraints of the HV may comprise a message processing capability, a thermal constraint, a concurrency constraint, or any combination thereof.

Means for performing the functionality at block <NUM> may include one or more software and/or hardware components of a vehicle, such as a bus <NUM>, processor(s) <NUM>, memory <NUM>, wireless transceiver(s) <NUM>, and/or other software and/or hardware components of a vehicle <NUM> as illustrated in <FIG>.

At block <NUM>, the functionality comprises, for each message received from an RV in the first subset, determining a priority for the respective message based at least in part on an indication of a remaining delay budget for the respective message, wherein the priority for the respective message determines an order in which the content of the respective message is to be processed by the HV, and the indication of the remaining delay budget for the respective message is received with the respective message. As noted in the previously-described embodiments, the respective message may include or be accompanied by a remaining delay budget determined by a radio layer of the RV transmitting the respective message, which can be utilized by a radio layer and/or application layer of the HV to help ensure an end-to-end delay budget is met. In some embodiments, for example, determining the priority for the respective message comprises obtaining, at a radio layer of the HV, the indication of the remaining delay budget for the respective message of the respective message, and providing, from the radio layer to an application layer of the HV, the indication of the remaining delay. In some embodiments, providing the indication of the remaining delay may comprise providing a modified indication of the remaining delay to account for (i) delay of the radio layer and (ii) OTA delay. Additionally or alternatively, the radio layer of the HV can obtain the indication of the remaining delay budget for the respective message via a PSCCH for the respective message.

Means for performing the functionality at block <NUM> include one or more software and/or hardware components of a vehicle, such as a bus <NUM>, processor(s) <NUM>, memory <NUM>, wireless transceiver(s) <NUM>, and/or other software and/or hardware components of a vehicle <NUM> as illustrated in <FIG>. According to some embodiments, for example, the radio layer is executed by the wireless transceiver(s)<NUM> and the application layer is executed by the processor(s) <NUM> and/or DSP <NUM>.

As noted in the above-described embodiments, the functionality performed at block <NUM> may include filtering of messages from RVs in the plurality of RVs that are not in the first subset. This filtering may be performed at the radio layer (e.g., modem), application layer, or combination of both. Additionally or alternatively, the message sorting (e.g., the functionality at block <NUM>) for messages coming from RVs in the first subset can be done in radio layer (e.g., optional prioritization at block <NUM> of radio layer <NUM>-Rx in <FIG>) or application layer (e.g., prioritize message processing at block <NUM> by application layer <NUM>-Rx in <FIG>) or a combination of both.

<FIG> are illustrations of systems, structural devices, vehicle components, and other devices, components, and systems that can be used to implement the techniques provided herein for message filtering and prioritization at an HV <NUM>. In the description below, HVs <NUM> and RVs <NUM> as used in the previously-described embodiments are referred to generically simply as "vehicles.

<FIG> is an illustration of a system in which vehicles (e.g., HV and/or RV) may communicate over various networks and with various devices, vehicles, and servers, according to an embodiment. In an embodiment, V2X vehicle A <NUM> may communicate, using V2X or other wireless communication transceiver over link <NUM>, with V2X or otherwise communication-transceiver-enabled vehicle B <NUM>, for example, in an embodiment to perform inter-vehicle relative positioning, negotiation for lane changes or for passage through an intersection, and to exchange V2X data elements such as Global Navigation Satellite System (GNSS) measurements, vehicle status, vehicle location and vehicle abilities, measurement data, and/or calculated status, and to exchange other V2X vehicle status steps that may not be covered in the V2X capability data elements. In an embodiment, vehicle A <NUM> may also communicate with vehicle B <NUM> through a network, for example, via wireless signals <NUM> to/from base station <NUM> and/or via wireless signals <NUM> to/from an access point <NUM>, or via one or more communication-enabled RSU(s) <NUM>, any of which may relay communication, information and/or convert protocols for use by other vehicles, such as vehicle B <NUM>, particularly in an embodiment where vehicle B <NUM> is not capable of communicating directly with vehicle A <NUM> in a common protocol. In an embodiment, RSU(s) may comprise various types of roadside beacons, traffic and/or vehicular monitors, traffic control devices, and location beacons.

In an embodiment, RSU(s) <NUM> may have a processor 825A configured to operate wireless transceiver 825E to send and receive wireless messages, for example, BSM or Cooperative Awareness Messages (CAM) or other V2X messages to/from vehicle A <NUM> and/or vehicle B <NUM>, from base station <NUM> and/or access point <NUM>. For example, wireless transceiver 825E may send and/or receive wireless messages in various protocols such as V2X communication with vehicles, and/or using various Wide Area Network (WAN), Wireless Local Area Network (WLAN), and/or Personal Area Network (PAN) protocols to communicate over a wireless communication network. In an embodiment RSU(s) <NUM> may contain one or more processors 825A communicatively coupled to wireless transceiver 825E and memory, and may contain instructions and/or hardware to perform as a traffic control unit 825C and/or to provide and/or process environmental and roadside sensor information 825D or to act as a location reference for GNSS relative location between it and vehicles. In an embodiment, RSU(s) <NUM> may contain a network interface 825B (and/or a wireless transceiver 825E), which, in an embodiment, may communicate with external servers such as traffic optimization server <NUM>, vehicle information server <NUM>, and/or environmental data server <NUM>. In an embodiment, wireless transceiver 825E may communicate over a wireless communication network by transmitting or receiving wireless signals from a wireless Base Transceiver Subsystem (BTS), a Node B or an evolved NodeB (eNodeB) or a next generation NodeB (gNodeB) over wireless communication link. In an embodiment, wireless transceiver(s) 825E may comprise various combinations of WAN, WLAN and/or PAN transceivers. In an embodiment, a local transceiver may also be a Bluetooth® transceiver, a ZigBee transceiver, or other PAN transceiver. A local transceiver, a WAN wireless transceiver and/or a mobile wireless transceiver may comprise a WAN transceiver, an access point (AP), femtocell, Home Base Station, small cell base station, Home Node B (HNB), Home eNodeB (HeNB) or next generation NodeB (gNodeB) and may provide access to a wireless local area network (WLAN, e.g., IEEE <NUM> network), a wireless personal area network (PAN, e.g., Bluetooth network) or a cellular network (e.g. an LTE network or other wireless wide area network such as those discussed in the next paragraph). It should be understood that these are merely examples of networks that may communicate with an RSU(s) <NUM> over a wireless link, and claimed subject matter is not limited in this respect.

RSU(s) <NUM> may receive location, status, GNSS and other sensor measurements, and capability information from vehicle A <NUM> and/or vehicle B <NUM> such as GNSS measurements, sensor measurements, velocity, heading, location, stopping distance, priority or emergency status and other vehicle-related information. In an embodiment, environmental information such as road surface information/status, weather status, and camera information may be gathered and shared with vehicles, either via point to point or broadcast messaging. RSU(s) <NUM> may utilize received information, via wireless transceiver 825E, from vehicle A <NUM> and/or vehicle B <NUM>, environmental and roadside sensors 825D, and network information and control messages from, for example, traffic control and optimization server <NUM> to coordinate and direct traffic flow and to provide environmental, vehicular, safety and announcement messages to vehicle A <NUM> and vehicle B <NUM>.

Processor 825A may be configured to operate a network interface 825B, in an embodiment, which may be connected via a backhaul to network <NUM>, and which may be used, in an embodiment, to communicate and coordinate with various centralized servers such as a centralized traffic control and optimization server <NUM> that monitors and optimizes the flow of traffic in an area such as within a city or a section of a city or in a region. Network interface 825B may also be utilized for remote access to RSU(s) <NUM> for crowd sourcing of vehicle data, maintenance of the RSU(s) <NUM>, and/or coordination with other RSU(s) <NUM> or other uses. RSU(s) <NUM> may have a processor 825A configured to operate traffic control unit 825C which may be configured to process data received from vehicles such as vehicle A <NUM> and vehicle B <NUM> such as location data, stopping distance data, road condition data, identification data and other information related to the status and location of nearby vehicles and environment. RSU(s) <NUM> may have a processor 825A configured to obtain data from environmental and roadside sensors 825D, which may include temperature, weather, camera, pressure sensors, road sensors (for car detection, for example), accident detection, movement detection, speed detection and other vehicle and environmental monitoring sensors.

In an embodiment, vehicle A <NUM> may also communicate with mobile device <NUM> using short range communication and personal networks such as Bluetooth, Wi-Fi or Zigbee or via V2X or other vehicle-related communication protocols, for example, in an embodiment to access WAN and/or Wi-Fi networks and/or, in an embodiment, to obtain sensor and/or location measurements from mobile device <NUM>. In an embodiment, vehicle A <NUM> may communicate with mobile device <NUM> using WAN related protocols through a WAN network, such as via WAN base station <NUM> or using Wi-Fi either directly peer to peer or via a Wi-Fi access point. Vehicle A <NUM> and/or vehicle B <NUM> may communicate using various communication protocols. In an embodiment, vehicle A <NUM> and/or vehicle B <NUM> may support various and multiple modes of wireless communication such as, for example, using V2X, Global System for Mobile Communications (GSM), Wideband Code Division Multiple Access (WCDMA), Code-division multiple access (CDMA), High Rate Packet Data (HRPD), Wi-Fi, Bluetooth, WiMAX, LTE, <NUM> new radio access technology (NR) communication protocols, etc..

In an embodiment, vehicle A may communicate over WAN networks using WAN protocols via base station <NUM> or with wireless LAN access point <NUM> using wireless LAN protocols such as Wi-Fi. A vehicle may also support wireless communication using a WLAN, PAN (such as Bluetooth or ZigBee), Digital Subscriber Line (DSL) or packet cable for example.

Vehicle A <NUM> and/or vehicle B <NUM>, in an embodiment, may contain one or more GNSS receivers such as GNSS receiver <NUM> for reception of GNSS signals <NUM>, from GNSS satellites <NUM>, for location determination, time acquisition and time maintenance. Various GNSS systems may be supported alone or in combination, using GNSS receiver <NUM> or other receiver, to receive signals from Beidou, Galileo, GLONASS, and/or Global Positioning System (GPS), and various regional navigational systems such as Quasi-Zenith Satellite System (QZSS) and NavIC or Indian Regional Navigation Satellite System (IRNSS). Other wireless systems may be utilized such as those depending on beacons such as, in an example, one or more RSU(s) <NUM>, one or more wireless LAN access point <NUM> or one or more base stations <NUM>. Various GNSS signals <NUM> may be utilized in conjunction with car sensors to determine location, velocity, proximity to other vehicles such as between vehicle A <NUM> and vehicle B <NUM>.

In an embodiment, vehicle A and/or vehicle B may access GNSS measurements and/or locations determined at least in part using GNSS as provided by mobile device <NUM>, which, in an embodiment would also have GNSS, WAN, Wi-Fi and other communications receivers and/or transceivers. In an embodiment, vehicle A <NUM> and/or vehicle B <NUM> may access GNSS measurements (such as pseudorange measurements, Doppler measurements and satellite IDs) and/or locations determined at least in part using GNSS as provided by mobile device <NUM> as a fallback in case GNSS receiver <NUM> fails or provides less than a threshold level of location accuracy.

Vehicle A <NUM> and/or Vehicle B <NUM> may access various servers on the network such as vehicle information server <NUM>, route server <NUM>, location server <NUM>, map server <NUM>, and environmental data server <NUM>.

Vehicle information server <NUM>, may provide information describing various vehicles such as antenna location, vehicle size and vehicle capabilities, as may be utilized in making decisions in regards to maneuvers relative to nearby cars such as whether they are capable of stopping or accelerating in time, whether they are autonomously driven, autonomous driving capable, communications capable. In an embodiment, vehicle information server <NUM> may also provide information in regard to vehicle size, shape, capabilities, identification, ownership, occupancy, and/or determined location point (such as, for example, the location of the GNSS receiver) and the location of the car boundaries relative to the determined location point.

Route server <NUM>, may receive current location and destination information, and provide routing information for the vehicle, map data, alternative route data and/or traffic and street conditions data.

Location server <NUM>, in an embodiment, may provide location determination capabilities, transmitter signal acquisition assistance (such as GNSS satellite orbital predictions information, time information approximate location information and/or approximate time information), transceiver almanacs such as those containing identification of and location for Wi-Fi access points and base stations, and, in some embodiments, additional information relative to the route such as speed limits, traffic, and road status/construction status. Map server <NUM> which may provide map data, such as road locations, points of interest along the road, address locations along the roads, road size, road speed limits, traffic conditions, and/or road conditions (wet, slippery, snowy/icy, etc.), road status (open, under construction, accidents, etc.). Environmental data server <NUM> may, in an embodiment, provide weather and/or road related information, traffic information, terrain information, and/or road quality & speed information and/or other pertinent environmental data.

In an embodiment, Vehicles <NUM> and <NUM> and mobile devices <NUM>, in <FIG>, may communication over network <NUM> via various network access points such as wireless LAN access point <NUM> or wireless WAN base station <NUM> over network <NUM>. Vehicles <NUM> and <NUM> and mobile devices <NUM> may also, in some embodiments, communicate directly between devices, between vehicles and device to vehicle and vehicle to device using various short range communications mechanisms to communicate directly without going over network <NUM>, such as via Bluetooth, Zigbee and <NUM> new radio standards.

<FIG> comprises a functional block diagram of a vehicle <NUM>, according to an embodiment. The vehicle <NUM> we correspond to an HV <NUM> and/or RV <NUM>, as described in the embodiments above. Moreover, hardware and/or software components for executing the blocks shown in <FIG> are illustrated in <FIG> and described in more detail below.

As shown in <FIG>, vehicle <NUM> may receive vehicle and environment information from vehicle external sensors <NUM>, vehicle internal sensors <NUM>, vehicle capabilities <NUM>, external wireless information such as the location of RVs and GNSS measurement information <NUM> (from the environment, from other vehicles, from RSU(s), from system servers) and/or from vehicle motion state <NUM> (describing current and/or future motion states). The messages received by an HV <NUM> from RVs <NUM> described in the embodiments above, for example, may convey the data provided in blocks <NUM> and/or <NUM>. The received vehicle, sensor, and environment information may, in an embodiment, be processed in one or more processor(s) <NUM>, DSP(s) <NUM> and memory <NUM> (shown in <FIG>), connected and configured to provide external object sensing and classification, prediction and planning, and maneuver execution, as well as to determine and update V2X or other wireless data element values, including GNSS data element values, and to transmit, via one or more wireless transceivers <NUM>, messaging including the determined data elements. The messaging and data elements may be sent and received via various means, protocols and standards, such as via SAE or European Telecommunications Standards Institute (ETSI) CV2X messages and data elements or other wireless and wireless V2X protocols supported by wireless transceiver(s) <NUM>.

Inter-vehicle relative location determination block <NUM> may be used to determine relative location of vehicles in an area of interest. In an embodiment, GNSS data is exchanged with vehicles (e.g., RVs), or other devices such as RSUs, to determine and/or verify and/or increase the accuracy of a relative location associated with other vehicles or devices. In one embodiment, determining vehicles (or other devices) within an area of interest may utilize broadcast location information such as broadcast latitude and longitude received in messages (e.g., BSMs) from other vehicles other devices and location information for vehicle <NUM> to determine an approximate relative location and/or an approximate range between vehicles. This information can be used by an HV <NUM>, for example, to define contours <NUM> as described in the embodiments above, and/or identify RVs <NUM> within an area of interest.

In an embodiment, other vehicle-related input sources, such as servers <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, may provide information such as vehicle information, routing, location assistance, map data and environmental data and provide input on and/or complement and/or be used in conjunction with the other inputs, for example road location data, map data, driving condition data and other vehicle-related data inputs, used in conjunction with inter-vehicle maneuver coordination <NUM> to determine maneuver execution <NUM>. In an embodiment, the map data may include locations of roadside units relative to the road location, where the vehicle may utilize relative positioning between an RSU in combination with the map data to determine positioning relative to the road surface, particularly in situations where other systems may fail such as due to low visibility weather conditions (snow, rain, sandstorm, etc.). In an embodiment, map data from map server <NUM> may be utilized in conjunction with relative and/or absolute data from neighboring vehicles and/or from RSU(s) <NUM> to determine high confidence absolute location for a plurality of vehicles and relative location with respect to the road/map. For example, if vehicle A <NUM> has high accuracy/high confidence location than other vehicles in communication with vehicle A <NUM>, such as vehicle B <NUM> may use GNSS information for a highly accurate relative location and the highly accurate location from vehicle A <NUM> sent to vehicle B <NUM> to determine a highly accurate location for vehicle B <NUM>, even if the systems of vehicle B <NUM> are otherwise unable to calculate a highly accurate location in a particular situation or environment. In this situation, the presence of vehicle A with a highly accurate location determination system provides benefits to all surrounding vehicles by sharing one or more highly accurate locations along with ongoing relative location information. Furthermore, assuming the map data from map server <NUM> is accurate, the ability to propagate highly accurate location data from vehicle A <NUM> to surrounding vehicles such as vehicle B <NUM> enables the surrounding vehicles to also accurately determine their relative location versus the map data, even in otherwise troublesome signal/location environments. Vehicle information server <NUM> may provide vehicle information such as size, shape, and antenna location which may be utilized, for example, by vehicle A or other vehicles to determine not just the relative location between the GNSS receiver on vehicle A <NUM> and, for example, vehicle B <NUM>, but also the distance between the closest points of Vehicle A <NUM> and Vehicle B <NUM>. In an embodiment, traffic information from the traffic control and optimization server <NUM> may be utilized to determine overall path selection and rerouting, used in conjunction with route server <NUM> (in an embodiment). In an embodiment, environmental data server <NUM> may provide input on road conditions, black ice, snow, water on the road and other environmental conditions which may also impact the decisions and decision criteria in inter-vehicle maneuver coordination block <NUM> and maneuver execution block <NUM>. For example, in icy or rainy conditions, the vehicle <NUM> may execute and/or request increased inter-vehicle distance from adjacent vehicles or may choose route options that avoid road hazard conditions such as black ice and standing water.

Block <NUM> may be implemented using various dedicated or generalized hardware and software, such as using processor <NUM> and/or DSP <NUM> and memory <NUM> (again, as shown in <FIG>) or, in an embodiment, in specialized hardware blocks such as dedicated sensor processing and/or vehicle messaging cores. According to some embodiments, the location of nearby vehicles may be determined through various means such as based on signal-based timing measurements such as Round-Trip Time (RTT) and Time Of Arrival (TOA), signal strength of a broadcast signal for vehicles, and a distance determined based upon broadcast latitude and longitude from a neighboring vehicle and the current location of the vehicle. Additionally or alternatively, location of nearby vehicles may be determined from sensor measurements such as LIght Detection And Ranging (LIDAR), RAdio Detection And Ranging (RADAR), SONAR, and camera measurements. In an embodiment, some or all of blocks <NUM>, <NUM>, <NUM>, <NUM> and/or <NUM> may have dedicated processing cores, for example, to improve performance and reduce measurement latency. In an embodiment, some or all of blocks <NUM>, <NUM>, <NUM>, <NUM> and/or <NUM> may share processing with block <NUM>.

Vehicle external sensors <NUM> may comprise, in some embodiments, cameras, LIDAR, RADAR, proximity sensors, rain sensors, weather sensors, GNSS receivers <NUM> and received data used with the sensors such as map data, environmental data, location, route and/or other vehicle information such as may be received from other vehicles, devices and servers such as, in an embodiment, map server <NUM>, route server <NUM>, vehicle information server <NUM>, environmental data server <NUM>, location server <NUM>, and/or from associated devices such as mobile device <NUM>, which may be present in or near to the vehicle such as vehicle A <NUM>. For example, in an embodiment, mobile device <NUM> may provide an additional source of GNSS measurements, may provide an additional source of motion sensor measurements, or may provide network access as a communication portal to a WAN, Wi-Fi or other network, and as a gateway to various information servers such as servers <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and/or <NUM>.

It is understood that the vehicle <NUM> may contain one or a plurality of cameras. In an embodiment, a camera may be front facing, side facing, rear facing or adjustable in view (such as a rotatable camera). As shown in <FIG>, for example, there may be multiple cameras <NUM> facing the same plane. For example, the cameras <NUM> and bumper-mounted camera at <NUM> may comprise two front facing cameras, one focused on lower objects and/or a lower point of view (such as bumper mounted) for parking purposes and one focusing on a higher point of view such as to track traffic, other vehicles, pedestrians and more distant objects. In an embodiment, various views may be stitched and/or may be correlated against other inputs such as V2X input from other vehicles to optimize tracking of other vehicles and external entities and objects and/or to calibrate sensor systems against each other. LIDAR <NUM> may be roof mounted and rotating or may be focused on a particular point of view (such as front facing, rear facing, side facing). LIDAR <NUM> may be solid state or mechanical. Proximity sensors may be ultrasonic, RADAR-based, light-based (such as based on infrared range finding), and/or capacitive (surface touch oriented or capacitive detection of metallic bodies). Rain and weather sensors may include various sensing capabilities and technologies such as barometric pressure sensors, moisture detectors, rain sensors, and/or light sensors and/or may leverage other pre-existing sensor systems. GNSS receivers may be roof-mounted, such as in the fin antenna assembly at the rear of the roof of a car, hood or dash mounted or otherwise placed within the exterior or interior of the vehicle.

In an embodiment, vehicle internal sensors <NUM> may comprise wheel sensors <NUM> such as tire pressure sensors, brake pad sensors, brake status sensors, speedometers and other speed sensors, heading sensors and/or orientation sensors such as magnetometers and geomagnetic compasses, distance sensors such as odometers and wheel tic sensors, inertial sensors such as accelerometers and gyros as well as inertial positioning results using the above-mentioned sensors, and yaw, pitch and/or roll sensors as may be determined individually or as determined using other sensor systems such as accelerometers, gyros and/or tilt sensors.

Both vehicle internal sensors <NUM> and vehicle external sensors <NUM> may have shared or dedicated processing capability. For example, a sensor system or subsystem may have a sensor processing core or cores that determines, based on measurements and other inputs from accelerometers, gyros, magnetometers and/or other sensing systems, car status values such as yaw, pitch, roll, heading, speed, acceleration capability and/or distance, and/or stopping distance. The different sensing systems may communicate with each other to determine measurement values or send values to block <NUM> to determine vehicle location. The car status values derived from measurements from internal and external sensors may be further combined with car status values and/or measurements from other sensor systems using a general or applications processor. For example, blocks <NUM> and/or <NUM> or may be implemented on a dedicated or a centralized processor to determine data element values for V2X messaging which may be sent utilizing wireless transceivers <NUM> or via other communication transceivers. In an embodiment, the sensors may be segregated into related systems, for example, LIDAR, RADAR, motion, wheel systems, etc., operated by dedicated core processing for raw results to output car status values from each core that are combined and interpreted to derive combined car status values, including capability data elements and status data elements, that may be used to control or otherwise affect car operation and/or as messaging steps shared with other vehicles and/or systems via V2X or other messaging capabilities. These messaging capabilities may be based on, in an embodiment, a variety of wireless-related, light-related or other communication standards, such as those supported by wireless transceiver(s) <NUM> and antenna(s) <NUM>.

In an embodiment, vehicle capabilities <NUM> may comprise performance estimates for stopping, breaking, acceleration, and turning radius, and autonomous and/or non-autonomous status and/or capability or capabilities. The capability estimates may be based upon stored estimates, which may be loaded, in an embodiment, into memory. These estimates may be based on empirical performance numbers, either for a specific vehicle, or for averages across one or more vehicles, and/or one or more models for a given performance figure. Where performance estimates for multiple models are averaged or otherwise combined, they may be chosen based on similar or common features. For example, vehicles with similar or the same weight and the same or similar drive trains may share performance estimates for drive-performance related estimates such as breaking/stopping distance, turning radius, and acceleration performance. Vehicle performance estimates may also be obtained, for example, using external V2X input(s) <NUM>, over a wireless network from vehicular data servers on the network. This is particularly helpful to obtain information for vehicles that are not wireless capable and cannot provide vehicular information directly. In an embodiment, vehicle capabilities <NUM> may also be influenced by car component status such as tire wear, tire brand capabilities, brake pad wear, brake brand and capabilities, and engine status. In an embodiment, vehicle capabilities <NUM> may also be influenced by overall car status such as speed, heading and by external factors such as road surface, road conditions (wet, dry, slipperiness/traction), weather (windy, rainy, snowing, black ice, slick roads, etc.). In many cases, wear, or other system degradation, and external factors such as weather, road surface, road conditions, etc. may be utilized to reduce, validate or improve performance estimates. In some embodiments, actual measured vehicle performance such as measuring vehicular stopping distance and/or acceleration time per distance, may be measured and/or estimated based on actual vehicular driving-related performance. In an embodiment, more recently measured performance may be weighted more heavily or given preference over older measurements, if measurements are inconsistent. Similarly, in an embodiment, measurements taken during similar conditions such as in the same type of weather or on the same type of road surface as is currently detected by the vehicle, such as via vehicle external sensors <NUM> and/or vehicle internal sensors <NUM>, may be weighted more heavily and/or given preference in determining capability.

V2X vehicle sensing, prediction, planning execution <NUM> handles the receipt and processing of information from blocks <NUM>, <NUM>, <NUM>, <NUM> and <NUM>, via external object sensing and classification block <NUM>, in part utilizing sensor fusion and object classification block <NUM> to correlate, corroborate and/or combine data from input blocks <NUM>, <NUM>, <NUM>, <NUM> and <NUM>. Block <NUM> external object sensing and classification determines objects present, determines type of objects (car, truck, bicycle, motorcycle, pedestrian, animal, etc.) and/or object status relative to the vehicle, such as movement status, proximity, heading, and/or position relative to the vehicle, size, threat level, and vulnerability priority (a pedestrian would have a higher vulnerability priority versus road litter, for example). In an embodiment, block <NUM> may utilize GNSS measurement messages from other vehicles to determine the relative positioning to other vehicles. This output from block <NUM> may be provided to prediction and planning block <NUM>, which determines detected objects and vehicles and their associated trajectory via block <NUM> and determines vehicle maneuver and path planning in block <NUM>, the outputs of which are utilized in block <NUM> vehicle maneuver execution either directly or via V2X inter-vehicle negotiation block <NUM>, which would integrate and account for maneuver planning, location and status received from other vehicles. V2X inter-vehicle negotiation accounts for the status of neighboring vehicles and enables negotiation and coordination between neighboring or otherwise impacted vehicles based on vehicle priority, vehicle capabilities (such as the ability to stop, decelerate or accelerate to avoid collision), and, in some embodiments, various conditions such as weather conditions (rainy, foggy, snow, wind), road conditions (dry, wet, icy, slippery). These include, for example, negotiation for timing and order to pass through an intersection between cars approaching the intersection, negotiation for lane change between adjacent cars, negotiation for parking spaces, negotiation for access to directional travel on a single lane road or to pass another vehicle. Inter-vehicle negotiation may also include time-based and/or distance-based factors such as appointment time, destination distance and estimated route time to reach destination, and, in some embodiments, type of appointment and importance of the appointment.

<FIG> is a block diagram of various hardware and software components of a vehicle <NUM>, according to an embodiment. Again, the vehicle <NUM> may correspond with the HV <NUM> and/or RVs <NUM> described in the embodiments above. Further, the vehicle may comprise for example, a car, truck, motorcycle and/or other motorized vehicle, may transmit radio signals to, and receive radio signals from, other vehicles <NUM>, for example, via V2X car to car communication (for example, using one of the CV2X vehicle to vehicle communication protocols), and/or from a wireless communication network <NUM>, in an embodiment, via WAN, base station <NUM>, and/or wireless access point <NUM>, and/or from RSU(s) <NUM>. In one example, vehicle <NUM> (e.g., vehicle <NUM>) may communicate, via wireless transceiver(s) <NUM> and wireless antenna(s) <NUM> with other vehicles (e.g., vehicle <NUM>) and/or wireless communication networks by transmitting wireless signals to, or receiving wireless signals from a remote wireless transceiver which may comprise another vehicle <NUM>, a base station <NUM> (e.g., a NodeB, eNodeB, or gNodeB) or wireless access point <NUM>, over a wireless communication link.

Similarly, vehicle <NUM> may transmit wireless signals to, or receive wireless signals from a local transceiver over a wireless communication link, for example, by using a WLAN and/or a PAN wireless transceiver, here represented by one of wireless transceiver(s) <NUM> and wireless antenna(s) <NUM>. In an embodiment, wireless transceiver(s) <NUM> may comprise various combinations of WAN, WLAN, and/or PAN transceivers. In an embodiment, wireless transceiver(s) <NUM> may also comprise a Bluetooth transceiver, a ZigBee transceiver, or other PAN transceiver. In an embodiment, vehicle <NUM> may transmit wireless signals to, or receive wireless signals from a wireless transceiver <NUM> on a vehicle <NUM> over wireless communication link <NUM>. A local transceiver, a WAN wireless transceiver and/or a mobile wireless transceiver may comprise a WAN transceiver, an access point (AP), femtocell, Home Base Station, small cell base station, HNB, HeNB, or gNodeB and may provide access to a wireless local area network (WLAN, e.g., IEEE <NUM> network), a wireless personal area network (PAN, e.g., Bluetooth network) or a cellular network (e.g., an LTE network or other wireless wide area network such as those discussed in the next paragraph). Of course, it should be understood that these are merely examples of networks that may communicate with a vehicle over a wireless link, and claimed subject matter is not limited in this respect. It is also understood that wireless transceiver(s) <NUM> may be located on various types of vehicles <NUM>, such as boats, ferries, cars, buses, drones, and various transport vehicles. In an embodiment, the vehicle <NUM> may be utilized for passenger transport, package transport or other purposes. In an embodiment, GNSS signals <NUM> from GNSS Satellites are utilized by vehicle <NUM> for location determination and/or for the determination of GNSS signal parameters and demodulated data. In an embodiment, signals <NUM> from WAN transceiver(s), WLAN and/or PAN local transceivers are used for location determination, alone or in combination with GNSS signals <NUM>.

Examples of network technologies that may support wireless transceivers <NUM> are GSM, CDMA, WCDMA, LTE, <NUM> or New Radio Access Technology (NR), HRPD, and V2X car-to-car communication. As noted, V2X communication protocols may be defined in various standards such as SAE and ETS-ITS standards. GSM, WCDMA and LTE are technologies defined by 3GPP. CDMA and HRPD are technologies defined by the <NUM>rd Generation Partnership Project II (3GPP2). WCDMA is also part of the Universal Mobile Telecommunications System (UMTS) and may be supported by an HNB.

Wireless transceivers <NUM> may communicate with communications networks via WAN wireless base stations which may comprise deployments of equipment providing subscriber access to a wireless telecommunication network for a service (e.g., under a service contract). Here, a WAN wireless base station may perform functions of a WAN or cell base station in servicing subscriber devices within a cell determined based, at least in part, on a range at which the WAN wireless base station is capable of providing access service. Examples of WAN base stations include GSM, WCDMA, LTE, CDMA, HRPD, Wi-Fi, Bluetooth, WiMAX, <NUM> NR base stations. In an embodiment, further wireless base stations may comprise a WLAN and/or PAN transceiver.

In an embodiment, vehicle <NUM> may contain one or more cameras <NUM>. In an embodiment, the camera may comprise a camera sensor and mounting assembly. Different mounting assemblies may be used for different cameras on vehicle <NUM>. For example, front facing cameras may be mounted in the front bumper, in the stem of the rear-view mirror assembly or in other front facing areas of the vehicle <NUM>. Rear facing cameras may be mounted in the rear bumper/fender, on the rear windshield, on the trunk or other rear facing areas of the vehicle. The side facing mirrors may be mounted on the side of the vehicle such as being integrated into the mirror assembly or door assemblies. The cameras may provide object detection and distance estimation, particularly for objects of known size and/or shape (e.g., a stop sign and a license plate both have standardized size and shape) and may also provide information regarding rotational motion relative to the axis of the vehicle such as during a turn. When used in concert with the other sensors, the cameras may both be calibrated through the use of other systems such as through the use of LIDAR, wheel tick/distance sensors, and/or GNSS to verify distance traveled and angular orientation. The cameras may similarly be used to verify and calibrate the other systems to verify that distance measurements are correct, for example by calibrating against known distances between known objects (landmarks, roadside markers, road mile markers, etc.) and also to verify that object detection is performed accurately such that objects are accordingly mapped to the correct locations relative to the car by LIDAR and other system. Similarly, when combined with, for example, accelerometers, impact time with road hazards, may be estimated (elapsed time before hitting a pot hole for example) which may be verified against actual time of impact and/or verified against stopping models (for example, compared against the estimated stopping distance if attempting to stop before hitting an object) and/or maneuvering models (verifying whether current estimates for turning radius at current speed and/or a measure of maneuverability at current speed are accurate in the current conditions and modified accordingly to update estimated parameters based on camera and other sensor measurements).

Accelerometers, gyros and magnetometers <NUM>, in an embodiment, may be utilized to provide and/or verify motion and directional information. Accelerometers and gyros may be utilized to monitor wheel and drive train performance. Accelerometers, in an embodiment, may also be utilized to verify actual time of impact with road hazards such as pot holes relative to predicted times based on existing stopping and acceleration models as well as steering models. Gyros and magnetometers may, in an embodiment, be utilized to measure rotational status of the vehicle as well as orientation relative to magnetic north, respectively, and to measure and calibrate estimates and/or models for turning radius at current speed and/or a measure of maneuverability at current speed, particularly when used in concert with measurements from other external and internal sensors such as other sensors <NUM> such as speed sensors, wheel tick sensors, and/or odometer measurements.

LIDAR <NUM> uses pulsed laser light to measure ranges to objects. While cameras may be used for object detection, LIDAR <NUM> provides a means, to detect the distances (and orientations) of the objects with more certainty, especially in regard to objects of unknown size and shape. LIDAR <NUM> measurements may also be used to estimate rate of travel, vector directions, relative position and stopping distance by providing accurate distance measurements and delta distance measurements.

Memory <NUM> may be utilized with processor <NUM> and/or DSP <NUM>, which may comprise Random Access Memory (RAM), Read-Only Memory (ROM), disc drive, FLASH, or other memory devices or various combinations thereof. In an embodiment, memory <NUM> may contain instructions to implement various methods described throughout this description including, for example, processes to implement the use of relative positioning between vehicles and between vehicles and external reference objects such as roadside units. In an embodiment, memory may contain instructions for operating and calibrating sensors, and for receiving map, weather, vehicular (both vehicle <NUM> and surrounding vehicles, e.g., HV <NUM> and RVs <NUM>) and other data, and utilizing various internal and external sensor measurements and received data and measurements to determine driving parameters such as relative position, absolute position, stopping distance, acceleration and turning radius at current speed and/or maneuverability at current speed, inter-car distance, turn initiation/timing and performance, and initiation/timing of driving operations.

In an embodiment, power and drive systems (generator, battery, transmission, engine) and related systems <NUM> and systems (brake, actuator, throttle control, steering, and electrical) <NUM> may be controlled by the processor(s) and/or hardware or software or by an operator of the vehicle or by some combination thereof. The systems (brake, actuator, throttle control, steering, electrical, etc.) <NUM> and power and drive or other systems <NUM> may be utilized in conjunction with performance parameters and operational parameters, to enable autonomously (and manually, relative to alerts and emergency overrides/braking/stopping) driving and operating a vehicle <NUM> safely and accurately, such as to safely, effectively and efficiently merge into traffic, stop, accelerate and otherwise operate the vehicle <NUM>. In an embodiment, input from the various sensor systems such as camera <NUM>, accelerometers, gyros and magnetometers <NUM>, LIDAR <NUM>, GNSS receiver <NUM>, RADAR <NUM>, input, messaging and/or measurements from wireless transceiver(s) <NUM> and/or other sensors <NUM> or various combinations thereof, may be utilized by processor <NUM> and/or DSP <NUM> or other processing systems to control power and drive systems <NUM> and systems (brake actuator, throttle control, steering, electrical, etc.) <NUM>.

A global navigation satellite system (GNSS) receiver <NUM> may be utilized to determine position relative to the earth (absolute position) and, when used with other information such as measurements from other objects and/or mapping data, to determine position relative to other objects such as relative to other vehicles and/or relative to the road surface. To determine position, the GNSS receiver <NUM>, may receive RF signals <NUM> from GNSS satellites (e.g., RF signals <NUM> from GNSS satellites <NUM>) using one or more antennas <NUM> (which, depending on functional requirements, may be the same as antennas <NUM>). The GNSS receiver <NUM> may support one or more GNSS constellations as well as other satellite-based navigation systems. For example, in an embodiment, GNSS receiver <NUM> may support global navigation satellite systems such as GPS, the GLONASS, Galileo, and/or BeiDou, or any combination thereof. In an embodiment, GNSS receiver <NUM> may support regional navigation satellite systems such as NavIC or QZSS or a combination thereof as well as various augmentation systems (e.g., Satellite Based Augmentation Systems (SBAS) or ground based augmentation systems (GBAS)) such as Doppler Orbitography and Radio-positioning Integrated by Satellite (DORIS) or wide area augmentation system (WAAS) or the European geostationary navigation overlay service (EGNOS) or the multi-functional satellite augmentation system (MSAS) or the local area augmentation system (LAAS). In an embodiment, GNSS receiver(s) <NUM> and antenna(s) <NUM> may support multiple bands and sub-bands such as GPS L1, L2 and L5 bands, Galileo E1, E5, and E6 bands, Compass (BeiDou) B1, B3 and B2 bands, GLONASS G1, G2 and G3 bands, and QZSS L1C, L2C and L5-Q bands.

The GNSS receiver <NUM> may be used to determine location and relative location which may be utilized for location, navigation, and to calibrate other sensors, when appropriate, such as for determining distance between two time points in clear sky conditions and using the distance data to calibrate other sensors such as the odometer and/or LIDAR. In an embodiment, GNSS-based relative locations, based on, for example shared Doppler and/or pseudorange measurements between vehicles, may be used to determine highly accurate distances between two vehicles, and when combined with vehicle information such as shape and model information and GNSS antenna location, may be used to calibrate, validate and/or affect the confidence level associated with information from LIDAR, camera, RADAR, SONAR and other distance estimation techniques. GNSS Doppler measurements may also be utilized to determine linear motion and rotational motion of the vehicle or of the vehicle relative to another vehicle, which may be utilized in conjunction with gyro and/or magnetometer and other sensor systems to maintain calibration of those systems based upon measured location data. Relative GNSS positional data may also be combined with high confidence absolute locations from RSUs, to determine high confidence absolute locations of the vehicle. Furthermore, relative GNSS positional data may be used during inclement weather that may obscure LIDAR and/or camera-based data sources to avoid other vehicles and to stay in the lane or other allocated road area. For example, using an RSU equipped with GNSS receiver and V2X capability, GNSS measurement data may be provided to the vehicle, which, if provided with an absolute location of the RSU, may be used to navigate the vehicle relative to a map, keeping the vehicle in lane and/or on the road, in spite of lack of visibility.

RADAR <NUM>, uses transmitted radio waves that are reflected off of objects. The reflected radio waves are analyzed, based on the time taken for reflections to arrive and other signal characteristics of the reflected waves to determine the location of nearby objects. RADAR <NUM> may be utilized to detect the location of nearby cars, roadside objects (signs, other vehicles, pedestrians, etc.) and will generally enable detection of objects even if there is obscuring weather such as snow, rail or hail. Thus, RADAR <NUM> may be used to complement LIDAR <NUM> systems and camera <NUM> systems in providing ranging information to other objects by providing ranging and distance measurements and information when visual-based systems typically fail. Furthermore, RADAR <NUM> may be utilized to calibrate and/or sanity check other systems such as LIDAR <NUM> and camera <NUM>. Ranging measurements from RADAR <NUM> may be utilized to determine/measure stopping distance at current speed, acceleration, maneuverability at current speed and/or turning radius at current speed and/or a measure of maneuverability at current speed. In some systems, ground penetrating RADAR may also be used to track road surfaces via, for example, RADAR-reflective markers on the road surface or terrain features such as ditches.

<FIG> is a perspective view of an example vehicle <NUM>, according to an embodiment. Here, some of the components discussed with regard to <FIG> and earlier embodiments are shown. As illustrated and previously discussed, the vehicle <NUM> can have camera(s) such as rear view mirror-mounted camera <NUM>, front fender-mounted camera (not shown), side mirror-mounted camera (not shown) and a rear camera (not shown, but typically on the trunk, hatch or rear bumper). Vehicle <NUM> may also have LIDAR <NUM>, for detecting objects and measuring distances to those objects; LIDAR <NUM> is often roof-mounted, however, if there are multiple LIDAR units <NUM>, they may be oriented around the front, rear and sides of the vehicle. Vehicle <NUM> may have other various location-related systems such as a GNSS receiver <NUM> (typically located in the shark fin unit on the rear of the roof, as indicated), various wireless transceivers (such as WAN, WLAN, V2X; typically, but not necessarily, located in the shark fin) <NUM>, RADAR <NUM> (typically in the front bumper), and SONAR <NUM> (typically located on both sides of the vehicle, if present). Various wheel <NUM> and drive train sensors may also be present, such as tire pressure sensors, accelerometers, gyros, and wheel rotation detection and/or counters. In an embodiment, distance measurements and relative locations determined via various sensors such as LIDAR, RADAR, camera, GNSS, and SONAR, may be combined with automotive size and shape information and information regarding the location of the sensor to determine distances and relative locations between the surfaces of different vehicles, such that a distance or vector from a sensor to another vehicle or between two different sensors (such as two GNSS receivers) is incrementally increased to account for the position of the sensor on each vehicle. Thus, an exact GNSS distance and vector between two GNSS receivers would need to be modified based upon the relative location of the various car surfaces to the GNSS receiver. For example, in determining the distance between a rear car's front bumper and a leading car's rear bumper, the distance would need to be adjusted based on the distance between the GNSS receiver and the front bumper on the following car, and the distance between the GNSS receiver of the front car and the rear bumper of the front car. , the distance between the front car's rear bumper and the following car's front bumper is the relative distance between the two GNSS receivers minus the GNSS receiver to front bumper distance of the rear car and minus the GNSS receiver to rear bumper distance of the front car. It is realized that this list is not intended to be limiting and that <FIG> is intended to provide exemplary locations of various sensors in an embodiment of vehicle <NUM>.

With reference to the appended figures, components that can include memory (e.g., memory <NUM> of <FIG>) can include non-transitory machine-readable media. The term "machine-readable medium" and "computer-readable medium" as used herein, refer to any storage medium that participates in providing data that causes a machine to operate in a specific fashion. In embodiments provided hereinabove, various machine-readable media might be involved in providing instructions/code to processing units and/or other device(s) for execution. Additionally or alternatively, the machine-readable media might be used to store and/or carry such instructions/code. In many implementations, a computer-readable medium is a physical and/or tangible storage medium. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Common forms of computer-readable media include, for example, magnetic and/or optical media, any other physical medium with patterns of holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and/or code.

The methods, systems, and devices discussed herein are examples. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the figures provided herein can be embodied in hardware and/or software. Also, technology evolves and, thus, many of the elements are examples that do not limit the scope of the disclosure to those specific examples.

It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, numerals, or the like. It should be understood, however, that all of these or similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, as is apparent from the discussion above, it is appreciated that throughout this Specification discussions utilizing terms such as "processing," "computing," "calculating," "determining," "ascertaining," "identifying," "associating," "measuring," "performing," or the like refer to actions or processes of a specific apparatus, such as a special purpose computer or a similar special purpose electronic computing device. In the context of this Specification, therefore, a special purpose computer or a similar special purpose electronic computing device is capable of manipulating or transforming signals, typically represented as physical electronic, electrical, or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the special purpose computer or similar special purpose electronic computing device.

Claim 1:
A method (<NUM>) of message selection and prioritization at a host vehicle, HV, (<NUM>), the method comprising:
wirelessly receiving (<NUM>) messages from a plurality of remote vehicles, RVs, (<NUM>);
determining (<NUM>) a first subset of the plurality of RVs (<NUM>) from which to process the messages, wherein the first subset is determined based at least in part on:
the respective location of each RV (<NUM>) relative to the HV (<NUM>),
one or more road conditions, and
one or more operating constraints of the HV (<NUM>); and
for each message received from an RV (<NUM>) in the first subset, determining (<NUM>) a priority for the respective message based at least in part on an indication of a remaining delay budget for the respective message, wherein:
the priority for the respective message determines an order in which content of the respective message is to be processed by the HV (<NUM>); and
the indication of the remaining delay budget for the respective message is received with the respective message.