US9483697B2 - Display device content selection through viewer identification and affinity prediction - Google Patents

Display device content selection through viewer identification and affinity prediction Download PDF

Info

Publication number
US9483697B2
US9483697B2 US14/870,303 US201514870303A US9483697B2 US 9483697 B2 US9483697 B2 US 9483697B2 US 201514870303 A US201514870303 A US 201514870303A US 9483697 B2 US9483697 B2 US 9483697B2
Authority
US
United States
Prior art keywords
image
subjects
images
affinity
subject
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14/870,303
Other versions
US20160019414A1 (en
Inventor
Hugh Blake Svendsen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ikorongo Tech LLC
Original Assignee
Ikorongo Tech LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ikorongo Tech LLC filed Critical Ikorongo Tech LLC
Priority to US14/870,303 priority Critical patent/US9483697B2/en
Publication of US20160019414A1 publication Critical patent/US20160019414A1/en
Application granted granted Critical
Publication of US9483697B2 publication Critical patent/US9483697B2/en
Assigned to Ikorongo Technology, LLC reassignment Ikorongo Technology, LLC CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 024283 FRAME: 0866. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: SVENDSEN, HUGH BLAKE
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • G06K9/00677
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F17/30244
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06K9/00228
    • G06K9/00281
    • G06K9/00288
    • G06K9/6201
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/54Mounting of pick-up tubes, electronic image sensors, deviation or focusing coils
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • H04N23/611Control of cameras or camera modules based on recognised objects where the recognised objects include parts of the human body
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N5/2253
    • H04N5/232
    • H04N5/23203
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • G06K2009/00328
    • G06K9/00221
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/179Human faces, e.g. facial parts, sketches or expressions metadata assisted face recognition

Definitions

  • the present disclosure relates to using viewer identity information to form a customized selection of images for display.
  • the present disclosure relates to customizing a content selection to present on a display device based on identifying the viewer of a device.
  • the present disclosure relates to selecting from among a group of digital images, those images that are most likely to be of interest to the viewer.
  • many of the images available to the display device will be comprised of images containing subject faces.
  • the subject faces present in each of the images are resolved, and used to produce a face index containing a unique entry for each subject face contained in the collection, plus the face of the viewer.
  • this face index is electronically transmitted to a central system and each face in the index is matched with the corresponding user account of the central system. Using the relationship information present in the account records, the social distance between each identified face in the index is obtained.
  • the system uses this information to predict affinity, the system operates to compute a composite score for each image in the collection by accumulating the individual affinity predictions between the viewer and each subject identified in each image. Composite scores are then used to sort the images, with the higher scoring images being selected for presentation on the display device.
  • a method and device comprising the steps of: obtaining a subject affinity for each of a plurality of subjects that appear in a collection of images, the subject affinity defining an affinity between a reference person and a corresponding one of the plurality of subjects; determining an image affinity for each of a plurality of images in the collection of images based on the subject affinity for each of the plurality of subjects, the image affinity defining an affinity between the reference person and corresponding one of the plurality of images; and selecting at least one image from the collection of images based on the image affinity for each of the plurality of images.
  • a method comprising the steps of: obtaining a subject identifier for each of a plurality of subjects that appear in a collection of images, the subject identifier comprising subject information describing the corresponding one of the plurality of subjects; computing a match score representing the likelihood of a potential match between one or more of the plurality of subjects and a corresponding one or more of a plurality central system users; obtaining a match threshold indicating a numerical threshold above which a match is declared; and comparing the match score to the match threshold to determine if any matches have been achieved.
  • a method for maintaining a structure representing an image collection in computer memory, the method comprising the steps of: maintaining a subject index, the subject index representing a plurality of subjects that appear in a collection of images, the subject index comprising: a reference for each subject to a corresponding image of the face of the subject; a reference for each subject to each image in the collection of images in which the subjects face is found; subject affinity information, the subject affinity defining the attraction between each of the subjects in the collection of images; and image affinity information, the image affinity information defining the preference of each subject in the collection of images, to each image in the collection of images.
  • the method further comprising maintaining an image index, the image index representing the collection of images, and containing references from each image to the plurality of subjects appearing in the image.
  • FIG. 1 illustrates a display device capable of identifying a viewer, and customizing the content shown on the display device to that viewer;
  • FIG. 2 illustrates a collection sharing device for providing additional content to a display device over a network, and a central system for providing affinity information between subjects found in the image content;
  • FIG. 3A is a block diagram showing the hardware and software components of an exemplary display device
  • FIG. 3B is a block diagram of an exemplary embodiment of the data structure used to represent an individual viewer profile as found in FIG. 3A ;
  • FIG. 3C is a block diagram of an exemplary embodiment of the data structure used to represent the image playlist as found in FIG. 3A ;
  • FIG. 3D is a block diagram of an exemplary embodiment of the software used to perform facial recognition as found in FIGS. 2, 3A, 4A, 7, and 8 ;
  • FIG. 4A is a block diagram of an exemplary embodiment of the image collection subsystem used in FIG. 2 responsible for indexing imaging content and providing the indexed data over a network to a display device;
  • FIG. 4B is a block diagram of an exemplary embodiment of the data structure used to represent an image
  • FIG. 4C is a block diagram of an exemplary embodiment of the data structure used to represent a digital image collection index as used in FIG. 4A ;
  • FIG. 4D graphically illustrates an exemplary image collection indexed by both subject and image
  • FIG. 5A is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects (subject affinity);
  • FIG. 5B is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects and images (image affinity);
  • FIG. 6 illustrates the operation of the system of FIGS. 1, 2, and 3 according to one embodiment of the present disclosure
  • FIG. 7 is a block diagram of the display device of FIG. 2 according to one embodiment of the present disclosure.
  • FIG. 8 is a block diagram of the central system of FIG. 2 according to one embodiment of the present disclosure.
  • FIG. 9 is a block diagram of the collection sharing device of FIG. 2 according to one embodiment of the present disclosure.
  • FIG. 10A is a flow chart illustrating a process for processing events originating from both the user and display device in one embodiment of the present disclosure
  • FIG. 10B is a flow chart illustrating a process identifying a viewer of the display device according to one embodiment of the present disclosure
  • FIG. 10C is a flow chart illustrating a process for using affinity information to score an image playlist for a viewer according to one embodiment of the present disclosure
  • FIG. 10D is a flow chart illustrating a process for scoring a single face when encountered during the process of scoring an image as found in FIG. 10C ;
  • FIG. 10E is a flow chart illustrating a process for building the affinity matrix that is used to represent the strength of relationship between any two users of the system according to one embodiment of the present disclosure
  • FIG. 10F is a flow chart illustrating a process for incorporating a newly available image collection with a possibly existing image collection according to one embodiment of the present disclosure
  • FIG. 10G is a flow chart illustrating a process for displaying a slideshow on the display device according to one embodiment of the present disclosure
  • FIG. 11A-B are flowcharts illustrating a process performed by the central system to match subjects to users of a central system
  • FIG. 11C depicts an exemplary subject to central system user matching process of FIGS. 11A-B ;
  • FIG. 12A-B are flowcharts illustrating a process performed by an exemplary embodiment of the image collection index generator
  • FIG. 13 illustrates an alternate embodiment of the system found in FIG. 2 , wherein the display device has been simplified with the face recognition, affinity prediction, and image hosting taking place at the central system;
  • FIG. 14A graphically illustrates an exemplary collection of digital images comprised of subject faces
  • FIG. 14B is a table illustrating which subject faces are contained in which of the exemplary images
  • FIG. 15A is a graphical illustration of an exemplary central system where users form connections to other users to facilitate the control of the sharing of information;
  • FIGS. 15B-F are exemplary calculations showing how each image is assigned a composite score for each viewer using social distance data obtained from the exemplary central system of FIG. 15A ;
  • FIGS. 16A-D are exemplary calculations showing how each image is assigned a composite score for each viewer using face co-occurrence within the image data obtained from the exemplary image collection of FIG. 14A ;
  • FIG. 17 is an exemplary graphical user interface for collecting subject affinity information from a viewer of a display device
  • FIG. 18A graphically illustrates an exemplary digital image divided into zones, such that different weights may be assigned to different zones, for the purpose of modifying the image affinity scores based on faces being found in different zones;
  • FIG. 18B is a table illustrating exemplary zone weighting values for the exemplary digital image shown in FIG. 18A ;
  • FIG. 19A graphically illustrates an exemplary digital image where the subject faces have been resolved and their respective areas determined, for the purpose of modifying the image affinity scores for faces based on their respective sizes;
  • FIG. 19B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 19A ;
  • FIG. 20A graphically illustrates an exemplary digital image whereby the faces have been identified, and the distance between each face determined for the purpose of modifying the exemplary face co-occurrence scores of FIG. 16 based on the distance between each subject face pair;
  • FIG. 20B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 20A ;
  • FIG. 21 graphically illustrates an exemplary display device wherein more than one viewer has been detected
  • FIG. 22 graphically illustrates an exemplary graphical user interface for prompting a newly detected viewer to confirm identity, for the purpose of matching that viewer to an existing profile.
  • FIG. 1 illustrates a display device 50 capable of identifying a viewer 001, and customizing the content shown on the display device 50 to that viewer 001.
  • the viewer 001 is identified through a detection process that is initiated when the viewer 001 triggers the motion detection subsystem 76 on the display device 50 .
  • An image of the viewer 001 is then captured using the image capture subsystem 70 on the display device 50 .
  • the face of the viewer 001 is resolved and a viewer profile 130 is generated where a reference to the corresponding face is stored 134 .
  • the images selected for display on the device are determined by selecting those images in which the viewers face 001 is detected.
  • the viewer 001 interacts with the display device 50 through the use of a touchscreen 66 on the front of the display device 50 .
  • the viewer would interact with the display device 50 through the use of the button controls 90 92 94 96 on the chassis of the display device 50
  • the display device 50 is a digital picture frame
  • other hardware configurations that would prove suitable for practicing the disclosure.
  • Other embodiments would include a personal computer with camera, a laptop with integrated camera, a cellular telephone with integrated camera, a surveillance monitor with networked surveillance cameras, a digital camera with LCD, a PDA with digital camera, a media player with digital camera, and the like.
  • FIG. 2 illustrates a collection sharing device 30 for providing additional content to a display device 50 over a network 20 , and a central system 100 for providing affinity information between subjects found in the image collection 200 .
  • the display device 50 is communicatively coupled via a network 20 to additional image sources 30 .
  • the additional image sources may include other display devices, computers, cellular phones, or any device possessing the necessary electronic hardware and software. Additional image content may also be retrieved from image sources residing 200 within the central system 100 and available over the internet. Examples of such central systems 100 may include photosharing sites and social networking sites with photo storage capabilities. Examples of photosharing sites include Shutterfly, Flickr, and Snapfish. Examples of social networking sites with photosharing capabilities include Facebook, Myspace, and Classmates.com.
  • the display device 50 also retrieves relationship information from one or more central systems 100 . The relationship information is used to compute subject affinity scores, which in turn are used to select which images will be presented to the viewer 001.
  • the network 20 is preferably a distributed, public access network, such as the Internet, wherein the user system 50 and the central system 100 are capable of interacting with and through the network 20 using various protocols such as Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), and File Transfer Protocol (FTP).
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • HTTP Hypertext Transport Protocol
  • FTP File Transfer Protocol
  • the network 20 is not limited thereto. More specifically, the network 20 may be any type of network suitable to allow interaction between the display device 50 and the central system 100 .
  • the network 20 may be a wired network, a wireless network, or any combination thereof.
  • the network 20 may include a distributed computing network, an intranet, a local-area network (LAN) and/or a wide-area network (WAN), or any combination thereof.
  • LAN local-area network
  • WAN wide-area network
  • the central system is comprised of a control system 102 that controls the functions of the system.
  • the control system 102 contains a affinity predictor 750 that uses facial recognition 170 to establish matches between subjects found in the images 220 in the image collection 200 and users 012 of the central system 100 .
  • the relationships of the users 012 of the central system 100 are managed through the account management 105 function.
  • This exemplary central system 100 is comprised of multiple user accounts 106 .
  • Each user account corresponds to a single user 12 of the central system 100 .
  • Each user account 106 contains a list of friend's 108 , permission settings 110 , profile information 112 , and content associated with the user 114 .
  • the Friends List 108 is built through an invitation process where other users 012 are invited to form a reciprocal relationship or connection.
  • the entries in the friend's list 108 may be tagged with optional information qualifying the nature of the relationship, and information indicating the duration of the relationship.
  • the permission settings 110 are used to control access to profile 112 and content information 114 by other accessing entities. Accessing entities of the central system 100 may include both member and nonmember users 012.
  • the profile information 112 may include information such as demographic information, preference information, calendar information, location history, communications history, and the like.
  • the location history for a user 012 may be built up by extracting the information directly from the user 012, or by extracting location information and timestamps from images 220 in which the central system 100 user 012 appears.
  • An example of the user 012 directly submitting location history would include automated submissions by the users 012 cellular phone with GPS capabilities to the central system 100 .
  • the location history would be comprised of entries capturing both the location and time of the user 012.
  • Based on the location history for each user 012, an average position for each user 012 may be calculated. Additionally, the average position of a user 012 may be time varying, and the average position for the user 012 is calculated over one or more windows of time.
  • a communications history log would capture communications events comprised of the time and type of communication, as well as extracted features from the communication.
  • An example of extracted features would include using natural language processing to extract the most descriptive keywords from a message sent between central system 100 users 012.
  • other statistics may be computed, such as a frequency of communication.
  • Content 114 may include text, audio, image, and video information uploaded by a user 012 to the central system 100 .
  • the central system 100 may also function as an additional source of image content 200 .
  • the collection sharing device 30 is comprised of an image collection 200 that is responsible for the storage and transfer of the images 220 , a control system 32 for making the image collection 200 available over the network 20 , and a browser 34 for providing configuration information to the display device 50 .
  • a collection sharing device 30 as a remote content source
  • any electronic device capable of performing the functions required by the image management 200 and control system 32 are capable of functioning as remote content sources.
  • This also includes the central system 100 and display device 50 . Additional detail for the collection sharing device 30 can be found in FIG. 9 .
  • FIG. 3A is a block diagram showing the hardware 76 and control system 52 components of an exemplary display device 50 .
  • the display device 50 is equipped with a microprocessor 68 and instruction memory 78 that are used to execute programmatic instructions on the device 50 .
  • Images 220 are stored in the internal storage 72 and presented on the display 74 .
  • the communications interface 64 can be used to provide additional data, status, and control to the device 50 .
  • a user can control the device 50 via touch controls 66 available on the device 50 .
  • Power consumption is minimized on the device via the power management subsystem 80 .
  • the power management subsystem 80 is responsible for putting certain functions of the display device 50 into sleep mode, while no motion is being detected 76 . When motion is detected 76 , the device 50 is woken, and the camera subsystem 70 takes an image 220 of the one or more viewers 001 in front of the display device 50 . This information is then stored in memory 78 .
  • system-wide preferences 54 and individual profiles 130 are stored on the display device 50 in the non-volatile storage 72 . Faces within images 220 are detected via face detection software 172 . Face matching software 176 is then used to compare the faces of one or more viewers 001 against subject faces contained in the images 001 . . . 008 that are accessible to the display device 50 as illustrated in FIG. 2 .
  • the image index generator FIG. 12A is responsible for producing the image collection info data structure 240 as illustrated in FIG. 4C .
  • the program instructions for the image indexer 206 may be executed on each device that wishes to make its image collection 240 available to other display devices 50 .
  • Slideshow software 720 is used to display selected content from the image playlist 160 .
  • a web server 60 is used to facilitate remote management and control of the display device 50 over the network 20 .
  • the display device 50 is able to recognize the presence of multiple viewers 001[1-N] in front of the device.
  • identification information is stored for multiple current viewers 62
  • the profile 130 information that is used to customize the selected content for display 160 is derived from the aggregated profile information 130 for all of the viewers 001[1 ⁇ N] present.
  • FIG. 3B is a block diagram of an exemplary embodiment of the data structure used to represent an individual viewer profile 130 as found in FIG. 3A .
  • the user may be a viewer 001, or a person that is standing in front of the display device 50 and viewing images.
  • the user may also be a subject, or a person who is in one or more of the images 220 accessible from the display device 50 .
  • a user may be both a viewer 001 and a subject, that is, they are viewing the display device 50 , but there are also images 220 accessible from the display device 50 in which that same viewer's face is present.
  • the GUID 132 is a global identifier that is unique to this specific user within the system.
  • the face image 134 is a reference to an image 220 of the face of the viewer 001 represented by this individual profile 130 .
  • the central system credentials 136 contain information uniquely identifying the subject as a user 012 of the central system 100 . This information is normally comprised of a username and in some cases a password.
  • the usage log 138 records activity by the subject, such as when a subject has acted as a viewer.
  • the slide show preferences 140 store the users viewing preferences, such as the amount of time each image is shown, and the transition effect that is applied when transitioning from the current image to the next image.
  • the face preferences 142 are used to record and maintain the viewers affinity 146 for other subjects 144 .
  • the face field 144 holds the GUID of a subject.
  • the affinity value 146 is a numerical value between zero and one representing the viewer's affinity for the referenced subject.
  • FIG. 3C is a block diagram of an exemplary embodiment of the data structure used to represent the image playlist 160 as found in FIG. 3A .
  • the image playlist 160 is used to hold a reference 162 and score 164 for each image scheduled for presentation on the display device 50 .
  • the scores 164 are calculated according to the flowchart presented in FIG. 10C .
  • the transition type 166 indicates the transition algorithm to be used when switching from the current image to the next image.
  • FIG. 3D is a block diagram of an exemplary embodiment of the software used to perform facial recognition 170 as found in FIGS. 2, 3A, 4A, 7, and 8 .
  • Face detection 172 is used to resolve the location of a potential face within a given image.
  • Feature extraction 174 is then used to identify the geometric features of the face, such as the eyes, nose, mouth, and the like.
  • Face matching 176 is used to compare the extracted features 174 from two faces to determine the probability that the faces match, or more explicitly, refer to the same person or subject. If the match probability falls above a user selectable threshold, then the two faces are assumed to be a match.
  • FIG. 4A is a block diagram of an exemplary embodiment of the image collection subsystem 200 used in items 50 , 30 , and 100 of FIG. 2 responsible for indexing imaging content and providing the indexed data 240 over a network 20 to a display device 50 .
  • the image collection 200 encapsulates the code and data representing a collection of images 220 .
  • the image store 204 represents the file system containing the local images 220 .
  • the image indexer 206 contains the program codes for detecting the faces in each image 220 , and building the image collection index 240 .
  • the image collection index 240 explained in additional detail in FIG. 4C , is used to provide convenient programmatic access to the image collection 200 .
  • the image collection 200 is indexed both by face 250 and by image 260 .
  • the purpose of this data structure 240 is to provide efficient programmatic access to representative images of all faces found within a collection 200 , all images in which a particular face is found 250 , and all faces within a particular image 260 . This efficient access is important when image collections 200 are accessed over the network 20 and network throughput and latency can degrade performance.
  • FIG. 4B is a block diagram of an exemplary embodiment of the data structure used to represent an image 220 .
  • the image 220 contains image data 222 representing the pixels of the image.
  • the image data may be in either compressed or uncompressed form.
  • the metadata 224 contains additional information about the image 220 .
  • the timestamp 226 fields contain the data, time, and time zone in which the image 220 was captured.
  • the location stamp 228 holds the GPS location coordinates at which the image was captured.
  • the keyword tags 230 field contains a plurality of textual tags descriptive of the image 220 .
  • Face tags 232 contain information identifying subject faces contained in the image 220 , and their corresponding locations.
  • the face tags 232 also include identity information corresponding to the subjects represented by the faces.
  • the identity information may be in the form of the subjects name, a GUID 132 , or username 136 corresponding to an account on the central system 100 .
  • FIG. 4C is a block diagram of an exemplary embodiment of the data structure used to represent a digital image collection index 240 as used in FIG. 4A .
  • Subject to subject affinity information 242 is used to store affinity predictions between any two subjects contained within a given image collection 200 .
  • the information is stored according to the structure shown in FIG. 5A .
  • Subject to image affinity information 244 is used to store affinity predictions between any subjects contained within at least one image 220 of the image collection 200 .
  • the information is stored according to the structure shown in FIG. 5B .
  • subjects may also include a viewer 001 who is not contained in any image 220 of the collection 200 . Also note that not all images 220 are required to contain faces.
  • the zone definitions 246 field contains information regarding the set of non-overlapping areas into which images are divided as further exemplified in FIG. 20A .
  • the subject face index 250 contains one entry per unique face found in an image collection 200 .
  • the list of images 254 in which the face is contained is recorded 270 along with the weighting zone 272 , the size ratio 274 of the face in relation to the entire image, the center point of the face 276 , and the radius of the circle containing the face 278 .
  • This structure is advantageous because given a face reference; it is easy to quickly determine the list of all images 220 in which the face is contained.
  • the image index 260 contains one entry for each image stored in a collection FIG. 7 .
  • a list of the faces 264 occurring in the image is recorded.
  • Information regarding the zone 272 , size ratio 274 , center point 276 , and radius 278 are also recorded.
  • the ID 279 is a unique identifier of the subject.
  • the GUIDs are assigned at the central system 100 when a subject face is matched to a user 012 of the central system 100 . This structure is advantageous because given an image reference; it is expedient to quickly determine the list of all faces contained in the image.
  • FIG. 4D graphically illustrates an exemplary image collection 200 indexed by both subject 296 and image 298 .
  • the subject index 250 corresponds to 296 .
  • the image index 260 corresponds to 298 .
  • each subject representation 280 282 284 286 contains a link to each image in which that face is found
  • each image representation 288 290 292 294 contains a link to all subjects found within that image.
  • face 001 contains links to images 288 and 290 .
  • image 290 contains links to the reference face image 280 for subject 001 and face image 282 for subject 002.
  • FIG. 5A is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects (subject affinity).
  • Subject affinity is an indication of the strength of the relationship and desirability of one subject for another.
  • the numerical ranges of the values fall between zero and one, where zero indicates no affinity, and one represents maximum affinity.
  • affinity between two users need not be symmetric.
  • the affinity for subject six by subject three 302 need not be the same as the affinity for subject three by subject six 304 . This is referred to as non-symmetric affinity, and can occur between a fan and celebrity for example.
  • subject faces are matched to users 012 of a central system 100 , such as a social networking site, and the social distance between the users 012 is employed to estimate affinity. This assumes that user pairs with shorter social distances have higher subject affinity than subject pairs with a higher social distance.
  • subject affinity is estimated by using subject faces co-occurrence within images 220 . This assumes that subjects with a high co-occurrence rate within images 220 will have more affinity for one another than subject pairs with a low co-occurrence within an image collection 200 .
  • subject affinity is determined by prompting the viewer 001 of the display device 50 with a dialog showing the highest occurring subject faces within the image collection 200 .
  • An example of such a dialog is shown in FIG. 19 .
  • the viewer 001 is prompted to specify subject affinity preferences using touch screen controls.
  • the viewer 001 assigns a high score to the subject faces they would like to see, and a lower score to faces they do not care to see.
  • the display device 50 simply attempts to match the face of the viewer 001 to faces found in the images 220 . Images in which the viewer's face 001 is found score higher. Note that this approach is not detailed further in this document due to it's simplicity, but is in fact a special case of the general case where the subject affinity matrix has only one row and one column.
  • FIG. 5B is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects and images (image affinity).
  • image affinity is an indication of the desirability of a subject for an image 220 .
  • the numerical ranges of the values fall between zero and one, where zero indicates no affinity, and one represents maximum affinity.
  • FIG. 6 illustrates the operation of the system of FIGS. 1, 2, and 3 according to one embodiment of the present disclosure.
  • the display device 50 owner (administrator) enters configuration and initialization information 402 .
  • the administrator enters this information via a browser 34 communicating with a web server 60 running on the display device 50 .
  • a collection sharing device 30 makes it's image collection available over the network 20 .
  • a viewer 001 of the display device 50 inserts removable media storage 72 into the display device 406 .
  • the display device 50 then indexes the images 220 on the removable media 408 , and stores the results in an image collection index 240 .
  • the display device 50 detects motion in front of the display device 50 and captures the face 410 of the viewer 001. These steps are also shown in FIG. 10B .
  • An image collection index 240 is then sent to the central system 412 . From this image collection index 240 , the central system 100 attempts to match faces found in the image collection index 240 to users of the central system 414 , and to determine the social distance between those users 012 that are identified 416 . The social distance information is then converted to subject-to-subject affinity information, and returned to the display device 418 .
  • viewer identity 136 information and display device 50 owner information is sent to the central system 100 when attempting to match faces from the image collection index 240 to central system 100 users 012.
  • This identity information 136 gives the central system 100 additional hints that can be used when attempting to match faces. For example, central system 100 users 012 that are closer in social distance to the current display device 50 viewer 001 or the display device 50 owner are more likely to appear in images on that owners display device 50 than someone simply picked out of the general population of central system 100 users 012.
  • the display device 50 using the social connection matrix FIG. 15B converts the information into a social distance matrix 15C that contains the social distance between any two subjects found in the matrix.
  • the subject-to-subject affinity matrix is used to produce the viewer to image affinity matrix of 15E 420 .
  • An image playlist 160 is then assembled from the viewer to image affinity matrix 15E by matching the current viewer to the matching viewer in the matrix, and applying whatever sorting preference and transition that viewer has specified 422 .
  • images 220 are then shown 424 one at a time according to FIG. 10G .
  • the facial responses of the viewer are subsequently monitored 426 , and the viewers profile is adjusted 428 . This process is then repeated 432 until such time that a new viewer 001 is identified 430 .
  • FIG. 7 is a block diagram of the display device 50 of FIG. 2 according to one embodiment of the present disclosure.
  • the display device 50 includes a control system 52 having associated memory 78 .
  • the affinity predictor 670 , face recognition 170 , playlist scoring 630 , web server 60 , viewer identification 600 , and slideshow and feedback modules 720 are implemented in software and stored in memory 78 .
  • the present disclosure is not limited thereto.
  • the affinity predictor 670 , face recognition 170 , playlist scoring 630 , web server 60 , viewer identification 600 , and slideshow and feedback modules 720 may be implemented in software, hardware, or any combination thereof.
  • the display device 50 may also include one or more digital storage devices 72 such as, for example, one or more hard disk drives.
  • the one or more digital storage devices 72 may be used to store images 220 .
  • the display device 50 also includes a communication interface 64 communicatively coupling the display device 50 to the network 20 .
  • the display device 50 may include a user interface 51 , which may include components such as a display, one or more user input devices, or the like.
  • FIG. 8 is a block diagram of the central system 100 of FIG. 2 according to one embodiment of the present disclosure.
  • the central system 100 includes a control system 102 having associated memory 104 .
  • the face matching 170 , affinity predictor 750 , and account management 105 are implemented in software and stored in the memory 104 .
  • the present disclosure is not limited thereto.
  • the face matching 263 , affinity predictor 750 , and account management 105 may be implemented in software, hardware, or a combination thereof.
  • the central system 100 may also include one or more digital storage devices 122 such as, for example, one or more hard disk drives.
  • the one or more digital storage devices 122 may be used to store images.
  • the central system 100 also includes a communication interface 124 communicatively coupling the central system 100 to the network 20 ( FIG. 2 ).
  • the central system 100 may include a user interface 101 , which may include components such as a display, one or more user input devices, or the like.
  • FIG. 9 is a block diagram of the collection sharing device 30 of FIG. 2 according to one embodiment of the present disclosure.
  • the collection sharing device 30 includes a control system 32 having associated memory 34 .
  • the request handler 202 , collection indexer 206 , and collection index 240 are implemented in software and stored in the memory 34 .
  • the present disclosure is not limited thereto.
  • the request handler 202 , collection indexer 206 , and collection index 240 may be implemented in software, hardware, or a combination thereof.
  • the collection sharing device 30 may also include one or more digital storage devices 36 such as, for example, one or more hard disk drives.
  • the one or more digital storage devices 36 may be used to store images 220 .
  • the collection sharing device 30 also includes a communication interface 38 communicatively coupling the collection sharing device 30 to the network 20 ( FIG. 2 ).
  • the collection sharing device 30 may include a user interface 31 , which may include components such as a display, one or more user input devices, or the like.
  • FIG. 10A is a flow chart illustrating a process for processing events originating from both the user and display device in one embodiment of the present disclosure.
  • the display device 50 employs an event driven architecture, where events can come from both hardware sources and viewer 001 interactions with the device 50 .
  • Hardware sources may include interrupts originating from timers 84 , communications interface 64 504 , image sensors 70 , motion detectors 76 500 , display refresh requests 74 , file system requests 72 , power management functions 80 , and the like.
  • User interaction sources include activities such as inserting a removable memory drive 502 , a viewer 001 touching the display of the touchscreen 506 , and pressing buttons found on the physical enclosure of the display device 50 .
  • Events are placed in an event queue 508 , and pulled from the event queue by an event dispatcher 510 that in turn invokes the appropriate event handler 512 , 514 , 516 , 518 .
  • Motion events are 500 are triggered by a viewer 001 walking in front of the display device 50 .
  • the motion detector 76 causes the display device 50 to “wake up”, going from a low power consumption state, to a higher power consumption state.
  • the viewer identification event handler 600 handles the motion event 500 , by taking an image with the camera 70 on the front of the display device 50 , and resolving the face of the viewer 001.
  • Inserting removable media will trigger a disk event interrupt 502 , which will deposit an event into the event queue 508 .
  • the event is in turn handled by the image indexing event handler 630 , which resolves and indexes all of the faces in each of the images 220 on the removable media.
  • a collection of images 200 becoming available over the network 20 will trigger a similar event 504 , which is also handled by the image index generator 775 .
  • the slideshow event handler 516 is triggered by a user configurable timer 84 , and causes viewer feedback to be collected, and the next available image to be displayed.
  • the touch screen interrupt 506 is triggered whenever a viewer 001 touches the display device 50 display 74 .
  • the UI handler 518 is invoked to process the event posted in response to the touch screen interrupt 506 .
  • FIG. 10B is a flow chart illustrating a process identifying a viewer 001 of the display device 50 according to one embodiment of the present disclosure.
  • the program steps of FIG. 10B are executed in an event handler 600 that is triggered in response to a viewer 001 being detected in front of the display device 50 .
  • the event handler first checks to verify that an image collection 200 is available for display 602 . If no image collection is available 622 , the event handler waits 620 before responding to another viewer 001 detection 600 .
  • the camera 70 on the display device 50 is triggered via the motion detection circuit 76 .
  • An image 220 of sufficient quality is then captured 604 , and the faces contained in the image 220 are resolved 606 .
  • the event handler waits 620 before responding to another viewer detection 600 . Otherwise the event handler proceeds to determine if this viewer 001 is already a known user in the system 610 .
  • a known user is either a subject whose face appears in at least one image in the available image collection 200 , or a viewer 001 who has used the display device 50 before, or both.
  • the display device 50 attempts to determine other faces that may be of interest to the viewer 612 .
  • this step 612 can be as simple as identifying the images in which viewer's 001 face is contained.
  • step 618 the available images from the one or more image collections 200 are scored based on the subject affinity between the current user, and the subject faces found in the respective images.
  • the results of this scoring are stored in the image playlist 160 .
  • the data structure contains a list of images 162 , and their associated scores 164 .
  • FIG. 10C is a flow chart illustrating a process for using affinity information to score an image playlist 160 for a viewer 001 according to one embodiment of the present disclosure.
  • the module starts by retrieving the current viewer profile 630 and operates by cycling through each image contained in the current image playlist 160 one image at a time 631 .
  • the module processes each image by first resolving all of the faces contained in the image 632 , and then scoring each face 638 according to FIG. 10D . Once all faces have been accounted for 640 , a final score for the image 220 is stored in the current image playlist 642 . This process is repeated until all images in the current image playlist 58 160 have been processed 646 .
  • FIG. 10D is a flow chart illustrating a process for scoring a single subject face when encountered during the process of scoring an image 220 as found in FIG. 10C .
  • This module takes as its inputs a subject affinity matrix, and the current viewer information 58 160 . If the subject face being scored is not in the subject affinity matrix 650 , then a default value is assigned 662 . Otherwise the viewer to subject affinity is retrieved from the subject affinity matrix 652 . The size of the subject face being scored is then calculated 654 , and used to modify the subject affinity according to FIG. 19 . Next, the zone in which the subject face occurs is determined 655 , and used to modify the subject affinity according to FIG. 18 . Finally, the scored is calculated as a function of these three factors 656 and returned 658 . Note that this is an exemplary scoring calculation. One of ordinary skill in the art would recognize that many other variations are possible.
  • FIG. 10E is a flow chart illustrating a process for building the subject affinity matrix that is used to represent the strength of relationship between any two users of the system according to one embodiment of the present disclosure.
  • the module takes as its input a subject face index 296 that contains one unique entry for each subject face occurring in the entire image collection 670 . If specified by preference, the viewer is prompted 672 with a dialog showing the N highest occurring faces in the collection, and given the opportunity to explicitly specify their affinity for those subjects. N is a function of how many faces may be reasonably represented on the display of the display device 50 at a one time. An example of this dialog is shown in FIG. 17 . When the image collection 200 is small or the display size is large, it may be possible to show all faces in the collection on the display at once.
  • the display device 50 may then further refine the subject affinity matrix by transmitting a image collection index 240 to a central system 678 and using the returned subject affinity matrix to replace the missing subject affinity values. Finally, subject face co-occurrence within single images may be used to predict subject affinity 680 . Affinity may then be modified based on the proximity of other faces occurring within the images 681 according to FIG. 20 . Note that this is an exemplary scoring calculation. One of ordinary skill in the art would recognize that many other variations are possible.
  • FIG. 10F is a flow chart illustrating a process for incorporating a newly available image collection 200 with a possibly existing image collection 200 according to one embodiment of the present disclosure.
  • the new image collection available event 514 is invoked when a new image collection 200 becomes available.
  • the image collection 200 may be newly available because the display device 50 has recently booted, and the device is initializing and loading the locally stored images 204 .
  • the image collection 200 may also be newly available because a viewer 001 has inserted a removable media 72 into the display device 50 , or because another compatible electronic device 30 has joined the network 20 to which the display device 50 is attached, and is sharing an image collection 200 over the network 20 .
  • the event handler 514 starts 700 by determining if the image collection 200 is accompanied by an existing image collection index 240 .
  • a new image collection index 240 is created representing the collection 702 .
  • any new faces from the new collection index 240 are merged with the existing faces to form an updated face index 706 FIG. 10F .
  • the updated subject face index is then used to produce an updated subject affinity matrix 708 .
  • the image playlist 160 is updated 710 from a subject affinity matrix.
  • FIG. 10G is a flow chart illustrating a process for displaying a slideshow on the display device 50 according to one embodiment of the present disclosure.
  • the slideshow and feedback event handler 516 FIG. 10G takes as its input the current viewer profile 62 , the current image playlist 160 , and the current image index 56 . This information is retrieved in the first step 720 . It then retrieves preference information for the current viewer such as transition type, transition speed, and display time 721 . Examples of transition types include wipe, dissolve, twirl, and the like.
  • the response of the viewer 001 is measured 724 , and the response information is used to adjust and refine 726 the current viewer 62 stored profile 728 .
  • their preference 142 for that subject face will be increased 146 .
  • their preference 142 for those subject faces are decreased 146 .
  • Viewer 001 evidence of a positive response may come in the form of a smile, prolonged attention, or focus.
  • Evidence of a negative reaction may take the form of a frown, reduced attention span, or reduced focus. Other indicators are also possible.
  • the current image index 730 is incremented. If the end of the image playlist 160 is encountered 732 , then the current image index is reset 734 , and display continues from the top of the image playlist 160 736 .
  • FIGS. 11A-B are flowcharts illustrating a process performed by the central system 100 to match subjects 768 to users 774 of a central system 100 .
  • the central system 100 receives a request 750 over the network 20 comprised of a list of subject identifiers 768 .
  • the request is then divided into two sets.
  • the first list is the set of unknown subjects 751 770 .
  • Unknown subjects 770 are represented by subject identifiers 767 that include an image 220 of the face of the subject, but do not contain information uniquely identifying the subject to the central system 100 , such as username, GUID (Globally Unique Identifier), or the like.
  • the second list is the set of known subjects 752 .
  • Known subjects 769 are represented by subject identifiers 767 that contain identity information that allows the central system 100 to match the subjects to a user 012 of the central system 100 based on identity information, and without using face matching 176 .
  • the subject identifiers 767 may contain auxiliary information about the subject such as demographic information, preference information, calendar information location history, communications history, and the like.
  • the process proceeds by retrieving the face corresponding to the next unknown subject identifier 753 .
  • the face from the unknown subject identifier is then matched to a user 012 of the central system 100 using facial matching techniques to match the unknown face with faces stored in user accounts 106 754 .
  • a list of the N closest potential matches 773 is formed 755 and refined using any available auxiliary information available in the subject identifier.
  • the face matching 176 occurs between the face image found in the subject identifier, and one or more face images representing a central system user 012.
  • the face images for the central system user 012 may come from the users profile picture, images hosted on the central system 100 where the user 012 has been tagged, or any combination thereof.
  • the potentially matching central system users 756 760 are then compared 757 758 759 771 to each known subject 769 based on the social distance between the potential match 773 and the known subject 769 . Based on this comparison, the match score may be refined 758 .
  • the image collection index 240 is used as the input to the process of FIGS. 11A-B , and the subject identifiers are extracted from the subject references 250 of the index 240 .
  • the rationale behind these operations is that if a potential match 773 is close in social distance to a known subject 769 , the match is more likely to be correct.
  • This refinement process repeats until all known subjects 759 769 are compared to the set of potentially matching central system users 760 773 .
  • the potential matches 773 are then re-ranked, and the highest potential match score is compared against a match threshold 761 . If the match score of the potential match 773 exceeds or matches a match threshold, then the unknown subject 770 is considered matched to the corresponding user 012 of the central system 100 . This process is continued until there are no more unknown subjects 764 .
  • the social distance is then used to estimate the subject affinity for all known and identified subjects 765 .
  • the response information is provided to the requesting display device 766 .
  • the response information may be in the form of a subject-to-subject affinity matrix, augmented subject identifiers, augmented collection index, any combination of the above, and the like.
  • FIG. 11C depicts an exemplary subject to central system user 012 matching process of FIGS. 11A-B .
  • the group of subject identifiers 768 passed to the central system for identification is composed of multiple individual subject identifiers 767 .
  • the group of subject identifiers 768 is then split into a group of known 769 , and a group of unknown subjects 770 .
  • the group 774 of central system users 012 is composed of all of the individual users 791 of the central system 200 .
  • facial recognition and auxiliary information is used to identify a group of possible matches 773 . Comparing social distance 771 between each potential match 773 and each known subject 769 then refines the match score for each potential match 773 , the match score being refined upwards based on a relatively shorter social distance when compared to other potential matches 773 .
  • the match score of the potential match 773 may be further refined by determining 772 the average social distance of the potential match 773 to each of the unknown subjects 770 , and refining the match score higher based on a relatively shorter social distance when compared to the other potential matches 773 .
  • FIGS. 12A-B are flowcharts illustrating a process performed by an exemplary embodiment of the image collection index generator.
  • the process begins when the image index generator receives a request 775 .
  • the request may contain parameters indicating the desired format and the content of the response.
  • the generator checks to see if an index 240 of the collection 200 already exists 776 . If so, a response is formatted 789 , and returned 790 . Otherwise a collection index 240 needs to be computed.
  • a reference is added to an image index 778 .
  • facial recognition is employed in determining a set of zero or more faces found in the image 779 . Each face is successively examined 780 .
  • the image index generator operates as part of the display device 50 , the collection sharing device 30 , and the central system 100 . It is available both programmatically from a local device, and over the network 20 from other devices.
  • the process is completed when all faces 787 have been examined in all images in the collection 200 .
  • the collection index 240 is saved 788 for future use, the response is formatted according to the optional request parameters 789 , and an image collection index 240 is returned 790 .
  • FIG. 13 illustrates an alternate embodiment of the system found in FIG. 2 , wherein the display device 50 has been simplified with the face recognition 170 , affinity prediction 670 , and image hosting 200 taking place at the central system 100 .
  • the display device 50 has been simplified to perform obtaining reference person information, presenting the slideshow, and collecting feedback from the reference person, or viewer 001.
  • An embedded HTTP browser 53 is employed to present the slideshow FIG. 10G .
  • the central system 100 takes on additional complexity. Based on reference person information provided by the display device 50 , viewer identification is performed 600 . Face recognition 170 is used to aid in affinity prediction 600 . Based on affinity prediction 104 , an image playlist is built 630 , taking into account viewer preferences and profiles 130 . Account management software 105 operates to store and retrieve relationship information stored in the user accounts 106 .
  • FIG. 13 has the advantage that the display device 50 is simplified, and can be made more cheaply due to reduced computing complexity and storage requirements.
  • Computing requirements are reduced because software for facial recognition 170 and affinity prediction 104 is executed on the central system 100 .
  • Storage requirements are reduced since images 220 are stored on the central system 100 and not on the display device 50 .
  • the presentation of images occurs in a browser on a computing device, and there is no separate display device 50 .
  • the images are stored at the central system 100 , and the viewer is assumed to be the user 012 who is logged into the central system 100 through the browser.
  • this embodiment while producing a cheaper display device 50 , suffers from the requirement that the display device 50 needs either a communications interface 64 or removable memory to be able to display images, since images may not be available locally 72 .
  • FIG. 14A graphically illustrates an exemplary collection 200 of digital images 220 comprised of subject faces.
  • the collection contains eight images ( 800 , 802 , 804 , 806 , 808 . 810 , 812 , 814 ) that are comprised of varying combinations of the eight subject faces 001-008.
  • the number of subject faces happens to match the number of images, but that need not be the case. Also, the subject faces, when present, always appear in the same position in the images. Again, this is for the illustration purposes only, and need not be the case.
  • FIG. 14B is a table illustrating which subject faces is contained in which of the exemplary images.
  • the corresponding matrix cell is marked with a “1”.
  • the corresponding matrix cell is marked with a “0”.
  • image one contains the faces of subjects one, two, and three.
  • FIG. 15A is a graphical illustration of an exemplary central system 100 where users 012 form connections to other users 012 to facilitate the control of the sharing of information.
  • the social distance between two users is the minimum number of hops required to get from a first user to a second user.
  • a direct friend would have a social distance of one.
  • a friend of a friend would have a social distance of two, and so on.
  • FIGS. 15B-F are exemplary calculations showing how each image is assigned a composite score for each viewer 001 using social distance 818 data obtained from the exemplary central system 100 shown in FIG. 15A .
  • FIG. 15B shows in tabular form the connections of the central system 100 shown in FIG. 15A .
  • the theory of scoring images using social distance is based on the assertion that a viewer 001 is more likely to want to see a image 220 containing someone they know, than someone less known to them.
  • FIG. 15C shows the social distance between any two users in our example central system 100 of FIG. 15A . All hops are assigned a weight of 1.
  • additional qualifiers may be used to refine the described social distance weighting model.
  • the popular social networking site Facebook offers nine potential qualifier when classifying contacts: “Lived Together”, “Worked Together”, “Went to School Together”, “Traveled Together”, “From An Organization”, “Team Or Group”, “In My Family”, “Through A Friend”, “We dated”, “Other”.
  • they could have a strong preference for viewing family members, thus that relationship would be assigned a relatively shorter social distance, thus resulting in a higher affinity prediction.
  • FIG. 15D shows the computation of a social distance-weighting matrix.
  • the matrix element is calculated according to the formula:
  • FIG. 15E shows the computation of the affinity matrix.
  • Multiplying matrix S[8 ⁇ 8] by matrix W[8 ⁇ 8] yields matrix P [8 ⁇ 8] which contains the score of each image for each viewer.
  • FIG. 15F represents the normalized version of 15E.
  • the maximum value in the matrix P is 1.50.
  • the top scoring images are images one and seven.
  • the lowest scoring image is number four.
  • Other schemes for computing subject affinity based on social distance will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
  • FIGS. 16A-D are exemplary calculations showing how each image is assigned a composite score for each possible viewer 001 using subject face 001-008 co-occurrence within the image data obtained from the exemplary image collection of FIG. 14A .
  • the idea being that if two subjects are in multiple images together, then they might know each other at some level, and that a viewer 001 is more likely to want to see a image containing someone they know, than someone less known to them. It is also possible to use multiple levels of co-occurrence information. For example, if subject A appears frequently with subject B in an image collection, and subject B occurs frequently with subject C, on average, we may predict that subject A has an above average affinity for subject C.
  • FIG. 16A shows the co-occurrence count of subjects in the images shown in FIG. 14A .
  • subject one appears with subject two in two images, while they appear with subject seven zero times. In theory, this would indicate a closer relationship between subjects one and two. In reality, this is more likely to be true when a large number of images are available to analyze.
  • FIG. 16B shows a normalized version of FIG. 16A , where dividing by the maximum value of four has normalized the matrix.
  • FIG. 16C is calculated by multiplying the matrix S from FIG. 15B by matrix W of FIG. 16B to produce the matrix P, which is a prediction of the affinity by the various subjects to the images of FIG. 14A .
  • FIG. 16D is calculated by normalizing FIG. 16C by the maximum value of two. It follows from the FIG. 16D , that for our subject 001, the top scoring images is one, and the lowest scoring image is number four.
  • FIG. 17 is an exemplary graphical user interface for collecting subject affinity information from a viewer 001 of a display device 50 .
  • the viewer to subject affinity may be determined by directly querying the viewer 001.
  • the viewer 001 is prompted to enter in values 822 indicating their preference for each subjects face contained in the image collections 200 available to the display device 50 .
  • these values 822 would be entered by pressing controls 820 824 on a touch display.
  • pressing the “OK” button 826 to confirm the selections completes the operation. If the viewer wishes to skip setting these preferences, they may cancel out of the operation 828 .
  • FIG. 18A graphically illustrates an exemplary digital image divided into zones, such that different weights may be assigned to different zones, for the purpose of modifying the image affinity scores for faces found in different zones.
  • images occurring in the center zone(s) 830 are given a higher weighting than faces occurring towards the edge of the image 832 . It follows that given two images containing the same face, the assertion is that a viewer 001 would like the image where the subject is in the middle area of the image, since the image is more likely to be focused on the subject.
  • the image is split into two or more zones 830 832 , and each zone is assigned it's own weight. In our two zone example in FIG.
  • the zone in the center 830 would be assigned a higher weight than the zone around the edges 832 .
  • a circle 836 inclosing the face is determined, and the center of that circle 838 is compared to the available zones to determine the zone in which it falls.
  • zone definition line 834 Taking the zone definition line 834 , and excluding the area of any zones occurring within the zone definition line define zones.
  • the outer most zone is defined as the area of the image, minus any zones occurring within the image
  • FIG. 18B is a table illustrating exemplary zone weighting values for the exemplary digital image shown in FIG. 18A .
  • zone A 830 has been assigned a weighting multiplier of one while zone B 832 has been assigned a weighting multiplier of 1 ⁇ 2.
  • a face occurring in zone A is given twice the weight as a face occurring in zone B.
  • face 002 falls in zone A, and given a weight of one.
  • this calculation is performed in step 655 of FIG. 10D .
  • Other schemes for positioning zones and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
  • FIG. 19A graphically illustrates an exemplary digital image where the subject faces have been resolved and their respective areas determined, for the purpose of modifying the image affinity scores of faces based on their respective sizes. Given two or more faces in an image, the assertion is that the larger face 002 should influence the score of the image more so than the smaller face 003.
  • FIG. 19A illustrates this scenario.
  • the face size ratios for each of the faces occurring within the image 220 are measured by taking the area of the circles enclosing the faces 840 842 844 and dividing by the total area of the image respectively.
  • FIG. 19B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 19A .
  • FIG. 19B assigns specific multiplier weights for given face area intervals.
  • a weighting multiplier of 0.0625 is used from FIG. 19B . In one embodiment of the present disclosure, this calculation is performed in step 654 of FIG. 10D .
  • Other schemes for determining face size ratios and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
  • FIG. 20A graphically illustrates an exemplary digital image whereby the faces have been identified, and the distance between each face determined for the purpose of modifying the exemplary face co-occurrence scores of FIG. 16 based on the distance between each subject face pair.
  • the assertion is that there is likely more affinity between the two subjects that appear closest in the image 856 , and less affinity between the subjects that appear farthest apart in the image 858 .
  • FIG. 20B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 20A .
  • FIG. 20B shows an exemplary table of weighting multipliers.
  • Other schemes for determining face proximity ratios and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
  • FIG. 21 graphically illustrates an exemplary display device wherein more than one viewer has been detected. There may be zero, one or multiple viewers in front of the display device 50 at any given time. To account for this scenario, the viewers preferences 130 are used in accordance with their distance from the frame 870 872 . The viewer response however is tied to the viewer's face, so this feedback is recorded individually 142 for each viewer 001.
  • the presentation content is targeted to a user who is not the viewer 001.
  • This reference person may be a subject who is found in one or more of the images available to the display device 50 , and is selected by the viewer 001 selecting the face of the subject as it is shown in an image appearing on the display device 50 .
  • multiple reference persons may be selected at the same time, in which case the composite profile 130 from multiple reference persons is used.
  • FIG. 22 graphically illustrates an exemplary graphical user interface for prompting a newly detected viewer to confirm identity, for the purpose of matching that viewer 011 to an existing profile 130 .
  • the viewer 001 may be prompted to confirm their identify 886 for the purpose of matching their face to an existing profile 130 . If the presented face 001 matches the viewer 001, the viewer 001 would confirm the match 880 , otherwise they would deny the match 882 . Cancelling the match confirmation would cause the presentation selection process for the display device 50 to continue without viewer 001 confirmation 884 .

Abstract

Method and device are described for customizing the content selection to present on a display device based on identifying the viewer of the device. In one embodiment, the present disclosure relates to selecting from among a group of digital images, those images that are most likely to be of interest to the viewer. In general, many of the images available to the display device will be comprised of images containing subject faces. Using the relationship information to predict subject affinity, the display device computes an image affinity for each image by accumulating the individual subject affinity predictions between the viewer and each subject identified in each image. The image affinities are used to select images for presentation on the display device.

Description

CROSS REFERENCE TO RELATED APPLICATIONS
This application claims priority from U.S. patent application Ser. No. 12/703,846, entitled “IMPROVING DISPLAY DEVICE CONTENT SELECTION THROUGH VIEWER IDENTIFICATION AND AFFINITY PREDICTION” which was filed Feb. 11, 2010 and claims priority from U.S. Provisional Application Ser. No. 61/207,787 filed on Feb. 17, 2009. U.S. patent application Ser. No. 12/703,846 and U.S. Provisional Application No. 61/207,787 are both commonly owned, and are both incorporated herein by reference in their entirety.
FIELD OF THE DISCLOSURE
The present disclosure relates to using viewer identity information to form a customized selection of images for display.
BACKGROUND OF THE DISCLOSURE
With the proliferation of digital imaging content and the popularity of image display devices, there is a desire for new ways in which to identify the images picked for display.
SUMMARY OF THE DISCLOSURE
The present disclosure relates to customizing a content selection to present on a display device based on identifying the viewer of a device. In one embodiment, the present disclosure relates to selecting from among a group of digital images, those images that are most likely to be of interest to the viewer. In general, many of the images available to the display device will be comprised of images containing subject faces. The subject faces present in each of the images are resolved, and used to produce a face index containing a unique entry for each subject face contained in the collection, plus the face of the viewer. In one embodiment, this face index is electronically transmitted to a central system and each face in the index is matched with the corresponding user account of the central system. Using the relationship information present in the account records, the social distance between each identified face in the index is obtained. Using this information to predict affinity, the system operates to compute a composite score for each image in the collection by accumulating the individual affinity predictions between the viewer and each subject identified in each image. Composite scores are then used to sort the images, with the higher scoring images being selected for presentation on the display device.
In another embodiment of the present disclosure, a method and device are disclosed comprising the steps of: obtaining a subject affinity for each of a plurality of subjects that appear in a collection of images, the subject affinity defining an affinity between a reference person and a corresponding one of the plurality of subjects; determining an image affinity for each of a plurality of images in the collection of images based on the subject affinity for each of the plurality of subjects, the image affinity defining an affinity between the reference person and corresponding one of the plurality of images; and selecting at least one image from the collection of images based on the image affinity for each of the plurality of images.
In another embodiment of the present disclosure, a method is disclosed comprising the steps of: obtaining a subject identifier for each of a plurality of subjects that appear in a collection of images, the subject identifier comprising subject information describing the corresponding one of the plurality of subjects; computing a match score representing the likelihood of a potential match between one or more of the plurality of subjects and a corresponding one or more of a plurality central system users; obtaining a match threshold indicating a numerical threshold above which a match is declared; and comparing the match score to the match threshold to determine if any matches have been achieved.
In another embodiment of the present disclosure, a method is disclosed for maintaining a structure representing an image collection in computer memory, the method comprising the steps of: maintaining a subject index, the subject index representing a plurality of subjects that appear in a collection of images, the subject index comprising: a reference for each subject to a corresponding image of the face of the subject; a reference for each subject to each image in the collection of images in which the subjects face is found; subject affinity information, the subject affinity defining the attraction between each of the subjects in the collection of images; and image affinity information, the image affinity information defining the preference of each subject in the collection of images, to each image in the collection of images. The method further comprising maintaining an image index, the image index representing the collection of images, and containing references from each image to the plurality of subjects appearing in the image.
Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the embodiments in association with the accompanying drawing figures.
BRIEF DESCRIPTION OF THE DRAWING FIGURES
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.
FIG. 1 illustrates a display device capable of identifying a viewer, and customizing the content shown on the display device to that viewer;
FIG. 2 illustrates a collection sharing device for providing additional content to a display device over a network, and a central system for providing affinity information between subjects found in the image content;
FIG. 3A is a block diagram showing the hardware and software components of an exemplary display device;
FIG. 3B is a block diagram of an exemplary embodiment of the data structure used to represent an individual viewer profile as found in FIG. 3A;
FIG. 3C is a block diagram of an exemplary embodiment of the data structure used to represent the image playlist as found in FIG. 3A;
FIG. 3D is a block diagram of an exemplary embodiment of the software used to perform facial recognition as found in FIGS. 2, 3A, 4A, 7, and 8;
FIG. 4A is a block diagram of an exemplary embodiment of the image collection subsystem used in FIG. 2 responsible for indexing imaging content and providing the indexed data over a network to a display device;
FIG. 4B is a block diagram of an exemplary embodiment of the data structure used to represent an image;
FIG. 4C is a block diagram of an exemplary embodiment of the data structure used to represent a digital image collection index as used in FIG. 4A;
FIG. 4D graphically illustrates an exemplary image collection indexed by both subject and image;
FIG. 5A is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects (subject affinity);
FIG. 5B is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects and images (image affinity);
FIG. 6 illustrates the operation of the system of FIGS. 1, 2, and 3 according to one embodiment of the present disclosure;
FIG. 7 is a block diagram of the display device of FIG. 2 according to one embodiment of the present disclosure;
FIG. 8 is a block diagram of the central system of FIG. 2 according to one embodiment of the present disclosure;
FIG. 9 is a block diagram of the collection sharing device of FIG. 2 according to one embodiment of the present disclosure;
FIG. 10A is a flow chart illustrating a process for processing events originating from both the user and display device in one embodiment of the present disclosure;
FIG. 10B is a flow chart illustrating a process identifying a viewer of the display device according to one embodiment of the present disclosure;
FIG. 10C is a flow chart illustrating a process for using affinity information to score an image playlist for a viewer according to one embodiment of the present disclosure;
FIG. 10D is a flow chart illustrating a process for scoring a single face when encountered during the process of scoring an image as found in FIG. 10C;
FIG. 10E is a flow chart illustrating a process for building the affinity matrix that is used to represent the strength of relationship between any two users of the system according to one embodiment of the present disclosure;
FIG. 10F is a flow chart illustrating a process for incorporating a newly available image collection with a possibly existing image collection according to one embodiment of the present disclosure;
FIG. 10G is a flow chart illustrating a process for displaying a slideshow on the display device according to one embodiment of the present disclosure;
FIG. 11A-B are flowcharts illustrating a process performed by the central system to match subjects to users of a central system;
FIG. 11C depicts an exemplary subject to central system user matching process of FIGS. 11A-B;
FIG. 12A-B are flowcharts illustrating a process performed by an exemplary embodiment of the image collection index generator;
FIG. 13 illustrates an alternate embodiment of the system found in FIG. 2, wherein the display device has been simplified with the face recognition, affinity prediction, and image hosting taking place at the central system;
FIG. 14A graphically illustrates an exemplary collection of digital images comprised of subject faces;
FIG. 14B is a table illustrating which subject faces are contained in which of the exemplary images;
FIG. 15A is a graphical illustration of an exemplary central system where users form connections to other users to facilitate the control of the sharing of information;
FIGS. 15B-F are exemplary calculations showing how each image is assigned a composite score for each viewer using social distance data obtained from the exemplary central system of FIG. 15A;
FIGS. 16A-D are exemplary calculations showing how each image is assigned a composite score for each viewer using face co-occurrence within the image data obtained from the exemplary image collection of FIG. 14A;
FIG. 17 is an exemplary graphical user interface for collecting subject affinity information from a viewer of a display device;
FIG. 18A graphically illustrates an exemplary digital image divided into zones, such that different weights may be assigned to different zones, for the purpose of modifying the image affinity scores based on faces being found in different zones;
FIG. 18B is a table illustrating exemplary zone weighting values for the exemplary digital image shown in FIG. 18A;
FIG. 19A graphically illustrates an exemplary digital image where the subject faces have been resolved and their respective areas determined, for the purpose of modifying the image affinity scores for faces based on their respective sizes;
FIG. 19B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 19A;
FIG. 20A graphically illustrates an exemplary digital image whereby the faces have been identified, and the distance between each face determined for the purpose of modifying the exemplary face co-occurrence scores of FIG. 16 based on the distance between each subject face pair;
FIG. 20B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 20A;
FIG. 21 graphically illustrates an exemplary display device wherein more than one viewer has been detected;
FIG. 22 graphically illustrates an exemplary graphical user interface for prompting a newly detected viewer to confirm identity, for the purpose of matching that viewer to an existing profile.
DETAILED DESCRIPTION OF THE EMBODIMENTS
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the disclosure and to illustrate the best mode of practicing the disclosure. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
FIG. 1 illustrates a display device 50 capable of identifying a viewer 001, and customizing the content shown on the display device 50 to that viewer 001. The viewer 001 is identified through a detection process that is initiated when the viewer 001 triggers the motion detection subsystem 76 on the display device 50. An image of the viewer 001 is then captured using the image capture subsystem 70 on the display device 50. The face of the viewer 001 is resolved and a viewer profile 130 is generated where a reference to the corresponding face is stored 134. In one embodiment, the images selected for display on the device are determined by selecting those images in which the viewers face 001 is detected. Further to the present disclosure, the viewer 001 interacts with the display device 50 through the use of a touchscreen 66 on the front of the display device 50. In another embodiment, the viewer would interact with the display device 50 through the use of the button controls 90 92 94 96 on the chassis of the display device 50
It should be noted that while the shown embodiment of the display device 50 is a digital picture frame, there are other hardware configurations that would prove suitable for practicing the disclosure. Other embodiments would include a personal computer with camera, a laptop with integrated camera, a cellular telephone with integrated camera, a surveillance monitor with networked surveillance cameras, a digital camera with LCD, a PDA with digital camera, a media player with digital camera, and the like.
FIG. 2 illustrates a collection sharing device 30 for providing additional content to a display device 50 over a network 20, and a central system 100 for providing affinity information between subjects found in the image collection 200. The display device 50 is communicatively coupled via a network 20 to additional image sources 30. The additional image sources may include other display devices, computers, cellular phones, or any device possessing the necessary electronic hardware and software. Additional image content may also be retrieved from image sources residing 200 within the central system 100 and available over the internet. Examples of such central systems 100 may include photosharing sites and social networking sites with photo storage capabilities. Examples of photosharing sites include Shutterfly, Flickr, and Snapfish. Examples of social networking sites with photosharing capabilities include Facebook, Myspace, and Classmates.com. In this embodiment of the disclosure, the display device 50 also retrieves relationship information from one or more central systems 100. The relationship information is used to compute subject affinity scores, which in turn are used to select which images will be presented to the viewer 001.
As stated above, the network 20 is preferably a distributed, public access network, such as the Internet, wherein the user system 50 and the central system 100 are capable of interacting with and through the network 20 using various protocols such as Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), and File Transfer Protocol (FTP). However, those of ordinary skill in the art will appreciate that the network 20 is not limited thereto. More specifically, the network 20 may be any type of network suitable to allow interaction between the display device 50 and the central system 100. For example, the network 20 may be a wired network, a wireless network, or any combination thereof. Further, the network 20 may include a distributed computing network, an intranet, a local-area network (LAN) and/or a wide-area network (WAN), or any combination thereof.
In one embodiment, the central system is comprised of a control system 102 that controls the functions of the system. The control system 102 contains a affinity predictor 750 that uses facial recognition 170 to establish matches between subjects found in the images 220 in the image collection 200 and users 012 of the central system 100. The relationships of the users 012 of the central system 100 are managed through the account management 105 function.
This exemplary central system 100 is comprised of multiple user accounts 106. Each user account corresponds to a single user 12 of the central system 100. Each user account 106 contains a list of friend's 108, permission settings 110, profile information 112, and content associated with the user 114. The Friends List 108 is built through an invitation process where other users 012 are invited to form a reciprocal relationship or connection. The entries in the friend's list 108 may be tagged with optional information qualifying the nature of the relationship, and information indicating the duration of the relationship. The permission settings 110 are used to control access to profile 112 and content information 114 by other accessing entities. Accessing entities of the central system 100 may include both member and nonmember users 012.
The profile information 112 may include information such as demographic information, preference information, calendar information, location history, communications history, and the like. The location history for a user 012 may be built up by extracting the information directly from the user 012, or by extracting location information and timestamps from images 220 in which the central system 100 user 012 appears. An example of the user 012 directly submitting location history would include automated submissions by the users 012 cellular phone with GPS capabilities to the central system 100. The location history would be comprised of entries capturing both the location and time of the user 012. Based on the location history for each user 012, an average position for each user 012 may be calculated. Additionally, the average position of a user 012 may be time varying, and the average position for the user 012 is calculated over one or more windows of time.
A communications history log would capture communications events comprised of the time and type of communication, as well as extracted features from the communication. An example of extracted features would include using natural language processing to extract the most descriptive keywords from a message sent between central system 100 users 012. Based on the communication event log, other statistics may be computed, such as a frequency of communication.
Content 114 may include text, audio, image, and video information uploaded by a user 012 to the central system 100. The central system 100 may also function as an additional source of image content 200.
The collection sharing device 30 is comprised of an image collection 200 that is responsible for the storage and transfer of the images 220, a control system 32 for making the image collection 200 available over the network 20, and a browser 34 for providing configuration information to the display device 50.
It should be noted that while we have explicitly described a collection sharing device 30 as a remote content source, any electronic device capable of performing the functions required by the image management 200 and control system 32 are capable of functioning as remote content sources. This also includes the central system 100 and display device 50. Additional detail for the collection sharing device 30 can be found in FIG. 9.
FIG. 3A is a block diagram showing the hardware 76 and control system 52 components of an exemplary display device 50. At the hardware level 76, the display device 50 is equipped with a microprocessor 68 and instruction memory 78 that are used to execute programmatic instructions on the device 50. Images 220 are stored in the internal storage 72 and presented on the display 74. The communications interface 64 can be used to provide additional data, status, and control to the device 50. A user can control the device 50 via touch controls 66 available on the device 50. Power consumption is minimized on the device via the power management subsystem 80. The power management subsystem 80 is responsible for putting certain functions of the display device 50 into sleep mode, while no motion is being detected 76. When motion is detected 76, the device 50 is woken, and the camera subsystem 70 takes an image 220 of the one or more viewers 001 in front of the display device 50. This information is then stored in memory 78.
At the control system level 52, system-wide preferences 54 and individual profiles 130 are stored on the display device 50 in the non-volatile storage 72. Faces within images 220 are detected via face detection software 172. Face matching software 176 is then used to compare the faces of one or more viewers 001 against subject faces contained in the images 001 . . . 008 that are accessible to the display device 50 as illustrated in FIG. 2. The image index generator FIG. 12A is responsible for producing the image collection info data structure 240 as illustrated in FIG. 4C. The program instructions for the image indexer 206 may be executed on each device that wishes to make its image collection 240 available to other display devices 50. Slideshow software 720 is used to display selected content from the image playlist 160.
In another embodiment of the disclosure, a web server 60 is used to facilitate remote management and control of the display device 50 over the network 20.
In another embodiment of the disclosure, the display device 50 is able to recognize the presence of multiple viewers 001[1-N] in front of the device. In this embodiment, identification information is stored for multiple current viewers 62, and the profile 130 information that is used to customize the selected content for display 160 is derived from the aggregated profile information 130 for all of the viewers 001[1−N] present.
FIG. 3B is a block diagram of an exemplary embodiment of the data structure used to represent an individual viewer profile 130 as found in FIG. 3A. The user may be a viewer 001, or a person that is standing in front of the display device 50 and viewing images. The user may also be a subject, or a person who is in one or more of the images 220 accessible from the display device 50. Note that a user may be both a viewer 001 and a subject, that is, they are viewing the display device 50, but there are also images 220 accessible from the display device 50 in which that same viewer's face is present. The GUID 132 is a global identifier that is unique to this specific user within the system. The face image 134 is a reference to an image 220 of the face of the viewer 001 represented by this individual profile 130. The central system credentials 136 contain information uniquely identifying the subject as a user 012 of the central system 100. This information is normally comprised of a username and in some cases a password. The usage log 138 records activity by the subject, such as when a subject has acted as a viewer. The slide show preferences 140 store the users viewing preferences, such as the amount of time each image is shown, and the transition effect that is applied when transitioning from the current image to the next image. The face preferences 142 are used to record and maintain the viewers affinity 146 for other subjects 144. The face field 144 holds the GUID of a subject. In one embodiment, the affinity value 146 is a numerical value between zero and one representing the viewer's affinity for the referenced subject.
FIG. 3C is a block diagram of an exemplary embodiment of the data structure used to represent the image playlist 160 as found in FIG. 3A. The image playlist 160 is used to hold a reference 162 and score 164 for each image scheduled for presentation on the display device 50. The scores 164 are calculated according to the flowchart presented in FIG. 10C. The transition type 166 indicates the transition algorithm to be used when switching from the current image to the next image.
FIG. 3D is a block diagram of an exemplary embodiment of the software used to perform facial recognition 170 as found in FIGS. 2, 3A, 4A, 7, and 8. Face detection 172 is used to resolve the location of a potential face within a given image. Feature extraction 174 is then used to identify the geometric features of the face, such as the eyes, nose, mouth, and the like. Face matching 176 is used to compare the extracted features 174 from two faces to determine the probability that the faces match, or more explicitly, refer to the same person or subject. If the match probability falls above a user selectable threshold, then the two faces are assumed to be a match.
FIG. 4A is a block diagram of an exemplary embodiment of the image collection subsystem 200 used in items 50, 30, and 100 of FIG. 2 responsible for indexing imaging content and providing the indexed data 240 over a network 20 to a display device 50. The image collection 200 encapsulates the code and data representing a collection of images 220. The image store 204 represents the file system containing the local images 220. The image indexer 206, explained in additional detail in FIG. 12, contains the program codes for detecting the faces in each image 220, and building the image collection index 240. The image collection index 240, explained in additional detail in FIG. 4C, is used to provide convenient programmatic access to the image collection 200. The image collection 200 is indexed both by face 250 and by image 260. The purpose of this data structure 240 is to provide efficient programmatic access to representative images of all faces found within a collection 200, all images in which a particular face is found 250, and all faces within a particular image 260. This efficient access is important when image collections 200 are accessed over the network 20 and network throughput and latency can degrade performance.
FIG. 4B is a block diagram of an exemplary embodiment of the data structure used to represent an image 220. The image 220 contains image data 222 representing the pixels of the image. The image data may be in either compressed or uncompressed form. The metadata 224 contains additional information about the image 220. The timestamp 226 fields contain the data, time, and time zone in which the image 220 was captured. The location stamp 228 holds the GPS location coordinates at which the image was captured. The keyword tags 230 field contains a plurality of textual tags descriptive of the image 220. Face tags 232 contain information identifying subject faces contained in the image 220, and their corresponding locations. The face tags 232 also include identity information corresponding to the subjects represented by the faces. The identity information may be in the form of the subjects name, a GUID 132, or username 136 corresponding to an account on the central system 100.
FIG. 4C is a block diagram of an exemplary embodiment of the data structure used to represent a digital image collection index 240 as used in FIG. 4A. Subject to subject affinity information 242 is used to store affinity predictions between any two subjects contained within a given image collection 200. In one embodiment of the present disclosure, the information is stored according to the structure shown in FIG. 5A. Subject to image affinity information 244 is used to store affinity predictions between any subjects contained within at least one image 220 of the image collection 200. In one embodiment of the present disclosure, the information is stored according to the structure shown in FIG. 5B. Note that subjects may also include a viewer 001 who is not contained in any image 220 of the collection 200. Also note that not all images 220 are required to contain faces.
The zone definitions 246 field contains information regarding the set of non-overlapping areas into which images are divided as further exemplified in FIG. 20A.
The subject face index 250 contains one entry per unique face found in an image collection 200. For each face 252, the list of images 254 in which the face is contained is recorded 270 along with the weighting zone 272, the size ratio 274 of the face in relation to the entire image, the center point of the face 276, and the radius of the circle containing the face 278. This structure is advantageous because given a face reference; it is easy to quickly determine the list of all images 220 in which the face is contained.
The image index 260 contains one entry for each image stored in a collection FIG. 7. For each image 262, a list of the faces 264 occurring in the image is recorded. Information regarding the zone 272, size ratio 274, center point 276, and radius 278 are also recorded. The ID 279 is a unique identifier of the subject. In one embodiment of the present disclosure, the GUIDs are assigned at the central system 100 when a subject face is matched to a user 012 of the central system 100. This structure is advantageous because given an image reference; it is expedient to quickly determine the list of all faces contained in the image.
FIG. 4D graphically illustrates an exemplary image collection 200 indexed by both subject 296 and image 298. The subject index 250 corresponds to 296. The image index 260 corresponds to 298. As shown by the links in this illustration, each subject representation 280 282 284 286 contains a link to each image in which that face is found, and each image representation 288 290 292 294 contains a link to all subjects found within that image. For example, face 001 contains links to images 288 and 290. Likewise, image 290 contains links to the reference face image 280 for subject 001 and face image 282 for subject 002.
FIG. 5A is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects (subject affinity). Subject affinity is an indication of the strength of the relationship and desirability of one subject for another. In one embodiment of the present disclosure, the numerical ranges of the values fall between zero and one, where zero indicates no affinity, and one represents maximum affinity. Note that affinity between two users need not be symmetric. In other words, the affinity for subject six by subject three 302 need not be the same as the affinity for subject three by subject six 304. This is referred to as non-symmetric affinity, and can occur between a fan and celebrity for example.
There are a number of approaches to determining subject-to-subject affinity. In one embodiment, subject faces are matched to users 012 of a central system 100, such as a social networking site, and the social distance between the users 012 is employed to estimate affinity. This assumes that user pairs with shorter social distances have higher subject affinity than subject pairs with a higher social distance.
In another embodiment of the present disclosure, subject affinity is estimated by using subject faces co-occurrence within images 220. This assumes that subjects with a high co-occurrence rate within images 220 will have more affinity for one another than subject pairs with a low co-occurrence within an image collection 200.
In another embodiment of the present disclosure, subject affinity is determined by prompting the viewer 001 of the display device 50 with a dialog showing the highest occurring subject faces within the image collection 200. An example of such a dialog is shown in FIG. 19. When a new viewer 001 is detected in front of the display device 50, the viewer 001 is prompted to specify subject affinity preferences using touch screen controls. The viewer 001 assigns a high score to the subject faces they would like to see, and a lower score to faces they do not care to see.
In yet another embodiment of the present disclosure, the display device 50 simply attempts to match the face of the viewer 001 to faces found in the images 220. Images in which the viewer's face 001 is found score higher. Note that this approach is not detailed further in this document due to it's simplicity, but is in fact a special case of the general case where the subject affinity matrix has only one row and one column.
Note that none of the approaches are likely to be right in all cases, particularly when social distance data and co-occurrence data are sparse. These approaches are intended to yield an intelligent starting point, from which the system can adapt and improve its accuracy predicting viewer to subject affinity through viewer 001 response.
FIG. 5B is a block diagram of an exemplary embodiment of the data structure used to represent affinity information between subjects and images (image affinity). In this case, image affinity is an indication of the desirability of a subject for an image 220. In one embodiment of the present disclosure, the numerical ranges of the values fall between zero and one, where zero indicates no affinity, and one represents maximum affinity.
FIG. 6 illustrates the operation of the system of FIGS. 1, 2, and 3 according to one embodiment of the present disclosure. The display device 50 owner (administrator) enters configuration and initialization information 402. In one embodiment, the administrator enters this information via a browser 34 communicating with a web server 60 running on the display device 50. A collection sharing device 30 makes it's image collection available over the network 20.
Next, a viewer 001 of the display device 50 inserts removable media storage 72 into the display device 406. The display device 50 then indexes the images 220 on the removable media 408, and stores the results in an image collection index 240. Next, the display device 50 detects motion in front of the display device 50 and captures the face 410 of the viewer 001. These steps are also shown in FIG. 10B.
An image collection index 240 is then sent to the central system 412. From this image collection index 240, the central system 100 attempts to match faces found in the image collection index 240 to users of the central system 414, and to determine the social distance between those users 012 that are identified 416. The social distance information is then converted to subject-to-subject affinity information, and returned to the display device 418.
Since central systems 100 are potentially quite large, viewer identity 136 information and display device 50 owner information is sent to the central system 100 when attempting to match faces from the image collection index 240 to central system 100 users 012. This identity information 136 gives the central system 100 additional hints that can be used when attempting to match faces. For example, central system 100 users 012 that are closer in social distance to the current display device 50 viewer 001 or the display device 50 owner are more likely to appear in images on that owners display device 50 than someone simply picked out of the general population of central system 100 users 012.
Subsequently, the display device 50 using the social connection matrix FIG. 15B converts the information into a social distance matrix 15C that contains the social distance between any two subjects found in the matrix. Next, the subject-to-subject affinity matrix is used to produce the viewer to image affinity matrix of 15E 420. An image playlist 160 is then assembled from the viewer to image affinity matrix 15E by matching the current viewer to the matching viewer in the matrix, and applying whatever sorting preference and transition that viewer has specified 422.
Based on a periodic timing interval, images 220 are then shown 424 one at a time according to FIG. 10G. The facial responses of the viewer are subsequently monitored 426, and the viewers profile is adjusted 428. This process is then repeated 432 until such time that a new viewer 001 is identified 430.
FIG. 7 is a block diagram of the display device 50 of FIG. 2 according to one embodiment of the present disclosure. In general, the display device 50 includes a control system 52 having associated memory 78.
In this embodiment, the affinity predictor 670, face recognition 170, playlist scoring 630, web server 60, viewer identification 600, and slideshow and feedback modules 720 are implemented in software and stored in memory 78. However, the present disclosure is not limited thereto. The affinity predictor 670, face recognition 170, playlist scoring 630, web server 60, viewer identification 600, and slideshow and feedback modules 720 may be implemented in software, hardware, or any combination thereof.
The display device 50 may also include one or more digital storage devices 72 such as, for example, one or more hard disk drives. The one or more digital storage devices 72 may be used to store images 220. The display device 50 also includes a communication interface 64 communicatively coupling the display device 50 to the network 20. Lastly, the display device 50 may include a user interface 51, which may include components such as a display, one or more user input devices, or the like.
FIG. 8 is a block diagram of the central system 100 of FIG. 2 according to one embodiment of the present disclosure. In general, the central system 100 includes a control system 102 having associated memory 104.
In this embodiment, the face matching 170, affinity predictor 750, and account management 105 are implemented in software and stored in the memory 104. However, the present disclosure is not limited thereto. The face matching 263, affinity predictor 750, and account management 105 may be implemented in software, hardware, or a combination thereof.
The central system 100 may also include one or more digital storage devices 122 such as, for example, one or more hard disk drives. The one or more digital storage devices 122 may be used to store images. The central system 100 also includes a communication interface 124 communicatively coupling the central system 100 to the network 20 (FIG. 2). Lastly, the central system 100 may include a user interface 101, which may include components such as a display, one or more user input devices, or the like.
FIG. 9 is a block diagram of the collection sharing device 30 of FIG. 2 according to one embodiment of the present disclosure. In general, the collection sharing device 30 includes a control system 32 having associated memory 34.
In this embodiment, the request handler 202, collection indexer 206, and collection index 240 are implemented in software and stored in the memory 34. However, the present disclosure is not limited thereto. The request handler 202, collection indexer 206, and collection index 240 may be implemented in software, hardware, or a combination thereof.
The collection sharing device 30 may also include one or more digital storage devices 36 such as, for example, one or more hard disk drives. The one or more digital storage devices 36 may be used to store images 220. The collection sharing device 30 also includes a communication interface 38 communicatively coupling the collection sharing device 30 to the network 20 (FIG. 2). Lastly, the collection sharing device 30 may include a user interface 31, which may include components such as a display, one or more user input devices, or the like.
FIG. 10A is a flow chart illustrating a process for processing events originating from both the user and display device in one embodiment of the present disclosure. The display device 50 employs an event driven architecture, where events can come from both hardware sources and viewer 001 interactions with the device 50. Hardware sources may include interrupts originating from timers 84, communications interface 64 504, image sensors 70, motion detectors 76 500, display refresh requests 74, file system requests 72, power management functions 80, and the like. User interaction sources include activities such as inserting a removable memory drive 502, a viewer 001 touching the display of the touchscreen 506, and pressing buttons found on the physical enclosure of the display device 50.
Events are placed in an event queue 508, and pulled from the event queue by an event dispatcher 510 that in turn invokes the appropriate event handler 512, 514, 516, 518.
Motion events are 500 are triggered by a viewer 001 walking in front of the display device 50. The motion detector 76 causes the display device 50 to “wake up”, going from a low power consumption state, to a higher power consumption state. The viewer identification event handler 600 handles the motion event 500, by taking an image with the camera 70 on the front of the display device 50, and resolving the face of the viewer 001.
Inserting removable media will trigger a disk event interrupt 502, which will deposit an event into the event queue 508. The event is in turn handled by the image indexing event handler 630, which resolves and indexes all of the faces in each of the images 220 on the removable media. Likewise, a collection of images 200 becoming available over the network 20 will trigger a similar event 504, which is also handled by the image index generator 775.
The slideshow event handler 516 is triggered by a user configurable timer 84, and causes viewer feedback to be collected, and the next available image to be displayed. The touch screen interrupt 506 is triggered whenever a viewer 001 touches the display device 50 display 74. The UI handler 518 is invoked to process the event posted in response to the touch screen interrupt 506.
FIG. 10B is a flow chart illustrating a process identifying a viewer 001 of the display device 50 according to one embodiment of the present disclosure. The program steps of FIG. 10B are executed in an event handler 600 that is triggered in response to a viewer 001 being detected in front of the display device 50. The event handler first checks to verify that an image collection 200 is available for display 602. If no image collection is available 622, the event handler waits 620 before responding to another viewer 001 detection 600. The camera 70 on the display device 50 is triggered via the motion detection circuit 76. An image 220 of sufficient quality is then captured 604, and the faces contained in the image 220 are resolved 606. If a no new viewer 001 is detected in the image 608, then the event handler waits 620 before responding to another viewer detection 600. Otherwise the event handler proceeds to determine if this viewer 001 is already a known user in the system 610. A known user is either a subject whose face appears in at least one image in the available image collection 200, or a viewer 001 who has used the display device 50 before, or both.
Once a new viewer has been detected, the display device 50 then attempts to determine other faces that may be of interest to the viewer 612. In one embodiment of the present disclosure, this step 612 can be as simple as identifying the images in which viewer's 001 face is contained. Once the affinity information has been obtained 612, a new user profile record 130 is created and the affinity information is stored 614. The newly detected viewer is then made the current viewer 616.
In step 618 the available images from the one or more image collections 200 are scored based on the subject affinity between the current user, and the subject faces found in the respective images. The results of this scoring are stored in the image playlist 160. The data structure contains a list of images 162, and their associated scores 164.
FIG. 10C is a flow chart illustrating a process for using affinity information to score an image playlist 160 for a viewer 001 according to one embodiment of the present disclosure. The module starts by retrieving the current viewer profile 630 and operates by cycling through each image contained in the current image playlist 160 one image at a time 631. The module processes each image by first resolving all of the faces contained in the image 632, and then scoring each face 638 according to FIG. 10D. Once all faces have been accounted for 640, a final score for the image 220 is stored in the current image playlist 642. This process is repeated until all images in the current image playlist 58 160 have been processed 646.
FIG. 10D is a flow chart illustrating a process for scoring a single subject face when encountered during the process of scoring an image 220 as found in FIG. 10C. This module takes as its inputs a subject affinity matrix, and the current viewer information 58 160. If the subject face being scored is not in the subject affinity matrix 650, then a default value is assigned 662. Otherwise the viewer to subject affinity is retrieved from the subject affinity matrix 652. The size of the subject face being scored is then calculated 654, and used to modify the subject affinity according to FIG. 19. Next, the zone in which the subject face occurs is determined 655, and used to modify the subject affinity according to FIG. 18. Finally, the scored is calculated as a function of these three factors 656 and returned 658. Note that this is an exemplary scoring calculation. One of ordinary skill in the art would recognize that many other variations are possible.
FIG. 10E is a flow chart illustrating a process for building the subject affinity matrix that is used to represent the strength of relationship between any two users of the system according to one embodiment of the present disclosure. The module takes as its input a subject face index 296 that contains one unique entry for each subject face occurring in the entire image collection 670. If specified by preference, the viewer is prompted 672 with a dialog showing the N highest occurring faces in the collection, and given the opportunity to explicitly specify their affinity for those subjects. N is a function of how many faces may be reasonably represented on the display of the display device 50 at a one time. An example of this dialog is shown in FIG. 17. When the image collection 200 is small or the display size is large, it may be possible to show all faces in the collection on the display at once.
If a WAN network connection is available 676, the display device 50 may then further refine the subject affinity matrix by transmitting a image collection index 240 to a central system 678 and using the returned subject affinity matrix to replace the missing subject affinity values. Finally, subject face co-occurrence within single images may be used to predict subject affinity 680. Affinity may then be modified based on the proximity of other faces occurring within the images 681 according to FIG. 20. Note that this is an exemplary scoring calculation. One of ordinary skill in the art would recognize that many other variations are possible.
FIG. 10F is a flow chart illustrating a process for incorporating a newly available image collection 200 with a possibly existing image collection 200 according to one embodiment of the present disclosure. The new image collection available event 514 is invoked when a new image collection 200 becomes available. The image collection 200 may be newly available because the display device 50 has recently booted, and the device is initializing and loading the locally stored images 204. The image collection 200 may also be newly available because a viewer 001 has inserted a removable media 72 into the display device 50, or because another compatible electronic device 30 has joined the network 20 to which the display device 50 is attached, and is sharing an image collection 200 over the network 20. The event handler 514 starts 700 by determining if the image collection 200 is accompanied by an existing image collection index 240. If not 701, then a new image collection index 240 is created representing the collection 702. Once the image collection index 240 is available, any new faces from the new collection index 240 are merged with the existing faces to form an updated face index 706 FIG. 10F. The updated subject face index is then used to produce an updated subject affinity matrix 708. Finally, the image playlist 160 is updated 710 from a subject affinity matrix.
FIG. 10G is a flow chart illustrating a process for displaying a slideshow on the display device 50 according to one embodiment of the present disclosure. The slideshow and feedback event handler 516 FIG. 10G takes as its input the current viewer profile 62, the current image playlist 160, and the current image index 56. This information is retrieved in the first step 720. It then retrieves preference information for the current viewer such as transition type, transition speed, and display time 721. Examples of transition types include wipe, dissolve, twirl, and the like.
Next, the response of the viewer 001 is measured 724, and the response information is used to adjust and refine 726 the current viewer 62 stored profile 728. For subject faces that the viewer 001 responds positively to, their preference 142 for that subject face will be increased 146. Likewise, for subject faces that the viewer 001 responds negatively to, their preference 142 for those subject faces are decreased 146. Viewer 001 evidence of a positive response may come in the form of a smile, prolonged attention, or focus. Evidence of a negative reaction may take the form of a frown, reduced attention span, or reduced focus. Other indicators are also possible.
Finally, the current image index 730 is incremented. If the end of the image playlist 160 is encountered 732, then the current image index is reset 734, and display continues from the top of the image playlist 160 736.
FIGS. 11A-B are flowcharts illustrating a process performed by the central system 100 to match subjects 768 to users 774 of a central system 100. The central system 100 receives a request 750 over the network 20 comprised of a list of subject identifiers 768. The request is then divided into two sets. The first list is the set of unknown subjects 751 770. Unknown subjects 770 are represented by subject identifiers 767 that include an image 220 of the face of the subject, but do not contain information uniquely identifying the subject to the central system 100, such as username, GUID (Globally Unique Identifier), or the like. The second list is the set of known subjects 752. Known subjects 769 are represented by subject identifiers 767 that contain identity information that allows the central system 100 to match the subjects to a user 012 of the central system 100 based on identity information, and without using face matching 176. In both the case of known subjects 769, and unknown subjects 770, the subject identifiers 767 may contain auxiliary information about the subject such as demographic information, preference information, calendar information location history, communications history, and the like.
Next, the process proceeds by retrieving the face corresponding to the next unknown subject identifier 753. The face from the unknown subject identifier is then matched to a user 012 of the central system 100 using facial matching techniques to match the unknown face with faces stored in user accounts 106 754. A list of the N closest potential matches 773 is formed 755 and refined using any available auxiliary information available in the subject identifier. The face matching 176 occurs between the face image found in the subject identifier, and one or more face images representing a central system user 012. The face images for the central system user 012 may come from the users profile picture, images hosted on the central system 100 where the user 012 has been tagged, or any combination thereof.
The potentially matching central system users 756 760 are then compared 757 758 759 771 to each known subject 769 based on the social distance between the potential match 773 and the known subject 769. Based on this comparison, the match score may be refined 758.
In one embodiment of the present disclosure, the image collection index 240 is used as the input to the process of FIGS. 11A-B, and the subject identifiers are extracted from the subject references 250 of the index 240.
The rationale behind these operations is that if a potential match 773 is close in social distance to a known subject 769, the match is more likely to be correct. This refinement process repeats until all known subjects 759 769 are compared to the set of potentially matching central system users 760 773. The potential matches 773 are then re-ranked, and the highest potential match score is compared against a match threshold 761. If the match score of the potential match 773 exceeds or matches a match threshold, then the unknown subject 770 is considered matched to the corresponding user 012 of the central system 100. This process is continued until there are no more unknown subjects 764. The social distance is then used to estimate the subject affinity for all known and identified subjects 765. The response information is provided to the requesting display device 766. The response information may be in the form of a subject-to-subject affinity matrix, augmented subject identifiers, augmented collection index, any combination of the above, and the like.
FIG. 11C depicts an exemplary subject to central system user 012 matching process of FIGS. 11A-B. The group of subject identifiers 768 passed to the central system for identification is composed of multiple individual subject identifiers 767. The group of subject identifiers 768 is then split into a group of known 769, and a group of unknown subjects 770. In one embodiment of the disclosure, the group 774 of central system users 012 is composed of all of the individual users 791 of the central system 200. When attempting to identify a single unknown subject 792 from the group of unknown subjects 770, facial recognition and auxiliary information is used to identify a group of possible matches 773. Comparing social distance 771 between each potential match 773 and each known subject 769 then refines the match score for each potential match 773, the match score being refined upwards based on a relatively shorter social distance when compared to other potential matches 773.
As a final step, once each unknown subject 770 has been matched to a central system user 012, the match score of the potential match 773 may be further refined by determining 772 the average social distance of the potential match 773 to each of the unknown subjects 770, and refining the match score higher based on a relatively shorter social distance when compared to the other potential matches 773.
FIGS. 12A-B are flowcharts illustrating a process performed by an exemplary embodiment of the image collection index generator. The process begins when the image index generator receives a request 775. The request may contain parameters indicating the desired format and the content of the response. Next, the generator checks to see if an index 240 of the collection 200 already exists 776. If so, a response is formatted 789, and returned 790. Otherwise a collection index 240 needs to be computed. For each successive image 777, a reference is added to an image index 778. Next, facial recognition is employed in determining a set of zero or more faces found in the image 779. Each face is successively examined 780. If the face has not been encountered before 781, a reference for the face is added to the face index 782. Next, 783, a reference for the faces is added to the image. The image index generator operates as part of the display device 50, the collection sharing device 30, and the central system 100. It is available both programmatically from a local device, and over the network 20 from other devices.
The process is completed when all faces 787 have been examined in all images in the collection 200. The collection index 240 is saved 788 for future use, the response is formatted according to the optional request parameters 789, and an image collection index 240 is returned 790.
FIG. 13 illustrates an alternate embodiment of the system found in FIG. 2, wherein the display device 50 has been simplified with the face recognition 170, affinity prediction 670, and image hosting 200 taking place at the central system 100. In this embodiment, the display device 50, has been simplified to perform obtaining reference person information, presenting the slideshow, and collecting feedback from the reference person, or viewer 001. An embedded HTTP browser 53 is employed to present the slideshow FIG. 10G.
In accordance with this simplified display device 50 embodiment, the central system 100 takes on additional complexity. Based on reference person information provided by the display device 50, viewer identification is performed 600. Face recognition 170 is used to aid in affinity prediction 600. Based on affinity prediction 104, an image playlist is built 630, taking into account viewer preferences and profiles 130. Account management software 105 operates to store and retrieve relationship information stored in the user accounts 106.
The embodiment of FIG. 13 has the advantage that the display device 50 is simplified, and can be made more cheaply due to reduced computing complexity and storage requirements. Computing requirements are reduced because software for facial recognition 170 and affinity prediction 104 is executed on the central system 100. Storage requirements are reduced since images 220 are stored on the central system 100 and not on the display device 50.
In another embodiment of the present disclosure, the presentation of images occurs in a browser on a computing device, and there is no separate display device 50. In this embodiment, the images are stored at the central system 100, and the viewer is assumed to be the user 012 who is logged into the central system 100 through the browser.
It should be noted that this embodiment, while producing a cheaper display device 50, suffers from the requirement that the display device 50 needs either a communications interface 64 or removable memory to be able to display images, since images may not be available locally 72.
FIG. 14A graphically illustrates an exemplary collection 200 of digital images 220 comprised of subject faces. The collection contains eight images (800, 802, 804, 806, 808. 810, 812, 814) that are comprised of varying combinations of the eight subject faces 001-008. The number of subject faces happens to match the number of images, but that need not be the case. Also, the subject faces, when present, always appear in the same position in the images. Again, this is for the illustration purposes only, and need not be the case.
FIG. 14B is a table illustrating which subject faces is contained in which of the exemplary images. When an image contains a subject face, the corresponding matrix cell is marked with a “1”. Likewise, when an image does not contain a subject face, the corresponding matrix cell is marked with a “0”. For example image one contains the faces of subjects one, two, and three.
Note that in FIG. 14B and all subsequent figures, the images numbered (800, 802, 804, 806, 808. 810, 812, 814) have been renumbered IMAGE 1-IMAGE 8 for simplicity.
FIG. 15A is a graphical illustration of an exemplary central system 100 where users 012 form connections to other users 012 to facilitate the control of the sharing of information. The social distance between two users is the minimum number of hops required to get from a first user to a second user. A direct friend would have a social distance of one. A friend of a friend would have a social distance of two, and so on.
FIGS. 15B-F are exemplary calculations showing how each image is assigned a composite score for each viewer 001 using social distance 818 data obtained from the exemplary central system 100 shown in FIG. 15A. FIG. 15B shows in tabular form the connections of the central system 100 shown in FIG. 15A. The theory of scoring images using social distance is based on the assertion that a viewer 001 is more likely to want to see a image 220 containing someone they know, than someone less known to them.
FIG. 15C shows the social distance between any two users in our example central system 100 of FIG. 15A. All hops are assigned a weight of 1. Note that additional qualifiers may be used to refine the described social distance weighting model. For example, the popular social networking site Facebook offers nine potential qualifier when classifying contacts: “Lived Together”, “Worked Together”, “Went to School Together”, “Traveled Together”, “From An Organization”, “Team Or Group”, “In My Family”, “Through A Friend”, “We dated”, “Other”. Depending on a viewers profile 130, they could have a strong preference for viewing family members, thus that relationship would be assigned a relatively shorter social distance, thus resulting in a higher affinity prediction.
FIG. 15D shows the computation of a social distance-weighting matrix. The matrix element is calculated according to the formula:
W rc = i = 1 N 1 / ( 1 + d ) 2 Equation ( 1 )
where r denotes row, c denotes column, and d is the social distance from matrix 15C.
FIG. 15E shows the computation of the affinity matrix. This matrix is computed according to the formula:
[P] rc =[S] r [W] c  Equation (2)
where r denotes row, c denotes column, S is the face occurrence matrix of FIG. 15B, and W is the social distance weighting matrix of FIG. 15D. Multiplying matrix S[8×8] by matrix W[8×8] yields matrix P [8×8] which contains the score of each image for each viewer. The following computations show the calculation of the P11:
P 11=1×1/(1+0)^2+1×1/(1+1)^2+1×1/(1+2)^2
P 11=1+1/4+1/9
P 11=36/36+9/36+4/36
P 11=49/36
P 11=1.361
Note that in FIG. 15E, higher values represent a higher affinity between two subjects, while a lower value represents the opposite.
FIG. 15F represents the normalized version of 15E. The maximum value in the matrix P is 1.50. To normalize the matrix, and scale all values in the matrix to fall in the range of zero to one, we divide all values in the matrix by 1.5.
It follows from 15F that for our viewer 001 (subject 1 in FIG. 15F), the top scoring images are images one and seven. The lowest scoring image is number four. Other schemes for computing subject affinity based on social distance will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
FIGS. 16A-D are exemplary calculations showing how each image is assigned a composite score for each possible viewer 001 using subject face 001-008 co-occurrence within the image data obtained from the exemplary image collection of FIG. 14A. The idea being that if two subjects are in multiple images together, then they might know each other at some level, and that a viewer 001 is more likely to want to see a image containing someone they know, than someone less known to them. It is also possible to use multiple levels of co-occurrence information. For example, if subject A appears frequently with subject B in an image collection, and subject B occurs frequently with subject C, on average, we may predict that subject A has an above average affinity for subject C. In plain language, we may predict that if subject A can't see images containing a friend (subject B), they would rather see a friend of a friend (subject C) than a stranger. For the sake of simplicity, only first order co-occurrence information is used in the example represented by FIG. 16. Other schemes for computing subject affinity based on image co-occurrence will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
FIG. 16A shows the co-occurrence count of subjects in the images shown in FIG. 14A. For example, subject one appears with subject two in two images, while they appear with subject seven zero times. In theory, this would indicate a closer relationship between subjects one and two. In reality, this is more likely to be true when a large number of images are available to analyze.
FIG. 16B shows a normalized version of FIG. 16A, where dividing by the maximum value of four has normalized the matrix. FIG. 16C is calculated by multiplying the matrix S from FIG. 15B by matrix W of FIG. 16B to produce the matrix P, which is a prediction of the affinity by the various subjects to the images of FIG. 14A. FIG. 16D is calculated by normalizing FIG. 16C by the maximum value of two. It follows from the FIG. 16D, that for our subject 001, the top scoring images is one, and the lowest scoring image is number four.
FIG. 17 is an exemplary graphical user interface for collecting subject affinity information from a viewer 001 of a display device 50. In this embodiment the viewer to subject affinity may be determined by directly querying the viewer 001. In FIG. 17, the viewer 001 is prompted to enter in values 822 indicating their preference for each subjects face contained in the image collections 200 available to the display device 50. In this embodiment, these values 822 would be entered by pressing controls 820 824 on a touch display. Once the viewer 001 has expressed all preferences, pressing the “OK” button 826 to confirm the selections completes the operation. If the viewer wishes to skip setting these preferences, they may cancel out of the operation 828.
FIG. 18A graphically illustrates an exemplary digital image divided into zones, such that different weights may be assigned to different zones, for the purpose of modifying the image affinity scores for faces found in different zones. Using this embodiment, images occurring in the center zone(s) 830 are given a higher weighting than faces occurring towards the edge of the image 832. It follows that given two images containing the same face, the assertion is that a viewer 001 would like the image where the subject is in the middle area of the image, since the image is more likely to be focused on the subject. To help determine that information, the image is split into two or more zones 830 832, and each zone is assigned it's own weight. In our two zone example in FIG. 18A, the zone in the center 830 would be assigned a higher weight than the zone around the edges 832. To determine which zone a face falls in, a circle 836 inclosing the face is determined, and the center of that circle 838 is compared to the available zones to determine the zone in which it falls.
Taking the zone definition line 834, and excluding the area of any zones occurring within the zone definition line define zones. The outer most zone is defined as the area of the image, minus any zones occurring within the image
FIG. 18B is a table illustrating exemplary zone weighting values for the exemplary digital image shown in FIG. 18A. Following from FIG. 18A, zone A 830 has been assigned a weighting multiplier of one while zone B 832 has been assigned a weighting multiplier of ½. In effect, a face occurring in zone A is given twice the weight as a face occurring in zone B. Accordingly, face 002 falls in zone A, and given a weight of one. In one embodiment of the present disclosure, this calculation is performed in step 655 of FIG. 10D. Other schemes for positioning zones and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
FIG. 19A graphically illustrates an exemplary digital image where the subject faces have been resolved and their respective areas determined, for the purpose of modifying the image affinity scores of faces based on their respective sizes. Given two or more faces in an image, the assertion is that the larger face 002 should influence the score of the image more so than the smaller face 003. FIG. 19A illustrates this scenario. The face size ratios for each of the faces occurring within the image 220 are measured by taking the area of the circles enclosing the faces 840 842 844 and dividing by the total area of the image respectively.
FIG. 19B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 19A. Following from FIG. 19A, FIG. 19B assigns specific multiplier weights for given face area intervals. By way of example, the circle 842 containing face 003 has the area pi(d/2)^2, while the area of the entire image is 24d^2. Therefore the ratio of the face size to image area is pi/96=0.0327. Accordingly, a weighting multiplier of 0.0625 is used from FIG. 19B. In one embodiment of the present disclosure, this calculation is performed in step 654 of FIG. 10D. Other schemes for determining face size ratios and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
FIG. 20A graphically illustrates an exemplary digital image whereby the faces have been identified, and the distance between each face determined for the purpose of modifying the exemplary face co-occurrence scores of FIG. 16 based on the distance between each subject face pair. In this embodiment, given an image with three subjects, the assertion is that there is likely more affinity between the two subjects that appear closest in the image 856, and less affinity between the subjects that appear farthest apart in the image 858. Using this logic, it is possible to further adjust the values entered into the co-occurrence matrix shown in FIG. 16A. For example, instead of simply counting the number of co-occurrences, a higher weight would be assigned to subject pairs in close proximity, and a lower weight to subject pairs with less proximity.
FIG. 20B is a table illustrating exemplary weighting values for the exemplary digital image shown in FIG. 20A. Following from the image of FIG. 20A, FIG. 20B shows an exemplary table of weighting multipliers. Using the faces 001 and 002 from 20A as an example, it can be shown that the ratio of the distance between the centers 851 853 of the circles 850 852 containing the faces 001 and 002 divided by the diagonal distance of the image is d*sqrt(2)/d*sqrt(50), or sqrt(1/25)=1/5. Since 1/5<0.3, the affinity between the two subjects 001 and 002 is assigned a weighting of one. In one embodiment of the present disclosure, this calculation is performed in step 681 of FIG. 10E. Other schemes for determining face proximity ratios and assigning weighting values will be apparent to one of ordinary skill in the art upon reading this disclosure and are to be considered within the scope of the present disclosure.
FIG. 21 graphically illustrates an exemplary display device wherein more than one viewer has been detected. There may be zero, one or multiple viewers in front of the display device 50 at any given time. To account for this scenario, the viewers preferences 130 are used in accordance with their distance from the frame 870 872. The viewer response however is tied to the viewer's face, so this feedback is recorded individually 142 for each viewer 001.
In another embodiment of the present disclosure, the presentation content is targeted to a user who is not the viewer 001. This reference person may be a subject who is found in one or more of the images available to the display device 50, and is selected by the viewer 001 selecting the face of the subject as it is shown in an image appearing on the display device 50. Note also that multiple reference persons may be selected at the same time, in which case the composite profile 130 from multiple reference persons is used.
FIG. 22 graphically illustrates an exemplary graphical user interface for prompting a newly detected viewer to confirm identity, for the purpose of matching that viewer 011 to an existing profile 130. In an alternate embodiment of the disclosure, the viewer 001 may be prompted to confirm their identify 886 for the purpose of matching their face to an existing profile 130. If the presented face 001 matches the viewer 001, the viewer 001 would confirm the match 880, otherwise they would deny the match 882. Cancelling the match confirmation would cause the presentation selection process for the display device 50 to continue without viewer 001 confirmation 884.
Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

Claims (29)

What is claimed is:
1. A server device comprising:
a communication interface operable to communicatively couple the server device to a display device over a network; and
a control system comprising at least a processor and a memory storing program codes operable to:
obtain social relationship information identifying a social relationship between a reference person and one of a plurality of other subjects that appear in a plurality of images, the plurality of images associated with the reference person;
determine a subject affinity defining a subject affinity score between the reference person and the one of the plurality of other subjects based on the social relationship information, the plurality of other subjects corresponding to subjects other than the reference person; and
determine an image affinity for each of the plurality of images based on the subject affinity for the one of the plurality of other subjects, each image affinity defining an image affinity score between the reference person and a corresponding one of the plurality of images based on the one of the plurality of other subjects appearing in the one of the plurality of images; and
select, by the server device, based on the image affinity for each of the plurality of images, one or more images from the plurality of images.
2. The server device of claim 1 wherein the control system is further operable to:
send image information identifying the one or more images to the display device over the network.
3. The server device of claim 2 wherein to send image information identifying the one or more images the control system is further operable to:
order, based on the image affinity for each of the plurality of images, the plurality of images.
4. The server device of claim DR wherein the control system is further operable to:
obtain reference person information identifying the reference person; and
obtain image information identifying the plurality of images associated with the reference person.
5. The server device of claim 4 wherein to obtain image information the control system is further operable to:
obtain an index comprising:
for one or more images of the plurality of images, first one or more indicators to one or more subjects appearing in the one or more images; and
for one or more subjects of the plurality of subjects, second one or more indicators to one or more images in which the one or more subjects appear.
6. The server device of claim 1 wherein one or more of the plurality of images contain a number of subjects chosen from the group consisting of no subjects and multiple subjects.
7. The server device of claim 1 wherein one or more of the plurality of images are stored at a source chosen from the group consisting of:
the display device,
the server device,
a social network server associated with the server device,
a photosharing server associated with the server device,
a secondary collection sharing device.
8. The server device of claim 2 wherein the control system is further operable to:
provide, to the display device, the one or more images identified by the image information.
9. The server device of claim 1 wherein the reference person is a viewer of the display device that has been matched to a subject appearing in the plurality of images.
10. The server device of claim 9 where in order to determine the subject affinity the control system is further operable to:
refine based on a proximity between a face of the reference person and faces of the other subjects in a same image in the plurality of images.
11. The server device of claim 10 where in order to determine the subject affinity the control system is further operable to:
determine the proximity between the face of the reference person and the faces of the other subjects in the same image based on dividing a distance between centers of circles enclosing the face of the reference person and the faces of the other subjects by a diagonal distance of the same image.
12. The server device of claim 9 where in order to determine the subject affinity the control system is further operable to:
identify face co-occurrence instances between the reference person and one of the other subjects appearing in a same image in the plurality of images; and
determine subject affinity from the social relationship inferred from subject face co-occurrence between the reference person and the other subjects in the plurality of images.
13. The server device of claim 9 where in order to determine the subject affinity the control system is further operable to:
determine viewer response to the other subjects in the image of the plurality of images; and
modify the viewer's subject affinity for other subjects based on the viewer response.
14. The server device of claim 9 where in order to determine the image affinity the control system is further operable to:
resolve the subjects occurring in an image of the plurality of images; and
accumulate a contribution from the subjects according to the subject affinity between the viewer and the subjects in the image.
15. The server device of claim 1 further operable to:
communicate with a social network wherein the reference person and the one of the plurality of other subjects are members of the social network;
store information expressing friend relationships built through an invitation process;
identify the social relationship based on a social distance, the social distance defining a number of hops in a social graph based on the friend relationships between the reference person and the plurality of other subjects; and
determine the subject affinity based on the social relationship information.
16. The server device of claim 15 wherein other subjects with a lower social distance to the reference person are awarded a higher subject affinity.
17. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
track location history of other devices associated with other subjects reporting time-stamped GPS locations of the other devices to the social network;
identify other subjects of closer average geographical proximity to the reference person as having a closer social relationship; and
award other subjects the closer social relationship to the reference person a higher subject affinity.
18. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
refine the social relationship based on relationship qualifiers between the reference person and the one of the plurality of other subjects.
19. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
refine the social relationship based on a duration of the friend relationship between the reference person and the one of the plurality of other subjects.
20. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
refine the social relationship based on a frequency of communication occurring between the reference person and the one of the plurality of other subjects.
21. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
refine the social relationship based on a type of communication occurring between the reference person and the one of the plurality of other subjects.
22. The server device of claim 15 wherein the social relationship is non-symmetric between the reference person and the one of the plurality of other subjects.
23. The server device of claim 15 where in order to determine the subject affinity the control system is further operable to:
refine the social relationship based on friend counts of the reference person and the one of the plurality of other subjects.
24. The server device of claim 1 where in order to determine the image affinity the control system is further operable to:
divide the image into zones; and
modify an image affinity score contribution of subjects according to the zones in which faces of the subjects appear.
25. The server device of claim 1 where in order to determine the image affinity the control system is further operable to:
determine a size of a subject face in an image of the plurality of images; and
modify an image affinity score contribution of an other subject corresponding to the subject face according to the size.
26. The server device of claim 25 where in order to determine the size of a subject face the control system is further operable to:
determine an area of a circle enclosing the subject face.
27. A system comprising:
a server device comprising:
a first communication interface operable to communicatively coupling the server device to a display device client; and
a first control system comprising a first processor and a first memory storing first program codes operable to:
obtain social relationship information identifying a social relationship between a reference person and one of a plurality of other subjects that appear in a plurality of images;
determine a subject affinity defining a subject affinity score between the reference person and the one of the plurality of other subjects based on the social relationship information, the plurality of other subjects corresponding to subjects other than the reference person; and
determine an image affinity for each of the plurality of images based on the subject affinity for the one of the plurality of other subjects, each image affinity defining an image affinity score between the reference person and a corresponding one of the plurality of images based on the one of the plurality of other subjects appearing in the one of the plurality of images;
select, by the server device, one or more images based on their image affinities; and
send, to the display device client, image presentation information, the image presentation information comprising one or more image indicators indicating the one or more images; and
the display device client operable to:
obtain information identifying the reference person;
send, to the server device, the information identifying the reference person; and
receive, from the server device, the image presentation information.
28. A method of operating a server device comprising:
using at least a processor and memory for:
obtaining social relationship information identifying a social relationship between a reference person and one of a plurality of other subjects that appear in a plurality of images, the plurality of images associated with the reference person;
determining a subject affinity defining a subject affinity score between the reference person and the one of the plurality of other subjects based on the social relationship information between the reference person and the one of the plurality of other subjects, the plurality of other subjects corresponding to subjects other than the reference person; and
determining an image affinity for each of the plurality of images based on the subject affinity for the one of the plurality of other subjects, each image affinity defining an image affinity score between the reference person and a corresponding one of the plurality of images based on the one of the plurality of other subjects appearing in the one of the plurality of images; and
selecting, by the server device, based on the image affinity for each of the plurality of images, one or more images from the plurality of images.
29. The system of claim 27 further comprising:
a display device comprising:
a second communication interface operable to communicatively couple the display device client to the server device; and
a second control system coupled to the second communication interface comprising a second processor and a second memory storing second program codes operable to:
execute the display device client.
US14/870,303 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction Active US9483697B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/870,303 US9483697B2 (en) 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20778709P 2009-02-17 2009-02-17
US12/703,846 US9210313B1 (en) 2009-02-17 2010-02-11 Display device content selection through viewer identification and affinity prediction
US14/870,303 US9483697B2 (en) 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/703,846 Continuation US9210313B1 (en) 2009-02-17 2010-02-11 Display device content selection through viewer identification and affinity prediction

Publications (2)

Publication Number Publication Date
US20160019414A1 US20160019414A1 (en) 2016-01-21
US9483697B2 true US9483697B2 (en) 2016-11-01

Family

ID=54708463

Family Applications (6)

Application Number Title Priority Date Filing Date
US12/703,846 Active 2032-05-31 US9210313B1 (en) 2009-02-17 2010-02-11 Display device content selection through viewer identification and affinity prediction
US14/870,699 Active 2030-03-12 US9400931B2 (en) 2009-02-17 2015-09-30 Providing subject information regarding upcoming images on a display
US14/870,303 Active US9483697B2 (en) 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction
US14/870,282 Active US10638048B2 (en) 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction
US15/218,222 Active 2030-06-06 US10084964B1 (en) 2009-02-17 2016-07-25 Providing subject information regarding upcoming images on a display
US16/860,640 Active US11196930B1 (en) 2009-02-17 2020-04-28 Display device content selection through viewer identification and affinity prediction

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US12/703,846 Active 2032-05-31 US9210313B1 (en) 2009-02-17 2010-02-11 Display device content selection through viewer identification and affinity prediction
US14/870,699 Active 2030-03-12 US9400931B2 (en) 2009-02-17 2015-09-30 Providing subject information regarding upcoming images on a display

Family Applications After (3)

Application Number Title Priority Date Filing Date
US14/870,282 Active US10638048B2 (en) 2009-02-17 2015-09-30 Display device content selection through viewer identification and affinity prediction
US15/218,222 Active 2030-06-06 US10084964B1 (en) 2009-02-17 2016-07-25 Providing subject information regarding upcoming images on a display
US16/860,640 Active US11196930B1 (en) 2009-02-17 2020-04-28 Display device content selection through viewer identification and affinity prediction

Country Status (1)

Country Link
US (6) US9210313B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496602B2 (en) 2018-06-26 2022-11-08 International Business Machines Corporation Fence computing

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9210313B1 (en) 2009-02-17 2015-12-08 Ikorongo Technology, LLC Display device content selection through viewer identification and affinity prediction
US10706601B2 (en) 2009-02-17 2020-07-07 Ikorongo Technology, LLC Interface for receiving subject affinity information
US10217085B2 (en) * 2009-06-22 2019-02-26 Nokia Technologies Oy Method and apparatus for determining social networking relationships
US9465993B2 (en) 2010-03-01 2016-10-11 Microsoft Technology Licensing, Llc Ranking clusters based on facial image analysis
US9906838B2 (en) * 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US9275269B1 (en) 2012-11-09 2016-03-01 Orbeus, Inc. System, method and apparatus for facial recognition
US11797599B2 (en) 2013-10-10 2023-10-24 Aura Home, Inc. Trend detection in digital photo collections for digital picture frames
US10474407B2 (en) 2013-10-10 2019-11-12 Pushd, Inc. Digital picture frame with automated interactions with viewer and viewer devices
US10824666B2 (en) 2013-10-10 2020-11-03 Aura Home, Inc. Automated routing and display of community photographs in digital picture frames
US10430986B2 (en) * 2013-10-10 2019-10-01 Pushd, Inc. Clustering photographs for display on a digital picture frame
US10820293B2 (en) * 2013-10-10 2020-10-27 Aura Home, Inc. Digital picture frame with improved display of community photographs
US9472166B2 (en) * 2013-10-10 2016-10-18 Pushd, Inc. Automated personalized picture frame method
US20150317511A1 (en) * 2013-11-07 2015-11-05 Orbeus, Inc. System, method and apparatus for performing facial recognition
US9721143B2 (en) * 2014-03-21 2017-08-01 International Business Machines Corporation Modification of visual depictions
US20150317353A1 (en) * 2014-05-02 2015-11-05 At&T Intellectual Property I, L.P. Context and activity-driven playlist modification
US20150346932A1 (en) * 2014-06-03 2015-12-03 Praveen Nuthulapati Methods and systems for snapshotting events with mobile devices
US10417799B2 (en) * 2015-05-07 2019-09-17 Facebook, Inc. Systems and methods for generating and presenting publishable collections of related media content items
EP3101563B1 (en) * 2015-06-05 2018-01-10 Technische Universität Kaiserslautern Automated determination of network motifs
US10372989B2 (en) * 2015-10-30 2019-08-06 Canon Kabushiki Kaisha Control apparatus and control method for determining relation of persons included in an image, and storage medium storing a program therefor
CN105302315A (en) * 2015-11-20 2016-02-03 小米科技有限责任公司 Image processing method and device
US10887509B2 (en) * 2015-12-07 2021-01-05 Facebook, Inc. Systems and methods for dynamically providing layouts based on media content selection
US10043058B2 (en) 2016-03-09 2018-08-07 International Business Machines Corporation Face detection, representation, and recognition
US10026023B2 (en) * 2016-08-11 2018-07-17 International Business Machines Corporation Sentiment based social media comment overlay on image posts
US10218898B2 (en) * 2016-09-09 2019-02-26 International Business Machines Corporation Automated group photograph composition
US10382692B1 (en) * 2016-11-01 2019-08-13 Amazon Technologies, Inc. Digital photo frames with personalized content
US20180186543A1 (en) * 2016-12-29 2018-07-05 Dow Global Technologies Llc Packaging Article with Three-Dimensional Loop Material
US10136049B2 (en) * 2017-01-09 2018-11-20 International Business Machines Corporation System, method and computer program product for contextual focus/zoom of event celebrities
US10387487B1 (en) 2018-01-25 2019-08-20 Ikorongo Technology, LLC Determining images of interest based on a geographical location
US10901687B2 (en) * 2018-02-27 2021-01-26 Dish Network L.L.C. Apparatus, systems and methods for presenting content reviews in a virtual world
US11200591B2 (en) * 2018-05-30 2021-12-14 Paypal, Inc. Electronic content based on neural networks
AU2019343155A1 (en) * 2018-09-21 2021-01-28 Ambient Photonics, Inc. Dye sensitized photovoltaic cells
US11538045B2 (en) 2018-09-28 2022-12-27 Dish Network L.L.C. Apparatus, systems and methods for determining a commentary rating
JP7012628B2 (en) 2018-09-28 2022-01-28 富士フイルム株式会社 Image processing equipment, image processing methods, programs and recording media
US11244162B2 (en) * 2018-10-31 2022-02-08 International Business Machines Corporation Automatic identification of relationships between a center of attention and other individuals/objects present in an image or video
US20220256245A1 (en) * 2019-05-23 2022-08-11 Lg Electronics Inc. Display device
US11381710B2 (en) 2019-09-13 2022-07-05 International Business Machines Corporation Contextual masking of objects in social photographs
WO2021094822A1 (en) * 2019-11-15 2021-05-20 Aggarwal Raghav Arvindkumar Systems and methods for selective access of a digital content
CN112015926B (en) 2020-08-27 2022-03-04 北京字节跳动网络技术有限公司 Search result display method and device, readable medium and electronic equipment
US11899766B2 (en) * 2021-03-15 2024-02-13 International Business Machines Corporation User authentication using original and modified images
US11564007B1 (en) * 2021-08-24 2023-01-24 Motorola Mobility Llc Electronic device that presents media content on display based on consumer context
US20230283878A1 (en) * 2022-03-07 2023-09-07 Meta Platforms Technologies, Llc Smart Cameras Enabled by Assistant Systems
US11861259B1 (en) 2023-03-06 2024-01-02 Aura Home, Inc. Conversational digital picture frame

Citations (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080255A1 (en) 2000-12-22 2002-06-27 Lichtfuss Hans A. Display device having image acquisition capabilities and method of use thereof
US20020126150A1 (en) 2001-03-07 2002-09-12 Parry Travis J. Wireless updateable digital picture frame
US6526158B1 (en) 1996-09-04 2003-02-25 David A. Goldberg Method and system for obtaining person-specific images in a public venue
US20030063771A1 (en) 2001-10-01 2003-04-03 Morris Robert Paul Network-based photosharing architecture for search and delivery of private images and metadata
US20030063770A1 (en) 2001-10-01 2003-04-03 Hugh Svendsen Network-based photosharing architecture
US20030095152A1 (en) 2001-09-13 2003-05-22 Avery Fong Flat panel digital picture frame
US6591068B1 (en) 2000-10-16 2003-07-08 Disney Enterprises, Inc Method and apparatus for automatic image capture
US6606398B2 (en) 1998-09-30 2003-08-12 Intel Corporation Automatic cataloging of people in digital photographs
US20030161499A1 (en) 2002-02-28 2003-08-28 Hugh Svendsen Automated discovery, assignment, and submission of image metadata to a network-based photosharing service
US20040044725A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. Network of disparate processor-based devices to exchange and display media files
US20040044724A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. Apparatus and methods to exchange menu information among processor-based devices
US20040044723A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. User interface to facilitate exchanging files among processor-based devices
US6745186B1 (en) 2000-08-17 2004-06-01 Eastman Kodak Company Product and method for organizing and searching digital images
US20040174440A1 (en) 1998-08-21 2004-09-09 Sony Corporation Information processing apparatus, information processing method, and medium
US6819783B2 (en) 1996-09-04 2004-11-16 Centerframe, Llc Obtaining person-specific images in a public venue
US20050162711A1 (en) 2004-01-28 2005-07-28 Mustek Systems Inc. Digital picture frame with picture acquisition
US20050171955A1 (en) 2004-01-29 2005-08-04 Yahoo! Inc. System and method of information filtering using measures of affinity of a relationship
US20050280502A1 (en) 2002-09-24 2005-12-22 Bell David A Image recognition
US20060048059A1 (en) 2004-08-26 2006-03-02 Henry Etkin System and method for dynamically generating, maintaining, and growing an online social network
US20060098875A1 (en) 2004-11-05 2006-05-11 Fuji Photo Film Co., Ltd. Image search apparatus for images to be detected, and method of controlling same
US7068309B2 (en) 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US20060140455A1 (en) 2004-12-29 2006-06-29 Gabriel Costache Method and component for image recognition
US20060161867A1 (en) 2003-01-21 2006-07-20 Microsoft Corporation Media frame object visualization system
US20060170669A1 (en) 2002-08-12 2006-08-03 Walker Jay S Digital picture frame and method for editing
US7107605B2 (en) 2000-09-19 2006-09-12 Simple Devices Digital image frame and method for using the same
US20060251338A1 (en) 2005-05-09 2006-11-09 Gokturk Salih B System and method for providing objectified image renderings using recognition information from images
US20070040033A1 (en) 2005-11-18 2007-02-22 Outland Research Digital mirror system with advanced imaging features and hands-free control
US7203367B2 (en) 2000-08-29 2007-04-10 Imageid Ltd. Indexing, storage and retrieval of digital images
US20070118509A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. Collaborative service for suggesting media keywords based on location data
US20070118525A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. System and method for controlling access to assets in a network-based media sharing system using tagging
US20070118508A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. System and method for tagging images based on positional information
US7236960B2 (en) 2002-06-25 2007-06-26 Eastman Kodak Company Software and system for customizing a presentation of digital images
US20070150916A1 (en) 2005-12-28 2007-06-28 James Begole Using sensors to provide feedback on the access of digital content
US7266563B2 (en) 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
US20070291153A1 (en) 2006-06-19 2007-12-20 John Araki Method and apparatus for automatic display of pictures in a digital picture frame
US20080059903A1 (en) 2006-09-06 2008-03-06 Tomomi Kaminaga Image display method, image display apparatus and camera
US20080062283A1 (en) 2005-03-16 2008-03-13 Fuji Photo Film Co., Ltd. Image capturing apparatus, image capturing method, album creating apparatus, album creating method, album creating system and computer readable medium
US20080066360A1 (en) 2006-09-15 2008-03-20 Susan Mary Simon Process and Apparatus for Displaying Audiovisual Content Through Touch-Screen Technology
US20080086511A1 (en) 2006-10-10 2008-04-10 Canon Kabushiki Kaisha Image display controlling apparatus, method of controlling image display, and storage medium
US7376276B2 (en) 2000-08-29 2008-05-20 Imageid Ltd Indexing, storage and retrieval of digital images
US7391886B1 (en) 2008-01-09 2008-06-24 International Business Machines Corporation Digital camera with image tracking system
US20080195962A1 (en) 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US20080279419A1 (en) 2007-05-09 2008-11-13 Redux, Inc. Method and system for determining attraction in online communities
US20080298766A1 (en) 2007-05-29 2008-12-04 Microsoft Corporation Interactive Photo Annotation Based on Face Clustering
US20080310688A1 (en) 2005-02-25 2008-12-18 Youfinder Intellectual Property Licensing Limited Automated Indexing for Distributing Event Photography
US20080317386A1 (en) 2005-12-05 2008-12-25 Microsoft Corporation Playback of Digital Images
US7472134B2 (en) 2000-07-03 2008-12-30 Fujifilm Corporation Image distributing system
US20090063995A1 (en) 2007-08-27 2009-03-05 Samuel Pierce Baron Real Time Online Interaction Platform
US20090080714A1 (en) 2007-09-26 2009-03-26 Kabushiki Kaisha Toshiba Electronic Apparatus and Image Display Control Method of the Electronic Apparatus
US20090112462A1 (en) 2007-10-30 2009-04-30 Eddy Lo Method and apparatus for displaying route guidance list for navigation system
US20090199226A1 (en) 2008-02-04 2009-08-06 Fujifilm Corporation Image display apparatus, display control method, and display control program
US20090216806A1 (en) 2008-02-24 2009-08-27 Allofme Ltd. Digital assets internet timeline aggregation and sharing platform
US20090234815A1 (en) 2006-12-12 2009-09-17 Marco Boerries Open framework for integrating, associating, and interacting with content objects including automatic feed creation
US20090245657A1 (en) 2008-04-01 2009-10-01 Masamichi Osugi Image search apparatus and image processing apparatus
US20090252383A1 (en) 2008-04-02 2009-10-08 Google Inc. Method and Apparatus to Incorporate Automatic Face Recognition in Digital Image Collections
US7619660B2 (en) 2001-10-05 2009-11-17 Hewlett-Packard Development Company, L.P. Automatic photography
US20090292549A1 (en) 2008-05-21 2009-11-26 Honeywell International Inc. Social network construction based on data association
US20100036875A1 (en) 2008-08-07 2010-02-11 Honeywell International Inc. system for automatic social network construction from image data
US20100067027A1 (en) 2008-09-17 2010-03-18 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US7684651B2 (en) 2006-08-23 2010-03-23 Microsoft Corporation Image-based face search
US20100080464A1 (en) 2008-09-30 2010-04-01 Fujitsu Limited Image controller and image control method
US7716157B1 (en) 2006-01-26 2010-05-11 Adobe Systems Incorporated Searching images with extracted objects
US20100125786A1 (en) 2008-11-19 2010-05-20 Sony Corporation Image processing apparatus, image display method, and image display program
US7730130B2 (en) 2005-04-26 2010-06-01 Qurio Holdings, Inc. Automatic creation of bidirectional online album links in a peer-to-peer photo sharing network
US20100142833A1 (en) 2008-12-09 2010-06-10 Canon Kabushiki Kaisha Image selection device and control method thereof
US7739304B2 (en) 2007-02-08 2010-06-15 Yahoo! Inc. Context-based community-driven suggestions for media annotation
US20100150407A1 (en) 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. System and method for matching faces
US20100172550A1 (en) 2009-01-05 2010-07-08 Apple Inc. Organizing images by correlating faces
US20100177938A1 (en) 2009-01-13 2010-07-15 Yahoo! Inc. Media object metadata engine configured to determine relationships between persons
US20100191728A1 (en) 2009-01-23 2010-07-29 James Francis Reilly Method, System Computer Program, and Apparatus for Augmenting Media Based on Proximity Detection
US7783085B2 (en) 2006-05-10 2010-08-24 Aol Inc. Using relevance feedback in face recognition
US20100245535A1 (en) 2009-03-25 2010-09-30 Mauchly J William Combining views of a plurality of cameras for a video conferencing endpoint with a display wall
US20100287592A1 (en) 2009-05-11 2010-11-11 Microsoft Corporation Broadcast social and media navigation system
US20100310135A1 (en) 2003-11-14 2010-12-09 Yasuhiko Nagaoka Method and apparatus for organizing digital media based on face recognition
US20110022529A1 (en) 2009-07-22 2011-01-27 Fernando Barsoba Social network creation using image recognition
US20110038512A1 (en) 2009-08-07 2011-02-17 David Petrou Facial Recognition with Social Network Aiding
US7907755B1 (en) 2006-05-10 2011-03-15 Aol Inc. Detecting facial similarity based on human perception of facial similarity
US7916894B1 (en) 2007-01-29 2011-03-29 Adobe Systems Incorporated Summary of a video using faces
US7933972B1 (en) 2005-09-29 2011-04-26 Qurio Holdings, Inc. Method and system for organizing categories of content in a distributed network
US20110098917A1 (en) 2009-10-28 2011-04-28 Google Inc. Navigation Queries
US20110107369A1 (en) 2006-03-28 2011-05-05 O'brien Christopher J System and method for enabling social browsing of networked time-based media
US7953690B2 (en) 2008-01-25 2011-05-31 Eastman Kodak Company Discovering social relationships from personal photo collections
US7961986B1 (en) 2008-06-30 2011-06-14 Google Inc. Ranking of images and image labels
US20110145719A1 (en) 2009-12-14 2011-06-16 International Business Machines Corporation People recommendation indicator method and apparatus in a social networking site
US7965908B2 (en) 2005-08-18 2011-06-21 Fujifilm Corporation Image searching apparatus, image printing apparatus, print ordering system, over-the-counter printing terminal apparatus, image capturing apparatus, image searching program and method
US20110150340A1 (en) 2009-12-22 2011-06-23 Sony Corporation Information processing device, method, and program
US20110182485A1 (en) 2008-03-20 2011-07-28 Eden Shochat Relationship mapping employing multi-dimensional context including facial recognition
US20110182482A1 (en) 2010-01-27 2011-07-28 Winters Dustin L Method of person identification using social connections
US20110188742A1 (en) 2010-02-02 2011-08-04 Jie Yu Recommending user image to social network groups
US7995806B2 (en) 2007-07-12 2011-08-09 Samsung Electronics Co., Ltd. Digital image processing apparatus, method of controlling the same, and recording medium for storing program for executing the method
US20110211737A1 (en) 2010-03-01 2011-09-01 Microsoft Corporation Event Matching in Social Networks
US20110211736A1 (en) 2010-03-01 2011-09-01 Microsoft Corporation Ranking Based on Facial Image Analysis
US8014572B2 (en) 2007-06-08 2011-09-06 Microsoft Corporation Face annotation framework with partial clustering and interactive labeling
US20110234613A1 (en) 2010-03-25 2011-09-29 Apple Inc. Generating digital media presentation layouts dynamically based on image features
US20110243397A1 (en) 2010-03-30 2011-10-06 Christopher Watkins Searching digital image collections using face recognition
US20110268323A1 (en) 2006-04-07 2011-11-03 Gallagher Andrew C Identifying unique objects in multiple image collections
US8144944B2 (en) 2007-08-14 2012-03-27 Olympus Corporation Image sharing system and method
US20120076367A1 (en) 2010-09-24 2012-03-29 Erick Tseng Auto tagging in geo-social networking system
US20120250951A1 (en) 2011-04-01 2012-10-04 Yahoo! Inc. Adding privacy protection to photo uploading/ tagging in social networks
US20120250950A1 (en) 2011-03-29 2012-10-04 Phaedra Papakipos Face Recognition Based on Spatial and Temporal Proximity
US20120265758A1 (en) 2011-04-14 2012-10-18 Edward Han System and method for gathering, filtering, and displaying content captured at an event
US20120278387A1 (en) 2011-04-29 2012-11-01 David Harry Garcia Automated Event Tagging
US20120275666A1 (en) 2011-04-27 2012-11-01 Yuli Gao System and method for determining co-occurrence groups of images
US20120278395A1 (en) 2011-04-29 2012-11-01 David Harry Garcia Dynamic Tagging Recommendation
US8306284B2 (en) 2005-07-18 2012-11-06 Hysterical Sunset Limited Manually-assisted automated indexing of images using facial recognition
US8315463B2 (en) 2006-11-14 2012-11-20 Eastman Kodak Company User interface for face recognition
US8325999B2 (en) 2009-06-08 2012-12-04 Microsoft Corporation Assisted face recognition tagging
US20120310968A1 (en) 2011-05-31 2012-12-06 Erick Tseng Computer-Vision-Assisted Location Accuracy Augmentation
US8341145B2 (en) 2010-12-20 2012-12-25 Microsoft Corporation Face recognition using social data
US8396265B1 (en) 2012-06-26 2013-03-12 Google Inc. Facial recognition
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US8543454B2 (en) 2011-02-18 2013-09-24 Bluefin Labs, Inc. Generating audience response metrics and ratings from social interest in time-based media
US8731819B2 (en) 2009-06-10 2014-05-20 Ancestralhunt Partners, Llc System and method for the collaborative collection, assignment, visualization, analysis, and modification of probable genealogical relationships based on geo-spatial and temporal proximity

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707185B2 (en) * 2000-10-10 2014-04-22 Addnclick, Inc. Dynamic information management system and method for content delivery and sharing in content-, metadata- and viewer-based, live social networking among users concurrently engaged in the same and/or similar content
US7071842B1 (en) 2002-06-27 2006-07-04 Earthcomber, Llc System and method for locating and notifying a user of a person, place or thing having attributes matching the user's stated preferences
JP3791848B2 (en) 2003-10-28 2006-06-28 松下電器産業株式会社 Image display apparatus, image display system, photographing apparatus, image display method, and program
US7502806B2 (en) * 2004-08-23 2009-03-10 Quiro Holdings, Inc. Method and system for providing image rich web pages from a computer system over a network
US7562056B2 (en) 2004-10-12 2009-07-14 Microsoft Corporation Method and system for learning an attention model for an image
KR100601997B1 (en) * 2004-10-12 2006-07-18 삼성전자주식회사 Method and apparatus for person-based photo clustering in digital photo album, and Person-based digital photo albuming method and apparatus using it
US7716140B1 (en) * 2004-12-31 2010-05-11 Google Inc. Methods and systems for controlling access to relationship information in a social network
US7956905B2 (en) * 2005-02-28 2011-06-07 Fujifilm Corporation Titling apparatus, a titling method, and a machine readable medium storing thereon a computer program for titling
US7760917B2 (en) * 2005-05-09 2010-07-20 Like.Com Computer-implemented method for performing similarity searches
US7669123B2 (en) * 2006-08-11 2010-02-23 Facebook, Inc. Dynamically providing a news feed about a user of a social network
JP4836633B2 (en) * 2006-03-31 2011-12-14 株式会社東芝 Face authentication device, face authentication method, and entrance / exit management device
US9100454B2 (en) 2006-04-07 2015-08-04 Groupon, Inc. Method and system for enabling the creation and maintenance of proximity-related user groups
US7668405B2 (en) * 2006-04-07 2010-02-23 Eastman Kodak Company Forming connections between image collections
JP4310330B2 (en) * 2006-09-26 2009-08-05 キヤノン株式会社 Display control apparatus and display control method
WO2009130693A2 (en) * 2008-04-21 2009-10-29 Mts Investments Inc. System and method for statistical mapping between genetic information and facial image data
CN101609501A (en) * 2008-06-20 2009-12-23 鸿富锦精密工业(深圳)有限公司 Supervisory system and method for supervising thereof
US8204437B1 (en) 2008-08-08 2012-06-19 Srr Patent Holdings, Llc Wireless image distribution system and method
US20100045596A1 (en) * 2008-08-21 2010-02-25 Sony Ericsson Mobile Communications Ab Discreet feature highlighting
US8867779B2 (en) * 2008-08-28 2014-10-21 Microsoft Corporation Image tagging user interface
US9514355B2 (en) 2009-01-05 2016-12-06 Apple Inc. Organizing images by correlating faces
US9210313B1 (en) * 2009-02-17 2015-12-08 Ikorongo Technology, LLC Display device content selection through viewer identification and affinity prediction
US9727312B1 (en) 2009-02-17 2017-08-08 Ikorongo Technology, LLC Providing subject information regarding upcoming images on a display
JP5503921B2 (en) * 2009-08-21 2014-05-28 ソニーモバイルコミュニケーションズ, エービー Information terminal, information terminal information control method and information control program
US8630494B1 (en) 2010-09-01 2014-01-14 Ikorongo Technology, LLC Method and system for sharing image content based on collection proximity
US9195679B1 (en) 2011-08-11 2015-11-24 Ikorongo Technology, LLC Method and system for the contextual display of image tags in a social network
US20130290439A1 (en) 2012-04-27 2013-10-31 Nokia Corporation Method and apparatus for notification and posting at social networks
US9269081B1 (en) 2012-10-12 2016-02-23 Google Inc. Seeding user connections in a social network
CA2902093C (en) 2014-08-28 2023-03-07 Kevin Alan Tussy Facial recognition authentication system including path parameters
US10334158B2 (en) 2014-11-03 2019-06-25 Robert John Gove Autonomous media capturing
WO2017044910A1 (en) 2015-09-10 2017-03-16 I'm In It, Llc Methods, devices, and systems for determining a subset for autonomous sharing of digital media

Patent Citations (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526158B1 (en) 1996-09-04 2003-02-25 David A. Goldberg Method and system for obtaining person-specific images in a public venue
US6819783B2 (en) 1996-09-04 2004-11-16 Centerframe, Llc Obtaining person-specific images in a public venue
US20040174440A1 (en) 1998-08-21 2004-09-09 Sony Corporation Information processing apparatus, information processing method, and medium
US6606398B2 (en) 1998-09-30 2003-08-12 Intel Corporation Automatic cataloging of people in digital photographs
US7472134B2 (en) 2000-07-03 2008-12-30 Fujifilm Corporation Image distributing system
US6745186B1 (en) 2000-08-17 2004-06-01 Eastman Kodak Company Product and method for organizing and searching digital images
US7260587B2 (en) 2000-08-17 2007-08-21 Eastman Kodak Company Method for organizing digital images
US7376276B2 (en) 2000-08-29 2008-05-20 Imageid Ltd Indexing, storage and retrieval of digital images
US7203367B2 (en) 2000-08-29 2007-04-10 Imageid Ltd. Indexing, storage and retrieval of digital images
US7107605B2 (en) 2000-09-19 2006-09-12 Simple Devices Digital image frame and method for using the same
US6591068B1 (en) 2000-10-16 2003-07-08 Disney Enterprises, Inc Method and apparatus for automatic image capture
US7154642B2 (en) 2000-12-22 2006-12-26 Hewlett-Packard Development Company, L.P. Display device having image acquisition capabilities and method of use thereof
US20020080255A1 (en) 2000-12-22 2002-06-27 Lichtfuss Hans A. Display device having image acquisition capabilities and method of use thereof
US20020126150A1 (en) 2001-03-07 2002-09-12 Parry Travis J. Wireless updateable digital picture frame
US20030095152A1 (en) 2001-09-13 2003-05-22 Avery Fong Flat panel digital picture frame
US20030063770A1 (en) 2001-10-01 2003-04-03 Hugh Svendsen Network-based photosharing architecture
US20030063771A1 (en) 2001-10-01 2003-04-03 Morris Robert Paul Network-based photosharing architecture for search and delivery of private images and metadata
US7619660B2 (en) 2001-10-05 2009-11-17 Hewlett-Packard Development Company, L.P. Automatic photography
US7068309B2 (en) 2001-10-09 2006-06-27 Microsoft Corp. Image exchange with image annotation
US7266563B2 (en) 2001-12-28 2007-09-04 Fotomedia Technologies, Llc Specifying, assigning, and maintaining user defined metadata in a network-based photosharing system
US20030161499A1 (en) 2002-02-28 2003-08-28 Hugh Svendsen Automated discovery, assignment, and submission of image metadata to a network-based photosharing service
US7236960B2 (en) 2002-06-25 2007-06-26 Eastman Kodak Company Software and system for customizing a presentation of digital images
US20060170669A1 (en) 2002-08-12 2006-08-03 Walker Jay S Digital picture frame and method for editing
US7426532B2 (en) 2002-08-27 2008-09-16 Intel Corporation Network of disparate processor-based devices to exchange and display media files
US20080189766A1 (en) 2002-08-27 2008-08-07 Bell Cynthia S User interface to facilitate exchanging files among processor-based devices
US20040044723A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. User interface to facilitate exchanging files among processor-based devices
US7376696B2 (en) 2002-08-27 2008-05-20 Intel Corporation User interface to facilitate exchanging files among processor-based devices
US20040044724A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. Apparatus and methods to exchange menu information among processor-based devices
US20040044725A1 (en) 2002-08-27 2004-03-04 Bell Cynthia S. Network of disparate processor-based devices to exchange and display media files
US20050280502A1 (en) 2002-09-24 2005-12-22 Bell David A Image recognition
US20060161867A1 (en) 2003-01-21 2006-07-20 Microsoft Corporation Media frame object visualization system
US7561723B2 (en) 2003-02-06 2009-07-14 Youfinder Intellectual Property Licensing Limited Liability Company Obtaining person-specific images in a public venue
US20100310135A1 (en) 2003-11-14 2010-12-09 Yasuhiko Nagaoka Method and apparatus for organizing digital media based on face recognition
US20050162711A1 (en) 2004-01-28 2005-07-28 Mustek Systems Inc. Digital picture frame with picture acquisition
US20050171955A1 (en) 2004-01-29 2005-08-04 Yahoo! Inc. System and method of information filtering using measures of affinity of a relationship
US20060048059A1 (en) 2004-08-26 2006-03-02 Henry Etkin System and method for dynamically generating, maintaining, and growing an online social network
US20060098875A1 (en) 2004-11-05 2006-05-11 Fuji Photo Film Co., Ltd. Image search apparatus for images to be detected, and method of controlling same
US20060140455A1 (en) 2004-12-29 2006-06-29 Gabriel Costache Method and component for image recognition
US20080310688A1 (en) 2005-02-25 2008-12-18 Youfinder Intellectual Property Licensing Limited Automated Indexing for Distributing Event Photography
US20080062283A1 (en) 2005-03-16 2008-03-13 Fuji Photo Film Co., Ltd. Image capturing apparatus, image capturing method, album creating apparatus, album creating method, album creating system and computer readable medium
US7730130B2 (en) 2005-04-26 2010-06-01 Qurio Holdings, Inc. Automatic creation of bidirectional online album links in a peer-to-peer photo sharing network
US20060251338A1 (en) 2005-05-09 2006-11-09 Gokturk Salih B System and method for providing objectified image renderings using recognition information from images
US8306284B2 (en) 2005-07-18 2012-11-06 Hysterical Sunset Limited Manually-assisted automated indexing of images using facial recognition
US7965908B2 (en) 2005-08-18 2011-06-21 Fujifilm Corporation Image searching apparatus, image printing apparatus, print ordering system, over-the-counter printing terminal apparatus, image capturing apparatus, image searching program and method
US7933972B1 (en) 2005-09-29 2011-04-26 Qurio Holdings, Inc. Method and system for organizing categories of content in a distributed network
US20070040033A1 (en) 2005-11-18 2007-02-22 Outland Research Digital mirror system with advanced imaging features and hands-free control
US20070118509A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. Collaborative service for suggesting media keywords based on location data
US20070118508A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. System and method for tagging images based on positional information
US20070118525A1 (en) 2005-11-18 2007-05-24 Flashpoint Technology, Inc. System and method for controlling access to assets in a network-based media sharing system using tagging
US20080317386A1 (en) 2005-12-05 2008-12-25 Microsoft Corporation Playback of Digital Images
US20070150916A1 (en) 2005-12-28 2007-06-28 James Begole Using sensors to provide feedback on the access of digital content
US7716157B1 (en) 2006-01-26 2010-05-11 Adobe Systems Incorporated Searching images with extracted objects
US20110107369A1 (en) 2006-03-28 2011-05-05 O'brien Christopher J System and method for enabling social browsing of networked time-based media
US20110268323A1 (en) 2006-04-07 2011-11-03 Gallagher Andrew C Identifying unique objects in multiple image collections
US7783085B2 (en) 2006-05-10 2010-08-24 Aol Inc. Using relevance feedback in face recognition
US7907755B1 (en) 2006-05-10 2011-03-15 Aol Inc. Detecting facial similarity based on human perception of facial similarity
US8233679B2 (en) 2006-05-10 2012-07-31 Aol Inc. Detecting facial similarity based on human perception of facial similarity
US20070291153A1 (en) 2006-06-19 2007-12-20 John Araki Method and apparatus for automatic display of pictures in a digital picture frame
US8402094B2 (en) 2006-08-11 2013-03-19 Facebook, Inc. Providing a newsfeed based on user affinity for entities and monitored actions in a social network environment
US7860347B2 (en) 2006-08-23 2010-12-28 Microsoft Corporation Image-based face search
US7684651B2 (en) 2006-08-23 2010-03-23 Microsoft Corporation Image-based face search
US20080059903A1 (en) 2006-09-06 2008-03-06 Tomomi Kaminaga Image display method, image display apparatus and camera
US20080066360A1 (en) 2006-09-15 2008-03-20 Susan Mary Simon Process and Apparatus for Displaying Audiovisual Content Through Touch-Screen Technology
US20080086511A1 (en) 2006-10-10 2008-04-10 Canon Kabushiki Kaisha Image display controlling apparatus, method of controlling image display, and storage medium
US8315463B2 (en) 2006-11-14 2012-11-20 Eastman Kodak Company User interface for face recognition
US20090234815A1 (en) 2006-12-12 2009-09-17 Marco Boerries Open framework for integrating, associating, and interacting with content objects including automatic feed creation
US7916894B1 (en) 2007-01-29 2011-03-29 Adobe Systems Incorporated Summary of a video using faces
US7739304B2 (en) 2007-02-08 2010-06-15 Yahoo! Inc. Context-based community-driven suggestions for media annotation
US20080195962A1 (en) 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US20080279419A1 (en) 2007-05-09 2008-11-13 Redux, Inc. Method and system for determining attraction in online communities
US8189880B2 (en) 2007-05-29 2012-05-29 Microsoft Corporation Interactive photo annotation based on face clustering
US20080298766A1 (en) 2007-05-29 2008-12-04 Microsoft Corporation Interactive Photo Annotation Based on Face Clustering
US8014572B2 (en) 2007-06-08 2011-09-06 Microsoft Corporation Face annotation framework with partial clustering and interactive labeling
US7995806B2 (en) 2007-07-12 2011-08-09 Samsung Electronics Co., Ltd. Digital image processing apparatus, method of controlling the same, and recording medium for storing program for executing the method
US8144944B2 (en) 2007-08-14 2012-03-27 Olympus Corporation Image sharing system and method
US20090063995A1 (en) 2007-08-27 2009-03-05 Samuel Pierce Baron Real Time Online Interaction Platform
US20090080714A1 (en) 2007-09-26 2009-03-26 Kabushiki Kaisha Toshiba Electronic Apparatus and Image Display Control Method of the Electronic Apparatus
US20090112462A1 (en) 2007-10-30 2009-04-30 Eddy Lo Method and apparatus for displaying route guidance list for navigation system
US7526106B1 (en) 2008-01-09 2009-04-28 International Business Machines Corporation Method of tracking images captured with a digital camera
US7391886B1 (en) 2008-01-09 2008-06-24 International Business Machines Corporation Digital camera with image tracking system
US7953690B2 (en) 2008-01-25 2011-05-31 Eastman Kodak Company Discovering social relationships from personal photo collections
US20090199226A1 (en) 2008-02-04 2009-08-06 Fujifilm Corporation Image display apparatus, display control method, and display control program
US20090216806A1 (en) 2008-02-24 2009-08-27 Allofme Ltd. Digital assets internet timeline aggregation and sharing platform
US20110182485A1 (en) 2008-03-20 2011-07-28 Eden Shochat Relationship mapping employing multi-dimensional context including facial recognition
US20090245657A1 (en) 2008-04-01 2009-10-01 Masamichi Osugi Image search apparatus and image processing apparatus
US8358811B2 (en) 2008-04-02 2013-01-22 Google Inc. Method and apparatus to incorporate automatic face recognition in digital image collections
US20090252383A1 (en) 2008-04-02 2009-10-08 Google Inc. Method and Apparatus to Incorporate Automatic Face Recognition in Digital Image Collections
US20090292549A1 (en) 2008-05-21 2009-11-26 Honeywell International Inc. Social network construction based on data association
US8284990B2 (en) 2008-05-21 2012-10-09 Honeywell International Inc. Social network construction based on data association
US7961986B1 (en) 2008-06-30 2011-06-14 Google Inc. Ranking of images and image labels
US20100036875A1 (en) 2008-08-07 2010-02-11 Honeywell International Inc. system for automatic social network construction from image data
US20100067027A1 (en) 2008-09-17 2010-03-18 Canon Kabushiki Kaisha Image processing apparatus and image processing method
US20100080464A1 (en) 2008-09-30 2010-04-01 Fujitsu Limited Image controller and image control method
US20100125786A1 (en) 2008-11-19 2010-05-20 Sony Corporation Image processing apparatus, image display method, and image display program
US20100142833A1 (en) 2008-12-09 2010-06-10 Canon Kabushiki Kaisha Image selection device and control method thereof
US20100150407A1 (en) 2008-12-12 2010-06-17 At&T Intellectual Property I, L.P. System and method for matching faces
US20100172550A1 (en) 2009-01-05 2010-07-08 Apple Inc. Organizing images by correlating faces
US20100177938A1 (en) 2009-01-13 2010-07-15 Yahoo! Inc. Media object metadata engine configured to determine relationships between persons
US20100191728A1 (en) 2009-01-23 2010-07-29 James Francis Reilly Method, System Computer Program, and Apparatus for Augmenting Media Based on Proximity Detection
US20100245535A1 (en) 2009-03-25 2010-09-30 Mauchly J William Combining views of a plurality of cameras for a video conferencing endpoint with a display wall
US20100287592A1 (en) 2009-05-11 2010-11-11 Microsoft Corporation Broadcast social and media navigation system
US8325999B2 (en) 2009-06-08 2012-12-04 Microsoft Corporation Assisted face recognition tagging
US8731819B2 (en) 2009-06-10 2014-05-20 Ancestralhunt Partners, Llc System and method for the collaborative collection, assignment, visualization, analysis, and modification of probable genealogical relationships based on geo-spatial and temporal proximity
US20110022529A1 (en) 2009-07-22 2011-01-27 Fernando Barsoba Social network creation using image recognition
US20110038512A1 (en) 2009-08-07 2011-02-17 David Petrou Facial Recognition with Social Network Aiding
US20110098917A1 (en) 2009-10-28 2011-04-28 Google Inc. Navigation Queries
US20110145719A1 (en) 2009-12-14 2011-06-16 International Business Machines Corporation People recommendation indicator method and apparatus in a social networking site
US20110150340A1 (en) 2009-12-22 2011-06-23 Sony Corporation Information processing device, method, and program
US20110182482A1 (en) 2010-01-27 2011-07-28 Winters Dustin L Method of person identification using social connections
US20110188742A1 (en) 2010-02-02 2011-08-04 Jie Yu Recommending user image to social network groups
US20110211736A1 (en) 2010-03-01 2011-09-01 Microsoft Corporation Ranking Based on Facial Image Analysis
US20110211737A1 (en) 2010-03-01 2011-09-01 Microsoft Corporation Event Matching in Social Networks
US20110234613A1 (en) 2010-03-25 2011-09-29 Apple Inc. Generating digital media presentation layouts dynamically based on image features
US20110243397A1 (en) 2010-03-30 2011-10-06 Christopher Watkins Searching digital image collections using face recognition
US20120076367A1 (en) 2010-09-24 2012-03-29 Erick Tseng Auto tagging in geo-social networking system
US8341145B2 (en) 2010-12-20 2012-12-25 Microsoft Corporation Face recognition using social data
US8543454B2 (en) 2011-02-18 2013-09-24 Bluefin Labs, Inc. Generating audience response metrics and ratings from social interest in time-based media
US20120250950A1 (en) 2011-03-29 2012-10-04 Phaedra Papakipos Face Recognition Based on Spatial and Temporal Proximity
US20120250951A1 (en) 2011-04-01 2012-10-04 Yahoo! Inc. Adding privacy protection to photo uploading/ tagging in social networks
US20120265758A1 (en) 2011-04-14 2012-10-18 Edward Han System and method for gathering, filtering, and displaying content captured at an event
US20120275666A1 (en) 2011-04-27 2012-11-01 Yuli Gao System and method for determining co-occurrence groups of images
US20120278395A1 (en) 2011-04-29 2012-11-01 David Harry Garcia Dynamic Tagging Recommendation
US20120278387A1 (en) 2011-04-29 2012-11-01 David Harry Garcia Automated Event Tagging
US20120310968A1 (en) 2011-05-31 2012-12-06 Erick Tseng Computer-Vision-Assisted Location Accuracy Augmentation
US8396265B1 (en) 2012-06-26 2013-03-12 Google Inc. Facial recognition

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
Potts, Ryan P. Office Action for U.S. Appl. No. 12/703,871, dated Jun. 10, 2013, 22 pages.
Potts, Ryan P. Office Action for U.S. Appl. No. 12/703,871, dated Oct. 26, 2012, 27 pages.
Vu, Toan H. Notice of Allowance for U.S. Appl. No. 12/762,698, dated Jul. 1, 2015, 8 pages.
Vu, Toan H. Notice of Allowance for U.S. Appl. No. 12/762,698, dated Jun. 3, 2015, 11 pages.
Vu, Toan H. Office Action for U.S. Appl. No. 12/762,698, dated Apr. 9, 2015, 23 pages.
Vu, Toan H. Office Action for U.S. Appl. No. 12/762,698, dated Aug. 1, 2013, 14 pages.
Vu, Toan H. Office Action for U.S. Appl. No. 12/762,698, dated Aug. 14, 2014, 17 pages.
Vu, Toan H. Office Action for U.S. Appl. No. 12/762,698, dated Aug. 27, 2012, 13 pages.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496602B2 (en) 2018-06-26 2022-11-08 International Business Machines Corporation Fence computing

Also Published As

Publication number Publication date
US9210313B1 (en) 2015-12-08
US20160055379A1 (en) 2016-02-25
US10084964B1 (en) 2018-09-25
US10638048B2 (en) 2020-04-28
US20160019414A1 (en) 2016-01-21
US9400931B2 (en) 2016-07-26
US11196930B1 (en) 2021-12-07
US20160019413A1 (en) 2016-01-21

Similar Documents

Publication Publication Date Title
US11196930B1 (en) Display device content selection through viewer identification and affinity prediction
US10298537B2 (en) Apparatus for sharing image content based on matching
US11936720B2 (en) Sharing digital media assets for presentation within an online social network
CN110446057B (en) Method, device and equipment for providing live auxiliary data and readable medium
US10706094B2 (en) System and method for customizing a display of a user device based on multimedia content element signatures
US20200272643A1 (en) System and Method for User-Behavior Based Content Recommendations
CN104239408B (en) The data access of content based on the image recorded by mobile device
KR20190084278A (en) Automatic suggestions for sharing images
CN102693002A (en) Information processing device, information processing method, and program
WO2021093427A1 (en) Visitor information management method and apparatus, electronic device, and storage medium
US20230268073A1 (en) Inquiry information processing method and apparatus, and medium
CN113743607B (en) Training method of anomaly detection model, anomaly detection method and device
US9727312B1 (en) Providing subject information regarding upcoming images on a display
CN107666515B (en) Image processing method and device, computer equipment, computer readable storage medium
US20200380243A1 (en) Face Quality of Captured Images
WO2013037078A1 (en) Facilitating television based interaction with social networking tools
CN103942243A (en) Display apparatus and method for providing customer-built information using the same
US20140012593A1 (en) Apparatuds and method for lifestyle management based on model
JP2019159537A (en) Image search apparatus, image search method, electronic device and its control method
US10706601B2 (en) Interface for receiving subject affinity information
CN108885637A (en) Personage is mild-natured related
TW201715415A (en) Automatic picture classifying system and method in a dining environment
TWI677833B (en) A system and a method for personalized customization
US20220107966A1 (en) System and method for creating shared experiences networks
CN114117058A (en) Account information determination method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: IKORONGO TECHNOLOGY, LLC, NORTH CAROLINA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 024283 FRAME: 0866. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:SVENDSEN, HUGH BLAKE;REEL/FRAME:044751/0129

Effective date: 20100211

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 4