# US 12,726,664 B2 · Methods and apparatus for generating a live stream for a connected device

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

- Number: US 12,726,664 B2
- Document ID: US12726664B2
- Status: Granted
- Kind: B2
- Application number: 18/320,947
- Filed: 2023-05-19
- Published: 2024-11-07
- Granted: 2026-09-01
- Earliest claimed: 2023-05-04
- Assignees: GoPro, Inc.
- Applicants: GoPro, Inc.
- Inventors: Shiva Kumar Mallegowda; Pradarshan Kini Gavali; Ojas Gandhi
- Web page: https://patentgrep.com/patent/US12726664B2

## CPC

- H04N 21/234381: {by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping}
- H04N 21/2187: Live feed
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems, apparatus, and methods for selectively parsing a live stream for a connected device. GoPro® cameras capture 2 video streams for every recording: a main resolution video (MRV) and a frame aligned low-resolution video (LRV). Currently, the LRV is streamed to other devices for playback in real-time. Unfortunately, not all devices in the mobile ecosystem can keep up with these transfer and playback speeds of the LRV; thus, exemplary embodiments of the present disclosure pick frames from the LRV to provide an IDR-only version that can be replayed with minimal processing burden. As a related issue, operating codecs in parallel at different resolutions can result in misaligned frame structures since each codec independently determines its “group of pictures” (GOP), etc. The described techniques define a frame correspondence that can also be used to improve post-processing at best effort.

## Claims

### Claim 1

An apparatus configured to selectively parse a live stream, comprising:
a camera sensor;
a first codec and a second codec;
a removeable media interface;
a processor; and
a non-transitory computer-readable medium comprising instructions that when executed by the processor cause the apparatus to:
determine an instantaneous decoder refresh frame rate for a first video stream and a second video stream;
configure the first codec to generate the first video stream according to the instantaneous decoder refresh frame rate and the second codec to generate the second video stream according to the instantaneous decoder refresh frame rate;
capture images via the camera sensor and encode the images via the first codec and the second codec;
store the first video stream and the second video stream to a removeable media; and
selectively parse the first video stream into a third video stream.

### Claim 2 (depends on 1)

The apparatus of claim 1, where the first codec is configured for a first resolution and the second codec is configured for a second resolution greater than the first resolution.

### Claim 3 (depends on 1)

The apparatus of claim 1, where the first codec is configured for a first frame rate and the second codec is configured for the first frame rate.

### Claim 4 (depends on 3)

The apparatus of claim 3, where the third video stream comprises a second frame rate that is slower than the first frame rate.

### Claim 5 (depends on 1)

The apparatus of claim 1, where the third video stream comprises only instantaneous decoder refresh frames.

### Claim 6 (depends on 1)

The apparatus of claim 1, where the instantaneous decoder refresh frame rate is set based on a post-processing requirement.

### Claim 7 (depends on 1)

The apparatus of claim 1, where the instantaneous decoder refresh frame rate is set based on a connected device limitation.

### Claim 8

A method, comprising:
determining an instantaneous decoder refresh frame rate for a first video stream and a second video stream;
configuring a first codec to generate the first video stream according to the instantaneous decoder refresh frame rate and a second codec to generate the second video stream according to the instantaneous decoder refresh frame rate;
capturing images via a camera sensor and encoding the images via the first codec and the second codec;
storing the first video stream and the second video stream to a removeable media; and
selectively parsing the first video stream into a third video stream.

### Claim 9 (depends on 8)

The method of claim 8, further comprising configuring the first codec for a first resolution and the second codec for a second resolution greater than the first resolution.

### Claim 10 (depends on 8)

The method of claim 8, configuring the first codec for a first frame rate and the second codec for the first frame rate.

### Claim 11 (depends on 10)

The method of claim 10, where the third video stream comprises a second frame rate that is slower than the first frame rate.

### Claim 12 (depends on 8)

The method of claim 8, where the third video stream comprises only instantaneous decoder refresh frames.

### Claim 13 (depends on 8)

The method of claim 8, further comprising setting the instantaneous decoder refresh frame rate based on a post-processing requirement.

### Claim 14 (depends on 8)

The method of claim 8, further comprising setting the instantaneous decoder refresh frame rate based on a connected device limitation.

### Claim 15

An apparatus configured to selectively parse a live stream, comprising:
a camera sensor configured to capture images;
a first logic configured to determine an instantaneous decoder refresh frame rate;
a first codec configured to encode the images into a first video stream according to the instantaneous decoder refresh frame rate;
a second codec configured to encode the images into a second video stream according to the instantaneous decoder refresh frame rate;
a removeable media interface configured to store the first video stream and the second video stream to a removeable media; and
a second logic configured to selectively parse the first video stream into a third video stream.

### Claim 16 (depends on 15)

The apparatus of claim 15, where the first codec is configured to encode the first video stream at a first resolution and the second codec is configured to encode the second video stream at a second resolution greater than the first resolution.

### Claim 17 (depends on 15)

The apparatus of claim 15, where the first codec is configured to encode the first video stream at a first frame rate and the second codec is configured to encode the second video stream at the first frame rate.

### Claim 18 (depends on 17)

The apparatus of claim 17, where the third video stream is selectively parsed to a second frame rate that is slower than the first frame rate.

### Claim 19 (depends on 15)

The apparatus of claim 15, where the third video stream is selectively parsed to include only instantaneous decoder refresh frames.

### Claim 20 (depends on 15)

The apparatus of claim 15, where the instantaneous decoder refresh frame rate is set based on a post-processing requirement.
