Coding apparatus, decoding apparatus, coding-decoding apparatus and methods applied thereto

Uloženo v:
Podrobná bibliografie
Název: Coding apparatus, decoding apparatus, coding-decoding apparatus and methods applied thereto
Patent Number: 6,140,945
Datum vydání: October 31, 2000
Appl. No: 09/058,355
Application Filed: April 10, 1998
Abstrakt: The present invention provides a coding apparatus, decoding apparatus, coding-decoding apparatus and corresponding methods which easily generate an adaptive Huffman code. The coding apparatus includes a frequency counting element that counts the frequency of appearance of symbols in input data and a symbol selecting element that selects the data having a frequency larger than a predetermined threshold value as dominant symbol frequency data and transfers the dominant symbol frequency data to a code assigning element. The coding apparatus further includes a fixed code word memory that stores the Huffman codes prepared in advance and transfers them to the code assigning element as fixed code word data. The code assigning element generates the Huffman codes for the dominant symbols and synthesizes the Huffman codes and the fixed code word data stored in the fixed code word memory to obtain the Huffman code as a whole. The obtained Huffman code is stored in a code word memory. Coded data may, likewise, be decoded. In other words, in a decoding apparatus according to the present invention, coded data is input and decoded using generated code words generated based on previously decoded data. Additionally, the invention provides for the coding and decoding of data with a single apparatus.
Inventors: Yokose, Taro (Nakai-machi, JPX)
Assignees: Fuji Xerox Co., Ltd. (Tokyo, JPX)
Claim: What is claimed is
Claim: 1. A coding method comprising the steps of
Claim: inputting data containing a plurality of symbols;
Claim: counting a frequency of appearance of each symbol in the input data;
Claim: selecting a dominant symbol from the plurality of symbols based on the counted frequency of appearance;
Claim: generating a code word for the selected dominant symbol;
Claim: generating a code word according to a predicted probability of appearance for a non-dominant symbol; and
Claim: coding the input data based on at least one of the generated code word for the selected dominant symbol and the generated code word for the non-dominant symbol.
Claim: 2. The coding method as set forth in claim 1, wherein the code word is generated by preparing a plurality of patterns of the probability of appearance of the symbol and a plurality of code words respectively corresponding thereto in advance and the dominant symbol is classified into one of the plurality of patterns.
Claim: 3. The coding method as set forth in claim 2, wherein the dominant symbol is classified into a pattern by comparing the probability of appearance of the symbol appearing most frequently with a threshold value.
Claim: 4. The coding method as set forth in claim 2, wherein the dominant symbol is classified into a pattern according to a result of an operation using frequencies of some of the dominant symbols sorted in orders of frequency which correspond to a plurality of predetermined orders.
Claim: 5. The coding method as set forth in claim 1, wherein the dominant symbol is a symbol having a frequency larger than a predetermined threshold value.
Claim: 6. The coding method as set forth in claim 1, wherein the dominant symbol selected from the symbols sorted in descending order of frequency of appearance based on the result of the count of the frequency is a symbol having a higher rank than a predetermined rank value.
Claim: 7. The coding method as set forth in claim 1, wherein the symbols are sorted in descending order of frequency of appearance, and the dominant symbol is a symbol selected from the sorted symbols having a value of accumulated frequencies of preceding symbols smaller than a predetermined threshold value.
Claim: 8. The coding method as set forth in claim 1, wherein the code word for the selected dominant symbol is generated by using the Huffman coding method.
Claim: 9. The coding method as set forth in claim 1, wherein the code word is generated when the frequency of appearance of each symbol is larger than a predetermined value.
Claim: 10. The coding method as set forth in claim 1, wherein the code word is generated when coding of a predetermined number of symbols is completed.
Claim: 11. The coding method as set forth in claim 1, wherein the frequency is a statistical value that is initialized by multiplying the statistical value at that time by a positive number not more than 1.
Claim: 12. The coding method as set forth in claim 1, wherein the code word is replaced with a new code word generated based on a statistical value of processed data.
Claim: 13. The coding method as set forth in claim 1, wherein a constant is set as an initial value for a code word.
Claim: 14. A decoding method comprising the steps of
Claim: inputting coded data; and
Claim: generating decoded data having a plurality of symbols by using generated code words, the generated code words being generated by
Claim: counting a frequency of appearance of each of symbols in previously decoded data;
Claim: selecting a dominant symbol from the symbols based on the counted frequencies of appearance;
Claim: generating a code word for the dominant symbol; and
Claim: generating a code word according to a predicted probability of appearance for a non-dominant symbol.
Claim: 15. The decoding method as set forth in claim 14, wherein the code word is generated by preparing a plurality of patterns of the probability of appearance of the symbol and a plurality of code words respectively corresponding thereto in advance and the dominant symbol is classified into one of the plurality of patterns.
Claim: 16. The decoding method as set forth in claim 15, wherein the dominant symbol is classified into a pattern by comparing the probability of appearance of the symbol appearing most frequently with a threshold value.
Claim: 17. The decoding method as set forth in claim 15, wherein the dominant symbol is classified into a pattern according to a result of an operation using frequencies of some of the dominant symbols sorted in orders of frequency which correspond to a plurality of predetermined orders.
Claim: 18. The decoding method as set forth in claim 14, wherein the dominant symbol is a symbol having a frequency larger than a predetermined threshold value.
Claim: 19. The decoding method as set forth in claim 14, wherein the dominant symbol selected from the symbols sorted in descending order of frequency of appearance based on the result of the count of the frequency is a symbol having a higher rank than a predetermined rank value.
Claim: 20. The decoding method as set forth in claim 14, wherein symbols are sorted in descending order of frequency of appearance and the dominant symbol is a symbol selected from the sorted symbols having a value of accumulated frequencies of preceding symbols smaller than a predetermined threshold value.
Claim: 21. The decoding method as set forth in claim 14, wherein the code word for the selected dominant symbol is generated by using the Huffman coding method.
Claim: 22. The decoding method as set forth in claim 14, wherein the code word is generated when the frequency of appearance of each symbol is larger than a predetermined value.
Claim: 23. The decoding method as set forth in claim 14, wherein the code word is generated when decoding of a predetermined number of symbols is completed.
Claim: 24. The decoding method as set forth in claim 14, wherein the frequency is a statistical value that is initialized by multiplying the statistical value at that time by a positive number not more than 1.
Claim: 25. The decoding method as set forth in claim 14, wherein the code word is replaced with a new code word generated based on a statistical value of processed data.
Claim: 26. The decoding method as set forth in claim 14, wherein a constant is set as an initial value for a code word.
Claim: 27. A coding apparatus comprising
Claim: a data inputting element that inputs data containing a plurality of symbols to be coded;
Claim: a frequency counting element that counts a frequency of appearance of each symbol in the data input through the data inputting element;
Claim: a symbol selecting element that selects a dominant symbol from the plurality of symbols based on the frequency of appearance counted by the frequency counting element;
Claim: a fixed code word storing element that stores a fixed code word corresponding to each symbol, the fixed code word being predetermined according to a predicted probability of appearance of the corresponding symbol;
Claim: a code assigning element that generates a new code word for the dominant symbol and generates a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word stored in the fixed code word storing element, for a non-dominant symbol;
Claim: a code word storing element that stores the new code word and the combined code word generated by the code assigning element;
Claim: a coding element that encodes the data input through the data inputting element in accordance with the code word and the combined code word stored in the code word storing element; and
Claim: a code outputting element that outputs coded data generated by the coding element.
Claim: 28. The coding apparatus as set forth in claim 27, wherein the code word is generated by preparing a plurality of patterns of the probability of appearance of the symbol and a plurality of code words respectively corresponding thereto in advance and the dominant symbol is classified into one of the plurality of patterns by the code assigning element.
Claim: 29. The coding apparatus as set forth in claim 28, wherein the dominant symbol is classified into a pattern by comparing the probability of appearance of the symbol appearing most frequently with a threshold value.
Claim: 30. The coding apparatus as set forth in claim 28, wherein the dominant symbol is classified into a pattern according to a result of an operation using frequencies of some of the dominant symbols sorted in orders of frequency which correspond to a plurality of predetermined orders.
Claim: 31. The coding apparatus as set forth in claim 27, wherein the dominant symbol is a symbol having a frequency larger than a predetermined threshold value.
Claim: 32. The coding apparatus as set forth in claim 27, wherein the dominant symbol selected from the symbols sorted in descending order of frequency of appearance by the symbol selecting element based on the result of the count of the frequency by the frequency counting element is a symbol having a higher rank than a predetermined rank value.
Claim: 33. The coding apparatus as set forth in claim 27, wherein symbols are sorted in descending order of frequency of appearance, and the dominant symbol is a symbol selected from the sorted symbols having a value of accumulated frequencies of preceding symbols smaller than a predetermined threshold value.
Claim: 34. The coding apparatus as set forth in claim 27, wherein the code assigning element generates a new code word for the dominant symbol by using the Huffman coding method.
Claim: 35. The coding apparatus as set forth in claim 27, wherein when there is an extra fixed code word which should have been assigned to the dominant symbol and there is a non-dominant symbol having a code with its length longer than that of the fixed code word, the fixed code word is temporarily assigned to the non-dominant symbol.
Claim: 36. The coding apparatus as set forth in claim 27, wherein the code assigning element is activated when the frequency of appearance of each symbol is larger than a predetermined value.
Claim: 37. The coding apparatus as set forth in claim 27, wherein the code assigning element is activated when coding of a predetermined number of symbols is completed.
Claim: 38. The coding apparatus as set forth in claim 27, wherein, when it is predicted that an average code word length of the new code word and the combined code word generated in the code assigning element is longer than the average code word length of the fixed code word stored in the fixed code word storing element, the fixed code word is assigned as a new code word.
Claim: 39. The coding apparatus as set forth in claim 27, wherein the frequency is a statistical value that is initialized in the frequency counting element by multiplying the statistical value at that time by a positive number not more than 1.
Claim: 40. The coding apparatus as set forth in claim 27, wherein the code word to be stored in the fixed code word storing element is replaced with a new code word generated based on a statistical value of processed data.
Claim: 41. The coding apparatus as set forth in claim 27, wherein a constant is set as an initial value for a code word in the code word storing element.
Claim: 42. The coding apparatus as set forth in claim 27, wherein the fixed code word stored in the fixed code word storing element is used as a code word as an initial value in the code word storing element.
Claim: 43. A coding apparatus comprising
Claim: data inputting means for inputting data containing a plurality of symbols to be coded;
Claim: frequency counting means for counting a frequency of appearance of each symbol in the data input through the data inputting means;
Claim: symbol selecting means for selecting a dominant symbol from the plurality of symbols based on the frequency of appearance counted by the frequency counting means;
Claim: fixed code word storing means for storing a fixed code word corresponding to each symbol, the fixed code word being predetermined according to a predicted probability of appearance of the corresponding symbol;
Claim: code assigning means for generating a new code word for the dominant symbol and generating a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word stored in the fixed code word storing means, for a non-dominant symbol;
Claim: code word storing means for storing the new code word and the combined code word generated by the code assigning means;
Claim: coding means for coding the data input through the data inputting means in accordance with the code word and the combined code word stored in the code word storing means; and
Claim: code outputting means for outputting coded data generated by the coding means.
Claim: 44. A decoding apparatus comprising
Claim: a code inputting element that inputs code data;
Claim: a code word storing element that stores a code word;
Claim: a decoding element that generates decoded data by decoding the code data input through the code inputting element in accordance with the code word stored in the code word storing element, wherein the decoded data includes a plurality of symbols;
Claim: a frequency counting element that counts a frequency of appearance of each of the symbols contained in the decoded data;
Claim: a symbol selecting element that selects a dominant symbol from the symbols in the decoded data based on the frequencies of appearance counted by the frequency counting element;
Claim: a code assigning element that generates a new code word for the dominant symbol and generates a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word stored in the fixed code word storing element, for a non-dominant symbol; and
Claim: a data outputting element that stores the new code word and the combined code word generated by the code assigning element in the code word storing element and outputting the decoded data.
Claim: 45. The decoding apparatus as set forth in claim 44, wherein the code word is generated by preparing a plurality of patterns of the probability of appearance of the symbol and a plurality of code words respectively corresponding thereto in advance and the dominant symbol is classified into one of the plurality of patterns by the code assigning element.
Claim: 46. The decoding apparatus as set forth in claim 45, wherein the dominant symbol is classified into a pattern by comparing the probability of appearance of the symbol appearing most frequently with a threshold value.
Claim: 47. The decoding apparatus as set forth in claim 45, wherein the dominant symbol is classified into a pattern according to a result of an operation using frequencies of some of the dominant symbols sorted in orders of frequency which correspond to a plurality of predetermined orders.
Claim: 48. The decoding apparatus as set forth in claim 44, wherein the dominant symbol is a symbol having a frequency larger than a predetermined threshold value.
Claim: 49. The decoding apparatus as set forth in claim 44, wherein the dominant symbol selected from the symbols sorted in descending order of frequency of appearance by the symbol selecting element based on the result of the count of the frequency by the frequency counting element is a symbol having a higher rank than a predetermined rank value.
Claim: 50. The decoding apparatus as set forth in claim 44, wherein the symbols are sorted in descending order of frequency of appearance and the dominant symbol is a symbol selected from the sorted symbols having a value of accumulated frequencies of preceding symbols smaller than a predetermined threshold value.
Claim: 51. The decoding apparatus as set forth in claim 44, wherein the code assigning element generates a new code word for the dominant symbol using the Huffman coding method.
Claim: 52. The decoding apparatus as set forth in claim 44, wherein when there is an extra fixed code word which should have been assigned to the dominant symbol and there is a non-dominant symbol having a code with its length longer than that of the fixed code word, the fixed code word is temporarily assigned to the non-dominant symbol.
Claim: 53. The decoding apparatus as set forth in claim 44, wherein the code assigning element is activated if the frequency of appearance of each symbol is larger than a predetermined value.
Claim: 54. The decoding apparatus as set forth in claim 44, wherein the code assigning element is activated when decoding of a predetermined number of symbols is completed.
Claim: 55. The decoding apparatus as set forth in claim 44, wherein, when it is predicted that an average code word length of the new code word and the combined code word generated in the code assigning element is longer than the average code word length of the fixed code word stored in the fixed code word storing element, the fixed code word is assigned as a new code word.
Claim: 56. The decoding apparatus as set forth in claim 44, wherein the frequency is a statistical value that is initialized by multiplying the statistical value at that time by a positive number not more than 1.
Claim: 57. The decoding apparatus as set forth in claim 44, wherein the code word to be stored in the fixed code word storing element is replaced with a new code word generated based on a statistical value of processed data.
Claim: 58. The decoding apparatus as set forth in claim 44, wherein a constant is set as an initial value for a code word in the code word storing element.
Claim: 59. The decoding apparatus as set forth in claim 44, wherein the fixed code word stored in the fixed code word storing element is used as an initial value for a code word in the code word storing element.
Claim: 60. A decoding apparatus comprising
Claim: code inputting means for inputting code data;
Claim: code word storing means for storing a code word;
Claim: decoding means for generating decoded data by decoding the code data input through the code inputting means in accordance with the code word stored in the code word storing means, wherein the decoded data includes a plurality of symbols;
Claim: frequency counting means for counting a frequency of appearance of each of the symbols contained in the decoded data;
Claim: symbol selecting means for selecting a dominant symbol from the symbols in the decoded data based on the frequencies of appearance counted by the frequency counting means;
Claim: code assigning means for generating a new code word for the dominant symbol and generating a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word stored in the fixed code word storing means, for a non-dominant symbol; and
Claim: data outputting means for storing the new code word and the combined code word generated by the code assigning means in the code word storing means and outputting the decoded data.
Claim: 61. A coding-decoding apparatus comprising
Claim: a data inputting element that inputs data, the data being one of data to be coded containing a plurality of symbols and coded data;
Claim: a decoding element that generates decoded data when the input data is coded data, the decoded data including a plurality of symbols;
Claim: a frequency counting element that counts a frequency of appearance of each symbol in either the data to be coded or the decoded data, depending on input data;
Claim: a symbol selecting element that selects a dominant symbol from the plurality of symbols in either the data to be coded or the decoded data, depending on the input data, based on the frequency of appearance counted by the frequency counting element;
Claim: a code assigning element that generates a new code word for the dominant symbol and generates a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word storing element, for a non-dominant symbol;
Claim: a coding element that encodes the data input, when the input data is data to be coded, in accordance with the new code word and the combined code word stored in the code word storing element; and
Claim: a data outputting element that outputs either the coded data or the decoded data depending on input data.
Claim: 62. A coding-decoding apparatus comprising
Claim: data inputting means for inputting data, the data being one of data to be coded containing a plurality of symbols and coded data;
Claim: decoding means for generating decoded data when the input data is coded data, the decoded data including a plurality of symbols;
Claim: frequency counting means for counting a frequency of appearance of each symbol in either the data to be coded or the decoded data, depending on input data;
Claim: symbol selecting means for selecting a dominant symbol from the plurality of symbols in either the data to be coded or the decoded data, depending on the input data, based on the frequency of appearance counted by the frequency counting means;
Claim: code assigning means for generating a new code word for the dominant symbol and generating a combined code word that is a combination of a code word indicating a non-dominant symbol and a fixed code word storing means, for a non-dominant symbol;
Claim: coding means for coding the data input, when the input data is data to be coded, in accordance with the new code word and the combined code word stored in the code word storing means; and
Claim: data outputting means for outputting either the coded data or the decoded data depending on input data.
Current U.S. Class: 341/65; 341/51; 341/67
Current International Class: H03M 740
Patent References Cited: 5510785 April 1996 Segawa et al.
5574449 November 1996 Golin
5793896 August 1998 Golin
5970177 October 1999 Chinnock
Other References: "Document Data Compression algorithm Guide" Uematsu, CQ Publishing Company, pp. 46-51, Oct. 15, 1994.
Primary Examiner: Young, Brian
Assistant Examiner: Kost, Jason L. W.
Attorney, Agent or Firm: Oliff & Berridge, PLC
Přístupové číslo: edspgr.06140945
Databáze: USPTO Patent Grants
Popis
Abstrakt:The present invention provides a coding apparatus, decoding apparatus, coding-decoding apparatus and corresponding methods which easily generate an adaptive Huffman code. The coding apparatus includes a frequency counting element that counts the frequency of appearance of symbols in input data and a symbol selecting element that selects the data having a frequency larger than a predetermined threshold value as dominant symbol frequency data and transfers the dominant symbol frequency data to a code assigning element. The coding apparatus further includes a fixed code word memory that stores the Huffman codes prepared in advance and transfers them to the code assigning element as fixed code word data. The code assigning element generates the Huffman codes for the dominant symbols and synthesizes the Huffman codes and the fixed code word data stored in the fixed code word memory to obtain the Huffman code as a whole. The obtained Huffman code is stored in a code word memory. Coded data may, likewise, be decoded. In other words, in a decoding apparatus according to the present invention, coded data is input and decoded using generated code words generated based on previously decoded data. Additionally, the invention provides for the coding and decoding of data with a single apparatus.