SMART CAMERA FOR TAKING PICTURES AUTOMATICALLY

Abstract
Methods, apparatuses, systems, and computer-readable media for taking great pictures at an event or an occasion. The techniques described in embodiments of the invention are particularly useful for tracking an object, such as a person dancing or a soccer ball in a soccer game and automatically taking pictures of the object during the event. The user may switch the device to an Event Mode that allows the user to delegate some of the picture-taking responsibilities to the device during an event. In the Event Mode, the device identifies objects of interest for the event. Also, the user may select the objects of interest from the view displayed by the display unit. The device may also have pre-programmed objects including objects that the device detects. In addition, the device may also detect people from the users' social networks by retrieving images from social networks like Facebook® and LinkedIn®.
Description
BACKGROUND

Aspects of the disclosure relate to computing technologies. In particular, aspects of the disclosure relate to mobile computing device technologies, such as systems, methods, apparatuses, and computer-readable media for acquiring images and videos of an object during an Event.


At events, such as school recitals and soccer games, people are constantly distracted by the tedious task of taking pictures or videos of the subjects of interest, such as their children. This constant distraction detracts from the enjoyment of the event. Also it is difficult to manually track the moving subject in the field of view of a camera.


Embodiments of the invention help solve this and other problems.


SUMMARY

Techniques are provided for taking great pictures of objects of interest at an event or an occasion. The techniques described in the embodiments of the invention are particularly useful for tracking an object, such as a person dancing or a soccer ball in a soccer game and automatically taking pictures of the object during the event. The user may switch the device to an Event Mode that allows the user to delegate some of the picture-taking responsibilities to the device during an event. In the Event Mode, the device identifies one or more objects of interest for the event. The user may select the objects of interest from the view displayed by the display unit. The device may also have representations of pre-programmed objects including objects that the device detects. In addition, the device may also detect people from the user's social networks by retrieving images from social networks like Facebook® and LinkedIn®.


An example of a method for obtaining an image using a camera in Event Mode comprises obtaining data from a field of view of the camera coupled to a device, accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data, automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition, determining content for the image from the field of view at least partially based on the identification and the tracking of the at least one object, and acquiring image data comprising the content for the image from the field of view using the camera.


The identification of an object may be performed using a low resolution representation of the object. In one embodiment, identifying the at least one object comprises generating a first representation of at least a portion of the image associated with the at least one object using some or all of the image data, and comparing the first representation to a second representation of a reference object stored in a database. The database may be one of an internal database stored on the device or an external database belonging to a network resource. The database can also be an internal database stored on the device or an external database belonging to a network resource. In another embodiment, identifying the at least one object comprises accessing an at least one characteristic associated with the at least one object, and determining the identification of the at least one object based on the at least one characteristic associated with the at least one object.


The identification of the at least one object may comprise transmitting the data to a network resource for processing of the data for the identification of the at least one object, and receiving the identification of the at least one object for tracking, determining the content and acquiring the image data. The processing of the data for the identification of the at least one object may be performed at the device or remotely on the server.


In one example implementation, the method further provides the user with a user interface configured for displaying a visible portion from the field of view of the camera on a display unit of the device, highlighting the content for the image that comprises the at least one object from the field of view, and highlighting the at least one object displayed on the display unit. The method may further comprise receiving input using the user interface for selecting, rejecting or modifying the highlighted regions of the image. Furthermore, the method may further comprise tagging the at least one object with identifiable information about the at least one object.


The method performed by the device may track the at least one object using one or more of a wide angled lens, zooming capabilities of the camera, a mechanical lens that allows the lens to pivot, the device placed on a pivoting tripod, and a high resolution image. In some embodiments, acquiring the image data comprises changing image processing or camera properties to acquire the content for the image.


In some implementations, the image data is acquired for the content in response to detecting a triggering event. The triggering event may comprise one or more of identification of the at least one object, a movement of the at least one object, the smiling of an identified person, dancing of the identified person, noise in a vicinity of the device and detecting a plurality of group members present in the field of view from a group. In some implementations, a plurality of images that includes the object at different times is acquired using methods performing embodiments of the invention. The method may further comprise retaining a subset of the plurality of images that are desirable from the plurality of images, wherein desirability of the image is based on one or more of lighting conditions, framing of the at least one object, the smile of at least one person in the image and detecting a plurality of group members present in the image from a group. The period of time for identifying and tracking the object may also be configurable. The objects may be identified and tracked from the field of view of the camera upon detecting motion in the field of view of the camera.


In one embodiment, the device accesses identification of the at least one object using a low resolution mode and tracks and acquires images using a higher resolution setting. In some embodiments, where the object of interest is a person, facial recognition may be used for identifying a person in the field of view of the camera. In one aspect, the device may switch to a high resolution mode upon detecting motion in the field of view of the camera. In another aspect, the device may switch to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device. In one embodiment, acquiring the image data further comprises cropping a larger image to include the content. In another embodiment, a video may be obtained by continuously acquiring the image data comprising the at least one object over the period of time.


An example device implementing the system may include a processor; an input sensory unit coupled to the processor; a display unit coupled to the processor; and a non-transitory computer readable storage medium coupled to the processor, wherein the non-transitory computer readable storage medium may comprise code executable by the processor that comprises obtaining data from a field of view of the camera coupled to a device, accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data, automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition, determining content for the image from the field of view at least partially based on the identification and the tracking of the at least one object, and acquiring image data comprising the content for the image from the field of view using the camera.


The device may identify the object using a low resolution representation of the object. In one embodiment, identifying the at least one object comprises generating a first representation of at least a portion of the image associated with the at least one object using some or all of the image data, and comparing the first representation to a second representation of a reference object stored in a database. The database may be one of an internal database stored on the device or an external database belonging to a network resource. The database can also be an internal database stored on the device or an external database belonging to a network resource. In another embodiment, identifying the at least one object comprises accessing an at least one characteristic associated with the at least one object, and determining the identification of the at least one object based on the at least one characteristic associated with the at least one object.


The identification of the at least one object may comprise transmitting the data to a network resource for processing of the data for the identification of the at least one object, and receiving the identification of the at least one object for tracking, determining the content and acquiring the image data. The processing of the data for the identification of the at least one object may be performed at the device or remotely on the server.


In one example implementation, the device further provides the user with a user interface configured for displaying a visible portion from the field of view of the camera on a display unit of the device, highlighting the content for the image that comprises the at least one object from the field of view, and highlighting the at least one object displayed on the display unit. The device may further comprise receiving input using the user interface for selecting, rejecting or modifying the highlighted regions of the image.


The device may also track the at least one object using one or more of a wide angled lens, zooming capabilities of the camera, a mechanical lens that allows the lens to pivot, the device placed on a pivoting tripod, and a high resolution image. In some embodiments, acquiring the image data comprises changing image processing or camera properties to acquire the content for the image.


In some implementations, the device acquires the image data for the content in response to detecting a triggering event. The triggering event may comprise one or more of identification of the at least one object, a movement of the at least one object, the smiling of an identified person, dancing of the identified person, noise in a vicinity of the device and detecting a plurality of group members present in the field of view from a group. In some implementations, a plurality of images that includes the object at different times is acquired using methods performing embodiments of the invention. The method may further comprise retaining a subset of the plurality of images that are desirable from the plurality of images, wherein desirability of the image is based on one or more of lighting conditions, framing of the at least one object, a smile of at least one person in the image and detecting a plurality of group members present in the image from a group. The period of time for identifying and tracking the object may also be configurable. The objects may be identified and tracked from the field of view of the camera upon detecting motion in the field of view of the camera.


In one embodiment, the device accesses identification of the at least one object using a low resolution mode and tracks and acquires images using a higher resolution setting. In some embodiments, where the object of interest is a person, facial recognition may be used for identifying a person in the field of view of the camera. In one aspect, the device may switch to a high resolution mode upon detecting motion in the field of view of the camera. In another aspect, the device may switch to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device. In one embodiment, acquiring the image data further comprises cropping a larger image to include the content. In another embodiment, a video may be obtained by the device by continuously acquiring the image data comprising the at least one object over the period of time.


An example non-transitory computer readable storage medium is coupled to a processor, wherein the non-transitory computer readable storage medium comprises a computer program executable by the processor comprising obtaining data from a field of view of a camera coupled to a device, accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data, automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition, determining content for an image from the field of view at least partially based on the identification and the tracking of the at least one object, and acquiring image data comprising the content for the image from the field of view using the camera.


An example apparatus for acquiring an image comprises means for obtaining data from a field of view of a camera coupled to a device, means for accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data, means for automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition, means for determining content for the image from the field of view at least partially based on the identification and the tracking of the at least one object, and means for acquiring image data comprising the content for the image from the field of view using the camera.


The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order for the detailed description that follows to be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed can be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the spirit and scope of the appended claims. Features which are believed to be characteristic of the concepts disclosed herein, both as to their organization and method of operation, together with associated advantages, will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purpose of illustration and description only and not as a definition of the limits of the claims.





BRIEF DESCRIPTION OF THE DRAWINGS

The following description is provided with reference to the drawings, where like reference numerals are used to refer to like elements throughout. While various details of one or more techniques are described herein, other techniques are also possible. In some instances, well-known structures and devices are shown in block diagram form in order to facilitate describing various techniques.


A further understanding of the nature and advantages of examples provided by the disclosure can be realized by reference to the remaining portions of the specification and the drawings, wherein like reference numerals are used throughout the several drawings to refer to similar components. In some instances, a sub-label is associated with a reference numeral to denote one of multiple similar components.



FIG. 1 illustrates an exemplary device in which one or more aspects of the disclosure may be implemented.



FIG. 2A and FIG. 2B illustrate an exemplary embodiment performed by components of the device for tracking a person over a period of time at an event.



FIG. 3 is a simplified flow diagram, illustrating an exemplary method 300 for tracking an object and acquiring image data from the field of view.



FIG. 4 illustrates a simplified topology between a device and a network.



FIG. 5A and FIG. 5B illustrate an exemplary embodiment of the user interface.



FIG. 6 is a simplified flow diagram, illustrating an exemplary method 600 for providing a user interface for the user at the device.



FIG. 7 is a simplified flow diagram, illustrating an exemplary method 700 for acquiring the desired content from a high resolution image.



FIG. 8 is a simplified flow diagram, illustrating an exemplary method 800 for retaining desirable images.



FIG. 9 is a simplified flow diagram, illustrating an exemplary method 900 for switching from low resolution to high resolution for acquiring images.



FIG. 10 illustrates an exemplary embodiment performed by components of the device for sharing images.



FIG. 11 is a simplified flow diagram, illustrating an exemplary method 1100 for sharing images over a network.



FIG. 12 is another simplified flow diagram, illustrating an exemplary method 1200 for sharing images over a network.





DETAILED DESCRIPTION

Several illustrative embodiments will now be described with respect to the accompanying drawings, which form a part hereof. While particular embodiments, in which one or more aspects of the disclosure may be implemented, are described below, other embodiments may be used and various modifications may be made without departing from the scope of the disclosure or the spirit of the appended claims.


The current techniques relate to image acquisition. Even as cameras are available on more devices, image acquisition techniques are relatively unchanged. Typically, a user positions a camera until particular content is in the field of view of the camera, and then “takes” the picture by pushing a button or selecting an option on a screen.


By contrast, the current disclosure provides techniques that allow images to be acquired in a smarter way. In some embodiments, an “Event Mode” may be initiated, and used to acquire images in response to occurrence of one or more triggering events. One or more people, objects, or other features may be selected as subjects of an Event Mode. During camera operation, image data may be acquired using the camera, and processed to determine whether one or more objects are in the field of view. If so, the one or more objects may be tracked. In response to detection of the occurrence of one or more triggering events, an image including the subject may be acquired. The image may be acquired automatically and/or in response to user initiation. The techniques may also include methods to acquire high quality images. For example, particular framing techniques may be employed (discussed more fully below) to provide high quality images, even when automatic image acquisition is used. The one or more triggering events may be triggers that are likely to occur in a particular setting. The triggering events may be selected as triggers for images that people traditionally like to take pictures of. In an example discussed more fully below, a user may initiate an Event Mode at a soccer game. One triggering event that may be selected is having a selected person proximate to the soccer ball. In another example, a user may initiate Event Mode at a social gathering such as a party. One triggering event that may be selected is detecting a smile on the face of a selected person.



FIG. 1 illustrates an exemplary device incorporating parts of the device employed in practicing embodiments of the invention. An exemplary device as illustrated in FIG. 1 may be incorporated as part of the described computerized device below. For example, device 100 can represent some of the components of a mobile device. A mobile device may be any computing device with an input sensory unit like a camera and a display unit. Examples of a mobile device include, but are not limited to, video game consoles, tablets, smart phones, camera devices and any other hand-held devices suitable for performing embodiments of the invention. FIG. 1 provides a schematic illustration of one embodiment of a device 100 that can perform the methods provided by various other embodiments, as described herein, and/or can function as the host device, a remote kiosk/terminal, a point-of-sale device, a mobile device, a set-top box and/or a device. FIG. 1 is meant only to provide a generalized illustration of various components, any or all of which may be utilized as appropriate. FIG. 1, therefore, broadly illustrates how individual system elements may be implemented in a relatively separated or relatively more integrated manner. FIG. 1 is an exemplary hand-held camera device or mobile device that may use components as described in reference to FIG. 1. In one embodiment, only some of the components described in FIG. 1 are implemented and enabled to perform embodiments of the invention. For example, a camera device may have one or more cameras, storage, or processing components along with other components described in FIG. 1.


The device 100 is shown comprising hardware elements that can be electrically coupled via a bus 105 (or may otherwise be in communication, as appropriate). The hardware elements may include one or more processors 110, including without limitation one or more general-purpose processors and/or one or more special-purpose processors (such as digital signal processing chips, graphics acceleration processors, and/or the like); one or more input devices 115, which can include without limitation a camera, sensors (including inertial sensors), a mouse, a keyboard and/or the like and one or more output devices 120, which can include without limitation a display unit, a printer and/or the like. In addition, hardware elements may also include one or more cameras 150, as shown in FIG. 1, for acquiring the image content as discussed in further detail below.


The device 100 may further include (and/or be in communication with) one or more non-transitory storage devices 125, which can comprise, without limitation, local and/or network accessible storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, a solid-state storage device such as a random access memory (“RAM”) and/or a read-only memory (“ROM”), which can be programmable, flash-updateable and/or the like. Such storage devices may be configured to implement any appropriate data storage, including, without limitation, various file systems, database structures, and/or the like.


The device 100 might also include a communications subsystem 130, which can include without limitation a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device and/or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. The communications subsystem 130 may permit data to be exchanged with a network (such as the network described below, to name one example), other devices, and/or any other devices described herein. In many embodiments, the device 100 will further comprise a non-transitory working memory 135, which can include a RAM or ROM device, as described above.


The device 100 also can comprise software elements, shown as being currently located within the working memory 135, including an operating system 140, device drivers, executable libraries, and/or other code, such as one or more application programs 145, which may comprise computer programs provided by various embodiments, and/or may be designed to implement methods, and/or configure systems, provided by other embodiments, as described herein. Merely by way of example, one or more procedures described with respect to the method(s) discussed above might be implemented as code and/or instructions executable by a computer (and/or a processor within a computer); in an aspect, then, such code and/or instructions can be used to configure and/or adapt a general purpose computer (or other device) to perform one or more operations in accordance with the described methods.


A set of these instructions and/or code might be stored on a computer-readable storage medium, such as the storage device(s) 125 described above. In some cases, the storage medium might be incorporated within a device, such as device 100. In other embodiments, the storage medium might be separate from a device (e.g., a removable medium, such as a compact disc), and/or provided in an installation package, such that the storage medium can be used to program, configure and/or adapt a general purpose computer with the instructions/code stored thereon. These instructions might take the form of executable code, which is executable by the device 100 and/or might take the form of source and/or installable code, which, upon compilation and/or installation on the device 100 (e.g., using any of a variety of generally available compilers, installation programs, compression/decompression utilities, etc.), then takes the form of executable code.


Substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and/or particular elements might be implemented in hardware, software (including portable software, such as applets, etc.), or both. Further, connection to other computing devices such as network input/output devices may be employed.


Some embodiments may employ a device (such as the device 100) to perform methods in accordance with the disclosure. For example, some or all of the procedures of the described methods may be performed by the device 100 in response to processor 110 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 140 and/or other code, such as an application program 145) contained in the working memory 135. Such instructions may be read into the working memory 135 from another computer-readable medium, such as one or more of the storage device(s) 125. Merely by way of example, execution of the sequences of instructions contained in the working memory 135 might cause the processor(s) 110 to perform one or more procedures of the methods described herein.


The terms “machine-readable medium” and “computer-readable medium,” as used herein, may refer to any article of manufacture or medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the device 100, various computer-readable media might be involved in providing instructions/code to processor(s) 110 for execution and/or might be used to store and/or carry such instructions/code (e.g., as signals). In many implementations, a computer-readable medium is a physical and/or tangible storage medium. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical and/or magnetic disks, such as the storage device(s) 125. Volatile media include, without limitation, dynamic memory, such as the working memory 135. “Computer readable medium,” “storage medium,” and other terms used herein do not refer to transitory propagating signals. Common forms of physical and/or tangible computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, or any other memory chip or cartridge.


Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 110 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer.


The communications subsystem 130 (and/or components thereof) generally will receive the signals, and the bus 105 then might carry the signals (and/or the data, instructions, etc. carried by the signals) to the working memory 135, from which the processor(s) 110 retrieves and executes the instructions. The instructions received by the working memory 135 may optionally be stored on a non-transitory storage device 125 either before or after execution by the processor(s) 110.


The methods, systems, and devices discussed above are examples. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, in alternative configurations, the methods described may be performed in an order different from that described, and/or various stages may be added, omitted, and/or combined. Also, features described with respect to certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples that do not limit the scope of the disclosure to those specific examples.


Specific details are given in the description to provide a thorough understanding of the embodiments. However, embodiments may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the embodiments. This description provides example embodiments only, and is not intended to limit the scope, applicability, or configuration of the invention. Rather, the preceding description of the embodiments will provide those skilled in the art with an enabling description for implementing embodiments of the invention. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention.


Also, some embodiments were described as processes depicted as flow diagrams or block diagrams. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure. Furthermore, embodiments of the methods may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the associated tasks may be stored in a computer-readable medium such as a storage medium. Processors may perform the associated tasks.


Having described several embodiments, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may merely be a component of a larger system, wherein other rules may take precedence over or otherwise modify the application of the invention. Also, a number of steps may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not limit the scope of the disclosure.


Techniques are provided for taking great pictures of objects including people at an event. The techniques described in the embodiments of the invention are particularly useful for tracking one or more objects and automatically taking pictures of objects of interest during an event. The user may switch the mobile device to an Event Mode that allows the user to delegate some of the picture-taking responsibilities to the mobile device during an event.



FIG. 2 is an exemplary embodiment performed by components of the device such as device 100 of FIG. 1 for tracking a particular person over a period of time at an event. FIG. 2 illustrates two images of a group of friends at a party, taken by the mobile device in Event Mode. The object of interest identified using the processor 110 of FIG. 1 in FIG. 2A is a particular woman 202 (shown dancing at the party). The mobile device 100 tracks the woman at the party and acquires pictures of the woman as she moves around the room. In FIG. 2B, the camera 150 coupled to the device 100 acquires another picture of the same woman 204 dancing at the party at a new location. The device 100 may be placed in an Event Mode either automatically or by a user who enables the mode to identify and track subjects such as the woman from FIGS. 2A and 2B.



FIG. 3 is a simplified flow diagram, illustrating a method 300 for tracking an object and acquiring image data from the field of view. The method 300 may be referred to as “Event Mode,” while describing embodiments of the invention, and should not be construed in a manner that is limiting to aspects of the invention in any manner. The method 300 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 300 is performed by device 100 of FIG. 1.


Referring to FIG. 3, at block 302, the device obtains data from a field of view of the camera 150 coupled to the device for the purpose of identifying one or more objects present in the field of view. In some implementations, the data may be a representation of the entire field of view visible to the camera lens (e.g., FIG. 2A) or a representation of a portion of the field of view visible to the camera lens (e.g., person 202 and surrounding area) of the camera coupled to the device.


At block 304, the device accesses an identification of at least one object, such as a particular person 202 from FIG. 2A. Identification information about the image is obtained by processing of the data acquired in block 302. In some implementations, the identification of an object is performed using a low resolution representation of the object. The processing of the data to identify the one or more objects from the data may be performed locally at the device or remotely using network resources, such as a remote server. When the identification of the object occurs at a remote server, the device transmits data to the remote server for processing of the data for the identification of one or more objects, and receives the identification of the object for tracking, determining desired content and acquiring the image data. Furthermore, the device may use locally stored data from a local database stored on the device or a remote database for the purpose of identifying an object. In one embodiment, the device from FIG. 1 accesses an internal database stored on the device before accessing an external database belonging to a network resource for identifying the at least one object. In other embodiments, the internal database is a subset of the external database. For instance, the internal database may be implemented as a cache storing the most recently accessed information. The cache may be implemented using hardware caches, working memory 135 or storage device(s) 125.


In the Event Mode, the device accesses identification information about one or more objects of interest for the event visible to the camera. In one aspect, identification of the at least one object may include generating a representation of a portion of the image associated with the object using some or all of the data visible to the camera and comparing the representation of a portion of the image to a representation of a reference object stored in a database. In some instances, the object of interest is a person and facial recognition techniques are used in identifying a portion of the image associated with the at least one object comprising a face of the person. In FIG. 2A, the person 202 may be identified using facial recognition techniques. Known facial recognition techniques such as Principal Component Analysis, Linear Discriminate Analysis, Elastic Bunch Graph Matching or any other suitable techniques may be used for facial recognition.


The faces of the people in the field of view may be compared against reference images of faces stored locally on the device. In addition, the device may be connected to network resources using a wireless connection such as WiFi, Wimax, LTE, CDMA, GSM connection or any other suitable means. In some instances, the device may also be connected to network resources through a wired connection. The device may have access to identification information in the field of view of the camera using a social network using network resources. The device may use the user's relationships or/and digital trust established and accessible through the user's social network. For instance, the device may access the user's social networks and facilitate matching the obtained image to images from social networks like Facebook® and LinkedIn®. Facial recognition may not be limited to people and may include facial recognition of animals. For instance, social networking websites have accounts dedicated to pets. Therefore, identifying facial features for facial recognition may include facial and other features for animals.


As discussed earlier, the device may use a hierarchical system for efficiently identifying objects in the field of view of the camera lens against stored images. For instance, if the user's brother enters the field of view, the mobile device may have a stored image of the user's brother in any of local storage media, a cache or memory. The device may be loaded with the most relevant objects of interest to the user by the device. On the other hand, there may be situations where an infrequently visited friend from high school who is only connected to the user through Facebook shows up in front of the camera lens. In such a scenario, the device may search the local storage, cache and memory and may not identify the person using the local resources. The mobile device may connect to a social network using the network resources to identify the face against the user's social network. In this instance, the device will facilitate finding the user's friend through her/his connections in Facebook®.


A social network or social group may be defined as an online service, platform, or site that focuses on facilitating the building of social networks or social relations among people who, for example, share interests, activities, backgrounds, or real-life connections. A social network service may consist of a representation of each user (often a profile), his/her social links, and a variety of additional services. Most social network services are web-based and provide means for users to interact over the Internet, such as e-mail and instant messaging.


Briefly, referring to the oversimplified and exemplary FIG. 4, as discussed earlier, the device 402 (device 100 of FIG. 1) may be connected to network resources. Network resources may include, but are not limited to, network connectivity, processing power, storage capacity and the software infrastructure. In some implementations, all or part of the network resource may be referred as a “cloud.” Remote database(s) 406, server(s) 410 and social network(s) 408 may exist as part of the network 404. Social networks may include social connectivity networks and social media networks such as Facebook®, Twitter®, Four-Square®, Google Plus®, etc. The device 402 may connect to the various network resources through a wireless or wired connection.


In another embodiment, identification of the object may include accessing an at least one characteristic associated with the at least one object, and determining the identification of the at least one object based on the at least one characteristic associated with the at least one object. For example, during a soccer match, the mobile device may be able to identify a soccer ball and track the soccer ball on the field based on the dimensions and characteristics of the soccer ball or/and by partially matching the soccer ball to a stored image.


Once one or more objects are identified in the field of view of the camera lens, the device may provide a user interface for the user to select, or reject or modify the identified objects. The user interface may involve providing an interface to the user using a display unit coupled to the mobile device. The display unit could be a capacitive sensory input such as a “touch screen.” In one embodiment, the mobile device may highlight the identified objects by drawing boxes or circles around the identified objects or by any other suitable means. In one implementation, besides just identifying the objects, the mobile device may also tag the objects in the field of view of the camera. In one implementation, the display unit may display a representation of the total area visible to the lens. The device may draw a box on the display representing the image encompassing the region that the camera will store as an image or video. Additionally, the device may highlight the objects of interest for the user within the boxed area. For instance, the user may draw a box or any suitable shape around the object of interest or simply just select the identified or/and tagged object. In some embodiments, the user may also verbally select the object. For example, the user might give the mobile device a verbal command to “select Tom,” where Tom is one of the tags for the tagged objects displayed on the display unit.


Briefly referring to FIGS. 5A and 5B, exemplary embodiments of an Event Mode such as that described above are illustrated. A particular person, designated here as a man 502, has been selected either during initiation of Event Mode or at a different time. The selection of the man 502, may be visually indicated, for example, by highlighting or circling 508 around the man 502. FIG. 5A shows an exemplary field of view visible to the camera 150 and displayed on the display unit 512 of the device at a first time. The device may use components similar to components described in reference to device 100 of FIG. 1. For example, the display unit may be an output device 120 and the identification of the man 502 and other objects in the field of view of the camera 150 may be performed using the processor 110 and instructions from the working memory 135. In FIG. 5A, two men (502 and 504) and a ball 506 are shown on the display unit of the device. The device identifies and tracks the person 502 over a course of time. On the display unit, the device may highlight the person 502, as shown in FIG. 5A by a circle (although many different techniques can be used). Additionally, the device may visually display the box 510 to indicate to the user particular content that may be acquired by the device if an image is acquired. The user interface may enable the user to select, reject or modify the identified objects. For instance, the user may be able to deselect one person 502 and select another person 504 using the touch screen.



FIG. 5B shows an exemplary field of view visible to the camera and displayed on the display unit 512 of the device at a second time. Both of the people (502 and 504) move in the field of view between the first time (as shown in FIG. 5A) and the second time (as shown in FIG. 5B). The device continues to track the person 502 present in the field of view and highlight the person 502 and the particular content around the person 502 that would be in an image acquired at the current time. In one setting, the device may consider the proximity of the person 502 to the ball 506 as a triggering event to obtain the image data.


Referring to the exemplary flow of FIG. 3 again, at block 306, the device automatically starts tracking the identified object present in the field of view over a period of time. The device may track the object for the duration of time that the Event Mode is enabled and as long as the object is within the field of view of the camera lens of the device. The device may track the object using known methods, such as optical flow tracking and normalized cross-correlation of interesting features or any other suitable methods in an area of interest. The camera may track the at least one object using one or more of a wide angled lens, zooming capabilities of the camera, a mechanical lens that allows the lens to pivot, the device placed on a pivoting tripod, a high resolution image or any other suitable means that allows the device to track the object over an area larger than the intended image/video size. A high resolution lens may allow for cropping-out low resolution pictures that include the objects of interest.


The Event Mode duration may be a configurable duration of time in one embodiment. In another embodiment, objects are identified and tracked by the device in the field of view of the camera upon detecting motion in the field of view of the camera. The duration of the time for the Event Mode may be based on motion in the field of view of the camera lens coupled to the device or sound in the vicinity of the mobile device. In yet another embodiment, the device may be left in an Event monitoring mode, wherein the device monitors triggering events or identifies objects of interest in low resolution. In one aspect, when an object of interest is identified, the device increases the resolution for taking higher resolution videos or pictures of the object. The device may switch to a higher resolution mode upon detecting motion in the field of view of the camera. Also, the device may switch to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device.


In one embodiment, the image is acquired using a wide-angle lens. A wide-angle lens refers to a lens that has a focal length substantially smaller than the focal length of a normal lens for a given film plane. This type of lens allows more of the scene to be included in the photograph. An acquired image using a wide angle shot is usually distorted. The acquired image may be first undistorted before processing the image for tracking. The process of undistorting the image may include applying the inverse of the calibration of the camera to the image. Once the image is undistorted, the area of interest in the image is tracked and cropped according to embodiments of the invention.


In another embodiment, the device may use a lens capable of taking a high resolution picture covering a large area. This may allow tracking the object over a larger area. Area surrounding and including the identified object may be acquired at a lower, but acceptable, resolution. In one implementation, only a sampling of a subsection of the entire image including the object of interest is acquired for identification and tracking purposes. Sampling a subsection of the image may be advantageous, since it allows for better memory bandwidth management and lower storage requirements. In another implementation, the full image is acquired and processed at a later time.


Additionally, the device may be equipped with multiple cameras, lenses, and/or sensors for acquiring additional information. The additional cameras/sensors may allow for better identification and tracking of the object over a larger area or better sensing capabilities for identifying the object or the event.


At block 308, the device determines the particular content for the image from the field of view based on the identification and tracking of the object. The device may use techniques to better frame the object as part of the acquired image. For instance, the device may frame the object of interest in the center of the image, or use the “rule of thirds” technique. In other images, for instance, with a building in the background, such as a famous landmark and a person in the foreground of the image, the device may frame the image so that both the landmark and the person are properly positioned. As described before, the proper framing of the objects in the image may be accomplished by changing image processing and/or camera properties to acquire the desired content for the image.


At block 310, once the desired content for the image is determined, the device acquires the image data comprising the desired content. In one embodiment, the desired content is captured from the field of view. In another embodiment, the desired content is cropped out from a high resolution image already captured. In addition to recognizing the desired content, the device may identify certain triggering events in the field of view of the camera lens that are of interest to the user, once the object of interest is identified and tracking of the object is initiated. The device may acquire the image data for the desired content in response to detecting such triggering events. Triggering events of interest may be determined by analyzing the sensory input from the various input devices coupled to the mobile device, such as microphone, camera, and touch screen. A triggering event for acquiring image data could be characterized as a triggering event associated with an already identified object, or/and any object in the field of view. For example, a triggering event may include, but is not limited to, identification of an object of interest, movement of the object of interest, smiling of an identified person, dancing of the identified person, noise in the vicinity of the device and detecting a plurality of group members present from a group. For instance, if more than fifty percent of the people from the field of view belong to the user's extended family, the device may consider this occurrence as a triggering event. In another embodiment, a triggering event may also be associated with a movement or a change in the field of view. For instance, the moving of a soccer ball towards the goal post may be a triggering event. On the other hand, fireworks erupting in the field of view of the camera or a loud sound in the environment of the camera may also be identified as a triggering event by the device.


In one embodiment, the device tracks the objects and takes consecutive pictures. The device may acquire a plurality of images based on triggering events or detection of desired content. The device may post-process the images to keep only the most desirable pictures out of the lot while discarding the rest, wherein desirability of an image may be based on one or more of lighting conditions, framing of the at least one object, smile of at least one person in the image and detecting a plurality of group members present in the image from a group or any other such characteristics. Furthermore, if there are multiple pictures of the same object and background, the device may categorize the picture with the most number of smiles or a picture that fully captures the object as a better candidate for retaining than the other pictures. In another embodiment, the device may opportunistically take pictures of the object throughout the duration of time based on detecting triggering events in the field of view or vicinity of the mobile device and later categorize, rank and keep the most desirable pictures.


In one embodiment, the device acquires a video by continuously acquiring the image data comprising the at least one object over the period of time. The device may capture multiple images in quick succession and generate a video from the successive images.


It should be appreciated that the specific steps illustrated in FIG. 3 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 3 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 300.



FIG. 6 is a simplified flow diagram, illustrating a method 600 for providing a user interface for the user at the device. The method 600 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 600 is performed by device 100 of FIG. 1.


Referring to FIG. 6, at block 602, the device displays the visible portion from the field of view of the camera on the display unit of the device. The display unit may be an output unit 120 as described in reference to device 100 of FIG. 1. At block 604, the device highlights the desired content of the image. The desired content may include an identified object. The desired content may be highlighted using a perforated rectangle or any other suitable means for highlighting the desired content. At block 606, the device highlights the identified object. The identified object may be highlighted using a circle or an oval around the identified object or using any other suitable means. Optionally, at block 608, the device receives information to perform one of selecting, rejecting or modifying the highlighted region. For instance, the user may realize that the device is selecting an object different from what the user desires. The user may touch a different object on the display unit. The display unit senses the input. The device receives the input from the display unit and selects the object indicated by the user. Along with the highlighted object, the image comprising the desired content also changes to present a picture with improved composition as the user selected the object as the focus of the image. Also optionally, at block 610, the device tags the highlighted object with identifiable information about the object, such as a user name so that the person is easily identifiable by the user.


It should be appreciated that the specific steps illustrated in FIG. 6 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 6 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 600.



FIG. 7 is a simplified flow diagram, illustrating a method 700 for acquiring the desired content from a high resolution image. The method 700 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 700 is performed by device 100 of FIG. 1.


Referring to FIG. 7, at block 702, the device may track objects using a high resolution camera lens during at least parts of the Event Mode. Using a high resolution camera allows the device to track the object over an area larger than the intended image/video size. At block 704, the device may obtain high resolution images. At block 706, the device crops-out the desired content from the high resolution image. A high resolution lens may allow for cropping-out low resolution pictures that include the desired content including the objects of interest. In the process of cropping-out pictures, components of the device may balance the proportionality of the object that is being tracked with respect to the other objects in the image.


It should be appreciated that the specific steps illustrated in FIG. 7 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 7 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 700.



FIG. 8 is a simplified flow diagram, illustrating a method 800 for retaining desirable images. The method 800 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 800 is performed by device 100 of FIG. 1.


In one embodiment, components of the device track objects and acquire consecutive pictures. Referring to the exemplary flow diagram of FIG. 8, at block 802, the components of the device acquire a plurality of images based on triggering events or detection of desired content. At block 804, the device detects desirability features associated with each acquired image. At block 806, components of the device may rank each image based on the desirability features associated with each image, wherein desirability of an image may be based on one or more of lighting conditions, framing of the at least one object, smile of at least one person in the image, and detecting a plurality of group members present in the image from a group or any other such characteristics. At block 808, components of the device may post-process the images to keep only the most desirable pictures out of the lot while discarding the rest. Furthermore, if there are multiple pictures of the same object and background, the device may categorize the picture with the most number of smiles or a picture that fully captures the object as a better candidate for retaining than the other pictures. In another embodiment, the device may opportunistically take pictures of the object throughout the duration of time based on detecting triggering events in the field of view or vicinity of the mobile device and later categorize, rank and retain the most desirable pictures.


It should be appreciated that the specific steps illustrated in FIG. 8 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 8 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 800.



FIG. 9 is a simplified flow diagram, illustrating a method 900 for switching from low resolution to high resolution for acquiring images. The method 900 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 900 is performed by device 100 of FIG. 1.


In one embodiment, the mobile device may be left in an Event monitoring mode, wherein the device monitors triggering events or identifies objects of interest in low resolution. The device may switch to a high resolution mode upon detecting motion in the field of view of the camera. Referring to the exemplary flow of FIG. 9, at block 902, components of the device may monitor objects in the field of view in low resolution. At block 904, components of the device may identify triggering events or objects of interest in the field of view of the camera using low resolution images. At block 906, the camera coupled to the device switches to high resolution upon detection of objects of interest in the field of view of the camera. At block 908, components of the device acquire images of the object at the triggering event in the field of view of the camera in the high resolution mode. Also, in some embodiments, the device may switch to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device. A sleep mode may include turning off portions of the device or switching numerous components of the device to a low power state. For example, after a period of inactivity the device may switch off the device display unit.


It should be appreciated that the specific steps illustrated in FIG. 9 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 9 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 900.



FIG. 10 shows an exemplary embodiment for acquiring and sharing pictures through use of a device such as device 100 described in FIG. 1. Right after the user acquires a picture; the device annotates the picture and makes a recommendation for sharing the picture. The recommendation provided by the device may be based on detecting the location of the device, people in the picture, and/or other sharing attributes of the objects in the picture and the image itself. For example, the device can detect the location by recognizing the objects in the image. If the background has the Empire State Building, the device knows with a fair amount of certainty that the location of the device is New York City. In some implementations, embodiments of the invention may detect the location by recognizing multiple objects in the image. For instance, if there is a Starbucks, McDonalds, and a “smile for tourist” billboard, then the location is the arrival gate at the CDG airport in France. In addition to or in conjunction with recognizing the background in the image, the device may also determine the location based on the signal strength of the mobile device to the servicing tower or by using a GPS system. After identification of the different objects in the image and deducing of the sharing attributes, the device may provide the user with information assisting the user with sharing information over a network. In FIG. 10, the device annotates the image for the user and asks if the user would like to share the picture or other information about the user. If the user affirms, the device may share the information about the user. For instance, the device may “check-in” the user at a location, such as the Empire State Building, in a social network such as Four-Square®.



FIG. 11 is a simplified flow diagram, illustrating a method 1100 for accessing and sharing image data. The method 1100 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 1100 is performed by a device 100 of FIG. 1.


Referring to the exemplary flow of FIG. 11, at block 1102, the device accesses image data in an image from a field of view of a camera coupled to the device for identifying one or more objects present in the field of view of the device. In one embodiment, the device is a mobile device. In some implementations, the data may be a representation of the entire field of view visible to the camera lens or a representation of a portion of the field of view visible to the camera lens of the camera coupled to the device.


At block 1104, the device accesses an identification of at least one object. The device may access the identification of the object from a local storage. Identification information regarding the objects from the image is obtained by processing of the data accessed at block 1102. In some implementations, the identification of an object is performed using a low resolution representation of the object. The processing of the data to identify the one or more objects from the data may be performed locally at the device or remotely using network resources, such as a remote server. When the identification of the object occurs at a remote server, the device transmits data to the remote server for processing of the data for the identification of one or more objects, and receives the identification of the object for sharing image data. Details of processing the image data using a server are further discussed in FIG. 12. Alternatively, the device may use locally stored data from a local database for identifying an object. In one embodiment, the device accesses an internal database stored on the device before accessing an external database belonging to a network resource for identifying the at least one object. In other embodiments, the internal database is a subset of the external database. For instance, the internal database may be implemented as a cache storing the most recently accessed information.


The device accesses identification information about one or more objects of interest visible to the camera. In one aspect, identification of the at least one object may include generating a representation of a portion of the image associated with the object using some or all of the data visible to the camera and comparing the representation of a portion of the image to a representation of a reference object stored in a database. In some instances, the object of interest is a person and facial recognition techniques are used in identifying a portion of the image associated with the at least one object comprising a face of the person. Known facial recognition techniques such as Principal Component Analysis, Linear Discriminate Analysis, Elastic Bunch Graph Matching or any other suitable techniques may be used for facial recognition.


The faces of the people in the field of view may be compared against faces from images stored locally on the device. In addition, the device may be connected to network resources using a wireless connection such as WiFi, Wimax, LTE, CDMA, GSM connection or any other suitable means. In some instances, the device may also be connected to network resources through a wired connection. The device may have access to identification information in the field of view of the camera using a social network accessible through the network resources. The device may use the user's relationships or/and digital trust established and accessible through the user's social network. For instance, the device may access the user's social networks and facilitate matching the obtained representations of the image to the representations of the reference images from social networks like Facebook® and LinkedIn®.


A social network or social group may be defined as an online service, platform, or site that focuses on facilitating the building of social networks or social relations among people who, for example, share interests, activities, backgrounds, or real-life connections. A social network service may consist of a representation of each user (often a profile), his/her social links, and a variety of additional services. Most social network services are web-based and provide means for users to interact over the Internet, such as e-mail and instant messaging.


Aspects of using a remote server for identification of the object are further discussed with reference to FIG. 12. Facial recognition may not be limited to people and may include facial recognition for animals. For instance, social networking websites have accounts dedicated to pets. Therefore, identifying facial features for facial recognition may include facial and other features for animals.


As discussed earlier, the device may use a hierarchical system for efficiently identifying objects in the field of view of the camera lens against stored images. For instance, if the user's brother enters the field of view, the mobile device may have a stored image of the user's brother in any of local storage media, a cache or memory. The device may be loaded with the most relevant objects of interest to the user by the device. On the other hand, there may be situations where an infrequently visited friend from high school who is only connected to the user through Facebook® shows up in front of the camera lens. In such a scenario, the device may search the local storage, cache and memory and may not identify the person using the local resources. The mobile device may connect to a social network using the network resources to identify the face against the user's social network. In this instance, the device will facilitate finding the user's friend through her/his connections in Facebook®.


In another embodiment, identification of the object may include accessing an at least one characteristic associated with the at least one object, and determining the identification of the at least one object based on the at least one characteristic associated with the at least one object. For example, during a soccer match, the mobile device may be able to identify a soccer ball and track the soccer ball on the field based on the dimensions and characteristics of the soccer ball or/and by partially matching the soccer ball to a stored image.


Once one or more objects are identified in the field of view of the camera lens, the device may provide a user interface for the user to select, reject or modify the identified objects. The user interface may involve providing an interface to the user using a display unit coupled to the mobile device. The display unit could be a capacitive sensory input such as a “touch screen.” In one embodiment, the mobile device may highlight the identified objects by drawing boxes or circles around the identified objects or by any other suitable means. In one implementation, besides just identifying the objects, the mobile device may also tag the objects in the field of view of the camera. In one implementation, the display unit may display a representation of the total area visible to the lens. Additionally, the device may highlight the objects of interest for the user within the boxed area. For instance, the user may draw a box or any suitable shape around the object of interest or simply just select the identified or/and tagged object. If the objects are tagged, the user may also verbally select the tag. For example, the user might give the mobile device a verbal command to “select Tom,” where Tom is one of the tags for the tagged objects displayed on the display unit.


Referring back to the exemplary flow of FIG. 11, at block 1106, the device accesses sharing attributes associated with the at least one object identified in the image. The sharing attributes may be derived remotely using network resources, locally using the device resources or any combination thereof. The sharing attributes may be derived using one or more characteristics of the object. For instance, images with a building structure may be tagged with a sharing attribute of “architecture” or “buildings” and images with flowers may be tagged with a sharing attribute of “flowers.” The sharing attributes may be at different granularities and configurable by the user. For instance, the user may have the ability to fine tune the sharing attributes for buildings to further account for brick-based buildings as opposed to stone-based buildings. Furthermore, an image may have several objects and each object may have several attributes.


In some embodiments, the sharing attributes are assigned to the objects based on the people present in the image. The object as discussed above may be a subject/person. The person's face may be recognized using facial recognition at block 1104. As an example, for an image with mom's picture, the object may have sharing attributes such as “family” and “mother.” Similarly, friends may be identified and associated with sharing attributes as “friends.” The sharing attributes may also be derived using a history of association of similar objects for the objects identified. For instance, if the device detects that the user always associates/groups a very close friend with his or her family, then the device may start associating that friend as having a sharing attribute as “family.”


At block 1108, the sharing attributes are automatically associated with the image. In one embodiment, at block 1106, the sharing attributes are individually associated with the object and may not be inter-related with sharing attributes of other objects or attributes of the image itself. In one embodiment, numerous sharing attributes from the different objects and image attributes may be combined to generate a fewer number of sharing attributes. In some embodiments, the sharing attributes associated with the image are more closely aligned with groupings of pictures created for accounts such as Facebook®, Twitter®, and Google Plus® by the user.


Embodiments of the invention may use the relationship between the different object and the objects and the attributes of the image to refine the sharing attributes for the image. This may include taking into account the context of the picture in determining the sharing attributes. For instance, for all pictures taken for the July 4th weekend in 2012 in Paris for a couple, the mobile device or the server may automatically associate a sharing attribute that represents “July 4th weekend, 2012, Paris” with a plurality of images. The sharing attribute for the image may result from taking into account the date, time and location of where the image was captured. In addition, objects in the image such as facial recognition of the couple and the Eiffel Tower in the background may be used. The location may be detected by inferring the location of objects such as the Eiffel Tower in the background or using location indicators from a GPS satellite or a local cell tower.


Sharing attributes may also include sharing policies and preferences associated with each object identified in the image. For instance, if a person is identified in the image, then the person might be automatically granted access rights or permission to access the image when the image is uploaded to the network as part of a social network or otherwise. On the other hand, the user may also have sharing policies, where, if the image has mom in it, the user may restrict the picture from being shared in groupings with friends.


Embodiments may also employ the user's relationships or/and digital trust established and accessible through the user's social group or network in forming the sharing attributes. In some implementations, the trust is transitive and includes automatically granting to a second person access rights to the image based on a transitive trust established between the first person and the second person using a first trust relationship between the first person and a user of the device and a second trust relationship between the second person and the user of the device. For example, if the identified person in the image is the device user's father, then the embodiments of the image may grant to the device user's grandfather access rights to the image.


Similarly, embodiments of the invention may use group membership to grant access rights to an image. For instance, if more than a certain number of people identified in the image belong to a particular group on a social network 408, then embodiments of the invention may grant to other members belonging to the same group access to the image. For instance, if the user had a Google circle for family members and if most of the people identified in the image are family members, embodiments of the device may share or grant to all the members of the family Google circle access rights to the image.


At block 1110, information is generated to share the image based on sharing attributes. In one embodiment, information is generated associating the image with one or more social networks 408, groups or circles based on the sharing attributes of the image. In another embodiment, information is generated associating the image with a grouping of objects stored locally or on a server as part of the network 404. The image information may also include identifying information from block 1104 and sharing attributes from block 1106 and 1108.


In some implementations, the identification and sharing attributes for the image may be stored with the image as metadata. At block 1112, at the device, the information generated may be displayed to the user on the display unit of the output device 120 from FIG. 1. For instance, the image may be displayed with annotations that include the identification information and sharing attributes for the object or the image as a whole. Furthermore, the device may provide the user with recommendations for uploading the image to one or more social networks 408 or groupings online. For instance, for pictures with colleagues at an office party, the device may recommend loading the pictures to a professional social network 408 such as LinkedIn®. Whereas, for pictures from a high-school reunion party, the device may recommend uploading the pictures to a social network 408 like Facebook® or a circle dedicated to friends from high school in a social network 408 like Google Plus®.


It should be appreciated that the specific steps illustrated in FIG. 11 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 11 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 1100.



FIG. 12 is a simplified flow diagram, illustrating a method 1200 for accessing and sharing image data. The method 1200 is performed by processing logic that comprises hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computing system or a dedicated machine), firmware (embedded software), or any combination thereof. In one embodiment, the method 1200 is performed by a device 100 of FIG. 1 that represents a server 410 in FIG. 4


Referring to the oversimplified and exemplary of FIG. 4 again, the server 410 may be accessible by a device 402 (also device 100 from FIG. 1) such as a mobile device, camera device or any other device by accessing the network 404 through the network resources. The device discussed with reference to FIG. 11 may represent such a device 402. Network resources may also be referred to as the “cloud.”


In one implementation, at block 1202, the server may receive the image data from a device 402 and store it locally before processing (using processor 110 from FIG. 1) the image data before proceeding with block 1204. The image data may be the full image of that which is visible to the lens, a portion of the image, or a representation of the image with much lower resolution and file size for identification before receiving the final image for sharing. Using a representation of the image with a smaller size than the final image has the advantage of potentially speeding up the process of detecting the individuals in the pictures using lower bandwidth. Optionally, the camera 150 may also crop the image to reduce the file size before sending the image data to the server for further processing. In one embodiment, the image is cropped by cropping out almost all the pixel information in the area surrounding the objects or faces of the people in the picture to reduce the file size. In another embodiment, each object or face is detected and cropped out into a separate image file to further reduce the total size of the files representing the faces. In such an implementation, the server may perform identification (block 1206), generation of sharing attributes (1208 and 1210) and generation of sharing information (block 1212) using the image data comprising the low resolution picture or the partial representation. However, the actual sharing of the image (block 1214) may occur using a final image with higher resolution picture obtained from the device 402. The server may receive the image data directly from the device 402 obtaining the picture or through another device such as a computer, database or any other source.


At block 1204, the server may access the image data in an image at the server. After receiving the image data acquired by device 402/100 using the camera 150, the server may store the image data temporarily in working memory or in a storage device for accessing and processing of the data by the server. At block 1206, the server may access identification of one or more objects obtained by processing the image data of the image. For identifying the objects the server may have access to a local database or to one or more remote database(s) 406. In addition to databases, the server may have access to the user's accounts at websites such as Facebook®, LinkedIn®, Google Plus®, and any other website that may store information such as images for the user. In one implementation, the server may identify the objects from the image by comparing a representation of the object from the image with a representation of a reference object stored in the database. In another implementation, the server may access characteristics associated with the object and determine the identity of the object based on the characteristics of the object. The object may be a person, wherein facial recognition techniques may be used to identify the person. As briefly discussed before, the identification of the object may be performed using a low resolution representation of the object. In some embodiments, the components of the server are implemented using components similar to FIG. 1.


At block 1208, the server may generate and access sharing attributes for the objects from the image. As described in reference to 1106, the server may generate the sharing attributes based on a history of association of similar objects, characteristics of the objects and facial recognition of the people in the image. At block 1210, the server may automatically associate the image with sharing attributes. The server may also further refine the sharing attributes by using other contextual information about the image such as the date, time and location of where the image was captured.


At block 1212, the server may generate information to share the image based on the sharing attributes. In one instance, the server may use the sharing attributes associated with an image and compare the sharing attributes to a plurality of different groupings that the user may be associated with. For example, the user may have Twitter®, Google®, LinkedIn®, Facebook® and MySpace®, flicker® and many other such accounts that store and allow sharing of pictures for the users and other information. Each account may be related to different personal interests for the user. For instance, the user may use LinkedIn® for professional contacts, MySpace® for music affiliations and Facebook® for high school friends. Some groupings may have further sub-categories, such as albums, circles, etc. The server may have permissions to access these groupings or social media networks on behalf of the user for the purpose of finding the most appropriate recommendations for the user to associate the pictures with. The server may include the identification attributes and the sharing attributes for the image in the generated information. At block 1214, the server may share the image with one or more groupings based on the generated information.


In one embodiment, the server receives the image or the image data from a device 402 (also 100 from FIG. 1) with a camera 150 coupled to the device 402 at block 1202. The server performs embodiments of the invention as described with reference to FIG. 12. The server generates the information that may include the different groupings to associate the image with, the identification attributes and the sharing attributes. The server may include this information as metadata for the image. The server may send the image and the information associated with the image such as metadata to the device used by the user. The device 402 may display and annotate the image with identification information and sharing attributes. The device may also display the different grouping recommendations to associate the image with the user. The user may confirm one of the recommendations provided or choose a new grouping to associate the image with. The device 402 may relay the user's decision either back to the server or directly to the network hosting the grouping to share the image. At block 1214, in one embodiment, the server may directly share the image with the appropriate grouping without further authorization from the user.


In another embodiment, the device 402 starts the identification process before the actual capture of the image using the processor 110 from FIG. 1. This has the advantage of potentially speeding up the process of detecting the individuals in the pictures. The device 402 detects one or more faces in the frame of the field of view of the lens of the device 402. The device 402 acquires a frame of the image. In one embodiment, the frame of the actual image is a partial representation of the image. The partial representation of the image has enough pixel information to start the identification process before the actual picture is taken. Optionally, the device 402 may also crop the image to reduce the file size before sending the image to the cloud for further processing. In one embodiment, the image is cropped by cropping out almost all the pixel information in the area surrounding the faces of the people in the picture to reduce the file size. In another embodiment, each face is detected and cropped out into a separate image file to further reduce the total size of the files representing the faces.


Once the files are prepared, the device 402 sends the files containing the face images to a server in the cloud. The server identifies the faces and returns the results to the device. If any new faces enter the field of view of the camera the device repeats the procedure of identifying the face only for that new person. As people move in and out of the field of view, the camera also builds a temporary database of the images and the associated annotation data. For instance, if a person leaves the field of view and re-enters the field of view of the lens of the device, the device does not need to query recognition of the face from the cloud. Instead, the device uses its local database to annotate the image. In some embodiments, the device may also build a permanent local or remote database with the most queried faces before querying a third party network. This could allow for faster recognition by the camera of faces for frequently photographed individuals like close family and friends. These embodiments for identifying faces use local and remote databases that may be used in conjunction with other modes like tracking discussed before. Once the faces are identified, the captured picture could be presented to the user with the annotations.


It should be appreciated that the specific steps illustrated in FIG. 12 provide a particular method of switching between modes of operation, according to an embodiment of the present invention. Other sequences of steps may also be performed accordingly in alternative embodiments. For example, alternative embodiments of the present invention may perform the steps outlined above in a different order. To illustrate, a user may choose to change from the third mode of operation to the first mode of operation, the fourth mode to the second mode, or any combination there between. Moreover, the individual steps illustrated in FIG. 12 may include multiple sub-steps that may be performed in various sequences as appropriate to the individual step. Furthermore, additional steps may be added or removed depending on the particular applications. One of ordinary skill in the art would recognize and appreciate many variations, modifications, and alternatives of the method 1200.


Embodiments of the invention performed by the components of the device may combine features described in various flow diagrams described herein. For instance, in one exemplary implementation, the device may track the object as described in FIG. 3 and share the image data including the object using features from FIG. 11 or FIG. 12, or any combination thereof.

Claims
  • 1. A method for obtaining an image using a camera, the method comprising: obtaining data from a field of view of the camera coupled to a device;accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data;automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition;determining content for the image from the field of view at least partially based on the identification and the tracking of the at least one object; andacquiring image data comprising the content for the image from the field of view using the camera.
  • 2. The method of claim 1, wherein identifying the at least one object comprises: generating a first representation of at least a portion of the image associated with the at least one object using some or all of the image data; andcomparing the first representation to a second representation of a reference object stored in a database.
  • 3. The method of claim 1, wherein identifying the at least one object comprises: accessing an at least one characteristic associated with the at least one object; anddetermining the identification of the at least one object based on the at least one characteristic associated with the at least one object.
  • 4. The method of claim 2, wherein the at least one object is a person and wherein facial recognition is used in identifying the portion of the image associated with the at least one object comprising a face of the person.
  • 5. The method of claim 2, wherein the database is one of an internal database stored on the device or an external database belonging to a network resource.
  • 6. The method of claim 2, wherein the device accesses an internal database stored on the device before accessing an external database belonging to a network resource for identifying the at least one object.
  • 7. The method of claim 1, wherein the identification of an object is performed using a low resolution representation of the object.
  • 8. The method of claim 1, wherein the identification of the at least one object comprises: transmitting the data to a network resource for processing of the data for the identification of the at least one object; andreceiving the identification of the at least one object for tracking, determining the content and acquiring the image data.
  • 9. The method of claim 1, wherein the processing of the data for the identification of the at least one object is performed at the device.
  • 10. The method of claim 1, further comprising providing a user with a user interface configured for: displaying a visible portion from the field of view of the camera on a display unit of the device;highlighting the content for the image that comprises the at least one object from the field of view; andhighlighting the at least one object displayed on the display unit.
  • 11. The method of claim 10, further comprising receiving input using the user interface for selecting, rejecting or modifying the highlighted regions of the image.
  • 12. The method of claim 10, further comprising tagging the at least one object with identifiable information about the at least one object.
  • 13. The method of claim 1, wherein the device tracks the at least one object using one or more of a wide angled lens, zooming capabilities of the camera, a mechanical lens that allows the lens to pivot, the device placed on a pivoting tripod, and a high resolution image.
  • 14. The method of claim 1, wherein acquiring the image data comprises changing image processing or camera properties to acquire the content for the image.
  • 15. The method of claim 1, further comprising acquiring the image data for the content in response to detecting a triggering event.
  • 16. The method of claim 15, wherein the triggering event comprises one or more of identification of the at least one object, a movement of the at least one object, a smiling of an identified person, dancing of the identified person, noise in a vicinity of the device and detecting a plurality of group members present in the field of view from a group.
  • 17. The method of claim 1, further comprising acquiring a plurality of images that includes the at least one object, at different times during the period of time.
  • 18. The method of claim 17, further comprising retaining a subset of the plurality of images that are desirable from the plurality of images, wherein desirability of the image is based on one or more of lighting conditions, framing of the at least one object, smile of at least one person in the image and detecting a plurality of group members present in the image from a group.
  • 19. The method of claim 1, wherein the period of time that the at least one object is identified and tracked for is configurable.
  • 20. The method of claim 1, wherein objects are identified and tracked in the field of view of the camera upon detecting motion in the field of view of the camera.
  • 21. The method of claim 1, wherein the device accesses identification of the at least one object using a low resolution mode and tracks and acquires images using a higher resolution setting.
  • 22. The method of claim 1, wherein the device switches to a high resolution mode upon detecting motion in the field of view of the camera.
  • 23. The method of claim 1, wherein the device switches to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device.
  • 24. The method of claim 1, wherein acquiring the image data further comprises cropping a larger image to include the content.
  • 25. The method of claim 1, further comprising obtaining a video by continuously acquiring the image data comprising the at least one object over the period of time.
  • 26. A device, comprising: a processor;a camera coupled to the processor;a display unit coupled to the processor; anda non-transitory computer readable storage medium coupled to the processor, wherein the non-transitory computer readable storage medium comprises code executable by the processor for implementing a method comprising: obtaining data from a field of view of the camera coupled to the device;accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data;automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition;determining content for an image from the field of view at least partially based on the identification and the tracking of the at least one object; andacquiring image data comprising the content for the image from the field of view using the camera.
  • 27. The device of claim 26, wherein identifying the at least one object comprises: generating a first representation of at least a portion of the image associated with the at least one object using some or all of the image data; andcomparing the first representation to a second representation of a reference object stored in a database.
  • 28. The device of claim 26, wherein identifying the at least one object comprises: accessing an at least one characteristic associated with the at least one object; anddetermining the identification of the at least one object based on the at least one characteristic associated with the at least one object.
  • 29. The device of claim 27, wherein the at least one object is a person and wherein facial recognition is used in identifying the portion of the image associated with the at least one object comprising a face of the person.
  • 30. The device of claim 27, wherein the database is one of an internal database stored on the device or an external database belonging to a network resource.
  • 31. The device of claim 27, wherein the device accesses an internal database stored on the device before accessing an external database belonging to a network resource for identifying the at least one object.
  • 32. The device of claim 26, wherein the identification of an object is performed using a low resolution representation of the object.
  • 33. The device of claim 26, wherein the identification of the at least one object comprises: transmitting the data to a network resource for processing of the data for the identification of the at least one object; andreceiving the identification of the at least one object for tracking, determining the content and acquiring the image data.
  • 34. The device of claim 26, wherein the processing of the data for the identification of the at least one object is performed at the device.
  • 35. The device of claim 26, further comprising providing a user with a user interface configured for: displaying a visible portion from the field of view of the camera on the display unit of the device;highlighting the content for the image that comprises the at least one object from the field of view; andhighlighting the at least one object displayed on the display unit.
  • 36. The device of claim 35, further comprising receiving input using the user interface for selecting, rejecting or modifying the highlighted regions of the image.
  • 37. The device of claim 35, further comprising tagging the at least one object with identifiable information about the at least one object.
  • 38. The device of claim 26, wherein the device tracks the at least one object using one or more of a wide angled lens, zooming capabilities of the camera, a mechanical lens that allows the lens to pivot, the device placed on a pivoting tripod, and a high resolution image.
  • 39. The device of claim 26, wherein acquiring the image data comprises changing image processing or camera properties to acquire the content for the image.
  • 40. The device of claim 26, further comprising acquiring the image data for the content in response to detecting a triggering event.
  • 41. The device of claim 40, wherein the triggering event comprises one of identification of the at least one object, a movement of the at least one object, a smiling of an identified person, dancing of the identified person, noise in a vicinity of the device and detecting a plurality of group members present in the field of view from a group.
  • 42. The device of claim 26, further comprising acquiring a plurality of images that includes the at least one object, at different times during the period of time.
  • 43. The device of claim 42, further comprising retaining a subset of plurality of images that are desirable from the plurality of images, wherein desirability of the image is based on one or more of lighting conditions, framing of the at least one object, smile of at least one person in the image and detecting a plurality of group members present in the image from a group.
  • 44. The device of claim 26, wherein the period of time that the at least one object is identified and tracked for is configurable.
  • 45. The device of claim 26, wherein objects are identified and tracked in the field of view of the camera upon detecting motion in the field of view of the camera.
  • 46. The device of claim 26, wherein the device accesses identification of the at least one object using a low resolution mode and tracks and acquires images using a higher resolution setting.
  • 47. The device of claim 26, wherein the device switches to a high resolution mode upon detecting motion in the field of view of the camera.
  • 48. The device of claim 26, wherein the device switches to a sleep mode after detecting a pre-defined period of inactivity in an environment of the device.
  • 49. The device of claim 26, wherein acquiring the image data further comprises cropping a larger image to include the content.
  • 50. The device of claim 26, further comprising obtaining a video by continuously acquiring the image data comprising the at least one object over the period of time.
  • 51. A non-transitory computer readable storage medium coupled to a processor, wherein the non-transitory computer readable storage medium comprises a computer program executable by the processor comprising: obtaining data from a field of view of a camera coupled to a device;accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data;automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition;determining content for an image from the field of view at least partially based on the identification and the tracking of the at least one object; andacquiring image data comprising the content for the image from the field of view using the camera.
  • 52. An apparatus for acquiring an image, comprising: means for obtaining data from a field of view of a camera coupled to a device;means for accessing an identification of an at least one object, wherein the identification of the at least one object is obtained by processing of the data;means for automatically tracking the at least one object from the field of view over a period of time based on determining that the at least one object is a target object for image acquisition;means for determining content for the image from the field of view at least partially based on the identification and the tracking of the at least one object; andmeans for acquiring image data comprising the content for the image from the field of view using the camera.
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/525,148 filed Aug. 18, 2011, and entitled “Smart Camera Automatically Take and Share Great Shots,” which is incorporated by reference herein in its entirety for all purposes.

Provisional Applications (1)
Number Date Country
61525148 Aug 2011 US