DETAILED ACTION
This action is responsive to the Amendments and Remarks received 03/16/2026 in which claims 11, 12, and 15 are cancelled, claims 1, 10, 13, 14, and 18–20 are amended, and claim 23 is added as a new claim.
Response to Arguments
Examiner incorporates herein previous Responses to Arguments.
In view of the amendments to claim 20, the rejection under 35 U.S.C. 102 is withdrawn. Remarks, 10.
On pages 10–14 of the Remarks, Applicant contends the combination of Lai, Ye, Yu, and Gisguet fails to teach or suggest the features added by way of amendment. Examiner finds the arguments moot in view of the new grounds of rejection necessitated by amendment. Specifically, the rejection now relies on the additional teachings of Misra. The amendments are interpreted in view of Applicant’s published paragraphs [0060]–[0071]. Misra teaches the same features for synchronization of palette information based on the synch flag, based on availability of an above block (availableFlagT), and utilizes palette prediction variables such as TableStateIdxWpp, TableMpsValWpp, TableStatCoeffWpp, PredictorPaletteSizeWpp, and TablePredictorPaletteEntriesWpp (see e.g. Misra, ¶¶ 0210–0214, 0316–0320, and 0445).
Other claims are not argued separately. Remarks, 14.
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–9, 13, 14, 16–23 are rejected under 35 U.S.C. 103 as being unpatentable over Lai (US 2017/0257630 A1), Ye (US 2020/0092546 A1), Yu (US 2015/0381994 A1), and Misra (US 2017/0127058 A1).
Regarding claim 1, the combination of Lai, Ye, Yu, and Misra teaches or suggests a method of video processing, comprising: determining, for a conversion between a current video block of a video and a bitstream of the video, that a prediction mode is applied to the current video block, 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 palette for the current video block based on a palette prediction table, wherein the palette is used to derive the reconstructed samples of the current video block (Lai, Abstract and ¶ 0017: teach palette predictors are palette tables used for the preceding block); and performing the conversion based on the palette (Lai, Abstract: teaches using palette mode for coding samples to be reconstructed at the decoder); wherein a palette prediction table of a video block with a tree type of single tree has a different maximum size than a palette prediction table of a video block with a tree type of dual tree (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, ¶¶ 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 updating the palette prediction table is allowed when a local dual tree is applied to the current video block and the current video block is a luma block (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; see also, supra, regarding Ye’s teachings with respect to palette prediction tables and single and dual tree), and wherein the updating comprises a reset process (Ye, ¶ 0092: teaches the palette being reset at slice or tile boundaries; see also Lai, e.g. ¶ 0024: teaching palette predictor tables reset at the beginning of CTU rows), and wherein a synchronization process for the palette prediction table is invoked when a value of an entropy coding synchronization flag is equal to 1 (Examiner notes the following is interpreted in view of Applicant’s published paragraphs [0060]–[0071]; Examiner notes Misra teaches these same checks throughout the Misra publication; Misra, ¶ 0210: teaches the synch process is invoked with the entropy_coding_sync_enabled_flag equal to 1; Misra, ¶ 0445: teaches the entropy_coding_sync_enabled_flag is equal to 1 which is an equivalent teaching, but also has the palette components of the decision tree included therein, thus linking these teachings across Misra), a coding tree block (CTB) comprising the current video block is a first CTB in a CTB row of a tile, a predefined spatial neighboring block is available (Examiner notes this limitation does not say it is the first CTB in the tile, just that it is a first CTB in a row of a tile; Misra, ¶¶ 0209–0215: teaches that for CTUs other than the first CTU in a tile (if this is true, then initialization, not synchronization), including first CTBs of a row, and if the sync flag is equal to 1, and if there is an available block T (z-scan availability), then the synchronization process is followed, and otherwise the initialization process is followed; see also Misra, ¶ 0445), and a value of a palette enabled flag is equal to 1 (Misra, ¶¶ 0282–0284: teaches the palette mode enable flag is found in the SPS and is equal to 1 to enable palette mode; Misra, ¶ 0251).
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.
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 Yu, with those of Misra, because all four 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, Yu, and Misra used in this Office Action unless otherwise noted.
Regarding claim 2, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the maximum size of the palette prediction table 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; see also Misra, e.g. ¶ 0443: teaching a max stored palette size of 32).
Regarding claim 3, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the size of the palette prediction table (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 the size of the palette changes for different coding 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).
Regarding claim 4, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 3, wherein indications of the size of the palette prediction table and the size of the palette for the current video block are explicitly signaled in the bitstream and, optionally, wherein palettes of different sizes are constructed for a luma block and a chroma block corresponding to the luma block (Ye, ¶ 0167: teaching the maximum palette size can be different based on whether the block is a luma block or a chroma block and that the sizes can be signaled in the bitstream).
Regarding claim 5, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the current video block is a luma video block with a tree type of dual tree, and wherein palettes of different sizes are constructed for the current video block and a chroma video block corresponding to the current video block (Ye, ¶ 0167: teaching the maximum palette size can be different based on whether the block is a luma block or a chroma block; 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).
Regarding claim 6, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 5, wherein the current video block is a luma video block with a tree type of dual tree, and wherein palettes of different sizes are constructed for the current video block and a chroma video block corresponding to the current video block (Ye, ¶ 0167: teaching the maximum palette size can be different based on whether the block is a luma block or a chroma block and that the sizes can be signaled in the bitstream).
Regarding claim 7, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the current video block is a luma video block with a tree type of single tree, and wherein the current video block and a chroma video block corresponding to the current video block share the palette (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, which likewise teaches or suggests sharing a palette for single tree mode).
Regarding claim 8, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the palette prediction table comprises three color components when a single tree is applied to the current video block, wherein the palette prediction table comprises two chroma color components when a dual tree is applied to the current video block and the current video block is a chroma block, wherein the palette prediction table comprises one color component when a dual tree is applied to the current video block and the current 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).
Regarding claim 9, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein a variable specifying a size of the palette predictors is initialized to 0 when a coding tree block (CTB) comprising the current video block is a current 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) and, optionally, the variable is initialized to 0 when starting a parsing of a CTB syntax (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; 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 13, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein whether to update the palette prediction table is determined based on a characteristic of the current video block, and wherein the characteristic of the current video block comprises at least one of a color component of the current video block, and dimensions of the current video block (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).
Regarding claim 14, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein updating the palette prediction table is disabled when the local dual tree is applied to the current video block and the current video block is a chroma block, or updating the palette prediction table is allowed when a width of the current video block and a height of the current video block are greater than a predefined 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).
Regarding claim 16, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the conversion includes encoding the current video block into the bitstream (Lai, ¶ 0026: teaches encoding and decoding).
Regarding claim 17, the combination of Lai, Ye, Yu, and Misra teaches or suggests the method of claim 1, wherein the conversion includes decoding the current video block from the bitstream (Lai, ¶ 0026: teaches encoding and decoding).
Claim 18 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 19 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. Therefore, the rationale for the rejection of claim 1 applies to the instant claim.
Claim 21 lists the same elements as claim 2, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 2 applies to the instant claim.
Claim 22 lists the same elements as claim 3, but in apparatus form rather than method form. Therefore, the rationale for the rejection of claim 3 applies to the instant claim.
Claim 23 lists the same elements as claims 2 and 3, but in CRM form rather than method form. Therefore, the rationale for the rejection of claims 2 and 3 applies to the instant claim.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Lai, Ye, Yu, Misra, and Li (US 2017/0238001 A1).
Regarding claim 10, the combination of Lai, Ye, Yu, Misra, and Li teaches or suggests the method of claim 9, wherein the variable specifying the size of the palette predictors is initialized to 0 when a value of the entropy coding synchronization flag is equal to 1, the CTB comprising the current video block is the current CTB in a CTB row of a tile and a predefined spatial neighboring 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), 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; Misra, e.g. ¶¶ 0342–0343: teaches processes for synchronization and storage of palette predictor tables), and optionally, wherein a location of a top-left luma sample of the predefined spatial neighboring block is (x0, y0—CtbSizeY), where (x0, y0) denotes a location of the top-left luma sample of the CTB comprising the current 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, Ye, Yu, and Misra, with those of Li, because all five 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, Yu, Misra, and Li used in this Office Action unless otherwise noted.
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).
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.
Misra (US 2017/0127058 A1) teaches y0 – CtbSizeY for obtaining the top-left luma sample of the spatial neighboring block (Misra, ¶ 0210). It is noted Misra also teaches palette tables and WPP.
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.
Alakuijala (US 2020/0077122 A1) teaches palette size can mean number of entries (¶ 0098).
Gisquet (US 2018/0077411 A1) was used for previous versions of the claims. See prosecution history.
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