# US 9,438,930 B2 · Systems and methods for wavelet and channel-based high definition video 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,930 B2
- Document ID: US9438930B2
- Status: Granted
- Kind: B2
- Application number: 15/004,526
- Filed: 2016-01-22
- Published: 2016-07-14
- Granted: 2016-09-06
- Earliest claimed: 2011-01-17
- Applicants: Exaimage Corporation
- Inventors: Jaime Milstein
- Web page: https://patentgrep.com/patent/US9438930B2

## CPC

- H04N 19/635: characterised by filter definition or implementation details
- H04N 19/122: Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
- 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/146: Data rate or code amount at the encoder output
- H04N 19/154: Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147)
- H04N 19/156: Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/1883: {the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]}
- H04N 19/1887: {the unit being a variable length codeword}
- H04N 19/63: using sub-band based transform, e.g. wavelets
- 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/85: using pre-processing or post-processing specially adapted for video compression
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A wavelet transform (WT) is applied to a data stream of high definition video frames, each comprising one or more data channels digitally representing the same image. A WT is applied to each channel. Visual-quality preserving data filters and data substitution techniques are selectively applied that typically lead to at least 90-to-1 compression of the final encoded video frame. Image edge data is extracted and preserved and image noise is reduced to enhance compressibility. After the first WT, primarily low frequency (LL) image data is retained. With each later WT, more non-LL data is retained. Temporal sequences of LL images that result from the final iteration of the wavelet transform are compressed by means of a chain of invertible differenced images. Any color space can be used. Cross-channel conditional substitution is applicable. Complete multi-resolution scalability is incorporated into the encoded product. Extra-high definition video encoding is also achievable.

## Claims

### Claim 1

A method for wavelet and channel-based video encoding comprising:
selecting an input video frame from a digital video data stream comprising a plurality of video frames;
applying a wavelet transform n times to said at least one channel of said input video frame to generate wavelet space data comprising level n preview data and levels 1 through n support space data for said input video frame, wherein n is an integer greater than zero;
generating compressed support space data by compressing said support space data;
iteratively applying inverse of said wavelet transform n times to said level n preview data and said compressed support space data to obtain at least one modified level 0 image;
generating a pixel-by-pixel difference frame between said input video frame and said at least one modified level 0 image;
applying a filter to said pixel-by-pixel difference frame to generate an edge-image data;
generating compressed and encoded edge-image data by compressing and encoding said edge-image data; and
combining said compressed support space data and said compressed and encoded edge-image data to generate an output video data.

### Claim 2 (depends on 1)

The method of claim 1, wherein said encoding comprises run length encoding.

### Claim 3 (depends on 1)

The method of claim 1, wherein said encoding comprises entropy encoding.

### Claim 4 (depends on 1)

The method of claim 1, further comprising applying a noise reduction filter to said input video frame prior to the application of said wavelet transform to increase said compression of said support space data.

### Claim 5 (depends on 1)

The method of claim 1, wherein said filter is a high spatial frequency filter.

### Claim 6 (depends on 1)

The method of claim 1, wherein said filter is a constant k filter.

### Claim 7 (depends on 1)

The method of claim 1, wherein said filter replaces the values of non-edge points in said difference frame to generate said edge-image data.

### Claim 8

A method for wavelet and channel-based video encoding comprising:
obtaining a digital video data comprising a plurality of m input video frames, where m>1;
applying a wavelet transform n times to each one of said plurality of input video frames to generate wavelet space data comprising level n preview data P1 to Pm and corresponding support space data for said plurality of input video frames, where n>0;
generating an image difference data Qi by differencing between Pi and Pi-1 where i is from 2 to m;
generating compressed and encoded image difference data Q′i by compressing and encoding said image difference data Qi;
generating compressed and encoded support space data by compressing and encoding said support space data; and
combining said compressed and encoded support space data, said P1 and said compressed and encoded image difference data Q′i to generate an output video data.

### Claim 9 (depends on 8)

The method of claim 8, wherein said differencing is the arithmetic difference between Pi and (i.e., Pi−Pi-1).

### Claim 10 (depends on 9)

The method of claim 9, wherein a decoder regenerates said level n preview data P1 to Pm follows:
decoding and uncompressing said compressed and encoded image difference data Q′i to regenerate said image difference data Qi′; and
regenerating the level n preview data with the equation Pi=Pi-1+Qi.

### Claim 11 (depends on 8)

The method of claim 8, wherein said encoding is lossless compression.

### Claim 12 (depends on 8)

The method of claim 8, wherein said differencing is the EXCLUSIVE OR (⊕) of Pi and Pi-1 (i.e., Pi⊕Pi-1).

### Claim 13 (depends on 12)

The method of claim 12, wherein a decoder regenerates said level n preview data P1 to Pm follows:
decoding and uncompressing said compressed and encoded image difference data Q′i to regenerate said image difference data Qi′; and
regenerating the level n preview data with the equation Pi=Pi-1⊕Qi.

### Claim 14 (depends on 12)

The method of claim 12, wherein said generating said compressed support space data further comprises:
determining a threshold value θ for said support space data, where θ is greater than zero; and
replacing each datum value v in each of said support space data with zero if absolute value of said datum v is less than or equal to the threshold value θ.

### Claim 15

A method for wavelet and channel-based video encoding comprising:
obtaining digital video data comprising a plurality of input video frames X0 to Xm, where m>0;
applying a wavelet transform n times to input video frame X0 to generate initial wavelet space data W0, where n>0;
generating an image difference data Z by differencing between input video frames Xi and Xi-1, where i is from 1 to m;
applying said wavelet transform said n times to said image difference data Zi to generate a difference wavelet space data Wi comprising a preview data quadrant QLL and corresponding support data quadrants QLH, QHL, and QHH;
determining a threshold value θ for said support quadrants data, where θ is greater than zero;
generating a modified wavelet space data W′i by replacing each datum value v in each of said support quadrants of said difference wavelet space data Wi with zero if absolute value of said datum v is less than or equal to the threshold value θ;
generating compressed and encoded modified wavelet space data Yi by compressing and encoding said modified wavelet space data W′i; and
outputting said initial wavelet space data W0 and said compressed and encoded modified wavelet space data Yi.

### Claim 16 (depends on 15)

The method of claim 15, wherein said threshold value θ is determined by factors such as desired video quality, video display device, target compression ratio and allotted bandwidth.

### Claim 17 (depends on 15)

The method of claim 15, wherein said encoding comprises run length encoding.

### Claim 18 (depends on 15)

The method of claim 15, wherein said encoding comprises entropy encoding.

### Claim 19 (depends on 15)

The method of claim 15, further comprising encoding said initial wavelet space data W0 prior to said outputting step.

### Claim 20 (depends on 15)

The method of claim 15, wherein a decoder generates an approximation of said input video frames X0 to Xm as follows:
applying inverse of said wavelet transform said n times to said initial wavelet space data W0 to generate an approximation X^0 of the initial input video frame;
decoding said compressed and encoded modified wavelet space data Yi to generate said modified wavelet space data W^i;
applying inverse of said wavelet transform said n times to said modified wavelet space data W^i to generate image difference data Z^i;
generating an approximation X^1 to X^m of the input video frames with the equation X^i=X^i-1+Z^i.
