Custom image frames

A method includes retrieving an image stored on a device, creating a mask in a portion of the image, and creating a custom image frame from the image and the mask.

BACKGROUND

1. Field of the Invention

Implementations described herein relate generally to devices and, more particularly, to a device that creates custom image frames.

2. Description of Related Art

A camera application for a device (e.g., a mobile communication device) may come with a number of pre-stored image frames that may be used to create fun images. For example, some pre-stored image frames may permit a user to adorn an image in a number of fanciful ways.

SUMMARY

According to one aspect, a method may include selecting a mask with a device, enabling alignment of the selected mask with a portion of a first image, and capturing the first image and the aligned mask to create a custom image frame.

Additionally, the method may include retrieving a second image with the device using the custom image frame.

Additionally, the second image may be aligned with the masked portion of the first image.

Additionally, the mask may be selected from multiple predetermined masks.

Additionally, the mask may have a predetermined shape.

Additionally, the predetermined shape may be at least one of an ellipse, a circle, a square, a rectangle, a triangle, a diamond, or a polygon.

Additionally, the mask may be capable of being resized.

Additionally, the mask may be capable of being reshaped.

Additionally, the mask may be capable of being created by a user of the device.

Additionally, the method may include storing the custom image frame in the device.

Additionally, the method may include transmitting the custom image frame with the device to another device.

Additionally, the device may include a camera.

According to another aspect, a method may include retrieving a first image stored on a device, creating a mask in a portion of the first image, and creating a custom image frame from the first image and the mask.

Additionally, the method may include retrieving a second image stored on the device, and combining the second image with the custom image frame.

Additionally, the second image may be provided within the masked portion of the first image.

Additionally, the second image may be automatically resized to fit within the masked portion of the first image.

Additionally, the method may include storing the custom image frame in the device.

Additionally, the method may include transmitting the custom image frame with the device to another device.

Additionally, the mask may be capable of being resized.

Additionally, the mask may be capable of being reshaped.

According to yet another aspect, a method may include retrieving an image with a device, creating multiple masks in portions of the image, and creating a custom image frame from the image and the multiple masks.

Additionally, the method may include retrieving multiple secondary images, providing each of the secondary images within a corresponding one of the multiple masks, and creating a composite image from the custom image frame and the multiple secondary images.

Additionally, the method may include selecting one of the multiple masks for receipt of one of the multiple secondary images.

Additionally, the method may include automatically resizing each of the secondary images to fit within its corresponding selected mask.

Additionally, the method may include automatically reshaping each of the secondary images to fit within its corresponding selected mask.

Additionally, the method may include storing the custom image frame in the device.

Additionally, the method may include transmitting the custom image frame with the device to another device.

According to a further aspect, a device may include means for selecting a mask with a device, means for retrieving an image with the device, means for enabling alignment of the selected mask with a portion of the image, and means for creating a custom image frame from the image and the selected mask.

According to still another aspect, a device may include means for retrieving an image stored on a device, means for creating a mask in a portion of the image, and means for creating a custom image frame from the image and the mask.

According to a still further aspect, a camera may include a memory to store instructions, and a processor to execute the instructions. The processor may select a mask, view an object with the camera, enable alignment of the selected mask with a portion of the object, and capture the object and the aligned mask with the camera to create a custom image frame.

According to another aspect, a device may include a memory to store instructions, and a processor to execute the instructions. The processor may retrieve a first image, create a mask in a portion of the first image, create a custom image frame from the first image and the mask, and at least one of transmit or store the custom image frame.

DETAILED DESCRIPTION

The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.

Implementations consistent with principles of the invention may relate to custom image frame creation with a camera application of a device. In one implementation, the camera application may provide a user with a quick, simple, and reliable mechanism for creating custom image frames with a device. For example, a user may select a mask to use for image frame creation, and may use the device to retrieve media (e.g., an image) from storage or with another mechanism (e.g., by taking a picture). A portion of the retrieved image may be masked with the selected mask to permit a user to create a custom image frame from the retrieved image. The custom image frame may be stored, and may be used to create additional images in a similar way pre-stored frames are used to create images. In another implementation, a mask may be provided in an existing image, and the resulting image may be a first custom image frame. The first custom image frame may be shared with multiple users, and manipulated by each additional user to create a collaborative custom image frame and/or custom image.

An “image frame,” as the term is used herein, is to be broadly interpreted to include any machine-readable and machine-storable work product, document, electronic media, etc. An image frame may include, for example, an image with a masked portion(s), a video with a masked portion(s), an animation with a masked portion(s), etc.

A “device,” as the term is used herein, is to be broadly interpreted to include a radiotelephone; a personal communications system (PCS) terminal that may combine a cellular radiotelephone with data processing, a facsimile, and data communications capabilities; a personal digital assistant (PDA) that can include a radiotelephone, pager, Internet/intranet access, web browser, organizer, calendar, a camera (e.g., video and/or still image camera), a sound recorder (e.g., a microphone), a Doppler receiver, and/or global positioning system (GPS) receiver; a laptop; a GPS device; a camera (e.g., video and/or still image camera); a sound recorder (e.g., a microphone); and any other computation or communication device capable of displaying media, such as a personal computer, a home entertainment system, a television, etc.

FIG. 1is an exemplary diagram illustrating concepts consistent with principles of the invention. As shown inFIG. 1, a display100of a device may include an image, an image from a video, and/or an animation (collectively referred to hereinafter as “image”)110of a subject being viewed by a camera of the device. For example, in one implementation, image110may be a picture of a person currently being displayed on display100. A user may select a mask120, and display100may include the selected mask120. Mask120may be positioned over a portion of the subject of image110. For example, if the subject currently being displayed on display100is a person, mask120may be positioned to cover a face of the person, as shown inFIG. 1. Once the position of mask120is set over a portion of the subject of image110, the combination of image110and mask120may be used to create a custom image frame, as described in more detail below.

Exemplary Device Architecture

FIG. 2is a diagram of an exemplary device200according to an implementation consistent with principles of the invention. As shown inFIG. 2, device200may include a housing210, a speaker220, a display230, control buttons240, a keypad250, a microphone260, and a camera270. Housing210may protect the components of device200from outside elements. Speaker220may provide audible information to a user of device200. Display230may provide visual information to the user. For example, display230may provide information regarding incoming or outgoing calls, media, games, phone books, the current time, etc. In an implementation consistent with principles of the invention, display230may provide the user with the ability to create custom image frames. Control buttons240may permit the user to interact with device200to cause device200to perform one or more operations. Keypad250may include a standard telephone keypad. Microphone260may receive audible information from the user. Camera270may enable a user to capture and store video and/or images (e.g., pictures).

AlthoughFIG. 2shows exemplary components of device200, in other implementations, device200may include additional or fewer components. For example, device200may include a touch screen (e.g., display230may be a touch screen) that may permit the user to interact with device200to cause device200to perform one or more operations. The touch screen may be manipulated by touching or stroking the display with a pen or a finger

FIG. 3is a diagram of exemplary components of device200. As shown inFIG. 3, device200may include processing logic310, storage320, a user interface330, a communication interface340, an antenna assembly350, and a media information gatherer360. Processing logic310may include a processor, microprocessor, an application specific integrated circuit (ASIC), field programmable gate array (FPGA), or the like. Storage320may include a random access memory (RAM), a read only memory (ROM), and/or another type of memory to store data and instructions that may be used by processing logic310to control operation of device200and its components.

User interface330may include mechanisms for inputting information to device200and/or for outputting information from device200. Examples of input and output mechanisms might include a speaker (e.g., speaker220) to receive electrical signals and output audio signals, a camera (e.g., camera270) to receive image and/or video signals and output electrical signals, a microphone (e.g., microphone260) to receive audio signals and output electrical signals, buttons (e.g., a joystick, control buttons240and/or keys of keypad250) to permit data and control commands to be input into device200, a display (e.g., display230) to output visual information (e.g., information from camera270), and/or a vibrator to cause device200to vibrate.

Communication interface340may include, for example, a transmitter that may convert baseband signals from processing logic310to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communication interface340may include a transceiver to perform functions of both a transmitter and a receiver. Communication interface340may connect to antenna assembly350for transmission and reception of the RF signals. Antenna assembly350may include one or more antennas to transmit and receive RF signals over the air. Antenna assembly350may receive RF signals from communication interface340and transmit them over the air and receive RF signals over the air and provide them to communication interface340. In one implementation, for example, communication interface340may communicate with a network (e.g., a local area network (LAN), a wide area network (WAN), a telephone network, such as the Public Switched Telephone Network (PSTN), an intranet, the Internet, or a combination of networks).

Media information gatherer360may obtain media information from device200. In one implementation, the media information may correspond to media stored on device200or received by device200(e.g., by communication interface340). In this case, media information gatherer360may include a media storage device (e.g., storage320), or a communication device (e.g., communication interface340) capable of receiving media from another source (e.g., wired or wireless communication with an external media storage device). In another implementation, the media information may correspond to media captured or retrieved by device200. In this case, media information gatherer360may include a microphone (e.g., microphone260) that may record audio information, and/or a camera (e.g., camera270) that may record images, animations, and/or videos. The captured media may or may not be stored in a media storage device (e.g., storage320).

As will be described in detail below, device200, consistent with principles of the invention, may perform certain operations relating to custom image frames creation. Device200may perform these operations in response to processing logic310executing software instructions of an application contained in a computer-readable medium, such as storage320. A computer-readable medium may be defined as a physical or logical memory device and/or carrier wave.

The software instructions may be read into storage320from another computer-readable medium or from another device via communication interface340. The software instructions contained in storage320may cause processing logic310to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes consistent with principles of the invention. Thus, implementations consistent with principles of the invention are not limited to any specific combination of hardware circuitry and software.

Exemplary Custom Image Frames Creation Mechanisms

FIGS. 4A-6Dare diagrams of exemplary custom image frames creation mechanisms according to implementations consistent with principles of the invention. The methods ofFIGS. 4A-6Dmay be conveyed on device200(e.g., on display230of device200).

Custom Image Frame Creation

As shown inFIG. 4A, a display400of a device (e.g., display230of device200) may display multiple masks (e.g., masks410-460) that may be selected for creating a custom image frame. The masks may be a variety of shapes and sizes. For example, the masks may be in the shape of an ellipse (e.g., mask410), a circle (e.g., mask420), a square (e.g., mask430), a rectangle (e.g., mask440), a triangle (e.g., mask450), a diamond (e.g., mask460), a polygon, etc. In some implementations consistent with principles of the invention, device200may allow a user to create masks in any desired configuration. For example, device200may provide the user with a freestyle drawing tool that allows the user to create custom masks. In one implementation, the size of each mask may be predetermined based on the size of display400of the device. In another implementation, the size of each mask may be adjusted by the user in order to mask as much or as little of the image as desired by the user. For example, as shown inFIG. 4B, mask410may be provided over a face of an image110provided on display400. Mask410, however, may be too small to cover the entire face of the subject. A mechanism (e.g., a resizing box470controlled by a joystick, a touch screen, control buttons240and/or keys of keypad250) may be provided to resize mask410. Resizing box470may enable a user to enlarge or reduce the size of mask410(or even change a single dimension of the mask, such as the width) to cover the desired portion of image110(e.g., the face of the subject). For example, as shown inFIG. 4C, resizing box470may be manipulated to enlarge the size of mask410so that mask covers the face of the subject displayed as image110.

In one implementation, image110may be a representation of a subject currently being viewed by a camera (e.g., camera270) of the device. In another implementation, image110may be retrieved from storage (e.g., storage320) of the device and provided on display400.

A custom image frame480may be created from the combination of image110and positioned mask410(e.g., by taking a picture of the subject with camera270of device200). A user may be given the options of discarding custom image frame480, storing custom image frame480(e.g., within storage320of device200), and/or taking another picture using custom image frame480. For example, in one implementation, custom image frame480may be combined with another image490(e.g., by taking another picture with camera270of device200) to create a final image, as shown inFIG. 4D. Image490may be retrieved by the device from storage (e.g., storage320), or may be retrieved by another mechanism (e.g., by taking a picture with camera270). In another implementation, custom image frame480may be used to create additional images in a similar way pre-stored frames are used to create images. Once image490is combined with customer image frame480, a user may be given the options of discarding the resulting image, saving the resulting image, and/or attempting to capture a different image to be combined with custom image frame280.

In one example, a user may select a mask and take a picture of friend A (e.g., with camera270of device200), using the mask to block the face of friend A. The resulting custom image frame (e.g., faceless friend A) may be used to take a picture of a face of friend B (e.g., with camera270of device200). The resulting image (e.g., an image of friend A's body, with friend B's face) may be saved (e.g., within storage320of device200).

Custom Image Frame with Multiple Masks

AlthoughFIGS. 4A-4Dshow a single mask being used to create a custom image frame, in one implementation consistent with principles of the invention, multiple masks may be used with a single image to create a custom image frame with multiple masks. As shown inFIG. 5A, a display500of a device (e.g., display230of device200) may display an image510. In one implementation, image510may be a representation of an object currently being viewed by a camera (e.g., camera270) of the device. In this example, the object is a flower. In another implementation, image510may be retrieved from storage (e.g., storage320) of the device and provided on display500. A mask520may be provided over a portion of image520, as further shown inFIG. 5A. Mask520may be selected from a variety of shapes and may be resized as described above in connection withFIGS. 4A-4D.

As shown inFIG. 5B, additional masks530-550may be provided over portions of image520. Masks530-550may be selected from a variety of shapes and may be resized as described above in connection withFIGS. 4A-4D. AlthoughFIG. 5Bshows four masks (e.g., masks520-550) being displayed, more or less than four masks may be provided with image510. Once the masks are provided with image510, the resulting image may be considered a custom image frame. A user may be given the options of discarding the custom image frame, storing the custom image frame (e.g., within storage320of device200), and/or taking a picture(s) using the custom image frame.

If the user takes a picture using the custom image frame, a user may align a mask (e.g., one of masks520-550) with an object and capture an image of the object. For example, as shown inFIG. 5C, mask530of the custom image frame ofFIG. 5Bmay be aligned with the object, and an image560of the subject may be captured where mask530(FIG. 5B) was originally provided. In another implementation, image560may be stored on the device (e.g., within storage320of device200) and may be provided within one of the masks (e.g., masks520-550). A user may select which mask of masks520-550within which to provide image560. Image560may be resized and/or reshaped to fit within the user-defined mask. For example, image560may be larger in size and/or shaped differently than mask530, and may be reduced in size and/or reshaped to fit within mask530. Alternatively, image560may be smaller in size and/or shaped differently than mask530, and may be enlarged in size and/or reshaped to fit within mask530. The resizing and/or reshaping of image560may be performed by the user (e.g., by manipulating the size and/or shape of image560with a joystick, a touch screen, control buttons240and/or keys of keypad250), and/or may be automatically performed by the device.

A user may continue to add images to the remaining masks (e.g., masks520,540, and550) as described above in connection withFIG. 5C. For example, as shown inFIG. 5D, mask520may be aligned with an object, and an image570of the object may be captured where mask520was originally provided. In another implementation, image570may be stored on the device (e.g., within storage320of device200) and may be provided within one of the masks (e.g., masks520,540, and/or550). A user may select which mask of masks520,540and/or550within which to provide image570. Image570may be resized and/or reshaped to fit within the user-defined mask. As shown inFIG. 5E, masks540and550may be aligned with objects, and images580and590, respectively, of the objects may be captured where masks540and550were originally provided. In another implementation, images580and590may be stored on the device (e.g., within storage320of device200) and may be provided within the masks (e.g., masks540and550, respectively). A user may select which mask of masks540and/or550within which to provide images580and590. Images580and/or590may be resized and/or reshaped to fit within the user-defined mask.

Custom Image Frames with User Created Masks

AlthoughFIGS. 4A-5Eshow creation of custom image frames from predetermined masks, in one implementation consistent with principles of the invention, user created masks may be utilized to create custom image frames. For example, as shown inFIG. 6A, a display600of a device (e.g., display230of device200) may display an image610. In one implementation, image610may be a representation of a object (e.g., a flower) currently being viewed by a camera (e.g., camera270) of the device. In another implementation, image610may be retrieved from storage (e.g., storage320) of the device and provided on display600. A user may create a mask620having a user created size and/or shape (e.g., by manipulating the size and/or shape of mask620with a joystick, a touch screen, control buttons240and/or keys of keypad250). Mask620may be provided over a portion of image610, as further shown inFIG. 6A.

In another implementation a user created mask (e.g., mask620) may be created with a wand-type tool provided with typical image editing software packages (e.g., Adobe Photoshop). The user may use the wand tool to select a point in the image (or, if there is a touch screen, may touch a point in the image). The wand took may also be used to identify adjacent portions of the image that may have the same features (e.g., color, value, etc.) as the selected point in the image. Algorithms may be used to locate the edges around a selected area of the image.

Once the user created mask (e.g., mask620) is provided with image610, the resulting image may be considered a custom image frame. A user may be given the options of discarding the custom image frame, storing the custom image frame (e.g., within storage320of device200), and/or taking a picture using the custom image frame. If the user takes a picture using the custom image frame, a user may align user created mask620with a subject of the picture and capture an image of the subject. For example, as shown inFIG. 6B, user created mask620of the custom image frame ofFIG. 6Amay be aligned with the subject, and an image630of the subject may be captured where user created mask620(FIG. 6A) was originally provided. In another implementation, image630may be stored on the device (e.g., within storage320of device200) and may be provided within user created mask620. Image630may be resized and/or reshaped to fit within user created mask620, as described above in connection withFIGS. 5A-5E.

As shown inFIG. 6C, additional user created masks may be provided with image610ofFIG. 6B. For example, a user may create a mask640having a user created size and/or shape (e.g., by manipulating the size and/or shape of mask640with a joystick, a touch screen, control buttons240and/or keys of keypad250). Mask640may be provided over a portion of image610, as further shown inFIG. 6C. Once the user created mask (e.g., mask640) is provided with image610, the resulting image may be considered a custom image frame. A user may be given the options of discarding the custom image frame, storing the custom image frame (e.g., within storage320of device200), and/or taking a picture using the custom image frame. If the user takes a picture using the custom image frame, a user may align user created mask640with a subject of the picture and capture an image of the subject. For example, as shown inFIG. 6D, user created mask640of the custom image frame ofFIG. 6Cmay be aligned with the subject, and an image650of the subject may be captured where user created mask640(FIG. 6C) was originally provided. In another implementation, image650may be stored on the device (e.g., within storage320of device200) and may be provided within user created mask640. Image650may be resized and/or reshaped to fit within user created mask640, as described above in connection withFIG. 5C.

The implementations described above in connection withFIGS. 4A-6Dmay enable a user to make a custom image frame from any image, and/or may enable creation of composite images or collages, from a series of images. For example, a user may take a picture of the sky, and may provide a mask (e.g., a predetermined mask or a user created mask) within the image of the sky. The user may then take a picture of a car within the masked portion of the sky image, and may provide another mask within the composite sky/car image. The user may take a picture of a house within the masked portion of the composite sky/car image. This process may continue, and a user may elaborate the image as desired. The implementations described above in connection withFIGS. 4A-6Dmay further provide quick, simple, and intuitive mechanisms for users to create and use their own custom image frames.

Although the custom image frames described above in connection withFIGS. 4A-6Dmay be created on a single device (e.g., device200), in one implementation consistent with principles of the invention, the custom image frames may created with and/or shared among multiple devices. For example, devices may be interconnected wirelessly (e.g., via communication interface340and antenna assembly350of device200), and a custom image frame created on one device may be shared with other devices through the wireless interconnection. Alternatively, multiple devices may be interconnected with wires (e.g., via optical fibers), and a custom image frame created on one device may be shared with other devices through the wired interconnection.

In another example, a user may create a first custom image frame on a first device and share the first custom image frame with a user of a second device. The second device user may manipulate the custom image frame to create a second custom image frame and/or a resultant image, as described above in connection withFIGS. 4A-6D. The second custom image frame and/or resultant image may be shared with the first device user and/or users of other devices. Such an arrangement may encourage traffic among multiple devices. For example, if the devices sharing custom image frames are cellular telephones or PDAs, such an arrangement may encourage increased communication traffic, which may be beneficial to the communication service providers.

Exemplary Processes

FIGS. 7 and 8are flowcharts of exemplary processes according to implementations consistent with principles of the invention. The process ofFIG. 7may generally be described as creation of a custom image frame and resulting image with images captured by a device. The process ofFIG. 8may generally be described as creation of a custom image frame and resulting image with images stored on a device.

Process for Creation of Custom Image Frame and Resulting Image with Captured Images

As shown inFIG. 7, a process700may identify a mask (block710). For example, in one implementation described above in connection withFIG. 4A, display400may display multiple masks (e.g., masks410-460) that may be selected for creating a custom image frame. The masks may be a variety of shapes and sizes. For example, the masks may be in the shape of an ellipse, a circle, a square, a rectangle, a triangle, a diamond, a polygon, etc. The size of each mask may be predetermined based on the size of display400, or the size of each mask may be adjusted by the user. In another implementation described above in connection withFIGS. 6A-6D, a user may create a mask having a user created size and/or shape (e.g., by manipulating the size and/or shape of mask620with a joystick, a touch screen, control buttons240and/or keys of keypad250).

As further shown inFIG. 7, process700may capture or retrieve a first image using the identified mask (block720). For example, in one implementation described above in connection withFIGS. 4B and 4C, mask410may be provided over a face of an image110provided on display400. Image110may be a representation of a subject currently being viewed and captured by a camera (e.g., camera270) of the device. Resizing box470may be provided and may enable a user to enlarge or reduce the size of mask410to cover the desired portion of image110(e.g., the face of the subject).

Process700may store and/or discard a frame created from the first image and the mask (block730). For example, in one implementation described above in connection withFIG. 4D, custom image frame480may be created from the combination of image110and positioned mask410(e.g., by taking a picture of the object with camera270of device200). A user may be given the options of discarding custom image frame480, storing custom image frame480(e.g., within storage320of device200), and/or taking a picture using custom image frame480.

As further shown inFIG. 7, process700may capture or retrieve a second image using the stored frame (block740). For example, in one implementation described above in connection withFIG. 4D, custom image frame480may be combined with another image490(e.g., by taking another picture with camera270of device200) by aligning mask410with image490to create a final image. Custom image frame480may be used to create additional images in a similar way pre-stored frames are used to create images. Once image490is combined with customer image frame480, a user may be given the options of saving the resulting image and/or attempting to capture a different image to be combined with custom image frame280.

Process for Creation of Custom Image Frame and Resulting Image with Existing Images

As shown inFIG. 8, a process800may retrieve a first existing image (block810). For example, in one implementation described above in connection withFIG. 6A, display600of a device (e.g., display230of device200) may display image610. In one implementation, image610may be retrieved from storage (e.g., storage320) of the device and provided on display600.

Process800may create a mask in the first existing image (block820). For example, in one implementation described above in connection withFIG. 6A, a user may create mask620having a user created size and/or shape (e.g., by manipulating the size and/or shape of mask620with a joystick, a touch screen, control buttons240and/or keys of keypad250). Mask620may be provided over a portion of image610. In another implementation, a user may select a preexisting mask and alter the size of the mask, as described above in connection withFIG. 4C.

As further shown inFIG. 8, process800may store and/or discard a frame created from the first existing image and the mask (block830). For example, in one implementation described above in connection withFIG. 6A, once the mask (e.g., mask620) is provided with image610, the resulting image (e.g., the combination of image610and mask620) may be considered a custom image frame. A user may be given the options of discarding the custom image frame, storing the custom image frame (e.g., within storage320of device200), and/or taking a picture using the custom image frame.

As further shown inFIG. 8, process800may retrieve a second existing image and combine the second existing image with the stored frame (block840). For example, in one implementation described above in connection withFIG. 6B, image630may be stored on the device (e.g., within storage320of device200) and may be provided within mask620. Image630may be resized and/or reshaped to fit within mask620, as described above in connection withFIGS. 5A-5E.

CONCLUSION

Implementations consistent with principles of the invention may relate to custom image frame creation with a device. In one implementation, a user may be provided with a quick, simple, and reliable mechanism for creating custom image frames with a device. For example, a user may select a mask to use for image frame creation, and may use device to retrieve an image from storage or from another mechanism (e.g., by taking a picture). A portion of the retrieved image may be masked with the selected mask to permit a user to create a custom image frame from the retrieved image and the mask. The custom image frame may be stored (e.g., in a storage medium of device), and may be used to create additional images in a similar way pre-stored frames are used to create images. In another implementation, a mask may be created in an existing image, and the resulting image may be a first custom image frame. The first custom image frame may be shared with multiple users, and manipulated by each additional user to create a collaborative custom image frame and/or custom image.

The foregoing description of preferred embodiments of the invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.

For example, while series of acts have been described with regard toFIGS. 7 and 8, the order of the acts may be modified in other implementations consistent with principles of the invention. Further, non-dependent acts may be performed in parallel.

It should be emphasized that the term “comprises/comprising” when used in the this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof.