Video stream

US9426476B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9426476-B2
Application numberUS-201213544296-A
CountryUS
Kind codeB2
Filing dateJul 9, 2012
Priority dateJul 9, 2012
Publication dateAug 23, 2016
Grant dateAug 23, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The system of claim 1 , wherein the video stream represents a real-time desktop associated with the server. 3. The system of claim 1 , wherein each of the first, second, and third codec compress each respective partition into a different respective compression format. 4. The system of claim 1 , wherein the codec selector is further to employ a hierarchy of heuristics to select a given codec of the plurality of codecs for a given partition of the plurality of partitions. 5. The system of claim 4 , wherein a given heuristic of the hierarchy of heuristics comprises an examination of commands employed to generate a graphical element in the given partition of the plurality of partitions. 6. The system of claim 4 , wherein a given heuristic of the hierarchy comprises an examination of a number of colors employed to generate a graphical element in the given partition of the video stream. 7. The system of claim 1 , wherein the APIs each interfaces with a component of the system employed to facilitate generation of the graphical elements of the video stream, such that a respective API is to determine a boundary of each partition of the plurality of partitions in the video stream. 8. The system of claim 1 , wherein the codec selector is further to: periodically re-partition the video stream into another plurality of partitions based on graphical elements of the video stream at a time of the periodic re-partitioning, such that another frame of the video stream is divided into the another plurality of partitions; and select a plurality of different codecs to compress the another plurality of partitions based on the graphical elements of the video stream at a time of the periodic re-partitioning. 9. The system of claim 1 , wherein the codec selector includes a mirror driver in communication with a first API among the plurality of APIs, the mirror driver to determine which partition of the video stream contains text and/or two-dimensional graphics. 10. The system of claim 1 , wherein the codec selector includes a three dimensional (3-D) rendering engine coupled to a second API among the plurality of APIs to determine which partition among the plurality of partitions contains 3-D rendered data. 11. The system of claim 1 , further including a video player coupled to a third API among the plurality of APIs to determine which partition among the plurality of partitions contains a video. 12. The system of claim 1 , further comprising a decoding codec to decompress the video stream. 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. 14. The method of claim 13 , further comprising: providing the compressed video stream to a client over a network; and decompressing the compressed video stream at the client based on the mapping data. 15. The method of claim 13 , wherein the first codec employs run length encoding to compress the first partition. 16. The method of claim 13 , wherein the second codec employs discrete cosine transform (DCT) or DCT with temporal compression to compress the second partition. 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 dimensiona

Assignees

Inventors

Classifications

  • Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks · CPC title

  • Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264 · CPC title

  • the region being a picture, frame or field · CPC title

  • H04N19/136Primary

    Incoming video signal characteristics or properties · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9426476B2 cover?
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 …
Who is the assignee on this patent?
Lukasik Derek, Walls Jeffrey Joel, Nylund Mark Edward, and 5 more
What technology area does this patent fall under?
Primary CPC classification H04N19/136. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).