Systems and methods for sports broadcasting with automated camera control
Patent Information
- Application Number
- PCT/CA2026/050548
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-04-14
- Filing Date
- 2026-04-13
- Publication Date
- 2026-10-22
Smart Images

Figure CA2026050548_22102026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR SPORTS BROADCASTING WITH AUTOMATED CAMERA CONTROL CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims all benefit, including priority to, U.S. Provisional Patent Application 63 / 788,410, filed April 14, 2025, and entitled "Al DRIVEN CINEMATIC STYLE TRANSFER AND DYNAMIC VIEWPORT OPTIMIZATION FOR AUTOMATED SPORTS BROADCASTING”; the entire content of which is incorporated by reference herein.FIELD
[0002] This disclosure relates to event broadcasting systems, and more particularly relates to computer-implemented automated control of sports broadcast cameras.BACKGROUND
[0003] T raditional sports broadcasting relies on skilled human camera operators and directors who apply established cinematographic conventions while making real-time decisions about camera positioning, movement, framing, and selection. These professionals develop distinctive visual styles and follow sportspecific conventions that create engaging, professional-quality broadcasts. The resulting camera work exhibits qualities including naturalistic movement, anticipatory positioning, contextual adaptation to game intensity, and narrative coherence that collectively define the perceived quality of a sports broadcast.
[0004] However, such productions require significant resources that are often prohibitively expensive for most sporting events. Furthermore, existing automated broadcasting systems produce mechanical, unnatural camera movements that lack the fluidity, subtle variation, and contextual nuance of human operation.
[0005] There is therefore a need for broadcasting systems that bridge the qualitative gap between automated and human-directed broadcasts in camera path generation, producing broadcasts with the naturalistic movement, anticipatory positioning, aesthetic composition, and stylistic consistency that characterize professional sports production.SUMMARY
[0006] In accordance with an aspect, there is provided a computer-implemented method for automated sports broadcast camera control. The method includes receiving at least one video feed from at least one camera capturing a sporting event; maintaining a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event; processing the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed; and a game state data structure including data defining a state of play of the sporting event; generating a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includesat least one of a viewport path, a video feed selection, and a camera movement command; and applying the camera control parameters to the at least one video feed to generate a video output for broadcasting.
[0007] In some embodiments, the method further comprises issuing at least one of the camera movement commands to the at least one camera.
[0008] In some embodiments, the method further comprises extracting a viewport from the at least one video feed.
[0009] In some embodiments, processing the at least one video feed includes detecting at least one of players, officials, equipment, or sport-specific objects within a video frame of the at least one video feed.
[0010] In some embodiments, the object tracking data structure includes position, velocity, and trajectory information for at least one of the plurality of tracked objects.
[0011] In some embodiments, the game state data structure is generated upon categorizing a current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest.
[0012] In some embodiments, the generating the plurality of camera control parameters uses a finite state machine with sport-specific states and transition rules that govern viewport behavior.
[0013] In some embodiments, the method further comprises: detecting the specific type of sport upon the processing the at least one video feed; and selecting the plurality of adaptation parameters based on the detecting the specific type of sport.
[0014] In some embodiments, the generating the plurality of camera control parameters includes generating a camera movement path using a generative camera path model trained on data reflective of camera movements extracted from professional sports broadcast footage.
[0015] In some embodiments, the generative camera path model includes a denoising diffusion probabilistic model that iteratively refines noise-corrupted viewport paths through a reverse diffusion process.
[0016] In some embodiments, the generative camera path model includes a flow matching model that generates camera movement paths by integrating a velocity field from an initial path distribution toward the target distribution of camera movements from professional sports broadcast footage.
[0017] In some embodiments, the generative camera path model includes an autoregressive sequence model that produces camera movement paths by sequentially predicting each successive viewport position conditioned on previously generated positions.
[0018] In some embodiments, the method further comprises: generating a prediction of a future game action; and wherein the generating the plurality of camera control parameters takes into account the prediction.
[0019] In some embodiments, the generating the plurality of camera control parameters includes evaluating available camera feeds or viewport options based on at least one of aesthetic quality, storytelling value, and adherence to sport-specific broadcasting conventions.
[0020] In some embodiments, the plurality of camera control parameters is generated to exhibit stylistic characteristics derived from analysis of professional broadcast footage.
[0021] In some embodiments, the method further comprises: refining the generative camera path model based on new broadcast footage and operational data collected during live deployments.
[0022] In accordance with another aspect, there is provided a computer-implemented system for automated sports broadcast camera control, the system comprising: a processing subsystem that includes one or more processors and one or more memories coupled with the one or more processors, the processing subsystem configured to cause the system to: receive at least one video feed from at least one camera capturing a sporting event; maintain a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event; process the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed; a game state data structure including data defining a state of play of the sporting event; generate a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includes at least one of a viewport path, a video feed selection, and / or a camera movement command; and apply the camera control parameters to the at least one video feed to generate a video output for broadcasting.
[0023] In some embodiments, the at least one camera includes a physically articulating camera.
[0024] In some embodiments, the plurality of camera control parameters is generated taking into account a physics model of the physically articulating camera.
[0025] In accordance with another aspect, there is provided a method for generating naturalistic camera paths for automated sports broadcasting, the method comprising: receiving an initial viewport path representing a sequence of target viewport positions derived from object tracking and region-of-interest calculation; processing the initial viewport path through a generative model that applies a transformation to transform the initial viewport path into a transformed viewport path, wherein the generative model is trained on camera trajectories extracted from professional sports broadcast footage, and wherein the transformation is conditioned on contextual factors including at least one of sport type, current game state, action intensity, player spatial configuration, and game phase; and outputting the transformed viewport path for execution by a virtual or physical camera control system.
[0026] In some embodiments, the transformed path exhibits naturalistic characteristics including at least one of anticipatory positioning, natural pacing variation, contextually appropriate movement dynamics, and human-like micro-adjustments.
[0027] In accordance with a further aspect, there is provided a method for anticipatory camera control in automated sports broadcasting. The method includes encoding a current game state representation from at least one of detected player positions, tracked object trajectories, game phase, score situation, and spatialformation patterns; processing the game state representation through a trained action prediction model to generate predictions of a plurality of future action center positions and attention points across a plurality of time horizons; estimating prediction confidence for each time horizon and future action center positions; adjusting an aggressiveness parameter of anticipatory positioning based on prediction confidence; generating an anticipatory viewport path that positions the camera to optimally capture predicted future action; and executing the anticipatory viewport path through a camera control system.
[0028] In accordance with yet another aspect, there is provided a non-transitory computer readable medium storing machine interpretable instructions, which when executed by one or more processors, cause the one or more processors to perform a method for automated sports broadcast camera control. The method includes receiving at least one video feed from at least one camera capturing asporting event; maintaining a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event; processing the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed; a game state data structure including data defining a state of play of the sporting event; generating a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includes at least one of a viewport path, a video feed selection, and a camera movement command; and applying the camera control parameters to the at least one video feed to generate a video output for broadcasting.
[0029] Many further features and combinations thereof concerning embodiments described herein will appear to those skilled in the art following a reading of the instant disclosure.BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In the figures,
[0031] FIG. 1 is a network diagram of a network environment of an example broadcasting system, in accordance with an embodiment;
[0032] FIG. 2 is a schematic diagram of a broadcasting system, in accordance with an embodiment;
[0033] FIG. 3A is a schematic diagram of an example computer vision engine within the broadcasting system, in accordance with an embodiment;
[0034] FIG. 3B is a schematic diagram of an example detection clustering and action localization pipeline, in accordance with an embodiment.
[0035] FIG. 4 is a schematic diagram of an example Al engine as implemented by the broadcasting system, in accordance with an embodiment;
[0036] FIG. 5 is an example generative camera path generation pipeline, in accordance with an embodiment;
[0037] FIG. 6 is a schematic diagram of an example multi-module cooperation architecture, in accordance with an embodiment;
[0038] FIG. 7 is a schematic diagram of an example action prediction system, in accordance with an embodiment;
[0039] FIG. 8 is a schematic diagram of an example multi-modal quality assessment pipeline, in accordance with an embodiment;
[0040] FIG. 9A and 9B are schematic diagrams of an example cinematic style application methodology, in accordance with an embodiment;
[0041] FIG. 10 is a flowchart illustrating an example method for automated sports broadcast camera control, in accordance with an embodiment;
[0042] FIG. 11 A and 11B are schematic diagrams of an example real-time processing pipeline, in accordance with an embodiment;
[0043] FIG. 12 is a schematic diagram of an example sport-specific adaptation framework, in accordance with an embodiment;
[0044] FIG. 13 is a schematic diagram of an example multi-stage viewport smoothing pipeline, in accordance with an embodiment;
[0045] FIG. 14 is an example output video frame with overlaid viewports reflective of a raw viewport and a smoothed viewport during a hockey game broadcast, in accordance with an embodiment;
[0046] FIGs. 15A- 15E are a series of illustrative video frames with overlaid viewports reflective of a raw viewport and a smoothed viewport over time during a hockey game broadcast, in accordance with an embodiment.
[0047] FIG. 15F is an example time-series plot showing raw and smoothed viewport x-coordinates over time, in accordance with an embodiment;
[0048] FIG. 16 is an example computing device, in accordance with an embodiment;
[0049] These drawings depict exemplary embodiments for illustrative purposes, and variations, alternative configurations, alternative components and modifications may be made to these exemplary embodiments.DETAILED DESCRIPTION
[0050] Existing automated broadcasting systems experience a number of technical problems in operation: these systems produce mechanical, unnatural camera movements that lack the fluidity, subtle variation, and contextual nuance of human operation. Deterministic smoothing algorithms used in prior systems produce mathematically smooth but perceptually artificial trajectories that trained viewers immediately recognize as automated. Moreover, existing systems are fundamentally reactive, calculating viewports based on current detected positions rather than anticipated future action. These systems produce camera work that trails the action, missing the anticipatory positioning that characterizes professionalbroadcasting. Furthermore, existing systems lack the ability to evaluate camera feeds or viewport options qualitatively, considering only technical metrics such as object centering and detection confidence rather than aesthetic composition, storytelling value, or emotional impact, as would be perceived by the viewer of a broadcasted sporting event. Additionally, existing systems apply a uniform visual language that does not adapt to sport-specific cinematographic conventions, broadcast style preferences, or the emotional context and storytelling flow of the game.
[0051] To address these deficiencies, embodiments described herein provide a computer-implemented system and method for automated sports broadcast camera control that employs a multi-component artificial intelligence architecture to transform raw camera feeds from sporting events into professional-quality broadcast output. In some embodiments, the system receives at least one video feed from at least one camera capturing a sporting event, maintains a plurality of adaptation parameters to adapt camera control to a specific type of sporting event, and processes the at least one video feed using the plurality of adaptation parameters to generate object tracking data and game state data. The system then generates a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of output camera control parameters includes at least one of a viewport path, a video feed selection, and a camera movement command. The system applies the camera control parameters to the at least one video feed to generate a video output for broadcasting.
[0052] In some embodiments, the artificial intelligence models encompass one or more machine learning models, such as neural networks, generative models, or sequence prediction models, that have been trained on camera trajectories, game state information, and cinematographic parameters drawn from recordings of professional sports broadcasts produced by skilled human camera operators and directors. By training on historical professional sports broadcasts, the artificial intelligence model learns the statistical distribution of professional camera operations such as the naturalistic movement patterns, anticipatory positioning strategies, compositional preferences, and contextual adaptation behaviors that professional operators exhibit across a range of sporting events and game situations.
[0053] In some embodiments, a configurable set of adaptation parameters collectively tailors the behavior of the broadcasting system for a particular sport. These parameters include, without limitation, detection model selections and confidence thresholds, tracking distance thresholds and initialization delays, viewport calculation parameters (such as zoom ranges, framing margins, and action-response sensitivities), finite state machine configurations with sport-specific states and transition rules, and stylistic parameters covering preferred movement dynamics and pacing characteristics. In practice, the plurality of adaptation parameters may be organized as sport profiles that encapsulate the full configuration for a given sport. Such profiles may be selected automatically by the system upon detecting the specific type of sport from the incoming video feed, or selected manually by an operator.
[0054] In some embodiments, the system architecture integrates a computer vision foundation for scene interpretation with a plurality of specialized artificial intelligence modules, including a generative camera path model for naturalistic camera path synthesis, an action prediction model for anticipatory camera control, a quality assessment network for multi-modal qualitative feed assessment, and a cinematic style model for imposing learned broadcast aesthetics. These modules operate within a unified framework with specific intermodule cooperation mechanisms that maintain real-time performance, sport-specific adaptation, and temporal coherence throughout a broadcast. In some embodiments, the output camera movements and virtual viewport behaviors exhibit qualities characteristic of professional human camera operation, including subtle micro-adjustments, anticipatory positioning, contextually adaptive pacing, and natural variation, as distinguished from the mathematically deterministic, perceptually mechanical movements produced by purely rule-based algorithms.
[0055] In some embodiments, the broadcasting systems and methods disclosed herein may reduce production costs and enable coverage of a wider range of sporting events, including youth, amateur, and lower-tier professional events that would otherwise not be broadcast due to economic constraints in production efforts. These systems can employ wide-angle or panoramic cameras to capture an entire playing field, then extract virtual viewports from the captured imagery to create a virtual pan-tilt-zoom (PTZ) camera effect. Some systems additionally employ multiple physical cameras with automated switching logic.
[0056] FIG. 1 is a network diagram of a network environment of a broadcasting system 100, in accordance with an embodiment. For convenience, the broadcasting system 100 may also be referred to herein as the broadcasting system 100 or the system 100.
[0057] Broadcasting system 100 is interconnected with a plurality of cameras 80, a plurality of viewers 10, and optionally one or more raw footage stream sources 90, by way of a communication network 50. Broadcasting system 100 is configured to generate camera and / or viewport control commands for broadcastquality output using video footage of sporting events provided by cameras 80 and / or other raw video footage stream sources 90.
[0058] Each of cameras 80 is configured to provide raw video footage covering a sporting event to the broadcasting system 100. In some embodiments, the cameras 80 comprise one or more physically articulating cameras, including pan-tilt-zoom (PTZ) cameras. The PTZ cameras receive command signals from the broadcasting system 100 specifying desired positions or accelerations on each pan, tilt, and zoom axis. In some embodiments, the cameras 80 comprise one or more wide-angle or panoramic cameras positioned to capture an entire playing field / court / track / rink / pool or a substantial portion thereof. In such embodiments, the cameras 80 are not physically articulated. Instead, the broadcasting system 100 extracts a virtual viewport from the wide-angle imagery, creating a virtual PTZ effect.
[0059] These camera configurations are not mutually exclusive. The broadcasting system 100 supports hybrid configurations comprising one or more panoramic cameras from which virtual viewports are extractedtogether with one or more PTZ cameras under physical control. The video footage from PTZ cameras may be additionally refined via virtual viewports to improve upon the framing provided by the physical articulation.
[0060] The broadcasting system 100 may additionally or alternatively receive, from a raw video footage stream source 90, pre-recorded or externally sourced video delivered over the network 50 using a supported streaming protocol, including RTSP, RTMP, SRT, or other supported protocols.
[0061] Using the video data from camera(s) 80 and / or raw video footage stream source(s) 90, the broadcasting system 100 generates naturalistic camera paths that define the position, size, and movement of the extracted viewport across successive frames, producing a broadcast output for consumption by the viewer 10.
[0062] Each viewer 10 represents a destination endpoint that receives the video output for broadcasting produced by the broadcasting system. The viewers 10 may include end-user devices such as computers, mobile devices, smart televisions, set-top boxes, or streaming media players that render the broadcast output for viewing by an end user. The viewers 10 may additionally or alternatively include intermediary distribution platforms such as content delivery networks (CDNs), streaming services, or broadcast head-end systems that further distribute the video output to downstream consumers. In embodiments supporting personalized viewing, different viewers 10 may receive different video outputs generated from the same set of video feeds, each with distinct camera control parameters reflecting different viewer preferences as described further below.
[0063] FIG. 2 is a schematic diagram of the broadcasting system 100, in accordance with an embodiment. The broadcasting system 100 includes a video input interface 102, a computer vision engine 104, a game context engine 106, a command generator 108, an output interface 110, and an electronic datastore 112. These components cooperate to process the at least one video feed from the at least one camera 80 capturing a sporting event, generate the plurality of camera control parameters, and apply the camera control parameters to the at least one video feed to generate a video output for broadcasting.
[0064] The video input interface 102 receives the at least one video feed from the cameras 80 and / or from one or more raw video footage streams sources 90 via the communication network 50. The video input interface 102 decodes incoming video streams received using supported streaming protocols including RTSP, RTMP, SRT, or other protocols, and provides decoded video frames to downstream processing components. In some embodiments, the video input interface 102 manages connections with a plurality of cameras 80 simultaneously, multiplexing video feeds from multiple camera sources for concurrent processing. The video input interface 102 thus serves as the ingestion point for all video data entering the broadcasting system 100.
[0065] The computer vision engine 104 processes the decoded video frames received from the video input interface 102 to generate the object tracking data structure and to support generation of the game state data structure. The computer vision engine 104 implements the computer vision foundation upon which theartificial intelligence modules operate, detecting and tracking objects of interest within the captured video and producing structured scene representations that inform all downstream Al processing. The computer vision engine 104 is described in further detail below with reference to FIG. 3A. The computer vision engine 104 outputs the object tracking data structure including data defining the plurality of tracked objects within the at least one video feed, where each tracked object is associated with a persistent identity across consecutive video frames.
[0066] The game context engine 106 receives information from the computer vision engine 104 and generates the game state data structure including data defining a state of play of the sporting event. The game context engine 106 categorizes the current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest. In some embodiments, the game context engine 106 implements a finite state machine with sport-specific states and transition rules that govern viewport behavior. The finite state machine maintained by the game context engine 106 employs hysteresis through configurable window sizes and minimum state counts to prevent rapid oscillation between states when conditions are marginal. The game context engine 106 further maintains and applies the plurality of adaptation parameters that adapt the behavior of the broadcasting system 100 to the specific type of sport of the sporting event. By maintaining the plurality of adaptation parameters, in some embodiments, the game context engine 106 enables the system to adapt detection, tracking, viewport calculation, and stylistic behavior based on the sport being broadcast.
[0067] The plurality of adaptation parameters maintained by the game context engine 106 collectively tailors system behavior for the particular sport being broadcast. These parameters encompass detection model selections and confidence thresholds, tracking distance thresholds and initialization delays, viewport calculation parameters such as zoom ranges, framing margins, and action-response sensitivities, finite state machine configurations with sport-specific states and transition rules, and stylistic parameters covering preferred movement dynamics and pacing characteristics. In practice, these adaptation parameters may be organized as sport profiles that encapsulate the full configuration for a given sport. Such profiles may be selected automatically by the system upon detecting the specific type of sport from the incoming video feed or selected manually by an operator.
[0068] In some embodiments, the game context engine 106 supports detecting the specific type of sport upon processing the at least one video feed, and selecting the plurality of adaptation parameters based on the specific type of sport detected. In some embodiments, this dynamic sport assignment capability enables deployment configurations where a single venue hosts multiple sports without requiring manual reconfiguration. The game context engine 106 determines the sport type at runtime through visual analysis of the incoming video feed, for example, by analyzing the shape and markings of the playing surface, the number and spatial distribution of detected players, and the types of detected equipment, and selects the corresponding sport profile containing the appropriate plurality of adaptation parameters. Once the specifictype of sport has been detected, the game context engine 106 loads the corresponding finite state machine with sport-specific states and transition rules that govern viewport behavior for the identified sport.
[0069] The command generator 108 receives the game state data structure from the game context engine 106 and the object tracking data structure from the computer vision engine 104, and generates the plurality of camera control parameters by providing the game state data structure and the object tracking data structure to one of a plurality of artificial intelligence models stored in the electronic datastore 112 and trained on video data of historical professional sports broadcasts. The command generator 108 thus implements the core technical contribution of the system: transforming structured scene understanding, represented by the object tracking data structure and the game state data structure, into camera control decisions that exhibit the naturalistic movement, anticipatory positioning, aesthetic composition, and stylistic consistency learned from professional broadcast footage. The command generator 108 is configured to generate the plurality of camera control parameters including at least one of a viewport path, a video feed selection, and a camera movement command. In embodiments where the plurality of camera control parameters includes a camera movement path generated using a generative camera path model, the command generator 108 invokes the generative camera path model as described further below with reference to FIG. 5.
[0070] The plurality of camera control parameters generated by the command generator 108 governs the behavior of at least one camera or virtual viewport during the broadcast. These parameters include at least one of: a viewport path, which defines a sequence of viewport positions including center position and zoom level across successive video frames for extracting a virtual viewport from a broader video frame (e.g., a wide-angle or panoramic video feed); a video feed selection, which identifies a preferred camera feed from among a plurality of available camera feeds based on qualitative assessment; and a camera movement command, which specifies desired positions, velocities, or accelerations for one or more axes of a physically articulating camera, including pan-tilt-zoom (PTZ) cameras. In certain embodiments, the plurality of camera control parameters further includes a camera movement path generated using a generative camera path model. A viewport path refers specifically to the temporal sequence of viewport positions, each defined by at least a horizontal center coordinate (x), a vertical center coordinate (y), and a zoom level, that collectively trace the trajectory of the virtual camera across the duration of a broadcast segment.
[0071] The various components within the broadcasting system 100 may implement a plurality of Al models stored in electronic datastore 112, which is illustrated further in FIG. 4 below.
[0072] The output interface 110 receives the plurality of camera control parameters from the command generator 108 and applies the camera control parameters to the at least one video feed to generate a video output for broadcasting. In embodiments where the plurality of camera control parameters includes a viewport path, the output interface 110 extracts a virtual viewport from the wide-angle imagery captured by the cameras 80 in accordance with the viewport path, rendering a broadcast-quality video frame at eachtime step by cropping and scaling the region of the source frame defined by the viewport position and zoom level specified in the viewport path. In embodiments where the plurality of camera control parameters includes a camera movement command, the output interface 110 issues the camera movement command to the at least one camera 80, causing a physically articulating camera such as a PTZ camera to move to the position specified by the camera movement command. In embodiments where the plurality of camera control parameters includes a video feed selection, the output interface 110 selects the identified video feed from among the plurality of available camera feeds for inclusion in the video output for broadcasting. The output interface 110 encodes the resulting video output and transmits it via the communication network 50 for consumption by the viewers 10.
[0073] Electronic datastore 112 includes a non-transitory computer-readable storage medium that stores data and machine-interpretable instructions used by various components of the broadcasting system 100. The electronic datastore 112 stores, for example, the plurality of artificial intelligence models disclosed herein, including, without limitation, the action prediction model 402, the generative camera path model 404, the cinematic style model 406, and the quality assessment network 408, and their associated trained model weights; sport-specific profiles encapsulating the plurality of adaptation parameters for each supported sport, including detection model configurations, tracking parameters, finite state machine configurations with sportspecific states and transition rules, viewport calculation parameters, and stylistic parameters; training data derived from video data of historical professional sports broadcasts; object detection models optimized for sports environments; derived style representations extracted from professional broadcast footage; and calibration data and configuration settings for the video input interface 102 and output interface 110. The electronic datastore 112 may be implemented as one or more of local solid-state storage, network-attached storage, or cloud-based storage accessible via the communication network 50. In the depicted embodiment, at least part of electronic datastore 112 is organized as a database. Such database may be a conventional relational database such as a SQL-based database, an object-oriented database, a NoSQL database, or the like.
[0074] In some embodiments, the video input interface 102, the computer vision engine 104, the game context engine 106, the command generator 108, and the output interface 110 may be implemented using a suitable combination of software and hardware components. Software components may be implemented using conventional programming languages such as Java, J#, C, C++, C#, Perl, Visual Basic, Ruby, Scala, etc. These software components may be in the form of one or more executable programs, scripts, routines, statically / dynamically linkable libraries, or the like.
[0075] FIG. 3A is a schematic diagram of the computer vision engine 104, in accordance with an embodiment. As depicted in FIG. 3A, the computer vision engine 104 includes an object detector 302, an object tracker 304, a detection clustering module 306, and a game state classifier 308. These components operate in a pipelined architecture, processing raw video frames through sequential stages of detection,tracking, clustering, and state classification to produce the object tracking data structure and to support generation of the game state data structure.
[0076] The object detector 302 receives decoded video frames and identifies and localizes objects of interest within each video frame. In some embodiments, the object detector 302 employs one or more trained object detection models that are optimized for the specific visual characteristics of sports environments, including handling of uniform-wearing athletes, sport-specific equipment, variable lighting conditions, and partial occlusions common in competitive play. The object detector 302 processes the at least one video feed to detect at least one of players, officials, equipment, or sport-specific objects within a video frame of the at least one video feed. In some embodiments, the object detector 302 operates on batched frames, processing multiple frames simultaneously, to maximize throughput on GPU hardware. For each detected object, the object detector 302 produces a bounding box defining the spatial extent of the object within the frame, a class label identifying the type of object (e.g., player, referee, ball, puck, goal post), and a confidence score indicating the reliability of the detection. The object detector 302 may further constrain detection regions using sport-specific masks derived from the plurality of adaptation parameters, restricting processing to the playing surface area and eliminating false detections from spectator areas, scoreboards, and other non-relevant regions.
[0077] The object tracker 304 receives detection results from the object detector 302 and maintains identity persistence for detected objects across consecutive video frames. The object tracker 304 associates new detections with existing tracked objects using distance-based metrics and assignment algorithms, creating continuous trajectories for each tracked entity. The object tracker 304 thus generates and maintains the object tracking data structure including data defining the plurality of tracked objects within the at least one video feed. In some embodiments, the object tracking data structure maintained by the object tracker 304 includes position, velocity, and trajectory information for at least one of the plurality of tracked objects. The position information comprises the spatial coordinates of each tracked object within the video frame. The velocity information comprises the rate and direction of movement derived from positional changes of the tracked object across consecutive frames. The trajectory information comprises the projected future path based on historical positions and velocities of the tracked object.
[0078] The object tracking data structure maintained by the object tracker 304 thus stores and provides access to identity-persistent associations of detected objects across consecutive video frames, enabling downstream components to reason about continuous object motion rather than isolated per-frame detections. In certain embodiments, the position information within the object tracking data structure comprises spatial coordinates of each tracked object expressed as normalized or pixel coordinates within the video frame. The velocity information comprises the rate and direction of each tracked object's movement, derived from positional changes across consecutive frames. The trajectory information comprises a projected future path for each tracked object, computed from its historical positions andvelocities. These three quantities, position, velocity, and trajectory, give the artificial intelligence model a temporally rich representation of on-field activity that supports both reactive framing and anticipatory camera positioning.
[0079] In some embodiments, for primary game objects such as players and the puck / ball, the object tracker 304 employs multi-object tracking frameworks with configurable distance thresholds and initialization delays. These parameters form part of the plurality of adaptation parameters that are configured per sport. For smaller, faster-moving objects such as pucks or balls, the object tracker 304 may employ specialized tracking approaches including background subtraction, contour detection, and patch-based classification to achieve reliable detection and tracking under challenging visibility conditions. The object tracker 304 provides interpolated position estimates during frames where detection is temporarily lost, maintaining trajectory continuity in the object tracking data structure. This interpolation ensures that the plurality of tracked objects in the object tracking data structure remains complete even during momentary occlusions or detection failures.
[0080] The detection clustering module 306 receives the object tracking data structure from the object tracker 304 and processes tracked object positions through a density-based spatial clustering algorithm to identify the primary region of action within the playing field. The detection clustering module 306 groups nearby players into spatial clusters, then selects the cluster most likely to represent the current center of action. Cluster selection by the detection clustering module 306 incorporates multiple factors: temporal consistency with the previously selected cluster (measured by distance between cluster centroids across frames), position within sport-specific zones of interest (such as goal areas, penalty areas, or end zones), and the proportion of total tracked objects contained within the cluster. This multi-factor selection provides robust action localization that avoids erratic jumping between different groups of players and naturally gravitates toward areas of concentrated activity near scoring zones. The detection clustering module 306 computes a viewport center from the selected cluster as a weighted combination of tracked object positions, with weighting factors that reflect each object's relevance to the current action.
[0081] In some embodiments, the detection clustering module 306 implements Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN) with temporal consistency weighting to distinguish between multiple simultaneous areas of activity. For sports with a primary game object (ball, puck), the detection clustering module 306 applies elevated weight to the game object in the viewport center calculation, with the game object's influence decaying over time when it is not actively detected, to prevent erratic viewport behavior. A zoom calculator within the detection clustering module 306 determines the viewport zoom level based on the spatial extent of tracked objects within the selected cluster, padded by configurable margins that vary based on the current game state as provided by the game state classifier 308. The raw viewport, represented as a normalized center position and zoom level, is then passed from the detection clustering module 306 to the command generator 108 for further refinement.
[0082] The game state classifier 308 classifies the current state of play of the sporting event to generate the game state data structure including data defining a state of play of the sporting event. The game state classifier 308 analyzes spatial distributions of tracked objects from the object tracking data structure, their positions relative to sport-specific zones of interest, and the velocity of the action centroid computed by the detection clustering module 306. The game state classifier 308 categorizes the current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest. Game state categories output by the game state classifier 308 may include normal play, goal-area action, fast-action transitions, and sport-specific states. The classified game state produced by the game state classifier 308 influences downstream camera control; for example, a goal-area action classification may trigger tighter zoom to focus on a scoring opportunity, while a fast-action transition classification may adjust zoom and movement parameters to maintain broader coverage during rapid play development.
[0083] The game state data structure produced by the game state classifier 308 stores and provides access to data defining the current state of play of the sporting event, enabling all downstream Al modules to condition their behavior on the phase of the game. The game state classifier 308 categorizes the current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest. Sport-specific zones of interest are predefined or learned regions of the playing surface that carry particular significance for the sport being played, for example, goal areas, penalty areas, end zones, free-throw lanes, or face-off circles, where the presence, absence, or density of tracked objects indicates the current phase of play. By grounding game state classification in these zones, the system produces state labels that are semantically meaningful for each sport rather than relying on sport-agnostic heuristics.
[0084] In some embodiments, the game state classifier 308 implements a finite state machine with sportspecific states and transition rules that govern viewport behavior. The finite state machine within the game state classifier 308 employs hysteresis through configurable window sizes (the number of recent frames examined) and minimum state counts (the number of frames within the window that must satisfy the transition condition), preventing rapid oscillation between states when conditions are marginal. Transitions within the finite state machine are evaluated in priority order, with the first matching rule triggering the state change.
[0085] For example, for an ice hockey broadcast, the finite state machine within the game state classifier 308 defines four primary states: an idle state for periods when few players are detected on the ice (intermissions, extended stoppages) that displays a wide field-of-view; an active state for live gameplay that employs the full detection-tracking-clustering-viewport pipeline (which may further sub-classify the active state based on gameplay intensity and timeline); a practice state for pre-game warmup detected by players spread across both halves of the ice simultaneously, warranting a sinusoidal panning movement that slowly scans the playing surface; and a hockey-specific zamboni state triggered by detection of ice maintenance equipment that follows the detected equipment. For a football broadcast, the finite state machine may defineonly idle and active states, with transition rules based on player detection counts and field zone occupancy. The sport-specific states and transition rules of the finite state machine are defined declaratively through sport profiles that form part of the plurality of adaptation parameters.
[0086] FIG. 3B is a schematic diagram of an example detection clustering and action localization pipeline 300 as may be implemented by the detection clustering module 306, in accordance with an embodiment. As depicted, the detection clustering and action localization pipeline 300 receives tracked object detections 352 from the object tracker 304, processes them through a density-based spatial clustering algorithm 360, and produces a weighted centroid 390 that defines where the camera should be directed. The detection clustering and action localization pipeline 300 operates on a per-frame basis, processing the spatial positions of all tracked objects to identify the primary region of action within the playing field.
[0087] The tracked object detections 352 represent the spatial positions of all detected and tracked players within the current video frame, as maintained in the object tracking data structure by the object tracker 304. The tracked object detections 352 appear as scattered positions across the playing field at this frame, reflecting the distribution of players and equipment during the current moment of play. The tracked object detections 352 provide the input data from which the detection clustering and action localization pipeline 300 identifies where the primary action is occurring.
[0088] The density-based spatial clustering algorithm 360 groups the tracked object detections 352 into identified clusters 362 based on proximity. In some embodiments, the density-based spatial clustering algorithm 360 implements Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN), which identifies clusters of varying density without requiring a predetermined number of clusters. The density-based spatial clustering algorithm 360 produces identified clusters 362, where each cluster represents a group of players and / or equipment in spatial proximity. As illustrative examples, the identified clusters 362 may include a Cluster A containing a large number of players (for example, 12 players), a Cluster B containing a moderate number (for example, 5 players), and a Cluster C containing a small number (for example, 3 players). The sizes and compositions of the identified clusters 362 vary dynamically as players move during the course of play.
[0089] The detection clustering and action localization pipeline 300 selects among the identified clusters 362 using cluster selection factors 372. The cluster selection factors 372 incorporate multiple weighted criteria: temporal consistency, measured by the distance between each cluster's centroid and the previous frame's selected centroid 374, where a lower distance yields a higher score; zone weighting, which evaluates each cluster's position within sport-specific zones of interest, where proximity to areas such as goal areas or penalty areas yields a higher score; cluster size, measured as the proportion of the total tracked object detections 352 contained within each cluster, where a larger cluster yields a higher score; and distance from the previous frame's selected centroid, which provides an additional temporal stability factor. The cluster selection factors 372 are combined to produce a composite score for each of the identified clusters 362.
[0090] A cluster selection module 370 applies the composite scores computed from the cluster selection factors 372 to select the cluster most likely to represent the current center of action. The cluster selection module 370 identifies the cluster with the highest composite score among the identified clusters 362. By incorporating temporal consistency through the distance to the previous frame's selected centroid, in some embodiments, the cluster selection module 370 avoids erratic jumping between different groups of players across consecutive frames. By incorporating zone weighting with respect to sport-specific zones of interest, in some embodiments, the cluster selection module 370 naturally gravitates toward areas of concentrated activity near scoring zones, where the action is most relevant to the broadcast viewer.
[0091] From the selected cluster, a weighted centroid 390 is computed. The weighted centroid 390 represents the center of mass of the tracked object detections 352 within the selected cluster, with weighting factors that reflect each player's relevance to the current action. In sports with a primary game object such as a ball or puck, the primary game object receives elevated weight in the weighted centroid 390 calculation, with its influence decaying over time when the object is not actively detected. The weighted centroid 390 provides a stable, action-representative position that accounts for the spatial distribution of all relevant players within the primary action region.
[0092] The weighted centroid 390 is the output of the detection clustering and action localization pipeline 300. The weighted centroid 390 represents the position, expressed in normalized coordinates within the video frame, at which the viewport should be centered to capture the primary action. The weighted centroid 390 is provided to the viewport calculation stage 1150 within the real-time processing pipeline 1100 (described with reference to FIG. 11 A) and forms the basis of the raw viewport value 1302 that enters the multi-stage viewport smoothing pipeline 1300 (described with reference to FIG. 13) or the raw viewport path 502 that enters the generative camera path generation pipeline 500 (described with reference to FIG. 5).The weighted centroid 390 thus connects the spatial analysis performed by the detection clustering and action localization pipeline 300 to the downstream camera path generation and smoothing components that produce the final camera control parameters.
[0093] In some embodiments, the detection clustering and action localization pipeline 300 further distinguishes between multiple simultaneous areas of activity. During game situations where two or more distinct clusters of players are engaged in separate activities, for example, a contested play at one end of the field while players regroup at the other end, the cluster selection factors 372 facilitate evaluation of identified clusters 362 and selection of the cluster that best represents the current primary action. The temporal consistency factor within the cluster selection factors 372 provides inertia that prevents the weighted centroid 390 from jumping between distant clusters when the action shifts gradually, while still allowing the weighted centroid 390 to transition to a new cluster when the primary action clearly relocates, for example, following a turnover or a long pass. In this way, robust action localization may be produced that enables the broadcasting system 100 to track the flow of play without erratic viewport behavior.
[0094] FIG. 4 is a schematic diagram of an example Al engine 400 as implemented by the broadcasting system 100, in accordance with an embodiment. As depicted in FIG. 4, the Al engine 400 includes a plurality of trained Al models, including an action prediction model 402, a generative camera path model 404, a cinematic style model 406, and a quality assessment network 408. One or more of the foregoing models may be trained on video data of historical professional sports broadcasts that provide the plurality of camera control parameters. The four components of the Al engine 400 may operate independently or in combination depending on the system configuration and available computational resources.
[0095] The action prediction model 402 implements a predictive methodology that anticipates future game action to enable proactive, anticipatory camera control, eliminating the characteristic lag of reactive automated systems. The action prediction model 402 receives the game state data structure from the game context engine 106 and the object tracking data structure from the computer vision engine 104, and generates predictions of future action center positions, predicted action intensity, and confidence values across multiple time horizons. The action prediction model 402 is trained on sequences of game states extracted from professional broadcast footage alongside the corresponding camera movements made by professional operators, learning to associate patterns in game state evolution with likely future action developments. The predictions generated by the action prediction model 402 are provided to the generative camera path model 404 as conditioning inputs, to the cinematic style model 406 for intensity modulation, and to the quality assessment network 408 for predictive feed evaluation.
[0096] In some embodiments, the action prediction model 402 generates predictions across multiple time horizons simultaneously. In one example, immediate predictions within a sub-second horizon provide framelevel adjustments for the current viewport calculation. In another example, tactical predictions within one to five seconds enable anticipatory camera movement that positions the viewport optimally as action develops. In another example, strategic predictions beyond five seconds provide narrative-level camera planning for set pieces, stoppages, or formation changes where the camera can be repositioned during pauses in play. Each prediction may be accompanied by a confidence estimate that reflects the model's assessment of prediction reliability. Average prediction confidence tends to decrease with increasing time horizon, reflecting the inherent uncertainty in longer-range prediction. The action prediction model 402 employs an uncertainty-aware camera planning mechanism that uses these confidence estimates to vary the degree of anticipatory camera displacement. When predictions are high-confidence, for example, when a set piece formation strongly indicates the likely area of the next action, the action prediction model 402 signals decisive anticipatory positioning. When predictions are low-confidence, for example, during chaotic play with multiple possible developments, the action prediction model 402 signals wider framing that preserves coverage of multiple possible outcomes.
[0097] In some embodiments, the action prediction model 402 employs a transformer architecture with self-attention over game state sequences. In another embodiment, the action prediction model 402 employsa graph neural network (GNN) representing the game state as a dynamic graph, with players as nodes and spatial-temporal relationships as edges, predicting future action through message-passing operations. In another embodiment, the action prediction model 402 employs a selective state space model (SSM), such as Mamba, with input-dependent state transitions and subquadratic complexity relative to sequence length. In another embodiment, the action prediction model 402 employs temporal convolutional networks (TCN) with dilated causal convolutions. In another embodiment, the action prediction model 402 employs recurrent architectures including Long Short-Term Memory (LSTM) or Gated Recurrent Unit (GRU) variants for sequential game state processing.
[0098] In some embodiments, the generative camera path model 404 implements the generative camera path generation pipeline 500 described further below with reference to FIG. 5. As depicted, the generative camera path model 404 receives the raw viewport path 502 from the computer vision engine 104 and produces the naturalistic camera movement path 532, conditioned on the conditioning inputs 510 including the predictions from the action prediction model 402. In embodiments where the action prediction model 402 provides high-confidence predictions of a predicted future action center position, the generative camera path model 404 generates camera movement paths that incorporate pronounced anticipatory displacement toward the predicted future action center position. In embodiments where the action prediction model 402 provides low-confidence predictions, the generative camera path model 404 produces wider framing without commitment to a specific outcome. This coupling between the action prediction model 402 and the generative camera path model 404 is trained jointly, such that the action prediction model 402 is optimized to produce predictions that are useful for camera path generation by the generative camera path model 404, not merely predictions that maximize prediction accuracy in isolation. Gradients flow through both models during joint training, so the action prediction model 402 may learn to produce spatially precise predictions even at the cost of occasional larger errors, because the generative camera path model 404 benefits more from a precise prediction it can blend away from than a consistently vague one.
[0099] The cinematic style model 406 implements a cinematic style application methodology that causes the automated camera control to exhibit stylistic characteristics derived from analysis of professional broadcast footage. The cinematic style model 406 derives a style representation from professional broadcast recordings associated with a target style, the style representation capturing game-state-conditional distributions over camera movement parameters including at least pan velocity, tilt velocity, zoom rate, and viewport acceleration. The cinematic style model 406 modifies camera control parameters produced by the generative camera path model 404, preserving the framing targets determined by the object tracking data structure while modifying movement dynamics, zoom behavior, and pacing to conform to the style representation.
[0100] The cinematic style model 406 further receives prediction outputs from the action prediction model 402 and varies style intensity. For example, high-confidence predictions of imminent scoring opportunitiestrigger tighter framing and faster movement; low-confidence predictions trigger baseline styling and wider framing. The cinematic style model 406 is described in further detail with reference to FIG. 9.
[0101] The quality assessment network 408 implements a multi-modal quality assessment methodology that evaluates potential viewports not merely for technical correctness but for aesthetic quality, storytelling value, and adherence to sport-specific broadcasting conventions, applying learned assessment criteria derived from analysis of professional director decisions. The quality assessment network 408 receives temporal action predictions from the action prediction model 402 and evaluates feed quality over a future time window (for example, two to five seconds), selecting feeds that will capture predicted action development rather than optimizing only for the current instant. In embodiments where the plurality of camera control parameters includes a video feed selection, the quality assessment network 408 generates the video feed selection component of the plurality of camera control parameters. The quality assessment network 408 is described in further detail with reference to FIG. 8.
[0102] When modules within the Al engine 400 produce conflicting camera control recommendations, a camera control module within the command generator 108 resolves the conflict by a priority order of: (1) visibility of primary action, (2) anticipatory positioning, (3) stylistic treatment, (4) feed selection. This priority resolution ensures that the most important aspect of broadcast quality ( / .e., maintaining the viewer's ability to see the current action) is not sacrificed for aesthetic or stylistic considerations.
[0103] The Al engine 400 further supports adaptive compute management: the pipeline monitors per-module latency against a real-time budget (for example, 100 to 200 milliseconds). When the budget is exceeded, modules within the Al engine 400 are shed in reverse priority: the cinematic style model 406 first, then the quality assessment network 408, then the generative camera path model 404, then the action prediction model 402. In a fully degraded mode, a deterministic smoothing pipeline maintains continuous broadcast output without invoking any Al modules. When computational capacity recovers, modules reengage with a blending period of 0.5 to 2 seconds to prevent a visible discontinuity in the video output for broadcasting.
[0104] In some embodiments, the Al engine 400 implements an adaptive learning methodology that refines one or more of the action prediction model 402, the generative camera path model 404, the cinematic style model 406, and the quality assessment network 408 over time based on operational deployment data. In some embodiments, the adaptive learning methodology enables the Al engine 400 to improve its performance incrementally without requiring a full retraining cycle, allowing the broadcasting system 100 to adapt to venue-specific conditions, evolving broadcast standards, and newly encountered sport configurations.
[0105] The adaptive learning methodology may perform incremental model refinement by collecting operational data during live broadcast deployments, including the camera control parameters generated by the Al engine 400, the corresponding video output produced by the output interface 110, and any operatoroverride inputs received during the broadcast. The collected operational data is used to update the model weights of the action prediction model 402, the generative camera path model 404, the cinematic style model 406, or the quality assessment network 408 through incremental training updates that do not require retraining the model from scratch. In this way, the Al engine 400 progressively reduces prediction errors and improves broadcast quality across successive deployments.
[0106] In some embodiments, the adaptive learning methodology includes an automated quality assessment component that compares the video output generated by the broadcasting system 100 against professional broadcast footage of the same or similar sporting events. The automated quality assessment component computes one or more quality metrics, such as viewport path smoothness, framing accuracy relative to the action center, zoom responsiveness to game state transitions, and stylistic consistency with the target cinematic style. The computed quality metrics are used to identify areas where the Al engine 400 underperforms relative to human camera operators, and the identified areas are prioritized for incremental model refinement.
[0107] In an embodiment, the adaptive learning methodology supports sport-specific model specialization, in which separate fine-tuned model variants are maintained for each sport type, and venue-specific adaptation, in which model parameters are further adjusted to account for venue-specific characteristics such as camera mounting positions, lighting conditions, field dimensions, and typical audience viewing angles. In some embodiments, sport-specific model specialization enables the generative camera path model 404 to produce camera movement paths that more closely match the pacing and shot composition conventions particular to each sport, while venue-specific adaptation reduces the calibration effort required when the broadcasting system 100 is deployed at a new venue for the first time.
[0108] FIG. 5 is a schematic diagram of an example generative camera path generation pipeline 500, in accordance with an embodiment. FIG.5 corresponds to an embodiment of the generative camera path model 404 described above with reference to FIG.4, wherein generating the plurality of camera control parameters includes generating a camera movement path using a generative camera path model. In some embodiments, the generative camera path generation pipeline 500 produces smooth, naturalistic camera movements for virtual PTZ systems and physical camera control in sports broadcasting by learning the statistical distribution of professional camera operation from real broadcast footage. Unlike deterministic multi-stage smoothing approaches that apply fixed mathematical transformations to raw viewport calculations, in some embodiments, the generative camera path generation pipeline 500 generates paths that emulate the subtle, contextually-adaptive qualities of human camera operators.
[0109] The generative camera path generation pipeline 500 receives a raw viewport path 502 as input. The raw viewport path 502 represents a sequence of target viewport positions (x, y, zoom) derived from the object tracking data structure and the game state data structure produced by the computer vision engine 104. The raw viewport path 502 may be a raw sequence of viewport positions output directly from thedetection clustering module 306 or a path preprocessed by a multi-stage smoothing pipeline. The raw viewport path 502 is treated as the starting point for the generative camera path model 404, which transforms the raw viewport path 502 into a naturalistic camera movement path 532. The raw viewport path 502 thus represents what should be shown, while the generative camera path model 404 determines how the camera should move to show it.
[0110] The generative camera path generation pipeline 500 includes conditioning inputs 510 that are processed by a conditioning encoder 520. The conditioning inputs 510 include at least sport type, current game state, action type, intensity, and player positions. The conditioning encoder 520 encodes the conditioning inputs 510 into a conditioning vector that guides the generative camera path model 404 toward camera movements appropriate for the specific game situation. For example, the conditioning inputs 510 cause the generative camera path model 404 to generate different movement characteristics for a developing fast break versus a free throw setup in basketball, or for a penalty corner versus open play in hockey, reflecting the distinct camera work conventions that professional operators apply in each situation. The conditioning inputs 510 further include action predictions received from the action prediction model 402 (described above with reference to FIG. 4), enabling the generative camera path model 404 to produce anticipatory camera movements that position the viewport ahead of predicted future action.
[0111] The generative camera path model 404, as implemented within the generative camera path generation pipeline 500, is trained on camera trajectories extracted from professional sports broadcast footage, that is, trained on video data of historical professional sports broadcasts. During an offline training phase, camera trajectories are extracted from a corpus of professional sports broadcast footage through video analysis that reconstructs the viewport path that a camera operator or director created during the original broadcast. These extracted trajectories serve as the training data for the generative camera path model 404, representing the target distribution of naturalistic camera movements. The generative camera path model 404 is trained to learn this distribution, producing camera movement paths drawn from the learned distribution of professional camera trajectories when conditioned on the current game state via the conditioning encoder 520.
[0112] During a real-time inference phase, the generative camera path model 404 receives the raw viewport path 502 and, conditioned on the conditioning inputs 510 processed by the conditioning encoder 520, transforms the raw viewport path 502 into the naturalistic camera movement path 532. The computational budget applied by the generative camera path model 404 during inference is configurable, allowing the system to trade off between the degree of path refinement and computational latency. The generative camera path model 404 thus implements a hybrid pipeline that combines the deterministic outputs of the computer vision engine 104, which provide reliable object detection and tracking that precisely identify what should be shown, with the learned generative capabilities that determine how the camera should move to show it. This hybrid approach constrains the generative search space to physically plausible andcontextually relevant trajectories, ensuring that the generative camera path model 404 enhances rather than overrides the fundamentally correct targeting provided by the detection pipeline.
[0113] The generative camera path generation pipeline 500 is trained using a training criterion that simultaneously optimizes the generative camera path model 404 for multiple quality criteria. The training criterion optimizes the generative camera path model 404 for: movement smoothness that avoids perceptible jerkiness in the naturalistic camera movement path 532; continuous visibility of the primary action within the generated viewport path, ensuring that the plurality of tracked objects of interest remain within the viewport; compositional quality measured against the training corpus, including rule-of-thirds positioning, appropriate headroom, and balanced framing; and conformance to sport-specific cinematographic conventions identified in the training data, including characteristic zoom behaviors, panning speeds, and directional preferences associated with each sport. The training criterion thus ensures that the generative camera path model 404 produces camera movement paths that are not merely smooth but that exhibit the full range of qualities characteristic of professional broadcast camera operation.
[0114] The generative camera path generation pipeline 500 further includes a temporal consistency enforcement module 530 that ensures coherence across multiple consecutively generated path segments. Because the generative camera path model 404 generates finite-length path segments, the temporal consistency enforcement module 530 ensures that the beginning of each new path segment aligns smoothly with the end of the previous path segment, preventing perceptible discontinuities (e.g., sudden viewport velocity changes) at segment boundaries. The temporal consistency enforcement module 530 achieves consistency through overlap-and-blend regions where consecutive segments are blended, and through the inclusion of the terminal state of the previous segment 504. The temporal consistency enforcement module 530 thus maintains temporally coherent and perceptually consistent camera behavior across multiple consecutive video frames throughout the duration of a broadcast, which may span numerous segments of generated camera / viewport paths.
[0115] The temporal consistency enforcement module 530 is one mechanism by which the generative camera path generation pipeline 500 achieves temporal coherence, but temporal coherence is also maintained at other levels of the architecture, including the hysteresis-based state transitions in the game state classifier 308 and the overlap-and-blend regions between consecutive path segments. Temporal coherence refers to maintaining smooth, continuous, and perceptually consistent camera behavior across multiple consecutive video frames, avoiding abrupt discontinuities, jarring transitions, or inconsistent stylistic treatment that would be perceptible to a viewer.
[0116] The output of the generative camera path generation pipeline 500 is the naturalistic camera movement path 532. The naturalistic camera movement path 532 exhibits qualities including subtle anticipatory positioning, natural pacing variation, contextually appropriate movement dynamics, and humanlike micro-adjustments, all learned from the video data of historical professional sports broadcasts used totrain the generative camera path model 404. The naturalistic camera movement path 532 forms part of the plurality of camera control parameters generated by the command generator 108 and is provided to the output interface 110 for application to the at least one video feed.
[0117] The term "naturalistic" as used throughout this specification describes camera movements and behaviors that exhibit qualities characteristic of professional human camera operation, including subtle micro-adjustments, anticipatory positioning, contextually adaptive pacing, and natural variation. Naturalistic camera movement is distinguished from the mathematically deterministic, perceptually mechanical movements produced by rule-based smoothing algorithms, which trained viewers can immediately recognize as automated. The naturalistic camera movement path 532 output by the generative camera path generation pipeline 500 embodies these qualities because the generative camera path model 404 is trained on the video data of historical professional sports broadcasts, thus avoiding programming camera paths based on deterministic rules.
[0118] In some embodiments, the generative camera path model 404 is a denoising diffusion probabilistic model that iteratively refines noise-corrupted viewport paths through a reverse diffusion process, with the number of diffusion steps at inference time being adjustable to trade off between path refinement and computational latency. In another embodiment, the generative camera path model 404 is a flow matching model that defines a continuous vector field transporting an initial path distribution toward the target distribution of professional camera trajectories, generating paths by integrating the velocity field in a single forward pass to reduce inference latency.
[0119] In some embodiments, the generative camera path model 404 is an autoregressive sequence model that generates viewport positions one step at a time, each conditioned on preceding positions and the current conditioning vector from the conditioning encoder 520. In further embodiments, the generative camera path model 404 is implemented as a generative adversarial network (GAN) with a generator producing trajectories and a discriminator distinguishing generated from professional trajectories, a variational autoencoder (VAE) encoding movement styles in a latent space and decoding conditioned on game state, a consistency model providing single-step distillation of diffusion for latency-constrained deployments, or an energy-based model estimating score functions of the trajectory distribution. Regardless of the specific architecture used for the generative camera path model 404, the hybrid pipeline is preserved: the computer vision engine 104 identifies what to show; the generative camera path model 404 determines how the camera moves to show it.
[0120] In some embodiments, the generative camera path generation pipeline 500 further comprises a multi-resolution temporal path generation approach that operates the generative camera path model 404 at multiple temporal scales. A macro-scale generation produces broad camera movement trajectories spanning multiple seconds, capturing the narrative rhythm and pacing characteristic of professional broadcasts. A micro-scale generation produces fine-grained frame-to-frame adjustments including subtle anticipatorymovements, natural micro-corrections, and human-like positional drift. A scale integration mechanism combines macro and micro scale outputs into a unified viewport path that exhibits both strategic narrative pacing and naturalistic moment-to-moment variation. This multi-resolution approach enables the naturalistic camera movement path 532 to exhibit the full temporal range of professional camera operation, from broad strategic positioning decisions down to the imperceptible micro-adjustments that professional operators make instinctively.
[0121] In some embodiments, the generative camera path generation pipeline 500 further includes a perceptual quality objective that optimizes the naturalistic camera movement path 532 for human-perceived quality of camera movement rather than purely geometric smoothness metrics. The perceptual quality objective is trained on human preference data from professional broadcast evaluations. A reward model is trained to predict human preferences between pairs of camera trajectories, and the generative camera path model 404 is optimized using the reward model as a training signal, generating trajectories and updating the model to increase expected reward. This preference-based optimization enables progressive refinement toward qualities, such as narrative rhythm, emotional resonance, and contextual appropriateness, that human evaluators perceive but that resist formulation as differentiable objectives.
[0122] FIG. 6 is a schematic diagram of an example multi-module cooperation architecture 600, in accordance with an embodiment. The multi-module cooperation architecture 600 illustrates the information flow among the four Al modules of the Al engine 400 and a camera control module 640 that integrates the outputs of all four modules into a unified set of camera control parameters. The individual Al modules as illustrated in FIG. 4 interact during both offline training and real-time broadcast operation. In some embodiments, the multi-module cooperation architecture 600 further encompasses a joint training subsystem, confidence-modulated viewport behavior, and a priority resolution scheme, each described in detail below.
[0123] In some embodiments, the broadcasting system 100 is configured to operate in a multi-camera mode in which the system 100 receives video feeds from a plurality of cameras 80 positioned at different locations around the sporting venue, and the camera control module 640 performs automated shot selection among the plurality of cameras 80. The camera control module 640 determines, for each time interval, which of the plurality of cameras 80 should serve as the active broadcast feed based on the game state data structure generated by the game state classifier 308, the confidence value generated by the action prediction model 402, and the quality scores produced by the quality assessment network 408 for each available feed. The camera control module 640 selects the video feed that best captures the current or anticipated action while maintaining visual coherence for the viewer.
[0124] In some embodiments, the multi-module cooperation architecture 600 includes a joint training subsystem 620. The joint training subsystem 620 operates during an offline training phase and establishes the coupling between the action prediction model 402 and the generative camera path model 404. In thejoint training subsystem 620, the action prediction model 402 and the generative camera path model 404 are each first pre-trained independently: the action prediction model 402 is pre-trained to predict future game state from past game state sequences, and the generative camera path model 404 is pre-trained to produce camera trajectories conditioned on game state. The joint training subsystem 620 then connects the output of the action prediction model 402 to the conditioning input of the generative camera path model 404 and trains both models jointly. During this joint training phase within the joint training subsystem 620, gradients flow through both models, such that the action prediction model 402 is optimized to produce predictions that improve the generative camera path model 404's reproduction of professional camera trajectories.
[0125] In some embodiments, the generative camera path model 404 is trained using a cross-sport transfer learning methodology. A base model is first pre-trained on a multi-sport corpus that includes broadcast footage spanning multiple sport types, such as ice hockey, football, basketball, volleyball, and tennis. During this pre-training phase, the generative camera path model 404 learns shared cinematographic conventions that are common across sports, including smooth panning behavior during lateral play movement, zoom-in responses to scoring events, and pull-back framing during stoppages. The pre-trained base model is then fine-tuned on a target sport using a smaller, sport-specific dataset of professional broadcasts of that sport. Because the base model has already learned foundational camera movement patterns from the multi-sport corpus, the fine-tuning phase converges with fewer sport-specific training samples than would be required to train the generative camera path model 404 from scratch. This crosssport transfer learning approach enables rapid deployment to new sports for which limited professional broadcast footage is available, while still producing camera movement paths that reflect the particular pacing and framing conventions of the target sport.
[0126] During operation, the multi-module cooperation architecture 600 routes information from the action prediction model 402 to each of the other three Al modules as prediction consumers. In some embodiments, the action prediction model 402 produces three categories of output: a predicted action center, a predicted intensity, and a confidence value, each generated across multiple time horizons. The predicted action center specifies the spatial position where the action prediction model 402 anticipates future game activity will be concentrated. The predicted intensity indicates the anticipated energy level of the predicted action, with higher intensity values corresponding to events such as scoring opportunities or fast breaks. The confidence value reflects the action prediction model 402's assessment of prediction reliability at each time horizon. The three outputs flow from the action prediction model 402 to the generative camera path model 404 as conditioning inputs, to the cinematic style model 406 for style intensity modulation, and to the quality assessment network 408 for predictive feed evaluation.
[0127] In some embodiments, the training data is supplemented with synthetically generated training examples. Synthetic data augmentation may include temporal warping, in which the playback speed of existing broadcast footage is varied to simulate different game tempos; spatial perturbation, in which cameraviewport paths extracted from professional footage are offset by controlled amounts to generate additional training pairs; game state simulation, in which synthetic game state sequences are generated from statistical models of sport-specific play patterns; and trajectory interpolation, in which new viewport path training examples are created by interpolating between pairs of existing professional camera paths for the same game segment. Synthetic data augmentation increases the volume and diversity of training data available to the Al models disclosed herein and may reduce overfitting to the specific camera operators represented in the historical professional sports broadcasts, and may be used to fill gaps in the training corpus for underrepresented game states or rare play scenarios.
[0128] In some embodiments, the multi-module cooperation architecture 600 implements confidence-modulated viewport behavior. The confidence value produced by the action prediction model 402 directly modulates the viewport behavior of the generative camera path model 404 and the cinematic style model 406. When the confidence value is high, the generative camera path model 404 applies tight framing at the predicted action center with pronounced anticipatory displacement, and the cinematic style model 406 applies intensified stylistic treatment including tighter framing and faster movement. When the confidence value is low, the generative camera path model 404 applies wider framing covering both the current action region and the predicted action center, preserving coverage of multiple possible outcomes, and the cinematic style model 406 applies baseline styling. The quality assessment network 408 uses the predicted action center and the confidence value to evaluate feed quality over a predicted future window (e.g., two to five seconds), selecting feeds that will capture predicted action development rather than optimizing only for the current instant.
[0129] The multi-module cooperation architecture 600 further includes the camera control module 640 that integrates outputs from the generative camera path model 404, the action prediction model 402, the cinematic style model 406, and the quality assessment network 408, resolving conflicts through a priority resolution scheme. In some embodiments, the camera control module 640 resolves conflicts by a priority order of: (1) primary action visibility, (2) anticipatory positioning, (3) stylistic treatment, and (4) feed selection. The camera control module 640 ensures that maintaining the viewer's ability to see the current action is not compromised for anticipatory, stylistic, or feed selection considerations. The camera control module 640 outputs the integrated plurality of camera control parameters to the command generator 108 for delivery to the output interface 110.
[0130] The multi-module cooperation architecture 600 supports varying deployment configurations where not all four Al modules are active. In a minimal deployment, such as during periods of predictable low-intensity game play, only the generative camera path model 404 is active within the Al engine 400, and the camera control module 640 passes its output directly to the command generator 108. As additional modules are enabled in response to an escalating game state, the multi-module cooperation architecture 600 routes information between the models according to the coupling described above. This modularity additionallyallows the broadcasting system 100 to scale from a single-module configuration on resource-constrained hardware to a full four-module configuration on high-performance infrastructure, with the camera control module 640 adapting its integration logic to the set of active modules.
[0131] FIG. 7 is a schematic diagram of an example action prediction methodology 700 as may be implemented in connection with action prediction model 402, in accordance with an embodiment. As depicted in FIG. 7, in accordance with the action prediction methodology 700, the current game state data structure 710 is received and used to produce predictions of future game action that may enable proactive, anticipatory camera control. In some embodiments, the action prediction methodology 700 includes a prediction architecture 730, a multi-scale temporal predictions pipeline 740, a confidence estimation module 750, and an uncertainty-aware camera planner 760, each described in detail below.
[0132] The game state encoder 720 receives the current game state data structure 710 from the game context engine 106 and the object tracking data structure from the computer vision engine 104, and processes these inputs into a structured representation suitable for temporal sequence modeling. In some embodiments, the game state encoder 720 encodes: player positions represented as normalized coordinates within the playing field; player velocities and movement directions derived from the object tracking data structure; equipment (e.g., ball or puck) position and trajectory; game phase information including period, time remaining, and score differential; spatial formation patterns that capture the geometric arrangement of players; and zone occupancy features indicating which sport-specific zones of interest contain players. The structured representation produced by the game state encoder 720 provides a compact, information-rich input that captures the full spatial and temporal state of the game at each time step.
[0133] Within the prediction architecture 730, the feature selection module 732 receives the encoded game state from the game state encoder 720 and identifies which elements of the encoded representation are most predictive of future action for the current sport and game phase. The feature selection module 732 applies sport-specific weighting that varies across phases of play. For example, during a basketball fast break, the feature selection module 732 may weight player velocities and transition spacing more heavily than player formation patterns because these features are more predictive of fast break development. During a soccer set piece, the feature selection module 732 may weight player positions within the penalty area and formation patterns more heavily than individual velocities. The feature selection module 732 thus enables the prediction architecture 730 to focus only on the most informative features for the current game situation, improving prediction accuracy and computational efficiency.
[0134] The prediction architecture 730 receives the weighted features from the feature selection module 732 and processes them through a temporal sequence processing model 734 to generate predictions of future game developments. The underlying action prediction model 402 is trained on sequences of game state representations extracted from professional broadcast footage alongside the corresponding camera movements made by professional operators. Through this training, the action prediction model 402 learns toassociate patterns in game state evolution with likely future action developments and with the anticipatory camera movements that professional operators make in response to those patterns. In some embodiments, the prediction architecture 730 employs a transformer architecture with self-attention over game state sequences. In other embodiments, the prediction architecture 730 employs a graph neural network, a selective state space model, temporal convolutional networks, or recurrent architectures for action prediction.
[0135] The temporal sequence processing model 734 generates multi-scale predictions 740 across multiple time horizons simultaneously. In some embodiments, multi-scale predictions 740 include three categories of prediction: immediate predictions 742 within a sub-second horizon for frame-to-frame level viewport adjustments; tactical predictions 744 within one to five seconds for anticipatory camera positioning during developing plays; and strategic predictions 746 beyond five seconds for narrative-level camera planning during set pieces, stoppages, or formation changes. Each time horizon within the multi-scale temporal prediction pipeline 740 captures a different aspect of game development. The sub-second predictions enable the system to make fine-grained adjustments to the current viewport calculation, the tactical predictions enable the generative camera path model 404 to begin anticipatory camera movement that arrives at the predicted action location as the play develops, and the strategic predictions enable the system to reposition the camera during pauses in play in anticipation of the next phase of action.
[0136] The confidence estimation module 750 produces a confidence estimate accompanying predictions at each scale. The confidence estimation module 750 assesses the reliability of each prediction based on the clarity and consistency of the input game state patterns. Average prediction confidence produced by the confidence estimation module 750 tends to decrease with increasing time horizon, reflecting the inherent uncertainty in longer-range predictions. The confidence estimation module 750 outputs the confidence value for each prediction and time horizon, enabling downstream modules to modulate their behavior based on tangible prediction reliability metrics.
[0137] The uncertainty-aware camera planner 760 receives the predictions from the multi-scale temporal prediction pipeline and the associated confidence values from the confidence estimation module 750, and determines the degree of anticipatory camera displacement to apply. When the confidence estimation module 750 indicates high confidence, for example, when a set piece formation strongly indicates the likely area of the next action, the uncertainty-aware camera planner 760 signals decisive anticipatory positioning that moves the camera to the predicted optimal position. When the confidence estimation module 750 indicates low confidence, for example, during chaotic play with multiple possible developments, the uncertainty-aware camera planner 760 signals wider framing that preserves coverage of multiple possible outcomes without committing to a prediction that may prove incorrect. The uncertainty-aware camera planner 760 outputs the predicted action center, the predicted intensity, and the confidence value as an anticipatory viewport path 790, which is a formatted intermediate output to be ingested by the prediction consumers within the multi-module cooperation architecture 600 described with reference to FIG. 6.
[0138] In some embodiments, a continuous learning component 795 enables the action prediction methodology 700 to refine its predictions over time through operational experience. The continuous learning component 795 compares predictions generated by the prediction architecture 730 against actual game developments observed during live operation, strengthening patterns that consistently lead to accurate predictions and attenuating those that do not. Model updates generated by the continuous learning component 795 are applied during non-live periods to prevent disruption to live broadcast operation. The continuous learning component 795 further includes a sport-specific action grammar learning component that discovers sequential patterns of play actions characteristic of each sport through unsupervised training on game footage, enabling prediction of sport-specific tactical sequences without requiring explicit programming of sport rules.
[0139] In some embodiments, the action prediction methodology 700 further includes a formation-aware prediction component that classifies current player formations and spatial configurations using learned formation templates specific to each sport. The formation-aware prediction component recognizes formations characteristic of specific play types, such as power play formations in hockey, corner kick setups in soccer, or fast break spacing in basketball, and provides formation-conditioned predictions to the uncertainty-aware camera planner 760. By recognizing tactical setups before the action develops, the formation-aware prediction component enables the uncertainty-aware camera planner 760 to initiate anticipatory viewport positioning based on the recognized formation and anticipated transitions thereof, further reducing the lag between action development and camera response.
[0140] FIG. 8 is a schematic diagram of an example multi-modal quality assessment pipeline 800 as may be implemented by the quality assessment network 408, in accordance with an embodiment. As depicted in FIG. 8, the multi-modal quality assessment pipeline 800 receives available camera feeds 802 and contextual inputs 804 to produce a feed ranking and selection output 890 identifying the selected camera feed for inclusion in the video output for broadcasting.
[0141] In some embodiments, the multi-modal quality assessment pipeline 800 further includes feature extraction networks 820, a multi-modal integration module 830, a hierarchical quality scorer 840, a context-sensitive weighting module 850, a temporal coherence module 860, and a predictive lookahead module 870, each described in detail below.
[0142] The available camera feeds 802 represent the plurality of video inputs from which the multi-modal quality assessment pipeline 800 selects. The available camera feeds 802 may include feeds from multiple physically articulating cameras such as PTZ cameras, multiple extracted viewports or raw feeds from one or more wide-angle cameras, or a combination of both physical and virtual feeds. Each of the available camera feeds 802 provides a different view of the sporting event, and each feed is evaluated via the multi-modal quality assessment pipeline 800 to determine which is most appropriate for the current and anticipated broadcast moments.
[0143] The feature extraction networks 820 process each of the available camera feeds 802, extracting visual features that capture compositional characteristics, action prominence, spatial balance, and visual clarity. The feature extraction networks 820 produce a visual feature representation for each of the available camera feeds 802. These visual features form the basis for the quality scoring performed by downstream components of the multi-modal quality assessment pipeline 800.
[0144] In some embodiments, the contextual inputs 804 provide non-visual information to the multi-modal quality assessment pipeline 800. The contextual inputs 804 include temporal context (what has been shown recently and for how long), the game state data structure from the game context engine 106 (including game phase, score, and recent events), action predictions from the action prediction model 402 (including the predicted action center, predicted intensity, and confidence value), and audio features when available (crowd noise intensity, commentary patterns). The contextual inputs 804 enable the multi-modal quality assessment pipeline 800 to evaluate feed appropriateness not merely for visual quality but for narrative and contextual suitability.
[0145] The multi-modal integration module 830 combines the visual features from the feature extraction networks 820 with the contextual inputs 804 to form a multi-modal representation of each of the available camera feeds 802. The multi-modal integration module 830 produces a representation that captures both the visual quality of each feed and its contextual appropriateness for the current moment of the broadcast. In some embodiments, the multi-modal integration module 830 incorporates audio features alongside visual features for quality assessment, using audio energy, crowd noise patterns, and commentary cues as additional signals for identifying moments of high narrative importance.
[0146] The hierarchical quality scorer 840 receives the multi-modal representations from the multi-modal integration module 830 and decomposes overall feed quality into specific evaluable dimensions. The hierarchical quality scorer 840 evaluates each of the available camera feeds 802 across multiple quality dimensions, such as: composition quality, which evaluates adherence to cinematographic principles including rule-of-thirds positioning, appropriate headroom and margins, and balanced framing; action clarity, which evaluates how well the feed captures the current action including the visibility and prominence of key subjects; subject prominence, which evaluates whether key subjects such as the ball carrier, goal scorer, or key matchup are appropriately featured; spatial balance, which evaluates the distribution of visual elements within the frame; and emotional impact, which evaluates the feed's capacity to convey the emotional dimension of the current moment. Each dimension is scored independently by specialized evaluation pathways within the hierarchical quality scorer 840 then combined through learned weights that vary by sport and game state.
[0147] The context-sensitive weighting module 850 evaluates the scores produced by the hierarchical quality scorer 840 in light of the current game context provided by the contextual inputs 804. The context-sensitive weighting module 850 adjusts feed rankings based on game phase, score differential, recentsignificant events, and narrative importance. For example, during a pivotal moment such as a potential gamewinning shot, the context-sensitive weighting module 850 ranks feeds showing the shooter more highly regardless of less critical factors such as composition differences or spatial balance. During a stoppage, the context-sensitive weighting module 850 may rank feeds showing coaches, crowd reactions, or replays more highly than feeds showing an empty playing field. The context-sensitive weighting module 850 thus implements an attention-guided quality assessment mechanism that identifies the most relevant visual elements in each frame for quality evaluation, learning from professional director decisions which elements matter most in different game situations.
[0148] The temporal coherence module 860 addresses the challenge of avoiding strict adherence to quality scores that results in excessive feed switching and a jarring and disorienting viewing experience. The temporal coherence module 860 maintains a switching history and applies a temporal cost to feed changes that increases with switching frequency. The temporal coherence module 860 applies switching cost penalties that balance between selecting the instantaneously highest-rated feed and maintaining appropriate viewing rhythm, preventing rapid oscillation between the available camera feeds 802 even when quality scores fluctuate among feeds.
[0149] The predictive lookahead module 870 extends quality assessment beyond the current instant. Rather than selecting the feed that is best at the current moment, the predictive lookahead module 870 evaluates anticipated feed quality over a configurable future time window, for example, two to five seconds. The predictive lookahead module 870 uses the action predictions from the contextual inputs 804 to estimate which of the available camera feeds 802 will maintain quality over a sustained duration, selecting or favoring feeds that will capture predicted action development rather than optimizing only for the current frame. The predictive lookahead module 870 thereby prevents selection of a feed that is momentarily best but will quickly degrade as the action moves to a different area of the playing field.
[0150] The feed ranking and selection output 890 represents the output of the multi-modal quality assessment pipeline 800. The feed ranking and selection output 890 identifies the selected feed from among the available camera feeds 802 as the video feed selection component of the plurality of camera control parameters. The feed ranking and selection output 890 is provided to the camera control module 640 within the multi-module cooperation architecture 600 for integration with outputs from the generative camera path model 404, the cinematic style model 406, and the action prediction model 402. In the example priority resolution scheme of the camera control module 640, the feed ranking and selection output 890 has the lowest priority (priority 4), ensuring that feed selection decisions do not override action visibility, anticipatory positioning, or stylistic treatment.
[0151] In some embodiments, the camera control module 640 applies context-aware transition logic that determines when and how to switch between feeds from different cameras 80 as informed by the feed ranking and selection output 890. Transitions may additionally be triggered by game state transitionsdetected by the game state classifier 308, such as a transition from active play to a stoppage, a scoring event, or a change of possession. When a trigger condition is detected, the camera control module 640 evaluates the available feeds based on the quality scores from the quality assessment network 408, the predicted action center from the action prediction model 402, and the framing provided by each camera's current viewport. The transition logic also incorporates cut rhythm parameters derived from the cinematic style model 406, such that the frequency and timing of camera switches reflect the stylistic conventions of professional broadcasts for the particular sport type.
[0152] FIG. 9A and 9B are schematic diagrams of an example cinematic style application methodology comprising a style derivation phase 910 and a real-time application phase 920, in accordance with an embodiment. The cinematic style application methodology corresponds to a detailed embodiment of the cinematic style model 406 described above with reference to FIG. 4. As depicted in FIG. 9A, the style derivation phase 910 is conducted offline and produces style representation 918 using professional broadcast recordings 912; and as depicted in FIG. 9B, a real-time application phase 920 produces style-enhanced camera commands 990 using the style representation 918 and raw camera control parameters 921. The cinematic style application methodology causes the automated camera control to exhibit stylistic characteristics derived from analysis of professional broadcast footage, enabling automated broadcasts to exhibit the distinctive artistic qualities that characterize professional production.
[0153] In some embodiments, the cinematic style application methodology includes a parameter extraction module 914, a game-state segmentation module 916, a style applicator 922, adynamic adaptation module 924, and a consistency enforcer 926, each described in detail below.
[0154] During the style derivation phase 910, the cinematic style application methodology processes professional broadcast recordings 912 associated with a target style. The professional broadcast recordings 912 may be associated with a target style defined by at least one of: a broadcast network, a director, a sport, or a production tier. A parameter extraction module 914 extracts temporal sequences of camera movement parameters from the professional broadcast recordings 912, such as pan velocity, tilt velocity, zoom rate, viewport acceleration, cut timing, and shot duration. The parameter extraction module 914 captures the quantitative characteristics of the target style by analyzing how professional operators handle camera movement across different game situations in the professional broadcast recordings 912.
[0155] A game-state segmentation module 916 segments the extracted parameters from the parameter extraction module 914 by classified game state. The game-state segmentation module 916 associates each extracted camera movement parameter with the game state that was active at the time it was captured, producing game-state-conditional distributions over the extracted parameters. This segmentation by the game-state segmentation module 916 enables the cinematic style model 406 to apply different stylistic treatments depending on the current phase of play, rather than applying a single stylistic profile uniformly across all game situations.
[0156] The output of the style derivation phase is a style representation 918. The style representation 918 captures game-state-conditional distributions over extracted camera movement parameters. Multiple style representations 918 can be derived from different sets of professional broadcast recordings 912 and stored, enabling the broadcasting system 100 to produce broadcasts in different recognizable styles. In a practical embodiment, one style representation 918 may be derived from a specific network's basketball coverage, capturing the network's characteristic sideline tracking shots during transitions, signature quickcut rhythm during fast breaks, distinctive zoom patterns during free throws, and framing for inbound plays.
[0157] During the real-time application phase 920 as depicted in FIG. 9B, a style applicator 922 receives the raw camera control parameters 921 produced by the generative camera path model 404 and modifies them to conform to the style representation 918. The style applicator 922 preserves the framing targets determined by the object tracking data structure from the computer vision engine 104, while modifying movement dynamics, zoom behavior, and pacing to conform to the style representation 918. This balancing within the style applicator 922 ensures that the cinematic style application methodology does not cause the camera to miss critical action or produce technically incorrect coverage, while meaningfully transforming the aesthetic quality of the camera work.
[0158] A dynamic adaptation module 924 varies the intensity of the style application based on real-time game context. The dynamic adaptation module 924 receives the modified camera control parameters from the style applicator 922 and further receives action predictions 923 from the action prediction model 402. During high-intensity moments such as scoring opportunities, fast breaks, or penalty situations, the dynamic adaptation module 924 directs the style applicator 922 to apply intensified treatment, such as tighter framing, faster movement, and more frequent transitions. During routine play, the dynamic adaptation module 924 directs a baseline treatment that provides professional-looking coverage without unnecessary intensity.
[0159] In some embodiments, the dynamic adaptation module 924 applies style at multiple temporal scales simultaneously: at the frame-to-frame level, micro-adjustments in framing and composition reflect the target style's characteristic handling of moment-to-moment camera positioning; at the shot level, movement dynamics and zoom patterns reflect the target style's characteristic shot construction; at the sequence level, narrative rhythm and pacing reflect the target style's characteristic approach to covering different game phases.
[0160] In some embodiments, the dynamic adaptation module 924 further includes an emotional intelligence component that recognizes emotionally significant game moments through multi-modal analysis, combining visual indicators, game state context, and audio cues, and triggers stylistically appropriate camera work responses. For example, after a significant score, the emotional intelligence component within the dynamic adaptation module 924 directs the style applicator 922 to modify camera control parameters to linger on celebrations and capture reactions from players and spectators not necessarily in intense action atthat moment. The emotional intelligence component extends the capabilities of the dynamic adaptation module 924 by responding to emotional context in addition to game state and action predictions.
[0161] A consistency enforcer 926 constrains frame-to-frame variation in applied style parameters to prevent unmotivated drift across the broadcast duration. The consistency enforcer 926 permits the context-driven intensity variations applied by the dynamic adaptation module 924 while preventing stylistic drift that would degrade temporal coherence. The consistency enforcer 926 thus ensures that the style representation 918 is applied consistently throughout the broadcast, even as the dynamic adaptation module 924 modulates intensity in response to changing game context.
[0162] The output of the cinematic style application methodology is style-enhanced camera commands 990. The style-enhanced camera commands 990 comprise a plurality of camera control parameters after style modification by the style applicator 922. The style-enhanced camera commands 990 exhibit the distinctive qualities of the target broadcast style as captured in the style representation 918, while maintaining correct framing and action coverage as determined by the computer vision engine 104 and the generative camera path model 404. The style-enhanced camera commands 990 are provided to the camera control module 640 within the multi-module cooperation architecture 600 for integration with outputs from the other Al modules.
[0163] In some embodiments, the broadcasting system 100 controls one or more physically articulating cameras, such as PTZ cameras, robotic camera heads, cable-mounted camera systems, or the like, in addition to or instead of generating virtual viewport paths from fixed wide-angle camera feeds. In such embodiments, the command generator 108 translates the camera control parameters generated by the Al engine 400 into physical actuation commands that are transmitted to the physically articulating cameras via the network 50 or a direct control interface.
[0164] The command generator 108 incorporates a physics model of each physically articulating camera. The physics model defines the mechanical constraints of the camera, including maximum rotational positions along each axis, maximum rotational velocities, maximum rotational accelerations, and the current mechanical state of the camera (i.e., its present position, velocity, and acceleration along each axis). When the Al engine 400 generates camera control parameters that specify a desired viewport path 532 or style-enhanced camera commands 990, the command generator 108 evaluates the desired viewport path values against the physics model to determine whether the physically articulating camera can achieve the desired path within its mechanical constraints. If the desired viewport values exceed the mechanical constraints defined by the physics model, the command generator 108 computes a closest-achievable trajectory that minimizes deviation from the desired viewport path 532 or style-enhanced camera commands 990 while respecting the maximum rotational positions, velocities, and accelerations of the camera.
[0165] In some embodiments, the command generator 108 jointly optimizes the camera control parameters for trajectory quality and physical realizability. Rather than generating a desired viewport path532 and then clipping it to the mechanical constraints after the fact, the physics model is provided as an input constraint to the generative camera path model 404, such that the generative camera path model 404 generates camera movement paths 532 that are both cinematically naturalistic and physically realizable by the target camera hardware. In this way, the broadcasting system 100 avoids jerky corrections or unreachable target positions that would otherwise degrade broadcast quality when controlling physically articulating cameras.
[0166] FIG. 10 is a flowchart illustrating an example method 1000 for automated sports broadcast camera control, in accordance with an embodiment.
[0167] At step 1002, the broadcasting system 100 receives at least one video feed from at least one camera 80 capturing a sporting event. The at least one video feed received at step 1002 may originate from one or more physically articulating cameras including PTZ cameras, one or more wide-angle or panoramic cameras, or a combination thereof. The at least one video feed may also be received from one or more raw video footage stream sources 90 delivered over the communication network 50 using a supported streaming protocol.
[0168] At step 1004, the broadcasting system 100 maintains a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event. The plurality of adaptation parameters maintained at step 1004 encompass detection model selections and confidence thresholds, tracking parameters, viewport calculation parameters, finite state machine configurations with sport-specific states and transition rules, and stylistic parameters, as described with reference to the game context engine 106. In some embodiments, step 1004 includes detecting the specific type of sport upon processing the at least one video feed and selecting the plurality of adaptation parameters based on the specific type of sport detected.
[0169] At step 1006, the broadcasting system 100 processes the at least one video feed, using the plurality of adaptation parameters maintained at step 1004. The processing at step 1006 applies the sportspecific detection models, tracking parameters, viewport calculation parameters, and finite state machine configurations specified by the plurality of adaptation parameters to the decoded video frames received at step 1002. The plurality of adaptation parameters configure all aspects of downstream visual analysis, including which object classes the object detector 302 searches for, the confidence thresholds applied to detections, the distance thresholds and initialization delays used by the object tracker 304, and the zoom ranges and framing margins applied during viewport calculation, as non-limiting examples.
[0170] At step 1008, the broadcasting system 100 generates an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed. The processing at step 1008 includes detecting at least one of players, officials, equipment, or sport-specific objects within a video frame of the at least one video feed using the object detector 302. The object tracker 304 maintains identity persistence for detected objects across consecutive frames, associating new detections with existing trackedidentities using distance-based metrics and assignment algorithms. The resulting object tracking data structure generated at step 1008 includes position, velocity, and trajectory information for at least one of the plurality of tracked objects.
[0171] At step 1010, the broadcasting system 100 generates a game state data structure including data defining a state of play of the sporting event. The game state classifier 308 categorizes the current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest, producing the game state data structure. In some embodiments, the game state data structure is generated at step 1010 using a finite state machine with sport-specific states and transition rules that govern viewport behavior, as described with reference to the sport-specific adaptation framework 1200. The finite state machine transitions between states based on conditions evaluated from the object tracking data structure generated at step 1008, including detection count thresholds, spatial zone occupancy, and temporal persistence requirements.
[0172] At step 1012, the broadcasting system 100 generates a plurality of camera control parameters by providing the game state data structure generated at step 1010 and the object tracking data structure generated at step 1008 to an artificial intelligence model trained on video data of historical professional sports broadcasts. The plurality of camera control parameters generated at step 1012 includes at least one of a viewport path, a video feed selection, and a camera movement command. In some embodiments, step 1012 includes generating a camera movement path using the generative camera path model 404, as described with reference to FIG. 5. In some embodiments, step 1012 includes generating a video feed selection using the quality assessment network 408, as described with reference to FIG. 8. The generation at step 1012 may further incorporate action predictions from the action prediction model 402 as described with reference to FIG. 7, and stylistic modifications from the cinematic style model 406 as described with reference to FIG.9, with the outputs integrated through the camera control module 640 as described with reference to FIG. 6.
[0173] At step 1014, the broadcasting system 100 applies the camera control parameters to the at least one video feed to generate a video output for broadcasting. The output interface 110 applies the viewport path component of the plurality of camera control parameters by extracting a virtual viewport from the wide-angle imagery, generating a viewport extraction from the at least one video feed. In some embodiments, the output interface 110 applies the camera movement command component by issuing the camera movement command to the at least one camera 80, causing a physically articulating camera to move to the position specified by the camera movement command. In embodiments where the plurality of camera control parameters includes a video feed selection, the output interface 110 selects the identified video feed from among the plurality of available camera feeds for inclusion in the video output for broadcasting. The output interface 110 encodes the resulting video output and transmits it over the communication network 50 for consumption by the viewers 10.
[0174] The method 1000 operates continuously and in real time throughout the duration of the sporting event. Steps 1002 through 1014 are repeated for each video frame or batch of video frames received from the at least one camera 80, with the plurality of adaptation parameters maintained at step 1004 persisting across frames and updated as the game context evolves. The method 1000 maintains temporal coherence across the video output for broadcasting by ensuring that the plurality of camera control parameters generated at step 1012 account for the camera state from preceding frames, as enforced by the temporal consistency enforcement module 530 within the generative camera path generation pipeline 500 and the temporal coherence module 860 within the multi-modal quality assessment pipeline 800.
[0175] It should be understood that steps of one or more of the blocks depicted in FIG. 10 may be performed in a different sequence or in an interleaved or iterative manner. Further, variations of the steps, omission or substitution of various steps, or additional steps may be considered.
[0176] FIG. 11A and 11B are schematic diagrams of an example real-time processing pipeline 1100, in accordance with an embodiment. The real-time processing pipeline 1100 transforms raw camera input into broadcast-quality video output for live broadcasting applications. A multi-process architecture is employed where sequential processing stages communicate through queued data structures, enabling concurrent execution of detection, tracking, viewport calculation, Al-enhanced path generation, and output rendering. The real-time processing pipeline 1100 includes a video decoding stage 1110, a detection stage 1130, a tracking stage 1140, a viewport calculation stage 1150, an Al-enhanced path generation stage 1170, and an output rendering stage 1180, producing a video output 1192.
[0177] At the video decoding stage 1110, raw video frames are received from the video input interface 102 and decoded from the incoming stream format (RTSP, RTMP, SRT, or other supported protocols). Decoded frames are stored into a shared memory frame buffer 1114 from which downstream stages consume frames for processing. The video decoding stage 1110 manages the interface between the network transport layer and the internal processing pipeline, handling format negotiation, frame synchronization, and timestamp assignment for each decoded frame.
[0178] The frame buffer 1114 is a shared memory structure that stores decoded video frames for consumption by the detection stage 1130 and other downstream stages. The real-time processing pipeline 1100 maintains configurable queue depths between stages to accommodate variable processing times while bounding end-to-end latency. Timestamp-indexed queuing enables latency monitoring and ensures temporal alignment between processing stages within the real-time processing pipeline 1100.
[0179] The frame buffer 1114 stores decoded frames with associated timestamps, enabling the detection stage 1130 to consume frames in order while the video decoder 1110 continues processing incoming video. Each inter-stage queue within the real-time processing pipeline 1100 maintains a bounded depth that prevents unbounded memory growth while permitting sufficient buffering to absorb variable processing latencies. In some embodiments, the real-time processing pipeline 1100 monitors per-stage processinglatency and reports end-to-end latency from frame capture to broadcast output. The real-time processing pipeline 1100 supports a configurable processing cadence to trade off between processing quality and latency across different hardware configurations. For example, each stage may process every frame or every second frame depending on available GPU capacity, with certain stages such as tracking stage 1140 interpolating processing for skipped frames.
[0180] In another embodiment, the system supports a hybrid edge-cloud deployment architecture that distributes computational workload between edge hardware located at the venue and cloud-based processing resources. In the edge-cloud configuration, time-critical processing stages execute on edge hardware positioned at or near the venue. The edge system transmits compressed tracking metadata and relevant frame data to cloud-based processing resources, where more computationally intensive Al modules run on high-performance GPU infrastructure. The cloud system then returns camera control commands to the edge system for execution, with round-trip latency mitigated through the predictive capabilities of the action forecasting module.
[0181] In some embodiments, the real-time processing pipeline 1100 is distributed across an edge-cloud deployment architecture in which different processing stages execute on different computing devices. In a first deployment tier, referred to as a tracking-first deployment, the video decoding stage 1110, the detection stage 1130, and the tracking stage 1140 execute on an edge computing device 1600 located at or near the sporting venue, while the viewport calculation stage 1150 and the Al-enhanced path generation stage 1170 execute on a cloud computing device accessible via the network 50. In a second deployment tier, referred to as a hybrid deployment, the video decoding stage 1110, the detection stage 1130, the tracking stage 1140, and the viewport calculation stage 1150 execute on the edge computing device, while only the Al-enhanced path generation stage 1170 executes on the cloud computing device. In a third deployment tier, referred to as a full-stream deployment, all stages from the video decoding stage 1110 through the output rendering stage 1180 execute on a single computing device or a co-located cluster of computing devices at the venue.
[0182] The detection stage 1130 consumes decoded frames from the frame buffer 1114 in configurable batch sizes, running the object detection models of the object detector 302 (described with reference to FIG.3A) on GPU hardware and producing per-frame detection results. In some embodiments, the detection stage 1130 operates on batched frames for throughput optimization, with the batch size configurable based on available GPU memory and latency requirements. The detection results produced by the detection stage 1130 include bounding boxes, class labels, and confidence scores for all detected objects of interest. Depictions of the bounding boxes and class labels are shown in FIG. 14.
[0183] The tracking stage 1140 processes detection results from the detection stage 1130 sequentially, maintaining tracker state across frames and producing tracking data with identity-persistent trajectories. The tracking stage 1140 implements the functionality of the object tracker 304 (described with reference to FIG.3A) within the real-time pipeline context, associating new detections with existing tracked objects and updating the object tracking data structure with position, velocity, and trajectory information for each of a plurality of tracked entities across multiple frames.
[0184] The viewport calculation stage 1150 consumes tracking data from the tracking stage 1140 and produces raw viewport positions through the game state classifier 308 (described with reference to FIG. 3A) using previous viewport positions produced by the camera control command generator 108 (described with reference to FIG. 2). The viewport calculation stage 1150 computes the current raw viewport center, zoom level, and game state classification that feed into downstream Al processing.
[0185] In some embodiments, the detection stage 1130, the tracking stage 1140, and the viewport calculation stage 1150 are supplemented by the sport-specific profile 1104 as determined by the game context engine 106 (described with reference to FIG. 2). This coupling ensures that the computer vision processing performed within the real-time processing pipeline 1100 is adapted to the particular sport being broadcast.
[0186] At the detection stage 1130, the sport-specific profile 1104 specifies which object detection models are deployed and how they are parameterized . Each sport profile defines the object classes to detect, the confidence thresholds for each class, the non-maximum suppression parameters, and the detection regions that constrain processing to the playing surface.
[0187] At the tracking stage 1140, the sport-specific profile 1104 specifies tracking parameters that govern how the object tracker 304 maintains identity persistence across consecutive frames. Example parameters include distance thresholds that determine the maximum displacement within which a new detection can be associated with an existing tracked object, initialization delays that control how many consecutive detections are required before a new tracked identity is established, and interpolation behavior that defines how the tracker estimates positions during frames where detection is temporarily lost.
[0188] At the viewport calculation stage 1150, the sport-specific profile 1104 specifies viewport calculation parameters that govern how raw viewport positions are computed from the tracking data. Example parameters include zoom ranges that define the minimum and maximum zoom levels for the sport, framing margins that control the padding around detected action regions, center weighting factors that determine how different tracked objects contribute to the viewport center calculation, and action-response sensitivities that control how quickly the viewport reacts to changes in the detected action region.
[0189] Now referring to FIG. 11 B, the Al-enhanced path generation stage 1170 receives the raw viewport positions from the viewport calculation stage 1150 and refines them into broadcast-quality camera paths. In embodiments where the generative camera path model 404 is active, the Al-enhanced path generation stage 1170 invokes the generative camera path generation pipeline 500 (described with reference to FIG. 5) to transform the raw viewport path 502 into the naturalistic camera movement path 532. The Al-enhanced path generation stage 1170 may further invoke the action prediction model 402 as described with reference toFIG. 7, the cinematic style model 406 as described with reference to FIG. 9A - 9B, and the quality assessment network 408 as described with reference to FIG. 8, with the outputs integrated through the camera control module 640 of the multi-module cooperation architecture 600 as described with reference to FIG. 6.
[0190] The output rendering stage 1180 receives the refined camera control parameters from the Al-enhanced path generation stage 1170 and produces the final video output 1192 for broadcasting. The output rendering stage 1180 extracts the viewport from the source frame according to the viewport path, applies any overlays such as scorebugs or logos, encodes the resulting frame, and transmits it to the output stream via the output interface 110 (described with reference to FIG. 2) for consumption by the viewers 10 via a network 50. The output rendering stage 1180 operates at the target frame rate of the broadcast output, ensuring that each output frame is delivered on schedule regardless of variable processing times in upstream stages.
[0191] In some embodiments, the real-time processing pipeline 1100 implements adaptive compute management via latency monitoring 1162 against a real-time budget. When latency exceeds the budget, Al modules within the Al-enhanced path generation stage 1170 are shed in reverse priority as described with reference to the Al engine 400 in FIG. 4: the cinematic style model 406 first, then the quality assessment network 408, then the generative camera path model 404, then the action prediction model 402. In a fully degraded mode, the Al-enhanced path generation stage 1170 routes the raw viewport positions from the viewport calculation stage 1150 directly through a deterministic smoothing pipeline to the output rendering stage 1180, maintaining continuous broadcast output without invoking any Al modules. When computational capacity recovers, modules within the Al-enhanced path generation stage 1170 re-engage with a blending period (e.g., 0.5 to 2 seconds) to prevent a visible discontinuity in the video output for broadcasting. This degradation ensures that the real-time processing pipeline 1100 produces continuous broadcast output under all conditions, regardless of momentary computational constraints.
[0192] FIG. 12 is a schematic diagram of an example sport-specific adaptation framework 1200, in accordance with an embodiment. The sport-specific adaptation framework 1200 configures all aspects of the broadcasting system 100 based on the sport being broadcast. The sport-specific adaptation framework 1200 includes a dynamic sport assignment module 1210 selecting sport-specific profile 1104 from a sportspecific profile library 1220 based on the input video feed 1202. The sport-specific adaptation framework 1200 implements the mechanism by which the game context engine 106 (described with reference to FIG.2) maintains the plurality of adaptation parameters to adapt camera control to a specific type of sport of the broadcast event.
[0193] The dynamic sport assignment module 1210 determines the sport type at runtime through visual analysis of the incoming video feed 1202. The dynamic sport assignment module 1210 analyzes visual characteristics of the playing surface, the number and spatial distribution of detected players, the types ofdetected equipment, and the marking geometry of the field, court, rink, or pool. Based on this analysis, the dynamic sport assignment module 1210 selects the appropriate sport profile from the sport-specific profile library 1220 without requiring manual per-venue configuration. This dynamic sport assignment by the dynamic sport assignment module 1210 enables deployment configurations where a single venue hosts multiple sports, with the system automatically adapting to each sport as events change. In some embodiments, the dynamic sport assignment module 1210 performs an initial classification from the first several seconds of incoming video and passes the result to a continuous validation module for ongoing verification.
[0194] The sport-specific profile library 1220 stores a collection of sport-specific profiles 1104A, 1104B etc. that each encapsulate the plurality of adaptation parameters for a given sport. As illustrative examples, the sport-specific profile library 1220 includes an ice hockey profile, a football profile, and a volleyball profile, though additional sport profiles may be added to the sport-specific profile library 1220 for other sports. Each sport profile within the sport-specific profile library 1220 defines: the set of object detection models to deploy and their configuration including object classes, confidence thresholds, and non-maximum suppression parameters; tracking parameters including distance thresholds, initialization delays, and interpolation behavior; a finite state machine with sport-specific states and transition rules; viewport calculation parameters including zoom ranges, framing margins, center weighting, and action-response sensitivities; and stylistic parameters including preferred movement dynamics, zoom behavior, and pacing characteristics.
[0195] The ice hockey profile may define sport-specific configurations for ice hockey broadcasts. In some embodiments, the ice hockey profile specifies detection models configured for players and pucks, with the puck requiring specialized tracking approaches including background subtraction, contour detection, and patch-based classification due to the puck's small size and high velocity. The ice hockey profile further specifies a finite state machine with four primary states: an idle state for periods when few players are detected on the ice (intermissions, extended stoppages); an active state for live gameplay; a practice state for pre-game warmup; and a hockey-specific zamboni state triggered by detection of ice maintenance equipment. The ice hockey profile defines goal-zone weighting that increases the influence of the goal area in viewport calculations during offensive zone action, and hockey-specific zoom behavior that widens during transitional rushes and tightens during sustained offensive zone play.
[0196] The football profile may define sport-specific configurations for football (soccer) broadcasts. In some embodiments, the football profile specifies player-only detection models with a finite state machine defining two primary states: an idle state and an active state, with transition rules based on player detection counts and field zone occupancy. The football profile further defines field-zone classification that categorizes areas of the playing surface into defensive third, midfield, and attacking third, influencing viewport calculation and zoom behavior. The football profile specifies football-specific framing parameters and a static crop from mask configuration that defines the field boundary for viewport constraint.
[0197] The volleyball profile may define configurations appropriate for volleyball broadcasts, with detection models tuned for the indoor court environment, a state machine responsive to serve sequences and rally patterns, and zoom parameters suited to the smaller court dimensions.
[0198] When the dynamic sport assignment module 1210 identifies the sport, the corresponding profile is loaded from the sport-specific profile library 1220 as the selected profile configuration. The selected profile configuration represents the active set of the plurality of adaptation parameters that governs the behavior of the broadcasting system 100 for the current broadcast. The selected profile configuration includes the state machine configuration, which defines the finite state machine with sport-specific states and transition rules that govern viewport behavior for the detected sport. The state machine configuration specifies each state, the conditions for transitioning between states including window sizes and minimum state counts for hysteresis, and the per-state viewport behavior including zoom ranges, smoothing parameters, and movement dynamics. The state machine configuration is provided to the game context engine 106, which instantiates the finite state machine according to the state machine configuration and manages state transitions during live operation.
[0199] The continuous validation module within the sport assignment module 1210 monitors the incoming video feed during operation and verifies that the sport classification made by the dynamic sport assignment module 1210 remains correct. The continuous validation module periodically re-evaluates visual characteristics of the feed and compares them against the expected characteristics for the sport type specified in the selected profile configuration. If the continuous validation module detects a sport change, for example, when a venue transitions from one sporting event to another, the sport-specific adaptation framework 1200 transitions to the new sport profile from the sport-specific profile library 1220 without requiring a system restart. During the transition, the broadcasting system 100 maintains output on a default configuration until the new selected profile configuration is fully loaded and the corresponding state machine configuration is instantiated. The continuous validation module thus enables the broadcasting system 100 to operate across multi-sport venues with automatic adaptation to each sport as events change, implementing the detected sport type and selecting the plurality of adaptation parameters.
[0200] FIG. 13 is a schematic diagram of an example multi-stage viewport smoothing pipeline 1300, in accordance with an embodiment. The multi-stage viewport smoothing pipeline 1300 sequentially applies multiple filtering and smoothing operations to raw viewport calculations, producing camera movements that exhibit natural fluidity while maintaining responsive tracking of game action. In some embodiments, the multistage viewport smoothing pipeline 1300 operates between the viewport calculation stage 1150 and the Al-enhanced path generation stage 1170. The multi-stage viewport smoothing pipeline 1300 may process the raw viewport values produced by the detection clustering module 306 before the values are consumed by downstream Al modules.
[0201] As depicted in FIG. 13, the multi-stage viewport smoothing pipeline 1300 processes each viewport axis (horizontal position, vertical position, and zoom level) independently through an ordered sequence of smoothing components. The multi-stage viewport smoothing pipeline 1300 receives raw viewport values 1302 as input and produces a smoothed viewport output 1390. In some embodiments, the multi-stage viewport smoothing pipeline 1300 applies five sequential smoothing stages: a threshold limiter, a Kalman filter, a linear regression extrapolator, an inertial smoother, and an exponential moving average. A motion state classifier 1310 categorizes the current viewport behavior and selects per-state parameter sets that configure each of the five smoothing stages.
[0202] The raw viewport value 1302 represents the unsmoothed viewport position on a single axis (x, y, or zoom) as computed by the viewport calculation stage 1150 or the Al-enhanced path generation stage 1170 (as depicted in FIG. 11 A and 11 B). The raw viewport value 1302 is the starting point for the multi-stage viewport smoothing pipeline 1300 and reflects the instantaneous target position derived from tracked object positions and game state. Because the raw viewport value 1302 is computed frame by frame from noisy detection and tracking data, it may exhibit jitter, abrupt jumps, or high-frequency variations that would produce unacceptable camera movement if applied directly to the broadcast output.
[0203] The motion state classifier 1310 categorizes the current viewport behavior based on the relationship between the raw viewport values 1302 and a target viewport value as generated by the multimodule cooperation architecture 600 (as depicted in FIG. 6). In some embodiments, the motion state classifier 1310 classifies the viewport state into one of three categories: stopped, indicating that the viewport is stationary with no desired movement; steady, indicating that the viewport is moving at a consistent velocity; or following, indicating that the viewport is actively tracking a changing action location. The motion state classifier 1310 determines the classification by examining the distance between the raw viewport value 1302 and the target viewport value, where a small distance indicates stopped or steady behavior and a large distance indicates active following. Each of the three motion states defined by the motion state classifier 1310 maps to a distinct set of per-state parameter sets that configure the behavior of each smoothing stage.
[0204] Specifically, the threshold limiter is the first smoothing stage in the multi-stage viewport smoothing pipeline 1300. The threshold limiter constrains the per-frame viewport displacement to a configurable maximum step size (max_step) along each axis, preventing abrupt viewport jumps that would appear jarring to viewers. The threshold limiter clamps the difference between the current raw viewport value 1302 and the previous smoothed output to the max_step value defined by the per-state parameter set selected by the motion state classifier 1310. The max_step values may differ by axis and by motion state; for example, the following state may permit a larger max_step to enable faster pursuit of changing action, while the stopped state may enforce a smaller max_step to prevent drift.
[0205] The Kalman filter is the second smoothing stage in the multi-stage viewport smoothing pipeline 1300. The Kalman filter implements a state estimation filter that maintains a predictive model of viewportstate including both position and velocity components for each axis. In some embodiments, the Kalman filter is a joint six-dimensional filter comprising three positions and three velocities (one for each of x, y, and zoom). The Kalman filter employs a constant-velocity process model, predicting the expected viewport position based on the previous position and estimated velocity, then updating its estimate based on the observed output from the threshold limiter. The Kalman filter provides filtered estimates that account for measurement noise in the detection and tracking pipeline while preserving the underlying motion dynamics. The process noise and measurement noise parameters of the Kalman filter are configured by the per-state parameter sets selected by the motion state classifier 1310, allowing the filter to be more responsive during active following and more stable during steady or stopped states.
[0206] The linear regression extrapolator is the third smoothing stage in the multi-stage viewport smoothing pipeline 1300. The linear regression extrapolator fits a regression line to a sliding window of recent filtered viewport positions produced by the Kalman filter and extrapolates the trajectory, providing smooth continuation of established movement trends. The sliding window size of the linear regression extrapolator is configurable, with larger windows producing more stable extrapolation and smaller windows providing faster response to direction changes. The linear regression extrapolator reduces residual mid-frequency oscillation that may persist after Kalman filtering, producing a trajectory with consistent directional intent. In some embodiments, the sliding window may consist of 20 to 50 recent positions prior to the current frame. In a preferred embodiment, 31 frames are used as the size of the sliding window.
[0207] The inertial smoother is the fourth smoothing stage in the multi-stage viewport smoothing pipeline 1300. The inertial smoother incorporates the previous frame's viewport velocity scaled by a configurable inertia factor, providing momentum-based movement continuity that prevents the viewport from stopping abruptly when tracked action changes direction. The inertial smoother blends the extrapolated trajectory from the linear regression extrapolator with a momentum term derived from the previous velocity, producing movement that decelerates naturally when the target position changes. The inertia factor of the inertial smoother is selected from the per-state parameter set defined by the motion state classifier 1310.
[0208] The exponential moving average is the fifth and final smoothing stage in the multi-stage viewport smoothing pipeline 1300. The exponential moving average blends the current processed value from the inertial smoother with the previous smoothed output using a configurable smoothing factor alpha. The exponential moving average further reduces high-frequency residual variations, producing the smoothed viewport output 1390 that is provided to the command generator 108 or to the Al-enhanced path generation stage 1170 within the real-time processing pipeline 1100. The smoothing factor alpha of the exponential moving average is selected from the per-state parameter set, with higher alpha values in the stopped and steady states providing more aggressive smoothing and lower alpha values in the following state preserving responsiveness. In an example embodiment, the moving average may be implemented such that new_viewport = current_viewport x (1 - moving-average) + previous x moving_average). A larger movingaverage value would reflect a bias for previous viewport state values, resulting in more aggressive smoothing.
[0209] In operation, the smoothing stages may be implemented in alternative orders with stages swapped or replaced. The parameters of each smoothing component may be dynamically adjusted based on the motion state classifier 1310 that examines the distance between the current raw viewport target and the smoothed viewport output, classifying the state based on whether this distance indicates no desired movement, gradual tracking, or rapid pursuit of new action. Each motion state maps to a distinct set of smoothing parameters. For example, the actively-following state may use reduced moving average smoothing and lower threshold limits to improve responsiveness, while the steady state may use higher smoothing to maintain consistent panning. This adaptive parameterization enables the system to simultaneously achieve responsive action tracking during dynamic play and smooth, stable output during steady-state panning or idle periods.
[0210] For example, during an ice hockey broadcast, when play transitions rapidly from one end of the rink to the other (a rush or breakaway), the motion state classifier detects the large displacement between the raw viewport and the current output, transitions to the actively-following state, and reduces smoothing parameters to allow the viewport to quickly track the developing play. As the play settles into the offensive zone, the classifier transitions to the steady state and increases smoothing, producing the smooth, stable camera work characteristic of professional hockey broadcasts. When play stops for a faceoff, the classifier transitions to the stopped state, and the viewport holds steady with maximum smoothing to prevent drift.
[0211] In some embodiments, each viewport is defined by three parameters: a horizontal center position (x), a vertical center position (y), and a zoom level, each expressed as a normalized value within the range [0, 1] relative to the source video frame dimensions. For virtual PTZ operation, the horizontal center position corresponds to pan, the vertical center position corresponds to tilt, and the zoom level corresponds to the field of view extracted from the source frame.
[0212] Referring back to the ice hockey broadcast scenario above, during steady offensive-zone play, example raw viewport values may be x = 0.612, y = 0.483, zoom = 0.58, while the corresponding smoothed viewport values after the multi-stage viewport smoothing pipeline 1300 may be x = 0.609, y = 0.481, zoom = 0.60. The difference between raw and smoothed values on the horizontal axis, 0.003 normalized units, corresponds to approximately 6 pixels on a 1920-pixel-wide output frame— the removal of such differences in multiple frames may contribute to the production of smooth camera / viewport movement as opposed to the potentially jittery raw outputs.
[0213] The smoothed viewport output 1390 represents the final output of the multi-stage viewport smoothing pipeline 1300 for each axis. The smoothed viewport output 1390 may be used directly as the viewport path component of the plurality of camera control parameters in deployments, or it may serve as an intermediate input (the raw viewport path 502) to the generative camera path generation pipeline 500. Inthe latter case, the multi-stage viewport smoothing pipeline 1300 acts as a preprocessing stage that reduces noise and extreme variations before the generative camera path model 404 applies learned naturalistic refinement. The multi-stage viewport smoothing pipeline 1300 and the generative camera path generation pipeline 500 may thus operate in sequence within the broadcasting system 100, with each pipeline addressing a different aspect of camera movement quality: the multi-stage viewport smoothing pipeline 1300 providing deterministic noise reduction and responsive tracking, and the generative camera path generation pipeline 500 providing learned naturalistic movement characteristics.
[0214] In some embodiments, the multi-stage viewport smoothing pipeline 1300 processes the raw viewport values produced by the viewport calculation stage 1150, and the resulting smoothed viewport output 1390 is provided either directly to the output rendering stage 1180 or as input to the generative camera path generation pipeline 500. In alternative embodiments, the generative camera path model 404 receives unsmoothed raw viewport values and the multi-stage viewport smoothing pipeline 1300 operates on the output of the generative camera path model 404.
[0215] FIG. 14 is an example output video frame 1400 with overlaid viewports reflective of a raw viewport and a smoothed viewport during a hockey game broadcast, in accordance with an embodiment.
[0216] The overlaid graphics on video frame 1400 include a first rectangle 1410 representing the raw viewport computed by the detection clustering module 306, and a second rectangle 1420 representing the smoothed viewport output 1390 produced by the multi-stage viewport smoothing pipeline 1300. The visible offset between the two rectangles illustrates the computational effect of the five-stage smoothing pipeline on a frame-by-frame basis.
[0217] In the depicted video frame 1400, play is approaching the offensive zone with players clustered near the blue line. The broadcasting system 100 has detected 12 player bounding boxes and a puck location (detected or estimated) in the current frame. The detection clustering module 306 applies the density-based spatial clustering algorithm 360 (such as HDBSCAN with cluster_selection_epsilon = 0.4, min_cluster_size = 2) to the 12 player center positions, producing three identified clusters: a primary cluster of 8 players near the blue line, a secondary cluster of 3 players near the centre line, and one outlier player away from the play. The cluster selection module 370 evaluates each cluster using the cluster selection factors 372: the primary cluster receives a high count fraction score (8 / 12 = 0.667, weighted at 1.0), a high zone weighting score (within the offensive zone mask, weighted at 0.1), and a high temporal consistency score (closest to the previous frame's centroid, weighted at 0.2). The cluster with the highest composite score is selected as the primary cluster.
[0218] The center calculator computes the viewport centroid as a weighted blend of the player cluster mean and the puck position. With the puck in this frame at position (0.235, 0.490) with confidence 0.82, the puck weight is set to 0.82. The cluster player mean is at (0.247, 0.472). The blended centroid is computed as:
[0219] x_centroid = 0.247 x (1 - 0.82) + 0.235 x 0.82 = 0.044 + 0.193 = 0.237
[0220] y_centroid = 0.472 x (1 - 0.82) + 0.490 x 0.82 = 0.085 + 0.402 = 0.487.
[0221] If the puck were to be lost by the computer vision engine 104 in the subsequent frame, the puck weight would decay by a factor of 0.95 per frame — after 10 frames without a puck detection, the weight drops from 0.82 to 0.82 x O.9510~ 0.49, gradually reducing the puck's influence on the viewport center.
[0222] The game state classifier 308 evaluates the centroid position against sport-specific zone masks and determines the game state is GOAL_AREA, based on the centroid falling within the goal area segmentation mask. The zoom calculator computes the base zoom from the spatial spread of the 8 cluster players (spread = 0.42 in x, padded by zoom_padding = 1.0), yielding a base zoom of 0.42. The GOAL_AREA game state applies a tightening multiplier of 0.9, producing zoom = 0.42 x 0.9 = 0.378, which is clamped to the configured minimum of 0.30, yielding a final raw zoom of 0.378. The raw viewport values for output frame 1400 are therefore: x = 0.237, y = 0.487, zoom = 0.378.
[0223] The motion state classifier 1310 within the multi-stage viewport smoothing pipeline 1300 compares the raw viewport value 1302 to the previous smoothed viewport output 1390. For the x-axis, the previous smoothed output was x = 0.241, and the raw input is x = 0.237, yielding a distance of |0.241 -0.2371 = 0.004. Because 0.004 < 0.01 , the motion state classifier classifies the x-axis as "stopped.” The perstate parameter set for the stopped state is loaded as: threshold_step = 0.05, moving_average = 0.99, inertia = 0.9, linearj = 1.0.
[0224] The five smoothing stages then process the x-axis value sequentially. Stage 1 — threshold limiter: the raw displacement from the previous smoothed output is 0.237 - 0.241 = -0.004. Because |-0.004| < threshold_step (0.05), no clamping occurs. The output of the threshold limiter is x = 0.237. For stage 2 — Kalman filter: the Kalman filter maintains a 6-dimensional state vector [x, y, zoom, v_x, v_y, v_zoom]. The Kalman filter predicts the next position using a constant-velocity model, then updates its estimate using the threshold limiter output as the observation. The Kalman filter accounts for the estimated velocity (v_x ~ -0.002 per frame based on recent history), producing a filtered estimate of x = 0.238. For stage 3 — linear regression extrapolator: the extrapolator maintains a sliding window of the 31 most recent Kalman-filtered x values. The extrapolator fits a regression line to these values and extrapolates to the window endpoint, scaled by linearj = 1.0 for the stopped state. With a near-zero slope reflecting the settled offensive zone play, the extrapolated value is x = 0.238. For stage 4 — inertial smoother: the inertial smoother adds the previous frame's viewport velocity (approximately -0.001) scaled by the inertia factor (0.9 for the stopped state), yielding x = 0.238 + (-0.001 x 0.9) = 0.237. Lastly, for stage 5 — exponential moving average: the exponential moving average blends the inertial smoother output with the previous smoothed value using the moving_a verage weight of 0.99 for the stopped state, yielding x = 0.237 x (1 - 0.99) +0.241 x 0.99 = 0.00237 + 0.23859 = 0.241.
[0225] The smoothed viewport output for the x-axis is therefore x = 0.241. An analogous computation is performed independently for the y-axis and zoom axis using a similar method.
[0226] The net visible effect in the depicted example is that while the raw viewport shifted by 0.004 normalized units (approximately 8 pixels on a 1920-wide output), the smoothed viewport shifted by less than 0.001 normalized units (approximately 2 pixels). When viewed over time, this difference produces the stable, drift-free viewport hold characteristic of professional broadcasts during settled play. The stopped motion state, triggered by the small distance between raw and smoothed viewports, applies aggressive smoothing parameters (moving_average = 0.99) that heavily weight the previous output, preventing the viewport from drifting in response to minor detection noise while players are clustered near the goal.
[0227] FIGs. 15A- 15E are a series of illustrative video frames with overlaid viewports reflective of a raw viewport and a smoothed viewport over time during a hockey game broadcast, in accordance with an embodiment. The top-down camera angle is chosen as an example to illustrate the relationship between game state and viewport positions. A progression of five frames represents key gameplay progression moments during an ice hockey broadcast, illustrating how an embodiment of the broadcasting system 100 processes a developing play sequence.
[0228] At a first frame 1510 as shown in FIG. 15A, play is stopped for a center-ice faceoff. The object detector 302 detects 10 player bounding boxes clustered tightly around the center faceoff circle and identifies 2 referee bounding boxes. The puck is not detected, as it is occluded by players positioned for the faceoff. The detection clustering module 306 applies the density-based spatial clustering algorithm and identifies a single dominant cluster containing all 10 players, centered at the faceoff dot.
[0229] The game state classifier 308 classifies the game state as CENTER_PLAY based on the centroid falling within the center-play segmentation mask. The zoom calculator computes a base zoom of 0.61 from the spatial spread of the clustered players. Because the game state is CENTER_PLAY (neither GOAL_AREA nor FAST_ACTION), no game-state zoom multiplier is applied, and the zoom is clamped within the configured range [0.30, 0.85], yielding a raw zoom of 0.61.
[0230] The motion state classifier 1310 classifies all three axes as "stopped” because the distance between the raw viewport and the previous smoothed viewport is less than 0.01 normalized units on each axis. With the stopped state active, the moving_average parameter is set to 0.99, providing maximum temporal smoothing. The smoothed viewport output matches the raw viewport to within 0.001 normalized units, producing effectively identical raw and smoothed viewports. An example computational state of the broadcasting system 100 is summarized in the table below:Parameter ValuePlayers detected 10Puck detected NoGame state CENTRE_PLAYMotion state (x) stoppedRaw viewport x: 0.500, y: 0.470, zoom: 0.61Smoothed viewport x: 0.500, y: 0.470, zoom: 0.61Delta (x) 0.000
[0231] At a second frame 1520 as shown in FIG. 15B, depicting parameters approximately 1 second (30 frames) after the first frame 1510, the puck has been dropped and won by the home team. The object detector 302 detects 10 player bounding boxes and identifies the puck for the first time in this sequence at position (0.470, 0.480) with confidence 0.78. The detection clustering module 306 identifies the same dominant cluster, now shifted slightly left as players begin to move. The center calculator computes the blended centroid with the newly detected puck receiving weight 0.78:
[0232] x_centroid = 0.490 x (1 - 0.78) + 0.470 x 0.78 = 0.108 + 0.367 = 0.474
[0233] The game state classifier 308 classifies the game state as NORMAL — the centroid has moved out of the center-play zone mask, and the action is not yet fast enough to trigger FAST_ACTION. The raw viewport shifts to x = 0.474, a displacement of 0.026 from the previous frame's smoothed value (0.500).
[0234] The motion state classifier 1310 classifies the x-axis as "steady” because the distance 0.026 falls within the steady range [0.01, 0.20). The per-state parameter set switches from stopped to steady: moving_a verage decreases from 0.99 to 0.97, inertia decreases from 0.9 to 0.7, enabling moderately more responsive tracking. The smoothed viewport begins to track the raw viewport, but with significant damping — the EMA at 0.97 means 97% of the output comes from the previous smoothed value and only 3% from the new input. An example computational state of the broadcasting system 100 is summarized in the table below:Parameter ValuePlayers detected 10Puck detected Yes (conf: 0.78)Game state NORMALMotion state (x) steadyRaw viewport x: 0.474, y: 0.472, zoom: 0.62Smoothed viewport x: 0.498, y: 0.470, zoom: 0.61Delta (x) 0.024
[0235] At a third frame 1530 as shown in FIG. 15C, depicting parameters approximately 2.5 seconds (75 frames) after the first frame 1510, a breakout pass has been completed and the play is accelerating through the neutral zone. The object detector 302 detects 11 player bounding boxes distributed across the neutral and offensive zones, with 2 players ahead of the play. The puck is detected at position (0.290, 0.465) withconfidence 0.71 (lower confidence due to motion blur during the pass). The detection clustering module 306 identifies two clusters: a primary cluster of 8 players following the play, and a secondary cluster of 3 players trailing in the defensive zone. The cluster selection factors 372 select the primary cluster based on its higher count fraction (8 / 11) and temporal consistency with the previous frame's centroid.
[0236] The game state classifier 308 evaluates the centroid velocity relative to the standard deviation of recent centroid positions. The centroid has jumped significantly compared to the statistical baseline, and the classifier determines the game state is FAST_ACTION, triggering the zoom multiplier of 1.7. The base zoom of 0.44 (from the spread of the 8-player cluster) is multiplied: 0.44 x 1.7 = 0.748, clamped to 0.748, widening the viewport to capture the developing rush.
[0237] The raw viewport x has shifted abruptly to 0.290 — during the breakout, the density-based clustering algorithm selected a forward cluster of players ahead of the play, causing a rapid centroid shift. The smoothed viewport is still at approximately 0.500 (lagging due to the heavy EMA smoothing from the preceding stopped state). The distance between raw and smoothed on the x-axis is |0.290 - 0.500| = 0.210, which exceeds the 0.20 threshold and triggers the following motion state.
[0238] The broadcasting system 100 reduces the moving_average parameter from 0.97 to 0.95, decreases the weight on the previous output, and increases responsiveness. The inertia factor increases to 0.9 and linearj increases to 1.1, allowing the smoothing pipeline to pursue the rapidly moving target more aggressively. Despite the reduced smoothing, the threshold limiter still constrains per-frame displacement to 0.05 normalized units, preventing the viewport from jumping abruptly and maintaining visual stability for the viewer. An example computational state of the broadcasting system 100 is summarized in the table below:Parameter ValuePlayers detected 11Puck detected Yes (conf: 0.71)Game state FAST_ACTIONMotion state (x) followingRaw viewport x: 0.290, y: 0.465, zoom: 0.75Smoothed viewport x: 0.500, y: 0.469, zoom: 0.66Delta (x) 0.210
[0239] At a fourth frame 1540 as shown in FIG. 15D, depicting parameters approximately 4 seconds (120 frames) after the first frame 1510, the rush has entered the offensive zone. The object detector 302 detects 12 player bounding boxes, with the attacking players converging toward the goal area. The puck is detected at position (0.240, 0.478) with a high confidence of 0.85 as the puck carrier enters the slot. The detection clustering module 306 identifies a dominant cluster of 9 players near the goal, with the cluster centroidshifting further toward the net. The puck detection at high confidence sets the puck weight to 0.85, which pulls the blended centroid closer to the puck position.
[0240] The game state classifier 308 classifies the game state as GOAL_AREA — the centroid has entered the goal area segmentation mask. The zoom multiplier switches from 1.7 (FAST_ACTION) to 0.9 (GOAL_AREA), tightening the viewport: base zoom 0.48 x 0.9 = 0.432. This tighter framing focuses the viewer's attention on the developing scoring opportunity.
[0241] The smoothed viewport has been tracking through the rush, first in following mode and now back in steady mode as the gap narrows. The distance between raw (x = 0.240) and smoothed (x = 0.310) is 0.070, within the steady range [0.01, 0.20). The transition from following back to steady reflects the smoothing pipeline's success in closing the gap — the aggressive following parameters (EMA 0.95, inertia 0.9) allowed the smoothed viewport to reduce the distance from 0.210 in the third frame to 0.070 here. Now in steady mode, the EMA returns to 0.97, maintaining smooth tracking without overshooting the settling action.Parameter ValuePlayers detected 12Puck detected Yes (conf: 0.85)Game state GOAL_AREAMotion state (x) steadyRaw viewport x: 0.240, y: 0.478, zoom: 0.43Smoothed viewport x: 0.310, y: 0.474, zoom: 0.55Delta (x) 0.070
[0242] At a fifth frame 1550 as shown in FIG. 15E, depicting parameters approximately 5.5 seconds (165 frames) after the first frame 1510, a shot has been taken on goal. The object detector 302 detects 12 player bounding boxes clustered tightly around the goal crease, with the goaltender positioned in the net. The puck is detected near the goaltender at position (0.220, 0.485) with confidence 0.79. The detection clustering module 306 identifies a single dominant cluster of 10 players in the goal area. The zone weighting within the cluster selection factors 372 strongly favors this cluster due to its location within the goal area mask.
[0243] The game state classifier 308 maintains the GOAL_AREA classification. The zoom multiplier of 0.9 continues to apply, producing a tighter framing of 0.40 x 0.9 = 0.36, clamped to 0.36 — the tightest zoom in the sequence, focusing on the goal-mouth action.
[0244] The smoothed viewport has nearly converged with the raw viewport. The distance on the x-axis is |0.220 - 0.245| = 0.025, still in the steady range but approaching the stopped threshold (0.01). As the play settles around the goal, the motion state classifier will transition to stopped within the next few frames, further increasing smoothing parameters and holding the viewport steady on the goal-area action. The raw andsmoothed viewport rectangles are nearly coincident, indicating that the multi-stage smoothing pipeline has successfully tracked the play from center ice to the offensive zone while maintaining smooth, natural camera movement throughout.Parameter ValuePlayers detected 12Puck detected Yes (conf: 0.79)Game state GOAL_AREAMotion state (x) steady (approaching stopped)Raw viewport x: 0.220, y: 0.485, zoom: 0.36Smoothed viewport x: 0.245, y: 0.481, zoom: 0.42Delta (x) 0.025
[0245] The sequence demonstrates five computational processes of the example embodiment of the broadcasting system 100: (1) the motion state classifier cycling through all three states — "stopped” during the faceoff, "following” during the abrupt breakout, and "steady” as the smoothed viewport closes the gap — with each state selecting distinct smoothing parameters; (2) the game state classifier triggering zoom adjustments (e.g., widening for FAST_ACTION, tightening for GOAL_AREA); (3) the puck detection weighting scheme pulling the viewport toward the puck with confidence-proportional influence; (4) the five-stage smoothing pipeline producing lag-free convergence without overshoot or oscillation; and (5) the adaptive transition between motion states, where the aggressive following parameters (EMA 0.95, inertia 0.9) allow the pipeline to close a 0.210 gap down to 0.070 over approximately 45 frames, then transition back to steady for stable tracking.
[0246] FIG. 15F is an example time-series plot 1560 showing the raw viewport x-coordinates and the smoothed viewport x-coordinates of approximately 120 frames during an example ice hockey broadcast, in accordance with an embodiment. The time axis of the time-series plot 1560 depicts six sequential gameplay phases: a faceoff phase, a puck drop phase, a breakout phase, a rush phase, an offensive zone phase, and a shot phase, corresponding to game states classified by an embodiment of the game state classifier 308 during the depicted sequence. The time-series plot 1560 illustrates the progression of play from an initial faceoff through a rush developing into an offensive zone entry and shot.
[0247] The time-series plot 1560 is generated using production smoothing parameters from an ice hockey sport profile, including exemplary exponential moving average weights of 0.99, 0.97, and 0.95 for the horizontal, vertical, and zoom axes respectively, a threshold step size of 0.05 normalised units, inertia factors of 0.9, 0.7, and 0.9, Kalman filter process noise and measurement noise values of 1.0 and 1.0, and a linear regression sliding window of 31 frames, demonstrating the multi-stage viewport smoothing pipeline1300's ability to produce smooth tracking behavior of professional broadcast camera work through computational processing of the viewport coordinates.
[0248] A raw viewport line represents the normalised x-coordinate of the raw viewport values 1302 as computed directly by the detection-tracking-clustering pipeline prior to application of the multi-stage viewport smoothing pipeline 1300. The raw viewport line exhibits noise, frame-to-frame jitter, and rapid positional changes, particularly during the breakout phase, characteristic of frame-by-frame detection-based viewport computation. A smoothed viewport line represents the normalised x-coordinate of the viewport after sequential processing through the threshold limiter, Kalman filter, linear regression extrapolator, inertial smoother, and exponential moving average components of an embodiment of the multi-stage viewport smoothing pipeline 1300. The smoothed viewport line follows the raw viewport trace line with a characteristic lag, exhibiting smooth deceleration and natural convergence toward the raw viewport position without overshooting or oscillating, demonstrating the natural fluidity of camera movement produced by the smoothing pipeline.
[0249] Different motion states, as determined by the viewport motion state classifier 1310, are correspondingly indicated along the time axis of the time-series plot 1560. There are three identified motion states in the example as depicted: during the faceoff phase, the motion state classifier 1310 categorises the viewport behavior as stopped, reflecting that the viewport is stationary with maximum smoothing applied; during the breakout phase, when the raw viewport x-coordinate advances ahead of the smoothed viewport x-coordinate by more than a configured displacement threshold, the motion state classifier transitions to a following state, and the smoothing parameters for each pipeline component are reduced to improve responsiveness, as described with reference to FIG. 13; and as the smoothed viewport line converges toward the raw viewport line, the motion state classifier 1310 transitions to a steady state for the remainder of the sequence, in which increased smoothing parameters are applied to maintain consistent, stable panning.
[0250] The broadcasting system 100 and the methods described herein may be deployed across a range of use cases. The following are non-limiting examples of deployment scenarios in which the system 100 provides particular advantages.
[0251] In a youth and amateur sports deployment, the broadcasting system 100 enables broadcastquality video production for sporting events that lack the budget for professional camera operators and production crews. The system 100 receives video feeds from one or more fixed wide-angle cameras 80 installed at the venue and generates camera control parameters that produce a virtual viewport path emulating the shot composition and camera movement of a professional broadcast. Parents, coaches, and league organizations can access the resulting video output via the network 50, providing coverage that would otherwise be economically infeasible.
[0252] In a multi-venue deployment, a single operator monitors multiple concurrent sporting events, each captured by one or more cameras 80 at a respective venue. A separate instance of the broadcasting system100, or a shared instance processing multiple video feeds in parallel, generates camera control parameters for each venue independently. The operator's role is reduced to supervisory oversight and occasional manual overrides, enabling a single production team to cover a number of simultaneous events that would otherwise require a dedicated crew per venue.
[0253] In a professional broadcast augmentation deployment, the broadcasting system 100 operates alongside a human camera operator and production crew. The system 100 generates suggested camera control parameters that are presented to the operator via the I / O interface 1606 as real-time recommendations. The operator may accept, modify, or override the suggested parameters. In this deployment, the system 100 functions as an intelligent assistant that reduces operator cognitive load during fast-paced game sequences and provides a safety net that maintains broadcast quality if the operator's attention is momentarily diverted.
[0254] In a personalized viewing deployment, the broadcasting system 100 generates multiple simultaneous video outputs from the same set of video feeds, each with different camera control parameters reflecting different viewer preferences. For example, a first video output may track the overall flow of play using wide framing and smooth panning, while a second video output may follow a specific player or team with tighter framing and more aggressive zoom behavior. The plurality of adaptation parameters and the cinematic style model 406 are configured independently for each output stream, enabling personalized viewing experiences delivered over the network 50 to different viewers 10.
[0255] In a replay and highlight production deployment, the broadcasting system 100 processes previously recorded video feeds rather than live feeds. The system 100 applies the same processing pipeline 1100 to the recorded footage, generating camera control parameters that produce highlight clips, condensed game summaries, or alternative-angle replays. Because the system 100 processes recorded footage in the same manner as live footage, the same adaptation parameters, Al models, and cinematic style configurations are used, ensuring visual consistency between live broadcast output and post-event highlight content.
[0256] In some embodiments, the broadcasting system 100 reduces the number of skilled personnel required to produce a broadcast-quality sports production, enabling coverage of events that would otherwise lack professional production resources. In some embodiments, the sport-specific adaptation framework 1200 and the plurality of adaptation parameters enable rapid deployment to new sports and new venues without requiring sport-specific algorithm redesign. In some embodiments, the adaptive learning methodology enables incremental improvement across successive deployments, reducing the ongoing engineering effort required to maintain and improve broadcast quality. In some embodiments, the edge-cloud deployment architecture provides deployment flexibility, enabling the system 100 to operate on venue-local hardware, on cloud infrastructure, or on a hybrid combination, depending on the computational resources and network connectivity available at each venue. In some embodiments, the multi-camera direction capabilities enablea single system 100 to replace or augment an entire production crew, including camera operators, a technical director, and a replay operator.
[0257] FIG. 16 is a schematic diagram of a computing device 1600 that may be used to implement the broadcasting system 100, in accordance with an embodiment.
[0258] As depicted, computing device 1600 includes a processing subsystem with one or more processors 1602, one or more memories 1604, and a communication subsystem with one or more I / O interfaces 1606 and one or more network interfaces 1608.
[0259] Each processor 1602 may be, for example, any type of microprocessor or microcontroller, a digital signal processing (DSP) processor, an integrated circuit, a field programmable gate array (FPGA), a reconfigurable processor, a programmable read-only memory (PROM), or any combination thereof. Processor 1602 may, for example, include one or more central processing units (CPUs), a graphics processing unit (GPU), a quantum processing unit (QPU), or the like. In some embodiments, the processor 1602 includes a GPU configured to execute the object detection models deployed at the detection stage 1130, the generative camera path model 404, the action prediction model 402, the cinematic style model 406, and the quality assessment network 408 described with reference to FIG. 4.
[0260] Memory 1604 may include a suitable combination of any type of computer memory that is located either internally or externally, such as, for example, random-access memory (RAM), read-only memory (ROM), compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferroelectric RAM (FRAM), or the like.
[0261] Memory 1604 may store machine-interpretable instructions that, when executed by the processor 1602, cause the computing device 1600 to perform the methods described herein. Memory 1604 may further store, as non-limiting examples, the plurality of adaptation parameters maintained by the game context engine 106, including sport profile data loaded from the sport profile library 1220 and state machine configurations 1104; trained model weights for the artificial intelligence model trained on video data of historical professional sports broadcasts, including weights for the generative camera path model 404, the action prediction model 402, the cinematic style model 406, and the quality assessment network 408; object tracking data structures generated by the object tracker 304; game state data structures generated by the game state classifier 308; and derived style representations 918.
[0262] Each I / O interface 1606 enables computing device 1600 to interconnect with one or more input devices, such as a keyboard, mouse, camera, touch screen, and a microphone, or with one or more output devices such as a display screen and a speaker.
[0263] I / O interface 1606 may include a user interface providing broadcast operators with a visual dashboard displaying the current camera control parameters, the detected game state, the object tracking data structure, and system status information including per-module latency metrics and adaptive computemanagement status. Through I / O interface 1606, an operator may configure the plurality of adaptation parameters, select a target cinematic style, specify sport profile overrides, or manually intervene in camera control decisions when desired.
[0264] Each network interface 1608 enables computing device 1600 to communicate with other components via the communication network 50 described with reference to FIG. 1, to exchange data with other components, to access and connect to network resources, to serve applications, and to perform other computing applications by connecting to a network (or multiple networks) capable of carrying data including the Internet, Ethernet, plain old telephone service (POTS) line, public switch telephone network (PSTN), integrated services digital network (ISDN), digital subscriber line (DSL), coaxial cable, fiber optics, satellite, mobile (e.g., Wi-Fi, WiMAX, Li-Fi), SS7 signaling network, fixed line, local area network, wide area network, and others, including any combination of these. Network interface 1608 enables the computing device 1600 to receive the at least one video feed from the plurality of cameras 80 and to transmit the video output for broadcasting to the plurality of viewers 10.
[0265] The foregoing discussion provides many example embodiments of the inventive subject matter. Although each embodiment represents a single combination of inventive elements, the inventive subject matter is considered to include all possible combinations of the disclosed elements. Thus if one embodiment comprises elements A, B, and C, and a second embodiment comprises elements B and D, then the inventive subject matter is also considered to include other remaining combinations of A, B, C, or D, even if not explicitly disclosed.
[0266] The embodiments of the devices, systems and methods described herein may be implemented in a combination of both hardware and software. These embodiments may be implemented on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface.
[0267] Program code is applied to input data to perform the functions described herein and to generate output information. The output information is applied to one or more output devices. In some embodiments, the communication interface may be a network communication interface. In embodiments in which elements may be combined, the communication interface may be a software communication interface, such as those for inter-process communication. In still other embodiments, there may be a combination of communication interfaces implemented as hardware, software, and combination thereof.
[0268] Throughout the foregoing discussion, numerous references will be made regarding servers, services, interfaces, portals, platforms, or other systems formed from computing devices. It should be appreciated that the use of such terms is deemed to represent one or more computing devices having at least one processor configured to execute software instructions stored on a computer readable tangible, non-transitory medium. For example, a server can include one or more computers operating as a web server,database server, or other type of computer server in a manner to fulfill described roles, responsibilities, or functions.
[0269] The technical solution of embodiments may be in the form of a software product. The software product may be stored in a non-volatile or non-transitory storage medium, which may be a compact disk read-only memory (CD-ROM), a USB flash disk, or a removable hard disk. The software product includes a number of instructions that enable a computer device (personal computer, server, or network device) to execute the methods provided by the embodiments.
[0270] The embodiments described herein are implemented by physical computer hardware, including computing devices, servers, receivers, transmitters, processors, memory, displays, and networks. The embodiments described herein provide useful physical machines and particularly configured computer hardware arrangements.
[0271] Of course, the above-described embodiments are intended to be illustrative only and in no way limiting. The described embodiments are susceptible to many modifications of form, arrangement of parts, details, and order of operation. The disclosure is intended to encompass all such modifications within its scope, as defined by the claims.
Claims
WHAT IS CLAIMED IS:
1. A computer-implemented method for automated sports broadcast camera control, the method comprising:receiving at least one video feed from at least one camera capturing a sporting event; maintaining a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event;processing the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed;a game state data structure including data defining a state of play of the sporting event; generating a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includes at least one of a viewport path, a video feed selection, and a camera movement command; andapplying the camera control parameters to the at least one video feed to generate a video output for broadcasting.
2. The computer-implemented method of claim 1, further comprising:issuing at least one of the camera movement commands to the at least one camera.
3. The computer-implemented method of claim 1, further comprising:extracting a viewport from the at least one video feed.
4. The computer-implemented method of claim 1, wherein said processing the at least one video feed includes detecting at least one of players, officials, equipment, or sport-specific objects within a video frame of the at least one video feed.
5. The computer-implemented method of claim 1, wherein the object tracking data structure includes position, velocity, and trajectory information for at least one of the plurality of tracked objects.
6. The computer-implemented method of claim 1 , wherein the game state data structure is generated upon categorizing a current state of play based on object positions, movement patterns, or spatial distribution relative to sport-specific zones of interest.
7. The computer-implemented method of claim 1, wherein said generating the plurality of camera control parameters uses a finite state machine with sport-specific states and transition rules that govern viewport behavior.
8. The computer-implemented method of claim 1, further comprising:detecting the specific type of sport upon said processing the at least one video feed; and selecting the plurality of adaptation parameters based on said detecting the specific type of sport.
9. The computer-implemented method of claim 1, wherein said generating the plurality of camera control parameters includes generating a camera movement path using a generative camera path model trained on data reflective of camera movements extracted from professional sports broadcast footage.
10. The computer-implemented method of claim 9, wherein the generative camera path model includes a denoising diffusion probabilistic model that iteratively refines noise-corrupted viewport paths through a reverse diffusion process.
11. The computer-implemented method of claim 9, wherein the generative camera path model includes a flow matching model that generates camera movement paths by integrating a velocity field from an initial path distribution toward the target distribution of camera movements from professional sports broadcast footage.
12. The computer-implemented method of claim 9, wherein the generative camera path model includes an autoregressive sequence model that produces camera movement paths by sequentially predicting each successive viewport position conditioned on previously generated positions.
13. The computer-implemented method of claim 1, further comprising:generating a prediction of a future game action; andwherein said generating the plurality of camera control parameters takes into account the prediction.
14. The computer-implemented method of claim 1, wherein said generating the plurality of camera control parameters includes evaluating available camera feeds or viewport options based on at least one of aesthetic quality, storytelling value, and adherence to sport-specific broadcasting conventions.
15. The computer-implemented method of claim 1, wherein the plurality of camera control parameters is generated to exhibit stylistic characteristics derived from analysis of professional broadcast footage.
16. The computer-implemented method of claim 1, further comprising:refining the generative camera path model based on new broadcast footage and operational data collected during live deployments.
17. A computer-implemented system for automated sports broadcast camera control, the system comprising:a processing subsystem that includes one or more processors and one or more memories coupled with the one or more processors, the processing subsystem configured to cause the system to:receive at least one video feed from at least one camera capturing a sporting event; maintain a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event;process the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed;a game state data structure including data defining a state of play of the sporting event;generate a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includes at least one of a viewport path, a video feed selection, and a camera movement command; and apply the camera control parameters to the at least one video feed to generate a video output for broadcasting.
18. The computer-implemented system of claim 17, wherein the at least one camera includes a physically articulating camera.
19. The computer-implemented system of claim 18, wherein the plurality of camera control parameters is generated taking into account a physics model of the physically articulating camera.
20. A non-transitory computer readable medium storing machine interpretable instructions, which when executed by one or more processors, cause the one or more processors to perform a method for automated sports broadcast camera control, the method comprising:receiving at least one video feed from at least one camera capturing a sporting event; maintaining a plurality of adaptation parameters to adapt camera control to a specific type of sport of the sporting event;processing the at least one video feed, using the plurality of adaptation parameters, to generate: an object tracking data structure including data defining a plurality of tracked objects within the at least one video feed;a game state data structure including data defining a state of play of the sporting event; generating a plurality of camera control parameters by providing the game state data structure and the object tracking data structure to an artificial intelligence model trained on video data of historical professional sports broadcasts, wherein the plurality of camera control parameters includes at least one of a viewport path, a video feed selection, and a camera movement command; andapplying the camera control parameters to the at least one video feed to generate a video output for broadcasting.