1. A current mirror circuit, comprising:
a first transistor and a second transistor, wherein gates of the first transistor and second transistor are coupled at a bias voltage;
a voltage offset circuit including at least one operational amplifier, wherein the at least one operational amplifier is arranged to reduce the bias voltage by an offset voltage; and
an auxiliary transistor that is biased into weak inversion by receiving the reduced bias voltage at a gate of the auxiliary transistor, wherein sources of the first transistor, second transistor and auxiliary transistor are coupled together, wherein a primary current from a drain of the second transistor combines with an auxiliary current from a drain of the auxiliary transistor to produce an output current, wherein the output current constitutes an output of a baseband filter.
2. The current mirror circuit of claim 1, wherein a third harmonic component of the primary current is approximately 180 degrees out of phase with a third harmonic component of the auxiliary current.
3. The current mirror circuit of claim 1, wherein a baseband component of the primary current is in phase with a baseband component of the auxiliary current.
4. The current mirror circuit of claim 1, wherein the at least one operational amplifier comprises a first operational amplifier with a gain of approximately two, wherein the second transistor has a gate length approximately double a gate length of the auxiliary transistor.
5. The current mirror circuit of claim 4, wherein an output of the voltage offset circuit is phase shifted by a second operational amplifier of the at least one operational amplifier, wherein the second operation amplifier is biased with a variable capacitor, wherein an output of the second operational amplifier is directed to the gate of the auxiliary transistor.
6. The current mirror circuit of claim 1, wherein the gates of the auxiliary transistor and the second transistor are coupled via a switch.
7. The current mirror circuit of claim 1, wherein the baseband filter is a baseband filter of a wireless transmitter that receives an analog transmit signal from a digital-to-analog converter and sends the output current to a mixer.
8. The current mirror circuit of claim 1, wherein the sources of the first transistor, second transistor and auxiliary transistor are directly coupled together.
9. The current mirror circuit of claim 1, wherein the primary current flows from the source of the second transistor to the drain of the second transistor, and wherein the auxiliary current flows from the source of the auxiliary transistor to the drain of the auxiliary transistor.
10. The current mirror circuit of claim 1, wherein the voltage offset circuit further comprises a resistor coupled to the at least one operational amplifier.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A computer processing-based method for pre-processing a vector image, comprising:
receiving, by a computer, data for a vector image, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular regions being associated with levels of resolution, determining, by the computer, local vector objects that correspond to intersections of global vector objects with such local region;
specifying, by the computer, a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region; and
for each local region from among the plurality of local rectangular regions, storing, by the computer, descriptions of its local vector objects within a computer memory, wherein at least one of the descriptions specifies a local vector object as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.
2. The method of claim 1 wherein the plurality of local rectangular regions correspond to tiles within partitions of an image, for multiple partitions ranging from a relatively fine to a relatively coarse partition, each partition corresponding to a level of resolution.
3. The method of claim 2 wherein global vector objects are specified in terms of attributes, the attributes including an optional designator for levels of resolution at which a global vector object should be visible within the vector image, and wherein the local vector objects for a local rectangular portion include only intersections of those global vector objects that are to be visible at the level of resolution corresponding to the local rectangular region.
4. The method of claim 1 wherein global vector objects and local vector objects are specified in terms of attributes, the attributes including inter alia a color, a style and at least one control point.
5. The method of claim 1 further comprising eliminating, by the computer, duplicate local vector objects prior to said storing.
6. The method of claim 1 wherein the vector image is a document.
7. The method of claim 1 wherein the vector image is a map.
8. A computer processing-based method for pre-processing vector images, comprising:
receiving, by a computer, data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions being associated with levels of resolution, determining, by the computer, local vector objects that correspond to intersections of global vector objects of the first vector image with such local region;
recording, by the computer, hash values of the local vector objects within an indexed look-up table;
storing, by the computer, the indexed look-up table within a computer memory;
for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, determining, by the computer, local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region;
specifying, by the computer, a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region;
determining, by the computer, which of the local vector objects for the successive vector image are already stored in the look-up table;
for those local vector objects that are already stored in the look-up table, storing, by the computer, their look-up table index within a computer memory; and
for those local vector objects that are not already stored in the look-up table, storing, by the computer, descriptions of the local vector objects within the computer memory, wherein at least one of the descriptions specifies a local vector object as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.
9. The method of claim 8 further comprising periodically updating, by the computer, the indexed look-up table for vector images designated as key images.
10. A system for pre-processing a vector image, comprising:
a vector image processor that pre-processes vector image data, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution, comprising:
a local vector object generator that determines, for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular region being associated with levels of resolution, local vector objects that correspond to intersections of global vector objects with such local region, and that specifies a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region; and
a data recorder that stores descriptions of the local vector objects within a computer memory, for each local portion, wherein at least one of the descriptions of a local vector object is stored as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.
11. The system of claim 10 wherein the plurality of local rectangular regions correspond to tiles within a partition of an image, for multiple partitions ranging from a relatively fine to a relatively coarse partition, each partition corresponding to a level of resolution.
12. The system of claim 11 wherein global vector objects are specified in terms of attributes, the attributes including an optional designator for levels of resolution at which a global vector object should be visible within the vector image, and wherein the local vector objects for a local rectangular region include only intersections of those global vector objects that are to be visible at the level of resolution corresponding to the local rectangular region.
13. The system of claim 10 wherein global vector objects and local vector objects are specified in terms of attributes, the attributes including inter alia a color, a style and at least one control point.
14. The system of claim 10 wherein said data recorder eliminates duplicate local vector objects prior to said storing.
15. The system of claim 10 wherein the vector image is a document.
16. The system of claim 10 wherein the vector image is a map.
17. A system for pre-processing vector images, comprising:
a vector image processor that pre-processes data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
a local vector object generator that:
(i) determines, for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions corresponding to levels of resolution, local vector objects that correspond to intersections of global vector objects of the first vector image with such local region;
(ii) determines, for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region; and
(iii) specifies a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region;
a look-up table generator that records hash values of the local vector objects within an indexed look-up table; and
a data recorder that:
(i) stores the indexed look-up table within a computer memory;
(ii) determines which of the local vector objects for the successive vector image are already stored in the look-up table;
(iii) for those local vector objects that are already stored in the look-up table, stores their look-up table index within a computer memory; and
(iv) for those local vector objects that are not already stored in the look-up table, stores descriptions of the local vector objects within the computer memory, wherein at least one of the descriptions of a local vector object is stored as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.
18. The system of claim 17 further wherein said local vector object generator and said look-up table generator periodically update the indexed look-up table for vector images designated as key images.
19. A non-transitory computer-readable storage medium storing program code for causing a computer to perform the steps of:
receiving data for a vector image, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects with such local region;
specifying a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region; and
for each local region from among the plurality of local rectangular regions, storing descriptions of its local vector objects within a computer memory, wherein at least one of the descriptions specifies a local vector object as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.
20. A non-transitory computer-readable storage medium storing program code for causing a computer to perform the steps of:
receiving data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects of the first vector image with such local portion;
specifying a local vector object of a local rectangular region as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region;
recording hash values of the local vector objects within an indexed look-up table;
storing the indexed look-up table within a computer memory;
for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, determining local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region;
determining which of the local vector objects for the successive vector image are already stored in the look-up table;
for those local vector objects that are already stored in the look-up table, storing their look-up table index within a computer memory; and
for those local vector objects that are not already stored in the look-up table, storing descriptions of the local vector objects within the computer memory, wherein at least one of the descriptions specifies a local vector object as a single pixel if the local vector object is confined within a single pixel for the level of resolution corresponding to the local rectangular region.