WO2000067196A1 - Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text - Google Patents
Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text Download PDFInfo
- Publication number
- WO2000067196A1 WO2000067196A1 PCT/US2000/011741 US0011741W WO0067196A1 WO 2000067196 A1 WO2000067196 A1 WO 2000067196A1 US 0011741 W US0011741 W US 0011741W WO 0067196 A1 WO0067196 A1 WO 0067196A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pixel
- scan conversion
- conversion source
- sub
- value
- Prior art date
Links
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/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
- G09G5/28—Generation of individual character patterns for enhancement of character form, e.g. smoothing
-
- 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
- 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
- G09G3/2003—Display of colours
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/04—Structural and physical details of display devices
- G09G2300/0439—Pixel structures
- G09G2300/0452—Details of colour pixel setup, e.g. pixel composed of a red, a blue and two green components
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0242—Compensation of deficiencies in the appearance of colours
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2320/00—Control of display operating conditions
- G09G2320/02—Improving the quality of display appearance
- G09G2320/0271—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping
- G09G2320/0276—Adjustment of the gradation levels within the range of the gradation scale, e.g. by redistribution or clipping for the purpose of adaptation to the characteristics of a display device, i.e. gamma correction
-
- 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/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0414—Vertical resolution change
-
- 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/0407—Resolution change, inclusive of the use of different resolutions for different screen areas
- G09G2340/0421—Horizontal resolution change
-
- 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
-
- 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
- G09G3/2007—Display of intermediate tones
- G09G3/2074—Display of intermediate tones using sub-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
- 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
- G09G3/34—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 by control of light from an independent source
- G09G3/36—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 by control of light from an independent source using liquid crystals
- G09G3/3611—Control of matrices with row and column drivers
-
- 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/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/24—Generation of individual character patterns
Definitions
- the present invention concerns producing more legible text on video displays, such as flat panel video monitors including liquid crystal display (or LCD) video monitors for example, having horizontal striping.
- video displays such as flat panel video monitors including liquid crystal display (or LCD) video monitors for example, having horizontal striping.
- LCD liquid crystal display
- the present invention may be used in the context of flat panel video monitors, such as LCD video monitors for example.
- the present invention may be used as a part of processing to produce more legible text on LCD video monitors having horizontal striping.
- Color display devices have become the principal display devices of choice for most computer users. Color is rendered on a display monitor by operating the display monitor to emit light (such as a combination of red, green, and blue light for example) which results in one or more colors being perceived by the human eye.
- light such as a combination of red, green, and blue light for example
- Cathode ray tube (CRT) display devices include a screen having phosphor coatings which may be applied as dots in a sequence.
- a different phosphor coating is normally associated with the generation of different colors, such as red, green, and blue for example. Consequently, repeated sequences of phosphor dots are defined on the screen of the video monitor.
- One or more electron guns generate electron beams which are swept, typically left to right and top to bottom, across the screen. When a phosphor dot is irradiated by an electron beam, it will glow thereby rendering its associated color, such as red, green and blue for example.
- the term "pixel" is commonly used to refer to one spot in a group of spots, such as a rectangular grid of thousands of such spots for example.
- the spots are selectively activated to form an image on the display device.
- a single triad of red, green and blue phosphor dots cannot be uniquely selected. Consequently, the smallest possible pixel size will depend on the focus, alignment and bandwidth of the electron guns used to excite the phosphor dots.
- the light emitted from one or more triads of red, green and blue phosphor dots in various arrangements known for CRT displays, tend to blend together giving, at a distance, the appearance of a single colored light source.
- the intensity of the light emitted from the additive primary colors (such as red, green and blue for example) can be varied to achieve the appearance of almost any desired color pixel. Adding no color, that is, emitting no light, produces a black pixel. Adding 100 percent of all three (3) colors produces a white pixel. Having introduced color CRT video monitors, color LCD video monitors are now introduced in ⁇ 1.2.2 below.
- Portable computing devices also referred to generally as computing appliances or untethered computing appliances
- LCDs liquid crystal displays
- flat panel displays tend to be smaller and lighter than CRT displays.
- flat panel displays are well suited for battery powered applications since they typically consume less power than comparably sized CRT displays.
- Color LCD displays are examples of display devices which distinctly address pixel elements to represent each pixel of an image being displayed.
- each pixel element of a color LCD display includes three (3) non-square elements (also referred to as “sub-pixel elements” or “sub-pixel components”). More specifically, each pixel element may include adjacent red, green and blue (RGB) sub-pixel elements. Thus, a set of RGB sub-pixel elements together define a single pixel element.
- Some LCD displays may have non-square pixels and/or pixels which are defined by more than three (3) sub-pixel elements.
- Known LCD displays generally include a series of RGB sub-pixel elements which are commonly arranged to form stripes along the display. The RGB stripes normally run the entire length of the display in one direction.
- RGB striping The resulting RGB stripes are sometimes referred to as "RGB striping".
- Many LCD monitors, used for computer applications, are wider than they are tall, and tend to have RGB vertical stripes.
- many LCD monitors used in untethered or handheld computing appliances are taller than they are wide, and tend to have RGB horizontal stripes.
- the present invention may be used when rendering text on monitors, such as LCD RGB monitors for example, which have horizontal striping.
- Figure 1 illustrates a known LCD screen 100 comprising pixels arranged in a plurality of rows (R1-R8) and columns (C1-C6). That is, a pixel is defined at each row-column intersection.
- Each pixel m cludes a red sub-pixel element, depicted with hatching, a green sub-pixel element, depicted with cross hatching, and a blue sub- pixel element, depicted with no hatching.
- Figure 2 illustrates the upper portion of the known display 100 in greater detail.
- each pixel element e.g., the (RI, C6) pixel element, comprises three distinct sub-pixel elements or sub-pixel components, a red sub-pixel element 210, a green sub-pixel element 220 and a blue sub-pixel element 230.
- Each known sub-pixel element 210, 220, 230 is 1/3, or approximately 1/3, the height of a pixel while being equal, or approximately equal, in width to the width of a pixel.
- the three 1/3 height, full width, sub-pixel elements 210, 220, 230 define a single pixel element.
- RGB pixel subcomponents 210, 220, 230 define horizontal color stripes on the display 100. Accordingly, the arrangement of 1/3 height color sub-pixel elements 210, 220, 230, in the known manner illustrated in Figures 1 and 2, exhibit what is sometimes called "horizontal striping".
- the RGB sub-pixel elements are generally addressed and used as a group to generate a single colored pixel corresponding to a single sample of the image to be represented. More specifically, in known systems, luminous intensity values for all of the sub-pixel elements of a pixel element are generated from a single sample of the image to be represented. For example, referring to Figure 3, an image section 300 is segmented into twelve (12) squares by the grid 310. Each square of the grid 310 defined by the segmented image section 300 represents an area of the image section 300 which is to be represented by a single pixel element. In Figure 3, a hatched circle 320 is used to represent a single image sample from which luminous intensity values associated with the red, green, and blue sub-pixel elements 330, 332, and 334 of the associated pixel are generated.
- LCD displays are often used for rendering textual information.
- a personal information manager may be used to render contact information, such as a person's address, telephone number, fax number, and e-mail address for example, on an untethered computing device.
- Characters may include symbols, such as the "Parties MT”, “Webdings", and “Wingdings” symbol groups found on the WordTM word processor from Microsoft Corporation of Redmond, Washington for example.
- a "typeface” is a specific named design of a set of printed characters (e.g., Helvetica Bold Oblique), that has a specified obliqueness (i.e., degree of slant) and stoke weight (i.e., line thickness).
- a typeface is not the same as a font, which is a specific size of a specific typeface (such as 12-point Helvetica Bold Oblique). However, since some fonts are "scalable", the terms “font” and “typeface” may sometimes be used interchangeably.
- a “typeface family” is a group of related typefaces. For example, the Helvetica family may include Helvetica, Helvetica Bold, Helvetica Oblique and Helvetica Bold Oblique.
- font outline technology such as scalable fonts for example, to facilitate the rendering and display of text.
- TrueTypeTM fonts from Microsoft Corporation of Redmond, Washington are an example of such technology.
- various font sets such as "Times New Roman,” “Onyx,” “Courier New,” etc. for example, may be provided.
- the font set normally includes a high resolution outline representation, such as a series of contours for example, for each character which may be displayed using the provided font set.
- the contours may be straight lines or curves for example.
- Curves may be defined by a series of points that describe second order Bezier-splines for example.
- the points defining a curve are typically numbered in consecutive order The ordering of the points may be important.
- the character outline may be "filled" to the right of curves when the curves are followed in the direction of increasing point numbers.
- the high resolution character outline representation may be defined by a set of points and mathematical formulas.
- a "font unit” may be defined as the smallest measurable unit in an "em” square, which is an imaginary square that is used to size and align glyphs (a glyph can be thought of as a character).
- Figure 9 illustrates an "em" square 910 around a character outline 920 of the letter Q. Historically, an "em” was approximately equal to the width of a capital M. Further, historically, glyphs could not extend beyond the em square. More generally, however, the dimensions of an "em” square are those of the full body height 940 of a font plus some extra spacing. This extra spacing was provided to prevent lines of text from colliding when typeset without extra leading was used.
- the stored outline character representation normally does not represent space beyond the maximum horizontal and vertical boundaries of the character (also referred to as “white space” or “side bearings”). Therefore, the stored character outline portion of a character font is often referred to as a black body (or BB).
- a font generator is a program for transforming character outlines into bitmaps of the style and size required by an application. Font generators (also referred to as “rasterizers”) typically operate by scaling a character outline to a requested size and can often expand or compress the characters that they generate.
- a character font In addition to stored black body character outline information, a character font normally includes black body size, black body positioning, and overall character width information. Black body size information is sometimes expressed in terms of the dimensions of a bounding box used to define the vertical and horizontal borders of the black body.
- Box 408 is a bounding box which defines the size of the black body 407 of the character (A).
- the total width of the character (A), including white space to be associated with the character (A), is denoted by an advance width (or AW) value 402.
- the advance width typically starts to a point left of the bounding box 408.
- This point 404 is referred to as the left side bearing point (or LSBP).
- the left side bearing point 404 defines the horizontal starting point for positioning the character (A) relative to a current display position.
- a scalable font file normally mcludes black body size, black body positioning, and overall character width information for each supported character.
- the black body size information may include horizontal and vertical size information expressed in the form of bounding box 408 dimensions.
- the black body positioning information may be expressed as a left side bearing value 410.
- Overall character width information may be expressed as an advance width 402. ⁇ 1.2.2.1.2 RENDERING TEXT TO PIXEL PRECISION Recall that font generators convert a black body character outline into a bitmap. This conversion may consider the point size of the font to be rendered, and the resolution (e.g., dots per inch, pixels per inch, etc.) of the device (e.g., a video display, a printer, etc.) which will ultimately render the text.
- the resolution e.g., dots per inch, pixels per inch, etc.
- the present invention increases the resolution of text rendered on a display device having sub-pixel elements, such as an RGB LCD for example, and in particular, on a display device having horizontal striping.
- the present invention may do so by (i) overscaling (or oversampling) character outline information in the vertical (or Y) direction, and (ii) filtering (e.g., averaging) displaced (either overlapping, immediately adjacent, or spaced) scan conversion source samples from the overscaled (or oversampled) character outline information.
- the present invention may also appropriately adjust metrics associated with the character outline information (such as left side bearing, advance width, vertical character size, ascent, descent, etc.).
- the present invention may also constrain the vertical (or Y) position of the baseline of adjacent characters by forcing the first pixel above the baseline to be composed of a full number N of scan conversion source samples, where N corresponds to an overscaling (or oversampling) factor. This prevents "jumping" or
- the present invention may also convert groups of scan conversion source samples into packed pixel index values.
- the present invention may also selectively filter color values when the differences in the intensity of adjacent sub-pixel elements would otherwise be irritating to view.
- the present invention may correct the gamma of the pixel values (or to achieve an effect similar to gamma correction) so that the gamma of the display device is considered and so that intensity values of sub-pixel elements fall within a range of intensities in which gamma correction is more useful.
- Figure 1 illustrates a known arrangement of sub-pixel elements of an LCD display having horizontal striping.
- Figure 2 illustrates a portion of Figure 1 in greater detail.
- Figure 3 illustrates a known image sampling operation.
- Figure 4 illustrates known ways of representing character information.
- Figure 5A is a block diagram of a computer system which may be used to implement at least certain aspects of the present invention.
- Figure 5B is a high level block diagram of a machine which may be used to implement at least certain aspects of the present invention.
- Figure 6 illustrates an image sampling technique with which the present invention may be used.
- Figure 7 is a diagram of high level processes of an environment in which at least certain aspects of the present invention may operate.
- Figure 8 is a diagram of graphics display interface processes of an environment in which at least certain aspects of the present invention may operate.
- Figure 9 illustrates certain typographic terms which are used when describing certain aspects of the present invention.
- Figure 10 is a high level flow diagram of a first method for effecting an overscaling or oversampling process.
- Figure 11 is an example which illustrates the operation of the method depicted in Figure 10.
- Figure 12 is a high level flow diagram of a second method for effecting an overscaling or oversampling process.
- Figure 13 is an example which illustrates the operation of the method depicted in Figure 12.
- Figure 14 is a high level flow diagram of a method for effecting a hinting process.
- Figures 15A and 15B are examples which illustrate the operation of the hinting method of Figure 14.
- Figure 16 is a high level flow diagram of a first method for effecting a scan conversion process.
- Figure 17 is a high level flow diagram of a second method for effecting a scan conversion process.
- Figures 18A and 18B illustrate the usefulness of zero padding steps in the scan conversion methods of Figures 16 and 17.
- Figure 19 is an example which illustrates an exemplary scan conversion process.
- Figures 20A and 20B illustrate the storage and retrieval of scan conversion source samples (or more generally, information).
- Figure 22 is a high level flow diagram of an exemplary method for effecting a display driver management process.
- the present invention may also function to selectively filter color values when the differences in the intensity of adjacent sub-pixel elements would otherwise be irritating to view.
- FIG. 5A and the following discussion provide a brief, general description of an exemplary apparatus in which at least some aspects of the present invention may be implemented.
- Various methods of the present invention will be described in the general context of computer-executable instructions, such as program modules and/or routines for example, being executed by a computing device such as a personal computer.
- Other aspects of the invention will be described in terms of physical hardware such as display device components and display screens for example.
- Program modules may include routines, programs, objects, components, data structures (e.g., look-up tables, etc.) that perform task(s) or implement particular abstract data types.
- Program modules may be practiced with other configurations, including hand held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network computers, minicomputers, set top boxes, mainframe computers, displays used in, e.g., automotive, aeronautical, industrial applications, and the like.
- At least some aspects of the present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices linked through a communications network.
- program modules may be located in local and/or remote memory storage devices.
- Figure 7 is a high level diagram of processes which may be performed by the text enhancement system.
- an application process 710 such as a word processor or contact manager for example, may request that text be displayed and may specify a point size for the text.
- the application process 710 may also request a font name, background and foreground colors and a screen location at which the text is to be rendered.
- the text and, if applicable, the point size are provided to a graphics display interface (or GDI) process (or more generally, a graphics display interface) 722.
- GDI graphics display interface
- a type rasterization process 804 may be effected by hardware and/or software and converts a character outline (which may, recall include points which define contours such as lines and curves based on mathematical formulas) into a raster (that is, a bitmapped) image. Each pixel of the bitmap image may have a color value and a brightness for example.
- a type rasterization process is described in ⁇ 4.2.2.1.1 below. ⁇ 4.2.2.1.1 RASTERIZER
- the resolution of an output device may be specified by the number of dots or pixels per inch (dpi).
- the rasterized character i.e., the bitmap produced by the rasterization process is overscaled and/or oversampled, typically in the direction perpendicular to the striping of the display device.
- Oversampling can be thought of as compressing the grid of samples while maintaining the image on which the grid is laid.
- overscaling can be thought of as maintaining the grid of samples while stretching the image on which the grid is laid.
- the overscaling (or oversampling) process 806 may perform a non- square scaling (or sampling) based on the direction and/or number of sub-pixel elements included in each pixel element.
- Figure 10 is a high level flow diagram of a first method 806' for effecting the overscaling (or oversampling) process 806.
- Figure 11 illustrates an example of the operation of the method 806' of Figure 10.
- the font vector graphics e.g., the character outline
- point size e.g., the point size
- display resolution e.g., the display resolution
- Font metrics such as the left side bearing (Recall 410), advance width (Recall 402), ascent (Recall 942) and descent (Recall 944) may also be accepted.
- This information is denoted 11 12 and 1114 in Figure 11.
- the overscale factor or oversample rate (Recall N of Equation 2) is accepted.
- the font vector graphics e.g., the character outline
- the X coordinate values of the character outline in units of font units
- the advance width and left side bearing also in units of font units
- the rotated font vector graphics (e.g., the character outline) 1110 is rasterized based on the point size, display resolution and the overscale factor (or oversample rate). As shown in the example of Figure 13, the new Y coordinate values of the character outline (in units of font units), as well as the advance width and left side bearing (also in units of font units) are scaled as shown in 1330 (Recall equation 1.). These values may then be rounded to the nearest integer pixel value.
- Grid fitting ensures that certain features of the glyphs are regularized. Since the outlines are only distorted at a specified number of smaller sizes, the contours of the fonts at high resolutions remain unchanged and undistorted.
- sub-pixel element boundaries may be treated as boundaries along which characters can, and should, be aligned or boundaries to which the outline of a character should be adjusted.
- hinting involves aliasing the left edge of a character stem with a left pixel or sub-pixel element boundary and aligning the bottom of the character's base along a pixel component or sub-pixel element boundary.
- Figure 14 is a high level flow diagram of an exemplary method 808' for effecting at least a part of a hinting process 808.
- Figures 15A and 15B illustrate the operation of the method 808' of Figure 14.
- the overscaled or oversampled character bitmap is accepted.
- the bottom of the character feature is on a scan conversion source sample that will be scan converted to a green sub-pixel element, it should be shifted (or distorted) to scan conversion source samples to be scan converted to a blue or a red sub-pixel element, or to a scan conversion source sample adjacent to a scan conversion source sample to be scan converted to a blue or a red sub-pixel element.
- Figures 15A and 15B illustrate the operation of the method 808' of Figure 14 on character outlines in an overscaled or oversampled character outline which is to be subject to a weighted scan conversion in which five (5) scan conversion source samples will be used to derive a red sub-pixel element, nine (9) scan conversion source samples will be used to derive a green sub- pixel element, and two (2) scan conversion source samples will be used to derive a blue sub-pixel element.
- the bottom 1512 of the overscaled or oversampled character feature outline 1510 is at a scan conversion source sample to be scan converted to a green sub-pixel element but is close to the scan conversion source samples to be scan converted to a blue sub-pixel element.
- the overscaled or oversampled character feature outline is shifted (or stretched) downward such that the bottom 1512' of the resulting overscaled or oversampled character feature outline 1510' is on the scan conversion source sample which is immediately adjacent to a scan conversion source sample to be scan converted to a blue sub-pixel element.
- the bottom 1522 of the overscaled or oversampled character feature outline 1520 is at a scan conversion source sample to be scan converted to a green sub-pixel element but is close to the scan conversion source samples to be scan converted to a red sub-pixel element. Accordingly, the overscaled or oversampled character feature outline is shifted (or compressed) upward such that the bottom 1522' of the resulting overscaled or oversampled character feature outline 1520' is on the scan conversion source sample to be scan converted to a red sub-pixel element.
- hinting instructions may also be carried out on the overscaled or oversampled character outline. Note however, that the additional vertical resolution afforded by considering sub-pixel elements may make performing certain hinting instructions unnecessary.
- a scan conversion process 812 is performed.
- the scan conversion process is described in ⁇ 4.2.2.1.1.3 below. ⁇ 4.2.2.1.1.3 SCAN CONVERSION
- the scan conversion process 812 converts the overscaled (or oversampled) geometry representing a character into a bitmap image.
- Conventional scan conversion operations treat pixels as individual units into which a corresponding portion of the scaled image can be mapped. Accordingly, in conventional scan conversion operations, the same portion of an image is used to determine the luminous intensity values to be used with each of the red, green and blue sub-pixel elements of a pixel element into which a portion of the scaled image is mapped.
- Figure 3 illustrates an example of a known scan conversion process which involves sampling an image to be represented as a bitmap and generating luminous intensity values from the sampled values.
- the red, green and blue sub-pixel elements of a pixel are treated as independent luminous intensity elements. Accordingly, each sub-pixel element is treated as a separate luminous intensity component into which a different portion of the overscaled (or oversampled) image can be mapped.
- a higher degree of resolution than with the known scan conversion techniques is provided.
- different portions of the overscaled (or oversampled) image are used to independently determine the luminous intensity values to be used with each sub-pixel element.
- the scan conversion process can be thought of as filtering (e.g., averaging) displaced samples. The displaced samples may be overlapping, one immediately adjacent to the next, and/or one spaced from the next.
- Figure 6 illustrates an exemplary scan conversion process 812 which may be used in the text enhancement system.
- different image samples 630, 632, 634 of the image 610 segmented by the grid 620 are used to generate the red, green and blue intensity values associated with corresponding portions 640, 642, 644 of the bitmap image 650 being generated.
- image samples for red and blue are displaced -1/3 and +1/3 of a pixel height in distance from the green sample, respectively.
- the scan conversion processes 812 generates red, green and blue (R, G, B) luminance intensity values for each pixel sub-component. These values may be expressed in the form of separate, red, green and blue luminance intensity levels.
- This step is used to ensure that there will be a complete pixel for scan conversion source samples of the overscaled (or oversampled) character outline bitmap.
- step 1640 remainder scan conversion source samples in the ascent and descent of the character outline are zero padded. More specifically, if the number of scan conversion source samples in the ascent is not evenly divisible by the overscaling (or oversampling) factor N, then additional scan conversion source samples, with a value of zero (0), are added to the ascent of the character outline until the number of scan conversion source samples in the ascent is evenly divisible by the overscaling (or oversampling) factor N.
- Such functionally equivalent techniques may include, for example, having the scan conversion process access integer multiples of the overscaling factor (or oversampling rate) of scan conversion source samples above the baseline and ignoring (using masking operations for example) scan conversion source samples above the ascent of the character outline.
- the sub-pixel element values are determined based on scan conversion source samples As discussed above, this determination may be made by filtering displaced samples.
- Figure 19 illustrates an example of a weighted scan conversion process. This exemplary scan conversion process is termed "weighted" since the intensity value of the red sub-pixel element is based on a sample of five (5) scan conversion source samples the intensity value of the green sub-pixel element is based on a sample of nine (9) scan conversion source samples, and the intensity value of the blue sub-pixel element is based on a sample of two (2) scan conversion source samples. This weighting may be used since the human eye perceives light intensity from different color light sources at different rates.
- Green contributes approximately 60%, red approximately 30% and blue approximately 10% to the perceived luminance of a white pixel which results from having the red, green and blue sub-pixel elements set to their maximum luminous intensity output.
- more levels may be allocated to green than to blue or red.
- more intensity levels may be allocated to red then to blue.
- equal numbers of intensity levels are assigned to red, green, and blue sub-pixel elements.
- the overscaling (or oversampling) factor in this example was sixteen (16).
- the dashed line 1910 depicts a part of an overscaled (or oversampled) character outline.
- Reference number 1912 denotes an area within the character outline 1910
- reference number 1914 denotes an area outside of the character outline 1910.
- Figure 19 illustrates scan conversion source samples corresponding to two (2) pixels, having six (6) sub-pixel elements, of the display on which the character 1910 is to be rendered.
- the filtering operation simply adds the number of samples in which the center 1922 of the scan conversion source sample 1920 lies within or on the overscaled (or oversampled) character outline 1910.
- the number of scan conversion source samples which are at least 50% within the character outline 1910 may be used.
- the topmost source sub-pixel has been zero padded so that the ascent of the character outline 1910 is evenly divisible by sixteen (16).
- the red value 1932a is three (3)
- the green value 1934a is eight (8)
- the blue value 1936a is zero (0).
- the red value 1932b is zero (0)
- the green value 1934b is zero (0)
- the blue value 1936b is two (2).
- the sub-pixel element values are "packed".
- the sub-pixel element values are packed into a single eight (8) bit value in accordance with the following expression: Packed Pixel Value ⁇ 3 x ( 10 x red + green) + blue (5)
- the packed pixel value will have a value between zero (0) (i.e., when the red, green and blue values are all zero (0)) and 179 (i.e., when the red value is five (5), the green value is nine (9) and the blue value is two (2)).
- step 1670 the character bitmap and glyph metrics are stored in the glyph cache 726.
- An exemplary data structure of the data stored in the glyph cache 726 is described in ⁇ 4.2.2.1.1.4 below.
- the method 812' is then left via RETURN node 1680.
- Figure 17 is a high level flow diagram of an alternative method 812' ' for effecting scan conversion process 812.
- the method 812' ' of Figure 17 may be used when the overscaling (or oversampling) method 806' ' of Figure 12 is used.
- steps 1240 and 1250 of is Figure 12, as well as glyph 1314 of Figure 13, that the character outline 1310 was rotated by 90 degrees.
- the scan converted glyph is rotated back as shown in step 1770.
- the Y coordinates are mapped to final X coordinates
- negative X coordinates are mapped to positive final Y coordinates
- positive X coordinates are mapped to negative final Y coordinates.
- Such coordinate mapping may be automatically effected by the manner in which scan conversion source samples are accessed (as will become apparent in the description of Figure 20B below). Otherwise, the method 812' ' of Figure 17 is similar to that of Figure 16.
- the overscaling (or oversampling) method 8061 1 of Figure 12 stores scan conversion source sample information in a way that may be easier to access by a scan conversion process 812, such as the scan conversion method 812' ' of Figure 17 than when overscaling (or oversampling) method 806' of Figure 10 stores scan conversion source sample information.
- Figures 20A and 20B illustrate this difference in the ease of accessing scan conversion source sample information by the scan conversion process 812.
- scan conversion source sample information from the overscaled (or oversampled) character outline 1140 may broken into a number of bytes, from left to right and top to bottom and stored as a series of bytes denoted by reference number 2010.
- scan conversion source sample information from the rotated and overscaled (or oversampled) character outline 1340 may be broken into a number of bytes from left to right and top to bottom and stored as a series of bytes denoted by reference number 2010'.
- Figures 18A and 18B serve to illustrate how these steps prevent the baseline from "jumping” or “bouncing”.
- source sample 1850a is the highest sub-pixel source sample of the overscaled (or oversampled) character outline.
- Reference number 1810b denotes the first 16 (where the overscaling or oversampling factor is 16) scan conversion source samples above the baseline 1820 while reference number 1810a denotes the last 16 scan conversion source samples above the baseline 1820. Without zero padding, the first set of samples will take scan conversion source samples from the set 1810a and one ( 1 ) scan conversion source sample from the next set (not shown).
- this offset will propagate down such that a set of samples will take scan conversion source samples from the set 1810 above the baseline 1820 and one (1) scan conversion source sample from the first set below the baseline 1820. Effectively, the consequence of not zero padding the top set 1810a of scan conversion source samples Is that the baseline 1820 will move down one scan conversion source sample. Zero padding the top set 1810a of the scan conversion source samples maintains the position of the baseline 1820.
- scan conversion source sample 1850c is the highest scan conversion source sample of the overscaled (or oversampled) character outline.
- Reference number 1810d denotes the first 16 (where the overscaling or oversampling factor is 16) scan conversion source samples above the baseline 1820 while reference number 1810c denotes the last 16 scan conversion source samples above the baseline 1820. Without zero padding, the first set of samples will take one (1) scan conversion source sample from the set 1810c and 15 scan conversion source samples from the next set (not shown).
- this offset will propagate down such that a set of samples will take one (1) scan conversion source sample from the set 1810d above the baseline 1820 and 15 scan conversion source samples from the first set below the baseline 1820.
- the consequence of not zero padding the top set 1810c of scan conversion source sample is that the baseline 1820 will move down scan conversion source samples.
- Zero padding the top set 1810c of the scan conversion source samples maintains the position of the baseline 1820.
- R, G and B luminance intensity values are specified, stored and processed as three (3) discrete quantities, each having a number of bits corresponding to the number used to specify sub-pixel element luminance Intensity values to the display adapter 548 and/or display device 547.
- R, G and B luminance intensity values are specified, stored and processed as three (3) discrete quantities, each having a number of bits corresponding to the number used to specify sub-pixel element luminance Intensity values to the display adapter 548 and/or display device 547.
- many systems use 8-bit quantities, each representing an R, G or B luminance intensity value.
- the processing of R, G and B luminous intensity values requires the storage, processing and transfer of 24 bits per pixel.
- R, G, B luminance intensity value may be converted, e.g., compressed, into a single number.
- this number is referred as a "packed pixel value" because it represents the packing of the R, G and B luminous intensity values associated, with a pixel, into a single value.
- the range of numbers e.g., range of packed pixel values, used to represent pixel R, G and B luminous intensity levels, is selected to be large enough so that each possible R, G, B luminous intensity level combination can be uniquely identified.
- the total number of packed pixel values, used to represent R, G and B luminous intensity level combinations should be at least as large as the product of the total number of supported red intensity levels, the total number of supported green intensity levels, and the total number of supported blue intensity levels. Since it is often convenient to work with bytes, i.e., 8-bit quantities, in terms of memory access, processing, and data transfer operations, the product should be able to be specified as an 8-bit quantity or a multiple thereof.
- the scan conversion process 812 may convert separate R, G and B luminous intensity values associated with a pixel into a packed pixel value.
- glyphs are represented, and stored using packed pixel values as opposed to, e.g., separate 8-bit R, G and B luminous intensity values.
- the packed pixel value representations may be converted into separate R, G, and B luminance values of the form used by the display device 547 before the luminous intensity values are supplied to the display adapter 548.
- Converting separate R, G and B luminous intensity levels into packed pixel values may be performed as part of, or as a post process to, the scan conversion process 812. (Recall steps 1660 and 1760 of Figures 16 and 17, respectively, described above.)
- a shift operation or arithmetic equation may be used to convert between separate R, G and B luminance intensity levels associated with a pixel and a packed pixel value.
- Such an operation can produce a total of M (0 through M-l) distinct packed pixel value entries, Where M is the total number of possible R, G and B luminous intensity level combinations that may be assigned to a pixel element.
- a corresponding R, G and B luminous intensity level combination is associated with each packed pixel value.
- the R luminous intensity values vary from 0 to RP-1 where RP is the maximum possible number of red luminous intensity levels.
- the G luminous intensity values vary from 0 to GP-1 where GP is the maximum possible number of green luminous intensity levels.
- the B luminous intensity values vary from 0 to BP-1 where BP is the maximum possible number of blue luminous intensity levels.
- packed pixel values may be converted into separate R, G, B luminous intensity values using a look-up table by using the packed pixel value as an index into the look-up table and outputting the individual R, G and B luminous intensity level entries associated with the packed pixel value.
- the number of supported R, G, and B luminous intensity levels is usually a function of the number of scan conversion source samples used to determine the R, G and B luminous intensity levels during the scan conversion process 812.
- each of the packed pixel values 0-179 can be represented using an 8-bit quantity. This significantly lowers storage requirements as compared to embodiments where separate 8-bit values are used for a total of 24 bits per R, G, B combination.
- Figure 21 illustrates an example of information which may be stored in the glyph cache 726' by the scan conversion process 812.
- the glyph cache 726' may include a number of glyph files 21 10a.
- Each of the glyph files 21 10a may include a number of glyph metrics 2112a (such as left side bearing, advance width, ascent, descent, etc. for example) and a number of pixel records 2120.
- Each of the pixel records 2120 may include display screen pixel coordinates 2122 and a packed pixel value 2124.
- the display driver 732 may include software instructions which permit the computer system to communicate information to the video display 547, or video adapter 740, in a way which can be interpreted by the video display 547. Although the display driver 732 is shown outside of the operating system block 535', the display driver 732 may be considered as a part of the operating system 535'. As shown in Figure 7, the display driver 732 may include a display driver management process 735 which can accept display information 724' and which manages a color compensation (or color filtering) process 736, a gamma correction process 737, and a color palette selection process 738. The display information 724' may include the gamma of the display device 547 and the color palette of the display device 547.
- Figure 22 is a high level flow diagram of a method 735' which may be used to effect the display driver management process 735.
- the display driver management method accepts 735' glyph(s) from the glyph cache 726 and display information from the display device 547 (or display information about the display device 547 from a system configuration file) as shown in steps 2210 and 2220. Then, the method 735' may invoke a color filtering process 736, described in more detail below in ⁇ 4.2.2.2.1, in step 2230. The method 735' may also invoke a gamma correction process 737, described in more detail in ⁇ 4.2.2.2.2, in step 2240.
- the method 735' may invoke a color palette selection process 738, described in more detail below in ⁇ 4.2.2.2.3, in step 2250.
- the method 735' is left via RETURN node 2260.
- FILTERING COLOR COMPENSATION
- the overscaling (or oversampling) and scan conversion processes effectively increase the resolution of the display device in the vertical direction by separately considering the red 210, green 220, and blue 230 sub-pixel elements, if the intensity values of adjacent sub-pixels differ by too much, the resulting display may be visually annoying to a user.
- the color compensation (color filtering) process 736 is used to decrease intensity differences between certain adjacent sub-pixel elements if the intensity differences are too large.
- the loop defined by steps 2320 and 2380 is run for each packed pixel value of a glyph being processed.
- normalized red, green and blue intensity values are determined from the packed pixel value as shown in step
- the color space 0 through 255 may be divided into equal segments based on weighted colors. Thus, for example, if there are five (5) red colors, the color space is divided into five (5) segments, each spaced 255/5 apart.
- normalized colors can be determined using the following expression:
- step 2340 it is determined whether the absolute value (i.e., the magnitude) of the difference between the red and green intensities is greater than the red filter threshold value. If so, as shown in step 2350, the red and green intensities are adjusted to decrease the magnitude of the difference. For example, part of this step may be carried out in accordance with the following expressions: if (R - G) > Red Filter Threshold, then
- the green intensity (as modified in step 2350, if so modified), the blue intensity, and/or the red intensity (as modified in step 2350, if so modified) are modified to decrease the absolute value (i.e., the magnitude) of the difference.
- the normalization may be performed simply by clamping such that intensities below the lower bound are set to the lower bound and intensities above the upper bound are set to the upper bound.
- the normalization may be performed by shifting and clamping the intensities
- the intensities are scaled and rounded to fall within the "useful" range of intensities.
- step 2440 the gamma of the device 547 is accepted and, in step 2450, the (normalized) intensity values are adjusted based on the gamma of the device 547.
- the method 2240' is then left via RETURN node 2460. ⁇ 4.2.2.2.3 COLOR PALETTE SELECTION
- the present invention also disclosed techniques for selectively filtering color values when the differences in the intensity of adjacent sub-pixel elements would otherwise be irritating to view.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU45017/00A AU4501700A (en) | 1999-04-29 | 2000-04-28 | Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text |
JP2000615962A JP2002543473A (en) | 1999-04-29 | 2000-04-28 | Method, apparatus, and data structure for maintaining a consistent baseline position in a system for rendering text |
EP00926494A EP1203345A4 (en) | 1999-04-29 | 2000-04-28 | Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30190599A | 1999-04-29 | 1999-04-29 | |
US09/301,905 | 1999-04-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2000067196A1 true WO2000067196A1 (en) | 2000-11-09 |
WO2000067196B1 WO2000067196B1 (en) | 2000-12-21 |
Family
ID=23165397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2000/011741 WO2000067196A1 (en) | 1999-04-29 | 2000-04-28 | Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1203345A4 (en) |
JP (1) | JP2002543473A (en) |
AU (1) | AU4501700A (en) |
WO (1) | WO2000067196A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001009873A1 (en) | 1999-07-30 | 2001-02-08 | Microsoft Corporation | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
WO2003015066A2 (en) * | 2001-08-08 | 2003-02-20 | Clairvoyante Laboratories, Inc. | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering |
WO2003098335A2 (en) * | 2002-05-17 | 2003-11-27 | Clairvoyante Laboratories, Inc. | Rotable colour flat panel display and sub-pixel rendering method |
EP1493142A1 (en) * | 2002-04-08 | 2005-01-05 | Sharp Kabushiki Kaisha | Display apparatus, information display method, information display program, readable recording medium, and information apparatus |
US7219309B2 (en) | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
US7222306B2 (en) | 2001-05-02 | 2007-05-22 | Bitstream Inc. | Methods, systems, and programming for computer display of images, text, and/or digital content |
CN100345181C (en) * | 2001-05-09 | 2007-10-24 | 克雷沃耶提实验室有限公司 | Converson of a sub-pixel format data to another sub-pixel data format |
US7916159B2 (en) | 2004-12-27 | 2011-03-29 | Sharp Kabushiki Kaisha | Driving device for display panel, display device including the driving device, method for driving a display panel, program, and storage medium |
US9355601B2 (en) | 2001-05-09 | 2016-05-31 | Samsung Display Co., Ltd. | Methods and systems for sub-pixel rendering with adaptive filtering |
US10417921B2 (en) | 2016-07-19 | 2019-09-17 | Ge Aviation Systems Limited | Display of intensity profile discs |
CN111510716A (en) * | 2019-01-30 | 2020-08-07 | 韩国斯诺有限公司 | Method and system for improving compression ratio by pixel transformation of image file |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5424534B2 (en) | 2007-01-31 | 2014-02-26 | 日立コンシューマエレクトロニクス株式会社 | Image processing apparatus and image display apparatus |
KR101332495B1 (en) * | 2010-05-20 | 2013-11-26 | 엘지디스플레이 주식회사 | Image Porcessing Method And Display Device Using The Same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5159668A (en) * | 1989-05-08 | 1992-10-27 | Apple Computer, Inc. | Method and apparatus for manipulating outlines in improving digital typeface on raster output devices |
US5543819A (en) * | 1988-07-21 | 1996-08-06 | Proxima Corporation | High resolution display system and method of using same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341153A (en) * | 1988-06-13 | 1994-08-23 | International Business Machines Corporation | Method of and apparatus for displaying a multicolor image |
US5684510A (en) * | 1994-07-19 | 1997-11-04 | Microsoft Corporation | Method of font rendering employing grayscale processing of grid fitted fonts |
-
2000
- 2000-04-28 EP EP00926494A patent/EP1203345A4/en not_active Withdrawn
- 2000-04-28 AU AU45017/00A patent/AU4501700A/en not_active Abandoned
- 2000-04-28 JP JP2000615962A patent/JP2002543473A/en not_active Withdrawn
- 2000-04-28 WO PCT/US2000/011741 patent/WO2000067196A1/en not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5543819A (en) * | 1988-07-21 | 1996-08-06 | Proxima Corporation | High resolution display system and method of using same |
US5159668A (en) * | 1989-05-08 | 1992-10-27 | Apple Computer, Inc. | Method and apparatus for manipulating outlines in improving digital typeface on raster output devices |
Non-Patent Citations (1)
Title |
---|
See also references of EP1203345A4 * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1210708A4 (en) * | 1999-07-30 | 2009-07-22 | Microsoft Corp | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
EP1210708A1 (en) * | 1999-07-30 | 2002-06-05 | Microsoft Corporation | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
WO2001009873A1 (en) | 1999-07-30 | 2001-02-08 | Microsoft Corporation | Rendering sub-pixel precision characters having widths compatible with pixel precision characters |
US7737993B2 (en) | 2001-05-02 | 2010-06-15 | Kaasila Sampo J | Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images |
US7222306B2 (en) | 2001-05-02 | 2007-05-22 | Bitstream Inc. | Methods, systems, and programming for computer display of images, text, and/or digital content |
US7287220B2 (en) | 2001-05-02 | 2007-10-23 | Bitstream Inc. | Methods and systems for displaying media in a scaled manner and/or orientation |
US7219309B2 (en) | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
US9355601B2 (en) | 2001-05-09 | 2016-05-31 | Samsung Display Co., Ltd. | Methods and systems for sub-pixel rendering with adaptive filtering |
CN100345181C (en) * | 2001-05-09 | 2007-10-24 | 克雷沃耶提实验室有限公司 | Converson of a sub-pixel format data to another sub-pixel data format |
CN1539129B (en) * | 2001-08-08 | 2010-07-07 | 三星电子株式会社 | Methods and systems for sub-pixel rendering with gamma adjustment and self-adaptive filtering |
EP2378506A3 (en) * | 2001-08-08 | 2014-05-21 | Samsung Display Co., Ltd. | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering |
JP2004538523A (en) * | 2001-08-08 | 2004-12-24 | クレアボワイヤント インコーポレーテッド | Method and system for sub-pixel rendering with gamma adjustment and adaptive filtering |
KR100923053B1 (en) * | 2001-08-08 | 2009-10-22 | 삼성전자주식회사 | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering |
WO2003015066A2 (en) * | 2001-08-08 | 2003-02-20 | Clairvoyante Laboratories, Inc. | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering |
WO2003015066A3 (en) * | 2001-08-08 | 2003-12-24 | Clairvoyante Lab Inc | Methods and systems for sub-pixel rendering with gamma adjustment and adaptive filtering |
EP1493142A4 (en) * | 2002-04-08 | 2009-04-29 | Sharp Kk | Display apparatus, information display method, information display program, readable recording medium, and information apparatus |
EP1493142A1 (en) * | 2002-04-08 | 2005-01-05 | Sharp Kabushiki Kaisha | Display apparatus, information display method, information display program, readable recording medium, and information apparatus |
WO2003098335A2 (en) * | 2002-05-17 | 2003-11-27 | Clairvoyante Laboratories, Inc. | Rotable colour flat panel display and sub-pixel rendering method |
WO2003098335A3 (en) * | 2002-05-17 | 2004-04-08 | Clairvoyante Lab Inc | Rotable colour flat panel display and sub-pixel rendering method |
US7916159B2 (en) | 2004-12-27 | 2011-03-29 | Sharp Kabushiki Kaisha | Driving device for display panel, display device including the driving device, method for driving a display panel, program, and storage medium |
US10417921B2 (en) | 2016-07-19 | 2019-09-17 | Ge Aviation Systems Limited | Display of intensity profile discs |
CN111510716A (en) * | 2019-01-30 | 2020-08-07 | 韩国斯诺有限公司 | Method and system for improving compression ratio by pixel transformation of image file |
CN111510716B (en) * | 2019-01-30 | 2023-10-13 | 韩国斯诺有限公司 | Method and system for improving compression rate through pixel transformation of image file |
Also Published As
Publication number | Publication date |
---|---|
WO2000067196B1 (en) | 2000-12-21 |
JP2002543473A (en) | 2002-12-17 |
EP1203345A4 (en) | 2004-04-14 |
AU4501700A (en) | 2000-11-17 |
EP1203345A1 (en) | 2002-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6339426B1 (en) | Methods, apparatus and data structures for overscaling or oversampling character feature information in a system for rendering text on horizontally striped displays | |
US6393145B2 (en) | Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices | |
US6282327B1 (en) | Maintaining advance widths of existing characters that have been resolution enhanced | |
JP4633263B2 (en) | Display character positioning method and apparatus | |
US6342890B1 (en) | Methods, apparatus, and data structures for accessing sub-pixel data having left side bearing information | |
EP2579246B1 (en) | Mapping samples of foreground/background color image data to pixel sub-components | |
US6396505B1 (en) | Methods and apparatus for detecting and reducing color errors in images | |
US6360023B1 (en) | Adjusting character dimensions to compensate for low contrast character features | |
EP1125270B1 (en) | Methods of displaying images such as text with improved resolution | |
US6356278B1 (en) | Methods and systems for asymmeteric supersampling rasterization of image data | |
US6342896B1 (en) | Methods and apparatus for efficiently implementing and modifying foreground and background color selections | |
EP1203345A1 (en) | Method, apparatus and data structures for maintaining a consistent baseline position in a system for rendering text | |
EP1155396A1 (en) | Mapping image data samples to pixel sub-components on a striped display device | |
WO2000067247A1 (en) | Methods, apparatus and data structures for determining glyph metrics for rendering text on horizontally striped displays | |
WO2002001546A1 (en) | Data structures for overscaling or oversampling character in a system for rendering text on horizontally striped displays | |
EP1226508B1 (en) | Adjusting character dimensions to compensate for low contrast character features |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
AK | Designated states |
Kind code of ref document: B1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: B1 Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
B | Later publication of amended claims | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2000 615962 Kind code of ref document: A Format of ref document f/p: F |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2000926494 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: 2000926494 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 2000926494 Country of ref document: EP |