IP Library Granted Patent US 12,474,963
Granted Patent B2
US 12,474,963 · App. 18/058,470 · Granted Nov 18, 2025

System and method for dynamically modifying media processing functions to control optimization of a media production

Inventors: James Westland Cain (Newbury, GB); Charles S. Meyer (Grass Valley, CA)
Assignee: GRASS VALLEY CANADA
G06F9/5033H04N21/854
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,474,963
App. No.
18/058,470
Granted
Nov 18, 2025
Kind
B2
Abstract

A system is provided for dynamically modifying media processing functions to control optimization of a media production. The system includes a media processing function library that stores media processing functions that each include a subgraph embedded therein that has pre-calculated parameters and undefined variable parameters. Media processing engines execute the plurality of media processing functions to create the media production. Moreover, the system includes a media function management controller that places the media processing functions in a job queue to be executed by one or more of the media processing engines. A resource manager receives a media production instruction from a client device to partially deploy the media processing functions in the job queue. During execution, the media processing engine can receive an input deliverable that constrains the undefined variable parameters, such that the partially deployed media processing functions is dynamically modified during runtime to create the media production.

Claims (29)

1 . A system for dynamically modifying media processing functions to control optimization of a media production, the system comprising:

a media processing function library configured to store a plurality of media processing functions, with the plurality of media processing functions each including a subgraph embedded therein that has at least one pre-calculated parameter and at least one undefined variable parameter;

a plurality of media processing engines that are each configured to execute at least one of the plurality of media processing functions to create the media production, with the plurality of media processing engines each including at least one of a computer processing unit (CPU), a graphics processing unit (GPU), and a field programmable gate array (FPGA);

a media function management controller configured to place at least a portion of the plurality of media processing functions from the media processing function library in a job queue to be executed by at least one of the plurality of media processing engines for the media production, wherein the portion of the plurality of media processing functions are partially compiled before the portion of the plurality of media processing functions are placed in the job queue and the at least one media processing engine is configured to compile the partially compiled media processing functions in runtime in response to the input deliverable that constrains the at least one undefined variable parameter of the subgraph of the partially compiled media processing functions;

a resource manager configured to receive a media production instruction from a client device to partially deploy one or more of the media processing functions in the job queue to be executed by the at least one media processing engine,

wherein during execution of the partially deployed one or more media processing functions, the at least one media processing engine is configured to receive an input deliverable that constrains the at least one undefined variable parameter of the subgraph, such that the partially deployed one or more media processing functions is dynamically modified during runtime to create the media production.

2 . The system according to claim 1 , wherein the at least one undefined variable parameter comprises a file name and the received input deliverable comprises media content associated with a file having the file name.

3 . The system according to claim 1 , wherein the plurality of media processing engines are resources available in a cloud computing network.

4 . The system according to claim 3 , wherein the input deliverable comprises parameter data relating to at least one of a network type, network bandwidth, network latency, processor type, and processor location of the plurality of media processing engines in the cloud computing network.

5 . The system according to claim 1 , wherein the resource manager is further configured to receive parameter data relating to at least one of a network type, network bandwidth, network latency, processor type, and processor location of the plurality of media processing engines.

6 . The system according to claim 5 , wherein the media function management controller is further configured to apply the received parameter data as the input deliverable to constrain the at least one undefined variable parameter of the subgraph.

7 . The system according to claim 1 , wherein the portion of the plurality of media processing functions are configured to perform a render function to create an effect on media content for the media production.

8 . The system according to claim 1 , wherein the resource manager is configured to partially deploy a plurality of the media processing functions in the job queue to be executed in parallel by the plurality of media processing engines, respectively, in response to the media production instruction.

9 . The system according to claim 1 , wherein the portion of the plurality of media processing functions placed in the job queue are tasks of a media production workflow configured to generate the media production during runtime.

10 . A system for dynamically modifying media processing functions to optimize a media production, the system comprising:

a plurality of media processing engines that are each configured to execute at least one of a plurality of media processing functions to create the media production, with the plurality of media processing engines each including at least one of a computer processing unit (CPU), a graphics processing unit (GPU), and a field programmable gate array (FPGA);

a media function management controller configured to place at least a portion of the plurality of media processing functions in a job queue to be executed by at least one of the plurality of media processing engines for the media production, wherein the portion of the plurality of media processing functions are partially compiled before the portion of the plurality of media processing functions are placed in the job queue and the at least one media processing engine is configured to compile the partially compiled media processing functions in runtime in response to the input deliverable that constrains the at least one undefined variable parameter of the subgraph of the partially compiled media processing functions;

a resource manager configured to receive a media production instruction from a client device to partially deploy one or more of the media processing functions in the job queue to be executed by the at least one media processing engine,

wherein during execution of the partially deployed one or more media processing functions, the at least one media processing engine is configured to receive an input deliverable that constrains at least one undefined variable parameter, such that the partially deployed one or more media processing functions is dynamically modified during runtime to create the media production.

11 . The system according to claim 10 , further comprising a media processing function library configured to store the plurality of media processing functions, with the plurality of media processing functions each including a subgraph embedded therein that has at least one pre-calculated parameter and the at least one undefined variable parameter.

12 . The system according to claim 10 , wherein the at least one undefined variable parameter comprises a file name and the received input deliverable comprises media content associated with a file having the file name.

13 . The system according to claim 10 ,

wherein the plurality of media processing engines are resources available in a cloud computing network, and

wherein the input deliverable comprises parameter data relating to at least one of a network type, network bandwidth, network latency, processor type, and processor location of the plurality of media processing engines in the cloud computing network.

14 . The system according to claim 10 , wherein the resource manager is further configured to receive parameter data relating to at least one of a network type, network bandwidth, network latency, processor type, and processor location of the plurality of media processing engines.

15 . The system according to claim 14 , wherein the media function management controller is further configured to apply the received parameter data as the input deliverable to constrain the at least one undefined variable parameter.

16 . The system according to claim 10 , wherein the portion of the plurality of media processing functions are configured to perform a render function to create an effect on media content for the media production.

17 . The system according to claim 10 , wherein the resource manager is configured to partially deploy a plurality of the media processing functions in the job queue to be executed in parallel by the plurality of media processing engines, respectively, in response to the media production instruction.

18 . The system according to claim 10 , wherein the portion of the plurality of media processing functions placed in the job queue are tasks of a media production workflow configured to generate the media production during runtime.

Assignments (3)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTS Recorded Dec 12, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
To: MGG INVESTMENT GROUP LP
Reel/Frame 073959/0584 →
SECURITY INTEREST Recorded Mar 20, 2024
From: GRASS VALLEY CANADA; GRASS VALLEY LIMITED
To: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC
Reel/Frame 066850/0869 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2022
From: CAIN, JAMES WESTLAND; MEYER, CHARLES S
To: GRASS VALLEY CANADA
Reel/Frame 062023/0966 →
Continuity (2)
Provisional Application 63282832 · Nov 24, 2021
Related Publication 20230205589A1 · Jun 29, 2023
References Cited (4)
US 20180293102A1 · Ray et al. · 2018 [cited by applicant]
US 20190108106A1 · Aggarwal et al. · 2019 [cited by applicant]
US 20210182123A1 · Pearce · 2021 [cited by applicant]
International Search Report and Written Opinion in PCT/US2022/050930, mailed May 8, 2023, 6 pages. [cited by applicant]