Multi-layer encoding and decoding
First Claim
1. A computing system comprising:
- memory configured to store multiple component bitstreams; and
a bitstream multiplexer configured to perform operations comprising;
multiplexing the multiple component bitstreams into a multi-layer encoding (MLE) bitstream, wherein each of the multiple component bitstreams provides an alternative version of input video, and wherein the multiplexing includes inserting multiple marker data units in the MLE bitstream, each of the multiple marker data units including a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values between the multiple component bitstreams in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams; and
outputting the MLE bitstream.
2 Assignments
0 Petitions
Accused Products
Abstract
Innovations described herein provide a generic encoding and decoding framework that includes some features of simulcast and some features of scalable video coding. For example, a bitstream multiplexer multiplexes component bitstreams into a multi-layer encoding (MLE) bitstream that provides temporal scalability, spatial resolution scalability and/or signal to noise ratio scalability. Each of the component bitstreams provides an alternative version of input video, and a given component bitstream can be a non-scalable bitstream or scalable bitstream. The multiplexer follows composition rules for the MLE bitstream and may rewrite values of certain syntax elements of component bitstreams using an approach that avoids bit shifting operations. A corresponding demultiplexer receives an MLE bitstream that includes component bitstreams and demultiplexes at least part of at least one of the component bitstreams from the MLE bitstream, following decomposition rules for the demultiplexing.
188 Citations
32 Claims
-
1. A computing system comprising:
-
memory configured to store multiple component bitstreams; and a bitstream multiplexer configured to perform operations comprising; multiplexing the multiple component bitstreams into a multi-layer encoding (MLE) bitstream, wherein each of the multiple component bitstreams provides an alternative version of input video, and wherein the multiplexing includes inserting multiple marker data units in the MLE bitstream, each of the multiple marker data units including a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values between the multiple component bitstreams in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams; and outputting the MLE bitstream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a multi-layer encoding (MLE) bitstream that includes multiple component bitstreams, wherein each of the multiple component bitstreams provides an alternative version of input video, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values between the multiple component bitstreams in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams; demultiplexing at least part of at least one of the multiple component bitstreams from the MLE bitstream, wherein the demultiplexing is based at least in part on multiple marker data units in the MLE bitstream, wherein each of the multiple marker data units includes a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams; and outputting the at least part of at least one of the multiple component bitstreams. - View Dependent Claims (12, 13, 14, 15)
-
-
16. One or more computer-readable media storing a multi-layer encoding (MLE) bitstream that includes multiple component bitstreams, wherein the one or more computer-readable media are selected from the group consisting volatile memory, non-volatile memory, magnetic disk, CD-ROM, and DVD, each of the multiple component bitstreams providing an alternative version of input video, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values between the multiple component bitstreams in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams, wherein the MLE bitstream includes multiple marker data units, wherein each of the multiple marker data units includes a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams, and wherein the MLE bitstream is organized to facilitate processing by operations that include:
-
receiving the MLE bitstream; demultiplexing at least part of at least one of the multiple component bitstreams from the MLE bitstream, wherein the demultiplexing is based at least in part on the multiple marker data units in the MLE bitstream; and outputting the at least part of at least one of the multiple component bitstreams. - View Dependent Claims (17, 18, 19, 20)
-
-
21. One or more computer-readable media having stored thereon computer-executable instructions for causing a computing system, when programmed thereby, to perform operations, wherein the one or more computer-readable media are selected from the group consisting volatile memory, non-volatile memory, magnetic disk, CD-ROM, and DVD, the operations comprising:
-
receiving multiple component bitstreams; with a bitstream multiplexer, multiplexing the multiple component bitstreams into a multi-layer encoding (MLE) bitstream, wherein each of the multiple component bitstreams provides an alternative version of input video, and wherein the multiplexing includes inserting multiple marker data units in the MLE bitstream, each of the multiple marker data units including a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams; and outputting the MLE bitstream. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
-
29. One or more computer-readable media having stored thereon computer-executable instructions for causing a computing system, when programmed thereby, to perform operations, wherein the one or more computer-readable media are selected from the group consisting volatile memory, non-volatile memory, magnetic disk, CD-ROM, and DVD, the operations comprising:
-
receiving a multi-layer encoding (MLE) bitstream that includes multiple component bitstreams, wherein each of the multiple component bitstreams provides an alternative version of input video, the multiple component bitstreams including at least some parameter set identifiers having values set to avoid conflicting uses of the values between the multiple component bitstreams in the MLE bitstream, such that each of the values is unique across the multiple component bitstreams; demultiplexing at least part of at least one of the multiple component bitstreams from the MLE bitstream, wherein the demultiplexing is based at least in part on multiple marker data units in the MLE bitstream, wherein each of the multiple marker data units includes a priority identifier and one or more quality layer identifiers, the priority identifier associating a video data unit with a given layer of one of the multiple component bitstreams; and outputting the at least part of at least one of the multiple component bitstreams. - View Dependent Claims (30, 31, 32)
-
Specification