Predictive lossless coding of images and video
AssigneeMicrosoft Corporation
InventorKunal Mukerjee
Life of this patent
Estimating the term…
Abstract
Predictive lossless coding provides effective lossless image compression of both photographic and graphics content in image and video media. Predictive lossless coding can operate on a macroblock basis for compatibility with existing image and video codecs. Predictive lossless coding chooses and applies one of multiple available differential pulse-code modulation (DPCM) modes to individual macro-blocks to produce DPCM residuals having a closer to optimal distribution for run-length, Golomb Rice RLGR entropy encoding. This permits effective lossless entropy encoding despite the differing characteristics of photographic and graphics image content.
Claims19
A method for lossless coding of image and video media, comprising:
- splitting input image data into block portions;
- for an individual one of the block portions, selecting one of multiple available differential pulse code modulation (DPCM) prediction modes to apply to the block portion based upon which DPCM prediction mode, out of the available DPCM prediction modes, yields a closer to optimal two-sided, zero-biased symbol distribution of a run-length, Golomb-Rice (RLGR) entropy encoder than any other of the available DPCM prediction modes;
- applying the selected DPCM prediction mode to the block portion;
- entropy encoding DPCM residuals of the block portion using run-length Golomb-Rice encoding;
- and
- outputting the encoded DPCM residuals of the block portion in a bitstream.
A computer-implemented media system providing predictive lossless coding of image or video media content, the system comprising a computer comprising one or more computer-readable storage media and a processor, the computer-readable storage media containing instructions, which, when executed by the processor on the computer, cause the computer to perform the actions of:
- a macro-block division process for separating input image data into macro-blocks;
- a multi-mode differential pulse code modulation (DPCM) process operating on an individual macro-block of the input image data to choose one of multiple DPCM prediction modes based upon which one of the multiple DPCM prediction modes produces a residual distribution for the macro-block to more closely match an optimal two-sided, zero-biased, run-length, Golomb-Rice (RLGR) entropy coding distribution than any other of the multiple DPCM prediction modes, and applies the chosen DPCM prediction mode to the macro-block;
- and
- an entropy coding process for performing a run-length, Golomb-Rice coding of the DPCM residuals of the macro-block.
A computer-readable storage medium having computer-executable program instructions stored thereon, operative upon execution in a computer media processing system to perform a method of encoding image or video data, the method comprising:
- converting image data to a YCoCg color space format;
- splitting the image data into macro-blocks;
- for a macro-block of the image data, determining a DPCM differential pulse code modulation prediction mode based upon which DPCM prediction mode from a group of available DPCM prediction modes produces residuals closest to an optimal two-sided, zero-biased distribution for RLGR (run-length Golomb-Rice) coding than any other of the available DPCM prediction modes;
- if such determined DPCM prediction mode produces residuals whose distribution meets a threshold parameter, applying the DPCM prediction mode to the macro-block;
- and
- RLGR entropy encoding the residuals of the macro-block.
A method of decoding predictive losslessly coded data of an image or video, comprising:
- RLGR (run-length Golomb-rice) entropy decoding a macro-block mode, a DPCM differential pulse code modulation prediction mode and DPCM residuals for each of a plurality of macro-blocks using separate RLGR coding contexts;
- where the macro-block mode of a macro-block is a flat macro-block mode, decoding the macro-block's pixels using a DPCM demodulation that is an inverse of the RLGR-decoded DPCM prediction mode of all zero residuals;
- otherwise, where the DPCM prediction mode of the macro-block is a no DPCM prediction mode because application of possible DPCM prediction modes did not yield a symbol distribution for RLGR entropy encoding meeting a threshold parameter, decoding the macro-block's pixels without DPCM demodulation;
- otherwise, de-modulating the RLGR-decoded DPCM residuals using a DPCM demodulation that is an inverse of the RLGR-decoded DPCM prediction mode wherein the DPCM prediction mode was selected during encoding based upon which DPCM prediction mode from a group of available DPCM prediction modes produced residuals closer to an optimal two-sided, zero-biased distribution for RLGR coding than any other of the available DPCM prediction modes;
- and
- assembling the macro-blocks to form a decoded image data.
A predictive-lossless coded image or video decoder, comprising:
- a run-length Golomb-Rice (RLGR) entropy decoder operating to decode RLGR-encoded DPCM (differential pulse code modulation) residuals and DPCM prediction mode of a macro-block;
- a DPCM demodulator for applying an inverse of the DPCM prediction mode to the DPCM residuals if the macro-block was encoded using a DPCM prediction mode wherein the DPCM prediction mode was selected during encoding based upon which DPCM prediction mode from a group of available DPCM prediction modes produced residuals closer to an optimal two-sided, zero-biased distribution for RLGR entropy encoding than any other of the available DPCM prediction modes;
- otherwise, where the macro-block was not encoded using a DPCM prediction mode because application of possible DPCM prediction modes did not yield a symbol distribution for RLGR entropy encoding that met a threshold parameter, decoding the macro-block without DPCM demodulation;
- and
- a macro-block reassembler for assembling the macro-block with other decoded macro-blocks to form data of a reconstructed image.
Dependencies are inferred from the claim text.