Sports asset tracking management
The method prioritizes sports assets based on their relevance using metrics and events, addressing inefficiencies in existing systems by accurately identifying assets in play and optimizing data communication, enhancing tracking efficiency and accuracy.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SPORTABLE TECH LTD
- Filing Date
- 2025-12-24
- Publication Date
- 2026-07-02
AI Technical Summary
Existing sports asset tracking systems face challenges in efficiently managing and identifying interchangeable assets, such as balls and players, due to congestion, bandwidth constraints, and the need for manual intervention, leading to inefficiencies and errors.
A method and system that prioritize assets based on their sporting relevance by generating a priority value using metrics and events, allowing for efficient selection and communication management of assets deemed actively engaged in play, reducing computational load and improving data offload efficiency.
Enhances the efficiency of sports asset tracking by accurately identifying the asset in play and optimizing data communication, thereby reducing computational and bandwidth requirements while improving accuracy and reliability.
Smart Images

Figure EP2025089004_02072026_PF_FP_ABST
Abstract
Description
[0001] SPORTS ASSET TRACKING MANAGEMENT
[0002] BACKGROUND
[0003] Ball and player tracking is becoming increasingly prevalent in sports. Tracking systems are used by teams to measure performance, both in training and on matchdays; are used by broadcasters to present insights to viewers to enhance fan engagement and the visual experience; and are increasingly used for automated officiating to increase decision-making certainty.
[0004] In a typical implementation scenario, many assets (that is, balls and players, among other objects depending on the sport) need to be tracked for a solution to be truly effective. For example, in a matchday scenario there may be anywhere between 22 to over 100 actively tracked players positioned in and around the field of play while only a subset of those are actively engaged in the play. Not only are merely a subset actively engaged in the play, but those tracked assets, whether players or balls, are highly interchangeable. In an elite soccer match for example, multiple balls are arranged around the periphery of the field and can be swapped into play at a moment's notice.
[0005] Managing the tracking of these interchangeable and numerous assets is complex and challenging.
[0006] In one very specific example of the state of the art, a human operator must watch the game and manually identify the ball being used for play in the tracking system so that events and metrics can be generated based on that particular ball. This system is far from ideal, slow and prone to error.
[0007] In a further example of the management challenges faced by tracking these numerous assets, where the assets are tracked using a local or global positioning system, typically the data is to be offloaded to a local or remote device. In this scenario, congestion and bandwidth constraints can cause problematic inefficiencies.SUMMARY OF INVENTION
[0008] According to an aspect of the invention there is provided a method of identifying an asset in play within a sporting event, the method comprising: identifying a plurality of candidate assets; retrieving one or more metrics and / or events of the candidate assets, the one or more metrics and / or events comprising a position of each candidate asset relative to a local coordinate system; generating a priority based on the respective position of each asset; and, selecting one or more assets being used for play based on the priority. The priority value may be a priority value generated from a range comprising more than two values. The priority value may be a likelihood value or a probability value. Assets can be prioritised based on their sporting relevance and the communications scheduled according to the likely relevance of that asset. This significantly improves the overall efficiency of the system where a large number of objects are to be tracked.
[0009] It has been notoriously challenging in the art to identify those balls or players that are actively engaged in a sporting event when these objects are swapped regularly and not engaged objects are positioned around the periphery of the sports area. The present concept presents a solution to this challenge by evaluating the assets and selecting those assets deemed to be the most likely or highest priority for being actively engaged in the play being tracked.
[0010] In this aspect, a priority value may be a categorisation, a stratification or a calculated or computed value. The step of generating may comprise assigning or adjusting a priority. In some implementations, the priority may also be an existing designation, which can then be modified based on a change or a set of predetermined rules. In other words, the current ball in play will have a higher priority than a candidate not deemed to be the current ball in play.
[0011] In certain embodiments the selecting the one or more assets is performed in response to one or more of a plurality of predetermined trigger conditions, wherein the trigger conditions include determining another asset is located in a sports area, or the current asset being used for play is not within the sports area. The selecting the one or more assets may be performed only in response to one or more of aplurality of predetermined triggers. The trigger may preferably include a change in the asset identified as located within the sports area; a ball asset leaving the sports area (e.g. a current ball in play asset); packet error rate being above a threshold (e.g. data is unreliable or data reliability is below a threshold); and / or an event being detected (or not) associated with the asset. In this way, the asset can be deemed to be the correct asset until there is a likely change in the assumed status of that asset, thereby reducing computation and improving calculation reliability.
[0012] The method may comprise identifying a current asset being used for play, and wherein: generating a priority value comprises determining another asset is located in a sports area; and, selecting the one or more assets being used for play comprises performing a selecting process when the current asset being used for play is not within the sports area, wherein the assets are balls. In this way, a ball in play can be changed from an initial designation based on an identified sporting criteria. In these embodiments the method could select the current ball again based on the calculation, that is, the selected ball need not be different. In this implementation, the ball in play is selected when the current ball leaves the sports area.
[0013] Preferably the selecting is based on sports-related criteria. Thus, the selection is not based only on arbitrary data but data intrinsically related to the sport being played, improving the determination of which assets are likely actively engaged in play.
[0014] The selecting the one or more assets being used for play may comprise performing a selecting process when an event is detected associated with the current ball in play. The event adds important context and implies an indication in the likely change in priority. An event may be associated with the asset in question, for example it could be a kick, pass or drop, a change in possession, a strike or any similar event that may necessitate a change in the selection process being performed.In implementations the method may comprise iteratively retrieving the one or more metrics and / or events, generating a priority value and selecting the one or more assets. Thus, as situations change, the priority value can be reevaluated and the selection changed if appropriate.
[0015] Actions may be taken in response to a selection to improve the management of assets being tracked. For example, in one implementation, the method may further comprise monitoring for events associated with the asset based on the selection. In other words, the system may be most interested in events associated with the player or ball in play, such as possession or kicks or passes. By events we typically mean a derived event with a sporting context, most likely derived from one or more metrics, but the events may also be derived from other data. An event in this way may be an actively monitored event and may also be derived by, or together with, manual input.
[0016] In an additional or alternative implementation, the method may further comprise ignoring one or more events associated with not selected candidate assets. That is, events are ignored for sports analysis purposes, but not for priority value generation, or alternatively that events are ignored until a trigger is received to start a selection process. This means that only relevant events from objects actively engaged in play may be utilised in the tracking system, thereby making the system more efficient where there is a large number of interchangeable assets.
[0017] In an additional or alternative implementation, the method may further comprise managing communications with the plurality of candidate assets based on the selection. Communications can be scheduled or the rate of communications changed based on the selection. In this way, assets not considered engaged can communicate less frequently than those actively engaged in the play.
[0018] In an additional or alternative implementation, the method may further comprise calculating one or more metrics and / or events based on the selection. Events and metrics may only be calculated for those assets deemed actively engaged in play, thus making the system more efficient.In an additional or alternative implementation, the method may further comprise applying a power saving policy in response to the selection and / or based on the priority value. Assets not engaged in play can conserve energy while those actively being used can use more energy as their usage is likely more important to the tracking and analysis.
[0019] According to a further aspect of the invention, there may be provided a method of managing data offload from a plurality of devices associated with assets tracked around a sports field, the method comprising: identifying a plurality of devices being tracked; retrieving one or more metrics and / or events indicative of sporting significance of each asset; generating a priority based on the one or more metrics and / or events; and, managing communications for each device based on the respective priority. The priority value may be a priority value generated from a range comprising more than two values. The priority value may be a likelihood value or a probability value. Assets can be prioritised based on their sporting relevance and the communications scheduled according to the likely relevance of that asset. This significantly improves the overall efficiency of the system where a large number of objects are to be tracked.
[0020] In any of the above implementations, managing communications may preferably comprise scheduling data offload. More preferably managing communications may comprise scheduling in dynamic TDMA, such that scheduling is dependent on sporting relevance of the asset.
[0021] In this implementation, the scheduling may comprise assigning a timeslot or multiple timeslots for communication based on the generated priority value.
[0022] In any of the above implementations, the generating a priority or priority value may be performed in a variety of different ways, either alone or in combination.
[0023] In a first implementation, generating a priority value comprises applying a plurality of tests to the one or more metrics and / or events, each test applying a different contribution to the priority value.In a second implementation, generating a priority based on the respective position of each asset comprises generating a priority value based on the one or more metrics and / or events and selecting one or more assets being used for play based on the priority value.
[0024] In a further implementation, generating a priority value comprises a predetermined set of rules to adjust priority based on the one or more metrics and / or events.
[0025] In a further implementation, generating a priority value comprises applying each of the one or more metrics and / or events to a decision tree.
[0026] In a further implementation, generating a priority value comprises applying each of the one or more metrics and / or events as a feature to a trained classifier configured to output a likelihood of an asset being used for play.
[0027] The selecting the one or more assets may also be performed in a variety of different ways, either alone or in combination.
[0028] Selecting the one or more assets may comprise comparing the priority value to a threshold value. Preferably selecting the one or more assets comprises hysteresis. That is, the selection may be based on a previous state (or selection) of the asset and may be dependent on that previous state. In other words, a different priority may be needed to change a selection once made. Put another way, a higher priority value may be needed to make a selection whereas a lower priority value may be needed to keep that selection. As a priority value increases, a first selection may be made, and as the priority value decreases a further selection may be made based on a different priority value to the priority value at which the first selection was made.
[0029] In certain implementations, selecting the one or more assets may comprise comparing the priority value to an upper and lower threshold value.
[0030] In a preferred implementation for certain contexts, selecting the one or more assets comprises, the one or more assets being selected if the priority value exceeds the upper threshold value, not being selected if the priority value is belowthe lower threshold value and not changing a selection if the priority value is between the upper and lower threshold values.
[0031] Additionally, selecting the one or more assets comprises comparing the priority value to priority values of other candidate assets.
[0032] Moreover, selecting the one or more assets may comprise comparing a time at which the priority value changed.
[0033] Finally, in additional implementations, selecting the one or more assets comprises monitoring for a trigger condition and performing the selection in response to the trigger condition occurring.
[0034] In some implementations of any of the above, the method may comprise overriding the priority value and / or selection in response to a received user input. This allows the user to identify as asset for selection based on visual indications or potentially to override a miscalculated selection or priority value. For example, the override may comprise setting the priority value to maximum.
[0035] The method may comprise initialising the priority for each candidate asset to a predetermined value. In this way, the priority value can be assigned or adjusted for candidate assets from an initialised value.
[0036] In some implementations, the one or more metrics and / or events comprise: position of the respective asset relative to a point in a local coordinate system; position of the respective asset relative to a sports area boundary; relative position of the respective asset to a position of another asset; relative position of the respective asset to a position of an asset of a different type; and / or, asset speed. Of course, other metrics and / or events may be relevant to the priority value determination, however these are particularly preferred examples. The one or more metrics and / or events may be selected from a group comprising the above list.
[0037] In any of the above, the priority value generation may be based on a variety of different metrics and / or events.In an implementation, the one or more metrics and / or events comprise a change in the one or more or metrics and / or events over time.
[0038] In a further implementation, the one or more metrics and / or events comprise a recency indication indicative of how recently the one or more metrics and / or events were obtained
[0039] In a further implementation, the one or more metrics and / or events comprise a data confidence level.
[0040] In a further implementation, the one or more metrics and / or events comprise data obtained from an external sensor.
[0041] In a further implementation, wherein the one or more metrics and / or events comprise proximity to a sport-specific restart location.
[0042] In a further implementation, wherein the one or more metrics and / or events comprise an event type.
[0043] The one or more assets may be any object to be tracked in a sporting context. For example, the one or more assets may comprise sports balls. Thus the methods can identify those balls being used for a matchday or training scenario where those balls are highly interchangeable. It has hitherto been notoriously difficult to track a ball in play with most tracking systems using a manually coded indication of ball in play.
[0044] The one or more assets may comprise sports players. The methods are thus able to identify and take action based on identifying those engaged in the matchday or training scenario where there may be a huge number of players involved, each swapping in and out regularly. For example, an American Football game involves over 100 players, each swapping in and out after each play. In an Ice Hockey game, interchanges take place without a pause in play, making identification of active players difficult. Similarly, in a training scenario, those involved in the play may change regularly, regardless of the sport.The one or more assets may be associated with an electronic device comprising a transceiver. The electronic device may comprise an I MU configured to generate linear acceleration, angular rotation and / or orientation data of the device and thereby the asset when the device is associated with the asset.
[0045] According to an aspect of the invention there may be provided a system for tracking assets in and around the periphery of a sports area and identifying metrics and events relating to the tracked assets, the system comprising: a tracking system configured to calculate one or more metrics and / or events of the assets, the one or more metrics and / or events comprising a position of each asset relative to a local coordinate system; a management server configured to perform the method of any preceding aspect.
[0046] According to a further aspect there may be provided a method of identifying a ball being used for play of a sporting event, the method comprising: retrieving an indication of a current ball being used for play; monitoring for a different ball being located within a sporting area; retrieving one or more metrics and / or events of each ball; calculating a likelihood of each ball being the ball being used for play of the sporting event; and, identifying the ball being used for play of the sporting event based on the calculated likelihood. The likelihood may be based on a set of predetermined rules or trigger conditions.
[0047] According to a further aspect there may be provided a computer readable medium comprising instructions which when executed by a computer cause the computer to carry out the method of any of the above aspects.
[0048] BRIEF DESCRIPTION OF DRAWINGS
[0049] The invention will now be described with reference to the accompanying drawings, of which:
[0050] Figure 1 schematically depicts a sports tracking system for use in present examples;
[0051] Figure 2 schematically depicts a sports tracking system for use in present examples;Figure 3 schematically depicts a sports tracking system for use in present examples;
[0052] Figure 4 is a flow diagram of an example method;
[0053] Figure 5 is a flow diagram of a further example method;
[0054] Figure 6 is a schematic depiction of a change in priority value relative to a threshold;
[0055] Figure 7 is a flow diagram of an example method;
[0056] Figure 8 is a flow diagram of a further example method;
[0057] Figure 9 is a graph showing dynamic scheduling based on the priorities of Figure 6; and
[0058] Figure 10 is a further graph showing dynamic scheduling based on the priorities of Figure 6.
[0059] DETAILED DESCRIPTION
[0060] Concepts of the present disclosure relate to examples of prioritising tracked assets in and around a sports field based on sporting relevance. Based on those prioritisations, assets can be selected as relevant and metrics from other assets ignored, such as in the case of the selection of a ball that is being used in a match at a specific time instance allowing a system to ignore events from other balls that may be passed along the sidelines (and thus send only relevant data to broadcasters and teams). Additionally or alternatively, based on those prioritisations, assets can be selected for prioritised communications. That is, data offload can be scheduled more frequently from those assets which are considered to have a high sporting relevance. In other words, data volume and frequency can be increased for those balls and players determined to be in play, rather than not, both in training and matchday scenarios.
[0061] It is now well established in the industry that several different tracking approaches exist and can be each used for different situations and use cases. The concepts described in the present disclosure are largely relevant to all. The tracking systems include local and global positioning systems, hybrid approaches, anchorless mesh tracking systems and video tracking systems. Some systems use a combination of these approaches.A local positioning system-based (LPS) tracking system will now be described in the context of Figure 1 which shows a rugby pitch 1 on which is positioned an article of body armour 11. Positioned around the pitch 1 are a series of antenna arrays 13 or anchors. Figure 1 illustrates an ultra-wide band (UWB) transceiver embedded within body armour to be worn by a player as is typical in Rugby Football. Electronics embedded within the ball may also comprise an UWB transceiver.
[0062] The UWB transceivers in the electronics device transmit a narrow pulse in the time domain, or ‘chirp’, which is detected by the antenna arrays at different times. The arrays, which contain at least one UWB transceiver and an antenna array, perform Angle of Arrival (AoA), Time Difference of Arrival (TDoA) and Time of Arrival (ToA) calculations to determine the player’s position. The principles behind AoA, TDoA and ToA are well known and will not be described in detail here.
[0063] As above, each electronic device 12 for positioning on the field may comprise two or more antennas spaced apart by a predetermined distance. The time taken for a signal to travel between the antenna at the side of the field and the antenna on the device is proportional to the distance between the antennas (calculated by knowing the speed of travel of the signal). To determine position, multiple signals can be compared to trilaterate and / or multilaterate the position once the relative positions of the fixed antennas are known. To determine orientation, the difference in distance between the two antennas on the device may be used as a constant in the calculations. Other constants include the speed of light and the speed of the travel of the signal in the electronics. The time that the signals arrive at each antenna is a function of the orientation of the device.
[0064] The system is capable of measuring the position of the players and the ball and their orientation with respect to a convenient set of coordinate axes. In this example the orientation data is determined from a combination of the data from Angle of Arrival (AoA) calculations and data from a 9-axis Inertial Measurement Unit (IMU), see below, which is also housed in the device. The relationship between the coordinate axes for the player and the field can be represented in different ways, which may include Euler angles or a quaternion representation.As described above, the antenna array may comprise at least one antenna and UWB transceiver. Each antenna array may be connected to the others wirelessly or through fixed or wired communications. Each antenna array may also be connected solely to a master array which gathers together data from each array and instructs each array to act. The master array may be connected to a server or the server may act as the master and coordinate the arrays.
[0065] The master array may also function to set the reference coordinates to (x,y,z) (0,0,0). Thus the reference frame against which the orientation of the device is determined can be set by the master array. The coordinates of the reference frame are then based on the position of other arrays. In order to determine the reference frame for position and orientation, more than one point is typically needed. Each array position is determined relative to each other and then positioned on the frame, all relative to the master. The position and orientation of the device can therefore be considered to be relative to the frame generated by the arrays. The origin may be placed anywhere on or around the pitch, but preferably the y-axis is placed at the halfway line. The other side of the halfway line would therefore be, for example, (0, 70, 0).
[0066] In this way, it is possible to determine a location of the ball in the reference coordinates of the master array. It is also possible to determine the location of the players in the reference coordinates and thus the proximity of the ball to the players. Further discussion of the use of such a system for determining player and ball position may be found in WO2019 / 016573A1, which is incorporated herein in its entirety.
[0067] In addition to the transceiver, as noted, the ball and / or player device may also comprise an inertial measurement unit (I MU), comprising a three-axis MEMS gyroscope and a three-axis MEMS accelerometer, and may comprise a processor that receives the measurements from the I MU.
[0068] Tracking may also be implemented using a combination of a Global Navigation Satellite System (GNSS) to identify position of the players or ball and a wirelessprotocol, such as Bluetooth (RTM) or Wi-Fi (RTM) to offload data to remote servers.
[0069] GNSS based solutions, which remain the industry standard, are able to determine position to only an accuracy on the order of one metre and are even more inaccurate in dense or built-up areas, such as stadia. More recently there has been a shift to ultra-wideband (UWB) systems, which can accurately locate players and equipment in real-time and in such a way that the data is not affected by the noisy radio frequency (RF) environment that is often present in crowded stadia.
[0070] An example is shown in Figure 2. A GNSS receiver 22 is embedded within the body armour 11 or ball. A GNSS receiver 22 measures the transmitting time of GNSS signals emitted from four or more GNSS satellites 24 and these measurements are used to obtain its position (i.e., spatial coordinates) and reception time. Data from the GNSS receiver 22 can be offloaded using a wireless protocol, such as Bluetooth (RTM) or Wi-Fi (RTM), or using an UWB radio signal to a remote server (not shown). The coordinate system for the position is typically set using the GNSS technology.
[0071] Tracking systems have been described which combine GNSS and UWB technologies for accuracy reasons or to mitigate the above deficiencies of the use of GNSS. In contemporary sports situations GNSS is used to determine position while UWB is used to offload data to a single anchor to minimise the amount of pitch-side infrastructure needed and reduce the effect of the noisy RF stadium environment. UWB has also been proposed as an augmentation or alternative to GNSS, making use of fixed anchors placed around the field of play but using GNSS as the primary tracking technology. For example, systems have been proposed where position is calculated using both a GNSS technique and an UWB technique and the best candidate position is chosen. In other fields, for example in the tracking of drones, GNSS and UWB technologies are used in conjunction with one another to enable the drone to navigate both indoors within a UWB infrastructure and outdoors where GNSS takes over.In some situations, the balls and players may be tracked differently, for example contemplated alternatives fortracking the ball include the incorporation of a short-range beacon into the ball. The short range beacon indicates possession of the ball by proximity to a single data logger worn by a player. The beacons utilise radio frequency signals at a frequency which is not attenuated by the body of the players.
[0072] Local tracking systems have also been proposed without the use of anchors. For example, relative linear distances between tags may be determined and a topology created from the relative linear distances. The topology may form a rigid polytope such that an algorithm may solve for a possible translation, rotation and flip of the topology that most likely fits a set of position measurements of one or more of the tags. The position measurements may be determined through distance to a static anchor or from a GNSS measurement (or to a calibrated reference location). An example is described in patent publication WO 2019 / 207300, which is incorporated by reference herein in its entirety.
[0073] A further alternative has also been proposed in which a ball tag is ranged to a set of player tags and the location of the player tag calculated using the position measurements of the ball tags. An example is described in patent application GB2417961.6, which is incorporated by reference herein in its entirety.
[0074] Video tracking is also prevalent in the industry. Computer vision algorithms are configured to track the players or balls based on images retrieved from one or more cameras positioned around the field. Hybrid systems are also known in which some tracking is performed using video with some metrics being retrieved using embedded electronics such as an IMU. In video analysis for example, it is important to be able to distinguish between player on the field and those at the side of the field or the fans so that the computer vision is not wasting energy on wrong resources.
[0075] Throughout the present disclosure the terms asset and object will be used to refer to a tracked element in a sporting context. This could include players, balls or other objects, often depending on the sport in question (e.g. bats, or sticks, etc.).The term asset is intended to refer to an object or player tracked by video, or an object, player, or ball tracked by an electronic device or tag linked or otherwise colocated with the object, player, or ball.
[0076] Figure 3 is a block diagram illustrating an infrastructure arrangement for use in an exemplary process. A number of radio-beacons are installed around the perimeter of the field. Each player wears a device 21 and the ball has a device 22 built into it, i.e. in the electronics 30. During normal operation, the locations of the devices 21, 22 are determined by the radio-beacons at a rate of, for example, 20 measurements per second (20 Hz). Again, as will be understood, the terms beacons, radio-beacons, anchors and antennas signify the apparatus installed around the periphery of the field and are used interchangeably.
[0077] Similarly, for example, at a rate of 20Hz, the devices offload the data generated by their I Mils to the radio-beacons 23. The data received by the radio-beacons 23 is timestamped and relayed to a master beacon 24 which sends the acquired data to a server 25 located near the field.
[0078] The data received by the server 25 then passes through a “metric server” which may condition the data in any manner known to those skilled in the art, and pass the conditioned data into a database 26. After one second of data has been recorded the database will contain, for each device, 20 entries for time, X-position, Y-position, Z-position, obtained using the location tracking technique discussed above, and data for the angular velocity of the ball measured by the three-axis gyroscope in the electronics 30 of the ball 10. Acceleration measurements from an accelerometer may also be obtained, as will be discussed further below.
[0079] An analysis server 27 may be provided which retrieves and analyses the data in the database. This time-series data is used to detect and categorize events. In these embodiments, the detection and categorization of events may use not only the angular velocity measurements obtained by the IMU of the sports ball, but also the position of the sports ball in the field, and its position relative to the players.For the sake of the concepts set out in the disclosure below, what is important is that modern tracking systems are able to derive metrics of assets (i.e. objects, players, and balls) positioned in or around the sports field. These metrics include the location of those assets. For some concepts further metrics are also relevant such as device speed or I MU data as well as relative metrics between different assets, such as relative position or position relative to the other reference points such as a local coordinate system (e.g. the field).
[0080] For other concepts it is relevant to understand that data offload may be provided through many different mechanisms each with different trade offs. By data offload we mean data communication with tracked devices. For example, data offload may be performed using Bluetooth (RTM), Wi-Fi (RTM), ultra-wideband, Bluetooth Low Energy, NB IOT, Zigbee or Thread, among others.
[0081] These tracking systems may be used for both training and matchday scenarios. In a matchday scenario, a set of tracked players may be engaged in the play and a set of tracked players may not be relevant and may be positioned around the periphery of the field. One ball may be used at any one point, with events determined for that ball being important, such as a pass, kick or drop. Multiple balls may located around the field and may sometimes enter the field of play accidentally. Those balls may be regularly swapped throughout play. In a training scenario, multiple balls may be used (or not as the case may be) and multiple players interchanged depending on the training scenario.
[0082] As noted above, the present concepts relate to prioritising assets based on sporting relevance and subsequently selecting that asset as in play. Other outcomes of the prioritisation include selecting a subset of the devices for communication prioritisation.
[0083] A basic principle of certain concepts of the disclosure is that it is helpful to identify if a ball is relevant, and to therefore track that ball more. This uses more power and data processing, and so it is desirable not to track all balls equally.Figure 4 illustrates a high-level flow diagram used for explanation of the present concepts. First, a set of candidate assets may be identified at step 401. Next, in an optional step, a likelihood value or score may be initialised for each asset at step 402. In one example this may be a zero value for each asset. At step 403, metrics for each asset may be retrieved. In a preferred implementation this includes asset position in a local coordinate system. Based on these metrics a priority value may be assigned to each asset at step 404. This could be an assignment of a priority value or could be an adjustment to the current value, i.e. in a first iteration the initialised priority value. In a specific example where the metric is a position, a high priority value is assigned to an asset located in the field of play and a lower priority value assigned to those located outside the field of play. From the respective priority values, the asset may be selected at step 405 for sporting relevance and actions taken accordingly at step 407. For example, where the asset is a ball it may be selected as the ball in play and events and metrics for that ball sent to broadcasters and or teams.
[0084] The illustrated process may iteratively retrieve metrics of the assets and adjust the priority values based on those assets, as shown with loop 406. The assets may be selected or deselected based on changes in those adjusted priority values.
[0085] The method determines instantaneous relevance and likelihood of future relevance using a probabilistic model with Heuristics looking at position, speed, recent events, etc.
[0086] Identify Candidate Assets 401
[0087] The process may first identify a set of candidate assets. These may be balls or players depending on context and may be a subset or all of the available assets. The candidates may be chosen based on location, on data quality or by manual input. The priority value may be a percentage score or other continuous value.
[0088] Initialise priority values 402
[0089] In an optional step, a priority value for each asset may be initialised. Each priority value may be set to a default value such as 0 or any arbitrary value from which itmay be adjusted. That is the algorithm can iteratively work out from these default values the likely priorities for each asset over time, either in one or a few steps, or to a stabilised condition over time through multiple iterations and multiple adjustments. Alternatively, the value may be initialised by a human operator based on sight of the balls or they may be initialised based on their relative location to the field or other reference point in the local coordinate system. That is, the balls may be initialised to a priority value based on their relative location the centre spot of a pitch.
[0090] The initialisation step is optional since the first assessment of the priority values may include assigning a value to each asset directly (see below).
[0091] The priority values may be used to determine whether an asset is in play. Alternatively, or in addition, the priority values may further be used to schedule communications effectively between assets, by prioritising communication with assets with higher priority values as set out below. The priority values are capable of taking a wide range of values (i.e. , more than two values) which advantageously allows each value to be adjusted with detailed resolution.
[0092] The priority values described herein may be continuous variables. In other examples, the priority values may be discrete variables. That is, a generated priority value for a given asset may be able to take any value between a specified or preset range, or may be able to take discrete values within a specified or preset range. The priority values are generated from a range comprising more than two values.
[0093] In this way, the priority values may be increased or decreased over time, compared with other priority values, or compared with thresholds. The invention also provides a distinction between multiple assets which may be relevant to the sporting context at the same time. In addition, the priority values may be adjusted dynamically, such that values are increased or decreased at different rates, which may depend on the sporting significance of each asset at a given time.A priority value of each asset may be capable of taking more than two values within a discrete range, or may be capable of taking any value within a continuous range, or may be capable of taking any value. In one example, the priority value assigned to each asset may be capable of taking any value between 0 and 1. In this example, the priority values may be interpreted as probability values, where a higher probability value assigned to an asset indicates a greater sporting significance of the asset, and a lower probability value indicates a lower sporting significance. In another example, the priority value assigned to each asset may be percentage scores. In this example, higher percentage values may indicate a greater sporting significance of the corresponding asset, and lower percentage values may indicate a lower sporting significance. The specific type or range of priority values used can be tailored to benefit the specific application or based on computing or computational requirements, and are thus not limited in the present application.
[0094] In further examples, priority values can be compared with each other or predetermined thresholds, and features such as hysteresis can be incorporated. This is discussed in more detail below.
[0095] Retrieve metrics and / or events of candidate assets 403
[0096] The process continues by retrieving metrics of one or more of the candidate assets. Relevant metrics include one or more of: position of the asset relative to the pitch; position of the asset relative to a fixed point in the local coordinate system; relative position to other assets; relative position to assets of a different type (e.g. ball to player); and, device speed. Other metrics that may be used in the priority determination include metrics of the assets such as acceleration and angular velocity and metrics derived from measurements such as whether a recently been kicked. The metrics may be current metrics (e.g. at a present time instance), a change in the metrics over time or historical metrics.
[0097] Events can be retrieved such as whether the ball is kicked, dropped or passed. Events may be derived from the metrics or derived in any known manner in the art.Assign or adjust priority value for each asset 404
[0098] Based on the one or more metrics and / or events, the priority value for each asset may be assigned or adjusted. When adjusting the priority value, the adjustment may be a large or small change in value depending on the context or may be a change over time at a set rate.
[0099] The following are examples of how the priority value may be assigned or adjusted.
[0100] If the asset is located on the field then it may be assigned a high or an increased priority value.
[0101] If the asset is outside the field but in close proximity to the field (e.g. 2m from the pitch boundaries) then the priority value may be slowly decreased or decreased by a small value. If the asset is outside the field but not in close proximity to the field (e.g. more than 2m from the pitch boundaries) then the priority value may be quickly decreased or decreased by a large value.
[0102] If the asset moves from inside the field of play to outside the field of play, then the priority value may be decreased.
[0103] In these examples, when we refer to pitch boundaries we could instead refer to a relative location to a fixed point in the coordinate system.
[0104] If the asset is close (e.g. has a small relative distance) to another asset or is close to an asset of a different type, the priority value may be increased. For example if the ball is close to a player then the device priority may be increased since it is likely to be in use.
[0105] If one or more of the metrics are missing, or there is low confidence in the data (e.g. the position has not been recently communicated such as in the last 0.5s), then the priority value may be slowly decreased or decreased by a small value.
[0106] If one or more of the metrics are unreliable (e.g. packet error rate is above a threshold), then the priority value may be decreased.If the asset is moving, the priority value may be increased. If the device is not moving, or moving slowly, the priority value may be slowly decreased or decreased by a small amount. A moving asset can be calculated by a change in position overtime or from an external sensor such as an accelerometer.
[0107] If the asset is in proximity to a sport-specific location (e.g. sport-specific restart location), the priority value may be increased. A sport-specific location may include pitch markings. For example, in the context of football, a ball close to the corner may be more likely to be used next. Another example of a sport-specific restart location could be a location in which a previous ball exited the pitch.
[0108] Specific criteria may cause a dramatic change in priority value or may cause the assignment of a certain priority value. Similarly, criteria may cause a change in the priority value of other assets. For example, a ball in close proximity to the centre spot at the start of a match can be assigned a high priority value with the other balls having a decreased priority value. In another example, the ball in proximity to the corner of the field may be given a high-priority if a corner event is detected or if the previous ball left the field along the goal-line (indicated a likelihood of a corner being the next play). Comers are important to detect accurately for analysis purposes. These examples can be thought of as indicative of exceptional priority value changes being made and triggered based on timedependent conditions or event-dependent conditions, respectively.
[0109] As indicated, the priority value may be affected by recent events or recent event types detected, either on the field or in relation to the specific asset. These may be sport-related criteria or other events. For example, the event type adds important context — a ball going out for a throw will likely come back on where it went out. A goal will restart at the centre, a corner at the corner flag etc. By tracking a ball in this way, it allows them to ignore data from irrelevant balls, which is very important — knowing which data you can ignore is a big advantage.
[0110] The assignment may be thought of as a plurality of tests, each carrying a different contribution to the priority value. Similarly, they may be thought of a plurality oftests leading to an outcome, much like a decision tree, that is the tests me be a plurality of predetermined rules applied to the context of each asset.
[0111] Figure 5 illustrates an example algorithm 504 for adjusting a priority value for a ball asset in a training scenario. From an initialised value, the priority value for each ball being tracked is adjusted based on the metrics received forthat ball.
[0112] At the start, the process retrieves the location of the ball device in the reference frame 512. If the device location is known, the ball location is checked against reference points. If the ball is located within the pitch boundaries 516, the device priority is increased 522. If the ball is not located within the pitch boundaries but is within 2m of the pitch boundaries 518, the device priority is slowly decreased 524. If the ball is not located within the pitch boundaries and is more than 2m from the pitch boundaries 520, the device priority is quickly decreased 526. If the ball is close to a player 528 (e.g. another reference point), the device priority is increased 522.
[0113] If the device location is not known, or is not recent, or there is low confidence in the data, the device priority is slowly decreased 524.
[0114] In parallel, or in series, the process retrieves the speed of the device 514. If the ball is moving 530, the device priority is increased. If not, the device priority is decreased 524.
[0115] As shown, a manual override may be provided 540 in which the priority value for an asset can be set to maximum 542.
[0116] The output of process 504 may be a priority for each ball being tracked. As the process is re-run, the priority will change overtime.
[0117] A similar approach to assigning a priority value may include applying each metric as a feature to a classifier such as a trained machine learning model. Many suitable algorithms may be used to calculate a likelihood that each asset is relevant for the specific sporting context (e.g. clustering, decision trees, random forest, linear and logistic regression, support vector machines, neural networks,etc.). The classifier may be configured to learn which metrics indicate a likelihood of a specific context. For example, in the case of identifying a ball in play, the model may be trained to learn that features such as the location of the ball within the field, its prolonged history within that field and its ongoing movement may be strongly associated with or indicative of a ball being used as the ball in play. In this scenario, the metrics being used as features may be considered to contribute to the assignment of a priority value (output by the trained model) to the respective asset based on the metrics.
[0118] Any type of machine learning may be suited to this classification task as would be understood by the skilled person.
[0119] By way of example, an LSTM framework could be used to determine the ball in play. Firstly to train the model, a number of football games or football training sessions would need to be annotated. For each frame of data, the true "ball-in-play" ball would have a label of 1, and the others would have a label of 0 (one-hot), or probabilities of 100% for the ball in play, 0% for others. This annotated data is the supervised training labels for the model that will be described below.
[0120] Assume we are creating a model for predicting the ball in play, using only the X,Y,Z positions of 10 soccer balls and 10 seconds of their recent history, and assuming the position sampling rate of the ball is 20Hz. The input to the LSTM would therefore be a 3D array of shape (batch size, 200, 30) where batch size is the number of sequences processed simultaneously (e.g., 32 sequences in one batch during training), 200 is the sequence length (10 seconds x 20 updates per second) and 30 is the feature dimension (10 balls x 3 dimensions).
[0121] 1. Input: Array shape (batch size, 200, 30) — 10 balls' X,Y,Z positions over 200 time steps.
[0122] 2. LSTM: Output array shape (batch size, 200, 64) — 64 hidden units.
[0123] 3. Global Average Pooling: Reduces to (batch size, 64).
[0124] 4. Dense Layer: Output array shape (batch size, 10) — 10 balls.
[0125] 5. Softmax: Converts to probabilities, summing to 1 across the 10 balls.There are many ways that machine learning models can be employed for this task. Another architecture would be to use a Convolutional Neural Network where the time series data is treated as a 2D input with dimensions 200 x 30. Similarly a transformer model architecture and self-attention can be used to learn long-range dependencies between the ball’s positions over time. This model may also be better than an LSTM because it is often faster and better able to scale as the sequences become longer.
[0126] Select assets for sporting relevance based on priority value 405
[0127] From the priority values, the assets may be selected for sporting relevance. For example, the ball may be identified as the ball in play or a subset of players engaged in the play may be identified from the priority values.
[0128] As above, actions may be taken based on the selection. Communications from relevant player devices prioritised, events from the ball in play chosen as the relevant events, other events filtered or ignored, or further metrics calculated based on that determination. In the last example, when the ball is identified as the ball in play, the positions of the players relative to that ball could be considered in further analysis. Similarly, if a player asset is identified as not in the play, it may not be considered in analysis. Consider for example a substitute at the edge of play warming up, their relative location to the players on the field may distort a performance analysis.
[0129] Selection may occur by comparing each priority values to the other priority values or by comparing the priority value to a threshold.
[0130] When selecting a ball asset as a ball in play, i.e. the ball being used for play, a number of different selection approaches could be used depending on the context. In a first example, the highest priority value may be chosen. This could be relevant in a matchday context.
[0131] The selection may comprise a comparison with a threshold but also the relative timing in which the threshold was reached. For example, a ball may chosen asthe first ball to exceed a threshold even when multiple balls exceed the priority threshold.
[0132] Once an asset may be selected it may be ‘locked’. This means that the asset may not be deselected until a criteria is met or a trigger condition occurs. In an example, once the ball in play is chosen as the ball in play, it may not be deselected until here is only one ball on the pitch and it is a different ball, there is more than one ball on the pitch and: none of them are the current ball in play or one of them is the current ball in play but the algorithm hasn't received new position data for the last 0.5s. A new ball in play may then be selected.
[0133] The selection may comprise comparison with one or more thresholds and hysteresis. For example, there may be an upper and lower threshold. The upper and lower thresholds create a hysteresis effect. That is, the asset may be selected when the priority exceeds the upper threshold but only deselected when the priority value is below the lower threshold.
[0134] For example, in a training scenario, all events may be monitored from any ball exceeding a threshold. In the hysteresis example, when the ball priority value exceeds an upper threshold it may be selected for event monitoring, but only when it goes below the lower threshold is it deselected for event monitoring.
[0135] Figure 6 illustrates an example of this selection. Illustrated are five tracked assets A, B, C, D and E. The y-axis shows the priority values for each asset at time to. The y-axis may be scaled according to the sporting context or the type of priority values used. For example, the y-axis may have a minimum of 0 and a maximum of 1 , and the priority values for each asset may correspond with probability values. In other examples, the y-axis may be scaled to percentage scores, so the minimum may be 0% and the maximum 100%. This is not limited in the present application. Assets A, B, D and E are below the upper threshold and so are not selected. Asset B is above the upper threshold and so is selected.
[0136] In a training scenario, events from asset C may be monitored. In a matchday scenario, asset C may be selected as the ball in play.At time ti , asset B increases in priority. Although it passes the lower threshold it does not exceed the upper threshold. No change in selection is made.
[0137] At time t2, asset C moves below the upper threshold but remains above the lower threshold. No change in selection is made.
[0138] At time t3, asset D has a rapid increase in priority and moves above the upper threshold. Depending on the scenario and asset being tracked, a different selection may be made. For example, in a training context, both balls may be selected for event monitoring. In a matchday context, since ball C remains above the lower threshold ball D may still not be selected as a ball in play (that is ball C is locked). In an alternative configuration, since ball D has such a high priority, and a significantly higher priority than ball C, it may override the threshold and be selected as the ball in play.
[0139] In certain scenarios, a process may need to take place to select between different assets having similar priorities or to select a subset of assets having a maximum priority. This may be referred to as a tie breaker process. Examples of this in implementation include selecting a single ball in play, selecting 11 players from 12 prioritised players in a football scenario or choosing to prioritise a subset when prioritising communications when only a certain amount of assets can be prioritised.
[0140] In these situations, an asset may be selected based on time or context. That is, an asset may be selected based on the time the asset reached the priority value, the length of time at that value or other metrics such as relative location or change in location.
[0141] Take action based on selected assets 407
[0142] As described above, different actions may be taken depending on the context, scenario and asset being tracked.
[0143] In a first example, events from the selected asset may be monitored. For example, possession events from a player or kick or pass events from the ball in play maybe monitored. Similarly events from not selected assets may be ignored, such as kick events not from the ball in play.
[0144] In a second example, relative metrics between the selected asset and other assets may be calculated. For example, relative distance between the ball in play and the players.
[0145] In a third example, described in more detail below, communications may be prioritised based on the selection. For example, the assets may be tracked at a higher rate. Also, for example, more frequent timeslots may be scheduled for higher priority assets.
[0146] In a fourth example, battery life can be conserved for low priority devices on assets by partially shutting down operations of the device.
[0147] In a fifth example, data may be processed for each asset in an order of priority. Thus the more relevant assets as processed first.
[0148] In a sixth example, more computational resources may be applied based on the selection and more data may be smoothed.
[0149] In a seventh example, events may be tallied based on the selection to identify cumulative events while actively engaged in the sports area.
[0150] In an eight example, other data may be filtered based on the selection, e.g., detected objections may be filtered based on the selection. For example, in computer vision, a not selected asset may result in a filtering of objects. If an asset is a ball on the sideline, this may indicate other objects that need not be recognised by the computer vision algorithm,
[0151] In a ninth example, time spent as a selected asset may be recorded, or time spent may be recorded based on the selection. For example, total time spent on the field may be record for a player. Thus involvement in play over time can be accurately measured in an automated manner.Loop 406
[0152] As will be clear from the above, the priority values may be regularly updated by repeating steps 403-405.
[0153] Figure 7 illustrates a specific example of a ball in play algorithm 700. As will become clear from the below, the ball in play algorithm 700 of Figure 7 may optionally be integrated with the selection process 405 described above. This integration may occur in different ways. As will be explained, the selection process 405 above may take place as the selection of step 705. Alternatively or additionally, the selection process 405 may occur as part of the identification step 701. In the latter case, selection may use a repeated selection process 406 or may use an alternative approach, as described below.
[0154] In other words, the ball in play algorithm 700 described may be an action taken 407 subsequent to selection 405.
[0155] The aim of the ball in play algorithm is to uniquely select a ball that is being used in a match at a specific time instance. This allows the system to ignore events from other balls that may be passed along the sidelines and thus send only relevant data to broadcasters and teams.
[0156] In specific examples, the ball in play algorithm uses the following logic. The current ball in play stays in play unless:
[0157] - there is only one ball on the pitch and it is a different ball
[0158] - there is more than one ball on the pitch and:
[0159] - none of them are the current ball in play
[0160] - one of them is the current ball in play but the algorithm hasn't received new position data for the last 0.5s.In the second scenario, the algorithm may select a new ball based on specific criteria (e.g. proximity to sport-specific restart locations, such as where the previous ball exited or pitch markings).
[0161] The algorithm may be split into two sections:
[0162] - Ball specific analysis which determines a quality of the data and whether the ball is on the pitch
[0163] - A cross-ball check to select which ball is the ball-in-play
[0164] It may be relevant to know the timestamped position of the ball in space and its ID, and the pitch boundaries / marking.
[0165] The focus of the implementation may be to ensure that data from the ball in play is as complete as possible, and data from the other balls are auto-ignored.
[0166] To elaborate, if the ball ID is selected as the ball-in-play at any point during an event (e.g. flight), the data from that ball is good. Only where there is no overlap between the ball-in-play and an event duration would the event be auto-ignored.
[0167] Some implementations may limit ball-in-play to a single ball for match scenarios, which would not be suitable for training scenarios. In those cases, we a prioritisation algorithm may assigns priorities to each ball based on metric inputs for each device (e.g. position, speed etc.). This allows focusing on multiple balls based on requirements and limitations
[0168] Putting this algorithm in the context of Figure 7, we can see at step 701, the ball in play is first identified. This may be by a human operator, by the selection process 405 described above, or through a simpler methodology such as by determining the relative location of the ball to a fixed point of a reference frame like the centre spot of a pitch at the start of a match.
[0169] The process may then check for other balls in the field of play 702. If none are identified then the process does nothing 706. If another ball is in the field of playand the current ball is not in the field of play then a new ball in play may be selected. If the current ball remains in the field of play and the position data is recent 704 then no action is taken 706. If the current ball remains in the field of play and the position data is not recent 704 then a new ball in play is selected.
[0170] In a simple configuration, the other ball in the field of play may be selected as the new ball. In a further configuration a new ball may be selected based on specific criteria (e.g. proximity to sport-specific restart locations, such as where the previous ball exited or pitch markings). In a further configuration, the selection process 405 may be performed based on computed priority values to select a ball in play. Alternatively, a decision tree using a predetermined set of rules may be used to select the new ball.
[0171] A ball in play process for a matchday scenario will now be described in the context of Figure 8 which illustrates a main function of an example process 800.
[0172] The process begins 801 by first checking if there is an existing asset selected as a ball in play 802. If not 803, then the process continues to adjust ball in play probabilities for each asset 804. That is, the process identifies a probability of each asset being the ball in play. In a preferred example this may utilise the process set out in the context of figure 4 above and may therefore be equivalent to steps 403 and 404. Other approaches to determine the probability of a ball in play may also be contemplated such as using the relative locations of the balls.
[0173] The ball in play may then be chosen 805 as the most likely if it is greater than a probability threshold. In the context of the process of Figure 4, this may be equivalent to step 405.
[0174] If multiple balls exceed the threshold or are given the same probability, a tie breaker process 806 may be performed to identify the ball in play. This may be similar to the tie breaker process described above and in a simple implementation may be the first ball to reach the threshold or one metric may be chosen as the tie breaker, such as distance from a reference point or time without moving.The process may then begin 801 again at a predetermined frequency. The process checks if there is an existing asset selected as a ball in play 802. If there is 807, then the process checks if an event has been detected 808. If not 809, then the process does nothing and returns to the beginning 801. If an event has been detected 810, then the process continues to adjust the probabilities of each asset being a ball in play 804. For example, if a kick event in rugby is detected then the probability of the ball being the ball in play can be checked and adjusted if the ball leaves the field of play and a further ball enters the field following that kick event. Similarly, a ball in play may persist as the ball in play even after it has left play, e.g. to detect a full kick distance. In another event trigger, a corner event in football may be detected (e.g. by manual input or by the ball going over the line) and this may indicate a likely change in ball in play and so the probabilities are adjusted with knowledge of this event context. With this context in mind, those balls in proximity to the corner flag could be potentially given a higher priority than those at the other end of the field. Other events that demonstrate this triggering example include a goal being scored and the ball leaving the field, each indicating that probabilities could be adjusted and the event context indicating a different adjustment based on that context.
[0175] As indicated, the step of checking for an event is an optional step in this specific example.
[0176] As indicated above, an action taken in response to a priority may be vary communications, e.g. scheduling, based on the assets selected according to their priority. An example will be described in the context of Figures 9 and 10 which show assets A-E of Figure 6.
[0177] Wireless communications between are scheduled according to many known access approaches. These include Code-division multiple access (CDMA), Direct Sequence, Frequency Hopping, Orthogonal frequency-division multiple access (OFDMA) and Multi-Band OFDM, with the most common being Time-division multiple access (TDMA) and specifically dynamic time-division multiple access (dynamic TDMA). The concepts described herein may be thought of as dynamic TDMA based on sporting relevance.The specifics of each access approach is not relevant and will not be described. The concepts will be described in the context of a highly simplified TDMA scheme, but it will be understood that the prioritisation concepts are equally applicable to any access and scheduling approach. It may be considered context-aware TDMA scheduling, based on sporting relevance.
[0178] In the simplified dynamic TDMA approach used for illustrating the principles of the concepts, each tracked asset needs to offload data to a server for processing and storing. To avoid contention, each asset is assigned a ‘seat’, or timeslot, within a frame in which their data is to be scheduled to be sent. In any particular frame, there are only a certain number of timeslots available or communication, with the available slots being dependent on the available bandwidth.
[0179] In a tracking scenario, those seats need to be allocated to the tracked assets such as balls and players. In a simple approach, each asset is sequentially assigned a seat. Additionally, some seats may be allocated according to type, for example, half the seats may be allocated to players and half to balls. However, more sophisticated examples may make more efficient use of available bandwidth constraints.
[0180] It is proposed in concepts described here that bandwidth may be allocated according to sporting relevance. In other words, identifying a sporting relevance of each asset and scheduling communications according to that sporting relevance or relevance. In other words, identifying a priority based on sporting context and scheduling communications for the device based on that priority.
[0181] In the context of the previous discussions, assets may be selected based on their priority (step 405, Figure 4) and communications scheduled according to that priority (step 407, Figure 4).
[0182] In a first example, communications may be scheduled for devices associated with player assets based on their relative location to the ball. In a second example, a player on the periphery of the field may have a same relative distance to the ballas a player within the field, but as a substitute their relevance is lower. Communications from those players is less important and can be deprioritised.
[0183] In a specific implementation, the number of seats to be allocated to assets of different types may be context dependent. In a matchday scenario, there may be one high priority ball and multiple high priority players. In training, there may be multiple high priority balls. The sport being tracked will affect the number of seats allocated to different types. Within the number of seats allocated to each type, each asset may be assigned a priority and then assigned a seat within those seats allocated for that type according to the priority.
[0184] The above scheduling based on sporting relevance may be shown in the Figures 9 and 10. Figures 9 and 10 show a scheduling example where the priorities have been identified according to the process in Figure 4. The priorities are those illustrated in Figure 6 with Figure 9 showing a scheduling example based on the priorities at time t0and Figure 10 showing a scheduling example based on the priorities at time ti.
[0185] At time to as shown in Figure 9, the high priority asset C is allocated a seat, while the low priority assets A, B, D and E are allocated to share a seat. Let’s say there is 100Hz of available bandwidth separated into 10Hz seats. The high priority asset C may be allocated a 10Hz seat, while the low priority assets may be allocated 2Hz of a shared seat; that is, lower-priority assets A, B, D, and E may share a single timeslot with 2 Hz sub-divisions.
[0186] In other words, assets are assigned priorities that determine their timeslot assignment within their category's allocation. This hierarchical allocation scheme ensures efficient bandwidth utilisation.
[0187] Figure 10 illustrates the same principle at time ti . It will be recalled that due to the hysteresis exemplified in Figure 6, there are two high priority assets selected, C and D. As shown in Figure 10, those high priority assets are allocated a seat, while the low priority assets A, B and E are allocated a share of a seat.It will be understood that any particular scheduling may be used. For example, each high priority asset may be assigned multiple seats with each low priority asset assigned a single seat, etc. Each low priority asset could alternatively be scheduled a seat less frequently than the high priority assets.
[0188] Exemplary tags or devices will now be described. The tag has a transceiver, antenna and a microcontroller.
[0189] The devices may have at least one 9-axis I MU for collecting linear acceleration, angular acceleration and orientation data. The IMU component optionally embedded in the devices includes a combination of accelerometers, gyroscopes and magnetometers to report characteristics over time. Data from the IMU can be combined with the position data, which constitutes a form of sensor fusion, to increase system robustness. The IMU may also be used to calculate the angular velocity components, and therefore the revolutions per minute, of the ball or player device.
[0190] The tag preferably comprises a control unit, for example comprising a microcontroller. The tag preferably includes a power supply to supply electrical power, for example to those sensors which require power to operate as well as to the components of the control unit. A lithium ion or lithium polymer battery may be used. The power supply may be provided on the same part of the sports equipment as the sensors but this is not essential.
[0191] The control unit and power supply may be provided in an electronics unit or device. Where the sports equipment is a rugby ball, the electronics unit could be located inside the ball. Where the sports equipment is body armour, the electronics unit may be located in a position corresponding to a point between the player’s shoulder blades, which is already common practice for devices which use GNSS enabled chipsets for location.
[0192] The tag will further include a GNSS enabled chipset and / or a UWB transceiver and one or antennas.As described above, the exemplary system comprises a device to be located on the field on either the player or in some other equipment. The intelligence to perform this analysis may be spread across each node or may be performed centrally at a central server. The data may be logged in a database for subsequent retrieval and analysis.
[0193] Throughout the present description the terms analytic controller, server and microcontroller are used to describe processing units which perform certain functions. It will be understood that the terms used are not essential. What may be essential is the functionality described. However, the functionality may often be performed by processing and control units located remotely, within the described entities or elsewhere in the system as appropriate.
[0194] Methods and processes described herein can be embodied as code (e.g., software code) and / or data. Such code and data can be stored on one or more computer-readable media, which may include any device or medium that can store code and / or data for use by a computer system. When a computer system reads and executes the code and / or data stored on a computer-readable medium, the computer system performs the methods and processes embodied as data structures and code stored within the computer-readable storage medium. In certain embodiments, one or more of the steps of the methods and processes described herein can be performed by a processor (e.g., a processor of a computer system or data storage system). It should be appreciated by those skilled in the art that computer-readable media include removable and nonremovable structures / devices that can be used for storage of information, such as computer-readable instructions, data structures, program modules, and other data used by a computing system / environment. A computer-readable medium includes, but is not limited to, volatile memory such as random access memories (RAM, DRAM, SRAM); and non-volatile memory such as flash memory, various read-only-memories (ROM, PROM, EPROM, EEPROM), magnetic and ferromagnetic / ferroelectric memories (MRAM, FeRAM), and magnetic and optical storage devices (hard drives, magnetic tape, CDs, DVDs); network devices; or other media now known or later developed that is capable of storing computer-readable information / data. Computer-readable media should not be construed or interpreted to include any propagating signals.
Claims
37CLAIMS1. A method of identifying an asset in play within a sporting event, the method comprising:identifying a plurality of candidate assets;retrieving one or more metrics and / or events of the candidate assets, the one or more metrics and / or events comprising a position of each candidate asset relative to a local coordinate system;generating a priority value based on the respective position of each asset, the priority value generated from a range comprising more than two values; and, selecting one or more assets being used for play based on the priority value.
2. A method according to claim 1, wherein the selecting the one or more assets is performed in response to one or more of a plurality of predetermined triggers, wherein the triggers include determining another asset is located in a sports area, or the current asset being used for play is not within the sports area.
3. A method according to claim 1 or 2, the method comprising identifying a current asset being used for play, and wherein:generating a priority value comprises determining another asset is located in a sports area; and,selecting the one or more assets being used for play comprises performing a selecting process when the current asset being used for play is not within the sports area, wherein the assets are balls.
4. A method according to any preceding claim, wherein the selecting is based on sports-related criteria.
5. A method according to claim 3 or 4, wherein the selecting the one or more assets being used for play comprises performing a selecting process when an event is detected associated with the current ball in play.
6. A method according to any preceding claim, the method comprising:38iteratively retrieving the one or more metrics and / or events, generating a priority value and selecting the one or more assets.
7. A method according to any preceding claim, further comprising:monitoring for events associated with the asset based on the selection.
8. A method according to any preceding claim, further comprising:ignoring one or more events associated with not selected candidate assets.
9. A method according to any preceding claim, further comprising:calculating one or more metrics and / or events based on the selection.
10. A method according to any preceding claim, further comprising:applying a power saving policy in response to the selection and / or based on the priority value.
11. A method according to any preceding claim, further comprising:managing communications with the plurality of candidate assets based on the selection.
12. A method according to claim 11, wherein managing communications comprises scheduling data offload.
13. A method according to claim 11 or 12, wherein managing communications comprises scheduling in dynamic TDMA, such that scheduling is dependent on sporting relevance of the asset.
14. A method according to claim 13, wherein scheduling comprises assigning a timeslot for communication based on the generated priority value.
15. A method according to any preceding claim, wherein generating a priority value comprises applying a plurality of tests to the one or more metrics and / or events, each test applying a different contribution to the priority value.
16. A method according to any preceding claim, wherein generating a priority value comprises a predetermined set of rules to adjust priority based on the one or more metrics and / or events.
17. A method according to any preceding claim, wherein generating a priority value comprises applying each of the one or more metrics and / or events to a decision tree.
18. A method according to any preceding claim, wherein generating a priority value comprises applying each of the one or more metrics and / or events as a feature to a trained classifier configured to output a likelihood of an asset being used for play.
19. A method according to any preceding claim, wherein selecting the one or more assets comprises comparing the priority value to a threshold value.
20. A method according to any preceding claim, wherein selecting the one or more assets comprises hysteresis.
21. A method according to any preceding claim, wherein selecting the one or more assets comprises comparing the priority value to an upper and lower threshold value.
22. A method according to any preceding claim, wherein selecting the one or more assets comprises, the one or more assets being selected if the priority value exceeds the upper threshold value, not being selected if the priority value is below the lower threshold value and not changing a selection if the priority value is between the upper and lower threshold values.
23. A method according to any preceding claim, wherein selecting the one or more assets comprises the asset comprises comparing the priority value to priority values of other candidate assets.
24. A method according to any preceding claim, wherein selecting the one or more assets comprises comparing a time at which the priority value changed.
25. A method according to any preceding claim, wherein selecting the one or more assets comprises monitoring for a trigger condition and performing the selection in response to the trigger condition occurring.
26. A method according to any preceding claim, the method comprising: overriding the priority value and / or selection in response to a received user input.
27. A method according to any preceding claim, the method comprising: initialising the priority value for each candidate asset to a predetermined value.
28. A method according to any preceding claim, wherein the one or more metrics and / or events comprise:position of the respective asset relative to a point in a local coordinate system;position of the respective asset relative to a sports area boundary; relative position of the respective asset to a position of another asset; relative position of the respective asset to a position of an asset of a different type; and / or,asset speed.
29. A method according to any preceding claim, wherein the one or more metrics and / or events comprise a change in the one or more or metrics and / or events over time.
30. A method according to any preceding claim, wherein the one or more metrics and / or events comprise a recency indication indicative of how recently the one or more metrics and / or events were obtained31. A method according to any preceding claim, wherein the one or more metrics and / or events comprise a data confidence level.
32. A method according to any preceding claim, wherein the one or more metrics and / or events comprise data obtained from an external sensor.
33. A method according to any preceding claim, wherein the one or more metrics and / or events comprise proximity to a sport-specific restart location.
34. A method according to any preceding claim, wherein the one or more metrics and / or events comprise an event type.
35. A method according to any preceding claim, wherein the one or more assets comprise sports balls.
36. A method according to any preceding claim, wherein the one or more assets comprise sports players.
37. A method according to any preceding claim, wherein the one or more assets are associated with an electronic device comprising a transceiver.
38. A method according to any preceding claim, wherein the electronic device comprises an I MU configured to generate linear acceleration, angular acceleration and / or orientation data of the device and thereby the asset when the device is associated with the asset.
39. A computer readable medium comprising instructions which when executed by a computer cause the computer to carry out the method of any of the preceding claims.
40. A system for tracking assets in and around the periphery of a sports area and identifying metrics and events relating to the tracked assets, the system comprising:a tracking system configured to calculate one or more metrics and / or events of the assets, the one or more metrics and / or events comprising a position of each asset relative to a local coordinate systema management server configured to perform the method of any one of claims 1 to 38.