# US 2018/0027259 A1 · Video encoder

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

- Number: US 2018/0027259 A1
- Document ID: US20180027259A1
- Status: Published application
- Kind: A1
- Application number: 15/543,672
- Filed: 2015-01-16
- Published: 2018-01-25
- Earliest claimed: 2015-01-16
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Lorenzo Bravo Perez
- Web page: https://patentgrep.com/patent/US20180027259A1

## CPC

- H04N 19/80: Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation (H04N19/635, H04N19/86 take precedence)
- 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/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/507: using conditional replenishment
- H04N 19/87: involving scene cut or scene change detection in combination with video compression
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video encoder may compare frames to generate a difference frames. The difference frame may be apportioned to generate a plurality of portions. Portions meeting a threshold pixel number condition are selected for compression. The threshold pixel number condition may measure the number of pixels which exceed an intensity threshold.

## Claims

### Claim 1

An encoder, comprising:
an input to receive video comprising video frames;
a difference module to compare a previous frame with a current frame to generate a difference frame;
a segmentation module to segment the difference frame into a plurality of segments, each segment comprising a plurality of pixels;
a segment selector to select segments of the plurality of segments having a number of pixels exceeding an intensity threshold that meets a threshold condition;
a compressor to compress each selected segment using an intra-coding compression method.

### Claim 2 (depends on 1)

The encoder of claim 1, wherein the intensity threshold is a function of a noise value of a camera capturing the video frames.

### Claim 3 (depends on 1)

The encoder of claim 1, wherein the compressor is to compress the set of compressed selected segments using an archive file compression method to produce a compressed inter-frame file.

### Claim 4 (depends on 2)

The encoder of claim 2, wherein the compressor is to include metadata in the compressed inter-frame file, the metadata indicating the location of each of the compressed selected segments in the different frame.

### Claim 5 (depends on 1)

The encoder of claim 1, further comprising:
a filter module to receive the video frames from the input, to apply a filter to the video frames and provide the filtered video frames to the difference module.

### Claim 6 (depends on 1)

The encoder of claim 1, further comprising:
a packager to receive a set of compressed inter-frame files from the compressor and to package the set of compressed inter-frame files into a compressed video clip.

### Claim 7 (depends on 1)

The encoder of claim 1, further comprising:
a frame rate controller to discard frames of the video to achieve at most a target frame rate.

### Claim 8 (depends on 7)

The encoder of claim 7, further comprising:
a network monitor to:
compare a currently available network bandwidth to a required upload rate;
decrease an image quality parameter of the intra-coding compression method if the current bandwidth is insufficient to achieve the required upload rate and the image quality parameter is greater than a minimum quality; and
decrease the target frame rate if the current bandwidth is insufficient to achieve the required upload rate and the image quality parameter is less than or equal to the minimum quality.

### Claim 9

A method, comprising
obtaining a pair of video frames;
obtaining a delta frame by comparing the pair of video frames;
apportioning the delta frame into a set of portions, each portion comprising a set of pixels;
for each portion of the set of portions:
counting a number of the pixels of the set of pixels of the portion that meet a threshold change condition; and
if the number of pixels that meet the threshold change condition is at least a threshold number, compressing the portion.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
packaging any compressed portions of the set of portions into an interframe package; and
including metadata in the frame, the metadata describing locations of the compressed portions in a reconstructed frame.

### Claim 11 (depends on 9)

The method of claim 9, further comprising:
receiving a noise level for a source of the video frames; and
determining the threshold change condition from the noise value.

### Claim 12 (depends on 9)

The method of claim 9, further comprising applying a smoothing filter or a brightness filter to each of the frames of the pair of video frames prior to obtaining the delta frame.

### Claim 13 (depends on 9)

The method of claim 9, wherein the pair of video frames have red, green, and blue channels, and further comprising:
obtaining a red channel delta frame, a green channel delta frame, and a blue channel delta frame, the delta frame being one of the red channel delta frame, the green channel delta frame, or the blue channel delta frame.

### Claim 14

A non-transitory computer readable medium, storing instructions executable by a processor to:
obtain a difference frame comprising a difference between a first video frame and a second video frame;
divide the difference frame into blocks, each block comprising a set of pixels; and
compress any of the blocks having a threshold number of pixels that meet an intensity threshold determined from a noise level of a source of the first and second video frames.

### Claim 15 (depends on 14)

The non-transitory computer readable medium of claim 14, further comprising instructions executable by the processor to:
select a filter according to a brightness measurement of at least one of the video frames; and
apply the filter to the video frames prior to obtaining the difference frame.
