1 (GP) JPEG H.64/AVC / () GP Evolutive Image Coding Seishi TAKAMURA 1 Evolutive methods based on genetic programming (GP) enable dynamic algorithm generation, and have been successfully applied to many areas such as plant control, robot control, and stock market prediction. However, conventional image/video coding methods such as JPEG and H.64/AVC all use fixed (non-dynamic) algorithms without exception. The evolutive coding enables an automatic generation of pixel prediction algorithm. It is a radical departure from conventional fixed algorithm, man-made algorithm and hand-made programming toward a new paradigm. In this article, we introduce a GP-based image predictor that is specifically evolved for each input image, which have been evolving day by day. We demonstrate its up-to-date performance as well as the investigation on predictor complexity versus prediction performance. We also report about speeding up the evolution process using parallelization by a factor of 100. Ultimate coding efficiency will also be touched upon. 1. ( ) 1). (genetic algorithm, GA) 1 (genetic programming, GP) GA, GP GA ),3) GA, GP 4).1 1 NTT NTT Cyber Space Labotratories, NTT Corporation, Y-517A, 1-1 Hikarino-oka, Yokosuka-shi, 39 0847 Japan 1 c 009 Information Processing Society of Japan
1 Table 1 Differences between evolutive image processing and evolutive image coding bloat I 10 I 07 I 05 I 08 I 11 I 06 Inw In Ine I 09 I 04 Iw p 1 p Fig. 1 Neighboring pixels of p. GP (bloat) 5) 1 3. 3.1 1 p ( Inw, In ) x x ( ˆx ) x ˆx JPEG-LS 6) MED C T (e.g., ) 3. GP MED GP ( ( )) minimal generation gap 7) T max, min, ave, abs, sqr, sqrt,,, ( ) sin, cos, tan arcsin, arccos, arctan sinh, cosh, tanh log, log 10, pow, pow (log x ) (pow(a, b) = sgn(a) a b, pow(a, b) = sgn(a) a b/10 ) add, sub, mul, div xor, or, and In, Ine, Iw, Inw, I 04...I 11 D GAP D = ( Iw Inw + In Inn + Ine Inne ) ( Iw Iww + In Inw + In Ine ) I I = (Iw + In)/ + (Ine Inw)/4 Igap, Imed, Ils, Ile1 GAP, MED, (4 ), (1 ) x, y (x, y) = ( 1, 1), (1, 1) ρ, θ (L1 ) ρ = 1, θ = π/4 3 (float) ( 1 ) (MED ) ( ) ( ) ( 3 ) ( ) () ( 4 ) ( ) 3 3.3 H T H R (H T + H R, ) H T ( ) H R (CALIC 8) 8 ) CALIC error feedback/flipping c 009 Information Processing Society of Japan
if (Inw >= max(iw, In)) return min(iw, In); else if (Inw <= min(iw, In)) return max(iw, In); else return Iw + In - Inw; C MED Fig. C- and Tree- expressions of MED predictor 3 () Fig. 3 Evolution strategy (for single process) min, max,,,,,, p (x, y [ 1, 1]), 1 4 CALIC gradient-adjusted prediction (GAP) MED N = 49 3 bit (C float ) P num = 0.15 n dc C(8 ) d C (= 55... 55) N C C 3 : (H T + H R [bpp]) (H T [bits]) : (1 ) Table 3 Top table: Residual entropy (overhead inclusive) of the predictors (H T + H R [bpp]), their increment ( incr. in percentage) against EP1, as well as their H T [bits]. Numbers next to the predictors mean the number of reference pixels. Lower table: proposed predictor (with 1 pixels) s generic prediction performance (H T + H R [bpp]). Lena Baboon Airplane Peppers [%] LS(4) 4.551 5.51 3.654 4.465 4.548 3.705 LS(1) 4.549 5.374 3.635 4.41 4.49.48 LE(4) 4.59 5.506 3.619 4.417 4.517 3.013 LE(1) 4.5 5.361 3.595 4.38 4.465 1.813 GAP 4.539 5.556 3.568 4.468 4.533 3.367 MED 4.69 5.59 3.644 4.646 4.643 5.886 Proposed(4) 4.481 5.46 3.51 4.35 4.454 1.574 H T [bits] 1191. 813.1 971.7 107.9 1046.0 Proposed(1) 4.45 5.334 3.486 4.96 4.385 H T [bits] 150.4 886.6 137. 199.1 1460.8 Lena (4.45) 5.691 3.603 4.386 4.56 Baboon 4.745 (5.334) 3.698 4.773 4.638 Airplane 4.561 5.510 (3.486) 4.519 4.519 Peppers 4.505 5.61 3.68 (4.96) 4.513 H T, H R : log H T = P num + 3 (n ) [bits] (1) log n (1 P num ) + log N (n ) n dc H R = n dc log [bits] () N C C n dc 0 3.4-3 4 (Global Best Individual, GBI) (Local Best Individual, LBI) LBI GBI GBI 5 3 c 009 Information Processing Society of Japan
"!$#&% "! #%$& Z(['\^]^_ `ba'ced frgihj '( ) * + )-,/. 01354 657 :; k^lm'npoq ] hr s 657 8%9 // <= '( >? @%A B CEDF PRQTS UVEW % > B GHIJ%K 4 Fig. 4 Modification for parallel processing 5 Fig. 5 An image of asynchronous parallel evolution X QYS UV W L( > B ( M%NO OS 1 ( 10 ) ( ) () I/O load 100% ')( 4. Lena, Baboon, Airplane, Peppers 4 ( 51 51 8 bpp, ) ( (LS) (LE) GAP( 1 4 1 ) MED ( 3 ) LE LS ( 4 + 1 =)5 ( 1+1=13 ) Powell H R 4.1 Lena 6 Peppers 7 3 4 (LS(4), LE(4) (3 5 =)160, LS(1), LE(1) 416, GAP, MED 0, H T bits) H T H T 1460.8 bits GAP, MED ( H T 349.5, 116.0 bits. 0 ) 4. 3 3 Peppers Lena Baboon 4.638 bpp Peppers Lena 4.3 Core Extreme QX9775 (3.GHz, 4GB Memory, MS Windows Vista Ultimate (3bit) SP1) Core Quad Q6600 (.4GHz, GB Memory, MS Windows XP Professional x64 Ed. Ver. 003 SP) 30 ( 10 ) 4 c 009 Information Processing Society of Japan
I 08 max min(in,0.5 (Ine+Imed)) ( Ile 1,Igap and(min(inw, I cosh arcsin arcsin cos( 04 max(θ+and(ile 1, min(cosh(0.7071 log 10 (I 06 ) + Igap ), log sinh sinh 4 arcsin sinh tanh( ) Ile 1 )+sinh sinh arctan sinh(max(0.5 (Inw+,I 09 ),I 05 )) sinh sinh log 10 (cosh log 10 (Ine)) (I 09 +Ine) max(i 04,I 10 ) ) max(imed, In)), I 09 ) Ile 1 )), or(min( sinh tan y+max(imed,i 05) Iw Ine,, log( 8 y arctan arctan log 10 (Iw) 0 D I05 ) Ils+Ile sin 8 sin arctan arctan tanh 4 log 10 (Ile 1 ) max 4 1, 0.5 (0.5 (I 09+Inw)+max(and(or(Imed, I 05), Inw (Ine,I 05 10 ) cos 8 sin ( x 1 x ) (Inw I 09) 8 In xor(d, cos tan( ))), 0.5 (Iw+In)+0.5 (Ine Inw), log Inw+Imed 10 (I 08)+ arcsin tan sinh x +0.5 (Inw+Ils)))+ arccos( max(igap,iw) I 04 ) 1 In 4 4 +θ), min(max( max(inw, I 06, I 07 )+and(ile 1, log sinh(0.5 ( xor(d, cos cosh( 1 ))+ Inw + Igap) + sinh sinh(0.5 (arcsin sinh tan y + θ)) sinh arccos arcsin x)) + max(ile 1, min(max(imed, In), sinh D )), tanh tanh sin(0.5 (Iw + In) + 0.5 (Ine Inw) Ile 1 ) + Igap), max(0.5 (Iw + In) + 0.5 (Ine Inw), 1.818(I 10 0.5 (I 05 + Ine)))))) 6 Lena ( 150.4 bits) Fig. 6 Generated predictor for Lena (tree size=150.4 bits) if D 90.766 then Igap else if D 30.9851 then 0.50107( xor(min(max(ine, Iw), I 05 max(min(ine, Inw), and(i 10, Ine) I 06 + θ + Ils + Ile 1 I 08 I 07 ρ + max(inw, if x 0 then y else min(imed, I 11 I 10 ))) In ), Igap) + Igap) else if I 10 I 04 I 10 Iw I 10 Ile 1 + θ max(inw, I 07 and(ile 1, I 09 ) + max(ine, max( or(i 07,Inw) I 04 sinh ρ Inw Imed, or(i 10, I 07 )))) + min(or(min(min(ils, I 08 ), I 06, I 09 ), D Ils 30.905 Ine 89.86 ), I 05 )+30.074 0 then 0.50489 (3 ( 0.8107 ( 0.60801 ( sin tan( 1 Ine ) I 09+ sin cos θ I 04 Iw Ils Inw+max(xor(xor( Ine, Ine), I 11 ), I 05 + Iw + Ils) + 0.316839 ( I 07 I 04 + Ine Inw + Ine) + xor (3.09001, tan cos y )) + sin( In) else tan sin tan( Ile 1 ) 1 Ile 1 I 07 arctan θ Iw+In Iw Inw Ine Inw 4 +min(max(min(min(ine,inw),i 04,I 09 ), θ+min(sinh Iw, I 06 + Iw+In +and(inw,ine)+ Ine Inw 4 )+Ile 1 I 08 ),max(iw,i 09 )) +Igap ) I tan sin tan( Ile 1 04 + 0.3813 I 06 + 0.3031 Ine) 0.61719 Iw 0.3381 Ine + 0.8906 Ine) + )+1 1 Ile 1 7 Peppers ( 199.1 bits) Fig. 7 Generated predictor for Peppers (tree size=199.1 bits) or(i 05,I 09 ) 1 4 Lena 8 5 Peppers 5 7 75 500 4.4 8 7.5H T (H R + H T ) 1bit 8.5bit ( 7.5bit ) 9 Lena (H T ) (H R + H T ) 1, y = 1.163 10 6 7.5x y = 1.166 10 6 13x ( x = H T, y = H R + H T ) H R 0, H T 0 H R 0 0.581 [bpp]( 1) 0.315 [bpp]( ) 5. GAP 5 c 009 Information Processing Society of Japan
total info (H R + H T ) [bits] tree info (H T ) [bits] 0000 18000 16000 14000 1000 10000 8000 6000 4000 000 total info (H R + H T ) [bits]-1.148e+6 tree info (H T ) [bits]*7.5 0 04/13 04/14 04/15 04/16 04/17 04/18 04/19 04/0 04/1 04/ 04/3 total information (H R + H T ) [bits] 1.17e+06 1.165e+06 1.16e+06 1.155e+06 1.15e+06 trial 1-7.5 bits/tree slope trial -13 bits/tree slope 1.145e+06 0 00 400 600 800 1000 100 1400 1600 1800 000 tree information (H T ) [bits] 8 (H R + H T 1.148 10 6 ) (H T 7.5) ( ). : Lena, Fig. 8 Transitions of total information (H R + H T 1.148 10 6 ) and tree information (H T 7.5), after parallelization. Horizontal axis means the date. Image: Lena, trial: 1. 9 (H T ) (H R + H T ). : Lena Fig. 9 Tree information (H T ) vs. total information (H R + H T ) and their trends. (LE 3.0 %, GAP 3.4 %) GPU 9) Genetic Network Programming 10) 1),, :,, vol. 108, no. 45, IE008-10, pp. 37 40, Feb. (009) ),,, :, D-II, vol. J83-D-II, no. 5, pp. 174 183, May (000). 3),,, :, D-II vol. J83-D-II, no. 6, pp. 1437 1445, June (000). 4), : GP GA PT-ACTIT,, vol. 59, no. 11, pp. 1687 1693, Nov. (005). 5), :, 30, Mar. (003). 6) ISO/IEC 14495-1: Lossless and near-lossless compression of continuous tone still images (000). 7),, :,, vol. 1, no. 5, pp. 734 744, Sep. (1997). 8) Wu, X. and Memon, N.: Context-based, adaptive, lossless image coding, IEEE Trans. Commun., vol. 45, no. 4, pp. 437 444, Apr. (1997). 9), : GPU,. MPS,, vol. 85, pp. 71 74, Sep. (008). 10),,,, : Genetic Network Programming Genetic Programming, C vol. 11, no. 6, pp. 1001 1009 (001). 6 c 009 Information Processing Society of Japan