Distributed Architecture for Encoding and Delivering Video Content
First Claim
1. A system comprising:
- a memory that stores a collection of video content items, wherein each of the video content items includes a corresponding encoded video stream and corresponding side information stream;
one or more video transcoder devices; and
a controller, wherein, in response to each of a plurality of content requests for a given one of the video content items from a respective plurality of user devices, the controller is configured to assign an available one of the one or more video transcoder devices to serve the respective user device, wherein the user devices have respectively different configurations of video processing capability (VPC), wherein each assigned video transcoder device is configured to;
receive the encoded video stream and side information stream of the given video content item; and
transcode the encoded video stream using the side information stream and according to the VPC configuration of the respective user device, in order to obtain a respective target encoded video stream; and
transmit the respective target encoded video stream to the respective user device through a communication medium.
2 Assignments
0 Petitions
Accused Products
Abstract
A split architecture for encoding a video stream. A source encoder may encode a video content stream to obtain an encoded bitstream and a side information stream. The side information stream includes information characterizing rate and/or distortion estimation functions per block of the video content stream. Also, a different set of estimation functions may be included per coding mode. The encoded bitstream and side information stream may be received by a video transcoder, which transcodes the encoded bitstream to a client-requested picture resolution, according to a client-requested video format and bit rate. The side information stream allows the transcoder to efficient and compactly perform rate control for its output bitstream, which is transmitted to the client device. This split architecture may be especially useful to operators of content delivery networks.
-
Citations
67 Claims
-
1. A system comprising:
-
a memory that stores a collection of video content items, wherein each of the video content items includes a corresponding encoded video stream and corresponding side information stream; one or more video transcoder devices; and a controller, wherein, in response to each of a plurality of content requests for a given one of the video content items from a respective plurality of user devices, the controller is configured to assign an available one of the one or more video transcoder devices to serve the respective user device, wherein the user devices have respectively different configurations of video processing capability (VPC), wherein each assigned video transcoder device is configured to; receive the encoded video stream and side information stream of the given video content item; and transcode the encoded video stream using the side information stream and according to the VPC configuration of the respective user device, in order to obtain a respective target encoded video stream; and transmit the respective target encoded video stream to the respective user device through a communication medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for delivering video content to user devices, the method comprising:
-
storing a collection of video content items in a memory, wherein each of the video content items includes a corresponding encoded video stream and corresponding side information stream; in response to each of a plurality of content requests for a given one of the video content items from a respective plurality of remote user devices, assigning an available one of one or more video transcoder devices to serve the respective user device, wherein the user devices have respectively different configurations of video processing capability (VPC); utilizing each assigned video transcoder device to; receive the encoded video stream and side information stream of the given video content item; transcode the encoded video stream using the side information stream and according to the VPC configuration of the respective user device, in order to obtain a respective target encoded video stream; and transmit the respective target encoded video stream to the respective user device through a communication medium. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A video encoder comprising:
-
digital circuitry configured to perform, for each of a plurality of blocks of the input video stream, operations including; transforming a plurality of prediction residuals that correspond respectively to one or more coding modes in order to obtain one or more respective transform blocks for the one or more respective coding modes; for each coding mode Mk, processing the respective prediction residual and/or the respective transform block for the coding mode Mk to obtain rate modeling data for the coding mode Mk; transmission circuitry configured to transmit a side information stream onto a communication medium, wherein the side information stream includes the rate modeling data for each coding mode and for each block. - View Dependent Claims (41, 42, 43, 44, 45)
-
-
46. A video encoder comprising:
-
digital circuitry configured to encode an input video stream to obtain an encoded video stream, wherein said encoding includes generating a side information stream that characterizes properties of the input video stream; and transmission circuitry configured to transmit the encoded video stream and the side information stream. - View Dependent Claims (47, 48)
-
-
49. A video transcoding system comprising:
-
a decoder configured to receive and decode a first encoded video stream to obtain a decoded video stream; a scaling unit configured to scale the decoded video stream to a target picture resolution in order to obtain a scaled video stream; an output encoder configured to receive a side information stream associated with the first encoded video stream, and encode the scaled video stream using the side information stream in order to obtain a second encoded video stream. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
Specification