CN113785288A - System and method for generating and sharing content - Google Patents

System and method for generating and sharing content Download PDF

Info

Publication number
CN113785288A
CN113785288A CN202080033015.1A CN202080033015A CN113785288A CN 113785288 A CN113785288 A CN 113785288A CN 202080033015 A CN202080033015 A CN 202080033015A CN 113785288 A CN113785288 A CN 113785288A
Authority
CN
China
Prior art keywords
audio content
content
user
phrase
animation
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.)
Pending
Application number
CN202080033015.1A
Other languages
Chinese (zh)
Inventor
布鲁诺·阿津纳里
奥斯汀·狄龙·乌尔劳布
沟井茂
郑贤禹
杰森·东屋·金
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
Publication of CN113785288A publication Critical patent/CN113785288A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/685Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using automatically derived transcript of audio data, e.g. lyrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • G06F16/447Temporal browsing, e.g. timeline
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/64Browsing; Visualisation therefor
    • 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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • 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/34Indicating arrangements 

Abstract

Systems, methods, and non-transitory computer-readable media may provide an interface for associating at least a portion of selected audio content with visual content to be shared through a content provider system. A text-based scrubber for navigating to different segments of the selected audio content may be provided in the interface, wherein the text-based scrubber allows access to a first segment of the audio content by selecting a first phrase of the audio content, the first phrase corresponding to the first segment.

Description

System and method for generating and sharing content
Cross Reference to Related Applications
Priority is claimed for us application No. 62/846,562 filed on 10/5/2019 and us application No. 16/740,217 filed on 10/1/2020. The contents of U.S. application No. 62/846,562 and U.S. application No. 16/740,217 are incorporated by reference herein in their entirety for all purposes.
Technical Field
The present technology relates to the field of generating and sharing content. More particularly, the present technology relates to techniques for generating content and sharing the content among users of a computerized network system.
Background
Today, people often utilize computing devices (or systems) for a variety of purposes. Users may use their computing devices to, for example, interact with each other, access content, share content, and create content. In some cases, the content item may include a post from a member of the social network. Posts may include text and media content items such as images, video, and audio. The post may be posted to a social network for consumption by others.
SUMMARY
Various embodiments of the present technology may include systems, methods, and non-transitory computer-readable media configured to provide an interface for associating at least a portion of selected audio content with visual content to be shared through a content provider system. A text-based scrub bar (scrubber) for navigating to different segments of the selected audio content may be provided in the interface, wherein the text-based scrub bar allows access to a first segment of the audio content by selecting a first phrase of the audio content, the first phrase corresponding to the first segment.
In an embodiment, a text-based scrub bar allows phrases associated with selected audio content to be scrolled based on touch screen gestures.
In an embodiment, the phrase is associated with a particular timestamp of the selected audio content.
In embodiments, the systems, methods, and non-transitory computer-readable media are configured to provide one or more options to display and animate (simulate) phrases associated with selected audio content based on one or more animation techniques.
In an embodiment, the one or more animation techniques include at least one of a dynamic animation technique, a typewriter animation technique, a cube animation technique, or a karaoke animation technique.
In an embodiment, the dynamic animation technique animates phrases associated with selected audio content individually, wherein words included in the phrases are displayed in different font sizes.
In an embodiment, the typewriter animation technique animates the characters of a given word in a phrase associated with selected audio content as if the characters were being typed using a typewriter.
In an embodiment, the cube animation technique animates phrases within a viewport (viewport) that displays a predefined maximum number of rows per phrase.
In an embodiment, the karaoke animation technique animates phrases within a viewport of a predetermined size, wherein phrases corresponding to audio content that has not yet been played fade into the viewport while phrases corresponding to audio content that has already been played fade out of the viewport.
In embodiments, systems, methods, and non-transitory computer-readable media are configured to provide visual content and a portion of selected audio content associated with the visual content for distribution through a content provider system, wherein the portion of selected music content is played when the visual content is accessed.
It is to be understood that many other features, applications, embodiments and/or variations of the disclosed technology will be apparent from the drawings and from the detailed description that follows. Additional and/or alternative implementations of the structures, systems, non-transitory computer-readable media and methods described herein may be used without departing from the principles of the disclosed technology.
Brief Description of Drawings
FIG. 1 illustrates an example system including an example content generation module in accordance with embodiments of the present technology.
FIG. 2 illustrates an example scrubbing module in accordance with embodiments of the present technology.
FIG. 3 illustrates an example animation module, in accordance with embodiments of the present technology.
4A-4P illustrate example interfaces in accordance with embodiments of the present technology.
FIG. 5 illustrates an example method in accordance with embodiments of the present technology.
FIG. 6 illustrates a network diagram of an example system including an example social-networking system that may be utilized in various scenarios, in accordance with embodiments of the present technology.
FIG. 7 illustrates an example of a computer system or computing device that may be utilized in various scenarios in accordance with embodiments of the present technology.
The figures depict various embodiments of the disclosed technology for purposes of illustration only, where like reference numerals are used to identify like elements. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated in the accompanying drawings may be employed without departing from the principles of the disclosed technology described herein.
Detailed Description
Generating and sharing content
Computing devices (or systems) are often used by people for a variety of purposes. Users may use their computing devices to, for example, interact with each other, access content, share content, and create content. In some cases, the content item may include a post from a member of the social network. Posts may include text and media content items such as images, video, and audio. The post may be posted to a social network for consumption by others.
Under conventional approaches, users may create and share content items through content providers (e.g., social networking systems). In general, a shared (or published) content item may include visual content (e.g., images, videos, looping videos, etc.) and related text. Conventional approaches provide the user with the option of modifying the captured visual content. For example, conventional methods allow a user to modify visual content by applying filters or visual overlays (e.g., labels) that graphically change the visual content. However, conventional methods provide limited options for enhancing visual content with audio content. Such conventional approaches may thus prevent users from adequately expressing themselves using audio content, which may provide additional context for the shared visual content. For example, conventional approaches do not allow a user to easily navigate (or scrub) audio content (e.g., songs) for the purpose of selecting a particular portion of the audio content associated with visual content (e.g., images, videos). In particular, conventional approaches also typically do not allow a user to navigate (or scrub) audio content (e.g., a song) through text (or lyrics) interactions associated with the audio content. Conventional approaches also do not provide the user with the option of displaying and customizing the presentation of lyrics associated with audio content during the presentation of the visual content. Accordingly, such conventional approaches may not effectively address these and other problems found in computer technology.
The improved method of rooting to computer technology overcomes the foregoing and other drawbacks associated with conventional methods that arise particularly in the field of computer technology. In various embodiments, a user of any system through which content is accessible, such as a content provider system or a social networking system, may associate portions of music content with visual content (e.g., images, videos, looping videos), etc.) that is being shared through the social networking system. For example, a user may associate a portion of a song with an image shared through a social networking system. When accessed through a social networking system, the shared images may be presented with an associated portion of the song being played (or rendered), for example, as background music. In various embodiments, the user may be provided with an interface for associating portions of the audio content with visual content to be shared. For example, the interface may include an option for selecting a song. Once a song is selected, the interface may provide a master playback rub strip that may be used to skip to different portions of the song. The interface may also include a precision playback rub bar that may be used to more precisely select the portion of the song that is to be associated with the visual content to be shared. For example, a precision playback rub strip may allow a user to select a particular segment of a song with a higher degree of precision than is possible using the master playback rub strip. In various embodiments, the interface may also include a text-based scrubber that may be used to more precisely select the portion of the song that is to be associated with the visual content. That is, by selecting a set of lyrics associated with a portion of a song, a user may interact with a text-based scrub bar to access the portion of the song. The interface may also allow the user to define the playback duration (or length) of the selected portion of the song. Selected portions of the song may be associated with the shared visual content to produce an audiovisual content item. In various embodiments, when an audiovisual content item is accessed, the interface provides options to display and customize the presentation of lyrics associated with a selected portion of the song. The audiovisual content item may then be shared through the social networking system. A user operating a computing device may access posts referencing shared trial listening content items through a social networking system. In response, the visual content may be presented to the user via the display screen while the associated portion of the song is played via the one or more audio output devices. Further, when the visual content is presented, a set of lyrics corresponding to an associated portion of the song may be displayed and animated. More details regarding the disclosed technology are provided below.
FIG. 1 illustrates an example system 100 including an example content generation module 102 in accordance with embodiments of the present technology. As shown in the example of fig. 1, content generation module 102 may include an interface module 104, a visual content module 106, an audio content module 108, a scrubbing module 110, an animation module 112, and a distribution module 114. In some cases, the example system 100 may include at least one data store 150. The components (e.g., modules, elements, etc.) shown in this figure, as well as all figures herein, are merely exemplary, and other implementations may include additional, fewer, integrated, or different components. Some components may not be shown so as not to obscure the relevant details. The content generation module 102 may be implemented in or by any suitable system through which content may be accessed, such as a content provider system or a social networking system. Although content provider systems or social networking systems are sometimes referred to herein for purposes of illustration, the present techniques may be implemented in or by other types of systems.
In some embodiments, the content generation module 102 may be implemented partially or entirely as software, hardware, or any combination thereof. In general, modules as discussed herein may be associated with software, hardware, or any combination thereof. In some implementations, one or more functions, tasks, and/or operations of a module may be implemented or performed by software routines, software processes, hardware, and/or any combination thereof. In some cases, the content generation module 102, or at least a portion thereof, may be implemented using one or more computing devices or systems including one or more servers (e.g., a web server or a cloud server). In some cases, the content generation module 102 may be implemented partially or entirely within a social networking system (or service), such as social networking system 630 of fig. 6, or may be configured to operate in conjunction with the social networking system (or service). In some cases, the content generation module 102 may be implemented partially or entirely within a client computing device (such as the user device 610 of fig. 6), or may be configured to operate in conjunction with or be integrated with the client computing device. For example, the content generation module 102 may be implemented as or within a dedicated application (e.g., app), program, or applet (applet) running on the user computing device or client computing system. An application containing or implementing instructions for performing some or all of the functionality of the content generation module 102 may be created by a developer. The application may be provided to or maintained in a repository. In some cases, the application may be uploaded or otherwise transmitted to the repository over a network (e.g., the internet). For example, a computing system (e.g., a server) associated with or controlled by a developer of an application may provide or transmit the application to a repository. The repository may include, for example, an "app" store in which applications may be maintained for access or download by users. In response to a command by the user to download the application, the application may be provided or otherwise transmitted from the storage library over the network to a computing device associated with the user. For example, a computing system (e.g., a server) associated with or under the control of an administrator of the repository may cause or allow an application to be transmitted to a user's computing device so that the user may install and run the application. The developer of the application and the manager of the repository may in some cases be different entities, but in other cases may be the same entity.
The content generation module 102 may be configured to communicate with and/or operate with at least one data store 150 (as shown in the example system 100). The at least one data store 150 may be configured to store and maintain various types of data. For example, the data store 150 may store information describing various content that has been published (or shared) by users of the social networking system. In some implementations, the at least one data store 150 may store information associated with a social-networking system (e.g., social-networking system 630 of fig. 6). Information associated with a social networking system may include data about users, social connections, social interactions, positioning, geo-fenced areas, maps, places, events, pages, groups, posts, communications, content, information flows (feeds), account settings, privacy settings, social graphs, and various other types of data. In some implementations, the at least one data store 150 may store information associated with a user, such as a user identifier, user information, profile information, user-specified settings, visual content (such as digital graphical content generated or published by the user), audio content (such as digital copies of music and other audio-based recordings), and various other types of user data.
The interface module 104 may be configured to generate one or more interfaces (e.g., graphical user interfaces) for generating and publishing content items through a content provider system. For example, in some embodiments, the interface module 104 may provide options that allow a user to create and share audiovisual content items that include visual content (e.g., images, videos, live content streams, etc.) and associated audio content (e.g., music, songs, etc.). The interface may also provide options for presenting and animating text (e.g., lyrics) associated with the audio content during presentation of the audiovisual content. Further details regarding the interface will be provided below with reference to fig. 4A-4P.
The visual content module 106 may be configured to provide an option for selecting visual content to be published by a content provider system (e.g., the social networking system 630 of fig. 6). For example, visual content may include images, video, and looping video, for example. The visual content may be accessible through a library of content items stored on the user device or content provider system. The visual content module 106 may also provide the option to capture visual content using a camera in the user device. More details regarding the selection of visual content to be published will be provided below with reference to FIG. 4A.
The audio content module 108 may be configured to provide options for selecting audio content to be associated with the visual content. In general, the audio content may include any type of digital audio content, including music content (such as songs). In various embodiments, the audio content module 108 may generate a song selection interface for selecting songs that have been categorized, for example, based on popularity, mood, genre, language, geography, and artist, as described below with reference to fig. 4C. In some embodiments, the songs included in each category may be ranked based on various criteria. For example, in some embodiments, songs may be ranked for a user based on the user's geographic location. For example, songs that are popular or trending within the user's geographic location may be ranked higher than other songs. In some embodiments, songs may be ranked for a user based on cultural events occurring in the user's geographic location. For example, songs that are relevant to an upcoming holiday in the user's geographic location may be ranked higher than other songs. Many variations are possible. The user may interact with a song selection interface to select songs to be associated with the visual content shared by the user. Once a song is selected, the user may select a particular portion of the audio content to be associated with the visual content, as described below with reference to the scrub module 110.
The scrubbing module 110 may be configured to provide options for navigating (or scrubbing) audio content to be associated with visual content. For example, the scrubbing module 110 may generate a scrubbing interface that features a primary playback scrubbing bar that may be used to jump to a different portion (or segment) of the audio content. The scrubbing interface may also include a precision playback scrub bar that can be used to more precisely select the portion of the audio content that is to be associated with the visual content. In various embodiments, the scrub module 110 may provide a text-based scrub bar that may be used to more precisely select the portion of the audio content that is to be associated with the visual content. That is, by selecting a set of lyrics associated with a portion of a song, a user may interact with a text-based scrub bar to access the portion of the song. More details regarding the scrub module 110 will be provided below with reference to FIG. 2.
The animation module 112 may be configured to provide options for displaying and animating text associated with audio content to be published with video content as an audiovisual content item. For example, the audio content may be a song associated with a video being distributed. In this example, animation module 112 may provide an option to display lyrics associated with the selected portion of the song when the audiovisual content item is accessed. In addition, animation module 112 may provide options to display and animate the lyrics during presentation of the audiovisual content item. Naturally, the text associated with the audio content may vary depending on the type of audio content. For example, instead of lyrics, the text may correspond to a spoken part (spoken part) of a television, movie, or other form of media content. Many variations are possible. More details regarding animation module 112 will be provided below with reference to FIG. 3.
The distribution module 114 may be configured to share content through a content provider system. In some embodiments, the distribution module 114 may provide an option that allows users to send their content to other users as direct messages (direct messages). In some embodiments, distribution module 114 may provide options that allow users to publish their content in one or more content information streams. In some embodiments, distribution module 114 may provide an option that allows users to publish their content as dynamic (store). In such embodiments, each user may have a corresponding dynamic information flow (store feed) in which the user may publish content. When another user accesses one user's dynamic information stream, distribution module 114 may provide the content published in the dynamic information stream to the other user for viewing. In various embodiments, all or some users of the content provider system may access content published in the user dynamic information stream. In some embodiments, content published in a user's dynamic information stream may only be accessible by the user's followers. In some embodiments, the user dynamics expire after a predetermined time interval (e.g., 24 hours). In such embodiments, the content that is dynamically published as in a dynamic information stream is treated as temporary content that becomes inaccessible once a predefined time interval has elapsed. In contrast, content published in a user (or follower) primary content information stream may be considered non-transitory content that remains accessible for longer and/or indefinite periods of time. Many variations are possible.
FIG. 2 illustrates a scrub module 202 in accordance with embodiments of the present technique. The scrubbing module 202 may generate a scrubbing interface (e.g., a graphical user interface) through which a user may select a portion of audio content (e.g., a song) to be associated with visual content shared through the content provider system. In some embodiments, the scrubbing module 110 of FIG. 1 may be implemented with the scrubbing module 202. As shown in the example of fig. 2, the rub module 202 may include a main rub strip module 204, a precision rub strip module 206, a text-based rub strip module 208, and a segment length module 210.
The primary rub strip module 204 may provide a primary playback rub strip that is accessible from the scrubbing interface. In various embodiments, the master playback rub strip may traverse a fixed length strip representing the entire length of the selected audio content (such as a song). The main playback scrub bar can be used to navigate to different portions of the selected song. For example, a user may interact with the main playback scrub bar using touch screen gestures to navigate to different time locations in a song. In some embodiments, when the scrubbing interface is presented, the main playback scrub bar is automatically positioned at the beginning of the selected song. In some embodiments, portions (or segments) of a song may be marked based on various criteria. For example, the portion of the song corresponding to the refrain (chord) may be marked accordingly. In another example, a portion of a song that is often selected by a user of the content provider system may be marked as popular. In such an embodiment, when the scrub interface is presented, the main playback scrub bar may be automatically positioned at the beginning of a certain marked portion (or segment) of the song. Further details regarding the main playback rub strip will be provided below with reference to fig. 4A-4P.
The precision rub strip module 206 may provide a precision playback rub strip that is also accessible from the rub interface. In various embodiments, the precision playback rub strip provides an enlarged representation of the length of the selected song or other type of audio content. For example, in some embodiments, a precision playback scrub bar may allow a user to navigate (or scroll) to any given location of a selected song at selected time intervals (e.g., seconds, half seconds, etc.). Thus, the precision playback rub strip may be used to select the portion of the song to be associated with the visual content with a higher degree of precision than the main playback rub strip may have. For example, a user may interact with a precision playback scrub bar using touch screen gestures to scroll to a particular time of a song. In some embodiments, when the scrub interface is presented, the precision playback scrub bar is automatically positioned at the beginning of the selected song. In some embodiments, when the scrub interface is presented, the precision playback scrub bar is automatically positioned at the beginning of the marker portion of the selected song. For example, the precision playback rub strip may automatically locate the beginning of a segment of a song that is popular with the user, a segment of a song that includes a refrain, or a segment of a song that corresponds to a particular lyric, to name a few. Many variations are possible. Further details regarding the accurate playback of the rub strip will be provided below with reference to fig. 4A-4P.
The text-based rub strip module 208 may provide a text-based rub strip that is also accessible from the rub interface. In various embodiments, the text-based scrub bar module 208 displays text (or lyrics) associated with the selected song or other type of audio content. The user may interact with the displayed lyrics to navigate (or scrub) to a different portion (or segment) of the selected song. For example, a user may want to associate a particular segment of a selected song with the visual content being shared. In this example, rather than relying on a main playback rub strip and an accurate playback rub strip that require the user to audibly locate a particular segment, the user may visually select a set of lyrics corresponding to a particular segment of the selected song to scrub to the particular segment. For example, in some embodiments, each phrase in the lyrics may be associated with a corresponding timestamp in the song. For example, a first lyric phrase "take me to a ball game" may be associated with a first timestamp in a song, while a second lyric phrase "let me refuel, refuel" may be associated with a second timestamp in a song. In this example, when the first lyric phrase is selected, the text-based scrub bar module 208 may advance to a first timestamp in the song that represents the time at which the first lyric phrase started. Similarly, when the second lyric phrase is selected, the text-based scrub bar module 208 may advance to a second timestamp in the song. Thus, the text-based scrubber may be used to visually select portions of a song more accurately than the main playback scrubber and the precision playback scrubber. In various embodiments, a user may interact with a text-based scrub bar using touch screen gestures to scroll through lyrics associated with a song. Many variations are possible. Further details regarding the text-based rub strip will be provided below with reference to fig. 4A-4P.
The segment length module 210 may provide an option to define the playback length (or duration) of the selected portion of the song. For example, in some embodiments, the segment length module 210 may allow the user to define the playback length of a selected portion of a song by selecting an option associated with a predefined length. For example, the user may select an option in the scrubbing interface to specify a playback length between 5 seconds and 15 seconds. In some embodiments, the playback length may be defined by adjusting the length of a precision playback rub strip provided in the scrubbing interface. For example, the user may apply touch screen gestures to increase the length of the precision playback rub strip to select a longer portion of the song. Similarly, the user may apply touch screen gestures to reduce the length of the precision playback rub strip to select a shorter portion of the song. In some embodiments, the options provided by the segment length module 210 may vary depending on the type of visual content being shared. For example, in some embodiments, if the visual content being shared corresponds to an image, the segment length module 210 may provide an option to define a playback length of the selected portion of the song. In this example, the selected portion of the song may then be played for the entire playback length as the image is presented by the content provider system. In some embodiments, if the visual content corresponds to a video, the segment length module 210 automatically defines the playback length of the selected portion of the song based on the length of the video being shared. For example, if the length of the video is 10 seconds, the segment length module 210 may ensure that the length of the selected portion of the song is also 10 seconds. Many variations are possible.
FIG. 3 illustrates an animation module 302 in accordance with embodiments of the technology. In some embodiments, animation module 112 of FIG. 1 may be implemented with animation module 302. As shown in the example of FIG. 3, animation module 302 may include a dynamic animation module 304, a typewriter animation module 306, a cube animation module 308, and a karaoke animation module 310. Animation module 302 may provide an option to display and animate the text (or lyrics) of the selected audio content during presentation of the audiovisual content item. For example, audio content associated with an audiovisual content item may be played while visual content associated with the audiovisual content item is presented. Further, as the audio content is played, text (or lyrics) associated with the audio content may be overlaid in the visual content based on the selected animation technique. In various embodiments, text (or lyrics) displayed and animated with visual content may be resized, repositioned, and reformatted based on various font styles.
The dynamic animation module 304 may be configured to animate text (or lyrics) associated with audio content based on dynamic animation techniques. In various embodiments, dynamic animation module 304 may present the lyrics in the form of one lyric phrase at a time and animate the lyrics. In some embodiments, for each phrase, dynamic animation module 304 may divide the time period corresponding to the phrase in the audio content by the number of words in the phrase. In such embodiments, dynamic animation module 304 may show the phrases word by word, and each word is presented with a proportional time (pro rate time) associated with the word. In addition, dynamic animation module 304 may apply different fonts and font sizes to each animated word, as shown in the examples of FIG. 4H and FIG. 4I.
Typewriter animation module 306 may be configured to animate text (or lyrics) associated with audio content based on typewriter animation techniques. In various embodiments, typewriter animation module 306 may render and animate the lyrics one phrase at a time based on typewriter animation. For example, in some embodiments, typewriter animation module 306 may show each word in the phrase as it is typing. For example, the characters of a given word may be presented sequentially in animation as if the characters were being typed using a typewriter, as shown in the examples of fig. 4J and 4K.
Cube animation module 308 may be configured to animate text (or lyrics) associated with audio content based on cube animation techniques. In various embodiments, the cube animation module 308 may present and animate the lyrics one phrase at a time based on cube exposure animation (cube real animation). For example, in some embodiments, when creating an audiovisual content item, cube animation module 308 may determine a maximum number of lines per lyrical phrase to determine a viewport size. In such embodiments, assuming that each phrase has a certain maximum number of rows (e.g., three rows per phrase), each phrase may be centered within the viewport and displayed on the maximum number of rows, as shown in the examples of fig. 4L and 4M. In some embodiments, when transitioning from displaying the first lyrical phrase to displaying the second lyrical phrase within the viewport, cube animation module 308 may vertically rotate the viewport including the first lyrical phrase along the x-axis and then reveal the second lyrical phrase as the first lyrical phrase is rotated. Many variations are possible.
The karaoke animation module 310 may be configured to animate text (or lyrics) associated with audio content based on karaoke animation techniques. In various embodiments, karaoke animation module 310 may present the lyric phrase while the audio content is being played. The lyric phrase may be shown in a viewport of a predefined size. In some embodiments, when an audio clip corresponding to an activity phrase is played, the activity phrase being played may be highlighted (or otherwise emphasized) so that the user may follow. As playback continues, additional new phrases may fade into the viewport, while phrases corresponding to already played audio content fade out of the viewport, as shown in the example of fig. 4N.
FIG. 4A illustrates an example 400 of an interface 402 that may be implemented by the content generation module 102 in accordance with embodiments of the present technology. In this example, the interface 402 is presented through a display screen of the computing device 404. Further, the interface 402 may be provided by an application (e.g., a web browser, a social networking application, a messenger application, etc.) running on a computing device 404, the computing device 404 configured to interact with a content provider system. In the example of FIG. 4A, the interface 402 is accessing visual content 406 to be published (or shared) by a content provider system. The visual content 406 may be an image, a video, or a looped video, to name a few examples. In some cases, a user operating the computing device 404 may provide the visual content 406 to be published (e.g., from a data store). In some cases, the user may capture visual content 406 through a camera interface using one or more cameras of the computing device 404.
In various embodiments, a user operating computing device 404 may access tab interface 408 to insert a visual overlay (e.g., a tab) in visual content 406, as shown in the example of fig. 4B. In some embodiments, the music tag 410 may be selected to associate portions of the audio content with the visual content 406. For example, when music tab 410 is selected, a song selection interface 412 may be presented, as shown in the example of fig. 4C. The song selection interface 412 may provide one or more lists of songs that may be selected. In some embodiments, song selection interface 412 may include a variety of categories of songs 414 (e.g., pop, mood, genre, etc.). In some embodiments, the songs in each category may be ranked, as described above. In the example of fig. 4C, a user operating computing device 404 may select song 416 to be associated with visual content 406.
After selecting song 416, a scrubbing interface 418 may be displayed, as shown in the example of FIG. 4D. The scrubbing interface 418 may provide a main playback scrubbing bar 420 and a precision playback scrubbing bar 422. The main playback rub strip 420 may be used to skip to a different portion of the song 416. The precision playback rub strip 422 may be used to precisely select a portion of the song 416 to be associated with the visual content 406. In general, the precision playback rub strip 422 may allow a user to select a particular portion of the song 416 with a higher degree of precision than is possible using the main playback rub strip 420. The precision playback rub strip 422 may achieve a higher time granularity threshold level than the main playback rub strip 420. For example, the user may navigate song 416 by applying a touch screen gesture to horizontally scroll the precision playback rub strip 422 to the left or right. In this example, scrolling the precision playback rub strip 422 to the left allows selection of an earlier segment of the song 416, while scrolling the precision playback rub strip 422 to the right allows selection of a later segment of the song 416. In some embodiments, the song 416 is discretized into segments 424 of, for example, one second. In such an embodiment, the precision playback rub strip 422 may be used to scroll through the songs 416 on a second-by-second basis. In some embodiments, the segment of song 416 may be marked, as described above. In such embodiments, the precision playback rub strip 422 may visually indicate when the marked segment of the song 416 was selected. For example, selection of a marked segment of song 416 may be represented by presenting an outer ring corresponding to the precision playback rub strip 422 using a color or color gradient. In the example of fig. 4D, a portion 426 of the song 416 corresponding to the beginning of the refrain may be associated with a refrain mark. Portion 426 may be visually identified, for example, using color or text, as some examples. In some embodiments, the scrubbing interface 418 may provide information 428 identifying the tagged portion 426 as a refrain. In some embodiments, the information 428 may provide lyrics to the song 416 corresponding to the portion of the song 416 selected using the precision playback rub strip 422. In some embodiments, the scrubbing interface 418 includes an option 432 that can be accessed to play a selected portion of a song or to stop (or pause) playback of a selected portion of a song.
In some embodiments, a timestamp 434 may be presented that represents the start time of the selected portion of song 416, as shown in the example of fig. 4E. The timestamp 434 may be updated when the user navigates the song 416 using the main playback rub strip 420 or the precision playback rub strip 422. Generally, the user may scrub to a different portion of song 416 while song 416 is playing or while playback of song 416 is stopped. Further, when the user rubs on a different portion of song 416, playback of song 416 may stop, and when the user stops rubbing, playback may resume from the beginning of the selected portion of song 416. Many variations are possible. In some embodiments, the gradient 436 fills the precision playback rub strip 422 as the selected portion of the song 416 is played, as shown in the example of fig. 4F.
In various embodiments, the scrubbing interface 418 may provide a text (or lyrics) based scrub bar 438, and the scrub bar 438 may be used to skip to a different portion of the song 416, as shown in the example of FIG. 4G. In various embodiments, a text-based scrub bar 438 displays the text (or lyrics) associated with the song 416. The user may interact with the displayed lyrics to navigate (or scrub) to a different portion (or segment) of the song 416. For example, the user may want to associate a particular segment of song 416 with visual content 406. In this example, rather than relying on the main playback rub bar 420 and the precision playback rub bar 422 that require the user to audibly locate a particular segment, the user may instead jump to the particular segment by selecting a set of lyrics corresponding to the particular segment (e.g., by using a touch screen gesture).
In various embodiments, the interface 402 may provide an option to display text (or lyrics) associated with a segment of the song 416 being played. The displayed lyrics may be animated based on some of the animation techniques described with reference to dynamic animation module 304 of FIG. 3. For example, in some embodiments, the lyrics may be animated based on dynamic animation techniques. For example, interface 402 may include an option 440 to select a dynamic animation technique, as shown in FIG. 4H. Once selected, the lyrics 442 associated with the segment of the song 416 being played may be displayed and animated based on dynamic animation techniques. As playback of the song 416 continues, the interface 402 may be updated to display and animate subsequent lyrics 444 (as shown in FIG. 4I).
In some embodiments, the lyrics may be animated based on the typewriter animation techniques described with reference to typewriter animation module 306 of FIG. 3. For example, interface 402 may include an option 446 to select a typewriter animation technique. Once selected, the lyrics 448 associated with the segment of the song 416 being played may be displayed and animated based on typewriter animation techniques, as shown in FIG. 4J. As playback of the song 416 continues, the interface 402 may be updated to display and animate subsequent lyrics 450 based on typewriter animation techniques, as shown in FIG. 4K.
In some embodiments, the lyrics may be animated based on the cube animation techniques described with reference to cube animation module 308 of FIG. 3. For example, interface 402 may include an option 452 to select a cube animation technique. Once selected, the lyrics 454 associated with the segment of the song 416 being played may be displayed and animated based on a cube animation technique, as shown in FIG. 4L. As playback of the song 416 continues, the interface 402 may be updated to display and animate the subsequent lyrics 456 based on cube animation techniques, as shown in FIG. 4M.
In some embodiments, the lyrics may be animated based on the karaoke animation techniques described with reference to karaoke animation module 310 of fig. 3. For example, interface 402 may include an option 458 to select a karaoke animation technique. Once selected, the lyrics 460 associated with the segment of the song 416 being played may be displayed and animated based on a karaoke animation technique, as shown in FIG. 4N. As playback of the song 416 continues, the interface 402 may be updated to display and animate the subsequent lyrics 456 based on karaoke animation techniques.
In some embodiments, the interface 402 may provide an option to insert a tag representing the song 416 being played. For example, in some embodiments, interface 402 includes option 462 to insert a first type of label 464 corresponding to song 416 as an overlay into visual content 406, as shown in fig. 4O. In some embodiments, as shown in fig. 4P, interface 402 includes an option 466 to insert a second type of tag 468 corresponding to song 416 as an overlay into visual content 406. Once the desired portion (or snippet) of song 416 and animation options are selected, the user may select a "done" option 470 to continue publishing the audiovisual content item through the content provider system.
Fig. 5 illustrates an example method 500 in accordance with embodiments of the present technology. It should be appreciated that, within the scope of the various embodiments discussed herein, additional, fewer, or alternative steps may be performed in a similar or alternative order, or in parallel, unless otherwise specified.
At block 502, an interface may be provided for associating at least a portion of the selected audio content with visual content to be shared through the content provider system. At block 504, a text-based scrubber bar may be provided in the interface for navigating to different segments of the selected audio content. The text-based scrub bar allows access to the first segment of the audio content by selecting a first phrase of the audio content that corresponds to the first segment.
It is contemplated that there may be many other uses, applications, and/or variations associated with various embodiments of the present technology. For example, in some cases, a user may choose whether to opt-in to utilize the disclosed techniques. The disclosed techniques may also ensure that various privacy settings and preferences are maintained, and may prevent privacy information from being revealed. In another example, various embodiments of the present technology may learn, improve, and/or be refined over time.
Social networking System-example implementation
Fig. 6 illustrates a network diagram of an example system 600 that can be utilized in various scenarios in accordance with embodiments of the present technology. The system 600 includes one or more user devices 610, one or more external systems 620, a social networking system (or service) 630, and a network 650. In an embodiment, the social networking service, provider, and/or system discussed with respect to the above embodiments may be implemented as a social networking system 630. For illustrative purposes, the embodiment of system 600 shown in fig. 6 includes a single external system 620 and a single user device 610. However, in other embodiments, the system 600 may include more user devices 610 and/or more external systems 620. In some embodiments, the social networking system 630 is operated by a social networking provider, while the external systems 620 are separate from the social networking system 630 in that they may be operated by different entities. In various embodiments, however, the social networking system 630 and the external system 620 operate cooperatively to provide social networking services to users (or members) of the social networking system 630. In this sense, the social networking system 630 provides a platform or backbone that other systems (e.g., external system 620) can use to provide social networking services and functionality to users over the internet.
User device 610 includes one or more computing devices (or systems) that can receive input from a user and transmit and receive data via network 650. In one embodiment, user device 610 is a conventional computer system executing, for example, a Microsoft Windows-compatible Operating System (OS), Apple OS X, and/or a Linux distribution. In another embodiment, user device 610 may be a computing device, or a device with computer functionality, such as a smart phone, a tablet, a Personal Digital Assistant (PDA), a mobile phone, a laptop, a wearable device (e.g., a pair of glasses, a watch, a bracelet, etc.), a camera, a home appliance, and so forth. The user equipment 610 is configured to communicate via a network 650. The user device 610 may execute an application (e.g., a browser application) that allows a user of the user device 610 to interact with the social-networking system 630. In another embodiment, the user device 610 interacts with the social networking system 630 through Application Programming Interfaces (APIs) provided by the native operating systems (e.g., iOS and ANDROID) of the user device 610. User device 610 is configured to communicate with external systems 620 and social-networking system 630 via network 650 using wired and/or wireless communication systems, and network 650 may include any combination of local-area networks and/or wide-area networks.
In one embodiment, network 650 uses standard communication technologies and protocols. Thus, the network 650 may include links using technologies such as Ethernet, 802.11, Worldwide Interoperability for Microwave Access (WiMAX), 3G, 4G, CDMA, GSM, LTE, Digital Subscriber Line (DSL), and so forth. Similarly, network protocols used on network 650 may include multiprotocol label switching (MPLS), transmission control protocol/internet protocol (TCP/IP), User Datagram Protocol (UDP), hypertext transfer protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP), and so forth. Data exchanged over network 650 may be represented using technologies and/or formats including hypertext markup language (HTML) and extensible markup language (XML). In addition, all or some of the links may be encrypted using conventional encryption techniques such as Secure Sockets Layer (SSL), Transport Layer Security (TLS), and internet protocol security (IPsec).
In one embodiment, the user device 610 may display content from the external system 620 and/or from the social-networking system 630 by processing the markup language documents 614 received from the external system 620 and from the social-networking system 630 using the browser application 612. The markup language document 614 identifies content and one or more instructions describing the format or presentation of the content. By executing the instructions included in the markup language document 614, the browser application 612 displays the identified content using the format or presentation described by the markup language document 614. For example, the markup language document 614 includes instructions for generating and displaying a web page having a plurality of frames (frames) that include text and/or image data retrieved from the external system 620 and the social networking system 630. In various embodiments, the markup language document 614 includes a data file that includes extensible markup language (XML) data, extensible hypertext markup language (XHTML) data, or other markup language data. Further, the markup language document 614 can include JavaScript object notation (JSON) data, JSON with fill (jsonp), and JavaScript data to facilitate data exchange between the external system 620 and the user device 610. The browser application 612 on the user device 610 may use a JavaScript compiler to decode the markup language document 614.
Markup language document 614 may also include or be linked to an application or application framework, such as a FLASHTM or UnityTM application, a Silverlight application framework, or the like.
In one embodiment, the user device 610 also includes one or more cookies 616, the cookies 616 including data indicating whether a user of the user device 610 is logged into the social networking system 630, which may enable modification of data communicated from the social networking system 630 to the user device 610.
External system 620 includes one or more web servers including one or more web pages 622a, 622b, which are delivered to user device 610 using network 650. External system 620 is separate from social-networking system 630. For example, external system 620 is associated with a first domain, while social-networking system 630 is associated with a separate social-networking domain. The web pages 622a, 622b included in the external system 620 include markup language documents 614 that identify content and include instructions that specify the format or presentation of the identified content. As previously discussed, it should be understood that many variations or other possibilities are possible.
Social-networking system 630 includes one or more computing devices for a social network (including multiple users) and that provide users of the social network with the ability to communicate and interact with other users of the social network. In some instances, a social network may be represented by a graph (i.e., a data structure including edges and nodes). Other data structures may also be used to represent the social network, including but not limited to databases, objects, classes, meta elements, files, or any other data structure. Social-networking system 630 may be hosted, managed, or controlled by an operator. The operator of the social networking system 630 may be a person, an automation application, or a series of applications for managing content, adjusting policies, and collecting usage metrics within the social networking system 630. Any type of operator may be used.
Users may join the social networking system 630 and then add connections to any number of other users of the social networking system 630 to which they wish to be affiliated. As used herein, the term "friend" refers to any other user of the social-networking system 630 with whom the user forms a connection, association, or relationship via the social-networking system 630. For example, in an embodiment, if a user in social-networking system 630 is represented as a node in a social graph, the term "friend" may refer to an edge formed between and directly connecting two user nodes.
The associations may be added explicitly by the users or may be created automatically by the social-networking system 630 based on common characteristics of the users (e.g., users who are alumni of the same educational institution). For example, the first user specifically selects a particular other user as a friend. The connections in social-networking system 630 are typically in two directions, but need not be, so the terms "user" and "friend" depend on the frame of reference. Associations between users of social-networking system 630 are typically bilateral ("two-way") or "mutual," but associations may also be unilateral or "one-way. For example, if bob and joe are both users of social-networking system 630 and are affiliated with each other, bob and joe are affiliated with each other. On the other hand, if Bob wishes to tie to Joe to view data passed by Joe to social-networking system 630, but Joe does not wish to form an interrelationship, a unilateral connection may be established. The associations between users may be direct associations; however, some embodiments of social-networking system 630 allow for the association to be indirect via one or more levels of association or degree of separation.
In addition to establishing and maintaining connections between users and allowing interactions between users, social-networking system 630 also provides users with the ability to take actions on various types of items supported by social-networking system 630. These items may include groups or networks to which the user of the social networking system 630 may belong (i.e., social networks of people, entities, and concepts), events or calendar entries that may be of interest to the user, computer-based applications that the user may use via the social networking system 630, transactions that allow the user to purchase or sell items via services provided by the social networking system 630 or provided through the social networking system 630, and interactions with advertisements that the user may perform on or off of the social networking system 630. These are just a few examples of items that a user may act on social-networking system 630, and many other items are possible. A user may interact with anything that can be represented in social-networking system 630 or in external system 620, separate from social-networking system 630, or coupled to social-networking system 630 via network 650.
Social-networking system 630 may also be capable of linking various entities. For example, social-networking system 630 enables users to interact with each other and with external systems 620 or other entities through APIs, web services, or other communication channels. Social-networking system 630 generates and maintains a "social graph" that includes a plurality of nodes interconnected by a plurality of edges. Each node in the social graph may represent an entity that may act on and/or be acted upon by another node. The social graph may include various types of nodes. Examples of types of nodes include users, non-personal entities, content items, web pages, groups, activities, messages, concepts, and anything else that may be represented by an object in social-networking system 630. An edge between two nodes in a social graph may represent a particular type of connection or association between the two nodes, which may result from a node relationship or an action performed by one of the nodes on the other node. In some cases, edges between nodes may be weighted. The weight of an edge may represent an attribute associated with the edge, such as the strength of the correlation or association between nodes. Different types of edges may have different weights. For example, an edge created when one user "likes" another user may be given one weight, while an edge created when one user plus another user is a friend (friend) may be given a different weight.
As an example, when a first user identifies a second user as a friend, an edge is generated in the social graph that connects a node representing the first user and a second node representing the second user. As various nodes associate (relate) or interact with each other, social-networking system 630 modifies the edges connecting the various nodes to reflect the relationships and interactions.
Social-networking system 630 also includes user-generated content, which enhances user interaction with social-networking system 630. User-generated content may include any content that a user may add, upload, send, or "post" to social-networking system 630. For example, the user passes the post from the user device 610 to the social networking system 630. Posts may include data (e.g., status updates or other textual data), location information, images (e.g., photos), videos, links, music, or other similar data or media. Content may also be added to social-networking system 630 by a third party. The content "item" is represented as an object in the social networking system 630. In this manner, users of social-networking system 630 are encouraged to communicate with each other by posting text and content items for various types of media via various communication channels. Such communication increases the interaction of users with each other and increases the frequency with which users interact with social-networking system 630.
The social networking system 630 includes a web server 632, an API request server 634, a user profile store 636, a connected store 638, an action recorder 640, an activity log 642, and an authorization server 644. In embodiments of the invention, social-networking system 630 may include additional, fewer, or different components for various applications. Other components (e.g., network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, etc.) are not shown so as not to obscure the details of the system.
The user profile store 636 maintains information about user accounts, including biographical, demographic, and other types of descriptive information, such as work experiences, educational history, hobbies or preferences, location, and information declared by the user or inferred by the social networking system 630, and the like. This information is stored in the user profile store 636 such that each user is uniquely identified. Social-networking system 630 also stores data describing one or more associations between different users in association store 638. The relational information may indicate users with similar or common work experiences, group memberships, hobbies, or educational history. In addition, social-networking system 630 includes user-defined associations between different users, allowing users to specify their relationships with other users. For example, user-defined associations allow a user to generate relationships with other users that are parallel to the user's real-life relationships, such as friends, colleagues, buddies, and so forth. Users may select from predefined types of associations or define their own types of associations as desired. Associations with other nodes in social networking system 630 (e.g., non-personal entities, buckets (buckets), cluster centers, images, interests, pages, external systems, concepts, etc.) are also stored in association store 638.
Social networking system 630 maintains data about objects with which users may interact. To maintain this data, the user profile store 636 and the connected store 638 store instances of objects of the respective types maintained by the social networking system 630. Each object type has an information field adapted to store information appropriate for the type of object. For example, the user profile store 636 contains data structures having fields suitable for describing and information related to the user's account. When a new object of a particular type is created, social-networking system 630 initializes a new data structure of the corresponding type, assigns it a unique object identifier, and begins to add data to the object as needed. This may occur, for example, when a user becomes a user of social-networking system 630, social-networking system 630 generates a new instance of the user's profile in user-profile store 636, assigns a unique identifier to the user's account, and begins populating fields of the user's account with information provided by the user.
The association store 638 includes data structures adapted to describe associations of users with other users, with external systems 620, or with other entities. The affiliation store 638 may also associate affiliation types with affiliations of users, which may be used in conjunction with privacy settings of users to regulate access to information about users. In embodiments of the present invention, the user profile store 636 and the associated store 638 may be implemented as a federated database (Federated database).
The data stored in the connected store 638, the user profile store 636, and the activity log 642 enables the social networking system 630 to generate a social graph that identifies various objects using nodes and identifies relationships between different objects using edges connecting the nodes. For example, if a first user establishes a connection with a second user in the social-networking system 630, the user accounts of the first user and the second user from the user profile store 636 may serve as nodes in the social graph. The associations between the first user and the second user stored by the associations store 638 are edges between nodes associated with the first user and the second user. Continuing with the example, the second user may then send a message to the first user within social-networking system 630. The action of sending the message that may be stored is another edge between two nodes representing the first user and the second user in the social graph. Additionally, the message itself may be identified and included in the social graph as another node that is connected to the nodes representing the first user and the second user.
In another example, the first user may tag the second user in an image maintained by social-networking system 630 (or, alternatively, in an image maintained by another system external to social-networking system 630). The images themselves may be represented as nodes in social-networking system 630. The tagging action may create an edge between the first user and the second user, as well as an edge between each user and an image, which is also a node in the social graph. In yet another example, if the user confirms attending an event, the user and the event are nodes obtained from the user profile store 636, wherein the attendance of the event is an edge between nodes that can be retrieved from the activity log 642. By generating and maintaining a social graph, social-networking system 630 includes data that describes many different types of objects and interactions and associations among those objects, providing a rich source of socially relevant information.
web server 632 links social-networking system 630 to one or more user devices 610 and/or one or more external systems 620 via network 650. Web server 632 provides web pages and other web related content such as Java, JavaScript, Flash, XML, and the like. web server 632 may include a mail server or other messaging functionality for receiving and routing messages between social-networking system 630 and one or more user devices 610. The messages may be instant messages, queued messages (e.g., email), text and SMS messages, or any other suitable message format.
The API request server 634 allows one or more external systems 620 and user devices 610 to invoke access information from the social networking system 630 by calling one or more API functions. The API request server 634 may also allow the external system 620 to send information to the social networking system 630 by calling an API. In one embodiment, external system 620 sends an API request to social-networking system 630 via network 650, and API-request server 634 receives the API request. API request server 634 processes the API request by calling the API associated with the request to generate an appropriate response, which API request server 634 passes to external system 620 via network 650. For example, in response to an API request, API request server 634 collects data associated with a user (e.g., an affiliation of a user who has logged into external system 620) and passes the collected data to external system 620. In another embodiment, the user device 610 communicates with the social networking system 630 via an API in the same manner as the external system 620.
Action recorder 640 can receive communications from web server 632 regarding user actions on and/or off social-networking system 630. The action logger 640 populates the activity log 642 with information about user actions, enabling the social networking system 630 to discover various actions taken by its users within the social networking system 630 and outside of the social networking system 630. Any action taken by a particular user with respect to another node on social-networking system 630 may be associated with each user's account through information maintained in activity log 642 or in a similar database or other data repository. Examples of actions identified and stored to be taken by a user within social-networking system 630 may include, for example, an affiliation added to another user, sending a message to another user, reading a message from another user, viewing content associated with another user, attending an event posted by another user, posting an image, attempting to post an image, or other action interacting with another user or another object. When a user takes an action within the social networking system 630, the action is recorded in the activity log 642. In one embodiment, the social networking system 630 maintains the activity log 642 as a database of entries. When an action is taken within the social networking system 630, an entry for the action is added to the activity log 642. The activity log 642 may be referred to as an action log.
Further, user actions may be associated with concepts and actions that occur within entities external to the social-networking system 630 (e.g., external system 620 separate from the social-networking system 630). For example, action recorder 640 may receive data from web server 632 describing user interactions with external system 620. In this example, the external system 620 reports the user's interactions according to structured actions and objects in the social graph.
Other examples of actions that a user interacts with external system 620 include the user expressing an interest in external system 620 or another entity, the user posting a comment to social-networking system 630 discussing external system 620 or web page 622a within external system 620, the user posting a Uniform Resource Locator (URL) or other identifier associated with external system 620 to social-networking system 630, the user attending an event associated with external system 620, or any other action by the user related to external system 620. Thus, the activity log 642 may include actions that describe interactions between users of the social-networking system 630 and the external systems 620 that are separate from the social-networking system 630.
Authorization server 644 implements one or more privacy settings for users of social-networking system 630. The privacy settings of the user determine how particular information associated with the user may be shared. The privacy settings include specifications of particular information associated with the user and specifications of one or more entities with which the information may be shared. Examples of entities to which information may be shared may include other users, applications, external systems 620, or any entity that may potentially access the information. Information that may be shared by a user includes user account information (e.g., profile photos), phone numbers associated with the user, affiliations of the user, actions taken by the user (e.g., adding affiliations), changing user profile information, and so forth.
The privacy settings specifications may be provided at different levels of granularity. For example, the privacy settings may identify particular information to share with other users; the privacy settings identify a work phone number or a specific set of related information (e.g., personal information including profile photos, home phone numbers, and status). Alternatively, the privacy settings may be applied to all information associated with the user. The specification of the set of entities that may access particular information may also be specified at different levels of granularity. The different groups of entities that information may be shared may include, for example, all friends of the user, all friends of friends, all applications, or all external systems 620. One embodiment allows the specification of the set of entities to include an enumeration of the entities. For example, the user may provide a list of external systems 620 that are allowed to access certain information. Another embodiment allows the specification to include a set of entities and exceptions that are not allowed to access the information. For example, the user may allow all external systems 620 to access the user's work information, but specify a list of external systems 620 that are not allowed to access the work information. Some embodiments refer to the list of exceptions that are not allowed to access certain information as a "blacklist". External systems 620 belonging to a blacklist specified by the user are blocked from accessing information specified in the privacy setting. Various combinations of the granularity of the specification of the information and the granularity of the specification of the entity to which the information is shared are possible. For example, all personal information may be shared with friends, while all work information may be shared with friends of friends.
The authorization server 644 contains logic that determines whether certain information associated with the user is accessible by the user's friends, external systems 620, and/or other applications and entities. The external system 620 may require authorization from the authorization server 644 to access the user's more private and sensitive information, such as the user's work phone number. Based on the user's privacy settings, the authorization server 644 determines whether another user, the external system 620, an application, or another entity is allowed to access information associated with the user, including information about actions taken by the user.
In some embodiments, social-networking system 630 may include a content-generation module. For example, the content generation module may be implemented as some or all of the functionality of the content generation module 102 of fig. 1. In some embodiments, some or all of the functionality of the content generation module 102 of fig. 1 may be provided in the content generation module 618 implemented in the user device 610. As previously discussed, it should be understood that many variations or other possibilities are possible.
Hardware implementation
The foregoing processes and features may be implemented by various machines and computer system architectures, as well as in various network and computing environments. FIG. 7 illustrates an example of a computer system 700 that can be used to implement one or more embodiments described herein, according to an embodiment of the invention. The computer system 700 includes a set of instructions for causing the computer system 700 to perform the processes and features discussed herein. The computer system 700 may be connected (e.g., networked) to other machines. In a networked deployment, the computer system 700 may operate in the capacity of a server machine or a client machine in client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In embodiments of the invention, the computer system 700 may be the social networking system 630, the user device 610, and the external system 720, or components thereof. In embodiments of the invention, computer system 700 may be one server among many servers that make up all or part of social-networking system 630.
Computer system 700 includes a processor 702, a cache 704, and one or more executable modules and drivers stored on computer-readable media directed to the processes and features described herein. In addition, computer system 700 includes a high performance input/output (I/O) bus 706 and a standard I/O bus 708. A host bridge 710 couples processor 702 to high performance I/O bus 706, while I/O bus bridge 712 couples the two buses 706 and 708 to each other. Coupled to high performance I/O bus 706 are system memory 714 and one or more network interfaces 716. The computer system 700 may also include video memory and a display device (not shown) coupled to the video memory. Mass storage devices 718 and I/O ports 720 couple to the standard I/O bus 708. Computer system 700 can optionally include a keyboard and pointing device, display device, or other input/output devices (not shown) coupled to the standard I/O bus 708. Collectively, these elements are intended to represent a broad class of computer hardware systems, including, but not limited to, computer systems based on x86 compatible processors manufactured by intel corporation of Santa Clara, california and x86 compatible processors manufactured by ultra-wei semiconductor (AMD), inc.
The operating system manages and controls the operation of computer system 700, including the input and output of data to and from software applications (not shown). The operating system provides an interface between software applications executing on the system and the hardware components of the system. Any suitable operating system may be used, such as the LINUX operating system, Apple Macintosh operating system available from Apple computer, Inc. of Cupertino, Calif., the UNIX operating system, the Linux operating system, and the Linux operating system,
Figure BDA0003333502950000261
An operating system, a BSD operating system, etc. Other implementations are possible.
The elements of computer system 700 will be described in more detail below. In particular, the network interface 716 provides communication between the computer system 700 and any of a variety of networks, such as an ethernet (e.g., IEEE 802.3) network, a backplane, and the like. Mass storage 718 provides permanent storage of data and programming instructions to perform the above-described processes and features implemented by the respective computing systems identified above, while system memory 714 (e.g., DRAM) provides temporary storage of data and programming instructions when executed by processor 702. I/O ports 720 may be one or more serial and/or parallel communication ports that provide communication between additional peripheral devices that may be coupled to computer system 700.
The computer system 700 may include various system architectures and the various components of the computer system 700 may be rearranged. For example, the cache 704 may be on-chip with the processor 702. Alternatively, the cache 704 and the processor 702 may be packaged together as a "processor module," with the processor 702 being referred to as a "processor core. Moreover, certain embodiments of the present invention may neither require nor include all of the above components. For example, a peripheral device coupled to standard I/O bus 708 may be coupled to high performance I/O bus 706. Furthermore, in some embodiments, there may only be a single bus to which the components of computer system 700 are coupled. Further, computer system 700 may include additional components, such as additional processors, storage devices, or memories.
In general, the processes and features described herein may be implemented as part of an operating system or a specific application, component, program, object, module, or series of instructions referred to as a "program". For example, one or more programs may be used to perform certain processes described herein. The programs generally include one or more instructions in the various memories and storage devices in the computer system 700, which when read and executed by one or more processors, cause the computer system 700 to perform operations to perform the processes and features described herein. The processes and features described herein may be implemented in software, firmware, hardware (e.g., application specific integrated circuits), or any combination thereof.
In one implementation, the processes and features described herein are implemented as a series of executable modules executed separately or together by the computer system 700 in a distributed computing environment. The aforementioned modules may be implemented by hardware, executable modules stored on a computer-readable medium (or machine-readable medium), or a combination of both. For example, a module may comprise a plurality or series of instructions that are executed by a processor in a hardware system, such as processor 702. Initially, the series of instructions may be stored on a storage device (e.g., mass storage 718). However, the series of instructions may be stored on any suitable computer readable storage medium. Further, the series of instructions need not be stored locally, and may be received from a remote storage device (e.g., a server on a network) via the network interface 716. The instructions are copied from the storage device, such as mass storage 718, into system memory 714 and then accessed and executed by processor 702. In various implementations, one or more modules may be executed by one or more processors in one or more locations (e.g., multiple servers in a parallel processing environment).
Examples of computer readable media include but are not limited to recordable type media (e.g., volatile and non-volatile memory devices); a solid-state memory; floppy and other removable disks; a hard disk drive; a magnetic medium; optical disks (e.g., compact disk read-only memory (CDROM), Digital Versatile Disks (DVD)); other similar non-transitory (or transitory), tangible (or non-tangible) storage media; or any type of medium suitable for storing, encoding or carrying a sequence of instructions for execution by computer system 700 to perform any one or more of the processes and features described herein.
For purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present description. It will be apparent, however, to one skilled in the art that embodiments of the present disclosure may be practiced without these specific details. In some instances, modules, structures, processes, features, and devices are shown in block diagram form in order to avoid obscuring the description. In other instances, functional block diagrams and flow diagrams are shown representing data and logic flows. The components of the block diagrams and flowchart illustrations (e.g., modules, blocks, structures, devices, features, etc.) may be combined, separated, removed, reordered, and replaced differently than as explicitly described and depicted herein.
Reference in the specification to "one embodiment," "an embodiment," "other embodiments," "a series of embodiments," "some embodiments," "various embodiments," or the like means that a particular feature, design, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. For example, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Furthermore, various features are described which may be variously combined and included in some embodiments, but may also be variously omitted in other embodiments, whether or not there is an explicit reference to "an embodiment" or the like. Similarly, various features are described which may be preferences or requirements for some embodiments over others.
The language used herein has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based thereupon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims (20)

1. A computer-implemented method, comprising:
providing, by a computing device, an interface for associating at least a portion of the selected audio content with visual content to be shared through a content provider system; and
providing, by the computing device, a text-based scrubber in the interface for navigating to different segments of the selected audio content, wherein the text-based scrubber allows access to a first segment of the audio content by selecting a first phrase of the audio content, the first phrase corresponding to the first segment.
2. The computer-implemented method of claim 1, wherein the text-based scrub bar allows a phrase associated with the selected audio content to be scrolled based on a touch screen gesture.
3. The computer-implemented method of claim 2, wherein a phrase is associated with a particular timestamp of the selected audio content.
4. The computer-implemented method of claim 1, further comprising:
providing, by the computing device, one or more options to display and animate a phrase associated with the selected audio content based on one or more animation techniques.
5. The computer-implemented method of claim 4, wherein the one or more animation techniques include at least one of a dynamic animation technique, a typewriter animation technique, a cube animation technique, or a karaoke animation technique.
6. The computer-implemented method of claim 5, wherein the dynamic animation technique individually animates phrases associated with the selected audio content, wherein words included in a phrase are displayed in different font sizes.
7. The computer-implemented method of claim 5, wherein the typewriter animation technique animates the characters of a given word in a phrase associated with the selected audio content as if the characters were being typed using a typewriter.
8. The computer-implemented method of claim 5, wherein the cube animation technique animates phrases within a viewport that displays a predefined maximum number of rows per phrase.
9. The computer-implemented method of claim 5, wherein the karaoke animation technique animates phrases within a viewport of a predetermined size, wherein phrases corresponding to audio content that has not yet been played fade into the viewport while phrases corresponding to audio content that has already been played fade out of the viewport.
10. The computer-implemented method of claim 1, further comprising:
providing, by the computing device, the visual content and a portion of the selected audio content associated with the visual content for distribution through the content provider system, wherein the portion of the selected audio content is played when the visual content is accessed.
11. A system, comprising:
at least one processor; and
a memory storing instructions that, when executed by the at least one processor, cause the system to perform:
providing an interface for associating at least a portion of the selected audio content with visual content to be shared through the content provider system; and
providing a text-based scrubber in the interface for navigating to different segments of the selected audio content, wherein the text-based scrubber allows access to a first segment of the audio content by selecting a first phrase of the audio content, the first phrase corresponding to the first segment.
12. The system of claim 11, wherein the text-based scrub bar allows scrolling of a phrase associated with the selected audio content based on a touch screen gesture.
13. The system of claim 12, wherein a phrase is associated with a particular timestamp of the selected audio content.
14. The system of claim 11, wherein the instructions further cause the system to perform:
one or more options are provided to display and animate phrases associated with the selected audio content based on one or more animation techniques.
15. The system of claim 14, wherein the one or more animation techniques include at least one of a dynamic animation technique, a typewriter animation technique, a cube animation technique, or a karaoke animation technique.
16. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:
providing an interface for associating at least a portion of the selected audio content with visual content to be shared through the content provider system; and
providing a text-based scrubber in the interface for navigating to different segments of the selected audio content, wherein the text-based scrubber allows access to a first segment of the audio content by selecting a first phrase of the audio content, the first phrase corresponding to the first segment.
17. The non-transitory computer-readable storage medium of claim 16, wherein the text-based scrub bar allows scrolling of a phrase associated with the selected audio content based on a touch screen gesture.
18. The non-transitory computer-readable storage medium of claim 17, wherein a phrase is associated with a particular timestamp of the selected audio content.
19. The non-transitory computer-readable storage medium of claim 16, wherein the instructions further cause the system to perform:
one or more options are provided to display and animate phrases associated with the selected audio content based on one or more animation techniques.
20. The non-transitory computer-readable storage medium of claim 19, wherein the one or more animation techniques include at least one of a dynamic animation technique, a typewriter animation technique, a cube animation technique, or a karaoke animation technique.
CN202080033015.1A 2019-05-10 2020-05-06 System and method for generating and sharing content Pending CN113785288A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962846562P 2019-05-10 2019-05-10
US62/846,562 2019-05-10
US16/740,217 2020-01-10
US16/740,217 US11321388B2 (en) 2019-05-10 2020-01-10 Systems and methods for generating and sharing content
PCT/US2020/031669 WO2020231698A1 (en) 2019-05-10 2020-05-06 Systems and methods for generating and sharing content

Publications (1)

Publication Number Publication Date
CN113785288A true CN113785288A (en) 2021-12-10

Family

ID=73046417

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080033015.1A Pending CN113785288A (en) 2019-05-10 2020-05-06 System and method for generating and sharing content

Country Status (4)

Country Link
US (2) US11321388B2 (en)
EP (1) EP3874499A1 (en)
CN (1) CN113785288A (en)
WO (1) WO2020231698A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126344B2 (en) * 2019-01-22 2021-09-21 Facebook, Inc. Systems and methods for sharing content
US11675563B2 (en) * 2019-06-01 2023-06-13 Apple Inc. User interfaces for content applications
US11868676B2 (en) * 2020-09-23 2024-01-09 Snap Inc. Augmenting image content with sound
US11924540B2 (en) 2020-12-30 2024-03-05 Snap Inc. Trimming video in association with multi-video clip capture
US11861800B2 (en) 2020-12-30 2024-01-02 Snap Inc. Presenting available augmented reality content items in association with multi-video clip capture
US20220207805A1 (en) * 2020-12-30 2022-06-30 Snap Inc. Adding time-based captions to captured video within a messaging system
WO2022165279A1 (en) 2021-01-29 2022-08-04 Apple Inc. User interfaces and associated systems and processes for sharing portions of content items
US11947774B1 (en) * 2021-04-28 2024-04-02 Amazon Technologies, Inc. Techniques for utilizing audio segments for expression
US11614853B1 (en) * 2022-05-23 2023-03-28 Livehouse Technologies Limited Method for desktop widgets to play video content automatically

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130334300A1 (en) * 2011-01-03 2013-12-19 Curt Evans Text-synchronized media utilization and manipulation based on an embedded barcode
US20140137204A1 (en) * 2012-11-09 2014-05-15 Thomas Vitzthum Systems and methods for providing multimedia content within an application and a security solution integrated therein
US20140223272A1 (en) * 2013-02-04 2014-08-07 Audible, Inc. Selective synchronous presentation
US20140358536A1 (en) * 2013-06-04 2014-12-04 Samsung Electronics Co., Ltd. Data processing method and electronic device thereof
US20150139615A1 (en) * 2013-11-19 2015-05-21 SketchPost, LLC Mobile video editing and sharing for social media
US20180091732A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Avatar creation and editing
US20180262452A1 (en) * 2011-06-30 2018-09-13 Rednote LLC Method and system for communicating between a sender and a recipient via a personalized message including an audio clip extracted from a pre-existing recording

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5434408B2 (en) * 2009-05-15 2014-03-05 富士通株式会社 Portable information processing apparatus, content playback method, and content playback program
CA3034363C (en) * 2010-01-26 2021-04-06 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
US9159338B2 (en) * 2010-05-04 2015-10-13 Shazam Entertainment Ltd. Systems and methods of rendering a textual animation
US20120315009A1 (en) * 2011-01-03 2012-12-13 Curt Evans Text-synchronized media utilization and manipulation
US20120259927A1 (en) * 2011-04-05 2012-10-11 Lockhart Kendall G System and Method for Processing Interactive Multimedia Messages
CN103970793B (en) * 2013-02-04 2020-03-03 腾讯科技(深圳)有限公司 Information query method, client and server
US20150039991A1 (en) * 2013-08-01 2015-02-05 Booktrack Holdings Limited Creation system for producing synchronised soundtracks for electronic media content
US9176658B1 (en) * 2013-12-10 2015-11-03 Amazon Technologies, Inc. Navigating media playback using scrollable text
US20180374461A1 (en) 2014-08-22 2018-12-27 Zya, Inc, System and method for automatically generating media
US20170024110A1 (en) * 2015-07-22 2017-01-26 Funplus Interactive Video editing on mobile platform
US9838746B2 (en) * 2015-07-30 2017-12-05 Verizon Patent And Licensing Inc. Media clip systems and methods
US10257140B1 (en) * 2015-08-04 2019-04-09 Google Llc Content sharing to represent user communications in real-time collaboration sessions
WO2017062961A1 (en) * 2015-10-09 2017-04-13 Plugg Music Inc. Methods and systems for interactive multimedia creation
CN106598996B (en) * 2015-10-19 2021-01-01 广州酷狗计算机科技有限公司 Multimedia poster generation method and device
EP3343483A1 (en) * 2016-12-30 2018-07-04 Spotify AB System and method for providing a video with lyrics overlay for use in a social messaging environment
KR101938667B1 (en) * 2017-05-29 2019-01-16 엘지전자 주식회사 Portable electronic device and method for controlling the same
CN107479784B (en) * 2017-07-31 2022-01-25 腾讯科技(深圳)有限公司 Expression display method and device and computer readable storage medium
US20190354272A1 (en) * 2018-05-21 2019-11-21 Smule, Inc. Non-Linear Media Segment Capture Techniques and Graphical User Interfaces Therefor
US20200242657A1 (en) * 2019-01-29 2020-07-30 Audiobyte Llc Advertisement Creation and Auction Platform for Audio Clips
CN112380379B (en) * 2020-11-18 2023-05-02 抖音视界有限公司 Lyric special effect display method and device, electronic equipment and computer readable medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130334300A1 (en) * 2011-01-03 2013-12-19 Curt Evans Text-synchronized media utilization and manipulation based on an embedded barcode
US20180262452A1 (en) * 2011-06-30 2018-09-13 Rednote LLC Method and system for communicating between a sender and a recipient via a personalized message including an audio clip extracted from a pre-existing recording
US20140137204A1 (en) * 2012-11-09 2014-05-15 Thomas Vitzthum Systems and methods for providing multimedia content within an application and a security solution integrated therein
US20140223272A1 (en) * 2013-02-04 2014-08-07 Audible, Inc. Selective synchronous presentation
US20140358536A1 (en) * 2013-06-04 2014-12-04 Samsung Electronics Co., Ltd. Data processing method and electronic device thereof
US20150139615A1 (en) * 2013-11-19 2015-05-21 SketchPost, LLC Mobile video editing and sharing for social media
US20180091732A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Avatar creation and editing

Also Published As

Publication number Publication date
US11321388B2 (en) 2022-05-03
WO2020231698A1 (en) 2020-11-19
EP3874499A1 (en) 2021-09-08
US20200356593A1 (en) 2020-11-12
US20220245194A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US10678839B2 (en) Systems and methods for ranking ephemeral content item collections associated with a social networking system
US11321388B2 (en) Systems and methods for generating and sharing content
US20190147112A1 (en) Systems and methods for ranking ephemeral content item collections associated with a social networking system
CN107077192B (en) System and method for providing functionality based on device orientation
CN113330517B (en) System and method for sharing content
US10699454B2 (en) Systems and methods for providing textual social remarks overlaid on media content
US10381044B2 (en) Systems and methods for generating videos based on selecting media content items and moods
US10990635B2 (en) Systems and methods for ranking ephemeral content associated with a social networking system
US10521825B2 (en) Systems and methods for providing interactive user interface elements for obtaining feedback within a media content item
US20170060405A1 (en) Systems and methods for content presentation
US20190130620A1 (en) Systems and methods for sharing content
US11704008B2 (en) Systems and methods for augmenting content
US20190206102A1 (en) Systems and methods for enhancing content
US20160277351A1 (en) Systems and methods for providing notifications based on subject subscription
US11361021B2 (en) Systems and methods for music related interactions and interfaces
US10909163B2 (en) Systems and methods for ranking ephemeral content item collections associated with a social networking system
US20190208245A1 (en) Systems and methods for generating content streams
US20180181268A1 (en) Systems and methods for providing content
US20190057415A1 (en) Systems and methods for providing content item collections based on probability of spending time on related content items in a social networking system
US10805249B1 (en) Systems and methods for sharing content
EP3136217A1 (en) Systems and methods for content presentation
US20170206565A1 (en) Systems and methods for advertisement generation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.