C. J. Wu and A.H. Sung

Department of Computer Science

New Mexico Tech.

Socorro, NM 87801

C.J. Wu and A.H. Sung, "The Application of Fuzzy Logic to JPEG," IEEE Trans. Consumer Electronics, vol. 40, no. 4, pp. 976-984, 1994.


To achieve the efficiency and automatic control, a fuzzy controller to incorporate with the JPEG lossy model is proposed in this work. The simulation results based on USC 15 pictures indicate that this JPEG model equipped with the designed fuzzy controller is insensitive to the given initial input values, that is, (with the help of fuzzy controller) this JPEG can always find the proper values of inputs for desired distortion ratio even though the relation of input parameters and the output distortion ratio is not known. In addition, the effect of different defuzzification techniques to accuracy and convergent speed is studied as well.


The lossy JPEG model is one of the most widely used digital image compression techniques for both grayscale and color still images [1]. However, that compression results are not predictable in advance is the common problem shared by all lossy image data compression techniques because of the variety of image data. For a picture of MxN pixels with P grayscale levels, the possible combinations are up to , e.g., an image of 512x512 pixels with 256 grayscales can have combinations. With this kind of variety, it is nearly impossible for any lossy compression model to predicate the relation of its parameters and compression results, such as mean square error. Therefore, in a sense, the compression and distortion ratios depend heavily on the source image data. The following ratios are used in this work.





where and are the corresponding frames in the original and reconstructed pictures, respectively, N is the dimension of the input vector I (or frame M), F is the total number of frames, MAE is mean absolute error, and G is the maximum grayscale value of pictures.

What is the solution for this fundamental problem of image data compression? One commonly-used solution is to use trial-and-error searching for the better tradeoff between distortion and compression ratios. Apparently, this is not a feasible solution in modern society since it is so labor-intensive and time-consuming. Another common technique uses BPP as the index for picture quality as in [1]. However, the BPP is an index for compression ratio and has only an indirect relation with reconstructed picture quality. In addition, like the trial-and-error approach, the disadvantage of using indices is that human involvement is unavoidable because the actual result can vary significantly from image to image. Obviously, in order to achieve efficiency, the automatic control mechanism must be incorporated with the JPEG model.

The rest of paper is organized as follows. Section II describes the structure of designed fuzzy controller. The various experimental results are given in section III. Lastly, conclusions and discussions are given in section IV.


Fuzzy logic was introduced by Zadeh in [2-3] and used by Mamdani and Assilian to control the dynamic system in [4-5]. Since then, fuzzy logic has been successfully applied to many applications for automatic control (especially for non-linear ill-defined systems) [6-15]. Thus, in this work, we propose a fuzzy controller to incorporate with the JPEG model to achieve the automatic control during compression process on source side. The relation of JPEG (including coder and decoder) and the fuzzy controller on source side is depicted in Figures 1 and 2. Since the image quality is our primary concern, we use AGE (defined in Eq. 4) as the index to guide the adjustment instead of BPP proposed in [1]. Though AGE (which is directly related to MAE) is not a perfect index for image quality, it is apparently better than BPP (which is the index of compression ratio) to indicate image quality.

Though the effect of fuzzy controller components (e.g., fuzzy sets, decision tables, and defuzzification equations) on overall performance of controller is not quite clear from mathematical points of view, the design of fuzzy controllers is well known for its simplicity as mentioned in [15].However, the unique challenge of this application is to design a controller to deal with a collection of monotone functions at the same time.

Fortunately, by taking advantage of the Monotone Function Property, convergence can be guaranteed by forcing the current feedback adjustment to be no larger than the previous adjustment except in the case of overshooting where .

The two inputs, and , to the fuzzy controller at the time t are defined as



The universal set of , E, is the interval of real numbers, while the universal set of , Q, is the interval of integer numbers. In general, the membership function of a fuzzy set A, , in the universal set X is defined as [16-17]


where is the interval of real numbers with 0 and 1 being the minimum and maximum membership values, respectively. In this paper, seven fuzzy sets are used--PB (positive big), PM (positive medium), PS (positive small), ZE (zero), NS (negative small), NM (negative medium), and NB (negative big)--for those inputs and the output of fuzzy controller.

For an input crisp value, the membership value of fuzzy set A is decided by




where C, L, and R are the central value, the left boundary, and the right boundary, respectively, and A={NM, NS, ZE, PS, PM}. For example, The following fuzzy sets of the form (L, C, R) for the input and the entries of decision tables are used in this work.

NB(-100, -50, -25), NM(-40, -25, -10), NS(-20, -10, 0), ZE(-5, 0, 5), PS(0, 10, 20), PM(10, 25, 40), PB(25, 50, 100)

For the input , the following fuzzy sets are used in this work.

NB(-100, -6, -3), NM(-5, -3, -1), NS(-2, -1, 0),

ZE(-0.5, 0, 0.5),

PS(0, 1, 2), PM(1, 3, 5), PB(3, 6, 100)

The decision table used by the fuzzy controller in this work is Table 1.

The value of decision table entry ij, , is calculated using the fuzzy-min operator


where is membership functions defined in Eqs. 8-10. As for the defuzzification, mean-of-inversions (MOI) for (the feedback from controller to JPEG) is calculated as

(MOI) (12)

where K and L are the number of rows and columns in the decision table, respectively. To guarantee that will not be larger than in terms of crisp value, is decided by the following algorithm:

Step 1. Calculate the corresponding crisp values T of fuzzy membership value .


where is the inverse function of and A is the corresponding fuzzy set of . Note that there might be more than one values generated by .

Step 2. Adjust each inverse value T for guaranteed convergence.


Step 3. Pick the largest absolute value . If , ; otherwise, .

In addition, will be smaller than in the case of overshooting.


Experiments were performed on 15 USC images which include eight 256x256 images and seven 512x512 images with 256 grayscales. The eight 256x256 pictures are Girl-I, Couple, Lady, Girl-II, House, Tree, Ball-I, and Ball-II. The seven 512x512 pictures are Splash, Girl-III, Baboon, Lena, F16, Park, and Pepper. The JPEG model is developed by Independent JPEG Group with the fuzzy controller created by the authors [18]. In addition, ten random initial values, 38, 58, 13, 15, 51, 27, 10, 19, 12, and 86, of q generated by C's rand() are used to test the accuracy of designed fuzzy controller. The following function is used to describe the behavior of JPEG


where g is the generated AGE, and q is the value of parameter Quality. To measure the performance of fuzzy controller, we define successful trials and unsuccessful trials as follows:

Definition 1. Successful Trials: We say the fuzzy controller succeeds at a trial if the following conditions are met:

(1) The final value is in the target range, that is, where T is the TGE and is the tolerance.

(2) If no value of is inside the interval of target range, and the closest values on both sides of target range are and , respectively, then either or .

Definition 2. Unsuccessful Trials: Any trial does not belong to the previous category, successful trials.

Initially, The defuzzification equation MOI defined in Eq. 12 is used in the simulations below.

The simulation results of this fuzzy controller on those fifteen images are given in Table 2. As shown in Table 2, based on those 15 images, the fuzzy controller is insensitive to the given initial value of q and has no failure for all 150 trials. To test the performance of fuzzy controller in lower distortion area, we repeat the same experiment with . The simulation results are given in Table 3. As shown in Table 3, based on those 15 images, the fuzzy controller is quite successful for low distortion area, and has no failure for all 150 trials as well. However, the average-loops-per-trial of all fifteen images increases from 8.26 of the previous simulation, TGE=1.5, to 10.407 of the current simulation, TGE=1.0. By close examining the adjusting process, we found that there were some loops wasted at the final stage of adjustment when q was close to the target but . Therefore, the process would continue, and q kept jumping back and forth until overshooting and concurred.

To improve the performance of fuzzy controller in terms of convergent speed, we set the tolerance to be 0.025 instead of 0 in the following simulations. From our experience, we know the difference of 0.025 of AGE, which equals to 0.0638 of MAE, will have very little impact on reconstructed image quality in most of the cases. The simulation results of using tolerance 0.025 are given in Tables 4 and 5. Comparing Tables 4 and 2, for TGE=1.5, the performance in terms of average-loops-per-trial is improved from 8.26 in the case of tolerance 0 to 5.38 in the case of tolerance 0.025; therefore, the convergent speed of the latter, based on those 15 images, is faster up to 34.87%, . We observe the same improvement in the case of TGE=1.0, the performance in terms of average-loops-per-trial is improved from 10.407 of tolerance 0 to 6.967 of tolerance 0.025, that is, the convergent speed of the latter is faster up to 33.05%, .

It is well known that different defuzzification equations will affect the system performance [19-25]. In this work, three equations, mean-of-maximum-inversions (MOMI), mean-of-inversions (MOI), and mean-of-centers (MOC), are used to compare their performance on this specific application. MOI is defined in Eq. 12 and the other two defuzzifications are defined as



where n is the number of table entries with maximum membership value, is the inverse value of pth entry with maximum membership value, and is calculated as in Eq. 11. is the inverse value of , and is calculated as in Eqs. 13 and 14. At last, is the central value of fuzzy set from the definition, that is, for a fuzzy set A defined as (LF, CN, RG), . For example, if , then .

Recall that all previous experiments were performed using MOI; therefore, to compare the performance of those three difference equations, we use the same mechanism except defuzzfication equation for MOMI and MOC in the case of TGE=1.5 and tolerance = 0.025. Their performance summaries are given in Tables 6 and 7. According to simulation results (Tables 4, 6, and 7), the average-loops-per-trial for MOI, MOMI, and MOC are 5.38, 6.02, and 7.037, respectively. Thus, the MOI has the best performance, and the MOMI is only slightly worse than the former in terms of convergent speed. On the other hand, the MOC has the worst performance in terms of both convergent speed and accuracy. More specifically, the MOC is 1.658 average-loops-per-trial slower than MOI, and has 10 unsuccessful trials out of 150.

To compare those three equations in low distortion area, we also run the simulations in the case of TGE=1.0 and tolerance=0.025. The results are shown in Tables 8 and 9. In the low distortion area, the average-loops-per-trial for MOI, MOMI, and MOC are 6.967, 8.573, and 11.753, respectively. Therefore, the MOI still has the best performance in terms of convergent speed, but the MOMI performs much worse than the MOI in low distortion area. In addition, the difference of convergent speed is enlarged between the MOC and the other two equations, and the MOC has four unsuccessful trials out of 150.


JPEG is the most widely used image compression technique for still grayscale or color pictures; however, the variety of image source data makes the prediction of relation of control parameters and reconstructed image quality very difficult, if possible, for lossy models. As a result, the operation cost could be very high due to the need of human involvement in the compression process. To decrease the operation cost and achieve efficiency, some kinds of automatic control mechanism are needed to incorporate with JPEG. Since the relation of control parameter(s) and reconstructed image quality is essentially an ill-defined non-linear function, we proposed to incorporate the fuzzy controller with JPEG in this paper.

The controlled object, average grayscale error (AGE), is defined in Eq. 4. There are two TGEs, 1.5 and 1.0, used in experiments for average and good reconstructed image quality, respectively. In addition, fifteen various USC pictures and the JPEG software package (developed by the Independent JPEG Group) are used in this work. For simplicity, the only control parameter used in simulations is the parameter Quality (q) whose value can be adjusted to control the quantization table used at the stage of quantization. Therefore, the desired reconstructed image quality can be produced by changing the value of q during the compression process.

To evaluate the performance of designed fuzzy controller, two aspects, convergent speed and accuracy, have been investigated on three kinds of defuzzification equations, mean-of-inversions (MOI), mean-of-maximum-inversions (MOMI), and mean-of-centers (MOC), as defined in Eqs. 12, 16, and 17, respectively. Additional, ten initial values of q generated by C's rand() are used for each image to test the accuracy of the fuzzy controller. Performance summary of the designed fuzzy controller is given in Table 10.

It is clear that MOI has the best performance on convergent speed and tie with MOMI on accuracy. On the other hand, the MOC has the worst performance on both aspects.

From the design point of view, the fuzzy controller is well known for its simplicity as shown in this work. Furthermore, the fuzzy controller can achieve 100% accuracy if either MOI or MOMI is used. Since we are dealing with a collection of ill-defined non-linear functions, it is worthwhile to point out that the following special design restrictions are needed to achieve the guaranteed convergence and good performance at the same time on this application.

(1) The present adjustment is no larger than the previous adjustment except in the case of overshooting, that is, .

(2) The present adjustment is smaller than the previous adjustment in the case of overshooting, that is, .

The first criterion is needed for good performance while the second one is needed for guaranteed convergence.

In order to use the distortion ratio such as AGE as the index to guide the adjustment, a decoder is needed on source side. However, the hardware overhead is considered irrelevant since no one will manufacture the coder and decoder of JPEG separately from the marketing point of view. As the time overhead, it takes 9.7 seconds on average for a loop to complete including encoder, decoder and fuzzy controller on SUN Sparc workstation, and less two seconds are contributed by the decoder. The effect of different types of membership functions on convergent speed is the direction of ongoing research.


The authors would like to thank Dr. N. Memon and Dr. J.D.M. Smith for their help during the computer experiments, and Dick Carlson for his helpful suggestions.


[1] G. K. Wallace, "The JPEG still Picture Compression Standard," Communications of the ACM, vol. 34, no. 4, pp. 30-44, 1991.

[2] L.A. Zadeh, "Fuzzy Sets," Inform. Contr., vol. 8, pp. 338-353, 1965.

[3] L.A. Zadeh, "Outline of a New Approach to the Analysis of Complex Systems and Decision Processes," IEEE Trans. Syst. Man. Cybern., vol. 3, no. 1, pp. 28-44, 1973.

[4] E.M. Mamdani, "Applications of Fuzzy Algorithms for Simple Dynamic Plants," Proc. IEEE, vol. 21, no. 12, pp.1585-1588, 1974.

[5] S. Assilian, "Artificial Intelligence in the control of Real Dynamic Systems," PH.D. Thesis, Queen Mary College, London, 1974.

[6] M. Sugeno, editor. Industrial Applications of Fuzzy Control. Amsterdam: North-Holland, 1985.

[7] T. Shingu and E. Nishimori, " Fuzzy Based Automatic Focusing System for Compact Camera," Proc. of the Third International Fuzzy Systems Association (IFSA), pp. 436-439, 1989.

[8] S. Yasunobu and G. Hasegawa, " Evaluation of an Automatic Crane Operation System Based on Predictive Fuzzy Control," Control Theory and Advanced Technology, vol. 2, pp. 419-432, 1986.

[9] H. Takahashi, K. Ikeura, and T. Yamamori, "5-speed Automatic Transmission Installed Fuzzy Reasoning," Proc. of International Fuzzy Engineering Symposium '91 (IFES'91), pp. 1136-1137, 1991.

[10] W.I.M. Kickert and H.R. Van Nauta Lemke, "Application of a Fuzzy Controller in a Warm Water Plant," Automatica, vol. 12, pp. 301-308, 1976.

[11] C.P. Pappis and E.H. Mamdani, " A Fuzzy Logic Controller for a Traffic Function," IEEE Trans. Syst. Man. Cybern., vol. 7, no. 10, pp. 707-717, 1977.

[12] G.A. Carter and D.A. Rutherford, "A Heuristic Adaptive Controller for a Sinter Plant," IFAC Symp. on Automation in Mining, Met and Met Processing, Johannesburg, pp. 315-324, 1976.

[13] R.M. Tong, "A Control Engineering Review of Fuzzy Systems, " Automatica, vol. 13, pp. 559-568, 1977.

[14] C.C. Lee, "Fuzzy Logic in Control Systems: Fuzzy Logic Controller," IEEE Trans. Syst. Man. Cybern., vol. 20, no. 2, pp. 404-435, 1990.

[15] E.M. Mamdani, "Twenty Years of Fuzzy Control: Experiences Gained and Lessons Learnt," Proc. IEEE International Conf. on Fuzzy Systems, pp. 339-344, 1993.

[16] G. J. Klir and T. A. Folger, Fuzzy Sets, Uncertainty, and Information, Englewood Cliffs, NJ: Prentice-Hall, 1988.

[17] B. Kosko, Neural Networks and Fuzzy Systems: A Dynamical Systems Approach to machine Intelligence, Englewood Cliffs, NJ: Prentice-Hall, 1992.

[18] C.J. Wu and A.H. Sung, "The Application of Fuzzy Controller to JPEG," Electronics Letters, vol. 30, no. 17, pp. 1375-1376.

[19] M. Braae and D.A. Rutherford, "Fuzzy Relations in a Control Setting," Kybernetes, vol. 7, no. 3, pp. 185-188, 1978.

[20] L.I. Larkin, "A Fuzzy Logic Controller for Aircraft Flight Control," in Industrial Applications of Fuzzy Control, M. Sugeno, Ed., Amsterdam: North-Holland, pp. 87-104, 1985.

[21] E.M. Scharf and N.J. Mandic, "The Application of a fuzzy controller to the control of a multi-degree-freedom robot arm," in Industrial Applications of Fuzzy Control, M. Sugeno, Ed., Amsterdam: North-Holland, pp. 41-62, 1985.

[22] W.J.M. Kickert and E.H. Mamdani, "Analysis of a fuzzy logic controller," Fuzzy Sets Syst., vol. 1, no. 1, pp. 29-44, 1978.

[23] J.B. Kiszka, M.E. Kochanska, and D.S. Sliwinska, "The Influence of Some Parameters on the Accuracy of Fuzzy Model," in Industrial Applications of Fuzzy Control, M. Sugeno, Ed., Amsterdam: North-Holland, pp. 187-230, 1985.

[24] R.M. Tong, "Synthesis of Fuzzy Models for Industrial Processes," Int. Gen. Syst., vol. 4, pp. 143-162, 1978.

[25] T.A. Runkler and M. Glesner, "A Set of Axioms for Defuzzification Strategies Towards a Theory of Rational Defuzzification Operators," Proc. IEEE International Conf. on Fuzzy Systems, pp. 1161-1166, 1993.