AN IMPROVED MULTILEVEL SUCCESSIVE ELIMINATION ALGORITHM FOR FAST FULL- SREACH MOTION ESTIMATION Tae Gyoung Ahn, Youg Ho Moon*, and Jae Ho Kim Department of Electronic Engineering Pusan National University Pusan Korea
Outline Introduction Introduction MSEA MSEA ESEA ESEA Proposed Algorithm Proposed Algorithm Simulation Result Simulation Result Conclusion Conclusion
Introduction Full-search’s heavy computation causes a problem for real-time Application Full-search’s heavy computation causes a problem for real-time Application Fast full-search algorithm been proposed to provide the same accuracy with small computation Fast full-search algorithm been proposed to provide the same accuracy with small computation Successive elimination algorithm ( SEA ) Successive elimination algorithm ( SEA ) - Computation saved by omitting the SAD calculation for the invalid candidate block
Introduction N-1,N-1 N-1,N-1 SAD (m, n) = ∑ ∑ |f( i, j, t ) - f( i - m, j - n, t -1 )| i=0,j=0 ( 1 ) i=0,j=0 ( 1 ) for a N*N candidate block - f( i, j, t ) and f( i, j, t -1 ) represent an intensity of pixel ( i, j ) in the current frame t and the previous frame t-1
MSEA
MSEA Subblock SAD at level l is defined as : Subblock SAD at level l is defined as : ( 2 ) ( 2 ) It can be driven that : It can be driven that : ( 3 ) ( 3 )
MSEA Invalid candidate block is determined by comparing the previously obtained minimum SAD ( SAD min ) with SSAD l at each level Invalid candidate block is determined by comparing the previously obtained minimum SAD ( SAD min ) with SSAD l at each level
ESEA Many invalid candidate blocks are eliminated by MSEA. But the remaining blocks have to obtained SAD (m, n) Many invalid candidate blocks are eliminated by MSEA. But the remaining blocks have to obtained SAD (m, n) ( 4 ) d( i, j ) = f( i, j, t ) - f( i, j, t -1 ) d( i, j ) = f( i, j, t ) - f( i, j, t -1 ) ESEA remove the overhead by lookup table
Proposed algorithm An improved MSEA reducing the computations required to judge invalid candidate block An improved MSEA reducing the computations required to judge invalid candidate block Rewrite decision condition Eq. ( 3 ) Rewrite decision condition Eq. ( 3 )
Proposed algorithm D l ( u, v ) the difference between the current and candidate block at level l D l ( u, v ) the difference between the current and candidate block at level l D l ( u, v ) = R l ( u, v ) – M l ( u, v ) 0 <= u,v < 2 l –1 ( 5 ) 0 <= u,v < 2 l –1 ( 5 ) The difference between R 0 and M 0 (m, n) can be described as : The difference between R 0 and M 0 (m, n) can be described as : ( 6 ) ( 6 )
Proposed algorithm According to Eq. ( 2 ) and Eq. ( 6 ) According to Eq. ( 2 ) and Eq. ( 6 ) SSAD l - | R 0 - M 0 (m, n) | ( for ( R 0 - M 0 (m, n) ) < 0 ) SSAD l - | R 0 - M 0 (m, n) | ( for ( R 0 - M 0 (m, n) ) < 0 )
Proposed algorithm The same manner for ( R 0 - M 0 (m, n) ) >= 0 The same manner for ( R 0 - M 0 (m, n) ) >= 0 then we can obtain follows :
Proposed algorithm We can rewrite Eq.( 3 ) as follows : We can rewrite Eq.( 3 ) as follows : Define ConD l = ( SSAD l - | R 0 - M 0 (m, n) | ) / 2 Define ConD l = ( SSAD l - | R 0 - M 0 (m, n) | ) / 2 Cond = ( SSA ( m,n) - | R 0 - M 0 (m, n) | ) / 2 Cond = ( SSA ( m,n) - | R 0 - M 0 (m, n) | ) / 2
Proposed algorithm New decision condition : New decision condition : The ConD l is partial sum of D l ( u,v ) The ConD l is partial sum of D l ( u,v ) Save the computation
Simulation results
Conclusion Without degradation accuracy, propose algorithm calculation SAD and SSAD using the already obtained | R 0 - M 0 (m, n) | Without degradation accuracy, propose algorithm calculation SAD and SSAD using the already obtained | R 0 - M 0 (m, n) | New decision condition reduces complexity for invalid candidate blocks New decision condition reduces complexity for invalid candidate blocks Improve MSEA Improve MSEA