DETAILED ACTION
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.
Claims 1, 19, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Galwa DERI ET et al. (“Adaptive Frame Of Reference For Compressing Inverted Lists”, 01 January 2010, Pages 1-23, XP093281224) (cited by the applicant).
Regarding claim 1, Galway DERI et al. discloses “a compression apparatus (the apparatus performing AFOR, see section 3. beginning “The Adaptive Frame Of Reference (AFOR) attempts to retain the best of FOR, i.e., a very efficient compression and decompression using highly-optimised routines, while providing a better tolerance against outliers and therefore achieving a higher compression ratio.”) comprising:
a decision unit which decides, based on a variation trend of data in a data string, a bit width indicating a deviation of data; (the partitioning determines the bit width and said bit width depends on the trend of deviation of data, see section 3. “AFOR partitions a block into multiple frames of variable length, the partition and the length of the frames being chosen appropriately in order to adapt the encoding to the value distribution. [...] Finding the right partitioning, i.e., the optimal configuration of frames and frame lengths per block, is essential for achieving high compression ratio. If a frame is too large, the encoding becomes more sensitive to outliers and wastes bits by using an inappropriate bit frame for all the other integers. On the contrary, if the frames are too small, the encoding wastes too much space due to the overhead of storing a larger number of bit frames. The appropriate strategy is to rely on large frames in the presence of a dense sequence of values, and on small frames in the presence of sparse sequence of values.” and section 3.1, first para. “Finding the optimal configuration of frames and frame lengths for a block of values is a combinatorial problem [...] we use a local optimisation algorithm that provides a satisfactory compression rate and that is efficient to compute.”, this determines the bit width which depends on the max value for each partitioning);
a calculation unit which calculates, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string (see section 2.2.4, page 5 “Given a frame [0,max], FOR needs dlog2(max + 1)e bits, called bit frame in the rest of the paper, to encode each integer in a block” the deviations are the delta-encoded list of values, see also figure 2; it is highlight that the AFOR of D1 implements those basic aspects of FOR, see also following feature); and
a generation unit which generates a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (see figure 3. lowest frame, para.2.2.4. page 5 “In our implementation, FOR relies on routines to encode and decode 32 values at a time. [...]Finally, the bit frame is stored using one byte in the block header and the compression routine is executed to encode the block” and 3.2.4 “the bit frame is encoded along with the frame, so that, at decompression time, the decoder can read the bit frame and select the appropriate routine to decode the frame.”, the "bit frame" is clearly information indicating the bit width).
Regarding claim 19, Galway DERI et al. discloses “a compression method (the apparatus/method performing AFOR, see section 3. beginning “The Adaptive Frame Of Reference (AFOR) attempts to retain the best of FOR, i.e., a very efficient compression and decompression using highly-optimised routines, while providing a better tolerance against outliers and therefore achieving a higher compression ratio.”; page 19, Conclusion) comprising:
deciding, based on a variation trend of data in a data string, a bit width indicating a deviation of data; (the partitioning determines the bit width and said bit width depends on the trend of deviation of data, see section 3. “AFOR partitions a block into multiple frames of variable length, the partition and the length of the frames being chosen appropriately in order to adapt the encoding to the value distribution. [...] Finding the right partitioning, i.e., the optimal configuration of frames and frame lengths per block, is essential for achieving high compression ratio. If a frame is too large, the encoding becomes more sensitive to outliers and wastes bits by using an inappropriate bit frame for all the other integers. On the contrary, if the frames are too small, the encoding wastes too much space due to the overhead of storing a larger number of bit frames. The appropriate strategy is to rely on large frames in the presence of a dense sequence of values, and on small frames in the presence of sparse sequence of values.” and section 3.1, first para. “Finding the optimal configuration of frames and frame lengths for a block of values is a combinatorial problem [...] we use a local optimisation algorithm that provides a satisfactory compression rate and that is efficient to compute.”, this determines the bit width which depends on the max value for each partitioning);
calculating, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string (see section 2.2.4, page 5 “Given a frame [0,max], FOR needs dlog2(max + 1)e bits, called bit frame in the rest of the paper, to encode each integer in a block” the deviations are the delta-encoded list of values, see also figure 2; it is highlight that the AFOR of D1 implements those basic aspects of FOR, see also following feature); and
generating a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (see figure 3. lowest frame, para.2.2.4. page 5 “In our implementation, FOR relies on routines to encode and decode 32 values at a time. [...]Finally, the bit frame is stored using one byte in the block header and the compression routine is executed to encode the block” and 3.2.4 “the bit frame is encoded along with the frame, so that, at decompression time, the decoder can read the bit frame and select the appropriate routine to decode the frame.”, the "bit frame" is clearly information indicating the bit width).
Regarding claim 20, Galway DERI et al. discloses “A non-transitory computer readable medium having recorded thereon a program which, when executed by a computer, causes the computer to function as (the apparatus performing AFOR, see section 3. beginning “The Adaptive Frame Of Reference (AFOR) attempts to retain the best of FOR, i.e., a very efficient compression and decompression using highly-optimised routines, while providing a better tolerance against outliers and therefore achieving a higher compression ratio.”) comprising:
a decision unit which decides, based on a variation trend of data in a data string, a bit width indicating a deviation of data; (the partitioning determines the bit width and said bit width depends on the trend of deviation of data, see section 3. “AFOR partitions a block into multiple frames of variable length, the partition and the length of the frames being chosen appropriately in order to adapt the encoding to the value distribution. [...] Finding the right partitioning, i.e., the optimal configuration of frames and frame lengths per block, is essential for achieving high compression ratio. If a frame is too large, the encoding becomes more sensitive to outliers and wastes bits by using an inappropriate bit frame for all the other integers. On the contrary, if the frames are too small, the encoding wastes too much space due to the overhead of storing a larger number of bit frames. The appropriate strategy is to rely on large frames in the presence of a dense sequence of values, and on small frames in the presence of sparse sequence of values.” and section 3.1, first para. “Finding the optimal configuration of frames and frame lengths for a block of values is a combinatorial problem [...] we use a local optimisation algorithm that provides a satisfactory compression rate and that is efficient to compute.”, this determines the bit width which depends on the max value for each partitioning);
a calculation unit which calculates, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string (see section 2.2.4, page 5 “Given a frame [0,max], FOR needs dlog2(max + 1)e bits, called bit frame in the rest of the paper, to encode each integer in a block” the deviations are the delta-encoded list of values, see also figure 2; it is highlight that the AFOR of D1 implements those basic aspects of FOR, see also following feature); and
a generation unit which generates a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (see figure 3. lowest frame, para.2.2.4. page 5 “In our implementation, FOR relies on routines to encode and decode 32 values at a time. [...]Finally, the bit frame is stored using one byte in the block header and the compression routine is executed to encode the block” and 3.2.4 “the bit frame is encoded along with the frame, so that, at decompression time, the decoder can read the bit frame and select the appropriate routine to decode the frame.”, the "bit frame" is clearly information indicating the bit width).
Claims 1, 19, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Yang (US 11,790,560) (cited by the applicant).
Regarding claim 1, Yang discloses “A compression apparatus (reference 112 in fig. 1 for performing the method of fig. 2) comprising:
a decision unit which decides, based on a variation trend of data in a data string, a bit width indicating a deviation of data (column 16, from line 52 “The number of delta bits is based on the range of colour values in the block. Specifically the number of delta bits to represent a range k is [log2(k+1)]”, the range of values in a certain block/subblock thus deviates according to a trend);
a calculation unit which calculates, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string; (column 16, from line 48, “In this compression algorithm each colour value is represented by a common origin value and an individual delta value with a fixed number of bits. Each delta value indicates the difference between the colour value and the origin value”) and
a generation unit which generates a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (column 14, from line 53 “At step 208, a compressed block of image data is generated from the compressed channel blocks generated in step 206. In some cases, a compressed block may comprise a header and a body. The header comprises information that identifies the size or length of the fixed-length parameter used for each compressed channel block/sub-block and the common base information for each compressed channel block/sub-block.” and column 22, line 26 “In FIG. 15 the header 1502 comprises a length or size field 1506, 1508, 1510, 1512 for each channel block that indicates whether or not that channel block was compressed, and if compressed, indicates the compression algorithm used to compress the channel block and the length or size of the fixed-length parameter.”)
Regarding claim 19, Yang discloses “A compression method (reference 112 in fig. 1 for performing the method of fig. 2) comprising:
deciding, based on a variation trend of data in a data string, a bit width indicating a deviation of data (column 16, from line 52 “The number of delta bits is based on the range of colour values in the block. Specifically the number of delta bits to represent a range k is [log2(k+1)]”, the range of values in a certain block/subblock thus deviates according to a trend);
calculating, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string; (column 16, from line 48, “In this compression algorithm each colour value is represented by a common origin value and an individual delta value with a fixed number of bits. Each delta value indicates the difference between the colour value and the origin value”) and
generating a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (column 14, from line 53 “At step 208, a compressed block of image data is generated from the compressed channel blocks generated in step 206. In some cases, a compressed block may comprise a header and a body. The header comprises information that identifies the size or length of the fixed-length parameter used for each compressed channel block/sub-block and the common base information for each compressed channel block/sub-block.” and column 22, line 26 “In FIG. 15 the header 1502 comprises a length or size field 1506, 1508, 1510, 1512 for each channel block that indicates whether or not that channel block was compressed, and if compressed, indicates the compression algorithm used to compress the channel block and the length or size of the fixed-length parameter.”)
Regarding claim 20, Yang discloses “A non-transitory computer readable medium having recorded thereon a program which, when executed by a computer, causes the computer to function as (reference 112 in fig. 1 for performing the method of fig. 2) comprising:
a decision unit which decides, based on a variation trend of data in a data string, a bit width indicating a deviation of data (column 16, from line 52 “The number of delta bits is based on the range of colour values in the block. Specifically the number of delta bits to represent a range k is [log2(k+1)]”, the range of values in a certain block/subblock thus deviates according to a trend);
a calculation unit which calculates, with the bit width, deviations of respective pieces of data in a data group obtained by dividing the data string; (column 16, from line 48, “In this compression algorithm each colour value is represented by a common origin value and an individual delta value with a fixed number of bits. Each delta value indicates the difference between the colour value and the origin value”) and
a generation unit which generates a frame including: the deviations of the respective pieces of data in the data group; and information indicating the bit width (column 14, from line 53 “At step 208, a compressed block of image data is generated from the compressed channel blocks generated in step 206. In some cases, a compressed block may comprise a header and a body. The header comprises information that identifies the size or length of the fixed-length parameter used for each compressed channel block/sub-block and the common base information for each compressed channel block/sub-block.” and column 22, line 26 “In FIG. 15 the header 1502 comprises a length or size field 1506, 1508, 1510, 1512 for each channel block that indicates whether or not that channel block was compressed, and if compressed, indicates the compression algorithm used to compress the channel block and the length or size of the fixed-length parameter.”)
Allowable Subject Matter
Claims 2-18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. The following is a statement of reasons for the indication of allowable subject matter:
Regarding claims 2-13, the prior art of record, when taken alone or in combination, cannot be construed as reasonably teaching or suggesting all of the elements of the claimed invention as arranged or provided in the manner as claimed by the applicant. Added for emphasis, the claim recitation “a specification unit which specifies, from the data string, at least one continuous piece of data, a deviation of which falls within the bit width, as the data group” is not found in the prior art of record.
Regarding claims 14-18, the prior art of record, when taken alone or in combination, cannot be construed as reasonably teaching or suggesting all of the elements of the claimed invention as arranged or provided in the manner as claimed by the applicant. Added for emphasis, the claim recitation “the calculation unit calculates, as the deviations of the respective pieces of data in the data group, deviations of respective pieces of data obtained through division by a preset natural number, and the generation unit generates a frame including: the natural number; the deviations of the respective pieces of data in the data group; and the information indicating the bit width” is not found in the prior art of record.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KHAI M NGUYEN whose telephone number is (571)272-1809. The examiner can normally be reached Mon-Fri: 8:00 am - 4:30pm.
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, Dameon E. Levi can be reached at 571-272-2105. 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.
/KHAI M NGUYEN/Primary Examiner, Art Unit 2845