Patent US6025826A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6025826A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for handling alpha premultiplication of image data

Assignee: Oracle America Inc
•
Filing: 1997-06-30
•
Granted: 2000-02-15
•
Expires: 2017-06-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for handling alpha premultiplication is described. In an embodiment, image data is contained within an instance of an image object that also contains a state variable indicating whether the image data is currently premultiplied or non-premultiplied. A method within the image object responds to requests to coerce the image data into a desired or destination premultiplication state. Based on the value of the state variable, the method multiplies or divides the image data components by the alpha component, or does nothing. The state variable is updated to reflect any change in the premultiplication state of the image data. In one embodiment, the image object is implemented as a buffered image object instance containing a tile object instance and a color model object instance. The tile object instance maintains a reference to a data array(s) containing the image data file, and provides methods for inserting and extracting pixel data from the data array(s). The color model object instance contains the premultiplication state variable for the image data, and a method for coercing the image data into a desired premultiplication state. Applications can insure that image data is in the desired premultiplication state by accessing the associated buffered image object instance to invoke the coercion method, and specifying the desired state. The buffered image object instance responds by invoking the data coercion method in the color model object instance, and specifying the desired premultiplication state and the tile object instance containing the image data.

Inventors

  • 👤 Jeannette Hung
  • 👤 Jerald R. Evans
  • 👤 James Graham

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 14:14
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/36; G09G5/363

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 168 words
In an object-oriented computer system, a method of handling alpha premultiplication of image data, said method comprising: storing at least one data array containing image data; storing a state variable indicating a current premultiplication state of said image data; receiving a first method invocation comprising a destination premultiplication state; executing a data coercion method, wherein said data coercion method comprises: determining if said current premultiplication state matches said destination premultiplication state; and if said current premultiplication state does not match said destination premultiplication state, modifying said image data to conform to said destination premultiplication state, and setting said current premultiplication state to said destination premultiplication state; obtaining a first object; obtaining a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and obtaining a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 2
Dependent Claim 168 words
In an object-oriented computer system, a method of handling alpha premultiplication of image data, said method comprising: storing at least one data array containing image data; storing a state variable indicating a current premultiplication state of said image data; receiving a first method invocation comprising a destination premultiplication state; executing a data coercion method, wherein said data coercion method comprises: determining if said current premultiplication state matches said destination premultiplication state; and if said current premultiplication state does not match said destination premultiplication state, modifying said image data to conform to said destination premultiplication state, and setting said current premultiplication state to said destination premultiplication state; obtaining a first object; obtaining a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and obtaining a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 3
Dependent Claim 55 words
The method of claim 1, further comprising: in response to receiving said first method invocation, said first object sending a second method invocation to said third object, said second method invocation comprising said destination premultiplication state and a reference to said second object, said second method invocation initiating said execution of said data coercion method.
Claim 4
Dependent Claim 55 words
The method of claim 1, wherein said data coercion method further comprises: invoking a first access method of said second object to get said image data from said at least one data array; and invoking a second access method of said second object to put modified image data into said at least one data array.
Claim 5
Dependent Claim 302 words
A computer system comprising: a processor; a memory coupled to said processor; at least one data array within said memory; image data stored within said at least one data array, said image data comprising at least one pixel; program code executed by said processor, said program code comprising: a reference to said at least one data array; a first method receiving a pixel reference as an argument in a first method invocation, said first method comprising program code configured to cause said processor to get said image data from said at least one data array; a second method receiving a pixel reference and a data value as arguments in a second method invocation, said second method comprising program code configured to cause said processor to put said data value in said at least one data array; a state variable indicating a current premultiplication state of said image data; a data coercion method receiving a destination premultiplication state as an argument in a data coercion method invocation, said data coercion method comprising program code configured to cause said processor to modify said image data to conform to said destination premultiplication state, if said destination premultiplication state does not match said current premultiplication state; a first object encapsulating said reference to said at least one data array, said first method and said second method; a second object encapsulating said state variable and said data coercion method; and a third object, said third object comprising: a reference to said first object; a reference to said second object; and a third method receiving said destination premultiplication state as an argument in a third method invocation, said third method comprising program code configured to cause said processor to send said data coercion method invocation, said data coercion method invocation further comprising a reference to said first object.
Claim 6
Dependent Claim 302 words
A computer system comprising: a processor; a memory coupled to said processor; at least one data array within said memory; image data stored within said at least one data array, said image data comprising at least one pixel; program code executed by said processor, said program code comprising: a reference to said at least one data array; a first method receiving a pixel reference as an argument in a first method invocation, said first method comprising program code configured to cause said processor to get said image data from said at least one data array; a second method receiving a pixel reference and a data value as arguments in a second method invocation, said second method comprising program code configured to cause said processor to put said data value in said at least one data array; a state variable indicating a current premultiplication state of said image data; a data coercion method receiving a destination premultiplication state as an argument in a data coercion method invocation, said data coercion method comprising program code configured to cause said processor to modify said image data to conform to said destination premultiplication state, if said destination premultiplication state does not match said current premultiplication state; a first object encapsulating said reference to said at least one data array, said first method and said second method; a second object encapsulating said state variable and said data coercion method; and a third object, said third object comprising: a reference to said first object; a reference to said second object; and a third method receiving said destination premultiplication state as an argument in a third method invocation, said third method comprising program code configured to cause said processor to send said data coercion method invocation, said data coercion method invocation further comprising a reference to said first object.
Claim 7
Dependent Claim 277 words
A computer program product comprising: a computer usable medium having computer readable program code embodied therein that handles alpha premultiplication of image data, said computer program product comprising: computer readable program code configured to cause a computer to store a reference to at least one data array containing image data; computer readable program code configured to cause a computer to store a state variable containing a current premultiplication state of said image data; computer readable program code configured to cause a computer to execute a data coercion method in response to a coerce message, said coerce message containing a destination premultiplication state, said computer readable program code configured to cause a computer to execute said data coercion method comprising: computer readable program code configured to cause a computer to determine if said current premultiplication state matches said destination premultiplication state; and computer readable program code configured to cause a computer to modify said image data to conform to said destination premultiplication state and set said current premultiplication state to said destination premultiplication state, if said current premultiplication state does not match said destination premultiplication state; computer readable program code configured to cause a computer to obtain a first object; computer readable program code configured to cause a computer to obtain a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and computer readable program code configured to cause a computer to obtain a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 8
Dependent Claim 277 words
A computer program product comprising: a computer usable medium having computer readable program code embodied therein that handles alpha premultiplication of image data, said computer program product comprising: computer readable program code configured to cause a computer to store a reference to at least one data array containing image data; computer readable program code configured to cause a computer to store a state variable containing a current premultiplication state of said image data; computer readable program code configured to cause a computer to execute a data coercion method in response to a coerce message, said coerce message containing a destination premultiplication state, said computer readable program code configured to cause a computer to execute said data coercion method comprising: computer readable program code configured to cause a computer to determine if said current premultiplication state matches said destination premultiplication state; and computer readable program code configured to cause a computer to modify said image data to conform to said destination premultiplication state and set said current premultiplication state to said destination premultiplication state, if said current premultiplication state does not match said destination premultiplication state; computer readable program code configured to cause a computer to obtain a first object; computer readable program code configured to cause a computer to obtain a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and computer readable program code configured to cause a computer to obtain a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 9
Dependent Claim 68 words
The computer program product of claim 5 further comprising: computer readable program code configured to cause a computer to send a second method invocation from said first object to said third object in response to receiving said first method invocation, said second method invocation comprising said destination premultiplication state and a reference to said second object, said second method invocation initiating said execution of said data coercion method.
Claim 10
Dependent Claim 72 words
The computer program product of claim 6 further comprising: computer readable program code configured to cause a computer to invoke a first access method of said second object to get said image data from said at least one data array; and computer readable program code configured to cause a computer to invoke a second access method of said second object to put modified image data into said at least one data array.
Claim 11
Dependent Claim 196 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to handle alpha premultiplication of image data by performing the steps of: storing a reference to at least one data array containing image data; storing a state variable containing a current premultiplication state of said image data; executing a data coercion method in response to a coerce message, said coerce message containing a destination premultiplication state, wherein said data coercion method comprises the steps of: determining if said current premultiplication state matches said destination premultiplication state; and modifying said image data to conform to said destination premultiplication state and setting said current premultiplication state to said destination premultiplication state, if said current premultiplication state does not match said destination premultiplication state; obtaining a first object; obtaining a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and obtaining a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 12
Dependent Claim 196 words
A computer data signal embodied in a carrier wave and representing sequences of instructions which, when executed by a processor, cause said processor to handle alpha premultiplication of image data by performing the steps of: storing a reference to at least one data array containing image data; storing a state variable containing a current premultiplication state of said image data; executing a data coercion method in response to a coerce message, said coerce message containing a destination premultiplication state, wherein said data coercion method comprises the steps of: determining if said current premultiplication state matches said destination premultiplication state; and modifying said image data to conform to said destination premultiplication state and setting said current premultiplication state to said destination premultiplication state, if said current premultiplication state does not match said destination premultiplication state; obtaining a first object; obtaining a second object referenced by said first object, said second object comprising said at least one data array and at least one method that accesses said image data within said at least one data array; and obtaining a third object referenced by said first object, said third object comprising said state variable and said data coercion method.
Claim 13
Dependent Claim 75 words
The computer data signal of claim 8, wherein said sequences of instructions, when executed by said processor, cause said processor to perform the further step of: sending a second method invocation from said first object to said third object in response to receiving said first method invocation, said second method invocation comprising said destination premultiplication state and a reference to said second object, said second method invocation initiating said execution of said data coercion method.
Claim 14
Dependent Claim 69 words
The computer data signal of claim 8, wherein said sequences of instructions, when executed by said processor, cause said processor to perform the further steps of: invoking a first access method of said second object that gets said image data from said at least one data array; and invoking a second access method of said second object that puts modified image data into said at least one data array.

References Cited (Backward Citations)

US4647963A Cited
US5079720A Cited
US5132786A Cited
US5184124A Cited
US5485203A Cited
US5592196A Cited
US5557691A Cited
US5537563A Cited
US5740343A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-02-14 2003-08-16 2004-02-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-02-14 2007-08-16 2008-02-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-02-14 2011-08-16 2012-02-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag