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 .
Information Disclosure Statement
The information disclosure statements (IDS) were submitted on 7/30/2024 and 5/22/2024. The submissions are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: “first node”, “second node”, and “master node” in claim 15.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
Regarding claim 15, “first node”, “second node”, and “master node” are described at ¶0100 as “rendering apparatuses” which Examiner interprets as ordinary computer parts capable of rendering such as processors/cores/threads.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
Positive Statement Regarding - 35 USC § 101
The Examiner’s 35 U.S.C. 101 analysis recognizes that the claimed subject matter is directed to a practical application of a technical solution. The claimed elements, taken as a whole, improve the functioning of volumetric rendering by reducing the amount of data need to be stored in memory, see ¶0074. Because the claims recite specific, claimed steps and structural elements that produce a tangible technical result, they are not directed to an abstract idea absent additional inventive concept limitations. Accordingly, the record supports a positive 101 determination for the present claims.
Claim Rejections - 35 USC § 102
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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-5, 7, 11, 13, and 14 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Paladini et al. (US 2016/0343161) (hereafter, “Paladini”) (IDS).
Regarding claim 1, Paladini discloses a computer-implemented method for use in rendering a volumetric dataset representing a volume (¶0021, Efficient methods for the computation of interpolated samples … a parallel processor (e.g., a GPU or multi-core CPU) … maximize cache coherency and improve rendering speed; ¶0029, an exemplary method 100 for Monte Carlo volume rendering), the computer-implemented method comprising: obtaining first volume data representing a first portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks. Examiner considers an arbitrary brick as illustrated in Fig. 2 and 3 as the “first volume data”); obtaining second volume data representing a second portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks. Fig. 2 and 3 illustrate multiple bricks and Examiner considers a second brick chosen from the set to be the “second volume data”), wherein at least some of the second portion of the volume is outside of the first portion of the volume (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), and wherein a second data size per unit volume of the second volume data is lower than a first data size per unit volume of the first volume data (¶0051, at least a portion of the stored volumetric data may be sub-sampled to obtain one or a plurality of lower resolution sub-samples of at least a portion of the stored volumetric data … One or more sub-sampled volumes may have courser resolution as compared to the original volume. Examiner considers a lower resolution to mean “lower data size per unit volume”); and performing a first physically based rendering process on a combination of the first volume data and the second volume data to generate first visual parameter data for rendering the volumetric dataset (Fig. 2, 3; ¶0023, each iteration of conventional Monte Carlo path tracing; ¶0024 As the first ray 206 and the second ray 208 enter the volume, trilinearly interpolated sample values are calculated along each of the rays. Examiner considers Monte Carlo path tracing as a “physically based rendering process”, the sample values as “visual parameter data”, and Fig. 2 and 3 to illustrate the path tracing with multiple blocks).
Regarding claim 2, in which claim 1 is incorporated, Paladini discloses wherein at least one of a second resolution of the second volume data is lower than a first resolution of the first volume data (¶0051, at least a portion of the stored volumetric data may be sub-sampled to obtain one or a plurality of lower resolution sub-samples of at least a portion of the stored volumetric data … One or more sub-sampled volumes may have courser resolution as compared to the original volume. Examiner considers a lower resolution to mean “lower data size per unit volume”. Since the limitation is recited in the alternative, Examiner considers this citation to fully disclose the limitation), or a second volume data precision of the second volume data is lower than a first volume data precision of the first volume data.
Regarding claim 3, in which claim 1 is incorporated, Paladini discloses wherein the first physically based rendering process comprises a path tracing process (¶0023, each iteration of conventional Monte Carlo path tracing).
Regarding claim 4, in which claim 3 is incorporated, Paladini discloses wherein, for a given path traced during the path tracing process (¶0023, each iteration of conventional Monte Carlo path tracing), the path tracing process comprises: performing a sampling process at one or more sampling points along the given path (¶0025, different rays may scatter in quite different random directions), wherein the sampling process includes selecting, at a given sampling point of the one or more sampling points, at least one of the first volume data or the second volume data (¶0024, As the first ray 206 and the second ray 208 enter the volume, trilinearly interpolated sample values are calculated along each of the rays; ¶0026, the volumetric data for first scattered ray 220 and second scattered ray 218 reside in different bricks. Examiner considers computing values of rays scattered to different bricks to indicate “selecting” a volume of data since the volume data is needed to calculate the sample values), and computing, for the given sampling point, a volume value based on the selected at least one of the first volume data or the second volume data (¶0027, to compute interpolated volume samples along a scattered ray).
Regarding claim 5, in which claim 4 is incorporated, Paladini discloses wherein the selecting is based on at least a position of the given sampling point with respect to the volume (¶0026, the volumetric data for first scattered ray 220 and second scattered ray 218 reside in different bricks).
Regarding claim 7, in which claim 4 is incorporated, Paladini discloses wherein the selecting is based on a count of scatter events, for the given path, between a viewpoint of the path tracing process and the given sampling point (¶0063 pseudocode; ¶0025, the first ray 206 scatters in a random downward direction, and the second ray 208 scatters in a random upward direction; ¶0026, the volumetric data for first scattered ray 220 and second scattered ray 218 reside in different bricks. ¶0063 includes pseudocode where the path tracing is dependent on a scatterCount threshold. Therefore, the selection depends on whether that threshold is reached).
Regarding claim 11, in which claim 1 is incorporated, Paladini discloses obtaining second visual parameter data for rendering the volumetric dataset (¶0063 pseudocode, the outColor is computed for each ray from all the rays cast through a pixel and added to the accumulated pixel color. Examiner considers multiple rays per pixel to be inherent to path tracing and the outColor associated with a first and a second ray as the “first” and “second” visual parameters); generating composite visual parameter data from the first visual parameter data and the second visual parameter data (¶0063 pseudocode, The accumulated pixel color is considered the “composite visual parameter”); and using the composite visual parameter data to generate a rendering of the volumetric dataset (¶0063 pseudocode. Examiner considers the assignment of pixel values to represent “rendering”).
Regarding claim 13, Paladini discloses a non-transitory computer-readable storage medium storing a set of machine-readable instructions that, when executed by at least one processor, causes the at least one processor to perform the method according to claim 1 (¶0061, A non-transitory computer-readable storage medium in accordance with the present teachings has stored therein data representing instructions executable by a programmed processor).
Regarding claim 14, in which claim 13 is incorporated, Paladini discloses storing the set of machine-readable instructions (¶0061, A non-transitory computer-readable storage medium in accordance with the present teachings has stored therein data representing instructions executable by a programmed processor); and the at least one processor (¶0061, processor).
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 8-10 and 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Paladini et al. (US 2016/0343161) (hereafter, “Paladini”) (IDS) in view of Dupuis et al. (US 2020/0342653) (hereafter, “Dupuis”) (IDS).
Regarding claim 8, in which claim 3 is incorporated, Paladini discloses [performing a determination process to determine whether a given path], traced during the path tracing process (¶0023, each iteration of conventional Monte Carlo path tracing), [is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path].
However, Paladini fails to explicitly disclose performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path.
Dupuis teaches performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path (¶0078, a threshold applied to skip empty voxels … or voxels for which the RGB channel or the A channel meets a particular criteria (e.g., corresponding to a particular type of tissue); ¶0082, in the case of reaching the last daughter voxel without satisfying the threshold, process 600 can return to 608 to continue performing ray marching. For example, the daughter voxels traversed by the ray may have been empty. Examiner considers skipping rays at empty voxels or proceeding to render with rays at target tissues to indicate determining “whether a path contributes a visual parameter data”).
Both Paladini and Dupuis are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the path contribution determination of Dupuis into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to optimize compute resources, as suggested by Dupuis at ¶0028, account for both computational capabilities of the local computing device and the capacity of the network.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Dupuis.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Dupuis to obtain the invention as specified in claim 8.
Regarding claim 9, Paladini in view of Dupuis discloses the method of claim 8.
However, Paladini fails to explicitly disclose determining whether the given path is to contribute the visual parameter data contribution to the visual parameter data to be stored in association with the given location based on a data size per unit volume of volume data sampled at a given sampling point along the given path.
Dupuis teaches determining whether the given path is to contribute the visual parameter data contribution to the visual parameter data to be stored in association with the given location based on a data size per unit volume of volume data sampled at a given sampling point along the given path (¶0079, If process 600 determines that the current representation is not the highest resolution representation available (“NO” at 618), process 600 can return to 612 to access a next highest resolution representation of the data. Otherwise, if process 600 determines that the current representation is the highest resolution representation available (“YES” at 618), process 600 can move to 620, and can render a pixel based on the most recent voxel that exceeded the threshold at 616. Examiner considers the resolutions at which paths are sampled to be different “data size per unit volume”).
Both Paladini and Dupuis are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the path contribution determination of Dupuis into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to optimize compute resources, as suggested by Dupuis at ¶0028, account for both computational capabilities of the local computing device and the capacity of the network.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Dupuis.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Dupuis to obtain the invention as specified in claim 9.
Regarding claim 10, in which claim 9 is incorporated, Paladini discloses determining an accumulated opacity value along the given path (¶0063. The pseudocode in ¶0063 on page 7 includes a sample opacity and a sum of the sample opacity), wherein the given sampling point along the given path is a sampling point at which the accumulated opacity value along the given path meets an opacity threshold (¶0063 pseudocode, sample opacity > 0), and [wherein the determination process includes determining that the given path is not to contribute the visual parameter data contribution to the visual parameter data to be stored in association with the given location, in response to determining that the data size per unit volume of volume data sampled at the given sampling point is the second data size per unit volume].
However, Paladini fails to explicitly disclose wherein the determination process includes determining that the given path is not to contribute the visual parameter data contribution to the visual parameter data to be stored in association with the given location, in response to determining that the data size per unit volume of volume data sampled at the given sampling point is the second data size per unit volume.
Dupuis teaches wherein the determination process includes determining that the given path is not to contribute the visual parameter data contribution to the visual parameter data to be stored in association with the given location (¶0079, process 600 can return to 612 to access a next highest resolution representation of the data. Examiner considers moving to the next resolution to indicate that the current resolution is not used for rendering), in response to determining that the data size per unit volume of volume data sampled at the given sampling point is the second data size per unit volume (¶0079, If process 600 determines that the current representation is not the highest resolution representation available (“NO” at 618). Examiner considers determining the resolution to be not the highest to teach determining a second data unit size since the second data unit size in the instant application is a lower size).
Both Paladini and Dupuis are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the path contribution determination of Dupuis into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to optimize compute resources, as suggested by Dupuis at ¶0028, account for both computational capabilities of the local computing device and the capacity of the network.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Dupuis.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Dupuis to obtain the invention as specified in claim 10.
Regarding claim 16, in which claim 4 is incorporated, Paladini discloses [performing a determination process to determine whether a given path], traced during the path tracing process (¶0023, each iteration of conventional Monte Carlo path tracing), [is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path].
However, Paladini fails to explicitly disclose performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path.
Dupuis teaches performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path (¶0078, a threshold applied to skip empty voxels … or voxels for which the RGB channel or the A channel meets a particular criteria (e.g., corresponding to a particular type of tissue); ¶0082, in the case of reaching the last daughter voxel without satisfying the threshold, process 600 can return to 608 to continue performing ray marching. For example, the daughter voxels traversed by the ray may have been empty. Examiner considers skipping rays at empty voxels or proceeding to render with rays at target tissues to indicate determining “whether a path contributes a visual parameter data”).
Both Paladini and Dupuis are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the path contribution determination of Dupuis into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to optimize compute resources, as suggested by Dupuis at ¶0028, account for both computational capabilities of the local computing device and the capacity of the network.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Dupuis.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Dupuis to obtain the invention as specified in claim 16.
Regarding claim 17, in which claim 6 is incorporated, Paladini discloses [performing a determination process to determine whether a given path], traced during the path tracing process (¶0023, each iteration of conventional Monte Carlo path tracing), [is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path].
However, Paladini fails to explicitly disclose performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path.
Dupuis teaches performing a determination process to determine whether a given path is to contribute a visual parameter data contribution to visual parameter data to be stored in association with a given location in a viewing surface including a plurality of locations, the given location being associated with the given path (¶0078, a threshold applied to skip empty voxels … or voxels for which the RGB channel or the A channel meets a particular criteria (e.g., corresponding to a particular type of tissue); ¶0082, in the case of reaching the last daughter voxel without satisfying the threshold, process 600 can return to 608 to continue performing ray marching. For example, the daughter voxels traversed by the ray may have been empty. Examiner considers skipping rays at empty voxels or proceeding to render with rays at target tissues to indicate determining “whether a path contributes a visual parameter data”).
Both Paladini and Dupuis are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the path contribution determination of Dupuis into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to optimize compute resources, as suggested by Dupuis at ¶0028, account for both computational capabilities of the local computing device and the capacity of the network.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Dupuis.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Dupuis to obtain the invention as specified in claim 17.
Regarding claim 18, in which claim 17 is incorporated, Paladini discloses obtaining second visual parameter data for rendering the volumetric dataset (¶0063 pseudocode, the outColor is computed for each ray from all the rays cast through a pixel and added to the accumulated pixel color. Examiner considers multiple rays per pixel to be inherent to path tracing and the outColor associated with a first and a second ray as the “first” and “second” visual parameters); generating composite visual parameter data from the first visual parameter data and the second visual parameter data (¶0063 pseudocode, The accumulated pixel color is considered the “composite visual parameter”); and using the composite visual parameter data to generate a rendering of the volumetric dataset (¶0063 pseudocode. Examiner considers the assignment of pixel values to represent “rendering”).
Regarding claim 19, in which claim 4 is incorporated, Paladini discloses obtaining second visual parameter data for rendering the volumetric dataset (¶0063 pseudocode, the outColor is computed for each ray from all the rays cast through a pixel and added to the accumulated pixel color. Examiner considers multiple rays per pixel to be inherent to path tracing and the outColor associated with a first and a second ray as the “first” and “second” visual parameters); generating composite visual parameter data from the first visual parameter data and the second visual parameter data (¶0063 pseudocode, The accumulated pixel color is considered the “composite visual parameter”); and using the composite visual parameter data to generate a rendering of the volumetric dataset (¶0063 pseudocode. Examiner considers the assignment of pixel values to represent “rendering”).
Regarding claim 20, in which claim 6 is incorporated, Paladini discloses obtaining second visual parameter data for rendering the volumetric dataset (¶0063 pseudocode, the outColor is computed for each ray from all the rays cast through a pixel and added to the accumulated pixel color. Examiner considers multiple rays per pixel to be inherent to path tracing and the outColor associated with a first and a second ray as the “first” and “second” visual parameters); generating composite visual parameter data from the first visual parameter data and the second visual parameter data (¶0063 pseudocode, The accumulated pixel color is considered the “composite visual parameter”); and using the composite visual parameter data to generate a rendering of the volumetric dataset (¶0063 pseudocode. Examiner considers the assignment of pixel values to represent “rendering”).
Claims 12 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Paladini et al. (US 2016/0343161) (hereafter, “Paladini”) (IDS) in view of Petkov et al. (US 2016/0350963) (hereafter, “Petkov”).
Regarding claim 12, in which claim 11 is incorporated, Paladini discloses obtaining [third] volume data representing a [third] portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks); obtaining [fourth] volume data representing a [fourth] portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks), wherein at least some of the [fourth] portion of the volume is outside of the first portion of the volume (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), at least some of the [third] portion of the volume is outside of the first portion (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), and a [fourth] data size per unit volume of the [fourth] volume data is lower than a [third] data size per unit volume of the [third] volume data (¶0051, at least a portion of the stored volumetric data may be sub-sampled to obtain one or a plurality of lower resolution sub-samples of at least a portion of the stored volumetric data … One or more sub-sampled volumes may have courser resolution as compared to the original volume. Examiner considers a lower resolution to mean “lower data size per unit volume”); and performing a second physically based rendering process on a combination of the [third] volume data and the [fourth] volume data to generate second visual parameter data for rendering the volumetric dataset (Fig. 2, 3; ¶0023, each iteration of conventional Monte Carlo path tracing; ¶0024 As the first ray 206 and the second ray 208 enter the volume, trilinearly interpolated sample values are calculated along each of the rays; ¶0063 pseudocode, Multiple rays are sampled in parallel in the pseudocode. Examiner considers the sampling for each ray as a separate “process” since the calculations done in parallel would be performed on different GPU/CPU core/threads).
However, Paladini fails to explicitly disclose third and fourth volume data .
Petkov teaches third and fourth volume data (¶0022, Monte-Carlo ray tracing (also referred to a “path tracing”) renders a 3D scene by randomly tracing samples of possible light paths … Repeated sampling of any given pixel will eventually cause the average of the samples to converge … the stochastic nature of the Monte-Carlo ray tracing algorithm. Petkov describes Monte-Carlo ray tracing as a stochastic process sampling many paths per pixel. Examiner considers the description provided by Petkov, in combination with Fig. 2 of Paladini, to illustrate a third and fourth volume. For example, in Fig. 2 of Paladini, multiple different paths (light gray dots/lines) are illustrated. One path goes through the bottom two blocks in the first column while another goes through the middle two blocks of the bottom row. These two paths would yield four different blocks).
Both Paladini and Petkov are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the random paths of Petkov into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to minimize artifacts during user interaction, as suggested by Petkov at ¶0005, distributed rendering with minimal visual artifacts during user interaction.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Petkov.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Petkov to obtain the invention as specified in claim 12.
Regarding claim 15, Paladini discloses a system for rendering a volumetric dataset representing a volume, the system comprising: a first compute node (¶0027, parallel computing processor architectures (e.g., GPUs and multi-core CPUs) wherein scattered rays may be processed simultaneously in parallel by multiple cores; ¶0063 psuedocode, rays are calculated in parallel) configured to obtain first volume data representing a first portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks. Examiner considers an arbitrary brick as illustrated in Fig. 2 and 3 as the “first volume data”), obtain second volume data representing a second portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks. Fig. 2 and 3 illustrate multiple bricks and Examiner considers a second brick chosen from the set to be the “second volume data”), wherein at least some of the second portion of the volume is outside of the first portion of the volume (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), and wherein a second data size per unit volume of the second volume data is lower than a first data size per unit volume of the first volume data (¶0051, at least a portion of the stored volumetric data may be sub-sampled to obtain one or a plurality of lower resolution sub-samples of at least a portion of the stored volumetric data … One or more sub-sampled volumes may have courser resolution as compared to the original volume. Examiner considers a lower resolution to mean “lower data size per unit volume”), and perform a first physically based rendering process on a combination of the first volume data and the second volume data to generate first visual parameter data for rendering the volumetric dataset (Fig. 2, 3; ¶0023, each iteration of conventional Monte Carlo path tracing; ¶0024 As the first ray 206 and the second ray 208 enter the volume, trilinearly interpolated sample values are calculated along each of the rays. Examiner considers Monte Carlo path tracing as a “physically based rendering process”, the sample values as “visual parameter data”, and Fig. 2 and 3 to illustrate the path tracing with multiple blocks); a second compute node (¶0027, parallel computing processor architectures (e.g., GPUs and multi-core CPUs) wherein scattered rays may be processed simultaneously in parallel by multiple cores; ¶0063 psuedocode, rays are calculated in parallel. Examiner considers the core/thread used for casting a different ray than above to bet the “second node”) configured to obtain [third] volume data representing a [third] portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks), obtain [fourth] volume data representing a [fourth] portion of the volume represented by the volumetric dataset (Fig. 2, 3; ¶0026, Volumetric data may be partitioned into voxels, and the voxels may be organized into bricks), wherein at least some of the [fourth] portion of the volume is outside of the first portion of the volume (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), wherein at least some of the [third] portion of the volume is outside of the first portion (Fig. 2, 3. Fig. 2 and 3 illustrate that the bricks are non-overlapping), and wherein a [fourth] data size per unit volume of the [fourth] volume data is lower than a [third] data size per unit volume of the [third] volume data (¶0051, at least a portion of the stored volumetric data may be sub-sampled to obtain one or a plurality of lower resolution sub-samples of at least a portion of the stored volumetric data … One or more sub-sampled volumes may have courser resolution as compared to the original volume. Examiner considers a lower resolution to mean “lower data size per unit volume”), and perform a second physically based rendering process on a combination of the [third] volume data and the [fourth] volume data to generate second visual parameter data for rendering the volumetric dataset (Fig. 2, 3; ¶0023, each iteration of conventional Monte Carlo path tracing; ¶0024 As the first ray 206 and the second ray 208 enter the volume, trilinearly interpolated sample values are calculated along each of the rays; ¶0063 pseudocode, Multiple rays are sampled in parallel in the pseudocode. Examiner considers the sampling for each ray as a separate “process” since the calculations done in parallel would be performed on different GPU/CPU core/threads); and a master compute node (¶0063 pseudocode, The final assignment of pixel colors and updating of the accumulated pixel colors occurs outside of the ray calculation loop. Examiner considers this to indicate a separate processor/core being used in addition to the parallel cores for individual rays) configured to obtain the first visual parameter data from the first compute node, obtain the second visual parameter data from the second compute node (¶0063 pseudocode, updating of the accumulated pixel colors occurs outside of the ray calculation loop. Examiner considers this to indicate a separate processor/core being used in addition to the parallel cores for individual rays), and use the first visual parameter data and the second visual parameter data to generate a rendering of the volumetric dataset (¶0063 pseudocode, The final assignment of pixel colors).
However, Paladini fails to explicitly disclose third and fourth volume data .
Petkov teaches third and fourth volume data (¶0022, Monte-Carlo ray tracing (also referred to a “path tracing”) renders a 3D scene by randomly tracing samples of possible light paths … Repeated sampling of any given pixel will eventually cause the average of the samples to converge … the stochastic nature of the Monte-Carlo ray tracing algorithm. Petkov describes Monte-Carlo ray tracing as a stochastic process sampling many paths per pixel. Examiner considers the description provided by Petkov, in combination with Fig. 2 of Paladini, to illustrate a third and fourth volume. For example, in Fig. 2 of Paladini, multiple different paths (light gray dots/lines) are illustrated. One path goes through the bottom two blocks in the first column while another goes through the middle two blocks of the bottom row. These two paths would yield four different blocks).
Both Paladini and Petkov are analogous to the claimed invention because both are directed towards volumetric rendering. It would have been obvious to a person of ordinary skill before the effective filing date of the claimed invention to incorporate the random paths of Petkov into the path tracing method of Paladini. The suggestion/motivation for doing so would have been to minimize artifacts during user interaction, as suggested by Petkov at ¶0005, distributed rendering with minimal visual artifacts during user interaction.
This method of improving Paladini was within the ordinary ability of one of ordinary skill in the art based on the teachings of Petkov.
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date, to modify Paladini with the teachings of Petkov to obtain the invention as specified in claim 15.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Bitterli et al. (US 2023/0343024) discloses a path tracing method that integrates over multiple different samples (¶0073, the integration problem of the BSDF, described above in conjunction with FIG. 5, can be simplified as follows in order to compute the parameters of position distributions (e.g., the position distributions 608, 612, 616, 620, and 626) for each randomly sampled direction).
Petkov et al. (US 2019/0221027) discloses using path tracing to render medical images (¶0032, The gathered light samples are then accumulated at the pixel locations to produce the image … In medical visualization, the probability functions may be simplified to be a one-dimensional function of the volume intensity at the sampling position).
Qiu et al. (US 2017/0352180) discloses using path tracing and integrating samples to perform rendering (¶0033, samples of possible light paths are randomly traced to ultimately render the volume. For example, in some embodiments, a point within the pixel is randomly selected to shoot a ray onto a surface. Then, a direction is randomly selected to continue on the surface).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to XIAOMAO DING whose telephone number is (571)272-7237. The examiner can normally be reached Mon-Fri 9:00-5:00.
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, Henok Shiferaw can be reached at (571) 272-4637. 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.
/XIAOMAO DING/Examiner, Art Unit 2676
/CHINEYERE WILLS-BURNS/Supervisory Patent Examiner, Art Unit 2673