[go: up one dir, main page]

US20190108186A1 - Processing media items in location-based groups - Google Patents

Processing media items in location-based groups Download PDF

Info

Publication number
US20190108186A1
US20190108186A1 US16/213,606 US201816213606A US2019108186A1 US 20190108186 A1 US20190108186 A1 US 20190108186A1 US 201816213606 A US201816213606 A US 201816213606A US 2019108186 A1 US2019108186 A1 US 2019108186A1
Authority
US
United States
Prior art keywords
media items
media
items
map
region
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.)
Abandoned
Application number
US16/213,606
Inventor
Gregor Hochmuth
Tim Van Damme
Philip McAllister
Kevin Systrom
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.)
Meta Platforms Inc
Original Assignee
Facebook Inc
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 Facebook Inc filed Critical Facebook Inc
Priority to US16/213,606 priority Critical patent/US20190108186A1/en
Publication of US20190108186A1 publication Critical patent/US20190108186A1/en
Assigned to FACEBOOK, INC. reassignment FACEBOOK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VAN DAMME, TIM, HOCHMUTH, GREGOR, MCALLISTER, PHILLIP, Systrom, Kevin
Assigned to META PLATFORMS, INC. reassignment META PLATFORMS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FACEBOOK, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Definitions

  • FIG. 1 is a functional diagram illustrating a programmed computer system for processing media items associated with locations in accordance with some embodiments.
  • FIG. 2 is a system diagram illustrating an embodiment of a platform for managing media items.
  • FIG. 3 is a flowchart illustrating an embodiment of a process for processing a plurality of media items grouped by location.
  • FIG. 4 is a flowchart illustrating an embodiment of a process for processing multiple sets of media items as distinct groups.
  • FIG. 5 illustrates an example of a list of media items to be reviewed and configured according to process 300 .
  • FIG. 6 illustrates an example introductory screen.
  • FIGS. 7-8 illustrate example screens for configuring named locations.
  • FIG. 9 illustrates an example interface screen where two sets of media items associated with two separate unnamed locations are displayed.
  • FIG. 10 illustrates an example interface screen where the user has chosen to add all his photos to his photo map.
  • FIG. 11 illustrates an example interface screen where the user has chosen to display a subset of photos and hide others.
  • FIG. 12 illustrates an example interface screen where the user has chosen to display none of the items to the photo map.
  • the invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor.
  • these implementations, or any other form that the invention may take, may be referred to as techniques.
  • the order of the steps of disclosed processes may be altered within the scope of the invention.
  • a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task.
  • the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
  • Processing a plurality of media items e.g., photos, videos
  • the plurality of media items is obtained.
  • a first media item that defines a first region on a map is selected.
  • the first media item can be selected according to chronological order, popularity, or other appropriate selection criteria.
  • a first set of media items located within the first region is determined.
  • a second media item that defines a second region on the map is selected among media items that are not located within the first region.
  • a second set of media items located within the second region is determined. Additional media items that define additional regions and their corresponding additional sets of media items that are located in respective additional regions are optionally determined.
  • the first and second sets of media items are processed as distinct groups. For example, location names are determined for sets of media items, and items associated with different location names are displayed to the user in separate groups.
  • configuration options are presented to the user at a group-level for setting various processing options. For example, each set of media items can be configured to be visible to or hidden from other users and displayed accordingly.
  • FIG. 1 is a functional diagram illustrating a programmed computer system for processing media items associated with locations in accordance with some embodiments.
  • Computer system 100 which includes various subsystems as described below, includes at least one microprocessor subsystem (also referred to as a processor or a central processing unit (CPU) 102 ).
  • processor 102 can be implemented by a single-chip processor or by multiple processors.
  • processor 102 is a general purpose digital processor that controls the operation of the computer system 100 .
  • processor 102 also includes one or more coprocessors or special purpose processors (e.g., a graphics processor, a network processor, etc.).
  • processor 102 controls the reception and manipulation of input data received on an input device (e.g., image processing device 106 , I/O device interface 104 ), and the output and display of data on output devices (e.g., display 118 ).
  • an input device e.g., image processing device 106 , I/O device interface 104
  • output devices e.g., display 118
  • Processor 102 is coupled bi-directionally with memory 110 , which can include, for example, one or more random access memories (RAM) and/or one or more read-only memories (ROM).
  • memory 110 can be used as a general storage area, a temporary (e.g., scratch pad) memory, and/or a cache memory.
  • Memory 110 can also be used to store input data and processed data, as well as to store programming instructions and data, in the form of data objects and text objects, in addition to other data and instructions for processes operating on processor 102 .
  • memory 110 typically includes basic operating instructions, program code, data, and objects used by the processor 102 to perform its functions (e.g., programmed instructions).
  • memory 110 can include any suitable computer readable storage media described below, depending on whether, for example, data access needs to be bi-directional or uni-directional.
  • processor 102 can also directly and very rapidly retrieve and store frequently needed data in a cache memory included in memory 110 .
  • a removable mass storage device 112 provides additional data storage capacity for the computer system 100 , and is optionally coupled either bi-directionally (read/write) or uni-directionally (read only) to processor 102 .
  • a fixed mass storage 120 can also, for example, provide additional data storage capacity.
  • storage devices 112 and/or 120 can include computer readable media such as magnetic tape, flash memory, PC-CARDS, portable mass storage devices such as hard drives (e.g., magnetic, optical, or solid state drives), holographic storage devices, and other storage devices.
  • Mass storages 112 and/or 120 generally store additional programming instructions, data, and the like that typically are not in active use by the processor 102 . It will be appreciated that the information retained within mass storages 112 and 120 can be incorporated, if needed, in standard fashion as part of memory 110 (e.g., RAM) as virtual memory.
  • bus 114 can be used to provide access to other subsystems and devices as well. As shown, these can include a display 118 , a network interface 116 , an input/output (I/O) device interface 104 , an image processing device 106 , as well as other subsystems and devices.
  • I/O input/output
  • image processing device 106 can include a camera, a scanner, etc.
  • I/O device interface 104 can include a device interface for interacting with a touchscreen (e.g., a capacitive touch sensitive screen that supports gesture interpretation), a microphone, a sound card, a speaker, a keyboard, a pointing device (e.g., a mouse, a stylus, a human finger), a Global Positioning System (GPS) receiver, an accelerometer, and/or any other appropriate device interfaces for interacting with system 100 .
  • a touchscreen e.g., a capacitive touch sensitive screen that supports gesture interpretation
  • a microphone e.g., a microphone
  • sound card e.g., a sound card
  • speaker e.g., a speaker
  • keyboard e.g., a keyboard
  • a pointing device e.g., a mouse, a stylus, a human finger
  • GPS Global Positioning System
  • accelerometer e.g., a Global
  • the I/O device interface can include general and customized interfaces that allow the processor 102 to send and, more typically, receive data from other devices such as keyboards, pointing devices, microphones, touchscreens, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers.
  • other devices such as keyboards, pointing devices, microphones, touchscreens, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers.
  • the network interface 116 allows processor 102 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown.
  • the processor 102 can receive information (e.g., data objects or program instructions) from another network, or output information to another network in the course of performing method/process steps.
  • Information often represented as a sequence of instructions to be executed on a processor can be received from and outputted to another network.
  • An interface card or similar device and appropriate software implemented by (e.g., executed/performed on) processor 102 can be used to connect the computer system 100 to an external network and transfer data according to standard protocols.
  • various process embodiments disclosed herein can be executed on processor 102 , or can be performed across a network such as the Internet, intranet networks, or local area networks, in conjunction with a remote processor that shares a portion of the processing.
  • Additional mass storage devices can also be connected to processor 102 through network interface 116 .
  • various embodiments disclosed herein further relate to computer storage products with a computer readable medium that includes program code for performing various computer-implemented operations.
  • the computer readable medium includes any data storage device that can store data which can thereafter be read by a computer system.
  • Examples of computer readable media include, but are not limited to: magnetic media such as disks and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks; and specially configured hardware devices such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM and RAM devices.
  • Examples of program code include both machine code as produced, for example, by a compiler, or files containing higher level code (e.g., script) that can be executed using an interpreter.
  • the computer system shown in FIG. 1 is but an example of a computer system suitable for use with the various embodiments disclosed herein.
  • Other computer systems suitable for such use can include additional or fewer subsystems.
  • subsystems can share components (e.g., for touchscreen-based devices such as smart phones, tablets, etc., I/O device interface 104 and display 118 share the touch sensitive screen component, which both detect user inputs and display outputs to the user).
  • bus 114 is illustrative of any interconnection scheme serving to link the subsystems.
  • Other computer architectures having different configurations of subsystems can also be utilized.
  • FIG. 2 is a system diagram illustrating an embodiment of a platform for managing media items.
  • client devices such as 202 , 203 , 204 , etc. are connected to a network.
  • client application e.g., a stand-alone application or a browser-based application
  • a user has the ability to review and configure his collection of media items organized in location-based groups.
  • the configuration determines whether the items are to be displayed on a map (referred to as a photo map) and viewable by other users of the platform.
  • media items are stored locally on the devices, which exchange and share content using a peer-to-peer protocol.
  • the devices are used to upload shared media items to a shared storage device 210 (which can be implemented using one or more servers or databases) and exchange the shared data via the shared storage device.
  • FIG. 3 is a flowchart illustrating an embodiment of a process for processing a plurality of media items grouped by location.
  • process 300 is implemented on a device such as 100 .
  • Process 300 can be invoked during an initialization/configuration stage of an application, such as a media management and editing application. It can also be used to reconfigure or reprocess the media items.
  • a plurality of media items is obtained.
  • the plurality of media items can be obtained from a local storage of the device (e.g., from a camera roll application, a directory, or any other appropriate storage location for storing media items locally), or from an external storage location (e.g., from an external drive, a storage device on a network, or any other appropriate location for storing media items externally).
  • a media item includes the original media object/file and associated metadata information, such as location information (e.g., geocode) of the media item.
  • location information e.g., geocode
  • one or more reduced resolution images e.g., thumbnails
  • derived based on the original media object/file are also included as a part of the media item.
  • a first media item is selected.
  • the first media item defines the first region.
  • the first media item can be selected arbitrarily among the plurality of media items, or according to certain selection criteria, such as the most recently acquired media item among the plurality of media items (e.g., the photo that was most recently taken), the most popular media item (e.g., the photo that was most viewed by other users or received the most comments or likes from other users), the most surrounded media item (e.g., the media item that has the highest number of adjacent media items within a predefined distance), the most relevant media item (e.g., the photo that was determined to be most interesting to the user based on the user's actions such as the number of times the user has shared the photo with others on a social networking system), or any other appropriate criteria.
  • the most recently acquired media item among the plurality of media items e.g., the photo that was most recently taken
  • the most popular media item e.g., the photo that was most viewed by other users or received the most comments or
  • the media items are sorted according to the selection criteria (e.g., time, popularity, number of adjacent items, etc.) and the first item in the sorted list is determined to be the first representative media item.
  • the geocode location of the first media item is used to define the first region.
  • the first region is defined as a circle centered at the geocode location, having a predefined radius (e.g., 250 meters in terms of physical distance.) Regions of other size or shape can be used.
  • a first set of media items located within the first region is determined.
  • a number of techniques can be used to make the determination.
  • the distance between the geocode location of each one of the plurality of media items and that of the first representative media item is compared with the predefined radius to determine whether each media item is within the first region.
  • the media items are organized into a quadtree and the first set of media items is located using a quadtree-based query.
  • a second media item that defines a second region on the map is selected among media items that are not located within the first region (in other words, among media items that are not included in the first set.) Similar to the selection of the first media item, the selection of the second media item can also be arbitrary or based on one or more selection criteria such as time, popularity, number of adjacent items, etc.
  • the second media item defines a second region in a manner similar to the way the first media item defines the first region.
  • the second region is also defined as a circle centered at the location of the geocode, having a predefined radius (e.g., 250 meters.) Regions of other size or shape can be defined.
  • a second set of media items located within the second region is determined, using techniques similar to the ones described in step 306 .
  • Steps 308 - 310 can be repeated for any remaining media items that are not included in the previously determined sets to define additional regions.
  • the remaining media items that belong to the additional regions are determined, thus forming additional sets of media items.
  • the first set of media items and the second set of media items are processed as distinct groups.
  • each set of media items is associated with its own properties, and the processing is performed on a set of media items according to its corresponding properties. Two sets of media items with different properties can therefore be processed differently.
  • the processing includes associating the sets of media items with location names, presenting a user with the option of associating each set of media items with its own configuration, receiving user specification of the configurations, and configuring each set according to its respective user specified configuration.
  • two sets of media items corresponding to different regions can be presented to the user as two distinct groups, each with their own options for whether to display or share media items in the group.
  • the user can separately specify configuration options for displaying and/or sharing each set of media items (e.g., sharing one set of media items by making them public and visible to other users while keeping another set private), and the application will display or share each set of media items according to user configurations.
  • Other processing can be performed in other embodiments.
  • the user can specify options for filtering, printing, or other appropriate actions to take on each set of media items.
  • Grouping media items by location and processing them as distinct groups makes it easier for the user to organize and configure the media items, since the user can make a single configuration decision that applies to all the items in a group.
  • a user may take many photos over a large area, but with only a few photos in a particular region. For example, a tourist visiting a city may stop at many scenic spots but only take one or two photos in each spot. In such situations, the resulting sets, which may only include one or two photos, can be too numerous to be useful for the final presentation.
  • each set is required to have at least a predefined threshold number of media items (e.g., a minimum of 3 media items), and any set that does not meet the requirement is put into a pool to be reclassified into new regions.
  • the pool is reprocessed according to steps 302 - 310 . This time, the selected media item defines a new region of greater size (e.g., 50 kilometer in radius) so that each new region (and correspondingly each new set) may include a greater number of media items.
  • FIG. 4 is a flowchart illustrating an embodiment of a process for processing multiple sets of media items as distinct groups.
  • Process 400 can be used to implement 312 of process 300 .
  • a privacy configuration option is discussed extensively below for purposes of example, the technique is also applicable to any other appropriate configuration option such as applying filters or performing other image processing or transformation to the media items.
  • a location name associated with each set of media items is determined.
  • the location name is preferably a human readable alphanumerical string.
  • each media item is potentially associated with a location name according to a geocode to location name mapping.
  • the geocode to location name mapping can be obtained from the media manage application itself or from another application.
  • the media management application may permit the user to enter a corresponding location name (at the time the photo is taken or at a later time of the user's choosing), which is stored as metadata associated with the photo or video.
  • a separate application such as Facebook® presents the user with the option of naming a specific location (e.g., the user's current location provided by the user's GPS-enabled device), or selecting among previously configured names to assign to the specific location.
  • the geocode to location mapping is stored on the device locally and/or over a network, and can be obtained via appropriate API calls supported by the media management application or the third-party application.
  • the specification of a location name with a media item is optional. Until a location name is specified, the location name associated with the media item is set to null.
  • the location names of all the items in the set are obtained (e.g., from a geocode to location mapping database), and the most common non-null location name is used. For example, in a set comprising 10 media items, if 3 items are associated with the name “Joe's Bar,” 1 item is associated with the name “Al's apartment,” and the rest are unnamed, then the most common non-null location name “Joe's Bar” is used as a location name for the set of media items.
  • sets of media items are presented as distinct groups. For example, thumbnails of media items in each set can be displayed together in a list form, along with the associated location name.
  • Configuration options are presented at the group level as well as at the item level of the individual media items. For example, a privacy configuration option allows the user to share or keep hidden a set of media items as a group, where all the media items within the group are configured the same way. In addition, options are also available to share or keep hidden each individual media item within the group.
  • a toggle switch is sometimes used to specify different states of the configuration options (e.g., a box indicating that the group or item is to be shared when checked, and hidden when unchecked.)
  • user-specified configuration options for respective sets of media items including group level configuration specifications and/or item level configuration specifications, are received.
  • media items can be marked individually as shared or hidden, and a group of media items can also be collectively marked as shared or hidden.
  • each set of media items is configured according to a respective user-specified configuration option. For example, if a group of media items is marked as shared, each media item in the group would be available for viewing by other users of the system; if a group of media items are marked as hidden, each media item in the group would not be visible for viewing by other users.
  • an item level configuration specification overrides the group level configuration specification. For example, if the user has specified that a particular group is to be shared (or hidden), but a particular media item within the group is specified to be hidden (or shared), then the particular media item will be marked as hidden (or shared).
  • FIG. 5 illustrates an example of a list of media items to be reviewed and configured according to process 300 .
  • the items in the list are sorted according to their respective timestamps, with the most recent item listed first.
  • Each item is represented using an identifier, a geocode, a thumbnail image, and the corresponding location name. Additional information such as the full size original object/file (or a pointer or reference to the object/file) can be included as well, but are not shown in the example.
  • the information can be stored in multiple tables (for example, a separate table can be used to store geocode to location name mappings), or stored in other data structures such as quadtree.
  • the first 8 items are shown for purposes of example and the list can include additional items.
  • Media items with the IDs of 1, 2, 6, and 7 are located within the first region defined by the first media item, forming a first set of media items.
  • a predefined threshold e.g., 3 items
  • media items with the IDs of 4 and 5 do not belong to any existing region and therefore define additional regions.
  • the remaining media items that belong to the additional regions form additional sets if possible (i.e., if the number of items in a set at least meets the predefined threshold,) or are placed in the pool to be re-processed (i.e., to form sets of media items that belong to regions of greater size).
  • the most common location name associated with each set is determined. For example, if the first media item set includes only media items 1, 2, 6, and 7, the name “The Uptown” would be chosen since it is the most common location name.
  • a quadtree data structure in which each internal node has four children is used to store information about the media items and facilitate the process of grouping items by regions.
  • the quadtree partitions the map space by recursively dividing it into four quadrants or regions.
  • the media items are stored as nodes in the quadtree according to their respective locations.
  • the representation of the media items' locations on a map in a quadtree allows for quick access of items in a particular region on the map, and offers good performance for determining which items are located within a specific region.
  • FIGS. 6-12 are example user interface screens according to an embodiment of location-based media item processing.
  • FIG. 6 illustrates an example introductory screen.
  • the screen is displayed before the user is allowed to proceed with reviewing photos and adding them to a map.
  • the user is informed that he must choose which photos to add to his map, that locations of photos added to his map will be visible to others, and that the user can remove photos from his map at any time.
  • the user is requested to confirm that he understands these issues before he is permitted to proceed further.
  • the application groups the media items according to a process similar to 300 , and presents sets of media items as distinct groups for user configuration.
  • groups of media items are displayed in order, and within each group thumbnails of media items are displayed in a list form.
  • FIGS. 7-8 illustrate example screens for configuring named locations.
  • a group of 39 photos that have geocode locations near a location named “The Uptown” is displayed in a list form. The group name is shown above the listing of the thumbnail images.
  • the user is given the option to check a group-level button 702 to select all items in the group to add the items to the photo map, or uncheck the button to deselect all the items in the group so that none of the items are added to the photo map.
  • the user is also given the option to check an item-level button such as 704 to select an individual item to add to the photo map, or uncheck the button to deselect an individual item to add to the photo map. Since the display size of the screen is limited, only 16 of the 39 photos are displayed initially, and the user can scroll down to review additional photos in the set, and also to review photos in other sets.
  • FIG. 8 illustrates two additional sets of photos associated with the names “The Phoenix Hotel” and “Marin Headlands,” respectively.
  • the group-level button 802 is selected, some of the photos in the group (e.g., 804 ) are deselected and therefore will not be added to the photo map to be displayed.
  • a map region that encompasses all media items in the set is determined (e.g., based on the furthest east, south, west, and north locations of the items), and the interface displays the map region along with the number of items in this map region.
  • FIG. 9 illustrates an example interface screen where two sets of media items associated with two separate unnamed locations are displayed. Similar to the interface for named sets of media items, the interface also provides the user with the option to select/deselect at both the group-level and the item-level.
  • FIG. 10 illustrates an example interface screen where the user has chosen to add all his photos to his photo map. The user is informed of the number of photos to be added to his map and is asked to cancel or confirm.
  • FIG. 11 illustrates an example interface screen where the user has chosen to display a subset of photos and hide others. The user is informed of the number of photos to be added to his map, and that the location data from the photos that he has deselected will be removed (and therefore unavailable for display on the map).
  • FIG. 12 illustrates an example interface screen where the user has chosen to display none of the items to the photo map.
  • the selected items become available for display on a photo map and can be viewed by other users, and the location information associated with unselected items is removed and the unselected items are unavailable for display on the photo map and cannot be viewed by other users.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Processing a plurality of media items that are associated with a respective plurality of locations includes: obtaining the plurality of media items; selecting a first media item that defines a first region on a map; determining a first set of media items that are located within the first region; selecting a second media item that defines a second region on the map, the second media item being selected among media items that are not located within the first region; determining a second set of media items that are located within the second region; and processing the first set of media items and the second set of media items as distinct groups.

Description

    CROSS REFERENCE TO OTHER APPLICATIONS
  • This application is a continuation of co-pending U.S. patent application Ser. No. 15/073,531, entitled PROCESSING MEDIA ITEMS IN LOCATION-BASED GROUPS filed Mar. 17, 2016 which is incorporated herein by reference for all purposes, which is a continuation of U.S. patent application Ser. No. 13/759,948, issued as U.S. Pat. No. 9,323,855, entitled PROCESSING MEDIA ITEMS IN LOCATION-BASED GROUPS filed Feb. 5, 2013 which is incorporated herein by reference for all purposes.
  • BACKGROUND
  • With digital photography gaining popularity, photographers have many choices of photo organizer and image viewer applications. Often, when an application is first installed, a user needs to review and configure existing photos to enable certain features and services, such as a location-based photo map, photo sharing, etc. For example, the user may want to keep photos near certain locations (e.g., home, place of work) private but make photos near certain other locations (e.g., restaurants, parks) public. The existing process of reviewing all the photos together can be time-consuming, especially when the user has a large collection of photos that need to be reviewed and configured. Such burdensome review processes can sometimes discourage the adoption of new applications.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
  • FIG. 1 is a functional diagram illustrating a programmed computer system for processing media items associated with locations in accordance with some embodiments.
  • FIG. 2 is a system diagram illustrating an embodiment of a platform for managing media items.
  • FIG. 3 is a flowchart illustrating an embodiment of a process for processing a plurality of media items grouped by location.
  • FIG. 4 is a flowchart illustrating an embodiment of a process for processing multiple sets of media items as distinct groups.
  • FIG. 5 illustrates an example of a list of media items to be reviewed and configured according to process 300.
  • FIG. 6 illustrates an example introductory screen.
  • FIGS. 7-8 illustrate example screens for configuring named locations.
  • FIG. 9 illustrates an example interface screen where two sets of media items associated with two separate unnamed locations are displayed.
  • FIG. 10 illustrates an example interface screen where the user has chosen to add all his photos to his photo map.
  • FIG. 11 illustrates an example interface screen where the user has chosen to display a subset of photos and hide others.
  • FIG. 12 illustrates an example interface screen where the user has chosen to display none of the items to the photo map.
  • DETAILED DESCRIPTION
  • The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
  • A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
  • Processing a plurality of media items (e.g., photos, videos) that are associated with a respective plurality of locations is disclosed. In some embodiments, the plurality of media items is obtained. A first media item that defines a first region on a map is selected. The first media item can be selected according to chronological order, popularity, or other appropriate selection criteria. A first set of media items located within the first region is determined. A second media item that defines a second region on the map is selected among media items that are not located within the first region. A second set of media items located within the second region is determined. Additional media items that define additional regions and their corresponding additional sets of media items that are located in respective additional regions are optionally determined. The first and second sets of media items (as well as any optional additional sets of media items) are processed as distinct groups. For example, location names are determined for sets of media items, and items associated with different location names are displayed to the user in separate groups. In some embodiments, configuration options are presented to the user at a group-level for setting various processing options. For example, each set of media items can be configured to be visible to or hidden from other users and displayed accordingly.
  • FIG. 1 is a functional diagram illustrating a programmed computer system for processing media items associated with locations in accordance with some embodiments. As will be apparent, other computer system architectures and configurations can be used to perform the described media item processing technique. Computer system 100, which includes various subsystems as described below, includes at least one microprocessor subsystem (also referred to as a processor or a central processing unit (CPU) 102). For example, processor 102 can be implemented by a single-chip processor or by multiple processors. In some embodiments, processor 102 is a general purpose digital processor that controls the operation of the computer system 100. In some embodiments, processor 102 also includes one or more coprocessors or special purpose processors (e.g., a graphics processor, a network processor, etc.). Using instructions retrieved from memory 110, processor 102 controls the reception and manipulation of input data received on an input device (e.g., image processing device 106, I/O device interface 104), and the output and display of data on output devices (e.g., display 118).
  • Processor 102 is coupled bi-directionally with memory 110, which can include, for example, one or more random access memories (RAM) and/or one or more read-only memories (ROM). As is well known in the art, memory 110 can be used as a general storage area, a temporary (e.g., scratch pad) memory, and/or a cache memory. Memory 110 can also be used to store input data and processed data, as well as to store programming instructions and data, in the form of data objects and text objects, in addition to other data and instructions for processes operating on processor 102. Also as is well known in the art, memory 110 typically includes basic operating instructions, program code, data, and objects used by the processor 102 to perform its functions (e.g., programmed instructions). For example, memory 110 can include any suitable computer readable storage media described below, depending on whether, for example, data access needs to be bi-directional or uni-directional. For example, processor 102 can also directly and very rapidly retrieve and store frequently needed data in a cache memory included in memory 110.
  • A removable mass storage device 112 provides additional data storage capacity for the computer system 100, and is optionally coupled either bi-directionally (read/write) or uni-directionally (read only) to processor 102. A fixed mass storage 120 can also, for example, provide additional data storage capacity. For example, storage devices 112 and/or 120 can include computer readable media such as magnetic tape, flash memory, PC-CARDS, portable mass storage devices such as hard drives (e.g., magnetic, optical, or solid state drives), holographic storage devices, and other storage devices. Mass storages 112 and/or 120 generally store additional programming instructions, data, and the like that typically are not in active use by the processor 102. It will be appreciated that the information retained within mass storages 112 and 120 can be incorporated, if needed, in standard fashion as part of memory 110 (e.g., RAM) as virtual memory.
  • In addition to providing processor 102 access to storage subsystems, bus 114 can be used to provide access to other subsystems and devices as well. As shown, these can include a display 118, a network interface 116, an input/output (I/O) device interface 104, an image processing device 106, as well as other subsystems and devices. For example, image processing device 106 can include a camera, a scanner, etc.; I/O device interface 104 can include a device interface for interacting with a touchscreen (e.g., a capacitive touch sensitive screen that supports gesture interpretation), a microphone, a sound card, a speaker, a keyboard, a pointing device (e.g., a mouse, a stylus, a human finger), a Global Positioning System (GPS) receiver, an accelerometer, and/or any other appropriate device interfaces for interacting with system 100. Multiple I/O device interfaces can be used in conjunction with computer system 100. The I/O device interface can include general and customized interfaces that allow the processor 102 to send and, more typically, receive data from other devices such as keyboards, pointing devices, microphones, touchscreens, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers.
  • The network interface 116 allows processor 102 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown. For example, through the network interface 116, the processor 102 can receive information (e.g., data objects or program instructions) from another network, or output information to another network in the course of performing method/process steps. Information, often represented as a sequence of instructions to be executed on a processor can be received from and outputted to another network. An interface card or similar device and appropriate software implemented by (e.g., executed/performed on) processor 102 can be used to connect the computer system 100 to an external network and transfer data according to standard protocols. For example, various process embodiments disclosed herein can be executed on processor 102, or can be performed across a network such as the Internet, intranet networks, or local area networks, in conjunction with a remote processor that shares a portion of the processing. Additional mass storage devices (not shown) can also be connected to processor 102 through network interface 116.
  • In addition, various embodiments disclosed herein further relate to computer storage products with a computer readable medium that includes program code for performing various computer-implemented operations. The computer readable medium includes any data storage device that can store data which can thereafter be read by a computer system. Examples of computer readable media include, but are not limited to: magnetic media such as disks and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks; and specially configured hardware devices such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM and RAM devices. Examples of program code include both machine code as produced, for example, by a compiler, or files containing higher level code (e.g., script) that can be executed using an interpreter.
  • The computer system shown in FIG. 1 is but an example of a computer system suitable for use with the various embodiments disclosed herein. Other computer systems suitable for such use can include additional or fewer subsystems. In some computer systems, subsystems can share components (e.g., for touchscreen-based devices such as smart phones, tablets, etc., I/O device interface 104 and display 118 share the touch sensitive screen component, which both detect user inputs and display outputs to the user). In addition, bus 114 is illustrative of any interconnection scheme serving to link the subsystems. Other computer architectures having different configurations of subsystems can also be utilized.
  • Using a device such as 100, a user can obtain media items stored locally and/or from a networked source, and configure the items. FIG. 2 is a system diagram illustrating an embodiment of a platform for managing media items. In this example, client devices such as 202, 203, 204, etc. are connected to a network. Using a client application (e.g., a stand-alone application or a browser-based application) installed on a client device, a user has the ability to review and configure his collection of media items organized in location-based groups. In some embodiments, the configuration determines whether the items are to be displayed on a map (referred to as a photo map) and viewable by other users of the platform. In some embodiments, media items are stored locally on the devices, which exchange and share content using a peer-to-peer protocol. In some embodiments, the devices are used to upload shared media items to a shared storage device 210 (which can be implemented using one or more servers or databases) and exchange the shared data via the shared storage device.
  • FIG. 3 is a flowchart illustrating an embodiment of a process for processing a plurality of media items grouped by location. In some embodiments, process 300 is implemented on a device such as 100. Process 300 can be invoked during an initialization/configuration stage of an application, such as a media management and editing application. It can also be used to reconfigure or reprocess the media items.
  • At 302, a plurality of media items is obtained. The plurality of media items can be obtained from a local storage of the device (e.g., from a camera roll application, a directory, or any other appropriate storage location for storing media items locally), or from an external storage location (e.g., from an external drive, a storage device on a network, or any other appropriate location for storing media items externally). In some embodiments, a media item includes the original media object/file and associated metadata information, such as location information (e.g., geocode) of the media item. Optionally, one or more reduced resolution images (e.g., thumbnails) derived based on the original media object/file are also included as a part of the media item.
  • At 304, a first media item is selected. The first media item defines the first region. In various embodiments, the first media item can be selected arbitrarily among the plurality of media items, or according to certain selection criteria, such as the most recently acquired media item among the plurality of media items (e.g., the photo that was most recently taken), the most popular media item (e.g., the photo that was most viewed by other users or received the most comments or likes from other users), the most surrounded media item (e.g., the media item that has the highest number of adjacent media items within a predefined distance), the most relevant media item (e.g., the photo that was determined to be most interesting to the user based on the user's actions such as the number of times the user has shared the photo with others on a social networking system), or any other appropriate criteria. In some embodiments, the media items are sorted according to the selection criteria (e.g., time, popularity, number of adjacent items, etc.) and the first item in the sorted list is determined to be the first representative media item. The geocode location of the first media item is used to define the first region. In some embodiments, the first region is defined as a circle centered at the geocode location, having a predefined radius (e.g., 250 meters in terms of physical distance.) Regions of other size or shape can be used.
  • At 306, a first set of media items located within the first region is determined. A number of techniques can be used to make the determination. In some embodiments where the first region is a circle with a predefined radius, the distance between the geocode location of each one of the plurality of media items and that of the first representative media item is compared with the predefined radius to determine whether each media item is within the first region. As will be described in greater detail below, in some embodiments, the media items are organized into a quadtree and the first set of media items is located using a quadtree-based query.
  • At 308, a second media item that defines a second region on the map is selected among media items that are not located within the first region (in other words, among media items that are not included in the first set.) Similar to the selection of the first media item, the selection of the second media item can also be arbitrary or based on one or more selection criteria such as time, popularity, number of adjacent items, etc. The second media item defines a second region in a manner similar to the way the first media item defines the first region. In some embodiments, the second region is also defined as a circle centered at the location of the geocode, having a predefined radius (e.g., 250 meters.) Regions of other size or shape can be defined.
  • At 310, a second set of media items located within the second region is determined, using techniques similar to the ones described in step 306.
  • Steps 308-310 can be repeated for any remaining media items that are not included in the previously determined sets to define additional regions. The remaining media items that belong to the additional regions are determined, thus forming additional sets of media items.
  • At 312, the first set of media items and the second set of media items (as well as any additional sets of media items, if applicable) are processed as distinct groups. In some embodiments, each set of media items is associated with its own properties, and the processing is performed on a set of media items according to its corresponding properties. Two sets of media items with different properties can therefore be processed differently. In some embodiments, the processing includes associating the sets of media items with location names, presenting a user with the option of associating each set of media items with its own configuration, receiving user specification of the configurations, and configuring each set according to its respective user specified configuration. For example, two sets of media items corresponding to different regions can be presented to the user as two distinct groups, each with their own options for whether to display or share media items in the group. The user can separately specify configuration options for displaying and/or sharing each set of media items (e.g., sharing one set of media items by making them public and visible to other users while keeping another set private), and the application will display or share each set of media items according to user configurations. Other processing can be performed in other embodiments. For example, the user can specify options for filtering, printing, or other appropriate actions to take on each set of media items.
  • Grouping media items by location and processing them as distinct groups makes it easier for the user to organize and configure the media items, since the user can make a single configuration decision that applies to all the items in a group. Sometimes a user may take many photos over a large area, but with only a few photos in a particular region. For example, a tourist visiting a city may stop at many scenic spots but only take one or two photos in each spot. In such situations, the resulting sets, which may only include one or two photos, can be too numerous to be useful for the final presentation. Thus, in some embodiments, each set is required to have at least a predefined threshold number of media items (e.g., a minimum of 3 media items), and any set that does not meet the requirement is put into a pool to be reclassified into new regions. In some embodiments, after the media items are processed once and sets having a sufficient number of items are formed, the pool is reprocessed according to steps 302-310. This time, the selected media item defines a new region of greater size (e.g., 50 kilometer in radius) so that each new region (and correspondingly each new set) may include a greater number of media items.
  • FIG. 4 is a flowchart illustrating an embodiment of a process for processing multiple sets of media items as distinct groups. Process 400 can be used to implement 312 of process 300. Although a privacy configuration option is discussed extensively below for purposes of example, the technique is also applicable to any other appropriate configuration option such as applying filters or performing other image processing or transformation to the media items.
  • At 402, a location name associated with each set of media items is determined. The location name is preferably a human readable alphanumerical string.
  • In some embodiments, each media item is potentially associated with a location name according to a geocode to location name mapping. The geocode to location name mapping can be obtained from the media manage application itself or from another application. For example, the media management application may permit the user to enter a corresponding location name (at the time the photo is taken or at a later time of the user's choosing), which is stored as metadata associated with the photo or video. As another example, a separate application such as Facebook® presents the user with the option of naming a specific location (e.g., the user's current location provided by the user's GPS-enabled device), or selecting among previously configured names to assign to the specific location. The geocode to location mapping is stored on the device locally and/or over a network, and can be obtained via appropriate API calls supported by the media management application or the third-party application. In some embodiments, the specification of a location name with a media item is optional. Until a location name is specified, the location name associated with the media item is set to null.
  • To determine the location name associated with a set of media items, the location names of all the items in the set are obtained (e.g., from a geocode to location mapping database), and the most common non-null location name is used. For example, in a set comprising 10 media items, if 3 items are associated with the name “Joe's Bar,” 1 item is associated with the name “Al's apartment,” and the rest are unnamed, then the most common non-null location name “Joe's Bar” is used as a location name for the set of media items.
  • At 404, sets of media items are presented as distinct groups. For example, thumbnails of media items in each set can be displayed together in a list form, along with the associated location name. Configuration options are presented at the group level as well as at the item level of the individual media items. For example, a privacy configuration option allows the user to share or keep hidden a set of media items as a group, where all the media items within the group are configured the same way. In addition, options are also available to share or keep hidden each individual media item within the group. A toggle switch is sometimes used to specify different states of the configuration options (e.g., a box indicating that the group or item is to be shared when checked, and hidden when unchecked.)
  • At 406, user-specified configuration options for respective sets of media items, including group level configuration specifications and/or item level configuration specifications, are received. For example, media items can be marked individually as shared or hidden, and a group of media items can also be collectively marked as shared or hidden.
  • At 408, each set of media items is configured according to a respective user-specified configuration option. For example, if a group of media items is marked as shared, each media item in the group would be available for viewing by other users of the system; if a group of media items are marked as hidden, each media item in the group would not be visible for viewing by other users. In some embodiments, an item level configuration specification overrides the group level configuration specification. For example, if the user has specified that a particular group is to be shared (or hidden), but a particular media item within the group is specified to be hidden (or shared), then the particular media item will be marked as hidden (or shared).
  • FIG. 5 illustrates an example of a list of media items to be reviewed and configured according to process 300. The items in the list are sorted according to their respective timestamps, with the most recent item listed first. Each item is represented using an identifier, a geocode, a thumbnail image, and the corresponding location name. Additional information such as the full size original object/file (or a pointer or reference to the object/file) can be included as well, but are not shown in the example. Although a single table is displayed in this example, in some embodiments, the information can be stored in multiple tables (for example, a separate table can be used to store geocode to location name mappings), or stored in other data structures such as quadtree.
  • According to process 300, a first set of media items is located within the first region defined by the first media item (ID=1). The first 8 items are shown for purposes of example and the list can include additional items. Media items with the IDs of 1, 2, 6, and 7 are located within the first region defined by the first media item, forming a first set of media items. Another media item with the ID of 3, which is not located within the first region, defines a second region. Any media items in the list that are located within the second region are included in the second set of media items, unless the total number of items in the second set is fewer than a predefined threshold (e.g., 3 items), in which case the items in the second set are put into a pool to be further processed. Similarly, media items with the IDs of 4 and 5 do not belong to any existing region and therefore define additional regions. The remaining media items that belong to the additional regions form additional sets if possible (i.e., if the number of items in a set at least meets the predefined threshold,) or are placed in the pool to be re-processed (i.e., to form sets of media items that belong to regions of greater size). Once the media item sets are formed, the most common location name associated with each set is determined. For example, if the first media item set includes only media items 1, 2, 6, and 7, the name “The Uptown” would be chosen since it is the most common location name.
  • In some embodiments, a quadtree data structure in which each internal node has four children is used to store information about the media items and facilitate the process of grouping items by regions. The quadtree partitions the map space by recursively dividing it into four quadrants or regions. The media items are stored as nodes in the quadtree according to their respective locations. The representation of the media items' locations on a map in a quadtree allows for quick access of items in a particular region on the map, and offers good performance for determining which items are located within a specific region.
  • FIGS. 6-12 are example user interface screens according to an embodiment of location-based media item processing.
  • FIG. 6 illustrates an example introductory screen. The screen is displayed before the user is allowed to proceed with reviewing photos and adding them to a map. The user is informed that he must choose which photos to add to his map, that locations of photos added to his map will be visible to others, and that the user can remove photos from his map at any time. The user is requested to confirm that he understands these issues before he is permitted to proceed further.
  • Once the user indicates that he understands the terms, the application groups the media items according to a process similar to 300, and presents sets of media items as distinct groups for user configuration. In some embodiments, groups of media items are displayed in order, and within each group thumbnails of media items are displayed in a list form. FIGS. 7-8 illustrate example screens for configuring named locations. In FIG. 7, a group of 39 photos that have geocode locations near a location named “The Uptown” is displayed in a list form. The group name is shown above the listing of the thumbnail images. The user is given the option to check a group-level button 702 to select all items in the group to add the items to the photo map, or uncheck the button to deselect all the items in the group so that none of the items are added to the photo map. The user is also given the option to check an item-level button such as 704 to select an individual item to add to the photo map, or uncheck the button to deselect an individual item to add to the photo map. Since the display size of the screen is limited, only 16 of the 39 photos are displayed initially, and the user can scroll down to review additional photos in the set, and also to review photos in other sets. FIG. 8 illustrates two additional sets of photos associated with the names “The Phoenix Hotel” and “Marin Headlands,” respectively. Although the group-level button 802 is selected, some of the photos in the group (e.g., 804) are deselected and therefore will not be added to the photo map to be displayed.
  • In some embodiments, for a media item set that is not associated with a location name (e.g., a media item set in which all the items in a set are unnamed), instead of displaying “unnamed” in place of the location name, a map region that encompasses all media items in the set is determined (e.g., based on the furthest east, south, west, and north locations of the items), and the interface displays the map region along with the number of items in this map region. FIG. 9 illustrates an example interface screen where two sets of media items associated with two separate unnamed locations are displayed. Similar to the interface for named sets of media items, the interface also provides the user with the option to select/deselect at both the group-level and the item-level.
  • When the user finishes reviewing the list of media item sets, the items are added to the user's photo map. FIG. 10 illustrates an example interface screen where the user has chosen to add all his photos to his photo map. The user is informed of the number of photos to be added to his map and is asked to cancel or confirm. FIG. 11 illustrates an example interface screen where the user has chosen to display a subset of photos and hide others. The user is informed of the number of photos to be added to his map, and that the location data from the photos that he has deselected will be removed (and therefore unavailable for display on the map). FIG. 12 illustrates an example interface screen where the user has chosen to display none of the items to the photo map. In each case, once the user confirms his desire to proceed, the selected items become available for display on a photo map and can be viewed by other users, and the location information associated with unselected items is removed and the unselected items are unavailable for display on the photo map and cannot be viewed by other users.
  • Grouping media items by location and presenting them to the user in location-based groups for configuration and processing have been described. The technique makes it easier for the user to organize and configure the media items.
  • Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.

Claims (20)

What is claimed is:
1. A method of displaying groups of media items on a map, the method comprising:
obtaining a plurality of media items from a plurality of sources, wherein each media item includes associated location metadata;
determining a first set of media items and a second set of media items, based at least in part on the location metadata of the plurality of media items, wherein the first set of media items is located within a first region on the map and the second set of media items is located within a second region on the map;
processing the first set of media items and the second set of media items as distinct groups, including determining a name for the first set of media items and a name for the second set of media items; and
displaying a representative media item for the first set of media items and a representative media item for the second set of media items on a visible portion of the map.
2. The method of claim 1, further comprising defining the first region using the location is metadata of a media item in the first set of media items.
3. The method of claim 1, further comprising defining the first region using the location metadata of a media item in the first set of media items, wherein the first region is defined as a circle centered on the location of the media item in the first set of media items.
4. The method of claim 1, further comprising reclassifying media items into a new region based at least in part on the number of media items associated with a region being below a threshold.
5. The method of claim 1, further comprising reclassifying media items into a new region based at least in part on the number of media items associated with a region being below a threshold, wherein the new region is of a greater size to encompass a greater number of media items.
6. The method of claim 1, wherein the name for the first set of media items is determined based at least in part on a user-entered name.
7. The method of claim 1, wherein the name for the first set of media items is determined based at least in part on a user-selected name selected from among pre-configured names assigned to a geographical location.
8. The method of claim 1, wherein the name for the first set of media items is determined based at least in part on a most common name used for the media items in the first set.
9. The method of claim 1, wherein media items in the first set of media items are displayed in order.
10. The method of claim 1, wherein the items associated with different names in separate groups on the map are displayed to a plurality of users.
11. The method of claim 1, wherein at least two media items in a set of media items are taken at different times.
12. The method of claim 1, wherein a media item is shared by a user to a user-selected geographical location.
13. The method of claim 1, wherein the displaying media items associated with different is names in separate groups on the map includes presenting an option to a user to select by location to see media items uploaded for the selected location.
14. The method of claim 1, wherein the displaying media items associated with different names in separate groups on the map includes:
initially displaying a representative thumbnail of a set of media items; and
in response to user selection of a group, displaying additional media items in the group.
15. The method of claim 14, wherein the additional media items in the group are displayed in response to a scroll command.
16. The method of claim 1, wherein the plurality of sources include a plurality of user accounts.
17. The method of claim 1, further comprising applying a filter to media items in at least one of the first set of media items and the second set of media items.
18. The method of claim 1, wherein different groups on the map are visually differentiated from each other based on content of a respective group.
19. A system, comprising:
a processor configured to:
obtain a plurality of media items from a plurality of sources, wherein each media item includes associated location metadata;
determine a first set of media items and a second set of media items, based at least in part on the location metadata of the plurality of media items, wherein the first set of media items is located within a first region on the map and the second set of media items is located within a second region on the map;
process the first set of media items and the second set of media items as distinct groups, including determining a name for the first set of media items and a name for the is second set of media items; and
display a representative media item for the first set of media items and a representative media item for the second set of media items on a visible portion of the map; and
a memory coupled to the processor and configured to provide the processor with instructions.
20. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
obtaining a plurality of media items from a plurality of sources, wherein each media item includes associated location metadata;
determining a first set of media items and a second set of media items, based at least in part on the location metadata of the plurality of media items, wherein the first set of media items is located within a first region on the map and the second set of media items is located within a second region on the map;
processing the first set of media items and the second set of media items as distinct groups, including determining a name for the first set of media items and a name for the second set of media items; and
displaying a representative media item for the first set of media items and a representative media item for the second set of media items on a visible portion of the map.
US16/213,606 2013-02-05 2018-12-07 Processing media items in location-based groups Abandoned US20190108186A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/213,606 US20190108186A1 (en) 2013-02-05 2018-12-07 Processing media items in location-based groups

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/759,948 US9323855B2 (en) 2013-02-05 2013-02-05 Processing media items in location-based groups
US15/073,531 US20160203134A1 (en) 2013-02-05 2016-03-17 Processing media items in location-based groups
US16/213,606 US20190108186A1 (en) 2013-02-05 2018-12-07 Processing media items in location-based groups

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/073,531 Continuation US20160203134A1 (en) 2013-02-05 2016-03-17 Processing media items in location-based groups

Publications (1)

Publication Number Publication Date
US20190108186A1 true US20190108186A1 (en) 2019-04-11

Family

ID=51260189

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/759,948 Expired - Fee Related US9323855B2 (en) 2013-02-05 2013-02-05 Processing media items in location-based groups
US15/073,531 Abandoned US20160203134A1 (en) 2013-02-05 2016-03-17 Processing media items in location-based groups
US16/213,606 Abandoned US20190108186A1 (en) 2013-02-05 2018-12-07 Processing media items in location-based groups

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/759,948 Expired - Fee Related US9323855B2 (en) 2013-02-05 2013-02-05 Processing media items in location-based groups
US15/073,531 Abandoned US20160203134A1 (en) 2013-02-05 2016-03-17 Processing media items in location-based groups

Country Status (1)

Country Link
US (3) US9323855B2 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
US8819586B2 (en) * 2011-05-27 2014-08-26 Microsoft Corporation File access with different file hosts
US9552376B2 (en) 2011-06-09 2017-01-24 MemoryWeb, LLC Method and apparatus for managing digital files
US11481091B2 (en) 2013-05-15 2022-10-25 Google Llc Method and apparatus for supporting user interactions with non- designated locations on a digital map
US20170192645A1 (en) * 2015-01-06 2017-07-06 Brad Murray System and method for storing and searching digital media
US20160294890A1 (en) * 2015-03-31 2016-10-06 Facebook, Inc. Multi-user media presentation system
US9916075B2 (en) 2015-06-05 2018-03-13 Apple Inc. Formatting content for a reduced-size user interface
US20160357822A1 (en) * 2015-06-08 2016-12-08 Apple Inc. Using locations to define moments
US10817127B1 (en) * 2015-07-11 2020-10-27 Allscripts Software, Llc Methodologies involving use of avatar for clinical documentation
DK201670608A1 (en) 2016-06-12 2018-01-02 Apple Inc User interfaces for retrieving contextually relevant media content
US20170357644A1 (en) 2016-06-12 2017-12-14 Apple Inc. Notable moments in a collection of digital assets
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
CN109791702B (en) 2016-09-23 2023-09-29 苹果公司 Avatar creation and editing
KR20180064148A (en) * 2016-12-05 2018-06-14 삼성전자주식회사 Electronic apparatus and controlling method thereof
CN116011004A (en) 2018-04-17 2023-04-25 华为技术有限公司 Image processing method and related equipment
US11243996B2 (en) * 2018-05-07 2022-02-08 Apple Inc. Digital asset search user interface
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11086935B2 (en) 2018-05-07 2021-08-10 Apple Inc. Smart updates from historical database changes
US10803135B2 (en) 2018-09-11 2020-10-13 Apple Inc. Techniques for disambiguating clustered occurrence identifiers
US10846343B2 (en) 2018-09-11 2020-11-24 Apple Inc. Techniques for disambiguating clustered location identifiers
US10936178B2 (en) 2019-01-07 2021-03-02 MemoryWeb, LLC Systems and methods for analyzing and organizing digital photos and videos
US11645349B2 (en) * 2020-09-16 2023-05-09 Adobe Inc. Generating location based photo discovery suggestions
US20240013529A1 (en) * 2020-11-09 2024-01-11 Canon U.S.A., Inc. Apparatus and method for culling images
US11886625B1 (en) 2020-12-21 2024-01-30 Apple Inc. Method and device for spatially designating private content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220978A1 (en) * 2006-04-24 2010-09-02 Sony Corproation Image processing device and image processing method
US8660358B1 (en) * 2011-02-18 2014-02-25 Google Inc. Rank-based image piling
US20150154228A1 (en) * 2012-04-26 2015-06-04 Google Inc. Hierarchical spatial clustering of photographs

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20001534A0 (en) * 2000-06-28 2000-06-28 Nokia Mobile Phones Ltd Procedures and systems for arranging, selecting and displaying location information
US7461099B1 (en) * 2000-09-26 2008-12-02 6S, Limited Method and system for archiving and retrieving items based on episodic memory of groups of people
US7149961B2 (en) 2003-04-30 2006-12-12 Hewlett-Packard Development Company, L.P. Automatic generation of presentations from “path-enhanced” multimedia
US7475060B2 (en) * 2003-05-09 2009-01-06 Planeteye Company Ulc Browsing user interface for a geo-coded media database
US7522701B2 (en) * 2005-12-20 2009-04-21 General Electric Company System and method for image composition using position sensors
US8712192B2 (en) * 2006-04-20 2014-04-29 Microsoft Corporation Geo-coding images
US9507778B2 (en) 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
JP4353259B2 (en) * 2007-02-22 2009-10-28 ソニー株式会社 Information processing apparatus, image display apparatus, control method therefor, and program causing computer to execute the method
US8332402B2 (en) * 2007-06-28 2012-12-11 Apple Inc. Location based media items
US7948502B2 (en) * 2008-05-13 2011-05-24 Mitac International Corp. Method of displaying picture having location data and apparatus thereof
US20100171763A1 (en) 2009-01-05 2010-07-08 Apple Inc. Organizing Digital Images Based on Locations of Capture
US8626699B2 (en) * 2009-09-16 2014-01-07 Microsoft Corporation Construction of photo trip patterns based on geographical information
US8743411B2 (en) * 2010-08-30 2014-06-03 Apple Inc. Printed item selection interface
US8584015B2 (en) * 2010-10-19 2013-11-12 Apple Inc. Presenting media content items using geographical data
US20140088861A1 (en) 2011-07-26 2014-03-27 Google Inc. Historical tours
US8880535B1 (en) 2011-11-29 2014-11-04 Google Inc. System and method for selecting user generated content related to a point of interest
US20140040774A1 (en) * 2012-08-01 2014-02-06 Google Inc. Sharing photos in a social network system
US8913152B1 (en) * 2012-09-27 2014-12-16 Google Inc. Techniques for user customization in a photo management system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100220978A1 (en) * 2006-04-24 2010-09-02 Sony Corproation Image processing device and image processing method
US8660358B1 (en) * 2011-02-18 2014-02-25 Google Inc. Rank-based image piling
US20150154228A1 (en) * 2012-04-26 2015-06-04 Google Inc. Hierarchical spatial clustering of photographs

Also Published As

Publication number Publication date
US20160203134A1 (en) 2016-07-14
US9323855B2 (en) 2016-04-26
US20140222809A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
US20190108186A1 (en) Processing media items in location-based groups
US10664510B1 (en) Displaying clusters of media items on a map using representative media items
JP6349031B2 (en) Method and apparatus for recognition and verification of objects represented in images
US20190026313A1 (en) Device, method, and user interface for managing and interacting with media content
AU2015349821B2 (en) Parking identification and availability prediction
US10163173B1 (en) Methods for generating a cover photo with user provided pictures
JP6323465B2 (en) Album creating program, album creating method, and album creating apparatus
US20180101545A1 (en) Dropsite for Shared Content
US9418377B2 (en) System and method for visualizing property based listing on a mobile device
US20140040774A1 (en) Sharing photos in a social network system
US20130007667A1 (en) People centric, cross service, content discovery system
US10430456B2 (en) Automatic grouping based handling of similar photos
CN103645868A (en) Content management user interface that is pervasive across a user's various devices
KR20060046416A (en) User control to dynamically adjust the scope of the data set
JP2012514797A (en) Digital image organization based on capture position
JP2019508826A (en) Masking limited access control system
JP2003298991A (en) Image arranging method and apparatus, and program
KR20140143725A (en) Image correlation method and electronic device therof
KR101497938B1 (en) System, apparatus, method and computer readable recording medium for sharing a photo as the unit of album using a cloud service
WO2019137369A1 (en) Poi retrieving method and device based on geographic locations
US11244487B2 (en) Proactive creation of photo products
US10885095B2 (en) Personalized criteria-based media organization
KR20120087785A (en) Apparatus and method for managing a plurality of albums
CN103902178B (en) A kind of multimedia file processing method and processing device based on android system
KR100563085B1 (en) Composite display method of numerical map and photographic image

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: FACEBOOK, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOCHMUTH, GREGOR;VAN DAMME, TIM;MCALLISTER, PHILLIP;AND OTHERS;SIGNING DATES FROM 20130306 TO 20130313;REEL/FRAME:058532/0012

AS Assignment

Owner name: META PLATFORMS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:059855/0899

Effective date: 20211028