# US 12,192,562 B2 · Latency compensation for external networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,562 B2
- Document ID: US12192562B2
- Status: Granted
- Kind: B2
- Application number: 18/502,767
- Filed: 2023-11-06
- Published: 2024-02-29
- Granted: 2025-01-07
- Earliest claimed: 2022-06-17
- Assignees: Userful Corporation
- Applicants: Userful Corporation
- Inventors: Stirling Graham Westrup; Reza Razavi
- Web page: https://patentgrep.com/patent/US12192562B2

## CPC

- H04N 21/43076: {of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices}
- H04N 21/4307: {Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen}
- H04N 21/44: Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N 21/440218: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 (conversion of standards in analogue television systems H04N7/01)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A request for a latency value associated with the a is received at a latency agent associated with the sink from a processing engine. The latency value associated with the sink is determined. The determined latency value associated with the sink is provided from the latency agent associated with the sink to the processing engine. A latency adjustment value is received at the latency agent associated with a sink from the processing engine. A latency associated with the sink is adjusted by the latency agent associated with the sink to match the received latency adjustment value.

## Claims

### Claim 1

A method, comprising:
receiving, at a latency agent associated with a sink from a processing engine, a request for a latency value associated with the sink;
determining the latency value associated with the sink;
providing, from the latency agent associated with the sink to the processing engine, the determined latency value associated with the sink;
receiving, at the latency agent associated with a sink from the processing engine, a latency adjustment value; and
adjusting, by the latency agent associated with the sink, a latency associated with the sink to match the received latency adjustment value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the processing engine is a video processing engine.

### Claim 3 (depends on 1)

The method of claim 1, wherein the sink is located in an internal network associated with the processing engine.

### Claim 4 (depends on 1)

The method of claim 1, wherein the sink is located in an external network separate from a network in which the processing engine is located.

### Claim 5 (depends on 1)

The method of claim 1, wherein in response to receiving the determined latency value associated with the sink, the processing engine determines a maximum latency value among a plurality of corresponding latency values received from a plurality of sinks.

### Claim 6 (depends on 5)

The method of claim 5, wherein the latency adjustment value is the determined maximum latency value.

### Claim 7 (depends on 1)

The method of claim 1, wherein the determined latency value associated with the sink is provided to the processing engine via an out-of-band network.

### Claim 8 (depends on 1)

The method of claim 1, wherein the sink is one of a plurality of sinks included in a chain of external networks.

### Claim 9 (depends on 1)

The method of claim 1, wherein the latency agent associated with the sink adjusts the latency associated with the sink to match the received latency adjustment value at a constant rate.

### Claim 10 (depends on 1)

The method of claim 1, wherein the latency agent associated with the sink adjusts the latency associated with the sink to match the received latency adjustment value at a linear rate.

### Claim 11 (depends on 1)

The method of claim 1, wherein the latency agent associated with the sink adjusts the latency associated with the sink to match the received latency adjustment value at a non-linear rate.

### Claim 12 (depends on 1)

The method of claim 1, wherein the latency agent associated with the sink adjusts the latency associated with the sink within a threshold period of time.

### Claim 13

A system, comprising:
a processor configured to:
receive, at a latency agent associated with a sink from a processing engine, a request for a latency value associated with the sink;
determine the latency value associated with the sink;
provide, from the latency agent associated with the sink to the processing engine, the determined latency value associated with the sink;
receive, at the latency agent associated with a sink from the processing engine, a latency adjustment value; and
adjust, by the latency agent associated with the sink, a latency associated with the sink to match the received latency adjustment value; and
a memory coupled to the processor and configured to provide the processor with instructions.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processing engine is a video processing engine.

### Claim 15 (depends on 13)

The system of claim 13, wherein the sink is located in an internal network associated with the processing engine.

### Claim 16 (depends on 13)

The system of claim 13, wherein the sink is located in an external network separate from a network in which the processing engine is located.

### Claim 17 (depends on 13)

The system of claim 13, wherein in response to receiving the determined latency value associated with the sink, the processing engine determines a maximum latency value among a plurality of corresponding latency values received from a plurality of sinks.

### Claim 18 (depends on 17)

The system of claim 17, wherein the latency adjustment value is the determined maximum latency value.

### Claim 19 (depends on 13)

The system of claim 13, wherein the sink is one of a plurality of sinks included in a chain of external networks.

### Claim 20

A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for:
receiving, at a latency agent associated with a sink from a processing engine, a request for a latency value associated with the sink;
determining the latency value associated with the sink;
providing, from the latency agent associated with the sink to the processing engine, the determined latency value associated with the sink;
receiving, at the latency agent associated with a sink from the processing engine, a latency adjustment value; and
adjusting, by the latency agent associated with the sink, a latency associated with the sink to match the received latency adjustment value.
