US9620082B2 - Correcting artifacts on a display - Google Patents
Correcting artifacts on a display Download PDFInfo
- Publication number
- US9620082B2 US9620082B2 US14/713,278 US201514713278A US9620082B2 US 9620082 B2 US9620082 B2 US 9620082B2 US 201514713278 A US201514713278 A US 201514713278A US 9620082 B2 US9620082 B2 US 9620082B2
- Authority
- US
- United States
- Prior art keywords
- artifact
- artifacts
- image
- display
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000013598 vector Substances 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000002834 transmittance Methods 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/10—Intensity circuits
-
- G06T5/005—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/20—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2330/00—Aspects of power supply; Aspects of display protection and defect management
- G09G2330/10—Dealing with defective pixels
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0457—Improvement of perceived resolution by subpixel rendering
Definitions
- Example flat panel displays are frequently used in consumer products, such as printers, scanners, mobile devices, etc.
- Example flat panel displays may be implemented by a light emitting diode (LED) display or a liquid crystal display (LCD).
- An example LED display includes an array of pixels consisting of LEDs (e.g., red LEDs, blue LEDs, and green LEDs).
- An example LCD include a backlight source, polarizing fillers, and electrically modulated liquid crystals that vary transmission (light emission) based on signals applied to the crystals.
- FIG. 1 is a schematic diagram of an example display system including an artifact manager according to an example.
- FIG. 2 a block diagram of an example artifact manager that may be used to implement the artifact manager in the example display system of FIG. 1 .
- FIG. 3 illustrates an example artifact identified by the artifact manager of FIG. 1 or 2 .
- FIG. 4 illustrates example artifacts that may be classified by the artifact manager of FIG. 1 or 2 .
- FIG. 5 is a flowchart representative of example machine readable instructions that may be executed to implement the artifact manager 112 of FIG. 2 .
- FIG. 6 is a flowchart representative of an example portion of the example machine readable instructions of FIG. 5 to implement an artifact identifier of the artifact manager of FIG. 2 .
- FIG. 7 is a flowchart representative of another example portion of the example machine readable instructions of FIG. 5 to implement an artifact classifier of the artifact manager of FIG. 2 .
- FIG. 8 is a block diagram of an example processor platform capable of executing the instructions of FIGS. 5, 6 , and/or 7 to implement the artifact manager of FIG. 2 .
- Examples disclosed herein involve identifying artifacts (e.g., fringe artifacts) on a display and correcting the artifacts such that they may not be perceived by a viewer of the display.
- artifacts e.g., fringe artifacts
- potential artifact locations are identified and analyzed to determine whether the artifacts are to be corrected. Correcting the identified artifacts is performed based on the types of the identified artifacts. Accordingly, examples disclosed herein identify the artifacts and analyze the artifacts to classify the artifacts for appropriate correction.
- an artifact is a display error or anomaly perceived by a user due to aliasing (color fringing) or ineffective pixel geometry.
- a pixel is a display unit of a display that is comprised of subpixels or subpixel components, such as light emitting diodes (in LED displays) or liquid crystals (in liquid crystal displays (LCDs).
- subpixel or LED pattern arrangements may induce artifacts.
- display elements e.g., LEDs, liquid crystals, etc.
- offset between adjacent pixels (or subpixels)
- diagonally adjacent red subpixel elements produce red dot artifacts in regions of high contrast (e.g., text, lines, edges in graphics, etc.).
- aliasing e.g., color fringing
- apparent artifacts in the display may cause a presentation to appear inaccurate or unpleasant.
- apparent artifacts e.g., red dot artifacts
- apparent artifacts in a display may be corrected in near real-time (e.g., within 10 milliseconds) or as images are presented rendered) on a display.
- An example method includes identifying an artifact in an image on a display.
- the example artifact may be caused by a subpixel of a pixel of the display.
- the example method may determine a type of the artifact based on a location of the artifact relative to content of the image and correct the artifact to remove the appearance of the artifact from the display based on the type of the artifact.
- FIG. 1 is a schematic diagram of a display system 100 including a display controller 110 having an artifact manager 112 constructed in accordance with examples herein.
- the example display system 100 includes the display controller 110 , a display 120 , and a media database 130 .
- the example display system 100 may be implemented by a mobile device (e.g., cellular phone, personal digital assistant, an mp3 player, etc.), a printer, a scanner, a computer, or any other type of electronic device.
- the artifact manager 112 of the display controller 110 may identify artifacts in an image from the media database 130 presented on the display 120 and perform a correction to remove the artifacts from the image.
- the example display 120 of FIG. 1 may be implemented by a flat panel display, such as an LED display or an LCD.
- the display 120 is a low resolution display including a triangular row arrangement (e.g., a delta arrangement) in which pixels of respective rows are offset from one another.
- the display 120 may be a display of a printer, a mobile device, a scanner, or any other electronic device.
- the display 120 is presenting an image 122 including text 124 (i.e. “Here is the white text and numbers 1 2 3 4 5 6 7 8 9 0”) against a background 126 .
- the example image 122 in the display 120 of FIG. 1 appears to have artifacts 128 near or around portions of the text 124 , as further described below in the connection with FIG. 3 .
- the artifacts 128 appear as defects in the image 122 that cause the text 124 to appear unclear or distorted.
- the text 124 is presented as white text and the background 126 appears black, which creates a high contrast appearance between the text 124 and the background 126 .
- the example artifacts 128 may cause the white text 124 to have a red “glow” around portions of the text caused by red dot artifacts that appear as fringe artifacts. For example, due to spatial proximity of red subpixels in contrasting image regions (e.g., regions around the white text 124 , such as corners or edges), red dot artifacts or fringe artifacts may appear.
- the red dot artifacts may appear to a user (e.g., be brighter than the white text) due to the eyes and/or brain of the user identifying or focusing on different color spectrums based on its spatial location (e.g., between the text 124 and background 126 ) in the image 122 .
- the examples disclosed herein may refer to correction of the artifacts 128 on the display 120 or the image 122 of FIG. 1 as fringe artifacts or red dot artifacts, any other artifacts or types of artifacts in any image or type of image may be corrected using the examples disclosed herein.
- the display controller 110 may be a processor or computer platform (e.g., of a computer, of a mobile device, of a printer, etc.) that implements the artifact manager 112 .
- the display controller 110 controls signals to a pixel array of the display 120 to present media (e.g., images, text, documents, etc.) from the media database 130 on the display 120 .
- the display controller 110 may retrieve the media from the media database 130 and present the media on the display 120 .
- the example media database 130 may be any database or storage device that includes media (e.g., images, text, documents, video, etc.) that may be presented on the display 120 .
- the artifact manager 112 of the display controller 110 may analyze the media data (e.g., the data stored in the media database) or the display data (e.g., the data representative of control signals sent to the pixel array of the display 120 ) to identify and correct artifacts in the media as the media is presented on the display 120 (e.g., in real time or near real time (e.g., within 10 ms)) in accordance with examples herein.
- An example implementation of the artifact manager 112 is further described in connection with FIG. 2 .
- FIG. 2 is a block diagram of an example artifact manager 112 that may be used to implement the artifact manager 112 of FIG. 1 .
- the example artifact manager 112 of FIG. 2 includes an artifact identifier 210 , an artifact classifier 220 , and an artifact corrector 230 .
- a communication bus 240 facilitates communication between the artifact identifier 210 , the artifact classifier 220 , and the artifact correct 230 .
- the artifact identifier 210 identifies pixels or subpixels that cause or potentially cause artifacts (e.g., fringe artifacts, red dot artifacts, etc.), the artifact classifier 220 determines types of the identified artifacts (e.g., singlet artifacts, doublet artifacts, triplet artifacts, etc.), and the artifact corrector 230 corrects the artifacts in accordance with aspects of this disclosure.
- artifacts e.g., fringe artifacts, red dot artifacts, etc.
- the artifact classifier 220 determines types of the identified artifacts (e.g., singlet artifacts, doublet artifacts, triplet artifacts, etc.)
- the artifact corrector 230 corrects the artifacts in accordance with aspects of this disclosure.
- the example artifact identifier 210 identifies artifacts (e.g., fringe artifacts, red dot artifacts, etc.) in the image 122 when presented on the display 120 .
- the artifact identifier 210 may determine a location of pixels that may lead to the artifacts (which may be referred to herein as potential artifact pixels).
- the artifact identifier 210 may iteratively scan or analyze portions of an image (e.g., the image 122 of FIG. 1 ) corresponding to lines (e.g., rows or columns) of pixels of a display (e.g., the display 120 ) until the full image is analyzed.
- the artifact identifier 210 may analyze signals (e.g. display data) sent to the display 120 that illuminate three lines of pixels corresponding to the portion of the image 122 . After the example portion of the image 122 is analyzed, the artifact identifier 210 may analyze another portion (e.g., a subsequent portion) of the image 122 until the full image 122 is analyzed. The artifact identifier 210 may notify the artifact classifier 220 of any identified artifacts for further analysis.
- signals e.g. display data
- the artifact identifier 210 may analyze another portion (e.g., a subsequent portion) of the image 122 until the full image 122 is analyzed.
- the artifact identifier 210 may notify the artifact classifier 220 of any identified artifacts for further analysis.
- the artifact identifier 210 of FIG. 3 (which may be implemented by the artifact identifier 210 of FIG. 2 ) identifies artifacts in a display 120 (which may be implemented by the display 120 of FIG. 1 .
- a zoomed view of a portion of the text 124 (e.g., a portion of the ‘9’) including a fringe artifact 326 (e.g., a red dot artifact) is illustrated.
- the example artifact identifier 210 may identify the fringe artifact 326 in accordance with the examples herein.
- the artifact identifier 210 may use the following analysis of the image 122 or portions of the image to identify pixels that may be potential red dot artifacts. In the following analysis, the artifact identifier 210 identifies spatial positioning (location) of potential red dot artifacts within the image 122 relative to the content of the image 122 (e.g., the text 124 ). For the following, let I nm be a vector field that maps an n dimensional spatial (length x, height y) space to an m dimensional color (red r, green g, blue b) space of the image 122 of FIG. 3 .
- the vector field is analyzed to identify a maximized distance d such that the largest eigenvalue and its corresponding eigenvector of a matrix D T D are equivalent to a gradient magnitude and direction for the vector field.
- a second order partial derivative matrix of the vector field I nm along the spatial n and color m dimensions may avoid shifting the gradient while highlighting zero crossings in the image. Accordingly, a second order derivative of the vector field I nm may be represented by the following equation:
- I mn d u 2 I mn ⁇ ( u + 1 ) + I nm ⁇ ( u - 1 ) - 2 ⁇ ⁇ I nm ⁇ ( u ) ( 1 )
- a gradient map is determined that identifies pixels (e.g., the pixel causing the fringe artifact 326 of FIG. 3 ) in locations of edges and corners in the image 122 or portions of the image 122 (e.g., a portion corresponding to three lines of pixels) that may potentially lead to red artifacts in the display 120 , hereinafter referred to as artifact pixels.
- the gradient map may be thresholded by a limit T 1 to further determine candidate artifact pixels for color correction.
- the limit T 1 may correspond to an intensity of a red subpixel that causes the fringe artifact 326 . Accordingly, the potential artifact pixels may become candidate artifact pixels when the intensity of the potential artifact pixel satisfies the threshold T 1 (e.g., is greater than the threshold T 1 ).
- the artifact identifier 210 may analyze an area surrounding the candidate artifact locations to determine whether an artifact exists.
- the artifact identifier 210 may determine whether the artifact is located on an edge of content (e.g., text, lines, or any other high contrast content).
- An example edge of the content may be an area of transmission between the content (e.g., the text, line, etc.) and a background of the content.
- the artifact identifier 210 may determine whether or not the identified artifact pixel location causes an artifact on the display.
- the artifact identifier 210 may determine the location of artifacts when the potential artifact locations are in lower intensity neighborhoods. For example, a neighborhood N corresponds to the immediate pixels (or subpixels) centered around the artifact pixel potentially causing an artifact. Letting B P1 be the brightness of the artifact pixel and a be the brightness of pixels in the neighborhood N, then when
- the artifact identifier 210 determines the artifact pixel is in a dark neighborhood.
- the example artifact classifier 220 determines a type of artifact identified by the artifact identifier 210 .
- the artifact classifier 220 may classify identified artifacts as singlet artifacts, doublet artifacts, or triplet artifacts.
- the artifact classifier 220 analyzes locations of artifact pixels and determines a distance between the artifact pixel and another artifact pixel.
- the artifact classifier 220 determines that an artifact pixel is not within a threshold distance of another artifact pixel, the artifact classifier 220 classifies artifact as a singlet artifact. For example, in FIG. 4 , the artifact classifier identifies the artifact pixel R 1 but does not identify another artifact pixel within a neighborhood of the artifact pixel R 1 .
- the threshold distance may be based on a whether the artifact pixels are neighboring pixels as defined above.
- the artifact classifier 220 determines whether the artifact pixel is within a threshold distance of a single artifact pixel or multiple artifact pixels. For example, in FIG. 4 the artifact classifier 220 determines that the artifact pixel R 1 is within a threshold distance of a single artifact pixel R 2 , the artifact classifier 220 determines that the type of the artifact pixel R 1 is a double artifact pixel.
- the artifact classifier 220 determines that the artifact pixel R 1 is within a threshold distance of the artifact pixel R 2 of the doublet artifact 404 when the artifact classifier 220 determines that the artifact pixel R 1 is diagonally adjacent to the artifact pixel R 2 . Furthermore, as illustrated in FIG. 4 , the artifact classifier 220 determines that the artifact pixel R 1 is within a threshold distance of two artifact pixels R 2 , R 3 , the artifact classifier 220 determines that the type of the artifact pixel R 1 is a triplet artifact pixel. Examples of artifact pixel types and identification of the type of artifact pixel is further discussed below in connection with FIG.
- the artifact pixels in the doublet artifact pixels or triplet artifact pixels are all corrected by the artifact corrector 230 of FIG. 2 .
- the artifact corrector 230 corrects the identified artifact pixels based on whether the artifact pixels are singlet artifacts, doublet artifacts, or triplet artifacts.
- the artifact corrector 230 may receive information (e.g., intensity, location, neighboring pixel intensity, etc.) corresponding to the artifact pixel from the artifact identifier 210 and/or the artifact classifier.
- the artifact corrector 230 determines a neighboring pixel of the artifact pixel. For example, referring to the singlet artifact 402 of FIG. 4 , the color corrector 230 identifies a neighboring pixel g of the artifact pixel R 1 is green. The color corrector 230 determines a color intensity of the green subpixel G 1 of the artifact pixel R 1 (i.e., R 1 and G 1 are subpixels of a same pixel) and sets the color intensity of the neighboring pixel equal to that of g.
- the artifact corrector 230 determines R tot based on radiant intensities I 1 and I 2 of R 1 and R 2 , respectively to produce I tot .
- R tot ⁇ ( R 1 ⁇ +R 2 ⁇ ) 1/ ⁇ ⁇ 255 (8)
- the artifact corrector 230 corrects intensities of the neighboring artifacts g and b of the doublet artifact 404 of FIG. 4 .
- the doublet artifacts and associated subpixels are considered as a part of a single ghost pixel P ghost such that:
- the artifact corrector 230 corrects the intensities of the neighboring subpixels g and b using the following calculations to correct doublet artifacts:
- the artifact corrector 230 may treat the triplet artifact as two doublets (i.e., a first pair of artifact pixels and a second pair of artifact pixels. In some examples, the artifact corrector 230 may treat the three artifact pixels as a single ghost pixel, similar to the above calculations for the doublet artifacts.
- the ghost pixel P ghost of the triplet artifact 406 includes two blue neighboring subpixels b 1 , b 2 and one green neighboring subpixel g (though in other example triplet artifacts the neighboring subpixels may include two green subpixels and one blue subpixel).
- the artifact corrector 230 may adjust values of the neighboring pixels based on the following:
- g ( B 1 , G 1 ) ⁇ R tot R 1 ⁇ 2 1 / ⁇ ⁇ ⁇ g
- b ( G 1 , B 1 ) ⁇ R tot R 1 . ( 13 )
- the artifact corrector 230 may correct the intensities of the artifact pixels and/or neighboring pixels to remove the appearance of the artifacts from the display 120 .
- the artifact corrector 230 makes the adjustments to the pixels/subpixels or neighboring pixels/subpixels based on the type of artifact identified by the artifact identifier 210 and classified by the artifact classifier 220 .
- FIG. 2 While an example manner of implementing the artifact manager 112 of FIG. 1 is illustrated in FIG. 2 , at least one of the elements, processes and/or devices illustrated in FIG. 2 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the artifact identifier 210 , the artifact classifier 220 , the artifact corrector 230 and/or, more generally, the example artifact manager 112 of FIG. 2 may be implemented by hardware and/or any combination of hardware and executable instructions (e.g., software and/or firmware).
- any of the artifact identifier 210 , the artifact classifier 220 , the artifact corrector 230 and/or, more generally, the example artifact manager 112 could be implemented by at least one of an analog or digital circuit, a logic circuit, a programmable processor, an application specific integrated circuit (ASIC), a programmable logic device (PLD) and/or a field programmable logic device (FPLD).
- ASIC application specific integrated circuit
- PLD programmable logic device
- FPLD field programmable logic device
- At least one of the artifact identifier 210 , the artifact classifier 220 , and/or the artifact corrector 230 is/are hereby expressly defined to include a tangible computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the executable instructions.
- the example artifact manager 112 of FIG. 2 may include at least one element, process, and/or device in addition to, or instead of, those illustrated in FIG. 2 , and/or may include more than one of any or all of the illustrated elements, processes and devices.
- FIGS. 5, 6, and 7 Flowcharts representative of example machine readable instructions for implementing the 112 of FIG. 2 are shown in FIGS. 5, 6, and 7 .
- the machine readable instructions comprise program(s)/process(es) for execution by a processor such as the processor 812 shown in the example processor platform 800 discussed below in connection with FIG. 8 .
- the program(s)/process(es) may be embodied in executable instructions (e.g., software) stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 812 , but the entirety of the program(s)/process(es) and/or parts thereof could alternatively be executed by a device other than the processor 812 and/or embodied in firmware or dedicated hardware.
- a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 812 , but the entirety of the program(s)/process(es) and/or parts thereof could alternatively be executed by a device other than the processor 812 and/or embodied in firmware or dedicated hardware.
- the example program(s)/process(es) is/
- the example process 500 of FIG. 5 begins with an initiation of the artifact manager 112 (e.g., upon startup, upon instructions from a user, upon startup of a device implementing the artifact manager (e.g., the display controller 110 ), etc.).
- the example process 500 of FIG. 5 may be executed to identify, classify, and correct artifacts in a display to enhance the resolution of the display.
- the artifact identifier 210 identifies a first artifact in the image 122 on the display 120 .
- the artifact identifier 210 may calculate a second derivative gradient of a vector (e.g., a mapping of spatial dimensions of the image 122 to color dimensions of the image 122 ) of the image 122 to identify the first artifact.
- a vector e.g., a mapping of spatial dimensions of the image 122 to color dimensions of the image 122
- An example implementation of block 510 is further discussed below in connection with FIG. 6 .
- the artifact classifier 220 determines a type of the first artifact. For example, at block 520 , the artifact classifier 220 may determine whether the artifact is a singlet artifact (including one artifact pixel), a doublet artifact (including two artifact pixels), or a triplet artifact (including three or more artifact pixels). An example implementation of block 520 is further discussed below in connection with FIG. 7 .
- the artifact corrector 230 corrects the artifact to remove the appearance of the artifact from the display based on the type of artifact.
- the artifact corrector 230 may correct the artifact by adjusting color settings (e.g., intensities) of neighboring pixels or subpixels surrounding artifact pixels causing the artifact in accordance with examples herein. Accordingly, the artifact corrector 230 performs a singlet correction, a doublet correction, or triplet correction based on whether the artifact is a singlet artifact, a doublet artifact, or a triplet artifact, respectively.
- the example process 500 ends.
- the process 500 is iteratively executed such that the process 500 is executed for a portion of the image 122 .
- the process 500 may be iteratively executed for each portion of the image 122 until the entire image 122 is analyzed to detect and correct any artifacts.
- the example process 600 of FIG. 6 begins with an initiation of the artifact manager 112 .
- the process 600 is executed to identify artifacts in an image (or a portion of an image) in accordance with examples herein.
- the artifact identifier 210 analyzes a portion of the image 122 .
- the artifact identifier 210 may analyze (e.g., read, scan, etc.) display data corresponding to a number lines (e.g., three lines) of pixels of the display 120 .
- the artifact identifier 210 calculates a gradient map to identify potential artifacts in the portion of the image 122 .
- the artifact identifier 210 may analyze a vector of the portion of the image 122 that maps spatial dimensions (e.g., two-dimensional space (x,y)) to color dimensions (e.g., red, green, blue) of the portion of the image 122 and calculate a second derivate of the vector to generate the gradient map. From the gradient map, the artifact identifier 210 identifies locations of pixels that may be artifact pixels in the image 122 (e.g., based on eigenvalues for locations of artifact pixels).
- the artifact identifier 210 identifies artifacts that are to be corrected from the potential artifacts based on the location of the artifacts in the image 122 . For example, at block 630 , the artifact identifier 210 may determine whether the potential artifact pixels are located in a dark neighborhood of the image 122 or a bright neighborhood of the image 122 . In such an example, the artifact identifier 210 may determine that artifact pixels in the dark neighborhood are to be corrected and artifact pixels in bright neighborhoods are to be ignored.
- the example process 600 ends.
- control may advance to block 520 of FIG. 5 .
- the example process 700 of FIG. 7 begins with an initiation of the artifact manager 112 .
- the process 700 is executed to determine types of artifacts (i.e., classify artifacts) identified in an image (or a portion of an image) in accordance examples herein.
- the artifact classifier 220 determines whether an artifact (artifact pixel) is located within a threshold distance of a second artifact (or a second artifact pixel).
- the artifact is within a threshold distance of a second artifact when the artifacts are neighboring artifacts or in pixels that are neighbors of one another (e.g., pixels located diagonally adjacent one another in a triangular row arrangement (see the doublet artifact 404 or triplet artifact 406 of FIG. 4 )). If the identified artifact is not within the threshold distance of a second artifact, the artifact classifier 220 classifies the artifact as a singlet artifact (block 720 ).
- the artifact classifier 220 determines whether the second artifact is within the threshold distance of a third artifact (block 730 )
- the artifact classifier 220 determines that the second artifact is not within the threshold distance of a third artifact, the artifact classifier 220 classifies the artifacts as a doublet artifact (e.g., see the doublet artifact 404 of FIG. 4 ) at block 740 . If the artifact classifier 220 determines that the second artifact is within a threshold distance of a third artifact (block 730 ), the artifact classifier classifies the artifacts as a triplet artifact at block 750 . After the artifact classifier 220 classifies the artifacts at block 720 , 740 , 750 , the example process 700 ends.
- the artifact classifier 220 provides artifact information (e.g., classification information, location information, neighbor pixel information, intensities, etc.) to the artifact corrector 230 for correction of the artifacts in the display 120 in accordance with examples herein.
- artifact information e.g., classification information, location information, neighbor pixel information, intensities, etc.
- FIGS. 5, 6 , and/or 7 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- coded instructions e.g., computer and/or machine readable instructions
- a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently
- tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.
- tangible computer readable storage medium and “tangible machine readable storage medium” are used interchangeably. Additionally, or alternatively, the example processes of FIGS.
- Non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- a non-transitory computer readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information).
- the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.
- FIG. 8 is a block diagram of an example processor platform 800 capable of executing the instructions of FIGS. 5, 6 , and/or 7 to implement the artifact manager 112 of FIG. 2 .
- the example processor platform 800 may be or may be included in any type of apparatus, such as a server, a personal computer, a mobile device (e.g., a cell phone, a smart phone, a tablet, etc.), a personal digital assistant (PDA), an Internet appliance, a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box, or any other type of computing device.
- a server e.g., a cell phone, a smart phone, a tablet, etc.
- PDA personal digital assistant
- an Internet appliance e.g., a DVD player, a CD player, a digital video recorder, a Blu-ray player, a gaming console, a personal video recorder, a set top box,
- the processor platform 800 of the illustrated example of FIG. 8 includes a processor 812 .
- the processor 812 of the illustrated example is hardware.
- the processor 812 can be implemented by at least one integrated circuit, logic circuit, microprocessor or controller from any desired family or manufacturer.
- the processor 812 of the illustrated example includes a local memory 813 (e.g., a cache).
- the processor 812 of the illustrated example is in communication with a main memory including a volatile memory 814 and a non-volatile memory 816 via a bus 818 .
- the volatile memory 814 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device.
- the non-volatile memory 816 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 814 , 816 is controlled by a memory controller.
- the processor platform 800 of the illustrated example also includes an interface circuit 820 .
- the interface circuit 820 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a peripheral component interconnect (PCI) express interface.
- At least one input device 822 is connected to the interface circuit 820 .
- the input device(s) 822 permit(s) a user to enter data and commands into the processor 812 .
- the input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
- At least one output device 824 is also connected to the interface circuit 820 of the illustrated example.
- the output device(s) 824 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a light emitting diode (LED), a printer and/or speakers).
- the interface circuit 820 of the illustrated example thus, may include a graphics driver card, a graphics driver chip or a graphics driver processor.
- the interface circuit 820 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 826 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
- a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 826 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
- DSL digital subscriber line
- the processor platform 800 of the illustrated example also includes at least one mass storage device 828 for storing executable instructions (e.g., software) and/or data.
- executable instructions e.g., software
- Examples of such mass storage device(s) 828 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
- the coded instructions 832 of FIGS. 5, 6 , and/or 7 may be stored in the mass storage device 828 , in the local memory 813 in the volatile memory 814 , in the non-volatile memory 816 , and/or on a removable tangible computer readable storage medium such as a CD or DVD.
- artifacts are identified in an image of a display (e.g., using a second derivative gradient and location analysis within an image of the display), classified based on type of artifacts (e.g., as singlet, doublet, triplet, etc.), and corrected based on the type of artifact identified. Accordingly, the artifacts may be automatically corrected to be removed from the image to provide a relatively clear image in the display. Examples disclosed herein provide for dynamic or real time (e.g., within 10 ms) enhancement of a display.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Multimedia (AREA)
Abstract
An example involves identifying a first artifact in an image on a display, the first artifact caused by a first subpixel of a first pixel, determining a type of the first artifact based on a location of the first artifact relative to content of the image, and correcting the first artifact to remove the appearance of the first artifact from the display based on the type of the first artifact.
Description
Flat panel displays are frequently used in consumer products, such as printers, scanners, mobile devices, etc. Example flat panel displays may be implemented by a light emitting diode (LED) display or a liquid crystal display (LCD). An example LED display includes an array of pixels consisting of LEDs (e.g., red LEDs, blue LEDs, and green LEDs). An example LCD include a backlight source, polarizing fillers, and electrically modulated liquid crystals that vary transmission (light emission) based on signals applied to the crystals.
Wherever possible, the same reference numbers will be used throughout the drawing(s) and accompanying written description to refer to the same or like parts.
Examples disclosed herein involve identifying artifacts (e.g., fringe artifacts) on a display and correcting the artifacts such that they may not be perceived by a viewer of the display. In examples disclosed herein, potential artifact locations are identified and analyzed to determine whether the artifacts are to be corrected. Correcting the identified artifacts is performed based on the types of the identified artifacts. Accordingly, examples disclosed herein identify the artifacts and analyze the artifacts to classify the artifacts for appropriate correction.
As used herein an artifact is a display error or anomaly perceived by a user due to aliasing (color fringing) or ineffective pixel geometry. As used herein a pixel is a display unit of a display that is comprised of subpixels or subpixel components, such as light emitting diodes (in LED displays) or liquid crystals (in liquid crystal displays (LCDs).
In many displays different subpixel or LED pattern arrangements (e.g., triangular (Delta) row arrangements) may induce artifacts. For example, in low resolution displays, relatively sparsely arranged display elements (e.g., LEDs, liquid crystals, etc.) with an offset between adjacent pixels (or subpixels) may induce artifacts such as apparent jagged edges or bright red dots. In some examples, due to the offset, diagonally adjacent red subpixel elements produce red dot artifacts in regions of high contrast (e.g., text, lines, edges in graphics, etc.). These artifacts may arise due to aliasing (e.g., color fringing) or ineffective pixel geometry. The apparent artifacts in the display may cause a presentation to appear inaccurate or unpleasant. In examples disclosed herein, apparent artifacts (e.g., red dot artifacts) in a display may be corrected in near real-time (e.g., within 10 milliseconds) or as images are presented rendered) on a display.
An example method includes identifying an artifact in an image on a display. The example artifact may be caused by a subpixel of a pixel of the display. Furthermore, the example method may determine a type of the artifact based on a location of the artifact relative to content of the image and correct the artifact to remove the appearance of the artifact from the display based on the type of the artifact.
The example display 120 of FIG. 1 may be implemented by a flat panel display, such as an LED display or an LCD. In some examples, the display 120 is a low resolution display including a triangular row arrangement (e.g., a delta arrangement) in which pixels of respective rows are offset from one another. The display 120 may be a display of a printer, a mobile device, a scanner, or any other electronic device. In the illustrated example of FIG. 1 , the display 120 is presenting an image 122 including text 124 (i.e. “Here is the white text and numbers 1 2 3 4 5 6 7 8 9 0”) against a background 126. The example image 122 in the display 120 of FIG. 1 appears to have artifacts 128 near or around portions of the text 124, as further described below in the connection with FIG. 3 . The artifacts 128 appear as defects in the image 122 that cause the text 124 to appear unclear or distorted.
In examples disclosed herein, the text 124 is presented as white text and the background 126 appears black, which creates a high contrast appearance between the text 124 and the background 126. The example artifacts 128 may cause the white text 124 to have a red “glow” around portions of the text caused by red dot artifacts that appear as fringe artifacts. For example, due to spatial proximity of red subpixels in contrasting image regions (e.g., regions around the white text 124, such as corners or edges), red dot artifacts or fringe artifacts may appear. The red dot artifacts may appear to a user (e.g., be brighter than the white text) due to the eyes and/or brain of the user identifying or focusing on different color spectrums based on its spatial location (e.g., between the text 124 and background 126) in the image 122. Although the examples disclosed herein may refer to correction of the artifacts 128 on the display 120 or the image 122 of FIG. 1 as fringe artifacts or red dot artifacts, any other artifacts or types of artifacts in any image or type of image may be corrected using the examples disclosed herein.
In the illustrated example of FIG. 1 , the display controller 110 may be a processor or computer platform (e.g., of a computer, of a mobile device, of a printer, etc.) that implements the artifact manager 112. The display controller 110 controls signals to a pixel array of the display 120 to present media (e.g., images, text, documents, etc.) from the media database 130 on the display 120. In examples disclosed herein, the display controller 110 may retrieve the media from the media database 130 and present the media on the display 120. The example media database 130 may be any database or storage device that includes media (e.g., images, text, documents, video, etc.) that may be presented on the display 120.
In examples disclosed herein, the artifact manager 112 of the display controller 110 may analyze the media data (e.g., the data stored in the media database) or the display data (e.g., the data representative of control signals sent to the pixel array of the display 120) to identify and correct artifacts in the media as the media is presented on the display 120 (e.g., in real time or near real time (e.g., within 10 ms)) in accordance with examples herein. An example implementation of the artifact manager 112 is further described in connection with FIG. 2 .
The example artifact identifier 210 identifies artifacts (e.g., fringe artifacts, red dot artifacts, etc.) in the image 122 when presented on the display 120. In examples disclosed herein, the artifact identifier 210 may determine a location of pixels that may lead to the artifacts (which may be referred to herein as potential artifact pixels). In some examples, the artifact identifier 210 may iteratively scan or analyze portions of an image (e.g., the image 122 of FIG. 1 ) corresponding to lines (e.g., rows or columns) of pixels of a display (e.g., the display 120) until the full image is analyzed. For example, to identify artifacts in a portion of the image 122 of FIG. 1 , the artifact identifier 210 may analyze signals (e.g. display data) sent to the display 120 that illuminate three lines of pixels corresponding to the portion of the image 122. After the example portion of the image 122 is analyzed, the artifact identifier 210 may analyze another portion (e.g., a subsequent portion) of the image 122 until the full image 122 is analyzed. The artifact identifier 210 may notify the artifact classifier 220 of any identified artifacts for further analysis.
An example analysis performed by the artifact identifier 210 is further discussed with reference to FIG. 3 . The artifact identifier 210 of FIG. 3 (which may be implemented by the artifact identifier 210 of FIG. 2 ) identifies artifacts in a display 120 (which may be implemented by the display 120 of FIG. 1 . In FIG. 3 , a zoomed view of a portion of the text 124 (e.g., a portion of the ‘9’) including a fringe artifact 326 (e.g., a red dot artifact) is illustrated. The example artifact identifier 210 may identify the fringe artifact 326 in accordance with the examples herein.
In examples disclosed herein, the artifact identifier 210 may use the following analysis of the image 122 or portions of the image to identify pixels that may be potential red dot artifacts. In the following analysis, the artifact identifier 210 identifies spatial positioning (location) of potential red dot artifacts within the image 122 relative to the content of the image 122 (e.g., the text 124). For the following, let Inm be a vector field that maps an n dimensional spatial (length x, height y) space to an m dimensional color (red r, green g, blue b) space of the image 122 of FIG. 3 . In examples disclosed herein, the vector field is analyzed to identify a maximized distance d such that the largest eigenvalue and its corresponding eigenvector of a matrix DTD are equivalent to a gradient magnitude and direction for the vector field. In examples disclosed herein is a second order partial derivative matrix of the vector field Inm along the spatial n and color m dimensions. The example second order derivative may avoid shifting the gradient while highlighting zero crossings in the image. Accordingly, a second order derivative of the vector field Inm may be represented by the following equation:
where u is the spatial position of a point in the field as a subset of n while m spans the color dimension. Further, let the color image map a two dimensional color space (x,y) to a three dimensional color space (r, g, b). Then the matrix D can be written as:
and using the following transpose of D,
the largest eigenvalue or the second derivative gradient is defined by:
d=0.5(P+Q+√{square root over ((P+Q)2−4(PQ−T 2))}) (4)
d=0.5(P+Q+√{square root over ((P+Q)2−4(PQ−T 2))}) (4)
In calculating the above, a gradient map is determined that identifies pixels (e.g., the pixel causing the fringe artifact 326 of FIG. 3 ) in locations of edges and corners in the image 122 or portions of the image 122 (e.g., a portion corresponding to three lines of pixels) that may potentially lead to red artifacts in the display 120, hereinafter referred to as artifact pixels.
In some examples, the gradient map may be thresholded by a limit T1 to further determine candidate artifact pixels for color correction. For example, the limit T1 may correspond to an intensity of a red subpixel that causes the fringe artifact 326. Accordingly, the potential artifact pixels may become candidate artifact pixels when the intensity of the potential artifact pixel satisfies the threshold T1 (e.g., is greater than the threshold T1).
In some examples, after identifying artifact pixel locations, the artifact identifier 210 may analyze an area surrounding the candidate artifact locations to determine whether an artifact exists. The artifact identifier 210 may determine whether the artifact is located on an edge of content (e.g., text, lines, or any other high contrast content). An example edge of the content may be an area of transmission between the content (e.g., the text, line, etc.) and a background of the content. Furthermore, based on an intensity of the surrounding (neighboring) pixels or subpixels, the artifact identifier 210 may determine whether or not the identified artifact pixel location causes an artifact on the display. More specifically, red dot artifacts in relatively bright neighborhoods may be less perceptible due to a higher order of spatial color mixing. Accordingly, in examples disclosed herein, the artifact identifier 210 may determine the location of artifacts when the potential artifact locations are in lower intensity neighborhoods. For example, a neighborhood N corresponds to the immediate pixels (or subpixels) centered around the artifact pixel potentially causing an artifact. Letting BP1 be the brightness of the artifact pixel and a be the brightness of pixels in the neighborhood N, then when
the artifact identifier 210 determines the artifact pixel is in a dark neighborhood.
Referring now to FIG. 2 , the example artifact classifier 220 determines a type of artifact identified by the artifact identifier 210. In examples disclosed herein, the artifact classifier 220 may classify identified artifacts as singlet artifacts, doublet artifacts, or triplet artifacts. In examples disclosed herein, the artifact classifier 220 analyzes locations of artifact pixels and determines a distance between the artifact pixel and another artifact pixel.
If the artifact classifier 220 determines that an artifact pixel is not within a threshold distance of another artifact pixel, the artifact classifier 220 classifies artifact as a singlet artifact. For example, in FIG. 4 , the artifact classifier identifies the artifact pixel R1 but does not identify another artifact pixel within a neighborhood of the artifact pixel R1. The threshold distance may be based on a whether the artifact pixels are neighboring pixels as defined above. If the artifact classifier 220 determines that an artifact pixel is within a threshold distance of another pixel, the artifact classifier 220 determines whether the artifact pixel is within a threshold distance of a single artifact pixel or multiple artifact pixels. For example, in FIG. 4 the artifact classifier 220 determines that the artifact pixel R1 is within a threshold distance of a single artifact pixel R2, the artifact classifier 220 determines that the type of the artifact pixel R1 is a double artifact pixel. In some examples, the artifact classifier 220 determines that the artifact pixel R1 is within a threshold distance of the artifact pixel R2 of the doublet artifact 404 when the artifact classifier 220 determines that the artifact pixel R1 is diagonally adjacent to the artifact pixel R2. Furthermore, as illustrated in FIG. 4 , the artifact classifier 220 determines that the artifact pixel R1 is within a threshold distance of two artifact pixels R2, R3, the artifact classifier 220 determines that the type of the artifact pixel R1 is a triplet artifact pixel. Examples of artifact pixel types and identification of the type of artifact pixel is further discussed below in connection with FIG. 4 . In examples disclosed herein, upon detection of a doublet artifact pixel or triplet artifact pixel, the artifact pixels in the doublet artifact pixels or triplet artifact pixels are all corrected by the artifact corrector 230 of FIG. 2 .
Referring now to FIG. 2 , the artifact corrector 230 corrects the identified artifact pixels based on whether the artifact pixels are singlet artifacts, doublet artifacts, or triplet artifacts. The artifact corrector 230 may receive information (e.g., intensity, location, neighboring pixel intensity, etc.) corresponding to the artifact pixel from the artifact identifier 210 and/or the artifact classifier.
For correction of singlet artifacts, the artifact corrector 230 determines a neighboring pixel of the artifact pixel. For example, referring to the singlet artifact 402 of FIG. 4 , the color corrector 230 identifies a neighboring pixel g of the artifact pixel R1 is green. The color corrector 230 determines a color intensity of the green subpixel G1 of the artifact pixel R1 (i.e., R1 and G1 are subpixels of a same pixel) and sets the color intensity of the neighboring pixel equal to that of g. In examples, where the neighboring pixel g were blue, the color corrector 230 would set the intensity of the blue pixel to the same intensity as the blue subpixel B1. Accordingly, the singlet correction may be defined by:
g=G1
b=B1 (6)
g=G1
b=B1 (6)
For correction of doublet artifacts, let the perceived intensity of the artifact pixels R1 and R2 of the doublet artifact 404 of FIG. 4 be Rtot. In examples disclosed herein, the artifact corrector 230 determines Rtot based on radiant intensities I1 and I2 of R1 and R2, respectively to produce Itot. The intensities of subpixels may be based on an intensity Io of a light source (e.g., a backlight of an LCD) and the transmittance of the subpixels. For example, on a backlit LCD:
I tot =I 1 +I 2
τ(R tot)I o=τ(R 1)I o+τ(R 2)I o (7)
I tot =I 1 +I 2
τ(R tot)I o=τ(R 1)I o+τ(R 2)I o (7)
where τ is a transmittance constant. Accordingly, the perceived intensity of the doublet artifact 404 is given by Rtot:
R tot=┌(R 1 γ +R 2 γ)1/γ┐255 (8)
R tot=┌(R 1 γ +R 2 γ)1/γ┐255 (8)
Having identified Rtot, the artifact corrector 230 corrects intensities of the neighboring artifacts g and b of the doublet artifact 404 of FIG. 4 . In the following example, the doublet artifacts and associated subpixels are considered as a part of a single ghost pixel Pghost such that:
and normalizing the ratio to the red channel perceived, the artifact corrector 230 corrects the intensities of the neighboring subpixels g and b using the following calculations to correct doublet artifacts:
Following correction of the doublet artifact, the perceived value of the red subpixels R1′ and R2′ would be:
R′ 1 =R′ 2 =τ=R tot×(0.5)1/γ (11)
R′ 1 =R′ 2 =τ=R tot×(0.5)1/γ (11)
To correct triplet artifacts, the artifact corrector 230 may treat the triplet artifact as two doublets (i.e., a first pair of artifact pixels and a second pair of artifact pixels. In some examples, the artifact corrector 230 may treat the three artifact pixels as a single ghost pixel, similar to the above calculations for the doublet artifacts. Referring to FIG. 4 , the ghost pixel Pghost of the triplet artifact 406 includes two blue neighboring subpixels b1, b2 and one green neighboring subpixel g (though in other example triplet artifacts the neighboring subpixels may include two green subpixels and one blue subpixel). For triplet artifacts, Rtot may be calculated as follows to incorporate the third subpixel:
R tot=┌(R 1 γ +R 2 γ +R 3 γ)1/γ┐255 (12)
R tot=┌(R 1 γ +R 2 γ +R 3 γ)1/γ┐255 (12)
and the artifact corrector 230 may adjust values of the neighboring pixels based on the following:
Accordingly, the artifact corrector 230 may correct the intensities of the artifact pixels and/or neighboring pixels to remove the appearance of the artifacts from the display 120. The artifact corrector 230 makes the adjustments to the pixels/subpixels or neighboring pixels/subpixels based on the type of artifact identified by the artifact identifier 210 and classified by the artifact classifier 220.
While an example manner of implementing the artifact manager 112 of FIG. 1 is illustrated in FIG. 2 , at least one of the elements, processes and/or devices illustrated in FIG. 2 may be combined, divided, re-arranged, omitted, eliminated and/or implemented in any other way. Further, the artifact identifier 210, the artifact classifier 220, the artifact corrector 230 and/or, more generally, the example artifact manager 112 of FIG. 2 may be implemented by hardware and/or any combination of hardware and executable instructions (e.g., software and/or firmware). Thus, for example, any of the artifact identifier 210, the artifact classifier 220, the artifact corrector 230 and/or, more generally, the example artifact manager 112 could be implemented by at least one of an analog or digital circuit, a logic circuit, a programmable processor, an application specific integrated circuit (ASIC), a programmable logic device (PLD) and/or a field programmable logic device (FPLD). When reading any of the apparatus or system claims of this patent to cover a purely software and/or firmware implementation, at least one of the artifact identifier 210, the artifact classifier 220, and/or the artifact corrector 230 is/are hereby expressly defined to include a tangible computer readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc. storing the executable instructions. Further still, the example artifact manager 112 of FIG. 2 may include at least one element, process, and/or device in addition to, or instead of, those illustrated in FIG. 2 , and/or may include more than one of any or all of the illustrated elements, processes and devices.
Flowcharts representative of example machine readable instructions for implementing the 112 of FIG. 2 are shown in FIGS. 5, 6, and 7 . In this example, the machine readable instructions comprise program(s)/process(es) for execution by a processor such as the processor 812 shown in the example processor platform 800 discussed below in connection with FIG. 8 . The program(s)/process(es) may be embodied in executable instructions (e.g., software) stored on a tangible computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or a memory associated with the processor 812, but the entirety of the program(s)/process(es) and/or parts thereof could alternatively be executed by a device other than the processor 812 and/or embodied in firmware or dedicated hardware. Further, although the example program(s)/process(es) is/are described with reference to the flowcharts illustrated in FIGS. 5, 6 , and/or 7, many other methods of implementing the example artifact manager 112 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined.
The example process 500 of FIG. 5 begins with an initiation of the artifact manager 112 (e.g., upon startup, upon instructions from a user, upon startup of a device implementing the artifact manager (e.g., the display controller 110), etc.). The example process 500 of FIG. 5 may be executed to identify, classify, and correct artifacts in a display to enhance the resolution of the display. At block 510, the artifact identifier 210 identifies a first artifact in the image 122 on the display 120. The artifact identifier 210 may calculate a second derivative gradient of a vector (e.g., a mapping of spatial dimensions of the image 122 to color dimensions of the image 122) of the image 122 to identify the first artifact. An example implementation of block 510 is further discussed below in connection with FIG. 6 .
At block 520, the artifact classifier 220 determines a type of the first artifact. For example, at block 520, the artifact classifier 220 may determine whether the artifact is a singlet artifact (including one artifact pixel), a doublet artifact (including two artifact pixels), or a triplet artifact (including three or more artifact pixels). An example implementation of block 520 is further discussed below in connection with FIG. 7 . At block 530, the artifact corrector 230 corrects the artifact to remove the appearance of the artifact from the display based on the type of artifact. In examples disclosed herein, the artifact corrector 230 may correct the artifact by adjusting color settings (e.g., intensities) of neighboring pixels or subpixels surrounding artifact pixels causing the artifact in accordance with examples herein. Accordingly, the artifact corrector 230 performs a singlet correction, a doublet correction, or triplet correction based on whether the artifact is a singlet artifact, a doublet artifact, or a triplet artifact, respectively. After block 530, the example process 500 ends. In some examples, the process 500 is iteratively executed such that the process 500 is executed for a portion of the image 122. In such examples, the process 500 may be iteratively executed for each portion of the image 122 until the entire image 122 is analyzed to detect and correct any artifacts.
The example process 600 of FIG. 6 (which may be executed to implement block 510 of FIG. 5 ) begins with an initiation of the artifact manager 112. The process 600 is executed to identify artifacts in an image (or a portion of an image) in accordance with examples herein. At block 610, the artifact identifier 210 analyzes a portion of the image 122. For example, at block 610, the artifact identifier 210 may analyze (e.g., read, scan, etc.) display data corresponding to a number lines (e.g., three lines) of pixels of the display 120. At block 620, the artifact identifier 210 calculates a gradient map to identify potential artifacts in the portion of the image 122. For example, at block 210, the artifact identifier 210 may analyze a vector of the portion of the image 122 that maps spatial dimensions (e.g., two-dimensional space (x,y)) to color dimensions (e.g., red, green, blue) of the portion of the image 122 and calculate a second derivate of the vector to generate the gradient map. From the gradient map, the artifact identifier 210 identifies locations of pixels that may be artifact pixels in the image 122 (e.g., based on eigenvalues for locations of artifact pixels).
At block 630 of the example process 600 of FIG. 6 , the artifact identifier 210 identifies artifacts that are to be corrected from the potential artifacts based on the location of the artifacts in the image 122. For example, at block 630, the artifact identifier 210 may determine whether the potential artifact pixels are located in a dark neighborhood of the image 122 or a bright neighborhood of the image 122. In such an example, the artifact identifier 210 may determine that artifact pixels in the dark neighborhood are to be corrected and artifact pixels in bright neighborhoods are to be ignored. After block 630, the example process 600 ends. In some examples, after block 640, control may advance to block 520 of FIG. 5 .
The example process 700 of FIG. 7 (which may be executed to implement block 520 of FIG. 5 ) begins with an initiation of the artifact manager 112. The process 700 is executed to determine types of artifacts (i.e., classify artifacts) identified in an image (or a portion of an image) in accordance examples herein. At block 710, the artifact classifier 220 determines whether an artifact (artifact pixel) is located within a threshold distance of a second artifact (or a second artifact pixel). In some examples, the artifact is within a threshold distance of a second artifact when the artifacts are neighboring artifacts or in pixels that are neighbors of one another (e.g., pixels located diagonally adjacent one another in a triangular row arrangement (see the doublet artifact 404 or triplet artifact 406 of FIG. 4 )). If the identified artifact is not within the threshold distance of a second artifact, the artifact classifier 220 classifies the artifact as a singlet artifact (block 720). If, at block 510, the artifact identifier 220 determines that the artifact is located within a threshold distance of a second artifact, the artifact classifier 220 determines whether the second artifact is within the threshold distance of a third artifact (block 730)
If, at block 730, the artifact classifier 220 determines that the second artifact is not within the threshold distance of a third artifact, the artifact classifier 220 classifies the artifacts as a doublet artifact (e.g., see the doublet artifact 404 of FIG. 4 ) at block 740. If the artifact classifier 220 determines that the second artifact is within a threshold distance of a third artifact (block 730), the artifact classifier classifies the artifacts as a triplet artifact at block 750. After the artifact classifier 220 classifies the artifacts at block 720, 740, 750, the example process 700 ends. In some examples, after blocks 720, 740, 750, the artifact classifier 220 provides artifact information (e.g., classification information, location information, neighbor pixel information, intensities, etc.) to the artifact corrector 230 for correction of the artifacts in the display 120 in accordance with examples herein.
As mentioned above, the example processes of FIGS. 5, 6 , and/or 7 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a tangible computer readable storage medium such as a hard disk drive, a flash memory, a read-only memory (ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, a random-access memory (RAM) and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term tangible computer readable storage medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, “tangible computer readable storage medium” and “tangible machine readable storage medium” are used interchangeably. Additionally, or alternatively, the example processes of FIGS. 5, 6 , and/or 7 may be implemented using coded instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium such as a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory and/or any other storage device or storage disk in which information is stored for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media. As used herein, when the phrase “at least” is used as the transition term in a preamble of a claim, it is open-ended in the same manner as the term “comprising” is open ended. As used herein the term “a” or “an” may mean “at least one,” and therefore, “a” or “an” do not necessarily limit a particular element to a single element when used to describe the element. As used herein, when the term “or” is used in a series, it is not, unless otherwise indicated, considered an “exclusive or.”
The processor platform 800 of the illustrated example of FIG. 8 includes a processor 812. The processor 812 of the illustrated example is hardware. For example, the processor 812 can be implemented by at least one integrated circuit, logic circuit, microprocessor or controller from any desired family or manufacturer.
The processor 812 of the illustrated example includes a local memory 813 (e.g., a cache). The processor 812 of the illustrated example is in communication with a main memory including a volatile memory 814 and a non-volatile memory 816 via a bus 818. The volatile memory 814 may be implemented by Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or any other type of random access memory device. The non-volatile memory 816 may be implemented by flash memory and/or any other desired type of memory device. Access to the main memory 814, 816 is controlled by a memory controller.
The processor platform 800 of the illustrated example also includes an interface circuit 820. The interface circuit 820 may be implemented by any type of interface standard, such as an Ethernet interface, a universal serial bus (USB), and/or a peripheral component interconnect (PCI) express interface.
In the illustrated example, at least one input device 822 is connected to the interface circuit 820. The input device(s) 822 permit(s) a user to enter data and commands into the processor 812. The input device(s) can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touchscreen, a track-pad, a trackball, isopoint and/or a voice recognition system.
At least one output device 824 is also connected to the interface circuit 820 of the illustrated example. The output device(s) 824 can be implemented, for example, by display devices (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display, a cathode ray tube display (CRT), a touchscreen, a tactile output device, a light emitting diode (LED), a printer and/or speakers). The interface circuit 820 of the illustrated example, thus, may include a graphics driver card, a graphics driver chip or a graphics driver processor.
The interface circuit 820 of the illustrated example also includes a communication device such as a transmitter, a receiver, a transceiver, a modem and/or network interface card to facilitate exchange of data with external machines (e.g., computing devices of any kind) via a network 826 (e.g., an Ethernet connection, a digital subscriber line (DSL), a telephone line, coaxial cable, a cellular telephone system, etc.).
The processor platform 800 of the illustrated example also includes at least one mass storage device 828 for storing executable instructions (e.g., software) and/or data. Examples of such mass storage device(s) 828 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, RAID systems, and digital versatile disk (DVD) drives.
The coded instructions 832 of FIGS. 5, 6 , and/or 7 may be stored in the mass storage device 828, in the local memory 813 in the volatile memory 814, in the non-volatile memory 816, and/or on a removable tangible computer readable storage medium such as a CD or DVD.
From the foregoing, it will be appreciated that the above disclosed methods, apparatus, and articles of manufacture enhance resolution of displays by identifying and correcting artifacts (e.g., fringe artifacts) in the displays. In examples disclosed herein, artifacts are identified in an image of a display (e.g., using a second derivative gradient and location analysis within an image of the display), classified based on type of artifacts (e.g., as singlet, doublet, triplet, etc.), and corrected based on the type of artifact identified. Accordingly, the artifacts may be automatically corrected to be removed from the image to provide a relatively clear image in the display. Examples disclosed herein provide for dynamic or real time (e.g., within 10 ms) enhancement of a display.
Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the claims of this patent.
Claims (9)
1. An apparatus comprising:
an artifact identifier to identify artifacts in an image presented on the display, the artifacts caused by artifact pixels, wherein the artifact identifier is to:
identify potential artifact pixels corresponding to the artifacts;
determine that intensities of the potential artifact pixels satisfies a threshold; and
identify the potential artifact pixels as artifacts when the potential artifact pixels are in a dark neighborhood of the image the apparatus further comprising;
an artifact classifier to classify the artifacts in the image as singlet artifacts, doublet artifacts, or triplet artifacts based on locations of the artifact pixels; and
an artifact corrector to correct the artifacts to remove the artifacts from the display based on whether the artifacts are singlet artifacts, doublet artifacts, or triplet artifacts.
2. The apparatus of claim 1 , wherein the artifact classifier classifies the artifacts as singlet artifacts when the artifacts are not diagonally adjacent other artifacts.
3. The apparatus of claim 1 , wherein the artifact classifier classifies the artifacts as doublet artifacts when the artifacts are diagonally adjacent to one other artifact.
4. The apparatus of claim 1 , wherein the artifact classifier classifies the artifacts as triplet artifacts when the artifacts are diagonally adjacent to two other artifacts.
5. The apparatus of claim 1 , wherein the artifact classifier classifies the artifacts as doublet artifacts when the location of the artifacts are less than a threshold distance from one other artifact.
6. The apparatus of claim 1 , wherein the artifact classifier classifies the artifacts as triplet artifacts when:
the location of a first artifact is less than a threshold distance from a second artifact, and
the location of the first artifact is less than a threshold distance from a third artifact.
7. The apparatus of claim 1 , wherein the artifact corrector to correct the artifacts to remove the artifacts from the display comprises:
the artifact corrector to adjust an intensity of at least one pixel of the image.
8. The apparatus of claim 1 , wherein the artifact identifier is to identify artifacts in the image presented on the display based on intensities of subpixel components of pixels of the image.
9. The apparatus of claim 1 , wherein the artifact identifier is to identify artifacts in the image presented on the display based on second derivative gradient. vectors of the image, the vectors comprising a mapping of spatial dimensions of the image to color dimensions of the image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/713,278 US9620082B2 (en) | 2015-05-15 | 2015-05-15 | Correcting artifacts on a display |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/713,278 US9620082B2 (en) | 2015-05-15 | 2015-05-15 | Correcting artifacts on a display |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160335744A1 US20160335744A1 (en) | 2016-11-17 |
US9620082B2 true US9620082B2 (en) | 2017-04-11 |
Family
ID=57276179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/713,278 Active US9620082B2 (en) | 2015-05-15 | 2015-05-15 | Correcting artifacts on a display |
Country Status (1)
Country | Link |
---|---|
US (1) | US9620082B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3115876B1 (en) * | 2014-03-05 | 2019-01-02 | Shimadzu Corporation | Information display processing device and control program for information display processing device |
CN113256529B (en) * | 2021-06-09 | 2021-10-15 | 腾讯科技(深圳)有限公司 | Image processing method, image processing device, computer equipment and storage medium |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243070B1 (en) | 1998-10-07 | 2001-06-05 | Microsoft Corporation | Method and apparatus for detecting and reducing color artifacts in images |
US6854828B2 (en) * | 2002-09-05 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | Removal or mitigation of artifacts in composite-color incremental printing |
US7064768B1 (en) | 2002-03-20 | 2006-06-20 | Ess Technology, Inc. | Bad pixel correction while preserving features |
US20070229665A1 (en) * | 2006-03-31 | 2007-10-04 | Tobiason Joseph D | Robust field of view distortion calibration |
DE102006021442A1 (en) | 2006-05-09 | 2007-11-15 | Thomas Baloui | Color point detecting or emitting and quadratic image grid generating or calculating method, involves aligning color grid and image grid with another color grid and image grid by rotation, shearing and parallel stretching of former grids |
US20090037795A1 (en) * | 2005-05-06 | 2009-02-05 | Sergio Verdu | Denoising and Error Correction for Finite Input, General Output Channel |
US20090262260A1 (en) * | 2008-04-17 | 2009-10-22 | Mersive Technologies, Inc. | Multiple-display systems and methods of generating multiple-display images |
US20100033633A1 (en) * | 2006-12-28 | 2010-02-11 | Gokce Dane | Detecting block artifacts in coded images and video |
US7724397B2 (en) * | 2004-12-17 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Method for compensating for induced artifacts on an image to be printed |
US20110090537A1 (en) * | 2008-05-09 | 2011-04-21 | Hewlett-Packard Company | Screen design for process variation artifact reduction |
US7978214B2 (en) * | 2006-04-19 | 2011-07-12 | Hewlett-Packard Development Company, L.P. | Apparatus and method of reducing banding artifact visibility in a scanning apparatus |
US20110254847A1 (en) * | 2010-03-09 | 2011-10-20 | The Hong Kong University Of Science And Technology | Subpixel-based image down-sampling |
US8264562B2 (en) | 2008-01-31 | 2012-09-11 | Mtekvision Co., Ltd. | Image distortion correcting method and device |
US8396261B2 (en) | 2008-08-01 | 2013-03-12 | Hewlett-Packard Development Company, L.P. | Method for red-eye detection |
US20130230150A1 (en) * | 2010-11-10 | 2013-09-05 | Carl Zeiss Industrielle Messtechnik Gmbh | Measurement arrangement for a computed tomography scanner |
US20140268136A1 (en) * | 2013-03-15 | 2014-09-18 | P & P Optica, Inc. | Apparatus and method for optimizing data capture and data correction for spectroscopic analysis |
-
2015
- 2015-05-15 US US14/713,278 patent/US9620082B2/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6243070B1 (en) | 1998-10-07 | 2001-06-05 | Microsoft Corporation | Method and apparatus for detecting and reducing color artifacts in images |
US7064768B1 (en) | 2002-03-20 | 2006-06-20 | Ess Technology, Inc. | Bad pixel correction while preserving features |
US6854828B2 (en) * | 2002-09-05 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | Removal or mitigation of artifacts in composite-color incremental printing |
US7724397B2 (en) * | 2004-12-17 | 2010-05-25 | Hewlett-Packard Development Company, L.P. | Method for compensating for induced artifacts on an image to be printed |
US20090037795A1 (en) * | 2005-05-06 | 2009-02-05 | Sergio Verdu | Denoising and Error Correction for Finite Input, General Output Channel |
US20070229665A1 (en) * | 2006-03-31 | 2007-10-04 | Tobiason Joseph D | Robust field of view distortion calibration |
US7978214B2 (en) * | 2006-04-19 | 2011-07-12 | Hewlett-Packard Development Company, L.P. | Apparatus and method of reducing banding artifact visibility in a scanning apparatus |
DE102006021442A1 (en) | 2006-05-09 | 2007-11-15 | Thomas Baloui | Color point detecting or emitting and quadratic image grid generating or calculating method, involves aligning color grid and image grid with another color grid and image grid by rotation, shearing and parallel stretching of former grids |
US20100033633A1 (en) * | 2006-12-28 | 2010-02-11 | Gokce Dane | Detecting block artifacts in coded images and video |
US8264562B2 (en) | 2008-01-31 | 2012-09-11 | Mtekvision Co., Ltd. | Image distortion correcting method and device |
US20090262260A1 (en) * | 2008-04-17 | 2009-10-22 | Mersive Technologies, Inc. | Multiple-display systems and methods of generating multiple-display images |
US20110090537A1 (en) * | 2008-05-09 | 2011-04-21 | Hewlett-Packard Company | Screen design for process variation artifact reduction |
US8396261B2 (en) | 2008-08-01 | 2013-03-12 | Hewlett-Packard Development Company, L.P. | Method for red-eye detection |
US20110254847A1 (en) * | 2010-03-09 | 2011-10-20 | The Hong Kong University Of Science And Technology | Subpixel-based image down-sampling |
US20130230150A1 (en) * | 2010-11-10 | 2013-09-05 | Carl Zeiss Industrielle Messtechnik Gmbh | Measurement arrangement for a computed tomography scanner |
US20140268136A1 (en) * | 2013-03-15 | 2014-09-18 | P & P Optica, Inc. | Apparatus and method for optimizing data capture and data correction for spectroscopic analysis |
Non-Patent Citations (2)
Title |
---|
Ali, T. et al., "Automatic Red-eye Detection and Correction," (Research Paper), Feb. 17-18, 2009, 4 Pages, available at http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1038147&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs-all.jsp%3Farnumber%3D1038147. |
Ali, T. et al., "Automatic Red-eye Detection and Correction," (Research Paper), Feb. 17-18, 2009, 4 Pages, available at http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1038147&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs—all.jsp%3Farnumber%3D1038147. |
Also Published As
Publication number | Publication date |
---|---|
US20160335744A1 (en) | 2016-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10416511B2 (en) | Liquid crystal display device | |
US8155474B2 (en) | Method, medium, and system compensating shadow areas | |
CN109036245B (en) | Display processing method and device, integrated circuit and computer storage medium | |
CN102779330B (en) | Image reinforcement method, image reinforcement device and display device | |
JP5026545B2 (en) | Display device, luminance unevenness correction method, correction data creation device, and correction data creation method | |
KR101758537B1 (en) | Image element brightness adjustment | |
US10296803B2 (en) | Image display apparatus, image display method, and computer program product | |
US20110222768A1 (en) | Text enhancement of a textual image undergoing optical character recognition | |
US10276129B2 (en) | Image adjusting method capable of executing optimal adjustment according to environmental variation and related display | |
US11574489B2 (en) | Image processing system, image processing method, and storage medium | |
US20140348428A1 (en) | Dynamic range-adjustment apparatuses and methods | |
US11030971B2 (en) | Display device and image processing method for color correction based on image type | |
US8036456B2 (en) | Masking a visual defect | |
US9299003B2 (en) | Image processing apparatus, non-transitory computer readable medium, and image processing method | |
KR20160068627A (en) | Image processing device, image processing method and display device | |
KR20140117157A (en) | Image Control Display Device and Image Control Method | |
US9620082B2 (en) | Correcting artifacts on a display | |
US11030933B1 (en) | Sub-pixel rendering method and display device | |
US20200160492A1 (en) | Image Adjustment Method and Device, Image Display Method and Device, Non-Transitory Storage Medium | |
JP6265710B2 (en) | Image processing apparatus, computer program, and image processing method | |
US9520101B2 (en) | Image rendering filter creation | |
JP2007079586A (en) | Image processor | |
US20220139291A1 (en) | Method, system to compensate for mura effects in display panel, and electronic device | |
US10803566B2 (en) | Method for dynamically adjusting image clarity and image processing device using the same | |
CN114282043A (en) | Audio table processing method and device, electronic equipment and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SABER, ELI;NELSON, MARVIN D.;STAUFFER, MICHAEL A.;AND OTHERS;SIGNING DATES FROM 20150518 TO 20150618;REEL/FRAME:035929/0922 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |