摘要:
A system for producing multiple concurrent real-time video streams from stored MPEG video clips includes a video server and at least one MPEG decoder array. The decoder array has multiple decoder pairs, each pair having a video switch for switching from one decoder in the pair to the other at a specified time. Switching may occur from a specified Out-point frame to a specified In-point frame, and the specified frames can be any frame type at any location in the group of pictures (GOP) structure. In a preferred construction, the video server has a controller server linked to a series of data mover computers, each controlling one or more respective decoder arrays. The data mover computers use a control protocol to control the decoder arrays, and each decoder uses a data protocol to request data from a respective data mover computer.
摘要:
Metadata for splicing of an encoded digital motion video stream (such as an MPEG Transport Stream) is prepared in real time while recording at the encoding bit rate and faster than encoded bit rate for off line encoding independent of the bit rate and mechanisms for ingestion of the data stream into data storage. Preprocessing is performed during a metered file transfer protocol (FTP) and includes pseudo real-time encoding. The preprocessing includes Group of Pictures (GOP) level pre-processing of splicing In Points and results in an intimate linkage between metadata and the file system in which the video data is stored. The preferred file system enables access to metadata in parallel to writing the data on disk. The pre-processing is performed simultaneous to writing the data to the disk using a carousel type buffer mechanism.
摘要:
Original-quality MPEG coded video is processed to produce reduced-quality MPEG coded video for trick mode operation by removing non-zero AC DCT coefficients from the 8×8 blocks of I-frames of the MPEG coded video to produce I-frames of reduced-quality MPEG coded video, and inserting freeze frames in the reduced-quality MPEG coded video. Preferably, the coded video is stored in a main file, a fast-forward file and a fast-reverse file. The fast forward file and the fast reverse files contain reduced-quality I frames corresponding to original-quality I frames in the main file. A reading of the main file produces an MPEG transport stream for an audio-visual presentation at a normal rate, a reading of the fast-forward file produces an MPEG transport stream of the audio-visual presentation in a forward direction at a fast rate, and a reading of the fast-reverse file produces an MPEG transport stream of the audio-visual presentation in a reverse direction at a fast rate. Preferably, the files share a volume that includes at least one GOP index associating the corresponding I frames of the files.
摘要:
Access to movies ranging from very popular movies to unpopular movies is managed by configuring sets of data movers for associated movie rankings, reserving data mover local cache resources for the most popular movies, reserving a certain number of streams for popular movies, negotiating with a client for selection of available movie titles during peak demand when resources are not available to start any freely-selected movie in disk storage, and managing disk bandwidth and primary and local cache memory and bandwidth resources for popular and unpopular movies. The assignment of resources to movie rankings may remain the same while the rankings of the movies are adjusted, for example, during off-peak hours. A movie locked in primary cache and providing a source for servicing a number of video streams may be demoted from primary cache to disk in favor of servicing one or more streams of a higher-ranking movie.
摘要:
Coded video from an on-line MPEG video encoder is stored as a clip in a video server or is otherwise received in the video server and prepared or used for splicing. In order to reduce apparent frame inaccuracy that may result from the splicing process, the on-line MPEG video encoder and the server are coordinated so that the group-of-picture (GOP) structure in the encoder provides specified In-points and Out-points that are valid and desirable for splicing. An encoder control protocol is also provided for remote control of the on-line MPEG video encoder in order to coordinate the on-line MPEG video encoder with the video server.
摘要:
Time stamps in an encoded digital motion video data stream (such as an MPEG Transport Stream) are re-stamped for seamless splicing. The re-stamping includes attainment of Presentation Time Stamp (PTS) agreement in the video stream, alignment of audio stream and video stream Presentation Time Stamps, and re-stamping of the Program Clock Reference (PCR) to eliminate jitter and to comply with MPEG standards. The MPEG compliance is achieved by padding, stuffing and insertion of freeze B and P frames and pre-encoded black I frames. Freeze frame insertion can be also achieved by replacing B and P frames by, smaller in size, freeze B and P frames respectively. No frames are discarded such that both spatial and temporal frame accuracy (no extra frame insertion assumed) is achieved. Moreover, padding is inserted into the data stream to compensate for irregularities in the decoder buffer level, and the audio and video buffer levels are managed dynamically to recover from data miss-delivery to minimize secondary effects, including prediction of errors, inducing freeze or skip, and insertion of padding. The start of the play of the second MPEG stream spliced to the first one is frame accurate and starts as scheduled based on the use of an external clock signal in a stream server computer.
摘要:
Predictive analysis is performed upon encoded digital motion video (such as an MPEG Transport Stream) to facilitate real-time splicing. The predictive analysis includes estimation of upper and lower bounds of the data levels in a decoder's video and audio buffers for splicing in such a way as to prevent buffer overflow and underflow. This enables buffer management techniques including padding or stuffing, micro-restamping, freeze or repeat of frames, skip or drop of frames, alignment of audio with video. The predictive analysis also includes analysis of the structure of the encoded audio including audio access units (AAUs) and compression windows (AFs), prediction in the compressed domain of initial conditions of the decoder buffer levels for every single Elementary Stream (ES) component of a Transport Stream (TS), and identification of valid splicing In Points and Out Points based on the predicted buffer levels without any special encoder. This permits splicing of different compressed audio types without consideration of the details of the compression mechanism. The predictive analysis may also include recommendations or marking. The analysis is performed on ingest of the data as a pre-processing in preparation for splicing of a new file on early queuing in a data storage system before streaming.
摘要:
Transform coefficients for blocks of pixels in an original picture are quantized to produce respective sets of quantization indices for the blocks of pixels. The quantization indices for at least some of the blocks are produced by using a quantization step size that is not uniform within each block. Largest magnitude quantization indices are selected from the respective sets of quantization indices for (run, level) encoding to produce the (run, level) encoded picture. For example, MPEG-2 coded video includes a set of non-zero AC discrete cosine transform (DCT) coefficients for 8×8 blocks of pixels. For scaling the MPEG-2 coded video, non-zero AC DCT coefficients are removed from the MPEG-2 coded video to produce reduced-quality MPEG-2 coded video that includes no more than a selected number of largest magnitude quantization indices for the non-zero AC DCT coefficients for each 8×8 block.
摘要:
The (run, level) pairs in an original series are inspected to determine whether or not modification of the (run, level) pairs would produce a desirable decrease in a number of bits required for variable-length encoding of the series of (run, level) pairs, despite introduction of noise. If so, the (run, level) pairs are modified prior to variable-length encoding. For example, a (run, level) pair of (M, N) is modified by substitution of a first (run, level) pair of (M−1, 1) immediately followed by a second (run, level) pair of (0, N). A lookup table or testing of predetermined ranges of run length and level magnitude provides a fast determination of whether or not to modify a (run, level) pair. The decoder can be programmed to reduce the noise introduced by this process by recognizing and rejecting (run, level) pairs that are likely to have been inserted during the encoding process.
摘要:
Original-quality MPEG coded video is processed to produce reduced-quality MPEG coded video at a reduced bit rate. The processing is based on a scale factor between average frame size of the original-quality MPEG coded video and a desired average frame size of the reduced-quality MPEG coded video. For each Discrete Cosine Transform (DCT) block of each frame, the processing calculates a size of the block of the reduced frame by scaling the original block size by the scale factor, and removes a sufficient number of bits from the original block to obtain substantially the calculated size. In addition, the processing accumulates excess bits when the block size reduction eliminates more bits from a block than are necessary for the desired reduction of the size of the block, and any excess bits are used for processing a number of following blocks.