Patent ID: 9170700
Filing Date: 2015-10-27
Classification: G06F,H04N

Abstract:
1. A non-transitory computer-readable data storage medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform: obtaining a link to a stored video program; obtaining metadata that relates to the video program and that defines, for a specified time point in the video program, one or more annotations to be invoked at the specified time point, wherein each of the annotations comprises an association of a graphic image and a reference to a video program segment within the same video program or an online electronic document from among a plurality of video segments in the video program; wherein the metadata is in a metadata file separate from the streaming video program, and wherein the metadata file comprises XML tags specifying a reference to the streaming video program, a plurality of cue point types for each of the one or more specified time points, and attributes for the cue point types and the specified time points in the streaming video program, the attributes including at least the one or more annotations, locations of the graphic image and the reference; causing the computer to play the video program from the link; during playing the video program on a computer, detecting that the video program is playing at the specified time point; in response to the detecting, obtaining the one or more annotations for the specified time point and causing the computer to display one or more graphic images associated with the one or more annotations for the specified time point, obtain input selecting one of the graphic images, and initiate playing the video program segment of the same video program segment and that is associated with the selected one of the graphic images; wherein the metadata file defines at least two segments in the video program and wherein a first segment comprises a start cue point and a jump cue point, wherein the jump cue point references a second segment, and wherein the second segment comprises a return-end cue point; during playing the video program, initiating playing at the start cue point of the first segment, detecting that the video program is at the jump cue point of the first segment, and in response, initiating playing the second segment of the video program, then detecting that the video program is at the return-end cue point, and in response, initiating playing the video program at a point just after the jump cue point.