Methods and systems for video streaming with VCR functionality
First Claim
1. A method of providing an encoded video stream to a client over a network, the method comprising:
- storing a forward-encoded bit-stream and a reverse-encoded bit-stream for video data, the forward-encoded bit-stream including first frames encoded without inter-frame dependencies and second frames encoded depending on forward-direct preceding frames, and the reverse-encoded bit-stream including third frames encoded without inter-frame dependencies and fourth frames encoded depending on reverse-direction preceding frames;
receiving a request with a video cassette recording (VCR) function from the client;
examining costs of decoding a requested frame in a forward direction from one of the first and third frames, in a reverse direction from another one of the first and third frames, and in either the forward or reverse direction from a current frame;
selecting a frame with a least cost among said one of the first and third frames, said another one of the first and third frames, and said current frame;
switching the forward-encoded and reverse-encoded bit streams, if the frame with the least cost belongs to a different bit-stream than the requested frame;
selecting one or more succeeding frames until reaching the requested frame among the second or the fourth frames;
reading out selected frames among the first, second, third, and fourth frames in accordance with the request; and
transmitting the selected frames to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for providing a video stream from a server to a client over a network include a memory for storing a forward-encoded bit-stream and a reverse-encoded bit-stream for a video data. The forward-encoded bit-stream includes I-frames encoded without inter-frame dependencies and P-frames encoded depending on forward-direction preceding frames, and the reverse-encoded bit-stream includes I-frames and P-frames encoded depending on reverse-direction preceding frames. When the server receives a request with a video cassette recording (VCR) function from the client, the server reads out and transmits frames selectively from among the first, second, third, and fourth frames in accordance with the request. The server can select the closest I-frame to a requested frame in either bit-stream for a fast-mode play or a random-access play, and switch the bit-streams to use subsequent P-frames in a different direction than that of the closest I-frame.
-
Citations
4 Claims
-
1. A method of providing an encoded video stream to a client over a network, the method comprising:
-
storing a forward-encoded bit-stream and a reverse-encoded bit-stream for video data, the forward-encoded bit-stream including first frames encoded without inter-frame dependencies and second frames encoded depending on forward-direct preceding frames, and the reverse-encoded bit-stream including third frames encoded without inter-frame dependencies and fourth frames encoded depending on reverse-direction preceding frames;
receiving a request with a video cassette recording (VCR) function from the client;
examining costs of decoding a requested frame in a forward direction from one of the first and third frames, in a reverse direction from another one of the first and third frames, and in either the forward or reverse direction from a current frame;
selecting a frame with a least cost among said one of the first and third frames, said another one of the first and third frames, and said current frame;
switching the forward-encoded and reverse-encoded bit streams, if the frame with the least cost belongs to a different bit-stream than the requested frame;
selecting one or more succeeding frames until reaching the requested frame among the second or the fourth frames;
reading out selected frames among the first, second, third, and fourth frames in accordance with the request; and
transmitting the selected frames to the client. - View Dependent Claims (2)
storing at least one drift-compensation bit-stream for the video data, the drift-compensation bit-stream including prediction of frames in the forward-encoded bit-stream from frames in the reverse-encoded bit-stream and prediction of frames in the reverse-encoded bit-stream from frames in the forward-encoded bit-stream; and
substituting, after the switching, a frame of the drift-compensation bit-stream for one of the second or the fourth frames.
-
-
3. A method of providing an encoded video stream to a client over a network, the method comprising:
-
storing a forward-encoded bit-stream and a reverse-encoded bit-stream for video data, the forward-encoded bit-stream including first frames encoded without inter-frame dependencies and second frames encoded depending on forward-direct preceding frames, and the reverse-encoded bit-stream including third frames encoded without inter-frame dependencies and fourth frames encoded depending on reverse-direction preceding frames;
receiving a request with a video cassette recording (VCR) function from the client;
selecting a closest one of the first and third frames to a requested frame when the VCR function of the request is a fast-mode play;
switching the forward-encoded and reverse-encoded bit-streams, if the closest frame belongs to a different bit-stream than the requested frame;
selecting one or more succeeding frames until reaching the requested frame among the second or the fourth frames;
reading out selected frames among the first, second, third, and fourth frames in accordance with the request; and
transmitting the selected frames to the client. - View Dependent Claims (4)
storing a first drift-compensation frame for predicting a reverse-direction succeeding frame from each of the first frames of the forward-encoded bit-stream, and a second drift-compensation frame for predicting a forward-direction succeeding frame from each of the third frames of the reverse-encoded bit-stream; and
substituting, after the switching, the first drift-compensation frame for one of the fourth frames, or the second drift-compensation frame for one of the second frames.
-
Specification