Prosecution Insights
Last updated: October 01, 2026
Application No. 18/755,302

Lossy Compression Techniques

Non-Final OA §103
Filed
Jun 26, 2024
Priority
Apr 22, 2020 — continuation of 11/664,816 +1 more
Examiner
BOKHARI, SYED M
Art Unit
2473
Tech Center
2400 — Computer Networks
Assignee
Apple Inc.
OA Round
1 (Non-Final)
83%
Grant Probability
Favorable
1-2
OA Rounds
9m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allowance Rate
713 granted / 861 resolved
+24.8% vs TC avg
Strong +18% interview lift
Without
With
+17.8%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
19 currently pending
Career history
882
Total Applications
across all art units

Statute-Specific Performance

§101
7.9%
-32.1% vs TC avg
§103
75.7%
+35.7% vs TC avg
§102
5.3%
-34.7% vs TC avg
§112
4.4%
-35.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 861 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . In the event the determination of the status of the application as subject to AIA 35U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, anycorrection of the statutory basis for the rejection will not be considered a new ground ofrejection if the prior art relied upon, and the rationale supporting the rejection, would bethe same under either status. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. 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 non-obviousness. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. Claim(s) 21, 37 and 40 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rasmusson et al. (US 8031937 B2) in view of Fenney et al. (US 2020/0007152 A1). Regarding claim 21, Rasmusson et al. teach an apparatus, comprising: graphics processor circuitry configured to process instructions to operate on pixel data (Fig. 5, [39, 41], processing circuit includes a graphics processing unit (GPU) 510. GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels), Rasmusson et al. teach and compression circuitry configured to: access pixel data for a block of pixels being compressed (Fig. 5, [12, 41], GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels; updating one or more of the pixel values to obtain updated pixel values; selectively compressing the updated pixel values using a lossy compression operation or a lossless compression operation. The pixel data retrieved from the frame buffer is conveniently processed in blocks, or "tiles," comprising two or more pixel values), Rasmusson et al. teach determine, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels, using a given lossless compression technique of the multiple different lossless compression techniques (Figs. 2 and 5, [8, 20, 41], GPU 510 is programmed, using software, firmware, or some combination of the two, and/or hardwired to carry out one or more of the methods described herein. lossless compression techniques are selectively applied to keep the accumulated errors introduced by the compression operations to acceptable levels. The Lossless compression techniques are selectively applied to keep the accumulated errors (i.e. size of errors) introduced by the compression operations to acceptable levels. At block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250. (Note: “.tau.” represents error metric value. The lossless compression technique is selected when the size of the sum of accumulated (.tau.accum.) and new value (,tau.new.) are compared with the threshold value (.tau.threshold.) and if the size of the errors exceed the predetermined threshold then a lossless technique is selected for compression technique)), Rasmusson et al. teach detect that none of the multiple different lossless compression techniques meet a threshold compressed data block size (Fig. 2, [20], at block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250, and the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + ,tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach in response to the detection, determine delta values for pixels in the block of pixels according to a lossy compression technique (Fig. 2, [16, 20], in some embodiments, .tau..sub.accum represents the accumulated mean square error for the tile, although other measures, such as the root mean square error, or the maximum error level for any of the pixels in the tile, may be used. Another useful error metric is the sum of absolute differences between the reconstructed pixel values and their "true" values. (Note: the “difference” represents the Delta of the pixel) The choice of which error metric to use generally involves a trade-off between the number of bits needed to represent an error metric value and the precision of control that the error metric facilitates. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + .tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach quantize delta values for the pixels (Fig. 2, [27], pixel values may simply be quantized to a limited set of possible values, thus reducing the number of bits needed to store the values. This quantization process may simply involve truncation of the pixel values, in which case decompression simply requires the adding of zeroes to the truncated values to obtain full-precision data for subsequent processing), Rasmusson et al. teach and store a compressed version of the block of pixels using the quantized deltas (Fig. 2, [20], the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290). Rasmusson et al. teach for selecting of the compression technique based on the threshold compressed data block size. Rasmusson et al., however, fail to teach in parallel different lossless compression techniques. (Emphasis added). Regarding claim 21, Fenney et al. teach determine, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels (Figs. 1 and 20, [0058, 0065, 0069], graphics rendering system 100 that may be implemented in an electronic device, such as a mobile device. The graphics rendering system 100 comprises a host CPU 102, a GPU 104 and a memory 106 (e.g. a graphics memory. Although shown as a single entity, the compression/decompression unit 112 may contain multiple parallel compression and/or decompression units for enhanced performance reasons. The compression threshold may, for example, be defined in terms of a compression ratio, compressed block size (e.g. 128 bytes). In order to provide this guarantee in relation to the amount of compression that is provided. A lossless compression technique is used to compress a block of data and then a test is performed to determine whether the compression threshold is met. In the event that the compression threshold is not met, a lossy compression technique is instead applied to the data block to achieve the compression threshold. The Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. by incorporating the features as taught by Fenney et al. in order to provide a more effective and efficient system that is capable of determining, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels. The motivation is to support an improved method for providing the guaranteed compression according to the compression threshold (see [0069]). Regarding claim 37, Rasmusson et al. teach a method, comprising: processing, by a computing system, instructions to operate on pixel data (Fig. 5, [39, 41], processing circuit includes a graphics processing unit (GPU) 510. GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels. The processing circuit includes a graphics processing unit (GPU) 510 and a frame buffer 520. GPU 510 may be a dedicated graphics rendering device for a personal computer), Rasmusson et al. teach and accessing, by the computing system, pixel data for a block of pixels being compressed (Fig. 5, [12, 41], GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels; updating one or more of the pixel values to obtain updated pixel values; selectively compressing the updated pixel values using a lossy compression operation or a lossless compression operation. The pixel data retrieved from the frame buffer is conveniently processed in blocks, or "tiles," comprising two or more pixel values), Rasmusson et al. teach determining, by the computing system at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels, using a given lossless compression technique of the multiple different lossless compression techniques (Figs. 2 and 5, [8, 20, 41], GPU 510 is programmed, using software, firmware, or some combination of the two, and/or hardwired to carry out one or more of the methods described herein. lossless compression techniques are selectively applied to keep the accumulated errors introduced by the compression operations to acceptable levels. The Lossless compression techniques are selectively applied to keep the accumulated errors (i.e. size of errors) introduced by the compression operations to acceptable levels. At block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250. (Note: “.tau.” represents error metric value. The lossless compression technique is selected when the size of the sum of accumulated (.tau.accum.) and new value (,tau.new.) are compared with the threshold value (.tau.threshold.) and if the size of the errors exceed the predetermined threshold then a lossless technique is selected for compression technique)), Rasmusson et al. teach detecting, by the computing system, that none of the multiple different lossless compression techniques meet a threshold compressed data block size (Fig. 2, [20], at block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250, and the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + ,tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach in response to the detecting, the computing system determining delta values for pixels in the block of pixels according to a lossy compression technique (Fig. 2, [16, 20], in some embodiments, .tau..sub.accum represents the accumulated mean square error for the tile, although other measures, such as the root mean square error, or the maximum error level for any of the pixels in the tile, may be used. Another useful error metric is the sum of absolute differences between the reconstructed pixel values and their "true" values. (Note: the “difference” represents the Delta of the pixel) The choice of which error metric to use generally involves a trade-off between the number of bits needed to represent an error metric value and the precision of control that the error metric facilitates. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + .tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach quantizing, by the computing system, delta values for the pixels (Fig. 2, [27], pixel values may simply be quantized to a limited set of possible values, thus reducing the number of bits needed to store the values. This quantization process may simply involve truncation of the pixel values, in which case decompression simply requires the adding of zeroes to the truncated values to obtain full-precision data for subsequent processing), Rasmusson et al. teach and storing, by the computing system, a compressed version of the block of pixels using the quantized deltas (Fig. 2, [20], the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290). Rasmusson et al. teach for selecting of the compression technique based on the threshold compressed data block size. Rasmusson et al., however, fail to teach in parallel different lossless compression techniques. (Emphasis added). Regarding claim 37, Fenney et al. teach determining, by the computing system at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels (Figs. 1 and 20, [0058, 0065, 0069], graphics rendering system 100 that may be implemented in an electronic device, such as a mobile device. The graphics rendering system 100 comprises a host CPU 102, a GPU 104 and a memory 106 (e.g. a graphics memory. Although shown as a single entity, the compression/decompression unit 112 may contain multiple parallel compression and/or decompression units for enhanced performance reasons. The compression threshold may, for example, be defined in terms of a compression ratio, compressed block size (e.g. 128 bytes). In order to provide this guarantee in relation to the amount of compression that is provided. A lossless compression technique is used to compress a block of data and then a test is performed to determine whether the compression threshold is met. In the event that the compression threshold is not met, a lossy compression technique is instead applied to the data block to achieve the compression threshold. The Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. by incorporating the features as taught by Fenney et al. in order to provide a more effective and efficient system that is capable of determining, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels. The motivation is to support an improved method for providing the guaranteed compression according to the compression threshold (see [0069]). Regarding claim 40, Rasmusson et al. teach a non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations comprising: processing instructions to operate on pixel data (Fig. 5, [39, 41], processing circuit includes a graphics processing unit (GPU) 510. GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels. The processing circuit includes a graphics processing unit (GPU) 510 and a frame buffer 520. GPU 510 may be a dedicated graphics rendering device for a personal computer, workstation, game console, mobile phone, or the like, or may be a general purpose processing system programmed to performed graphics processing operations. GPU 510 may comprise one or more microprocessors, microcontrollers, digital signal processors, and/or customized hardware, and may be implemented as a standalone chip or as part of an application-specific integrated circuit (ASIC) that includes other functions. In many embodiments, GPU 510 comprises on-board random access memory and/or cache memory), Rasmusson et al. teach and accessing pixel data for a block of pixels being compressed (Fig. 5, [12, 41], GPU 510 is programmed, in some embodiments, to process graphics data by: retrieving pixel values from frame buffer 520, the pixel values corresponding to a tile of two or more pixels; updating one or more of the pixel values to obtain updated pixel values; selectively compressing the updated pixel values using a lossy compression operation or a lossless compression operation. The pixel data retrieved from the frame buffer is conveniently processed in blocks, or "tiles," comprising two or more pixel values), Rasmusson et al. teach determining, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels, using a given lossless compression technique of the multiple different lossless compression techniques (Figs. 2 and 5, [8, 20, 41], GPU 510 is programmed, using software, firmware, or some combination of the two, and/or hardwired to carry out one or more of the methods described herein. lossless compression techniques are selectively applied to keep the accumulated errors introduced by the compression operations to acceptable levels. The Lossless compression techniques are selectively applied to keep the accumulated errors (i.e. size of errors) introduced by the compression operations to acceptable levels. At block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250. (Note: “.tau.” represents error metric value. The lossless compression technique is selected when the size of the sum of accumulated (.tau.accum.) and new value (,tau.new.) are compared with the threshold value (.tau.threshold.) and if the size of the errors exceed the predetermined threshold then a lossless technique is selected for compression technique)), Rasmusson et al. teach detecting that none of the multiple different lossless compression techniques meet a threshold compressed data block size (Fig. 2, [20], at block 240, the accumulated error that would result from using the projected compression operation, e.g., the sum of .tau..sub.accum and .tau..sub.new, is compared to a pre-determined threshold value .tau..sub.threshold. If the projected lossy compression operation would result in the accumulated error metric value exceeding the threshold, then a lossless compression operation is performed instead, as shown at block 250, and the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + ,tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach in response to the detecting, determining delta values for pixels in the block of pixels according to a lossy compression technique (Fig. 2, [16, 20], in some embodiments, .tau..sub.accum represents the accumulated mean square error for the tile, although other measures, such as the root mean square error, or the maximum error level for any of the pixels in the tile, may be used. Another useful error metric is the sum of absolute differences between the reconstructed pixel values and their "true" values. (Note: the “difference” represents the Delta of the pixel) The choice of which error metric to use generally involves a trade-off between the number of bits needed to represent an error metric value and the precision of control that the error metric facilitates. On the other hand, if the projected lossy compression operation will not introduce an unacceptable error level, then the lossy compression operation is performed, as shown at block 260. (Note: At the decision block 240, the selection of lossless compression technique is denied when the sum of error rate size (.tau.accum.) + .tau.new) is less than the size of the predetermined threshold (.tao.thershold). In other words, in case the sum of errors is greater than the threshold and none of the lossless compression technique is suitable for compression of that size then a lossy compression technique is used), Rasmusson et al. teach quantizing delta values for the pixels (Fig. 2, [27], pixel values may simply be quantized to a limited set of possible values, thus reducing the number of bits needed to store the values. This quantization process may simply involve truncation of the pixel values, in which case decompression simply requires the adding of zeroes to the truncated values to obtain full-precision data for subsequent processing), Rasmusson et al. teach and storing a compressed version of the block of pixels using the quantized deltas (Fig. 2, [20], the compressed pixel values are stored in (e.g., re-written to) the frame buffer at block 290). Rasmusson et al. teach for selecting of the compression technique based on the threshold compressed data block size. Rasmusson et al., however, fail to teach a non-transitory computer-readable medium, and in parallel different lossless compression techniques. (Emphasis added). Regarding claim 40, Fenney et al. teach a non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations comprising (Fig. 23, [0012], there may be provided computer program code for performing any of the methods described herein. There may be provided non-transitory computer readable storage medium having stored thereon computer readable instructions that, when executed at a computer system, cause the computer system to perform any of the methods described herein), Fenney et al. teach determining, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels (Figs. 1 and 20, [0058, 0065, 0069], graphics rendering system 100 that may be implemented in an electronic device, such as a mobile device. The graphics rendering system 100 comprises a host CPU 102, a GPU 104 and a memory 106 (e.g. a graphics memory. Although shown as a single entity, the compression/decompression unit 112 may contain multiple parallel compression and/or decompression units for enhanced performance reasons. The compression threshold may, for example, be defined in terms of a compression ratio, compressed block size (e.g. 128 bytes). In order to provide this guarantee in relation to the amount of compression that is provided. A lossless compression technique is used to compress a block of data and then a test is performed to determine whether the compression threshold is met. In the event that the compression threshold is not met, a lossy compression technique is instead applied to the data block to achieve the compression threshold. The Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. by incorporating the features as taught by Fenney et al. in order to provide a more effective and efficient system that is capable of using a non-transitory computer-readable medium having instructions stored thereon that are executable by a computing device to perform operations, and determining, at least partially in parallel for multiple different lossless compression techniques, amounts of data needed to represent a compressed version of the block of pixels. The motivation is to support an improved method for providing the guaranteed compression according to the compression threshold (see [0069]). Claim(s) 22-23 and 38 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rasmusson et al. (US 8,031,937 B2) in view of Fenney et al. (US 2020/0007152 A1) as applied to claim 21 above, and further in view of Rasmusson et al. (US 2011/0033127 A1) (Rasmusson’127 hereinafter). Rasmusson et al. and Fenney et al. disclose the claimed limitations as described in paragraph 5 above. Regarding claim 23, Fenney et al. teach wherein the compression circuitry is further configured to: in response to a determination that at least one of the multiple different lossless compression techniques meet the threshold compressed data block size, select and apply one of the lossless compression techniques to generate a compressed version of the block of pixels (Figs. 1 and 20, [0058, 0069], The compression threshold may, for example, be defined in terms of a compression ratio, compressed block size (e.g. 128 bytes). In order to provide this guarantee in relation to the amount of compression that is provided. A lossless compression technique is used to compress a block of data and then a test is performed to determine whether the compression threshold is met. In the event that the compression threshold is not met, a lossy compression technique is instead applied to the data block to achieve the compression threshold. The Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding). Regarding claim 38, Fenney et al. teach further comprising: in response to determining that at least one of the multiple different lossless compression techniques meet the threshold compressed data block size for a second block of pixels, select and apply one of the lossless compression techniques to generate a compressed version of the second block of pixels (Figs. 1 and 20, [0058, 0069], The compression threshold may, for example, be defined in terms of a compression ratio, compressed block size (e.g. 128 bytes). In order to provide this guarantee in relation to the amount of compression that is provided. A lossless compression technique is used to compress a block of data and then a test is performed to determine whether the compression threshold is met. In the event that the compression threshold is not met, a lossy compression technique is instead applied to the data block to achieve the compression threshold. The Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding). Rasmusson et al. and Fenney et al. do not expressly disclose following features; Regarding claim 22, wherein the pixel data is texel data of a texture. Regarding claim 22, Rasmusson’127 teach wherein the pixel data is texel data of a texture [0046], the expression pixel or "block element" refers to an element in a block or encoded representation of a block. This block, in turn, corresponds to a portion of an image, texture or buffer. Thus, a pixel could be a texel (texture element) of a (1D, 2D, 3D) texture, a pixel of a (1D or 2D) image or a voxel (volume element) of a 3D image. Generally, a pixel is characterized with an associated pixel parameter or property value or feature. There are different such characteristic property values that can be assigned to pixels, typically dependent on what kind of pixel block to compress/decompress. For instance, the property value could be a color value assigned to the pixel). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. with Fenney et al. by incorporating the features as taught by Rasmusson’127 in order to provide a more effective and efficient system that is capable of using in which the pixel data is texel data of a texture. The motivation is to support an improved method to prediction-based compression and decompression of pixel blocks (see [0001]). Claim(s) 25 and 33-34 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rasmusson et al. (US 8031937 B2) in view of Fenney et al. (US 2020/0007152 A1) as applied to claim 21 above, and further in view of Yang (US 2021/0304441 A1). Rasmusson et al. and Fenney et al. disclose the claimed limitations as described in paragraph 5 above. Rasmusson et al. and Fenney et al. do not expressly disclose following features; Regarding claim 25, wherein the compression circuitry is configured to quantize delta values using different numbers of bits for different block of pixels of the same graphics surface; regarding claim 33, wherein the multiple different lossless compression techniques include two or more of the following compression techniques: an origin technique that determines deltas between values for pixels in the block of pixels and a value of an origin pixel in the block of pixels; a neighbor technique that determines deltas between values for adjacent pixels in the block of pixels; and a gradient technique that determines deltas between values for pixels in the block of pixels and a value of an origin pixel in the block of pixels added to a gradient value that is based on one or more pixels adjacent to the origin pixel; regarding claim 34, wherein pixel data for the block of pixels includes multiple components per pixel and wherein one or more of the multiple different lossless compression techniques include one or more decorrelation techniques that subtract values from one component from one or more other components. Regarding claim 25, Yang teaches wherein the compression circuitry is configured to quantize delta values using different numbers of bits for different block of pixels of the same graphics surface (Figs. 1 and 2, [0006, 0009, 0065], GPU 104 comprises rendering logic 110, a compression/decompression unit 112. Since the image data (e.g. color data) can be quite large the memory bandwidth associated with writing image data to a buffer in memory and reading the image data from the buffer in memory may be a significant portion of the total memory bandwidth of the graphics processing system and/or the GPU. As a result, the image data is often compressed, via the compression/decompression unit 112, prior to being stored in a buffer and decompressed, via the compression/decompression unit 112, after being read from the buffer. a block of pixel values 202 can be compressed by: determining an origin value (e.g. a base value) for the block 202, choosing (or “determining” or “identifying”) a level within a multi-level difference table (which may be referred to as a multi-level quantized delta table), and for each pixel value 204 in the block 202 using some bits (e.g. 2 bits per pixel value) to select one of the entries at the chosen level of the multi-level difference table. The entries in the multi-level difference table represent differences (i.e. adjustments) from the origin value. A size of a range of values represented by the entries in a level is different for different levels of the multi-level difference table. This allows a level to be selected in dependence upon the size of the range of pixel values within the block of pixel values). Regarding claim 33, Yang teaches wherein the multiple different lossless compression techniques include two or more of the following compression techniques: an origin technique that determines deltas between values for pixels in the block of pixels and a value of an origin pixel in the block of pixels; a neighbor technique that determines deltas between values for adjacent pixels in the block of pixels; and a gradient technique that determines deltas between values for pixels in the block of pixels and a value of an origin pixel in the block of pixels added to a gradient value that is based on one or more pixels adjacent to the origin pixel (Figs. 1-3, [0070], each entry in the multi-level difference table represents a value, which can be used to represent a difference (or a “delta”) between a pixel value and the origin value. In examples, described herein each level comprises the same number of entries. As described above, a size of a range of values represented by the entries in a level is different for different levels of the multi-level difference table. In this way, different levels are suitable for representing blocks of pixel data having different distributions of pixel values within them. For example, some of the levels of the multi-level difference table have entries representing a small range of values, and these levels will be useful for compressing blocks of pixel data in which the pixel values do not vary much; whereas some of the other levels of the multi-level difference table have entries representing a large range of values, and these levels will be useful for compressing blocks of pixel data in which the pixel values do vary a lot. Often there is some correlation between pixel values within a small block, so pixel values within a block of pixel data are often quite similar to each other (e.g. if all of the pixel values are representing the same object in an image). The smaller levels of the multi-level difference table will be useful in these situations and will not introduce large errors into the pixel values. However, the larger levels of the multilevel difference table are still able to compress the blocks for which the pixels in the block are not very similar). Regarding claim 34, Yang teaches wherein pixel data for the block of pixels includes multiple components per pixel and wherein one or more of the multiple different lossless compression techniques include one or more decorrelation techniques that subtract values from one component from one or more other components (Figs. 1-3, [0070, 0113-0116, 0126], a size of a range of values represented by the entries in a level is different for different levels of the multi-level difference table. In this way, different levels are suitable for representing blocks of pixel data having different distributions of pixel values within them. Often there is some correlation between pixel values within a small block, so pixel values within a block of pixel data are often quite similar to each other (e.g. if all of the pixel values are representing the same object in an image). The smaller levels of the multi-level difference table will be useful in these situations and will not introduce large errors into the pixel values. However, the larger levels of the multilevel difference table are still able to compress the blocks for which the pixels in the block are not very similar. A simple color decorrelation technique can be used when the multi-channel image data is in an RGB format such that each color value comprises a red value (R), a green value (G) and a blue value (B). The color decorrelation process (e.g. step S312) can comprise: [0114] calculating the image element values (R′) of a first block of image data in accordance with the equation R′=R-G; [0115] determining the image element values (G′) of a second block of image data in accordance with the equation G′=G; and [0116] calculating the image element values (B′) of a third block of image data in accordance with the equation B′=B-G. A lossless compression technique might have been able to satisfy the target compression ratio for at least some of the blocks of image data, and the lossless compression technique would not introduce errors into the image data). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. with Fenney et al. by incorporating the features as taught by Yang in order to provide a more effective and efficient system that is capable of quantizing, with compression circuitry, delta values using different numbers of bits for different block of pixels of the same graphics surface, that determines deltas between values for pixels in the block of pixels and a value of an origin pixel in the block of pixels; a neighbor technique that determines deltas between values for adjacent pixels in the block of pixels, and pixel data for the block of pixels includes multiple components per pixel and wherein one or more of the multiple different lossless compression techniques include one or more decorrelation techniques that subtract values from one component from one or more other components . The motivation is to support an improved method for determining an origin value for the block of image data using data representing the origin value from the compressed block of data (see [0013]). Claim(s) 28 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rasmusson et al. (US 8,031,937 B2) in view of Fenney et al. (US 2020/0007152 A1) as applied to claim 21 above, and further in view of Cho et al. (US 2009/0129466 A1). Rasmusson et al. and Fenney et al. disclose the claimed limitations as described in paragraph 5 above. Rasmusson et al. and Fenney et al. do not expressly disclose following features; Regarding claim 28, wherein the compression circuitry is further configured to apply direct quantization of pixel component values for a region of the block of pixels, in response to a determination that a level of quantization to be used for delta values for the region creates quantization errors that exceed direct quantization of the pixel data. Regarding claim 28, Cho et al. teaches wherein the compression circuitry is further configured to apply direct quantization of pixel component values for a region of the block of pixels, in response to a determination that a level of quantization to be used for delta values for the region creates quantization errors that exceed direct quantization of the pixel data (Figs. 16-17, [0119-0120], a quantization error between the value that is input to the quantization unit 1305 illustrated in fig. 13 and the value that is reconstructed by the inverse quantization unit illustrated 1402 in fig. 14. In fig. 16, from among values of pixels of a 2.times.2 block, a minimum value exists between 3.DELTA. and 4.DELTA. and a maximum value exists between 6.DELTA. and 7.DELTA.. 3.DELTA. is selected as an offset value, A is selected as a quantization size, and f is .DELTA./2. In such a quantization environment, if a bit resolution of each pixel is 2, shadow regions in FIG. 16 correspond to the quantization error between the value that is input to the quantization unit 1305 and the value that is reconstructed by the inverse quantization unit 1402). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. with Fenney et al. by incorporating the features as taught by Cho et al. in order to provide a more effective and efficient system that is capable of applying direct quantization of pixel component values for a region of the block of pixels, in response to a determination that a level of quantization to be used for delta values for the region creates quantization errors that exceed direct quantization of the pixel data. The motivation is to support an improved method for encoding and/or decoding a moving image (see [0003]). Claim(s) 35-36 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rasmusson et al. (US 8,031,937 B2) in view of Fenney et al. (US 2020/0007152 A1) as applied to claim 21 above, and further in view of Surti et al. (US 9,912,957 B1). Rasmusson et al. and Fenney et al. disclose the claimed limitations as described in paragraph 5 above. Regarding claim 36, Fenney et al. teach wherein the compression circuitry is configured to separately select lossless compression techniques for multiple different components included in pixels in the block of pixels (Figs. 1 and 3A, [0058, 0069, 0082], Lossless compression techniques may be preferred in some situations because the original data can be perfectly reconstructed from the compressed data. In contrast, where lossy compression techniques are used, data cannot be perfectly reconstructed from the compressed data and instead the decompressed data is only an approximation of the original data. The accuracy of the decompressed (and hence reconstructed) data will depend upon the significance of the data that is discarded during the compression process. Additionally, repeatedly compressing and decompressing data using lossy compression techniques results in a progressive reduction in quality, unlike where lossless compression techniques are used. Lossless compression techniques are often used for audio and image data and examples of general purpose lossless compression techniques include run-length encoding (RLE) and Huffman coding. In most if not all cases, a lossless compression technique is used to compress a block of data. For image data each block of data relates to a tile (or block) of pixels (e.g. tiles comprising 8×8 pixels or 16×4 pixels) and each block is subdivided into a plurality of sub-blocks (block 302)). Rasmusson et al. and Fenney et al. do not expressly disclose following features; Regarding claim 35, wherein two or more of the lossless compression techniques have a fixed base pixel location and different lossless compression techniques use different base pixel locations. Regarding claim 35, Surti et al. teach wherein two or more of the lossless compression techniques have a fixed base pixel location and different lossless compression techniques use different base pixel locations (Fig. 28, [265, 268], graphics processor 2810 of a system on a chip integrated circuit that may be fabricated using one or more IP cores. Graphics processor 2810 includes the one or more MMU(s) 2720A-2720B, caches 2725A-2725B, and circuit interconnects 2730A-2730B of the integrated circuit 2700. The graphics processor comprising a multi-sample antialiasing compression module to examine a number of colors to be stored for a set of sample locations of a pixel and allocate one or more planes to store color data for the set of sample locations of the pixel and a lossless compression module to apply lossless compression on the one or more planes and update a compression status in a compression control surface for each of the one or more planes). It would have been obvious to one of the ordinary skill in the art before the effective filing date of the claimed invention to modify the system of Rasmusson et al. with Fenney et al. by incorporating the features as taught by Surti et al. in order to provide a more effective and efficient system that is capable of using lossless compression techniques for a fixed base pixel location and different lossless compression techniques use different base pixel locations. The motivation is to support an improved method for data processing via a general-purpose graphics processing unit (see [1]). Allowable Subject Matter Claims 24, 26-27, 29-32 and 39 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to SYED M BOKHARI whose telephone number is (571)270-3115. The examiner can normally be reached Monday through Friday. 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, Kwang B Yao can be reached at 5712723182. 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. /SYED M BOKHARI/ Examiner, Art Unit 2473 8/5/2026 /KWANG B YAO/Supervisory Patent Examiner, Art Unit 2473
Read full office action

Prosecution Timeline

Jun 26, 2024
Application Filed
Aug 11, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12750143
PREDICTION OF A METRIC OF QUALITY OF A NETWORK
3y 1m to grant Granted Sep 29, 2026
Patent 12744729
METHOD FOR TRAFFIC MATCHING IN TERMINALS WITH UE ROUTE SELECTION POLICY (URSP)
2y 9m to grant Granted Sep 22, 2026
Patent 12739876
METHOD, DEVICE, AND COMPUTER PROGRAM FOR SELECTING CHANNEL IN WIRELESS COMMUNICATION SYSTEM, AND RECORDING MEDIUM THEREFOR
3y 11m to grant Granted Sep 15, 2026
Patent 12739911
ELECTRONIC DEVICE FOR WIRELESS LAN COMMUNICATION AND OPERATION METHOD THEREOF
3y 0m to grant Granted Sep 15, 2026
Patent 12713409
METRIC-BASED BAND COMBINATION SELECTION
4y 2m to grant Granted Aug 18, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
83%
Grant Probability
99%
With Interview (+17.8%)
3y 0m (~9m remaining)
Median Time to Grant
Low
PTA Risk
Based on 861 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month