DETAILED ACTION
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 .
Response to Arguments
Applicant’s arguments filed 5/26/206, with respect to the claims have been fully considered but are moot in view new ground(s) of rejection.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
Claim(s) 1, 2, 4, 10, 11, 13 and 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Akenine-Moller et al. (PGPUB Document No. US 2017/0345206, hereinafter referred to as “Moller”) in view of Bittner et al. (“Coherent Hierarchical Culling: Hardware Occlusion Queries Made Useful” Computer Graphics Forum, 23: 615-624. https://doi.org/10.1111/j.1467-8659.2004.00793.x).
Regarding claim 1, Moller teaches an image rendering method comprising:
Receiving one or more input models (object that is to be rendered such as character model 1302 (Moller: 0120));
Filtering the one or more input models to eliminate data of one or more invisible parts of the one or more input models (Moller creates a “bit mask” that flags occluded areas. The “bit mask” indicates parts where “work” can be skipped (Moller: 0118, Abstract))
based on a plurality of filtering parameters (each bit of the “bit mask” act as a parameter indicating occlusion for a specific tile (Moller: 0137, Abstract))
to obtain one or more filtered input models, (predicated draw calls 1630 act as filtered input models as it is a set of rendering instructions that is modified by the “bit mask” to skip occluded parts (Moller: 0137))
the plurality of filtering parameters being established based on data that have an input model already been eliminated in a rendered image frame (“One embodiment reuses the information learned from the occlusion query when the predicated draw call is processed. In particular, the occlusion query…The bit is set to 1 if the proxy geometry (bounding box in the example in FIG. 13) is fully occluded inside that tile, and 0 otherwise” (Moller: 0125))
And rendering a current image frame based on the one or more filtered input models (the resulting final rendered image frame 1640 (Moller: 0137)).
However, Moller does not expressly teach but Bittner teaches
Inputting the one or more filtering input models to a rendering pipeline (“The ultimate goal of visibility culling techniques is to prevent invisible objects from being sent to the rendering pipeline.” (Bittner: pg.615, 1.Introduction, para 1))
The data of the one or more invisible parts of the one or more input models being not input to the rendering pipeline (“The algorithm performs a traversal of the hierarchy that is terminated either at leaf nodes or nodes that are classified as invisible” (Bittner: pg.618, 4.1 Algorithm Overview, para 5). Further, Bittner makes contrasts to conventional methods by stating that in conventional methods “the geometry still needs to be sent to the GPU, transformed, and coarsely rasterized even if it is later determined invisible” (Bittner: pg.616, 2. Related Work, para 3)).
Therefore, before the effective filing date of the claimed invention, it would have been obvious to one of an ordinary skill in the art to modify the teachings of Moller such as to apply the above teachings of Bittner, because enables optimizing GPU bandwidth and eliminate processing latencies that are inherent in Moller’s reactive occlusion query system.
Claim(s) 10 is a corresponding computer readable storage medium claim(s) of claim(s) 1. The limitations of claim(s) 10 are substantially similar to the limitations of claim(s) 1. Therefore, it has been analyzed and rejected substantially similar to claim(s) 10. Note, the combined teachings teach a computer readable storage medium (Moller: 0139).
Regarding claim 11, the combined teachings teach the image rendering device of claim 10, wherein a method for establishing the filtering parameters includes:
Establishing initial filtering parameters corresponding to the input model (the bitmask is initialized so that each bit indicates whether the proxy is fully occluded in that tile (Moller: 0118));
Filtering the input model using the initial filtering parameters, and using the filtered input model for image rendering (The bitmask is used later, when rendering the detailed geometry (i.e., the contained draw call), to efficiently remove work in tiles where we know the detailed geometry will be fully occluded (Moller: 0118));
And updating the corresponding filtering parameters based on the data of the input model that has already been eliminated during the image rendering process (the occlusion query comprises of the step of the HiZ-test updating the OQ mask buffer and OQ mask register based on whether a tile is occluded or not (Moller: 0132, FIG.14)),
and performing image rendering on a subsequent image frame based on the updated filtering parameters (predicated draw calls 1630 which generate the final rendered image frames 1640, use the information from the bitmask 1615 to ignore tiles which are fully occluded (Moller: 0137)).
Regarding claim 13, the combined teachings teach the image rendering device of claim 11, wherein updating the corresponding filtering parameters based on the data of the input model that has already been eliminated during the image rendering process includes:
Updating the corresponding filtering parameters using the data of the input module that has already been eliminated during one of more first processes (in FIG. 14, in response to an occlusion query at 1400, each tile overlapping the proxy geometry is selected at 1401 and an HiZ test is performed using the tile at 1402. Results of the HiZ test 1402 are stored in the occlusion query (0Q) mask buffer at 1404. For example, if the tile is fully occluded, then a 1 will be stored for that tile within the OQ mask buffer 1404. In contrast, if the tile is partially occluded or not occluded, then a 0 will be stored within the OQ mask buffer. In addition, at 1403, an OQ register may be updated as well (Moller: 0132)),
The one or more first process including one or more of a backface culling process, a frustum culling process, and a rasterization culling process (the culling of Moller pertains to the rasterization process (Moller: FIG.15, FIG.16, 0134)).
Claim(s) 2 and 4 are corresponding method claim(s) of claim(s) 11 and 13. The limitations of claim(s) 2 and 4 are substantially similar to the limitations of claim(s) 11 and 13. Therefore, it has been analyzed and rejected substantially similar to claim(s) 2 and 4.
Regarding claim 19, the combined teachings teach an image rendering method comprising:
Receiving one or more input models (object that is to be rendered such as character model 1302 (Moller: 0120));
Filtering the one or more input models to obtain one or more filtered input models (Moller creates a “bit mask” that flags occluded areas. The “bit mask” indicates parts where “work” can be skipped (Moller: 0118, Abstract)), a plurality of filtering parameters (each bit of the “bit mask” act as a parameter indicating occlusion for a specific tile (Moller: 0137, Abstract)) used in the filtering being established based on data that have an input model already been eliminated in a rendered image frame (“One embodiment reuses the information learned from the occlusion query when the predicated draw call is processed. In particular, the occlusion query…The bit is set to 1 if the proxy geometry (bounding box in the example in FIG. 13) is fully occluded inside that tile, and 0 otherwise” (Moller: 0125));
And rendering a current image frame based on the one or more filtered input models (“generate the final rendered image frames 1640, use the information from the bitmask 1615 to ignore tiles which are fully occluded” (Moller: 0137));
Wherein the plurality of filtering parameters includes:
A first filtering parameter configured to filter part of data of an input model of the one or more input models (Moller uses a mask that works on small tiles/parts of the model, which allows hiding only specific portions that are occluded (Moller: 0122));
And a second filtering parameter configured to filter the input model as a whole (Moller also uses a bound box that corresponds to an object. If the box is hidden, the entire model is culled (Moller: 0122)).
Claim(s) 3 and 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over Moller in view of Bittner as applied to the claim(s) above, and further in view of Voorhies (US Patent No. 7995056).
Regarding claim 12, Moller teaches the image rendering device of claim 11, wherein updating the corresponding filtering parameters based on the data of the input model that has already been eliminated during the image rendering process includes:
Updating the corresponding filtering parameters when the data of the input model that has been eliminated in the current image frame meets a threshold condition (“Results of the HiZ test 1402 are stored in the occlusion query (OQ) mask buffer at 1404. For example, if the tile is fully occluded, then a 1 will be stored for that tile within the OQ mask buffer 1404. In contrast, if the tile is partially occluded or not occluded, then a 0 will be stored within the OQ mask buffer. In addition, at 1403, an OQ register may be updated as well” (Moller: 0132)).
However, Moller does not expressly teach but Voorhies teaches the threshold condition being related to a probability of the data being eliminated in the subsequent image frame after the current image frame (The occlusion assessment metric provides an indication of the probability that an image is "occluded" by the culling data and a pixel associated with the image can be eliminated early in a pipeline (Voorhies: col.3, line 62 – 66)).
Therefore, before the effective filing date of the claimed invention, it would have been obvious to one of an ordinary skill in the art to modify the teachings of Moller such as to implement the assessment metric of Voorhies, because this enables added efficiency by implementing a probabilistic metric over the binary occlusion of Moller.
Claim 3 is similar in scope to claim 12. Therefore, the rejection to claim 3 similarly apples to claim 3.
Allowable Subject Matter
Claim 20 is allowed. Claims 5-9 and 14-18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to David H Chu whose telephone number is (571)272-8079. The examiner can normally be reached M-F: 9:30 - 1:30pm, 3:30-8:30pm.
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, Daniel F Hajnik can be reached at (571) 272-7642. 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.
/DAVID H CHU/Primary Examiner, Art Unit 2616