Data compression method and apparatus and data expansion method and apparatus
AssigneeCanon Kabushiki Kaisha
InventorTakao Aichi
Life of this patent
Estimating the term…
Abstract
A predictive function expressed by a dot matrix is applied to binary image data and an object dot is converted into, e.g., white data so as to increase the number of white data. A run length coding is performed on the image data where the number of the white data is increased, thus compression is performed on the image data at high compression rate. When expanded, the compressed image data is expanded by run length decoding. A reverse prediction is performed by using the predictive function, thus, original image data is obtained.
Claims36
A compressing apparatus for compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", said compressing apparatus comprising:
- increasing means for increasing the first number of the first dot data in the pattern data to provide modified pattern data;
- and
- encoding means for counting, in the modified pattern data, a first counted value indicating a number of continuous first dot data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, said encoding means further counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generate a second code indicating the second counted value, said encoding means encoding the modified pattern data by alternatively using the first and second codes.
A compressing method for compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", said compressing method comprising the steps of:
- increasing the first number of the first dot data in the pattern data to provide modified pattern data;
- counting, in the modified pattern data, a first counted value indicating a number of continuous first dot data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range;
- counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generate a second code indicating the second counted value;
- and
- encoding the modified data by alternatively using the first and second codes.
An output apparatus comprising:
- memory means for storing font data, the font data having been generated by compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", by increasing the first number of the first dot data in the pattern data to provide modified pattern data, counting, in a modified pattern data, a first counted value indicating a number of continuous first dot data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generated a second code indicating the second counted value, and encoding the modified pattern data by alternatively using the first and second codes;
- first expansion means for generating continuous first dot data having the value "0" determined by the range and relative values of the first codes stored in said memory means;
- second expansion means for generating second dot data having the value "1" based on the second codes stored in said memory means;
- developing means for developing character pattern data based on the first and second dot data respectively generated by said first and second expansion means;
- and
- output means for outputting characters based on the character pattern data.
An output method that uses memory means for storing font data, the font data having been generated by compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", by increasing the first number of the first dot data in the pattern data to provide modified pattern data, counting, in the modified pattern data, a first counted value indicating a number of continuous first dot data so as to generated a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generate a second code indicating the second counted value, and encoding the modified pattern data by alternatively using the first and second codes, said method comprising:
- a first expansion step of generating continuous first dot data having the value "0" determined by the range and relative values of the first codes stored in the memory means;
- a second expansion step of generating second dot data having the value "1" based on the second codes stored in the memory means;
- a developing step of developing character pattern data based on the first and second dot data respectively generated in said first and second expansion steps;
- and
- an output step of outputting characters based on the character pattern data.
An expansion apparatus comprising:
- memory means for storing font data, the font data having been generated by compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", by increasing the first number of the first dot data in the pattern data to provide modified pattern data, counting, in the modified pattern data, a first counted value indicating a number of continuous first dot data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generate a second code indicating the second counted value, and encoding the modified pattern data by alternatively using the first and second codes;
- first expansion means for generating continuous first dot data having the value "0" determined by the range and relative values of the first codes stored in said memory means;
- second expansion means for generating second dot data having the value "1" based on the second codes stored in said memory means;
- and
- developing means for developing character pattern data based on the first and second dot data respectively generated by said first and second expansion means.
An expansion method that uses memory means for storing font data, the font data having been generated by compressing pattern data, the pattern data including a first number of first dot data having a value "0" and a second number of second dot data having a value "1", by increasing the first number of the first dot data in the pattern data to provide modified pattern data, counting, in the modified pattern data, a first counted value indicating a number of continuous first dot data so as to generated a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, counting, in the modified pattern data, a second counted value indicating a number of continuous second dot data so as to generate a second code indicating the second counted value, and encoding the modified pattern data by alternatively using the first and second codes, said method comprising:
- a first expansion step of generating continuous first dot data having the value "0" determined by the range and relative values of the first codes stored in the memory means;
- a second expansion step of generating second dot data having the value "1" based on the second codes stored in the memory means;
- and
- a developing step of developing character pattern data based on the first and second dot data respectively generated in said first and second expansion steps.
A compressing apparatus of data, the data including a first number of first data having a value "0" and a second number of second data having a value "1", said compressing apparatus comprising:
- increasing means for increasing the first number of the first data in the data to provide modified data;
- and
- encoding means for counting, in the modified data, a first counted value indicating the number of continuous first data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating relative value of the first counted value in the range, said encoding means further counting, in the modified data, a second counted value indicating a number of continuous second data so as to generate a second code indicating the second counted value, said encoding means encoding the modified data by alternatively using the first and second codes.
A compressing method for compressing data, the data including a first number of first data having a value "0" and a second number of second data having a value "1", said compressing method comprising the steps of:
- increasing the first number of the first data in the data to provide modified data;
- and
- counting, in the modified data, a first counted value indicating the number of continuous first data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range;
- counting, in the modified data, a second counted value indicating a number of continuous second data so as to generate a second code indicating the second counted value;
- and
- encoding the modified data by alternatively using the first and second codes.
A data developing apparatus comprising:
- memory means for storing data including a first number of first data having a value "0" and a second number of second data having a value "1", by increasing the first number of the first data in the data to provide modified data, counting, in the modified data, a first counted value indicating a number of continuous first data so as to generate a first code having an operand indicating a range for the first counted value and a data portion indicating a relative value of the first counted value in the range, counting, in the modified data, a second counted value indicating a number of continuous second data so as to generate a second code indicating the second counted value, and encoding the modified data by alternatively using the first and second codes;
- first expansion means for generating continuous first data having the value "0" determined by the range and the relative values of the first codes stored in said memory means;
- second expansion means for generating second data having the value "1" based on the second codes stored in said memory means;
- and
- developing means for developing data based on the first and second data respectively generated by said first and second expansion means.
A data developing method that uses memory means for storing data including a first number of first data having a value "0" and a second number of second data having a value "1", by increasing the first number of the first data in the data to provide modified data, counting, in the modified data, a first counted value indicating a number of continuous first data so as to generate a first code having an operand indicating a relative value of the first counted value in the range, counting, in the modified data, a second counted value indicating a number of continuous second data so as to generate a second code indicating the second counted value, and encoding the modified data by alternatively using the first and second codes;
- first expansion step of generating continuous first data having the value "0" determined by the range and relative values of the first codes stored in the memory means;
- a second expansion step of generating second data having the value "1" based on the second codes stored in the memory means;
- and
- a developing step of developing data based on the first and second data respectively generated by said first and second expansion steps.
Dependencies are inferred from the claim text.