Adaptive entropy encoding/decoding for screen capture content
First Claim
1. A computer-readable storage medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method comprising:
- receiving run length encoded data for a current frame in a series; and
run length decoding plural pixel series in the current frame from the run length encoded data for the current frame, each of the plural pixel series being encoded as a run length and a run value, wherein the run value for at least one of the plural pixel series is a color value symbol, wherein the run value for at least one of the plural pixel series is an above color value symbol, wherein the run value for at least one of the plural pixel series is a previous frame color value symbol that references color values of pixels in a previous frame before the current frame in the series, and wherein the previous frame color value symbol indicates the color values of pixels in the previous frame are identical to color values of pixels at the same locations in the current frame.
2 Assignments
0 Petitions
Accused Products
Abstract
Adaptive entropy encoding and decoding techniques are described. For example, a screen capture encoder and decoder perform adaptive entropy encoding and decoding of palettized screen capture content in screen capture video. The encoder selects between different entropy encoding modes (such as an arithmetic coding mode and a combined run length/Huffman encoding mode, which allow the encoder to emphasize bitrate reduction at some times and encoding speed at other times). The run length encoding can use run value symbols adapted to common patterns of redundancy in the content. When the encoder detects series of pixels that could be encoded with different, alternative runs, the encoder selects between the alternative runs based upon efficiency criteria. The encoder also performs adaptive Huffman encoding, efficiently parameterizing Huffman code tables to reduce overall bitrate while largely preserving the compression gains of the adaptive Huffman encoding. A decoder performs converse operations.
107 Citations
17 Claims
-
1. A computer-readable storage medium storing computer-executable instructions for causing a computer system programmed thereby to perform a method comprising:
-
receiving run length encoded data for a current frame in a series; and run length decoding plural pixel series in the current frame from the run length encoded data for the current frame, each of the plural pixel series being encoded as a run length and a run value, wherein the run value for at least one of the plural pixel series is a color value symbol, wherein the run value for at least one of the plural pixel series is an above color value symbol, wherein the run value for at least one of the plural pixel series is a previous frame color value symbol that references color values of pixels in a previous frame before the current frame in the series, and wherein the previous frame color value symbol indicates the color values of pixels in the previous frame are identical to color values of pixels at the same locations in the current frame. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
run length encoding plural pixel series in a current frame in a series, each of the plural pixel series being encoded as a run length and a run value, wherein the run value for at least one of the plural pixel series is a color value symbol, wherein the run value for at least one of the plural pixel series is an above color value symbol, wherein the run value for at least one of the plural pixel series is a previous frame color value symbol that references color values of pixels in a previous frame before the current frame in the series, and wherein the previous frame color value symbol indicates the color values of pixels in the previous frame are identical to color values of pixels at the same locations in the current frame; and outputting encoded data for the plural pixel series. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method comprising:
-
receiving run length encoded data for a current frame in a series; and run length decoding plural pixel series in the current frame from the run length encoded data for the current frame, each of the plural pixel series being encoded as a run length and a run value, wherein the run value for at least one of the plural pixel series is a color value symbol, wherein the run value for at least one of the plural pixel series is an above color value symbol, wherein the run value for at least one of the plural pixel series is a previous frame color value symbol that references color values of pixels in a previous frame before the current frame in the series, and wherein the previous frame color value symbol indicates the color values of pixels in the previous frame are identical to color values of pixels at the same locations in the current frame. - View Dependent Claims (14, 15, 16, 17)
-
Specification