IP Library Granted Patent US 10,757,410
Granted Patent B1
US 10,757,410 · App. 16/523,247 · Granted Aug 25, 2020

Spatially adaptive video compression for multiple streams of color and depth

Inventors: Hugues Hoppe (Mercer Island, WA); True Price (Chapel Hill, NC)
Assignee: GOOGLE LLC
H04N19/126H04N19/176
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 10,757,410
App. No.
16/523,247
Granted
Aug 25, 2020
Kind
B1
Abstract

Techniques of compressing color video images include computing a delta quantization parameter (ΔQP) for the color images based on a similarity between the depth image surface normal and the view direction associated with a color image. For example, upon receiving a frame having an image with multiple color and depth images, a computer finds a depth image that is closest in orientation to a color image. For each pixel of that depth image, the computer generates a blend weight based on an orientation of a normal to a position of the depth image and the viewpoints from which the plurality of color images were captured. The computer then generates a value of ΔQP based on the blend weight and determines a macroblock of color image corresponding to the position, the macroblock being associated with the value of ΔQP for the pixel.

Claims (62)

1. A method, comprising:

receiving (i) depth image data representing a plurality of depth images of an object, each of the plurality of depth images being a depth image of the object captured from a respective viewpoint, and (ii) color image data representing a plurality of color images, each of the plurality of color images (a) being a color image of the object captured from a respective viewpoint and (b) having a plurality of macroblocks, each of the macroblocks corresponding to a respective region of the color image;

for a color image from the plurality of color images:

identifying a depth image of the plurality of depth images associated with the color image;

for each pixel of the depth image:

determining a position of a surface of the object based on a depth value of the depth image associated with that pixel;

generating a value of a combination parameter corresponding to the determined position, the value of the combination parameter being based on a surface normal of the depth image at the position and the viewpoints from which the plurality of color images were captured;

generating a value of a delta quantization parameter based on the value of the combination parameter; and

determining a macroblock of the plurality of macroblocks of the color image corresponding to the position, the macroblock being associated with the value of the delta quantization parameter for the pixel; and

performing a compression operation on the color image, a compression ratio of each of the plurality of macroblocks of the color image being based on the value of the delta quantization parameter with which the macroblock is associated.

2. The method as in claim 1 , wherein identifying the depth image associated with the color image includes:

determining the depth image of the plurality of depth images having a center of projection closest to a center of projection of that color image.

3. The method as in claim 1 , wherein the value of the combination parameter for that pixel of the depth image is based on an inner product of a normal of the surface of the object at the position and the viewpoint from which the color image is captured.

4. The method as in claim 3 , wherein the value of the combination parameter for that pixel is proportional to the inner product raised to the power of a specified exponent.

5. The method as in claim 1 , wherein the value of the combination parameter for that pixel is further based on whether a point at the position of the surface is visible along the viewpoint from which the color image is captured.

6. The method as in claim 1 , wherein the method further comprises:

for each of the plurality of pixels of the depth image, performing a rescaling operation on each of the blend weights for that pixel so that a sum of the values of the combination parameter across the plurality of color images at that pixel is equal to a specified constant value.

7. The method as in claim 1 , wherein determining the macroblock of the plurality of macroblocks of the color image corresponding to the position includes:

projecting a point at the position of the surface into a color image plane in which an object capture device is situated, the object capture device being configured to capture the color image.

8. The method as in claim 7 , wherein a macroblock of the plurality of macroblocks of the color image into which no points of the surface are projected has a value of the delta quantization parameter associated with a background pixel.

9. The method as in claim 7 , further comprising:

performing a rasterization operation on the point into a framebuffer associated with the color image to store a new value of the delta quantization parameter stored in a pixel of a plurality of pixels of the framebuffer, the framebuffer also including a plurality of tiles, each of the plurality of tiles including a set of pixels of the plurality of pixels of the framebuffer;

performing a read operation on a tile of the plurality of tiles of the framebuffer to produce an aggregated value of the quantization parameter, the tile corresponding to a macroblock, the aggregated value of the parameter being based on the new values of the quantization parameter of the set of pixels of the tile; and

replacing the value of the delta quantization parameter with the aggregated value of the delta quantization parameter.

10. The method as in claim 7 , further comprising:

identifying image content in the macroblock as a specified feature of the object; and

in response to the identification of the image content in the macroblock as a specified feature of the object, adjusting the value of the delta quantization parameter for the macroblock.

11. A computer program product comprising a nontransitive storage medium, the computer program product including code that, when executed by processing circuitry of a server computing device configured to compress video images of objects, causes the processing circuitry to perform a method, the method comprising:

receiving (i) depth image data representing a plurality of depth images of an object, each of the plurality of depth images being a depth image of the object captured from a respective viewpoint, and (ii) color image data representing a plurality of color images, each of the plurality of color images (a) being a color image of the object captured from a respective viewpoint and (b) having a plurality of macroblocks, each of the macroblocks corresponding to a respective region of the color image;

for a color image of the plurality of color images:

identifying a depth image of the plurality of depth images associated with the color image;

for each pixel of the depth image:

determining a position of a surface of the object based on a depth value of the depth image associated with that pixel;

generating a value of a combination parameter corresponding to the determined position, the value of the combination parameter being based on a surface normal of the depth image at the position and the viewpoints from which the plurality of color images were captured;

generating a value of a delta quantization parameter based on the value of the combination parameter; and

determining a macroblock of the plurality of macroblocks of the color image corresponding to the position, the macroblock being associated with the value of the delta quantization parameter for the pixel; and

performing a compression operation on the color image, a compression ratio of each of the plurality of macroblocks of the color image being based on the value of the delta quantization parameter with which the macroblock is associated.

12. The computer program product as in claim 11 , wherein identifying the depth image associated with the color image includes:

determining the depth image of the plurality of depth images having a center of projection closest to a center of projection of that color image.

13. The computer program product as in claim 11 , wherein the value of the combination parameter for that pixel of the depth image is based on an inner product of a normal of the surface of the object at the position and the viewpoint from which the color image is captured.

14. The computer program product as in claim 13 , wherein the value of the combination parameter for that pixel is proportional to the inner product raised to the power of a specified exponent.

15. The computer program product as in claim 11 , wherein the value of the combination parameter for that pixel is further based on whether a point at the position of the surface is visible along the viewpoint from which the color image is captured.

16. The computer program product as in claim 11 , wherein the method further comprises:

for each of the plurality of pixels of the depth image, performing a rescaling operation on each of the values of the combination parameter for that pixel so that a sum of the values of the combination parameter across the plurality of color images at that pixel is equal to a specified constant value.

17. The computer program product as in claim 11 , wherein determining the macroblock of the plurality of macroblocks of the color image corresponding to the position includes:

projecting a point at the position of the surface into a color image plane in which an object capture device is situated, the object capture device being configured to capture the color image.

18. The computer program product as in claim 17 , wherein a macroblock of the plurality of macroblocks of the color image into which no points of the surface are projected has a value of the delta quantization parameter associated with a background pixel.

19. The computer program product as in claim 17 , wherein the method further comprises:

identifying image content in the macroblock as a specified feature of the object; and

in response to the identification of the image content in the macroblock as a specified feature of the object, adjusting the value of the delta quantization parameter for the macroblock.

20. An electronic apparatus configured to compress video images of objects, the electronic apparatus comprising:

memory; and

controlling circuitry coupled to the memory, the controlling circuitry being configured to:

receive (i) depth image data representing a plurality of depth images of an object, each of the plurality of depth images being a depth image of the object captured from a respective viewpoint, and (ii) color image data representing a plurality of color images, each of the plurality of color images (a) being a color image of the object captured from a respective viewpoint and (b) having a plurality of macroblocks, each of the macroblocks corresponding to a respective region of the color image;

for a color image of the plurality of color images:

identify a depth image of the plurality of depth images associated with the color image;

for each pixel of the depth image:

determine a position of a surface of the object based on a depth value of the depth image associated with that pixel;

generate a value of a combination parameter corresponding to the determined position, the value of the combination parameter being based on a surface normal of the depth image at the position and the viewpoints from which the plurality of color images were captured;

generate a value of a delta quantization parameter based on the value of the combination parameter; and

determine a macroblock of the plurality of macroblocks of the color image corresponding to the position, the macroblock being associated with the value of the delta quantization parameter for the pixel; and

perform a compression operation on the color image, a compression ratio of each of the plurality of macroblocks of the color image being based on the value of the delta quantization parameter with which the macroblock is associated.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2019
From: HOPPE, HUGUES; PRICE, TRUE
To: GOOGLE LLC
Reel/Frame 049909/0717 →
Cited By (3)
US 12,190,615 US 12,363,294 US 12,641,208