SMART AUTOMATIC SKIP MODE
Systems and methods are provided for enabling a smart automatic skip mode during playback of a content item. A content item is generated for output at a first time at a computing device, and input associated with navigating the content item is received. Metadata associated with a plurality of segments of the content item is identified and, based on the input and the metadata, a segment to skip is identified. The segment to skip is skipped, and the content item is generated for output at a second time.
The present disclosure is directed towards systems and methods for enabling a smart automatic skip mode during playback of a content item. In particular, systems and methods are provided herein for enabling a smart automatic skip mode based on identifying metadata associated with a content item.
SUMMARYContent item delivery services, including over-the-top (OTT), streaming and video on demand (VOD) services, such as Netflix, Amazon Prime Video, Disney+ and Hulu, typically provide an application comprising a media player for consuming content items available on the service. The media player typically enables a user to navigate a content item that is being consumed, for example, by playing, pausing, fast-forwarding, rewinding and/or skipping a fixed amount, for example 10 seconds, through the content item. However, when operating navigation functions, users may become frustrated if, for example, they find that they have skipped too far ahead. Additionally, when performing additional navigation operations in response to one or more incorrect navigation operations, for example, when skipping too far ahead, these additional navigation operations will consume additional network bandwidth and/or processing resources. This problem may be compounded if a user is continually skipping similar parts of a content item.
To overcome these problems, systems and methods are provided herein for enabling a smart automatic skip mode based on identifying metadata associated with a content item.
Systems and methods are described herein for enabling a smart automatic skip mode during playback of a content item. In accordance with some aspects of the disclosure, a method is provided that includes generating, at a computing device, a content item for output at a first time and receiving input associated with navigating the content item. Metadata associated with a plurality of segments of the content item is identified, and a segment to skip is identified based on the input and the metadata. The identified segment is skipped, and the content item is generated for output at a second time.
In an example system, a user accesses an OTT platform via an application running on a smart television and selects a movie for playback. In the example, the user consistently skips through scenes of a man in a hospital bed. The content of these scenes is identified via metadata associated with the relevant scenes of the movie. It is identified that the user consistently skips scenes of a man in a hospital bed, and future scenes in the movie are automatically skipped, based, for example, on metadata that identifies the content of those scenes.
A selectable icon associated with the segment to skip may be generated for output, and the skipping may further comprise skipping the identified segment in response to receiving input associated with the selectable icon. A user profile associated with the content item may be identified, and identifying the segment to skip may be further based on the user profile. Identifying the metadata may further comprise identifying segments of the plurality of segments having common metadata, and identifying a segment to skip may further comprise, based on the common metadata, identifying a subset of the plurality of segments to skip. The skipping may further comprise, for each segment of the subset of segments, skipping a respective segment of the subset of segments as the content item progresses. A first input associated with navigating the content item may be received, and a second input to provide feedback associated with the first input may also be received. Identifying the metadata may further comprise tagging metadata based on the first input and the second input, and identifying a segment to skip may further comprise identifying a segment to skip based on the tagged metadata. Identifying the metadata may further comprise analyzing a frame of the content item via a trained machine learning model and identifying an element in the frame.
A request to receive an updated manifest file that does not include a reference to the segment to be skipped may be transmitted, and the updated manifest file may be received. Segments of the content item may be requested based on the updated manifest file. The content item may be a first content item, and a command may be to interrupt generating the first content item for output. A second content item may be generated for output. An updated manifest file may be received based on the segment to skip, and segments of the first content item may be requested based on the updated manifest file.
A progress bar associated with the content item and an indicator may be generated for output, where the indicator is associated with the progress bar and the indicator indicates the skipped segment of the content item. Generating the indicator may further comprise generating a selectable indicator and, in response to receiving input associated with selecting the indicator, the skipped segment may be navigated to.
The present disclosure, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments. These drawings are provided to facilitate an understanding of the concepts disclosed herein and shall not be considered limiting of the breadth, scope, or applicability of these concepts. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.
The above and other objects and advantages of the disclosure may be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which:
Systems and methods are described herein for enabling a smart automatic skip mode during the playback of a content item. A content item includes audio, video, text and/or any other media content. A content item may be a single media content item. In other examples, it may be a series (or season) of episodes of media content items. Audio includes audio-only content, such as podcasts. Video includes audiovisual content such as movies and/or television programs. Text includes text-only content, such as event descriptions. One example of a suitable media content item is one that complies with the MPEG DASH standard. An OTT, streaming and/or VOD service (or platform) may be accessed via a website and/or an app running on a computing device, and the device may receive any type of content item, including live content items and/or on-demand content items. Content items may, for example, be streamed to physical computing devices. In another example, content items may, for example, be streamed to virtual computing devices in, for example, an augmented environment, a virtual environment and/or the metaverse.
Receiving input includes receiving any input related to a computing device. Input may be received via an infrared controller, Bluetooth and/or Wi-Fi controller of the computing device, a touchscreen, a keyboard, a mouse and/or a microphone. In another example, the input may comprise instructions received via another computing device.
A segment is any part of a content item. It may, for example, comprise a single frame, or a plurality of frames. A segment may comprise a minority portion or a majority portion of a content item. In other examples, a segment may comprise a segment that starts with an i-frame and/or instantaneous decoder refresh (IDR) frame of the content item and ends with the frame preceding a subsequent i-frame and/or IDR frame. A segment may also comprise a segment that is defined by a data structure and/or file external to the content item, for example, a video chunk defined in a manifest file.
Metadata is any data that describes a portion of a content item. Metadata may be pre-generated and accessible via a content item; in other examples, metadata may be generated via frames, audio, closed captions and/or any other data associated with the content item. A trained machine learning model may, for example, be utilized to identify elements in the content item based on frames, audio, closed captions, text and/or any other data associated with the content item. Elements include any objects and/or people that may be present in a frame of a content item.
Skipping a segment of a content item may comprise performing a navigation operation, such as fast-forwarding and/or rewinding a part of the content item. Navigation operations, such as skipping by a fixed number of seconds, for example five seconds, may also be utilized. Skipping a segment may comprise displaying only a subset of available frames of a content item for display during the skipping operation; in other examples, skipping a segment may comprise displaying no frames during the skipping operation.
The disclosed methods and systems may be implemented on one or more computing devices. As referred to herein, the computing device can be any device comprising a processor and memory, for example, a television, a smart television, a set-top box, an integrated receiver decoder (IRD) for handling satellite television, a digital storage device, a digital media receiver (DMR), a digital media adapter (DMA), a streaming media device, a DVD player, a DVD recorder, a connected DVD, a local media server, a BLU-RAY player, a BLU-RAY recorder, a personal computer (PC), a laptop computer, a tablet computer, a WebTV box, a personal computer television (PC/TV), a PC media server, a PC media center, a handheld computer, a stationary telephone, a personal digital assistant (PDA), a mobile telephone, a portable video player, a portable music player, a portable gaming machine, a smartphone, a smartwatch, a smart speaker, an augmented reality device, a mixed reality device, a virtual reality device, or any other television equipment, computing equipment, or wireless device, and/or combination of the same.
The methods and/or any instructions for performing any of the embodiments discussed herein may be encoded on computer-readable media. Computer-readable media includes any media capable of storing data. The computer-readable media may be transitory, including, but not limited to, propagating electrical or electromagnetic signals, or may be non-transitory, including, but not limited to, volatile and non-volatile computer memory or storage devices such as a hard disk, floppy disk, USB drive, DVD, CD, media cards, register memory, processor caches, random access memory (RAM), etc.
Metadata associated with segments of the content item 102 is identified 108. For example, metadata associated with all of the segments, or a majority of segments, of the content item 102 may be identified. In other examples, metadata associated with the segments of the content item 102 that are skipped may be identified. The metadata may be pre-generated and may be accessed via the content item 102. In other examples, the metadata may be generated in response to a request for generating the metadata. A segment to skip is identified 110 based on the input and the metadata. In an example, a navigation command to fast-forward through segments of a content item that comprise a particular actress, such as Nicole Kidman, may be received over a period of time; for example, five fast-forward commands associated with Nicole Kidman may be received within a 10-minute period. In this example, it may be identified that future segments of the content item comprising Nicole Kidman are to be skipped. In another example, a navigation command to skip segments of a content item that comprise a hospital bed may be received over a period of time. In a similar manner, it may be identified that future segments of the content item comprising a hospital bed are to be skipped. In some examples, the skipping of segments may be applied to a current movie and/or episode of a series. In other examples, the skipping of segments may be stored as a preference, optionally via a user profile, and may be applied to other movies and/or episodes of a series. An OTT application may keep track of navigation commands and the metadata associated with the segments of the content item to which a navigation command applies, for example. Analysis may be performed on the data to identify a correlation between issued navigation commands and metadata associated with the segments of the content item to which a navigation command applies. In some examples, the analysis may comprise identifying that a number of navigation commands associated with a type of segment are received over a threshold period of time, for example three navigation commands within a 15-minute period.
As playback of the content item 102 progresses, when a segment to skip is encountered, that segment is skipped, and the content item 102 is continued to be displayed at the tablet 100. Skipping the segment of the content item 102 may comprise performing a navigation operation, such as fast-forwarding and/or rewinding a part of the content item. Navigation operations, such as skipping by a fixed number of seconds, for example five seconds, may also be utilized. Skipping a segment may comprise displaying only a subset of available frames of the content item 100 for display; in other examples, skipping a segment may comprise displaying no frames during the skipping operation. In this manner, segments that are associated with content that a user usually skips are automatically skipped, obviating the need for the user to manually skip those segments. Such a system avoids the frustration, and wasted bandwidth and processing resources, associated with a user skipping ahead too far, or not far enough.
The method described in connection with
In some examples, the feedback may be collected and applied to a content item that is currently being displayed at the tablet 600. In other examples, the feedback may be applied to all content items associated with a user profile or, for example, a subset of related content items, such a series of episodes.
In some examples, display of the selectable icons (e.g., the “Skip Actor” and “Skip Frames Like This” icons 610a, 610b) may be based on a condition. Such a condition may be based on digital rights management (DRM) parameters and/or any other content restrictions. For example, reality TV shows might allow users to skip a personality and/or skip through some segments, but not all segment. In another example, a particular content item may have DRM restrictions preventing such a feature from being offered, and therefore the selectable icons may not be displayed. Restrictions, for example DRM restrictions, can be signaled via, for example, a manifest file enabling to the player logic used to construct the navigation pane or section.
If a user provides feedback, as discussed in connection with
A generated manifest file can also be utilized by a media player that is already generating a content item for output. This may, however, require that the media player receives an updated manifest file if a, for example, backend service is able to determine which segments of the remaining content of a content item are to be skipped. A data structure, such as the data structure described in connection with
In some examples, the manifest file may be updated by removing one or more references to segments (URIs) from the manifest file. The removal of the URIs from the manifest file may depend on the amount of content in the content item that would be removed. For example, if it is identified that a user is consistently skipping scenes comprising a particular actor in a series of episodes, then segments relating to that actor may be automatically skipped in the current, and future, episodes. However, if the amount of undesired content relating to the actor is minimal (e.g., the undesired actor only appears in a short segment of an episode, or episodes), then the generation of a new manifest file to remove the URIs for a small segment of a content item may not be computationally efficient. To address this issue, and to prevent wastage of processing resources, a media player may be instructed to skip an identified segment, for example, by adding a “skip” tag to the manifest file as a signaling mechanism. In some examples, it may be determined if the media player supports the use of a “skip” tag, before such a tag is added to the manifest file. In some examples, another signaling mechanism such as transmitting, to the media player, an addendum related to the manifest file may be used. The addendum may contain segment numbers of byte ranges that should not be requested. The addendum may be a data structure that can also be accessed by the media player to logically determine what segments should not be requested or it should not issue an HTTP GET request for.
A progress bar associated with the content item 902 is displayed at a display of the tablet 900. The progress bar comprises portions 912 that are associated with segments of the content item that have not been consumed, for example that were skipped (including automatically skipped segments of a content item, as described herein), are yet to be consumed, or are generally not associated with a play state. In addition, the progress bar comprises portions 914 that are associated with segments of the content item that have been consumed. In some variations, the progress bar may comprise a third variation of portions 916 that are associated with a specific navigation operation, for example, in response to receiving input associated with the skip forward 10 seconds user interface element. The portions 912, 914, 916 may be differentiated from one another via, for example, different colors and/or thicknesses. A further, optional, variation comprises an indicator 918 of how many times a segment of a content item has been consumed. In some examples, this indicator may comprise a number indicating how many times the segment has been consumed. In other examples, a color associated with a portion of the progress bar may be varied in intensity in response to how many times the associated segment has been consumed.
In some examples, the portions 912 that are associated with segments of the content item that have not been consumed may be selectable. On receiving user input associated with a portion 912, the associated segment of the content item may be generated for output. Such an arrangement enables a user to, for example, easily navigate to, and watch, previously unwatched segments of a content item. Any of the elements of the process associated with identifying 908 metadata associated with the segments and/or identifying 910 a segment to skip may take place at the tablet 900 and/or at a server, as discussed in connection with
In some examples, an API may be utilized to add color and/or thickness to a progress bar in programmatical manner. For example, in the Android operating system, the following API may be used to change the color of a seekbar:
-
- seekbar.setProgressTintList(ColorStateList.valueOf(Color.RED))
The above API adds the color red to the seekbar. An appropriate color can be used to change the color of the seekbar as and when needed.
- seekbar.setProgressTintList(ColorStateList.valueOf(Color.RED))
The data structure 1000 may enable a media player, such as the media player described in connection with
Input is received 1102 by the input circuitry 1104. The input circuitry 1104 is configured to receive inputs related to a computing device. For example, this may be via an infrared controller, Bluetooth and/or Wi-Fi controller of the computing device 1100, a touchscreen, a keyboard, a mouse and/or a microphone. In another example, the input may comprise instructions received via another computing device. The input circuitry 1104 transmits 1106 the user input to the control circuitry 1108.
The control circuitry 1108 comprises a content item navigation module 1110, a metadata identification module 1114, a segment identification module 1118, a segment skipping module 1122, and a content item generation module 1128. The input is transmitted to the content item navigation module 1110, where a navigation operation is applied to a content item that is currently being output at the computing device 1100. An indication of the navigation operation is transmitted 1112 to the metadata identification module 1114, where metadata associated with segments of the content item is identified. An indication of the navigation operation and the identified metadata is transmitted 1116 to the segment identification module 1118, where a segment to skip is identified. An indication of the segment to skip is transmitted 1120 to the segment skipping module 1122 where the indicated segment of the content item is skipped. On skipping the indicated segment of the content item, a play position in the content item is transmitted 1124 to the output circuitry 1126, where the content item generation module 1128 generates the content item for output at the play position.
At 1202, a content item is generated for output at a first time. At 1204, navigation input is received. At 1206, metadata associated with the content item segments is identified. At 1208, it is identified whether feedback associated with the navigation input has been received. If feedback has been received, the metadata is tagged at 1210 and the process proceeds to step 1212. If feedback has not been received at 1208, the process proceeds to step 1212. At 1212, it is determined whether a user profile is available. If a user profile is available, the user profile is accessed at 1214 and the process proceeds to step 1216. If a user profile is not available, the process processed to step 1216. At 1216, it is determined whether a single segment, or a plurality of segments, should be skipped. If a single segment is to be skipped, the segment to skip is identified at 1218, the segment is skipped at 1220 and the content item is generated for output at a second time 1222. If a plurality of segments are to be skipped, segments having common metadata are identified at 1224 and segments to skip are identified at 1226. At 1228, a segment is skipped, and the content item is generated for output at a time different from the first time at 1230. At 1232, it is determined whether there are additional segments to skip 1232. If there are additional segments to skip, the process loops to 1228 and continues to loop until all the segments are skipped. Once the final segment has been skipped, the process proceeds to 1234, where the content item is generated for output.
The processes described above are intended to be illustrative and not limiting. One skilled in the art would appreciate that the steps of the processes discussed herein may be omitted, modified, combined, and/or rearranged, and any additional steps may be performed without departing from the scope of the disclosure. More generally, the above disclosure is meant to be exemplary and not limiting. Only the claims that follow are meant to set bounds as to what the present invention includes. Furthermore, it should be noted that the features and limitations described in any one embodiment may be applied to any other embodiment herein, and flowcharts or examples relating to one embodiment may be combined with any other embodiment in a suitable manner, done in different orders, or done in parallel. In addition, the systems and methods described herein may be performed in real time. It should also be noted that the systems and/or methods described above may be applied to, or used in accordance with, other systems and/or methods.
Claims
1. A method comprising:
- generating, at a computing device, a content item for output at a first time;
- receiving input associated with navigating the content item;
- identifying metadata associated with a plurality of segments of the content item;
- identifying, based on the input and the metadata, a segment to skip;
- skipping the identified segment; and
- generating the content item for output at a second time.
2. The method of claim 1, wherein:
- the method further comprises generating, for output, a selectable icon associated with the segment to skip; and
- the skipping further comprises skipping the identified segment in response to receiving input associated with the selectable icon.
3. The method of claim 1, wherein:
- the method further comprises identifying a user profile associated with the content item; and
- identifying the segment to skip is further based on the user profile.
4. The method of claim 1, wherein:
- identifying the metadata further comprises identifying segments of the plurality of segments having common metadata;
- identifying a segment to skip further comprises, based on the common metadata, identifying a subset of the plurality of segments to skip; and
- the skipping further comprises, for each segment of the subset of segments, skipping a respective segment of the subset of segments as the content item progresses.
5. The method of claim 1, wherein:
- the method further comprises receiving a first input associated with navigating the content item;
- the method further comprises receiving a second input to provide feedback associated with the first input;
- identifying the metadata further comprises tagging metadata based on the first input and the second input; and
- identifying a segment to skip further comprises identifying a segment to skip based on the tagged metadata.
6. The method of claim 1, wherein identifying the metadata further comprises:
- analyzing a frame of the content item via a trained machine learning model; and
- identifying an element in the frame.
7. The method of claim 1, further comprising:
- transmitting a request to receive an updated manifest file that does not include a reference to the segment to be skipped;
- receiving the updated manifest file; and
- requesting segments of the content item based on the updated manifest file.
8. The method of claim 1, wherein the content item is a first content item, the method further comprising:
- receiving a command to interrupt generating the first content item for output;
- generating a second content item for output;
- receiving, based on the segment to skip, an updated manifest file; and
- requesting segments of the first content item based on the updated manifest file.
9. The method of claim 1, further comprising:
- generating, for output, a progress bar associated with the content item; and
- generating an indicator for output, wherein the indicator is associated with the progress bar and the indicator indicates the skipped segment of the content item.
10. The method of claim 9, wherein:
- generating the indicator further comprises generating a selectable indicator; and
- the method further comprises, in response to receiving input associated with selecting the indicator, navigating to the skipped segment.
11. A system comprising:
- a communication port;
- a memory storing instructions; and
- control circuitry communicably coupled to the memory and the communication port and configured to execute instructions to:
- generate, at a computing device, a content item for output at a first time;
- receive input associated with navigating the content item;
- identify metadata associated with a plurality of segments of the content item;
- identify, based on the input and the metadata, a segment to skip;
- skip the identified segment; and
- generate the content item for output at a second time.
12. The system of claim 11, wherein:
- the control circuitry is further configured to generate, for output, a selectable icon associated with the segment to skip; and
- the control circuitry configured to skip the identified segment is further configured to skip the segment to skip in response to receiving input associated with the selectable icon.
13. The system of claim 11, wherein:
- the control circuitry is further configured to identify a user profile associated with the content item; and
- the control circuitry configured to identify the segment to skip is further configured to identify the segment to skip based on the user profile.
14. The system of claim 11, wherein:
- the control circuitry configured to identify the metadata is further configured to identify segments of the plurality of segments having common metadata;
- the control circuitry configured to identify a segment to skip is further configured to, based on the common metadata, identify a subset of the plurality of segments to skip; and
- the control circuitry configured to skip the segment to skip is further configured to, for each segment of the subset of segments, skip a respective segment of the subset of segments as the content item progresses.
15. The system of claim 11, wherein:
- the control circuitry is further configured to receive a first input associated with navigating the content item;
- the control circuitry is further configured to receive a second input to provide feedback associated with the first input;
- the control circuitry configured to identify the metadata is further configured to tag metadata based on the first input and the second input; and
- the control circuitry configured to identify a segment to skip is further configured to identify a segment to skip based on the tagged metadata.
16. The system of claim 11, wherein the control circuitry configured to identify the metadata is further configured to:
- analyze a frame of the content item via a trained machine learning model; and
- identify an element in the frame.
17. The system of claim 11, wherein the control circuitry is further configured to:
- transmit a request to receive an updated manifest file that does not include a reference to the segment to be skipped;
- receive the updated manifest file; and
- request segments of the content item based on the updated manifest file.
18. The system of claim 11, wherein the content item is a first content item and the control circuitry is further configured to:
- receive a command to interrupt generating the first content item for output;
- generate a second content item for output;
- receive, based on the segment to skip, an updated manifest file; and
- request segments of the first content item based on the updated manifest file.
19. The system of claim 11, wherein the control circuitry is further configured to:
- generate, for output, a progress bar associated with the content item; and
- generate an indicator for output, wherein the indicator is associated with the progress bar and the indicator indicates the skipped segment of the content item.
20. The system of claim 19, wherein:
- the control circuitry configured to generate the indicator is further configured to generate a selectable indicator; and
- the control circuitry is further configured to, in response to receiving input associated with selecting the indicator, navigate to the skipped segment.
21.-30. (canceled)
Type: Application
Filed: Jul 15, 2022
Publication Date: Jan 18, 2024
Inventors: Charishma Chundi (Nellore), Reda Harb (Bellevue, WA), Rajendra Pandey (Bangalore)
Application Number: 17/865,785