A method and
system is provided for
processing a program
stream for interactive viewing, wherein the program
stream includes
programming content relating to a program having a plurality of program segments. The program
stream is received and divided into at least one block comprising an expanse of the program stream. In accordance with an embodiment of the invention, a block is measured based upon the normal play time of the
programming content, or some other predefined measurement. A determination is then made as to whether the block comprises at least one complete
program segment. In accordance with an embodiment of the invention, a
program segment is a logical portion of TV show or movie, such as a specific story of a news show, a scene in a movie, etc. Upon identifying one or more
programming segments, these segment(s) may be made available for interactive viewing prior to receiving the end of the program. In another embodiment of the invention, a determination is made as to whether the block comprises an ending portion—but incomplete portion—of a
program segment. In such instance, segment portions from multiple blocks may be accessed and appended to form a complete segment which may then be made available for interactive viewing. In yet another embodiment of the invention, content derived from blocks associated with a program segment may be combined with additional content relating to the program segment, even though the additional content is not within the plurality of blocks.