AU757618B2 - Alpha-channel compositing system - Google Patents

Alpha-channel compositing system Download PDF

Info

Publication number
AU757618B2
AU757618B2 AU18389/01A AU1838901A AU757618B2 AU 757618 B2 AU757618 B2 AU 757618B2 AU 18389/01 A AU18389/01 A AU 18389/01A AU 1838901 A AU1838901 A AU 1838901A AU 757618 B2 AU757618 B2 AU 757618B2
Authority
AU
Australia
Prior art keywords
opacity
range
uncorrected
colour
values
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.)
Ceased
Application number
AU18389/01A
Other versions
AU1838901A (en
Inventor
Yu-Ling Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from AUPQ5931A external-priority patent/AUPQ593100A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU18389/01A priority Critical patent/AU757618B2/en
Publication of AU1838901A publication Critical patent/AU1838901A/en
Application granted granted Critical
Publication of AU757618B2 publication Critical patent/AU757618B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)

Description

S&FRef: 536226
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan
S
S
S
S.
Actual Inventor(s): Address for Service: Invention Title: Yu-Ling Chen Spruson Ferguson St Martins Tower,Level 31 Market Street Sydney NSW 2000 Alpha-channel Compositing System
S
S. ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PQ5931 [32] Application Date 29 Feb 2000 The following statement is a full description of this invention, including the best method of performing it known to me/us:- I P t IP Australia Documents received on: ShFEB 2001 Batch No: 5815c ALPHA-CHANNEL COMPOSITING SYSTEM Technical Field of the Invention The present invention relates generally to the rendering of graphical elements into raster pixel images and, in particular, to the efficient rendering of such elements to pixel image data using alpha-channel compositing. The invention also relates to a computer program product including a computer readable medium having recorded thereon a computer program for the efficient rendering of graphical elements to pixel image data using alpha-channel compositing.
Background Art Computer generated images are typically made up of many differing components or graphical elements which are rendered and composited together to create a final image.
In recent times, "alpha values" have been used in order to assist in the rendering of images. The colour associated with each element in an image is given an alpha value representing the contribution of the element to a final pixel value. An element with an alpha value of zero is typically understood to be fully transparent and an element with an alpha value of one is typically understood to be fully opaque. The alpha value is typically -stored alongside each instance of a colour. Therefore, along with the RGB (Red, Green, S"Blue) values of a pixel, there is an alpha value representing the coverage of the pixel. The collection of all of the alpha values for an image is often called an "alpha channel" (also known as a "matte", an "opacity channel", or simply "opacity").
The combining of source colour and opacity with destination colour and opacity will now be described with reference to Fig. 1. As seen in Fig. 1, when a source pixel 100 S and destination pixel 101 are composited together, the pixels 100, 101 are conceptually overlaid, so that they anti-correlate to give four regions three non-transparent regions 103, 105, 107 and one transparent region 111) in the combined resultant pixel 109. The three non-transparent regions 103, 105 and 107, can be defined as SOUTD (ie. source outside destination), SROPD source intersect destination) and DOUTS (i.e.
destination outside source), respectively. The colour value of each of these three regions is calculated conceptually independently. The source outside destination region 103 takes it's colour directly from the source colour. The destination outside source region takes it's colour directly from the destination colour. The source intersect destination region 105 takes it's colour from a combination of the source and destination colour. Each of the three regions 103, 105 and 107 contributes a proportion of it's colour to the final colour of a resultant pixel according to the opacity value of that particular region. The opacity contribution from each of the three regions 103, 105, 107 can be defined as below, where 536226.doc a represents the opacity value between 0 and 1 for the 'src' source) and 'dest' (i.e.
destination) pixel: SOUTD csrc(1-adest); (1) DOUTS adest(1-asrc); and (2) SROPD asrcadest. (3) The process of combining source and destination colour is termed a raster operation and is one of a set of functions specified by raster operation code used in conjunction with many alpha-compositing systems employed by computer graphics systems. The alpha value, a, for a particular pixel is typically represented as an 8 bit word in the range 0 to 255, representing the range between zero and one normalised).
As a result, the product of the multiplication of the source and destination pixels has to be 'range corrected' divided by 255) to return to an 8-bit word representing the range between 0 and 1 for the resultant pixel.
Fig. 2 is a schematic diagram of a prior art alpha-compositing module 200 employed by a computer graphics system in order to combine source colour and opacity with destination colour and opacity. The module 200 comprises an opacity combination system 202 and a colour combination system 205. The opacity combination system 202 and the colour combination system 205 calculate the resultant pixel opacity and colour values, respectively. The Csrc, Cdest and Cresult operands represent the colour of the source, destination and resultant 'result') pixels, respectively. The Xsrc, adest and aresult operands represent the opacity value of the source, destination and resultant 'result') pixels, respectively. The contributions from the three regions, SOUTD, SROPD and DOUTS due to the compositing of the source and destination pixels, are controlled by three opacity flags, USE_SOUTD, USE_SROPD, and USE_DOUTS, respectively. If the flag for a region is set, there is some contribution from that region, otherwise, the contribution from that particular region is zero.
The module 200 of Fig. 2 uses an 8-bit word to represent the alpha value for a particular pixel. Therefore, the opacity contribution from each region has to be range corrected by being divided by the number 255, using dividers 210, 220 and 230. The resultant opacity is calculated by summing the three range corrected opacity values for the three regions SOUTD, SROPD and DOUTS, using a summer 201. The resultant colour 536226.doc -3- Cresuit is divided by the resultant opacity, using a divider 240. As conceptually seen from Fig. 2, there is a long processing path from the initial colour and opacity operands to the resultant colour and opacity and typically the destination operand is taken from a compositing stack which contains the result of a previous operation. Therefore, it is not possible to pipeline such an operation and simplifying the data path while maintaining the precision is very important.
Disclosure of the Invention It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to one aspect of the present invention there is provided an apparatus for compositing first and second pixel values, said apparatus comprising: logic means for calculating combined range uncorrected colour and opacity values using opacity and colour values for each of said first and second pixel values: selection means for selecting a reciprocal range uncorrected opacity value from a 15 plurality of predetermined reciprocal range uncorrected opacity values using said ooo combined range uncorrected opacity value; multiplier means for multiplying said reciprocal range uncorrected opacity value with said combined range uncorrected colour value to determine a final range corrected resultant colour value for a third pixel; and 20 divider means for dividing said combined range uncorrected opacity value bv a predetermined number wherein said divider means is configured to calculate a final rance corrected resultant opacity value for said third pixel.
o* *o According to another aspect of the present invention there is provided apparatus "for compositing first and second pixel values, said apparatus comprising: a plurality of inputs for receiving opacity and colour values for each of said first and second pixels; logic means for calculating combined range uncorrected colour and opacity values using said opacity and colour values; selection means for selecting a reciprocal range uncorrected opacity value from a plurality of predetermined reciprocal range uncorrected opacity values using said combined range uncorrected opacity value; multiplier means for multiplying said reciprocal range uncorrected opacity value T vith said combined range uncorrected colour value to produce a final range corrected S:esultant colour value for a third pixel; and 536226.doc divider means for dividing said range uncorrected combined opacity value by a predetermined number, wherein said divider means is configured to calculate a final range corrected resultant opacity value for said third pixel.
According to still another aspect of the present invention there is provided a method of compositing first and second pixel values, said comprising the steps of: inputting opacity and colour values for each of said first and second pixels; calculating combined range uncorrected colour and opacity values using said opacity and colour values; selecting a range uncorrected reciprocal opacity value from a plurality of predetermined range uncorrected reciprocal opacity values using said combined range uncorrected opacity value; multiplying said range uncorrected reciprocal opacity value with said combined range uncorrected colour value to produce a final resultant range corrected colour value for a third pixel; and dividing said combined range uncorrected opacity value by a predetermined number to produce a final resultant range corrected opacity value for said third pixel, wherein said final resultant range corrected opacity value for said third pixel is determined subsequent to said combined range uncorrected opacity value being calculated.
According to still another aspect of the present invention there is provided a computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to composite first and second pixel values, said program comprising: code for inputting opacity and colour values for each of said first and second 25 pixels; code for calculating combined range uncorrected colour and opacity values using said opacity and colour values; ::code for selecting a range uncorrected reciprocal opacity value from a plurality of predetermined range uncorrected reciprocal opacity values using said combined range uncorrected opacity value; code for multiplying said range uncorrected reciprocal opacity value with said combined range uncorrected colour value to produce a final resultant range corrected colour value for a third pixel; and code for dividing said combined range uncorrected opacity value by a predetermined number to produce a final resultant range corrected opacity value for said 536226.doc third pixel, wherein said final resultant range corrected opacity value for said third pixel is determined subsequent to said combined range uncorrected opacity value being calculated.
Brief Description of the Drawings A number of preferred embodiments of the present invention will now be described with reference to the drawings, in which: Fig. 1 shows the regions formed by compositing a source pixel and a destination pixel; Fig. 2 is a schematic diagram of a prior art alpha-compositing module employed by a computer graphics system; Fig. 3 is a schematic diagram of a compositing system in accordance with the preferred embodiment of the present invention; Fig. 4 is a schematic diagram showing an alpha-channel compositing module in used in the compositing system of Fig. 3; Fig. 5 is a flowchart showing a method of dividing a resultant opacity value, (result, by 255 in accordance with the preferred embodiment; Fig. 6 is a flowchart showing a method of compositing a source and a destination pixel in accordance with the preferred embodiment; Fig. 7 is a schematic block diagram of a general purpose computer upon which 20 the preferred embodiment of the present invention can be practiced; and .:oeo Fig. 8 is a flowchart showing a method of building the look-up table in accordance with the preferred embodiment.
Detailed Description including Best Mode Where reference is made in any one or more of the accompanying drawings to S 25 steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
The preferred embodiment is a compositing system that comprises an optimised alpha-channel compositing module. The preferred embodiment optimises the range correction in the alpha-channel compositing module by using a constant divider and delaying the correction of an alpha value until after the summation of the alpha values from all contributing regions. Uncorrected opacity values are used to index a look-up table in order to reduce the data processing path to a multiplier for processing after premultiplication of a colour values from all contributing regions.
536226.doc -6- Fig. 3 is a schematic diagram of the compositing system 300 in accordance with the preferred embodiment of the present invention. The compositing system 300 includes a graphic operation module 301, an optimised alpha-compositing module 303 and a compositing stack 305. The graphic operations module 301 includes two inputs 307 and 309. The input 307 accepts the colour values of the source pixel and the input 309 accepts the colour values of the destination pixel operands (i.e Csrc and Cdest). The graphic operations module 301 applies raster and arithmetic operations on the source and destination colour values for the source and destination pixels. The colour values of the destination pixel are taken from the compositing stack 305, via line 311. The result of the raster and arithmetic operations is passed to the alpha-channel compositing module 303, via line 317, in order to calculate the resultant pixel colour value.
The alpha-channel compositing module 303 calculates the resultant pixel opacity and colour values and passes the values to the compositing stack 305, via lines 325 and 327 respectively. The compositing stack 301 is used for the storage of intermediate opacity and colourresults. The alpha channel compositing module 303, includes an opacity combination system 313 and a colour combination system 315. The opacity combination system 313 and the colour combination system 315 calculate the resultant pixel opacity and colour value, respectively. The opacity combination system 313 has o. S•two inputs 319 and 321. The input 319 accepts the alpha value of the source pixel. The input 321 accepts the alpha value of the destination pixel. The alpha value for the destination pixel is taken from the compositing stack 305, via line 323.
Fig. 4 is a schematic diagram showing the alpha-channel compositing module *303 of the preferred embodiment in more detail. xsrc and adest are preferably 8-bit words representing the opacity range between 0 and 1 for the source and destination pixels, respectively. Therefore, as with the prior art compositing module 200, since the alpha compositing module 303 of the preferred embodiment uses an 8-bit word to represent the alpha value for a particular pixel, the product of the multiplication of the alpha values for the source and destination pixels has to be divided by 255 to return to an 8-bit word representing the alpha value of the resultant pixel. However, the range correction process, in accordance with the preferred embodiment, has been optimised by delaying the correction of the opacity contribution from each of the three regions SOUTD, DOUTS and SROPD, until after the summation of the opacity contribution from each of the three regions.
As can be seen in Fig. 4, the contributions from the three regions SOUTD, SROPD and DOUTS) are preferably controlled by the three flags USE_SOUTD, 536226.doc USE_DOUTS, and USE_SROPD) using three 'and' gates 411, 413 and 415. The total combined opacity contribution for each of the three regions SOUTD, DOUTS and SROPD, is determined using the summer 400 to give a resultant opacity value, aresult.
The resultant opacity value is then range corrected by dividing the resultant opacity value by 255 using the divider 401. Therefore, in accordance with the preferred embodiment, the three range corrections of the prior art are reduced to only one.
The total combined colour contribution from each of the three regions SOUTD, DOUTS and SROPD, is preferably determined using the adder 403. The resultant colour value Cresuit is again calculated by dividing the total colour contributions from each of the three regions SOUTD, DOUTS and SROPD, by the resultant opacity value, Oaresuit.
However, in accordance with the preferred embodiment, the division is implemented as a multiplication by the reciprocal of the divider opacity). The reciprocals of a range of uncorrected resultant opacity values are preferably predetermined and stored in a look-up table 405. The uncorrected opacity value is preferably used to index the look-up table 405 to select the correct reciprocal which is then multiplied by a value representing the sum of the colour contributions from each of the three regions SOUTD, DOUTS and SROPD, using a multiplier 407. The output of the multiplier 407 is then clamped and rounded using a process module 409 in order to calculate the resultant colour value Cresult.
9 SAs discussed above, the preferred embodiment preferably uses an 8-bit word for each alpha channel. Using the three opacity flags flags USE_SOUTD, USE_DOUTS, and USE_SROPD), the opacity contribution from each of the three regions SOUTD, SROPD and DOUTS, can be rewritten as equations and equations and are written using C syntax). The resultant opacity aresult is a summation of the opacity contribution from each of the three regions and is represented by equation soutd (USE_SOUTD)?(Osrc (255-Odest)) 255 0; (4) douts (USE_DOUTS)?(Odest (255-Osrc)) 255 sropd (USE_SROPD)?(Osrc Odest) 255 0; and (6) aresult soutd douts sropd. (7) As discussed above, each of the regions, SOUTD, DOUTS and SROPD, contributes a proportion of colour to a resultant pixel colour according to the alpha value 536226.doc of that particular region. For example, the colour of the region SROPD is determined from the resultant colour of a raster and/or an arithmetic operation on the source and destination pixel colours. The colour of a resultant pixel is defined as equation below.
The colour of the resultant pixel has to be unpremultiplied before being pushed onto the compositing stack 305.
Oresult Cresult (Op(Csrc, Cdest)*sropd Csrc* soutd Cdest*douts) (8) As discussed above, the resultant opacity, aresult, is range corrected to 8-bits through being divided by 255, using the divider 401. Fig. 5 is a flowchart showing the method of dividing the resultant opacity, -result, by 255 in accordance with the preferred embodiment. The process begins at step 501, where the value representing the uncorrected opacity value is preferably set to an 8.8 fixed-point format. The value representing the uncorrected opacity value can be represented as a sixteen-bit number, in the form "hh.ll", whereby h and 1 are four bit binary numbers representing the integer part and fractional part of the uncorrected opacity value, respectively. Also at step 501, a rounding variable "rounding" is set to zero. At the next step 503, the integer part and fractional part of the uncorrected opacity value are added together. The process continues to the next step 505, where if the result of the addition at step 503 is greater than or equal to 384, the process proceeds to the next step 507. Otherwise, the process continues to step 509. At step 507, the rounding variable is incremented by two. At step 509, if the result of the addition at step 503 is greater than or equal to 128, the process proceeds to the next step 511. Otherwise, the process continues to step 513. At step 511, the rounding variable is incremented by one. The process concludes at the next step 513, where the range corrected opacity value is calculated by adding the integer part of the uncorrected opacity value to the value of the rounding variable. Alternatively, if the input is less than 16 bits (eg. 10Obits in 8.2 format), the missing bits can be replaced with zeros at step 501.
***The look-up table 405 preferably stores the reciprocals of a range of resultant opacity values in floating point format to provide better precision. The look-up table 405 preferably has 512 entires where the opacity value is incremented in steps of 0.5 in the range [0,255]. Each entry in the look-up table 405 preferably has a 9 bit mantissa and 3 bit exponent in 0.9x2**e format. Each entry is preferably indexed by 9 bits opacity of 8.1 format where e has the range and is encoded to Fig. 8 is a flowchart showing a method of building the look-up table 405 in accordance with the preferred embodiment.
The process of building the look-up table 405 begins at the first step 801, where the first 536226.doc three entries in the look-up table 405 are set to an approximate value representing the reciprocal of a corresponding opacity value 0, 0.5 or The first three entries will generally have an error due to limited table width. However, the error can be ignored since the opacity is very small and the resultant colour will be close to zero. At the next step 802, a check is performed to determine if the resultant opacity value, Oresult, is greater than 255.5. If Oresult is less than or equal to 255.5, at step 802, then the process proceeds to step 803 where the reciprocal of the corresponding opacity value is calculated beginning at an opacity value equal to 1.5. The reciprocal value calculated at step 802 is scaled and rounded up to 16 bits. At the next step 804, the reciprocal value is encoded to ensure that the calculated reciprocal value has a 9 bit mantissa and a 3 bit exponent in 0.9x2**e format. The process continues at the next step 805, where 0.5 is added to the current resultant opacity value, Oresult, and the process returns to step 802. The process concludes at step 802 when the current resultant opacity value exceeds 255.5.
The look-up table 405 can be built using the following C code: int m[512]; //mantissa int e[512]; //exponent set the first three entries to an approximate value, as the range is not enough to present //these.
m[0] 0; e[0] =0; m[l] OxlFF; S* 25 e[1]=7; m[2] OxlFF; e[2] 7; for (int i 3; i 511; //loop from 1.5 to 255.5 in 0.5 step float j calculate the reciprocal and scale up 16 bits and round double d 1.00/(double)j 65536 int s int(d); preserve 9 bits precision for the mantissa and 3 bits for the exponent.
536226.doc I. if (s 512) m[i] preserve 9 bits precision e[i] 0; HI encode -7 as 0 else if (s 1024) m[i] s s 1; HI preserve 9 bits precision e[i] Iencode -6 as 1 else if (s 2048) m[i] s 2; IIpreserve 9 bits precision e[i] 2; HI encode -5 as 2 else if (s 4096) m[i] s preserve 9 bits precision e[i] 3; H/encode -4 as 3 else if (s 8192) m[i] =s preserve 9 bits precision e[i] HI encode -3 as 4 else if (s 16384) m[i] s preserve 9 bits precision e[i] 5; HI encode -2 as else if s <32768) m[i] =s 6; IIpreserve 9 bits precision e~i] IIencode -1 as 6 536226.doc -11else m[i] s preserve 9 bits precision e[i] 7; encode 0 as 7 Table 1, below, shows the first four entries in the preferred look-up table 405.
As discussed above, the first three entries have an error due to limited table width.
opacity Correct mantissa exponent Approximate mantissa Exponent 0 Infinite 7 000 0 400 7 1FF 7 200 7 1FF 7 155 7 155 7 TABLE 1 Fig. 6 is a flowchart showing the method of compositing a source and a destination pixel in accordance with the preferred embodiment. The process begins at step 601, where the opacity and colour values for each of the source and destination pixels are received by the opacity combination system 313 and the colour combination system 315. At the next step 603, the total combined range uncorrected opacity and colour contributions for each of the three regions, SOUTD, DOUTS and SROPD are calculated. The process continues at the next step 605, where the uncorrected total combined opacity value is used to index the look-up table 405 in order to select a range uncorrected reciprocal value of the resultant opacity value, from a range of pre-stored range uncorrected reciprocal opacity values. At the next step 607, the selected reciprocal of the uncorrected resultant opacity value is multiplied with the combined range uncorrected colour value using the multiplier 407 to produce a resultant colour value.
The process concludes at step 609, where the range uncorrected total combined opacity value is divided by 255 to produce a resultant range corrected opacity value.
The aforementioned preferred method comprises a particular control flow. There are many other variants of the preferred methods which use different control flows without departing the spirit or scope of the invention. Furthermore one or more of the steps of the preferred methods can be performed in parallel rather sequentially.
536226.doc -12- Alternatively, the preferred embodiment can practiced using a conventional general-purpose computer system 700, such as that shown in Fig. 7 wherein the processes of Fig. 6 can be implemented as software, such as an application program executing within the computer system 700. In particular, the steps of method of Fig. 6 are effected by instructions in the software that are carried out by the computer. The software may be divided into two separate parts; one part for carrying out the compositing method; and another part to manage the user interface between the latter and the user. The software can be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product.
The use of the computer program product in the computer preferably effects an advantageous apparatus for compositing pixel values in accordance with the embodiments of the invention.
The computer system 700 comprises a computer module 701, input devices such as a keyboard 702 and mouse 703, output devices including a printer 715 and a display device 714. A Modulator-Demodulator (Modem) transceiver device 716 is used by the computer module 701 for communicating to and from a communications network 720, for 0, "example connectable via a telephone line 721 or other functional medium. The modem 716 can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN).
The computer module 701 typically includes at least one processor unit 705, a memory unit 706, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output (10O) interfaces including a video 25 interface707, and an I/O interface713 for the keyboard702 and mouse703 and optionally a joystick (not illustrated), and an interface 708 for the modem 716. A storage device 709 is provided and typically includes a hard disk drive 710 and a floppy disk drive 711. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 712 is typically provided as a non-volatile source of data. The components 705 to 713 of the computer module 701, typically communicate via an interconnected bus 704 and in a manner which results in a conventional mode of operation of the computer system 700 known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
536226.doc Typically, the application program of the preferred embodiment is resident on the hard disk drive 710 and read and controlled in its execution by the processor 705.
Intermediate storage of the program and any data fetched from the network 720 may be accomplished using the semiconductor memory 706, possibly in concert with the hard disk drive 710. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 712 or 711, or alternatively may be read by the user from the network 720 via the modem device 716.
Still further, the software can also be loaded into the computer system 700 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 701 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including email transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have m i corresponding meanings.
o• oo 536226.doc

Claims (6)

  1. 2. Apparatus according to claim 1, wherein said selection means comprises a look- up table. a a
  2. 3. Apparatus according to claim 1, said apparatus further comprising a plurality of inputs for receiving said opacity and colour values for each of said first and second pixel values. a
  3. 4. Apparatus according to claim 1, said apparatus further comprising: 25 an arithmetic unit for performing arithmetic and raster operations on said colour values for each of said first and second pixels; and buffer means for storing said final range corrected resultant colour and opacity a values.
  4. 5. Apparatus according to claim 1, wherein said opacity and colour values are represented as a plurality of bits.
  5. 6. Apparatus according to claim 1, wherein said opacity and colour values are represented as eight bit words.
  6. 536226.doc 7. Apparatus according to claim 5, wherein said predetermined number is 255. 8. Apparatus according to claim 1, wherein said divider comprises an adder means for incrementing said combined range uncorrected opacity value depending on the magnitude of said combined range uncorrected opacity value. 9. Apparatus for compositing first and second pixel values, said apparatus comprising: a plurality of inputs for receiving opacity and colour values for each of said first and second pixels; logic means for calculating combined range uncorrected colour and opacity values using said opacity and colour values; selection means for selecting a reciprocal range uncorrected opacity value from a plurality of predetermined reciprocal range uncorrected opacity values using said 15 combined range uncorrected opacity value; multiplier means for multiplying said reciprocal range uncorrected opacity value with said combined range uncorrected colour value to produce a final range corrected resultant colour value for a third pixel; and divider means for dividing said range uncorrected combined opacity value by a 20 predetermined number, wherein said divider means is configured to calculate a final range corrected resultant opacity value for said third pixel. 10. Apparatus according to claim 9, wherein said selection means comprises a look- up table. 11. Apparatus according to claim 9, said apparatus further comprising: an arithmetic unit for performing arithmetic and raster operations on said colour values for each of said first and second pixels; and buffer means for storing said final range corrected resultant colour and opacity values. T Apparatus according to claim 9, wherein said opacity and colour values are repr ed as a plurality of bits. 536226.doc 13. Apparatus according to claim 9, wherein said opacity and colour values are represented as eight bit words. 14. Apparatus according to claim 9, wherein said predetermined number is 255. Apparatus according to claim 9, wherein said divider comprises an adder means for incrementing said combined range uncorrected opacity value depending on the magnitude of said combined opacity value. 16. A method of compositing first and second pixel values, said method comprising the steps of: inputting opacity and colour values for each of said first and second pixels; calculating combined range uncorrected colour and opacity values using said opacity and colour values; selecting a range uncorrected reciprocal opacity value from a plurality of predetermined range uncorrected reciprocal opacity values using said combined range uncorrected opacity value; multiplying said range uncorrected reciprocal opacity value with said combined S •range uncorrected colour value to produce a final resultant range corrected colour value for a third pixel; and dividing said combined range uncorrected opacity value by a predetermined number to produce a final resultant range corrected opacity value for said third pixel, t o. wherein said final resultant range corrected opacity value for said third pixel is determined subsequent to said combined range uncorrected opacity value being calculated. 17. The method according to claim 16, said method comprising the further steps of: performing arithmetic and raster operations on said colour values for each of said first and second pixels; and storing said final range corrected resultant colour and opacity values. 18. The method according to claim 16, wherein said opacity and colour values are represented as a plurality of bits. 536226.doc 19. The method according to claim 16, wherein said opacity and colour values are represented as eight bit words. The method according to claim 16, wherein said predetermined number is 255. 21. The method according to claim 16, said method comprising the further step of incrementing said combined range uncorrected opacity value depending on the magnitude of said combined opacity value. 22. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to composite first and second pixel values, said program comprising: code for inputting opacity and colour values for each of said first and second pixels; code for calculating combined range uncorrected colour and opacity values using said opacity and colour values; 0000 code for selecting a range uncorrected reciprocal opacity value from a plurality S.. ."of predetermined range uncorrected reciprocal opacity values using said combined range 0* •uncorrected opacity value; code for multiplying said range uncorrected reciprocal opacity value with said 0 0 combined range uncorrected colour value to produce a final resultant range corrected colour value for a third pixel; and code for dividing said combined range uncorrected opacity value by a predetermined number to produce a final resultant range corrected opacity value for said o• S• 25 third pixel, wherein said final resultant range corrected opacity value for said third pixel is determined subsequent to said combined range uncorrected opacity value being *calculated. a° 0 23. Apparatus for compositing first and second pixel values, substantially as herein before described with reference to any one of the embodiments as illustrated in Figs. 3 to 6. 24. A method for compositing first and second pixel values, substantially as herein before described with reference to any one of the embodiments as illustrated in Figs. 3 to 6. 536226.doc 18 DATED this Thirty First Day of January 2001 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON 6000 0e 06 0 00 6O 0 0@ 00 @0 00 0 S 0S 5 0 @0 000600 0 0 OS.. @0 S 0 @0 S S 5* *Se. 0 0005 0000 0e *5 6 *606 0 0000 536226.doc
AU18389/01A 2000-02-29 2001-02-09 Alpha-channel compositing system Ceased AU757618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU18389/01A AU757618B2 (en) 2000-02-29 2001-02-09 Alpha-channel compositing system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPQ5931 2000-02-29
AUPQ5931A AUPQ593100A0 (en) 2000-02-29 2000-02-29 Alpha-channel compositing system
AU18389/01A AU757618B2 (en) 2000-02-29 2001-02-09 Alpha-channel compositing system

Publications (2)

Publication Number Publication Date
AU1838901A AU1838901A (en) 2001-08-30
AU757618B2 true AU757618B2 (en) 2003-02-27

Family

ID=25617144

Family Applications (1)

Application Number Title Priority Date Filing Date
AU18389/01A Ceased AU757618B2 (en) 2000-02-29 2001-02-09 Alpha-channel compositing system

Country Status (1)

Country Link
AU (1) AU757618B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0790581A2 (en) * 1995-11-27 1997-08-20 Sun Microsystems, Inc. Method for alpha blending images utilizing a visual instruction set
WO1997033437A1 (en) * 1996-03-07 1997-09-12 Powertv, Inc. Blending of video images in a home communications terminal
WO1999053469A1 (en) * 1998-04-15 1999-10-21 S3 Incorporated A system and method for performing blending using an over sampling buffer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0790581A2 (en) * 1995-11-27 1997-08-20 Sun Microsystems, Inc. Method for alpha blending images utilizing a visual instruction set
WO1997033437A1 (en) * 1996-03-07 1997-09-12 Powertv, Inc. Blending of video images in a home communications terminal
WO1999053469A1 (en) * 1998-04-15 1999-10-21 S3 Incorporated A system and method for performing blending using an over sampling buffer

Also Published As

Publication number Publication date
AU1838901A (en) 2001-08-30

Similar Documents

Publication Publication Date Title
US8199359B2 (en) System and method for reducing visibility of registration errors in an image to be printed using a digital color printer by convolution with a laplacian kernel
US9454810B2 (en) Correcting chrominance values based onTone-mapped luminance values
US9530193B2 (en) High dynamic range image editing
US7532222B2 (en) Anti-aliasing content using opacity blending
US8290252B2 (en) Image-based backgrounds for images
US6741261B2 (en) Alpha-channel compositing system
US20060077211A1 (en) Embedded device with image rotation
US8754902B2 (en) Color-space selective darkness and lightness adjustment
US7200283B2 (en) Apparatus and method for alpha blending of digital images
JP3955562B2 (en) Alpha correction method to compensate for lack of gamma correction
US7088375B1 (en) Grouping layers in composited image manipulation
AU757618B2 (en) Alpha-channel compositing system
US20040165772A1 (en) Colour correction
CN101345887A (en) Improved RGB image zooming method
US20050219259A1 (en) Color correction of images while maintaining constant luminance
US20070057972A1 (en) Method and apparatus for blending colors
US7106345B2 (en) Mechanism for color-space neutral (video) effects scripting engine
AU757081B2 (en) Small gamut L*a*b colour space
AU746985B2 (en) Run-based compositing
AU2005200528B2 (en) Compositing with clip-to-self functionality without using a shape channel
TWI377539B (en) Method for image compensation
AU2798501A (en) Optimising pixel generation from compositing stack
Marcu Improving color saturation for color managed images rendered using the perceptual intent
AU2005229629A1 (en) Implementing compositing operations on images

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)