This disclosure is directed to providing an alternate version of an exercise depicted in a media asset. Specifically, techniques are disclosed for modifying at least one particular segment corresponding to an exercise to correspond to an alternate version of the exercise and generating for presentation to the user the modified at least one particular segment.
Many users have become accustomed to participating in live or prerecorded (on-demand) exercise videos provided over the Internet, where an instructor guides the user through various types of workouts, such as group workout classes intended for consumption by a large audience. Indeed, many users have canceled their gym memberships in favor of the convenience and privacy of exercising in one's own home at any time of day that is desired. However, not all users are at the same fitness level, and providing the same static workout class to each user can be problematic for users for which the class is too easy, as well as for users for which the class is too difficult. In one approach, information provided by a user as well as biometric data can be utilized to optimize a workout session. However, this approach merely suggests a completely different series of exercises to the user, and fails to personalize each individual exercise of a workout class to the characteristics of the user measured in real time, and fails to adequately balance the desire of the user to participate in workouts of a certain type with the current physical abilities of the user.
To overcome these problems, systems and methods are provided herein for providing an alternate version of an exercise depicted in a media asset. A media asset comprising a plurality of segments may be generated for presentation to a user, where the media asset when generated for presentation depicts one or more exercises, and each respective exercise corresponds to one or more segments of the plurality of segments. For example, a particular segment may correspond to a portion (e.g., 7 seconds) of an exercise (e.g., a plank exercise depicted for a total of one minute in the media asset). Input may be received from one or more sensors during the presentation of the media asset, where the input is related to the user. Based on the received input, a determination may be made that an alternate version of an exercise corresponding to at least one particular segment should be provided instead of a version of the exercise scheduled to be provided. The at least one particular segment may be modified to correspond to the alternate version of the exercise, and the at least one modified particular segment may be generated for presentation to the user.
Such aspects enable a system to provide a personalized playlist of exercises to a user based on real-time sensor data provided by one or more sensors monitoring a user performing the exercises depicted in the media asset. Based on the measured response (e.g., biometric data) of the user to the exercises of the media asset and/or other factors (e.g., spatial constraints of the workout space of the user, a determination whether the form or posture of the user during the workout is proper, nutrition and lifestyle characteristics of the user, nutrition habits of the user), a playlist of exercises may be updated in real time to maximize the benefit of each exercise for the user. For example, if the system detects that a user is performing poorly during a particular exercise, the next exercise of the media asset may be lowered in intensity (e.g., modified from a standard plank in the “Advanced” playlist to a modified plank in the “Intermediate” playlist) while still adhering to the intent of the workout. On the other hand, if the performance of the user improves during the modified workout, the exercise playlist may revert to the initially schedule playlist (e.g., back to the “Advanced” playlist) to account for the improvement in performance of the user. That is, the system may navigate various alternative logical paths for a given media asset based on the performance of the user, to dynamically populate the exercise playlist in a manner that is personalized to the user.
In some embodiments, at least one of the one or more sensors is associated with exercise equipment used during the exercise. The system may provide a recommendation for adjusting of, or cause automatic adjustment of, the exercise equipment (e.g., resistance on an exercise bike or an amount of weight for an adjustable dumbbell) based on the input from the one or more sensors.
In some aspects of this disclosure, the system may receive user information from a plurality of users, where the user information is associated with exercise sessions that respective users of the plurality of users participated in. Based on the received user information, a particular exercise of the exercise sessions associated with a user injury may be identified, and an alternate version of the exercise may be provided based on the received input from the one or more sensors and the identified exercise associated with the user injury.
In some embodiments, determining that the alternate version of the exercise corresponding to the at least one particular segment should be provided comprises determining, based on the input from one or more sensors, that an additional user, in addition to the user, is consuming the media asset, and determining a current state of the user and the additional user based on the input from one or more sensors. The alternate version of the exercise may correspond to a joint exercise for each of the user and the additional user, and a recommendation may be provided, based on the determined current states of the user and the additional user, that either the user or the additional user perform a higher intensity portion of the joint exercise than the other of the user or the additional user.
In some aspects of this disclosure, each respective exercise may be associated with a plurality of versions of the exercise corresponding to different intensity levels of the exercise, and each version of the exercise may be tagged with an indication of one or more attributes. The system may be configured to determine, based on the received input, that the alternate version of the exercise corresponding to the at least one particular segment should be provided by determining, based on the input from the one or more sensors, attributes associated with activity of the user during the presentation of the particular segment, and comparing the determined attributes to the tagged attributes to determine a version of the exercise having attributes matching the determined attributes. The at least one particular segment of the media asset may be modified to correspond to the alternate version of the exercise based on the comparing.
In some embodiments, the received input corresponds to biometric data of the user, and determining, based on the received input, that the alternate version of the exercise corresponding to the at least one particular segment should be generated for presentation comprises determining, based on the received biometric data, a current state of the user during a current segment of the media asset and determining, based on the current state of the user, that the alternate version of the exercise should be provided during a next segment of the media asset following the current segment.
In some aspects of this disclosure, each respective exercise is associated with a plurality of versions of the exercise corresponding to different intensity levels of the exercise. The system may be configured to determine, based on the current state of the user, that the alternate version of the exercise should be provided during the next segment of the media asset following the current segment by determining that the received biometric data of the user is outside a predefined range, and, in response to determining that the received biometric data of the user is outside the predefined range, causing the alternate version of the exercise to be a lighter intensity version compared to the version of the exercise scheduled to be provided.
In some embodiments, the system may be configured to receive nutrient information related to nutrients consumed by the user within a predefined period of time from a current time, where the current state of the user during the current segment of the media asset may be determined based on the received biometric data of the user and the received nutrient information.
In some aspects of this disclosure, the system may be configured to identify, based on the received input, a posture or form of the user during the current segment; determine whether the identified posture or form of the user is proper; where determining the current state of the user during the current segment of the media asset is based on the received biometric data of the user and whether the identified posture or form of the user is proper.
In some embodiments, the biometric data of the user may be received during a warm-up segment of the media asset used to assess the physical abilities of the user.
The above and other objects and advantages of the present disclosure will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
The manifest may be employed in any of a variety of streaming protocols, e.g., media presentation description (MPD) files for Dynamic Adaptive Streaming over HTTP (MPEG-DASH), m3u8 files for HTTP Live Streaming (HLS), f4m files for HTTP Dynamic Streaming (HDS), ingest files for CMAF (Common Media Application Format), manifest files for Microsoft Smooth Streaming (MSS), etc. The manifest may be a standard manifest (e.g., an MPD file from MPEG-DASH) or may be a modified version of a standard manifest. A segment may comprise information (e.g., encoded video, audio, subtitle information, error correction bits, error detection bits, etc.) for a particular interval of a media asset, and each segment may correspond to a file specified in the manifest indicating an associated URL for retrieving the file. The segment may comprise a collection or sequence of frames (e.g., still images that together make up moving pictures of scenes of a portion of a media asset), and each segment may have a specific length (e.g., from one second to a few seconds). In the segment-based delivery of media content using the above-mentioned streaming protocols, various techniques may be employed (e.g., MPEG-2 transport stream format, MPEG-4 format such as the fragmented MPEG-4 format).
Manifest 207 may comprise various playlists that are associated with different intensity levels (e.g., “1,” which may be the most intense version of a particular exercise or round or exercises; “2,” which may be a version of the exercise or round or exercises of moderate difficulty; “3,” which may be a version of the exercise or round or exercises with less difficulty) and exercise experience levels (e.g., “Advanced,” which may be suitable for individuals who frequently exercise; “Intermediate,” which may be suitable for individuals who occasionally exercise; “Beginner,” which may be suitable for individuals who rarely exercise or are just starting to exercise). In some embodiments, the playlists of manifest 207 may comprise segments depicting a virtual instructor or workout companion 118 performing various exercises or workouts to enable user 102 to mimic the exercises or workouts during presentation of media asset 108. In some embodiments, the media application may provide the sequence of movements of the exercises as a sequence of images user 102 may follow to complete the exercises.
The playlists of manifest 207 may respectively correspond to different or alternate versions of the same or similar exercises or workouts. For example, playlist 211 of manifest 207 may be associated with intensity level 1 and an experience level of “Advanced” and may depict, e.g., from segments 16-30 (associated with a time stamp of 1:01-2:00 during presentation of media asset 108) virtual instructor 118 performing a plank exercise, which involves maintaining a push-up position for a predefined period of time or for a maximum possible time. In addition, playlist 211 may depict from segments 31-45 (e.g., associated with a time stamp of 2:01-3:00 during presentation of media asset 108) virtual instructor 118 performing a burpee exercise which involves a sequence of moves where a user jumps, squats, planks and performs a push-up, and repeats the sequence for a predefined period of time or a maximum period of time. On the other hand, playlist 213 of manifest 207 may be associated with intensity level 2 and an experience level of “Intermediate” and may depict, e.g., from segments 16-30 (associated with a time stamp of 1:01-2:00 during presentation of media asset 108) virtual instructor 118 performing a modified plank (e.g., with knees bent or knees on the floor, which is a less strenuous version of the standard plank exercise, and/or to hold the position for a shorter period of time than in the standard plank in playlist 211). In addition, playlist 213 may depict from segments 31-45 (e.g., associated with a time stamp of 2:01-3:00 during presentation of media asset 108) a “lighter” burpee exercise as compared to the standard burpee, e.g., to skip the push-up and/or to repeat the performing of the sequence of movements for less time than in playlist 211). In some embodiments, a different exercise or workout may be used in playlist 213 as a substitute for a particular exercise or workout in playlist 211, e.g., virtual instruction 118 may perform jumping jacks in playlist 213 during the corresponding segments of playlist 211 in which virtual instructor 118 performs the burpee exercise. In some embodiments, virtual instructor 118 may be the same or different across each of the playlists of manifest 207. In some embodiments, a particular workout or exercise of playlist 211 may be skipped altogether in playlist 213, e.g., in favor of a rest period.
At 209, the media application may access the manifest corresponding to selected playlist 211. In some embodiments, selection of playlist 211 may be received from user device 106 (e.g., a smart television) or user device 114 (e.g., a smartphone or tablet). Additionally or alternatively, a particular playlist may be automatically selected or recommended based on a variety of factors. For example, the media application may retrieve a user profile of user 102 associated with the media application or other exercise applications and determine a suitable playlist based on the recent workouts or frequency of workouts performed by user 102. In some embodiments, the media application may additionally or alternatively determine a suitable playlist based on information provided by the user (e.g., weight, age, height, personal goals, preferences, etc.) and/or current input received from one or more sensors (e.g., camera 104; smart watch 110 such as, for example, the Fitbit band or Apple Watch or Samsung Gear; chest strap heart rate monitor 112; a sensor associated with mobile device 114 or exercise equipment 116, pulse oximeter, etc.).
At 215, the media application, having received selection or otherwise caused selection of playlist 211 to be used in generating for presentation media asset 108, may obtain and analyze sensor data during presentation of one or more current segments being presented. In some embodiments, one or more sensors (e.g., camera 104; smart watch or Fitbit band 110; chest strap heart rate monitor 112; a sensor associated with mobile device 114 or exercise equipment 116, pulse oximeter, etc.) may be used to determine or generate sensor data during a warm-up exercise round (e.g., consecutive segments 1-15 corresponding to a time stamp of 0:00-1:00) used to assess the physical abilities of user 102 such as in the form of a fitness test. In some embodiments, each playlist of manifest 207 may have the same or similar warm-up portion (e.g., virtual instructor 118 may perform a predefined amount of push-ups, followed by a break or rest of a predefined period, followed by a predefined period of jumping rope, followed by a break or rest of a predefined period, followed by lunges, etc.), and the one or more sensors may monitor user 102 while user 102 performs the exercises being performed by virtual instructor 118. Biometric data (e.g., heart rate measurements) and/or other data (e.g., time to complete the warm-up portion of the exercise, form or posture during the warm-up exercise) of user 102 may be gathered using the sensors, including physical activity, organic function and vitals of user 102 and/or the media application may receive information from the user (e.g., calories consumed recently, exercise preferences or goals, hours of sleep the user had the prior night, etc.). In some embodiments, the media application may utilize a microphone (e.g., microphone 518 of
In some embodiments, the media application may analyze, based on input received from the one or more sensors, and during the warm-up portion of the workout or other portions of the workout, a range of motion of user 102 (e.g., to identify improper form or posture or an asana of user 102 and/or potential muscle stiffness, spasms or cramps during an exercise; tendencies or attributes of the user such as whether the user is right- or left-handed); the agility of user 102; spatial constraints of user 102 (e.g., proximity of user 102 to walls or other structures or objects that may hinder the ability of user 102 to utilize a full range of motion for a particular exercise). The playlist of manifest 207 presented to user 102 may be dynamically updated based on the above-mentioned analysis. In some embodiments, the media application may provide feedback to the user to improve his or her posture or form (e.g., reduce the arch in the upper back region during the plank workout). In some embodiments, each sequence of segments may be tagged with various attributes pertaining to a workout or exercise session, in order to dynamically curate and/or alter the current or subsequent audiovisual track in the playlist by taking into account the user's response to the workout. For example, dance fitness segments (e.g., Zumba) may require a substantial amount of space to perform as well as a substantial amount of shoulder and leg movements, and such dance fitness segments may be tagged with attributes such as, for example, high_energy_shoulder, high_energy_leg, more_space. Based on the response of user 102 to the on going workout, the media application may extract and determine attributes of user 102 and compare the extracted attributes to the tagged dance fitness segments. In response to determining that a particular tag matches a determined attribute of the user, the media application may cause the segment associated with the particular tag to be generated for presentation in place of a current or next segment being presented. A sample matrix for a tag is shown in Table 1 below:
At 216, the media application determine whether an alternate version of the exercise of the current segment and/or an alternate version of the exercise of the next segment should be provided based on the sensor data obtained and analyzed at 215. For example, the media application may determine that a heart rate of user 102, determined based on smart device 110 or chest strap heart rate monitor 112, while performing the plank exercise during segments 16-30 of playlist 211, exceeds a predefined threshold. The threshold may be set based on the characteristics of user 102 and the attributes of the workout. Additionally or alternatively, the media application may determine, based on images captured by camera 104, that user 102 is unable to hold the push-up position of the plank (e.g., continues to put his knees on the ground during the exercise) and/or may analyze the form or posture of user 102 during the plank exercise, as discussed in more detail in connection with
In some embodiments, the media application may alter a current segment of the exercise being presented (e.g., switch from depicting virtual instructor 118 performing the plank of playlist 211 to virtual instructor 118 performing the modified plank of playlist 213) in addition to, or alternative to, adjusting the exercise of one or more of the next segments based on the projected state of the user (e.g., the media application may infer that, if the user is unable to perform the plank at an acceptable level, he or she is unlikely to be able to perform the standard burpee exercise at an acceptable level). In some embodiments, the media application may determine based on the analyzed sensor data that user 102 should be provided with an alternate, more difficult version of a workout. For example, the media application may determine that biometric data of the user indicates he or she is not over-exerting himself or herself, that user 102 completed the exercise in the allotted time or less than the allotted time, that user 102 is complaining the exercise is too easy, and/or that the form of user 102 is optimal. In such an instance, the media application may retrieve segments corresponding to a more difficult version of a current or future exercise (e.g., retrieve segments for “Advanced” instead of “Intermediate” exercises being performed by user 102). For example, a particular playlist may be selected that specifies for such a user an “extended plank” (e.g., depicting virtual instructor 118 extending her body further forward) which may add difficulty to the standard plank exercise of playlist 211. In some embodiments, in the context of a live exercise video, a particular segment may be skipped based on the input from the one or more sensors, or the media application may provide a warning notification to the user regarding the difficulty of the next exercise coupled with the current status of the user.
At 223, the media application may generate for presentation the modified segments (e.g., remaining segments of modified plank of playlist 213 and/or segments of the lighter burpee of playlist 213 in place of the corresponding segments of playlist 211). In some embodiments, the media application may provide user 102 an option that is selectable to switch back to the prior version of the workout (e.g., to switch back to playlist 211 from playlist 213). The media application may reevaluate the performance of user 102 and biometric information of user 102 during each group of segments to determine whether alternate versions of an exercise should be presented. In some embodiments, the media application may compare a biometric response of user 102 to those of other users performing a similar exercise and/or having similar traits to user 102, and determine whether an alternate version of an exercise should be presented, based on whether the biometric response of user 102 falls within an particular range of biometric responses computed based on the biometric responses of the plurality of other users.
As referred to herein, the modifying of the at least one segment performed at 223 of
In some embodiments, the media application may take into account other information in determining whether to present an additional workout. For example, the media application may receive information indicative of nutrition (e.g., calories, proteins, carbohydrates, water, etc.) recently consumed by user 102 (e.g., during the past 24 hours, or during the past 12 hours) and use this information as a factor in determining an intensity level of a workout to be retrieved. For example, if the media application receives information indicating user 102 may be dehydrated or has not consumed much food recently, this may weigh in favor of a less intense workout. As another example, the media application may receive information, e.g., entered by user 102 into his media application profile, regarding an existing injury of user 102. The media application may query a database (e.g., database 605 of
In some embodiments, data captured by one or more sensors (e.g., camera 104) may be used to extract 3D skeletal information of the plurality of users (e.g., based on the coordinates of the body parts of the user as shown in
In some embodiments, exercise equipment 116 (e.g., dumbbells, barbells, exercise bike, treadmill, or any other suitable exercise machine or equipment) may be used by user 102 based on instructions from virtual instructor 118. In some embodiments, exercise equipment 116 may be “smart” equipment comprising one or more sensors (e.g., an accelerometer) to count repetitions of an exercise (e.g., a bicep curls with dumbbells) as well as how much weight is being lifted and a time required to perform the repetitions. In some embodiments, this information may be wirelessly communicated (e.g., via Wi-Fi or Bluetooth) to the media application. Exercise equipment 116 may include one or more mechanisms (e.g., dials or rotation mechanism) to add or remove plates of weight from the equipment, to enable performing exercises with varying amounts of weight. In some embodiments, the media application may recommend a weight amount for exercise equipment 116 for a particular exercise or workout based on the biometric or other collected information of user 102 and transmit such recommendation to exercise equipment 116. Exercise equipment 116 may be configured to automatically adjust the mechanism to vary the amount of weight for the exercise based on the recommendation received from the media application, e.g., signals received from the media application may be used to control a mechanical motor (which may not be part of the portion of equipment 116 lifted by user 102) to adjust the weight or resistance of exercise equipment 116.
In some embodiments, an exercise media asset may correspond to a yoga or a Pilates class. The yoga exercise media asset may comprise one or more segments depicting a virtual instructor standing on only one foot for a predefined period of time, where the goal of the exercise is to maintain one's balance in the position and minimize movement. The media application may monitor the performance of the user to which the media asset is being provided during this exercise. For example, one or more snapshots (e.g., a still image and/or a video) may be captured by camera 104 (which may be a stereo camera system capable of capturing images from a plurality of angles to generate 3D image data, or a single camera configured to capture images from multiple locations to generate 3D image data) to capture depth information of the user, to determine the current and/or projected state of the user. If the user is not performing the exercise well (e.g., the media application determines moderate motion based on the captured images indicating that the user is losing his or her balance and struggling to maintain the form of standing on one foot only), the media application may determine that the user is likely a beginner and is unlikely to tolerate equally intense or more intense exercises in future segments that require balancing oneself, and may modify the playlist of the media asset accordingly.
In some embodiments, the media application may monitor the performance and/or biometric information of users 402 and 403 (e.g., during a warm-up portion of exercise media asset 408) based on input received from one or more sensors (e.g., camera 404; wearable devices 410, 411; chest strap heart rate 413; mobile devices 414, 415). Based on the monitored performance and/or other information received from the users (e.g., nutrition information or other preferences), the media application may determine that one of the users (e.g., user 402) is better equipped than another user (e.g., user 403) to handle a more strenuous exercise at the current time. In this instance, the media application may recommend a joint exercise for each of users 402 and 403 to participate in, where the media application may recommend that user 402 (e.g., “User B”), determined to be better equipped to handle a more intense workout, perform the more intense portion of the joint workout (e.g., performing sit-ups and tossing a medicine ball to user 403). In addition, the media application may recommend that user 403, determined to be at the current time better equipped for a less intense workout, may perform the less strenuous portion of the joint exercise of catching the medicine ball from user 402 and tossing the medicine ball back to user 402 at a suitable time). In some embodiments, the media application may recommend and/or automatically cause respective exercise equipment 416, 417 to adjust respective weight or resistance thereof based on the monitored performance and/or biometric information of user 402 and user 403. For example, if the media application determines that user 403 is likely to be capable of lifting a larger amount of weight for a particular exercise than user 402, the media application may recommend or cause exercise equipment 417 to be adjusted to a higher weight or resistance than exercise equipment.
In some embodiments, as the joint exercise media asset transitions from segment to segment, the determination of the user that is better equipped to handle a more intense portion of a joint workout may change (e.g., the input from the sensors may indicate that user 402 has become tired as a result of performing the intense workout depicted in
Control circuitry 504 may be based on any suitable processing circuitry such as processing circuitry 506. As referred to herein, processing circuitry should be understood to mean circuitry based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or supercomputer. In some embodiments, processing circuitry may be distributed across multiple separate processors or processing units, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, control circuitry 504 executes instructions for the media application stored in memory (e.g., storage 508). Specifically, control circuitry 504 may be instructed by the media application to perform the functions discussed above and below. In some implementations, any action performed by control circuitry 504 may be based on instructions received from the media application.
In client/server-based embodiments, control circuitry 504 may include communications circuitry suitable for communicating with a media application server or other networks or servers. The instructions for carrying out the above mentioned functionality may be stored on a server (which is described in more detail in connection with
Memory may be an electronic storage device provided as storage 508 that is part of control circuitry 504. As referred to herein, the phrase “electronic storage device” or “storage device” should be understood to mean any device for storing electronic data, computer software, or firmware, such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders, digital video recorders (DVR, sometimes called a personal video recorder, or PVR), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Storage 508 may be used to store various types of content described herein as well as media application data described above. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage, described in relation to
Control circuitry 504 may include video generating circuitry and tuning circuitry, such as one or more analog tuners, one or more MPEG-2 decoders or other digital decoding circuitry, high-definition tuners, or any other suitable tuning or video circuits or combinations of such circuits. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided. Control circuitry 504 may also include scaler circuitry for upconverting and downconverting content into the preferred output format of user equipment 500. Control circuitry 504 may also include digital-to-analog converter circuitry and analog-to-digital converter circuitry for converting between digital and analog signals. The tuning and encoding circuitry may be used by user equipment device 500, 501 to receive and to display, to play, or to record content. The tuning and encoding circuitry may also be used to receive guidance data. The circuitry described herein, including for example, the tuning, video generating, encoding, decoding, encrypting, decrypting, scaler, and analog/digital circuitry, may be implemented using software running on one or more general purpose or specialized processors. Multiple tuners may be provided to handle simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple-tuner recording, etc.). If storage 508 is provided as a separate device from user equipment device 500, the tuning and encoding circuitry (including multiple tuners) may be associated with storage 508.
Control circuitry 504 may receive instruction from a user by way of user input interface 510. User input interface 510 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touchpad, stylus input, joystick, voice recognition interface, or other user input interfaces. Display 512 may be provided as a stand-alone device or integrated with other elements of each one of user equipment device 500 and user equipment system 501. For example, display 512 may be a touchscreen or touch-sensitive display. In such circumstances, user input interface 410 may be integrated with or combined with display 512. Display 512 may be one or more of a monitor, a television, a display for a mobile device, or any other type of display. A video card or graphics card may generate the output to display 512. The video card may be any processing circuitry described above in relation to control circuitry 504. The video card may be integrated with the control circuitry 504. Speakers 514 may be provided as integrated with other elements of each one of user equipment device 500 and user equipment system 501 or may be stand-alone units. The audio component of videos and other content displayed on display 512 may be played through the speakers 514. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers 514.
The media application may be implemented using any suitable architecture. For example, it may be a stand-alone application wholly-implemented on each one of user equipment device 500 and user equipment system 501. In such an approach, instructions of the application are stored locally (e.g., in storage 508), and data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). Control circuitry 504 may retrieve instructions of the application from storage 508 and process the instructions to rearrange the segments as discussed. Based on the processed instructions, control circuitry 504 may determine what action to perform when input is received from user input interface 510. For example, movement of a cursor on a display up/down may be indicated by the processed instructions when user input interface 510 indicates that an up/down button was selected.
In some embodiments, the media application is a client/server-based application. Data for use by a thick or thin client implemented on each one of user equipment device 500 and user equipment system 501 is retrieved on-demand by issuing requests to a server remote to each one of user equipment device 500 and user equipment system 501. In one example of a client/server-based guidance application, control circuitry 504 runs a web browser that interprets web pages provided by a remote server. For example, the remote server may store the instructions for the application in a storage device. The remote server may process the stored instructions using circuitry (e.g., control circuitry 504) to perform the operations discussed in connection with
In some embodiments, the media application may be downloaded and interpreted or otherwise run by an interpreter or virtual machine (e.g., run by control circuitry 504). In some embodiments, the media application may be encoded in the ETV Binary Interchange Format (EBIF), received by the control circuitry 504 as part of a suitable feed, and interpreted by a user agent running on control circuitry 504. For example, the media application may be an EBIF application. In some embodiments, the media application may be defined by a series of JAVA-based files that are received and run by a local virtual machine or other suitable middleware executed by control circuitry 504. In some of such embodiments (e.g., those employing MPEG-2 or other digital media encoding schemes), the media application may be, for example, encoded and transmitted in an MPEG-2 object carousel with the MPEG audio and video packets of a program.
Although communications paths are not drawn between user equipment devices, these devices may communicate directly with each other via communications paths as well as other short-range, point-to-point communications paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 702-11x, etc.), or other short-range communication via wired or wireless paths. The user equipment devices may also communicate with each other directly through an indirect path via communication network 606.
System 600 includes a media content source 602 and a server 604, which may comprise or be associated with database 605 (e.g., user information database storing exercise information of a plurality of users and profile information regarding the users). Communications with media content source 602 and server 604 may be exchanged over one or more communications paths but are shown as a single path in
In some embodiments, server 604 may include control circuitry 611 and a storage 614 (e.g., RAM, ROM, Hard Disk, Removable Disk, etc.). Storage 614 may store one or more databases (e.g., user information database storing exercise information of a plurality of users and profile information regarding the users). Server 604 may also include an input/output path 612. I/O path 612 may provide device information, or other data, over a local area network (LAN) or wide area network (WAN), and/or other content and data to the control circuitry 611, which includes processing circuitry, and storage 614. The control circuitry 611 may be used to send and receive commands, requests, and other suitable data using I/O path 612, which may comprise I/O circuitry. I/O path 612 may connect control circuitry 604 (and specifically processing circuitry) to one or more communications paths.
Control circuitry 611 may be based on any suitable processing circuitry such as one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or supercomputer. In some embodiments, control circuitry 611 may be distributed across multiple separate processors or processing units, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor). In some embodiments, the control circuitry 611 executes instructions for an emulation system application stored in memory (e.g., the storage 614). Memory may be an electronic storage device provided as storage 614 that is part of control circuitry 611.
Server 604 may retrieve guidance data from media content source 602, process the data as will be described in detail below, and forward the data to user equipment devices 608, 609, 610. Media content source 602 may include one or more types of content distribution equipment including a television distribution facility, cable system headend, satellite distribution facility, programming sources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.), exercise programming sources (e.g., Peloton, Samsung Health, Amazon Prime Fitness, Apple Fitness, NordicTrack, Lululemon Mirror, etc.), intermediate distribution facilities and/or servers, Internet providers, on-demand media servers, and other content providers. NBC is a trademark owned by the National Broadcasting Company, Inc., ABC is a trademark owned by the American Broadcasting Company, Inc., and HBO is a trademark owned by the Home Box Office, Inc. Media content source 602 may be the originator of content (e.g., a television broadcaster, a Webcast provider, etc.) or may not be the originator of content (e.g., an on-demand content provider, an Internet provider of content of broadcast programs for downloading, etc.). Media content source 602 may include cable sources, satellite providers, on-demand providers, Internet providers, over-the-top content providers, or other providers of content. Media content source 602 may also include a remote media server used to store different types of content (including video content selected by a user), in a location remote from any of the client devices. Media content source 602 may provide exercise videos associated with a plurality of segments and alternate versions of exercises as described above.
Client devices may operate in a cloud computing environment to access cloud services. In a cloud computing environment, various types of computing services for content sharing, storage or distribution (e.g., video sharing sites or social networking sites) are provided by a collection of network-accessible computing and storage resources, referred to as “the cloud.” For example, the cloud can include a collection of server computing devices (such as, e.g., server 604), which may be located centrally or at distributed locations, that provide cloud-based services to various types of users and devices connected via a network such as the Internet via communication network 606. In such embodiments, user equipment devices may operate in a peer-to-peer manner without communicating with a central server.
At 702, control circuitry (e.g., control circuitry 504 of
At 704, control circuitry (e.g., control circuitry 504 of
At 706, control circuitry (e.g., control circuitry 504 of
At 708, control circuitry (e.g., control circuitry 504 of
At 710, control circuitry (e.g., control circuitry 504 of
At 712, control circuitry (e.g., control circuitry 504 of
At 714, control circuitry (e.g., control circuitry 504 of
At 716, the control circuitry may generate for presentation the modified segment(s) to the user, e.g., the “Modified Plank” exercise of playlist 213, and continue to monitor the performance of the user via the one or more sensors during the modified segment(s).
At 718, control circuitry (e.g., control circuitry 504 of
At 720, the control circuitry may determine whether any segments remain in the media asset, e.g., any segment sequences corresponding to an additional exercise of the selected media asset (e.g., media asset 108 of
At 722, control circuitry (e.g., control circuitry 504 of
At 802, control circuitry (e.g., control circuitry 504 of
At 804, control circuitry (e.g., control circuitry 504 of
At 806, control circuitry (e.g., control circuitry 504 of
At 808, control circuitry (e.g., control circuitry 504 of
At 810, control circuitry (e.g., control circuitry 504 of
In some embodiments, prediction module 810 may comprise a machine learning model, e.g., a neural network, that is trained to take as input various scores or characteristics represented in vector form (e.g., associated with biometric data, posture or form, a likelihood that a workout may aggravate an injury, nutrition or lifestyle habits) and output a probability that an alternate version of a workout should be provided. For example, the control circuitry may train the machine learning model using labeled training data (e.g., a series of scores or characteristics in vector form) paired with an indication of whether the determination of whether to provide an alternate version of an exercise was successful (e.g., based on user feedback and/or measured performance of the user of the training example). Thus, the machine learning model may be trained to recognize certain patterns of input data as predictive of whether an alternate exercise should be provided. At 812, the control circuitry may determine whether the alternate version of the exercise or workout should be provided based on the probabilities output by the trained machine learning model.
The processes discussed 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 invention. 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.