Augmented reality masking

Modifying augmented reality viewing is provided. It is determined that a user is viewing a scene space via augmented reality at a current geographic location of the user. It is detected that the viewing of the scene space is suboptimal for the user based on at least one of overcrowding of the viewed scene space at the current geographic location and significant battery usage to support augmented reality processing. Priority of one or more masks associated with the viewing of the scene space by the user is determined based on a user profile. The one or more masks associated with the viewing of the scene space are implemented based on the current geographic location of the user and the user profile. The one or more masks indicate that a portion of the viewed scene space is not to be processed for the viewing of the scene space via augmented reality.

BACKGROUND

The disclosure relates generally to augmented reality and more specifically to modifying augmented reality viewing of a scene space using a set of masks to increase device performance and user satisfaction.

2. Description of the Related Art

Augmented reality devices, also known as mixed reality devices, may be used in a variety of real-world environments and contexts. Such augmented reality devices may provide a user with a real-time view of the physical world around the user and may augment the real-time view with holographic overlays or images and other information. Sometimes large amounts of information associated with a particular geographic location within view of a user may be available for presentation to the user on an augmented reality device. With so much information available, managing the presentation of this information to the user, and the user's interaction with such information, may be challenging. For example, presenting too much information may clutter the user's augmented reality viewing experience and overload the user, which may make it difficult for the user to quickly process the information. Additionally, information and alerts displayed by augmented reality systems may cover up important real-life objects, such as, for example, emergency vehicles, trip hazards, or open manhole covers, in the scene space.

SUMMARY

According to one illustrative embodiment, a method for modifying augmented reality viewing is provided. It is determined that a user is viewing a scene space via augmented reality at a current geographic location of the user. It is detected that the viewing of the scene space is suboptimal for the user based on at least one of overcrowding of the viewed scene space at the current geographic location of the user and significant battery usage to support augmented reality processing. Priority of one or more masks associated with the viewing of the scene space by the user is determined based on a user profile. The one or more masks associated with the viewing of the scene space are implemented based on the current geographic location of the user and the user profile. The one or more masks indicate that a portion of the viewed scene space is not to be processed for the viewing of the scene space via augmented reality. According to other illustrative embodiments, a data processing system and computer program product for modifying augmented reality viewing are provided.

DETAILED DESCRIPTION

With reference now to the figures, and in particular, with reference toFIG. 1, a diagram of a data processing environment is provided in which illustrative embodiments may be implemented. It should be appreciated thatFIG. 1is only meant as an example and is not intended to assert or imply any limitation with regard to environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

FIG. 1is a diagram of a data processing system in accordance with an illustrative embodiment. Data processing system100is an example of a mobile augmented reality device, such as a head-mounted augmented reality device, in which computer readable program code or instructions implementing processes of illustrative embodiments may be located. A head-mounted augmented reality device may be, for example, augmented reality glasses, goggles, helmet, or the like. In this illustrative example, data processing system100includes communications fabric102, which provides communications between processor unit104, memory106, persistent storage108, battery109, communications unit110, input/output (I/O) unit112, and display114.

Processor unit104serves to execute instructions for software applications and programs that may be loaded into memory106. Processor unit104may be a set of one or more hardware processor devices or may be a multi-processor core, depending on the particular implementation.

Memory106and persistent storage108are examples of storage devices116. A computer readable storage device is any piece of hardware that is capable of storing information, such as, for example, without limitation, data, computer readable program code in functional form, and/or other suitable information either on a transient basis and/or a persistent basis. Further, a computer readable storage device excludes a propagation medium. Memory106, in these examples, may be, for example, a random-access memory, or any other suitable volatile or non-volatile storage device. Persistent storage108may take various forms, depending on the particular implementation. For example, persistent storage108may contain one or more devices. For example, persistent storage108may be a hard disk drive, a solid-state drive, a flash memory, or some combination of the above. The media used by persistent storage108may be removable. For example, a removable hard drive may be used for persistent storage108.

In this example, persistent storage108stores augmented reality manager118. However, it should be noted that even though augmented reality manager118is illustrated as residing in persistent storage108, in an alternative illustrative embodiment augmented reality manager118may be a separate component of data processing system100. For example, augmented reality manager118may be a hardware component coupled to communication fabric102or a combination of hardware and software components. In another alternative illustrative embodiment, a first portion of augmented reality manager118may be located on data processing system100and a second portion of augmented reality manager218may be located on a second data processing system, such as, for example, a smart phone. In yet another alternative illustrative embodiment, augmented reality manager118may be located in the smart phone instead of, or in addition to, data processing system100.

Augmented reality manager118controls the process of presenting augmented reality scene space120in display114. Augmented reality scene space120represents a real-world scene, area, or location that a user of data processing system200is viewing via augmented reality. In addition, augmented reality manager118may modify augmented reality viewing of the scene space by the user using a set of one or more masks to increase device performance and user satisfaction by decreasing monitored hardware usage and preventing user sensory overload.

Monitored hardware122represents a set of hardware, such as processor124, memory126, and battery128, of data processing system100that augmented reality manager118monitors for current real-time usage levels. Processor124, memory126, and battery128represent processor unit104, memory106, and battery109, respectively. Usage thresholds130represent maximum threshold level values for each of monitored hardware122. In other words, usage thresholds130represent physical constraints of data processing system200with regard to processor unit104, memory106, and battery109. Thus, a maximum threshold level value is a physical performance limitation for each of processor unit104, memory106, and battery109.

User profile132represents a profile that corresponds to the user of data processing system100. However, it should be noted that user profile132may represent a plurality of different user profiles corresponding to a plurality of different users of data processing system100. In this example, user profile132includes preferences134and sensory overload threshold136. However, it should be noted that user profile132may include other information as well. For example, user profile132may include user identification information, historical data corresponding to augmented reality viewing by the user, and the like.

Preferences134represent a set of preferences of the user regarding, for example, how, when, and where the user likes to view augmented reality overlays and masks in augmented reality scene space120. For example, the user may prefer to view overlays and masks in a particular color at a particular geographic location or during a particular time of day. For example, the user may prefer to view overlays and masks in brighter colors during nighttime hours when in a darkened outdoor environment.

In this example, preferences134also include mask priority138. Mask priority138represents a user-defined priority for masking a particular portion or segment of augmented reality scene space120. Sensory overload threshold136represents a maximum threshold level value indicating a point at which the user's visual capacity to perceive is decreased because too much information is being presented in augmented reality scene space120. In other words, sensory overload threshold136may represent a user-defined maximum number of augmented reality artifacts that augmented reality manager118may present to the user in augmented reality scene space120at any one time. In addition, the user may define a different sensory overload threshold for each of a plurality of different geographic locations.

Augmented reality overlays140include artifacts142that augmented reality manager118may superimpose over augmented reality scene space120for the user's convenience and use. Artifacts142may include, for example, augmented reality markers, augmented reality alerts, augmented reality objects, augmented reality entities, and other types of augmented reality information.

Current context144represents a current context of the user of data processing system100and a current context of monitored hardware122. The current context of the user may include, for example, current geographic location, activity and/or cognitive state of the user. The current context of monitored hardware122may include, for example, usage and performance level of processor unit104, available space in memory106, and power level and rate of power drain of battery109. Battery109provides an internal power source for data processing system100.

Augmented reality manager118compares the current context of the user and the monitored hardware with different thresholds. When augmented reality manage118detects that the current context of the user and/or the monitored hardware exceeds one or more of the thresholds, augmented reality manager118utilizes location-to-mask mapping146to map location148to mask150. Location148represents the current geographic location of data processing system100when one or more of the thresholds were exceeded. Mask150corresponds to location148. Mask150may represent a set of one or more masks. Mask150directs augmented reality manager118not to process all or a portion of the scene space for augmented reality that is associated with mask150.

Augmented reality manager118generates mask150based on attributes152. Attributes152may include, for example, size, opacity, temporal availability, proximity, color, and the like. It should be noted that each specific mask may have a different set of corresponding attributes. Also, it should be noted that each specific geographic location may have a different set of corresponding masks.

After generating mask150, augmented reality manager118receives feedback154from the user of data processing system100and/or from data processing system100, itself, regarding effectiveness of mask150in reducing the user's sensory overload below threshold136and/or decreasing the monitored hardware's usage below thresholds130. In addition, augmented reality manager118may utilize feedback154to automatically adjust sensory overload threshold136and/or usage thresholds130to optimize the user's utilization of data processing system100and to increase performance of data processing system100.

Communications unit110, in this example, provides for communication with other data processing systems and devices, such as, for example, servers, handheld computers, smart phones, smart watches, and the like, via a network. The network may be, for example, an internet, an intranet, a wide area network, a local area network, a personal area network, or any combination thereof. Communications unit110may provide communications through the use of both physical and wireless communications links. The physical communications link may utilize, for example, a wire, cable, universal serial bus, or any other physical technology to establish a physical communications link for data processing system100. The wireless communications link may utilize, for example, shortwave, high frequency, ultra high frequency, microwave, wireless fidelity (Wi-Fi), Bluetooth® technology, global system for mobile communications (GSM), code division multiple access (CDMA), second-generation (2G), third-generation (3G), fourth-generation (4G), 4G Long Term Evolution (LTE), LTE Advanced, or any other wireless communication technology or standard to establish a wireless communications link for data processing system100.

Input/output unit112allows for the input and output of data with other devices that may be connected to data processing system100. For example, input/output unit112may provide a connection for user input through a microphone, a touchpad, a keypad, a keyboard, a mouse, and/or some other suitable input device. Display114provides a mechanism to display information, such as augmented reality artifacts overlaid on a real-world scene space, to a user and may include touch screen capabilities to allow the user to make on-screen selections through user interfaces or input data, for example.

Instructions for the operating system, applications, and/or programs may be located in storage devices116, which are in communication with processor unit104through communications fabric102. In this illustrative example, the instructions are in a functional form on persistent storage108. These instructions may be loaded into memory106for running by processor unit104. The processes of the different embodiments may be performed by processor unit104using computer-implemented instructions, which may be located in a memory, such as memory106. These program instructions are referred to as program code, computer usable program code, or computer readable program code that may be read and run by a processor in processor unit104. The program instructions, in the different embodiments, may be embodied on different physical computer readable storage devices, such as memory106or persistent storage108.

Program code156is located in a functional form on computer readable media158that is selectively removable and may be loaded onto or transferred to data processing system100for running by processor unit104. Program code156and computer readable media158form computer program product160. In one example, computer readable media158may be computer readable storage media162or computer readable signal media164. Computer readable storage media162may include, for example, an optical or magnetic disc that is inserted or placed into a drive or other device that is part of persistent storage108for transfer onto a storage device, such as a hard drive, that is part of persistent storage108. Computer readable storage media162also may take the form of a persistent storage, such as a hard drive, a thumb drive, or a flash memory that is connected to data processing system100. In some instances, computer readable storage media162may not be removable from data processing system100.

Alternatively, program code156may be transferred to data processing system100using computer readable signal media164. Computer readable signal media164may be, for example, a propagated data signal containing program code156. For example, computer readable signal media164may be an electro-magnetic signal, an optical signal, and/or any other suitable type of signal. These signals may be transmitted over communication links, such as wireless communication links, an optical fiber cable, a coaxial cable, a wire, and/or any other suitable type of communications link. In other words, the communications link and/or the connection may be physical or wireless in the illustrative examples. The computer readable media also may take the form of non-tangible media, such as communication links or wireless transmissions containing the program code.

In some illustrative embodiments, program code156may be downloaded over a network to persistent storage108from another device or data processing system through computer readable signal media164for use within data processing system100. For instance, program code stored in a computer readable storage media in a data processing system may be downloaded over a network from the data processing system to data processing system100. The data processing system providing program code156may be a server computer, a client computer, or some other device capable of storing and transmitting program code156.

As another example, a computer readable storage device in data processing system100is any hardware apparatus that may store data. Memory106, persistent storage108, and computer readable storage media162are examples of physical storage devices in a tangible form.

In the course of developing illustrative embodiments, it was discovered that augmented reality wearable devices are driving significant changes in user behaviors. These changes may include, for example, new ways of sharing contact information, combining reality with virtual reality games, overlaying maps and map data on real-world environments, and the like. Augmented reality's combination of live real-world views with virtual artifacts, such as markers, enables useful information to be presented to and acted upon by a user. However, as more augmented reality functionality is applied to a scene space viewed by a user, a cost exists in terms of augmented reality device hardware (e.g., processor, memory, and battery) performance limitations and user perception capabilities.

For example, as more and more augmented reality artifacts, such as augmented reality marker orientation and positioning and additional graphic rendering, are processed in an augmented reality scene space, a computational barrier may be reached affecting performance of the augmented reality device. If all artifacts in an augmented reality field of view are processed, then excessive CPU processing and battery power drain may exist.

As an example scenario, an augmented reality scene space includes a parked car and behind the parked car is a tree full of colorful birds. From a bird watcher's perspective, it is important to focus on the birds in the tree and not on the details of the parked car (i.e., illustrative embodiments may mask the parked car from the bird watcher's augmented reality viewing). From an auto mechanic's perspective, it is important to focus on the details of the car and not on the birds in the tree (i.e., illustrative embodiments may mask the tree from the auto mechanic's augmented reality viewing). Illustrative embodiments optimize the areas of focus of an augmented reality scene space display for a particular user such that physical device constraints and user capacity to perceive are not exceeded while displaying the augmented reality scene space. In other words, illustrative embodiments decrease processor and memory usage, as well as, battery power drain on the augmented reality device, while also decreasing user sensory (e.g., visual) overload.

As another example scenario, a sunny spot exists in augmented reality viewing of a particular geographic location. Illustrative embodiments may leave sunshades at that particular geographic location for other users' benefit so that other users who need the sunshades may use the sunshades to prevent sun glare. The sun glare represents a battery power drain and illustrative embodiments utilize the sun shades to optimize the augmented reality scene space layout to prevent excessive battery power drain on the augmented reality device. Thus, illustrative embodiments may leave a useful object at a particular location for the benefit of other users.

Illustrative embodiments optimize augmented reality scene processing by: 1) detecting objects in an augmented reality scene space for a particular user; 2) analyzing crowd-sourced user sentiment and user reaction to augmented reality scene space masking characteristics (e.g., mask size, mask opacity, proximity of an object to the user, temporal availability of a mask, and the like); and 3) implementing partial or complete masking of objects or areas in a scene space based on the analysis of the crowd-sourced user sentiment and user reaction to the augmented reality scene space masking characteristics. User reaction to masking characteristics may be, for example, a user changing mask settings during display of a mask in a scene space. Temporal availability of a mask may be, for example, when a mask is not available for display because the mask will cover the entire scene space.

Initial default scene space masking characteristics may be pre-fixed by, for example, a user, social network group corresponding to the user, government agency, augmented reality administrator, geolocation-based value (e.g., GPS coordinates), and the like. A government agency may indicate that a particular scene space may not be viewed via augmented reality for security reasons. Illustrative embodiments may utilize a social network group to generate a mask template for scene space areas, objects, and contexts not to process using the augmented reality device when augmented reality processing on the scene space areas, objects, and contexts would produce a negative result, such as processor and memory usage above a threshold or increased user confusion in viewing the scene space. If augmented reality processing on the scene space areas, objects, and contexts produce a negative result, then illustrative embodiments tag the scene space areas, objects, and contexts as “not to be processed” by the augmented reality device. In addition, illustrative embodiments take into account user perspective, such as user safety, user food preferences, user hobbies, and the like, when masking a scene space.

Illustrative embodiments may start a mask from a Laplace-like smoothing (i.e., selecting a starting point as nonzero and subsequently learning thresholds based on device hardware (e.g., processor, memory, and battery) usage limitations and user engagement or efficiency feedback). Illustrative embodiments also may use a social layer that captures historical masking of a scene space or scene spaces having similar characteristics. In addition, illustrative embodiments also may incorporate situational awareness as an input for masking of an augmented reality scene space. For example, if illustrative embodiments determine that a vehicle is rapidly approaching a user on a busy street, then illustrative embodiments disable the augmented reality viewing of the busy street. When illustrative embodiments determine that the vehicle is no longer a concern to the user, then illustrative embodiments reenable the augmented reality viewing of the busy street.

As a result, illustrative embodiments improve the utility of augmented reality devices. Further, illustrative embodiments improve performance of these augmented reality devices by decreasing processor, memory, and battery usage. Furthermore, illustrative embodiments improve attention management of users to augmented reality markers. For example, if illustrative embodiments determine a number of users above a maximum threshold number of users view a particular augmented reality marker over a defined period of time, then illustrative embodiments may make that particular augmented reality marker more visible to users by, for example, increasing an amount of light on that particular augmented reality marker. Similarly, if illustrative embodiments determine a number of users below a minimum threshold number of users view a particular augmented reality marker over a defined period of time, then illustrative embodiments may make that particular augmented reality marker less visible to users by, for example, decreasing an amount of light on that particular augmented reality marker.

As yet another example scenario, a user is utilizing a head-mounted augmented reality device, such as augmented reality glasses, goggles, or helmet, equipped with illustrative embodiments. The user views a crowded street via the head-mounted augmented reality device. The head-mounted augmented reality device may provide multiple augmented reality marker views from various augmented reality providers, which the user is a subscriber of these providers. Illustrative embodiments detect a suboptimal augmented reality viewing of the scene space (i.e., the crowed street) by the user. Illustrative embodiments may detect that an augmented reality scene space is suboptimal based on illustrative embodiments determining that the augmented reality scene space is overcrowded with augmented reality markers and that too much battery power is being used to support the excessive augmented reality processing by the device. Illustrative embodiments map the current geographic location of the device to one or more augmented reality scene space masks.

Illustrative embodiments may develop priority of masks and may use defined thresholds to build different augmented reality layers. Illustrative embodiments may implement masks partially based on the geographic location and user type matching. Illustrative embodiments also may adjust the relative size of the masks based on the scene space at that point in time. Hence, the user's head-mounted augmented reality device is now processing augmented reality artefacts in the scene space such that user and device thresholds are not exceeded.

Moreover, illustrative embodiments may decorate each mask in a set of two or more masks with a different color to differentiate between masks. In addition, a user may place focus on a different mask by rotating the masks based on user gesture, haptic feedback, or a specific touch type. Alternatively, illustrative embodiments may rotate the masks on a timed frequency, at a logarithmic interval such as Layer 1 for 15 seconds, Layer 2 for 25 seconds, and the like. Further, illustrative embodiments may implement a specific user and device feedback loop. If illustrative embodiments detect that the situation changed (e.g., the user went from an outdoor environment to an indoor environment, the user recharged the augmented reality device, and the like), then illustrative embodiments may remove or add an augmented reality artifact between one feedback loop and the next.

With reference now toFIG. 2, a diagram illustrating an example of an augmented reality scene space is depicted in accordance with an illustrative embodiment. Augmented reality scene space200may be implemented in a display of a data processing system, such as display114of data processing system100inFIG. 1. In other words, augmented reality scene space200may be, for example, augmented reality scene space120inFIG. 1.

In this example, augmented reality scene space200is a busy city street crowded with people and vehicles. Also in this example, augmented reality scene space200includes augmented reality artifacts202, mask204, and mask406. However, it should be noted that augmented reality scene space200may include any number of augmented reality artifacts and masks.

In this example, augmented reality artifacts202are markers that indicate names and locations of different businesses along the busy city street. Also, it should be noted that augmented reality artifacts202are presented above mask204and mask206. Mask204and mask206indicate that augmented reality processing and viewing of the busy city street are not to occur in the portions of augmented reality scene space200where mask204and mask206are located. In other words, the user has a clear street-level view of the people and traffic without any augmented reality artifacts to block the view. Further, it should be noted that mask204and mask206are of different sizes and both have a level of opacity to them.

With reference now toFIG. 3, a diagram illustrating an example of current context threshold table is depicted in accordance with an illustrative embodiment. In this example, current context threshold table300includes entity302, current context304, threshold306, and recommendation308. Also in this example, entity302includes user310(i.e., Jane123) and monitored hardware312(i.e., battery drain).

Further in this example, current context304is 12% probable scene focus, threshold306is 10% probable scene focus, and recommendation308is enable scene masking for user310. In other words, current context304for user310exceeds threshold306so scene space augmented reality masking is enabled to enhance user310's augmented reality viewing experience. In addition, current context304is 57% CPU3 average usage, threshold306is 50% CPU3 average usage, and recommendation308is enable scene masking for monitored hardware312. In other words, current context304for monitored hardware312exceeds threshold306so scene space augmented reality masking is enabled to decease monitored hardware312's battery drain.

With reference now toFIG. 4, a diagram illustrating an example of location-to-mask mapping is depicted in accordance with an illustrative embodiment. Location-to-mask mapping400may be, for example, location-to-mask mapping146inFIG. 1. Location-to-mask mapping400includes location or object identifiers402, mask404, and mask attributes406.

Location or object identifiers402identifies a specific geographic location or objects corresponding to a particular augmented reality scene space. Mask404identifies a particular mask that corresponds to the specific geographic location or objects identified in402. Mask attributes406identify the attributes of the particular mask identified in404. Mask attributes406may include, for example, mask size, opacity, proximity, and temporal availability. Illustrative embodiments utilize location-to-mask mapping400to map a specific geographic location or objects to a particular mask and then generate the particular mask for that specific geographic location or objects based on the corresponding mask attributes.

With reference now toFIG. 5, a flowchart illustrating a process for modifying augmented reality viewing of a scene space is shown in accordance with an illustrative embodiment. The process shown inFIG. 5may be implemented in a data processing system, such as, for example, data processing system100inFIG. 1.

The process begins when the data processing system receives an input to enable augmented reality viewing of the scene space by a user of the data processing system (step502). The data processing system determines a current geographic location of the data processing system using a geolocation device of the data processing system (step504). The geolocation device may be, for example, a GPS transceiver.

In addition, the data processing system identifies a current context of the user and a current context of a set of monitored hardware in the data processing system (step506). The current context of the user may be, for example, a current geographic location of the user, such as at work or at home, a current activity of the user, such as sitting, walking, running, climbing stairs, working, driving, and the like, or a current cognitive state of the user, such as drowsy, alert, distracted, attentive, and the like. The set of monitored hardware may be, for example, a processor, a memory, and a battery, of the data processing system. The current context of the set of monitored hardware may be, for example, a level of usage of each monitored component. For example, a level of processor cycles being consumed per unit time, amount of available memory space, and amount of remaining battery power.

Further, the data processing system retrieves defined thresholds corresponding to the current context of the user and the current context of the set of monitored hardware in the data processing system (step508). The data processing system analyzes augmented reality overlays for the scene space based on the defined thresholds corresponding to the current context of the user and the current context of the set of monitored hardware in the data processing system (step510). Then, the computer makes a determination as to whether the augmented reality overlays for the scene space exceed the defined thresholds based on the analysis (step512).

If the computer determines that the augmented reality overlays for the scene space do not exceed the defined thresholds, no output of step512, then the data processing system presents the augmented reality overlays for the scene space as is to the user on a display of the data processing system (step514). Afterward, the computer makes a determination as to whether an input was received to disable the augmented reality viewing (step516). If the computer determines that an input was not received to disable the augmented reality viewing, no output of step516, then the process returns to step504where the data processing system continues to determine the current geographic location of the data processing system. If the computer determines that an input was received to disable the augmented reality viewing, yes output of step516, then the process terminates thereafter.

Returning again to step512, if the computer determines that the augmented reality overlays for the scene space do exceed the defined thresholds, yes output of step512, then the data processing system selects a set of one or more masks indicating one or more portions of the augmented reality overlays are not to be applied to the augmented reality viewing of the scene space based on a location-to-mask mapping (step518). Subsequently, the data processing system modifies the augmented reality viewing of the scene space by the user on the display of the data processing system based on attributes of the set of one or more masks (step520). The attributes of the set of masks may be, for example, mask size, mask opacity, mask temporal availability, object proximity to the user, and the like. Thereafter, the process returns to step516where the computer makes a determination as to whether an input was received to disable the augmented reality viewing.

With reference now toFIG. 6, a flowchart illustrating a process for implementing masks associated with viewing a scene space via augmented reality is shown in accordance with an illustrative embodiment. The process shown inFIG. 6may be implemented in a data processing system, such as, for example, data processing system100inFIG. 1.

The process begins when the data processing system determines that a user is viewing the scene space via augmented reality at a current geographic location of the user (step602). The data processing system detects that the viewing of the scene space is suboptimal for the user based on at least one of overcrowding of the viewed scene space at the current geographic location of the user and significant battery usage to support augmented reality processing (step604). The data processing system also may detect that the viewed scene space is suboptimal for the user based on preferences in a user profile corresponding to the user and monitored hardware usage thresholds.

In addition, the data processing system determines priority of one or more masks associated with the viewing of the scene space by the user based on the user profile (step606). Further, the data processing system may learn the priority of the one or more masks based on user feedback. Furthermore, the data processing system may determine the priority of the one or more masks based on historical data corresponding to other users in an area of the current geographic location of the user. Moreover, the data processing system may determine the priority of the one or more masks based on data corresponding to other users having similar profiles as the user. The data processing system also may adjust a size of the one or more masks based on optimal monitored hardware performance and a capacity of the user to perceive augmented reality artifacts in the viewed scene space.

The data processing system implements the one or more masks associated with the viewing of the scene space based on the current geographic location of the user and the user profile (step608). The one or more masks indicate that a portion of the viewed scene space should not be processed for the viewing of the scene space via augmented reality. Thereafter, the process terminates.

Thus, illustrative embodiments of the present invention provide a method, data processing system, and computer program product for modifying augmented reality viewing of a scene space using a set of masks to increase device performance and user satisfaction. The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.