IP Library Granted Patent US 12,126,809
Granted Patent B2
US 12,126,809 · App. 18/144,574 · Granted Oct 22, 2024

Systems and methods for spatially selective video coding

Inventors: Adeel Abbas (Carlsbad, CA); Balineedu Chowdary Adsumilli (San Francisco, CA); Vadim Polonichko (San Diego, CA)
Assignee: GoPro, Inc.
H04N19/137H04N13/00H04N19/107H04N19/167H04N19/597H04N23/45H04N23/698
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,126,809
App. No.
18/144,574
Granted
Oct 22, 2024
Kind
B2
Abstract

Encoded content is accessed. The encoded content includes an encoded first centrally located tile corresponding to a first centrally located tile of a first image, an encoded first peripherally located tile of the first image, and an encoded second peripherally located tile of a second image. The encoded first peripherally located tile is decoded to obtain a decoded first peripherally located tile. The encoded second peripherally located tile is decoded to obtain a decoded second peripherally located tile. The decoded first peripherally located tile and the decoded second peripherally located tile are stitched to obtain a stitched image portion. The stitched image portion is encoded to obtain an encoded stitched image portion. An encoded stitched image of the first image and the second image is obtained by combining the encoded first centrally located tile, and the encoded stitched image portion.

Claims (53)

1. A system, comprising:

a processing apparatus that includes a first processor configured to execute instructions to:

access encoded content, wherein the encoded content includes:

an encoded first centrally located tile corresponding to a first centrally located tile of a first image,

an encoded first peripherally located tile of the first image, and

an encoded second peripherally located tile of a second image;

decode the encoded first peripherally located tile to obtain a decoded first peripherally located tile;

decode the encoded second peripherally located tile to obtain a decoded second peripherally located tile;

stitch the decoded first peripherally located tile and the decoded second peripherally located tile to obtain a stitched image portion;

encode the stitched image portion to obtain an encoded stitched image portion; and

obtain an encoded stitched image of the first image and the second image by combining the encoded first centrally located tile, and the encoded stitched image portion.

2. The system of claim 1 , wherein the encoded content is obtained from an imaging device comprising a second processor configured to execute instructions to:

partition the first image into the first centrally located tile and first peripherally located tiles, wherein the first peripherally located tiles include the first peripherally located tile;

partition the second image into a second centrally located tile and second peripherally located tiles, wherein the second peripherally located tiles include the second peripherally located tile, and wherein the first peripherally located tile and the second peripherally located tile include a stitching boundary;

encode the first centrally located tile, to obtain the encoded first centrally located tile, without reference to any of the first peripherally located tiles; and

encode the second centrally located tile, to obtain an encoded second centrally located tile, without reference to any of the second peripherally located tiles.

3. The system of claim 2 , wherein the first centrally located tile and the second centrally located tile are encoded without reference to peripherally located tiles using motion-constrained tile configurations of a High Efficiency Video Coding (HEVC) codec.

4. The system of claim 2 , wherein the first centrally located tile is encoded without reference to the first peripherally located tiles by restricting motion vectors so that they do not cross a tile boundary.

5. The system of claim 1 , wherein the first processor is further configured to execute instructions to:

omit decoding the encoded first centrally located tile responsive to a determination not to decode the encoded first centrally located tile.

6. The system of claim 5 , wherein the determination not to decode the encoded first centrally located tile is made based one of an image map, a look up table, or a rulebook.

7. The system of claim 1 , wherein the instructions to combine the encoded first centrally located tile and the encoded stitched image portion comprise to:

copy pixel values of the encoded first centrally located tile into the encoded stitched image.

8. The system of claim 1 , the first processor is further configured to execute instructions to:

decode the encoded stitched image for display in a panoramic image.

9. A method, comprising:

partitioning images into one or more centrally located tiles and one or more peripherally located tiles, wherein the images are partitioned such that the peripherally located tiles contain a stitching boundary and the centrally located tiles do not contain any stitching boundaries; and

encoding the images to obtain encoded images, wherein the centrally located tiles are encoded without reference to the peripherally located tiles, and wherein the encoded images include respective encoded centrally located tiles and respective encoded peripherally located tiles.

10. The method of claim 9 , further comprising:

modifying a tiling operation that partitions the images based on a processing order that maximizes or minimizes processing effort.

11. The method of claim 9 , wherein the centrally located tiles are obtained by encoding corresponding pixels of the images as individual motion-constrained tiles.

12. The method of claim 9 , wherein the centrally located tiles are encoded without reference to the peripherally located tiles using a motion-constrained tile configurations of a High Efficiency Video Coding (HEVC) codec.

13. The method of claim 9 , wherein the centrally located tiles are encoded without reference to the peripherally located tiles by restricting motion vectors so that the motion vectors do not cross a tile boundary.

14. The method of claim 9 , further comprising:

stitching the images, to obtain a stitched image, by decoding the respective encoded peripherally located tiles and omitting decoding the respective encoded centrally located tiles based on one of an image map, a look up table, or a rulebook.

15. The method of claim 14 , wherein stitching the images, to obtain the stitched image, comprises:

decoding the respective encoded peripherally located tiles; and

stitching the decoded respective encoded peripherally located tiles.

16. The method of claim 14 , further comprising:

encoding the stitched image to obtain an encoded stitch image, wherein encoding the stitched image comprises:

copying pixel values of the respective encoded centrally located tiles into the encoded stitched image.

17. A non-transitory computer-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations comprising to:

receive encoded content, wherein the encoded content includes:

an encoded centrally located tile corresponding to a centrally located tile of a first image,

encoded first peripherally located tiles of the first image, and

encoded second peripherally located tiles of a second image;

decode the encoded first peripherally located tiles and the encoded second peripherally located tiles, and omit decoding the encoded centrally located tile;

stitch at least one of the decoded first peripherally located tile and at least one of the decoded second peripherally located tile to obtain a stitched image portion;

encode the stitched image portion to obtain an encoded stitched image portion; and

obtain an encoded stitched image of the first image and the second image by combining the encoded centrally located tile and the encoded stitched image portion.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the centrally located tile is encoded without reference to peripherally located tiles using a motion-constrained tile configurations of a High Efficiency Video Coding (HEVC) codec.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the centrally located tile is encoded by restricting motion vectors so that the motion vectors do not cross a tile boundary.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the encoded centrally located tile does not contain stitching boundaries.

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 May 8, 2023
From: ABBAS, ADEEL; ADSUMILLI, BALINEEDU CHOWDARY; POLONICHKO, VADIM
To: GOPRO, INC.
Reel/Frame 063567/0986 →
Continuity (5)
Continuation 17378065 · Jul 16, 2021
Continuation 16666094 · Oct 28, 2019
Continuation 15414426 · Jan 24, 2017
Provisional Application 62352480 · Jun 20, 2016
Related Publication 20230276054A1 · Aug 31, 2023