Video stream
First Claim
Patent Images
1. A system comprising:
- a memory to store machine readable instructions; and
a processing unit to access the memory and execute the machine readable instructions, the machine readable instructions comprising;
a server comprisinga codec selector including a plurality of application programming interfaces (APIs), the codec selector to;
dynamically partition a video stream into a plurality of partitions based on graphical elements of the video stream, such that a given frame of the video stream is divided into the plurality of partitions;
assign a first codec to a first partition among the plurality of partitions to compress the first partition in response to a determination that the graphical elements of the first partition include text or two dimensional graphics;
assign a second codec to a second partition among the plurality of partitions to compress the second partition in response to a determination that the graphical elements of the second partition include three dimensional graphics; and
assign a third codec to a third partition among the plurality of partitions to compress the third partition in response to a determination that the graphical elements of the third partition include video data; and
a codec mapper to merge each compressed partition to provide a compressed video stream to the client interface, wherein a given frame of the compressed video stream is compressed with multiple encoding schemes;
wherein the compressed video stream comprises;
mapping data that characterizes a compression format of each of the compressed partitions; and
boundary data that characterizes a boundary of each of the compressed partitions.
1 Assignment
0 Petitions
Accused Products
Abstract
An example system can comprise a memory to store machine readable instructions. The system can also comprise a processing unit to execute the machine readable instructions. The machine readable instructions can a server can comprise a codec selector to dynamically partition a video stream into a plurality of partitions based on graphical elements of the video stream, such that a given frame of the video stream is divided into the plurality of partitions. The codec selector can also select a plurality of different codecs to compress the plurality of partitions based on the graphical elements of the video stream.
-
Citations
17 Claims
-
1. A system comprising:
-
a memory to store machine readable instructions; and a processing unit to access the memory and execute the machine readable instructions, the machine readable instructions comprising; a server comprising a codec selector including a plurality of application programming interfaces (APIs), the codec selector to; dynamically partition a video stream into a plurality of partitions based on graphical elements of the video stream, such that a given frame of the video stream is divided into the plurality of partitions; assign a first codec to a first partition among the plurality of partitions to compress the first partition in response to a determination that the graphical elements of the first partition include text or two dimensional graphics; assign a second codec to a second partition among the plurality of partitions to compress the second partition in response to a determination that the graphical elements of the second partition include three dimensional graphics; and assign a third codec to a third partition among the plurality of partitions to compress the third partition in response to a determination that the graphical elements of the third partition include video data; and a codec mapper to merge each compressed partition to provide a compressed video stream to the client interface, wherein a given frame of the compressed video stream is compressed with multiple encoding schemes; wherein the compressed video stream comprises; mapping data that characterizes a compression format of each of the compressed partitions; and boundary data that characterizes a boundary of each of the compressed partitions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
analyzing, using a codec selector comprising a plurality of application programming interfaces (APIs), a video stream that characterizes a series of successive frames of video to select a boundary of a plurality of partitions of the video stream, wherein the boundary of each partition of the plurality of partitions is based on characteristics of a graphical element within a respective partition of the plurality of partitions; labeling each of the plurality of partitions with a label using the plurality of APIs; assigning, using the codec selector, a different respective codec among the plurality of different codecs to each of the respective partitions labeled by the plurality of APIs, such that; a first codec is assigned to a first partition among the plurality of partitions to compress the first partition in response to a determination that the graphical elements of first partition include text or two dimensional graphics; a second codec is assigned to a second partition among the plurality of partitions to compress the second partition in response to a determination that the graphical elements of the second partition include three dimensional graphics; and a third codec is assigned to a third partition among the plurality of partitions to compress the third partition in response to a determination that the graphical elements of the third partition include video data; receiving a compressed partition from each of the plurality of codecs; and generating a compressed video stream, the compressed video stream comprising; each of the compressed partitions; mapping data that characterizes compression format of each of the compressed partitions; and boundary data that characterizes a boundary of each of the compressed partitions. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer readable medium to store machine readable instructions, the machine readable instructions comprising:
a server comprising; a client interface to process a request for a video stream comprising a plurality of successive frames provided from a client computer via a network; a codec selector comprising; a plurality of application programming interfaces (APIs), each API to; monitor a component of a system control that facilitates generation of graphical elements in the video stream; identify a partition of the video stream that provides a type of graphical element; and label a different partition of the video stream; wherein the codec selector assigns; a first codec to a first partition among the plurality of partitions labeled by the plurality of APIs, in response to a determination that the graphical elements of the first partition include text or two dimensional graphics; a second codec to a second partition among the plurality of partitions to compress the second partition in response to a determination that the graphical elements of the second partition include three dimensional graphics; and a third codec to a third partition among the plurality of partitions to compress the third partition in response to a determination that the graphical elements of the third partition include video data; and a codec mapper to merge each compressed partition to provide a compressed video stream to the client interface, wherein a given frame of the compressed video stream is compressed with multiple encoding schemes; wherein the compressed video stream comprises; mapping data that characterize compression format of each of the compressed partitions; and boundary data that characterizes a boundary of each of the compressed partitions.
Specification