US6594271B1

Implementation of opportunistic data on a statistical multiplexing encoder

Summary by NHIP

Opportunistic Data Encoder

The apparatus integrates an opportunistic data processor into a multi-channel statistical multiplexing encoder to transmit data only when spare bandwidth exists. This processor scales its bandwidth need parameter by a function of the global quantization level and ceases transmission when the global quantization level exceeds a threshold value.

Claim Score by NHIP

Read claim 1, the broadest

Abstract

A method and apparatus for providing an opportunistic data capability for an existing statistical multiplexing encoder platform, such as a multi-channel video data encoder. An Opportunistic Data Processor (ODP) is provided as a plug-in card or an external device that can be interfaced with an existing multi-channel encoder. The ODP communicates with a Quantization Level Processor (QLP) and Packet Multiplexer (PM) in the multi-channel encoder as if it was just another channel encoder. The ODP implements a special rate control scheme by encoding data and sending it to the PM only when a global Quantization Level (QL) indicates that spare bandwidth is available. Spare bandwidth is assumed to be available when the global QL is less than a threshold value. Moreover, the OPD sends a bandwidth need parameter to the QLP, as do the other channel encoders. However, the ODP's need parameter is scaled by a function of the global QL to attenuate its actual bandwidth need as the global QL increases to provide smooth variations in the ODP's encoded data rate.

US6594271B1, drawing sheet 1
Sheet 1 of 3

Term

Term ended

Expired 19 July 2019, 7.2 years ago.

  1. Priority and filed
  2. Granted
  3. Expired
  4. Today

24 claims: 3 independent, 21 dependent

  1. 1
    Broadest claimClaim Score 36, narrow(NHIP)A multi-channel statistical multiplexing encoder, comprising:a plurality of channel encoders with respective buffers for receiving respective data sources;an opportunistic data processor with a respective buffer for receiving a respective data source;a packet multiplexer for receiving encoded data from the channel encoders and the opportunistic data processor for forming a transport stream;and a quantization level processor associated with the packet multiplexer;wherein: the channel encoders and the opportunistic data processor send bandwidth need parameters thereof to the quantization level processor;the quantization level processor provides bandwidth allocations and a global quantization level to the channel encoders and the opportunistic data processor according to the bandwidth need parameters;the channel encoders and the opportunistic data processor encode their respective data sources according to the global quantization level and the respective bandwidth allocations;the opportunistic data processor generates its bandwidth need parameter: (a) by scaling a bandwidth need thereof by a function of the global quantization level, and (b) according to a threshold quantization level;and the opportunistic data processor generates its bandwidth need parameter such that essentially no bandwidth is allocated to the opportunistic data processor when the global quantization level exceeds the threshold quantization level.
  2. 12
    An opportunistic data processor apparatus for use with a multi-channel statistical multiplexing encoder, comprising:an opportunistic data processor with a respective buffer for receiving a respective data source;and an interface for allowing said opportunistic data processor to communicate with a packet multiplexer and a quantization level processor of the multi-channel statistical multiplexing encoder;wherein: said opportunistic data processor provides a bandwidth need parameter to the quantization level processor via said interface, and, in response thereto, receives a bandwidth allocation and a global quantization level from the quantization level processor via said interface;said opportunistic data processor generates its bandwidth need parameter: (a) by scaling a bandwidth need thereof by a function of the global quantization level, and (b) according to a threshold quantization level;said quantization level processor also receives bandwidth need parameters from a plurality of channel encoders, and, in response thereto, provides bandwidth allocations and the global quantization level to the plurality of channel encoders;the channel encoders and the opportunistic data processor encode their respective data sources according to the global quantization level and the respective bandwidth allocations;said packet multiplexer receives encoded data from the plurality of channel encoders and the opportunistic data processor for forming a transport stream;and the opportunistic data processor generates its bandwidth need parameter such that essentially no bandwidth is allocated to the opportunistic data processor when the global quantization level exceeds the threshold quantization level.
  3. 24
    A method for providing an opportunistic data capability to a multi-channel statistical multiplexing encoder, comprising the steps of:providing an opportunistic data processor with a respective buffer for receiving a respective data source;coupling said opportunistic data processor to a packet multiplexer and a quantization level processor of the multi-channel statistical multiplexing encoder via an interface to allow communication between the opportunistic data processor and the packet multiplexer, and between the opportunistic data processor and the quantization level processor;providing a bandwidth need parameter from the opportunistic data processor to the quantization level processor via said interface, and, in response thereto, receiving a bandwidth allocation and a global quantization level at the opportunistic data processor from the quantization level processor via the interface;generating a bandwidth need parameter at the opportunistic data processor: (a) by scaling a bandwidth need thereof by a function of the global quantization level, and (b) according to a threshold quantization level;receiving bandwidth need parameters from a plurality of channel encoders at the quantization level processor, and, in response thereto, providing bandwidth allocations and the global quantization level to the plurality of channel encoders;encoding the respective data sources at the channel encoders and the opportunistic data processor according to the global quantization level and the respective bandwidth allocations;and receiving encoded data from the plurality of channel encoders and the opportunistic data processor at the packet multiplexer for forming a transport stream;wherein the opportunistic data processor generates its bandwidth need parameter such that essentially no bandwidth is allocated to the opportunistic data processor when the global quantization level exceeds the threshold quantization level.