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 .
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.
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites the limitation "the sampled mesh having a sampling rate reduced to at least half that the mesh" in line 7. There is insufficient antecedent basis for this limitation in the claim. The claim previously recites “obtaining a mesh” and “generating a sampled mesh by 4:2:0 sampling” but there is no previous “sampling rate” of “the mesh” such that it cannot be determined what exactly “half” would be in relation to. The claim also contains an apparent typographical error in missing an article such as “of” between “that” and “the mesh.” Such an error could at times be merely objected to, however, in the current context the typographical error also leads to confusion and a lack of clarity as it is not clear exactly what is being referred to for the comparison of a sampling rate of “the mesh.” The claim also recites use of 4:2:0 sampling but then more broadly recites a result of sampling where the sampled mesh is “having a sampling rate reduced to at least half”, as if some sampling rate already exists in the system and it must be “reduced” somehow. As seen in Applicant’s Specification at paragraphs 0137-0139, this concept of reducing the sampling rate is in comparison to a “4:4:4” sampling technique, and it is not an active step that is performed where “4:4:4” sampling is applied and then this data is sampled again using “4:2:0” sampling. Thus it is unclear what would be meant by having a sampling rate reduced to at least half of that of a mesh if that mesh has not been assigned a sampling rate or even sampled at any rate. Furthermore, the claim recites “4:2:0” sampling but the Specification states “4:2:0 sampling reduces the sample rate to ½ at both row and column directions” such that this actually would result in more than 50 percent reduction as the reduction happens twice, and makes it unclear as to whether this reduction contradicts the plain meaning of “4:2:0” sampling. In the interest of compact prosecution, the Examiner will interpret the claim in a manner to preserve as much meaning from the current amendment as possible while also rendering the claim definite, where here, simply deletion of “reduced to at least half that the mesh” would render the claims definite. Furthermore note that the claims interpreted as such would still contain a concept of reduction by at least half compared to a baseline 4:4:4 or full resolution sampling or full resolution version of the mesh as of course 4:2:0 sampling would reduce by at least half (actually more) the information being sampled.
The respective dependent claims are rejected for carrying through this deficiency.
Claims 11-20 contain the same issues in the independent and dependent claims and are rejected for the same reasons explained above. Claims 11-20 are also interpreted in the same manner as claims 1-10 to resolve the antecedent basis issue and to promote compact prosecution in order to apply prior art.
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-4, 9-14, 19 and 20 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, (note all claims are interpreted as rendered definite as explained above) 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”);
generating a sampled mesh by 4:2:0 sampling tangential and bi-tangential components of the mesh (note that what components of the mesh, regardless of being tangential and bi-tangential, that are subject to 4:2:0 sampling to generate the sampled mesh, are not specified or limited by the claim language such that these may be correspond to mesh vertices information or any information about the mesh or processing of the mesh such as for example displacement information relating to mesh vertices that could be sampled by such sampling; 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), the sampled mesh having a sampling rate and the sampling rate is signaled in the bitstream (see Kim, paragraphs 0140-0144 as explained above where the 4:2:0 sampling gives the mesh a 4:2:0 sampling rate of the displacement information and as the data is encoded based on this sampling rate and is sent in the bitstream then the sampling rate is signaled in the bitstream in that manner );
determining a coefficient of a displacement vector of at least one vertex of the sampled mesh (see Kim, 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); 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 that in generating a sampled mesh by using 4:2:0 sampling of the mesh that it is specifically 4:2:0 sampling tangential and bi-tangential components of the mesh. Thus Kim stands as a base device upon which the claimed invention can be seen as an improvement through such specific manner of 4:2:0 sampling of such components of the mesh 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 4:2:0 sampling the mesh in relation to tangential and bi-tangential components of the mesh corresponding to displacement vectors with the sample mesh having a sampling rate, with the sampling rate being signaled in the bitstream (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 “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 where the sampling rate is signaled in the bitstream). 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 3, Kim as modified teaches all that is required as applied to claim 2 above and further teaches wherein decoding the mesh comprises determining a last position of non-zero 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).
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 claim 9, Kim as modified teaches all that is required as applied to claim 1 above and further teaches wherein a bitstream of the 3D volumetric data signals a location of an index of a last non-zero coefficient (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).
Regarding claim 10, Kim as modified teaches all that is required as applied to claim 9 above and further teaches wherein the bitstream of the 3D volumetric data is based on the 4:2:0 sampling applied to a plurality of displacement vectors, including the displacement vector, of the sequence (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).
Regarding claims 11-14, and 19, the instant claims are directed toward an apparatus “comprising: at least one memory configured to store computer program code; at least one processor configured to access the computer program code and operate as instructed by the computer program code, the computer program code including: obtaining code configured to cause the at least one processor” to perform various functions which all correspond to the functions performed in the already addressed video decoding by a processor method of claims 1-4, and 9, respectively. 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”). In light of this, the limitations of claims 11-14, and 19, correspond to the limitations of claims 1-4, and 9, respectively; thus they are rejected on the same grounds as claims 1-4, and 9, respectively.
Regarding claim 20, the instant claim is 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 1 above. 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”). In light of this, the limitations of claim 20 correspond to the limitations of claim 1; thus it is rejected on the same grounds as claim 1.
Claim(s) 5 and 15 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, 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 a zerotree of the 3D volumetric data based on a location of a 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 15, the instant claim is directed toward an apparatus as explained in the rejection of parent claim 11. 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 11 above and the rejection of claim 5 above. In light of this, the limitations of claim 15 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 16-18 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.
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. Thus the claim contains allowable subject matter, subject to the 35 U.S. 112(b) rejections being addressed. Note that claims 7-8 contain the same allowable subject matter of their parent claim 6 above and are allowable at least for that reason.
The limitations of claims 16-18 correspond to the limitations of claims 6-8 and are thus indicated as containing allowable subject matter for the same reasons, again subject to the 35 U.S. 112(b) rejections being addressed.
Response to Arguments
Applicant’s arguments, see “REMARKS”, filed 1/20/2026, with respect to the rejection(s) of claim(s) 1-4, 9-14 and 19-20 under 35 U.S.C. 102 have been fully considered and are persuasive in insofar as certain new claim limitations are not specifically taught by Kim. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Joshi as fully explained above.
Note that while the previous rejections under 35 U.S.C. 112(b) were addressed, the new claim limitations introduce other indefiniteness issues such that the claims are still rejected under 35 U.S.C. 112(b) as fully explained above.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to 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.