# US 9,438,916 B2 · Analytics assisted encoding

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

- Number: US 9,438,916 B2
- Document ID: US9438916B2
- Status: Granted
- Kind: B2
- Application number: 14/658,513
- Filed: 2015-03-16
- Published: 2015-07-02
- Granted: 2016-09-06
- Earliest claimed: 2015-03-16
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Jose M. Rodriguez; Animesh Mishra; Naveen Doddapuneni
- Web page: https://patentgrep.com/patent/US9438916B2

## CPC

- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- G06V 20/52: Surveillance or monitoring of activities, e.g. for recognising suspicious objects (recognising microscopic objects G06V20/69)
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/134: characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/17: the unit being an image region, e.g. an object
- H04N 19/172: the region being a picture, frame or field
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/90: using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N 19/156: Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
- H04N 19/162: User input
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Video analytics may be used to assist video encoding by selectively encoding only portions of a frame and using, instead, previously encoded portions. Previously encoded portions may be used when succeeding frames have a level of motion less than a threshold. In such case, all or part of succeeding frames may not be encoded, increasing bandwidth and speed in some embodiments.

## Claims

### Claim 1

A method comprising:
identifying a portion of the frame having motion below a threshold;
encoding the rest of the frame without encoding said portion; and
for said unencoded portion, reusing encoding for a corresponding portion from a previous frame.

### Claim 2 (depends on 1)

The method of claim 1 wherein identifying a portion includes using video analytics including using at least one of erosion, dilation, or convolution.

### Claim 3 (depends on 1)

The method of claim 1 including receiving a plurality of simultaneous input video channels.

### Claim 4 (depends on 3)

The method of claim 3 including copying each of said channels.

### Claim 5 (depends on 4)

The method of claim 4 including storing one copy on an external memory.

### Claim 6 (depends on 5)

The method of claim 5 including storing another copy on an internal memory.

### Claim 7 (depends on 6)

The method of claim 6 including storing on said internal memory using two dimensional addressing.

### Claim 8 (depends on 7)

The method of claim 7 including specifying a point in said internal memory and an extent in two dimensions.

### Claim 9 (depends on 5)

The method of claim 5 including accessing said external memory for encoding.

### Claim 10 (depends on 9)

The method of claim 9 including using one copy for encoding and the other copy for video analytics.

### Claim 11

A non-transitory computer readable medium storing instructions to enable a computer processor to:
identify a portion of the frame having motion below a threshold;
encode the rest of the frame without encoding said portion; and
for said unencoded portion, reusing coding for a corresponding portion from a previous frame.

### Claim 12 (depends on 11)

The medium of claim 11 further storing instructions to use video analytics to identify the portion by using at least one of erosion, dilation, or convolution.

### Claim 13 (depends on 11)

The medium of claim 11 further storing instructions to receive a plurality of simultaneous input video channels.

### Claim 14 (depends on 13)

The medium of claim 13 further storing instructions to copy each of said channels.

### Claim 15 (depends on 14)

The medium of claim 14 further storing instructions to store one copy on an external memory.

### Claim 16 (depends on 15)

The medium of claim 15 further storing instructions to store another copy on an internal memory.

### Claim 17 (depends on 16)

The medium of claim 16 further storing instructions to store on said internal memory using two dimensional addressing.

### Claim 18 (depends on 17)

The medium of claim 17 further storing instructions to specify a point in said internal memory and an extent in two dimensions.

### Claim 19 (depends on 15)

The medium of claim 15 further storing instructions to access said external memory for encoding.

### Claim 20 (depends on 19)

The medium of claim 19 further storing instructions to use one copy for encoding and the other copy for video analytics.

### Claim 21

An integrated circuit comprising:
a video capture interface;
a main memory coupled to said video capture interface;
a pixel pipeline unit coupled to said main memory; and
a video encoder coupled to said pixel pipeline unit and said video capture interface, said video encoder to analyze the frame to identify a portion of the frame having motion below a threshold, encode the rest of the frame without encoding said portion and for said unencoded portion, reusing coding for a corresponding portion from a previous frame.

### Claim 22 (depends on 21)

The circuit of claim 21 wherein said circuit is an embedded dynamic random access memory.

### Claim 23 (depends on 22)

The circuit of claim 22, said encoder to use erosion, dilation, or convolution units in said pixel pipeline unit.

### Claim 24 (depends on 21)

The circuit of claim 21, said video capture interface to receive a plurality of simultaneous input video channels and copy each of said input video channels.

### Claim 25 (depends on 24)

The circuit of claim 24, said circuit to store one copy of said input video channels on an external memory.

### Claim 26 (depends on 25)

The circuit of claim 25, said video capture interface to store another copy on said main memory.

### Claim 27 (depends on 26)

The circuit of claim 26 wherein said video capture interface to store one copy on said main memory using two dimensional addressing.

### Claim 28 (depends on 27)

The circuit of claim 27, said video capture interface to specify a point in said internal memory and an extent in two dimensions.

### Claim 29 (depends on 25)

The circuit of claim 25, said encoder to access an external memory storing information to be encoded.

### Claim 30 (depends on 29)

The circuit of claim 29, said encoder to use one of said copies and said pixel pipeline unit to use the other of said copies.
