Systems and methods for encoding image files containing depth maps stored as metadata
Systems and methods for storing images synthesized from light field image data and metadata describing the images in electronic files in accordance with embodiments of the invention are disclosed. One embodiment includes a processor and memory containing an encoding application and light field image data, where the light field image data comprises a plurality of low resolution images of a scene captured from different viewpoints. In addition, the encoding application configures the processor to synthesize a higher resolution image of the scene from a reference viewpoint using the low resolution images, where synthesizing the higher resolution image involves creating a depth map that specifies depths from the reference viewpoint for pixels in the higher resolution image; encode the higher resolution image; and create a light field image file including the encoded image, the low resolution images, and metadata including the depth map.
1. An image processing system, comprising:
a processor; and
memory containing an encoding application;
wherein the encoding application configures the processor to:
obtain image data, where the image data comprises a plurality of images of a scene captured from different viewpoints;
create a depth map that specifies depths for pixels in a reference image using at least a portion of the image data; and
store an image file including the reference image, and the depth map stored as metadata within the image file in the memory.
2. The system of claim 1 , wherein the encoding application configures the processor to encode the depth map.
3. The system of claim 1 , wherein the encoding application configures the processor to:
identify pixels in the plurality of images of the scene that are occluded in the reference image; and
the metadata includes descriptions of the occluded pixels.
4. The system of claim 3 , wherein the descriptions of the occluded pixels include colors, locations, and depths of the occluded pixels.
5. The system of claim 1 , wherein the encoding application configures the processor to:
create a confidence map for the depth map, where the confidence map indicates the reliability of the depth value for a pixel in the depth map; and
the metadata further includes the confidence map.
6. The system of claim 5 , wherein the encoding application configures the processor to encode the confidence map.
7. The system of claim 1 , wherein:
the encoding application configures the processor to generate an edge map that indicates pixels in the reference image that lie on a discontinuity; and
the metadata further includes the edge map.
8. The system of claim 7 , wherein the edge map identifies whether a pixel lies on an intensity discontinuity.
9. The system of claim 7 , wherein the edge map identifies whether a pixel lies on an intensity and depth discontinuity.
10. The system of claim 7 , wherein the encoding application configures the processor to encode the edge map.
11. The system of claim 1 , wherein:
the encoding application configures the processor to generate a missing pixel map that indicates pixels in the reference image that do not correspond to a pixel from the plurality of low resolution images of the scene; and
the metadata further includes the missing pixels map.
12. The system of claim 11 , wherein the encoding application configures the processor to encode the missing pixels map.
13. The system of claim 1 , wherein at least one of the plurality of low resolution images is captured from a viewpoint that is separate and distinct from a viewpoint of the reference image.
14. The system of claim 1 , wherein the image file conforms to the JPEG File Interchange Format (JFIF) standard.
15. The system of claim 14 , wherein the reference image is encoded in accordance with the JPEG standard.
16. The system of claim 15 , wherein the metadata is located within an application marker segment within the image file.
17. The system of claim 16 , wherein the application marker segment is identified using an APP9 marker.
18. The system of claim 16 , wherein the encoding application configures the processor to encode the depth map in accordance with the JPEG standard using lossless compression and the encoded depth map is stored within the application marker segment containing the metadata.
19. A method for encoding image data as an image file, comprising:
synthesize a higher resolution image of a scene from a reference viewpoint and a depth map that describes depths of pixels in the synthesized image using an encoding device and image data, where the image data comprises a plurality of low resolution images of a scene captured from different viewpoints and synthesizing the higher resolution image includes creating a depth map that specifies depths from the reference viewpoint for pixels in the higher resolution image;
encoding the higher resolution image using the encoding device; and
creating an image file including the encoded image, and metadata describing the encoded image using the encoding device, where the metadata includes the depth map.
20. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
synthesizing a higher resolution image of a scene from a reference viewpoint using light field image data, where the image data comprises a plurality of low resolution images of a scene captured from different viewpoints and synthesizing the higher resolution image includes creating a depth map that specifies depths from the reference viewpoint for pixels in the higher resolution image;
encoding the higher resolution image; and
creating an image file including the encoded image, and metadata describing the encoded image, where the metadata includes the depth map.