Real-time encoding system of multiple spatially scaled video based on shared video coding information
First Claim
Patent Images
1. A method, comprising:
- receiving at a single encoding engine an input video stream having one or more pictures of a first resolution; and
generating by the single encoding engine, in parallel, plural encoded streams, a first of the encoded streams comprising one or more pictures of the first resolution and a second of the encoded streams comprising one or more pictures of a second resolution that is smaller than the first resolution, the encoding of the second stream based on sharing video coding information used in encoding the first encoded stream, wherein a plurality of first blocks of the first encoded stream are downscaled by a scaling factor to derive a plurality of second blocks of the second encoded stream;
mapping a plurality of first motion vectors of the first blocks to a plurality of second motion vectors of the second blocks, the second motion vectors each corresponding to one of the first motion vectors adjusted by the scaling factor; and
partitioning at least one of a macroblock or a coding unit of the second encoded stream into one or more partitions, the at least one of the macroblock or the coding unit comprising a plurality of the second blocks, the at least one of the macroblock or the coding unit partitioned by;
identifying a plurality of neighboring second blocks within the at least one of the macroblock or the coding unit having equal second motion vectors; and
combining the neighboring second blocks having the equal second motion vectors within a partition of the one or more partitions.
7 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method comprising receiving at a single encoding engine an input video stream having one or more pictures of a first size; and generating by the single encoding engine, in parallel, plural encoded streams, a first of the encoded streams comprising one or more pictures of the first size and a second of the encoded streams comprising one or more pictures of a second size that is smaller than the first size, the encoding of the second stream based on sharing video coding information used in encoding the first encoded stream.
53 Citations
17 Claims
-
1. A method, comprising:
-
receiving at a single encoding engine an input video stream having one or more pictures of a first resolution; and generating by the single encoding engine, in parallel, plural encoded streams, a first of the encoded streams comprising one or more pictures of the first resolution and a second of the encoded streams comprising one or more pictures of a second resolution that is smaller than the first resolution, the encoding of the second stream based on sharing video coding information used in encoding the first encoded stream, wherein a plurality of first blocks of the first encoded stream are downscaled by a scaling factor to derive a plurality of second blocks of the second encoded stream; mapping a plurality of first motion vectors of the first blocks to a plurality of second motion vectors of the second blocks, the second motion vectors each corresponding to one of the first motion vectors adjusted by the scaling factor; and partitioning at least one of a macroblock or a coding unit of the second encoded stream into one or more partitions, the at least one of the macroblock or the coding unit comprising a plurality of the second blocks, the at least one of the macroblock or the coding unit partitioned by; identifying a plurality of neighboring second blocks within the at least one of the macroblock or the coding unit having equal second motion vectors; and combining the neighboring second blocks having the equal second motion vectors within a partition of the one or more partitions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
a single encoding engine configured to; receive an input video stream having one or more pictures of a first resolution; generate in parallel plural encoded streams, the a first encoded stream of the encoded streams comprising one or more pictures of the first resolution and a second of the encoded streams comprising one or more pictures of a second resolution that is smaller than the first resolution, the encoding of the second stream based on sharing video coding information used in encoding the first encoded stream map a plurality of first motion vectors of the first blocks to a plurality of second motion vectors of the second blocks, the second motion vectors each corresponding to one of the first motion vectors adjusted by the scaling factor; and partition at least one of a macroblock or a coding unit of the second encoded stream into one or more partitions, the at least one of the macroblock or the coding unit comprising a plurality of the second blocks, the single encoding engine configured to partition at least one of the macroblock or the coding unit by; identifying a plurality of neighboring second blocks within the at least one of the macroblock or the coding unit having a same second motion vector; and combining the neighboring second blocks having the same second motion vector within a partition of the one or more partitions. - View Dependent Claims (17)
Specification