IP Library Patent Application 18915869
Patent Application
App. No. 18/915,869

SYSTEMS AND METHODS FOR SPATIALLY SELECTIVE VIDEO CODING

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 None
App. No.
18/915,869
Filed
Oct 15, 2024
Examiner
TRAN, PHUOC
Art Unit
2668
USPC
382/236
Abstract

A panoramic video frame is partitioned into a plurality of tiles. A viewport corresponding to a field of view within the panoramic video frame is identified. First tiles of the plurality of tiles corresponding to the viewport are encoded at a first bitrate to obtain first encoded tiles. Second tiles of the plurality of tiles outside the viewport are encoded at a second bitrate lower than the first bitrate to obtain second encoded tiles. The first encoded tiles and the second encoded tiles are transmitted to a user device for rendering.

Claims (51)

1 . A method performed by one or more processors, comprising:

partitioning a panoramic video frame into a plurality of tiles;

identifying a viewport corresponding to a field of view within the panoramic video frame;

encoding first tiles of the plurality of tiles corresponding to the viewport at a first bitrate to obtain first encoded tiles;

encoding second tiles of the plurality of tiles outside the viewport at a second bitrate lower than the first bitrate to obtain second encoded tiles; and

transmitting the first encoded tiles and the second encoded tiles to a user device for rendering.

2 . The method of claim 1 , further comprising:

receiving a user input that indicates a change in the viewport; and

updating which tiles of the plurality of tiles to encode at the first bitrate and the second bitrate in response to the change in the viewport.

3 . The method of claim 1 , wherein the encoding is in accordance with motion-constrained tile encoding profiles.

4 . The method of claim 1 , further comprising:

forming the panoramic video frame by stitching at least two decoded image portions together.

5 . The method of claim 4 , wherein stitching the at least two decoded image portions together comprises:

obtaining a first encoded image;

obtaining a second encoded image;

decoding at least one portion of the first encoded image to obtain a first decoded portion of the at least two decoded image portions;

decoding at least one portion of the second encoded image to obtain a second decoded portion of the at least two decoded image portions;

obtaining a stitched image by combining at least the first decoded portion and the second decoded portion; and

encoding the stitched image to obtain the panoramic video frame.

6 . The method of claim 5 , wherein encoding the stitched image to obtain the stitched encoded image comprises:

obtaining a portion of the stitched encoded image by duplicating values of a centrally located region of the first encoded image.

7 . The method of claim 1 , wherein the plurality of tiles comprises one or more centrally located tiles and one or more peripherally located tiles, wherein the centrally located tiles do not contain any stitching boundaries, and wherein the peripherally located tiles contain a stitching boundary.

8 . A system, comprising:

one or more memories; and

one or more processors, the one or more processors configured to execute instructions stored in the one or more memories to:

encode first tiles corresponding to a viewport within a panoramic video frame at a first bitrate to obtain first encoded tiles;

encode second tiles outside the viewport at a second bitrate lower than the first bitrate to obtain second encoded tiles; and

transmit the first encoded tiles and the second encoded tiles to a user device for rendering.

9 . The system of claim 8 , wherein the one or more processors are further configured to execute instructions stored in the one or more memories to:

identify the viewport based on input received from the user device.

10 . The system of claim 8 , wherein the one or more processors are further configured to execute instructions stored in the one or more memories to:

encode the panoramic video frame from at least two images separately encoded to obtain respective encoded images and subsequently combined by stitching the respectively encoded images to obtain a stitched encoded image.

11 . The system of claim 10 , wherein the one or more processors are further configured to execute instructions stored in the one or more memories to:

obtain a first portion of the stitched encoded image by duplicating values of a centrally located region of an encoded image of the at least two images.

12 . The system of claim 11 , wherein the centrally located region is encoded without reference to peripherally located regions by restricting motion vectors so that the motion vectors do not cross a boundary of the centrally located region.

13 . The system of claim 8 , wherein the first tiles and the second tiles are encoded using a motion-constrained tile encoding profile of a codec.

14 . The system of claim 8 , wherein the one or more processors are further configured to execute instructions stored in the one or more memories to:

partition the panoramic video frame into a plurality of tiles;

encode at least some of the plurality of tiles at different bitrates based on proximity to a stitching boundary within the panoramic video frame.

15 . One or more non-transitory computer-readable storage media, comprising executable instructions that, when executed by one or more processors, facilitate performance of operations to:

identify a viewport within a panoramic video frame;

encode tiles corresponding to the viewport at a first bitrate and encode tiles outside the viewport at a second bitrate lower than the first bitrate; and

transmit the encoded tiles to a user device for rendering.

16 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the tiles are encoded using a High Efficiency Video Coding (HEVC) codec.

17 . The one or more non-transitory computer-readable storage media of claim 16 , wherein at least one of the tiles are encoded using motion-constrained tile encoding profiles of the HEVC codec.

18 . The one or more non-transitory computer-readable storage media of claim 15 , wherein the panoramic video frame is a result of a stitching operation.

19 . The one or more non-transitory computer-readable storage media of claim 18 , wherein the operations further comprise to:

combine a first decoded image and a second decoded image to obtain a stitched image; and

encode the stitched image to obtain a stitched encoded image.

20 . The one or more non-transitory computer-readable storage media of claim 19 , wherein to combine the first decoded image and the second decoded image to obtain the stitched image comprises to:

reuse, without decoding, encoded data from centrally located tiles that do not include stitch lines.

Assignments (3)
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: FARALLON CAPITAL MANAGEMENT, L.L.C., AS AGENT
Reel/Frame 072340/0676 →
SECURITY INTEREST Recorded Aug 4, 2025
From: GOPRO, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 072358/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2024
From: ABBAS, ADEEL; ADSUMILLI, BALINEEDU CHOWDARY; POLONICHKO, VADIM
To: GOPRO, INC.
Reel/Frame 069208/0514 →