Patent Publication Number: US-8526724-B2

Title: In-image accessibility indication

Description:
BACKGROUND 
     Graphic designers continually endeavor to produce items that best capture a wide variety of viewer&#39;s attention. To this end, graphic designers have access to numerous graphic design products. In utilizing these graphic design products, these designers manipulate their images to produce a desired effect. However, many traditional graphic design products do not apprise the designer of the fact that about 5% of the designer&#39;s viewing population is colorblind and, hence, possibly unable to view their design. Specifically, about 8% of men and 0.8% of women suffer from colorblindness and, as a result, are often unable to recognize certain regions or objects in the designer&#39;s image. Further, while some of the regions or objects in the image may be non-critical information, such as purely aesthetic information, some of these regions or objects may contain highly-critical information. For example, the regions or objects in the image may contain information that is necessary for colorblind viewer&#39;s understanding. 
     While there exists products that directly show image designers the simulated colorblind views of images, these products require the image designers to check the designed images every time the designed image is revised. This problem is exacerbated when the designer is designing slides, in that the designer would need to check each and every slide for colorblind regions or objects. Therefore, these products are time consuming and labor intensive. 
     SUMMARY 
     This summary is provided to introduce simplified concepts for in-image accessibility indication, which are further described below in the Detailed Description. 
     This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter. Generally, the in-image accessibility indication described herein comprises receiving an image being created by a designer and identifying, to the designer, inaccessible regions within the image that a colorblind viewer cannot ascertain based on determined inaccessible points. Inaccessible points are defined as the points around which patches are not prominent enough for colorblind viewers due to the loss of color information. 
     In one implementation, the in-image accessibility indication techniques may generate simulated colorblind views of the image. In this implementation, the techniques may determine inaccessible points based on information loss between the simulated colorblind view and the image to locate inaccessible regions. 
     In another implementation, the techniques may generate a set of gradient maps of the colorblind views of the image. Here, the techniques described below may determine inaccessible points based on information loss between a gradient map and another gradient map of the set of gradient maps. The identified points may then be used to locate inaccessible regions. 
     In some implementations, the techniques may generate a set of colorblind and non-colorblind gradient maps. For example, the techniques may generate simulated colorblind views, non-colorblind gradient maps of the original image, colorblind gradient maps of the simulated colorblind views, and full colorblind gradient maps of the simulated colorblind views. Here, the techniques may determine inaccessible points based on information loss between the non-colorblind gradient map and the colorblind gradient map to locate inaccessible regions. For example, the techniques may determine a difference between the non-colorblind gradient map and the colorblind gradient map and subsequently determine if the difference is greater than a predefined threshold. If the difference is greater than a predefined threshold, then the information loss is significant enough that a colorblind viewer may not be able to recognize these points. Further, along with determining a difference between the non-colorblind gradient map and the colorblind gradient map, the techniques may determine inaccessible points based on a prominence of the full colorblind gradient map. For example, the techniques may determine if the values of respective points located at respective points of information loss in the full colorblind gradient map are less than another pre-defined threshold. If the values of the points are less than the other pre-defined threshold, then these points are inaccessible to a colorblind viewer. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The detailed description is set forth with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. 
         FIG. 1  represents an illustrative image being created by a designer utilizing a computing system comprising an in-image accessibility indication module. 
         FIG. 2  is a block diagram of an example in-image accessibility indication module being utilized by the computing system in  FIG. 1 . 
         FIG. 3  is a flowchart illustrating details of a process of in-image accessibility indication of  FIG. 1 . 
         FIGS. 4A-C  show a flowchart illustrating the process of locating inaccessible points, locating inaccessible regions, and indicating these regions in the image to a designer. 
         FIG. 5  is a block diagram of a computing system in which in-image accessibility indication can be implemented. 
     
    
    
     DETAILED DESCRIPTION 
     Overview 
     This disclosure describes providing an in-image accessibility indication to a designer of an image, such as still image, an animation, a video, and the like. In particular, systems and methods are described for receiving an image being designed by a designer, locating inaccessible regions of the image based on located inaccessible points, and indicating these located inaccessible regions in the image to the designer while the designer is creating the image. In some implementations, the in-image accessibility indication may generate simulated colorblind views of the image. Additionally or alternatively, the in-image accessibility indication may generate gradient maps based on the image. In other examples, the in-image accessibility indication may generate gradient maps based on dichromate viewers. 
     As discussed above, while products that directly show image designers simulated colorblind views of a completed image exist, the approach taken by these products is inefficient for the designer. Accordingly, there is a need for in-image accessibility indication that indicates, to a designer, colorblind inaccessible regions in an image that the designer currently or immediately designs. That is, a need exists to signal to the designer the potential that color-blind viewers may not be able to view certain regions of an image, while the graphic designer actually engages in the process of designing the image. 
     While the techniques described in this disclosure may be described with respect to images such as poster images, slide images, logo images, etc., other forms of images are contemplated. For example, the techniques described in this disclosure may be described with respect to images such as video images, film images, or the like. 
     Illustrative In-Image Accessibility Indication System 
       FIG. 1  represents an illustrative image being created by a designer utilizing a computing system that includes an in-image accessibility indication module that indicates to the designer which regions, if any, of an image that the designer currently designs may not be viewable by a colorblind view. In some instances, the in-image accessibility indication module provides this indication to the designer while he or she designs the image and without action by the designer. By way of example only, a designer  102  is illustrated as creating a poster image  104  utilizing a computing device  106  comprising an in-image identification module  108  stored in memory  110  and executable by processor(s)  112 . While  FIG. 1  illustrates a designer  102  utilizing a computing device  106 , the designer may utilize, in combination or alternatively, other computing devices comprising in-image identification functionality. For example, a designer may utilize via the internet a remote computing device (e.g., a server) that is configured with an in-image identification module to create the image. Alternatively or additionally, a designer may utilize a cloud computing network configured with in-image identification functionality to identify, to the designer, colorblind inaccessible regions in the image. 
       FIG. 1  illustrates that the module  108  may identify to the designer  102  that the following three regions in the poster image  104  are inaccessible to colorblind viewers: inaccessible region one ( 1 ), inaccessible region two ( 2 ), and inaccessible region three ( 3 ). While  FIG. 1  illustrates three inaccessible regions being in the image  104 , any number of inaccessible regions may be indicated in the image  104 . For example, the in-image identification module  108 , may indicate one inaccessible region, five inaccessible regions, ten inaccessible regions, no inaccessible regions, or any other number. Further, the in-image identification module  108  may indicate an optimized number of regions based on a size and a quantity of inaccessible regions for indication in the image  104 . 
       FIG. 2  is a block diagram of an example in-image accessibility indication module being utilized by the computing system in  FIG. 1 .  FIG. 2  illustrates the in-image identification module  108  comprising multiple modules. The modules may be configured to collectively perform acts that when executed by the processor(s)  112  identify and indicate inaccessible regions to the designer  102 . In this example,  FIG. 2  illustrates an image receiving module  202  for receiving an original image  204  that the designer  102  is currently creating on computing device  106 .  FIG. 2  also illustrates that the in-image identification module  108  includes a view generation module  206 , which may receive the image  204  from image receiving module  202  and generate a simulated colorblind view  208  of the image  204 .  FIG. 2  further illustrates a map generation module  210 , which is configured to generate a set of gradient maps. Here,  FIG. 2  illustrates the map generation module  210  generating one or more gradient maps of original images  212  (e.g., partial gradient maps), one or more gradient maps of simulated colorblind views  214  (e.g., partial gradient maps), and one or more full gradient maps of simulated colorblind views  216 . 
     To do so, the map generation module  210  may receive the original image  204  from view generation module  206  and may process the original image  204  to generate the gradient maps of original images  212 . Similarly, the map generation module  210  may receive the simulated colorblind views  208  from view generation module  206  and may process the simulated colorblind view  208  to generate the gradient maps of simulated colorblind views  214 . The map generation module  210  may further receive the simulated colorblind views  208  to generate the full gradient maps of simulated colorblind views  216 . 
     In some instances, the map generation module  210  may be configured to generate the gradient maps based on dichromate viewers. Specifically, the map generation module  210  may be configured to estimate gradient maps based on protanopia and deuteranopia colorblind viewers (e.g., red-green colorblind viewers). For example, because information loss of protanopia and deuteranopia mainly comes from the a* channel in LAB color space, the map generation module  210  may generate gradient maps in the a* channel. More specifically, the map generation module  210  may generate gradient maps in a* channel of the original images  212 , and gradient maps in a* channel of the simulated colorblind views  214  utilizing the following equations, respectively: 
                     GA   ⁡     (     i   ,   j     )       =           (       a   ⁡     (       i   +   1     ,   j     )       -     a   ⁡     (     i   ,   j     )         )     2     +       (       a   ⁡     (     i   ,     j   +   1       )       -     a   ⁡     (     i   ,   j     )         )     2                 (   1   )                   GA   ′     ⁡     (     i   ,   j     )       =           (         a   ′     ⁡     (       i   +   1     ,   j     )       -       a   ′     ⁡     (     i   ,   j     )         )     2     +       (         a   ′     ⁡     (     i   ,     j   +   1       )       -       a   ′     ⁡     (     i   ,   j     )         )     2                 (   2   )               
Here, a(i,j) and GA(i,j) are the values of the a* component and the gradient at (i,j)-th pixel in the original image  204 , and a′(i, j) and GA′(i, j) are the corresponding values in its colorblind view  208 . Further, map generation module  210  may generate full gradient maps in l*, a*, and b* channels of the simulated colorblind views  216 , which the sum of the gradient maps of l*, a*, and b* channels is G′(i,j).
 
       FIG. 2  further illustrates that the in-image identification module  108  may include an inaccessible point detection module  218 . Inaccessible point detection module  218  may be configured to identify inaccessible points in the image  204 . Inaccessible point detection module  218  may comprise an information loss module  220  and a prominence module  222 . Information loss module  220  may be configured to determine information loss between the original view  204  and the simulated colorblind views  208 , determine information loss between the set of gradient maps  212 ,  214 , and  216 , and/or determine information loss between gradient maps based on dichromate viewers. As discussed above, because information loss of protanopia and deuteranopia mainly comes from the a* channel in LAB color space, the information loss module  220  may be configured to determine information loss between gradient maps in a* channel of the original images  212  and the gradient maps in a* channel of the simulated colorblind views  214 . For example, the information loss module  220  may be configured to estimate information loss around a point (i, j) as GA(i,j)-GA′(i,j). The information loss module  220  may further compare each point&#39;s computed information loss to a predefined threshold to determine whether the information loss is sufficient enough to warrant further consideration of the point. That is, when the module  220  determines that a point has significant amount of information loss when viewed by a colorblind viewer, the module  220  may further analyze this point to determine whether a colorblind view would indeed have difficulty in viewing and/or comprehending the point. In some instances, the designer  102  may set the threshold, or the threshold may be set in any other manner. 
     For those points that have an information loss that is greater than the predefined threshold, the prominence module  222  may be configured to determine whether these points are prominent enough or not to be properly understood by a colorblind viewer. That is, despite the fact that a particular point of an image may have significant information loss, this point may still be prominent enough (e.g., due to the contrast of pixels surrounding the point) such that a colorblind viewer would still be able to view and comprehend the point. Those points that both have significant information loss and that are not prominent beyond a threshold may then be considered inaccessible points, as discussed below. Also as discussed below, a collection of these points may define an inaccessible region, which the module  108  may indicate to the designer  102  to allow the designer  102  to modify the image, if chosen. 
     In some instances, the prominence module  222  may be configured to determine if points (i, j) or pixels within full gradient maps in l*, a*, and b* channels of the simulated colorblind views  216  are not prominent in colorblind view. The inaccessible point detection module  218  may first utilize the information loss module  220  to determine if points around which patches do not only have significant information loss but also utilize the prominence module  222  to determine if the points around which the patches are not prominent in colorblind view, as determined with reference to a threshold. Specifically, the inaccessible point detection module  218  may utilize the information loss module  220  and the prominence module  222  to determine the following criterion: 
     
       
         
           
               
             
               
                   
               
             
            
               
                 Criterion: point (i, j) is inaccessible if GA(i,j)− GA′(i,j) &gt; T 1  and G′(i,j) 
               
               
                 &lt; T 2 , where T 1  and T 2  are two pre-defined thresholds. 
               
               
                   
               
            
           
         
       
     
       FIG. 2  further illustrates in-image identification module  108  comprising a region generation module  224 . Region generation module  224  may be configured to locate inaccessible regions based on the identified inaccessible points detected by the inaccessible point detection module  218 . Generally, the region generation module  224  finds a set of inaccessible regions R={R 1 , R 2 , . . . , R m } that cover the identified inaccessible points. However, the region generation module  224  may further optimize the inaccessible regions by iteratively determining a minimum area size of the inaccessible regions versus a regularized number of inaccessible regions. For example, region generation module  224  may determine the optimum number of inaccessible regions to be 3 inaccessible regions, each having a different area size and shape. Specifically, the region generation module  224  may be configured to utilize the following five step clustering algorithm to iteratively minimize an area of each located inaccessible region and regularize a number of the located inaccessible regions: 
     
       
         
           
               
               
             
               
                   
               
             
            
               
                 1: 
                 Start with n regions, and each region covers only one point, i.e., 
               
               
                   
                 S(R i ) = 0. Clearly, we have f (0) (R) = λn. 
               
               
                 2: 
                 Search the two regions according to the criterion that {R i , R j } = 
               
               
                   
                 min i,j  S(R i  + R j ) − S(R i ) − S(R j ) where R i  + R j  means the smallest 
               
               
                   
                 rectangular region that covers R i  and R j . 
               
               
                 3: 
                 Remove R i  and R i  from R and add in R i  + R j , and let f (k) (R) = 
               
               
                   
               
               
                   
                 
                   
                     
                       
                         
                           
                             f 
                             
                               ( 
                               
                                 k 
                                 - 
                                 1 
                               
                               ) 
                             
                           
                           ⁡ 
                           
                             ( 
                             R 
                             ) 
                           
                         
                         + 
                         
                           
                             
                               S 
                               ⁡ 
                               
                                 ( 
                                 
                                   
                                     R 
                                     i 
                                   
                                   + 
                                   
                                     R 
                                     j 
                                   
                                 
                                 ) 
                               
                             
                             - 
                             
                               S 
                               ⁡ 
                               
                                 ( 
                                 
                                   R 
                                   i 
                                 
                                 ) 
                               
                             
                             - 
                             
                               S 
                               ⁡ 
                               
                                 ( 
                                 
                                   R 
                                   j 
                                 
                                 ) 
                               
                             
                           
                           A 
                         
                         - 
                         
                           λ 
                           . 
                         
                       
                     
                   
                 
               
               
                   
               
               
                 4: 
                 Repeat steps (2) and (3) until k = m − 1, i.e., there is only one region. 
               
               
                 5: 
                 Select k that minimizes f (k)  (R), i.e., the step in which the objective 
               
               
                   
                 function achieves the minimal value, where  
               
               
                   
               
               
                   
                 
                   
                     
                       
                         
                           f 
                           ⁡ 
                           
                             ( 
                             R 
                             ) 
                           
                         
                         = 
                         
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 1 
                               
                               m 
                             
                             ⁢ 
                             
                               
                                 S 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     R 
                                     i 
                                   
                                   ) 
                                 
                               
                               A 
                             
                           
                           + 
                           
                             λ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             m 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             and 
                           
                         
                       
                     
                   
                 
               
               
                   
               
               
                   
                 where A is the size of the whole image and λ &gt; 0 is a weighting 
               
               
                   
                 factor. 
               
               
                   
               
            
           
         
       
     
     Region generation module  224  may further be configured to refrain from identifying particular located inaccessible regions. For example, region generation module  224  may decide to refrain from identifying a located inaccessible region if the located inaccessible region occupies less than about 25 pixels. While the region generation module may be described as configured to utilize the above five step clustering algorithm, the region generation module may be configured to use any other clustering algorithm suitable for minimizing an area of each located inaccessible region and regularizing a number of the located inaccessible regions. Further, the region generation module may determine inaccessible regions with use of the identified inaccessibility points in any other manner, either with use of clustering techniques or otherwise. 
       FIG. 2  further illustrates an accessibility indication module  226 . The accessibility indication module  226  may receive the located inaccessible regions from the region generation module  224 . The accessibility indication module  226  may then indicate the located inaccessible regions to the designer in any suitable manner, such as by producing a boundary line arranged around each of the located inaccessible regions. The accessibility indication module  226  may further indicate these bounded regions with a “flag.” For example the accessibility indication module  226  may bound the inaccessible regions with a rectangle, an ellipse, or an irregular shape, and/or may further include a “balloon” tagged to each respective bounded region. The “balloon” may include a number, a letter, or the like to indicate the inaccessible regions to the designer. Further, the accessibility indication module  226  may then provide these indications in an image being created by a designer, as illustrated in  FIG. 1 . 
     Illustrative In-Image Accessibility Indication Process 
       FIG. 3  is a flowchart illustrating details of a process  300  of in-image accessibility indication of  FIG. 1 . Generally, in-image accessibility indication may comprise detecting inaccessible points, locating inaccessible regions with reference to the detected inaccessible points, and then indicating these located regions to the designer while the designer creates the image and without requiring the designer to specifically request the indication. 
     This process is illustrated as a collection of acts in a logical flow graph, which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Note that the order in which the process is described is not intended to be construed as a limitation, and any number of the described acts can be combined in any order to implement the process, or an alternate process. Additionally, individual blocks may be deleted from the process without departing from the spirit and scope of the subject matter described herein. 
     In this particular implementation, the process  300  may include block  302 , which represents receiving an image (e.g., image  204 ) being designed by a designer (e.g., designer  102 ). For example, as shown in  FIG. 2 , the image  204  being created by designer  102  may be received by the image receiving module  202 .  FIG. 3  illustrates block  302  may be followed by block  304 , which represents generating simulated colorblind views (e.g., simulated color blind views  208 ). In some instances, the view generation module  206  illustrated in  FIG. 2  may perform the block  304 . 
     The process  300  may further include block  306 , which represents the map generation module  210  generating gradient maps. For example, the map generation module  210  may generate a set of gradient maps (e.g., gradient maps  212 ,  214 , and  216 ). For instance, block  306  may represent generating gradient maps based on red-green colorblind viewers, such as gradient maps in a* channel of the original images  204  (i.e., GA(i,j)), gradient maps in a* channel of the simulated colorblind views  208  (i.e., GA′(i,j)), and full gradient maps in l*, a*, and b* channels of the simulated colorblind views  208  (i.e., G′(i,j)). Block  306  may be followed by block  308  in some instances. 
     Block  308 , which may further comprise block  308 ( 1 ) and block  308 ( 2 ), represents the inaccessible point detection module  218  locating inaccessible points. Block  308 ( 1 ) may represent determining information loss and block  308 ( 2 ) may represent determining prominence of information  308 ( 2 ) for those points having a certain amount of information loss. Generally, because inaccessible points are defined as the points around which patches in the image are not prominent enough for colorblind views due to loss of color information, the criterion to locate inaccessible points involves determining if points according to the information loss are not prominent in colorblind view beyond a threshold. Specifically, subsequent to determining information loss by determining points (i, j) are inaccessible if GA(i,j)-GA′(i,j)&gt;T 1  at block  308 ( 1 ), block  308 ( 2 ) may determine that points (i, j) are inaccessible if G′(i,j)&lt;T 2 . If the inaccessible point detection module  218  determines that the points (i, j) of GA(i,j)-GA′(i,j) are greater than T 1 , and that the points (i, j) of G′(i,j) are less than T 2 , then the points (i, j) are determined to be inaccessible to colorblind persons. While this process describes first determining whether a point has information loss beyond a threshold (T 1 ) and then determining whether the prominence of this point is less than a threshold (T 2 ), in other instances the process may reverse these operations. That is, the process  300  may identify those points having a prominence that is below the threshold T 2 , and then determine whether the information loss for those points is greater than the threshold T 1 . In both instances, the process  300  identifies points that colorblind users may have difficulty viewing. 
     Subsequent to block  308 , process  300  may include block  310 , which represents region generation module  224  locating inaccessible regions based on the detected inaccessible points. Specifically, block  310  may represent the region generation module  224  iteratively determining a set of inaccessible regions that cover the inaccessible points by utilizing the five step clustering algorithm described above with respect to the region generation module  224  of  FIG. 2 . Block  312  may complete process  300 , which represents the accessibility indication module  226  indicating regions in the image to the designer. For example, the accessibility indication module  226  may form a rectangular shaped boundary line arranged around each of the located inaccessible regions and then provide these regions in an image being created by a designer. While one example has been given, the accessibility indication module  226  may indicate these inaccessible regions in any other visual or audible way in some instances. 
       FIGS. 4A-C  show a flowchart illustrating a process  400  of locating inaccessible points, locating inaccessible regions, and indicating regions in the image to the designer. Further, the process  400  may represent, in more detail, process  300  blocks  308 ( 1 ),  308 ( 2 ),  310 , and  312 . Generally,  FIG. 4A  may illustrate the inaccessible point detection module  218  determining information loss between two gradient maps that may have been generated by map generation module  210 .  FIG. 4B  continues the illustration of the process  400 , and generally illustrates the inaccessible point detection module  218  identifying inaccessible points. Finally,  FIG. 4C  illustrates the region generation module  224  locating inaccessible regions based on detected inaccessible points and the accessibility indication module  226  indicating the inaccessible regions in the image to the designer. 
     Turning to  FIG. 4A , the process  400  may start with operation  402 , which represents calculating information loss for each point (i, j) between gradient maps. While  FIG. 4A  illustrates calculating information loss for each point (i, j) between gradient maps,  FIG. 4A  may also illustrate determining information loss by determining, for each point (i, j), if GA(i,j)-GA′(i,j)&gt;T 1 , as discussed above. Here,  FIG. 4A  illustrates the gradient map of an original image  212  comprising a sample target location  212 ( 1 ). Sample target location  212 ( 1 ) represents a group of points or pixels disposed in an image (e.g., image  204 ) being created by a designer. In this example, the sample target location  212 ( 1 ) includes eight pixels, each comprising a location (i, j) and a value that is intended to represent a gradient at that point for the respective gradient map.  FIG. 4A  further illustrates the gradient map of a simulated colorblind view  214  comprising a respective sample target location  214 ( 1 ). Again, for illustrative purposes only, the respective target location  214 ( 1 ) also includes eight pixels, each comprising the same locations (i,j) as the sample target location  212 ( 1 ) pixels and a respective value. As discussed above, information loss module  220  may be configured to estimate information loss around a point (i, j) as GA(i, j)-GA′(i,j)&gt;T 1 . Here, operation  402  illustrates determining the difference for each of the eight pixels between the gradient map of the original image  212  and the gradient map of the simulated colorblind image  214 , respectively, to determine GA(i,j)-GA′(i,j). 
     Operation  402  is followed by operation  404 , which represents determining if the information loss is greater than a predefined threshold (i.e., GA(i,j)-GA′(i, j)&gt;T 1 ). Operation  404  illustrates that four of the eight pixels are greater than the predefined threshold T 1 , while the remaining four pixels are not greater than the predefined threshold T 1  (which are grated out). The pixels that are greater than the predefined threshold are determined to be inaccessible-point candidates, subject to determining the prominence of each of these points. While  FIG. 4A  illustrates a pre-defined threshold equal to 15, other pre-defined thresholds are contemplated. For example the pre-defined threshold can vary from about 10 to about 20. 
     The process  400  continues with  FIG. 4B  at operation  406 . Operation  406  may represent the prominence module  222  determining if respective points of a full gradient map of a simulated colorblind view  216  are less than another pre-defined threshold (i.e., if G′(i,j)&lt;T 2 ). Generally, operation  406  represents the prominence module  222  determining if these points are not prominent in colorblind view. 
       FIG. 4B  illustrates a full gradient map of the simulated colorblind view  216  comprising a respective sample target location  216 ( 1 ). Respective target location  216 ( 1 ) may also comprise eight complete pixels, each comprising the same locations (i,j) as the sample target location  212 ( 1 ) pixels, respectively, and a value. Here, operation  406  illustrates considering only the four pixel locations (i, j) of the sample target location  212 ( 1 ) that are not grated out, since these are the inaccessible-point candidates determined at the operation  404 . Next, operation  406  determines if the respective target location  216 ( 1 ) pixels are less than another pre-defined threshold T 2 . More specifically, operation  406  may represent determining if G′(i, j)&lt;T 2 . 
     Operation  408 , which may follow operation  406 , represents the inaccessible point detection module  218  identifying the inaccessible points. Here, at operation  408 , the respective target location  216 ( 1 ) pixels that are less than the other pre-defined threshold T 2  are identified as inaccessible points. While  FIG. 4B  illustrates another pre-defined threshold equal to 10, other pre-defined thresholds are contemplated. For example the other pre-defined threshold can vary from about 10 to about 20. 
     The process  400  continues with  FIG. 4C  at operation  410 . Generally, operation  410  represents optimizing the inaccessible regions by iteratively determining an area size of the inaccessible regions versus the number of inaccessible regions. Operation  410  may represent the region generation module  224  locating boundaries  412 ( 1 )- 412 (N) arranged around inaccessible regions based on detected inaccessible points  414 ( 1 )- 414 (N), respectively. Here detected inaccessible points  414 ( 1 )- 414 (N) may have been identified at operation  408  as described above. Further, operation  410  may represent the region generation module  224  utilizing the five step iterative clustering algorithm, described above with respect to  FIG. 2 , to iteratively regularize the number of boundaries  412 ( 1 )- 412 (N) arranged around inaccessible regions and minimize their area sizes. 
     The process  400  may be completed at operation  416 , which represents the accessibility indication module  226  indicating inaccessible regions  1 - 3  in the image being immediately created by a designer (e.g., designer  102 ). Again, the accessibility indication module  226  may indicate these regions to the designer in any other suitable manner. Further, in some instances, the in-image identification module  108  performs the process  400  while the designer creates the image and without the designer executing a command or other request to view the inaccessible regions. Instead, the module  108  may perform this background process while the designer designs the image. 
     Illustrative Computing Environment 
       FIG. 5  is a block diagram of a computing system that may implement the in-image accessibility indication techniques described above. The computing system may be configured as any suitable computing device capable of implementing in-image accessibility indication system, and accompanying processes. By way of example and not limitation, suitable computing devices may include personal computers (PCs), servers, server farms, datacenters, or any other device capable of storing and executing all or part of the in-image accessibility indication processes. 
     In one illustrative configuration, the computing system may comprise at least a memory  110  and one or more processing units (or processor(s))  112 . The processor(s)  112  may be implemented as appropriate in hardware, software, firmware, or combinations thereof. Software or firmware implementations of the processor(s)  112  may include computer-executable instructions written in any suitable programming language to perform the various functions described. 
     Memory  110  may store program instructions that are loadable and executable on the processor(s)  112 , as well as data generated during the execution of these programs. Depending on the configuration and type of computing device, memory  110  may be volatile (such as random access memory (RAM)) and/or non-volatile (such as read-only memory (ROM), flash memory, etc.). The computing device or server may also include additional removable storage  502  and/or non-removable storage  504  including, but not limited to, magnetic storage, optical disks, and/or tape storage. The disk drives and their associated computer-readable media may provide non-volatile storage of computer readable instructions, data structures, program modules, and other data for the computing devices. In some implementations, the memory  110  may include multiple different types of memory, such as static random access memory (SRAM), dynamic random access memory (DRAM), and/or ROM. 
     Memory  110 , removable storage  502 , and non-removable storage  504  are all examples of computer-readable storage media. Computer-readable storage media includes, but is not limited to, volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Additional types of computer storage media that may be present include, but are not limited to, phase chance memory (PRAM), SRAM, DRAM, other types of RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the server or other computing device. Combinations of any of the above should also be included within the scope of computer-readable storage media. 
     The computing system may also contain communications connection(s)  506  that allow the computing system to communicate with a stored database, another computing device or server, user terminals, and/or other devices on a network. The computing system may also include input device(s)  508  such as a keyboard, mouse, pen, voice input device, touch input device, etc., and output device(s)  510 , such as a display, speakers, printer, etc. 
     Conclusion 
     Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments.