Content providers can provide content (e.g., audio content, video content, web content, etc.) to user devices over a network. A user may maintain a user account with a content provider in order to access content. When accessing content, the user can pause playback of the content, such that when the content is later accessed, playback of the content can be resumed at a time index corresponding to where the playback of the content was paused. When multiple users access the content using a common user account, each of the multiple users may not pause playback of the content at the same time index. As a result, the multiple users may need to manually navigate (e.g., fast forward/rewind) through the content to resume playback of the content at a desired time index.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements.
Systems and/or methods, as described herein, may store multiple time index markers (herein after referred to as “markers”) for particular content provided by a content provider. In some implementations, a particular marker may be generated and may correspond to a time index in which playback of the content has been paused. In some implementations, the particular marker may be later selected such that playback of the content may occur at a time index corresponding to the marker.
In some implementations, multiple users may access particular content using a common account, view the particular content independently, and may generate individual markers where playback has been paused by each user and may later be resumed for each user. For example, a first user may generate a first marker corresponding to a first time index where the first user paused playback of the particular content. A second user may generate a second marker corresponding to a second time index where the second user paused playback of the particular content.
In some implementations, markers may also correspond to chapters associated with the particular content, users' favorite scenes, restricted scenes that may be skipped, or time indexes in the particular content associated with particular attributes of the particular content.
In some implementations, the user device may receive a selection of particular content, such as Content 1 (e.g., from the user of the user device via interface 100), and may provide the content selection to the content provider server. In some implementations, the content provider server may identify one or more markers that are associated with the selected content and with the account information (e.g., markers that have been previously generated and associated with the account information and the particular content). In some implementations, the content provider server may provide information identifying the markers to the user device.
As shown in interface 100, the user device may display a list of markers associated with the selected content. In some implementations, each marker, in the list of markers, may include a time index and a name (e.g., a user-selectable description of the marker). In some implementations, the user device may receive a selection of a particular marker and may provide a marker selection (e.g., information identifying the selection of the particular marker) to the content provider server. In some implementations, the content provider server may provide the content to the user device such that the user device begins playback of the content at the time index associated with the selected marker.
Referring to
In some implementations, the user device may receive a selection to add a marker at the time index at which Content 1 has been paused. Based on receiving the selection to add the marker, the user device may present an option to add a description (e.g., a name) for the marker. In some implementations, the user may input the description via an accessory device (e.g., a remote control, a keyboard, etc.) associated with the user device. In some implementations, the user device may provide a marker management instruction (e.g., an instruction to store a marker associated with the time index and the description) to the content provider server. In some implementations, the content provider server may receive the marker management instruction and may store information relating to the marker. Further, the content provider server may associate the marker with Content 1 and with an account of the user.
As a result, multiple markers for particular content may be generated such that when multiple users access the particular content via a common account, playback can be resumed from one of multiple time indexes. For example, a first user may resume playback from a first time index (e.g., corresponding to when the first user paused playback of the particular content), and a second user may resume playback from a second time index (e.g., corresponding to when the second user paused playback of the particular content). Further, markers can be shared with other users and saved to other users' respective accounts. In some implementations, markers may be provided by a publisher of the particular content and may correspond to chapters associated with the particular content. In some implementations, markers may correspond to metadata associated with the particular content, and may be automatically generated based on pixel-based classification techniques. For example, a marker can identify particular objects (e.g., people, audio, or the like) and may identify a time index in the content in which the particular objects are present.
User device 210 may include any device capable of communicating via a network, such as network 230. For example, user device 210 may correspond to a mobile communication device (e.g., a smart phone or a personal digital assistant (PDA)), a portable computer device (e.g., a laptop or a tablet computer), a gaming device, a desktop computing device, a set-top box, a media player, or another type of device. In some implementations, user device 210 may communicate with content provider server 220 to request content, receive the content, and present the content via a user interface of user device 210. In some implementations, user device 210 may request content playback at a particular time index associated with a marker. In some implementations, user device 210 may receive instructions to add, delete, and/or modify a marker.
Content provider server 220 may include one or more computing devices, such as a server device or a collection of server devices. In some implementations, content provider server 220 may store content and may deliver content to user device 210 via network 230. In some implementations, content provider server 220 may store user account/subscription information that may be used to authorize user device 210 to receive content in exchange for payment. In some implementations, content provider server 220 may store/maintain information associating one or more markers with particular content and with a particular user account.
In some implementations, a first user device 210 (e.g., user device 210-1) may receive an instruction to add a marker associated with particular content and with a particular user account provide the instruction to content provider server 220. In some implementations, content provider server 220 may store information associating the marker with the particular content and the particular user account. In some implementations, a second user device 210 (e.g., user device 210-2) may access the particular content, using the particular user account, from content provider server 220. In some implementations, user device 210-2 may receive information identifying the marker from content provider server 220 and may select that marker. That is, a marker may be generated via user device 210-1 and later selected via user device 210-2.
Network 230 may include one or more wired and/or wireless networks. For example, network 230 may include a cellular network (e.g., a second generation (2G) network, a third generation (3G) network, a fourth generation (4G) network, a fifth generation (5G) network, a long-term evolution (LTE) network, a global system for mobile (GSM) network, a code division multiple access (CDMA) network, an evolution-data optimized (EVDO) network, or the like), a public land mobile network (PLMN), and/or another network. Additionally, or alternatively, network 230 may include a local area network (LAN), a wide area network (WAN), a metropolitan network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), an ad hoc network, a managed IP network, a virtual private network (VPN), an intranet, the Internet, a fiber optic-based network, and/or a combination of these or other types of networks.
The quantity of devices and/or networks, illustrated in
As shown in
Bus 305 may include a path that permits communication among the components of device 300. Processor 310 may include a processor, a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another type of processor that interprets and executes instructions. Main memory 315 may include a random access memory (RAM) or another type of dynamic storage device that stores information or instructions for execution by processor 310. ROM 320 may include a ROM device or another type of static storage device that stores static information or instructions for use by processor 310. Storage device 325 may include a magnetic storage medium, such as a hard disk drive, or a removable memory, such as a flash memory.
Input device 330 may include a component that permits an operator to input information to device 300, such as a control button, a keyboard, a keypad, or another type of input device. Output device 335 may include a component that outputs information to the operator, such as a light emitting diode (LED), a display, or another type of output device. Communication interface 340 may include any transceiver-like component that enables device 300 to communicate with other devices or networks. In some implementations, communication interface 340 may include a wireless interface, a wired interface, or a combination of a wireless interface and a wired interface.
Device 300 may perform certain operations, as described in detail below. Device 300 may perform these operations in response to processor 310 executing software instructions contained in a computer-readable medium, such as main memory 315. A computer-readable medium may be defined as a non-transitory memory device. A memory device may include memory space within a single physical storage device or memory space spread across multiple physical storage devices.
The software instructions may be read into main memory 315 from another computer-readable medium, such as storage device 325, or from another device via communication interface 340. The software instructions contained in main memory 315 may direct processor 310 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
In some implementations, device 300 may include additional components, fewer components, different components, or differently arranged components than are shown in
As shown in
Process 400 may also include identifying markers associated with the particular content and the user account (block 420). For example, content provider server 220 may identify markers that have been linked to the particular content and to the user account identified in the content request. In some implementations, content provider server 220 may store a data structure that identifies markers that are linked to the particular content and the user account. As described in greater detail below, markers may be linked to the particular content and to the user account based on a marker management instruction provided by user device 210.
Process 400 may further include providing markers for display on the user device (block 430). For example, content provider server 220 may provide the identified markers for display on user device 210 (e.g., on a user interface of user device 210). In some implementations, user device 210 may display the markers in a list. In some implementations, the list may include a description of each marker and a time index associated with each marker. An example of providing the identified markers for display on user device 210 is shown in interface 100 of
Process 400 may also include receiving a marker selection (block 440). For example, content provider server 220 may receive a selection of marker from user device 210 (e.g., when a user of user device 210 selects the marker from a marker list presented on a user interface of user device 210). In some implementations, the marker selection may include a description of the marker to permit content provider server 220 to identify the selected marker.
Process 400 may further include providing the particular content to the user device in accordance with the marker selection (block 450). For example, content provider server 220 may provide the particular content to user device 210 with an instruction to cause user device 210 to play back the particular content at a time index corresponding to the marker. As an example, assume that content provider server 220 receives the marker having the description “Marker 1.” Further, assume that Marker 1 is associated with the time index of 18:17. Given these assumptions, content provider server 220 may provide the particular content along with an instruction to direct user device 210 to play back the particular content beginning at the time index of 18:17. In some implementations, a marker may correspond to a time period instead of a single time index. When the marker corresponds to a time period instead a single time index, content provider server 220 may provide the particular content to user device 210 with an instruction to cause user device 210 to play back the content while skipping playback, or fast-forwarding though the content, during the time period (e.g., for content that may be restricted, such as content relating to a parental control), or to play back the content during the time period (e.g., for content relating to a user's favorite content).
Process 400 may also include receiving a marker management instruction (block 460). For example, content provider server 220 may receive a marker management instruction from user device 210. In some implementations, the marker management instruction may include an instruction to add, remove, or modify a marker in connection with the particular content and the user account. In some implementations the marker management instruction may include a description of the marker and a time index associated with the marker. In some implementations, the marker management instruction may identify the particular content and the user account.
As described above, a user may access a marker management menu (e.g., to generate the marker management instruction) by depressing a pause button on an accessory device (e.g., a remote control associated with user device 210) for greater than a threshold amount of time. Additionally, or alternatively, the user may access the marker management menu using some other technique. In some implementations, the user may select to add, remove, or modify a marker via the market management menu. For example, the user may add a marker corresponding to a time index at which playback of the particular content has been paused. Additionally, or alternatively, the user may add a marker corresponding to some other time index. In some implementations, the user may select to remove an existing marker by selecting the marker from a marker list in the marker management menu, and selecting a command (e.g., from the user interface of user device 210) to delete the marker. In some implementations, the user may select to modify an existing marker by selecting the marker from the marker list and selecting a command to modify an attribute of the marker (e.g., modify a description of the marker and/or a time index of the marker).
In some implementations, the marker management instruction may be received from some other source other than the user. For example, the marker management instruction may be received from a publisher associated with the particular content and may correspond to chapters in the particular content. In some implementations, the marker management instruction may be formed based on pixel-based classification information and may identify particular objects (e.g., people, audio, or the like) and may identify a time index in the particular content in which the particular objects are present. In some implementations, markers may be published and/or shared (e.g., by users associated with other user accounts) and may be selected to be added to the user account. In some implementations, markers may be purchased and added to the user account. In some implementations, markers may correspond to time periods in the particular content where playback is to be skipped (e.g., corresponding to parental controls, or portions of the particular content a user may not be interested in viewing).
Process 400 may further include storing, modifying, or deleting the marker in accordance with the marker management instruction (block 470). For example, content provider server 220 may maintain a data structure that identifies markers associated with the particular content and the user account. In some implementations, when the marker management instruction includes an instruction to add a marker, content provider server 220 may store information regarding the marker in the data structure to link the marker to the particular content and the user account. When the marker management instruction includes an instruction to remove a marker, content provider server 220 may delete the marker from the data structure. In some implementations, the data structure may be used to identify markers associated with the particular content and the particular user account in accordance with block 420 as described above. In some implementations, the data structure may include labels to identify users associated with the markers. An example of a data structure that maintains markers for particular content and a particular user account is described below with respect to
While
A particular instance of data structure 500 may contain different information and/or fields than another instance of data structure 500. In some implementations, data structure 500 may store information identifying markers associated with a particular user account. Another instance of data structure 500 may store information identifying markers associated with another user account.
As shown in
User information field 510 may store information identifying a particular user account associated with a particular instance of data structure 500. In some implementations, user information field 510 may store an identifier of the user account (e.g., a user ID, or the like). In some implementations, user information field 510 may store information identifying an available quantity of marker slots, identifying an available quantity of markers (e.g., markers per content) that may be stored for the user account, or the like. In some implementations, the available quantity of markers may be based on a subscription level of the user account.
Content field 520 may store information identifying particular content that may include markers. For example, content field 520 may store an identifier of the particular content and/or some other information that may be used to uniquely identify the particular content.
Markers field 530 may store a list of markers associated with the particular content identified in content field 520 and the particular user account identified in user information field 510. In some implementations, each marker in markers field 530 may include a time index and a description (e.g., a name). In some implementations, the time index may identify a time at which playback of the content my begin when the marker is selected. For example, the time index may identify at time at which playback of the content was paused and may be later resumed. In some implementations, the description may identify a user associated with the marker, a description of a scene, or some other description selectable by the user associated with the marker. In some implementations, markers field 530 may identify a time period for a particular marker. In some implementations, the time period may identify a portion of the content may be skipped during playback of the content or a portion of the content that may be played back (e.g., without playing back another portion of the content not included in the time period identified by the particular marker).
In some implementations, information stored by data structure 500 may be based on marker management instructions received from user device 210. As an example, assume that user device 210 provides a marker management instruction, associated with the user account having the ID of User 123, to add a marker for Content 1 with description “Mom” at time index 0:23:39. Given this assumption, content provider server 220 may store, in data structure 500, a marker with the description “Mom,” and the time index 0:23:39 in connection with Content 1 and the user account having the ID of User 123.
While particular fields are shown in a particular format in data structure 500, in practice, data structure 500 may include additional fields, fewer fields, different fields, or differently arranged fields than are shown in
In some implementations, the marker type may indicate that playback of the content, during the time period indicated by the marker, is to be skipped. For example, the “Restricted content” marker type may relate to a parental control. In some implementations, user device 210 may receive a selection of a password based on receiving the selection of the “Restricted Content” marker type. As described in greater detail below, the password may be used to allow a user to view the content without skipping playback identified by the time period associated with the marker.
Based on receiving the selections associated with the marker (e.g., the time indexes corresponding to a time period, the marker name, and the marker type), user device 210 may generate a marker management instruction and provide the marker management instruction to content provider server 220. In some implementations, content provider server 220 may execute the marker management instruction to add the marker in connection with the particular content and the user account associated with the user.
Referring to
As an example, user device 210 may receive a selection of the marker with the name “Beginning” In some implementations, user device 210 may identify that a “Restricted Content” type marker exists for Content 1 and may present an option to playback Content 1 with the restricted content or without the restricted content (e.g., by skipping playback during the time period associated with the “Restricted Content” type marker). As an example, user device 210 may receive a selection to playback Content 1 with the restricted content and may present an option for a user to input a password. In some implementations, user device 210 may authorize the playback of the restricted content (e.g., based on the inputted password and the password used to generate the marker as described above in
While a particular example is shown in
As described above, multiple markers for particular content may be generated such that when multiple users access the particular content via a common account, playback can be resumed from one of multiple time indexes. For example, a first user may resume playback from a first time index (e.g., corresponding to when the first user paused playback of the particular content), and a second user may resume playback from a second time index (e.g., corresponding to when the second user paused playback of the particular content). Further, markers can be shared with other users and saved to other users' respective accounts. In some implementations, markers may be provided by a publisher of the particular content and may correspond to chapters associated with the particular content. In some implementations, markers may correspond to metadata associated with the particular content, and may be automatically generated based on pixel-based classification techniques. For example, a marker can identify particular objects (e.g., people, places, items, audio, or the like) and may identify a time index in the content in which the particular objects are present.
The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the possible implementations to the precise form disclosed. Modifications and variations are possible in light of the above disclosure or may be acquired from practice of the implementations.
It will be apparent that different examples of the description provided above may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these examples is not limiting of the implementations. Thus, the operation and behavior of these examples were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement these examples based on the description herein.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of the possible implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may directly depend on only one other claim, the disclosure of the possible implementations includes each dependent claim in combination with every other claim in the claim set.
To the extent the aforementioned implementations collect, store, or employ personal information provided by individuals, it should be understood that such information shall be used in accordance with all applicable laws concerning protection of personal information. Additionally, the collection, storage, and use of such information may be subject to consent of the individual to such activity, for example, through “opt-in” or “opt-out” processes as may be appropriate for the situation and type of information. Storage and use of personal information may be in an appropriately secure manner reflective of the type of information, for example, through various encryption and anonymization techniques for particularly sensitive information.
No element, act, or instruction used in the present application should be construed as critical or essential unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more.” Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Number | Name | Date | Kind |
---|---|---|---|
6091886 | Abecassis | Jul 2000 | A |
20040220926 | Lamkin | Nov 2004 | A1 |
20040223737 | Johnson | Nov 2004 | A1 |
20100027966 | Harrang | Feb 2010 | A1 |
20100042642 | Shahraray | Feb 2010 | A1 |
20140281896 | Wiitala | Sep 2014 | A1 |
20140282755 | Alsina | Sep 2014 | A1 |
Number | Date | Country | |
---|---|---|---|
20150113000 A1 | Apr 2015 | US |