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 8/25/26 has been entered.
Claim Objections
Claims 29-33 are objected to because of the following informalities: Claims 29-33. Appropriate correction is required.
Response to Amendment
The amendment filed August 5th, 2026 has been entered. Claims 1-6, 9, and 21-33 are pending in the application.
Response to Arguments
Applicant's arguments filed August 5th, 2026 have been fully considered but they are not persuasive.
Applicant states (1):
PNG
media_image1.png
236
648
media_image1.png
Greyscale
Remarks, pages 9
Applicant’s arguments with respect to claims 1, 21, and 28 have been considered but are moot because the new ground of rejection does not rely on the specific combination of references applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. A new ground(s) of rejection is necessitated by the amendments to the claims.
Applicant states (2):
PNG
media_image2.png
261
648
media_image2.png
Greyscale
PNG
media_image3.png
133
631
media_image3.png
Greyscale
The examiner disagrees because Sugio does teach of parallelogram prediction (Sugio; page 21, para [0448]-[0449]). Further Sugio considers mesh structures / representations (Sugio; page 48, para [0929]).
Further, the teachings of Sugio are pertinent to the particular problem. At least one of Sugio’s objectives is to improve the coding efficiency for three-dimensional data encoding / decoding (Sugio; page 1, para [0007]-[0008]). Additionally, Sugio addresses at least the relevant problem of bounding the processing amount and / or bounding the complexity of decoding for a variable number of prediction candidates.
Furthermore, the motivation would have been to reduce the processing amount. By limiting the number of predictors / prediction candidates, the processing amount is reduced. Limited predictors/ prediction candidates enables fewer calculations, limits resource consumption, and enables faster, deterministic calculation times. Additional motivation would have been to bound the decoder’s worst-case processing and memory consumption. Additional motivation would have been to make the set of prediction candidates deterministic. Additional motivation would have been to enable deterministic calculation times.
It would have been obvious to one of ordinary skill in the art to combine the references since the references are not only all within the field of computing, but also cite 3D / volumetric content compression and / or encoding / decoding techniques / components.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3, 5, 9, 21-23, 25, 27-31, and 33 are rejected under 35 U.S.C. 103 as being unpatentable over Kondrad (WO 2023052916 A1) in view of Chen (US 8884953 B2) in further view of Sugio (US 20230222698 A1) in further view of Frank Galligan, “Draco Bitstream Specification,” 2021, Google (hereinafter Draco Specification) in further view of "mesh_prediction_scheme_constrained_multi_parallelogram_shared.h," 2017, GitHub (hereinafter Draco Code).
Examiner note: Draco Specification and Draco Code both refer to the Google Draco system.
Regarding claim 1 Kondrad teaches a method for video decoding, the method performed by at least one processor (“A still another example apparatus includes at least one processor; and at least one non- transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to perform: receive a bitstream comprising one or more vertices of a mesh, wherein the one or more vertices are stored by using an extension to a volumetric video coding structure; wherein the extension to the volumetric coding structure enables storage of information corresponding to an algorithm for compression of a mesh; and decode the bitstream," (Kondrad; page 18 para [0139])) and comprising:
obtaining, from a bitstream, a mesh representing an encoded volumetric data of at least one three-dimensional (3D) visual content ((Kondrad; page 18, para [0139]). Volumetric video is mapped to three-dimensional (3D) visual content because a volumetric video captures a three-dimensional space, (Kondrad; page 3, para [0022]). The vertex is mapped to encoded volumetric data, (Kondrad; page 3, para [0022]).);
Kondrad does not explicitly teach but Chen teaches partitioning a plurality of vertices of the mesh into a plurality of groups, at least one of the groups representing a shape of a parallelogram (“the prediction triangle can be generated by constructing an auxiliary triangle as a parallelogram extension of the reference triangle" (col 4, lines 38-56). The auxiliary triangle as a parallelogram extension of the reference triangle reads on a group representing the shape of a parallelogram. The prediction triangle and auxiliary triangle as a parallelogram extension of the reference triangle comprise more than one group, and thus reads on a plurality of groups. The triangles are partitioned vertices since the triangles comprise vertices (abstract, lines 1-4)); and
decoding the encoded volumetric data by predicting the vertices in each group of the plurality of groups based on a prediction mode associated with said each group ("The geometry decoder portion GD comprises a decoding version of an advanced parallelogram prediction module APP', and performs prediction of the vertices according to their respective prediction mode information," (col 8, lines 43- 67; col 9, lines 1-15). The group (W, V, U, R) have been predicted/decoded. According to prior art reference, R is predicted by a specified prediction mode (col 1, lines 46-67; col 2, lines 1-3; Fig. 1). When there is only one cluster, or when “the dihedral angles of the 3D mesh model are evenly spread over a wide range,” only one prediction mode is selected for decoding and the vertices W, V, U will be predicted/decoded according to the same prediction mode as that used for R (col 6, lines 18-30; col 5, lines 22- 38). In the case of one cluster, the same prediction mode would be used for each group.)
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad. The motivation would have been “for increasing coding efficiency and improving prediction accuracy,” (Chen, col 3, lines 17-24).
Kondrad in view of Chen is not relied upon teaching but Sugio teaches and determining an upper limit of prediction candidates based on a syntax labeled "mesh position prediction max parallelograms minus1" (“N peripheral three-dimensional points of the three-dimensional point to be encoded that are used for prediction are N three-dimensional points encoded and decoded the distance from the three-dimensional point to be encoded is less than threshold THd. The maximum value of N may be added to the bitstream as NumNeighborPoint. The value of N need not always agree with the value of NumNeighborPoint, such as when the number of peripheral three-dimensional points encoded and decoded is less than the value of NumNeighborPoint,” (page 27, para [0528]). The peripheral three-dimensional points read on prediction candidates. The maximum value reads on upper limit, (page 27-28, para [0543]). NumNeighborPoint reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. ).
the prediction candidates are parallelogram prediction candidates (“A prediction mode whose prediction mode value is 3 (referred to as prediction mode 3, hereinafter) may be set for a parallelogram prediction based on point p0, point p1, and point p2,” (page 21, para [0448]).),
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Sugio to Kondrad in view of Chen. The motivation would have been to reduce the processing amount. By limiting the number of predictors / prediction candidates, the processing amount is reduced. Limited predictors/ prediction candidates enables fewer calculations, limits resource consumption, and enables faster, deterministic calculation times. Additional motivation would have been to bound the decoder’s worst-case processing and memory consumption. Additional motivation would have been to make the set of prediction candidates deterministic. Additional motivation would have been to enable deterministic calculation times.
Kondrad in view of Chen in further view of Sugio is not relied upon teaching but Draco Specification teaches and "mesh position prediction max parallelograms minusl" indicates the upper limit of prediction candidates by indicating a maximum number of parallelograms used in mesh position prediction Draco Specification teaches a Multi Parallelogram Prediction Decoder (page 40). In the prediction loop Draco Specification recites “if (num_parallelograms == kMaxNumParallelograms) break;” (page 40). In this case “kMaxNumParallelograms” breaks the prediction loop when the maximum number of parallelograms used in mesh position prediction is reached. The “kMaxNumParallelograms” is used to enforce a cap on the number of parallelograms used in mesh prediction and thus indicates a maximum number of parallelograms used in mesh position prediction. The parallelograms used in mesh position prediction comprise vertices. By indicating a maximum number of parallelograms, Draco Specification consequently indicates the upper limit of prediction candidates since a parallelogram comprises 4 vertices.)
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Draco Specification to Kondrad in view of Chen in further view of Sugio. The motivation would have been to strike a balance between prediction accuracy and computational load. Additional motivation would have been to strike a balance between prediction accuracy and bitstream overhead. Additional motivation would have been to improve efficiency and / or reduce computational complexity. Additional motivation would have been to reduce prediction error.
Further motivation would have been the prior art Kondrad in view of Chen in further view of Sugio in further view of Draco Specification includes each element. Sugio discloses NumNeighborPoint which reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. Draco Specification discloses “kMaxNumParallelograms” indicating a maximum number of parallelograms used in mesh position prediction.
Each element merely performs the same function as it does separately. Sugio’s NumNeighborPoint indicates a maximum value to bound prediction. Draco Specification provides a maximum value to bound prediction for parallelogram prediction. Neither element is altered in function.
One of ordinary skill in the art would have recognized that the results of the combination were predictable. Sugio and Draco Specification both provide a prediction method bounded by a maximum value. One of ordinary skill would therefore have had a reasonable expectation of success.
Kondrad in view of Chen in further view of Sugio in further view of Draco Specification is not relied upon teaching but Draco Code teaches "mesh position prediction max parallelograms minusl" indicates the upper limit of prediction candidates by indicating a maximum number of parallelograms used in mesh position prediction as in a range of 0 to 15, inclusive (Draco Code sets “kMaxNumParallelograms” equal to 4 (page 1). By indicating a maximum number of parallelograms, Draco Code consequently indicates the upper limit of prediction candidates since a parallelogram comprises 4 vertices. When 4 parallelograms are used in multi parallelogram prediction such as in Draco Code, 16 total vertices are used in mesh position prediction. One of these vertices is the starting vertex and thus is not a prediction candidate, leaving 15 vertices as prediction candidates. Thus by indicating a maximum number of parallelograms used in mesh position prediction, Draco indicates the upper limit of prediction candidates as in a range of 0 to 15, inclusive. ).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Draco Code to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification. The motivation would have been to strike a balance between prediction accuracy and computational load. Additional motivation would have been to strike a balance between prediction accuracy and bitstream overhead. Additional motivation would have been to improve efficiency and / or reduce computational complexity. Additional motivation would have been to reduce prediction error.
Further motivation would have been the prior art Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code includes each element. Sugio discloses NumNeighborPoint which reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. Draco Code discloses “kMaxNumParallelograms” indicating a maximum number of parallelograms used in mesh position prediction, where ‘kMaxNumParallelograms” is equal to 4.
Each element merely performs the same function as it does separately. Sugio’s NumNeighborPoint indicates a maximum value to bound prediction. Draco Code provides a maximum value of 4 to bound prediction for parallelogram prediction. Neither element is altered in function.
One of ordinary skill in the art would have recognized that the results of the combination were predictable. Sugio and Draco Code both provide a prediction method bounded by a maximum value. One of ordinary skill would therefore have had a reasonable expectation of success.
Regarding claim 2, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 1, wherein decoding the encoded volumetric data comprises applying parallelogram prediction in which the parallelogram is split into two triangles and first ones of first vertices of a first one of the two triangles is used as a predictor for second ones of second vertices of a second one of the two triangles (Kondrad; "Each new triangle is next to an already encoded one. This allows efficient compression of vertex coordinates and other attributes, such as normals. Instead of storing the absolute values, they may be predicted from an adjacent triangle (using a parallelogram prediction) and only store the difference between predicted and actual values, which is generally smaller as compared to the absolute values", (page 25-26, para [0189]). The triangles comprise vertices. The vertices of the already encoded triangle read on first ones of first vertices. The vertices of the new triangle read on second ones of second vertices.).
Regarding claim 3, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 2, wherein the first one of the two triangles comprises a vertex A, a vertex B, and a vertex C (Chen; reference triangle UVW comprising vertices U, V, and W respectively (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).), wherein the second one of the two triangles comprises the vertex B, the vertex C, and a vertex D (Chen; triangle URV comprising vertices U,V, and R respectively (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).), and wherein the parallelogram prediction comprises predicting a coordinate of vertex D based on coordinates of vertex A, vertex B, and vertex C (Chen; vertex A, vertex B, and vertex C are mapped to vertices U,V, and W respectively. Vertex D is mapped to vertex R (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio. The motivation would have been to achieve high compression efficiency.
Regarding claim 5, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 2, wherein at least one of the vertices (Chen; vertex R (col 1, lines 46-67; col 2, lines 1-3; Fig. 1)) comprises one prediction candidate (Chen; The vertices U, V, W that comprise reference triangle UVW include and read on one prediction candidate (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad. The motivation would have been for “improving geometry compression efficiency,” (Chen; col 1, lines 46-67; col 2, lines 1-3).
Regarding claim 28, Kondrad teaches a non-transitory computer-readable storage medium storing instructions and a video bitstream that are generated by a video encoding method, the instructions, when executed by a computer, cause the computer to implement a video encoding method (“An example computer readable medium includes program instructions for causing an apparatus to perform at least the following: generate an extension to a volumetric video coding structure, wherein the extension to the volumetric coding structure enables at least one of the following: storage of information corresponding to an algorithm for compression of a mesh; prediction of single vertex values between mesh frames; generation of a volumetric video coding bitstream consisting of attribute video components that is mapped to the mesh; or conversion of a first file format to a second file format; and store a vertex of the mesh by using the extension,” (page 20, para [0159]).
"The example computer readable medium may further include, wherein the computer readable medium comprises a non-transitory computer readable medium," (page 21, para [0161]; page 10, para [0081]).) comprising:
obtaining a mesh representing volumetric data of at least one three-dimensional (3D) visual content ((page 20, para [0159]). The mesh to be compressed corresponds to a volumetric video. Volumetric video reads on three-dimensional (3D) visual content because a volumetric video captures a three-dimensional space. A volumetric video comprises volumetric data.);
and transmitting the video bitstream (“The communication interface 206 may be any means such as a device or circuitry embodied in either hardware or a combination of hardware and software that is configured to receive and/or transmit data, including video bitstreams,” (pages 36-37, para [0235]).
“…provide output to a user, such as by outputting an encoded video bitstream,” (page 37, para [0236]). (page 18, para [0139]).).
Kondrad is not relied upon teaching but Chen teaches partitioning a plurality of vertices of the mesh into a plurality of groups, at least one of the groups representing a shape of a parallelogram ("In one embodiment of the encoding method, in the first mode the enhanced prediction triangle corresponds to a co-planar parallelogram extension of the reference triangle that is rotated by said representative dihedral angle on the first axis, and wherein the enhanced prediction triangles of the first and second mode are co-planar and both have said side along the first axis common with the reference triangle," (col 3, lines 52- 67).
The enhanced prediction triangle that corresponds to a co-planar parallelogram extension of the reference triangle reads on representing the shape of a parallelogram. The enhanced prediction triangle that corresponds to a co-planar parallelogram extension of the reference triangle comprise more than one group, and thus reads on a plurality of groups. The triangles are partitioned vertices since the triangles comprise vertices (Abstract).); and
encoding the volumetric data by predicting the vertices in each group of the plurality of groups based on a prediction mode associated with said each group ("An encoder will choose the proper prediction mode for each vertex. The predicted position is generated by a rotation operation and, in one embodiment, by an additional mirror mapping operation after traditional parallelogram prediction. The rotation angle and whether to do the mirror mapping are decided according to the prediction mode," (col 5, lines 21-38).
The volumetric data comprises vertices. The verities are predicted based on a prediction mode.
“The prediction step exploits the correlation between adjacent vertex positions, which is most crucial in improving geometry compression efficiency. The most widely used prediction strategy is parallelogram prediction… This approach is shown in FIG. 1. The shaded area has already been encoded/decoded…,” (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).
From Chen’s teachings, it is clear that the prediction step can be applied in either the encoding or decoding phase. The group (W, V, U, R) have been predicted/ encoded. According to Chen, R is predicted by a specified prediction mode (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).
When there is only one cluster, or when “the dihedral angles of the 3D mesh model are evenly spread over a wide range,” only one prediction mode is selected for encoding and the vertices W, V, U will be predicted/encoded according to the same prediction mode as that used for R (col 6, lines 18-30; col 5, lines 22- 38). In the case of one cluster, the same prediction mode would be used for each group.)
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad. The motivation would have been “for increasing coding efficiency and improving prediction accuracy,” (Chen, col 3, lines 17-24).
Korndrad in view of Chen is not relied upon teaching but Sugio teaches and determining an upper limit of prediction candidates based on a syntax labeled “mesh_position_prediction_max_parallelograms_minus1” (“N peripheral three-dimensional points of the three-dimensional point to be encoded that are used for prediction are N three-dimensional points encoded and decoded the distance from the three-dimensional point to be encoded is less than threshold THd. The maximum value of N may be added to the bitstream as NumNeighborPoint. The value of N need not always agree with the value of NumNeighborPoint, such as when the number of peripheral three-dimensional points encoded and decoded is less than the value of NumNeighborPoint,” para [0528]. The peripheral three-dimensional points read on prediction candidates. The maximum value reads on upper limit, para [0543]. NumNeighborPoint reads on “mesh_position_prediction_max_parallelograms_minus1” syntax.),
the prediction candidates are parallelogram prediction candidates (“A prediction mode whose prediction mode value is 3 (referred to as prediction mode 3, hereinafter) may be set for a parallelogram prediction based on point p0, point p1, and point p2,” (page 21, para [0448]).),
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Sugio to Kondrad in view of Chen. The motivation would have been to reduce the processing amount. By limiting the number of predictors / prediction candidates, the processing amount is reduced. Limited predictors/ prediction candidates enables fewer calculations, limits resource consumption, and enables faster, deterministic calculation times. Additional motivation would have been to bound the decoder’s worst-case processing and memory consumption. Additional motivation would have been to make the set of prediction candidates deterministic. Additional motivation would have been to enable deterministic calculation times.
Kondrad in view of Chen in further view of Sugio is not relied upon teaching but Draco Specification teaches and "mesh position prediction max parallelograms minusl" indicates the upper limit of prediction candidates by indicating a maximum number of parallelograms used in mesh position prediction Draco Specification teaches a Multi Parallelogram Prediction Decoder (page 40). In the prediction loop Draco Specification recites “if (num_parallelograms == kMaxNumParallelograms) break;” (page 40). In this case “kMaxNumParallelograms” breaks the prediction loop when the maximum number of parallelograms used in mesh position prediction is reached. The “kMaxNumParallelograms” is used to enforce a cap on the number of parallelograms used in mesh prediction and thus indicates a maximum number of parallelograms used in mesh position prediction. The parallelograms used in mesh position prediction comprise vertices. By indicating a maximum number of parallelograms, Draco Specification consequently indicates the upper limit of prediction candidates since a parallelogram comprises 4 vertices.)
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Draco Specification to Kondrad in view of Chen in further view of Sugio. The motivation would have been to strike a balance between prediction accuracy and computational load. Additional motivation would have been to strike a balance between prediction accuracy and bitstream overhead. Additional motivation would have been to improve efficiency and / or reduce computational complexity. Additional motivation would have been to reduce prediction error.
Further motivation would have been the prior art Kondrad in view of Chen in further view of Sugio in further view of Draco Specification includes each element. Sugio discloses NumNeighborPoint which reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. Draco Specification discloses “kMaxNumParallelograms” indicating a maximum number of parallelograms used in mesh position prediction.
Each element merely performs the same function as it does separately. Sugio’s NumNeighborPoint indicates a maximum value to bound prediction. Draco Specification provides a maximum value to bound prediction for parallelogram prediction. Neither element is altered in function.
One of ordinary skill in the art would have recognized that the results of the combination were predictable. Sugio and Draco Specification both provide a prediction method bounded by a maximum value. One of ordinary skill would therefore have had a reasonable expectation of success.
Kondrad in view of Chen in further view of Sugio in further view of Draco Specification is not relied upon teaching but Draco Code teaches "mesh position prediction max parallelograms minusl" indicates the upper limit of prediction candidates by indicating a maximum number of parallelograms used in mesh position prediction as in a range of 0 to 15, inclusive (Draco Code sets “kMaxNumParallelograms” equal to 4 (page 1). By indicating a maximum number of parallelograms, Draco Code consequently indicates the upper limit of prediction candidates since a parallelogram comprises 4 vertices. When 4 parallelograms are used in multi parallelogram prediction such as in Draco Code, 16 total vertices are used in mesh position prediction. One of these vertices is the starting vertex and thus is not a prediction candidate, leaving 15 vertices as prediction candidates. Thus by indicating a maximum number of parallelograms used in mesh position prediction, Draco indicates the upper limit of prediction candidates as in a range of 0 to 15, inclusive. ).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Draco Code to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification. The motivation would have been to strike a balance between prediction accuracy and computational load. Additional motivation would have been to strike a balance between prediction accuracy and bitstream overhead. Additional motivation would have been to improve efficiency and / or reduce computational complexity. Additional motivation would have been to reduce prediction error.
Further motivation would have been the prior art Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code includes each element. Sugio discloses NumNeighborPoint which reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. Draco Code discloses “kMaxNumParallelograms” indicating a maximum number of parallelograms used in mesh position prediction, where ‘kMaxNumParallelograms” is equal to 4.
Each element merely performs the same function as it does separately. Sugio’s NumNeighborPoint indicates a maximum value to bound prediction. Draco Code provides a maximum value of 4 to bound prediction for parallelogram prediction. Neither element is altered in function.
One of ordinary skill in the art would have recognized that the results of the combination were predictable. Sugio and Draco Code both provide a prediction method bounded by a maximum value. One of ordinary skill would therefore have had a reasonable expectation of success.
Regarding claim 21, it is rejected using the same citations and rationales described in the rejection of claim 28. Claim 21 additionally recites the method performed by at least one processor. Kondrad teaches the method performed by at least one processor (Kondrad; “An example apparatus includes at least one processor; and at least one non-transitory memory comprising computer program code; wherein the at least one memory and the computer program code are configured to, with the at least one processor, cause the apparatus at least to perform: generate an extension to a volumetric video coding structure, wherein the extension to the volumetric coding structure enables at least one of the following: storage of information corresponding to an algorithm for compression of a mesh; prediction of single vertex values between mesh frames; generation of a volumetric video coding bitstream consisting of attribute video components that is mapped to the mesh; or conversion of a first file format to a second file format; and storing a vertex of the mesh by using the extension,” (page 10, para [0081]).).
Regarding claim 25, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 22, wherein at least one of the vertices (Chen; vertex R (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).) comprises one prediction candidate (Chen; The vertices U, V, W that comprise reference triangle UVW include and read on one prediction candidate (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been for “improving geometry compression efficiency,” (Chen; col 1, lines 46-67; col 2, lines 1-30).
Regarding claim 29, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 28, wherein encoding the volumetric data comprises applying parallelogram prediction in which the parallelogram is split into two triangles and first ones of first vertices of a first one of the two triangles is used as a predictor for second ones of second vertices of a second one of the two triangles (Kondrad; "Each new triangle is next to an already encoded one. This allows efficient compression of vertex coordinates and other attributes, such as normals. Instead of storing the absolute values, they may be predicted from an adjacent triangle (using a parallelogram prediction) and only store the difference between predicted and actual values, which is generally smaller as compared to the absolute values", (pages 25-26, para [0185]-[0189]).).
Regarding claim 22, it is rejected using the same citations and rationales described in the rejection of claim 29.
Regarding claim 30, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 29, wherein the first one of the two triangles comprises a vertex A, a vertex B, and a vertex C (Chen; reference triangle UVW comprising vertices U, V, and W respectively (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).), wherein the second one of the two triangles comprises the vertex B, the vertex C, and a vertex D (Chen; triangle URV comprising vertices U,V, and R respectively (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).), and wherein the parallelogram prediction comprises predicting a coordinate of vertex D based on coordinates of vertex A, vertex B, and vertex C (Chen; vertex A, vertex B, and vertex C are mapped to vertices U,V, and W respectively. Vertex D is mapped to vertex R (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to achieve high compression efficiency.
Regarding claim 23, it is rejected using the same citations and rationales described in the rejection of claim 30.
Regarding claim 31, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 29, wherein at least one of the vertices (Chen; vertex R (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).) comprises any of no prediction candidates and one prediction candidate (Chen; The vertices U, V, W that comprise reference triangle UVW include and read on one prediction candidate (col 1, lines 46-67; col 2, lines 1-3; Fig. 1).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been for “improving geometry compression efficiency,” (Chen; col 1, lines 46-67; col 2, lines 1-3).
Regarding claim 9, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 1, wherein, when a number of the parallelogram prediction candidates exceeds the upper limit, only a first number of the parallelogram prediction candidates equal to the upper limit are considering in predicting a vertex (Draco Specification teaches a Multi Parallelogram Prediction Decoder (Draco Specification, page 40). In the prediction loop Draco Specification recites “if (num_parallelograms == kMaxNumParallelograms) break;” (Draco specification, page 40). In this case “kMaxNumParallelograms” breaks the prediction loop when the maximum number of parallelograms used in mesh position prediction is reached. The “kMaxNumParallelograms” is used to enforce a cap on the number of parallelograms used in mesh prediction and thus indicates a maximum number of parallelograms used in mesh position prediction.
Because Draco Specification’s prediction loop condition “if (num_parallelograms == kMaxNumParallelograms) break;” (Draco Specification, page 40) breaks the loop when the maximum number of parallelograms used in mesh position prediction is reached and because by indicating a maximum number of parallelograms, Draco Specification consequently indicates the upper limit of prediction candidates, when a number of the parallelogram prediction candidates exceeds the upper limit indicated by “kMaxNumParallelograms”, only a first number of the parallelogram prediction candidates equal to the upper limit are considered in predicting a vertex.).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Draco Specification to Kondrad in view of Chen in further view of Sugio in further view of Draco Code. The motivation would have been to strike a balance between prediction accuracy and computational load. Additional motivation would have been to strike a balance between prediction accuracy and bitstream overhead. Additional motivation would have been to improve efficiency and / or reduce computational complexity. Additional motivation would have been to reduce prediction error.
Further motivation would have been the prior art Kondrad in view of Chen in further view of Sugio in further view of Draco Specification includes each element. Sugio discloses NumNeighborPoint which reads on “mesh_position_prediction_max_parallelograms_minus1” syntax. Draco Specification discloses “kMaxNumParallelograms” indicating a maximum number of parallelograms used in mesh position prediction.
Each element merely performs the same function as it does separately. Sugio’s NumNeighborPoint indicates a maximum value to bound prediction. Draco Specification provides a maximum value to bound prediction for parallelogram prediction. Neither element is altered in function.
One of ordinary skill in the art would have recognized that the results of the combination were predictable. Sugio and Draco Specification both provide a prediction method bounded by a maximum value. One of ordinary skill would therefore have had a reasonable expectation of success.
Regarding claims 27 and 33, they are rejected using the same citations and rationales described in the rejection of claim 9.
Claims 4 and 24 are rejected under 35 U.S.C. 103 as being unpatentable over Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code in further view of Guillaume (GB 2561824 A).
Regarding claim 4, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code is not relied upon teaching but Guillaume teaches the method according to claim 2, wherein at least one of the vertices comprises no prediction candidates (The starting vertex reads on at least one of the vertices. Since the starting vertex is not predicted, it comprises no prediction candidates, (page 12, lines 37-38; page 13, lines 1-2).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Guillaume to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to allow the compression algorithm to function even when there is no immediately available reference point to predict from.
Regarding claim 24, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code is not relied upon teaching but Guillaume teaches the method according to claim 22, wherein at least one of the vertices comprises any of no prediction candidates (The first/starting vertex reads on at least one of the vertices. Since the first/starting vertex is not predicted, it comprises no prediction candidates, (page 12, lines 32-38; page 13, lines 1-2).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Guillaume to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to allow the compression algorithm to function even when there is no immediately available reference point to predict from.).
Claims 6, 26 and 32 are rejected under 35 U.S.C. 103 as being unpatentable over Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code in further view of Vytyaz (US 20220020211 A1).
Regarding claim 6, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 2, wherein at least one of the vertices comprises more than one prediction candidate (Chen; Fig. 4 showing multi-way parallelogram prediction (col 5, line 2). “Another approach1 uses a multi-way parallelogram prediction scheme shown in FIG. 4. The multi-way prediction exploits all possible reference triangles and uses the average of all single-way predicted positions as the multi-way prediction result… 1D. Cohen-Or, R. Cohen, and R. Irony: "Multiway geometry encoding", Technical report, School of Computer Science, Tel Aviv University, 2002.” (Chen; col 2, lines 18-30). The reference triangles include and read on more than one prediction candidate.), and
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to improve compression efficiency.
Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code is not relied upon teaching but Vytyaz teaches the parallelogram prediction comprises determining an average of candidates of the more than one prediction candidate (“For instance, a multi-per-corner prediction (e.g., multi-parallelogram prediction) obtains a predicted value associated with every available corner; a combined predicted primary attribute value for the vertex is then computed as an average of the predicted values associated with all available corners. A residual is then computed with respect to the final predicted value,” (pages 6-7, para [0069]).
The disclosed corner reads on prediction candidate because it is associated with a particular face of the mesh, (page 4, para [0035]). Additionally, the corner is used in multi-parallelogram prediction which “uses information from all opposite faces opposite a vertex,” (page 3, para [0026]). The disclosed average of the predicted values reads on average of candidates. Additionally, “the predicted primary attribute value can include a predicted position of the vertex,” (page 2, para [0010]).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Vytyaz to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to result in “better prediction than traditional parallelogram prediction,” (Vytyaz; page 3, para [0026]).
.
Regarding claim 32, Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code teaches the method according to claim 29, wherein at least one of the vertices comprises more than one prediction candidate (Chen; Fig. 4 showing multi-way parallelogram prediction (col 5, line 2). “Another approach1 uses a multi-way parallelogram prediction scheme shown in FIG. 4. The multi-way prediction exploits all possible reference triangles and uses the average of all single-way predicted positions as the multi-way prediction result… 1D. Cohen-Or, R. Cohen, and R. Irony: "Multiway geometry encoding", Technical report, School of Computer Science, Tel Aviv University, 2002.” (Chen; col 2, lines 18-30). The reference triangles include and read on more than one prediction candidate.), and
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Chen to Kondrad in view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to improve compression efficiency.
Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code is not relied upon teaching but Vytyaz teaches the parallelogram prediction comprises determining an average of candidates of the more than one prediction candidate (“For instance, a multi-per-corner prediction (e.g., multi-parallelogram prediction) obtains a predicted value associated with every available corner; a combined predicted primary attribute value for the vertex is then computed as an average of the predicted values associated with all available corners. A residual is then computed with respect to the final predicted value,” (pages 6-7, para [0069]).
The disclosed corner reads on prediction candidate because it is associated with a particular face of the mesh, (page 4, para [0035]). Additionally, the corner is used in multi-parallelogram prediction which “uses information from all opposite faces opposite a vertex,” (page 3, para [0026]). The disclosed average of the predicted values reads on average of candidates. Additionally, “the predicted primary attribute value can include a predicted position of the vertex,” (page 2, para [0010]).).
Before the effective filling date of the claimed invention, it would have been obvious to one having ordinary skill in the art to apply the teachings of Vytyaz to Kondrad in view of Chen in further view of Sugio in further view of Draco Specification in further view of Draco Code. The motivation would have been to result in “better prediction than traditional parallelogram prediction,” (Vytyaz; page 3, para [0026]).
Regarding claim 26, it is rejected using the same citations and rationales described in the rejection of claim 32.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ERICA G THERKORN whose telephone number is (571)272-2939. The examiner can normally be reached Monday - Friday 9:00am - 5:00pm.
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, Devona Faulk can be reached at 571-272-7515. 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.
/ERICA G THERKORN/Examiner, Art Unit 2618
/DEVONA E FAULK/Supervisory Patent Examiner, Art Unit 2618