DETAILED ACTION
Notice of Pre-AIA or AIA Status
1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
2. Claims 1, 3, 8, 11 and 17 are objected to because of the following informalities:
In claim 1, “the search offsets” should read “the plurality of search offsets” in line 21 and “the data items” should read “the plurality of data items” in line 22.
Appropriate correction is required.
In claim 3 line 3, “the search offset displacements” should read “the list of search offset displacements”.
Appropriate correction is required.
In claim 8, “the search offsets” should read “the plurality of search offsets” in line 24 and “the data items” should read “the plurality of data items” in line 25.
Appropriate correction is required.
In claim 11 line 3, “the search offset displacements” should read “the list of search offset displacements”.
Appropriate correction is required.
In claim 17, “the search offsets” should read “the plurality of search offsets” in line 22 and “the data items” should read “the plurality of data items” in line 23.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
3. Claims 1-17 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
Claim 1 recites the limitation "the search pattern traversal" in lines 18 and 21. There is insufficient antecedent basis for this limitation in the claim.
Claim 8 recites the limitation "the search pattern traversal" in lines 21 and 24. There is insufficient antecedent basis for this limitation in the claim.
Claim 17 recites the limitation "the first data" and “the second data” in multiple places and "the search pattern traversal" in lines 19 and 22. There is insufficient antecedent basis for these limitations in the claim.
The remaining claims are rejected for fully incorporating the deficiencies of the base claim(s) from which they depend.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
4. Claims 1-3, 5-8 and 10-17 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Independent claim 1 recites a series of steps and therefore, is a process. As such, claim 1 is one of the statutory categories. The claim recites “defining an initial search offset position within the search region; generating a search pattern comprising a plurality of search offsets arranged according to a predefined pattern starting from the initial search offset position; for each search offset in the search pattern: selecting a portion of the first data and a corresponding portion of the second data according to the search offset; computing difference data between the selected portion of the first data and the corresponding portion of the second data; for each of a plurality of data items in the first data, associating the search offset with the data item when the difference data for the data item is lower than previously computed difference data for that data item; determining a match quality metric based on the computed difference data; comparing the match quality metric to a predefined threshold value; and terminating the search pattern traversal when the match quality metric satisfies the predefined threshold value, thereby adaptively reducing computational requirements based on match quality; and when the search pattern traversal is completed or terminated, using the search offsets associated with the data items to determine motion vectors between the first data and the second data.” which is merely a concept can be performed in the human mind. Human mind through observation and evaluation can perform the above steps with a pen and paper. Specifically, comparing data values to a predefined threshold and making a logical choice (terminating a search) is a mental process that can be performed without a computer. These limitations, as drafted, are a process that, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components. Thus, the claim recites a mental process and is directed to a judicial exception.
This judicial exception is not integrated into a practical application because the claim recites the additional element: “receiving a search region parameter defining a maximum search area for block matching between the first data and the second data”, which indicates mere data gathering activity that the courts have found to be insignificant extra-solution activity. The addition of insignificant extra-solution activity does not amount to an inventive concept. See MPEP 2106.05(g). The claim further recites “A method for determining motion vectors, performed by a processor, between first data and second data, the method comprising:”. The processor in all steps is recited at a high level of generality, i.e., as a generic processor performing a generic computer function for processing data. This generic processor limitation is no more than mere instructions to apply the exception using a generic computer component. As such, the inclusion of generic computer components being used to implement the abstract idea does not amount to significantly more than the abstract idea. MPEP 2106.05(b). Accordingly, these additional elements do not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. See MPEP 2106.05(h).
As discussed with respect to Step 2A Prong Two, the additional elements in the claim amount to no more than mere instructions to apply the exception using a generic computer component. The same analysis applies here in 2B, i.e., mere instructions to apply an exception using a generic computer component cannot integrate a judicial exception into a practical application at Step 2A or provide an inventive concept in Step 2B. Thus, the claim 1 is ineligible.
As such, independent claims 8 and 17 are also ineligible for the same reason as the claim 1 above.
Regarding claims 2 and 10, claims further recite the limitations which indicate mere data gathering activities that the courts have found to be insignificant extra-solution activity. The addition of insignificant extra-solution activity does not amount to an inventive concept. Furthermore, claims include no additional elements that would integrate the judicial exception into a practical application or would amount to significantly more than the abstract idea. Thus, the claims are ineligible.
Regarding claims 3, 11-12 and 14, claims further recite the limitations which indicate the limitations amount to no more than mere instructions to apply the exception using a generic computer component. Use of a computer or other machinery in its ordinary capacity for economic or other tasks or simply adding a general-purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. Furthermore, claims include no additional elements that would integrate the judicial exception into a practical application or would amount to significantly more than the abstract idea. Thus, the claims are ineligible.
Regarding claims 4 and 9, the additional elements of claims limitations are not directed to an abstract idea because claims further include additional elements that would integrate the judicial exception into a practical application or would amount to significantly more than the abstract idea. Thus, claims 4 and 9 are eligible because they are not directed to the recited judicial exception.
Regarding claims 5-7, 13 and 15-16, claims further recite the limitations which further recite mental processes and are directed to perform mental processes that fall into the “Mental Processes” groupings of abstract ideas and are directed to a judicial exception. Furthermore, claims include no additional elements that would integrate the judicial exception into a practical application or would amount to significantly more than the abstract idea. Thus, the claims are ineligible.
Double Patenting
5. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
6. Claims 1-17 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-3, 6 and 8-17 of U.S. Patent No. 12393400. The subject matter claimed in the instant application is fully disclosed in the U.S. Patent No. 12393400 and is covered by the U.S. Patent No. 12393400 and the application are claiming common subject matter, as follows:
Instant Application - 19/264,602
U.S. Patent No. 12393400
1. A method for determining motion vectors, performed by a processor, between first data and second data, the method comprising: receiving a search region parameter defining a maximum search area for block matching between the first data and the second data; defining an initial search offset position within the search region; generating a search pattern comprising a plurality of search offsets arranged according to a predefined pattern starting from the initial search offset position; for each search offset in the search pattern: selecting a portion of the first data and a corresponding portion of the second data according to the search offset; computing difference data between the selected portion of the first data and the corresponding portion of the second data; for each of a plurality of data items in the first data, associating the search offset with the data item when the difference data for the data item is lower than previously computed difference data for that data item; determining a match quality metric based on the computed difference data; comparing the match quality metric to a predefined threshold value; and terminating the search pattern traversal when the match quality metric satisfies the predefined threshold value, thereby adaptively reducing computational requirements based on match quality; and when the search pattern traversal is completed or terminated, using the search offsets associated with the data items to determine motion vectors between the first data and the second data.
1. (Currently Amended) A method for block matching performed by a processor between first data and second data, the method comprising the steps of: a) configuring a buffer in internal memory of the processor for storing summed area table, SAT, data; b) populating the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; c) performing an iterative process, wherein each iteration of the iterative process comprises: ci) selecting a first portion of the first data and a corresponding second portion of the second data, wherein the selecting is performed using a sliding window approach, wherein a window used for selecting moves with a predefined window offset for each iteration; c2) determining a subset of the first portion of the first data and a subset of the second portion of the second data; c3) computing absolute differences AD, data between the determined subset of the first portion and the determined subset of the second portion; c4) computing SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer;c5) replacing a subset of the SAT data stored in the buffer with at least portions of the computed SAT data; c6) calculating difference data between the first portion and the second portion using the SAT data stored in the buffer, wherein the difference data comprises a difference result for each of a plurality of comparisons between the first data and the second data; and c7) storing the calculated difference data between the first portion and the second portion to memory; and d) using the stored difference data to determine matched blocks of data between the first data and second data.
8. (Original) The method of claim 1, wherein the first data comprises a plurality of data items, wherein each difference result is associated with a data item of the plurality of data items.
9. (Original) The method of claim 8, wherein steps a) - d) is performed for a plurality of search offsets, wherein the method further comprises: applying each search offset of the plurality of search offsets by: step cl) comprising selecting the corresponding second portion of the second data according to the search offset, step d) comprising, for each data item of the plurality of data items, upon determining that the difference result calculated for the data item is lower than the difference result(s) calculated for all previous offsets for that data item, associating the search offset with the data item.
10. (Original) The method of claim 9, wherein step d) comprises, upon determining that at least a threshold number of difference results in the difference data calculated for the search offset is below a threshold value, aborting the method and using the search offsets associated with the data items of the first data to determine matched blocks of data between the first data and second data.
11. (Original) The method of claim 9, wherein the plurality of search offsets are applied in an order according to a predefined search pattern.
13. (Original) The method of claim 9, further comprising: for each data item of the first data, using the search offset associated the data item to determine a motion vector between first data and second data for the data item.
3. The method of claim 1, further comprising: receiving a list of search offset displacements; and generating the search pattern by applying the search offset displacements in sequence starting from the initial search offset position.
12. (Original) The method of claim 9, further comprising receiving a list of search offset displacements and an initial search offset, wherein the plurality of search offsets are applied in an order according to the list of search offset displacements, starting at the initial search offset.
4. The method of claim 1, wherein computing the difference data comprises: configuring a buffer in internal memory of the processor for storing summed area table (SAT) data; populating the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; computing absolute differences (AD) data between portions of the first data and second data; computing SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer; and calculating the difference data using the SAT data.
2. (Currently Amended) The method of claim 1, wherein the step b) comprises: b1) computing initial AD data between the initial portion of the first data and the initial portion of the second data; b2) computing the initial SAT data using the computed initial AD data; b3) storing the initial SAT data in the buffer.
5. The method of claim 1, wherein the match quality metric is determined based on a count of difference results that are below a difference threshold value.
10. (Original) The method of claim 9, wherein step d) comprises, upon determining that at least a threshold number of difference results in the difference data calculated for the search offset is below a threshold value, aborting the method and using the search offsets associated with the data items of the first data to determine matched blocks of data between the first data and second data.
6. The method of claim 1, wherein the difference data comprises one of: sum of absolute differences (SAD) data or sum of squared differences (SSD) data.
14. (Original) The method of claim 1, wherein the difference data is one of: sum of absolute differences, SAD, data, or sum of squared differences, SSD, data.
7. The method of claim 4, wherein a maximum size of each SAT data item is T-bits, and wherein calculating the difference data comprises, upon determining that a difference result has a negative size, adding 2T-1 to the difference result.
6. (Original) The method of claim 1, wherein a maximum size of each SAT data item is T bits, where the step of calculating difference data between the first portion and the second portion comprises, upon determining that a difference result for a comparison between the first portion and the second portion has a negative size, adding 2T1 to the difference result.
8. A processor configured to determine motion vectors between first data and second data, the processor comprising: a memory interface configured to access the first data and the second data; a buffer configured in internal memory of the processor; and processing circuitry configured to: receive a search region parameter defining a maximum search area for block matching between the first data and the second data; define an initial search offset position within the search region; generate a search pattern comprising a plurality of search offsets arranged according to a predefined pattern starting from the initial search offset position; for each search offset in the search pattern: select a portion of the first data and a corresponding portion of the second data according to the search offset; compute difference data between the selected portion of the first data and the corresponding portion of the second data; for each of a plurality of data items in the first data, associate the search offset with the data item when the difference data for the data item is lower than previously computed difference data for that data item; determine a match quality metric based on the computed difference data; compare the match quality metric to a predefined threshold value; and terminate the search pattern traversal when the match quality metric satisfies the predefined threshold value, thereby adaptively reducing computational requirements based on match quality; and when the search pattern traversal is completed or terminated, use the search offsets associated with the data items to determine motion vectors between the first data and the second data.
16. (Currently Amended) A processing module configured to perform a block matching operation between first data and second data, the processing module configured to: obtain task data describing a block matching task to be executed between first data and second data; configure a buffer in internal memory of the processor for storing summed area table, SAT, data; populate the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; perform an iterative process, wherein each iteration of the iterative process comprises: select a first portion of the first data and a corresponding second portion of the second data using a sliding window approach, wherein a window used for selecting moves with a predefined window offset for each iteration; determine a subset of the first portion of the first data and a subset of the second portion of the second data; compute absolute differences, AD, data between the determined subset of the first portion and the determined subset of the second portion; compute SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer;
replace a subset of the SAT data stored in the buffer with at least portions of the computed SAT data; calculate difference data between the first portion and the second portion using the SAT data stored in the buffer, wherein the difference data comprises a difference result for each of a plurality of comparisons between the first data and the second data; and store the calculated difference data between the first portion and the second portion to internal memory; and using the stored difference data to determine matched blocks of data between the first data and second data.
8. (Original) The method of claim 1, wherein the first data comprises a plurality of data items, wherein each difference result is associated with a data item of the plurality of data items.
9. (Original) The method of claim 8, wherein steps a) - d) is performed for a plurality of search offsets, wherein the method further comprises: applying each search offset of the plurality of search offsets by: step cl) comprising selecting the corresponding second portion of the second data according to the search offset, step d) comprising, for each data item of the plurality of data items, upon determining that the difference result calculated for the data item is lower than the difference result(s) calculated for all previous offsets for that data item, associating the search offset with the data item.
10. (Original) The method of claim 9, wherein step d) comprises, upon determining that at least a threshold number of difference results in the difference data calculated for the search offset is below a threshold value, aborting the method and using the search offsets associated with the data items of the first data to determine matched blocks of data between the first data and second data.
11. (Original) The method of claim 9, wherein the plurality of search offsets are applied in an order according to a predefined search pattern.
13. (Original) The method of claim 9, further comprising: for each data item of the first data, using the search offset associated the data item to determine a motion vector between first data and second data for the data item.
9. The processor of claim 8, wherein the processing circuitry further: configures the buffer for storing summed area table (SAT) data; populates the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; computes absolute differences (AD) data between portions of the first data and second data; computes SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer; and calculates the difference data using the SAT data.
2. (Currently Amended) The method of claim 1, wherein the step b) comprises: computing initial AD data between the initial portion of the first data and the initial portion of the second data; b2) computing the initial SAT data using the computed initial AD data; b3) storing the initial SAT data in the buffer.
11. The processor of claim 8, wherein the processing circuitry further: receives a list of search offset displacements; and generates the search pattern by applying the search offset displacements in sequence starting from the initial search offset position.
12. (Original) The method of claim 9, further comprising receiving a list of search offset displacements and an initial search offset, wherein the plurality of search offsets are applied in an order according to the list of search offset displacements, starting at the initial search offset.
12. The processor of claim 8, wherein the processing circuitry further comprises: an absolute difference (AD) unit configured to compute absolute differences data between portions of the first data and second data; a summed area table (SAT) unit connected to the buffer and configured to compute SAT data using the computed AD data; and a comparison unit configured to compare the computed difference data with previously stored difference data and update a result buffer when the computed difference data is lower than the previously stored difference data.
2. (Currently Amended) The method of claim 1, wherein the step b) comprises: computing initial AD data between the initial portion of the first data and the initial portion of the second data; b2) computing the initial SAT data using the computed initial AD data; b3) storing the initial SAT data in the buffer.
9. (Original) The method of claim 8, wherein steps a) - d) is performed for a plurality of search offsets, wherein the method further comprises: applying each search offset of the plurality of search offsets by: Patent Application No. 18/431,707 step c1) comprising selecting the corresponding second portion of the second data according to the search offset, step d) comprising, for each data item of the plurality of data items, upon determining that the difference result calculated for the data item is lower than the difference result(s) calculated for all previous offsets for that data item, associating the search offset with the data item.
13. The processor of claim 8, wherein the processing circuitry is further configured to: define a template block size; and compute the difference data according to the template block size.
3. (Original) The method of claim 1, further comprising: defining a template block size; wherein the step c6) is performed according to the template block size.
14. The processor of claim 8, wherein the processor is incorporated into a system comprising: a host processor configured to issue a command stream comprising block matching tasks; and a command processing unit configured to: receive input data comprising the first data, the second data, and a data size; divide the first data and the second data into a plurality of portions according to the data size; and issue task data describing block matching tasks to the processor.
17. (Original) A system configured to perform a block matching operation between a first data frame and second data frame, the system comprising: a first processing module; and a second processing module according to claim 16; wherein the first processing module is configured to: receive input data, the input data comprises the first data frame, the second data frame and a data size; divide the first data frame into a plurality of first data according to the data size; divide the second data frame into a plurality of second data according to the data size; and issue first task data describing a block matching task to be executed to the second processing module, the first task data identifying a first data among the plurality of first data, and a second data among the plurality of second data.
15. The processor of claim 8, wherein a maximum size of each SAT data item is 16 bits, and wherein the processing circuitry is further configured to add 215 to a difference result when determining that the difference result has a negative size.
6. (Original) The method of claim 1, wherein a maximum size of each SAT data item is T bits, where the step of calculating difference data between the first portion and the second portion comprises, upon determining that a difference result for a comparison between the first portion and the second portion has a negative size, adding 2T1 to the difference result.
16. The processor of claim 8, wherein the processing circuitry is further configured to select the portion of the first data and the corresponding portion of the second data using a sliding window approach, wherein a window used for selecting moves with a predefined window offset for each search offset.
16. (Currently Amended) A processing module configured to perform a block matching operation between first data and second data, the processing module configured to: obtain task data describing a block matching task to be executed between first data and second data; configure a buffer in internal memory of the processor for storing summed area table, SAT, data; populate the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; perform an iterative process, wherein each iteration of the iterative process comprises: select a first portion of the first data and a corresponding second portion of the second data using a sliding window approach, wherein a window used for selecting moves with a predefined window offset for each iteration; determine a subset of the first portion of the first data and a subset of the second portion of the second data; compute absolute differences, AD, data between the determined subset of the first portion and the determined subset of the second portion; compute SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer; replace a subset of the SAT data stored in the buffer with at least portions of the computed SAT data; calculate difference data between the first portion and the second portion using the SAT data stored in the buffer, wherein the difference data comprises a difference result for each of a plurality of comparisons between the first data and the second data; and store the calculated difference data between the first portion and the second portion to internal memory; and using the stored difference data to determine matched blocks of data between the first data and second data.
17. A non-transitory computer-readable storage medium comprising a set of computer- readable instructions stored thereon which when executed by at least one processor are arranged to cause the at least one processor to: receive a search region parameter defining a maximum search area for block matching between the first data and the second data; define an initial search offset position within the search region; generate a search pattern comprising a plurality of search offsets arranged according to a predefined pattern starting from the initial search offset position; for each search offset in the search pattern: select a portion of the first data and a corresponding portion of the second data according to the search offset; compute difference data between the selected portion of the first data and the corresponding portion of the second data; for each of a plurality of data items in the first data, associate the search offset with the data item when the difference data for the data item is lower than previously computed difference data for that data item; determine a match quality metric based on the computed difference data; compare the match quality metric to a predefined threshold value; and terminate the search pattern traversal when the match quality metric satisfies the predefined threshold value, thereby adaptively reducing computational requirements based on match quality; and when the search pattern traversal is completed or terminated, using the search offsets associated with the data items to determine motion vectors between the first data and the second data.
15. (Original) A non-transitory computer-readable storage medium comprising a set of computer-readable instructions stored thereon which, when executed by at least one processor are arranged to cause the at least one processor to perform a block matching operation between first data and second data by: a) configuring a buffer in internal memory of the processor for storing summed area table, SAT, data; b) populating the buffer with initial SAT data based on a difference between at least an initial portion of the first data and second data; c) performing an iterative process, wherein each iteration of the iterative process comprises: c1) selecting a first portion in the first data and a corresponding second portion of the second data, wherein the selecting is performed using a sliding window approach, wherein a window used for selecting moves with a predefined window offset for each iteration; c2) determining a subset of the first portion and a subset of the second portion;c3) computing absolute differences, AD, data between the determined subset of the first portion and the determined subset of the second portion;c4) computing SAT data using the computed AD data and at least a portion of the SAT data stored in the buffer; c5) replacing a subset of the SAT data stored in the buffer with at least portions of the computed SAT data;c6) calculating difference data between the first portion and the second portion using the SAT data stored in the buffer, wherein the difference data comprises a difference result for each of a plurality of comparisons between the first data and the second data; andc7) storing the calculated difference data between the first portion and the second portion to memory; and d) using the stored difference data to determine matched blocks of data between the first data and second data.
8. (Original) The method of claim 1, wherein the first data comprises a plurality of data items, wherein each difference result is associated with a data item of the plurality of data items.
9. (Original) The method of claim 8, wherein steps a) - d) is performed for a plurality of search offsets, wherein the method further comprises: applying each search offset of the plurality of search offsets by: step cl) comprising selecting the corresponding second portion of the second data according to the search offset, step d) comprising, for each data item of the plurality of data items, upon determining that the difference result calculated for the data item is lower than the difference result(s) calculated for all previous offsets for that data item, associating the search offset with the data item.
10. (Original) The method of claim 9, wherein step d) comprises, upon determining that at least a threshold number of difference results in the difference data calculated for the search offset is below a threshold value, aborting the method and using the search offsets associated with the data items of the first data to determine matched blocks of data between the first data and second data.
11. (Original) The method of claim 9, wherein the plurality of search offsets are applied in an order according to a predefined search pattern.
13. (Original) The method of claim 9, further comprising: for each data item of the first data, using the search offset associated the data item to determine a motion vector between first data and second data for the data item.
Noted, it would have been obvious to a person of ordinary skill in the art at the time the invention was made to modify or to omit the additional elements of claims 1-3, 6 and 8-17 of U.S. Patent No. 12393400 to arrive at the claims 1, 3-9 and 11-17 of the instant application because the person would have realized that the remaining element would perform the same functions as before. "Omission of element and its function in combination is obvious expedient if the remaining elements perform same functions as before." See In re Karlson (CCPA) 136 USPQ 184, decide Jan 16, 1963, Appl. No. 6857, U.S. Court of Customs and Patent Appeals.
The remaining claims are rejected for fully incorporating the deficiencies of the base claim(s) from which they depend.
Conclusion
7. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Tourapis et al. (US 2015/0078451 A1) teaches providing significant data compression with respect to video signals so that they may subsequently be reconstructed with minimal observable information loss.
Zhou et al. (US 2015/0023585 A1) teaches performing a matching search from a first image block to a second image block in a stereo matching system.
Subramaniyan et al. (US 2004/0028134 A1) teaches determining the quality of a block match for a candidate motion vector in a video encoder system using motion vectors representing the difference in coordinates of a macroblock of data in a current frame of video data and coordinates of a related macro block of data in a reference frame of video data.
Kono et al. (US 6,424,676 B1) teaches provide an improved motion vector searching technique.
8. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMAD SOLAIMAN BHUYAN whose telephone number is (571)272-7843. The examiner can normally be reached on Monday - Friday 9:00am-5:00pm EST.
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, Charles Rones can be reached on 571-272-4085. The fax phone number for the organization where this application or proceeding is assigned is 571 -273-8300.
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.
/Mohammad S Bhuyan/Examiner, Art Unit 2168
/CHARLES RONES/Supervisory Patent Examiner, Art Unit 2168