N/A
N/A
N/A
N/A
1. Field of the Invention
This invention relates generally to apparatus, systems and methods useful in delivering video information over the Internet to users, and more particularly to apparatus, systems and methods useful in providing suggested video files to users based on a number of factors, which may include recency, primacy, user-expressed preferences, and user-inferred preferences in a way that personalizes the video information delivered.
2. Background of the Invention
Over the last decade or so, there has been a substantial growth in the widespread use of the internet for the delivery of a wide variety of types of information, including for example, news and entertainment. Often, this use of the Internet was via a computer, such as of any conventional type, including personal computers (whether portable or not) at home or at work. In addition, over the last decade, there has been a substantial growth in the use of wireless communications and wireless devices in connection with the delivery of different types of information, also including, for example, news and entertainment. For example, as smartphones have become more conventional for consumer use, such devices have become widely used, not just for email, text messages, and telephone calls, but for wireless communications involving Internet access and browsing, social media, and sending and receiving photographs, audiovisual files, and beyond.
It is conventional for a smartphone to include one or more software programs, often referred to as an application (sometimes referred to as an “app”), that can run on the smartphone and allow the user to access a variety of services. Examples of such applications include applications for Facebook, Twitter, and Instagram for social media, applications for American Express and JPMorgan for financial services and information, applications for CNN, BBC, and ESPN for sports and news, and so forth. In some cases, a smartphone may already include one or more of such applications in its memory when purchased by a customer, or in other cases a smartphone user may choose to install one or more applications, such as by downloading the applications via the Internet for example. Although these examples refer to smartphones, it is conventional for users of tablet computers and similar devices to also install and use (or simply use pre-installed) applications on their devices for a wide variety of types of information.
It is conventional for users of such devices to view video files on their devices. A number of video provider services are available via the Internet, such as YouTube.com, Vimeo, and Vine, for example. Such services typically allow users to create an account which can be used to upload video files to the service's computers, with the service then making the uploaded video available to all via the Internet. Such services may suggest one or more additional videos to a user who has finished watching a video. In addition, a number of news providers or entertainment providers maintain websites accessible via the Internet and from which a user of such a device can view videos, as well as read articles, view photographs, and so forth. Such news and entertainment providers may also suggest articles, photographs, and/or videos based on a user's viewing of a video, review of an article, review of a photograph, or the like, for example. Some conventional Internet sites which provide video information allow a user to connect and obtain information via an Internet browsing software program (such as Google Chrome, Apple Safari, and Microsoft Internet Explorer, for example), in addition to or in lieu of the use of some or all of the phone applications like those noted above.
Some Internet-based video and information services like those mentioned often allow, and sometimes may require, a user to create an account with the service. In some situations, the user may be required to login to the user's account in order to post or upload a video or information, may be required to login in order to access some or all of the content available from the service, and/or may be required to login in order to minimize or eliminate the number or time of advertisements displayed on the user's device before the user is able to access the content requested by the user. In other situations, a service may simply make all content accessible without regard to whether a user has an account or has logged in to an account. In still other situations, a service may use cookies or simply data or software to recognize a user or device that has previously requested content from a service and may then grant access as deemed appropriate for that particular user. Some services also may allow users to subscribe to the service, which subscription may or may not involve a charge, such as to a credit card, bank account, PayPal account, or other payment system. In some situations, such a service may provide a higher level of service or greater access to the subscribing users, such as, for example, providing subscribers with access to more content than non-subscribers, providing access to certain content sooner to subscribers than to non-subscribers, providing priority in terms of allocating bandwidth and responding to subscribers versus non-subscribers, providing subscribers with the ability to download video or otherwise access content in ways not available to non-subscribers, and the like.
Conventional Internet-based services have attempted to find ways to determine the interests of their users and provide suggestions or recommendations of additional content tailored to the interests of the users. For example, some services will ask the users what they prefer or like, such as part of the account creation process. Some services attempt to infer the interests of the users based on a variety of information. For example, U.S. Pat. No. 8,473,500 B2, issued on Jun. 25, 2013 to Baluja et al., and titled “Inferring User Interests,” describes a method of determining label values for users of a social network, with the label values representing an inferred interest level of the users of the social network in subjects indicated by the labels. Similarly, U.S. Pat. No. 8,683,521 B1, issued on Mar. 25, 2014 to Gargi et al., and titled “Feature-Based Video Suggestions,” describes a method and system for generating suggestions of videos by generating values based on the number of times pairs of videos are co-watched, and generating ranking scores of videos in a set of candidate videos, with the highest-ranked videos provided as suggestions for a given video. In U.S. Pat. No. 8,768,958 B1, issued on Jul. 1, 2014 to Baluja et al., and titled “Predictive Information Retrieval,” methods are described by which a server determines, in response to a request for information from a user, one or more predictive follow-up requests for information before actually receiving a follow-up request, and then beginning the retrieval of information for such one or more follow-up requests. We hereby incorporate by reference U.S. Pat. Nos. 8,473,500 B2; 8,683,521 B1; and 8,768,958 B1 as if fully set forth herein.
A variety of conventional approaches exist with respect to placing orders for and paying for a wide variety of goods and services over the Internet. One example is provided by the so-called Amazon.com “one-click” patent, U.S. Pat. No. 5,960,411 issued Sep. 28, 1999 to Hartman et al., which describes systems and methods which allow a vendor system to store information regarding a user, including payment information associated with the user, such as the user's credit card information needed to process a transaction by which the user pays for goods or services for an online order with the credit card, and then allows the user to finalize a transaction ordering goods or services and paying for same with a single click of an icon displayed for confirming the transaction. U.S. Pat. No. 5,960,411 is hereby incorporated by reference as if fully set forth herein.
The present disclosure provides computer systems, apparatus, and computer-implemented methods providing personalized delivery of video files to a user's computing device, such as a computer, smartphone, tablet, or other type of device. In one embodiment of the disclosure, a computer server includes software programmed to allow a user to create a user profile which includes information about certain user preferences, such as a favorite subject matter, favorite participant(s) and the like and, when a user connects to the computer server, the server checks the user profile for the user and also checks a video database for video files of potential interest to the user, assigns points to the various video files based on the user profile, and generates a ranking of video files of potential interest to the user, then provides information and one or more of the video files to the user in order of the ranking. In one embodiment, the highest-ranked video file is streamed to the user's device and information (such as a title and screen capture image) regarding a plurality of other video files is sent to the user's device. The ranking of the video files may be based on a variety of inputs, including both express and/or implied user preferences, the elapsed time between the publication of a particular video file and the user's connection to the server or request for the video, the subject matter of the video file, the teams, players, and other persons included in the video file, the length of the video file, and a variety of other information about the video file. In one embodiment of the present disclosure, a computer system for providing video files is disclosed, with the computer system comprising a video database comprising a plurality of video files and information associated with each of the plurality of video files, a user database comprising a plurality of user profiles, each user profile comprising information associated with a corresponding user, at least one computer server in communication with the video database and user database and connected to at least one computer network (which may, for example, include the internet, a wireless cellular telephone network, a WiFi network, and/or other types of networks), and software executable on the computer server, with the software operable to receive requests for information from at least one second computer connected to the network, check to determine if the second computer requesting information is associated with an existing user profile and, if the second computer requesting information is associated with an existing user profile, generate a listing of a plurality of video files of potential interest to a user associated with the user profile, generate a ranking of the video files in the listing based at least in part on the time between the publication of at least one of the video files and the time of the request by the second computer in the network, retrieve information associated with a plurality of the highest ranked video files from the video database, transmit information associated with the plurality of video files to the second computer, and transmit the at least one of the video files to the second computer, such as by beginning to stream the video file to the second computer. In one embodiment, the user profile comprises at least one or more of the following: at least one preselected sports team, at least one preselected person, at least one preselected category of video file, at least one preselected category of subject, information regarding a user's fantasy football team or league, a log of a plurality of video files which have been previously transmitted in whole or in part to a device associated with the user profile and for which a positive response was previously received by the computer server, as well as a log of video files previously transmitted in whole or in part to a device associated with the user profile and for which a negative or neutral response was previously received by the computer server. In another embodiment, the ranking of the plurality of video files is further based at least in part on one or more of the following: the subject matter of the video files, at least one sports team appearing in the video files, and at least one person appearing in the video files, wherein the sports team and the person correspond to a team and a person included in the user profile for the computer requesting the information. In another embodiment, the sports team comprises a professional football team, the person comprises a professional football player, and the subject matter comprises at least one of the following types of subject matter; touchdown, sack, blitz, reception, first down, penalty, interception, fumble, tackle, block, blocked pass, hit, run, score, punt, punt return, kickoff, kickoff return, point after touchdown, pass, field goal, preseason, regular season, playoff, superbowl, or the like. In another embodiment, the ranking of video files is based on assigning different values to different video files based at least in part on one or more categories of subject matter of the corresponding video files and an elapsed time between the publication of each of the video files and the time the second computer requests information from the computer server, with at least one category of subject matter associated with a higher value than at least one other category of subject matter. In yet another embodiment, the second computer is any one of the following types of computing devices: desktop computer, laptop computer, videogame console, tablet, or phone. In another embodiment, the software on the computer server is operable to generate a log of video files and related information most recently transmitted to the second computer and, if the connection between the second computer and the computer server ended while a video file was being played on the second computer, a point during the video file at which the playing of the video file ceased when the connection was ended. In still another embodiment, the video database comprises a first group of video files, wherein the first group of video files comprises video files each of which has a publication date more recent than the other video files stored in the video database and not in the first group of video files, the software executable on said computer server is operable to search the data associated with the first group of video files to generate the ranking of the plurality of video files of potential interest to the user. In addition, one embodiment comprises a computer server which further comprises software operable to receive a first plurality of video files and information regarding the first plurality of video files from one or more authorized computing devices via a computer network (which may be the same as or different than the network used by the second computer mentioned above) and store the first plurality of video files and information regarding the first plurality of video files in said video database. In other embodiments, the first group of video files comprises any of the following ranges of video files: a range of between 50 and 50,000 video files, a range of between 100 and 25,000 video files, and/or a range of between 500 and 1,500 video files.
In another embodiment of the present disclosure, a computer system for viewing video files is disclosed, with the computer system comprising a computing device in communication with a computer network, and having a display, a processor, a memory, and a user input system, software executable on said computing device, with the software operable to transmit a request for information to the network and, via the network, to a computer server, to receive a response from the computer server, wherein if the computing device is associated with an existing user profile accessible by the computer server, the computer server transmits to said computing device a list of a plurality of video files of potential interest to a user associated with the user profile, wherein the list of the plurality of video files is ranked in an order based at least in part on the time between the publication of at least one of the plurality of video files and the time of the request by the computing device, to receive information associated with a plurality of the highest ranked video files from the computer server, and to display the at least one of such video files on said computing device, wherein the computing device may comprise any computing device, including one of the following: desktop computer, laptop computer, videogame console, tablet, or phone. In another embodiment, the software is operable to allow a user to input preference information comprising information about one or more sports teams, one or more players, and/or one or more categories of video files, to transmit the preference information to a computer server for generating a user profile, and operable to receive one or more video files from the computer server responsive to a user profile comprising the preference information.
In another embodiment of the present disclosure, a computer system for providing video files is taught, with the computer system comprising at least one database comprising a plurality of video files, information associated with each of the plurality of video files, and information associated with a plurality of users, at least one computer server in communication with said database and connected to at least one computer network, software executable on the computer server, with the software operable to receive requests for information from at least one second computer in the network, check to determine if the second computer requesting information is associated with an existing user profile stored in the database and, if the second computer requesting information is associated with an existing user profile, generate a ranking of a plurality of video files of potential interest to the user based at least in part on the time between the publication of at least one of the video files and the time of the request by the second computer in the network, retrieve information associated with a plurality of the highest ranked video files from the database, and transmit information associated with the plurality of video files to the second computer. In another embodiment, the software is operable to, in response to a second request from the second computer requesting at least one of such video files, transmit the at least one of the video files requested to the second computer requesting the video file in the network. In another embodiment, the information associated with the plurality of video files further comprises at least a portion of one of the video files and a title associated with the one of the video files. In another embodiment, the database comprises a video database and a user database, wherein said video database comprises a plurality of video files and information associated with the video files stored in non-volatile memory, and wherein said user database comprises information associated with a plurality of users stored in non-volatile memory. In yet another embodiment, the information associated with a plurality of users comprises information regarding user preferences.
Finally, in still other embodiments, computer-implemented methods are disclosed for providing personalized delivery of video files from a database comprising a plurality of video files and information associated with a plurality of users, wherein when a user device connects to a computer server over one or more networks, the server checks to determine if the device is associated with an existing user profile and, if so, checks to see if there is a partially-watched video file associated with that user profile and, if so, begins transmission of that video file to the user, and alternatively or simultaneously, searches a first group of video files with the most recent publication dates for information associated with the user's profile, assigns points to video files based on user preferences and/or user viewing habits and/or other user information stored in the user profile, generates a ranking of the video files based on the points assigned to the video files based on the user preferences, and begins transmitting the highest-ranked video file to the user and/or provide the user with information associated with a number of the next-highest ranked videos (for example, the title, running time, and/or image from the video file), such as the second-highest, third-highest, fourth-highest, and so on, and wherein the number of the next-highest ranked videos for which information is provided depends at least in part on the type of device currently used by the user and connected to the server.
Referring first to
As shown in
Still referring to
The server 20 has software 22 installed and running on it which is configured and operable to receive and respond to requests for information received via the network 10 from devices 1-6. Devices 1-6 may send requests for information to the server 20 in a number of ways. First, some or all of devices 1-6 may have Internet browsing software and one or more application software programs configured to send requests for information to server 20 in response to a command or request from the user to device 1-6. For purposes of simplicity, the following illustrative example focuses on the case in which a user uses Internet browsing software on one or more of devices 1-6 to request information from server 20. However, those skilled in the art will appreciate that the computing devices 1-6 may have software applications installed and running thereon, with such applications operable to connect to the server 20 via the network 10 and transmit information to and receive information from the server 20, display the video files, and otherwise allow the user to access and interact with the information in database 25 and video database 30 as described below. Moreover, it will be appreciated that some or all of the user information described in the examples below can be stored on the computing devices 1-6 as may be desired.
Also shown in
In this embodiment, operators may use the computers 50-52 to transmit video files and related information to server 20 to be stored in database 25 and/or video database 30. For example, the NFL computer 50 may be used to transmit video files created or obtained by the NFL to the server 20 and to video database 30, such as, for example, archive footage from past movies, shows, and games, pre-game shows and analyses, shows regarding the NFL Draft, Combine, Pro-Bowl, Super Bowl, and/or other NFL events, news shows, commentary, and the like, as well as live game broadcasts, highlights from past and ongoing games, and the like. In addition, server 20 may transmit requests for and obtain information from the NFL computer 50. For example, if the NFL computer 50 has access to fantasy football league and user information, such information may be useful and used by server 20 as described below. Similarly, the server 20 may request information from the NFL computer 50 such as video files, programming guides, schedules, and a wide variety of information that may be useful and used as described below. In this example, the team computers 51 and 52 may be used to provide team-specific video files and information to the server 20, such as via the NFL computer 50 or via the network 10. It is anticipated that the team computers 51 and 52 (and the NFL computer 50, for that matter) may be located at geographically distinct locations potentially hundreds or even thousands of miles away from the location of server 20. However, it is also possible that the team computers 51 and 52 could be directly connected to the server 20 if so desired. The team-specific information and video files to be provided via the computers 51 and 52 could be any one of a variety of types, including video of summer camp, team meetings, public or private events involving team members or representatives, pre-game warm-ups or meetings, halftime talks, and post-game events, among others. Those skilled in the art will appreciate that although
In this embodiment, the software 22 installed and running on server 20 has one or more programs which have instructions for requesting and responding to requests for information that may be received from computers 50-52. The software 22, for example, is programmed to allow the computers 50-52 to be used to upload or transmit video files and related information regarding the files to the server 20 and video database 30. The software 22 is programmed to manage the handling and storage of such video files and related information in the video database 30.
Referring now to
Referring now to
Still referring to
Referring now to
In addition to or in lieu of the foregoing process for allowing a user to indicate the user's preferences, the following approach can be used. In one embodiment, the default screen displayed to a user who is recognized as a returning user, or to a new user who has just registered, can be a particular screen “channel” from one of a potential number of “channel” screens, which may also include, for example, a highlights channel, a classic games channel, a gameday channel, and the like. The default screen can be a “My Channel” screen display to provide the personalized information for that particular user in accordance with the user's user profile information, or the My Channel screen can be accessed by a user by clicking on a button labeled as “Settings,” “Tools,” or the like, or an icon to indicate that it allows the user to access the user's profile, account, settings, preferences, tools, or the like. The My Channel screen 500 can include a series of slider bars 501 and 502 such as illustrated in
A visualization data field 580 is included in the My Channel screen 500 shown in
In another embodiment, the My Channel screen 500 may include a series of icons (not shown) labeled by the tags or identifiers used and associated with the various video files. For example, such tags may include team name, player name, coach name, type of play, type of game, and any one of a variety of types of information about some or all of the video files available in the video database, including the tags listed below. In this embodiment, the user is allowed the opportunity to select all or some of the tags to indicate the user's preferences for video files. The use of such tags to indicate user preferences may be in addition to or in lieu of the approaches indicated above to allow a user to indicate preferences.
The My Channel screen 500 display may also include an icon allowing the user to reset the user preferences. For example, an icon of a button or the like may be provided that is labeled “Reset Preferences” or the like. If the user presses this button, the system may provide a dialog box on the display asking the user to confirm that the user wishes to reset the user's preferences to default settings and does not wish to have the prior preferences stored. In such a situation, the user's confirmation of a reset will result in the deletion of the previously indicated user preferences and restoration of default settings (such as having the slider bars placed at the middle position with the resulting weights given to such information). In this embodiment, a user may be allowed to reset the preferences associated with the slider bars 501 and 502, for example, yet retain the user preferences provided otherwise, such as the selection and input of team and user favorites. It will be understood that each time a user adds to or otherwise modifies his or her preferences, the user's profile in database 25 is updated by server 20 so that the additional and/or modified preferences are stored in non-volatile memory.
As shown in
Referring back to
Referring now to
Referring now to
As also shown in
Still referring to
Those skilled in the art will appreciate that the icons shown in
The server 20 (shown in
Referring now to
In one particular embodiment, the highest-ranked video can automatically begin streaming to the user's device and be displayed on such device. The user can then choose to watch the highest-ranked video in full or in part, or to skip the video such as by clicking on a skip icon on the display on the user's device, or by clicking on the title of another video displayed on the user's screen or the image for another video displayed on the user's screen. Such action by the user will be sent by the user's device to server 20. If the user simply performs an action interpreted as a skip command, then the server 20 will either begin streaming the second-highest ranked video on the list, or the server 20 can perform another search of the first thousand group of videos (which may have been updated since the user began watching the highest-ranked video in the initial list) and generate another ranking of videos and then provide updated video information to the user based on the second ranking (e.g., begin streaming the highest-ranked video in the second list and provide the titles and/or screen image(s) for additional videos in the list). The server 20 may be programmed to perform such additional searches and rankings for each user on a scheduled basis (e.g., every two minutes while the user is connected to or logged into the server 20), on a basis such as directed by the user (e.g., the user clicks an icon titled “Generate a New List of Videos” or the like), or on a combination of some user action or inaction, timing, and the remaining time status for a video currently being streamed to the user's device.
The server 20 can be programmed with a personalization engine program (which in
In one embodiment, a listing of a substantial number of the most recently added video files is maintained by the server 20, such as in database 25 or in video database 30. In this particular embodiment, the video database 30 includes a file which has a list of the 1,000 video files most recently added to the video database 30, based on each video file's publication date and time and, if the video file has been modified or edited, the modify or edit date and time. Typically, the publication date and time would be the date and time that a video file has been made available to users via server 20, not necessarily when a video file has been added to video database 30. This group or first set of a thousand video files and its listing can be updated frequently by the server 20, such as by updating hourly at pre-scheduled times, or by updating the listing whenever a new video file has been added to the video database 30. (As previously noted, such video files may be added to the video database 30 by teams and the NFL, such as via computers 50-52 shown in
In this particular embodiment, when a user logs into the server 20 or connects via an application on a phone or other device, and is recognized by the server 20, the personalization engine portion of the software 22 running on server 20 automatically searches through the listing of most recent video files, assigns point totals to each of the video files included in the listing, and then returns a list of the most relevant video files for that particular user in order of ranking, with the video file with the highest point total listed first, the video file with the next highest point total listed next, and so on. Depending on the operating system or device platform being used by the user when logging in or connecting to the server 20, the number of video files retrieved and listed for the user may vary. For example, a list of ten video files may be provided and displayed to the user by the server 20 if the user device happens to be a computer, but may include a list of only five video files if the user happens to be using a phone. In this manner, the server 20 (and the personalization software engine portion of the software 22 running on server 20) can personalize the list of video files delivered to the user. Moreover, if the video database 30 is updated constantly as video files and related information are sent to the server 20 (such as via computers 50-52) by the server 20, the group of a thousand most recent video files will be changing and therefore the ranking of the video files of potential interest to a given user may be changing as well.
In this particular embodiment, the server 20 can assess a weighted dynamic score for each video file. In this embodiment, a score or value is determined by adding up an aggregate score of points assigned to various factors associated with each video file. In some cases, the aggregate score may result from the addition of points for some factors and the subtraction of other points for other factors. For some factors, such as team(s) and player(s) associated with a video file, the server 20 assigns a score of, for example, 50 points each for a match between a team associated with a video file and a team associated with a user as a favorite, as well as 50 points for each match between a player associated with a video file and with a user as a favorite.
Similar assignments of points can be made for other matches between the other information associated with a video file and the user's profile. Such point assessments can be the same for each match or can vary depending on the particular match involved. For example, if a user indicates one favorite team, but multiple favorite players which are on different teams in the current season, a greater number of points can be assigned for the match of teams (e.g., 50) and a lesser number of points assigned for each match of players (e.g., 5). In one embodiment, a user may be able to express or indicate the weight that the user places on the various matches and thus affect the weighting system used to personalize the delivery of videos to the user.
Although not displayed to the user, in the particular embodiment shown in
The points listed in Table 1 may be added to the total points assigned to a video file in order to assist in determining the video file's relative ranking for a given user as compared to the scores of other video files. For example, if the user adjusts the slider bar 501 to the far left position (i.e., the spot 1 position), then an additional eight points is added to the total score for each video file that is associated with that user's favorite team(s). If the slider bar 501 is in the default position (i.e., spot 5 position), however, then no points will be added or subtracted as a result of the location of the slider bar 501. Similarly, the movement of the slider bar 502 to the left of spot 5 will result in the subtraction of points from video files that are associated with fantasy football, but if the slider bar 502 is moved to the right of spot 5, then additional points will be added to the score for each video file that is associated with fantasy football. Those skilled in the art will appreciate that these particular points and specific point assignments can vary or can have more variations than those described in this embodiment, and can be varied depending on other factors, such as, for example, the subject matter of the video, the recency of the video file, or other factors as described herein (such as the tags identified below). For simplicity, however, the foregoing examples do not add additional rules or dependencies to the points to be assigned based on these slider bar 501 and 502 locations.
To account for a user's likely decreasing interest in certain types of video content over time, the weighted dynamic score of a video file can be adjusted, either up or down. In addition, the adjustment for decreasing interest over time (e.g., a decay rate) can vary depending on the type of subject matter of a given video file, as well as the time and date of the publication or creation of the video file, the time and date of the user's request for information or accessing of the service, and the like. For example, different adjustment factors for such a decay rate in likely interest in different types of video files can be assigned as in the following table:
In this example, the decay rate in the table can be added to the points assigned to a video file based on other factors. The recency of each video clip in this example refers to the time between the video file's publication and the time of the ranking of the video clip by the software executing on server 20. In this specific example, there are four different categories of videos. Publication here refers to the date and time when the video file is indexed and stored in video database 30 and thus available, but could also refer to the date and time first provided to server 20. The “Highlight” category of the present example may include videos from a recent game, or videos from one or more past events in an on-going game or other event, such as the NFL Combine, Draft, or the like. Videos in the “Team Sound” category of the present example may include videos that are team-specific, such as videos of a team meeting, practice, pre-game warm-up, or events in a team's locker room before, during or after a game, such as a pre-game or half-time talk, for example. Such video clips may also include public or private events attended by team members, players, coaches, owners, cheerleaders or other personnel or representatives. The “Show” category of the present example may include videos captured at any show regarding a sporting event, such as a news show or a preview show before or after a game or other event. The “Rundown” category of the present example may include a unique category of video files. In this particular embodiment, for example, the “Rundown” category comprises relatively short video files that are primarily quick summaries of current news, such as a one-minute or two-minute video segment like a “need to know” news summary of recent events. Typically, such segments do not necessarily relate to only one team. It can be seen in Table 2 that no particular points are associated with the Rundown video category or the recency of such video files. In this embodiment, the server 20 and software 22 are designed to present a user with a Rundown video file at the beginning of a user's session when the user logs in or otherwise connects to server 20. This may be done for any number of reasons, such as to ensure that the user is shown a promotional video or banner display from a sponsor or advertiser or because a team or league wants to ensure that certain information is provided to as many people or through as many outlets as possible, for example. Those skilled in the art will appreciate, however, that the Rundown videos could be assigned points as desired and in such case would not necessarily be ranked higher or lower than other videos, depending on a given user's preferences and the content of the Rundown video(s) relative to other videos in other categories.
By assigning points based on a decay rate for different categories of videos, the frequency with which a given video may be presented and/or played can be altered depending on the category of the video. For example, highlight video files less than an hour old can be assigned a score of 100 points due to their recency, indicating a much higher likely interest level than a highlight video file created three days earlier. As indicated by the points listed in Table 2, different types of video files likely have different decay rates at which interest decreases from the time of publication, and points can be assigned to the video files based on their type and the time since their publication to account for and reflect such decreasing interest over time. In some cases, one or more video files may be modified; in such cases, we may base the recency and decay rate weighting on the publication date and time of the modified file instead of the initial publication date and time.
For one specific example of the generation of a dynamic weighted score for a specific video file, consider the following situation. A user who has already established an account and user profile is logged into the server 20 and viewing a video file. This particular user has indicated (and the relevant information is therefore stored in the user's profile) that the San Francisco 49ers are a team favorite, and Vernon Davis is a player favorite. (For this example, it is also determined that this particular user, however, has not used the slider bars 501 and 502 (shown in
In addition, various points or blanket rules may be adopted with respect to certain video files for potential listing or display for a user. For example, it may be desirable to implement a rule that prevents the suggestion of a video file to a user which the user has either viewed, viewed partially and skipped the remainder, or has skipped entirely in the past, as reflected by a log of such user's activity. At the same time, however, such a rule may have exceptions, such as may be desired if the log of video files viewed by the user demonstrates that the user has viewed one or more video files two or more times, thus indicating that the user does not necessarily mind and may in fact enjoy viewing some video files on multiple occasions. In addition, it may be desirable to prevent the suggestion of display of certain types of video files to a user who is connected with a particular type of device or with a particular type of connection.
A user's viewing behavior may be monitored and used to affect the ranking of video files to be suggested and displayed to the user. When a user is presented with a screen displaying a video file, the display may include icons such as buttons which the user may click to indicate that the user “likes” or “dislikes” the video file being shown. In one embodiment, if the user clicks the “dislike” button, the server 20 can skip the video currently being displayed and move to the next video in the ranking for the user, in addition to logging the user's dislike in the user profile. The user's like and/or dislike icon clicks and skipping of video files can be used to adjust the points allocated to video files for future rankings for that user in a variety of ways. In one particular embodiment, points can be added or subtracted to the points provided for the tags corresponding to a video file which is the subject of one of such actions by a user. For example, if the user clicks the “like” icon, one additional point can be added to the points provided by each tag corresponding to that video file. If the default number of points for a favorite player tag is 20, for example, and the video file involves three players, when the user clicks the “like” button, the server 20 is programmed to adjust the points to be provided in connection with each video file which includes one of the players in the subject video file by adding two points. If the user clicks the “dislike” button, the server 20 is programmed in this example to subtract four points for each tag associated with the video file. If the user merely skips the video file, one point may be subtracted for each tag associated with the video file. In addition, for each video file which is viewed to an extent that it is completed to a given percentage (e.g., viewed to at least 80% of completion), one point can be added for each of the tags associated with the video file. This approach allows the user's actions to influence the points assigned to video files based on their tags in common with the video file which was the subject of the user action, and thus influence the aggregate scores of video files and potentially influence the relative rankings of video files.
In one embodiment, the information associated with each video file stored in the video database 25 can be extensive. For example, the following information can be associated with each video file as a tag or other identifier and stored in the video database 25 as indicated in Table 3.
The foregoing disclosure and description has focused primarily on video or audio visual files from a particular type of event. Those skilled in the art will also appreciate, however, that during many events there are also a number of other types of data that can be captured and recorded, and such data can be used as tags or identifiers, or used with other information as tags or identifiers. For example, and staying with the example of a professional sporting event, onfield biometric data from a variety of players and/or coaches and/or officials may be captured and stored, as well as a variety of information that may be obtained from onfield sensors. Similarly, data can be captured and stored as to the GPS (global positioning system) location of players, coaches, and/or officials during a game, as well as the location of the ball or other equipment or items used in the game, at the event location, or otherwise of relevant interest, during (and before and/or after the game). For example, by capturing and storing such information during a given play in an NFL game, a running back's acceleration, path, velocity, and force of impact upon being tackled may be captured and recorded. Such information may prove useful when combined with other information, such as the time of the play during the game (e.g., the first minute of the fourth quarter), the nature of the play (e.g., a slant), the nature of the defense of the given play (e.g., a blitz with five rushers), the results of the play (e.g., a gain of five yards), and the like. For example, it may be helpful to combine the time of game and type of play as tags for video files, together with team and player information. Doing so would allow an interested user to more easily find or have suggested video files showing blocked passes by J. J. Watt in the fourth quarter of Texans games, for example.
Those skilled in the art will appreciate that the server 20 can be programmed with software 22 to monitor and store a variety of information regarding the user's actions with respect to the video files. Such information can include the following in addition to or in lieu of some or all of the user action information mentioned elsewhere herein. For each video file consumed (in any duration) by each user (on any device), the server 20 in one embodiment tracks and stores the following information: platform used for access to server 20 (e.g., desktop, laptop, tablet, etc., and operating system, such as iOS, Windows, Android, etc.); all video metadata tags for video clips begun; duration (e.g., total running time) of video files started; percent of video completed (total time watched and time into video TRT where exited/skipped); time of day for consumption of video file; Like or Dislike click actions; skip click actions; bitrate at which each video file was streamed; and interaction(s) with the video's progress bar. All such user actions can be logged and stored in database 25 in non-volatile storage.
The server 20 can also be programmed with software 22 so that if a user skips multiple video files in a row, prompts can be displayed on the user device's screen to provide a course correction. For example, if the user skips three or more video files in a row, the server 20 can be programmed so that it sends a display to the user's device, with the display asking the user why the user did not like the videos provided. The display can use tags associated with each of the skipped videos, and/or a list of the titles and/or screen capture images of the skipped videos, to help prompt the user to input more information about what the user did not like about the previously suggested videos. In addition, a display can be sent (or can be included in the same display just discussed) asking the user what the user would like to see more of and providing the tags associated with all video files as examples. In this way, the user can be prompted to expressly provide information as to the user's preferences which can then be used as desired to adjust the points to be assigned to various video files based on tags, team and player preferences, and the like which the user provides in response to such prompts.
The foregoing descriptions have referred to a number of different tags or identifier information associated with each video file. Those skilled in the art will appreciate that the tags can be data files in a variety of forms which can be associated with their corresponding video files in a variety of ways. The following data items shown in Table 4 are examples of the items which can be used as tags or identifiers for some or all of the video files as may be desired.
As indicated in
In one embodiment, the computer server 20 is programmed by software 22 to determine the type of operating system or other information about the device used by the user to access the computer server 20 and, depending on the type of platform (e.g., operating system, processor, memory capabilities, etc.) used by the user to access the server 20, may adjust the points for various types of video files, such as to give priority to shorter video files for certain types of devices. For example, the server 20 may be programmed so that, when a phone or tablet operating system is detected, the server 20 also determines whether the connection via the network 10 is a 3G cellular, LTE cellular, or Wi-Fi connection and, if a Wi-Fi connection is detected to add additional points to the aggregate point total for video files that are 20 minutes or longer, whereas if a 3G or LTE cellular connection is detected, but no Wi-Fi connection is used, additional points can be added to the aggregate point totals for video files that are less than seven minutes or so in length. Such point allocations can also vary depending on the amount of memory needed to store the video file and the connection detected. Similarly, different points can be added (or subtracted) to a video file's aggregate total of points depending on the nature of the video, the nature of the connection or user platform, and the time of day when the user accesses the server 20. For example, it may be that additional points are added to shorter video files if the connection detected is a 3G or LTE cellular telephone connection and if the connection is between the hours of 8 a.m. and 7 p.m. in a time zone, but no additional points are added if the connection between the user device and the server 20 is made after 7 p.m. in a given time zone.
In one embodiment, a user may be offered the ability to upgrade the user's level of service, such as by obtaining access to additional video files, obtaining the ability to download files, obtaining greater bandwidth, obtaining a priority allocation of computer server 20 resources, or the like, in exchange for a payment, such as by an online credit card, PayPal or other form of online payment, for example. Such option for a higher level of service may include more than two levels of service (e.g., a free level of service and a paying level of service). For example, a given level of service may include greater access to a particular team's collection of video files, may provide access to particular video files sooner than they become available otherwise, and the like. In addition, those skilled in the art will appreciate that the computer server 20 may be programmed so that it does not present an initial ad or commercial to a paying user, or otherwise subject the paying user to commercials. Those skilled in the art will appreciate that the computer server 20 can be operable to accept and verify online payments for enhanced service and automatically authorize such enhanced service as may correspond to a particular payment in any one of a number of conventional ways.
Although not shown, those skilled in the art will appreciate that a search function can be provided by software on server 20 for the information and video files in database 25 and video database 30. For example, a user can be presented with a “Search” bar on the user's device (such as any of devices 1-6) which allows the user to enter any information desired by user, such as alphanumeric information or standard characters, which is then transmitted as a search request to the server 20. The server 20 receives the search request and performs a search of database 25 and video database 30 for matching strings. The server 20 can also retrieve information from the user's profile to determine the user's favorites and preferences previously indicated, prior viewing history and log information, prior likes and dislikes, and the like as described above. The server 20 can then sort and rank the video files and information which match the search received from the user to rank the matching video files and transmit a list of the matching video files with the highest ranked matching video files listed first. Of course, it may be desirable to provide a list of ranked video files to the user that is limited to say, no more than five or ten video files. Instead of a list, the server 20 can begin streaming the highest ranked video file to the user's device which sent the request and also provide a list of the next five or so highest ranked videos so the user can simply click on any one of the next five or so video links to view the corresponding video file (and can interrupt the streaming video in this example or simply wait until it ends before clicking on the link to another video file to view the same).
The foregoing detailed descriptions and disclosure are only illustrative and by way of examples. Those skilled in the art will appreciate that the foregoing embodiments can be changed and arranged in different ways, and can be implemented in a variety of ways, all without going beyond the scope and spirit of the invention which is set forth in the claims below. For example, those skilled in the art will appreciate that a listing of video files need not actually contain a list of titles of video files or the video files themselves, but may instead any data indicating the video files, such as alphanumeric or other identifiers, date or time identifiers, uniquely assigned numeric or other identifiers, or addresses or indirect addresses for the video files. Those skilled in the art will appreciate as well that a variety of video and audiovisual file formats may be used in accordance with the foregoing disclosure, such as, for example, .mp4, .mv4, .avi, .mpg, .mpeg, .flv, .mkv, and other video file formats, and may include video files with various resolutions, such as both high and low resolution videos. Those skilled in the art will also appreciate that various types of components, such as for example, controllers, computer servers, operating systems, and video displays, may be used as may be desired.
Moreover, those skilled in the art will appreciate that, although the foregoing detailed description and examples and illustrations have used video files as examples, the invention need not be so limited. For example, in lieu of or in addition to video files, the systems and methods of an embodiment could include text, graphics, photographs, artwork, cartoons and animations, and other types of information and data of interest to users and related to user preferences. For example, a user might indicate a preference for photos of birds versus sharks or other animals, or might indicate a preference for photos of wildlife instead of landscapes, and so forth.
In addition, while the foregoing disclosure has used a particular type of sporting event as an example, those skilled in the art will appreciate that the systems and methods described herein will find useful application in a variety of fields in which the personalization and delivery of video and/or information may be useful. For example, the present disclosure may be useful in connection with other subject matter, such as hobbies or interests, or other events, such as other types of sporting events, concerts, rallies, speeches, pageants, and the like, and in connection with fields such as television and movies. Thus, it will be appreciated that the foregoing descriptions and the figures are illustrative only, and not limiting.