the use of a computationally efficient inner product is described in the context of an orthogonal matching pursuit ( omp ) for determining representations of feature vectors for image or video signals received by a signal analysis system . it should be understood that this same approach to efficient computation of inner products is applicable in a variety of other image and video analysis approaches . generally , the omp approach can be summarized as follows , recognizing that computational implementations do not necessarily implement mathematical operations in the order or manner as shown . a dictionary φ =[ a i ; i = 1 , . . . , n ] with a i ∈ m such that m & lt ;& lt ; n and m = span ( φ ). we also assume that the a i are unit norm vectors . very generally , the omp process involves an iteration selecting vectors a k 1 , a k 2 , . . . from the dictionary for representing a feature vector ν such that at the p th iteration , k p is chosen such that where ν p is the residual ( i − p s p ) ν where p s p is a projection onto the span of s p ={ a k 1 , . . . , a k p }, and ν 0 = ν . the coefficients of the selected dictionary entries are selected to optimize ∥ ν − φ t a ∥ where a where has non - zero entries at the selected elements k 1 , k 2 , . . . k p . note that determining the p th value k p can take n − p + 1 inner products . although certain approximations of this step are known , the computation of the inner products in the selection of the dictionary elements remains a key computation requirement in the omp and similar approaches . referring to fig1 a feature processing system for image and video analysis includes an omp module 110 that receives feature vectors x 104 and produces transformed feature vector a 106 . in various examples , the feature vectors ν are formed from images 102 ( e . g ., acquired using a digital camera of a physic scene ) according a selection of conventional feature extraction approaches . for example , the feature vectors may be pixel values or portions of images or sift vectors . generally , each input feature vector x is processed by the omp module is represented as a vector a such that the coefficients a k i of the selected dictionary vectors a k i are determined using a procedure described below with further reference to fig1 . the transformed feature vectors are then applied to image analysis tasks , such as scene detection using conventional techniques . optionally , these vectors are applied to processing using techniques described in a co - pending application titled “ image analysis using coefficient distributions with selective basis feature representation ,” ser . no . ______ ( attorney docket 30055 - 013001 ), filed on nov . 5 , 2012 , which is incorporated by reference . an approach to computing an inner product u t ν between two vectors ( e . g ., between a dictionary vector and a feature vector or a residual of the feature vectors ) uses a comparison random projection approach . first , transformed vectors ũ = hdu and { tilde over ( ν )}= hdν are computed . note that multiplication by the hadamard matrix h ( which has entries ± 1 ), the a random ± 1 diagonal matrix d , or their product does not involve multiplications . rather , such a product involves only addition or subtraction of the elements of the vector being multiplied , with each entry occurring only once in the sum ( i . e ., either as a positive or negative term in the sum ). therefore , this matrix product does not require multiplications ( i . e ., does not include multiplications or sets of additions that effectively implement multiplications ). note that because h t h = n i and d t d = i , u t ν = ũ t { tilde over ( ν )}/ n . then we define and chose p as the sparse matrix p crp as defined above p crp note that because p crp has non - zero entries that are ± 1 , the matrix computation p { tilde over ( ν )} does not require multiplications in its implementation . when the original feature vector ν is of dimension m , h and d are m × m matrices , and p crp is an m × p rectangular matrix , generally with p & gt ; m and s non - zero entries per row , s / 2 positive and s / 1 negative . for example , for m = 64 ( e . g ., pixel values in 8 × 8 patches ), p = 248 and s = 2 , 8 , 16 , 24 or 32 . referring again to fig1 , processing of an input vector x involves computing inner products between x or residuals ν computed from x and dictionary vectors a i . in fig1 , a projected dictionary 122 represents precomputations of h ( a i ) h ( a i )= phda i for all the dictionary elements in a dictionary 120 . note that such precomputation is not required , and the computations of h ( a i ) may be performed during operation . computation of a transformed feature vector a corresponding to the input vector x involves an iteration processing successive residuals ν p 142 , where ν 0 = h ( x )=└ phdx ┘ is computed by a random projection module 140 . h ( ν p )=└ phdν p ┘ p th the omp procedure involves a search where ∥ h ( a k )− h ( ν p − 1 )∥ 1 is computed by the comparison inner product module 150 , which also controls the search ( arg max ) over dictionary elements k . the comparison inner product module 150 augments the selected basis 152 with k p . the residual and basis computation module 160 then determined the best coefficient vector a for the selected dictionary items , and computes the next residual ν p , which to passes to the random projection module 140 , which updates the projected residual h ( ν p ) 142 for the next iteration . after all the iterations ( e . g ., determined by a stopping rule such as a total number of iterations , characteristic of the residual , etc .) the transformed feature vector a 162 is output from the omp module 110 as one of the transformed feature vectors 106 . note that application of the transformation hd to the feature and dictionary vectors as described above is only one example of a broader range of transforms that preserve the inner product and that generally reduce the sparse nature of vector . other choice include wavelet transforms etc . furthermore , the choice of sparse random projection p crp can be replaced with other 0 and ± 1 matrices . experimental application of the techniques described above have been applied to scene analysis and a novel video classification . the video classification application involves applying the omp algorithm on visual feature vectors , e . g . scale invariant feature transform ( sift ), speeded up robust transform ( surf ). after omp , distribution statistics of the resultant projection coefficients are computed , and then video classification is performed based on these statistics . the video classification application is especially computationally challenging , requiring the use of the omp algorithm on a very large number of feature vectors . to give an example of the amount of computation , typical feature extraction techniques result in approximately a thousand vectors per video frame ; therefore , even a short five minute video clip captured at 30 hz frame rate will have 9 million feature vectors . several current video research projects attempt analyzing data sets having hundreds of thousands of videos , effectively requiring processing billions of feature vectors . the algorithmic speedup described here becomes especially crucial in such computationally intensive applications . further examples , applications , and comparisons to other techniques are found in “ efficient orthogonal matching pursuit using sparse random projections for scene and video classification ,” proc . 2011 ieee international conference on computer vision ( iccv ), 6 - 13 nov . 2011 , pp 2312 - 2319 , which is incorporated herein by reference . implementations of the approach described above can include software , hardware , or a combination of hardware and software . for example , a hardware implementation may include special - purpose circuitry for computing the term ∥ h ( a k )− h ( ν p − 1 )∥ 1 . software can include instructions for causing a data processing system to perform steps of the approaches . the data processing system can include a special - purpose processor , a general purpose processor , a signal processor , etc . the instructions can be machine - level instructions , or may be represented in a programming language , which may be compiled or interpreted . the software may be stored on a non - transitory medium ( e . g ., a volatile or non - volatile memory ). in some examples , a system includes image acquisition modules , feature extraction modules , and / or feature extraction modules integrated together with the feature processing involving inner product implementations as described above . some such examples may include integration within a single integrated circuit or multi - chip module . in some examples , a data representation in a hardware description language ( e . g ., verilog ) of circuitry for implementing an approach described above may be stored on a non - transitory medium and provided to impart functionality on a device specification system that is uses as part of a process of designing and manufacturing integrated circuits embodying the approach . it is to be understood that the foregoing description is intended to illustrate and not to limit the scope of the invention , which is defined by the scope of the appended claims . other embodiments are within the scope of the following claims .