Bitcode sequence coding of frequently occurring values
AssigneeSun Microsystems, Inc.
InventorThomas G. O'Neill
Life of this patent
Estimating the term…
Abstract
A method for significantly decreasing the number of times prior art coding schemes, such as variable length coding, are implemented in the course of encoding/decoding a given data block includes cataloging the occurrences, or locations, of a designated frequently occurring value in the data block and then excluding the frequently occurring value from the prior art coding scheme.
Claims27
A method for coding a designated frequently occurring value in a data block, said method comprising:
- receiving said data block, said data block comprising at least two data locations for holding values;
- determining all of said at least two data locations of said data block that hold said designated frequently occurring value;
- assigning a first bitcode to all of said at least two data locations of said data block that hold said designated frequently occurring value;
- assigning a second bitcode to all of said at least two data locations that hold a value that is not said designated frequently occurring value;
- combining all of said first bitcodes and all of said second bitcodes for said data block into a bitcode sequence for said data block;
- forming an encoded data block to represent said data block;
- and
- including said bitcode sequence for said data block in said encoded data block.
A method for coding a most probable value in a data block, said method comprising:
- receiving said data block, said data block comprising at least two data locations for holding values;
- determining all of said at least two data locations of said data block that hold said most probable value;
- assigning a first bitcode to all of said at least two data locations of said data block that hold said most probable value;
- assigning a second bitcode to all of said at least two data locations that hold a value that is not said most probable value;
- combining all of said first bitcodes and all of said second bitcodes for said data block into a bitcode sequence for said data block;
- forming an encoded data block to represent said data block;
- including said bitcode sequence for said data block in said encoded data block;
- for each of said at least two data locations assigned said second bitcode, encoding the value in said data location into an encoded value such that all of said data locations that hold a value that is not said most probable value have their contents encoded;
- and
- including said encoded values from each of said data locations assigned said second bitcode in said encoded data block.
A method for coding a most probable value in a data matrix, said method comprising:
- receiving said data matrix, said data matrix comprising at least two data locations for holding values, said at least two data locations being arranged in rows and columns;
- determining which rows, of all of said rows in said data matrix, are comprised entirely of data locations that contain said most probable value;
- assigning a first row bitcode to all of said rows that are comprised entirely of data locations that contain said most probable value;
- assigning a second row bitcode to all of said rows in said data matrix that comprise at least one data location that contains a value that is not said most probable value;
- combining all of said first row bitcodes and all of said second row bitcodes for all of said rows in said data matrix into a row bit mask for said data matrix;
- forming an encoded data block to represent said data matrix;
- including said row bit mask for said data matrix in said encoded data block;
- for all of said rows assigned said second row bitcode, determining all of said data locations that hold said most probable value;
- for all of said rows assigned said second row bitcode, assigning a first bitcode to all of said data locations that hold said most probable value;
- for all of said rows assigned said second row bitcode, assigning a second bitcode to all of said data locations that hold a value that is not said most probable value;
- combining all of said first bitcodes and all of said second bitcodes for all of said rows assigned said second row bitcode, into a one or more bitcode sequences for said data matrix;
- including said one or more bitcode sequences for all of said rows assigned said second row bitcode only in said encoded data block;
- for each of said data locations assigned said second bitcode only, encoding the value in said data location into an encoded value such that all of said data locations that hold a value that is not said most probable value have their contents encoded;
- and
- including said encoded values from each of said data locations assigned said second bitcode in said encoded data block.
A method for coding a most probable value in a data matrix, said method comprising:
- receiving a data matrix, said data matrix comprising at least two data locations for holding values, said at least two data locations being arranged in rows and columns;
- determining which columns, of all of said columns in said data matrix, are comprised entirely of data locations that contain said most probable value;
- assigning a first column bitcode to all of said columns in said data matrix that are comprised entirely of data locations that contain said most probable value;
- assigning a second column bitcode to all of said columns in said data matrix that comprise at least one data location that contains a value that is not said most probable value;
- combining all of said first column bitcodes and all of said second column bitcodes for all of said columns in said data matrix into a column bit mask for said data matrix;
- forming an encoded data block to represent said data matrix;
- including said column bit mask for said data matrix in said encoded data block;
- for all of said columns assigned said second column bitcode, determining all of said data locations that hold said most probable value;
- for all of said columns assigned said second column bitcode, assigning a first bitcode to all of said data locations that hold said most probable value;
- for all of said columns assigned said second column bitcode, assigning a second bitcode to all of said data locations that hold a value that is not said most probable value;
- combining all of said first bitcodes and all of said second bitcodes for all of said columns assigned said second column bitcode, into one or more bitcode sequences for said data matrix;
- including said one or more bitcode sequences for all of said columns assigned said second column bitcode only in said encoded data block;
- for each of said at least two data locations assigned said second bitcode, encoding the value in said data location into an encoded value such that all of said data locations that hold a value that is not said most probable value have their contents encoded;
- and
- including said encoded values from each of said data locations assigned said second bitcode in said encoded data block.
A method for coding one or more designated frequently occurring values in a data block, said method comprising:
- receiving said data block, said data block comprising at least two data locations for holding values;
- determining all of said at least two data locations of said data block that hold a first designated frequently occurring value;
- assigning a first designated frequently occurring value bitcode to all of said at least two data locations of said data block that hold said first designated frequently occurring value;
- assigning a non-designated frequently occurring value bitcode to all of said at least two data locations that hold a value that is not said one or more designated frequently occurring values;
- combining all of said first designated frequently occurring value bitcodes and all of said non-designated frequently occurring value bitcodes for said data block into a bitcode sequence for said data block;
- forming an encoded data block to represent said data block;
- and
- including said bitcode sequence for said data block in said encoded data block.
Dependencies are inferred from the claim text.