CN100429644C - Faster transforms using scaled terms, early aborts, and precision refinements - Google Patents

Faster transforms using scaled terms, early aborts, and precision refinements Download PDF

Info

Publication number
CN100429644C
CN100429644C CNB018177980A CN01817798A CN100429644C CN 100429644 C CN100429644 C CN 100429644C CN B018177980 A CNB018177980 A CN B018177980A CN 01817798 A CN01817798 A CN 01817798A CN 100429644 C CN100429644 C CN 100429644C
Authority
CN
China
Prior art keywords
transformation
conversion
conversion coefficient
matrix
cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB018177980A
Other languages
Chinese (zh)
Other versions
CN1471674A (en
Inventor
迈克尔·T.·布拉迪
琼·L.·米切尔
詹妮弗·Q.·特莱勒维兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/694,455 external-priority patent/US6961473B1/en
Priority claimed from US09/694,448 external-priority patent/US6766341B1/en
Priority claimed from US09/694,452 external-priority patent/US7007054B1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1471674A publication Critical patent/CN1471674A/en
Application granted granted Critical
Publication of CN100429644C publication Critical patent/CN100429644C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms

Abstract

Fast transform (200) that use multiple scaled terms, early aborts, and precision refinements are disclosed. The discrete transforms are split into sub-transforms (210) that are independently calculated using multiple scaling terms on the transform constants (220). The effect of the scaling for the transform coefficients may optionally be handled by appropriately scaling the quantization values or any comparison values. The possible need to perform a corrective action is detected based upon testing the incremental calculations of transform coefficients. Corrective action is then performed. The corrective action includes refining the incremental calculations to obtain additional precision and/or aborting the incremental calculations when the resulting numbers are sufficient.

Description

The faster transform of usage ratio item, early abort and precision refinement
Background of invention
1. invention field
In general, the present invention relates to data processing, more particularly, relate to conversion faster, they use multiple proportional (multiple scaled term), early abort and precision refinement (refinement).
2. description of Related Art
The conversion of data from a territory (for example sampled data) to another territory (as the frequency space) is used to many signals and/or Flame Image Process application.These conversion are used to multiple application, include, but is not limited to data analysis, feature identification and/or extraction, signal correction, data compression and data embedding/generation watermark.
In data processing, data are represented as the sampling discrete function usually.This discrete expression or determinacy ground constitute or statistical ground constitutes.In determinacy is represented, consider the dot characteristics of data, and in statistical is represented the average characteristics of specific data.For example, data compression is carried out in use discrete cosine transform well known in the art.To use term " image " and " Flame Image Process " here in some particular instances of quoting.Yet, it will be understood to those of skill in the art that the present invention will be confined to handle image, but can be applicable to handle different data, as voice data, science data, view data etc.
In digital image processing system, data image signal is at first by constituting the two dimensional image split into grid.Each pixel element in this grid, pixel has the some visual signatures that are associated with it, as brightness and color in other words.These features are converted into the numerical value form.So,, form data image signal by combinations of values related with each pixel in the image being become the sequence that can make an explanation by the data image signal receiver.
In many data handling procedures, wish data compression, because, have too many data for the practical application of using these data.Usually, compression is used for communication link to reduce transmission time or required bandwidth.Similarly, wish to compress in the image storage system that comprises digital printer and duplicating machine, there, the file that be printed " page " can temporarily be stored in the storer.Here, the dielectric space amount of storing image data can reduce significantly owing to compress.In general, the image of scanning, promptly the electronic representation of hard copy file usually be big, so it becomes desirable compressed object.
Signal often requires to become the input data-switching conversion coefficient to analyze for being used for Flame Image Process.The quantised versions (for example JPEG/MPEG data compression or audio/speech compression) that often only needs these coefficients.Many these class application needs are finished in real time fast, are used for the jpeg data of high-speed printer (HSP) as generation.Many such conversion need effectively to realize in real time and/or carry out fast, no matter whether use the part of compression as data processing.
The pressure that data-signal is handled industry is to find out that the fastest method is used for most effectively and carry out digital signal processing apace., active and rich competitive as usually in the realization area research working depth of Fast transforms in compression field.Researchers have made extensively various effort, attempt by utilizing the characteristic utilization of finding in conversion and inverse transformation will realize the effect of the hardware of these conversion.
A kind of such technology is that T.81 ISO 10918-1JPEG international standard/ITU-T recommends.At Pannebaker and Mitchell " JPEG: Still image data compression standard " Newyork, Van Nostrand Reinhold, 1993 (being included into as a reference here) have been reproduced the Joint Photographic Experts Group draft.A kind of compression method that defines in Joint Photographic Experts Group and other emerging compression standards is discrete cosine transform (DCT) coding.Use the image of DCT encoding compression to decompress with a kind of inverse transformation that is called inverse DCT (IDCT).To one of DCT fabulous generality reference is Rao and Yip " discrete cosine transform ", New York, and Academic Press, 1990, be included into as a reference here.With the content in the familiar book of above quoting of supposition those skilled in the art.
Be not difficult to find out, for computer user and other people, if there is storage problem in rest image, the moving image storage problem is much then serious so, because for each second of the moving image that is shown, its video that moves fully may need nearly 60 width of cloth images.So the moving image compress technique is the theme that will further develop with standardization activity always.Two important criterion are that H.261 ISO11172MPEG international standard and ITU-T recommend.These two standards all partly rely on DCT coding and IDCT coding.
Two-dimension discrete cosine transform is a pair of math equation, and they are a N 1XN 2Numerical matrix is transformed into another N 1XN 2Numerical matrix or by another N 1XN 2Numerical matrix is transformed into this N 1XN 2Numerical matrix.First matrix is represented the NxN square formation of the definite component value in the space of a formation digital picture usually.Because it is related with it that each pixel has some components, for simplicity, considers the simple component pixel hereinafter.Yet for one of skill in the art, it is obvious expanding to many component pixel.Second matrix is the dct coefficient matrix of representing this image in the frequency field.The method of this coefficient representative image by its frequency component is a special case of discrete fourier (Fourier) conversion.Discrete Fourier transformation is the discrete version of the mathematics Fourier transform of classics, and in the mathematics Fourier transform of classics, any periodic waveform can be expressed as the sine and the cosine wave (CW) sum of different frequency and amplitude.Similar with Fourier transform, discrete cosine transform is so a kind of conversion, and it transforms to frequency field and opposite conversion to a signal from time domain.Compare with discrete Fourier transformation, all the DCT multiplication all is real arithmetic, and this has reduced the number of times of required multiplication.For most of images, most of energy of signal is in low frequency, and this appears at the upper left corner of DCT.The value in the lower right corner is represented upper frequency, and they are often little of can almost nothing can perceptiblely distort to be left in the basket.
Two basic discrete cosine transform equations are arranged.First fundamental equation is a Forward Discrete Cosine Transform, and it is transformed into discrete cosine transform coefficient to pixel value.Second fundamental equation is inverse discrete cosine transform, and it gets back to pixel value to the discrete cosine transform coefficient conversion.Image is carried out most application of discrete cosine transform use 8 * 8 matrixes, so the N value here is 8.So, suppose that the N value is 8 when carrying out conversion, f (i j) is the picture element matrix value, F (u v) is the discrete cosine transform coefficient value, and then 2D (two dimension) discrete cosine transform is provided by following formula:
F ( u , v ) = C u C v 4 Σ x = 0 7 Σ y = 0 7 f ( x , y ) cos ( ( 2 x + 1 ) uπ 16 ) cos ( ( 2 y + 1 ) vπ 16 )
Here x, the volume coordinate in the y=spatial domain (0,1,2 ... 7); U, the v=transform domain (0,1,2 ... 7) coefficient in; For u=0, have Cu = 1 2 Otherwise be 1; For V=0, Cv = 1 2 , Otherwise be 1.By 8 row are carried out 1D (one dimension) DCT, 8 row to the gained result carry out 1D DCT then, thereby have utilized the separable characteristic of 2D DCT.For calculating 8 1D DCT, can obtain some fast algorithms.
As mentioned above, the DCT of compressor reducer part mainly comprises two parts.First's use dct transform is transformed into weak relevant coefficient to the view data of height correlation, and second portion carries out the bit rate of quantification to reduce transmission or to store to coefficient.Yet, need a large amount of calculating for carrying out DCT.For example, in current known fast algorithm, treated length is 13 multiplication of one dimension DCT needs and 29 sub-additions of 8 pixels.(at article " rapid DCT of image-SQ algorithm " (Trans.IEICE, Vol.E-71, No.11pp1095-1097, in November, 1988) in, Y.Arai, T.Agui and M.Nakajima suggestion, many DCT multiplication can be formulated as the scale factor (scaling multiplier) to the DCT coefficient.Extract DCT after these factors and be called the DCT (scaled DCT) that asks after the ratio.Ask DCT after the ratio be still quadrature but no longer be normalized, yet can in quantizing process thereafter, recover scale factor.Arai etc. show in their article, only need 5 multiplication and 29 sub-additions after asking ratio during DCT handling at 8.As previously mentioned, image is divided into the piece that size is 8 * 8 pixels, 16 * 16 pixels or 32 * 32 pixels.Often handle for every by the one dimension DCT heel of row-by-row system one dimension DCT by the row mode.On the other hand, owing to different input types with to compressing the different quality requirement of back data, select different block size voltage supply to contract.
Can be with the multiplication constant of cosine term in addition/subtraction usefulness proportional (Scaled term) the replacement discrete cosine transform (DCT) of minimum and so on.Yet proportional just is similar to the constant in the transformation for mula.Like this, accept certain error so that the fixing bit number that precision limits or make number of operations reach minimum.If further from decision boundary (for example a threshold value or quantization boundary), then the result will not be subjected to these approximate influences to the number that obtains than maximum possible error.Yet, in the incremental computations process, may determine that its number of results needs extra precision.Yet original input value no longer can obtain in register, takes out original input value once more and can cause the cycle that is associated with cache miss and memory latency from storer.Powerful (brute-force) selects is that logarithm value is carried out a kind of inverse transformation (for example IDCT), then with the degree of precision direct transform (for example FDCT only is called DCF sometimes) of reruning.The shortcoming of brute force method is that certain operations is wasted.
Yet research concentrates on specific technology usually, encodes so that the technology of desired intensity of compression to be provided as above-mentioned use DCT.Even so, other conversion can be used for providing under certain conditions some benefit.For example, in DCT compaction coding method discussed above, input picture is divided into many uniform pieces, and uses the two-dimension discrete cosine transform function to every, data sample being transformed into one group of conversion coefficient, thereby removes spatial redundancy.Yet, although obtained high compression rate, having produced block effect, this may be trickle or tangible.Have, can be good by the vector quantization method of compressibility utilization, this is owing to they contributions to high compression rate.On the other hand, subband (Sub-band) method can reduce the block effect that takes place when high data compression rate.Wavelet transform (DWT) or sub-band coding (SBC) method based on for example time and frequency component to signal encoding.Like this, these transform methods can be useful for analyzing non-stationary signal, and their advantage is to be designed to consider that human visual system's (HVS) characteristic is for graphical analysis.
So, as can be seen, need provide a kind of the method and apparatus of transformation calculations faster can be provided, it uses early abort and precision refinement with the saving processing cycle, thus minimizing software execution time and reduction are to the requirement of hardware.
Summary of the invention
For overcoming above-mentioned restriction of the prior art, and will know that in order to overcome other that find out limit after reading and understanding this explanation, the present invention discloses a kind of Fast transforms of using multiple proportional, early abort and precision refinement.
The present invention solves the problems referred to above by discrete transform being divided into a plurality of sub-conversion, and this a little conversion is by independently calculating transformation constant usage ratio item.Have again, found the optimization expression formula that is used for binary arithmetic proportional.The calculating that obtains becomes Fast transforms calculates, and has reduced the software execution time and has reduced requirement to hardware.Have again, often it will be understood to those of skill in the art that to make the realization inverse transformation that uses the same method, thereby use the operation of same quantity usually.The present invention is also by reducing the multiplication number of times to transformation constant usage ratio item, thereby addresses the above problem.Have, after carrying out scale operation, these constant terms are replaced by a series of a small amount of linear displacements and addition again, because can only be similar to these constants by the inferior sum of 2 power behind a small amount of addition.It will be understood to those of skill in the art that this explanation from first to last uses " matrix " this term, promptly on its traditional mathematics meaning, use that also contain whole hardware and software system with it, they can be expressed as math matrix equivalently when being used to analyze.When the present invention is also by taking to proofread and correct and take following correction to address the above problem according to the test of transformation constant incremental computations is detected: count carefully incremental computations to obtain extra precision and/or hour to end incremental computations when the number that obtain becomes too.
A kind of in accordance with the principles of the present invention method comprises transformation equation is arranged at least one cluster (collection), it has at least two transformation constants, and use a proportional that each cluster is carried out scale operation to these at least two transformation constants independently, to keep the ratio of homogeneous basically between these at least two transformation constants in this at least one cluster.The invention still further relates to 2 the approximate ratio discrete cosine transform constant estimated value that obtains of power time sum and represent each ratio discrete cosine transform constant,
Other embodiment of method comprise alternative or optional additional aspect in accordance with the principles of the present invention.Such aspect of the present invention is that this method comprises that further data are divided at least one and passing ratio transformation equation is transformed into transform data.
Another aspect of the present invention is based on binary arithmetic the discrete cosine transform equation is carried out matrix multiplication data block being transformed into the data after the conversion, this binary arithmetic use estimate ask discrete cosine transform constant after the ratio go forward side by side line linearity displacement and addition.
Another aspect of the present invention is according to predetermined cost (cost) function selection percentage item.
Another aspect of the present invention is that this predetermined costs function comprises the selection percentage item, thereby makes the maximum error of any conversion coefficient be not more than predetermined error percentage.
Another aspect of the present invention is that this predetermined costs function comprises the selection percentage item, thereby makes the maximum error of each related conversion coefficient be not more than its predetermined error percentage.
Another aspect of the present invention is that this predetermined costs function comprises the selection percentage item, thereby the error that predetermined transformation constant is had is less than or equal to a predetermined error percentage.
Another aspect of the present invention is that this predetermined costs function comprises the selection percentage item, thereby the error that each related predetermined map constant is had is less than or equal to its predictive error percentage.
Another aspect of the present invention is that this predetermined costs function comprises selection percentage item and transformation constant expression formula, thereby the simultaneous binary expression formula that whole transformation constants of a cluster are had has predetermined properties.
Another aspect of the present invention is that this cost function makes the number of times of add operation reduce to minimum.
Another aspect of the present invention is that this cost function makes the addition number of times under the worst case reduce to minimum.
Another aspect of the present invention is public 2 the power time that predetermined properties comprises minimum number.
Another aspect of the present invention is when binary arithmetic displacement can be more effective than multiply operation, realize selection percentage item and transformation constant expression formula, thereby make the simultaneous binary expression formula that whole transformation constant had of a cluster have public 2 the power time of minimum number.
Another aspect of the present invention is that the maximization that predetermined properties comprises the power time of non-zero 2 is trooped.
Another aspect of the present invention is the selection that realizes proportional, make when wishing that more utilization does not wish to utilize plurality to carry out multiply operation than small integer, all transformation constants of a cluster have simultaneous binary expression formula, and these expression formulas have the trooping of maximum of the power time of non-zero 2.
Another aspect of the present invention is that whether non-zero is followed the tracks of for coefficient to 2 power order polynomial of expression constant.
Another aspect of the present invention is that the positional value of bit is determined 2 power time item.
Another aspect of the present invention is that trooping of the power of non-zero 2 time realized that maximization comprises whole expression formulas of taking the following step to find out proportionality constant: a) first variable is made as i element in the piece, b) second initialization of variable is value 2, c) bitmask (bitmask) is initialized as scale-of-two 3, d) analyzes these to determine whether be to use 2 by i element of the first variable appointment n+ 2 N-1=2 N+1-2 N-1Carry out the item needed candidate's expression formula that reorders, e) by second variable is added to first variable to i element encoding, to carry out by 2 n+ 2 N-1=2 N+1-2 N-1Effective 2 the power that provides changes, and f) obtains new expression formula, and to make the first variable increment be i+1 element, g) with bitmask and second variable to moving to left one, and h) repetition d-g.
Another aspect of the present invention is that this method further comprises: after whether check has set first variable that mates with masked bits, be used for by 2 thereby make bitmask put zero also an increase to shifting left on the right side n+ 2 N-1=2 N+1-2 N-12 the power that reorders.
Another aspect of the present invention is that the non-intersect transformation equation group that part is calculated is carried out in these cluster representatives.
Another aspect of the present invention is that these clusters are not represented the non-intersect transformation equation group of carrying out part calculating.
Another aspect of the present invention is that this method further is included in each cluster at least one cluster and selects an independently proportional for transformation constant.
A kind of in accordance with the principles of the present invention method comprises: test is determined whether to proofread and correct according to this test by at least one number that the incremental computations of conversion coefficient obtains in conversion process, and when need determining timing to proofread and correct.
Comprise other or the optional additional aspect of other embodiment of method in accordance with the principles of the present invention.Such aspect of the present invention is whether this deterministic process comprises the incremental computations that detects conversion coefficient and will cause conversion coefficient to have the precision that can not receive, and counts carefully (refine) at least one number and proofread and correct to comprise.
Another aspect of the present invention is that this conversion comprises a transformation matrix, and wherein counts carefully to comprise and use one and count carefully matrix to improve the precision of transformation constant incremental computations.
Another aspect of the present invention is to count carefully matrix to comprise I+ dD M+1D m -1
Another aspect of the present invention is that this method comprises that further transformation constant according to approximate treatment produces at least one and counts carefully matrix.
Another aspect of the present invention is to produce at least one to count carefully matrix be that off-line carries out or carry out when initialization.
Another aspect of the present invention is to produce at least one to count carefully matrix and comprise: admit that an approximate conversion is reversible, produce by I+ dD M+1D m -1The conversion that counts carefully matrix and be configured for effectively calculating that provides.
Another aspect of the present invention is to produce to count carefully matrix and comprise and admit that for producing the n row that a conversion recovers this transformation matrix be impossible, calculates pseudoinverse (pseudo inverse) and use this pseudoinverse of changing matrix to produce for the part of this transformation matrix to count carefully the approximate of matrix.
Another aspect of the present invention is that this counts carefully the approximate of matrix and comprises
Figure C0181779800121
Another aspect of the present invention is that this deterministic process further comprises to determine whether the error that is caused by the termination incremental computations is acceptable, and the correction of carrying out comprises the incremental computations of ending conversion coefficient.
Another aspect of the present invention is a termination incremental computations when determining that incremental computations will obtain an expectation and fall into preset range severals.
Another aspect of the present invention is to estimate that the number that falls into preset range comprises the conversion coefficient that satisfies accuracy requirement.
Another aspect of the present invention is when determining that counting carefully of conversion coefficient do not changed it stops incremental computations as a result the time.
Another aspect of the present invention is: after check incremental computations result's relative size, when the intermediate computations to the intermediate computations of at least one conversion coefficient and another conversion coefficient is in a ratio of hour, definite counting carefully of conversion coefficient do not changed the result.
Another aspect of the present invention is: after at least one incremental computations result's of check size, when at least one results of intermediate calculations of conversion coefficient during less than a predetermined threshold, just determine counting carefully of conversion coefficient do not changed its result.
Another aspect of the present invention is that this deterministic process further comprises and determines that a conversion coefficient will comprise the incremental computations of ending conversion coefficient and proofread and correct in zero preset range.
In another embodiment of the present invention, provide a kind of data compression system.This data compression system comprises a transducer and a quantizer: the converter applications linear transformation, use transformation equation to make data remove correlativity, become conversion coefficient, the formation of these transformation equations is by at least one cluster that transformation equation is arranged at least two transformation constants and with a proportional these at least two transformation constants of each cluster to be carried out independently scale operation, so that keep the ratio of basic homogeneous at least between these two transformation constants in this at least one cluster, the proportional here is selected according to predetermined cost function; Quantizer is used for that to make the data-measuring after the conversion be quantized data by reducing the required figure place of expression conversion coefficient.
A printer is provided in another embodiment of the present invention.This printer comprises the storer that is used for storing image data, be used to handle this view data the condensed type processor that stream is exported to be provided and to be used to control printhead to produce the printhead control circuit of view data printout, this processor utilizing linear transformation wherein, use transformation equation to make data remove correlativity, become conversion coefficient, the formation of these transformation equations is by at least one cluster that transformation equation is arranged at least two transformation constants and with a proportional these at least two transformation constants of each cluster to be carried out independently scale operation, so that keep the ratio of basic homogeneous at least between these two transformation constants in this at least one cluster, wherein proportional is selected according to predetermined cost function.
In another embodiment of the present invention, provide a kind of production product.This production product comprises a computer-readable program recorded medium, this medium visibly comprises the one or more instruction repertories that can be carried out by computing machine, to realize a kind of method, this method is arranged to transformation equation at least one cluster of at least two transformation constants and with a proportional these at least two transformation constants of each cluster is carried out independently scale operation, so that keep the ratio of basic homogeneous at least between these two transformation constants in this at least one cluster, wherein proportional is selected according to predetermined cost function.
In another embodiment of the present invention, provide a kind of data analysis system.This data analysis system comprises transformation equation and transducer, the formation of these transformation equations is by at least one cluster that transformation equation is arranged at least two transformation constants and with a proportional these at least two transformation constants of each cluster to be carried out independently scale operation, so that keep the ratio of basic homogeneous at least between these two transformation constants in this at least one cluster, wherein proportional is selected according to predetermined cost function, the converter applications transformation equation carries out linear transformation, to the data decorrelation, be transformed into conversion coefficient.
Characterizing these and other advantages of innovation place of the present invention and characteristics is specifically noted by appended claim as the application's part here.Yet, in order to understand the present invention better, its advantage and the purpose that reaches by using it, should be with reference to the accompanying drawings, accompanying drawing further constitutes the application's a part, and is attached to after the descriptive content, shown in these accompanying drawings and described instantiation according to device of the present invention.
Description of drawings
With reference now to accompanying drawing,, similar label is represented corresponding parts among each figure:
Fig. 1 shows a typical image compression system;
Fig. 2 shows the block scheme of jpeg coder;
Fig. 3 shows process flow diagram of the present invention;
Fig. 4 shows a kind of process flow diagram of method, and this method is sought the simultaneous expression formula of the first criterion C1 or the second criterion C2,
Fig. 5 demonstration provides the process flow diagram of faster transform, and these conversion are faster used and proofreaied and correct so that transformation calculations and minimizing execution number of times faster to be provided;
Fig. 6 shows that according to termination method flow diagram of the present invention it shows ends the further iteration that conversion coefficient calculates process.
Fig. 7 shows at least one incremental computations number of test;
Fig. 8 is the process flow diagram that counts carefully method according to of the present invention;
Fig. 9 produces first method flow diagram that counts carefully matrix;
Figure 10 is a process flow diagram, shows second method, is used for producing when dD0 is irreversible counting carefully matrix;
Figure 11 shows according to printer of the present invention;
Figure 12 shows according to data analysis system of the present invention;
Figure 13 shows according to another data subsystem of the present invention.
Embodiment
To will be with reference to the accompanying drawings in the description of exemplifying embodiment, these accompanying drawings constitute the application's a part, wherein illustrate with way of example and can realize specific embodiments of the invention hereinafter.Should be appreciated that, can realize other embodiment, because can change and do not depart from the scope of the present invention structure.
The invention provides the Fast transforms of using multiple proportional.These conversion are divided into sub-conversion, use the proportional of transformation constant that they are calculated separately.Found the optimization expression formula of the proportional that is used for binary arithmetic.This method makes transformation calculations accelerate, reduce the software execution time and has reduced hardware requirement.According to the present invention, the discrete transform that uses in signal and Flame Image Process has utilized so-called basis function (basis function), and these basis functions are set the structure of conversion and laid the first stone for allowing to calculate this conversion in two or more sub-cluster.Use the cost function of realizing conversion fast to find out the optimization expression formula of the base system number in the calculating then.
Fig. 1 shows typical image compression system 100.This data compression system can comprise the parts of three close ties, i.e. (a) conversion 120, (b) quantizer 130 and (c) optional entropy coder 140.Remove the correlativity of view data 110 by utilizing linear transformation, to the quantization of transform coefficients that obtains and if desired the value that quantizes is carried out entropy coding and realize compression.Develop multiple linear transformation, comprised discrete Fourier transformation (DFT), discrete cosine transform (DCT), wavelet transform (DWT), more in addition, every kind of merits and demerits that conversion has it to control oneself.
Quantizer 130 only is reduced to the needed figure place of coefficient after the memory mapping by the precision that reduces those values.Because this is the mapping of " how to 1 ", diminishes process and be significant pressure source in the scrambler so it is one.Can quantize each single coefficient, be called scalar quantization (SQ).Also can the cluster of coefficient be quantized together, this is called vector quantization (VQ).According to the problem that will solve, homogeneous all can use with quantizer non-homogeneous.
Optionally entropy coder 140 further nondestructively compresses the value after quantizing, to provide better total compression.It uses a model accurately to determine the probability of each quantized value and produces suitable coding according to these probability, thereby makes the output code stream that obtains will be less than inlet flow.The most frequently used entropy coder is Huffman scrambler and arithmetic encoder, and certainly, for the application that needs are carried out fast, simple run length coding, RLC (RLE) is proved to be effectively.
Term " image transformation " typically refers to a class unitary matrix that is used for representative image.This means the expression formula that to use these matrixes that image transitions is become to substitute.These conversion constitute the basis of transition coding.Transition coding is that the coefficient of conversion is encoded for a process of transmission.
Signal (x) is a function, and it is mapped to each integer from 0 to n-1 the plural number.Delegation's image sampling or pixelation provides such example.Sample here or pixel are equally spaced." orthogonal basis " of the cluster of this (x) is function { b y(x) } Y=0 N-1Set, wherein to y 1Z, Σ x = 0 n - 1 b y ( x ) b z ( x ) = 0 . (X) " conversion " is expressed as F (y), by F ( y ) = Σ x = 0 n - 1 f ( x ) b y ( x ) Provide.This class conversion is used for a lot of signals and Flame Image Process is used, with information extraction from original signal.An example of conversion is discrete Fourier transformation (DFT), b here y(x)=exp (2pixy/n).A related therewith example is discrete cosine transform (DCT), b here y(x)=cos (2pxy/n).Another example is a wavelet transformation, here b y(x) be the special ratios of mother wavelet function and the version after the skew.(seeing Ingrid Daubechies " small echo ten is said ", industry and Applied Digital association, in May, 1992).
To the independently theoretical foundation of scale operation operation be described by showing the number basis that scale operation can be carried out and do not destroy mapped structure now.Define a conversion F ( y ) = Σ x = 0 n - 1 f ( x ) b y ( x ) . Consider such certain situation (hereinafter describing), at this moment b y(x) make this conversion can be divided into two or more disjoint and, and no matter (x) structure how.(when using term " non-intersect (disioint) " at system of equations here, being meant between two equations in disjoint system of equations does not have common conversion coefficient.) for example, if b 2y(x) even symmetry is arranged, b 2y+1(x) odd symmetry, then as can be known by mathematics, any (x) can be write uniquely do (x)= e(x)+ o(x), here e(x) be even number (about zero symmetry), and o(x) be odd number (about zero antisymmetry), and Σ x f e ( x ) b 2 y - 1 ( x ) = Σ x f o b 2 y ( x ) = 0 . This can be write this conversion equivalently and does:
Figure C0181779800171
Fig. 2 shows the block scheme of jpeg coder 100.In Fig. 2, Digital Image Data 116 is divided into nearly 8 * 8 block of pixels 112.Then, calculate discrete cosine transform (DCT) (120) to every.Discrete wait string conversion (DCT) to help data are divided into different importance the are arranged several portions (or sub-band) of (for example about visual quality for images).DCT is similar to discrete Fourier transformation: it transforms from a spatial domain to frequency field to signal.
Quantizer 130 rounds off to the DCT coefficient according to quantization matrix.This step has produced JPEG's " diminishing " characteristic, but makes it possible to big ratio of compression.This is trading off between picture quality and quantization degree.Big quantization step can produce unacceptable big pattern distortion.This effect is similar to and too sparsely quantizes the Fourier series coefficient, and this can cause big distortion.It's a pity that meticulousr quantification causes lower ratio of compression.How most effectively problem is quantization DCT coefficient.Because the natural high-frequency rolling drop of human vision, these frequency roles are less than low frequency.This makes JPEG use much higher step-length to high frequency coefficient, and does not almost have noticeable image quality decrease.Then, quantizer coefficients output can be by optional entropy coder 140 codings, to produce the data stream 150 after compressing in output file.Note that for JPEG, entropy coder is not chosen wantonly, but other similar data compressibilities can not be designed to not by entropy coder needed cpu cycle.
Yet, as mentioned below, need provide a kind of method and apparatus to be used for finishing discrete cosine transform, thereby increase the handling capacity of scrambler 100 with less multiplication step.As mentioned below, the method according to this invention can be saved multiplying in the powerful equation by matrix of coefficients being carried out scale operation.Each separable son group is independent of other clusters and carries out ratio calculating.In each cluster, remaining multiplying is replaced by simple displacement and addition.According to various cost function selection percentage items.The addition minimum number that the cost function that this most preferred embodiment uses makes the addition minimum number and makes worst case.Yet, it will be understood to those of skill in the art that other cost functions can select each coefficient to allow much errors.Have again, it will be understood to those of skill in the art that and use identical method can realize inverse DCT (IDCT), thus the operation of use and its equal number.
Fig. 3 shows flow process Figure 200 of the present invention, and in Fig. 3, transformation equation is divided at least one sub-conversion (210) with at least two transformation constants.Here the term of Shi Yonging " sub-conversion " is meant the equation cluster that is used to produce the consequent subclass of conversion, the sum of the item after the subclass here can comprise the item after whole conversion or be less than conversion.Next, the transformation constant of each cluster is carried out scale operation independently, between cluster inner conversion constant, to keep the ratio of basic homogeneous, wherein according to predetermined cost function selection percentage item (220) with proportional.Consequently obtain being used for the transformation equation of this piece of conversion.Data are divided at least one (230).Use transformation equation that this piece is transformed into data (240) after the conversion then.Traditional system finishes piece 210 and 220 with off-line.Yet,, can finish these pieces automatically in the program initialization stage for algorithm such as appointment when moving such as JPEG 2000 grades.With reference to the quantizer 130 of figure 1, can be quantized by scale operation being included in the data that quantize to make after the conversion then.These are different with integer cosine transformation (ICT) (for example sees people such as Pang " the self clock chip that picture coding is used ", IEEE Trans. " circuit that video technique is used and system ", Vol.9, no6,1999, pp856-860), wherein with same value each coefficient is carried out scale operation in each equation, this method does not have the calculating advantage of method described herein.
Selection to the proportional of constant can be selected with the cost function of representing the goal systems demand.This cost function is identified several parameters to be used for Fast transforms.Employed real cost function can comprise one of following cost function or their combination:
First cost function is: the maximum error of any conversion coefficient (being F (x)) is not more than P%, and P is selected by algorithm designer here.P=1 in the example below.
Second cost function is: the error by some selected prior transformation constant of algorithm designer is not more than P Important%.The error of example medium and low frequency item below is less than 0.1%.
The 3rd cost function is divided into two criterion: C1 and C2, and they are applied to different systems, promptly selects to satisfy criterion C1 or criterion C2 prevailingly.Criterion C1 can be applicable to displacement than more effective those realizations of multiplication (for example software or firmware).Criterion C2 can be applicable to compare with the multiplication that utilizes plurality those of more wishing to utilize less multiplication of integers and realizes (multiplication that for example surpasses certain number of bits uses more the multicycle or is concerned about that those softwares of resultnat accuracy realize).To provide instantiation this two criterions will be described.These two criterions can be used together.
According to the first criterion C1, and the basis of integer factor after all of same and middle appearance are asked ratio (in the situation at FDCT, constant C 1To C 7, C here k=cos (kp/16)) should have simultaneous binary expression formula (simultanous binary representation), these expression formulas have common 2 the power time of minimum number, and promptly all time set of 2 of expression formulas power should be as far as possible little in a cluster.Real constant can be approximate by rational number (being the ratio of integer).Here at asking the ratio employed speech of transformation constant " expression formula " afterwards to be meant that the molecule of this ratio of integers can be used as 2 power and/or the poor mode that is adopted of calculating.
For example, in FDCT, conversion can be divided into three system of equations:
2S(0)=C 4(s 0734+s 1625)(1)
2S(4)=C 4(s 0734-s 1625)
2S(2)=C 2d 0734+C 6d 1625(2)
2S(6)=C 6d 0734-C 2d 1625
2S(1)=C 1d 07+C 3d 16+C 5d 25+C 7d 34(3)
2S(3)=C 3d 07-C 7d 16-C 1d 25-C 5d 34
2S(5)=C 5d 07-C 1d 16+C 7d 25+C 3d 34
2S(7)=C 7d 07-C 5d 16+C 3d 25-C 1d 34
The symbol that uses in these equations is taken from the book of Pennebaker.Note that Ss with Be directly proportional.Like this, the constant in system of equations 3 should have simultaneous binary expression formula, and they have 2 the power time of minimum number, but their simultaneous expression formula and the employed expression formula of constant in the system of equations 2 have nothing to do.Below the instantiation of system of equations 3 is shown in:
41C 1≈40=2 5+2 3
41C 3≈34=2 5+2 1
41C 5≈23=2 5-2 3-2 1+2 0
41C 7≈2 3
All these expression formulas to the error of each coefficient less than 1%.In this example, time set of public 2 power is { 2 5, 2 3, 2 1, 2 0, this can find out from these equations that these expression formulas can be regarded 2 polynomial expression as, takes advantage of each side's power of 2 with+1 or 0, promptly
41C 1≈1·2 5+1·2 3+0·2 1+0·2 0(4)
Making these number reduce to minimum reason effectively is: system of equations 3 can be calculated by making up these powers of 2.In the structure of using this criterion C1, taking aspect the cycle addition and displacement than multiplication cheapness, so we can regard system of equations 3 as the compute matrix operation
2 5 + 2 3 2 5 + 2 1 2 5 - 2 3 - 2 1 + 2 0 2 3 2 5 + 2 1 - 2 3 - ( 2 5 + 2 3 ) - ( 2 5 - 2 3 - 2 1 + 2 0 ) 2 5 - 2 3 - 2 1 + 2 0 - ( 2 5 + 2 3 ) 2 3 2 5 + 2 1 2 3 - ( 2 5 - 2 3 - 2 1 + 2 0 ) 2 5 + 2 1 - ( 2 5 + 2 3 ) d 07 d 16 d 25 d 34
Counting addition and displacement, it uses 28 operations altogether.If we precompute A=d 2s-d 34And B=d 07+ d 16, then equation becomes:
- d 25 d 16 d 07 - A d 25 + B d 34 d 07 - d 16 - A d 07 - d 25 - d 34 - d 07 d 34 d 25 - B d 34 + d 07 - d 16 d 16 d 25 - d 34 + B - d 16 + A 2 0 2 1 2 3 2 5
Utilize in advance and calculate, it becomes 24 cycles.Cancellation 2 is arranged again 0, it is to C 5Improve error about 3%, the operation sum is kept to 20.The calculating that is noted that the odd number coefficient of rapid DCT discussed above is also used 11 sub-additions and 4 multiplication except the initial calculating that adds, subtracts, here cycle of taking of multiplication for many microprocessors greater than 1, often between 4 and 11 cycles.
According to the second criterion C2, (the C in the FDCT situation for example of the basis of integer factor after all of appearance are asked ratio in same and (for example above same group 1,2 or 3) 1To C 7) should have simultaneous binary expression formula, these expression formulas have as far as possible the power time item of the non-zero 2 of troop (clustered); Promptly 2 maximum power time item is as far as possible little with the difference of inferior of minimum 2 power.The example of the expression formula of trooping is shown in following formula: 28=2 5-2 2And 28=2 4+ 2 3+ 2 2In first expression formula, 2 power is separated into 5-2=3, and in second expression formula, 2 power is separated into 4-2=2.This makes second expression formula of 28 more " troop " than first.Its advantage is: suppose in the expression formula of all constants in a group that 2 minimum power is 2 2This means and in calculating, can in quantification, obtain two precision and ask ratio effectively that we will be with 2 2Remove all constants, thus needn't be to those zero displacements of afterbody.
If necessary, can before quantizing, be incorporated into the additional magnitude of the zero representative of these afterbodys again in the number, for example, if the afterbody in one of expression formula 1 needs " house takes out " to quantize to judge to do as precision.(example in seeing above under C1, wherein we may give up 2 at suggestion 0.)
Fig. 4 shows the process flow diagram 300 of a method, this method service condition
2 n+2 n-1=2 n+1-2 n-1(5)
Find out the simultaneous expression formula that is used for the second criterion C2.At first, " num " is set at " repcount " (310), this is an i element of array " reps ".Current counting for a given numerical representation formula is " repcount ", and variable " add " is initialized to 2 (312).Bitmask (bitmask) is initialized to Binary Zero ... 011 (314).
Everybody is tested, whether all be set (340) with two positions in " num " that determine to mate with masked bits.If not (342), then mask is to move to left one (350), puts one zero effectively on the right, and " add " to moving to left one, thereby increases 2 power, and this is used for above-mentioned equation (5) and resequences.If all be set (344) with two positions among " num " of masked bits coupling, then this bit pattern " num " is candidate's expression formula, is used to use above-mentioned condition (5) to carry out item and resequences.Then, by " add " is added on " num ", " num " to this expression formula coding, to carry out changing (346) by 2 the power that equation shown in the above-mentioned condition (5) provides.This provides the storage efficiency than brute force method faster speed and Geng Gao; For example, carry out to the exhaustive search of each expression formula and respectively storage all zero ,+1 and-1 value.A new expression formula has obtained, and " repcoumt " is set to " repcount "+1 (348).Mask is moved to the left one (350).
Displacement will go on, until reaching predetermined maximum value " maxmask " (370).If do not reach predetermined maximum value as yet, then repeat this routine, so " num " is set to new expression formula (372) with new " repcount ".Otherwise enter 374, so this routine finishes.
Utilize the mode that expression formula is encoded in the program, program only keeps following the tracks of coefficient (for example square journey (the 4)) non-zero whether in 2 the power order polynomial; Promptly+1 store as " 1 " position, and 0 conduct " 0 " position storage.The power of 2 in the polynomial expression time Xiang Yiqi bit position coding; For example, position zero (rightmost side) is corresponding to 2 0Program can not distinguish+1, so how people may follow the tracks of expression formula to program proposes to ask with fixed attention.Because mask is scanning left in integer expression, also since expression formula from 2 n+ 2 N-1Be changed to 2 N+1-2 N-1Just in the polynomial expression formula 2 power to move to left effectively (being that it only increases by 2 the power that uses in the expression formula), so long-pendingly can move feasible 2 power with factor a+1 of one 2 power and identical 2 power addition with factor a-1.Like this, whether non-zero is just enough only to follow the tracks of these factors because with above-mentioned " reps " in the knowledge of original integer of integer coupling of storage be enough to determine uniquely this expression formula.
As previously mentioned, the present invention also is devoted to can not be every those conversion that are divided into non-intersect system of equations well, those conversion unlike FDCT (and IDCT) can be divided into above-mentioned group 1,2 and 3.As previously mentioned, term " non-intersect (disjoint) " is meant in two disjoint system of equations do not have common transformation constant between each equation here when using at system of equations.If use 2 power simultaneous expression formula of these constants, by in conversion, at random or according to certain cost function selecting system of equations, select independently proportional by the constant in being every group, and to the transformation constant expression formula with the grouping of 2 power, still may realize quickening, so people still want to cause criterion to be used for finding out the expression formula of any system of equations coefficient.When conversion is separated into non-intersect system of equations, be able to this point will be accomplished particularly well, because transformation constant is incorporated in these system of equations.
Be the example of FDCT below, we use different combinations here:
2S(0)=C 4(s 0734+s 1625)(6)
2S(3)=C 3d 07-C 7d 16-C 1d 25-C 5d 34
2S(5)=C 5d 07-C 1d 16+C 7d 25+C 3d 34
2S(2)=C 2d 0734+C 6d 1625(7)
2S(6)=C 6d 0734-C 2d 1625
2S(4)=C 4(s 0734-s 1625)
2S(1)=C 1d 07+C 3d 16+C 5d 25+C 7d 34(8)
2S(7)=C 7d 07-C 5d 16+C 3d 25-C 1d 34
A proportional can be obtained to organizing 6 now, and C can be found out 1, C 3, C 4, C 5, C 7The simultaneous expression formula, calculate to carry out in this group for three times.Then, can find out a different proportional of group 8 and the C of these equations 1, C 3, C 5, C 7The simultaneous expression formula, these expression formulas may be very different with those expression formulas of using in group 6 the calculating.
Fig. 5 flow for displaying Figure 30 0 is used for using proofreading and correct provides transformation calculations and minimizing execution number of times faster, thereby conversion faster is provided.The resulting at least one number of incremental computations tested (310) of using the transformation constant in the conversion to carry out.Then, according to this test, determine when and proofread and correct (320).In case determine and to proofread and correct, then proofread and correct (330).
First example that counts carefully betides when each dD kWhen at least one extra precision position was added to the conversion of being undertaken by D, second example betides worked as transformation vector At least one element be assumed that very little, thereby dD kWhole delegation can be approximated to be in zero, make us can skip the calculating of that at least one element of F.
In first example, all D usually kAll be reversible; Promptly there is matrix D k -1, make D kD k -1=D k -1D k=I, I are unit matrixs, and it is having 1 from left to bottom right diagonal line, and are zero in other places.In this case, can be write as
F ^ m + 1 = D m + 1 D m - 1 F ^ m = ( I + D m + 1 d D m - 1 ) F ^ m
(I is a unit matrix here); Promptly provide additional raising precision step by the coefficient after the conversion being carried out again the linear transformation step.Using this additional shift step to improve precision is first embodiment that counts carefully provided by the invention, carries out IDCT and DCT thereafter because it has saved: matrix (I+ dD M+1D m -1) can be in advance as matrix R M+1Calculate, so F ^ m + 1 = R m + 1 F ^ m , This is to F mThe single step conversion.
Second example that counts carefully requires different ways.Consider an instantiation, in first dimension, finished 2-D conversion FD ' here with high precision, dD 0The 8th behavior zero, and dD 1=D- dD 0Then, dD 0Be irreversible, promptly can't from dD oFD ' recover FD ' original 8 row (this is from such fact: from dD oFind out FD ' among the FD ' and can be regarded as 7 equations that contain 8 unknown numbers).Yet, if to FD ' 8 row in one suppose, according to the 8th row supposition, can from dD oEstimate other 7 row among the FD '.Reasonably suppose it is that the 8th row contain little element for one, they can be approximated to be zero, and are important like that not as the transformed value that hangs down numbering because the transformed value of higher number trends towards in real image.So, dDo can be used as 8 * 7 matrixes and treats (ignoring zero row), is the eighth row coefficient of zero insertion supposition with the eighth row, by
D ~ o d = ( D ′ d 0 D 0 d ) - 1 D ′ d 0 ,
Can find out pseudoinverse
Figure C0181779800241
(as known in the literature).This provides right d8 * 8 approximate D 0 -1So we can be similar to
F ^ 1 = ( I + D 1 d D ~ 0 d ) F ^ 0
This is similar to and counts carefully second embodiment that the present invention counts carefully, and it saves the cycle of the IDCT that is followed by DCT as in first example.
Abort process was used to determine when can stop before calculating is finished calculate with the saving cycle, and it is too little value that the result of calculation of this moment is estimated, so will be quantified as zero.An example using abort process appears in the above-mentioned example, and wherein at least one low magnitude conversion coefficient is not calculated, and is equivalent to basically the corresponding delegation of transformation matrix or multirow are set at zero.Another example is to stop to calculate with limited precision, and the information that the value of the outer conversion precision of anticipated values this moment after to conversion provides is negligible, for example estimates its result of calculation hour.Another kind method relates to some input sum and/or extent of test conversion.For example, for FDCT, following Equation for Calculating second conversion coefficient:
2S(2)=C 2d 0734+C 6d 162
Here d 0734=S 07-S 34, d 1625=S 16-S 25, symbol is taken from the JPEG text of Pennebaker and Mitchell.Can test the influence that the size of these values causes its aftertreatment conversion coefficient.In this example, if S (2) less than the size (wherein Q is the quantized value of S (2)) of Q/2, then S (2) will be quantified as zero.This is converted to test d 073Size whether less than Q/ (2C 2) and d 162Size whether less than Q/ (2C 6).If satisfy this test, then the calculating of S (2) can be ended, so S (2) is set to its quantized value zero.This test input value and and/or the method for difference can expand to whole equations of FDCT.
How such as - T ^ < F ^ < T ^ Comparison (to vector or matrix The check of scope item by item) (here
Figure C0181779800245
Element entirely for non-negative) convert the comparing item by item of element of F to ,-T<F<T (element of T be non-negative entirely here), and satisfied test to F just be enough to satisfy right
Figure C0181779800246
Test, this is not obvious thing.Difficulty comes from DCT both to have been utilized just operating also and had utilized negative this fact of operation, and this has destroyed the ordering item by item in the equation.Specifically, if it is not talkative - T ^ < F ^ < T ^ Just mean - D - 1 T ^ < F < D - 1 T ^ .
Like this, the conversion precision of ending to relate to anticipated values outside just stops the precision of an operation to thereafter processing operation (for example quantizing or comparison) result when acceptable or insignificant the influence arranged.For example, the coefficient of DCT can be carried out scale operation and is approximately 2 power time sum by an integer.For odd term, it is as follows that one of these are approximate:
41 D = 41 C 1 C 3 C 5 C 7 C 3 - C 7 - C 1 - C 5 C 5 - C 1 C 7 C 3 C 7 - C 5 C 3 - C 1 &ap; 32 1 1 1 0 1 0 - 1 - 1 1 - 1 0 1 0 - 1 1 - 1 + 8 1 0 - 1 1 0 - 1 - 1 1 - 1 - 1 1 0 1 1 0 - 1 + 2 0 1 - 1 0 1 0 0 1 - 1 0 0 1 0 1 1 0 + 0 0 - 1 0 0 0 0 1 - 1 0 0 0 0 1 0 0
We write it and do (using symbol above).
41D≈2 5 dD 0+2 3 dD 1+2 1 dD 2+2 0 dD 3
Equally, as mentioned above, all above-mentioned matrixes and their order and all be reversible.Now, if | j F ^ | < < , Promptly The size of j element very little, then j (32 dD 0F) should be little.If not, then j ((8 dD 1+ 2 dD 2+ dD 3) F) and can not cancellation it so that end product is little, can check the relative size of these result of calculations.If to compare with other values be little to one of these transformed values for a medium accuracy, it is little perhaps comparing with certain predetermined threshold, then can end counting carefully that transformed value thereafter.
Fig. 6 shows that according to a kind of process flow diagram 400 of ending method of the present invention it shows the further iterated transform coefficient calculations process of ending.In Fig. 6, the number of at least one incremental computations tested (410).If satisfy some criterion, then further calculate and ended (420).In the time can accepting, the incremental computations of conversion coefficient can be ended owing to the termination error that incremental computations caused.For example, when definite incremental computations will obtain estimating to fall into a number of preset range, conversion coefficient that satisfies accuracy requirement for example, this moment, incremental computations can be terminated.The another kind of practice is that in the time of in a conversion coefficient will fall into zero preset range, the incremental computations of this conversion coefficient can be ended.
Fig. 7 shows the process flow diagram 500 of the number that at least one incremental computations of test goes out.In Fig. 7, incremental computations is tested, will not change result (510) to determine when to counting carefully of conversion coefficient, and as with as shown in 7, this test can be carried out with dual mode at least.After check incremental computations result's relative size, when the results of intermediate calculations of the results of intermediate calculations of this at least one conversion coefficient and another conversion coefficient be in a ratio of than hour, can determine that counting carefully of this conversion coefficient will not change result (520).The another kind of practice is, after at least one incremental computations result's of check size, when at least one results of intermediate calculations of this conversion coefficient during less than predetermined threshold, can determine that counting carefully of this conversion coefficient will not change result (530).
Fig. 8 is the process flow diagram 600 that counts carefully method according to of the present invention.At first, determine whether this conversion requires more high precision (610).This conversion is a transformation matrix, wherein counts carefully the precision that matrix can be used to improve the conversion coefficient incremental computations.When requiring more high precision, one counts carefully matrix application in this conversion (620).Count carefully matrix and be that off-line produces or produce when initialization, it is based on the transformation constant of approximate treatment.
Fig. 9 shows the process flow diagram (700) that produces the first method that counts carefully matrix.At first, admit that an approximate conversion is reversible (710).Generation is by I+ dD M+1D -1 mWhat provide counts carefully matrix (720).Be configured for the effectively conversion (730) of calculating then.
Yet, as previously mentioned, when dD 0When irreversible, cannot from dD 0Recover original 8 row of FD ' among the FD '.The process flow diagram 800 of Figure 10 shows works as dD 0Produce the second method that counts carefully matrix when irreversible.Admit that at first for producing the n row that conversion recovers transformation matrix are impossible (810).Calculate the pseudoinverse (820) of this transformation matrix part.Then, use the pseudoinverse of this transformation matrix to produce approximate (830) that count carefully matrix.This counts carefully the approximate I+ of comprising of matrix dD 1dD 0
Figure 11 shows the block scheme 400 according to printer 420 of the present invention.In Figure 11, printer 420 receives view data 412 from primary processor 410.View data 412 is provided for storer 430, and view data can be arranged to 8 * 8 piece sample there.8 * 8 piece sample is handled by processor 440 then, as grating image processor.Grating image processor 440 provides the printing stream of the compression of data representing image to print-head drive circuit 450.The printout 470 of print-head drive circuit 450 control printheads 460 generation view data then.
The process shown with reference to figure 1-4 can visibly realize for example one or more as shown in Figure 11 fixing and/or detachable data storage devices or other data storage or data communication equipment (DCE) in computer-readable media or carrier 490.Computer program can be loaded in the storer 492 and supply to carry out with the processor among configuration Figure 11 440.This computer program comprises instruction, and when the processor 440 of Figure 11 was read and carried out, these instructions were carried out to carrying out the necessary step of step of the present invention or element processor 440.
Figure 12 shows according to data analysis system 500 of the present invention.In Figure 12, conversion 510 receives wants analyzed data block 512.The data 524 after transformation equation 520 produces conversion are used in conversion 510.Transformation equation 520 is divided at least one the sub-conversion with at least two transformation constants.This is carried out scale operation by a proportional independently to two transformation constants to each cluster, to keep keeping between these at least two transformation constants in this at least one cluster the ratio of basic homogeneous, wherein proportional can be selected according to predetermined cost function.Then, the data after the conversion 524 can randomly be quantized by quantizer 530.Quantized value in quantizer 530 can be adjusted, to be reflected as the employed proportional of each cluster.
Figure 13 shows according to another data analysis system 600 of the present invention.In Figure 13, conversion 610 receives wants analyzed data block 612.The data 624 after transformation equation 620 produces conversion are used in conversion 610.Transformation equation 624 is divided at least one sub-conversion with at least two transformation constants.These at least two transformation constants of each cluster are carried out scale operation independently by a proportional, to keep keeping between these at least two transformation constants in this at least one cluster the ratio of basic homogeneous, wherein proportional can be selected according to predetermined cost function.Then, the data after the conversion 624 can compare with the ratio fiducial value in the comparer 630.
Above exemplifying embodiment of the present invention is described, its objective is to illustrate for example and describe.Rather than limit or the present invention is confined to disclosed accurate form.According to above-mentioned instruction, many modifications and variations are possible.Scope of the present invention is not limited to this detailed description, on the contrary, be limited by claims here.

Claims (23)

1. image processing method comprises following steps:
Receive the data of pending image;
Transformation equation is arranged at least one cluster, and this cluster has at least two transformation constants;
Use a proportional that each cluster is carried out scale operation to described at least two transformation constants independently, to keep the ratio of homogeneous basically between described at least two transformation constants in described at least one cluster; And
Use described transformation equation that the data of the image of reception are handled, with the data after the generation conversion.
2. according to the process of claim 1 wherein that proportional is one of transformation constant from described at least one cluster.
3. according to the process of claim 1 wherein that each transformation constant represented by the estimation transformation constant that 2 power time sum is similar to.
4. according to the method for claim 1, further comprise data are divided at least one and by applied equation this piece is transformed into transform data, to keep the ratio of homogeneous basically between described at least two transformation constants in described at least one cluster.
5. according to the method for one of claim 1 and 4, wherein proportional is to select according to predetermined cost function.
6. according to the method for claim 5, further comprise the step of determining predetermined cost function by the selection percentage item, so that the maximum error of any conversion coefficient is not more than a predetermined error percentage.
7. according to the method for claim 5, further comprise the step of determining predetermined cost function by the selection percentage item, so that the error of predetermined transformation constant is less than or equal to a predetermined error percentage.
8. according to the method for claim 5, further comprise the step of determining predetermined cost function by the expression formula of selection percentage item and transformation constant, so that whole transformation constants of a cluster have the simultaneous binary expression formula of predetermined properties.
9. the process of claim 1 wherein that cluster representative carries out disjoint transformation equation group that part is calculated.
10. the process of claim 1 wherein that cluster is not represented carries out disjoint transformation equation group that part is calculated.
11., further comprise following steps according to the method for claim 1:
At least one number that test is obtained by the incremental computations of conversion coefficient in conversion process;
Determine whether to proofread and correct according to this test; And
When determining to need timing to proofread and correct.
12. according to the method for claim 11, determine whether that wherein the step of proofreading and correct comprises the incremental computations that detects conversion coefficient and whether will produce the unacceptable conversion coefficient of its precision, proofread and correct to comprise and count carefully described at least one number.
13. according to the method for claim 12, wherein conversion comprises and uses a transformation matrix, and wherein counts carefully to comprise and use one and count carefully matrix to improve the precision of transformation constant incremental computations.
14., further comprise the transformation constant that goes out according to approximate treatment and produce the step that at least one counts carefully matrix according to the method for claim 11.
15. according to the method for claim 14, wherein to produce at least one step that counts carefully matrix be that off-line carries out or carry out when initialization.
16., wherein produce at least one step that counts carefully matrix and comprise following steps according to the method for claim 14:
Admit that for producing the n row that conversion recovers a transformation matrix be impossible;
For the part of transformation matrix is calculated pseudoinverse; And
Use the pseudoinverse of this transformation matrix produce described at least one count carefully the approximate of matrix.
17. according to the method for claim 11, determine whether that wherein the step of proofreading and correct comprises further whether definite error that is caused by the termination incremental computations is acceptable, proofread and correct to comprise the incremental computations of ending conversion coefficient.
18., wherein when the resulting several expectations of definite incremental computations will be in the preset range, stop incremental computations according to the method for claim 17.
19., estimate that wherein the number that is in the preset range comprises a conversion coefficient that satisfies accuracy requirement according to the method for claim 18.
20., wherein when determining not change as a result, stop incremental computations to counting carefully of conversion coefficient according to the method for claim 18.
21. method according to claim 20, wherein after the result's who checks at least one incremental computations relative size, compare with the results of intermediate calculations of another conversion coefficient hour when the results of intermediate calculations of described at least one conversion coefficient, determine that counting carefully of this conversion coefficient will not change the result.
22., wherein after the result sizes of at least one incremental computations of check,, determine that counting carefully of this conversion coefficient will not change the result when at least one results of intermediate calculations of this conversion coefficient during less than predetermined threshold according to the method for claim 20.
23. according to the method for claim 11, wherein determining step further comprises and determines that a conversion coefficient will be in zero the preset range, proofreaies and correct to comprise the incremental computations of ending conversion coefficient.
CNB018177980A 2000-10-23 2001-10-23 Faster transforms using scaled terms, early aborts, and precision refinements Expired - Fee Related CN100429644C (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/694,455 US6961473B1 (en) 2000-10-23 2000-10-23 Faster transforms using early aborts and precision refinements
US09/694,448 US6766341B1 (en) 2000-10-23 2000-10-23 Faster transforms using scaled terms
US09/694,452 2000-10-23
US09/694,455 2000-10-23
US09/694,448 2000-10-23
US09/694,452 US7007054B1 (en) 2000-10-23 2000-10-23 Faster discrete cosine transforms using scaled terms

Publications (2)

Publication Number Publication Date
CN1471674A CN1471674A (en) 2004-01-28
CN100429644C true CN100429644C (en) 2008-10-29

Family

ID=27418597

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018177980A Expired - Fee Related CN100429644C (en) 2000-10-23 2001-10-23 Faster transforms using scaled terms, early aborts, and precision refinements

Country Status (5)

Country Link
EP (1) EP1352336A4 (en)
JP (1) JP2004523815A (en)
KR (1) KR100545445B1 (en)
CN (1) CN100429644C (en)
WO (1) WO2002035380A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2407886B (en) * 2003-11-10 2007-04-25 Metropolis Data Consultants Lt Digital signal processing with improved mapping
EP2382777A4 (en) 2009-01-27 2012-08-15 Thomson Licensing Methods and apparatus for transform selection in video encoding and decoding
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9075757B2 (en) 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849922A (en) * 1987-01-20 1989-07-18 Cselt - Centro Studi E Laboratori Telecomunicazioni Spa Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3185413B2 (en) * 1992-11-25 2001-07-09 ソニー株式会社 Orthogonal transform operation and inverse orthogonal transform operation method and apparatus, digital signal encoding and / or decoding apparatus
JPH09506193A (en) * 1993-11-30 1997-06-17 ポラロイド コーポレイション Coding method and apparatus for scaling and filtering images using discrete cosine transform
US5649077A (en) * 1994-03-30 1997-07-15 Institute Of Microelectronics, National University Of Singapore Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation
AU3751900A (en) * 1999-03-17 2000-10-04 Johns Hopkins University, The A fast multiplierless transform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849922A (en) * 1987-01-20 1989-07-18 Cselt - Centro Studi E Laboratori Telecomunicazioni Spa Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation

Also Published As

Publication number Publication date
EP1352336A1 (en) 2003-10-15
CN1471674A (en) 2004-01-28
KR100545445B1 (en) 2006-01-24
JP2004523815A (en) 2004-08-05
KR20030072338A (en) 2003-09-13
EP1352336A4 (en) 2006-09-06
WO2002035380A1 (en) 2002-05-02

Similar Documents

Publication Publication Date Title
Tao et al. Significantly improving lossy compression for scientific data sets based on multidimensional prediction and error-controlled quantization
CN101375274B (en) Transforms with common factors
CN100379292C (en) 2-D transformation of image and video-frequency coding
CN1697328B (en) Fast video codec transform implementations
CN100463522C (en) Improved block transform and quantization for image and video coding
Zhu et al. Adaptive sampling for compressed sensing based image compression
US20070250557A1 (en) Method and circuit for performing cordic based loeffler discrete cosine transformation (dct) for signal processing
CN100429644C (en) Faster transforms using scaled terms, early aborts, and precision refinements
US7379500B2 (en) Low-complexity 2-power transform for image/video compression
CN101197988A (en) Amount-of-compressed data control method and image data compressing apparatus
Abood et al. Provably secure and efficient audio compression based on compressive sensing
Safavi et al. Sparsity‐aware adaptive block‐based compressive sensing
Tian et al. An image compression method based on the multi-resolution characteristics of BEMD
Agarwal et al. Near lossless image compression using discrete cosine transformation and principal component analysis
US6766341B1 (en) Faster transforms using scaled terms
US20080273808A1 (en) Faster transforms using early aborts and precision refinements
US7421139B2 (en) Reducing errors in performance sensitive transformations
Mandal et al. FPGA based low power hardware for quality access control of compressed gray scale image
Emara et al. Image compression using advanced optimization algorithms
US7489826B2 (en) Compensating for errors in performance sensitive transformations
Peter et al. Compressing audio signals with inpainting-based sparsification
Skosana et al. Energy-Efficient Sensing Matrices for Wireless Multimedia Sensor Networks: A Review
US7430332B2 (en) Approximations used in performance sensitive transformations which contain sub-transforms
Li et al. Lossy compression algorithms
Acharya et al. Inexact implementation of wavelet transform and its performance evaluation through bit width reduction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081029

Termination date: 20191023

CF01 Termination of patent right due to non-payment of annual fee