The present invention relates to Internet Protocol (IP) Television (TV) systems and, in particular, to sharing segments of content on IPTV systems including the Internet.
Internet Protocol (IP) Television (TV) is a system for providing TV services over packet-based networks using IP. TV service provided on an IPTV system can include entertainment media services, information media services, advertising media services, personal media content services, person-to-person communication services, and person-to-machine communication services, including the functions of aggregating, storing, offering, selecting, streaming, and controlling such services. Accordingly, IPTV offers the end user increased control, flexibility, and interactivity in selecting and viewing an extensive variety of program content from multiple content sources, including but not limited to real-time broadcast content from commercial stations, video-on-demand (VoD) content, content stored on network-based personal video recorders (nPVRs) and user uploaded content.
IPTV program content may utilize standard protocols, such as Moving Picture Experts Group (MPEG), Real Time Streaming Protocol (RTSP), and Internet Group Management Protocol (IGMP). The user accesses the IPTV program content through user equipment such as a set-top box, personal computer (PC), personal digital assistant (PDA), or other similar device. To decide on the particular program content to watch, the user can view an Electronic Program Guide (EPG), which is a graphic user interface (GUI) that displays a menu of available program content and associated information, including time shown, actors, story line, and other information that may be considered by the user in making a selection.
The user selects the desired program content from the EPG and the program content selected is delivered to the set-top box, or other similar device. The set-top box decrypts or decodes the program content and sends it to the user's TV, monitor, or other viewing equipment for display to and viewing by the user. Additionally, with IPTV service, the EPG can offer the user additional interactive functionality. For example, the user may want to select particular program content but may desire to watch it at a more convenient time other than at the available times shown on the EPG. In such a situation, the user can select the desired program content, but, instead of viewing it at the time shown, download the selected program content to a PVR or access an nPVR service. The nPVR is a service offered by a network where the network downloads real-time broadcast television to a network server, which the user can access. Using the PVR or the nPVR service, the user can view the selected program content at a more convenient time. The additional interactive functionality makes the EPG more of an Interactive Program Guide (IPG), and the terms EPG and IPG may be used interchangeably or together as EPG/IPG to describe the same GUI. The EPG/IPG, therefore, provides functionality for IPTV-based program content similar to that provided by a browser on a PC for web-based content.
Although the EPG/IPG and the web browser provide similar functions, there are drawbacks to the interactive functionality of the EPG/IPG and the IPTV systems, generally. One such drawback is that IPTV systems do not allow the user to dynamically hyperlink program content or a segment of program content, nor do they allow the user to send that hyperlink to other user equipment of the user or user equipment of another user. Because of this drawback, users are limited to advising other users of a particular IPTV program content or a content segment only by word-of-mouth communication. Word-of-mouth communication requires either speaking to another user or sending a message to another user. As such, word-of-mouth communication is inefficient and error-prone as it requires manual navigation of an EPG/IPG, which may be complex in the case of a specific content segment in a specific program content. Additionally, if the user wants to send the content segment to other user equipment, to a server for storing, or to a website, such as YouTube, the user has to manually copy, edit, and send the content segment. Copying, editing, and sending of the content segment of IPTV program content requires significant manual interaction and coordination, system memory and software capacity, and, therefore, is inefficient complicated and time-consuming in addition to requesting moving content out of the domain of the original content provider, reducing the “stickiness” of the content provider's portal, as well as brand and advertisement penetration. Similar problems are more generally faced by any web hyperlinks for audio or video content, since they do not provide indexing within a given item of content, similar to the “#” reference to the NAME tag in HTML, but without the need to define such references in the construction of the media content.
Accordingly, a need exists for a method and system for hyperlinking content segments of IPTV program content, such that a user can dynamically generate a hyperlink to the content segment within the program content and send the hyperlink to other user equipment of the user or to another user, and, upon receiving the hyperlink, the user can select the hyperlink and view the content segment.
The present invention provides a hyperlinking convention for program content, such as Internet Protocol (IP) Television (TV) program content or radio program content. While monitoring program content on user equipment, a user may dynamically identify a content segment within the program content. The content segment may have a defined scene or be defined by a beginning, ending, or duration, as well as be open-ended. The user equipment generates a hyperlink for the identified content segment. The hyperlink comprises a resource identifier that identifies the location of the program content, and an index for the content segment. The content segment corresponds to a portion of the program content that is not directly addressable using a resource identifier from a defined content source at which the program content is stored. The index may identify a location of the content segment within the program content. The location of the content segment may be identified by specifying a beginning time, an end time, duration, or a particular scene or scenes.
Once the hyperlink for the content segment is generated, the user equipment may, directly or indirectly, send the hyperlink toward other user equipment of the user or user equipment of another user. When user equipment receives the hyperlink, the hyperlink is stored and presented to the associated user. If the user selects the hyperlink, the user equipment will send a request, using the resource identifier and the index of the hyperlink. The request is routed based on the resource identifier to a content server where the program content is stored. The content server uses the resource identifier and the index to identify the content segment. The content server accesses the program content based on the resource identifier and accesses the content segment based on the index. The content server then sends the content segment to the user equipment in response to the request. The content segment may be stored for subsequent presentation to the user or presented immediately to the user.
Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode for practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
While viewing program content received over an Internet Protocol (IP) Television (TV) system, the Internet or the like, a user may desire to send or capture a hyperlink for a particular content segment within the program content. The program content may be television or radio content. The user may be viewing the program content using any one of several appropriate pieces of user equipment, such as a TV, computer monitor, personal digital assistant (PDA), mobile telephone, or the like. Using a control device, such as a remote control, keypad or mouse, or other device allowing the user to input information, the user dynamically identifies the content segment within the program content. The user may input user criteria such as the beginning, duration, or end of the content segment, or a particular scene or scenes within the program content. The control device sends the user criteria to the set-top box or other similar user equipment, instructing the set-top box to generate a hyperlink. In response to the user criteria, the set-top box generates the hyperlink. The hyperlink comprises a resource identifier that identifies where the program content is stored and an index to the content segment. The index may identify the content segment within the program content based on the user criteria. If the user does not input any user criteria, the content segment may be based on a stored user profile or the content segment may begin at the time of the hyperlink function selection signal and end at the end of the program content or may be open-ended.
Once the hyperlink is generated, the user, using the control device, may input the location or address of the user equipment or may copy the hyperlink to another location, such as a web page. The user may utilize instant messaging (IM), short message service (SMS), email, or other similar proprietary messaging services for sending the hyperlink. The user then authorizes the set-top box to send the hyperlink. The set-top box sends the hyperlink, directly or indirectly, towards the other user equipment, which may be another set-top box. When the user equipment receives the hyperlink, the user equipment stores the hyperlink and sends the hyperlink to the associated user's viewing equipment, such as a TV, and the hyperlink is presented to the user.
If the user selects the hyperlink, the user equipment, such as the set-top box, will send a request using the resource identifier and the index of the hyperlink. The request is routed based on the resource identifier to a content server where the program content is stored. The resource identifier request may be routed via middleware in the IPTV system. The middleware may comprise content managers and access servers, which control and manage access to and delivery of program content on the IPTV system. The content server uses the resource identifier and the index to identify the content segment. The content server accesses the program content based on the resource identifier and accesses the content segment based on the index. Once accessed, the content server sends the content segment towards the user equipment in response to the request. The content segment may be stored for subsequent presentation to the user or may be presented immediately to the user. If the index is placed in the request header rather than in the URI, content servers that do not support this convention will continue to display the requested content, although without the requested indexing, providing backwards compatibility.
Program content may include real-time broadcast content from commercial stations, video-on-demand (VoD) content, content stored on network-based personal video recorders (nPVRs), user uploaded content and any other form of program content that an IPTV service may provide. Additionally, the user equipment may include set-top boxes, TVs, PCs, PDAs, mobile telephones, remote controls, keypads, and any other device that allow a user to select, control, receive, send, decode or decrypt, present, and view IPTV program content. Attention is directed to U.S. application Ser. No. 11/563,306, filed Nov. 27, 2006, entitled MULTIMEDIA SUBSYSTEM CONTROL FOR INTERNET PROTOCOL BASED TELEVISION SERVICES, which is incorporated herein by reference as if fully set forth herein in its entirety. For the purpose of brevity, this invention will be described in the context of a set-top box, TV, and remote controller, which, collectively, will be referred to as user equipment. Additionally, two sets of user equipment will be used to describe receiving IPTV program content and generating, sending, and receiving hyperlinks. It should be understood that describing aspects of the present invention referring to each user equipment is only to facilitate a description of the present invention. Accordingly, it should not be interpreted as indicating any similarities or differences between the two sets of user equipment. Prior to delving into the details of the present invention, an overview of a communication environment in which the present invention may be employed is described.
With reference to
The IPTV infrastructure 12 includes middleware 36. The middleware 36 may comprise the necessary devices to administrate, operate, control, manage, and provision the IPTV system. For example, the middleware 36 may control and manage receiving, storing, accessing, and encrypting the program content. In addition, the middleware 36 may manage and control authenticating the user and the user's rights to the program content, delivering the program content and a decrypting key to the user, and accounting for and billing the user for the program content and the IPTV service. The IPTV infrastructure 12 may also include content servers 38, which store the program content and deliver the program content as instructed by the middleware 36.
In
With reference to
TV 24 displays the EPG/IPG for viewing by the user (Step 110). Using remote controller 22, the user may select a hyperlink function option on the EPG/IPG (Step 112). Alternatively, the user may select the hyperlink function via a function key on the remote controller 22 without utilizing the EPG/IPG. In either case, when the user selects the hyperlink function, the remote controller 22 sends a hyperlink function selection signal to the set-top box 20 (Step 114). Upon receipt of the hyperlink function selection signal, the set-top box 20 initiates the hyperlink function (Step 116). The user may then input user criteria to identify the content segment (Step 118). The user criteria may identify a beginning time, end time, duration, or a particular scene or scenes, or a combination thereof. Alternatively, the user may not input any user criteria and may simply input a start signal. The remote controller 22 sends the user criteria or the start signal to the set-top box 24 (Step 120).
Upon receiving the user criteria or the start signal without the user criteria, the set-top box 20 identifies a resource identifier for the program content (Step 122). The set-top box 20 then identifies the content segment based on the user criteria input (Step 124). Alternatively, if the user inputs the start signal without any user criteria, the set-top box 20 may identify the content segment based on a stored user profile or, if there is no stored profile, the set-top box 20 may, as a standard action, identify the content segment to begin at the time of the initiation of the hyperlink function and end at the end of the program content, after a predetermined time, or never. Since the content segment is a portion of the program content, the content segment is less than the program content. Additionally, the portion of the program content that is the content segment is not stored as a predefined content segment at a content source and is not directly addressable using a resource identifier from a defined content source at which the program content is stored.
Once the set-top box 20 identifies the content segment, the set-top box 20 creates an index to the content segment (Step 126). The set-top box then generates the hyperlink comprising the resource identifier and the index (Step 128). Once the set-top box 20 generates the hyperlink, the set-top box 20 sends the hyperlink to the TV 24 (Step 130), which displays the hyperlink for the user to view (Step 132). Using the remote controller 22, the user may instruct the set-top box 20 to send the hyperlink. Additionally, the user may provide a location to where the hyperlink should be sent. The location may be an address of other user equipment. Advantageously, the EPG/IPG may include a ‘send link’ option. In such a case, the user may instruct the set-top box 20 to send the hyperlink by selecting the ‘send link’ option (Step 134). Upon receiving the hyperlink send instruction, the set-top box 20 sends the hyperlink towards the user equipment 18, which in
With reference to
A uniform resource locater (URL) of the hyperlink generated by the set-top box 20 may have a format according to the following examples:
IPTV://npvrserver/friends/ep22?begin=“13:44.5”&end=“20:30” Where:
IPTV://npvrserver/friends/ep22 is the resource identifier, which locates the program content at the IPTV infrastructure, in the nPVR content server, in the Friends directory in the nPVR content server and in the file identified as episode 22 within the Friends directory.
The index ?begin=“13:44.5”&end=“20:30” identifies the location within the program content of the content segment. The content segment begins at 13 minutes and 44.5 seconds from the start of the program content and ends 20 minutes and 30 seconds from the start of the program content.
IPTV://broadcastcontentserver/ABC/bostonlegal?scene=“2” Where:
IPTV://broadcastcontentserver/ABC/bostonlegal is the resource identifier, which locates the program content at the IPTV infrastructure, in the broadcast content server, in the ABC directory in the broadcast content server and in the Boston Legal file within the ABC directory.
The index ?scene=“2” identifies a specific scene in the program content. The beginning and ending point of the specific scene may be defined using Moving Picture Experts Group (MPEG) meta-data. For example, the content segment may be the program content that is shown between two commercials.
IPTV://uploadedserver/johndoe/SeminarDecember12,2006?begin=“10:00”&dur=“00:30” Where
IPTV://uploadedserver/johndoe/SeminarDecember12,2006 is the resource identifier, which locates the program content at the IPTV infrastructure, in the uploaded content server, in the John Doe directory in the uploaded content server and in the file identified as a Seminar Dec. 12, 2006 within the John Doe directory.
The index ?begin=“10:00”&dur=“00:30” identifies the location within the program content of the content segment. The content segment begins at 10 minutes and 0 seconds from the start of the program content and extends for a duration of 30 seconds where it ends.
Additionally, a set-top box, or other similar device, may store in memory a history of hyperlinks sent or received by the set-top box to allow access in the future. Advantageously, a user may be able to access the history through the EPG/IPG. Any content segment that is no longer available may be automatically deleted from the history, or, alternatively disabled or “grayed-out”.
With reference to
If the user does not have such right, the middleware 36 may send an administrative notice, which may include a purchase offer for such program content, balance due statement or the like to the set-top box 26 (Step 314). Set-top box 26 then sends the administrative notice to the TV 30 for display and viewing by the user (Step 316). The TV 30 displays the administrative notice (Step 318). If the user accepts and agrees to the purchase, or agrees to clear the balance due and to satisfy any requirements imposed by the IPTV system, the user, using the remote controller 28, indicates an acceptance and agreement (Step 320). The set-top box 26 receives the acceptance and agreement indication and sends an acknowledge (ACK) message to the middleware 36 (Step 322). Upon receiving the ACK message or, if the middleware 36 had initially authenticated the user, the middleware 36 routes the resource identifier and index request to the content server 38 where the program content is stored (Step 324). Upon receiving the resource identifier and index request, the content server 38 accesses the program content based on the resource identifier (Step 326). The content server 38 then accesses the content segment based on the index (Step 328). The content server 38 then sends the content segment toward the set-top box 26 (Step 330). Upon receiving the content segment, the set-top box 26 sends the content segment to the TV 30 (Step 332). TV 30 displays the content segment for the user to view (Step 334).
With reference to
With reference to
With reference to
With reference to
With reference to
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts and the claims that follow.