10 th IMEKO TC7 International Symposium June 30–July 2, 2004, Saint-Petersburg, Russia

HOW TO BEST COMPRESS 3-D MEASUREMENT DATA UNDER GIVEN GUARANTEED ACCURACY

Olga Kosheleva1, Sergio Cabrera1, Brian Usevitch1, Edward Vidal, Jr.2

1Electrical & Computer Engr., University of Texas, El Paso, USA 2Army Research Laboratory, While Sands Missile Range, New Mexico, USA

Abstract. The existing image and tech- niques try to minimize the mean square deviation between 1.3. 2-D data compression the original data f(x, y, z) and the compressed-decompressed In principle, it is possible to use these compression data fe(x, y, z). In many practical situations, reconstruction techniques to compress 2D measurement data as well. that only guaranteed mean square error over the data set is 1.4. Compressing 3-D data: layer-by-layer ap- unacceptable: for example, if we use the meteorological data proach to plan a best trajectory for a plane, what we really want to It is also possible to compress 3D measurement data know are the meteorological parameters such as wind, tem- perature, and pressure along the trajectory. If along this f(x, y, z) – e.g., meteorological measurements taken in line, the values are not reconstructed accurately enough, the different places (x, y) at different heights z. plane may crash – and the fact that on average, we get a One possibility is simply to apply the 2D JPEG2000 good reconstruction, does not help. What we need is a com- compression to each horizontal layer f(x, y, z0). (x, y) pression that guarantees that for each , the difference 1.5. Compressing 3-D data: an approach that uses e |f(x, y, z) − f(x, y, z)| is bounded by a given value ∆ – KLT transform i.e., that the actual value f(x, y, z) belongs to the interval Another possibility, in accordance with Part 2 of [fe(x, y, z) − ∆, fe(x, y, z) + ∆]. In this paper, we describe JPEG2000 standard, is to first apply the KLT transform new efficient techniques for data compression under such in- terval uncertainty. to each vertical line. Specifically, we: Keywords: data compression, guaranteed error bounds, • compute the average value meteorological data 1 X f¯(z) = · f(x, y, z) N 1. FORMULATION OF THE PROBLEM x,y of the analyzed quantity at a given height z, 1.1. Compression is important where N is the overall number of horizontal points At present, so much data is coming from measuring (x, y); instruments that it is necessary to compress this data before storing and processing. We can gain some stor- • compute the covariances V (z1, z2) between differ- age space by using , but often, this ent heights as gain is not sufficient, so we must use 1 X as well. · (f(x, y, z )−f¯(z ))·(f(x, y, z )−f¯(z )); N 1 1 2 2 x,y 1.2. Successes of 2-D In the last decades, there has been a great progress • find the eigenvector λ and the eigenvectors e (z) in image and data compression. In particular, the k k of the covariance matrix V (z , z ); we sort these JPEG2000 standard (see, e.g., [6]) uses the wavelet 1 2 eigenvalues into a sequence e (z), e (z),... so transform methods together with other efficient com- 1 2 that |λ | ≥ |λ | ≥ ...; pression techniques to provide a very efficient compres- 1 2 sion of 2D images. • finally, we represent the original 3D data values Within this standard, we can select different bitrates f(x, y, z) as a linear combination (i.e., number of bits per pixel that is required, on aver- X ¯ age, for the compressed image), and depending on the f(x, y, z) = f(z) + ak(x, y) · ek(z) bitrate, get different degrees of compression. k When we select the highest possible bitrate, we get of the eigenvectors e (z). the lossless compressions that enables us to reconstruct k the original image precisely. When we decrease the As a result, we represent the original 3-D data as a se- bitrate, we get a lossy compression; the smaller the quence of the horizontal slices ak(x, y): bitrate, the more the compressed/decompressed image will differ from the original image. • the first slice a1(x, y) corresponds to the main (1-st) eigenvalue; • the second slice a2(x, y) corresponds to the next 1.10. What we need is data compression under in- (2-nd) eigenvalue; terval uncertainty In other words, what we need is a compression • etc., that guarantees that for each (x, y), the difference e with the overall intensity decreasing from one slice to |f(x, y, z) − f(x, y, z)| is bounded by a given value ∆ the next one. – i.e., that the actual value f(x, y, z) belongs to the in- e e Next, to each of these slices ak(x, y), we apply a 2D terval [f(x, y, z) − ∆, f(x, y, z) + ∆]. JPEG2000 compression with the appropriate bk There exist several compressions that provide such depending on the slice k. a guarantee. For example, if for each slice, we use the largest possible bitrate – corresponding to lossless com- 1.6. Decompressing 3-D data: KLT-based approach pression – then ea (x, y) = a (x, y) hence fe(x, y, z) = To reconstruct the data, we so the following: k k f(x, y, z) – i.e., there is no distortion at all. • First, we apply JPEG2000 decompression to each What we really want is, among all possible com- slice; as a result, we get the values ea[bk](x, y). pression schemes that guarantee the given upper bound k ∆ on the compression/decompression error, to find the • Second, based on these reconstructed slices, we scheme for which the average bitrate now reconstruct the original 3-D data data as 1 X X b def= · b [b ] k e ¯ k Nz f(x, y, z) = f(z) + eak (x, y) · ek(z). k k is the smallest possible. In some cases, the bandwidth is limited, i.e., we 1.7. This approach is tailored towards image pro- know the largest possible average bitrate b0. In such cessing – and towards Mean Square Error cases, among all compression schemes with b ≤ The problem with this approach is that for com- ∞ b0, we must find a one for which the L compres- pressing measurement data, we use image compression sion/decompression error is the smallest possible. techniques. The main objective of image compression is to retain the quality of the image. From the view- 1.11. What we have done point of visual image quality, the image distortion can In this paper, we describe new efficient (suboptimal) be reasonably well described by the mean square dif- techniques for data compression under such interval un- ference MSE (a.k.a. L2-norm) between the original im- certainty. age I(x, y) and the compressed-decompressed image 2. NEW TECHNIQUE: MAIN IDEAS, Ie(x, y). As a result, sometimes, under the L2-optimal DESCRIPTION, RESULTS compression, an image may be vastly distorted at some points (x, y) – and this is OK as long as the overall 2.1. What exactly we do mean square error is small. Specifically, we have developed a new algorithm 1.8. For data compression, MSE may be a bad cri- that uses JPEG2000 to compress 3D measurement data terion with guaranteed accuracy. We are following the general When we compress measurement results, however, idea of Part 2 of JPEG2000 standard; our main con- our objective is to be able to reproduce each individual tribution is designing an algorithm that selects bitrates measurement result with a certain guaranteed accuracy. leading to a minimization of L∞ norm as opposed to In such a case, reconstruction that only guaranteed the usual L2-norm. mean square error over the data set is unacceptable: for 2.2. Let us start our analysis with a 2-D case example, if we use the meteorological data to plan a Before we describe how to compress 3-D data, let best trajectory for a plane, what we really want to know us consider a simpler case of compressing 2-D data are the meteorological parameters such as wind, tem- f(x, y). In this case, for each bitrate b, we can apply perature, and pressure along the trajectory. the JPEG2000 compression algorithm corresponding to If along this line, the values are not reconstructed this bitrate value. After compressing/decompressing accurately enough, the plane may crash – and the fact the 2-D data, we get the values fe[b](x, y) which are, that on average, we get a good reconstruction, does not in general, slightly different from the original values help. f(x, y). 1.9. An appropriate criterion for data compression In the interval approach, we are interested in the L∞ What we need is a compression that guarantees the error given accuracy for all pixels, i.e., that guarantees that ¯ ¯ def ¯ [b] ¯ ∞ e D(b) = max ¯fe (x, y) − f(x, y)¯ . the L -norm max |f(x, y, z) − f(x, y, z)| is small. x,y x,y,z The larger the bitrate b, the smaller the error D(b). When the bitrate is high enough – so high that we can transmit all the data without any compression – the er- Since, in general, D(b1,...) ≤ De(b1,...), the re- ror D(b) becomes 0. sulting allocation is only suboptimal with respect to Our objective is to find the smallest value b for D(b1,...). which the L∞ error D(b) does not exceed the given 2.5. Explicit formula for the enclosure threshold ∆. For the 2-D case, we can find this opti- Since we use the KLT, the difference mal bopt by using the following iterative bisection al- gorithm. In the beginning, we know that the desired f(x, y, z) − fe(x, y, z) bitrate lies between 0 and the bitrate B corresponding to lossless compression; in other words, we know that is equal to b ∈ [b−, b+], where b− = 0 and b+ = B. X ³ ´ [bk] On each iteration of the bisection algorithm, we start ak(x, y) − eak (x, y) · ek(z). − + with an interval [b , b ] that contains bopt and produce k a new half-size interval still contains bopt. Specifically, Therefore, once we know the L∞-norms def − + we take a midpoint bmid = (b + b )/2, apply the ¯ ¯ def ¯ [bk] ¯ JPEG2000 compression with this bitrate, and estimate Dk(bk) = max ¯ak(x, y) − ea (x, y)¯ x,y k the corresponding value D(bmid). Then: of the compression/decompression errors of each slice, • If D(bmid) ≤ ∆, this means that bopt ≤ bmid, so we can replace the original interval [b−, b+] with we can conclude that − ¯ ¯ the half-size interval [b , bmid]. ¯ [bk] ¯ ¯ak(x, y) − eak (x, y)¯ ≤ Dk(bk), • If D(bmid) > ∆, this means that bopt > bmid, so we can replace the original interval [b−, b+] with hence, that [b , b+]. ¯ ¯ the half-size interval mid ¯ [bk] ¯ ¯(ak(x, y) − eak (x, y)) · ek(z)¯ ≤ Dk(bk) · Ek, After each iteration, the size of the interval halves.

Thus, after K iterations, we can determine bopt with def ∞ −K where Ek = max |ek(z)|. Thus, the desired L error accuracy 2 . z e def P 2.3. 3-D problem is difficult is bounded by D(b1,...) = Dk(bk) · Ek, In the 3-D case, we want to find the bitrate al- k 2.6. Resulting algorithm: derivation location b1, . . . , bNz that lead to the smallest aver- age bit rate b among all the allocations that fit within In accordance with the above idea, to get the (subop- the given interval, i.e., for which the L∞ compres- timal) bitrate allocation bi, we must minimize the func- e P sion/decompression error does not exceed the given tion D(b1,...) = Dk(bk) · Ek under the condition P k value ∆: D(b1, b2,...) ≤ ∆. that the bk = Nz · b0. By using Lagrange multi- For each bitrate allocation, we can explicitly com- k pute this error, but there are no analytic formulas that pliers, we can reduce this problem to the unconstrained describe this dependence, so we end up having to opti- optimization problem mize a complex function with a large number of vari- X X Dk(bk) · Ek + λ · bk − Nz · b0 → min . ables bi. Such an optimization is known to be a very dif- k k ficult task, because the computational complexity of In the minimum, derivatives w.r.t. all the variables most existing optimization algorithms grows exponen- bi should be 0s, so we end up with the equation tially with the number of variables. There are theoreti- 0 −Dk(bk) = λ/Ek, where the Lagrange multiplier λ cal results showing that in general, this growth may be should be selected based on the value b0. inevitable; to be more precise, this problem is known to It can be easily shown that the other problem – of be NP-hard; see, e.g., [8]. minimizing the average bitrate under the constraint that 2.4. Our main idea: using the upper estimate (en- the compression/decompression error does not exceed closure) for the optimized error function ∆ – leads to the same equation. In our case, the problem is, e.g., to find, among As we have mentioned, the function Dk(b) de- 0 0 all bitrate allocations (b1, b2,...) with b ≤ b0, the creases when b increases, so Dk(b) < 0, with Dk(b) → one for which the L∞ compression/decompression er- 0 as b grows. It is therefore reasonable to represent the 0 ror D(b1, b2,...) is the smallest possible. desired equation as |Dk(bk)| = λ/Ek. Since it is difficult to minimize the original func- What are the bounds on λ? The larger bk, the tion D(b1,...), we find easier-to-optimize upper esti- smaller λ. mate De(b , b ,...) ≥ D(b , b ,...) and then find the From the above formula, we conclude that λ = 1 2 1 2 0 |Dk(bk)| · Ek, hence values bi that minimize De(b1,...). As a result, we find µ ¶ an allocation b guaranteeing that De(b ,...) ≤ De i 1 min def 0 e λ ≤ Λk = max |Dk(b)| · Ek, and thus, that D(b1,...) ≤ Dmin. b def so λ ≤ Λ = min Λk. ing slices. In many practical situations, our only objec- k tive is to achieve as large a compression as possible. In 2.7. Algorithm: description such situations, it makes sense to apply the KLT trans- Once we know, for each slice k, the dependence form, because this transform leads to an additional data ∞ Dk(b) of the corresponding L -error on the bitrate b, compression. we can find the desired (suboptimal) values bk as fol- In some practical situations, however, we may want lows. not only to decompress the data, but also to apply some At first, we compute the above-described values Λk geometric transformations to the data: shift, rotate, and Λ. We know that λ ≤ [λ−, λ+] := [0, Λ]. We use and/or scale the data, select a region, keep the same ac- bisection to sequentially halve the interval containing λ curate data at a certain region of interest (ROI) while and eventually, find the optimal value λ. ignoring the details outside our ROI, etc. Once we know an interval [λ−, λ+] that contains λ, One of the major advantages of JPEG2000 com- we pick its midpoint λmid, and then use bisection to pression is that this compression enables us to perform 0 find, for each k, the value bk for which |Dk(bk)| = these transformations directly on the compressed data, λmid/Ek. Based on these bk, we compute the average without the need to first decompress the data; see, e.g., bitrate b. If b > b0, this means that we have chosen too [5–7]. However, if we first use a KLT transform, we small λmid, so we replace the original λ-interval with lose this ability. So, if we first apply KLT, then the only + a half-size interval [λmid, λ ]. Similarly, if b < b0, we way to select a ROI (or apply any other geometric trans- replace the original λ-interval with a half-size interval formation) is to: − [λ , λmid]. After K iteration, we get λ with the accuracy 2−K , • first, decompress the data; so a few iterations are sufficient. Once we are done, the • then apply the desired transformation to the de- values bk corresponding to the final λmid are returned compressed data, and as the desired bitrates. The only remaining question is how to determine • finally, compress the data again. the dependence D (b). In principle, we can try, for each k In other words, in situations where the above-described slice k, all possible bitrates b, and thus get an empirical geometric transformations may be necessary, if we use dependence D (b). k KLT transform as the first stage of 3-D data compres- We have shown, that this dependence can be de- sion, we save storage space, but we drastically increase scribed by the following analytical formula: the processing time. α • Dk(b) = A1 · (b − b0) for all the values b until a In many computer systems, storage space is not as certain threshold t, and important as it used to be, while processing time is very critical. In such systems, it is therefore preferable to −b • Dk(b) = A2 · 2 for b ≥ t. avoid the time-increasing KLT transform and, instead, This model is a slight modification of a model from [4]. apply the JPEG200 compression to each 2-D layer. So, instead of trying all possible values b, it is suffi- In other words, we represent the 3-D data f(x, y, z) def cient to try a few to determine the values of the param- as a collection of 2-D layers fz(x, y) = f(x, y, z) cor- eters Ai, b0, and α corresponding to the given slice. responding to different heights z. To each layer z, we The threshold t can then be determined as the value for apply JPEG2000 compression with an appropriate bi- which D1(t) = D2(t). trate bz. 2.8. Results 3.2. Decompressing 3-D data: layer-by-layer ap- To test our algorithm, we applied it to 3-D meteoro- proach logical data: temperature T, pressure P, the components To reconstruct the data, we so the following: U, V, and W of the wind speed vector, and the water • First, we apply JPEG2000 decompression to each vapor ratio WV. e[bz ] For meteorological data, the resulting compression layer; as a result, we get the values fz (x, y). ∞ indeed leads to a much smaller L error bound ∆new • Second, based on these reconstructed layers, ∞ than the L error bound ∆MSE corresponding to the we now reconstruct the original 3-D data data bitrate allocation that optimizes the MSE error. The ra- [b] [bz ] def as fe (x, y, z) = fez (x, y), where b = tio ∆new/∆MSE decreases from 0.7 for b0 = 0.1 to 0.5 (b1, b2,...) is the corresponding bitrate allocation. for b0 = 0.5 to ≤ 0.1 for b0 ≥ 1.

3. OPTIMAL LAYER-BY-LAYER COMPRESSION 3.3. Formulation of the corresponding optimization problems 3.1. Why layer-by-layer compression? Similar to the KLT case, it is reasonable to consider In the previous sections, we first applied the KLT two related optimization problems. transform to decrease the size of the data, and then ap- In the first problem, among all possible compres- plied the JPEG2000 techniques to compress the result- sion schemes that guarantee the given upper bound ∆ on the compression/decompression error, i.e., for which We claim that the solution to this problem can be D(b) ≤ ∆, where obtained, for some value ∆, by solving, for every z, the ¯ ¯ equation Dz(bz) = ∆. def ¯ ¯ D(b) = max ¯f(x, y, z) − fe[b](x, y, z)¯ , Let us prove these two claims. x,y,z 3.6. New idea: justification for the first optimization we want to find the bitrate allocation b = (b1, b2,...) problem for which the average bitrate Let us first prove the statement about the first op- 1 X timization problem. Indeed, we are given the value ∆ b def= · b N z such that D(b) = max Dz(bz) cannot exceed ∆. Since z z z the largest of the values Dz(bz) cannot exceed ∆, this is the smallest possible. means that for each layer z, we must select a bit rate In some cases, we know the largest possible aver- bz for which the corresponding value Dz(bz) does not age bitrate b0. In such cases, we have another optimiza- exceed ∆. tion problem: among all compression schemes b with Our objective is to minimize the average bit rate. b ≤ b0, we must find a one for which the compres- Overall, the smaller the bit rate bz, the larger the dis- sion/decompression error D(b) is the smallest possible. tortion, i.e., the larger the compression/decompression error Dz(bz). Thus, to attain the smallest possible value 3.4. Towards the solution of the optimization prob- of the bit rate bz, we must use the largest possible value lem: reducing the overall error to layer-by-layer errors of Dz(bz) – i.e., we must select bz in such a way that As we mentioned in Section 2, we can determine Dz(bz) = ∆. The statement is proven. how the compression-decompression error 3.7. New idea: justification for the second optimiza- ¯ ¯ tion problem def ¯ e[bz ] ¯ Dz(bz) = max ¯fz(x, y) − fz (x, y)¯ Let us prove the claim about the second optimiza- x,y tion problem. Indeed, for every value of ∆, we can find of each layer z depends on the corresponding bitrate bz. bz for which Dz(bz) = ∆. Let us select ∆ in such a By definition,¯ D(b) is the largest¯ of all the dif- way that for the corresponding bz, the average bit rate is ¯ [b] ¯ e ferences ¯f(x, y, z) − fe (x, y, z)¯ over all all points exactly b0. Let bz denote the values bz corresponding to e (x, y, z) in 3-D space. If we fix z and take maxi- thus selected ∆, i.e., the values for which Dz(bz) = ∆. mum over all x and y, then we get D (b ). Thus, Let us prove, by reduction to a contradiction, that these z z e D(b) = max Dz(bz). values bz are indeed optimal. Indeed, let us assume that z they are not optimal. This means that there exist differ- 3.4. The corresponding optimization problems are ent values of bit rates b0 , . . . , b0 for which the average 1 Nz non-smooth, hence difficult to solve PNz PNz 0 e In Section 2, we used the Lagrange multiplier bit rate is the same, i.e., bz = bz, but for which z=1 z=1 method to solve the corresponding optimization prob- lem. The possibility to use this method was based on 0 e max Dz(bz) < max Dz(bz). (1) z z the fact that theP dependence of the optimized function De(b ,...) = D (b ) · E b 0 1 k k k on bitrates z is differen- We know that some of the bit rates bz are different from k e 0 tiable. the corresponding bit rates bz. The values bz cannot e In our case, the expression D(b) = max Dz(bz) be all larger or equal than the corresponding values bz z contains the function max which is, in general, not dif- because then the averages would not be equal. There- fore, there is at least one layer z for which b0 < eb . ferentiable. As a result, we cannot use the above tech- 0 z0 z0 niques to optimize D(b). Since the function Dz(b) is decreasing, we conclude 0 e e that Dz0 (bz0 ) > Dz0 (bz0 ). We have selected bz in such 3.5. New idea: description e e a way that Dz (bz ) = ∆ = max Dz(bz). Thus, we Instead, we propose (and justify) the following sim- 0 0 z 0 e ple idea. Let us first describe this idea on the example can conclude that Dz0 (bz ) > max Dz(bz), and there- 0 z of the first optimization problem, i.e., the problem of 0 0 e fore, max Dz(bz) ≥ Dz0 (bz ) > max Dz(bz), which minimizing the average bit rate b under the constraint z 0 z D(b) = max Dz(bz) ≤ ∆. contradicts to our assumption (1). This contradiction z shows that the values b for which D (b ) = ∆ are It turns out that the solution to this problem can be z z z indeed optimal. The statement is proven. obtained by solving, for every z, the equation Dz(bz) = ∆. 3.8. Resulting algorithm: first optimization problem In the second optimization problem, we are given For the first optimization problem, we must find, for the maximum allowed average bitrate b0, and we must each z, the value bz for which Dz(bz) = ∆. find, among all bitrate allocations b for which b ≤ b0, To get the most accurate description of how distor- an allocation with the smallest value D(b). tions Dz(b) depend on the bitrate b, we can experimen- tally determine, for each layer z, the corresponding rate After each iteration, the size of the interval halves. distortion curve Dz(b). Once we know these curves, Thus, after K iterations, we can determine ∆opt with −K we determine, for each z, the value bz by using bisec- accuracy 2 . tion (as in Section 2.2). 3.10. Results Alternatively, we can use the analytical expressions To test our algorithms, we applied them to the 3-D similar to the ones described in Section 2.7. In that sec- meteorological data described in Section 2.8. Similarly tion, we describe the expression for the slices resulting to Section 2, for this meteorological data, the resulting from the KLT transform; for non-KLT layers, however, compression leads to a much smaller L∞ error bound we get a similar expression. In this case, we can have ∞ ∆new than the L error bound ∆MSE corresponding to an explicit expression for bz: the bitrate allocation that optimizes the MSE error. −t • if ∆ ≤ A2 · 2 , then ACKNOWLEDGMENTS µ ¶ ∆ This work was partially supported by NSF Grant bz(∆) = − log2 ; A2 CDA-9522207, the ARO grants DAA H04-95-1-0494 and DAA D19-99-1-0012, by the Texas Instruments Grant, and by NASA under cooperative agreement • if ∆ ≥ A · 2−t, then 2 NCC5-209. µ ¶ This work was partly performed during O.K.’s visit ∆ 1/α bz(∆) = b0 + . to Brazil; this visit was sponsored by the Brazilian A1 funding agency CTINFO/CNPq. REFERENCES 3.9. Resulting algorithm: second optimization [1] S.D. Cabrera, “Three-Dimensional Compression of problem Mesoscale Meteorological Data based on JPEG2000”, For each ∆, we can apply the algorithm from Battlespace Digitization and Network-Centric Warfare the previous section to find the corresponding values II, Proc. SPIE, 4741, 239–250, 2002. bz(∆), and then compute the corresponding average bi- [2] O.M. Kosheleva, Task-Specific Metrics and Optimized trate Rate Allocation Applied to Part 2 of JPEG2000 and 3- 1 XNz D Meteorological Data, Ph.D. Dissertation, University b(∆) = b (∆). N z of Texas at El Paso, 2003. z z=1 [3] O.M. Kosheleva, B. Usevitch, S. Cabrera, E. Vidal, Our objective is, given b0, to find the value ∆opt for Jr., “MSE Optimal Bit Allocation in the Application which b(∆opt) = b0. We will find this value ∆ by of JPEG2000 Part 2 to Meteorological Data”, Pro- using bisection. ceedings of the 2004 IEEE Data Compression Confer- The smaller the distortion ∆, the larger the bitrates ence DCC’2004, Snowbird, Utah, March 23–25, 2004, p. 546. bz that are needed to achieve this distortion level, so the larger the average bitrate b. [4] S. Mallat, F. Falzon, “Analysis of low bit rate image We start with two values of ∆: a very small value ”, IEEE Trans. Signal Proc., 46, 1027– − − + 1042, 1998. ∆ for which b(∆ ) > b0, and a very large value ∆ + [5] D.S. Taubman, R. Leung, A. Sekecr, “Scalable com- for which b(∆ ) < b0. We know that the desired value − + pression of volumetric images”, Proc. ICIP, SEptember ∆opt lies in the interval [∆ , ∆ ]. 2002, pp. 22–25. On each iteration of the bisection algorithm, we − + [6] D.S. Taubman, M.W. Marcellin, JPEG2000 Image start with an interval [∆ , ∆ ] that contains ∆opt and produce a new half-size interval still contains ∆ . Compression Fundamentals, Standards and Practice, opt Kluwer, Boston, Dordrecht, London, 2002. Specifically, we take a midpoint [7] D.S. Taubman, M.W. Marcellin, “JPEG2000: standard − + for interactive imaging”, Proc. IEEE, 90(8), 1336– def ∆ + ∆ ∆ = , 1357, 2002. mid 2 [8] S.A. Vavasis, Nonlinear Optimization: Complexity Is- and apply the above algorithm to compute the corre- sues, Oxford University Press, New York, 1991. sponding value b(∆mid). Then: Authors: Olga Kosheleva, Sergio Cabrera, Brian Usevitch, • If b(∆mid) ≤ b0, this means that ∆opt ≤ ∆mid, Department of Electrical and Computer Engineering, Univer- − + so we can replace the original interval [∆ , ∆ ] sity of Texas at El Paso, 500 W. University, El Paso, TX − with the half-size interval [∆ , ∆mid]. 79968, USA, corresponding author O.K. phone 1-915-747- 7588, fax 1-915-747-5030, email [email protected]. • If b(∆mid) > b0, this means that ∆opt > ∆mid, Edward Vidal, Jr., Army Research Laboratory, While so we can replace the original interval [∆−, ∆+] Sands Missile Range, NM 88002-5501, USA, email evi- + with the half-size interval [∆mid, ∆ ]. [email protected].