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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 5/27/2026 has been entered.
Claim Objections
Applicant is advised that should claim 6 be found allowable, claim 26 will be objected to under 37 CFR 1.75 as being a substantial duplicate thereof. When two claims in an application are duplicates or else are so close in content that they both cover the same thing, despite a slight difference in wording, it is proper after allowing one claim to object to the other as being a substantial duplicate of the allowed claim. See MPEP § 608.01(m).
Here, claim 26 is dependent on claim 5 and recites the same limitations as claim 6 which is also dependent on claim 5. Note that based on the presented ordering of the claims it appears likely that claim 26 should be dependent on claim 25.
The numbering of claims is not in accordance with 37 CFR 1.126 which requires the original numbering of the claims to be preserved throughout the prosecution. When claims are canceled, the remaining claims must not be renumbered. When new claims are presented, they must be numbered consecutively beginning with the number next following the highest numbered claims previously presented (whether entered or not).
Here it can be seen that new claims have been presented but they are not numbered consecutively as claim 22 is followed by claim 24 and there is no claim 23. Note that this affects each claim following claim 22 which must be shifted down 1 with respect to their claims with claim 24 being claim 23, and claim 25 being claim 24. Further note that this means that claims 27-28, which would be renumbered to claims 26-27, are dependent on renumbered claim 24. Likewise as claim 29 becomes claim 28, its renumbered dependent claims are dependent on renumbered claim 28, with claim 33 being renumbered to claim 32 and dependent on renumbered claim 31. Note that here it should be understood that there is no pending claim 33, as it has been renumbered to claim 32 and thus no additional claim has been cancelled, the claims are simply being considered as a consecutively numbered sequence with the same content and dependencies as presented in the wrongly numbered new claims.
Misnumbered claims have been renumbered as explained above.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 5 recites the limitation “determining locations of nonzero coefficients, including the location of the zero coefficient” in lines 2-3. There is insufficient antecedent basis for this limitation in the claim. The claim does not previously recite any “zero coefficient” nor any “location of the zero coefficient” such that it is not clear whether the claim refers to unrecited subject matter or whether such zero coefficient is meant to inherently be present. Additionally the claim is recited as if there are “locations of nonzero coefficients, including the location of the zero coefficient” such that it is not clear whether nonzero coefficients as recited are meant to somehow inherently include a location of zero coefficients or whether this is meant to recite something akin to determining locations of nonzero coefficients and also determining locations of a zero coefficient or whether zero coefficient is intended to refer somehow to a last non-zero coefficient in some unstated relationship or definition. This also makes it unclear which coefficient location is used in the subsequently recited determined zerotree. In the interest of compact prosecution the Examiner will interpret the limitation as if it recites “determining locations of nonzero coefficients and a location of a zero coefficient, signaled…” which would render the claim definite.
Note that claims 25 and 32 are rejected for the same reasons as they contain the same indefinite language as claim 5 explained above. Said claims will be interpreted similarly to claim 5 as explained above. Note that claim 25 now corresponds to renumbered claim 24 and claim 32 corresponds to renumbered claim 31.
Note that claims 6-8 are rejected for carrying through the indefinite claim language. Likewise, renumbered claims 25-27, and 32 are dependent on one of claim 5 or renumbered claims 24 or 31, and thus they contain the same indefinite claim language as their respective parent claims. Thus they are rejected as well for carrying through such indefinite claim language.
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.
Claim(s) 1-2, 4, 21-23, and 28-30 (as renumbered as explained above) is/are rejected under 35 U.S.C. 103 as being unpatentable over Kim et al1 (“Kim”) in view of Joshi et al2 (“Joshi”).
Regarding claim 1, Kim teaches a method for video decoding, the method performed by at least one processor and comprising (note that the method for decoding performed by the processor is addressed by addressed the steps of the method leading to the “decoding the mesh” where such decoding is interpreted as relating to video in any manner; see Kim, paragraphs 0207-0217 describing “computer system 1600 that may implement an encoder or decoder or any other ones of the components described herein, (e.g., any of the components described above with reference to FIGS. 1-15 )” and “computer system 1600 includes one or more processors 1610 coupled to a system memory 1620 via an input/output (I/O) interface 1630. Computer system 1600 further includes a network interface 1640 coupled to I/O interface 1630, and one or more input/output devices 1650, such as cursor control device 1660, keyboard 1670, and display(s) 1680” such that here the video decoding addressed below is performed by at least one processor of a computer system and note for example it should be clear that Kim is directed to video encoding and as in paragraph 0052 the “decoding a three-dimensional mesh” is in reference to information in “a video sub-bitstream” and of course the decoding is in an application with a title directed to “Video-based Mesh Coding”):
obtaining, based on data from a bitstream of three-dimensional (3D) volumetric data, a mesh, the mesh comprising a frame of a sequence corresponding to the 3D volumetric data, the frame comprising a plurality of vertices of the mesh, (see Kim, paragraphs 0031-0039 and figures 1 and 3 teaching “an encoder may be used to generate compressed volumetric content to reduce costs and time associated with storing and transmitting large volumetric content files” and “a static or dynamic mesh that is to be compressed and/or encoded may include a set of 3D Meshes M(0), M(1), M(2), . . . , M(n). Each mesh M(i) may be defined by a connectivity information C(i), a geometry information G(i), texture coordinates T(i) and texture connectivity CT(i). For each mesh M(i), one or multiple 2D images A(i, 0), A(i, 1) . . . , A(i, D−1) describing the textures or attributes associated with the mesh may be included” and “mesh that could be either static or dynamic is received at pre-processing 302” such that this is an obtained mesh comprising a frame of a sequence being encoded into a bitstream and corresponds to 3D volumetric data and the frame of data comprises a plurality of vertices of the mesh as “a static or dynamic mesh that is to be compressed and/or encoded may include a set of 3D Meshes M(0), M(1), M(2), . . . , M(n). Each mesh M(i) may be defined by a connectivity information C(i), a geometry information G(i), texture coordinates T(i) and texture connectivity CT(i)” or note that the obtained mesh might correspond to the “base mesh” obtained from the static/dynamic mesh where “pre-processing module 302 separates the static/dynamic mesh M(i) into a base mesh m(i) and displacements d(i). Where the displacements represent how vertices are to be displaced to re-create the original static/dynamic mesh from the base mesh. For example, in some embodiments, vertices included in the original static/dynamic mesh may be omitted from the base mesh (e.g., the base mesh may be a compressed version of the original static/dynamic mesh). As will be discussed in more detail below, a decoder may predict additional vertices to be added to the base mesh, for example by sub-dividing edges between remaining vertices included in the base mesh. In such an example, the displacements may indicate how the additional vertices are to be displaced, wherein the displacement of the added vertices modifies the base mesh to better represent the original static/dynamic mesh” and in that case the corresponding 3D volumetric data could be considered the base mesh and displacement information which describe the 3D volumetric data being encoded in 3D and in the context of decoding as in the claims then this obtaining of this information may be in its encoded form and then obtained by the decoder as in paragraphs 0051-0061 teaching the decoding and receiving the bit stream and “(DEMUX) 504 parses the bitstream into a base mesh sub-component, a displacement sub-component, and an attribute map sub-component” such that here the base mesh from the input mesh, (that will shown to be a sampled mesh after sampling operations below) is the obtained mesh and it corresponds to 3D volumetric data in the form of the collection of the “base mesh sub-component, a displacement sub-component, and an attribute map sub-component”) the bitstream of the 3D volumetric data signals a location of an index of a last non-zero coefficient (see Kim, paragraphs 0151-0168 teaching “the coefficient data may be bound to a patch, the corresponding coefficients can be signaled in the patch” and “the size of the coefficient data and the set of coefficients can be signaled” and “mdu_coefficient_size is inferred from the size signaled in the reference patch” such that this defines indexed current and reference coefficient sequences in the bitstream when encoding and for decoding and “mdu_coefficient_size is inferred from the size signaled in the reference patch. Then, the coefficient values are signaled” and “When the current coefficient size is bigger than the reference's, the coefficient values of the reference patch are inferred as 0” and “When the coefficient values of the current patch are {right arrow over (C)}={C0, C1, . . . Ck . . . } and the number of the coefficients is Nc, the coefficient values of the reference patch are {right arrow over (R)}={R0, R1, . . . Rk . . . } and the number of coefficients is Nr” and “Ck” is the current coefficient being considered such that according to the definition of “Ck” as described and thus this signals the boundary between coefficients obtained from the reference and subsequent coefficients that will be reconstructed or passed as zero and thus the location of an index of a last non-zero coefficient corresponds to that N-1, as this is the last remaining coefficient that is not designated zero and thus would contain a non-zero coefficient at such location);
generating a sampled mesh by applying 4:2:0 sampling to displacement vectors expressed in a local coordinate system (LCS) comprising normal, tangential and bi-tangential directions (see Kim, paragraphs 0038-0041 where the obtained mesh “static/dynamic mesh M(i)” is sampled through determination of “displacements” which utilize points on the mesh such that these are samples and compare them to a base mesh where “a displacement vector is computed for each vertex of the subdivided mesh such that the shape of the displaced curve approximates the shape of the original curve” of the mesh these displacement samples of the mesh are encoded as explained in paragraphs 0140-0144, teaching “displacement information indicates the spatial difference between the vertices in a target mesh and a predicted mesh, such as may be predicted by sub-dividing a base mesh” and “displacement data can be signaled as is, i.e., as a difference between the target and the predicted meshes” or “can be mathematically transformed. The transformed coefficients can be coded and signaled in a similar manner as described above. The difference data, regardless it is transformed or not, can be signaled using a video sub-bitstream” and where for example a “wavelet transform” may be applied to the displacement data sampled from the mesh and “Each entry…corresponding to the {X,Y,Z} coordinates in the 3D space, can be placed on a different image plane” and “multiple placement considers the following chroma plane scaling for the chroma format change” and “FIG. 13 illustrates three color planes of a video image frame, such as the Y plane, U plane, and V plane, as well as sub-sampling (e.g., a 4:2:0 chroma format), wherein the coefficients (resulting from applying a wavelet transform to the displacements) are signaled, in the respective color planes to signal coefficients for displacement motion in multiple direction, such as X, Y, and Z. For example, a coefficient for X displacement may be signaled in the Y plane, a coefficient for Y displacement may be signaled in the U plane, and a coefficient for Z displacement may be signaled in the V plane” such that here the “4:2:0” sampling is used to encode the displacement data of the sampled mesh meaning that 4:2:0 sampling was used to sample the mesh and further when decoding the data so encoded using the 4:2:0 sampling/encoding this uses 4:2:0 sampling to sample the obtained mesh that is being decoded from its encoded state), and, by applying the 4:2:0 sampling to the displacement vectors, a tangential component and a bi-tangential component of the sampled mesh are both subsampled at half resolution relative to a normal component of the sampled mesh (note that here this is interpreted to be explaining the effect of the applying above and describes the functional result of 4:2:0 sampling);
determining, based on the bitstream of the 3D volumetric data signaling a location of an index of a last non-zero coefficient of a one-dimensional array of the displacement vectors, a coefficient of a displacement vector of the displacement vectors and of at least one vertex of the sampled mesh (see Kim, paragraphs and paragraph 0054 teaching the decoder processing the displacement sub-stream (which, as established above, contains the 4:2:0 sampled data of the mesh) through the decoding pipeline where it determines a coefficient that was determined for the displacement of the vertices analyzed where “a portion of the displacement sub-component of the bit stream is provided to video decoding 508, wherein video encoded image frames are video decoded and provided to image unpacking 510. Image unpacking 510 extracts the packed displacements from the video decoded image frame and provides them to inverse quantization 512 wherein the displacements are inverse quantized. Also, the inverse quantized displacements are provided to inverse wavelet transform 514, which outputs decoded displacements d″(i)” where the coefficients are those determined in paragraph 0046 teaching “wavelet transform 412 which applies a wavelet transformation to further compress the updated displacements d′(i) and outputs wavelet coefficients e(i), which are provided to quantization module 414 which generated quantized wavelet coefficients e′(i). The quantized wavelet coefficients may then be packed into a 2D image frame via image packing module 416, wherein the packed 2D image frame is further video encoded via video encoding 418” and “the displacement values (such as are indicated in the generated quantized wavelet coefficients e′(i) or indicated using other compression schemes) may be encoded at least partially outside of the video sub-bitstream, such as in their own displacement data sub-bitstream, in the base mesh sub-bitstream, or in an atlas data sub-bitstream” such that when decoding , unpacking and inverse-quantizing the displacement video stream coefficients of displacement vectors of vertices of the sampled mesh are determined; further Kim teaches this determining based on the bitstream signaling coefficients in a one-dimensional array of the displacement vectors as in paragraphs 0140-0145 “entries…are placed on the Y plane and the second entries…and the third entries…are placed on the U plane and V plane” and “the values can be placed on one plane consecutively” with “all the first entries” followed by “all the second entries” and so on such that the indexed component sequence corresponds to a one dimensional array where the component and vertex indices identify which displacement and vertex each entry corresponds to; furthermore regarding the determining based on the the index of a last non-zero coefficient of the one-dimensional array of the displacement vectors, the coefficient is determined from the array of displacement vectors as explained above that are signaled in the bitstream as explained with regard to paragraphs 0151-0160 such that a coefficient represents a displacement-vector component associated with a vertex in the mesh and as the boundary between non-zero and zero-designated entries is signaled as explained above then the decoder uses the signal extent to determine whether a coefficient is obtained from the reference or assigned zero such that when the final index is of a non-zero coefficient then the coefficient would be determined based on the index signaling a last non-zero coefficient ); and
decoding the mesh based on the coefficient and the sampled mesh (see Kim, paragraphs 0051-0061 teaching “Intra frame decoder 502 receives a compressed bitstream b(i), such as the compressed bit stream generated by the intra frame encoder 402 shown in FIG. 4” where this is the mesh being decoded and “a portion of the displacement sub-component of the bit stream is provided to video decoding 508, wherein video encoded image frames are video decoded and provided to image unpacking 510. Image unpacking 510 extracts the packed displacements from the video decoded image frame and provides them to inverse quantization 512 wherein the displacements are inverse quantized. Also, the inverse quantized displacements are provided to inverse wavelet transform 514, which outputs decoded displacements d″(i). Reconstructed deformed mesh generator 520 applies the decoded displacements d″(i) to the decoded base mesh m″(i) to generate a decoded static/dynamic mesh M″(i)” where the decoded displacements give the coefficients encoded as above and decoding of the mesh is based on the coefficient and the mesh obtained that was sampled using the 4:2:0 sampling; note paragraphs 0046-0048 teaching that the mesh displacement information is encoded into coefficients as explained above which are used along with the 4:2:0 sampling that encodes these transformed displacements as in paragraph 0144 as explained above).
Kim teaches all of the above but fails to teach specifically that in generating a sampled mesh by applying 4:2:0 sampling that it is specifically applying it to displacement vectors expressed in a local coordinate system (LCS) comprising normal, tangential, and bi-tangential directions and by applying the 4:2:0 sampling to the displacement vectors, a tangential component and a bi-tangential component of the sampled mesh are both subsampled at half resolution relative to a normal component of the sampled mesh. Thus Kim stands as a base device upon which the claimed invention can be seen as an improvement through such specific manner of applying 4:2:0 sampling of such displacement vectors expressed in a local coordinate system such that an amount of data transmitted may be reduced and computational efficiencies may be realized.
In the same field of endeavor relating to video decoding/encoding techniques related to decoding 3D volumetric mesh data in frames of video data, Joshi teaches that it is known to generate a sampled mesh by applying 4:2:0 sampling to displacement vectors expressed in a local coordinate system (LCS) comprising normal, tangential, and bi-tangential directions and by applying the 4:2:0 sampling to the displacement vectors, a tangential component and a bi-tangential component of the sampled mesh are both subsampled at half resolution relative to a normal component of the sampled mesh (see Joshi, paragraphs 0033-0034 teaching “improved techniques for the packing of displacements data in video frames for dynamic mesh coding. Depending on the video format used, this disclosure provides methods for storing the x, y, and z components of the displacement data in video frames so that 4:4:4 video format compatible encoders and decoders are not required and so that encoders and decoders compatible with other, more common, formats such as 4:2:0, 4:2:2, and 4:0:0 video formats can be used. This disclosure further provides techniques involving identifying a video format for the compressed video, and determining a displacement data packing arrangement (such as different schemes to pack the x, y, and z components in different planes of the video frame) based on the identified video format, as well based on other factors” such that here Joshi also addresses issues relating to storing displacement data in 4:4:4 video formats and seeks to reduce the sampling rate and further teaches in paragraph 0066 that “a displacement field 408 is created. Each displacement of the displacement field 408 has three components, denoted by x, y, and z. These may be with respect to a canonical coordinate system or a local coordinate system where x, y, and z represent the displacement in local normal, tangent, and bi-tangent directions” such that here it is taught that it is known to represent the information with respect to a local coordinate system having “local normal, tangent, and bi-tangent” directions and this tangent and bi-tangent displacement mesh information can then be sampled by 4:2:0 sampling to generate the sample mesh as in paragraphs 0065-0105 teaching various examples of the displacement tangent and bi-tangent displacement information being 4:2:0 sampled where “the packing type of x, y, z displacement data in a video frame can be signaled in the bitstream or through external means. As shown in FIGS. 6A and 6B, the packing of the x, y, z, displacement data can depend on a syntax element or variable (e.g., “packing type”) indicating how the displacement data is packed in a video frame. As shown in FIG. 6A, in this example, when the packing type indicates that separate planes are used to store the x, y, and z, components, the x-component of the displacement map is stored in the R plane, the y-component of the displacement map is stored in the G plane, and the z-component of the displacement map is stored in the B plane of a 4:4:4 video frame. It will be understood that the x, y, and z components could be stored in the luma, Cr, and Cb planes, respectively, if the YcrCb color space is used. In general, each video frame can have any suitable format, such as a red-green-blue (RGB) format, or a luma-chroma (YUV or YcrCb) format. Each video frame can also have any suitable resolution” and “when the packing type indicates that the same plane is used to store the x, y, z components, then the x, y, z components are stored in the same plane of the video one after the other, such as a video format other than 4:4:4 format like the 4:2:0 format shown in FIG. 6B. In this example, the x-component of the displacement map is stored in the luma plane, the y-component of the displacement map is stored in luma plane after the x-component, and the z-component of displacement map is stored in luma plane after the y-component” where as explained above these y and z components correspond to the tangent and bi-tangent mesh components such that a sample mesh has been generated by 4:2:0 sampling the mesh in relation to the tangential and bi-tangential components, and the sampling rate is signaled in the bitstream such as through the “packing type” element, and further note paragraph 0099 teaches “the resolution of the x, y, z displacement data stored in a video frame is signaled in the bitstream or through external means. The resolution can be the actual height and width of each of the components or a syntax element that indicates the relative size to full resolution. For instance, let scale_x_h be the relative resolution along the vertical direction of the displacement data stored in a video frames. Let scale_x_w be the relative resolution along the horizontal direction, where 0<=scale_x_h<=1. 0<=scale_x_w<=1. When either of scale_x_h or scale_x_w is zero, the x displacement data is not stored in the video frame. Also, scale_y_h, scale_y_w, scale_z_h, scale_z_w are similar relative resolutions for y and z components, respectively. Some example uses of this include setting scale_x_h=1, scale_x_w=1, scale_y_h=0.5, scale_y_w=0.5, scale_z_h=0.5, scale_z_w=0.5, and setting packing_type=SEPARATE_PLANES to store the displacement data in a 4:2:0 video frame” which also shows 4:2:0 sampling of such components and packs the data such that the tangent and bi-tangent directions are subsampled at half resolution compared to the normal component). Thus Joshi teaches a known technique applicable to the base system of Kim.
Therefore it would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to modify Kim by applying the known technique of Joshi as doing so would be no more than application of a known technique to a base device ready for improvement where the results would be predictable and would result in an improved system. The results would be predictable given that Joshi builds upon the same mesh subdivision encoding framework as Kim and Kim already teaches to encode data using 4:2:0 sampling in the same context, such that as Joshi explains representation in a global or local coordinate system for displacement information is known then all that would be required is representing the displacement information in Kim as is done in Joshi and encoding it as is already done in Kim and Joshi. The predictable result would be that the sampled information would be of the local coordinate system instead of the global coordinate system just as in Joshi. This would result in an improved system as “video encoder and decoders that can operate on 4:4:4 format video are not widely available, especially in hardware, limiting the usefulness of this approach since many devices executing the encoders or decoders are not compatible to even use the 4:4:4 video format. Therefore, there is a need to use different video formats to store the x, y, and z components of the displacement data in video frames and to efficiently and effectively determine how the components should be stored in the video frame and according to the video format” and using Joshi’s technique “provides methods for storing the x, y, and z components of the displacement data in video frames so that 4:4:4 video format compatible encoders and decoders are not required and so that encoders and decoders compatible with other, more common, formats such as 4:2:0, 4:2:2, and 4:0:0 video formats can be used” as suggested by Joshi (see Joshi, paragraphs 0033-0034).
Regarding claim 2, Kim as modified teaches all that is required as applied to claim 1 above and further teaches wherein the 3D volumetric data (see Kim, paragraphs 0031-0041 and figures 1 and 3 teaching “an encoder may be used to generate compressed volumetric content to reduce costs and time associated with storing and transmitting large volumetric content files” and “a static or dynamic mesh that is to be compressed and/or encoded may include a set of 3D Meshes M(0), M(1), M(2), . . . , M(n). Each mesh M(i) may be defined by a connectivity information C(i), a geometry information G(i), texture coordinates T(i) and texture connectivity CT(i). For each mesh M(i), one or multiple 2D images A(i, 0), A(i, 1) . . . , A(i, D−1) describing the textures or attributes associated with the mesh may be included” and “mesh that could be either static or dynamic is received at pre-processing 302” and “a static or dynamic mesh that is to be compressed and/or encoded may include a set of 3D Meshes M(0), M(1), M(2), . . . , M(n). Each mesh M(i) may be defined by a connectivity information C(i), a geometry information G(i), texture coordinates T(i) and texture connectivity CT(i)” and note that the obtained mesh corresponds to the “base mesh” obtained from the static/dynamic mesh where “pre-processing module 302 separates the static/dynamic mesh M(i) into a base mesh m(i) and displacements d(i). Where the displacements represent how vertices are to be displaced to re-create the original static/dynamic mesh from the base mesh. For example, in some embodiments, vertices included in the original static/dynamic mesh may be omitted from the base mesh (e.g., the base mesh may be a compressed version of the original static/dynamic mesh). As will be discussed in more detail below, a decoder may predict additional vertices to be added to the base mesh, for example by sub-dividing edges between remaining vertices included in the base mesh. In such an example, the displacements may indicate how the additional vertices are to be displaced, wherein the displacement of the added vertices modifies the base mesh to better represent the original static/dynamic mesh” and in that case the corresponding 3D volumetric data could be considered the base mesh and displacement information which describe the 3D volumetric data being encoded in 3D and in the context of decoding as in the claims then this obtaining of this information may be in its encoded form and then obtained by the decoder as in paragraphs 0051-0061 teaching the decoding and receiving the bit stream and “(DEMUX) 504 parses the bitstream into a base mesh sub-component, a displacement sub-component, and an attribute map sub-component” such that here the base mesh from the input mesh, (that will shown to be a sampled mesh after sampling operations below) is the obtained mesh and it corresponds to 3D volumetric data in the form of the collection of the “base mesh sub-component, a displacement sub-component, and an attribute map sub-component” such that here the 3D volumetric data should be understood as the 3D volumetric data that is sent to the decoder and as above this includes the “base mesh m(i) and displacements d(i)” and whatever data represents such information) comprises coefficients, including the coefficient, of displacement vectors, including the displacement vector (see Kim, paragraphs 0031-0041 and figures 1 and 3 teaching as above the 3D volumetric data is the data passed to the decoder and when passed to the decoder it comprises coefficients, including the coefficient of displacement vectors, including the displacement vector where “a displacement vector is computed for each vertex of the subdivided mesh such that the shape of the displaced curve approximates the shape of the original curve” and when it is encoded before being passed to the decoder, coefficients are determined for the displacement information as transformed wavelet coefficients as in paragraphs 0046-0048 teaching “displacement update module 410 compares the reconstructed quantized base mesh m′(i) (that the decoder will see) to the base mesh m(i) and adjusts the displacements d(i) to account for differences between the base mesh m(i) and the reconstructed quantized base mesh m′(i). These updated displacements d′(i) are provided to wavelet transform 412 which applies a wavelet transformation to further compress the updated displacements d′(i) and outputs wavelet coefficients e(i), which are provided to quantization module 414 which generated quantized wavelet coefficients e′(i). The quantized wavelet coefficients may then be packed into a 2D image frame via image packing module 416, wherein the packed 2D image frame is further video encoded via video encoding 418” such that coefficients of displacement vectors and the information describing the displacement vectors is sent as part of the 3D volumetric data to the decoder), and
wherein the coefficients are quantized and ordered from a lower level of detail (LOD) to a higher LOD (see Kim, paragraph 0044-0046 as above teaching “allowing for spatial/quality scalability, the subdivision structure enables efficient wavelet decomposition” and “updated displacements d′(i) are provided to wavelet transform 412 which applies a wavelet transformation to further compress the updated displacements d′(i)” where one of ordinary skill in the art recognizes that the wavelet transformation itself creates coefficients ordered from a lower level of detail to a higher level of detail as this separation of data corresponding to coarse and detailed data is the purpose of such wavelet transforms; and see also paragraph 0199 and the corresponding table teaching “lod” used in the “LINEAR LIFTING” wavelet transformation where such linear lifting functions rely on ordering data according to base and progressively detailed versions of the data being transformed, here the coefficients, and the coefficients are quantized as taught where “outputs wavelet coefficients e(i), which are provided to quantization module 414 which generated quantized wavelet coefficients e′(i)”).
Regarding claim 4, Kim as modified teaches all that is required as applied to claim 1 above and further teaches wherein decoding the mesh comprises determining whether a tree structure of the 3D volumetric data is formed by loop subdivision (see Kim, paragraphs 0040-0046 teaching a tree structure is created when the encoder creates a “subdivided” curve or mesh of multiple levels corresponding to the number of subdivisions and thus creates a parent-child or tree structure where subdivisions are mapped to higher points on a tree from which their subdivision is based with the structure based on the type of subdivision and this tree structure is considered to be formed by loop subdivision as a programming loop is utilized to iterate through the subdivision as where “A subdivision scheme, such as those described herein, may then be applied to the decimated polyline to generate a “subdivided” curve. For instance, a subdivision scheme using an iterative interpolation scheme may be applied. The subdivision scheme may include inserting at each iteration a new point in the middle of each edge of the polyline” and this subdivision scheme is determined when it is applied and is passed to the decoder where “subdivided curve is automatically generated by the decoder once the base/decimated curve is decoded (e.g., no need to signal or hardcode at the decoder any information other than the subdivision scheme type and subdivision iteration count)”).
Regarding claims 21-23 (claim 24 being renumbered to claim 23), the instant claims are directed to a “method for video encoding, the method performed by at least one processor and comprising” the same functions as steps of the method for video decoding as in claims 1-2, and 4, respectively but differs in that the preamble recites that the method is for video encoding in some way and the final step is not “decoding” but “encoding the mesh” based on the calculated information to essentially provide data of the form that is decoded as in claims 1-2, and 4. Claims 1-2 and 4, while recited in a method for decoding, nonetheless also describing encoding being performed such that the method for encoding as in claim 21 does not functionally differ in those respects. Kim as modified has already been shown to teach not only the decoding of the base mesh and associated data but also has been explained and shown to teach encoding of the base mesh such that the encoded data is what is provided to be decoded as already addressed in the rejections of claims 1,2 and 4 above. Furthermore the rejection of claim 1 already addressed and provides the teachings of the encoding of the final claim limitation as Kim as modified teaches the decoding through teaching how such data is encoded and then decoded with Kim specifically teaching in paragraph 0048 that for example “video encoding 418 may further perform video decoding (or a complimentary video-decoding module may be used (which is not shown in FIG. 4 )). This produces reconstructed packed quantized wavelet coefficients that are unpacked via image unpacking module 420. Furthermore, inverse quantization may be applied via inverse quantization module 422 and inverse wavelet transform 424 may be applied to generate reconstructed displacements d″(i). In some embodiments, other decoding techniques may be used to generate reconstructed displacements d″(i), such as decoding displacements signaled in atlas data sub-bitstream, a displacement data sub-bitstream, or the base mesh-sub-bitstream. Also, the reconstructed quantized base mesh m′(i) that was generated by static mesh decoder 408 may be inverse quantized via inverse quantization module 428 to generate reconstructed base mesh m″(i). The reconstructed deformed mesh generation module 426 applies the reconstructed displacements d″(i) to the reconstructed base mesh m″(i) to generate reconstructed deformed mesh DM(i)” and as in paragraph 0052, “Intra frame decoder 502 receives a compressed bitstream b(i), such as the compressed bit stream generated by the intra frame encoder 402 shown in FIG. 4 . Demultiplexer (DEMUX) 504 parses the bitstream into a base mesh sub-component, a displacement sub-component, and an attribute map sub-component. In some embodiments, the displacement sub-component may be signaled in a displacement data sub-bitstream or may be at least partially signaled in other sub-bitstreams, such as an atlas data sub-bitstream, a base mesh sub-bitstream, or a video sub-bitstream. In such a case, displacement decoder 522 decodes the displacement sub-bitstream and/or atlas decoder 524 decodes the atlas sub-bitstream” and “Image unpacking 510 extracts the packed displacements from the video decoded image frame and provides them to inverse quantization 512 wherein the displacements are inverse quantized. Also, the inverse quantized displacements are provided to inverse wavelet transform 514, which outputs decoded displacements d″(i). Reconstructed deformed mesh generator 520 applies the decoded displacements d″(i) to the decoded base mesh m″(i) to generate a decoded static/dynamic mesh M″(i). The decoded displacement may come from any combination of the video sub-bitstream, the atlas data sub-bitstream, the base-mesh sub-bitstream and/or a displacement data sub-bitstream”. Thus it is clearly established that the encoding and decoding operations correspond with the encoding operation generating the data that is decoded. Thus, applying Joshi’s sampling technique to Kim’s encoding path produces the sampled mesh representation and corresponding bitstream used by the decoder/reconstruction path such that Kim as modified by Joshi teaches the encoder embodiment of claims 21-23. Therefore the encoding embodiment of claims 21-23 are addressed by the same combination and teachings as applied to claims 1,2 and 4 above.
Regarding claims 28-30 (renumbered from claims 29-31), the instant claims are directed toward an apparatus in the form of a non-transitory computer readable medium storing a program causing a computer to perform the same functions as addressed in claim 21 above, with respect to the rejection of claim 1 as explained above. Additionally, the method trivially provides a post-solution activity of “transmitting the bitstream” where this is considered trivial as a bitstream is specifically designed to be data meant for transmitting. Kim as modified teaches all of such functions as explained above and as performed by an equivalent apparatus to that claimed (see Kim, paragraphs 0207-0217 describing “computer system 1600 that may implement an encoder or decoder or any other ones of the components described herein, (e.g., any of the components described above with reference to FIGS. 1-15 )” and “computer system 1600 includes one or more processors 1610 coupled to a system memory 1620 via an input/output (I/O) interface 1630. Computer system 1600 further includes a network interface 1640 coupled to I/O interface 1630, and one or more input/output devices 1650, such as cursor control device 1660, keyboard 1670, and display(s) 1680” and “memory 1620 may include program instructions 1622, which may be processor-executable to implement any element or action described above”) Kim further teaches specifically transmitting the bitstream (see Kim, paragraph 0032 teaching “a system may include an encoder that compresses attribute and/or spatial information of volumetric content such that the volumetric content file may be stored and transmitted more quickly than non-compressed volumetric content and in a manner that the volumetric content file may occupy less storage space than non-compressed volumetric content” and paragraphs 0048-0052 and figures 4 and 5 showing “intraframe encoder” and “intra frame decoder” where the encoder generates a compressed bitstream which is received by the decoder such that the bitstream is transmitted where “Intra frame decoder 502 receives a compressed bitstream b(i), such as the compressed bit stream generated by the intra frame encoder 402 shown in FIG. 4” ). In light of this, the limitations of claim 28-30 correspond to the limitations of claims 21-23 and likewise claims 1-2, and 4 as explained above; thus this encoding embodiment as a non-transitory CRM with a transmission requirement is addressed by the same combination of Kim and Joshi applied above in claims 1, 2 and 4 and with respect to claims 21-23; thus it is rejected on the same grounds above as supplemented by the disclosure of transmission as explained above.
Claim(s) 5, 24 (renumbered from claim 25 as explained above), and 31 (renumbered from claim 32 as explained above) is/are rejected under 35 U.S.C. 103 as being unpatentable over Kim as modified as applied to claims 1 and 11 above and further in view of Khodakovsky et al3 (“Khodakovsky”).
Regarding claim 5, as rendered definite as explained above, Kim teaches all that is required as applied to claim 1 above and further teaches wherein decoding the mesh comprises determining locations of nonzero coefficients signaled with the 3D volumetric data (note that the limitations do not specifically refer back to nor modify the operations in the parent claims and any decoding of the mesh that uses such determining is within the scope of the claim, and furthermore the “determining a last position…” is extremely broad as not only is whatever data which this is determined for not defined, but exactly what position of which data is not defined nor when such determining takes place, and thus if at any point in decoding the mesh a last position of non-zero coefficients signaled with the 3D volumetric data is determined than the claim language is met; further note that the claim does nothing with this determination and does not say what is done in response to such determining; see Kim, paragraphs 0151-0177 teaching “the coefficient data may be bound to a patch, the corresponding coefficients can be signaled in the patch” and “at the end of the patch data for V-DMC, within the structures mesh_intra_data_unit, mesh_inter_data_unit and mesh_merge_data_unit, the size of the coefficient data and the set of coefficients can be signaled” such that signaling of the size of the coefficient data and the set of coefficients signaled determines a last position of non-zero coefficients to be signaled as this size of the coefficients to be considered means that the system knows the boundary of reading the end of the non-zero coefficients and reads the coefficients until the last non-zero coefficient encoded is determined which is a last position). However, Kim fails to specifically teach determining locations of nonzero coefficients, and a location of a zero coefficient” and “determining a zerotree of the 3D volumetric data based on the location of the zero coefficient signaled with the 3D volumetric data. Thus Kim stands as a base device upon which the claimed invention can be seen as an improvement to compression efficiency obtained through determining a zerotree of the 3D volumetric data based on a location of a zero coefficient signaled.
In the same field of endeavor relating to wavelet encoding of vertex data into wavelet coefficients that may comprise coefficients with zero and non-zero coefficients which are then further encoded (see Khodakovsky, section 1.1 teaching “well known from image coding that wavelet representations are very effective in decorrelating the original data…greatly facilitating entropy encoding” where “coarser level data provides excellent predictors for finer level data, leaving only generally small prediction residuals for the coding step” and “Some of the best wavelet based progressive coders are based on zerotrees” where a “zerotree coder encodes the location of coefficients below threshold in subtrees” and see paragraphs sections 3.2-3.4 as further explained below detailing the wavelet compression and zerotree coding), Khodakovsky teaches that it is known to determine a zerotree of 3D volumetric data based on a location of a zero coefficient signaled with the 3D volumetric data (see Khodakovsky, section 1.1 as explained above teaching zerotree coding is well known and see sections 3.2-3.4 teaching the “wavelet transform” results in “vector valued coefficients” relating the coarse and fine level hierarchical mesh data and “A basic operation in a scalar zerotree coder is the coefficient significance test, i.e., checking its magnitude against a threshold. If it is below, the coefficient is added to a zerotree” and for the “zerotree coding” “we settled on scalar quantization” where the “decay properties of wavelet coefficients make their hierarchical tree organization the natural set structure” and note for example that section 3.5 teaches that the zerotree coding results in “For early bitplanes most coefficients are insignificant resulting in mostly zero bits. For later bitplanes many coefficients become significant, resulting in mostly one bits”). Thus Khodakovsky teaches a known technique applicable to the base system of Kim through teaching of zerotree coding of hierarchical wavelet data.
Therefore it would have been obvious for one of ordinary skill in the art before the effective filing date of the invention to modify Kim by applying the known technique of Khodakovsky, as doing so would be no more than application of a known technique to a base system ready for improvement that would yield predictable results and result in an improved system. The results of applying Khodakovsky would predictably be that Kim’s already produced hierarchical tree of wavelet coefficients from mesh geometry ready for compression would have applied the zerotree coding which would determine zerotrees of the Kim data based on the location of zero coefficients signaled in the 3D volumetric data. This would result in an improved system as Kim’s data which is now zerotree coded obtains the suggested compression improvements of zerotree coding and one of ordinary skill in the art would be motivated to adopt the zerotree coding as it is suggested “[s]ome of the best wavelet based progressive coders are based on zerotrees”(see Khodakovsky, section 1.1).
Regarding claim 24 (renumbered from claim 25 as explained above), the instant claim is directed toward an apparatus as explained in the rejection of parent claim 21. Kim as modified teaches all of such functions as explained above and as performed by an equivalent apparatus to that claimed as explained in light of the rejection of parent claim 21 above and the rejection of claim 5 above. In light of this, the limitations of claim 24 correspond to the limitations of claim 5; thus it is rejected on the same grounds as claim 5.
Regarding claim 31 (renumbered from claim 32 as explained above), the instant claim is directed toward an apparatus as explained in the rejection of parent claim 28 (renumbered from claim 29). Kim as modified teaches all of such functions as explained above and as performed by an equivalent apparatus to that claimed as explained in light of the rejection of parent claim 28 above and the rejection of claim 5 above. In light of this, the limitations of claim 28 correspond to the limitations of claim 5; thus it is rejected on the same grounds as claim 5.
Allowable Subject Matter
Claims 6-8, and renumbered claims 25-27 and 32 would be allowable if rewritten to overcome the rejection(s) under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), 2nd paragraph, set forth in this Office action and to include all of the limitations of the base claim and any intervening claims. However, as explained above, as recited, claim 25 (renumbered from claim 26) is a duplicate claim of claim 6 so it would be objected to or vice versa.
As explained previously, regarding claim 6, the instant claim further builds on the zerotrees calculated and as addressed in claim 5 above. The claim further requires “wherein the nonzero coefficients and the zero coefficient are signaled in a bitstream of the 3D volumetric data based on a calculated percentage of zerotrees of the sequence” such that here signaling of the coefficients is based on a calculated percentage of zerotrees of the sequence and not simply that zerotrees are used in the coding. Khodakovsky as applied above does teach zerotree coding but there is no teaching of calculation of a percentage of zerotrees of the sequence nor signaling the coefficients based on this calculation. While zerotree coding itself is known and applied frequently as suggested by Khodakovsky, this signaling combined with the calculated percentage of zerotrees of the sequence does not appear to be known or suggested anywhere in the prior art. Note the art which is cited but not applied in the section below which teaches zerotree coding for progressive mesh encoding in the video based mesh compression standard as applied in a system such as Kim. While zerotree coding is described for the displacement data, such calculation of the percentage of zerotrees and signaling such information is not taught or suggested. Thus the claim contains allowable subject matter, subject to the 35 U.S. 112(b) rejections being addressed.
Response to Arguments
Applicant's arguments filed 4/28/2026 have been fully considered but they are not persuasive. Applicant argues on pages 9-10 of “REMARKS” that Kim as modified by Joshi fails to teach “bitstream of the 3D volumetric data signaling a location of an index of a last non-zero coefficient of a one- dimensional array of the displacement vectors”. The Examiner respectfully disagrees. As explained in the above rejections Kim as modified by Joshi teaches such a feature with Kim’s system enabling a location of an index of a last non-zero coefficient of a one-dimensional array of the displacement vectors to be used in determining a displacement coefficient. Note that the claim does not require to specifically find or designate a specific coefficient a last non-zero coefficient and thus as in Kim as explained above when the last coefficient is read which can be a non-zero coefficient and then the remaining coefficients are encoded and decoded as zero then this means that the displacement value was calculated based on a last non-zero coefficient. Thus the claims are rejected as explained above.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See Krivokuca (US PGPUB No. 20260113444, note that the application of the PGPUB claims priority to EP22306374.4 filed 9/19/22, where such document has been inspected by the Examiner and found to provide the disclosure commensurate with the teachings relied upon in the PGPUB)- teaching progressive encoding and adaptive reconstruction of dynamic meshes using zerotree coding and teaching the identification and use of zero and nonzero coefficients and utilizing such information in encoding and decoding displacement coefficients in the same field of endeavor as the claimed invention and Kim. Krivocuka also teaches and suggests application of the techniques of Khodakovsky to video based mesh compression such that this validates the Examiner’s combination of Khodakovsky with Kim and Joshi as explained above and further tends to show the obviousness of that combination. See paragraphs 0046-0126 teaching “zerotree coding method ensures that the most important (highest-order) bits of the most important (largest-magnitude) wavelet coefficients are transmitted first as these bits usually make the most significant contributions towards reducing reconstruction error. This method essentially provides bit-plane coding within each resolution level, which allows quality scalability within a resolution level, in addition to the resolution scalability that is naturally offered by the multiresolution wavelet decomposition. Herein, resolution scalability means an increasing number of mesh vertices and faces (which usually also means that the size of the faces is gradually reduced). Quality scalability means an increasing precision or accuracy in the reconstructed mesh data, including the vertex positions and the displacement vectors. Further aspects of the application of zerotree coding to progressive mesh encoding are described below (see FIGS. 12-13)” and “progressive mesh displacement encoder 800 encodes displacement data 810. As mentioned above, these displacement data represent the spatial difference between the base mesh m(i) and the original mesh M(i) for a frame i—for example, the displacement vectors d(i) of FIG. 3. In the progressive mesh displacement encoder 800, the displacement data 810 are transformed by a wavelet transformer 820 and the resulting wavelet coefficients may then be quantized by a quantizer 830. The obtained quantized wavelet coefficients are then encoded by a zerotree encoder 840, generating a progressive bitstream of coded displacement data 850”. However, notably the allowable subject matter as explained above is not taught or suggested by Krivocuka as there is no discussion of specifically calculating a percentage of zerotrees of the sequence or utilizing such information.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SCOTT E SONNERS whose telephone number is (571)270-7504. The examiner can normally be reached Mon-Friday 9-5.
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, Xiao Wu can be reached at (571) 272-7761. 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.
/SCOTT E SONNERS/Examiner, Art Unit 2613
/XIAO M WU/Supervisory Patent Examiner, Art Unit 2613
1 US PGPUB No. 2024/0144541, note all subject matter confirmed as supported by corresponding Provisional Application 63/381,122, filed 10/22/2022
2 US PGPUB No. 20240137548 where the relevant subject matter has been confirmed as supported at least by Provisional Application No. 63/417588, Specification pages 10-13 filed on 10/19/2022
3 Khodakovsky, Andrei, Peter Schröder, and Wim Sweldens. "Progressive geometry compression." Proceedings of the 27th annual conference on Computer graphics and interactive techniques. 2000.