# US 7,609,769 B2 · Image complexity computation in packet based video broadcast systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,609,769 B2
- Document ID: US7609769B2
- Status: Granted
- Kind: B2
- Application number: 12/362,114
- Filed: 2009-01-29
- Published: 2009-05-14
- Granted: 2009-10-27
- Earliest claimed: 2005-07-11
- Assignees: Symmetricom, Inc.
- Inventors: Praveen A. Mohandas
- Web page: https://patentgrep.com/patent/US7609769B2

## CPC

- G06T 7/00: Image analysis
- H04N 21/2385: Channel allocation (H04N21/266 takes precedence); Bandwidth allocation (H04N21/24 takes precedence {; allocation of channels according to the instantaneous demands of the users in time-division multiplex systems H04J3/1682; admission control, resource allocation in open networks H04L12/5692; arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896; negotiating bandwidth in wireless networks H04W28/16})
- H04N 21/2405: {Monitoring of the internal components or processes of the server, e.g. server load (allocation of resources in multiprogramming arrangements G06F9/50; performance measurement of computer activity G06F11/34)}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method to determine real time image complexity in video streaming, IPTV and broadcast applications using a statistical model representing channel bandwidth variation and image complexity that considers scene content changes. Available channel bandwidth is distributed unevenly among multiple video streams in proportion to bandwidth variation and image complexity of the broadcast video stream. The distribution of available channel bandwidth is determined based upon an image complexity factor of each video stream as determined from probability matrices considering bandwidth variations and image complexity.

## Claims

### Claim 1

A process for computing image complexity of a compressed digital broadcast video stream and for broadcasting multiple compressed digital video streams on a single channel, comprising the steps of:
analyzing complexity indication changes and bit rate changes in a video coding layer of each video stream;
creating a statistical model to dynamically compute image complexity of said each video stream by creating a first statistical model of video coding layer complexity indication changes for discrete sections of said each video stream, creating a second statistical model of video coding layer bit rate changes or bandwidth variation for the same discrete sections of said each video stream, combining the first and second statistical models from the discrete sections of said each video stream, and calculating the image complexity for the discrete sections of said each video stream based upon the combined first and second statistical models;
counting high quantization transitions, slice/macroblocks and inter/intra prediction types for picture/slice/macroblock types by determining quantization changes in the discrete sections of said each video stream;
counting bandwidth variation by determining bandwidth of video coding layer data in the discrete sections of said each video stream;
wherein the counting steps comprise incrementing a first counter for each quantization change, incrementing a second counter for each macroblock, incrementing a third counter for each slice, and incrementing a fourth counter for each low, average and high bandwidth state transition;
determining the effect of the image complexity of said each video stream on said broadcast; and
distributing available channel bandwidth among the multiple video streams based upon the determined effect of the image complexity of said each video stream.

### Claim 2 (depends on 1)

The process of claim 1, wherein the analyzing step includes the step of analyzing video coding layer complexity indication changes in parameters of discrete sections of said each video stream.

### Claim 3 (depends on 2)

The process of claim 2, wherein the discrete sections of said each video stream includes slice, macroblocks, quantization, inter-coded reference blocks, intra-coded reference blocks, and non-reference macroblock/slice/picture types.

### Claim 4 (depends on 2)

The process of claim 2, further comprising the step of estimating video quality in loss states.

### Claim 5 (depends on 1)

The process of claim 1, further comprising the step of estimating video quality in loss states.

### Claim 6 (depends on 1)

The process of claim 1, further comprising the steps of:
computing a probability for video coding layer complexity for the discrete sections of said each video stream using the first, second, third and fourth counters; and
computing a probability for low, average and high bandwidth states for the discrete sections of said each video stream using the first, second, third and fourth counters.

### Claim 7 (depends on 6)

The process of claim 6, further comprising the steps of:
constructing a first transition probability matrix for video coding layer complexity transition of the discrete sections of said each video stream; and
constructing a second transition probability matrix for bandwidth state transition of the discrete sections of said each video stream.

### Claim 8 (depends on 7)

The process of claim 7, further comprising the step of computing image complexity of the discrete sections of said each video stream using limiting state probabilities obtained from each transition probability matrix.

### Claim 9

A process for computing image complexity of a compressed digital broadcast video stream and for broadcasting multiple compressed digital video streams on a single channel, comprising the steps of:
analyzing complexity indication changes and bit rate changes in a video coding layer of each video stream;
creating a first statistical model of video coding layer complexity indication changes for discrete sections of said each video stream;
creating a second statistical model of video coding layer bit rate changes or bandwidth variation for the same discrete sections of said each video stream;
combining the first and second statistical models from the discrete sections of said each video stream to dynamically computer image complexity of said video stream;
determining the effect of the image complexity of said each video stream on said broadcast;
calculating the image complexity for the discrete sections of said each video stream based upon the combined first and second statistical models;
counting high quantization transitions, slice/macroblocks and inter/intra prediction types for picture/slice/macroblock types by determining quantization changes in said each video stream;
counting bandwidth variation by determining bandwidth of video coding layer data in said each video stream;
wherein the counting steps comprise incrementing a first counter for each quantization change, incrementing a second counter for each macroblock, incrementing a third counter for each slice, and incrementing a fourth counter for each low, average and high bandwidth state transition;
distributing available channel bandwidth among the multiple video streams based upon the determined effect of the image complexity of said each video stream; and
estimating video quality in loss states.

### Claim 10 (depends on 9)

The process of claim 9, further comprising the steps of:
computing a probability for video coding layer complexity for the discrete sections of said each video stream using the first, second, third and fourth counters; and
computing a probability for low, average and high bandwidth states for the discrete sections of said each video stream using the first, second, third and fourth counters.

### Claim 11 (depends on 10)

The process of claim 10, further comprising the steps of:
constructing a first transition probability matrix for video coding layer complexity transition of the discrete sections of said each video stream; and
constructing a second transition probability matrix for bandwidth state transition of the discrete sections of said each video stream.

### Claim 12 (depends on 11)

The process of claim 11, further comprising the step of computing image complexity of the discrete sections of said each video stream using limiting state probabilities obtained from each transition probability matrix.

### Claim 13 (depends on 9)

The process of claim 9, wherein the analyzing step includes the step of analyzing video coding layer complexity indication changes in parameters of the discrete sections of said each video stream, and wherein the discrete sections of said each video stream includes slice, macroblocks, quantization, inter-coded reference blocks, intra-coded reference blocks, and non-reference macroblock/slice/picture types.
