Metadata-assisted image filters
First Claim
1. A non-transitory program storage device, readable by a programmable control device comprising instructions stored thereon for causing the programmable control device to perform operations comprising:
- obtaining a first image of a first scene, the first image stored in a first memory and including a timestamp to uniquely identify the first image among a plurality of images obtained from an incoming video stream;
characterizing the first image;
generating metadata information for the first image based at least in part on the act of characterizing, the metadata information identifying a plurality of faces in the first image;
attaching the metadata information to the first image based on the timestamp corresponding to the first image;
programmatically selecting one of the identified plurality of faces based at least in part on the generated metadata information;
applying an image filter to the first image to generate a second image, wherein an effect of the filter is centered at the selected face; and
storing the second image in a second memory.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure pertains to devices, methods, systems, and computer readable media for generating and/or interpreting image metadata to determine input parameters for various image processing routines, e.g., filters that distort or enhance an image, in a way that provides an intuitive experience for both the user and the software developer. Such techniques may attach the metadata to image frames and then send the image frames down an image processing pipeline to one or more image processing routines. Image metadata may include face location information, and the image processing routine may include an image filter that processes the image metadata in order to keep the central focus (or foci) of the image filter substantially coincident with one or more of the faces represented in the face location information. The generated and/or interpreted metadata may also be saved to a metadata track for later application to unfiltered image data.
49 Citations
26 Claims
-
1. A non-transitory program storage device, readable by a programmable control device comprising instructions stored thereon for causing the programmable control device to perform operations comprising:
-
obtaining a first image of a first scene, the first image stored in a first memory and including a timestamp to uniquely identify the first image among a plurality of images obtained from an incoming video stream; characterizing the first image; generating metadata information for the first image based at least in part on the act of characterizing, the metadata information identifying a plurality of faces in the first image; attaching the metadata information to the first image based on the timestamp corresponding to the first image; programmatically selecting one of the identified plurality of faces based at least in part on the generated metadata information; applying an image filter to the first image to generate a second image, wherein an effect of the filter is centered at the selected face; and storing the second image in a second memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 26)
-
-
9. An electronic device, comprising:
-
memory; an image sensor; a display communicatively coupled to the memory; and a programmable control device communicatively coupled to the memory, display, and image sensor, wherein the memory includes instructions for causing the programmable control device to perform operations comprising; obtaining a first image of a first scene, the first image stored in a first memory and including a timestamp to uniquely identify the first image among a plurality of images obtained from an incoming video stream; characterizing the first image; generating metadata information for the first image based at least in part on the act of characterizing, the metadata information identifying a plurality of faces in the first image; coupling the metadata information to the first image based on the timestamp corresponding to the first image; programmatically selecting one of the identified plurality of faces based at least in part on the generated metadata information; applying an image filter to the first image to generate a second image, wherein an effect of the filter is centered at the selected face; and storing the second image in a second memory.
-
-
10. A non-transitory program storage device, readable by a programmable control device comprising instructions stored thereon for causing the programmable control device to perform operations comprising:
-
obtaining a first image of a first scene, the first image stored in a first memory and including a timestamp to uniquely identify the first image among a plurality of images obtained from an incoming video stream; characterizing the first image; generating metadata information for the first image based at least in part on the act of characterizing, the metadata information identifying a plurality of faces in the first image; time-tagging the metadata with the timestamp corresponding to the first image; relating, via the time-tagging, the metadata information to the first image based on the timestamp corresponding to the first image; programmatically selecting one of the identified plurality of faces based at least in part on the generated metadata information; applying an image filter to the first image to generate a second image, wherein an effect of the filter is centered at the selected face; and storing the second image in a second memory. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An image processing method comprising:
-
receiving image data from an incoming video stream; generating a timestamp to uniquely identify the image data within the incoming video stream; receiving metadata describing aspects of an image represented by the image data; attaching the metadata to the image data based on the timestamp corresponding to the image data; identifying a face in the image based on the metadata; determining one or more input parameters to an image filter based on the meta data; applying the image filter centered at the identified face using the one or more input parameters to generate a filtered image; and storing the filtered image in a memory. - View Dependent Claims (16, 17, 18)
-
-
19. An image processing system comprising:
-
a first server process for receiving and processing an image from an incoming video stream; a second server process for generating a timestamp to uniquely identify the image; a third server process for generating metadata related to the image and storing the metadata in a metadata track using the timestamp to correlate the metadata with the image; and a first memory for storing the processed image, wherein the metadata comprises information representative of the image, format description information for the image, and a dictionary of attachments, wherein the first server process is further configured to associate the metadata and the image with a buffer frame and send the buffer frame and the metadata track to a client application, and wherein the metadata is associated with the buffer frame via the timestamp associated with the image and the buffer frame. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification