Texture repository for image processing applications
AssigneeFacebook, Inc.
InventorsApostolos Lerios, Jennifer Leigh Dolson
Life of this patent
Estimating the term…
Abstract
A texture repository is provided for use with an image manipulation application. The texture repository provides a canvas to the image manipulation application for use with an image filter. The texture repository may provide an existing canvas matching the request from the image filter, or the texture repository may generate a new canvas for the request. The generated canvas may be procedurally generated to match the request, or the generated canvas may be resized from an existing canvas stored in a non-volatile storage or a cache.
Claims20
A computer-implemented method comprising:
- identifying, at a computing device, a plurality of filters to be applied to an image having an image resolution, each of the filters associated with a texture;
- scaling the image to generate a scaled image having a thumbnail resolution;
- requesting a plurality of thumbnail canvases from a texture repository, each of the thumbnail canvas requests specifying the thumbnail resolution and a texture associated with one of the filters, the texture repository configured to generate a canvas with a thumbnail resolution and a texture responsive to determining that a canvas with the thumbnail resolution and the texture does not exist in a stored plurality of canvases;
- generating a set of filtered thumbnail images, each of the filtered thumbnail images generated by applying one of the filters to the scaled image, wherein applying a filter to the scaled image comprises applying one of the thumbnail canvases to the scaled image;
- displaying the set of filtered thumbnail images to a user;
- receiving a user selection of a filtered thumbnail image from the set of filtered thumbnail images;
- identifying a filter in the plurality of filters associated with the selected filtered thumbnail image;
- requesting a full-size canvas from the texture repository, the full-size canvas request specifying the image resolution and the texture associated with the identified filter;
- and
- applying the identified filter to the image to generate a filtered image, wherein applying the identified filter to the image comprises applying the full-size canvas to the image.
A computer system comprising:
- a processor configured to execute instructions;
- and
- a non-transitory computer-readable storage medium having computer program instructions stored thereon, the computer program instructions when executed by the processor causing the processor to perform operations comprising:
- identifying a plurality of filters to be applied to an image having an image resolution, each of the filters associated with a texture;
- scaling the image to generate a scaled image having a thumbnail resolution;
- requesting a plurality of thumbnail canvases from a texture repository, each of the thumbnail canvas requests specifying the thumbnail resolution and a texture associated with one of the filters, the texture repository configured to generate a canvas with a thumbnail resolution and a texture responsive to determining that a canvas with the thumbnail resolution and the texture does not exist in a stored plurality of canvases;
- generating a set of filtered thumbnail images, each of the filtered thumbnail images generated by applying one of the filters to the scaled image, wherein applying a filter to the scaled image comprises applying one of the thumbnail canvases to the scaled image;
- displaying the set of filtered thumbnail images to a user;
- receiving a user selection of a filtered thumbnail image from the set of filtered thumbnail images;
- identifying a filter in the plurality of filters associated with the selected filtered thumbnail image;
- requesting a full-size canvas from the texture repository, the full-size canvas request specifying the image resolution and the texture associated with the identified filter;
- and
- applying the identified filter to the image to generate a filtered image, wherein applying the identified filter to the image comprises applying the full-size canvas to the image.
A non-transitory computer-readable storage medium having computer program instructions stored thereon, the computer program instructions when executed by a processor causing the processor to perform operations comprising:
- identifying, at a computing device, a plurality of filters to be applied to an image having an image resolution, each of the filters associated with a texture;
- scaling the image to generate a scaled image having a thumbnail resolution;
- requesting a plurality of thumbnail canvases from a texture repository, each of the thumbnail canvas requests specifying the thumbnail resolution and a texture associated with one of the filters, the texture repository configured to generate a canvas with a thumbnail resolution and a texture responsive to determining that a canvas with the thumbnail resolution and the texture does not exist in a stored plurality of canvases;
- generating a set of filtered thumbnail images, each of the filtered thumbnail images generated by applying one of the filters to the scaled image, wherein applying a filter to the scaled image comprises applying one of the thumbnail canvases to the scaled image;
- displaying the set of filtered thumbnail images to a user;
- receiving a user selection of a filtered thumbnail image from the set of filtered thumbnail images;
- identifying a filter in the plurality of filters associated with the selected filtered thumbnail image;
- requesting a full-size canvas from the texture repository, the full-size canvas request specifying the image resolution and the texture associated with the identified filter;
- and
- applying the identified filter to the image to generate a filtered image, wherein applying the identified filter to the image comprises applying the full-size canvas to the image.
Dependencies are inferred from the claim text.