FPGA Implementation for Real-time Chroma-key Effect Using Coarse and Fine Filter Nguyen Thanh Sang

Truong Quang Vinh

Faculty of Electronic and Telecommunication Ho Chi Minh City University of Science, Vietnam National University - Ho Chi Minh City Ho Chi Minh city, Viet Nam E-mail: [email protected]

Faculty of Electrical and Electronics Engineering Ho Chi Minh City University of Technology Vietnam National University - Ho Chi Minh City Ho Chi Minh city, Viet Nam E-mail: [email protected]

Abstract— Chroma-key is a robust and important technique for processing image or video that is widely used in cinema films, magazine covers, video game industries as well as television programs such as weather forecast, live talk show, ect. This paper presents study of Chroma-key method and proposes a hardware architecture for Chroma-key effect in real-time. Based on K-means algorithm, we propose an improved method namely Coarse and Fine Filter, which is more robust on segmentation and more appropriate for hardware design thanks to usage of small buffer. A VLSI architecture for the proposed method is implemented on the Altera DE2 FPGA board. Experimental results show that the proposed design can perform Chroma-key effect with pleasing quality in real-time. Index Terms—Chroma-key effect, K-means clustering, VLSI architecture, FPGA.

I.

INTRODUCTION

Chroma-key is a technique that a foreground object extracted from a foreground frame will be combined with a background frame to create a new composite frame for a special effect. The foreground frame has two parts consisting of foreground and background objects, in which the background object is a solid color, usually green or blue. Fig. 1 shows an example of a foreground frame with green screen of background and a background frame. The frames are then processed by using Chroma-key technique. Chroma-key effect is often used in films, television programs, and in the weather forecasting, especially. The weather reporter generally stands in front of a green or blue screen. Meanwhile, the green or blue background color will be replaced with a weather map when weather report is telecasting. In general, the Chroma-key tools are used widely in creation alien worlds and impossible situations to increase more special effects or save a big amount of money for the sections that can perform in studio of the movie in

the modern entertainment industry. The Chroma-key effect can be done in post-production or in real-time. In post-production, one is used almost by software [5, 7] and in real-time, one is commonly used as a Chroma-key device to connect to or include in a camera [4, 8, 10, 11, 14]. The Chroma-key effect includes a part of science and a part of art. Thus, in order to achieve the best result, techniques in studio and in processing Chroma-key effect by software or device should be combined together. This paper introduces a Chroma-key core designed and implemented on FPGA to perform the Chroma-key effect in real-time. The content of the paper consists of six sections. Section I introduces the general problem. Section II presents some reference methods which can perform the Chroma-key effect on the Matlab software. In section III, an improved method which is intended for the hardware solution in real-time is presented. Then, a proposed VLSI architecture for the Chroma-key effect in real-time is described in section IV. Section V shows the experimental results obtained from the implementation of the design on the Altera DE2 board. The final section, the conclusion of this paper is shown in section VI. II.

STUDY OF CHROMA-KEY METHODS

A common chroma-key method is to find a mask representing for the foreground region extracted from foreground frame, in which the pixels belong to foreground object will be equal to 1, and ones belong to background object will be equal to 0. Therefore, the mask will show up two colors, white and black. The values that are equal to 1 are white, and ones that are equal to 0 are black. After the mask has been obtained, the Chroma-key effect is performed on foreground and background frames with the mask as below equation: C = Fg.*mask + Bg.*(~mask)

(1)

Figure 1. Illustration of the Chroma-key effect. (a) Foreground frame, (b) background frame, (c) composite frame.

where C is composite frame, mask is the mask of foreground frame, Fg and Bg are value of all pixels in the RGB color space of the foreground and background frame, respectively.

978-1-4673-2088-7/13/$31.00 ©2013 IEEE

Some methods that can perform the Chroma-key effect are referred and presented as follows:

(a)

(b)

(c)

A. Fixed Key Method This method is demonstrated by Thilina Sammera [16]. He proposed a simple method to find out a mask of the foreground frame. However, the use of the method to the Chroma-key process has to need a key value first. A manipulation scans overall values of the red (256 values), green (256 values), blue (256 values) components in each pixel of foreground frame to reach the key value. It takes many times to do that, so he has built a GUI (Graphic User Interface) to help finding the key value easily.

two, K-Means, a simple and effective clustering algorithm is an appropriate choice.

This method has proposed a simple equation to find out the mask of foreground frame. But if this one is used, finding a key value must be performed first by scanning over 256x256x256=16.777.216 values. It is hence very timeconsuming and difficult in the finding key exactly; therefore, this method is not chosen to implement by hardware. The simulation result of this method is seen in Fig. 7(b) with key=[75 170 80] for green background object and key=[130 172 80] for blue background object.

Kardi Teknomo proposed a modified K-Means function for the Chroma-key effect which uses some iterations before the clustering has reached stability [17]. The simulation result on Matlab is shown in Fig. 7(d). This method has improved the performance of clustering process. However, the number of iterations in each different foreground frames is large, about eight or nine iterations in the testing foreground frames. Thus, the required buffer for the algorithm is extremely large. Moreover, the number of iterations is not constant for every different foreground frames; hence, the size of buffer needed for hardware solution is not fixed.

B. K-Means Clustering Method In order to find a mask for Chroma-key method, keyvalue based methods cannot provide pleasing result due to the noise of the solid color in background object. A clustering method must be used to find the mask for Chromakey method. Since the number of cluster is predefined as

In the Matlab software, a K-Means function is ready and how to use this function to classify color clustering is guided at an example in [18]. In that example, the image is converted from RGB to L*a*b* color space, a* and b* components are used to find the mask of foreground, and then create composite frame. Chroma-key effect performed by K-Means clustering has fairly good result, as shown in Fig. 7(c).

III.

PROPOSED CHROMA-KEY METHOD

The required buffer for the K-Means Clustering method is very large, and it is a really hard constraint for real-time

- Use i variable to scan via number of line in a frame

START

- Use j variable to scan via number of pixel on each line in a frame

Read Foreground(FG) and Background(BG) frame

- Calculate square of distance from a pixel to 2 centroids c11 and c12 square_dist11 = (pixel(i,j) – c11)^2 square_dist12 = (pixel(i,j) – c12)^2

- set quality value of BG - Find value of 2 centroids for Coarse filter c11 = pixel(1,1); c12 = pixel(1,1) + 2*deviation; Y

square_dist11 <= square_dist12

Coarse Filter

N

Backup the values of BG sum2=sum2+ab(i,j) count2=count2+1

Backup the values of BG sum1=sum1+ab(i,j) count1=count1+1

count2=0

Y

All pixels of this line belong to BG g(i,:)=0

Y

All pixels of this line belong to Fg g(i,:)=1

N

count1=0 N

Find value of 2 centroids for Fine filter: c21=sum1/count1 c22=sum2/count2 Create the mask of foreground - Use j variable to scan via number of pixel on each line in a frame Perform Chroma-key for FG and BG with mask imCk = imFg.*mask + imBg.*(~mask)

- Calculate square of distance from a pixel to 2 centroids c21 and c22 square_dist21 = (pixel(i,j) – c21)^2 square_dist22 = (pixel(i,j) – c22)^2

END

Y

square_dist21 <= square_dist22

g(i,j) = 0 (background)

Fine Filter N

g(i,j) = 1 (foreground)

Figure 2. Flowchart of the Coarse and Fine Filter method.

hardware implementation. A requirement of decreasing the buffer size is considered. On the other hand, in the weather forecasting programs or movies that use the Chroma-key effect will have that the first line of the composite frame always includes all the pixels of background frame.

transferred to the Altera DE2 board to perform the Chromakey effect by a Chroma-key chip, which involves the designed Chroma-key core embedded in the ready TV Box module. After the Chroma-key process, the output video signal is displayed on a VGA (LCD/CRT) monitor. The block diagram of the Chroma-key chip is shown in Fig. 4 in detail.

The main idea of this method is to improve the K-Means function modified by Kardi Teknomo. In the proposed method, the number of iterations is fixed on two, coarse and fine filter processes, and the iteration on each frame is replaced by on each line of frame. So, the size of buffer will be decreased considerably from a frame size to a line size of a frame in hardware solution. For example, a frame with 640x480 sizes, the size of buffer is just equal 640.

B. L*a*b*, RGB and YCbCr Color Space All foreground frames utilized in the simulation on Matlab software are the RGB color space, then they are converted into the L*a*b* color space (except the Fixed Key method) to find out the mask. The a* component is used for green color, and the b* component is used for blue color of background object in the foreground frame.

In addition, the clustering just done for all pixels on each line of a frame instead of all pixels of a frame will execute more accurately. A value that uses to set the permissible minimum deviation between foreground and background object in foreground frame is applied to the coarse filter process as input value for the setting two centroids differently in the first iteration to help this filter perform better. The fine filter updates values of the two centroids and applies clustering process based on Euclidean distances from those centroids. The flow chart of this method is seen in Fig. 2, and the simulation result of this one on Matlab software shown in Fig. 7(e)(f) is positive and encouraging. The most important things is that this method with the advantages such as small buffer size, high accuracy in the clustering is to appropriate for implementing the Chroma-key effect by hardware in real-time. IV.

VLSI ARCHITECTURE FOR CHROMA-KEY EFFECT IN REAL-TIME

Applying the Coarse and Fine Filter method for performing the Chroma-key effect is that the change of color space from RGB to L*a*b* should be done first. Since there is no function that converts directly RGB into L*a*b* color space, this converting must be realized through two the following steps:  RGB into XYZ color space  XYZ into L*a*b* color space The equation to convert RGB into XYZ and XYZ into L*a*b* color space are very complicated and difficult for hardware implementation. Therefore, the Cb and Cr components of the YCbCr color space are used to implement the Chroma-key effect in real-time [9, 10]. Besides, inside the TV Box module, there are the YUV442_to_444 and YCbCr_to_RGB blocks to perform the conversion YUV_442 into YUV_444 (YCbCr) and YCbCr into RGB color space, respectively. So, the YCbCr color space is studied whether it can be used to find mask of the foreground frame in the Chroma-key process or not.

This section presents a VLSI architecture that can perform the Chroma-key effect in real-time on a FPGA chip by using Coarse and Fine Filter method. The FPGA chip used here is the Cyclone II chip of Altera Corporation integrated on the Altera DE2 board. In implementing process, the Chroma-key core will be designed and embedded in the TV Box module to perform the Chromakey effect. A. TV Box Module In the design process, finding a system which can demonstrate the implementation of the design in real-time is concerned. A TV Box module developed by the Altera Corporation for studying about the multimedia technologies of students or engineers is selected. The performance of the TV Box module is efficiently demonstrated on the Altera DE1 and DE2 boards. One of the most important reasons for using this module is that its specification and Verilog code are released free to all users by Altera Corp. It is thus easy to understand the activity of all blocks of TV Box module, and suitable to study and design a new module that can be integrated in this module to perform a special function or visional effect as the Chroma-key effect. Fig. 3 illustrates a proposed system to perform the Chroma-key effect on the Altera DE2 board. The input video signal is retrieved from a camera, and then it is

Figure 3. A proposed system for implementing Chroma-key effect in real-time.

TD_HS

ITU R656 Decoder

TD_VS

TV Decoder 7181

OCS_27

Blank Ypixel_clock

clk_27M

iRST_N

YUV442 _to_444

16

Dual Port Line Buffer

clk_27M

iRST

B_fg

iDVAL

iYCbCr

Cr[7:0] TD_DATA[7:0]

iCLK

iCLK

Y[7:0] Cb[7:0]

iX 10

TD_HS

mTD_HSx2

TD_VS

OCS_27

oY 8 oCb 8 oCr 8

YCbCr _to_RGB

G_fg R_fg 8

8

8

oCr R_data_o

oCb

10

R_bg

Sdram&Sram _mem

8

B_bg 8 set_deviation_i

Chroma_key _core

G_data_o

10

sel_color_bg_i TD_HS

I2C_SCLK

OCS_27

I2C_SDAT

OCS_50 RESET

I2C AV Config

HSYNC x2

OCS_27 TD_HS TD_VS

Lock Detector

chromakey_en_i

mTD_HSx2

Sync_en

VGA_R

G_bg

8

B_data_o

Video DAC 7123

VGA_G

VGA D-SUB

VGA_B

iRST_N

VGA Timing Generate

iCLK

10 VGA_BLANK VGA_SYNC VGA_CLK VGA_SYNC VGA_CLK

Cyclone II 2C35

Figure 4. Block diagram of the Chroma-key chip in the FPGA CycloneII2C35 chip on Altera DE2 board.

The formula converted the RGB into YCbCr color space is shown in Table I. TABLE I. A FORMULA CONVERT RGB INTO YCBCR COLOR SPACE [26]

Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16 Cr = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128 Cb = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128 Some features of the foreground frame can be used to implement the Chroma-key effect:  In the foreground frame whose background object is green color, the red and blue intensities of the pixels in background region are very small, while the green intensity of those pixels is very high. Ideally, R:G:B value of these pixels are 0:255:0, respectively. Thereby, according to the formula in Table I., Cr component of these pixels will be much less than ones that belong to the foreground object region. Therefore, the Cr component should be used to apply K-Means Clustering combined with the Coarse and Fine Filter method.

 In the foreground frame whose background object is blue color, the red and green intensities of the pixels in the background region are very small, while the blue intensity of those pixels is very high. Ideally, R:G:B value of these pixels are 0:0:255, respectively). Hence, according to the formula in Table I., Cb component of these pixels will be much greater than ones that belong to the foreground object region. Therefore, the Cb component should be noticed. In this case, in order to apply properly K-Means Clustering combined with the Coarse and Fine Filter method, the (255 - Cb) value should be used. The implementation of the Chroma-key effect in YCbCr color space with the Coarse and Fine Filter method is done and the simulation result on Matlab is shown in Fig. 7(g)(h). C. Architecture of the Chroma_key Core The Chroma_key core is designed and embedded in the TV Box module to create the Chroma-key chip. The Coarse and Fine Filter method is applied to this design. 1) Block Diagram: The Chroma-key core consists of five blocks as shown in Fig.5. a) Coarse_filter block: This is one of two main blocks of the core. Its function is to perform coarsely the clustering from the first two centroids, one is the Cr or Cb value of the first pixel of the foreground frame, based on the background object that is green or blue; and another is the Cr or Cb iCLK

Chroma_key_core

iRST_N R_fg_i Foreground interface

R_fg

8

G_fg_i

8

B_fg_i

8

wr_fifo rd_fifo reset_fifo

Fifo_and_delay

B_fg R_data_o 10 R_bg

R_bg_i Background interface

G_fg

8

G_bg_i

8

B_bg_i

Delay_background_data

B_bg

Cr_or_255subCb 8 sum1 chroma_key_en_i sel_color_i set_deviation_i 8 Cb_i Cr_i

8 8

Coarse_filter

18 sum2 18 count1 10 count2 10 div_en

10

G_bg

8

Mask process interface

G_data_o

Chroma_key_ process

B_data_o 10

Display Interface

value of the first pixel plus amount of 2*set_deviation_i. The sum1, count1, sum2, count2 values created by this block will be transfered to the Fine_filter block to calculate for two new centroids of the fine filter process in next iteration. Besides, this block also creates signals to control the FIFOs of the other blocks such as rd_fifo, wr_fifo and reset_fifo. b) Fine_filter block: This is another main blocks of the core. Depending on the sum1, count1, sum2 and count2 values that get from the Coarse_filter block, two centroids for the fine filter process will be computed after the div_en signal is active. The value of two centroids will obtain after the two cycles through a divider inside this block. The clustering realized with two new centroids and the Cr_or_255subCb value of the Coarse_filter block will create a mask of the foreground frame, and then the mask will be transfered to the Chroma_key_process block to perform the Chroma-key effect. c) Fifo_and_delay block: This block consists of three FIFOs to store red, green, blue components of each pixel in the foreground frame. The values that read out from the FIFOs will be delayed one cycle to synchronize with the mask of the Fine_filter block. The values after delay will be transfered to the Chroma_key_process block to perform the Chroma-key effect. d) Delay_background_data block: This block performs the delay on the background frame data which read from memory device to synchronize with the foreground frame data of the Fifo_and_delay block and the mask of the Fine_filter block. The output of this block will be also transfered to the Chroma_key_process block to perform the Chroma-key effect. e) Chroma_key_process block: Depending on the foreground frame data, background frame data and the mask value, this block will perform the Chroma-key process. 2) Pipeline Structure: The specification of the Chroma_key core is shown in detail in Fig. 6 (the part is surrounded by the red line). The Coarse and Fine Filter method is applied to this design; hence, the two most important blocks of this core, Coarse_filter and Fine_filter blocks, are corresponding to two main processes in the hardware design. In the first process, through studying the performance of the YCbCr_to_RGB block in the TV Box module, this block will take to 5 clock cycles. Since the Cr and Cb components are input both Coarse_filter and YCbCr_to_RGB blocks, and the Cr_or_255subCb value (output of the Coarse_filter block) need to be synchronous with the R, G, B (outputs of the YCbCr_to_RGB block), the Coarse_filter block is designed as a five-stage pipeline structure. In the second process, the Fine_filter block is designed as a three-stage pipeline structure, and then the Chroma_key_process block spends one clock cycle; therefore, this process will be done in four clock cycles.

mask 8

Fine_filter

chroma_key_en

wr_fifo rd_fifo reset_fifo

Figure 5. Block diagram of the Chroma-key core.

V.

EXPERIMENTAL RESULTS

A demonstration system has been set up for testing the implementation of design in real-time on the Altera DE2 board as shown in Fig. 8. This system consists of a camera used to record a video that its each frame is a foreground

frame in Chroma-key process, a Altera DE2 board with the FPGA Cyclone-II chip, a monitor used to display the video result after the Chroma-key effect is implemented, a green or blue cardboard utilized to create the background object of the foreground frame, and a computer (laptop) used to download the Chroma-key program to the Altera DE2 board. Besides, a person also need to work as a foreground object of the foreground frame.

desired background for the Chroma-key process system. Especially, since the lighting condition is not perfect, it still remains the shadow of the foreground object on the background object. Thus, the noises still exist at the shadow places in the implementation results of this system. In general, the proposed design can perform the Chromakey effect in real-time properly, and the experimental results are fairly good and satisfactory. They can be better and higher quality if the design is implemented in a professional studio or television system.

The experimental results shown in Fig. 9(a)(b) are encouraging and satisfactory despite using a demonstration system in which a cardboard is not enough qualification as

Fifo_and_Delay

iCLK reset_fifo R_fg_i Block này thực hiện trong 5 clock

rd_fifo

iCLK

iCLK

clk_27M

iRST_N

clk_27M

iRST_N

YUV422_to _444

16 iX

YCbCr_to_ RGB

oY 8 8

10

oCb

wr_fifo

oCr

8

iCLK

oCb

255-Cb

0

chroma_key_en_3 chroma_key_en_i

chroma_key_en_2 Count

Delay1

request_vga

count_request_ vga_2_reg

Capture first pixel

16

capture_fs_pixel

c11

Counter & get 2 centroids

c12 count_frame

16

8

FIFO_Cr_or _255subCb

iCLK

rd_fifo

chroma_key_en_5

set_deviation_i

Delay_ background_ data_before

wr_fifo

quotien_1

Object extraction & Create fifo control signals

count1 div_en

LPM_DIVIDE_1 (2 stages pipeline) clk_en

sum2

clk_en

iCLK

mask 8

remain_1

remain_2

wr_fifo rd_fifo

Delay1

chroma_key_en_coarse_o

chroma_key_en_fine_2

Delay1

chroma_key_en_fine_3

Delay1

Clk_1_3

Clk_1_5

Clk_1_4

R_data_o

10

G_data_o

Video DAC 7123

10

B_data_o

chroma_key_en_fine_o

R_bg_i

Clk_1_2

B_fg_i

10

reset_fifo

count_opposite

mask_ reg

quotien_2

LPM_DIVIDE_2 (2 stages pipeline)

count2

Calculate_ mask (Combinea)

G_fg_i

Chroma_key_ process

Cr_or_255subCb_fifo_o Cr_or_255subCb_fifo_i

Delay1

sum1

chroma_key_en_4

count_request_ vga_3_reg

set_deviation_i

SRAM_ Mem

Delay1

count_line

Clk_1_1

Fine_Filter

data_o <= (mask & fg) + (~mask & bg)

Delay1

Cr_or_255subCb_3_reg

Delay1

Cr_or_255subCb_2_reg

Cr_or_255subCb

SRAM_ Controller (0_clks) rd_en

iCLK reset_fifo

oCr

SDRAM_ Controller rd_en(2_clks)

R_fg_i

Coarse_Filter

1

Register

B2_o

rd_fifo

sel_color_bg_i 1: blue 0:green

255subCb

B_fg_FIFO

wr_fifo

Chroma_key_core

set_color_bg_i

Delay_request_ vga

8

Delay1

G_fg_FIFO

B_fg_i 10

reset_fifo

16

8

G2_o

G_fg_i

10

rd_fifo

8

SDRAM _Mem

iCLK

iCLK

10

reset_fifo

iYCbCr

oRequest_vga

R2_o

R_fg_FIFO

wr_fifo

Clk_2_1

Clk_2_2

Clk_2_3

G_bg_i

B_bg_i

Clk_2_4

Bg_R 8

8

Delay_background_data (8 clocks)

Bg_G 8

8

Bg_B 8

8

Figure 6. The pipeline structure of the Chroma_key_core.

a

b

c

d

e

f

g

h

Figure 7. Simulation results on Matlab software. (a) foreground frames, (b) composite frames of the fixed key method, (c) composite frames of the method using K-Means clustering function in Matlab software, (d) composite frames of the method using K-Means clustering function modified by KardiTeknomo, (e) and (f) composite frames after coarse filter and fine filter process of the Coarse and Fine Filter method in L*a*b* color space, (g) and (h) composite frames after coarse filter and fine filter process of the Coarse and Fine Filter method in YCbCr color space.

VI.

CONCLUSION

REFERENCES

In this paper, we have proposed Coarse and Fine Filter method the Chroma-key effect. We also have proposed a VLSI architecture for Chroma-key effect in real-time. The whole design is separated in two main processes, the coarse filter and the fine filter processes, in which each process is designed with pipeline structure. And then, the design is combined with the TV Box module, developed by the Altera Corporation to implement the Chroma-key effect in real-time on the Altera DE2 board. A demonstration system is also set up to show the performance of the proposed design in real-time. The experimental results show that the quality of the output composite frames by the proposed system is better than Fixed key and K-mean methods.

[1]

The results of this paper are initial achievements in order to propose a Chroma-key IP core, which can be applied for the professional studios or television systems in the future.

[8]

[2] [3] [4] [5] [6] [7]

[9] [10] [11] [12] [13] [14] [15]

Figure 8. A demonstrated system for the Chroma-key effect in real-time.

[16] [17] [18]

(a)

.

(b) Figure 9. The implementation results in real-time. (a) green background, (b) blue background.

Alvy Ray Smith and James F. Blinn (1996), “Blue Screen Matting”, SIGGRAPH, pp. 259–268 Changick Kim, Jungwoo Park, Jaeho Lee, and Jenq-Neng Hwang (2007), “Fast Extraction of Objects of Interest from Images with Low Depth of Field”, ETRI Journal, 29(3) Christopher Schultz (2006), Digital Keying Methods, Technical report, University of Bremen, Germany David Yamnitsky (2009), Real-Time Chroma Keying on the GPU, A White Paper by David Yamnitsky Boris FX. F. van den Bergh, V. Lalioti (1999), “Software Chroma Keying in an Immersive Virtual Environment”, South African Computer Journal, pp. 155-162 Gilbert A (2008), Scalable and Adaptable Tracking of Humans in Multiple Camera Systems, PhD. Thesis, University of Surrey Guildford, Surrey GU2 7XH, U.K. Hiroki Agata, et al., “Region Extraction Using Chroma Key with a Checker Pattern Background”, Faculty of Engineering, Shizuoka University, Japan Kosmas Dimitropoulos, et al. (2010), “Improve 3D video synthesis combining graph cuts and chroma key technology”, 3DTVConference: The True Vision - Capture, Transmission and Display of 3D Video (3DTV-CON), pp. 1-4 Keith Jack (2001), Video Demystified, LLH Technology Publishing, United States of America Krit Panusopone, Xuemin Chen (1999), “Shape coding with a modified chroma key technique”, 42nd Midwest Symposium, pp. 422 – 425 Moshe Ben-Ezra (2000), “Segmentation with Invisible Keying Signal”, Proc. Of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 32–37. Ronen Gvili, et al. (2003), “Depth keying”, Proceedings of SPIEIS&T Electronic Imaging, pp. 564-574 Seoksoo Kim (2011), “Virtual Studio System for Augmented Reality & Chroma Key Processing”, Advanced Communication Technology (ICACT), pp. 762-765 Shiaeru Shirnoda, et al. (1989), “New Chroma-key lmaging Technique with Hi-Vision Background”, IEEE Transactions on broadcasting, 35(4), pp. 357-361. T. Fukaya, et al. (2002), “An effective Interaction Tool for Performance in the Virtual Studio – Invisible Light Projection System”, IBC, Amsterdam, pp. 389-396 Fixed key method, available: http://thilinasameera.wordpress.com/2010/12/03/chroma-keyingmatlab-implementation-1-0/ KardiTeknomo’s method, available: http://people.revoledu.com/kardi/tutorial/ kMean/NumericalExample.htm Available: http://www.mathworks.com/products/image/examples.html?file=/p roducts/demos/shipping/images/ipexhistology.html

Paper Title (use style: paper title)

A VLSI architecture for the proposed method is implemented on the Altera DE2 FPGA board. Experimental results show that the proposed design can perform Chroma-key effect with pleasing quality in real-time. Index Terms—Chroma-key effect, K-means clustering, VLSI architecture, FPGA. I. INTRODUCTION. Chroma-key ...

635KB Sizes 1 Downloads 265 Views

Recommend Documents

Paper Title (use style: paper title) - Sites
Android application which is having higher graphics or rendering requirements. Graphics intensive applications such as games, internet browser and video ...

Paper Title (use style: paper title) - GitHub
points in a clustered data set which are least similar to other data points. ... data mining, clustering analysis in data flow environments .... large than the value of k.

Paper Title (use style: paper title)
College of Computer Science. Kookmin ... of the distinct words for clustering online news comments. In ... This work was supported by the Basic Science Research Program through .... is performed on class-wise reviews as depicted in Fig. 1(b).

Paper Title (use style: paper title)
School of Electrical Engineering, KAIST .... [Online]. Available: http://yann.lecun.com/exdb/mnist/. [5] Design Compiler User Guide, Synopsys, Mountain View, CA, ...

Paper Title (use style: paper title)
on the substrate, substrate pre-deposition process, and Pd deposition .... concentration is below the ignition threshold, which is often important for such a sensor.

Paper Title (use style: paper title)
Turin, Italy [email protected]. Hui Wang. School of Information Engineering. Nanchang Institute of Technology. Nanchang 330099, China [email protected]. Abstract—Frequency Modulation (FM) sound synthesis provides a neat synthesis

Paper Title (use style: paper title)
mobile wireless networking, it is becoming possible to monitor elderly people in so-called ... sensor network that might be used in order to recognize tasks described in Table 1. ..... its advantages, and their relative merits and demerits are still.

Paper Title (use style: paper title)
zero which means cosθ tends to 1. The distance between each of the test vectors and profile vectors were obtained using (2). If the cosine value between the test vector and profile hub vector was greater than the cosine value between the same test v

Paper Title (use style: paper title)
communication channel between the sensors and the fusion center: a Binary ..... location estimation in sensor networks using binary data," IEEE Trans. Comput., vol. ... [9] K. Sha, W. Shi, and O. Watkins, "Using wireless sensor networks for fire.

Paper Title (use style: paper title)
search and compact storage space. Although search ... neighbor search methods in the binary space. ... Given a query ∈ { } , we list the online search algorithm.

Paper Title (use style: paper title)
Research Program Fellowships, the University of Central Florida – Florida. Solar Energy Center (FSEC), and a NASA STTR Phase I contract. NNK04OA28C. ...... Effluents Given Off by Wiring Insulation," Review of Progress in. QNDE, vol. 23B ...

Paper Title (use style: paper title)
In Long term Evolution. (LTE), HARQ is implemented by MAC level module called .... the receiver is decoding already received transport blocks. This allows the ...

use style: paper title
helps learners acquire scientific inquiry skills. One of ... tutoring systems; LSA; natural language processing ..... We collected data from 21 college students who.

Paper Title (use style: paper title)
Reducing Power Spectral Density of Eye Blink Artifact through Improved Genetic ... which could be applied to applications like BCI design. MATERIALS AND ...

Paper Title (use style: paper title)
general, SAW technology has advantages over other potentially competitive ... SAW devices can also be small, rugged, passive, wireless, and radiation hard,.

Paper Title (use style: paper title)
provide onboard device sensor integration, or can provide integration with an .... Figure 2 Schematic diagram of a 7 chip OFC RFID tag, and. OFC measured and ..... [3] C. S. Hartmann, "A global SAW ID tag with large data capacity," in Proc.

Paper Title (use style: paper title) - Research at Google
decades[2][3], but OCR systems have not followed. There are several possible reasons for this dichotomy of methods: •. With roots in the 1980s, software OCR ...

Paper Title (use style: paper title) - Research
grams for two decades[1]. Yet the most common question addressed to the author over more than two decades in OCR is: “Why don't you use a dictionary?

Paper Title (use style: paper title)
determine the phase error at unity-gain frequency. In this paper, while comparing some topologies we ... degrees at the integrator unity gain frequency result in significant filter degradation. Deviations from the .... due to gm/Cgd occur at a much h

Paper Title (use style: paper title)
Abstract— The Open Network and Host Based Intrusion Detection. Testbed .... It is unique in that it is web-based. .... sensor is also the application web server.

Paper Title (use style: paper title)
Orlando, FL 32816-2450 (email: [email protected]). Brian H. Fisher, Student .... presentation provides a foundation for the current efforts. III. PALLADIUM ...

Paper Title (use style: paper title)
the big amount of texture data comparing to a bunch of ... level and a set of tile data stored in the system memory from ... Figure 1: Architecture of our algorithm.

Paper Title (use style: paper title)
printed texts. Up to now, there are no ... free format file TIFF. ... applied on block texts without any use of pre- processing ... counting [12, 13] and the reticular cell counting [1]. The main ..... Computer Vision and Image Understanding, vol. 63

Paper Title (use style: paper title)
School of Electrical and Electronic Engineering, Nanyang Technological University, Singapore 639798. Abstract— ... For 60GHz wireless communication systems, the ... the benefit of isolated DC noise from the tuning element. The load on ...