An Efficient Implementation of the Gradient-based Hough Transform using DSP slices and block RAMs on the FPGA

Size: px
Start display at page:

Download "An Efficient Implementation of the Gradient-based Hough Transform using DSP slices and block RAMs on the FPGA"

Transcription

1 A Efficiet Implemetatio of the Gradiet-based Hough Trasform usig DSP slices ad block RAMs o the FPGA Xi Zhou, Yasuaki Ito, ad Koji Nakao Departmet of Iformatio Egieerig Hiroshima Uiversity Kagamiyama 1-4-1, Higashi Hiroshima, Japa Abstract The gradiet-based Hough trasform is a improvemet of the origial Hough trasform. It is utilized to reduce substatially the computatio quatity ad make the detectio more accurate usig gradiet iformatio. The mai cotributio of this paper is to preset a efficiet implemetatio of the gradiet-based Hough trasform for straight lies detectio usig a Xilix Virtex-7 FPGA with embedded DSP slices ad block RAMs. We implemeted the circuit usig 13 DSP48E1 slices, 18 block RAMs with 36Kbits ad 8 block RAMs with 18Kbits. The experimetal results show that the architecture rus i 6.61MHz ad for a grayscale image, our circuit ca perform i + ( + ) + 3 clock cycles icludig the computatio of gradiet iformatio. Keywords-Image processig, Lie detectio, Hough trasform, FPGA, Embedded DSP slices, Embedded block RAMs I. INTRODUCTION Recet FPGAs (Field Programmable Gate Arrays) have embedded DSP slices that make a higher performace ad a broader applicatio. The Xilix Virtex-7 series FPGAs have DSP48E1 blocks that are equipped with a multiplier, adders, logic operators, etc [1]. More specifically, the DSP48E1 block has a two-iput multiplier followed by multiplexers ad a three iput adder/subtractor/accumulator. The DSP48E1 multiplier ca perform multiplicatio of a 18-bit ad a 5-bit two s complemet umbers ad produces oe 48-bit two s complemet productio. Programmable pipeliig of iput operads, itermediate products, ad accumulator outputs ehaces throughput ad improves frequecy. The DSP48E1 also has pipelie registers betwee operators to reduce the delay. The block RAM i the Virtex-7 FPGA is a embedded memory supportig sychroized read ad write operatios. I the Virtex-7 FPGA, it ca be cofigured as a 36Kbit dual port block RAMs, FIFOs, or two 18Kbit dual port RAMs. Sice FPGA chips maitai relatively low price ad its programmable features, it is widely used i those fields which eed to update architecture or fuctios frequetly such as commuicatio ad educatio areas. They are widely used i cosumer ad idustrial products for acceleratig processor itesive algorithms [], [3], [4], [5], [6], [7], [8], [9], [1]. The Hough trasform is a techique to fid shapes i images [11]. I particular, it has bee utilized to extract lies, circles, ellipses ad arbitrary shapes. The Hough trasform defies a mappig from a image ito a parameter space represeted by a accumulate array. The parameter space is defied by parameterizig detected shapes. Based o each edge poit of the image, the mappig adds a vote to correspodig elemets i the accumulate array. The elemets that are icreased represet associated parameters based o detected shapes. Therefore, the elemets that are voted itesively correspod to the parameters of shapes i the image space. The Hough trasform ca be used to extract straight lies i a biary image [1]. The idea of this method is to exploit the duality betwee poits of a lie ad parameters of that lie. A poit i the image is represeted by a curve i the parameter space ad lies of colliear poits itersect i the parameter space at oe poit. These itersectios are couted i a array of accumulators that quatizes the parameter space appropriately. I the followigs, we call this coutig to the accumulators votig. More specifically, for each edge poit (x, y) i a -dimesioal image, the votig is performed alog a curve ρ = xcosθ+y si θ ( θ < 18). Possible lies ca be detected by searchig poits that are voted itesively. Figure 1 shows a example of straight lie detectio usig the Hough trasform. For a iput image (Figure 1(a)), the biary edge image (Figure 1(b)) is obtaied by the edge detector such as Sobel filter. We ca see that the ormal Hough trasform performs well basig o the pure edge image. The result of votig to the parameter space is show i Figure (a). I this figure, darker poits show poits that are voted itesively, that is, represet probable lies. Accordig to the result of votig, the pricipal lies are detected (Figure 1(c)). There are may improvemets to the Hough trasform for lie detectio [13]. Oe of the efficiet improvemets is usig gradiet iformatio [14]. The idea of the method is to utilize gradiet directio ad magitude. It is based o the fact that if a give poit happes to ideed be o a lie, The local directio of the gradiet gives approximately the same directio of the actual lie. The gradiet magitude at the pixel is higher tha that

2 (a) Iput image (b) Biary edge image by Sobel filter (c) Lie detectio usig the Hough trasform Figure 1. Example of straight lies detectio usig Hough trasform (a) Covetioal (b) Gradiet-based Figure. Hough parameter spaces of the covetioal Hough trasform ad gradiet-based Hough trasform of other poits ot lyig o lies. Usig these ideas, we reduce the umber of useless votes by limitig the rage of votes with the local gradiet directio, ad weight voted values proportioal to the local gradiet magitude to ehace the votes of pixels o lies. I the followig, the origial Hough trasform is called covetioal Hough trasform, ad the Hough trasform usig gradiet iformatio is called gradiet-based Hough trasform to distiguish them easily. I our implemetatio, we use the Sobel filter, which is used i edge detectio algorithms [15] to obtai the gradiet iformatio. Figure (b) shows the resultig Hough space based o the above ideas. Compared with that of the covetioal Hough trasform, we ca see that votes are limited to the several parts that are darker poits i the figure. Actually, these correspod to real lies i the image ad it is easy to fid that useless votes are reduced. I this paper, we propose a FPGA implemetatio of the gradiet-based Hough trasform. Our ew idea icludes: Votig Space Partitioig: Polar coordiate votig space (θ, ρ) is partitioed ad arraged ito block RAMs. This eables us to perform votig operatios i parallel. Also, the fuctio of dual-port of block RAMs are fully used to accumulate the votig value istatly. Efficiet Usage of DSP slices ad block RAMs: DSP slices are used to compute xcosθ ad y si θ i parallel. Also, we avoid the computatio of the values of cosθ ad si θ usig block RAMs as look-up-tables. Accordig to the above, we reduce the size of the circuit ad icrease its operatig frequecy. Usig these ideas, our ew architecture for the Hough trasform uses 13 DSP48E1 slices, 18 block RAMs with 36Kbits ad 8 block RAMs with 18Kbits for the Hough trasform. Oe of the most importat key techiques for acceleratig computatio usig FPGAs is a efficiet usage of DSP slices ad block RAMs. We have implemeted our ew architectures o a Virtex-7 XC7VX485T-. Our proposed circuit rus i 6.61MHz, ad the votig operatios are performed for a gray-scale image i ++44 clock cycles. Also, for the voted results, our circuit outputs the idetified straight lies i +188 clock cycles. Therefore, our circuit ca perform i +( +)+3 clock cycles, i.e., +( +) µs. For example, for a gray-scale image of size 1 1, our circuit ca perform straight lies detectio i 3.859ms. This paper is orgaized as follows. I Sectio II, related works for FPGA implemetatio of the Hough trasform for straight lies detectio are show. Sectio III reviews the covetioal ad gradiet-based Hough trasform algorithms for lies. We describe the FPGA architecture for the Hough trasform i Sectio IV. Sectio V shows the performace evaluatio ad experimetal results. Fially, Sectio VI cocludes the paper.

3 II. RELATED WORKS May hardware algorithm for FPGA implemetatios of the Hough trasform for lies have bee proposed i past. I the existig researches, they itroduced icremetal Hough trasform [16], [17], [18], CORDIC [19], [], ad hybridlog arithmetic [1] to the computatio i Hough trasform. Sice most of recet FPGAs produced by pricipal vedors equip embedded DSP slices [], [3], [4], [5], [6], oe of the most importat key techiques for acceleratig computatio usig FPGAs is a efficiet usage of DSP slices ad block RAMs. I our previous works [7], [8], we proposed two FPGA implemetatios of the covetioal Hough trasform with DSP slices ad block RAMs. The DSP slices ad block RAMs work i the fully pipelied architecture. Both two implemetatios are based o the covetioal Hough trasform. Karaberou et al. proposed a FPGA implemetatio of the gradiet-based Hough trasform [19]. However, they used CORDIC to compute the complicated calculatios such as square roots ad trigoometrical fuctios without DSP slices ad block RAMs. As far as we kow, our proposed implemetatio is the first FPGA implemetatio of the gradiet-based Hough trasform usig DSP slices ad block RAMs. Also, compared with our previous works, i this work, the umber of utilized DSP slices is reduced cosiderably. III. HOUGH TRANSFORM The mai purpose of this sectio is to review two Hough trasform algorithms, the covetioal Hough trasform ad the gradiet-based Hough trasform. A. Covetioal Hough trasform Suppose that we have a image of size. We assume that pixels are arraged i two dimesioal xy-space such that the origi is i the ceter of the image as illustrated i Figure 3. Hece, both coordiates x ad y take itegers i Figure y ρ θ +1 ( x, y) x ρ ( θ, ρ) 18 θ Two dimesioal Spaces xy ad θρ used i the Hough trasform the rage [ + 1, ]. A pixel (x, y) ( + 1 x, y ) i the xy-space is coverted to a curve i the θρ-space by the followig formula: ρ = xcos θ + y si θ ( θ < 18) (1) Clearly, the double iequality < ρ is satisfied. The values of θ ad ρ ca also be obtaied geometrically. Suppose that we draw a lie goig through the origi with agle θ as illustrated i Figure 3. For such lie, we ca draw the orthogoal lie goig through a pixel (x, y). The value of ρ correspods to the distace to the lie. I other words, a poit (θ, ρ) of θρ-space correspods to a lie of xy-space. The key idea of the Hough trasform is to vote i θρspace oly for every edge pixel i the xy-space. Let (x, y) be the pixel i xy-space, ad let p[x][y] be the value of the pixel. I this paper we process the image i raster sca order, the Hough trasform is spelled out as follows: [Covetioal Hough Trasform] for y + 1 to for x + 1 to if p[x][y] = 1 begi for θ to 179 ρ xcos θ + y si θ v[θ][ρ] v[θ][ρ] + 1 ed For simplicity, we assume that the value of ρ is automatically rouded to a iteger. I the covetioal Hough Trasform, for each poit (x, y), the values of xcosθ ad y si θ are computed for θ =, 1,...,179. If v[θ][ρ] is storig a large value, may edge pixels i the iput pixels lie i the lie i xy-space correspods to a poit (θ, ρ) i θρ-space. However, i may extreme cases, icremetal votig operatios show i the above may cause poor performace ad some error detectios. For example, while the desity of edge poits is extremely high show i Figure 1, some spurious lies might be detected by the covetioal Hough trasform. Thus, for achievig more precise lies detectio, other approaches have bee proposed. I the followig, we describe a Hough trasform algorithm based o gradiet iformatio proposed i [14]. This algorithm uses the gradiet magitude to be the weight for accumulatio of the votig operatios, ad votes oly for agles aroud the gradiet directio. B. Gradiet-based Hough trasform I the gradiet-based Hough trasform, lies detectio is performed for a gray-scale image, ot a biary image. To obtai the gradiet iformatio for a gray-scale image, we use the Sobel filter. The Sobel filter is applied o the image for approximatig the vertical ad horizotal derivatives usig a couple of 3 3 covolutios G x ad G y : G x = [ ] I, G y = [ ] I, () where I represets the iput image ad deotes the - dimesioal covolutio operatio. The two results co-

4 volved by G x ad G y are approximatios of the gradiet for horizotal ad vertical of the image, respectively. At each pixel i the image, the resultig gradiet approximatios ca be combied to obtai the gradiet magitude usig the formula: G = G x + G y. (3) We ca also compute the gradiet directio θ usig θ = ta 1 ( G y ). (4) G x Based o the gradiet directio obtaied by the above, we vote to the parameter space. However, there is a error betwee local gradiet directio ad the directio of actual lies due to the quatizatio error. Therefore, votig operatio is performed ot oly to the agle obtaied by the gradiet directio, but also agles i the viciity of it. I our implemetatio, we itroduce weighted values w that depeds o the agle as follows: { w(θ θ λ θ θ θ θ ) = λ (5) otherwise. To be suitable for the compact FPGA implemetatio, we use the weights as power-of-two umbers. Also, the votig rage is limited to [ λ, +λ] istead of the rage [, 179] i the covetioal Hough trasform. The gradiet-based Hough trasform is spelled out as follows: [Gradiet-based Hough Trasform] for y + 1 to for x + 1 to Compute G ad θ for p[x][y] for θ θ λ to θ + λ do begi if θ < the θ θ + 18 ρ xcos θ + y si θ v[θ][ρ] v[θ][ρ] + G w(θ θ ) ed Simply speakig, the gradiet-based Hough trasform votes for each pixel of the gray-scale image with a weighted value G w(θ θ ) which is proportioal to the gradiet magitude. The parameter space will be sharpeed by such votig operatios that make the accuracy higher. Our implemetatio for the computatio of the gradiet directio ad magitude is a pipelied architecture. I the followig sectio, we show the efficiet implemetatios of the gradiet-based Hough Trasform o the FPGA. IV. OUR FPGA ARCHITECTURE FOR THE HOUGH TRANSFORM This sectio describes our FPGA architecture for the gradiet-based Hough trasform usig DSP slices ad block RAMs i Xilix Virtex-7 Family FPGA XC7VX485T- as the target device [6]. Figure 4 illustrates the outlie of our architecture. The details are described as follows. A. Structure for the computatio of gradiet iformatio I our architecture, we use a 3 3 Sobel filter to obtai gradiet iformatio. Sice we assume that iput pixels are give to the circuit i the raster sca order, we use a twolies buffer with block RAMs to provide pixels i each 3 3 subimage to the filter. Our circuit computes the horizotal ad vertical derivative approximatios usig combiatioal circuits as show i Figure 5, where dout, dout1 ad di represet pixel values i the three lies of the iput image, respectively. dout dout1 di ( 1) 1 ( ) ( 1) 1 Figure 5. (a) G x Gx dout dout1 di ( 1) ( ) ( 1) (b) G y Structure for the computatio of G x ad G y As metioed before, the algorithm eeds the gradiet directio ad magitude as show i Sectio III. The formulae iclude the computatio of the square root ad the iverse taget. Sice it is difficult to compute them directly o the circuit, we use the CORDIC IP provided by Xilix [9]. The CORDIC IP provides a hardware module that is fully pipelied architecture ad available easily o the FPGA. B. Structure for the computatio of ρ ad votig operatio Give the gradiet directio θ ad magitude G of each pixel are obtaied with a pipelied architecture, the circuit computes ρ ad performs votig operatio. Wheever the gradiet magitude G ad the gradiet directio θ of each pixel are give, the two couters for x ad y icremet appropriately. We use DSP slices ad block RAMs to compute xcos(θ λ),..., xcos(θ +λ). The detail of each circuit that computes xcosθ is show i Figure 6. The circuit cosists of oe DSP slice ad oe block RAM. Usig the block RAM as a look-up-table, cos θ is computed ad the DSP slice computes the product of x ad cosθ. We ote that i our implemetatio, sice two circuits ca share the two block RAMs for the look-up-table with the dual port, we use λ + 1 DSP slices ad λ+1 block RAMs to compute xcos(θ λ),..., xcos(θ + λ). For simplicity, the sharig is omitted i Figure 4 though it seems that every circuit that computes xcos θ has oe block RAM. Also, to compute y si θ (1 θ 179), we use the fact that sice pixel data are iput i raster sca order, the value Gy

5 Couter y Computatio for y si θ(1 θ 179) y si 1, y si,..., y si Iput pixels Couter x y si(θ 4) y si(θ 3) y si(θ ) y si(θ 1) y si θ y si(θ + 1) y si(θ + ) y si(θ + 3) y si(θ + 4) θ Sobel filter G xcos(θ 4) x cos(θ 3) xcos(θ ) x cos(θ 1) xcos θ xcos(θ + 1) xcos(θ + ) xcos(θ + 3) xcos(θ + 4) ρ for (θ 4 θ θ + 4)... V V 1 V V 3 V 4 V 5 V 6 V 7 V 8 V 9 V 1 V 177 V 178 V maximum filters (θ, ρ) Figure 4. The outlie of our FPGA architecture for the gradiet-based Hough trasform (λ = 4) y[] y Bak y si θ Couter θ 179,178,...,,1 block RAM LUT for si θ si θ... y si 1 y si y si 3 y si 179 Bak 1 Figure 7. Architecture to compute y k+1 si θ with oe DSP slice Figure 6. θ x LUT for cos θ Block RAM x cos θ DSP slice xcos θ A DSP slice ad a block RAM to compute xcos θ of y does ot chage while processig pixels are i a certai row. Therefore, whe pixels i a row y are processed, we pre-compute the values of (y+1)siθ for (1 θ 179) i the ext row ad store them ito the registers. Whe pixels i the ext row y + 1 are processed, the values are used. Figure 7 illustrates our architecture to compute ysiθ. We utilize a block RAM as a look-up-table to compute siθ, ad oe DSP slice to compute a product of y ad si θ. Also, we use two series of registers, called baks. Oe is used to pre-compute the values of y si θ for the ext row. The other is used to output the already computed y si θ for the

6 curret processig row. To compute the values of si θ, we successively geerate the value of θ = 179, 178,..., 1 by a couter. By iputtig them to the look-up-table, the values of si θ are obtaied. The products of y siθ are computed usig a DSP slice. Note that the values of y si θ are for the ext row. Therefore, the value of y is icremeted i advace. The obtaied values are successively iput to a bak of registers. I each bak, registers are coected i cascade as show i the figure. The values shift oe by oe util all the values are iput to the bak. Whe pixels i a row are fiished, the baks are switched. Figure 8 illustrates the architecture of V θ usig a block RAM. Give gradiet directio θ ad magitude G, the voted value G w(θ θ ) is computed, where θ is a costat value i each V θ. Sice i our implemetatio the value of w(θ θ ) is power of two show i Sectio III, it ca be computed with a subtractor ad a bit shifter. A block RAM i the FPGA is dual port architecture. Xilix Virtex-7 Family has 36Kbit dual-port block RAMs, which have two sets of ports operated idepedetly. Two sets of ports are: Port Set A ADDRA (ADDRess A), DOA (Data Output A), DIA (Data Iput A), ad Port Set B ADDRB (ADDRess B), DOB (Data Output B), DIB (Data Iput B). Let M[i] deote a data of address i of the block RAM. I read operatio of Port Set A, M[ADDRA] is output from DOA after the risig clock edge. I write operatio of Port Set A, the data give to DIA is writte i M[ADDRA] at the risig clock edge. Read/write operatios of Port Set B are the same as Port Set A. Port Set A ad Port Set B work idepedetly. I the block RAMs i the target device of this work, read/write operatios ca be cofigured as either RF (Read First) mode or WF (Write First) mode. I the RF mode, if readig ad writig operatios are performed to the same address, readig operatio is performed before the writig operatio. Hece the readig data is the data before writig data. O the other had, i the WF mode, sice the writig performed before the readig, the readig data is the updated data. However, whe a dual port is used, there is a restrictio that if read ad write operatio to the same address are performed for each port, the settig of block RAMs must be RF [3]. We use the block RAM to store the values of v[θ][ρ] ( < ρ ). Let v θ [i] deote a data of address i of the block RAM V θ. Sice ρ is give to its ADDRA, v θ [ρ] is output from DOA after the risig clock edge as illustrated i Figure 8. After that, v θ [ρ] + G w(θ θ ) is computed ad it is give to DIB. Sice ρ is give to ADDB, v θ [ρ] + G w(θ θ ) is writte i v θ [ρ]. I other words, v θ [ρ] v θ [ρ] + G w(θ θ ) is performed. At that time, accordig to the restrictio stated i the above, sice the same value of ρ may be iput cotiuously, the settig of block RAMs must be RF. Namely, whe the same value of ρ is iput cotiuously, the former voted value is ot read from the block RAM. To avoid this situatio, we use a additioal register to store the latest voted value ad if the same value of ρ is iput cotiuously, the stored value is used istead of the value read from the block RAM. θ θ Bit shift << G ρ G w(θ θ ) Figure 8. = ρ ADDRA ADDRB DIB + DOA v θ[ρ] A block RAM V θ to store v[θ][ρ] I the followig, whe all the votig operatios are completed, we utilize a maximum filter to output the fial correct idetified straight lies. The maximum filter is defied as the maximum of all pixels withi a local regio of a image. I here, for each value i the votig space, this filter copies the largest value from a 3 3 regio to it. Figure 9 illustrates our architecture to perform a 3 3 maximum filter to the voted results. Sice the voted values i the same ρ ca be obtaied from V, V 1,..., V 179, this architecture works row by row i a pipelie fashio. To perform a 3 3 maximum filter to each value i a certai row, it is cocurretly read from V, V 1,..., V 179. After that usig comparators, local maxima of each 3 eighborig votes i the row are obtaied. These local maxima are iput to shift registers. After local maxima i the 3 rows are computed, local maxima of each 3 3 votes are obtaied by computig maxima from correspodig 3 values. If the maximum equals to the origial value of the ceter i the correspodig 3 3 votes, its (θ, ρ) that represets a probable lie is iput to the shift registers ad output through the registers. C. Data represetatio The choice of data precisio is guided by the implemetatio cost i terms of area, simplicity of desig, speed ad power cosumptio. Higher precisio will lead to less quatizatio error i the fial implemetatio. O the other had, lower precisio will produce more compactio ad faster desigs with less power cosumptio. A trade-off

7 V V 1 V V 3 V 4 V 5 V 6 V 177 V 178 V 179 local maxima of each 3 eighborig votes i the row ρ i+1 local maxima of each 3 eighborig votes i the row ρ i local maxima of each 3 eighborig votes i the row ρ i 1 local maxima of each 3 3 votes if the maximum equals to the vote of the ceter i the correspodig 3 3 votes, output its (θ, ρ) (θ, ρ) Figure 9. Pipelie architecture of 3 maximum filter choice eeds to be made depedig o the give applicatio ad available FPGA resources. I this paper, the data format of iputs are 8-bit iteger of all pixels i the gray-scale image ad these values are iput i raster sca order. The coordiates (x, y) which are ecessary to compute ρ are appropriately geerated by the couters as show i Figure 4. I order to miimize chip space ad computatio time, short fixed poit represetatio of umbers is used. Cosiderig the structure of DSP slices ad block RAMs, we choose the data represetatio i our implemetatio, as follows. The data format of iputs that are values of pixels p[x][y] is 8-bit iteger. The data format of cos θ ad si θ is 16-bit fixed poit umber, which cosists of 1-bit sig, 1-bit iteger ad 14-bit fractio based o two s complemet. O the other had, the data formats of gradiet magitude G ad gradiet directio θ are 1-bit ad 8-bit itegers, respectively. The data format of ρ is 1- bit two s complemet iteger. Sice the rage of the value of θ is to 179, the data format of θ is 8-bit iteger. The data format of the voted value is 4-bit iteger. V. PERFORMANCE EVALUATION AND EXPERIMENTAL RESULTS We have implemeted the proposed architecture for the gradiet-based Hough trasform ad evaluated it o the Xilix Virtex-7 FPGA XC7VX485T-. Table I shows the experimetal results usig Xilix ISE I our implemetatio, the voted rage of the gradietbased Hough trasform show i Sectio III is set to λ = 4, that is for local gradiet directio θ, we perform the votig operatio to the rage θ 4 θ θ + 4. The rage was obtaied by our experimets. Due to the striget page limitatio, we omit how to determie the rage. However, the rage is eough to extract lies because the error betwee the agle of lies obtaied by the Sobel filter ad the actual agle is small [31]. Figure 1 shows the result of lies detectio for the covetioal Hough trasform ad the gradiet-based Hough trasform. Compared with the result of the covetioal Hough trasform, we ca see that the gradiet-based Hough trasform obtaied more correct lies ad exclude the iexistet lies. Let us evaluate the performace for a grayscale image. I our implemetatio, the circuit ca work i fully pipelied fashio. Namely, iput pixels ca be provided to the circuit clock by clock i raster sca order. To reduce the delay of the circuit, some pipelie registers are iserted ito betwee circuit elemets. It takes + 44 clock cycles to complete votig from the first iput pixel is give to its votig is fiished. Sice the iput image cosists of pixels, the votig operatios are performed i clock cycles, i.e., µs. After votig, clock cycles, i.e., µs are ecessary to output idetified straight lies with 3 3 maximum

8 Origial gray-scale Lies detectio Lies detectio image by the covetioal by the gradiet-based Hough trasform Hough trasform Figure 1. Compariso betwee covetioal ad gradiet-based Hough trasform algorithms filters. Therefore, i total, + ( + ) + 3 clock cycles, i.e., +( +) µs are ecessary to perform the gradiet-based Hough trasform. If a iput image of size 1 1 is give, our circuit ca detect straight lies i 3.859ms. Table I PERFORMANCE EVALUATION OF THE PROPOSED ARCHITECTURE FOR THE GRADIENT-BASED HOUGH TRANSFORM DSP48E1 slices (out of 8) 13 (1%) 36Kbit block RAMs (out of 13) 18 (17%) 18Kbit block RAMs (out of 6) 8 (1%) Slices (out of 67) 8181 (13%) Clock frequecy [MHz] 6.61 For the purpose of estimatig the speed up of our FPGA implemetatio, we have also implemeted a software approach of the gradiet-based Hough trasform usig GNU C. We have used Itel Xeo X746 ruig i.66ghz ad 18GB memory to ru the sequetial algorithm for the gradiet-based Hough trasform. For the image show i Figure 1(a) whose size is , the software implemetatio ca perform the gradiet-based Hough trasform i ms. O the other had, our circuit ca perform it i µs. Therefore, our FPGA implemetatio attais a speed-up factor of more tha 39 over the sequetial implemetatio o the CPU. There are a umber of literatures reported to implemet Hough trasform for lies usig the FPGA show i Sectio I. Algorithms, that is covetioal or gradiet-based, ad performaces such as device, logic blocks, DSP slices, frequecy ad throughput are compared i Table II. It is difficult to directly compare to other works because used algorithms, utilized FPGAs ad supported size of images differ. Cosiderig the throughput, however, it is clear that the performace of our FPGA implemetatio is better tha that of other works. VI. CONCLUSIONS We have preseted a efficiet implemetatio of the gradiet-based Hough trasform for gray-scale images usig DSP slices ad block RAMs i the Virtex-7 Family FPGA. We have implemeted the circuit usig 13 DSP48E1 slices, 18 block RAMs with 36Kbits ad 8 block RAMs with 18Kbits o the Virtex-7 Family FPGA XC7VX485T-. The experimetal results show that the architecture rus i 6.61MHz ad for a gray-scale image, our circuit ca perform i + ( + ) + 3 clock cycles, i.e., +( +) µs, icludig the computatio of gradiet iformatio. REFERENCES [1] Xilix Ic., 7 Series FPGAs DSP48E1 Slice (v1.6), 13. [] J. L. Bordim, Y. Ito, ad K. Nakao, Acceleratig the CKY parsig usig FPGAs, IEICE Trasactios o Iformatio ad Systems, vol. E86-D, o. 5, pp , May 3. [3], Istace-specific solutios to accelerate the CKY parsig for large cotext-free grammars, Iteratioal Joural o Foudatios of Computer Sciece, pp , 4.

9 Table II COMPARISON WITH RELATED WORKS FOR HOUGH TRANSFORM Deg [] Lee [1] Previous work [7] Previous work [8] Karaberou [19] This work Hough trasform Covetioal Covetioal Covetioal Covetioal Gradiet-based Gradiet-based Device XC41XL Virtex 4 XC6VLX4T-1 XC6VLX4T-1 XC41EPC84 XC7VX485T- Logic blocks 333 CLBs 314 CLBs Slices 4487 Slices 5 CLBs 8673 Slices DSP slices 178 DSP48E1s 9 DSP48E1s 13 DSP48E1s Frequecy 4MHz 13MHz MHz 47.55MHz 3.166MHz 6.61MHz Throughput.63Mpixel/s 3.768Mpixel/s 45.48Mpixel/s 47.43Mpixel/s 1.368Mpixel/s Mpixel/s [4] Y. Ito ad K. Nakao, Efficiet exhaustive verificatio of the Collatz cojecture usig DSP blocks of Xilix FPGAs, Iteratioal Joural of Networkig ad Computig, vol. 1, o. 1, pp. 49 6, 11. [5] Y. Ito, K. Nakao, ad S. Bo, The parallel FDFM processor core approach for CRT-based RSA decryptio, Iteratioal Joural of Networkig ad Computig, vol., o. 1, pp , 1. [6] K. Nakao ad E. Takamichi, A image retrieval system usig FPGAs, IEICE Trasactios o Iformatio ad Systems, vol. E86-D, o. 5, pp , May 3. [7] K. Nakao ad Y. Yamagishi, Hardware choose k couters with applicatios to the partial exhaustive search, IEICE Tras. o Iformatio & Systems, 5. [8] Y. Ago, Y. Ito, ad K. Nakao, A FPGA implemetatio for eural etworks with the FDFM processor core approach, Iteratioal Joural of Parallel, Emerget ad Distributed Systems, vol. 8, o. 4, pp. 38 3, 1. [9] Y. Ago, K. Nakao, ad Y. Ito, A classificatio processor for a support vector machie with embedded DSP slices ad block RAMs i the FPGA, i Proc. of the IEEE 7th Iteratioal Symposium o Embedded Multicore SoCs, 13, pp [1] K. Hashimoto, Y. Ito, ad K. Nakao, Tempate matchig usig DSP slices o the FPGA, i Proc. of Iteratioal Symposium o Computig ad Networkig, 13, pp [11] P. V. C. Hough, Method ad meas for recogizig complex patters, U.S. Patet 3,69,654, 196. [1] R. O. Duda ad P. E. Hart, Use of the Hough trasformatio to detect lies ad curves i pictures, Commuicatios of the ACM, vol. 15, o. 1, pp , 197. [13] J. Illigworth ad J. Kittler, A survey of the Hough trasform, Computer Visio, Graphics, ad Image Processig, vol. 44, o. 1, pp , [14] F. O Gorma ad M. Clowes, Fidig picture edges through colliearity of feature poits, Computers, IEEE Trasactios o, vol. C-5, o. 4, pp , [15] M. S. Nixo ad A. S. Aguado, Feature Extractio ad Image Processig, d ed. Academic Press, 8. [16] S. Tagzout, K. Achour, ad O. Djekoue, Hough trasform algorithm for FPGA implemetatio, Sigal Processig, vol. 81, o. 6, pp , 1. [17] H. Bessalah, S. Seddiki, F. Alim, ad M. Becherif, O lie mode icremetal Hough trasform implemetatio o Xilix fpga s, i Proc. of the 8th coferece o Sigal, Speech ad image processig, 8, pp [18] O. Djekoue ad K. Achour, Icremetal Hough trasform: a improved algorithm for digital device implemetatio, Real-Time Imagig, vol. 1, o. 6, pp , 4. [19] S. M. Karaberou ad F. Terrati, Real-time FPGA implemetatio of Hough trasform usig gradiet ad CORDIC algorithm, Image ad Visio Computig, vol. 3, o. 11, pp , 5. [] D. D. S. Deg ad H. ElGidy, High-speed parameterisable Hough trasform usig recofigurable hardware, i Proc. of the Pa-Sydey area workshop o Visual iformatio processig, vol. 11, 1, pp [1] P. Lee ad A. Evagelos, A implemetatio of a multiplierless Hough trasform o a FPGA platform usig hybrid-log arithmetic, i Proc. of Real-Time Image Processig 8, vol. 6811, 8, pp G 1. [] Xilix Ic., Virtex-4 FPGA User Guide(v.6), 8. [3], Virtex-5 FPGA User Guide(v5.), 9. [4], Virtex-6 Family Overview(v.4), 1. [5] Altera Corp., Stratix V Device Hadbook, 1. [6] Xilix Ic., 7 Series FPGAs Overview (v1.14), 13. [7] X. Zhou, N. Tomagou, Y. Ito, ad K. Nakao, Implemetatios of the Hough trasform o the embedded multicore processors, Iteratioal Joural of Networkig ad Computig, vol. 4, o. 1, pp , 14. [8] X. Zhou, Y. Ito, ad K. Nakao, A efficiet implemetatio of the Hough trasform usig DSP slices ad block RAMs o the FPGA, i IEEE 7th Iteratioal Symposium o Embedded Multicore SoCs, 13, pp [9] Xilix Ic., LogiCORE IP CORDIC v6., 13. [3], 7 Series FPGAs Memory Resources (v1.1), 14. [31] E. R. Davies, Circularity a ew priciple uderlyig the desig of accurate edge orietatio operators, Image ad Visio Computig, vol., o. 3, pp , 1984.

Efficient Hough transform on the FPGA using DSP slices and block RAMs

Efficient Hough transform on the FPGA using DSP slices and block RAMs Efficiet Hough trasform o the FPGA usig DSP slices ad block RAMs Xi Zhou, Norihiro Tomagou, Yasuaki Ito, ad Koji Nakao Departmet of Iformatio Egieerig Hiroshima Uiversity Kagamiyama 1-4-1, Higashi Hiroshima,

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

Fast Fourier Transform (FFT) Algorithms

Fast Fourier Transform (FFT) Algorithms Fast Fourier Trasform FFT Algorithms Relatio to the z-trasform elsewhere, ozero, z x z X x [ ] 2 ~ elsewhere,, ~ e j x X x x π j e z z X X π 2 ~ The DFS X represets evely spaced samples of the z- trasform

More information

Pattern Recognition Systems Lab 1 Least Mean Squares

Pattern Recognition Systems Lab 1 Least Mean Squares Patter Recogitio Systems Lab 1 Least Mea Squares 1. Objectives This laboratory work itroduces the OpeCV-based framework used throughout the course. I this assigmet a lie is fitted to a set of poits usig

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

Simple and Fast Parallel Algorithms for the Voronoi Maps and the Euclidean Distance Map, with GPU implementations

Simple and Fast Parallel Algorithms for the Voronoi Maps and the Euclidean Distance Map, with GPU implementations Simple ad Fast Parallel Algorithms for the Vorooi Maps ad the Euclidea Distace Map, with GPU implemetatios Takumi Hoda, Shiosuke Yamamoto, Hiroaki Hoda, Koji Nakao, Yasuaki Ito Departmet of Iformatio Egieerig

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

A Very Simple Approach for 3-D to 2-D Mapping

A Very Simple Approach for 3-D to 2-D Mapping A Very Simple Approach for -D to -D appig Sadipa Dey (1 Ajith Abraham ( Sugata Sayal ( Sadipa Dey (1 Ashi Software Private Limited INFINITY Tower II 10 th Floor Plot No. - 4. Block GP Salt Lake Electroics

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS Prosejit Bose Evagelos Kraakis Pat Mori Yihui Tag School of Computer Sciece, Carleto Uiversity {jit,kraakis,mori,y

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 )

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 ) EE26: Digital Desig, Sprig 28 3/6/8 EE 26: Itroductio to Digital Desig Combiatioal Datapath Yao Zheg Departmet of Electrical Egieerig Uiversity of Hawaiʻi at Māoa Combiatioal Logic Blocks Multiplexer Ecoders/Decoders

More information

Alpha Individual Solutions MAΘ National Convention 2013

Alpha Individual Solutions MAΘ National Convention 2013 Alpha Idividual Solutios MAΘ Natioal Covetio 0 Aswers:. D. A. C 4. D 5. C 6. B 7. A 8. C 9. D 0. B. B. A. D 4. C 5. A 6. C 7. B 8. A 9. A 0. C. E. B. D 4. C 5. A 6. D 7. B 8. C 9. D 0. B TB. 570 TB. 5

More information

Neural Networks A Model of Boolean Functions

Neural Networks A Model of Boolean Functions Neural Networks A Model of Boolea Fuctios Berd Steibach, Roma Kohut Freiberg Uiversity of Miig ad Techology Istitute of Computer Sciece D-09596 Freiberg, Germay e-mails: steib@iformatik.tu-freiberg.de

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

Algorithms for Disk Covering Problems with the Most Points

Algorithms for Disk Covering Problems with the Most Points Algorithms for Disk Coverig Problems with the Most Poits Bi Xiao Departmet of Computig Hog Kog Polytechic Uiversity Hug Hom, Kowloo, Hog Kog csbxiao@comp.polyu.edu.hk Qigfeg Zhuge, Yi He, Zili Shao, Edwi

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

CS Polygon Scan Conversion. Slide 1

CS Polygon Scan Conversion. Slide 1 CS 112 - Polygo Sca Coversio Slide 1 Polygo Classificatio Covex All iterior agles are less tha 180 degrees Cocave Iterior agles ca be greater tha 180 degrees Degeerate polygos If all vertices are colliear

More information

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis

Outline and Reading. Analysis of Algorithms. Running Time. Experimental Studies. Limitations of Experiments. Theoretical Analysis Outlie ad Readig Aalysis of Algorithms Iput Algorithm Output Ruig time ( 3.) Pseudo-code ( 3.2) Coutig primitive operatios ( 3.3-3.) Asymptotic otatio ( 3.6) Asymptotic aalysis ( 3.7) Case study Aalysis

More information

Chapter 4 The Datapath

Chapter 4 The Datapath The Ageda Chapter 4 The Datapath Based o slides McGraw-Hill Additioal material 24/25/26 Lewis/Marti Additioal material 28 Roth Additioal material 2 Taylor Additioal material 2 Farmer Tae the elemets that

More information

Eigenimages. Digital Image Processing: Bernd Girod, 2013 Stanford University -- Eigenimages 1

Eigenimages. Digital Image Processing: Bernd Girod, 2013 Stanford University -- Eigenimages 1 Eigeimages Uitary trasforms Karhue-Loève trasform ad eigeimages Sirovich ad Kirby method Eigefaces for geder recogitio Fisher liear discrimat aalysis Fisherimages ad varyig illumiatio Fisherfaces vs. eigefaces

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware A Overview Graphics System Moitor Iput devices CPU/Memory GPU Raster Graphics System Raster: A array of picture elemets Based o raster-sca TV techology The scree (ad a picture)

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Eigenimages. Digital Image Processing: Bernd Girod, Stanford University -- Eigenimages 1

Eigenimages. Digital Image Processing: Bernd Girod, Stanford University -- Eigenimages 1 Eigeimages Uitary trasforms Karhue-Loève trasform ad eigeimages Sirovich ad Kirby method Eigefaces for geder recogitio Fisher liear discrimat aalysis Fisherimages ad varyig illumiatio Fisherfaces vs. eigefaces

More information

Improving Template Based Spike Detection

Improving Template Based Spike Detection Improvig Template Based Spike Detectio Kirk Smith, Member - IEEE Portlad State Uiversity petra@ee.pdx.edu Abstract Template matchig algorithms like SSE, Covolutio ad Maximum Likelihood are well kow for

More information

MOST of the advanced signal processing algorithms are

MOST of the advanced signal processing algorithms are A edited versio of this work was publiched i IEEE TRANS. ON CIRCUITS AND SYSTEMS II, VOL. 6, NO. 9, SEPT 05 DOI:0.09/TCSII.05.35753 High-Throughput FPGA Implemetatio of QR Decompositio Sergio D. Muñoz

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

Stone Images Retrieval Based on Color Histogram

Stone Images Retrieval Based on Color Histogram Stoe Images Retrieval Based o Color Histogram Qiag Zhao, Jie Yag, Jigyi Yag, Hogxig Liu School of Iformatio Egieerig, Wuha Uiversity of Techology Wuha, Chia Abstract Stoe images color features are chose

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

An Efficient Algorithm for Graph Bisection of Triangularizations

An Efficient Algorithm for Graph Bisection of Triangularizations A Efficiet Algorithm for Graph Bisectio of Triagularizatios Gerold Jäger Departmet of Computer Sciece Washigto Uiversity Campus Box 1045 Oe Brookigs Drive St. Louis, Missouri 63130-4899, USA jaegerg@cse.wustl.edu

More information

Computer Systems - HS

Computer Systems - HS What have we leared so far? Computer Systems High Level ENGG1203 2d Semester, 2017-18 Applicatios Sigals Systems & Cotrol Systems Computer & Embedded Systems Digital Logic Combiatioal Logic Sequetial Logic

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,

More information

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits Egieerig Letters, :, EL Reversible Realizatio of Quaterary Decoder, Multiplexer, ad Demultiplexer Circuits Mozammel H.. Kha, Member, ENG bstract quaterary reversible circuit is more compact tha the correspodig

More information

GPUMP: a Multiple-Precision Integer Library for GPUs

GPUMP: a Multiple-Precision Integer Library for GPUs GPUMP: a Multiple-Precisio Iteger Library for GPUs Kaiyog Zhao ad Xiaowe Chu Departmet of Computer Sciece, Hog Kog Baptist Uiversity Hog Kog, P. R. Chia Email: {kyzhao, chxw}@comp.hkbu.edu.hk Abstract

More information

Dynamic Programming and Curve Fitting Based Road Boundary Detection

Dynamic Programming and Curve Fitting Based Road Boundary Detection Dyamic Programmig ad Curve Fittig Based Road Boudary Detectio SHYAM PRASAD ADHIKARI, HYONGSUK KIM, Divisio of Electroics ad Iformatio Egieerig Chobuk Natioal Uiversity 664-4 Ga Deokji-Dog Jeoju-City Jeobuk

More information

Neuro Fuzzy Model for Human Face Expression Recognition

Neuro Fuzzy Model for Human Face Expression Recognition IOSR Joural of Computer Egieerig (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 2 (May-Jue 2012), PP 01-06 Neuro Fuzzy Model for Huma Face Expressio Recogitio Mr. Mayur S. Burage 1, Prof. S. V. Dhopte 2 1

More information

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers *

Load balanced Parallel Prime Number Generator with Sieve of Eratosthenes on Cluster Computers * Load balaced Parallel Prime umber Geerator with Sieve of Eratosthees o luster omputers * Soowook Hwag*, Kyusik hug**, ad Dogseug Kim* *Departmet of Electrical Egieerig Korea Uiversity Seoul, -, Rep. of

More information

An Efficient Implementation Method of Fractal Image Compression on Dynamically Reconfigurable Architecture

An Efficient Implementation Method of Fractal Image Compression on Dynamically Reconfigurable Architecture A Efficiet Implemetatio Method of Fractal Image Compressio o Dyamically Recofigurable Architecture Hidehisa Nagao, Akihiro Matsuura, ad Akira Nagoya NTT Commuicatio Sciece Laboratories 2-4 Hikaridai, Seika-cho,

More information

A Novel Feature Extraction Algorithm for Haar Local Binary Pattern Texture Based on Human Vision System

A Novel Feature Extraction Algorithm for Haar Local Binary Pattern Texture Based on Human Vision System A Novel Feature Extractio Algorithm for Haar Local Biary Patter Texture Based o Huma Visio System Liu Tao 1,* 1 Departmet of Electroic Egieerig Shaaxi Eergy Istitute Xiayag, Shaaxi, Chia Abstract The locality

More information

Hashing Functions Performance in Packet Classification

Hashing Functions Performance in Packet Classification Hashig Fuctios Performace i Packet Classificatio Mahmood Ahmadi ad Stepha Wog Computer Egieerig Laboratory Faculty of Electrical Egieerig, Mathematics ad Computer Sciece Delft Uiversity of Techology {mahmadi,

More information

EE123 Digital Signal Processing

EE123 Digital Signal Processing Last Time EE Digital Sigal Processig Lecture 7 Block Covolutio, Overlap ad Add, FFT Discrete Fourier Trasform Properties of the Liear covolutio through circular Today Liear covolutio with Overlap ad add

More information

An Efficient Algorithm for Graph Bisection of Triangularizations

An Efficient Algorithm for Graph Bisection of Triangularizations Applied Mathematical Scieces, Vol. 1, 2007, o. 25, 1203-1215 A Efficiet Algorithm for Graph Bisectio of Triagularizatios Gerold Jäger Departmet of Computer Sciece Washigto Uiversity Campus Box 1045, Oe

More information

Parallel Polygon Approximation Algorithm Targeted at Reconfigurable Multi-Ring Hardware

Parallel Polygon Approximation Algorithm Targeted at Reconfigurable Multi-Ring Hardware Parallel Polygo Approximatio Algorithm Targeted at Recofigurable Multi-Rig Hardware M. Arif Wai* ad Hamid R. Arabia** *Califoria State Uiversity Bakersfield, Califoria, USA **Uiversity of Georgia, Georgia,

More information

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c Iteratioal Coferece o Computatioal Sciece ad Egieerig (ICCSE 015) Harris Corer Detectio Algorithm at Sub-pixel Level ad Its Applicatio Yuafeg Ha a, Peijiag Che b * ad Tia Meg c School of Automobile, Liyi

More information

FPGA IMPLEMENTATION OF BASE-N LOGARITHM. Salvador E. Tropea

FPGA IMPLEMENTATION OF BASE-N LOGARITHM. Salvador E. Tropea FPGA IMPLEMENTATION OF BASE-N LOGARITHM Salvador E. Tropea Electróica e Iformática Istituto Nacioal de Tecología Idustrial Bueos Aires, Argetia email: salvador@iti.gov.ar ABSTRACT I this work, we preset

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA Creatig Exact Bezier Represetatios of CST Shapes David D. Marshall Califoria Polytechic State Uiversity, Sa Luis Obispo, CA 93407-035, USA The paper presets a method of expressig CST shapes pioeered by

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

COARSE ANGLE ROTATION MODE CORDIC BASED SINGLE PROCESSING ELEMENT QR-RLS PROCESSOR

COARSE ANGLE ROTATION MODE CORDIC BASED SINGLE PROCESSING ELEMENT QR-RLS PROCESSOR 7th Europea Sigal Processig Coferece (EUSIPCO 9 Glasgow, Scotlad, August 4-8, 9 COARSE ANGLE ROTATION MODE CORDIC BASED SINGLE PROCESSING ELEMENT QR-RLS PROCESSOR Qiag Gao, Louise Crockett ad Robert Stewart

More information

SD vs. SD + One of the most important uses of sample statistics is to estimate the corresponding population parameters.

SD vs. SD + One of the most important uses of sample statistics is to estimate the corresponding population parameters. SD vs. SD + Oe of the most importat uses of sample statistics is to estimate the correspodig populatio parameters. The mea of a represetative sample is a good estimate of the mea of the populatio that

More information

( n+1 2 ) , position=(7+1)/2 =4,(median is observation #4) Median=10lb

( n+1 2 ) , position=(7+1)/2 =4,(median is observation #4) Median=10lb Chapter 3 Descriptive Measures Measures of Ceter (Cetral Tedecy) These measures will tell us where is the ceter of our data or where most typical value of a data set lies Mode the value that occurs most

More information

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve Advaces i Computer, Sigals ad Systems (2018) 2: 19-25 Clausius Scietific Press, Caada Aalysis of Server Resource Cosumptio of Meteorological Satellite Applicatio System Based o Cotour Curve Xiagag Zhao

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter The Processor Part A path Desig Itroductio CPU performace factors Istructio cout Determied by ISA ad compiler. CPI ad

More information

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only Edited: Yeh-Liag Hsu (998--; recommeded: Yeh-Liag Hsu (--9; last updated: Yeh-Liag Hsu (9--7. Note: This is the course material for ME55 Geometric modelig ad computer graphics, Yua Ze Uiversity. art of

More information

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua Iteratioal Coferece o Automatio, Mechaical Cotrol ad Computatioal Egieerig (AMCCE 05) Mobile termial 3D image recostructio program developmet based o Adroid Li Qihua Sichua Iformatio Techology College

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Lecture 5. Counting Sort / Radix Sort

Lecture 5. Counting Sort / Radix Sort Lecture 5. Coutig Sort / Radix Sort T. H. Corme, C. E. Leiserso ad R. L. Rivest Itroductio to Algorithms, 3rd Editio, MIT Press, 2009 Sugkyukwa Uiversity Hyuseug Choo choo@skku.edu Copyright 2000-2018

More information

Intro to Scientific Computing: Solutions

Intro to Scientific Computing: Solutions Itro to Scietific Computig: Solutios Dr. David M. Goulet. How may steps does it take to separate 3 objects ito groups of 4? We start with 5 objects ad apply 3 steps of the algorithm to reduce the pile

More information

Efficient Hardware Design for Implementation of Matrix Multiplication by using PPI-SO

Efficient Hardware Design for Implementation of Matrix Multiplication by using PPI-SO Efficiet Hardware Desig for Implemetatio of Matrix Multiplicatio by usig PPI-SO Shivagi Tiwari, Niti Meea Dept. of EC, IES College of Techology, Bhopal, Idia Assistat Professor, Dept. of EC, IES College

More information

UNIVERSITY OF MORATUWA

UNIVERSITY OF MORATUWA UNIVERSITY OF MORATUWA FACULTY OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING B.Sc. Egieerig 2014 Itake Semester 2 Examiatio CS2052 COMPUTER ARCHITECTURE Time allowed: 2 Hours Jauary 2016

More information

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0 Polyomial Fuctios ad Models 1 Learig Objectives 1. Idetify polyomial fuctios ad their degree 2. Graph polyomial fuctios usig trasformatios 3. Idetify the real zeros of a polyomial fuctio ad their multiplicity

More information

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL Automatic Geeratio of Polyomial-Basis Multipliers i GF (2 ) usig Recursive VHDL J. Nelso, G. Lai, A. Teca Abstract Multiplicatio i GF (2 ) is very commoly used i the fields of cryptography ad error correctig

More information

Counting Regions in the Plane and More 1

Counting Regions in the Plane and More 1 Coutig Regios i the Plae ad More 1 by Zvezdelia Stakova Berkeley Math Circle Itermediate I Group September 016 1. Overarchig Problem Problem 1 Regios i a Circle. The vertices of a polygos are arraged o

More information

End Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization

End Semester Examination CSE, III Yr. (I Sem), 30002: Computer Organization Ed Semester Examiatio 2013-14 CSE, III Yr. (I Sem), 30002: Computer Orgaizatio Istructios: GROUP -A 1. Write the questio paper group (A, B, C, D), o frot page top of aswer book, as per what is metioed

More information

Image Analysis. Segmentation by Fitting a Model

Image Analysis. Segmentation by Fitting a Model Image Aalysis Segmetatio by Fittig a Model Christophoros Nikou cikou@cs.uoi.gr Images take from: D. Forsyth ad J. Poce. Computer Visio: A Moder Approach, Pretice Hall, 2003. Computer Visio course by Svetlaa

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Image based Cats and Possums Identification for Intelligent Trapping Systems

Image based Cats and Possums Identification for Intelligent Trapping Systems Volume 159 No, February 017 Image based Cats ad Possums Idetificatio for Itelliget Trappig Systems T. A. S. Achala Perera School of Egieerig Aucklad Uiversity of Techology New Zealad Joh Collis School

More information

The golden search method: Question 1

The golden search method: Question 1 1. Golde Sectio Search for the Mode of a Fuctio The golde search method: Questio 1 Suppose the last pair of poits at which we have a fuctio evaluatio is x(), y(). The accordig to the method, If f(x())

More information

Optimization for framework design of new product introduction management system Ma Ying, Wu Hongcui

Optimization for framework design of new product introduction management system Ma Ying, Wu Hongcui 2d Iteratioal Coferece o Electrical, Computer Egieerig ad Electroics (ICECEE 2015) Optimizatio for framework desig of ew product itroductio maagemet system Ma Yig, Wu Hogcui Tiaji Electroic Iformatio Vocatioal

More information

Project 2.5 Improved Euler Implementation

Project 2.5 Improved Euler Implementation Project 2.5 Improved Euler Implemetatio Figure 2.5.10 i the text lists TI-85 ad BASIC programs implemetig the improved Euler method to approximate the solutio of the iitial value problem dy dx = x+ y,

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

Generation of Distributed Arithmetic Designs for Reconfigurable Applications

Generation of Distributed Arithmetic Designs for Reconfigurable Applications Geeratio of Distributed Arithmetic Desigs for Recofigurable Applicatios Christophe Bobda, Ali Ahmadiia, Jürge Teich Uiversity of Erlage-Nuremberg Departmet of computer sciece Am Weichselgarte 3, 91058

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

New Fuzzy Color Clustering Algorithm Based on hsl Similarity

New Fuzzy Color Clustering Algorithm Based on hsl Similarity IFSA-EUSFLAT 009 New Fuzzy Color Clusterig Algorithm Based o hsl Similarity Vasile Ptracu Departmet of Iformatics Techology Tarom Compay Bucharest Romaia Email: patrascu.v@gmail.com Abstract I this paper

More information

3D MODELING OF STRUCTURES USING BREAK-LINES AND CORNERS IN 3D POINT CLOWD DATA

3D MODELING OF STRUCTURES USING BREAK-LINES AND CORNERS IN 3D POINT CLOWD DATA 3D MODELING OF STRUCTURES USING BREAK-LINES AND CORNERS IN 3D POINT CLOWD DATA Hiroshi YOKOYAMA a, Hirofumi CHIKATSU a a Tokyo Deki Uiv., Dept. of Civil Eg., Hatoyama, Saitama, 350-0394 JAPAN - yokoyama@chikatsulab.g.dedai.ac.jp,

More information

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO Sagwo Seo, Trevor Mudge Advaced Computer Architecture Laboratory Uiversity of Michiga at A Arbor {swseo, tm}@umich.edu Yumig Zhu, Chaitali

More information

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process Vol.133 (Iformatio Techology ad Computer Sciece 016), pp.85-89 http://dx.doi.org/10.1457/astl.016. Euclidea Distace Based Feature Selectio for Fault Detectio Predictio Model i Semicoductor Maufacturig

More information

Analysis of Algorithms

Analysis of Algorithms Presetatio for use with the textbook, Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 2015 Aalysis of Algorithms Iput 2015 Goodrich ad Tamassia Algorithm Aalysis of Algorithms

More information

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM MATEC Web of Cofereces 79, 01014 (016) DOI: 10.1051/ mateccof/0167901014 T 016 BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM Staislav Shidlovskiy 1, 1 Natioal Research

More information

A Parallel Reconfigurable Architecture for Real-Time Stereo Vision

A Parallel Reconfigurable Architecture for Real-Time Stereo Vision 2009 Iteratioal Cofereces o Embedded Software ad Systems A Parallel Recofigurable Architecture for Real-Time Stereo Visio Lei Che Yude Jia Beijig Laboratory of Itelliget Iformatio Techology, School of

More information

The Counterchanged Crossed Cube Interconnection Network and Its Topology Properties

The Counterchanged Crossed Cube Interconnection Network and Its Topology Properties WSEAS TRANSACTIONS o COMMUNICATIONS Wag Xiyag The Couterchaged Crossed Cube Itercoectio Network ad Its Topology Properties WANG XINYANG School of Computer Sciece ad Egieerig South Chia Uiversity of Techology

More information

Design of Efficient Pipelined Radix-2 2 Single Path Delay Feedback FFT

Design of Efficient Pipelined Radix-2 2 Single Path Delay Feedback FFT IOSR Joural of VLSI ad Sigal Processig IOSR-JVSP Volume Issue Ver. I May-Ju. 0 PP 88-9 e-iss: 9 00 p-iss o. : 9 97 www.iosrjourals.org Desig of Efficiet Pipelied Radi- Sigle Path Delay Feedbac FFT isha

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

CSE 417: Algorithms and Computational Complexity

CSE 417: Algorithms and Computational Complexity Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpeCourseWare http://ocw.mit.edu 6.854J / 18.415J Advaced Algorithms Fall 2008 For iformatio about citig these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advaced Algorithms

More information