Rajesri Govindaraju
email: rajesri_g@mail.itb.ac.id

Aulia Fashanah
email: aulia.fasha@gmail.com

Dissa Chandra
email: dissarc@gmail.com

Physicians' Adoption of Electronic Medical Records: Model Development using Ability -Motivation -Opportunity Framework

Keywords: EMR, Adoption, AMO, physicisians. Motivation Behavior Ability Opportunity

The benefits of electronic medical record (EMR) adoption by medical personnel, such as physicians, and medical organizations have been discussed in previous studies. However, most of medical personnel and organizations still use traditional paper-based medical records or use EMR ineffectively. This study aims to develop a model of EMR adoption among physicians and analyse the factors influencing the adoption. The model is developed base on Ability, Motivation, and Opportunity (AMO), adapted AMO, and Motivation-Ability FrameworkTen hypotheses were developed in this study. The next part of the study will be done to operationalize and empirically test the model using a survey method.

Introduction

In article 46 paragraph 1 of Medical Practice Law [START_REF] Sjamsuhidajat | Manual Rekam Medis[END_REF], a medical record is defined as "file that contains records and documents about a patient's identity, and also medical examinations, treatments, actions, and other services provided to the patient". Medical records can be used to help physicians in documenting historical records and patient service management [START_REF] Miller | Physicians' Use Of Electronic Medical Records: Barriers And Solutions[END_REF], [START_REF] Su | Development of Taiwanese Electronic Medical Record Systems Evaluation Instrument[END_REF]. Compared to paper-based medical records, electronic medical records (EMR) give a greater possibility for physicians to improve their work performance quality [START_REF] Miller | Physicians' Use Of Electronic Medical Records: Barriers And Solutions[END_REF]. The impact of the use of EMR is also mentioed in [START_REF] Lau | Impact of electronic medical record on physician practice in office settings: a systematic review[END_REF] which stated that 64.3% of studies on EMR found that EMR can improve the performance of medical personnel. Although benefits of EMR have been scientifically discussed by many studies, most of medical personnels use traditional paper-based medical records or use EMR ineffectively. It may be attributed to the failure in EMR adoption [START_REF] Ludwick | Adopting Electronic Medical Records in Primary Care: Lessons Learned From Health Information Systems Implementation Experience In Seven Countries[END_REF] that is related to users' motivation, which consists of internal and external factors [START_REF] Teh | MOA and TRA in Social Commerce: An Integrated Model Proceedings of the[END_REF]. Considering the low adoption rate of EMR among medical personnels, the study reported here aims at developing a model that helps to explain the adoption of EMR by physicians. Although some studies had been done on EMR adoption, most of the respondents in previous studies are medical personnel or medical organizations that have knowledge and have used EMR in some or all processes of their services [START_REF] Hennington | Information Systems and Healthcare XVI: Physician Adoption of Electronic Medical Records: Applying the UTAUT Model in a Healthcare Context[END_REF], [START_REF] Lau | Impact of electronic medical record on physician practice in office settings: a systematic review[END_REF], [START_REF] Ludwick | Adopting Electronic Medical Records in Primary Care: Lessons Learned From Health Information Systems Implementation Experience In Seven Countries[END_REF], [START_REF] Miller | Physicians' Use Of Electronic Medical Records: Barriers And Solutions[END_REF], [START_REF] Su | Development of Taiwanese Electronic Medical Record Systems Evaluation Instrument[END_REF]. A small number of studies discussed EMR adoption in the preparation stage with personnel or medical organizations who have not adopt EMR as their respondents [START_REF] Cauldwell | The Impact of Electronic Patient Records on Workflow in General Practice[END_REF], [START_REF] Garets | Electronic Medical Records VS Electronic Health Records: Yes, There Is a Difference[END_REF], [START_REF] Hunter | New Zealanders' Attitudes Toward Access to Their Electronic Health Records: Preliminary Results From a National Study Using Vignettes[END_REF], [START_REF] Randeree | Exploring Physician Adoption of EMRs: A Multi-Case Analysis[END_REF]. Further, most of the medical personnel in previous studies are not physicians [START_REF] Boonstra | Barriers to the acceptance of electronic medical records by physicians from systematic review to taxonomy and interventions[END_REF], [START_REF] Hennington | Information Systems and Healthcare XVI: Physician Adoption of Electronic Medical Records: Applying the UTAUT Model in a Healthcare Context[END_REF], [START_REF] Heselmans | Family Physicians' Perceptions and Use of Electronic Clinical Decision Support During the First Year of Implementation[END_REF], [START_REF] Lau | Impact of electronic medical record on physician practice in office settings: a systematic review[END_REF], [START_REF] Walter | Physician acceptance of information technologies: Role of perceived threat to professional autonomy[END_REF]. Considering the gap in literature mentioned above, this study aims at developing a model of EMR adoption among physicians with physicians who have adopted and have not yet adopted EMR as respondets and analyze the factors influencing the adoption.

2

Model Development

Ability, Motivation, and Opportunity Theory

Ability, Motivation, and Opportunity (AMO) theory explains that information processing by a person depends on his motivation, opportunity and ability [START_REF] Hughes | The Ability -Motivation -Opportunity Framework for Behavior Research in IS[END_REF]. In this theory, "Motivation" influences "Behavior" with "Ability" and "Opportunity" as moderating influencing factors. The relationships are presented in Figure 1.

Fig. 1. Ability, Motivation, and Opportunity Theory. [START_REF] Hughes | The Ability -Motivation -Opportunity Framework for Behavior Research in IS[END_REF] Introduced to model brand information processing from advertisements, the variables in the model were defined in the context of advertisement. Ability is defined as skill or proficiency in interpreting brand information in an advertisement [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF]. Motivation is defined as the desire to process brand information in the advertisement [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF]. Opportunity reflects the extent to which circumstances evidenced during advertisement exposure are favorable for brand processing [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF].

Firstly used in studies on information processing such as study on new product information processing [START_REF] Hallahan | Enhancing Motivation, Ability, and Opportunity to Process Public Relations Messages[END_REF] and extended study on brand information processing [START_REF] Maclnnis | Enhancing and Measuring Consumers' Motivation, Opportunity, and Ability to Process Brand Information From Ads[END_REF], AMO framework has been used in many studies in different areas of research. In the innovation adoption area, AMO was among others used to understand the individual behavior in the online commerce adoption [START_REF] Teh | MOA and TRA in Social Commerce: An Integrated Model Proceedings of the[END_REF]. AMO was also used to discuss the public health and social issue behaviors [START_REF] Rothschild | Carrots, Sticks, and Promises: A Conceptual Framework for the Management of Public Health and Social Issue Behaviors[END_REF] and consumer behavior [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF].

2.2

Adapted Ability, Motivation, and Opportunity Theory

Among the studies that are based on AMO, there are studies that proposed "Intention" as variable that mediates the influence of "Motivation" on "Behavior" (e.g. [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF]. Further, [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF] used "Ability" and "Opportunity to moderate the influence of intention on behavior. The adapted AMO framework developed by [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF] is presented in Figure 2.

EHRS Adoption Model

Anderson et.al [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF] stated that in an innovation adoption, individual behavior is influenced by ability and motivation. The Electronic Health Record System (EHRS) Adoption Model developed by Anderson et.al [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF] is presented in Figure 3. In the case of technology adoption, ability is related to a person's information system skill and is defined as "Practice ability". In the model, "Practice Ability" consists of "IT infrastructure", "IT related intangibles", and "Physician IT readiness". In addition to "Practice ability", "Practice Motivation" is argued to have an influence on EMR adoption. Motivation pushes a person to give responds. The respond possibilities are willingness to adopt or to not adopt EMR. Motivation sources are external and internal factors. Motivation from external factors, which is called extrinsic motivation, is classified into "Extrinsic coercive pressure" and "Extrinsic normative pressure". Meanwhile, intrinsic motivation from internal factors is called "Intrinsic perceived value".

Motivation

Research Model Development

Based on AMO framework, Adapted AMO, and EHRS Adoption Model, this study developed a model of EMR adoption among physicians. In general, AMO was used as the main theoretical foundation in building the research model. In this study "Motivation", "Opportunity", and "Ability" were defined as physicians' motivation, opportunity, and ability to adopt EMR. AMO theory is used as a foundation in building the model because it is believed that in the context of EMR adoption, "Motivation" is considered as the drives, urges, wishes or desires which initiate the physician intention to use EMR [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF]. "Ability" can facilitate physician in performing adoption of EMR and "Opportunity" is interpreted as situational factors that encourage physician adoption of EMR.

"Behavior" in MOA was changed into "EMR adoption". "Behavior" can be achieved through "Intention" which is controlled by conscious motivation by the physician [START_REF] Ajzen | The Theory of Planned Behavior[END_REF]. Thus, "Intention" was added to mediate the relationship between "Motivation" and "Behavior"/"EMR Adoption". It is in line with the concept used in [START_REF] Hughes | The Ability -Motivation -Opportunity Framework for Behavior Research in IS[END_REF] and adapted MOA model used in [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF], which are originated from the Theory of Planned Behavior (TPB). TPB stated that "Intention" is indication of how hard people are willing to try in order to perform a behavior [START_REF] Ajzen | The Theory of Planned Behavior[END_REF]. In line with [START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF], we argue that "Ability" and "Opportunity" moderate the influence of "Intention" on "Adoption". "Ability" is defined as the capabilities that facilitate physician in performing adoption of EMR whereas "Opportunity" is defined as situational factors that encourage physicians to adopt EMR. As presented in Figure 4, there are 10 variables and 3 variable groups in the model. In the next part, the development of the hypoteses will be discussed. The discussion will be presented in the following four different parts: 1) Intention.

EHRS Adoption

The first hypothesis in this study is that "Intention" to use EMR will have an impact on "EMR Adoption" (behavior).

H1: Physicians' "Intention" to use EMR positively influences their "EMR adoption".

2) Motivation. The first variable group is "Motivation" which is adapted from [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF] and [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. In this model, "Motivation" consists of "Extrinsic coercive pressure", "Extrinsic normative pressure", and "Intrinsic perceived value". "Extrinsic normative pressure" is is normative in nature and addresses the question of how many other practices with which the focal practice routinely interacts have already adopted EMR [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. In a study of interorganizational linkages adoption, normative pressure exhibited the strongest influence on organization-level technology adoption" [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. Intrinsic motivation from internal factors is called "Intrinsic perceived value". Intrinsic motivation involves an individual acting out of an internal belief that the activity is interesting, good, satisfying or right. Intrinsic motivation is inherently autonomous and the behavior showed by it is characterized by individual choice and volition [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. This form of motivation tends to yield positive outcomes in terms of job satisfaction, effective performance and feelings of competence [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF].

H2: "Extrinsic normative pressure" felt by physicians positively influences their "Intention".

H3: Physicians' "Intrinsic motivation" positively influences their "Intention". A physician will be eager to adopt EMR, if he often interacts with external stakeholders who also use EMR [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF], [START_REF] Ilie | Paper versus Electronic: Challenges Associated with Physicians' Usage of Electronic Medical Records[END_REF], [START_REF] Teh | MOA and TRA in Social Commerce: An Integrated Model Proceedings of the[END_REF], [START_REF] Wills | Examining Healthcare Professionals' Acceptance of Electronic Medical Records Using UTAUT[END_REF]. As an example is a situation in a clinic in which medical services have already been done with the support of EMR. Physicians who work at the clinic receive pressure to adapt and follow the technology development. In this situation, the physicians are usually more cooperative to adopt EMR.

H4: "Extrinsic normative pressure" positively moderates the influence of "Intrinsic perceived value" on "Intention" to use EMR.

"Extrinsic coercive pressure" is defined as pressure to adopt EHRS from external entities [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. The forceful characteristic of "Extrinsic coercive pressure", which examples are government laws, hospital regulations, and medical association standards, influences physicians to respond negatively to the pressure itself [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF], [START_REF] Ford | Predicting Computerized Physician Order Entry System Adoption in US Hospitals: Can The Federal Mandate be Met?[END_REF], [START_REF] Miller | Physicians' Use Of Electronic Medical Records: Barriers And Solutions[END_REF]. In line with [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF], this research also addresses interactive relationship between motivating factors. "Extrinsic coercive pressure" may be a motivating factor, but this motivation is a form of controlled motivation that undermines the positive influence of intrinsic motivation. It means that "Extrinsic coercive pressure" is a factor that reduces the influence of physicians' "Intrinsic perceived value" on "intention" to use EMR [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF].

H5: "Extrinsic coercive pressure" negatively moderates the influence of "Intrinsic perceived value" on "Intention" to use EMR.

The influence of "Extrinsic normative pressure" on "EMR adoption" is also influenced negatively by "Extrinsic coercive pressure" [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. It is based on the assumption that the "Extrinsic coercive pressure" reduces the positive influence of "Extrinsic normative pressure" in a similar way it influences the positive influence of "Intrinsic perceived value" on "EMR adoption".

H6: "Extrinsic coercive pressure" negatively moderates the influence of "Extrinsic normative pressure" on "Intention" to use EMR.

Fig. 4. EMR Adoption Model

3) Ability. "Intention" to adopt EMR has to be supported by sufficient "Ability" and "Opportunity" in order to establish a behavior of EMR use. In this research model, "Ability" consists of "IT related intangibles" and "IT readiness". "IT related intangibles" is defined as a condition that users have already used IT and obtained benefits [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. The last component is "Physician IT readiness". This variable is defined as a condition in which existing knowledge gives physicians responsive and agile abilities in adopting a new technology [START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]. As explained in MOA, "Ability" moderates the relationship between "Intention" and "Behavior". In line with that, in this research model, the two components of "Ability" also influence the relationship between "Intention" and "Behavior". The related hypotheses are stated below.

H7: "IT related intangibles" positively moderates the influence of "Intention" to use EMR" on "EMR adoption". H8: "Physician IT readiness" positively moderates the influence of "Intention" to use EMR on "EMR adoption".

4) Opportunity.

"Opportunity" is an uncontrollable aspect for a person [START_REF] Hallahan | Enhancing Motivation, Ability, and Opportunity to Process Public Relations Messages[END_REF]. "Opportunity" in this study is also reffered to as aspects that could encourage adoption of EMR, indirectly. "Opportunity" can be defined as external conditions and situations that cannot be controlled by a person and moderate the desires to adopt EMR to occur [START_REF] Hallahan | Enhancing Motivation, Ability, and Opportunity to Process Public Relations Messages[END_REF], [START_REF] Macinnis | Information Processing form Advertisements: Toward an Integrative Framework[END_REF]. The general ideas of "Opportunity" in previous studies are: [START_REF] Ajzen | The Theory of Planned Behavior[END_REF] the contact between the subject, which is the customer, and the object, which is the advertisement; and (2) the object's characteristics. In the context of public relation message processing behavior studied in [START_REF] Hallahan | Enhancing Motivation, Ability, and Opportunity to Process Public Relations Messages[END_REF], examples for the first type opportunity are exposure time and the absence of distractions that detract from message processing, and examples for the second type opportunity are message length and the number of arguments. In the context of EMR adoption, physicians' opportunity is not only about their contact with EMR system. Physicians always have opportunity to use EMR as long as the organization's EMR system is accessible. If the system is accessible, they may have contacts with the system directly or indirectly through the peer practices. Further, the accessibility of EMR system is also affected by its' characteristics, such as the IT infrastructure and the system functions. Therefore, the first variable in "Opportunity" is "Access to system". In addition, in this model "Access to information" is included as an opportunity variable. This variable represents physicians' opportunity to get in contact with any information media or other sources. However, the opportunity is not affected by the physicians' available time. "Access to information" means access to information from which the physicians can improve their ability and knowledge, as well as their motivation. Examples of the information sources are training, knowledge sharing forum, and information media. Thus, in this model, "Opportunity" consists of "Access to system" and "Access to information". Both the factors support the establishment of "EMR Adoption" from the existing "Intention".

H9: "Access to System" positively moderates the influence of "Intention" to use EMR on "EMR adoption". H10: "Access to Information" positively moderates the influence of "Intention" to use EMR on "EMR adoption".

Methods and Discussion

This paper presents a preliminary study to develop a model of EMR adoption. In the next step, the defined hyphoteses will be tested using an empirical. Before collecting data, the model will be operationalized based on earlier published literature, and the measured variables will be defined. Then, data collection process will be done using a questionnaire survey method. The quantitative data will be analyzed using statistical approach with Partial Least Square and resulting qualitative data will be used to infer the results of research. The sampling method in this study will be purposive sampling in which sampe will be chosen considering the study's objective. This study's objective is to develop a model of EMR adoption among EMR physicians and analyse the factors influencing the adoption. However, as discussed in the model development, there are two extrinsic motivation variables in the model. As we want to get a better understanding about these variables, this study will be focused on EMR adoption by physicians who join in medical organizations. In this study the empirical data will be collected from physicians working in small group practices of twenty or fewer physicians, in which EMR use are encouraged, but not mandatory. We use small group practices because this form of medical service arrangement is popular in Indonesia. Questionnaires will be sent to physicians who join these small group practices providing. These small group practices usually facilitate the physicians with EMR systems to support the administration of the health care services provided to the patients.

Fig. 2 .

 2 Fig.2. Adapted Ability, Motivation, and Opportunity Framework[START_REF] Olander | Understanding of Consumer Behaviour as a Prerequisite for Environmental Protection[END_REF]

Fig. 3 .

 3 Fig. 3. EHRS Adoption Model[START_REF] Anderson | Digitizing Healthcare: The Ability and Motivation of Physician Practices and Their Adoption of Electronic Health Record Systems[END_REF]


Azman Nur
email: nura@utem.edu.my

Ferda Abu

Nanna Ernawan

Shahrin Suryana
email: nsuryana@utem.edu.my

Sahib

Image Watermarking Using Psychovisual Threshold Over the Edge

Keywords: Image watermarking, JPEG image compression, edge detection. 1

Currently the digital multimedia data can easily be copied. Digital image watermarking is an alternative approach to authentication and copyright protection of digital image content. An alternative embedding watermark based on human eye properties can be used to effectively hide the watermark image. This paper introduces the embedding watermark scheme along the edge based on the concept of psychovisual threshold. This paper will investigate the sensitivity of minor changes in DCT coefficients against JPEG quantization tables. Based on the concept of psychovisual threshold, there are still deep holes in JPEG quantization values to embed a watermark. This paper locates and utilizes them to embed a watermark. The proposed scheme has been tested against various non-malicious attacks. The experiment results show the watermark is robust against JPEG image compression, noise attacks and low pass filtering.

Introduction

Currently, an efficient access internet makes it easy to duplicate digital image contents. In addition, current mobile devices view and transfer compressed images heavily [START_REF] Ernawan | Tchebichef Moment Transform on Image Dithering for Mobile Applications[END_REF]- [START_REF] Abu | An Efficient Compact Tchebichef Moment for Image Compression[END_REF]. Image watermarking is one of the popular techniques to manage and protect the copyright digital image content. Most of the image watermarking techniques exploits the characteristic of Human Visual System (HVS) in effectively embedding a robust watermark [START_REF] Liu | Human Visual System based Watermarking for Color Images[END_REF]- [START_REF] Jayant | Signal Compression Based on Models of the Human Perception[END_REF]. HVS is less sensitive to noise in highly textured area [START_REF] Yang | A Contrast-Sensitive Reversible Visible Image Watermarking Technique[END_REF] and significantly changing region of an image. Human visual properties can be utilized in embedding process by insert more bits of watermark image for each block which has complex textures or edges on an image. The watermark with significant coefficients is more robust if it resides near round edges and texture areas of the image [START_REF] Bedi | Robust Watermarking of Image in the Transform Domain using Edge Detection[END_REF]. This paper proposes an embedding watermark scheme along the edge of the host image. This scheme enables the watermark to be more robust against nonmalicious attacks.

The organization of this paper is given as follows. The next section will give a brief description on the concept of pshycovisual threshold for image watermarking. Section 3 presents an experimental design of the image watermarking. The experi-ment results of the propose watermark scheme are presented in Section 4. Section 5 concludes this paper.

Psychovisual Threshold Based on Reconstruction Error

A psychovisual threshold has been generated from a quantitative experimental method. The image is divided into the 8×8 size blocks pixels and then transformed by 2dimensional DCT. The resulting transformed coefficients are incremented one by one on each frequency order. The DCT coefficients are incremented up to a maximum order of JPEG quantization table values. The effect of incrementing DCT coefficients are measured based on the image reconstruction error from the original image. The average reconstruction error from incrementing DCT coefficients for 40 natural im-ages is shown in Fig. 1 and Fig. 2. The green line represents average image reconstruction error based on minimum quantization value of each order while the blue line represents average image reconstruction error based on maximum quantization table. The effect of incremented DCT coefficient as the frequency just noticeable difference of image reconstruction is investigated. The average image reconstruction error scores for each frequency order from order zero until order fourteen shall produce a transitional curve. In order to produce a psychovisual error threshold, the average reconstruction error is set by smoothing the curve line of image reconstruction errors as presented the red line. According to Fig. 1 and Fig. 2, there are gaps and loopholes in the popular JPEG quantization table. The gap is identified as the difference between minimum error reconstruction based on JPEG quantization table and an ideal error threshold reconstruction. We choose the gaps in the lower order because the watermark overthere is more robust against JPEG compression. The locations of loopholes in the popular JPEG quantization tables based on error threshold level are shown in Fig. 3 The watermark is expected to survive better in these deep holes against JPEG standard quantization tables Q CL and Q CR for luminance and chrominance respectively. These gaps can be computed as follows:

CL VL GL Q Q Q   (1) CR VR GR Q Q Q   (2)
The location of embedding watermark image is in 8×8 DCT coefficient as depicted and blacken cell in Fig. 3. Each block is embedded watermark image randomly in blacken cells along the edge within the host image.

Experimental Design

An experimental sample uses a 'Lena' image 24-bit with size 512×512 pixel as a host image. The binary watermark image W "UTeM logo" has image size 32 × 32 pixels as shown in Fig. 4.

Fig. 4. Original watermark image consists of 32×32 pixels

The edge of a host image is computed using Canny edge detection to determine the edge location [START_REF] Canny | A Computational Approach to Edge Detection[END_REF]. A sample Lena image is divided into blocks, each block consists of 8×8 image pixels. The host image is embedded a one-bit watermark for each edge image. The Random Numbers Generator (RNG) is an important computation in term of embedding process to generate the random numbers based on a secret key. The secret key is employed to encrypt and decrypt the watermark during watermark insertion and extraction. This paper implements mersenne twister method to generate random numbers for the embedding watermark scheme.

Watermark Weight

The watermark that will be embedded into the host image is subjected to JPEG quantization table values. The quantization value that will be used as watermarks of embedding process is given as follows:

W QL = {18, 17, 16} and

W QCR = {21, 26, 26} (3)
where the watermark weight depends upon the random numbers from a private key.

                0 ) 2 , ( and
i RNG i RNG i RNG i RNG i RNG i RNG i RNG i RNG a ( 4
)
The calculation of the watermark quantity is given as follows:

Q W a i RNG i Q    ) ( ) ( (5)
Consider a given 8×8 image block, if the watermark W is 1, the watermark image is multiplied by "+1" and added to the host image whereas the watermark W is 0, it is multiply by "-1" or subtracted from the host image. Each set occurs in the each pixel along the edge. This paper proposes an effective watermark embedding along the image edge randomly without degrading the visual image quality perceptually. If the watermarked image is disturbed along the boundary of an object in the image means that the watermark will be degraded. Consequently, the host image lost its value whenever the visual aesthetic of the image was degraded.

Watermark Insertion

The most popular embedding watermark in frequency domain is in the most significant coefficient region [START_REF] Tseng | A Robust Watermarking Scheme for Digital Images Using Self Reference[END_REF]. It is a trade-off between robustness and imperceptibility. In this paper the watermark is embedded in the loopholes based on JPEG quantization tables. The embedding watermark is added along the edge of an object in the image. At the same time, a random process based on a key is used in the embedding a watermark or not along a given edge. The number of bits from watermark image to be embedded depends upon the numbers of edge image on each image block. The watermark weight will make sure that the watermark is perceptually invisible. This watermark procedure is as follows; a. Take the host image block as an input (the size of an image block is 8×8 pixels). b. Detect the edge image using Canny edge detection to the input image block. c. Transform the image block by 2-D DCT if there are more than ten edges in image block. d. Generate a unique random number based on a private key. e. Determine the location for the watermark based on random numbers. The random numbers also used to generate the watermark weight which is one or half JPEG quantization value. f. Embed the watermark into the loopholes when the block image has more than ten edges. Embedding value -1 or +1 when the watermark is 0 or 1 respectively. Fig. 5. An enhance absolute difference between the original image and the watermarked image

Watermark Extraction

The blind detection will be applied to extract the watermark image. This technique does not require an original host image for watermark detection. The watermark image can be obtained by using inner product approach. The watermark is extracted from the host image along the edge image [START_REF] You | A Blind Watermarking Scheme Using New Nontensor Product Wavelet Filter Banks[END_REF]. The watermark image is dispersed randomly along the edge. The watermark is detected by computing correlation between the watermarked image and the watermark code. The difference between watermarked image and original image is enhanced and shown in Fig. 5. The extraction of watermark involves a secret key to generate pseudo random numbers. This extraction is the inverse process of watermark embedding. The extracted watermark algorithms which includes the following steps: a. Take the watermarked image block as an input (the size of image block is 8×8 pixels). b. Detect of the edge image using Canny edge detection. c. Transform the image block by 2-D DCT if there are more than ten edge image in image block. d. Generate pseudo random numbers based on private key, these random numbers are used to find the location of watermarked image block. e. Extracted watermark using inner product algorithm. In order to extract the extracted sequence of the X * {x * (i), (1 < i < N)} where x * (i) ≥ 1 means that the watermark is 1 and x * (i) ≤ 0 means that the watermark is 0. The correlation coeffi-cient in the below is used to decide if the watermark image exists in the image as follows:

   X X  (6) where   X X
is the inner product of X and extracted sequence of the X * . If the correlation coefficient between watermarked image X and extracted sequence X * is larger than a threshold, we determine that watermark exists.

Image Watermarking Evaluation

In order to evaluate the concealing of the watermark, the standard Peak Signal to Noise Ratio (PSNR) is calculated to measure the quality of extracted watermark image. The comparison between the recovered watermark and the original watermark is quantitatively analysed by using Normalized Cross-Correlation (NC) [START_REF] You | A Blind Watermarking Scheme Using New Nontensor Product Wavelet Filter Banks[END_REF], which is defined as follows:

          M i N j M i N j M i N j j i W j i W j i W j i W NC 1 1 1 1 2 ' 2 1 1 ' ) , ( ) , ( ) , ( ). , ( (7)
where the W(i, j) is the original watermark image and ' W (i, j) is the recovered wa- termark image. M×N is the watermark image size and the value of NC is between 0 and 1. The higher value of NC means that the recovery watermark image is closer towards the original watermark image and more robust. In order to evaluate the performance of this watermarking scheme, the watermarked image undergoes various non-malicious attacks such as JPEG image compression, gaussian white noise, salt and pepper noise and gaussian low pass filter.

Experimental Results

This section examines the robustness of the image watermarking scheme against non-malicious attacks. Several experiments are tested to evaluate its performance of watermarked image and the results are shown in Table 1. The results of watermarked images and the corresponding extracted watermark after various non-malicious attacks are shown in Fig. 6 and Fig. 7. Human visual system and its sensitivity are utilized in the design of this embedding watermarking scheme. The advantages of this watermarking scheme are the watermark image is perceptually invisible to the human eye and robust to non-malicious attacks. The destroying the image edge will remove the watermark. It also means that the quality of the host image will be damaged considerably.

The experimental results indicate that the watermark is resistance against nonmalicious attacks. The recovered watermark changes slightly in comparison with original watermark and there is no significant change in visual perception between host image and watermarked image. Table I shows the comparison NC and PSNR of the proposed watermark against Gaussian low pass filter, JPEG compression, salt and pepper noise. The watermark scheme has a great resistance to salt and pepper noise. The results indicate that the proposed scheme is robust against the JPEG image com-pression. The extracted watermark image can be damaged but the visual perception of watermark still can be seen by human eye.

Conclusion

Digital image watermarking becomes an important technique for management and copyright protection. An effective secure embedding watermark based on human visual system properties is explored. The quantitative experiment of psychovisual error threshold level on natural images has been done. According to visual threshold model, there are gaps within the standard JPEG quantization tables. The embedding watermark image on loopholes based on JPEG quantization tables has been investigated. The watermark image is embedded along the edge based on psychovisual threshold visually invisible to human eye. The watermark is robust to non-malicious attacks. The experimental results show the extracted watermark image survives against JPEG image compression. In addition, the image watermarking scheme has strong resistance against added noise and low pass filtering.

6.

Fig. 1 .

 1 Fig. 1. Average reconstruction error of an increment on DCT coefficient on the luminance for 40 natural images

Fig. 2 .

 2 Fig. 2. Average reconstruction error of an increment on DCT coefficient on the chrominance for 40 natural color images

Fig. 3 .

 3 Fig. 3. The locations if embedding watermark within 8×8 DCT coefficient for luminance (left) and chrominance (right) of new quantization tables Q VL and Q VR based on the psychvisual thre-

Fig. 6 .Fig. 7 .

 67 Fig. 6. The results of watermarked image from (a) JPEG image compression, (b) Gaussian white noise 0.01, (c) Salt and pepper 0.02 and (d) 3×3 Gaussian low pass filter

  .

	16 14 13 15 19 28 37 55	18 18 23 34 45 61 71 92
	14 13 15 19 28 37 55 64	18 23 34 45 61 71 92 92
	13 15 19 28 37 55 64 83	23 34 45 61 71 92 92 104
	15 19 28 37 55 64 83 103	34 45 61 71 92 92 104 115
	19 28 37 55 64 83 103 117	45 61 71 92 92 104 115 119
	28 37 55 64 83 103 117 117	61 71 92 92 104 115 119 112
	37 55 64 83 103 117 117 111	71 92 92 104 115 119 112 106
	55 64 83 103 117 117 111 90	92 92 104 115 119 112 106 100

Table 1 .

 1 Various Attacks for Watermarked Image.

	Various attacks	NC	PSNR
	JPEG compression	0.8435	35.4610
	Gaussian white noise 0.01	0.7183	20.2163
	Salt & pepper noise 0.02	0.8003	22.1565
	Gaussian low pass filter 3×3	0.9572	42.5371

Acknowledgment

The authors would like to express a very special thank to Ministry of Higher Education (MOHE), Malaysia for providing financial support for this research project via Fundamental Research Grant Scheme (FRGS/2012/FTMK/SG05/03/1/F00141).


Hae-Min Moon

Sung Bum Pan
email: sbpan@chosun.ac.kr

The PCA-Based Long Distance Face Recognition using Multiple Distance Training Images for Intelligent Surveillance System

Keywords: intelligent surveillance system, image interpolation, long distance face recognition, principal component analysis(PCA)

In this paper, PCA-based long distance face recognition algorithm applicable to the environment of intelligent video surveillance system is proposed. While the existing face recognition algorithm uses the short distance images for training images, the proposed algorithm uses face images by distance extracted from 1m to 5m for training images. Face images by distance, which are used for training images and test images, are normalized through bilinear interpolation. The proposed algorithm has improved face recognition performance by 4.8% in short distance and 16.5% in long distance so it is applicable to the intelligent video surveillance system.

Introduction

Recently, the video surveillance system has been developed to be intelligent, which includes finding criminals automatically or detecting fires by applying the techniques such as image analysis, computer vision or pattern recognition [START_REF] Aramvith | Video Processing and Analysis for Surveillance Applications[END_REF]. To satisfy the intelligent surveillance system, the long distance human identification technique applicable to the surveillance camera environment is needed [START_REF] Moon | A New Human Identification Method for Intelligent Video Surveillance System[END_REF]. The studies on long distance human identification using the face are still ongoing [START_REF] Yi | High Magnification and Long Distance Face Recognition: Database Acquisition, Evaluation, and Enhancement[END_REF][START_REF] Tsai | Long Distance Person Identification using Height Measurement and Face Recognition[END_REF]. Face recognition in the surveillance camera system should be operated in long distance(3m~5m) as well as short distance(1m~2m). When the existing face recognition algorithm applies to the surveillance camera system as it is, the recognition rate is reduced as the distance between the people and the camera increases. Recently, the technology that recognizes the long distance face using expensive camera which can obtain the high quality image from long distance is being studied [START_REF] Elder | Pre-attentive and Attentive Detection of Humans in Wide-field Scenes[END_REF][START_REF] Alberto | Towards On-line Saccade Planning for High-resolution Image Sensing[END_REF]. However, in case of face recognition, using expensive camera, it costs a lot to install and manage, making it difficult to use universally. Therefore, it is necessary to develop the long distance face recognition algorithm which can operate in the existing installed surveillance camera environment.

* Corresponding Author

In this paper, PCA-based long distance face recognition algorithm applicable to the environment of surveillance camera is proposed. While single distance face images are used for training images for existing PCA-based face recognition, the proposed method uses face images by distance of 1m to 5m for the user training images. In addition, the size of face images extracted by distance are different for face images by distance of 1m to 5m, and thus the method is used to normalize the face images into the same size by using bilinear interpolation. As a result of experiment, the face recognition rate of existing algorithm was 86.6% in short distance and 48.4% in long distance, but the proposed face recognition algorithm showed 4.8% and 16.4% improved performance for 91.4% from short distance and 64.9% from long distance, respectively. The composition of this paper is as follows. In chapter 2, PCA, which is used in face recognition, and interpolation methods, which is used in normalization of face image size, are introduced. In chapter 3, the proposed long distance face recognition algorithm and experiment results are explained and chapter 4 concludes the paper.

Background

In this paper, PCA method which uses feature extraction method using basis vector are used [START_REF] Turk | Eigenface for Recognition[END_REF]. To express two dimensional face images, face shape and texture information are vectorized. For face shape information, physiographic features like distance and ratio of face elements such as eye, nose and mouth are used. Texture information is expressed as brightness information itself in the face area by arraying the brightness value of two dimensional face images in order, features are extracted by expressing first-dimensional vector. The feature extraction process in face recognition is to find the base vector for linear transition. PCA technique is to find the eigenvector for covariance matrix as basis vector. PCA uses face images as a feature vector for face recognition by reflecting the face images to basis vector.

In case of long distance face recognition using PCA, the size of recognition images should be normalized fitting to the data size of training images. In general, since images taken from long distance are smaller than images taken from short distance, interpolation should be used to normalize the image size [START_REF] Parker | Comparison of Interpolating Methods for Image Resampling[END_REF]. The nearest neighbor interpolation is the simplest method among interpolations and it refers to the pixel of nearest original images from the location that the output pixel is to be produced. Bilinear interpolation is a technique to produce the pixel to be interpolated using adjacent four pixels. The interpolated pixel is determined by the sum of four pixels multiplied by weighted value. At this time, weighted values are determined linearly and are inversely proportional to the distance from each of the adjacent pixels. Interpolation using higher-order polynomial equation defines the function of weighted value and is a method to calculate the pixel values by adding all values of neighboring pixel values of original images multiplied by weighted values. The representative method using higher-order polynomial equation includes cubic convolution interpolation. Bicubic convolution interpolation produces new interpolated pixels using 16 pixels of original images. Face recognition algorithm is divided into training area and test area. Once the face images for training are entered, the size of input face images is judged. If the size of image is 50×50, the next step which is equalization will be conducted, but if the size is smaller than 50×50, the equalization will be conducted after enlarging the size to 50×50 through bilinear interpolation. All face images entered through this process will be normalized into 50×50 image size. Using normalized face images, the average face is produced in training images and by projecting each training image to the average face, the feature points unique to each face image are extracted. In test area like in training area, the input face images are normalized through interpolation and equalization. By comparing the feature points extracted from input face images to test area and feature points of face registered in training area, find the face images with the most similar values and classify.

Since the face recognition experimented in this paper needs face images by distance, the experiments in this paper used the ETRI face database [START_REF] Parker | Comparison of Interpolating Methods for Image Resampling[END_REF] composed of face images by distance. ETRI face database obtained 500 face images (1m~5m: 100 im-ages for each) per person from 10 people considering various lighting environment and distance change. The obtained face images were obtained through various lighting environment and 1m to 5m of distance change. To check whether the proposed method in this experiment is suitable for long distance face recognition situation, the experiment was conducted under the assumption that all of the face is extracted from input images by distance of 1m to 5m.

In this experiment, to select the appropriate interpolation for the normalization process of face images, 1m face images were used as training images and the face images by distance of 1m to 5m were used for test images. At this time, for normalization of face image size by distance of 1m to 5m, the nearest neighbor, bilinear, bicubic convolution and lanczos3 interpolations were used [START_REF] Claude | Lanczos Filtering in One and Two Dimensions[END_REF]. The original face image extracted from person 1 according to the distance change of 1m to 5m. The sizes of extracted face images are 50×50, 30×30, 20×20, 16×16 and 12×12 from 1m to 5m, respectively. The face images extracted by distance are normalized by four kinds of interpolation. For training images per one person, 20 images of 1m face image were used and 80 images of face image by distance of 1m to 5m were used for test images. Fig. 2 shows the change of face recognition rate by distance according to interpolation in the same training and test condition. As a result of experiment, for short distance, when bilinear interpolation was used, the short distance face (1m to 2m) had the best recognition performance which is 86.6%. When the nearest neighbor interpolation, bilinear, bicubic convolution and lanczos3 interpolations were used, the long distance (3m to 5m) showed similar performances which were 47.8%, 48.4%, 48.2% and 48.5%, respectively. Therefore, the bilinear interpolation was used in PCA-based face recognition considering the complexity of computation, execution time and performance.

The existing face recognition algorithm has only used the single distance face images for training images, but the proposed algorithm improves the face recognition rate using the face images by distance for training images. as 20 images. In CASE 2, the number of entire training images per person was 20 images which is same as CASE 1, but instead of using 1m face images, total of 20 images with 4 images each by distance of 1m to 5m were used. Fig. 3 shows the change of face recognition rate according to construction of training images. The experiment was conducted under the same condition that the number of training images per person was 20 images. When using single distance for training images, the performance was shown for 86.6% in short distance and for 48.4% in long distance. However, when using face images by distance of 1m to 5m, the short distance had better performance for 91.4% than when using single distance for training images which is 64.9%. In the future, to improve the inconvenience of registering face images by distance of 1m to 5m by the user, the study to produce the various face images by distance automatically will be conducted using single distance images.

Fig. 1 .

 1 Fig. 1. Face recognition flowchart using PCA. (a) The flowchart of proposed long distance face recognition algorithm. (b) Flowchart of face image normalization

Fig. 1 .

 1 Fig. 1. Face recognition rate by distance according to interpolation.

  Table 1 is the experimental condition to compare the recognition rate when using single distance face images and face images by distance for training images. In CASE 1, only images taken at 1m were made up for training images and the number of training images per person used

	100%	97.8	98.8	98.8	98.8									Nearest Neighbor
	90%													Bilinear
	80%				74.1	74.5	74.4	74.4						Bicubic Convolution
	70%													Lanczos3
	60%
	50%							48.0	49.2	48.9	48.9	45.0	45.9	45.3	45.1	50.4	50.2	50.3	51.4
	40%
			1m		2m		3m			4m	5m

Table 1 .

 1 Face recognition experiment according training imagesAs various incidents are frequently occurred recently, the interest in long distance human identification technology is also increasing with the development of intelligent video surveillance camera. The PCA-based face recognition which has used the existing single distance face images as training images has disadvantage of lowering the recognition rate as the distance between surveillance camera and the user increases. In this paper, PCA-based long distance face recognition algorithm that is applicable to the environment of surveillance camera is proposed. The proposed face recognition algorithm uses face images by distance of 1m to 5m for training images and the bilinear interpolation is used for normalization of input face images by various distances. As a result of experiment, the proposed face recognition algorithm had improved face recognition rate by 4.8% in short distance and by 16.5% in long distance.

	CASE			Training Condition
	1		Training image per person -1m Test image per person -1m~5m	: 20 images : 80 images each
	2		Training image per person -1m~5m Test image per person -1m~5m	: 4 images each : 80 images each
	100% 90%	98.75	95.63	87.13		CASE1 CASE2
	80%			74.5		72.63
	70%				59.5	62.63
	50% 60%				49.2	45.9	50.2
	40%
		1m	2m	3m	4m	5m
	Fig. 2. Face recognition rate by distance according construction of training images.
	4	Conclusions

Acknowledgments

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology(2011-0023147)


Retantyo Wardoyo

Algorithms of the Combination of Compiler Optimization Options for Automatic Performance Tuning

Keywords: Compiler optimization, optimization options, performance, orchestration algorithm, exhaustive search, batch elimination, iterative elimination, combined elimination, optimization space exploration, statistical selection

It is very natural when people compile their programs, they would require a compiler that gives the best program performance. Even though today's compiler have reached the point in which they provide the users a large number of options, however, because of the unavailability of program input data and insufficient knowledge of the target architecture; it can still seriously limit the accuracy of compile-time performance models. Thus, the problem is how to choose the best combination of optimization options provided by compiler for a given program or program section. This gives rise the requirement of an orchestration algorithm that fast and effective to search for the best optimization combination for a program. There have been several algorithms developed, such as Exhaustive Search (ES); Batch Elimination (BE); Iterative Elimination (IE); Combined Elimination (CE); Optimization Space Exploration (OSE); and Statistical Selection (SS). Based on those of algorithms, in this paper we proposed Heuristics Elimination (HE) algorithm, a simple algorithm that was mostly inspired by OSE with some differences. The HE algorithm uses a heuristic approach by applying genetic algorithm to find the best combination of compiler's optimization options. It is unlike OSE, however, this proposed algorithm starts from a set of some possible combinations randomly selected, then they are iteratively refined by some genetic operators to find one optimal combination (as the solution).

Introduction

As we all know that optimizations of compiler for modern architectures have achieved high level of sophistication [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF]. Although compiler optimizations have made a significant improvements in many programs, however, the potential for the degradation of performance in certain program patterns is still seen by compiler developer and many users. The state of the art is allowing the users deal with this problem by providing them many compiler options. This compiler options's existence indicates that today's optimizers are not capable of making optimal choices at compile time. Moreover, the availability of input data of program is very minimum, and the lack of knowledge about the target architecture can limit the accuracy of compile-time performance models.

Therefore, the determination of the best combination of compiler optimizations for a given program or program section remains an unattainable compile-time goal. Today's compilers have evolved to the situation in which users are provided with a large number of options. For instance, GCC Compilers include 38 options, roughly grouped into three optimization levels, O1 through O3 [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF]. On the other hand, compiler optimizations interact in unpredictable manners, as many have observed [START_REF] Chow | Feedback-directed selection and characterization of compiler optimizations[END_REF], [START_REF] Chow | Wu Feedback-directed selection and characterization of compiler optimizations[END_REF], [START_REF] Kisuki | Wijshoff A Feasibility study in iterative compilation[END_REF], [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF], [START_REF] Pinkers | Wijshoff Statistical selection of compiler optimizations[END_REF], [START_REF] Triantafillis | August Compiler Optimization-space Exploration[END_REF]. Therefore, it is desired a fast and effective orchestration algorithm to search for the best optimization combination for a program.

Many automatic performance tuning systems have taken a dynamic, feedbackdirected approach to orchestra compiler optimizations. In this approach, many different binary code versions generated under different experimental optimization combinations are being evaluated. The performance of these versions is compared using either measured execution times or profile-based estimates. Iteratively, the orchestration algorithms use this information to decide the next experimental optimization combinations, until converge criteria are reached [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF].

Algorithms of Orchestration

In this section, we briefly present an overview of some algorithms that have goal finding an optimal combination of compiler's options. To do this, let we first define the goal of optimization orchestration as follows :

Given a set of compiler optimization options {F 1 , F 2 , . . . , F n }, where n is the number of optimization. Find the combination that minimizes the execution time of program efficiently, without using a priori knowledge of the optimization and their interactions.

Algorithm of Exhaustive Search

The exhaustive search (ES) approach, which is called the factorial design [START_REF] Chow | Feedback-directed selection and characterization of compiler optimizations[END_REF], [START_REF] Pinkers | Wijshoff Statistical selection of compiler optimizations[END_REF], would try to evaluate every possible compiler's options in finding the best. This approach provides an upper bound of an application's performance after optimization orchestration. However, its complexity O(2 n ), which is prohibitive if it involves a large number of compiler's options. As an illustration, for GCC compiler with 38 options, it would take up to 2 38 program runs -a million years is required for a program that runs in two minutes. Considering this fact, this algorithm will not be evaluated under the full set of options [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF]. By the use of pseudo code, ES can be depicted as follows.

1. Get all 2 n combination of n compiler's options, {F 1 , F 2 , . . . , F n }.

2.

For the optimized version compiled under every combination of n compiler's options, measure application execution time. 3. An optimal combination of compiler's options is one that give the smallest execution time to the program.

Algorithm of Batch Elimination

The idea of Batch Elimination (BE) is to identify the optimizations with negative effects and turn them off at once. BE achieves good program performance, when the compiler's options do not interact each other [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF], [START_REF] Pan | Eigenmann Rating Compiler Optimizations for automatic performance tuning[END_REF], and [START_REF] Pan | Rating Compiler Optimizations for Automatic Performance Tuning[END_REF].

The negative effect of one compiler's option, F i can be represented by its RIP (Relative Improvement Percentage), RIP (F i ), (see equation 1) which is the relative difference of the execution times of the two versions with and without F i , that means T (F i = 1) and T (F i = 0) respectively (F i = 1 means F i is on, and

F i = 0 means F i is off). RIP (F i ) = T (F i = 0) -T (F i = 1) T (F i = 1) × 100% (1)
The baseline of this approach switches on all compiler optimization options. T (F i = 1) is the execution time of the baseline T B as shown in equation 2.

T B = T (F i = 1) = T (F 1 = 1, . . . , F n = 1) (2)
The performance improvement by switching off F i from the baseline B relative to the baseline performance can be calculated with equation 3.

RIP B (F i = 0) = T (F i = 0) -T B T B × 100% (3)
If RIP B (F i = 0) < 0, the optimization of F i has a negative effect. The BE algorithm eliminates the optimizations with negatives RIP in a batch to generate the final combination tuned version. The complexity of BE algorithm is O(n).

1. Compile the application under the baseline B = {F 1 , . . . , F n }. Execute the generated code version to obtain the baseline execution time T B . 2. For each optimization F i , switch it off from B and compile the application.

Execute the generated version to obtain T (F i = 0), and compute RIP B (F i = 0) according to equation 3. 3. Disable all optimizations with negative RIP to generate the final tuned version.

Algorithm of Iterative Elimination

Iterative Elimination (IE) algorithm was designed to consider the interaction of optimizations. Unlike BE algorithm, which turns off all optimizations with negative effects at once, IE algorithm iteratively turns off one optimization with the most negative effect at a time.

IE algorithm starts with the baseline that switches all compiler's optimization options on [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF], and [START_REF] Kulkarni | Jones Fast Searches for Effective Optimization Phase Sequences[END_REF]. After computing the RIP s of the optimizations according to equation 3, IE switches the one optimization with the most negative effect off from the baseline. This process repeats with all remaining optimizations, until none of them causes performance degradation.

Algorithm of Combined Elimination

Combined Elimination (CE) algorithm combines the ideas of the two algorithms (BE and IE) just described [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF], and [START_REF] Kulkarni | Jones Fast Searches for Effective Optimization Phase Sequences[END_REF]. It has a similar iterative structure as IE. In each iteration, however, CE applies the idea of BE : after identifying the optimization with negative effects (in this iteration), CE tries to eliminate these optimizations one by one in a greedy fashion.

Since IE considers the interaction of optimizations, it achieves better performance of program than BE does. When the interactions have only small effects, however, BE may perform close to IE in a faster way. Based on the way CE designed, it takes the advantages of both BE and IE. When the optimizations interact weakly, CE eliminates the optimizations with negative effects in one iteration, just like BE. Otherwise, CE eliminates them iteratively, like IE. As a result, CE achieves both good program performance and fast tuning speed. 3. Let X = {X 1 , . . . , X l } be the set of optimization options F i with negative RIP s. X is stored in increasing order, that is, the first element, X 1 , has the most negative RIP . Remove X 1 from S, and set X 1 to 0 in the baseline B (in this step, B is updated by setting the optimization option with the most negative RIP to zero). For i from 2 to l, -Measure the RIP of X i relative to the baseline B.

-If the RIP of X i is negative, remove X i from S and set X i to 0 in B. 4. Repeat Steps 2 and 3 until all options in S have non-negative RIP s. B represents the final solution.

Algorithm of Optimization Space Exploration

The basic idea of algorithm pruning is to iteratively find better combination of optimization options by merging the beneficial ones [START_REF] Triantafillis | August Compiler Optimization-space Exploration[END_REF]. In each iteration, a new test set Ω is constructed by merging the combination of optimization options in the old test set using union operation. Then, after evaluating the combination of optimization options in Ω, the size of Ω is reduced to m by dropping the slowest combinations. The process repeats until the performance increase in the Ω set of two consecutive iteration become negligible. The specific steps are as follows :

1. Construct a set, Ω, which consists of the default optimization combination, and n combinations, each of which assigns a non-default value to a single optimization. In the experiment [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF], the default optimization combination, O3,turns on all optimizations. The non-default value for each optimization is off.

Algorithm of Statistical Selection

Statistical Selection (SS) algorithm uses a statistical method to identify the performance effect of the optimization options. The options with positive effects are turned on, while the one with negative effects are turned off in the final version, in an iterative fashion. This statistical method takes the interaction of optimization options into consideration. The statistical method is based on orthogonal arrays (OA), which have been proposed as an efficient design of experiments [START_REF] Box | Hunter Statistics for Experimenters : an introduction to design, data analysis, and model building[END_REF], [START_REF] Hedayat | Stufken Orthogonal Arrays : Theory and Applications[END_REF]. Formally, an OA is an m × k matrix of zeros and ones. Each column of the array corresponds to one compiler option, while each row of the array corresponds to one optimization combination. SS algorithm uses the OA with strength 2, that is, two arbitrary columns of the OA contain the patterns 00, 01, 10, 11 equally often. The experiments [START_REF] Pan | Compiler Optimization Orchestration for peak performance[END_REF] used the OA with 38 options and 40 rows, which is constructed based on a Hadamard matrix taken from [START_REF] Sloane | A Library of Orthogonal Arrays[END_REF].

By a series of program runs, this SS algorithm identifies the options that have the largest effect on code performance. Then, it switches on/off those options with a large positive/negative effect. After iteratively applying the above solution to the options that have not been set, SS algorithm finds an optimal combination of optimization options. The pseudo code is as follows.

1. Compile the application with each row from orthogonal array A as the combination of compiler optimization options, and execute of the optimized version. 2. Compute the relative effect, RE(F i ), of each option using equation 4 and 5,

where E(F i ) is the main effect of F i , s is one row of A, T (s) is the execution time of the version under s.

E(F i ) = ( s∈A:si=1 T (s) -s∈A:si=0 T (s)) 2 m (4) RE(F i ) = E(F i ) k j=1 E(F j ) × 100% (5)
3. If the relative effect of an option is greater than a threshold of 10%.

if the option has a positive improvement, I(F i ) > 0, according to equation 6, switch the option on, else if the option has a negative improvement, switch the option off.

I(F i ) = s∈A:si=0 T (s) -s∈A:si=1 T (s) s∈A:si=0 T (s) (6)
4. Construct a new orthogonal array A by dropping the columns corresponding to the options selected in the previous step. 5. Repeat all above steps until all of the options are set.

Algorithm of Heuristics Elimination

As mentioned in the previous section, Heuristic Elimination (HE) algorithm was mostly inspired by OSE algorithm; that is why the way it works is similar to OSE algorithm with some differences. HE algorithm iteratively find the combination of compiler's optimization options by applying heuristic approach using genetic algorithm.

The basic genetic algorithm is very generic and there many aspects that can be implemented very differently according to the problem [START_REF] Nadia | Macedo Genetic Systems Programming -Theory and Experience[END_REF]. For instance, representation of solution or chromosomes, type of encoding, selection strategy, type of crossover and mutation operators, etc. In practice, genetic algorithms are implemented by having arrays of bits or characters to represent the chromosomes. How to encode a solution of the problem into a chromosome is a key issue when using genetic algorithms. The individuals in the populations then go through a process of simulated evolution. Simple bit manipulation operations allow the implementation of crossover, mutation and other operations. Individual for producing offspring are chosen using a selection strategy after evaluating the fitness value of each individual in the selection pool. Each individual in the selection pool receives a reproduction probability depending on its own fitness value and the fitness value of all other individuals in the selection pool. This fitness is used for the actual selection step afterwards. Some of the popular selection schemes are Roulette Wheel, Tournament, etc.

Crossover and mutation are two basic operators of genetic algorithm, and the performance of genetic algorithm very much depends on these genetic operators. Type and implementation of operators depends on encoding and also on the problem [START_REF] Nadia | Macedo Genetic Systems Programming -Theory and Experience[END_REF]. A new population is formed by selecting the fitter individual from the parent population and the offspring population (elitism). After several generations (iterations), the algorithm converges to the best individual, which hopefully represents an optimal or suboptimal solution to the problem.

Given the set of optimization options {F 1 , F 2 , . . . , F n }, there are exist 2 n possible combinations. It is unlike ES algorithm that evaluate every possible combination of optimization options, however, HE algorithm only needs to evaluate a certain number of combinations, and known as population size (m) of each generation, for instance {C 1 , C 2 , . . . , C m }. The optimal combination of optimization options is obtained by improving their fitness value iteratively with genetic operators in each generation (or iteration), and the combination with optimal fitness in the last generation will be final (an optimal) solution.

Chromosome that represents the solution of the problem (i.e., the combination of compiler's optimization options) is defined as one has fixed length n, and the value in each location indicates the participation (or involvement) of the compiler's option; which is formally defined in equation 7.

F i = 1 if F i involved 0 otherwise (7)
where, F i = 1 for some i if the i-th compiler optimization option F i is involved in the combination; otherwise F i = 0. According to equation 7, then chromosome is encoded as a sequence of 0's or 1's (binary representation). For instance, 01100011110101 (n = 14) represents the combination of optimization options that involves respectively options number 2, 3, 7, 8, 9, and 10 in optimization. Since the binary representation used to represent the chromosome, the uniform (regular) crossover with either single point or more can be implemented depends on how many options compiler provides; while the mutation can be done by simply flipping the value in the single mutated location. In this case, the fitness function is defined by summing each RIP B (F i = 0) (adopted from equation 3) in each C j , and the formal definition is shown in equation 8.

F itness(C j ) = n i=1 RIP B (F i |F i = 0) (8)
where C j is one of the combination in population, and n is the number of optimization options {F 1 , F 2 , . . . , F n }. Equation 3 says that, the optimization option of F i has a negative effect when the value of RIP B (F i = 0) < 0. So that, according to the selection criteria, only the combinations with higher value of fitness function (i.e., fitter) will be considered as a parent candidate for next generation (iteration). Having mentioned at the previous discussion, and by considering the representation of chromosome; the uniform (or regular) crossover with either single point or more would be implemented in the reproducing process of individual for the next generation. The process of crossover is illustrated in Fig. 1 and Fig. 2. It is unlike the crossover operator which is binary, mutation is unary. First, the mutated location is determined randomly, and the value of that location is then replaced by only flipping the value from '0' to '1' and vice versa. The process of mutation is shown in Fig. 3. Note that the termination condition could be either the determined number of generations (iterations) or some determined value of threshold as an indicator of its convergence.

Conclusion

In accordance to the way the algorithm find the best combination, HE algorithm is only relevant to be compared with ES, BE and OSE algorithms. The following are some remarks about that comparison.

-As the name implies, ES algorithm finds the best combination of the compiler's optimization options by exhaustively checking all possible ones. -The result of BE algorithm is an optimal combination of the compiler's optimization options obtained by removing optimization option with the most negative RIP iteratively. -OSE algorithm build the combination of compiler optimization options starting from the set with single default optimization combination, then iteratively the set is updated by performing the union operation.

-HE algorithm finds the optimal solution (combination of compiler's optimization options) starting from the initial population contains a number of combinations of compiler's optimization options which were initially chosen in random manner. Then, each chromosomes (representation of combinations) in the population were evaluated using fitness function to determine fitter chromosomes to be chosen for the next generation. This process was performed iteratively until some determined condition satisfied, and the best combination is obtained.

1 .

 1 Let B be the combination of compiler optimization options for measuring the baseline execution time, T B . Let the set S represent the optimization searching space. Initialize S = {F 1 , . . . , F n } and B = {F 1 = 1, . . . , F n = 1}. 2. Compile and execute the application under the baseline setting to obtain the baseline execution time T B . 3. For each optimization option F i ∈ S, switch F i off from the baseline B and compile the application, execute the generated code version to obtain T (F i = 0), and compute the RIP of F i relative to the baseline B, RIP B (F i = 0), according to equation 3. 4. Find the optimization F x with the most negative RIP . Remove F x from S, and set F x to 0 in B. 5. Repeat Steps 2, 3, and 4 until all options in S have non-negative RIP s. B represent the final option combination.

1 .

 1 Let B be the baseline option combination, and let the set S represent the optimization search space. Initialize S = {F 1 , . . . , F n } and B = {F 1 = 1, . . . , F n = 1}. 2. Compile and execute the application under baseline setting to obtain the baseline execution time T B . Measure the RIP B (F i = 0) of each optimization options F i in S relative to the baseline B.

2 .

 2 Measure the application execution time for each optimization combination in Ω. Keep the m fastest combination in Ω, and remove the rest (i.e., n -m combinations). 3. Construct a new set of Ω, each element in which is a union of two optimization combinations in the old Ω. (The union operation takes non-default values of the options in both combinations.) 4. Repeats Steps 2 and 3, until no new combinations can be generated or the increase of the fastest version in Ω becomes negligible. The fastest version in the final Ω as the final version.

Fig. 1 .Fig. 2 .

 12 Fig. 1. The operation of Regular Crossover with two-point

Fig. 3 .

 3 Fig. 3. The operation of mutation operator