Data processing apparatus, data processing method, computer readable medium storing program, and computer data signal

Abstract
A data processing apparatus includes: an intermediate data generating unit that generates intermediate data expressing input data, which is a subject to be coded, in another expression manner; a coding unit that converts the intermediate data generated by the intermediate data generating unit into code data; and a code quantity evaluating unit that evaluates a code quantity of the code data generated by the coding unit on the basis of a statistical amount of the intermediate data generated by the intermediate data generating unit.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:



FIG. 1(A) is a graph showing a relationship between a number of non-zero coefficients and code quantity;



FIG. 1(B) is a graph showing a relationship between an appearance frequency of non-run pixels and code quantity;



FIG. 2 is a diagram for illustrating a hardware configuration, mainly a controller 20, of a data processing apparatus 2 to which an image processing method according to an aspect of the present invention is applied;



FIG. 3 is a diagram illustrating a functional configuration of a coding program 5 executed by the controller 20 (FIG. 2) and realizing a data processing method according to an aspect of the invention;



FIG. 4 is a diagram illustrating a quantization table used in a quantizing part 510;



FIG. 5(A) shows a distribution of transformed coefficients when quantization is done with various scaling factors;



FIG. 5(B) is a diagram illustrating quantizer step sizes corresponding to each of various quantization coefficients;



FIG. 6 is a flowchart of a coding process (S10) by the coding program 5 (FIG. 3);



FIGS. 7(A) to 7(C) are diagrams for explaining a method of estimating the distribution of the transformed coefficient when the scaling factor is an even multiple:



FIG. 8 is a diagram showing a functional configuration of a coding program 52 provided with two quantizing units;



FIG. 9 is a diagram illustrating a functional configuration of a recoding program 6;



FIG. 10 is a diagram illustrating a functional configuration of a coding program 7 to which a predictive coding scheme is applied;



FIG. 11 is a diagram explaining in detail an auxiliary predicting part 700 and prediction processing part 740;



FIGS. 12(A) to 12(C) are diagrams for explaining the predictive coding scheme in this exemplary embodiment;



FIG. 13 is a graph showing a cumulative appearance frequency of prediction errors;



FIG. 14 is a diagram for explaining in detail a filter processing part 730;



FIG. 15 is a flowchart of a coding process (S20) in the coding program 7 (FIG. 10);



FIG. 16(A) illustrates a functional configuration of a coding program 72 in a first modified example;



FIG. 16(B) is a diagram illustrating the result of the experiment;



FIGS. 17(A) to 17(C) are diagrams for explaining a method of calculating a quantization parameter when a non-linear quantization is performed by the filter processing part 730;



FIG. 18(A) illustrates a functional configuration of a coding program 74;



FIG. 18(B) is a diagram illustrating an approximate equation retained by an approximate equation retaining part 770; and



FIG. 19 is a flowchart of a coding process (S24) for calculating the quantization parameter by using an interpolation process.


Claims
  • 1. A data processing apparatus, comprising: an intermediate data generating unit that generates intermediate data expressing input data, which is a subject to be coded, in another expression manner;a coding unit that converts the intermediate data generated by the intermediate data generating unit into code data; anda code quantity evaluating unit that evaluates a code quantity of the code data generated by the coding unit on the basis of a statistical amount of the intermediate data generated by the intermediate data generating unit.
  • 2. The data processing apparatus according to claim 1, further comprising: a parameter determining unit that determines a coding parameter for achieving a desired code quantity on the basis of a result of the evaluation by the code quantity evaluating unit; anda lossy processing unit that performs a lossy data processing to the inputted data or intermediate data in accordance with the coding parameter determined by the parameter determining unit.
  • 3. The data processing apparatus according to claim 1, wherein the inputted data is image data,the intermediate data generating unit performs a spatial frequency transformation to the image data to generate the transformed coefficient at each frequency as the intermediate data, andthe code quantity evaluating unit evaluates the code quantity of the code data on the basis of the number of the transformed coefficients having a value other than zero, among the transformed coefficients at the respective frequencies.
  • 4. The data processing apparatus according to claim 3, wherein the code quantity evaluating unit calculates the number of transformed coefficients at a quantization interval of an odd multiple, and evaluates the code quantity based upon the calculated number of transformed coefficients.
  • 5. The data processing apparatus according to claim 1, wherein the intermediate data generating unit compares the input data with prediction data of the input data, and generates a result of the comparison as the intermediate data, andthe code quantity evaluating unit evaluates the code quantity of the code data on the basis of a degree of agreement between the input data and the prediction data.
  • 6. The data processing apparatus according to claim 5, wherein the intermediate data generating unit generates agreement information indicating that the input data and the prediction data agree with each other, and a prediction error indicating a difference between the input data and the prediction data, as the intermediate data, andthe code quantity evaluating unit generates the information of a distribution of the prediction error calculated by the intermediate data generating unit.
  • 7. The data processing apparatus according to claim 6, wherein when the difference between the input data and the prediction data is within a fixed allowable range, the coding unit assumes this difference as zero to code the generated intermediate data, andthe data processing apparatus further comprising:an approximate information retaining unit that stores approximate information indicating a relationship between values of the prediction error when a plurality of allowable errors are respectively applied and the information of the distribution of the prediction error as associated with each of the allowable errors; andan allowable error calculating unit that calculates the allowable error, which should be applied, on the basis of the approximate information retained by the approximate information retaining unit and the information of the distribution of the prediction error generated by the code quantity evaluating unit.
  • 8. A data processing method, comprising: generating intermediate data that expresses input data, which is a subject to be coded, in another expression manner;evaluating a code quantity of the generated code data on the basis of the statistical amount of the generated intermediate data;determining a coding parameter in accordance with a result of the evaluation;performing a lossy data processing to the intermediate data in accordance with the determined coding parameter; andconverting the intermediate data, which is subject to the lossy data processing, into code data.
  • 9. A computer readable medium storing a program causing a computer to execute a process comprising: generating intermediate data that expresses input data, which is a subject to be coded, in another expression manner;evaluating-a code quantity of the generated code data on the basis of a statistical amount of the generated intermediate data;determining a coding parameter in accordance with a result of the evaluation;performing a lossy data processing to the intermediate data in accordance with the determined coding parameter; andconverting the intermediate data, which is subject to the lossy data processing, into code data.
  • 10. A computer data signal embodied in a carrier wave for enabling a computer to execute a process comprising: generating intermediate data that expresses input data, which is a subject to be coded, in another expression manner;evaluating a code quantity of the generated code data on the basis of a statistical amount of the generated intermediate data;determining a coding parameter in accordance with a result of the evaluation;performing a lossy data processing to the intermediate data in accordance with the determined coding parameter; andconverting the intermediate data, which is subject to the lossy data processing, into code data.
Priority Claims (1)
Number Date Country Kind
2006-102023 Apr 2006 JP national