Determining a displayable color in a self-overlapping region of a color object
AssigneeCanon Kabushiki Kaisha
InventorGeorge Politis
Life of this patent
Estimating the term…
Abstract
Determining a displayable color in a self-overlapping region of a variable color object by determining for each point in the region, the color of each portion of the object present at that point. At each point averaging the colors present at that point and outputting the averaged colors for reproduction within the region.
Claims52
A method of determining a displayable colour in a self-overlapping region of a variable colour object, said method comprising the steps of:
- determining, for each point in the region, the colour of each portion of the object present at that point;
- at each said point, averaging in an order independent manner the colours present at that point;
- and
- outputting said averaged colours for reproductions within said region.
A method of determining a displayable colour in a self-overlapping region of a variable colour object, said method comprising the steps of:
- determining, for each point in the region, the colour of each portion of the object present at that point;
- at each said point, mixing, in an order independent manner, the colours present at that point using a commutative operator;
- and
- outputting said mixed colours for reproductions within said region.
A commutative operator for mixing colours having opacity components, said operator being of the form:
- ( ∑ c i o i / n ∑ o i / n , over i = 1 n o i ) = ( ∑ c i o i ∑ o i , over i = 1 n o i ) ,
- where over i = 1 n o i = ∑ i = 1 n o i ∏ j = i + 1 n ( 1 - o j ) ,
- and ci and oi are the colours and opacities respectively at one pixel location within one portion of a self-overlap of an object.
A method of rendering a graphical object, said method comprising steps of:
- amassing edge transitions of said object in a scan line by scan line fashion using the non-zero winding fill rule to thereby determine a fill count for regions of the object defined by the edge transitions;
- defining regions of said object having a fill count of at least 2 as self-overlapping regions;
- determining an output value of a pixel in said self-overlapping regions according to a rule;
- and
- determining an output value of a pixel in a non self-overlapping region according to the colour and opacity of said pixel in the non self-overlapping region.
A method for rendering in a scan-line manner an arbitrary object having at least one overlapping region, said method comprising the steps of:
- for each scan line of said object
- (a) scan converting the object on said scan line;
- (b) determining the overlapping regions of said object within said scan line;
- (c) initializing an overlap buffer for each said overlapping regions;
- (d) for each portion of the object on said scan line
- (da) determining if said portion is an overlapping region
- (daa) if so, accumulating the colour of pixels of said portion in the corresponding said overlap buffer;
- (dab) if not, outputting the colour of pixels of said portion;
- (e) for each overlapping region, calculating an average colour from the corresponding amassed value in said corresponding overlap buffer;
- and
- (f) outputting the average colours.
An apparatus for determining a displayable colour in a self-overlapping region of a variable colour object, said apparatus comprising:
- colour determination means for determining, for each point in the region, the colour of each portion of the object present at that point;
- averaging means, responsive to said colour determination means, adapted to average in an order independent manner, at each said point, the colours present at that point;
- and
- output means coupled to said averaging means for outputting said averaged colours for reproductions within said region.
An apparatus for determining a displayable colour in a self-overlapping region of a variable colour object, said apparatus comprising:
- means for determining, for each point in the region, the colour of each portion of the object present at that point;
- means for mixing, in an order independent manner, at each said point, the colours present at that point using a commutative operator;
- and
- means for outputting said mixed colours for reproductions within said region.
A commutative operator means for mixing colours having opacity components, said operator means adapted to perform the operation:
- ( ∑ c i o i / n ∑ o i / n , over i = 1 n o i ) = ( ∑ c i o i ∑ o i , over i = 1 n o i ) ,
- where over i = 1 n o i = ∑ i = 1 n o i ∏ j = i + 1 n ( 1 - o j ) ,
- and ci and oi are the colours and opacities respectively at one pixel location within one portion of a self-overlap of an object.
An apparatus for rendering a graphical object, said apparatus comprising:
- means for amassing edge transitions of said object in a scan line by scan line fashion using the non-zero winding fill rule to thereby determine a fill count for regions of the object defined by the edge transitions;
- means for defining regions of said object having a fill count of at least 2 as self-overlapping regions;
- means for determining an output value of a pixel in said self overlapping regions according to a rule;
- and
- means for determining an output value of a pixel in a non self-overlapping region according to the colour and opacity of said pixel in the non self-overlapping region.
An apparatus for rendering in a scan-line manner an arbitrary object having at least one overlapping region, said apparatus comprising:
- for each scan line of said object
- (a) scan conversion means for scan converting the object on said scan line;
- (b) overlapping region detection means for determining the overlapping regions of said object within said scan line;
- (c) buffer initialization means for initializing an overlap buffer for each said overlapping regions
- (d) overlapping region determination means, operative in respect of each portion of the object on said scan line
- (da) for determining if said portion is an overlapping region
- (daa) and, if said portion is an overlapping region adapted to accumulate the colour of pixels of said portion in the corresponding said overlap buffer;
- (dab) and, if said portion is not an overlapping region, adapted to output the colour of pixels of said portion:
- (e) calculation means, operative in respect of each overlapping region, to calculate an average colour from the corresponding accumulated value in said corresponding overlap buffer;
- (f) outputting means for outputting the average colours.
A computer program product including a computer readable medium incorporating a series of instructions configured to determine a displayable colour in a self-overlapping region of a variable colour object, said instructions comprising:
- determination steps for determining, for each point in the region, the colour of each portion of the object present at that point;
- averaging steps for, at each said point, averaging in an order independent manner the colours present at that point;
- and
- outputting steps for outputting said averaged colours for reproduction within said region.
A computer program product for determining a displayable colour in a self-overlapping region of a variable colour object, said program comprising:
- code for determining, for each point in the region, the colour of each portion of the object present at that point;
- code for mixing in an order independent manner, at each said point, the colours present at that point using a commutative operator;
- and
- code for outputting said mixed colours for reproductions within said region.
A computer program product comprising commutative operator steps for mixing colours having opacity components, said operator steps adapted to perform the operation:
- ( ∑ c i o i / n ∑ o i / n , over o i i = 1 n ) = ( ∑ c i o i ∑ o i , over o i i = 1 n ) ,
- where over o i i = 1 n = ∑ i = 1 n o i ∏ j = i + 1 n ( 1 - o j ) ,
- and ci and oi are the colours and opacities respectively at one pixel location within one portion of a self-overlap of an object.
A computer program product including a computer readable medium having recorded thereon a computer program for directing a computer to render a graphical object said program comprising:
- code for amassing edge transitions of said object in a scan line by scan line fashion using the non-zero winding fill rule to thereby determine a fill count for regions of the object defined by the edge transitions;
- code for defining regions of said object having a fill count of at least 2 as self overlapping regions;
- code for determining an output value of a pixel in said self overlapping regions according to a rule;
- and
- code for determining an output value of a pixel in a non self-overlapping region according to the colour and opacity of said pixel in the non self-overlapping region.
A computer program product for rendering in a scan-line manner an arbitrary object having at least one overlapping region, said program comprising:
- for each scan line of said object
- (a) scan conversion steps for scan converting the object on said scan line;
- (b) overlapping region detection steps for determining the overlapping regions of said object within said scan line;
- (c) buffer initialization steps for initializing an overlap buffer for each said overlapping regions;
- (d) overlapping region determination steps, operative in respect of each portion of the object on said scan line;
- (da) for determining if said portion is an overlapping region
- (daa) and, if said portion is an overlapping region, adapted to accumulate the colour of pixels of said portion in the corresponding said overlap buffer;
- (dab) and, if said portion is not an overlapping region, adapted to output the colour of pixels of said portion;
- (e) calculation steps, operative in respect of each overlapping region, to calculate an average colour from the corresponding accumulated value in said corresponding overlap buffer;
- (f) outputting steps for outputting the average colours.
Dependencies are inferred from the claim text.