DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 11/25/2024 is/are compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Office Action Summary
Claim(s) 6-10, 16-20, and 24-32 is/are canceled.
Claim(s) 1-2, 4-5, 11-12, and 14-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Yea et al (US 2021/0006837 A1), further in view of Zhang et al (US 2021/0168386 A1).
Claim(s) 3 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Yea et al (US 2021/0006837 A1) and Zhang et al (US 2021/0168386 A1), further in view of Lim et al (US 2007/0115156 A1).
Claim(s) 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Lim et al (US 2007/0115156 A1).
Claim(s) 22-23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Lim et al (US 2007/0115156 A1), further in view of Zhu (US 2025/0063195 A1).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-2, 4-5, 11-12, and 14-15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Yea et al (US 2021/0006837 A1), further in view of Zhang et al (US 2021/0168386 A1).
Regarding claim(s) 1, Sinharoy teaches a method for decoding a point cloud, the point cloud being represented in a one-dimension (1D) array comprising a set of points (Paragraph [0030]: “a point cloud is a collection of data points defined by a coordinate system […] Each point of a point cloud is defined by attributes such as a geometric position of each point within the three coordinates and a texture such as color, intensity, normal, reflectance, and the like”; Paragraph [0185]: “The process decodes the compressed bitstream (1304)”; and Paragraph [0144]: “X is a one-dimension array that contains the original coordinate values […]”), the method comprising:
identifying, by at least one processor (Figure 2: “Processor(s) 210 and Memory 230”; and Paragraph [0048]: “The processor 210 executes instructions that can be stored in a memory 230”), (Paragraph [0154]: “Projecting points in a non-optimal order can store each attribute of the point cloud in a non-structural way. For example, an attribute values can be added sequentially to a rectangular region on a 2-D frame in a row-wise or column-wise order as created via a raster scan”); and
decoding, by the at least one processor (Figure 2; and Paragraph [0048]), a bitstream (Figure 13; and Paragraph [0187]: “The process decodes the compressed bitstream (1304)”)
Sinharoy fails to teach identifying, by at least one processor, a maximum number of transform coefficients used to predict an attribute value of a point in the set of points; and decoding, by the at least one processor, a bitstream to identify the maximum number of transform coefficients based on a logarithmic format minus a fixed integer.
However, Yea teaches to identifying, by at least one processor (Figure 8; and Paragraph [0121]), a maximum number of transform coefficients used to predict an attribute value of a point in the set of points (Figure 1A; Paragraph [0013]: “A maximum number of predictor candidates MaxNumCand is defined and is encoded into an attributes header. In the current implementation, the maximum number of predictor candidates MaxNumCand is set to equal to numberOfNearestNeighborsInPrediction+1 and is used in encoding and decoding predictor indices with a truncated unary binarization”; Paragraph [0020]: “a plurality of transform coefficients corresponding to attributes of the point cloud”; Paragraph [0048]: “The prediction module 430 receives the transferred attributes from the attributes transfer module 420, and receives the obtained LoD of each of the points from the LoD generator 425. The prediction module 430 obtains prediction residuals (values) respectively of the received attributes by applying a prediction algorithm to the received attributes in an order based on the received LoD of each of the points”; Paragraph [0074]: ““NumLevel” is the most significant bit of the maximum values of reflectance*quantWeight and may be sent to a decoder […] The syntax element “reflectance” may be the lifting transform coefficient […] prediction residuals of each Prediction step end up being lifting coefficients at that corresponding decomposition level”; and Paragraph [0093]: “obtain lift transform coefficients corresponding to attributes of a point cloud”); and
decoding, by the at least one processor, a bitstream to identify the maximum number of transform coefficients (Paragraph [0013]; and Paragraph [0100] – Paragraph [0102]: “obtaining code 710 and decoding code 720. The decoding code 720 may be configured to cause the at least one processor to decode coded transform coefficients corresponding to attributes of the point cloud. The obtaining code 710 may be configured to cause the at least one processor to obtain (e.g. reconstruct) the attributes based on the decoded lift transform coefficients”).
Sinharoy teaches decoding a point cloud and processing attribute values associated with points of the point cloud. Yea teaches obtaining transform coefficients corresponding to attributes of a point cloud, performing attribute prediction using prediction residuals and lifting transform coefficients, and defining a maximum number of predictor candidates (MaxNumCand) that is encoded into an attributes header and used in encoding and decoding predictor indices.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the point cloud decoding system of Sinharoy in view of Yea. The motivation for this combination of references would have been to incorporate the transform coefficient based attribute prediction techniques of Yea into the point cloud decoding system of Sinharoy in order to provide transform coding gain advantages and to enable more immersive forms of interaction and communication through efficient point cloud coding and decoding. The resulting combination would have predictably improved the efficiency of coding and decoding attribute information associated with points in a point cloud while maintaining accurate attribute reconstruction. This motivation for the combination of Sinharoy and Yea is/are supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Sinharoy and Yea fail to teach decoding, by the at least one processor, a bitstream to identify the maximum number of transform coefficients based on a logarithmic format minus a fixed integer. However, Zhang teaches decoding, by the at least one processor (Figure 18), a bitstream to identify the maximum number of transform coefficients based on a logarithmic format minus a fixed integer (Figure 14; Paragraph [0068]: “The parser (520) may also extract from the coded video sequence information such as transform coefficients, quantizer parameter values, motion vectors, and so forth”; Paragraph [0141]: “the node size can be represented in log2 scale, and is denoted by d=0,1, . . . , M−1, where M−1 is the node size of the root node and M is the maximum number of octree partition depths (also referred to as levels in some examples)”; Paragraph [0146]: “[…] gps_depth_first_node_size_log2_minus_1 is specified in the geometry parameter set. The parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_1, for example, according to (Eq. 1)” […] and Paragraph [0149]: “the parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_2, for example, according to (Eq. 2)”).
Sinharoy teaches decoding a point cloud and processing attribute values associated with points of the point cloud. Yea teaches obtaining transform coefficients corresponding to attributes of a point cloud, performing attribute prediction using prediction residuals and lifting transform coefficients, and defining a maximum number of predictor candidates (MaxNumCand) that is encoded into an attributes header and used in encoding and decoding predictor indices. Zhang teaches extracting transform coefficients from a coded bitstream, processing transform coefficients using associated control information, and signaling parameters using a logarithmic representation offset by a fixed integer, such as gps_depth_first_node_size_log2_minus_1 and gps_depth_first_node_size_log2_minus_2.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the point cloud decoding system of Sinharoy in view of Yea and further in view of Zhang. The motivation for this combination of references would have been to provide transform coding gain advantages while reducing cost and time to store and transmit data through efficient encoding, decoding, and signaling of prediction related parameters and transform coefficient related information. This motivation for the combination of Sinharoy, Yea, and Zhang is supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Regarding claim(s) 2 and 12, Sinharoy as modified by Yea and Zhang teaches the method of claim 1, where Yea teaches further comprising:
obtaining, by the at least one processor (Figure 8; and Paragraph [0121]), a plurality of transform coefficients associated with neighboring points in point cloud, wherein a number of transform coefficients in the plurality of transform coefficients is equal to the maximum number of transform coefficients (Figure 1A; Paragraph [0013]: “A maximum number of predictor candidates MaxNumCand is defined and is encoded into an attributes header. In the current implementation, the maximum number of predictor candidates MaxNumCand is set to equal to numberOfNearestNeighborsInPrediction+1 and is used in encoding and decoding predictor indices with a truncated unary binarization”; Paragraph [0020]: “a plurality of transform coefficients corresponding to attributes of the point cloud”; and Paragraph [0048]: “The prediction module 430 receives the transferred attributes from the attributes transfer module 420, and receives the obtained LoD of each of the points from the LoD generator 425. The prediction module 430 obtains prediction residuals (values) respectively of the received attributes by applying a prediction algorithm to the received attributes in an order based on the received LoD of each of the points”).
Regarding claim(s) 4 and 14, Sinharoy as modified by Yea and Zhang teaches the method of claim 2, further comprising:
predicting, by the at least one processor, the attribute value of the point based on the plurality of transform coefficients (where Sinharoy teach in Figure 2: “Processor(s) 210 and Memory 230”; Paragraph [0048]: “The processor 210 executes instructions that can be stored in a memory 230”; and Paragraph [0154]: “Projecting points in a non-optimal order can store each attribute of the point cloud in a non-structural way. For example, an attribute values can be added sequentially to a rectangular region on a 2-D frame in a row-wise or column-wise order as created via a raster scan”; and where Yea teaches in Figure 1A; Figure 8; Paragraph [0121]; Paragraph [0020]: “a plurality of transform coefficients corresponding to attributes of the point cloud”; Paragraph [0048]: “The prediction module 430 receives the transferred attributes from the attributes transfer module 420, and receives the obtained LoD of each of the points from the LoD generator 425. The prediction module 430 obtains prediction residuals (values) respectively of the received attributes by applying a prediction algorithm to the received attributes in an order based on the received LoD of each of the points”; and Paragraph [0093]: “obtain lift transform coefficients corresponding to attributes of a point cloud”).
Regarding claim(s) 5 and 15, Sinharoy as modified by Yea and Zhang teaches the method of claim 1, wherein the maximum number of transform coefficients is identified based on Y = 1 << (log2YminusX +X), where Y is the maximum number of transform coefficients as indicated in the bitstream using a log2YminusX syntax element (where Yea teaches in Paragraph [0013]: “A maximum number of predictor candidates MaxNumCand is defined and is encoded into an attributes header. In the current implementation, the maximum number of predictor candidates MaxNumCand is set to equal to numberOfNearestNeighborsInPrediction+1 and is used in encoding and decoding predictor indices with a truncated unary binarization” and where Zhang teaches in Figure 13; Figure 14; Paragraph [0068]: “The parser (520) may also extract from the coded video sequence information such as transform coefficients, quantizer parameter values, motion vectors, and so forth”; Paragraph [0141]: “the node size can be represented in log2 scale, and is denoted by d=0,1, . . . , M−1, where M−1 is the node size of the root node and M is the maximum number of octree partition depths (also referred to as levels in some examples)”; Paragraph [0146]: “As shown by (1310), gps_depth_first_node_size_log2_minus_1 is specified in the geometry parameter set. The parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_1, for example, according to (Eq. 1)” […] and Paragraph [0149]: “the parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_2, for example, according to (Eq. 2)”).
Regarding claim(s) 11, Sinharoy teaches a method for encoding a point cloud, the point cloud being represented in a one-dimension (1D) array comprising a set of points (Paragraph [0030]: “a point cloud is a collection of data points defined by a coordinate system […] Each point of a point cloud is defined by attributes such as a geometric position of each point within the three coordinates and a texture such as color, intensity, normal, reflectance, and the like”; Paragraph [0048]: “The instructions stored in memory 230 can also include instructions for encoding a point cloud in order to generate a bitstream”; and Paragraph [0144]: “X is a one-dimension array that contains the original coordinate values […]”), the method comprising:
identifying, by at least one processor (Figure 2: “Processor(s) 210 and Memory 230”; and Paragraph [0048]: “The processor 210 executes instructions that can be stored in a memory 230”), (Paragraph [0154]: “Projecting points in a non-optimal order can store each attribute of the point cloud in a non-structural way. For example, an attribute values can be added sequentially to a rectangular region on a 2-D frame in a row-wise or column-wise order as created via a raster scan”); and
encoding, by the at least one processor (Figure 2; and Paragraph [0048]), a bitstream (Paragraph [0048]: “The instructions stored in memory 230 can also include instructions for encoding a point cloud in order to generate a bitstream”)
Sinharoy fails to teach identifying, by at least one processor, a maximum number of transform coefficients used to predict an attribute value of a point in the set of points; and encoding, by the at least one processor, a bitstream to indicate the maximum number of transform coefficients based on a logarithmic format minus a fixed integer.
However, Yea teaches to identifying, by at least one processor (Figure 8; and Paragraph [0121]), a maximum number of transform coefficients used to predict an attribute value of a point in the set of points (Figure 1A; Paragraph [0013]: “A maximum number of predictor candidates MaxNumCand is defined and is encoded into an attributes header. In the current implementation, the maximum number of predictor candidates MaxNumCand is set to equal to numberOfNearestNeighborsInPrediction+1 and is used in encoding and decoding predictor indices with a truncated unary binarization”; Paragraph [0020]: “a plurality of transform coefficients corresponding to attributes of the point cloud”; Paragraph [0048]: “The prediction module 430 receives the transferred attributes from the attributes transfer module 420, and receives the obtained LoD of each of the points from the LoD generator 425. The prediction module 430 obtains prediction residuals (values) respectively of the received attributes by applying a prediction algorithm to the received attributes in an order based on the received LoD of each of the points”; Paragraph [0074]: ““NumLevel” is the most significant bit of the maximum values of reflectance*quantWeight and may be sent to a decoder […] The syntax element “reflectance” may be the lifting transform coefficient […] prediction residuals of each Prediction step end up being lifting coefficients at that corresponding decomposition level”; and Paragraph [0093]: “obtain lift transform coefficients corresponding to attributes of a point cloud”); and
decoding, by the at least one processor, a bitstream to identify the maximum number of transform coefficients (Paragraph [0013]; and Paragraph [0100] – Paragraph [0102]: “obtaining code 710 and decoding code 720. The decoding code 720 may be configured to cause the at least one processor to decode coded transform coefficients corresponding to attributes of the point cloud. The obtaining code 710 may be configured to cause the at least one processor to obtain (e.g. reconstruct) the attributes based on the decoded lift transform coefficients”).
Sinharoy teaches decoding a point cloud and processing attribute values associated with points of the point cloud. Yea teaches obtaining transform coefficients corresponding to attributes of a point cloud, performing attribute prediction using prediction residuals and lifting transform coefficients, and defining a maximum number of predictor candidates (MaxNumCand) that is encoded into an attributes header and used in encoding and decoding predictor indices.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the point cloud decoding system of Sinharoy in view of Yea. The motivation for this combination of references would have been to incorporate the transform coefficient based attribute prediction techniques of Yea into the point cloud decoding system of Sinharoy in order to provide transform coding gain advantages and to enable more immersive forms of interaction and communication through efficient point cloud coding and decoding. The resulting combination would have predictably improved the efficiency of coding and decoding attribute information associated with points in a point cloud while maintaining accurate attribute reconstruction. This motivation for the combination of Sinharoy and Yea is/are supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Sinharoy and Yea fail to teach decoding, by the at least one processor, a bitstream to identify the maximum number of transform coefficients based on a logarithmic format minus a fixed integer. However, Zhang teaches decoding, by the at least one processor (Figure 18), a bitstream to identify the maximum number of transform coefficients based on a logarithmic format minus a fixed integer (Figure 14; Paragraph [0068]: “The parser (520) may also extract from the coded video sequence information such as transform coefficients, quantizer parameter values, motion vectors, and so forth”; Paragraph [0141]: “the node size can be represented in log2 scale, and is denoted by d=0,1, . . . , M−1, where M−1 is the node size of the root node and M is the maximum number of octree partition depths (also referred to as levels in some examples)”; Paragraph [0146]: “[…] gps_depth_first_node_size_log2_minus_1 is specified in the geometry parameter set. The parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_1, for example, according to (Eq. 1)” […] and Paragraph [0149]: “the parameter d.sub.t can be determined based on gps_depth_first_node_size_log2_minus_2, for example, according to (Eq. 2)”).
Sinharoy teaches decoding a point cloud and processing attribute values associated with points of the point cloud. Yea teaches obtaining transform coefficients corresponding to attributes of a point cloud, performing attribute prediction using prediction residuals and lifting transform coefficients, and defining a maximum number of predictor candidates (MaxNumCand) that is encoded into an attributes header and used in encoding and decoding predictor indices. Zhang teaches extracting transform coefficients from a coded bitstream, processing transform coefficients using associated control information, and signaling parameters using a logarithmic representation offset by a fixed integer, such as gps_depth_first_node_size_log2_minus_1 and gps_depth_first_node_size_log2_minus_2.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the point cloud decoding system of Sinharoy in view of Yea and further in view of Zhang. The motivation for this combination of references would have been to provide transform coding gain advantages while reducing cost and time to store and transmit data through efficient encoding, decoding, and signaling of prediction related parameters and transform coefficient related information. This motivation for the combination of Sinharoy, Yea, and Zhang is supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Claim(s) 3 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Yea et al (US 2021/0006837 A1) and Zhang et al (US 2021/0168386 A1), further in view of Lim et al (US 2007/0115156 A1).
Regarding claim(s) 3 and 13, Sinharoy as modified by Yea and Zhang teaches the method of claim 2, where Yea teaches further comprising:
identifying, by the at least one processor (Figure 8; and Paragraph [0121]), (Figure 1A; Paragraph [0013]: “A maximum number of predictor candidates MaxNumCand is defined and is encoded into an attributes header. In the current implementation, the maximum number of predictor candidates MaxNumCand is set to equal to numberOfNearestNeighborsInPrediction+1 and is used in encoding and decoding predictor indices with a truncated unary binarization”; Paragraph [0020]: “a plurality of transform coefficients corresponding to attributes of the point cloud”; and Paragraph [0048]: “The prediction module 430 receives the transferred attributes from the attributes transfer module 420, and receives the obtained LoD of each of the points from the LoD generator 425. The prediction module 430 obtains prediction residuals (values) respectively of the received attributes by applying a prediction algorithm to the received attributes in an order based on the received LoD of each of the points”); and
where Zhang teaches maintaining, by the at least one processor (Figure 18; and Paragraph [0111]), each of the plurality of transform coefficients (Figure 14; Paragraph [0068]: “The parser (520) may also extract from the coded video sequence information such as transform coefficients, quantizer parameter values, motion vectors, and so forth”; and Paragraph [0072]: “The scaler/inverse transform unit (551) receives a quantized transform coefficient as well as control information, including which transform to use, block size, quantization factor, quantization scaling matrices, etc. as symbol(s) (521) from the parser (520)”).
Sinharoy, Yea, and Zhang fail to teach to identifying, by the at least one processor, a maximum buffer size based on the maximum number of transform coefficients; and maintaining, by the at least one processor, each of the plurality of transform coefficients in a buffer equal to the maximum buffer size.
However, Lim teaches to identifying, by the at least one processor (Figure 21; Figure 22; and Paragraph [0124]), a maximum buffer size based on the maximum number of transform coefficients (Paragraph [0094]: “MaxNumOfCoefficient has the value of 16 in the case of 4.times.4. This variable indicates the maximum possible number of coefficient in the block. If the value of PreviousRunCnt is less than MaxNumOfCoefficient at Step S408, then at Step S412 the EOB symbol is encoded in the bitstream”); and
maintaining, by the at least one processor (Figure 21; Figure 22; and Paragraph [0124]), each of the plurality of transform coefficients in a buffer equal to the maximum buffer size (Figure 26; and Paragraph [0095]: “[…] If the EOB is equal to 1, all the non-zero transform coefficients for the current block are successfully decoded. If the EOB is not equal to 1 at Step S506, then at Step S510 PreviousRunCnt is calculated based on the equation 10. If PreviousRunCnt is less than MaxNumOfCoefficient at Step S512, the next code of the current block is decoded. Otherwise, if PreviousRunCnt is not less than MaxNumOfCoefficient, all the non-zero transform coefficients for the current block are decoded successfully”).
Yea teaches defining a maximum-number parameter (MaxNumCand) associated with prediction processing and transform-coefficient-related operations. Zhang teaches extracting transform coefficients from a coded bitstream and processing the transform coefficients using decoder side structures and control information. Lim teaches a maximum coefficient-count parameter (MaxNumOfCoefficient), which represents the maximum possible number of coefficients in a block and is used to govern coefficient processing operations.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the method of Sinharoy in view of Yea and Zhang and further in view of Lim. The motivation for this combination of references would have been to provide transform coding gain advantages, reduce cost and time to store and transmit data, and improve the efficiency of transform coefficient coding and decoding by maintaining storage resources sized according to the maximum number of coefficients expected to be processed. The resulting combination would have predictably enabled maintaining transform coefficients in a buffer sized according to a maximum coefficient count parameter while efficiently supporting coefficient decoding and prediction operations. This motivation for the combination of Sinharoy, Yea, Zhang, and Lim is/are supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Claim(s) 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Lim et al (US 2007/0115156 A1).
Regarding claim(s) 21, Sinharoy teaches a method for decoding a point cloud, the point cloud being represented in a one-dimension (1D) array comprising a set of points (Paragraph [0030]: “a point cloud is a collection of data points defined by a coordinate system […] Each point of a point cloud is defined by attributes such as a geometric position of each point within the three coordinates and a texture such as color, intensity, normal, reflectance, and the like”; Paragraph [0185]: “The process decodes the compressed bitstream (1304)”; and Paragraph [0144]: “X is a one-dimension array that contains the original coordinate values […]”), the method comprising:
where Lim teaches identifying, by at least one processor (Figure 21; Figure 22; and Paragraph [0124]), a maximum zero-run length associated with a plurality of attribute values associated with one or more points in the set of points (Figure 23: Calculate MaxPossibleRun S111; Paragraph [0005]: “the Run is a symbol indicating the number of consecutive coefficients each having a value of zero in a block that includes quantized transform coefficients, and the Level is a symbol indicating a value of a non-zero coefficient that follows the Run”; and Paragraph [0024]: “comparing the code number with a maximum code number in the table […] comparing the code number with the summed value of the maximum code number and two times value of the number of coefficients in a block”);
in response to a coded zero-run length being less than or equal to the maximum zero-run length, decoding, by the at least one processor, a bitstream in a single-loop process based on the zero-run length (Figure 23: S111, S112, YES Branch, and S114; Paragraph [0068] – Paragraph [0071]: “After the type of Exp-Golomb code used had been determined, at Step S102 the variable length code is read from the bitstream. Next at Step S104, from the read-out stream the Exp-Golomb code is decoded to obtain a CodeNum […] At Step S108, variables MaxCodeNum, MaxLevel and MaxRun are determined based on the selected CodeNum table […] MaxRun represents a maximum value of Run indicated by the table”; Paragraph [0072]: “Next, at Step S110, the obtained CodeNum is compared with a MaxCodeNum to see whether the CodeNum is equal to or less than the MaxCodeNum. If the CodeNum is equal to or less than the MaxCodeNum, then at Step S114 the CodeNum is decoded to obtain EOB or Run and Level information using the selected CodeNum table”; Paragraph [0075]: “Next, at Step S112, the obtained CodeNum is compared with a value derived from MaxCodeNum and MaxPossibleRun”; and Paragraph [0077]: “if the obtained CodeNum is equal to or more than a total sum of MaxCodeNum, two times value of MaxPossibleRun and a value of three, then at Step S112, such CodeNum is classified as the type-2 Escape Code”); and
in response to the coded zero-run length being greater than the maximum zero-run length, decoding, by the at least one processor, the bitstream based on the maximum zero-run length and the coded zero-run length in a multi-loop process (Figure 23: S112, NO Branch, S132, S136, S138, and S142; Paragraph [0075]: “Next, at Step S112, the obtained CodeNum is compared with a value derived from MaxCodeNum and MaxPossibleRun”; and Paragraph [0077]: “if the obtained CodeNum is equal to or more than a total sum of MaxCodeNum, two times value of MaxPossibleRun and a value of three, then at Step S112, such CodeNum is classified as the type-2 Escape Code”; Paragraph [0078]: “Next at Step S132, AbsLevelDiff is calculated using the following equation 6 and the value of Sign has a value of CodeNum & 0x01. Note that "&" represents logical AND operation […] (Equation 6)”; and Paragraph [0079]: “Next at Step S134, in order to decode a variable length code indicating Run, k=0 type Exp-Golomb codes are used. Then at Step 136, a next variable length code is read from the bitstream. At Step S138, the read-out variable length code is the Exp-Golomb code and is decoded to obtain a CodeNum. At Step 142, the value of Run is equal to the value of CodeNum”).
Sinharoy teaches decoding a point cloud represented in a one-dimensional array comprising a set of points and processing attribute information associated with points of the point cloud. Lim teaches representing a run as the number of consecutive zero coefficients in a block, determining a maximum run related parameter (e.g., MaxPossibleRun) during decoding, and selecting different decoding procedures depending on whether the coded run value falls within or exceeds the maximum run boundary. Specifically, Lim teaches decoding using a normal decoding path when the coded run value is within the allowable range and invoking an additional decoding procedure involving a second variable length code decoding operation when the coded run value exceeds the allowable range.
Therefore, it would have been obvious to one of ordinary skill in the art to combine Sinharoy and Lim before the effective filing date of the claimed invention. The motivation for this combination of references would have been to incorporate Lim's run-length decoding technique into Sinharoy’s point cloud decoding system in order to increase the coding efficiency by more efficiently decoding run-length information and eliminating unnecessary redundancy associated with run-length coding. This motivation for the combination of Sinharoy and Lim is supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Claim(s) 22-23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Sinharoy et al (US 2019/0122393 A1) in view of Lim et al (US 2007/0115156 A1), further in view of Zhu (US 2025/0063195 A1).
Regarding claim(s) 22, Sinharoy as modified by Lim teaches the method of claim 21, but do not specifically teach wherein the identifying, by the at least one processor, the maximum zero-run length associated with the plurality of attribute values associated with the one or more points in the set of points comprises: in response to the bitstream being transform-encoded, identifying the maximum zero-run length as a maximum delay (Nc) indicated in the bitstream; and in response to the bitstream not being transform-encoded, identifying the maximum zero-run length as a predetermined value.
However, Zhu teaches in response to the bitstream being transform-encoded (Paragraph [0032]: “An attribute transform algorithm (for example, DCT or Haar) is used to group and transform attribute information, and a transform coefficient is quantized”; and Paragraph [0034]: “The quantized prediction residual information or transform coefficient may use run-length coding and arithmetic coding to achieve final compression”), identifying the maximum zero-run length as a maximum delay (Nc) indicated in the bitstream (Paragraph [0071]: “the limit parameter including one or both of a cache limit parameter and a delay limit parameter”; Paragraph [0073]: “setting the limit parameter to a variable value, and encapsulating the set limit parameter into a coded code stream formed by coding, […] and dynamically adjusting the value of the limit parameter during the coding process, and encapsulating the dynamically adjusted limit parameter into a coded code stream formed by coding”; and Paragraph [0085]: “The limit parameter includes one or both of a cache limit parameter (coeffLengthControl) and a delay limit parameter (maxNumofCoeff)”); and
in response to the bitstream not being transform-encoded, identifying the maximum zero-run length as a predetermined value (Paragraph [0073]: “setting the limit parameter to a variable value, and encapsulating the set limit parameter into a coded code stream formed by coding, […] and dynamically adjusting the value of the limit parameter during the coding process, and encapsulating the dynamically adjusted limit parameter into a coded code stream formed by coding. If the limit parameter is not set, the limit parameter is a default value. Various setting manners are used to limit the limit parameter, and the coding delay may be flexibly controlled, which may determine the coding performance of attribute information of the point cloud in various scenarios”).
Sinharoy teaches decoding a point cloud represented in a one-dimensional array comprising a set of points and processing attribute information associated with the points of the point cloud. Lim teaches decoding run-length information by determining a maximum run-related parameter and selecting different decoding procedures depending on whether a coded run value falls within or exceeds the allowable run range. Zhu further teaches transform-encoding attribute information, signaling a limit parameter (including a delay limit parameter) in a coded bitstream, and using a default value when the limit parameter is absent.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combined teachings suggest identifying a maximum zero-run length from a transform-encoded bitstream when such a parameter is signaled, and otherwise identifying the maximum zero-run length using a predetermined value. The motivation for this combination of references would have been to improve coding efficiency while adaptively controlling the decoding process according to coding parameters carried in the bitstream, thereby reducing unnecessary signaling overhead and providing flexibility for different coding configurations, as taught by Zhu. The resulting combination would have predictably enabled a decoder to determine the applicable zero-run-length limit from the coded bitstream when available and to use a predetermined default value when such signaling is absent. This motivation for the combination of Sinharoy, Lim, and Zhu is/are supported by KSR exemplary rationale (G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. MPEP 2141 (III).
Regarding claim(s) 23, Sinharoy as modified by Lim and Zhu teaches the method of claim 22, where Zhu teaches wherein Nc is calculated as the maximum number of transform coefficients (maxNumofCoeff) syntax element multiplied by a coefficient length control (CoeffLengthControl) syntax element coded in the bitstream (Paragraph [0071] – Paragraph [0073]: “the limit parameter including one or both of a cache limit parameter and a delay limit parameter […] setting the limit parameter to a variable value, and encapsulating the set limit parameter into a coded code stream formed by coding, […] and dynamically adjusting the value of the limit parameter during the coding process, and encapsulating the dynamically adjusted limit parameter into a coded code stream formed by coding”; Paragraph [0085]: “The limit parameter includes one or both of a cache limit parameter (coeffLengthControl) and a delay limit parameter (maxNumofCoeff)”; and Paragraph [0177]: “a cache limit parameter and a delay limit parameter […] if the cache limit parameter is in unit of a multiple relationship and the value of the cache limit parameter is Y1, the cache limit point number threshold is Y1 times the delay limit point number threshold; and if the delay limit parameter is in unit of a multiple relationship and the value of the delay limit parameter is Y2, the delay limit point number threshold is Y2 times the cache limit point number threshold”).
Relevant Prior Art Directed to State of Art
Vosoughi et al (US 2020/0013215 A1) are relevant prior art not applied in the rejection(s) above. Vosoughi discloses an electronic apparatus, comprising: a memory configured to store a three-dimensional (3D) point cloud that corresponds to at least one object in a 3D space; and circuitry configured to: generate a plurality of voxels from the 3D point cloud; generate a plurality of hierarchical transform coefficients by application of a hierarchical transform scheme on the generated plurality of voxels; classify the plurality of hierarchical transform coefficients into a plurality of sub-bands of hierarchical transform coefficients, based on a weight of each of the plurality of hierarchical transform coefficients; generate a plurality of quantized levels by application of a different quantization scheme of a set of different quantization schemes on each sub-band of hierarchical transform coefficients of the plurality of sub-bands of hierarchical transform coefficients; and encode the generated plurality of quantized levels.
Park et al (US 2021/0211721 A1) are relevant prior art not applied in the rejection(s) above. Park discloses a method for transmitting point cloud data, the method comprising: partitioning point cloud data based on slices; merging a slice of the slices with an adjacent slice when a number of points in the slice is less than a minimum number of points or splitting the slice when the number of points in the slice greater than a maximum number of points; encoding the point cloud data; and, transmitting a bitstream including the point cloud data and signaling information for the point cloud data.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JONGBONG NAH whose telephone number is (571) 272-1361. The examiner can normally be reached M - F: 9:00 AM - 5:30 PM.
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, ONEAL MISTRY can be reached on 313-446-4912. 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.
/JONGBONG NAH/Examiner, Art Unit 2674