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 § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1-2, 5, 15-16, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Graziosi (US 20220108483) in view of Faramarzi (US 20200286261), and Khodakovsky (US 7098916).
Regarding claim 1:
Graziosi discloses: a computer-implemented method for encoding three-dimensional (3D) content (abstract: “a method of compression of 3D mesh data using projections of mesh surface data and video representation of connectivity data”) comprising:
processing the 3D content into segments, each segment comprising a set of faces representative of the 3D content (¶ [0008] “…a method comprises performing mesh voxelization on an input mesh, implementing patch generation which segments the mesh into patches including a rasterized mesh surface and vertices location and connectivity information…The vertices location and connectivity information include triangle information of a surface patch”);
Graziosi does not expressly teach that the segments comprise vertex indices.
However, in the same field of endeavor, Faramarzi teaches that the 3D mesh includes vertex indices (¶ [0007] “…The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices.”)
Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Graziosi with the teachings of Faramarzi by including that the 3D mesh includes vertex indices. A person of ordinary skill in the art would have been motivated to incorporate Faramarzi’s vertex-index handling and patch-in-frame bitstream organization into Graziosi’s patch-based video mesh compression framework in order to improve the practical coding and transmission of patch-local mesh connectivity information. Such a modification would have involved only the predictable use of known frame handling techniques in the prior-art context of patch-based mesh coding to obtain the expected result of a more explicit, organized, and encoder-ready representation of connectivity-bearing mesh data.
Graziosi further teaches that the order of the vertices affects connectivity coding and that the vertices may be sent in a preferred order in ¶ [0006].
However, Graziosi and Faramarzi do not expressly teach sorting both the faces and vertex indices within each segment.
However, in the same field of endeavor, Khodakovsky teaches: that “The ring of the vertex is an ordered list of faces which are incident to the vertex.”, in col. 2, lines 4-5; “the ring of the selected vertex is traversed in a prescribed order”, in col. 4, lines 64-65); “, and “the vertices incident to the face are traversed in the prescribed order”, in col. 5, lines 4-5), accordingly, Khodakovsky teaches ordered face and vertex processing that would renders the sorting and ordering of faces and vertex indices within each segment for connectivity coding obvious.
packing each segment of 3D content to generate connectivity information frames of blocks (Graziosi in ¶ [0008] “…generating a visual volumetric video-based compression (V3C) image from the rasterized mesh surface… implementing video-based mesh compression with the vertices location and connectivity information and generating a V3C bitstream… Data from implementing video-based mesh compression with the vertices location and connectivity information is encapsulated in a vertex video component structure” Graziosi teaches generating image/video structure from patch data and packing connectivity-related information into a video component structure. Faramarzi supplies the teaching of frames including one or more patches and encoding those frames in a bitstream workflow in ¶ [0007] “The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices. The processor is also configured to generate a first frame and a second frame that both include one or more patches. The one or more patches included in the first frame represent the vertex coordinates of the 3D mesh and the one or more patches included in the second frame represent the vertex attribute of the 3D mesh. The processor is further configured to encode the first and second frames to generate a first bitstream. The processor is additionally configured to encode the connectivity information to generate a second bitstream. Additionally, the processor is configured to generate a compressed bitstream by multiplexing the first bitstream and the second bitstream”); ,
each block comprising a subset of the sorted faces and vertex indices (Graziosi in ¶ [0008] “implementing patch generation which segments the mesh into patches including a rasterized mesh surface and vertices location and connectivity information… The vertices location and connectivity information include triangle information of a surface patch”. Thus, Graziosi teaches that each patch contains local triangle and connectivity information (i.e., local subset of faces). Faramarzi in ¶ [0007] “The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices. The processor is also configured to generate a first frame and a second frame that both include one or more patches”. Thus, Faramarzi suggests that local frame patches correspond to subsets of mesh data including vertex indices. Khodakovsky teaches in col. 2, lines 4-5 “The ring of the vertex is an ordered list of faces which are incident to the vertex.”; col. 4, lines 64-65 “the ring of the selected vertex is traversed in a prescribed order”; col. 5, lines 4-5 “the vertices incident to the face are traversed in the prescribed order”. Thus, Khodakovsky teaches ordered face and vertex processing. The combined teachings would have rendered that each block comprising a subset of the sorted faces and vertex indices obvious.); and
encoding the connectivity information frames (Graziosi in ¶ [0007] “…The connectivity of the mesh, that is, the vertices and the triangles of the surface patch, are encoded using video-based compression techniques”; ¶ [0008] “…Data from implementing video-based mesh compression with the vertices location and connectivity information is encapsulated in a vertex video component structure”. Thus Graziosi teaches encoding connectivity information in frame form. Faramarzi in ¶ [0007] “…encode the first and second frames to generate a first bitstream…encode the connectivity information to generate a second bitstream... generate a compressed bitstream by multiplexing the first bitstream and the second bitstream”. Thus, Faramarzi teaches separate bitstream treatment for frame information and connectivity information).
Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Graziosi in view of Faramarzi with the teachings of Khodakovsky. Graziosi recognizes that ordering affects connectivity coding, teaching that “the order of the vertices affect the coding of connectivity,” and that “the vertices may be sent in any preferred order, so the order generated from connectivity encoding can be used.” Khodakovsky supplies an ordering technique directly applicable to that recognized need, teaching that “The ring of the vertex is an ordered list of faces which are incident to the vertex,” that “the ring of the selected vertex is traversed in a prescribed order,” and that “the vertices incident to the face are traversed in the prescribed order.” In view of Graziosi’s recognition that ordering affects coding, and Faramarzi's frame treatment of vertex-indexed mesh data, a person of ordinary skill in the art would have been motivated to apply Khodakovsky’s prescribed-order face and vertex traversal to the combined system in order to improve consistency, organization, and coding efficiency of patch-local connectivity information before packing and encoding. This would have been an application of a known ordering technique in the same field of mesh encoding to obtain the predictable result of a more structured ordering of faces and associated vertex information for connectivity coding.
Regarding claim 2:
Graziosi in view of Faramarzi and Khodakovsky teach the limitations of claim 1 as applied above.
wherein each face in the set of faces is associated with three sorted vertices indicated by the sorted vertex indices (Graziosi in ¶ [0008] “…The vertices location and connectivity information include triangle information of a surface patch”; Faramarzi supplies that “wherein the 3D mesh includes vertex indices.” In ¶ [0007], and Khodakovsky teaches the ordered handling of vertices associated with faces in col. 5, lines 4-5 “the vertices incident to the face are traversed in the prescribed order”.).
Regarding claim 5:
Graziosi in view of Faramarzi and Khodakovsky teach the limitations of claim 1 as applied above.
wherein each block includes connectivity coding samples that are encoded as pixels (Graziosi in ¶ [0008] “…generating a visual volumetric video-based compression (V3C) image from the rasterized mesh surface, implementing video-based mesh compression with the vertices location and connectivity information… Data from implementing video-based mesh compression with the vertices location and connectivity information is encapsulated in a vertex video component structure” Graziosi teaches representing mech connectivity related information in a video form, which supports encoded as pixels concepts because the information is carried in a video structure. Also, Faramarzi supplies the connectivity coding samples encoded as pixels in view Graziosi in ¶ [0007] “…encode the first and second frames to generate a first bitstream…encode the connectivity information to generate a second bitstream... generate a compressed bitstream by multiplexing the first bitstream and the second bitstream”.).
Regarding claim 15:
Graziosi discloses: A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of an encoder (¶ [0009] “…an apparatus comprises a non-transitory memory for storing an application, the application for: performing mesh voxelization on an input mesh”; FIG. 25 and ¶ [0097] “An encoder 2500”) cause the encoder to perform:
processing 3D content into segments, each segment comprising a set of faces and vertex indices representative of the 3D content (¶ [0008] “…a method comprises performing mesh voxelization on an input mesh, implementing patch generation which segments the mesh into patches including a rasterized mesh surface and vertices location and connectivity information…The vertices location and connectivity information include triangle information of a surface patch”);
Graziosi does not expressly teach that the segments comprise vertex indices.
However, in the same field of endeavor, Faramarzi teaches that the 3D mesh includes vertex indices (¶ [0007] “…The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices.”)
Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Graziosi with the teachings of Faramarzi, including that the 3D mesh includes vertex indices, and that the processor is configured to generate a first frame and a second frame that both include one or more patches to encode the first and second frames, to generate a first bitstream to encode the connectivity information, to generate a second bitstream, and to generate a compressed bitstream by multiplexing the first bitstream and the second bitstream (¶ [0007]). A person of ordinary skill in the art would have been motivated to incorporate Faramarzi’s vertex-index handling and patch-in-frame bitstream organization into Graziosi’s patch-based video mesh compression framework in order to improve the practical coding and transmission of patch-local mesh connectivity information. Such a modification would have involved only the predictable use of known frame handling techniques in the prior-art context of patch-based mesh coding to obtain the expected result of a more explicit, organized, and encoder-ready representation of connectivity-bearing mesh data.
Graziosi further teaches that the order of the vertices affects connectivity coding and that the vertices may be sent in a preferred order in ¶ [0006].
However, Graziosi and Faramarzi do not expressly teach sorting both the faces and vertex indices within each segment.
However, in the same field of endeavor, Khodakovsky teaches: that “The ring of the vertex is an ordered list of faces which are incident to the vertex.”, in col. 2, lines 4-5; “the ring of the selected vertex is traversed in a prescribed order”, in col. 4, lines 64-65); “, and “the vertices incident to the face are traversed in the prescribed order”, in col. 5, lines 4-5), accordingly, Khodakovsky teaches ordered face and vertex processing that would renders the sorting and ordering of faces and vertex indices within each segment for connectivity coding obvious.
packing the respective face lists of each segment of 3D content to generate two-dimensional arrays of connectivity information that are encoded as connectivity information frames of blocks (Graziosi in ¶ [0008] “…generating a visual volumetric video-based compression (V3C) image from the rasterized mesh surface… implementing video-based mesh compression with the vertices location and connectivity information and generating a V3C bitstream… Data from implementing video-based mesh compression with the vertices location and connectivity information is encapsulated in a vertex video component structure” Graziosi teaches generating image/video structure from patch data and packing connectivity-related information into a video component structure. Faramarzi supplies the teaching of frames including one or more patches and encoding those frames in a bitstream workflow in ¶ [0007] “The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices. The processor is also configured to generate a first frame and a second frame that both include one or more patches. The one or more patches included in the first frame represent the vertex coordinates of the 3D mesh and the one or more patches included in the second frame represent the vertex attribute of the 3D mesh. The processor is further configured to encode the first and second frames to generate a first bitstream. The processor is additionally configured to encode the connectivity information to generate a second bitstream. Additionally, the processor is configured to generate a compressed bitstream by multiplexing the first bitstream and the second bitstream”); ,
each block comprising a subset of the sorted faces and vertex indices; and encoding the connectivity information frames (Graziosi in ¶ [0008] “implementing patch generation which segments the mesh into patches including a rasterized mesh surface and vertices location and connectivity information… The vertices location and connectivity information include triangle information of a surface patch”. Thus, Graziosi teaches that each patch contains local triangle and connectivity information (i.e., local subset of faces). Faramarzi in ¶ [0007] “The processor is configured to separate connectivity information of a three dimensional (3D) mesh from vertex coordinates and a vertex attribute, wherein the 3D mesh includes vertex indices. The processor is also configured to generate a first frame and a second frame that both include one or more patches”. Thus, Faramarzi suggests that local frame patches correspond to subsets of mesh data including vertex indices. Khodakovsky teaches in col. 2, lines 4-5 “The ring of the vertex is an ordered list of faces which are incident to the vertex.”; col. 4, lines 64-65 “the ring of the selected vertex is traversed in a prescribed order”; col. 5, lines 4-5 “the vertices incident to the face are traversed in the prescribed order”. Thus, Khodakovsky teaches ordered face and vertex processing. The combined teachings would have rendered that each block comprising a subset of the sorted faces and vertex indices obvious.); and
encoding the connectivity information frames (Graziosi in ¶ [0007] “…The connectivity of the mesh, that is, the vertices and the triangles of the surface patch, are encoded using video-based compression techniques”; ¶ [0008] “…Data from implementing video-based mesh compression with the vertices location and connectivity information is encapsulated in a vertex video component structure”. Thus Graziosi teaches encoding connectivity information in frame form. Faramarzi in ¶ [0007] “…encode the first and second frames to generate a first bitstream…encode the connectivity information to generate a second bitstream... generate a compressed bitstream by multiplexing the first bitstream and the second bitstream”. Thus, Faramarzi teaches separate bitstream treatment for frame information and connectivity information).
Therefore, it would have been obvious to a person of ordinary skill in the art prior to the effective filing date of the claimed invention to have modified Graziosi in view of Faramarzi with the teachings of Khodakovsky. Graziosi recognizes that ordering affects connectivity coding, teaching that “the order of the vertices affect the coding of connectivity,” and that “the vertices may be sent in any preferred order, so the order generated from connectivity encoding can be used.” Khodakovsky supplies an ordering technique directly applicable to that recognized need, teaching that “The ring of the vertex is an ordered list of faces which are incident to the vertex,” that “the ring of the selected vertex is traversed in a prescribed order,” and that “the vertices incident to the face are traversed in the prescribed order.” In view of Graziosi’s recognition that ordering affects coding, and Faramarzi’s frame treatment of vertex-indexed mesh data, a person of ordinary skill in the art would have been motivated to apply Khodakovsky’s prescribed-order face and vertex traversal to the combined system in order to improve consistency, organization, and coding efficiency of patch-local connectivity information before packing and encoding. This would have been an application of a known ordering technique in the same field of mesh encoding to obtain the predictable result of a more structured ordering of faces and associated vertex information for connectivity coding.
Regarding claims 16 and 19: the claims limitations are similar to those of claims 2 and 5; therefore, rejected in the same manner as applied above.
Claim(s) 3 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Graziosi (US 20220108483) in view of Faramarzi (US 20200286261), Khodakovsky (US 7098916), and Hannuksela (US 20130272372).
Regarding claim 3:
Graziosi in view of Faramarzi and Khodakovsky teach the limitations of claim 1 as applied above.
Graziosi in view of Faramarzi and Khodakovsky does not specifically teach: wherein each block is mapped to a particular slice of a connectivity information frame.
However, Hannuksela in the same area of video coding teaches: wherein each block is mapped to a particular slice of a connectivity information frame (¶ [0099] “In a HEVC WD5, pictures are divided into slices and tiles. A slice may be a sequence of treeblocks but (when referring to a so-called fine granular slice) may also have its boundary within a treeblock at a location where a transform unit and prediction unit coincide. Treeblocks within a slice are coded and decoded in a raster scan order” Thus, Hannuksela teaches a known video coding arrangement in which frame content is partitioned into slices and local block structure are associated with those slices).
Therefore, it would have been obvious to a person with ordinary skill in the art before the effective filing date of the claimed invention to have modified Graziosi in view of Faramarzi and Khodakovsky combination by the teaching of Hannuksela because of the following reasons: (a) it would allow the system to reorder and encode video data, (¶ [0099], Hannuksela); and (b) to overcome the issue that transmitting an uncompressed point cloud from one electronic device to another uses significant bandwidth due to the size and complexity of the data as taught by Faramarzi at ¶ [0044].
Regarding claim 17: the claim limitations are similar to those of claim 3; therefore, rejected in the same manner as applied above.
Claim(s) 8 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Graziosi (US 20220108483) in view of Faramarzi (US 20200286261), Khodakovsky (US 7098916), and Oh (US 20210227232).
Regarding claim 8:
Graziosi in view of Faramarzi and Khodakovsky teach the limitations of claim 1 as applied above.
Graziosi in view of Faramarzi and Khodakovsky does not specifically teach: wherein the encoding the connectivity information frames is based on a video codec, the video codec indicated in a sequence parameter set, a picture parameter set, or a supplemental enhancement information associated with the encoded connectivity information frames.
However, Oh in the same area of video coding teaches: wherein the encoding the connectivity information frames is based on a video codec, the video codec indicated in a sequence parameter set, a picture parameter set, or a supplemental enhancement information associated with the encoded connectivity information frames (¶ [0647] “Each sample stream NAL unit may contain one of an atlas parameter set, for example, ASPS, AAPS, or AFPS, one or more atlas tile group ... and SEIs”; and further teaches that “The ASPS may contain syntax elements that apply to zero or more entire coded atlas sequences (CASs)”) in ¶ [0648]. Oh also teaches that “setupUnit is a sample_stream_nal_unit( ) instance containing an atlas sequence parameter set, an atlas frame parameter set, or a declarative SEI atlas NAL unit” in ¶ [1559], and that “atlasParameterSet is a sample_stream_vpcc_unit( ) instance containing atlas sequence parameter set, atlas frame parameter set associated with this group of samples” in ¶ [1564]. Additionally, Oh teaches that “sei is a sample_stream_vpcc_unit( ) instance containing SEI information associated with this group of samples” in ¶ [1572], and that “seiNALUnit is a sample_stream_nal_unit( ) instance containing SEI information associated with this group of samples” in ¶ [1575]. Thus, Oh teaches the claimed feature of encoding based on a video codec indicated in a sequence parameter set (ASPS), a picture parameter set (AFPS), or supplemental enhancement information associated with the coded frames.
Therefore, it would have been obvious to a person with ordinary skill in the art before the effective filing date of the claimed invention to have modified Graziosi in view of Faramarzi and Khodakovsky with Oh. Graziosi in view of Faramarzi and Khodakovsky teaches frame-based encoding of mesh connectivity information, Oh teaches this missing limitation. A skilled artisan would have been motivated to incorporate Oh’s known parameter-set and SEI signaling into the combined frame-based mesh coding system in order to explicitly convey codec-related decoding information for the coded connectivity frames, thereby improving stream parsing and decoder configuration. Applying Oh’s signaling technique would have yielded the predictable result of a coded connectivity-frame stream in which the video codec is indicated through sequence and/or frame parameter sets or supplemental enhancement information.
Regarding claim 20: the claim limitations are similar to those of claim 8; therefore, rejected in the same manner as applied above.
Allowable Subject Matter
Claims 9-14 are allowed.
The following is an examiner’s statement of reasons for allowance:
Regarding claim 9: the cited prior art either alone or in combination fails to disclose, teach, or suggest “determining differential values of the sorted vertex indices and a constant value based on a video coded bit depth for encoding the connectivity information frames, wherein the differential values are encoded as connectivity coding samples in the blocks” in the context of the claim as a whole.
Regarding claims 10-14: the claims depend directly or indirectly from claim 9; therefore, allowed at least for similar reasons.
Claims 4, 6-7, and 18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to WASSIM MAHROUKA whose telephone number is (571)272-2945. The examiner can normally be reached Monday-Thursday 8:00-5:00 EST.
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, Stephen Koziol can be reached at (408) 918-7630. 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.
/WASSIM MAHROUKA/Primary Examiner, Art Unit 2665