WO2000033568A1 - Method and apparatus for producing demand real-time television - Google Patents
Method and apparatus for producing demand real-time television Download PDFInfo
- Publication number
- WO2000033568A1 WO2000033568A1 PCT/US1999/027755 US9927755W WO0033568A1 WO 2000033568 A1 WO2000033568 A1 WO 2000033568A1 US 9927755 W US9927755 W US 9927755W WO 0033568 A1 WO0033568 A1 WO 0033568A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bitstream
- broadcast
- storage
- encoder
- frames
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/114—Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4344—Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/783—Adaptations for reproducing at a rate different from the recording rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/782—Television signal recording using magnetic recording on tape
- H04N5/7824—Television signal recording using magnetic recording on tape with rotating magnetic heads
- H04N5/7826—Television signal recording using magnetic recording on tape with rotating magnetic heads involving helical scanning of the magnetic tape
- H04N5/78263—Television signal recording using magnetic recording on tape with rotating magnetic heads involving helical scanning of the magnetic tape for recording on tracks inclined relative to the direction of movement of the tape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8227—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
Definitions
- the invention relates to video-on-demand systems and, more particularly, the invention relates to a method and apparatus for generating a real-time video bitstream for transmission through a video-on-demand system as well as simultaneously storing the video information in a format that facilitates demand television, i.e., a play bitstream, a fast forward bitstream and a fast reverse bitstream that are derived from the real-time video bitstream content.
- a file server is used for streaming video information to users (subscribers) of the system.
- the OnSetTM system is described in U.S. patent application serial number 08/984,710, filed December 3, 1997, and the file server is described in U.S. patents
- the OnSetTM system contains service provider equipment coupled through an information distribution network to subscriber equipment .
- This system provides subscribers VCR-like controls to enable a subscriber to select information content, for example, a movie, then play, fast forward, rewind, pause, or stop the selected movie.
- the subscriber enters control commands through the subscriber equipment and the service provider equipment executes the commands to fulfill the purpose of the command, e.g., play, fast forward, rewind, stop or pause the movie.
- a file server forms a portion of the service provider equipment and stores, for a given movie, a standard play stream (i.e., an MPEG-2 compressed video bitstream), a fast forward stream and a fast reverse play (rewind) stream.
- the fast forward and fast reverse streams are also MPEG-2 compressed video, where the fast forward stream is a compressed signal containing only every Nth frame of the uncompressed play video and the fast reverse stream is a compressed signal containing every Nth frame of the uncompressed play video played backwards.
- each stream is divided into portions (e.g., N-byte segments of compressed data) and striped onto a disk array.
- the disk array stores all the information that the file server can directly access .
- the process for generating the fast forward and fast reverse streams is performed in a non-real time manner such that the video content is pre-encoded and stored in the file server.
- the process requires a frame by frame analysis of the video stream to enable the frames to be encoded in an MPEG-2 compliant form, yet provide a fast forward and fast reverse effect when decoded.
- the video sequence is processed to extract every Rth frame (i.e., one of every R frames, where R is an integer greater than 1) to form a fast forward sequence and then the fast forward sequence is encoded (compressed) .
- R is an integer greater than 1
- For a fast reverse stream a sequence of frames in reverse order is created and encoded. This encoding process can not be used for producing fast forward and fast reverse streams in real time such that a real time program can be encoded and stored for almost immediate use of VCR-like functions.
- the disadvantages associated with the prior art are overcome by the invention of a demand television system that simultaneously encodes a broadcast video frame sequence into a broadcast bitstream and a storage bitstream.
- the broadcast bitstream is broadcast to system subscribers as the sequence is encoded, while the storage bitstream is stored in an information server.
- the subscriber may, at any time during the broadcast, elect to review content of the broadcast that was previously displayed.
- the system transmits the storage bitstream to the subscriber in a pointcast manner.
- the storage bitstream contains, for example, a plurality of selectable types of bitstreams including fast forward, fast reverse and standard play. As such, by requesting particular functions, the subscriber is provided with VCR-like functions for a broadcast program.
- a video encoder that simultaneously produces an MPEG-2 compliant fast forward, fast reverse and play bitstreams from a sequence of video frames, e.g., 601-format video, as well as a real-time bitstream for real-time transmission to the user as a broadcast transmission.
- the encoder of the present invention contains a broadcast encoder and a storage encoder.
- the broadcast encoder encodes the video frame sequence using, for example, a high bit rate encoder to ensure accurate encoding and transmission of sporting events.
- the storage encoder subsamples the video sequence, extracts a plurality of frames from the video sequence and buffers the subsampled frames .
- the storage encoder also encodes the source frames within a real-time encoder, e.g., an MPEG-2 encoder, to form a standard play bitstream for storage within the file server.
- a real-time encoder e.g., an MPEG-2 encoder
- the buffered frames are recalled from the buffer and coupled to a second real-time encoder.
- the second encoder forms both the fast forward and fast reverse bitstreams using a time multiplexing technique wherein a group of pictures (GOP) for the fast forward stream can be formed, followed by the compression of the same GOP having the frames organized in reverse order.
- the compressed GOPs are represented by the fast forward and fast reverse bitstreams .
- the play, fast forward, and fast reverse bitstreams for each GOP are organized into a file and stored on the mass storage device (e.g., disk drive array) of the file server.
- the high bit rate encoded signal is broadcast to subscribers.
- the subscriber may watch an event (e.g., a sporting event) in real-time, then elect to "rewatch" a previously viewed portion of the real-time event.
- the viewer merely depresses a "rewind” or reverse button on a remote control and the VOD system accesses the stored event files and "plays" the fast reverse bitstream.
- the viewer is provided with the sense of a VCR rewind function.
- the viewer depresses a "play” button and the stored standard play bitstream is transmitted to the viewer.
- the viewer may "catch up" to the real-time event by either depressing a fast forward button or a "real-time” button.
- the fast forward button causes the stored fast forward bitstream to be transmitted to the viewer to provide a sense of a VCR fast forward mode and, when the fast forward bitstream exhausts the available data, the system automatically switches back to the real-time bitstream.
- the "real-time” button causes the system to instantly switch back to the real-time bitstream.
- FIG. 1 is a block diagram of a video-on-demand system that operates in accordance with the present invention
- FIG. 2 depicts a block diagram of the encoder of the present invention
- FIG. 3 illustrates the method of the present invention used to produce a fast forward bitstream
- FIG. 4 illustrates the method of the present invention used to produce a fast reverse bitstream
- FIG. 5 illustrates the interaction model between the service provider equipment and subscriber equipment.
- FIG. 1 depicts a high level block diagram of the illustrative information distribution system 100 that incorporates the present invention.
- the system 100 contains service provider equipment 102, a communications network in the form of a cable transport subsystem 104 and subscriber equipment 106 n , where n is an integer greater than 0.
- the service provider equipment 102 contains an information server 108 which is typically a parallel processing computer containing at least one central processing unit 110 and associated memory 112.
- the server 108 interacts with the data storage device 114 (e.g., a disk drive array) that generally stores the subscriber information (e.g., video data) that is transmitted directly to the subscriber equipment 106 as well as recalled and downloaded to the subscriber equipment 106.
- the video data is produced by an encoder 200 as two streams: the first is a stream containing a real-time bitstream of encoded video information that is to be broadcast to the subscribers
- the second is a stream containing a non-real-time bitstream of encoded video information that is stored by the information server to facilitate VCR-like functions (referred to herein as the storage stream) .
- the video session manager 122 contains its own central processing unit (CPU) 124 and associated memory 126 that provides functionality for the graphical user interfaces through which the consumer interacts with the system.
- the CPU 124 is part of a session control manager 125 that controls a plurality of modems 127 that facilitate communication with the subscriber equipment.
- Other subsystems of the service provider equipment include a network manager 142 and a back office subsystem 144. These subsystems maintain certain databases of information that enable the system to accurately control system access, subscription package definitions, and subscriber/consumer profile and billing.
- the information server 108 is coupled to the video session manager 122 via data path 116, synchronization clock path 118, and control path 120.
- the server 108 provides data streams that are destined for consumers on path 116 and a synchronization clock on path 118.
- the specific data streams are provided in response to requests for information (e.g., menu applets, video programs, and other content material) from the video session manager 122 on path 120.
- These data streams are packetized and modulated onto a carrier that is compatible with the transmission requirements of the network 104.
- the video session manager 122 accomplishes all of the transmission interface requirements of the system 100 as well as provides graphical user interface support.
- the video session manager 122 is coupled through the modems 127 to subscriber equipment via a forward information channel 132, a forward command channel 133 and a back channel 134. All three of these channels are supported by the cable transport subsystem 104.
- the video session manager 122 contains a modulator for modulating the server data streams onto one or more carrier frequencies for transmission on the forward information channel 132.
- modems 127 within the video session manager 122 send control information via the forward command channel and receive control information via the back channel .
- a conventional cable television signal source 128 is optionally coupled to the forward information channel via a signal coupler 130.
- the video session manager 122 responds to requests from the subscriber equipment 106 for interactive menus and data streams by requesting the server 108 to provide such information, then communicating that information to the requesting subscriber equipment 106.
- the video session manager 122 also ensures that the subscriber equipment 106 is authorized to receive the requested information.
- the cable transport subsystem 104 can be any one of a number of conventional broad band communications networks that are available such as a fiber optic network, a telephone network, existing cable television network and the like. For example, if the network is a hybrid fiber-coax network, the transport technique used in both forward channels may be modeled after the moving pictures expert group (MPEG) transport protocol for the transmission of video data streams.
- MPEG moving pictures expert group
- the transport mechanism for both the forward channels and transport information to the subscriber equipment must be able to carry unidirectional, asynchronous packetized data such as that defined in the MPEG video and audio signal transmission protocol, and the like. There are a number of such transport protocols available.
- the subscriber equipment 106 receives the requested data streams as well as broadcast streams from the forward information channel, demodulates the streams and processes them for display on the display device 140 (e.g., a conventional television) .
- the terminal 136 accepts commands from a remote control input device 138 or other input device to facilitate consumer interaction with the system. These commands are formatted, compressed, modulated, and transmitted through the network 104 to the video session manager 122. Typically, this transmission is accomplished through the back channel 134. These commands are preferably transmitted through the same network used to transmit information to the subscriber equipment.
- the back channel coupling the subscriber equipment to the server may be a separate network, e.g., a forward information channel through a television cable network and a back channel through a telephone network.
- FIG. 2 depicts a block diagram of the encoder 200 comprising a broadcast encoder 250 and a storage encoder 255.
- the broadcast encoder a source video sequence in a conventional manner, i.e., compressing the source video sequence in real-time as the frames are input to the encoder.
- this encoder may be a high speed encoder such as an 8 Mbps MPEG-2 encoder that accurately encodes such difficult to compress programming such as sporting events .
- the storage encoder 252 comprises a first encoder 202, frame subsampler 204, a frame buffer 206, a second encoder 208 and a controller 210.
- the first encoder 102 encodes a source video sequence in a conventional manner, i.e., compressing the source video sequence in real-time as the frames are input to the encoder.
- the second encoder 208 operating in conjunction with the subsampler 204 and the buffer 206 encodes a subsampled version of the source video sequence to form a fast forward and fast reverse bitstreams (collectively referred to herein as trick play bitstreams or trick play streams) .
- the first encoder (the play stream encoder 202) contains a real-time MPEG-2 encoder that produces an MPEG-2 compliant, compressed video bitstream (a play stream) from a sequence of 601-format video frames.
- the second encoder (the trick play stream encoder 204) is also an MPEG-2 real-time encoder 212.
- R is an integer and defines a play-back speed multiplier which has significance in the trick play processes.
- the speed multiplier R is a variable that is established by the controller 210.
- the exemplary trick play streams are fast forward and fast reverse. Of course other forms of trick play streams may be generated using the encoder 200 of the present invention. If the multiplier R equals 2, playback (decoding) of a fast forward stream is twice normal single speed. If R equals 3, playback is three times normal play speed and so on.
- the trick play streams include a nine times fast forward stream and a nine times fast reverse stream. Alternatively, 32 times normal fast forward and fast reverse streams are also available.
- source is used to describe the uncompressed video material
- a fast forward MPEG video bitstream is generated from an uncompressed video source such that when the stream is played back linearly through a standard MPEG compliant video decoder, the resulting imagery contains every Rth frame of the original video sequence .
- the display of the sequence has a fast forward effect.
- a fast reverse stream is simultaneously produced by the storage encoder 252 such that when linearly played back through a an MPEG compliant video decoder, the decoded stream produces a sequence of frames that play in reverse relative to the original frame sequence.
- the play bitstream is formed using a conventional MPEG-compliant encoder 202 that compresses a plurality of frames (N frames that form a group-of-pictures (GOP) ) .
- the subsampler 204 extracts one out of every R consecutive frames (arranged in increasing time code order) from the source sequence.
- the selected N frames are buffered in the frame buffer 206. For example, if R is two and the buffer stores N frames, the buffer stores frames 1, 3, 5, 7, 9, and so on up to frame 2N+1.
- the buffer 206 stores N successive frames that define a GOP for the trick play bitstreams.
- the N frames from the buffer 206 are recalled under the control of the controller 210 and coupled sequentially into the real-time encoder 208.
- the output is a compressed bitstream representing a fast forward GOP.
- the N frames from the buffer 206 are recalled under the control of the controller 210 and are coupled in reverse time order into the encoder 208.
- two encoders could be used to produce each of the trick play streams independently, as long as R equals two or more, a single encoder can be used to produce both trick play tracks using time multiplexing technique.
- the fast forward GOP is encoded first, then the fast reverse GOP. After the buffer is filled with another N frames, the GOP pair is again encoded and so on.
- the recall order of the frames from the buffer and the multiplexing process are controlled by controller 110 by addressing the buffer in forward order for the fast forward GOP and in reverse order for the fast reverse GOP.
- the forward and reverse GOPs contain sequence start and sequence end codes such that, when stored in a mass storage device along with the standard play stream, the bitstreams are clearly delimited.
- the forward and reverse GOP bitstreams are stored with the play stream in a storage medium such as a disk drive array or magneto-optical disk.
- the fast forward stream is written sequentially, one GOP bitstream at a time, from the lowest address to the highest address.
- the reverse bitstream is stored in reverse order from highest address to lowest address.
- the last byte in the reverse GOP is placed in the highest address space of the reverse target file. As such, the reverse GOP precedes, in address space, the first frame of the immediately previously written reverse GOP.
- the entire source material frame sequence is encoded in this manner to simultaneously produce a play, a fast forward, and fast reverse streams in real-time.
- FIG. 3 illustrates the process by which a fast forward stream is produced.
- the integer N is the number of frames that are encoded into each GOP of the standard play stream. These buffered frames are recalled from memory, encoded and then associated with a normal play stream having a GOP of N frames.
- the encoder (at step 302) repetitively produces a sequence of GOPs 304 that are stored in increasing addresses in memory as illustrated in sequence 306.
- the first GOP contains frames 1 to RN+1
- the second GOP contains frames R(N+1)+1 through 2RN+1
- the third GOP contains frames 2R(N+1)+1 through 3RN+1
- a GOP contains frames GR(N+1)+1 through (G+DRN+1, where G is the GOP number (e.g., 0, 1, 2, 3, ...)
- R is the subsampling rate
- N is the number of frames in a standard play GOP.
- FIG. 4 illustrates the process by which a fast reverse stream is produced.
- these frames are selected from the buffer in reverse order as illustrated at 404.
- the reverse order frames are encoded, at step 406, to produce a sequence of GOPs 408 that are stored in reverse time order in memory as illustrated in sequence 410.
- the real-time broadcast encoder 250 is, for example, a high data rate encoder (e.g., producing an 8 Mbps data rate MPEG bitstream) from a real-time television broadcast.
- the source video is, for example, a television feed of a sporting event.
- the source video either arrives at the encoder in a frame-based digital video format, such as 601 video, or is converted from some other format into a frame-based video format prior to the encoder.
- the real-time broadcast encoder operates simultaneously with the storage encoder such that the real- time broadcast bitstream is coupled to the transmission system as the storage bitstreams are being stored in the information server's data storage.
- the source video is encoded as a broadcast stream in step 502 and as a storage stream in step 504.
- the storage bitstream is stored in the information server memory at step 506, while the broadcast bitstream is transmitted to the subscribers at step 508.
- the broadcast bitstream is coupled into path 116 to the video session manager 122.
- the video session manager 122 multiplexes the broadcast bitstream into a transport stream along with all the other multimedia signals, control signals and the like that are transmitted through the cable transport subsystem 104 to the subscriber equipment 106.
- the subscriber terminal 136 demodulates, demultiplexes and decodes the broadcast bitstream for real-time display.
- the subscriber terminal 136 can request the stored bitstreams corresponding to the broadcast bitstream by manipulating the input device 138 (step 512) in the same manner as the device is used to control the display of any other video asset.
- the subscriber at any time, may elect to review a portion of the program that has already been watched.
- the subscriber manipulates the input device 138 (step 512) such that, at step 514, a "rewind" or fast reverse command is sent from the subscriber terminal 136 to a modem 127 requesting rewind.
- the session control manager 125 then instructs, at step 516, the information server 108 to recall the fast reverse stream associated with the broadcast bitstream and send, at step 518, the fast reverse stream to the requesting subscriber, i.e., the transmission to the subscriber is now changed from a broadcast transmission to a pointcast transmission.
- the subscriber terminal demodulates, demultiplexes and decodes the transport stream carrying the reverse play stream such that the display 140 depicts the broadcast video running quickly backwards at some rewind rate, e.g., nine times standard play.
- the subscriber may, at step 522, elect to "play” the video sequence.
- the subscriber terminal sends, at step 524, a request to the session control manager 125.
- the session control manager 125 requests, at step 526, the standard play stream to be sent, at step 528, to the subscriber starting at the location at which the video sequence had been "rewound", i.e., whatever frame number the subscriber was viewing at the time the play button was depressed with be the starting frame number that is sent to the subscriber in the play stream.
- the play stream is then demodulated, demultiplexed, and decoded such that the display in the subscriber's home transitions from rewind to play.
- the subscriber may then watch the program from this point forward or may request another trick play function.
- the subscriber selects a fast forward function to move through the video quickly, e.g., nine times standard play speed. If the subscriber elects to fast forward through the video, the subscriber terminal once again sends, at step 534, a request to the session control manager 125 which, in turn, requests, at step 536, the information server to recall the fast forward stream starting at the frame (or near the frame) that the user was then watching in the play stream.
- the session control manager 125 sends, at step 538, the fast forward stream to the subscriber.
- the fast forward stream is then demodulated, demultiplexed and decoded to present a fast forward display.
- This stream will be transmitted until there is no longer any fast forward data, i.e., the storage bitstream catches up with the broadcast stream and an end of file (EOF) indicator is reached.
- the subscriber terminal at step 542, automatically switches the subscriber back to the broadcast stream.
- the subscriber terminal 136 demodulates, demultiplexes and decodes the broadcast stream.
- An alternative to requiring the subscriber to fast forward to catch up to the broadcast stream is to provide a "catch up" button that, when depressed, causes the subscriber terminal to instantly transition from decoding the storage bitstream to decoding the broadcast bitstream.
- This button may be a hardware button on the input device or a software button that is displayed on the television display.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0111983A GB2361599B (en) | 1998-11-30 | 1999-11-23 | Method and apparatus for producing demand real-time television |
AU18288/00A AU1828800A (en) | 1998-11-30 | 1999-11-23 | Method and apparatus for producing demand real-time television |
CA002352143A CA2352143C (en) | 1998-11-30 | 1999-11-23 | Method and apparatus for producing demand real-time television |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/201,530 | 1998-11-30 | ||
US09/201,530 US7024678B2 (en) | 1998-11-30 | 1998-11-30 | Method and apparatus for producing demand real-time television |
US09/201,529 US6389218B2 (en) | 1998-11-30 | 1998-11-30 | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence |
US09/201,529 | 1998-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2000033568A1 true WO2000033568A1 (en) | 2000-06-08 |
Family
ID=26896829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/027755 WO2000033568A1 (en) | 1998-11-30 | 1999-11-23 | Method and apparatus for producing demand real-time television |
Country Status (4)
Country | Link |
---|---|
AU (1) | AU1828800A (en) |
CA (1) | CA2352143C (en) |
GB (1) | GB2361599B (en) |
WO (1) | WO2000033568A1 (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1239674A2 (en) * | 2001-03-05 | 2002-09-11 | Microsoft Corporation | Method and apparatus for recording broadcast data |
EP1292148A1 (en) * | 2001-08-17 | 2003-03-12 | Enrico Aprico | Transmission system and method for application to television signal distribution |
EP1421782A1 (en) * | 2001-08-22 | 2004-05-26 | Tivo, Inc. | Multimedia signal processing system |
EP1460587A2 (en) * | 2003-03-20 | 2004-09-22 | Sungjin C&C Co.,LTD. | Dual video compression method for network camera and network digital video recorder |
EP1534005A2 (en) * | 2001-03-05 | 2005-05-25 | Microsoft Corporation | Method and apparatus for recording broadcast data |
WO2005071936A2 (en) * | 2004-01-21 | 2005-08-04 | United Video Properties, Inc. | Interactive television system with automatic switching from broadcast media to streaming media |
US7260312B2 (en) | 2001-03-05 | 2007-08-21 | Microsoft Corporation | Method and apparatus for storing content |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US8526781B2 (en) | 1998-07-30 | 2013-09-03 | Tivo Inc. | Multiple output digital video recording system |
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US9088827B2 (en) | 2006-02-28 | 2015-07-21 | Rovi Guides, Inc. | Systems and methods for enhanced trick-play functions |
US9967534B1 (en) | 2004-11-19 | 2018-05-08 | Tivo Solutions Inc. | Digital video recorder video editing system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
EP0746158A2 (en) * | 1995-05-30 | 1996-12-04 | International Business Machines Corporation | Scalable interactive multimedia server system |
-
1999
- 1999-11-23 AU AU18288/00A patent/AU1828800A/en not_active Abandoned
- 1999-11-23 WO PCT/US1999/027755 patent/WO2000033568A1/en active Application Filing
- 1999-11-23 CA CA002352143A patent/CA2352143C/en not_active Expired - Fee Related
- 1999-11-23 GB GB0111983A patent/GB2361599B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
EP0746158A2 (en) * | 1995-05-30 | 1996-12-04 | International Business Machines Corporation | Scalable interactive multimedia server system |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US8457476B2 (en) | 1998-07-30 | 2013-06-04 | Tivo Inc. | Multimedia signal processing system |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US9002173B2 (en) | 1998-07-30 | 2015-04-07 | Tivo Inc. | Digital security surveillance system |
US7668435B2 (en) | 1998-07-30 | 2010-02-23 | Tivo Inc. | Multimedia signal processing system |
US8526781B2 (en) | 1998-07-30 | 2013-09-03 | Tivo Inc. | Multiple output digital video recording system |
US8965173B2 (en) | 1998-07-30 | 2015-02-24 | Tivo Inc. | Multimedia stream processing system |
US8538241B2 (en) | 1998-07-30 | 2013-09-17 | Tivo Inc. | Multimedia signal processing system |
US8824865B2 (en) | 1998-07-30 | 2014-09-02 | Tivo Inc. | Digital video recorder system with an integrated DVD recording device |
US7522817B2 (en) | 2001-03-05 | 2009-04-21 | Microsoft Corporation | Method and apparatus for storing content |
EP1534005A3 (en) * | 2001-03-05 | 2005-11-09 | Microsoft Corporation | Method and apparatus for recording broadcast data |
US7260312B2 (en) | 2001-03-05 | 2007-08-21 | Microsoft Corporation | Method and apparatus for storing content |
US7272300B2 (en) | 2001-03-05 | 2007-09-18 | Microsoft Corporation | Method and apparatus for storing content |
EP1239674A2 (en) * | 2001-03-05 | 2002-09-11 | Microsoft Corporation | Method and apparatus for recording broadcast data |
EP1534005A2 (en) * | 2001-03-05 | 2005-05-25 | Microsoft Corporation | Method and apparatus for recording broadcast data |
US7577336B2 (en) | 2001-03-05 | 2009-08-18 | Microsoft Corporation | Method and apparatus for storing content |
EP1239674A3 (en) * | 2001-03-05 | 2005-04-27 | Microsoft Corporation | Method and apparatus for recording broadcast data |
EP1292148A1 (en) * | 2001-08-17 | 2003-03-12 | Enrico Aprico | Transmission system and method for application to television signal distribution |
EP1421782A4 (en) * | 2001-08-22 | 2007-03-07 | Tivo Inc | Multimedia signal processing system |
EP1421782A1 (en) * | 2001-08-22 | 2004-05-26 | Tivo, Inc. | Multimedia signal processing system |
EP1460587A3 (en) * | 2003-03-20 | 2005-08-24 | Sungjin C&C Co.,LTD. | Dual video compression method for network camera and network digital video recorder |
EP1460587A2 (en) * | 2003-03-20 | 2004-09-22 | Sungjin C&C Co.,LTD. | Dual video compression method for network camera and network digital video recorder |
JP2008160867A (en) * | 2004-01-21 | 2008-07-10 | United Video Properties Inc | Interactive television system with automatic switching from broadcast media to streaming media |
JP2007520956A (en) * | 2004-01-21 | 2007-07-26 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | Interactive television system with automatic switching from broadcast media to streaming media |
WO2005071936A3 (en) * | 2004-01-21 | 2005-09-22 | United Video Properties Inc | Interactive television system with automatic switching from broadcast media to streaming media |
WO2005071936A2 (en) * | 2004-01-21 | 2005-08-04 | United Video Properties, Inc. | Interactive television system with automatic switching from broadcast media to streaming media |
US9967534B1 (en) | 2004-11-19 | 2018-05-08 | Tivo Solutions Inc. | Digital video recorder video editing system |
US9088827B2 (en) | 2006-02-28 | 2015-07-21 | Rovi Guides, Inc. | Systems and methods for enhanced trick-play functions |
US9271042B2 (en) | 2006-02-28 | 2016-02-23 | Rovi Guides, Inc. | Method for generating time based preview image for a video stream |
US10057655B2 (en) | 2006-02-28 | 2018-08-21 | Rovi Guides, Inc. | Systems and methods for generating time based preview image for a video stream |
Also Published As
Publication number | Publication date |
---|---|
GB2361599B (en) | 2003-01-15 |
CA2352143A1 (en) | 2000-06-08 |
GB0111983D0 (en) | 2001-07-04 |
AU1828800A (en) | 2000-06-19 |
CA2352143C (en) | 2008-06-17 |
GB2361599A (en) | 2001-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7024678B2 (en) | Method and apparatus for producing demand real-time television | |
US8091112B1 (en) | System and a method for transmitting and receiving a program with improved efficiency | |
US7614070B2 (en) | Technique for synchronizing deliveries of information and entertainment in a communications network | |
US8352988B2 (en) | System and method for time shifting the delivery of video information | |
US20020170059A1 (en) | Universal STB architectures and control methods | |
US6389218B2 (en) | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence | |
US7610606B2 (en) | Technique for effectively providing various entertainment services through a communications network | |
US7926080B2 (en) | Trick mode support for VOD with long intra-frame intervals | |
EP1285533A1 (en) | Universal digital broadcast system and methods | |
US20020170067A1 (en) | Method and apparatus for broadcasting streaming video | |
US20100251288A1 (en) | Technique for delivering entertainment programming content including commercial content therein over a communications network | |
US20110035775A1 (en) | Technique for delivering network personal video recorder service and broadcast programming service over communications network | |
US8789119B2 (en) | Statistical remultiplexer performance for video on demand applications by use of metadata | |
US20020026646A1 (en) | Universal STB architectures and control methods | |
US20060277581A1 (en) | Local entity and a method for providing media streams | |
CA2352143C (en) | Method and apparatus for producing demand real-time television | |
CN1322757C (en) | Universal digital broadcast system and methods | |
KR20030034082A (en) | Universal digital broadcast system and methods | |
KR20070019670A (en) | System and method providing enhanced features for streaming video-on-demand |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref country code: AU Ref document number: 2000 18288 Kind code of ref document: A Format of ref document f/p: F |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH GM HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
ENP | Entry into the national phase |
Ref country code: GB Ref document number: 200111983 Kind code of ref document: A Format of ref document f/p: F |
|
ENP | Entry into the national phase |
Ref document number: 2352143 Country of ref document: CA Ref country code: CA Ref document number: 2352143 Kind code of ref document: A Format of ref document f/p: F |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase |