Method and apparatus for variable length coding
First Claim
Patent Images
1. A method comprising:
- receiving a group bit plane data having a group of set values;
identifying a group of most significant set bit (MSB) positions of the group of set values within the group of bit plane data; and
for each of the group of MSB positions, encoding a run of non-set values preceding each of the group of MSB positions.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for variable length coding is described. A method comprises receiving a group of data having a group of set values, identifying a group of positions of the group of set values within the group of data without branching, for each of the group of positions, encoding a run of non-set values preceding each of the group of positions.
42 Citations
30 Claims
-
1. A method comprising:
-
receiving a group bit plane data having a group of set values;
identifying a group of most significant set bit (MSB) positions of the group of set values within the group of bit plane data; and
for each of the group of MSB positions, encoding a run of non-set values preceding each of the group of MSB positions. - View Dependent Claims (2, 3, 4, 5, 6)
performing a logic operation of each value in the group of bit plane data; and
tracking the group of MSB positions with a result of the logic operation.
-
-
6. The method of claim 4 wherein the identifying the group of MSB positions without non-loop related conditional branches comprises:
-
performing a logic operation of each value in the group of data;
setting a flag to a result of the logic operation; and
tracking the group of MSB positions using a conditional instruction with the flag.
-
-
7. A method comprising:
-
loading a group of bit plane data into a buffer, the group of bit plane data having a group of one or more set bits;
identifying a position of a first set bit in the buffer without non-loop related conditional branching;
encoding a run of non-set bits preceding the position; and
shifting the run of non-set bits and the first set bit out of the buffer. - View Dependent Claims (8, 9, 10, 11, 12, 13)
loading a group of source data into a first buffer, the group of source data including the group bit plane of data;
loading a mask for a bit-plane into a second buffer;
selecting the group of bit plane data from the group of source data with the mask; and
extracting the group of bit plane data into the buffer.
-
-
11. The method of claim 7 wherein identifying the first set bit comprises:
-
shifting each bit of the group of bit plane data out of the buffer;
comparing each shifted bit with a compare bit to determine if each bit is one of the group of set bits;
tracking each of the group of set bits when detected with the comparing; and
incrementing a counter for each shifted bit.
-
-
12. The method of claim 7 wherein the first set bit is identified with one or more look-up tables.
-
13. The method of claim 7 further comprising:
-
identifying multiple positions of first set bits in the buffer without non-loop related conditional branching; and
simultaneously encoding runs of non-set bits preceding the positions.
-
-
14. An apparatus comprising:
-
a buffer to host a group of bit plane data having a group of one or more set bits; and
a variable length coding (VLC) module coupled with the memory, the VLC module to identify the group of set bits'"'"' positions and to encode each run of non-set bits with respect to the group of set bits'"'"' positions. - View Dependent Claims (15, 16, 17, 18)
for each of the group of set bits, to load the group of bit plane data into a memory, to flip all bits of the group of bit plane data, to set all bits in positions after one of the group of set bits position to non-set bits, and to add the set bits in the memory in an adder tree.
-
-
19. A machine-readable medium that provides instructions, which when executed by a set group of processors of one or more processors, cause said group of processors to perform operations comprising:
-
receiving a group of bit plane data having a group of set values;
identifying a group of most significant set bit (MSB) positions of the group of set values within the group of bit plane data; and
for each of the group of MSB positions, encoding a run of non-set values preceding each of the group of MSB positions. - View Dependent Claims (20, 21, 22, 23, 24)
performing a logic operation of each value in the group of bit plane data; and
tracking the group of MSB positions with a result of the logic operation.
-
-
24. The machine-readable medium of claim 22 wherein the identifying the group of MSB positions without non-loop related conditional branches comprises:
-
performing a logic operation of each value in the group of bit plane data;
setting a flag to a result of the logic operation; and
tracking the group of MSB positions using a conditional instruction with the flag.
-
-
25. A machine-readable medium that provides instructions, which when executed by a set group of processors of one or more processors, cause said set of processors to perform operations comprising:
-
loading a group of bit plane data into a buffer, the group of bit plane data having a group of one or more set bits;
identifying a position of a first set bit in the buffer without non-loop related conditional branching;
encoding a run of non-set bits preceding the position; and
shifting the run of non-set bits and the first set bit out of the buffer. - View Dependent Claims (26, 27, 28, 29, 30)
loading a group of bit plane source data into a first buffer, the group of source data including the group of bit plane data;
loading a mask for a bit-plane into a second buffer;
selecting the group of bit plane data from the group of source data with the mask; and
extracting the group of bit plane data into the buffer.
-
-
29. The machine-readable medium of claim 25 wherein identifying the first set bit comprises:
-
loading the group of bit plane data into a memory;
flipping all bits of the group of bit plane data;
setting all bits after the first zero bit to zero; and
adding the set bits in the second memory in an adder tree, the set bits being one bits.
-
-
30. The machine-readable medium of claim 25 wherein the first set bit is identified with one or more look-up tables.
Specification