Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 9-10, 11-12, 14-15 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500).
Regarding claim 1, Berghoff discloses an apparatus for graphics processing (Berghoff, [0031], “graphics processing system”. In addition, in paragraph [0087], “The system 600 may also include well-known support functions 677, which may communicate with other components of the system”), comprising:
a memory (Berghoff, [0072], “data may be read from and written to one or more memory units”); and
at least one processor coupled to the memory and, based at least in part on information stored in the memory (Berghoff, [0072], “any processor accessible memory utilized in the graphics rendering pipeline. A processing unit, such as a specialized GPU, may be configured to perform various operations in the pipeline and read/write to the graphics memory 520 accordingly”), the at least one processor is configured to:
obtain a set of primitives associated with at least one current frame in a scene, wherein each of the set of primitives is associated with at least one pixel of a plurality of pixels in the at least one current frame (Berghoff, [0034], “FIG. 1A depicts a plurality of triangles 102a,b which may each be primitives forming part of the geometry in an image to be rendered, and a set of screen space pixels 104 (or screen space pixel boundaries) overlaid over the primitives”);
configure at least one coverage associated with each pixel of the plurality of pixels (Berghoff, [0034], “When the sample in a pixel is covered by a primitive, i.e., when the center of the screen space pixel is covered in this example, a fragment may be generated for the primitive covering the sample”), wherein each of the plurality of pixels corresponds to at least one sample (Berghoff, [0034], “When the sample in a pixel is covered by a primitive, i.e., when the center of the screen space pixel is covered in this example, a fragment may be generated for the primitive covering the sample”), wherein the at least one coverage is based on the at least one sample for each of the plurality of pixels (Berghoff, Fig. 2B);
calculate at least one of color data or depth data associated with each of the plurality of pixels (Berghoff, [0034], “This sample may be used to determine each parameter of the screen pixel, including color, depth”), wherein the color data includes a color value for each of the plurality of pixels (Berghoff, Fig. 2B), wherein the depth data includes a depth value for each of the plurality of pixels (Berghoff, Fig. 2B);
Berghoff does not expressly disclose “update at least one of the current color value or the current depth value for each of the plurality of pixels based on the at least one coverage mask”;
Foran et al. (hereinafter Foran) discloses a current color value (Foran, col 11. 44-47, “the mask 80 bits are set such that a "0" indicates that the corresponding sample is represented by the old color value while a "1" indicates that the sample is represented by the new color value”);
at least one coverage mask (Foran, col 4. 18-23, “the corresponding bit in the supersample coverage mask 40 of FIG. 2b is set to "1." In the present example, bits four to seven, nine to eleven and fifteen are set to "1." If the sample point 32 lies outside the polygon 30, then the corresponding bits of the supersample coverage mask 40 are set to "0."”);
update at least one of the current color value or the current depth value for each of the plurality of pixels based on the at least one coverage mask (Foran, col 11. 31-35, “If a new polygon is rendered which covers all the sample locations the transition U0 is executed and the pixel remains in state S1. During this transition, the color value is updated by blending the new polygon color with the previous color value”);
blend the updated current color value for each of the plurality of pixels with a previous color value for each of the plurality of pixels (Foran, col 11. 33-35, “the color value is updated by blending the new polygon color with the previous color value”), wherein the updated current color value is associated with at least one current draw for the scene (Foran, col 11. 39-43, “the region consisting of the samples included in the subset covered by the new polygon receives a new color value obtained by blending the old color value with the new polygon's color value”), and wherein the previous color value is associated with at least one previous draw for the scene (Foran, col 11. 37-39, “The region consisting of the samples not included in the subset covered by the new polygon receives the old color value”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to modify the sample coverage processing of Berghoff using the blending operation including blending a new color value with the previous color value based on coverage mask, as taught by Foran. The motivation for doing so would have been providing more accurate color values for partially covered pixels.
Regarding claim 9, Berghoff discloses a set of color values associated with each of the plurality of pixels (Berghoff, [0032], “fragment shading computations would be performed, and the color values computed by the pixel shader for the fragment would be applied to only those color samples covered by the primitive that generated the fragment”. In addition, in paragraph [0034], “This sample may be used to determine each parameter of the screen pixel, including color”); a set of depth values associated with each of the plurality of pixels (Berghoff, [0056], “These depth values from each primitive may be used in depth testing (and also stencil or other tests), which may be, for example, an early depth test (e.g., EarlyZ), or hierarchical depth test (e.g., Hi-Z), and the depth values may be written to the depth buffer or discarded according to the depth testing”).
Regarding claim 10, Berghoff discloses transmit an indication of at least one of the color data or the depth data associated with each of the plurality of pixels, wherein the indication is transmitted after calculating at least one of the color data or the depth data associated with each of the plurality of pixels (Berghoff, [0015], “the output color values of the fragment computed by the pixel shader are written to a color buffer for those pixel coordinates, and possibly output depth values are written to a depth buffer if the pixel shader is programmed to export the depth value”. The calculated data is subsequently written to the corresponding color/depth buffer reads on transmit an indication of at least one of the color data or the depth data associated with each of the plurality of pixels, wherein the indication is transmitted after calculating at least one of the color data or the depth data associated with each of the plurality of pixels).
Regarding claim 11, Berghoff as modified by Foran with the same motivation from claim 1 discloses the updated current color value is blended with the previous color value for each of the plurality of pixels (Foran, col 11. 31-35, “If a new polygon is rendered which covers all the sample locations the transition U0 is executed and the pixel remains in state S1. During this transition, the color value is updated by blending the new polygon color with the previous color value”);
store at least one of the updated current color value or the updated current depth value for each of the plurality of pixels after the updated current color value (Foran, col 5. 14-18, “compares new pixel data to old pixel data stored in a memory, updates old pixel data as necessary on a pixel-by-pixel basis with new pixel data, and writes the updated pixel data into the memory”).
Regarding claim 12, Berghoff discloses values for each of the plurality of pixels is stored in a graphics processing unit (GPU) memory (GMEM) or a system memory (Berghoff, [0072], “data may be read from and written to one or more memory units, which are generally denoted in FIG. 5 as graphics memory 520…it is understood that graphics memory 520 refers to any processor accessible memory utilized in the graphics rendering pipeline. A processing unit, such as a specialized GPU, may be configured to perform various operations in the pipeline and read/write to the graphics memory 520 accordingly”).
Berghoff as modified by Foran with the same motivation from claim 1 discloses at least one of the updated current color value or the updated current depth value for each of the plurality of pixels is stored in memory (Foran, col 5. 14-18, “compares new pixel data to old pixel data stored in a memory, updates old pixel data as necessary on a pixel-by-pixel basis with new pixel data, and writes the updated pixel data into the memory”).
Regarding claim 14, Berghoff as modified by Foran with the same motivation from claim 1 discloses the at least one coverage mask is at least one sample coverage mask (Foran, col 4. 6-7, “FIG. 2a illustrates how a 16-bit supersample coverage mask”).
Regarding claim 15, Berghoff as modified by Foran with the same motivation from claim 1 discloses the at least one coverage mask is configured based on a multi-sample anti-aliasing (MSAA) process (Foran, col 3. 62-67, “An additional pixel parameter is the supersample coverage mask, which is based on the size and geometry of a predefined supersample size, and which includes an indication of those supersamples which are covered or uncovered by the particular polygon to be drawn”. In addition, in col 7. 50-51, “FIG. 7 illustrates a preferred embodiment of the multisample, antialiasing process”).
Regarding claim 17, Berghoff discloses a method of graphics processing (Berghoff, [0031], “graphics processing systems and methods”).
The limitations recite in claim 17 are similar in scope to the functions recited in claim 1 and therefore are rejected under the same rationale.
Claims 2-3 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500), as applied to claims 1 and 17, in further view of Gannett (US 6,118,452).
Regarding claim 2, Berghoff discloses each of the plurality of pixels (Berghoff, Fig. 2B); Berghoff as modified by Foran with the same motivation from claim 1 discloses the updated current color value being blended with the previous color value for each of the plurality of pixels (Foran, col 11. 39-43, “the region consisting of the samples included in the subset covered by the new polygon receives a new color value obtained by blending the old color value with the new polygon's color value”);
Berghoff as modified by Foran does not expressly disclose “perform a depth test”;
Gannett discloses perform a depth test prior to blending operation (Gannett, col 15. 33-34, “if the depth test was already performed (block 421)”. In addition, in col 15. 38-46, “At decision block 424, it is determined whether the fragment passed the stencil and depth tests performed at processing blocks 420 and 422. If the fragment did not pass either one of these tests, then the processing performed at blocks 426-430 are not implemented since the fragment is not visible. Otherwise, the fragment is considered to be visible at this point in the graphics pipeline and the remaining steps are performed. At block 426, blending operations are performed as required”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to perform blending operation of Berghoff as modified by Foran after performing the depth test, as taught by Gannett. The motivation for doing so would have been improving accuracy and efficiency of the rendering process.
Regarding claim 3, Berghoff discloses each of the plurality of pixels (Berghoff, Fig. 2B);
Berghoff as modified by Foran and Gannett with the same motivation from claim 2 discloses compare the current depth value and previous depth value (col 9. 37-43, “The depth buffer test performed in operational module 222 uses the depth buffer for hidden-surface elimination. If a new candidate color for a pixel appears, it is drawn only if the corresponding object is closer than the previous object with which the pixel was associated. In this way, after an entire scene has been rendered, all the objects that are not obscured by other items remain”).
Regarding claims 18-19, claims 18-19 recite method steps that are similar in scope to the functions recited in claims 2-3 and therefore are rejected under the same rationale.
Claims 4 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500) in view of Gannett (US 6,118,452), as applied to claims 2 and 18, in further view of Vlachos et al. (US 7,145,564).
Regarding claim 4, Berghoff discloses a graphics processing unit (GPU) (Berghoff, [0072], “A processing unit, such as a specialized GPU, may be configured to perform various operations in the pipeline and read/write to the graphics memory 520 accordingly”);
Berghoff as modified by Foran and Gannett does not expressly disclose “a render backend (RB)”;
Vlachos et al. (hereinafter Vlachos) discloses a render backend (RB) (col 5. 26-31, “the fragments are passed to a render backend block, which blends the fragment data with pixel data already stored for a display frame in a frame buffer such that the contributions of the component primitive to the overall displayed image are included”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the render backend of Vlachos into the GPU, as taught by Berghoff. The motivation for doing so would have been improving rendering performance.
Regarding claim 20, claim 20 recites method step that is similar in scope to the function recited in claim 4 and therefore is rejected under the same rationale.
Claims 5-6 are rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500), as applied to claim 1, in further view of Brennan (US 2007/0070082).
Regarding claim 5, Berghoff discloses each of the plurality of pixels (Berghoff, Fig. 2B);
Berghoff as modified by Foran does not expressly disclose “at least one depth test mask associated with the depth data”;
Brennan discloses at least one depth test mask associated with the depth data for each of a plurality of pixels (Brennan, [0037], “At step 112, the depth block 74 compares the z-value received from the shader 66 with the z-value currently stored in the z-buffer 82 for each sample of that pixel. Whether a given sample of the pixel passes or fails this depth test is indicated in a color sample mask that the depth block 74 sends (step 114) to the color block 78”. The color sample mask is considered depth test mask), wherein the at least one depth test mask is based on the at least one sample for each of the plurality of pixels (Brennan, [0037], “At step 112, the depth block 74 compares the z-value received from the shader 66 with the z-value currently stored in the z-buffer 82 for each sample of that pixel”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the depth test mask of Brennan into the depth samples for the pixels, as taught by Berghoff. The motivation for doing so would have been improving the accuracy and efficiency of the rendering process.
Regarding claim 6, Berghoff as modified by Foran with the same motivation from claim 1 discloses at least one of the current color value or the current depth value for each of the plurality of pixels (Foran, col 11. 39-43, “the region consisting of the samples included in the subset covered by the new polygon receives a new color value obtained by blending the old color value with the new polygon's color value”)
Berghoff as modified by Foran and Brennan with the same motivation from claim 5 discloses merging values further updated based on the at least one depth test mask (Brennan, [0037], “At step 112, the depth block 74 compares the z-value received from the shader 66 with the z-value currently stored in the z-buffer 82 for each sample of that pixel. Whether a given sample of the pixel passes or fails this depth test is indicated in a color sample mask that the depth block 74 sends (step 114) to the color block 78. The color block 78 merges (step 116) the color sample mask with the color sample data currently stored for that pixel in the color buffer 86--in effect, merging multiple layers of transparent objects, if there are more than one that cover the pixel--and computes (step 118) a new aggregate color for the pixel from the samples”).
Claims 7-8 are rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500) in view of Brennan (US 2007/0070082), as applied to claim 5, in further view of Bolz et al. (US 2016/0035129).
Regarding claim 7, Berghoff as modified by Foran with the same motivation from claim 1 discloses the at least one coverage mask (Foran, col 4. 6-7, “FIG. 2a illustrates how a 16-bit supersample coverage mask”);
Berghoff as modified by Foran and Brennan with the same motivation from claim 5 discloses the at least one depth test mask and at least one merged sample mask (Brennan, [0037], “At step 112, the depth block 74 compares the z-value received from the shader 66 with the z-value currently stored in the z-buffer 82 for each sample of that pixel. Whether a given sample of the pixel passes or fails this depth test is indicated in a color sample mask that the depth block 74 sends (step 114) to the color block 78”);
Berghoff as modified by Foran and Brennan does not expressly disclose “based on a combination of the at least one coverage mask and the at least one depth test mask”;
Bolz et al. (hereinafter Bolz) discloses a merged operation based on a combination of coverage information and sample mask (Bolz, [0031], “the coverage information may be modified to indicate the fragment is fully covered (i.e., all bits of the coverage information are set to 1), and a bitwise AND operation is used to blend the modified coverage information with the sample mask”)
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to merge sample mask of Berghoff as modified by Foran and Brennan using the concept of blending operation, as taught by Bolz. The motivation for doing so would have been improving rendering efficiency.
Regarding claim 8, Berghoff discloses each of the plurality of pixels (Berghoff, Fig. 2B); Berghoff as modified by Foran with the same motivation from claim 1 discloses at least one of the current color value or the current depth value (Foran, col 11. 44-47, “the mask 80 bits are set such that a "0" indicates that the corresponding sample is represented by the old color value while a "1" indicates that the sample is represented by the new color value”);
Berghoff as modified by Foran and Brennan with the same motivation from claim 5 discloses values further updated based on the at least one merged sample mask (Brennan, [0037], “The color block 78 merges (step 116) the color sample mask with the color sample data currently stored for that pixel in the color buffer 86--in effect, merging multiple layers of transparent objects, if there are more than one that cover the pixel--and computes (step 118) a new aggregate color for the pixel from the samples”).
Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500), as applied to claim 11, in further view of Fowler et al. (US 6,720,964).
Regarding claim 13, Berghoff discloses each of the plurality of pixels (Berghoff, Fig. 2B);
Berghoff as modified by Foran with the same motivation from claim 1 discloses generate at least one of the updated current color value or the updated current depth value (Foran, col 11. 39-43, “the region consisting of the samples included in the subset covered by the new polygon receives a new color value obtained by blending the old color value with the new polygon's color value”);
Berghoff as modified by Foran does not expressly disclose “prior to storing”;
Fowler et al. (hereinafter Fowler) discloses perform blending operation prior to storing (Fowler, col 7. 43-48, “The blending operations performed by the render backend block 28 are well known in the art, and the resulting pixel information produced by the backend block 28 is stored back in the color buffer 30 and the Z buffer 40 (possibly via the cache 32)”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to apply the blending before storage operation of Fowler to the rendering process of Berghoff as modified by Foran. The motivation for doing so would have been improving rendering efficiency.
Claim 16 is rejected under 35 U.S.C. 103 as being unpatentable over Berghoff (US 2021/0104088) in view of Foran et al. (US 6,072,500), as applied to claim 1, in view of Nevraev et al. (US 2020/0134913) in further view of Cantin (US 2008/0211818).
Regarding claim 16, Berghoff teaches a graphics processing unit (GPU) (Berghoff, [0072], “A processing unit, such as a specialized GPU”);
Berghoff as modified by Foran does not expressly disclose “a shader processor in the GPU”;
Nevraev et al. (hereinafter Nevraev) discloses a shader processor in a graphics processing unit (GPU) (Nevraev, [0038], “a plurality of graphics shader processors 68 for processing vertex, surface, pixel, and other data for GPU 12”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to implement the shader processor of Nevraev into the GPU, as taught by Berghoff. The motivation for doing so would have been improving rendering efficiency.
Berghoff as modified by Foran and Nevrae does not expressly disclose “at least one of an antenna or a transceiver coupled to the at least one processor”;
Cantin discloses at least one of an antenna or a transceiver coupled to at least one processor (Cantin, [0026], “a wireless transmitter 130. The graphics processing unit 120 receives data on lines 112 and provides data out on lines 114. Typically, these connections are to a central processing or other computing system or subsystem. The wireless transmitter 130 transmits signals over antenna 140 through wireless channel 190 to antenna 180”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to incorporate antenna of Cantin into the graphics processing system, as taught by Berghoff. The motivation for doing so would have been facilitating wireless communication of graphics related data with external devices.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KYLE ZHAI whose telephone number is (571)270-3740. The examiner can normally be reached 9AM-5PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ke Xiao can be reached at (571) 272 - 7776. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/KYLE ZHAI/ Primary Examiner, Art Unit 2611