## AIM Project -- University of Florida -- April 2000 ## Demonstration algorithm -- EBLAST compression ## AIM Server Call (ASC) format ## ## Set mesh dimensions corresponding to image partition #MOCSET M=256, N=256 MOCSETMESH M=8, N=8 #MOCSETMESH M=1, N=1 ## Set image origin and block dimensions MOCSET X0=0,Y0=0 MOCSET K=10,L=10 ## Set template dimensions Kt,Lt and origin MOCSET Kt=3, Lt=3 MOCSET Xt0=1,Yt0=1 ## Set block partition index limits #MOCSET NbX=85, NbY=85 MOCSET NbX=1, NbY=1 ## Set number of signal and noise bits in image (P,Q) and template (R,S) MOCSET P=8, Q=2 MOCSET R=8, S=2 ## Format of AIM Server Call is: ## (,,,...,, [operand#1 arity&dims] ## ,, [No. sig,noise bits ] ## ,,...,, [operand #1 origin ] ## ,,,...,, [operand#2 arity&dims] ## ,, [No. sig,noise bits ] ## ,,...,, [operand #1 origin ] ## ,, [outer op id & precsn] ## , ) [outer op id & precsn] ## ## Example: IGCNX (2,M,N,P,Q,X0,Y0, 2,Kt,Lt,R,S,Xt0,Yt0, +,16,x,16) ## has 2-D operand of MxN pixels with P bits of noise and ## Q bits of signal and origin at (X0,Y0) ## has 2-D operand of KtxLt pixels with R bits of noise and ## S bits of signal and origin at (Xt0,Yt0) ## has outer operation of 16-bit addition and ## has inner operation of 16-bit multiplication ## ## This implies 16-bit linear convolution of an MxN-pixel image ## with a Kt x Lt-pixel template. #ASC:: Perform KxL convolution over MxN image partition at 16 bits precision ITGCNX ("a",2,M,N,P,Q,X0,Y0,"t",2,Kt,Lt,R,S,Xt0,Yt0, "b",+,16,x,16) #ASC::For each block (U,V loops start here) {{ #ASC::Apply quantization lookup table (I/O ops) ILUTX ("b",2,K,L,P,Q,X0,Y0, "",-1,-1,-1,-1,-1,-1,-1, "c",-1,-1,M,16) #ASC::Compute the block sum ISUMX ("c",2,K,L,P,Q,X0,Y0, "",-1,-1,-1,-1,-1,-1,-1, "d",+,16,-1,-1) #ASC::Scalar divide by 1/KL to get block mean IMULX ("d",2,1,1,16,0,0,0, "t",2,1,1,16,0,0,0, "e",-1,-1,x,16) #ASC::Output block mean IOUTX ("e",2,1,1,P,Q,0,0, "",-1,-1,-1,-1,-1,-1,-1, "r",-1,-1,M,16) #ASC::End Block Processing Loops }*NbX }*NbY ## End of algorithm specification