DETAILED ACTION
This action is responsive to the Amendments and Remarks received 08/21/2025 in which claims 2, 3, 7, 9, 13, 14, 17, 18, 22, and 24 are cancelled, claims 1, 12, 16, 20, 28, and 29 are amended, and no claims are added as new claims.
Response to Arguments
Examiner incorporates herein previous Responses to Arguments.
On page 14 of the Remarks, Applicant contends the prior art of record does not teach or suggest the features added by way of amendment drawn to a predictor palette having different maximum sizes based on whether the tree types are single tree or dual tree. Examiner disagrees. As explained in the prosecution file, when the chroma components have their own palettes, rather than sharing a palette with luma, the prior art teaches reducing the palette and palette predictor sizes to avoid increasing overall memory usage. Specifically, as the prior art explains, when single tree is used, the palette predictor table contains triplets for luma and the two chroma channels whereas when the palette is used for a dual tree partition, each of the luma and chroma components can have their own tables. If the maximum size constraint for the large single tree table is also used as the maximum size constraint of the separate luma and chroma tables, those separate tables would obviously each have more entries than the single tree’s single, triplet table, thus undesirably increasing memory requirements when dual tree is enabled. Because it would be undesirable to have dual tree undergo such a memory penalty and because it would be undesirable to have more palette predictors for dual tree than single tree, the skilled artisan would have found it obvious to establish different maximum size constraints between single tree and dual tree. See the rationale used for the rejection of claim 1 for additional explanation. Accordingly, in view of the prior art of record, the claimed invention is obvious to one of ordinary skill in the art under 35 U.S.C. 103.
Other claims are not argued separately. Remarks, 15.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim 20 is rejected under 35 U.S.C. 102(a)(1) as being anticipated by a prior art DVD or similar. Claim 20 is a product-by-process claim, which means the claim must be structurally distinguishable over the prior art without regard to the process by which it is made. Because the method steps are given no patentable weight, the claim is drawn to nothing more than a non-transitory computer readable medium storing video data, which a prior art DVD or similar anticipated prior to Applicant’s filing date.
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 of this title, 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, 4, 8, 10–12, 16, 20, 22, 23, 25, 26, and 29 are rejected under 35 U.S.C. 103 as being unpatentable over Lai (US 2017/0257630 A1), Ye (US 2020/0092546 A1), and Yu (US 2015/0381994 A1).
Regarding claim 1, the combination of Lai, Ye, and Yu teaches or suggests a method of video processing, comprising: determining, for a conversion between a first video unit of a video comprising a luma block and two chroma blocks and a bitstream of the video, that a prediction mode is applied to the luma block and the two chroma blocks, respectively, wherein in the prediction mode, reconstructed samples are represented by a set of representative color values (Examiner notes the skilled artisan recognizes this as palette mode; Lai, Abstract: teaches palette mode), and the set of representative color values comprises at least one of 1) palette predictors, 2) escaped samples, or 3) palette information included in the bitstream (Lai, ¶ 0015: teaches escape pixels for palette coding mode; Lai, Abstract and ¶ 0017: teach palette predictors are palette tables used for the preceding block); constructing, a first palette for the luma block based on a first predictor palette, wherein the first palette is used to derive reconstructed samples of the luma block (Examiner notes the skilled artisan recognizes this as palette mode; Lai, Abstract: teaches palette mode; Lai, Abstract and ¶ 0017: teach palette predictors are palette tables used for the preceding block); constructing, a second palette for the two chroma blocks based on a second predictor palette, wherein the second palette is used to derive reconstructed samples of the two chroma blocks (Ye, ¶¶ 0222–0224: teaches Cr and Cb color components can share a palette such that after coding, for example, Cr components, the predictor palette would not be updated with Cr-related palette information since the palette updating would have occurred for Cb using Cb-related palette information; Examiner notes this specific teaching was used for a previous version of the claim, but still teaches the broader concept that the art teaches chroma palettes); and performing the conversion based on the first palette and the second palette (Lai, Abstract: teaches using palette mode for coding samples to be reconstructed at the decoder; As explained, supra, at least Ye teaches palettes for luma and chroma components); wherein the prediction mode is applied to a third video block and a third palette is constructed for the third video block based on a third predictor palette, when the third block satisfies a set of conditions, updating the third predictor palette based on the third palette for the third video block is disabled, wherein the set of conditions comprise (a) the third video block is a chroma block and (b) an area of the third video block is not larger than a preset threshold (Yu, ¶ 0085: teaches the palette predictor is not updated if the CU size of the current block is larger than a threshold size; Examiner notes the art recognizes area as a conventional way of defining block size; Ye, ¶¶ 0222–0224: teaches Cr and Cb color components can share a palette such that after coding, for example, Cr components, the predictor palette would not be updated with Cr-related palette information since the palette updating would have occurred for Cb using Cb-related palette information; Examiner notes this specific teaching was used for a previous version of the claim, but still teaches the broader concept that the art teaches chroma palettes), wherein the third predictor palette has different maximum sizes for video blocks between a tree type of single tree and a tree type of dual tree (Ye, ¶ 0167: teaches the sizes can be signaled in the bitstream; Ye, Abstract and ¶¶ 0100–0102: teach that when dual tree is on, the split tree structure for luma is different than the split tree structure for chroma and that separate palette modes can be used for luma and chroma; Ye, ¶ 0167: teaches one of the differences between the separate palette modes is that maximum palette predictor size of chroma blocks can be different than luma blocks; Ye, ¶ 0095: teaches the palette predictor is a list of palette entries that grows as each palette coded block is encountered and to maintain a threshold size a FIFO process is implemented; Obviously, if the threshold max for the predictor palette is three times as big as any one palette used for a block, then after the first palette block is coded, the predictor palette only contains palette entries used for the first block, then after the second block is coded, the predictor palette would be theoretically larger and contain palette entries used for coding the first and second palette blocks, and so on; Therefore, Ye’s teaching of a growing palette predictor as palette blocks are coded teaches the palette predictor size changes for different video blocks; see also Ye, ¶ 0167: teaching the maximum palette predictor size can be different based on whether the block is a luma block or a chroma block; Ye, ¶ 0095: teaches that not only is the palette predictor subject to a maximum threshold size, the palette size is also restricted to a limit; Ye, ¶ 0141, Table 6: teaches a current palette size variable and a palette_max_size variable, which teaches to the skilled artisan that a current palette size can be different for a given block and that it grows until reaching a maximum threshold before entries are capped; see also next), wherein the luma block and the two chroma blocks have tree type of dual tree (Ye, ¶¶ 0092 and 0208: teaches the palette predictor can have three color components and that when luma and chroma have the same partition, i.e. single tree, then they can share the same palette mode; Ye, ¶¶ 0205–0208: teaches that when the color components are treated separately, the luma component can have its own information and the chroma components can share palette parameters; see also Ye, ¶ 0209: explaining that when dual tree is used, palette syntax information indicates whether the current tree corresponds to luma or chroma components; Ye, ¶ 0102: teaches the disclosed features of JVET-0336 are incorporated into the teachings of the publication; see also Chao (JVET-0336) (cited under the Conclusion Section of this Office Action), Section 1: teaches that when dual tree is on, there is a palette for luma and a palette for chroma (Cb and Cr) and when dual tree is off, i.e. single tree, the palette has all three color components, Y, Cb, Cr jointly contained therein), wherein indications of a size of the first palette and indications of a size of the second palette are explicitly signaled separately, and wherein sizes of the first predictor palette and the second predictor palette are implicitly signaled (Ye, ¶ 0167: teaches the sizes can be signaled in the bitstream; Ye, Abstract and ¶¶ 0100–0102: teach that when dual tree is on, the split tree structure for luma is different than the split tree structure for chroma and that separate palette modes can be used for luma and chroma; Ye, ¶ 0167: teaches one of the differences between the separate palette modes is that maximum palette predictor size of chroma blocks can be different than luma blocks; Ye, ¶ 0095: teaches the palette predictor is a list of palette entries that grows as each palette coded block is encountered and to maintain a threshold size a FIFO process is implemented; Obviously, if the threshold max for the predictor palette is three times as big as any one palette used for a block, then after the first palette block is coded, the predictor palette only contains palette entries used for the first block, then after the second block is coded, the predictor palette would be theoretically larger and contain palette entries used for coding the first and second palette blocks, and so on; Therefore, Ye’s teaching of a growing palette predictor as palette blocks are coded teaches the palette predictor size changes for different video blocks; see also Ye, ¶ 0167: teaching the maximum palette predictor size can be different based on whether the block is a luma block or a chroma block; Ye, ¶ 0095: teaches that not only is the palette predictor subject to a maximum threshold size, the palette size is also restricted to a limit; Ye, ¶ 0141, Table 6: teaches a current palette size variable and a palette_max_size variable, which teaches to the skilled artisan that a current palette size can be different for a given block and that it grows until reaching a maximum threshold before entries are capped).
One of ordinary skill in the art, before the effective filing date of the claimed invention, would have been motivated to combine the elements taught by Lai, with those of Ye, because both references are drawn to the same field of endeavor and both references are stating prior art parameters of palette coding mode (both Lai and Ye are drawn to palette predictor initialization) such that the skilled artisan would consult their work when endeavoring to practice palette coding for video compression. Furthermore, such a combination represents a mere combination of prior art elements (those disclosed in the references), according to known methods (adjusting coding algorithms is a straightforward process of modifying the software code to implement the calculation or constraint), to yield a predictable result (a more efficient or more robust coding tool used in the video compression standard). Thus, the combination represents a mere combination of prior art elements, according to known methods, to yield a predictable result. This rationale applies to all combinations of Lai and Ye used in this Office Action unless otherwise noted.
One of ordinary skill in the art, before the effective filing date of the claimed invention, would have been motivated to combine the elements taught by Lai and Ye, with those of Yu, because all three references are drawn to the same field of endeavor such that one wishing to practice palette coding would be led to their relevant teachings and all three references are stating prior art parameters of palette coding mode such that the skilled artisan would consult their work when endeavoring to practice palette coding for video compression. Furthermore, such a combination represents a mere combination of prior art elements (those disclosed in the references), according to known methods (adjusting coding algorithms is a straightforward process of modifying the software code to implement the calculation or constraint), to yield a predictable result (a more efficient or more robust coding tool used in the video compression standard). Thus, the combination represents a mere combination of prior art elements, according to known methods, to yield a predictable result. This rationale applies to all combinations of Lai, Ye, and Yu used in this Office Action unless otherwise noted.
Regarding claim 4, the combination of Lai, Ye, and Yu teaches or suggests the method of claim 29, wherein the variable is initialized to 0 when starting a parsing of a CTB syntax (While Lai does not explicitly teach when initialization occurs, Examiner finds the mere meaning of the word “initialization” means “first” or “at the beginning”; Furthermore, it is well settled in software programming that variables are initialized prior to implementing the software algorithms; Examiner does not find the temporal aspect of initializing a variable to be patentable in view of the level of skill in the art; Lai, ¶ 0033).
Regarding claim 8, the combination of Lai, Ye, and Yu teaches or suggests the method of claim 7, wherein a maximum size of the third predictor palette is a fixed integer value (Ye, ¶ 0167: teaches the sizes can be signaled in the bitstream, but are still fixed integer values according to signaling).
Regarding claim 10, the combination of Lai, Ye, and Yu teaches or suggests the method of claim 1, wherein the conversion includes encoding the first video unit into the bitstream (Lai, ¶ 0026: teaches encoding and decoding).
Regarding claim 11, the combination of Lai, Ye, and Yu teaches or suggests the method of claim 1, wherein the conversion includes decoding the first video unit from the bitstream (Lai, ¶ 0026: teaches encoding and decoding).
Claim 12 lists the same elements as claim 1, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 1 applies to the instant claim.
Claim 16 lists the same elements as claim 1, but in CRM form rather than method form. Therefore, the rationale for the rejection of claim 1 applies to the instant claim.
Claim 20 lists the same elements as claim 1, but is drawn to the product produced by the method (so-called product-by-process claim) rather than the method. Therefore, the rationale for the rejection of claim 1 applies to the instant claim.
Claim 23 lists the same elements as claim 8, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 8 applies to the instant claim.
Claim 25 lists the same elements as claim 10, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 10 applies to the instant claim.
Claim 26 lists the same elements as claim 11, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 11 applies to the instant claim.
Regarding claim 29, the combination of Lai, Ye, and Yu teaches or suggests the method of claim 1, wherein a variable specifying a size of the third predictor palette is initialized to 0 when a coding when a coding tree block (CTB) comprising the third video block is a first CTB in a slice or a tile (Lai, ¶ 0024: teaches the first block in a tile or slice has its palette predictor reset to 0; see also, Lai, ¶¶ 0033 and 0043: teaching initialization to zero; Ye, ¶ 0198: teaches that when a flag indicates no specific palette initialization process, the PredictorPaletteSize is initialized to 0), wherein the third predictor palette comprises three color components when a single tree is applied to the third video block, wherein the third predictor palette comprises two chroma color components when a dual tree is applied to the third video block and the third video block is a chroma block, wherein the predictor palette comprises one color component when a dual tree is applied to the third video block and the third video block is a luma block (Ye, ¶¶ 0092 and 0208: teaches the palette predictor can have three color components and that when luma and chroma have the same partition, i.e. single tree, then they can share the same palette mode; Ye, ¶¶ 0205–0208: teaches that when the color components are treated separately, the luma component can have its own information and the chroma components can share palette parameters; see also Ye, ¶ 0209: explaining that when dual tree is used, palette syntax information indicates whether the current tree corresponds to luma or chroma components; Ye, ¶ 0102: teaches the disclosed features of JVET-0336 are incorporated into the teachings of the publication; see also Chao (JVET-0336) (cited under the Conclusion Section of this Office Action), Section 1: teaches that when dual tree is on, there is a palette for luma and a palette for chroma (Cb and Cr) and when dual tree is off, i.e. single tree, the palette has all three color components, Y, Cb, Cr jointly contained therein), and wherein the size of the third predictor palette changes for different video blocks (Ye, ¶ 0095: teaches the palette predictor is a list of palette entries that grows as each palette coded block is encountered and to maintain a threshold size a FIFO process is implemented; Obviously, if the threshold max for the predictor palette is three times as big as any one palette used for a block, then after the first palette block is coded, the predictor palette only contains palette entries used for the first block, then after the second block is coded, the predictor palette would be theoretically larger and contain palette entries used for coding the first and second palette blocks, and so on; Therefore, Ye’s teaching of a growing palette predictor as palette blocks are coded teaches the palette predictor size changes for different video blocks; see also Ye, ¶ 0167: teaching the maximum palette predictor size can be different based on whether the block is a luma block or a chroma block), and palettes of different sizes are constructed for different video blocks (Ye, ¶ 0095: teaches that not only is the palette predictor subject to a maximum threshold size, the palette size is also restricted to a limit; Ye, ¶ 0141, Table 6: teaches a current palette size variable and a palette_max_size variable, which teaches to the skilled artisan that a current palette size can be different for a given block and that it grows until reaching a maximum threshold before entries are capped; see also Ye, ¶ 0167: teaching the maximum palette size can be different based on whether the block is a luma block or a chroma block).
Claims 27 and 28 are rejected under 35 U.S.C. 103 as being unpatentable over Lai, Ye, Yu, and Misra (US 2017/0127058 A1).
Regarding claim 27, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 29, wherein the variable specifying the size of the third predictor palette is initialized to 0 when (1) a value of an entropy coding synchronization flag is equal to 1, (2) the CTB comprising the third video block is a first CTB in a CTB row of a tile, and (3) a predefined spatial neighbouring block is unavailable (Examiner interprets the synch flag as invoking wavefront parallel processing (WPP); Lai, ¶ 0026: explains that when WPP is enabled, each row of CTUs is processed in parallel such that the synchronization point is second block (as opposed to the first) in the row above so that the current row can rely on information from the top-left block; In other words, the top row starts earlier in time than the second row so that certain blocks in the first row are available for establishing predictions for the second row (and so forth); Examiner notes this claim merely requires the first block in a tile or slice be initialized to 0 when WPP is enabled; Lai, ¶ 0024: teaches the first block in a tile or slice has its palette predictor reset to 0 when WPP is enabled; Examiner notes original claim 5 is evidence that when WPP is enabled, it does not matter whether the spatial neighboring block is available or not; In other words, these recited requirements are redundant), and wherein a location of a top-left luma sample of the predefined spatial neighbouring block is (x0, y0 – CtbSizeY), where (x0, y0) denotes a location of the top-left luma sample of the CTB comprising the third video block, and where CtbSizeY denotes a size of the CTB (Lai, ¶ 0024 et seq.: teaches how WPP works with palette mode and particularly how the palette prediction process is initialized under WPP; Examiner interprets this claim as stating that the neighboring block that would not be available would be the block in the above-row; For example, if the block rows have 8x8 blocks, the 0,0 pixel position for a block in the second row would be equivalent to 0,8 for the picture, such that subtracting 8-8 for the y-coordinate value would yield the 0,0 pixel position for the block above (in the first the row); In any event, Examiner finds the content of this claim represents simple block math possessed by anyone skilled in the art such that Lai’s disclosure clearly subsumes such subject matter in teaching the row-by-row processing of WPP; Misra, ¶ 0210: teaches y0 – CtbSizeY for obtaining the top-left luma sample of the spatial neighboring block; It is noted Misra also teaches palette tables and WPP).
One of ordinary skill in the art, before the effective filing date of the claimed invention, would have been motivated to combine the elements taught by Lai and Ye, with those of Misra, because all three references are drawn to the same field of endeavor such that one wishing to practice the art of palette coding in video compression and particularly how to address blocks with respect to the various sizes available in which to partition the image would be led to their combined teachings with respect to using pre-existing syntax elements signaling the size of coding tree units and because such a combination represents a mere combination of prior art elements (those disclosed in the references), according to known methods (adjusting coding algorithms is a straightforward process of modifying the software code to implement the calculation or constraint), to yield a predictable result (a more efficient or more robust coding tool used in the video compression standard). This rationale applies to all combinations of Lai, Ye, and Misra used in this Office Action unless otherwise noted.
Regarding claim 28, the combination of Lai, Ye, Yu, and Misra teaches or suggests the apparatus of claim 12, wherein a variable specifying a size of the third predictor palette is initialized to 0 when a coding when a coding tree block (CTB) comprising the third video block is a first CTB in a slice or a tile (Lai, ¶ 0024: teaches the first block in a tile or slice has its palette predictor reset to 0; see also, Lai, ¶¶ 0033 and 0043: teaching initialization to zero; Ye, ¶ 0198: teaches that when a flag indicates no specific palette initialization process, the PredictorPaletteSize is initialized to 0), wherein the third predictor palette comprises three color components when a single tree is applied to the third video block, wherein the third predictor palette comprises two chroma color components when a dual tree is applied to the third video block and the third video block is a chroma block, wherein the predictor palette comprises one color component when a dual tree is applied to the third video block and the third video block is a luma block (Ye, ¶¶ 0092 and 0208: teaches the palette predictor can have three color components and that when luma and chroma have the same partition, i.e. single tree, then they can share the same palette mode; Ye, ¶¶ 0205–0208: teaches that when the color components are treated separately, the luma component can have its own information and the chroma components can share palette parameters; see also Ye, ¶ 0209: explaining that when dual tree is used, palette syntax information indicates whether the current tree corresponds to luma or chroma components; Ye, ¶ 0102: teaches the disclosed features of JVET-0336 are incorporated into the teachings of the publication; see also Chao (JVET-0336) (cited under the Conclusion Section of this Office Action), Section 1: teaches that when dual tree is on, there is a palette for luma and a palette for chroma (Cb and Cr) and when dual tree is off, i.e. single tree, the palette has all three color components, Y, Cb, Cr jointly contained therein), and wherein the size of the third predictor palette changes for different video blocks (Ye, ¶ 0095: teaches the palette predictor is a list of palette entries that grows as each palette coded block is encountered and to maintain a threshold size a FIFO process is implemented; Obviously, if the threshold max for the predictor palette is three times as big as any one palette used for a block, then after the first palette block is coded, the predictor palette only contains palette entries used for the first block, then after the second block is coded, the predictor palette would be theoretically larger and contain palette entries used for coding the first and second palette blocks, and so on; Therefore, Ye’s teaching of a growing palette predictor as palette blocks are coded teaches the palette predictor size changes for different video blocks; see also Ye, ¶ 0167: teaching the maximum palette predictor size can be different based on whether the block is a luma block or a chroma block), and palettes of different sizes are constructed for different video blocks (Ye, ¶ 0095: teaches that not only is the palette predictor subject to a maximum threshold size, the palette size is also restricted to a limit; Ye, ¶ 0141, Table 6: teaches a current palette size variable and a palette_max_size variable, which teaches to the skilled artisan that a current palette size can be different for a given block and that it grows until reaching a maximum threshold before entries are capped; see also Ye, ¶ 0167: teaching the maximum palette size can be different based on whether the block is a luma block or a chroma block); wherein the variable specifying the size of the third predictor palette is initialized to 0 when (1) a value of an entropy coding synchronization flag is equal to 1, (2) the CTB comprising the third video block is a first CTB in a CTB row of a tile, and (3) a predefined spatial neighbouring block is unavailable (Examiner interprets the synch flag as invoking wavefront parallel processing (WPP); Lai, ¶ 0026: explains that when WPP is enabled, each row of CTUs is processed in parallel such that the synchronization point is second block (as opposed to the first) in the row above so that the current row can rely on information from the top-left block; In other words, the top row starts earlier in time than the second row so that certain blocks in the first row are available for establishing predictions for the second row (and so forth); Examiner notes this claim merely requires the first block in a tile or slice be initialized to 0 when WPP is enabled; Lai, ¶ 0024: teaches the first block in a tile or slice has its palette predictor reset to 0 when WPP is enabled; Examiner notes original claim 5 is evidence that when WPP is enabled, it does not matter whether the spatial neighboring block is available or not; In other words, these recited requirements are redundant), and wherein a location of a top-left luma sample of the predefined spatial neighbouring block is (x0, y0 – CtbSizeY), where (x0, y0) denotes a location of the top-left luma sample of the CTB comprising the third video block, and where CtbSizeY denotes a size of the CTB (Lai, ¶ 0024 et seq.: teaches how WPP works with palette mode and particularly how the palette prediction process is initialized under WPP; Examiner interprets this claim as stating that the neighboring block that would not be available would be the block in the above-row; For example, if the block rows have 8x8 blocks, the 0,0 pixel position for a block in the second row would be equivalent to 0,8 for the picture, such that subtracting 8-8 for the y-coordinate value would yield the 0,0 pixel position for the block above (in the first the row); In any event, Examiner finds the content of this claim represents simple block math possessed by anyone skilled in the art such that Lai’s disclosure clearly subsumes such subject matter in teaching the row-by-row processing of WPP; Misra, ¶ 0210: teaches y0 – CtbSizeY for obtaining the top-left luma sample of the spatial neighboring block; It is noted Misra also teaches palette tables and WPP).
Claims 5, 15, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Lai, Ye, Misra, and Gisquet (US 2018/0077411 A1).
Regarding claim 5, the combination of Lai, Ye, Misra, and Gisquet teaches or suggests the method of claim 27, wherein a synchronization process for the third predictor palette is invoked when the value of entropy coding synchronization flag is equal to 1, the predefined spatial neighbouring block is available, and a value of a sequence palette enabled flag is equal to 1 (Examiner interprets the synch flag as invoking wavefront parallel processing (WPP); Lai, ¶ 0026: explains that when WPP is enabled, each row of CTUs is processed in parallel such that the synchronization point is the second block (as opposed to the first) in the row above so that the current row can rely on information from the top-left block; In other words, the top row starts earlier in time than the second row so that certain blocks in the first row are available for establishing predictions for the second row (and so forth); Examiner notes this claim merely requires the first block in a tile or slice be initialized to 0 when WPP is enabled; Lai, ¶ 0024: teaches the first block in a tile or slice has its palette predictor reset to 0 when WPP is enabled; Examiner notes original claim 2 is evidence that when WPP is enabled, it does not matter whether the spatial neighboring block is available or not; In other words, these recited requirements are redundant; Regarding the sequence palette flag, Examiner notes the flag that enables palette coding is often found in the sequence parameter set (SPS); Gisquet, ¶ 0036: teaches the palette coding mode enable flag is typically in the SPS).
One of ordinary skill in the art, before the effective filing date of the claimed invention, would have been motivated to combine the elements taught by Lai, Ye, and Misra, with those of Gisquet, because all four references are drawn to the same field of endeavor such that one wishing to practice in the art of palette coding and wavefront parallel processing would be led to their teachings and both references are stating prior art parameters of palette coding mode (both Gisquet and Lai are drawn to palette predictor initialization) such that the skilled artisan would consult their work when endeavoring to practice palette coding for video compression. Furthermore, such a combination represents a mere combination of prior art elements (those disclosed in the references), according to known methods (adjusting coding algorithms is a straightforward process of modifying the software code to implement the calculation or constraint), to yield a predictable result (a more efficient or more robust coding tool used in the video compression standard). Thus, the combination represents a mere combination of prior art elements, according to known methods, to yield a predictable result. This rationale applies to all combinations of Lai, Ye, Misra, and Gisquet used in this Office Action unless otherwise noted.
Claim 15 lists the same elements as claim 5, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 5 applies to the instant claim.
Claim 19 lists the same elements as claim 5, but in CRM form rather than method form. Therefore, the rationale for the rejection of claim 5 applies to the instant claim.
Claims 6 and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Lai, Ye, Misra, and Li (US 2017/0238001 A1).
Regarding claim 6, the combination of Lai, Ye, Misra, and Li teaches or suggests the method of claim 27, wherein the entropy coding synchronization flag specifying whether a specific synchronization process and a specific storage process for context variables are invoked is included in the bitstream (Li, ¶ 0127: teaches WPP can be enabled in the SPS; see also e.g. Li, ¶ 0148).
One of ordinary skill in the art, before the effective filing date of the claimed invention, would have been motivated to combine the elements taught by Lai, Ye, and Misra, with those of Li, because all four references are drawn to the same field of endeavor and the references overlap in describing prior art parameters of palette coding mode (both Li and Lai are drawn to palette predictor initialization) such that the skilled artisan would consult their work when endeavoring to practice palette coding for video compression. Furthermore, such a combination represents a mere combination of prior art elements (those disclosed in the references), according to known methods (adjusting coding algorithms is a straightforward process of modifying the software code to implement the calculation or constraint), to yield a predictable result (a more efficient or more robust coding tool used in the video compression standard). Thus, the combination represents a mere combination of prior art elements, according to known methods, to yield a predictable result. This rationale applies to all combinations of Lai, Ye, Misra, and Li used in this Office Action unless otherwise noted.
Claim 21 lists the same elements as claim 6, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 6 applies to the instant claim.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Ye (US 2020/0092546 A) teaches making changes to how palette prediction works according to whether dual tree is enabled or not (e.g. ¶¶ 0133 and 0135).
Seregin (US 2017/0078683 A1) teaches palette initialization (e.g. Abstract) and setting the size of the palette predictor to zero (e.g. ¶¶ 0031 and 0138).
Chuang (US 2020/0288145 A1) teaches palette initialization for a wavefront (e.g. ¶ 0028).
Sun et al., “Palette Mode – A New Coding Tool In Screen Content Coding Extensions of HEVC,” 2015 IEEE International Conference on Image Processing (ICIP), 2015, pp. 2409-2413, doi: 10.1109/ICIP.2015.7351234. This publication is a good base reference for understanding palette mode.
Chao et al., “CE15-2: Palette mode of HEVC SCC,” JVET-L0336-v4, 12th Meeting: Macao, CN, October 2018. The publication teaches that when dual tree is enabled, a palette is applied on Luma (Y component) and Chroma (Cb and Cr components) separately.
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any extension fee pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Michael J Hess whose telephone number is (571)270-7933. The examiner can normally be reached Mon - Fri 9:00am-5:30pm.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, William Vaughn can be reached on (571)272-3922. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8933.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MICHAEL J HESS/Examiner, Art Unit 2481