Antialiasing of two-dimensional vector images
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G09G-005/00
G06T-015/50
G06T-015/60
G09G-005/02
출원번호
US-0876870
(2007-10-23)
등록번호
US-8638341
(2014-01-28)
발명자
/ 주소
Kallio, Kiia K.
출원인 / 주소
QUALCOMM Incorporated
대리인 / 주소
Gambale, Jr., James R.
인용정보
피인용 횟수 :
1인용 특허 :
24
초록▼
Described is a method of rendering an image. A transparency of a destination pixel and a transparency of a source pixel are determined at multiple sample positions in each pixel. A new pre-multiplied color is determined for the destination pixel in response to the transparencies of the destination p
Described is a method of rendering an image. A transparency of a destination pixel and a transparency of a source pixel are determined at multiple sample positions in each pixel. A new pre-multiplied color is determined for the destination pixel in response to the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. New transparencies of the destination pixel are determined at the samples in the destination pixel in response to the transparencies of the source pixels and the transparencies of the destination pixel. The method of the present invention permits rendering of polygonal two-dimensional images while eliminating overdraw, therefore using less memory bandwidth than conventional methods for rendering typical two-dimensional vector images. Thus the method is suited for mobile computing and other applications with limited memory bandwidth.
대표청구항▼
1. A method of rendering an image, the method comprising: determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel;determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source co
1. A method of rendering an image, the method comprising: determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel;determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; anddetermining, by a graphics processor, a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. 2. The method of claim 1, further comprising determining a plurality of new transparencies of the destination pixel at the samples in the destination pixel based on the transparencies of the source pixel and the transparencies of the destination pixel. 3. The method of claim 1, wherein the determinations are made for a single layer in a two-dimensional vector image, the method further comprising repeating the determinations for another layer in the two-dimensional vector image. 4. The method of claim 1, wherein the source coverage mask comprises a plurality of binary values, each of the binary values corresponding to a respective one of the plurality of samples in the source pixel, wherein determining the plurality of transparencies of the source pixel comprises determining the transparencies of source pixel based on the plurality of binary values in the source coverage mask and the single transparency value for the source pixel. 5. The method of claim 1, wherein determining the new pre-multiplied color of the destination pixel comprises determining the new pre-multiplied color of the destination pixel to be a pre-multiplied color of the source pixel when each of the transparencies of the destination pixel has a value of zero. 6. The method of claim 2, further comprising storing at least one of the new transparencies of the destination pixel in a palette compression format. 7. The method of claim 2, further comprising storing at least one of the new transparencies of the destination pixel in a quantized compression format. 8. A method of rendering an image, the method comprising: determining a plurality of destination transparencies Adi at a number n of samples in a destination pixel;determining a plurality of source transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; andcalculating, by a graphics processor, a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the plurality of destination transparencies Adi of the n samples in the destination pixel and the plurality of source transparencies Asi of the n samples in the source pixel according to the following equation: p=pd+cs×1n∑i=1n(Asi×(1-Adi)) where n is an integer greater than one. 9. The method of claim 8, further comprising calculating a plurality of new transparency values Ai for the samples in the destination pixel based on the destination transparencies Adi and the source transparencies Asi, according to the following equation: Ai=Adi+Asi×(1−Adi) where i =1 to n and n is an integer greater than one. 10. The method of claim 8, wherein the source transparencies are based on a plurality of values in a coverage mask for the source pixel. 11. The method of claim 8, wherein the determinations and calculations are made for a single layer in a two-dimensional vector image, the method further comprising repeating the determinations and calculations for another layer in the two-dimensional vector image. 12. A graphics processor for generating antialiased two-dimensional vector images comprising: a source buffer storing, for a plurality of source pixels, a color for each of the source pixels and a plurality of transparencies for each of the source pixels, wherein for each of the source pixels, each of the transparencies for the respective source pixel is associated with a respective one of a plurality of samples of the respective source pixel, wherein the plurality of the transparencies for each of the source pixels are determined based on a source coverage mask that indicates the samples of the respective source pixel which are covered by a polygon and based on a single transparency value for the respective source pixel, and wherein each of the transparencies of the source pixel is equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask;a destination buffer storing, for a plurality of destination pixels, a color for each of the destination pixels and a plurality of transparencies for each of the destination pixels, wherein for each of the destination pixels, each of the transparencies for the respective destination pixel is associated with a respective one of a plurality of samples of the respective destination pixel, each of the destination pixels being in front of a respective one of the source pixels; anda composition module in communication with the destination buffer and the source buffer, the composition module generating a new pre-multiplied color for each of the destination pixels based on the transparencies of the respective destination pixel, the transparencies of a respective one of the source pixels, a color of the respective one of the source pixels and a pre-multiplied color of the respective destination pixel. 13. The graphics processor of claim 12, further comprising a display screen in communication with the composition module and the destination buffer to display the antialiased two-dimensional vector images. 14. The graphics processor of claim 12, further comprising a pixel encode buffer having a plurality of pixels, each of the pixels having at least two bits to indicate whether all of the transparencies of a respective one of the destination pixels have a value of one and whether all of the transparencies of the respective one of the destination pixels have a value of zero. 15. The graphics processor of claim 14, wherein the at least two bits further indicates whether the transparencies of the respective one of the destination pixels are palette compressed. 16. The graphics processor of claim 14, wherein the at least two bits further indicates whether the transparencies of the respective one of the destination pixels are quantized compressed. 17. The graphics processor of claim 12, the composition module generating, for each of the destination pixels, a new transparency at each of the samples of the respective destination pixel based on the transparencies of a respective one of the source pixels and the transparencies of the respective destination pixel. 18. A non-transitory computer readable medium for rendering an image, the computer readable medium comprising computer executable instructions to cause one or more processors to: determine a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel;determine a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; anddetermine a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. 19. A graphics processor for generating antialiased two-dimensional vector images comprising: a destination buffer storing, for a plurality of destination pixels, a pre-multiplied destination color pd for each of the destination pixels and a plurality of transparencies Adi for each of the destination pixels, wherein for each of the destination pixels, each of the transparencies for the respective destination pixel is associated with a respective one of a plurality of samples of the respective destination pixel;a source buffer storing, for a plurality of source pixels, a color cs for each of the source pixels and a plurality of transparencies Asi for each of the source pixels, wherein for each of the source pixels, each of the transparencies for the respective source pixel is associated with a respective one of a plurality of samples of the respective source pixel, each of the source pixels being behind a respective one of the destination pixels; anda composition module in communication with the destination buffer and the source buffer, the composition module generating a new pre-multiplied color p for each of the destination pixels based on the transparencies Adi of the respective destination pixel, the transparencies Asi of a respective one of the source pixels, a color cs of the respective one of the source pixels and the pre-multiplied color pd of the respective destination pixel according to the following equation: p=pd+cs×1n∑i=1n(Asi×(1-Adi)) where n is an integer greater than one that represents a number of samples for each of the source pixels and a number of samples for each of the destination pixels. 20. The graphics processor of claim 19, the composition module generating, for each of the destination pixels, a plurality of new transparency values Ai at each of the samples of the respective destination pixel based on the transparencies Asi of a respective one of the source pixels and the transparencies Adi of the respective destination pixel according to the following equation: Ai=Adi+Asi×(1−Adi) where i =1 to n and n is an integer greater than one that represents the number of samples for each of the source pixels and the number of samples for each of the destination pixels. 21. A non-transitory computer readable medium for rendering an image, the computer readable medium comprising computer executable instructions to cause one or more processors to: determine a plurality of transparencies Adi at a number n of samples in a destination pixel;determine a plurality of transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; andcalculate a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the destination transparencies Adi of the n samples in the destination pixel and the source transparencies Asi of the n samples in the source pixel according to the following equation: p=pd+cs×1n∑i=1n(Asi×(1-Adi)) where n is an integer greater than one. 22. The non-transitory computer readable medium of claim 21, further comprising computer executable instructions to cause the one or more processors to calculate a plurality of new transparency values Ai for the samples in the destination pixel based on the destination transparencies Adi and the source transparencies Asi according to the following equation: Ai=Adi+Asi×(1−Adi) where i =1 to n and n is an integer greater than one. 23. A device comprising: means for determining a plurality of transparencies Adi at a number n of samples in a destination pixel;means for determining a plurality of transparencies Asi at the number n of samples in a source pixel, the source pixel being behind the destination pixel; andmeans for calculating a new pre-multiplied color p for the destination pixel based on a pre-multiplied destination color pd, a source color cs, the destination transparencies Adi and the source transparencies Asi according to the following equation: p=pd+cs×1n∑i=1n(Asi×(1-Adi)) where n is an integer greater than one. 24. The device of claim 23, further comprising means for calculating a plurality of new transparency values A, for the samples in the destination pixel based on the destination transparencies Adi and the source transparencies Asi according to the following equation: Ai=Adi+Asi×(1−Adi) where i =1 to n and n is an integer greater than one. 25. A device comprising: means for determining a plurality of transparencies of a destination pixel at a plurality of samples in the destination pixel;means for determining a plurality of transparencies of a source pixel at a plurality of samples in the source pixel based on a source coverage mask that indicates the samples of the source pixel which are covered by a polygon and based on a single transparency value for the source pixel, each of the transparencies of the source pixel being equal to the single transparency value for the source pixel multiplied by a respective one of a plurality of bits in the source coverage mask, the destination pixel being in front of the source pixel; andmeans for determining a new pre-multiplied color of the destination pixel based on the transparencies of the destination pixel, the transparencies of the source pixel, a color of the source pixel and a pre-multiplied color of the destination pixel. 26. The device of claim 25, further comprising means for determining a plurality of new transparencies of the destination pixel at the samples in the destination pixel based on the transparencies of the source pixel and the transparencies of the destination pixel.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (24)
Foran James L. (Milpitas CA) Leather Mark M. (Saratoga CA), Antialiased imaging with improved pixel supersampling.
Duluk, Jr., Jerome F.; Trivedi, Sushma S.; Ng, Sam; Fung, Lindy; Hessel, Richard E.; Benkual, Jack, Apparatus and method for fragment operations in a 3D-graphics pipeline.
Chauvin Joseph W. ; Gabriel Steven A. ; Good Howard ; Griffin Kent E. ; Kenworthy Mark L. ; Powell ; III William Chambers ; Scott ; III George Easton ; Toelle Michael A. ; Torborg ; Jr. John G. ; Ver, Graphics rendering device and method for operating same.
Jouppi Norman P. ; McCormack Joel J. ; Chang Chun-Fa, Method and apparatus for compositing colors of images with memory constraints for storing pixel data.
Winner Stephanie L. ; Kelley Michael W., Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.