Detailed Action
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
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.
Claims 1-4, 7-11, 14-17, and 20 are rejected under 35 U.S.C. 101.
Claim 1 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea of performing block matching, without significantly more.
The claim recites: “An apparatus comprising: video encoding circuitry configured to: access, from a memory, a frame comprising a plurality of blocks; and perform a block matching process for a first block of the plurality of blocks, responsive to an indication that the first block includes text.”
The limitations, as drafted, are processes that, under their broadest reasonable interpretation, cover performance of the limitation in the human mind. A person can access a frame which is divided into blocks, either by visually observing the frame or by recalling it from memory, and perform a mental matching process for blocks which include text.
The judicial exception is not integrated into a practical application. For example, the claim recites the additional element, “An apparatus comprising: video encoding circuitry”. These additional elements are recited at a high level of generality such that they amount to generic computer elements. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial expectation. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements are recited at a high-level of generality. It is therefore a judicial exception that is not integrated into a practical application, and does not include additional elements that are sufficient to amount to significantly more than the judicial exception. This claim is not patent eligible.
Claim 2 is rejected under 35 U.S.C. 101 because the claimed invention is directed to a further limitation
of the same abstract idea identified in the analysis of claim 1. For example, the person can mentally decide which blocks to perform matching with based on the presence or absence of text. This claim is not patent eligible.
Claims 9 and 16 contains elements found analogous to claim 2. Therefore, claims 9 and 16 are similarly rejected under 35 U.S.C. 101.
Claim 3 is rejected under 35 U.S.C. 101 because the claimed invention is directed to a further limitation
of the same abstract idea identified in the analysis of claim 1. For example, the person can apply thresholds to the amount of text observed for each block in order to decide which blocks to perform matching with. This claim is not patent eligible.
Claim 4 is rejected under 35 U.S.C. 101 because the claimed invention is directed to a further limitation
of the same abstract idea identified in the analysis of claim 1. For example, the person can apply thresholds to the amount of text observed for each block in order to decide which blocks to perform matching with. This claim is not patent eligible.
Claim 11 contains elements found analogous to claim 4. Therefore, claim 11 is similarly rejected under 35 U.S.C. 101.
Claim 7 is rejected under 35 U.S.C. 101 because the claim recites additional elements recited at a high
level of generality such that they amount to mere data description of “the indication” of claim 1 being an amount of text detected at each pixel position. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. This claim is not patent eligible.
Claims 8 and 20 contains elements found analogous to claim 7. Therefore, claims 8 and 20 are similarly rejected under 35 U.S.C. 101.
Claim 10 is rejected under 35 U.S.C. 101 because the claim recites additional elements recited at a high
level of generality such that they amount to merely implementing a known video compression technique for block matching. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. This claim is not patent eligible.
Claim 17 contains elements found analogous to claim 10. Therefore, claim 17 is similarly rejected under 35 U.S.C. 101.
Claims 8 and 15 contain elements found analogous to claims 1, with the addition of “a method comprising…” and “a processor comprising; a memory comprising circuitry…”, respectively. The additional elements are recited at a high level of generality such that they amount to merely using a computer as a tool to implement the abstract idea. Accordingly, these additional element does not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. Therefore, claims 8 and 15 are similarly rejected under 35 U.S.C. 101.
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-6, 8-13, and 15-19 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Kumar et al. (US 11095877 B2), (hereinafter Kumar).
Regarding claim 1, Kumar teaches an apparatus comprising:
video encoding circuitry (Kumar, “With reference to FIG. 1, the computer system (100) includes one or more processing units (110, 115) and memory (120, 125).”, column 6, lines 15-17, see Fig. 1) configured to:
access, from a memory, a frame comprising a plurality of blocks (Kumar, “The detailed description presents innovations in motion estimation adapted for screen remoting scenarios. Using the innovations, a video encoder can quickly perform local hash-based motion estimation ("HBME") to detect matches for new text that appears in screen capture video, while also detecting scrolling or window movement activity in the screen capture video. For example, a video encoder calculates a hash value for a current block in a current picture. The video encoder searches, subject to a spatial constraint, for a matching block in a reference picture (e.g., the previous picture in display order) based at least in part on the hash value for the current block.”, column 5, lines 25-36, “As shown in FIG. 4a, the video encoder (340) can include a tiling module (410). With the tiling module (410), the video encoder (340) can split a picture into multiple tiles of the same size or different sizes. For example, the tiling module (410) splits the picture along tile rows and tile columns that, with picture boundaries, define horizontal and vertical boundaries of tiles within the picture, where each tile is a rectangular region… A slice can be decoded independently of other slices in a picture, which improves error resilience. The content of a slice or tile is further split into blocks or other sets of sample values for purposes of encoding and decoding.”, column 10, lines 21-35); and
perform a block matching process for a first block of the plurality of blocks, responsive to an indication that the first block includes text (Kumar, “As described below (see section V.C.7), a video encoder can limit local HBME so that it is performed only for blocks within changed regions of the current picture. Even within a changed region of the current picture, the video encoder can further limit local HBME so that it is performed only for blocks that are likely to benefit from the local HBME. (In some examples described herein, such blocks are termed "qualifying blocks.") In this way, the video encoder can limit the resources used to compute and manage hash values for candidate blocks of a reference picture for local HBME… For example, the video encoder can limit local HBME to blocks that contain text. To determine whether a block (e.g., current block of a current picture or candidate block of a reference picture) contains text, the video encoder can use any of various approaches, depending on implementation. For example, the video encoder can make a decision based on hint information from an operating system component, which indicates whether a block contains text… The video encoder can determine that a block contains text if it has more than one distinct sample value but less than x distinct sample values, where x is 2, 3, or some other small non-zero integer. Or, the video encoder can determine whether a block includes black and white sample values (suggesting typical textual content) by evaluating whether chroma sample values are zero or mostly zero. Or, as another example, the video encoder can apply an image classification test to sample values of the block to determine whether the block contains text.”, column 38, lines 53-67 and column 39, lines 1-22, Blocks of a current reference frame are limited to those which contain text prior to implementing a Local HBME matching process. This includes first processing the block to receive indicated of the presence of text.).
Regarding claim 2, Kumar teaches the apparatus as claimed in claim 1, wherein the video encoding circuitry is further configured to bypass a block matching process for a second block, responsive to an indication that the second block does not include text (Kumar, “As described below (see section V.C.7), a video encoder can limit local HBME so that it is performed only for blocks within changed regions of the current picture. Even within a changed region of the current picture, the video encoder can further limit local HBME so that it is performed only for blocks that are likely to benefit from the local HBME... For example, the video encoder can limit local HBME to blocks that contain text.”, column 38, lines 53-67, Local HBME is only performed corresponding to blocks which are determine to contain text. Non-text blocks are excluded from the matching process.).
Regarding claim 3, Kumar teaches the apparatus as claimed in claim 1, wherein responsive to an indication that a second block includes text, the video encoding circuitry is configured to bypass a block matching process for the second block, responsive to the second block including less than a threshold amount of text (Kumar, “The video encoder can determine that a block contains text if it has more than one distinct sample value but less than x distinct sample values, where x is 2, 3, or some other small non-zero integer. Or, the video encoder can determine whether a block includes black and white sample values (suggesting typical textual content) by evaluating whether chroma sample values are zero or mostly zero. Or, as another example, the video encoder can apply an image classification test to sample values of the block to determine whether the block contains text.”, column 39, lines 13-22, Local HBME is only performed corresponding to blocks which are determined as containing text. Specifically, a threshold range of distinct sample values is applied to sample values determined during color space conversion to determine if text is present. Those blocks which do not satisfy the range, such as falling below, are excluded from the matching process.).
Regarding claim 4, Kumar teaches the apparatus as claimed in claim 1, wherein the indication further indicates whether the first block includes an amount of text that is greater than a threshold amount (Kumar, “The video encoder can determine that a block contains text if it has more than one distinct sample value but less than x distinct sample values, where x is 2, 3, or some other small non-zero integer. Or, the video encoder can determine whether a block includes black and white sample values (suggesting typical textual content) by evaluating whether chroma sample values are zero or mostly zero. Or, as another example, the video encoder can apply an image classification test to sample values of the block to determine whether the block contains text.”, column 39, lines 13-22, A threshold range is applied to sample values of the blocks to determine if text is present. These sample values represent an amount of text for the block, and when a blocks sample values are within the threshold range the block is determined as containing text.).
Regarding claim 5, Kumar teaches the apparatus as claimed in claim 1, wherein the frame is a reference frame, and wherein the video encoding circuitry is configured to perform a hash value generation process for a given block, responsive to an indication that an amount of text detected at one or more pixel positions corresponding to the given block meets a threshold amount (Kumar, “In general, a pixel is the set of one or more collocated sample values for a location in a picture, which may be arranged in different ways for different chroma sampling formats. Typically, before encoding, the sample values of video are converted to a color space such as YUV, in which sample values of a luma (Y) component represent brightness or intensity values, and sample values of chroma (U, V) components represent color-difference values.”, column 9, lines 50-57, “The video encoder can determine that a block contains text if it has more than one distinct sample value but less than x distinct sample values, where x is 2, 3, or some other small non-zero integer. Or, the video encoder can determine whether a block includes black and white sample values (suggesting typical textual content) by evaluating whether chroma sample values are zero or mostly zero. Or, as another example, the video encoder can apply an image classification test to sample values of the block to determine whether the block contains text.”, column 39, lines 13-22, Local HBME is only performed corresponding to blocks which are determined as containing text. During this decision making, sample values of the block determined during color space conversion are applied to a threshold range. These sample values correspond to pixel positions of the frame prior to conversion, and are evaluated to determine the presence of text for that particular position.).
Regarding claim 6, Kumar teaches the apparatus as claimed in claim 5, wherein the video encoding circuitry is configured to bypass the hash value generation process for the given block, responsive to an indication that an amount of text detected at the one or more pixel positions corresponding to the given block does not meet the threshold amount (Kumar, “In general, a pixel is the set of one or more collocated sample values for a location in a picture, which may be arranged in different ways for different chroma sampling formats. Typically, before encoding, the sample values of video are converted to a color space such as YUV, in which sample values of a luma (Y) component represent brightness or intensity values, and sample values of chroma (U, V) components represent color-difference values.”, column 9, lines 50-57, “The video encoder can determine that a block contains text if it has more than one distinct sample value but less than x distinct sample values, where x is 2, 3, or some other small non-zero integer. Or, the video encoder can determine whether a block includes black and white sample values (suggesting typical textual content) by evaluating whether chroma sample values are zero or mostly zero. Or, as another example, the video encoder can apply an image classification test to sample values of the block to determine whether the block contains text.”, column 39, lines 13-22, When the sample values for the block does not fall within the threshold range, the block is excluded from the hash matching process.).
Claim 8 corresponds to claim 1, additionally reciting a method for performing the functions of claim 1. Kumar teaches a method for performing the functions of claim 1 (Kumar, columns 38 and 39, lines 52-67 and 1-26, respectively, see Figs. 7a, 7b, and 19a). As indicated in the analysis of claim 1, Kumar teaches all the limitations according to claim 1. Therefore, claim 8 is rejected for the same reason as claim 1.
Claim 9 corresponds to claim 2, additionally reciting a method for performing the functions of claim 2. Kumar teaches a method for performing the functions of claim 2 (Kumar, columns 38 and 39, lines 52-67 and 1-26, respectively, see Figs. 7a, 7b, and 19a). As indicated in the analysis of claim 2, Kumar teaches all the limitations according to claim 2. Therefore, claim 9 is rejected for the same reason as claim 2.
Regarding claim 10, Kumar teaches the method as claimed in claim 8, further comprising performing, by the processing circuitry, the block matching process when encoding video data using an Intra Block Copy (Intra BC) prediction mode (Kumar, “Using values of a reconstruction ( 438) of the current picture (331 ), for intra spatial prediction, the intra-picture prediction estimator (440) determines how to spatially predict sample values of a block of the current picture (331) from previously reconstructed sample values of the current picture (331), e.g., selecting an intra-picture prediction mode. Or, for intra block copy mode, the intra-picture prediction estimator ( 440) determines how to predict sample values of a block of the current picture (331) using an offset (sometimes called a block vector) that indicates a previously encoded/decoded portion of the current picture (331). Intra block copy mode can be implemented as a special case of inter-picture prediction in which the reference picture is the current picture (331), and only previously encoded/decoded sample values of the current picture (331) can be used for prediction.”, columns 12 and 13, lines 62-67 and 1-11, respectively).
Claims 11, 12, and 13 correspond to claims 4, 5, and 6, respectively, additionally reciting a method for performing the functions of claims 4, 5, and 6. Kumar teaches a method for performing the functions of claims 4, 5, and 6 (Kumar, columns 38 and 39, lines 52-67 and 1-26, respectively, see Figs. 7a, 7b, and 19a). As indicated in the analysis of claim 4, 5, and 6, Kumar teaches all the limitations according to claim 4, 5, and 6. Therefore, claims 11, 12, and 13 are rejected for the same reasons as claims 4, 5, and 6.
Claim 15 corresponds to claim 1, additionally reciting a processor comprising a memory to execute the functions of claim 1. Kumar teaches the addition of a processor comprising a memory to execute the functions of claim 1 (Kumar, “With reference to FIG. 1, the computer system (100) includes one or more processing units (110, 115) and memory (120, 125).”, column 6, lines 15-17, see Fig. 1). As indicated in the analysis of claim 1, Kumar teaches all the limitations according to claim 1. Therefore, claim 15 is rejected for the same reason as claim 1.
Claims 16, 17, 18, and 19 correspond to claims 2, 10, 5, and 6, respectively, additionally reciting a processor comprising a memory to execute the functions of claims 2, 10, 5, and 6. Kumar teaches the addition of a processor comprising a memory to execute the functions of claims 2, 10, 5, and 6 (Kumar, “With reference to FIG. 1, the computer system (100) includes one or more processing units (110, 115) and memory (120, 125).”, column 6, lines 15-17, see Fig. 1). As indicated in the analysis of claim 2, 10, 5, and 6, Kumar teaches all the limitations according to claims 2, 10, 5, and 6. Therefore, claims 16, 17, 18, and 19 are rejected for the same reasons as claims 2, 10, 5, and 6.
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.
Claims 7, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Kumar et al. (US 11095877 B2) in view of Bray et al. (US 20210334528 A1), (hereinafter Bray).
Regarding claim 7, Kumar teaches the apparatus as claimed in claim 1. Kumar does not teach wherein the indication further indicates an amount of text detected at each pixel position in the frame.
However, Bray teaches wherein the indication further indicates an amount of text detected at each pixel position in the frame (Bray, “In some examples, determining the one or more pixels that contain text includes text detection module 602 determining (e.g., using one or more machine learning models) a text probability for each pixel of the plurality of pixels included in the image. A pixel's text probability represents a probability that the pixel contains text. In these examples, text detection module 602 determines whether a pixel does or does not contain text based on whether or not the pixel's text probability satisfies a predetermined threshold probability (e.g., 50%, 60%, 80%, etc.)… In some examples, after determining the one or more pixels that contain text, text detection module 602 generates a binary text score map. A binary text score map indicates the pixels that do and do not contain text in the received image. For example, FIG. 7B illustrates binary text score map 708 corresponding to image 700.”, pg. 14, paragraphs 0175-0176, see Fig. 7B).
Kumar teaches indicating qualifying blocks containing text to perform local HBME matching by performing text detection using textual information for pixel positions after color space conversion (Kumar, columns 38 and 39, lines 52-67 and 1-26, respectively). Kumar does not teach indicating an amount of text for each pixel position. Bray teaches implementing machine learning for text detection to determine if each pixel contains text by evaluating the pixel’s text probability and generate text score maps based on this determination (see above). Before the effective filing date of the claimed invention, it would have been obvious to one of ordinary skill in the art to have modified the text detection of Kumar to include further indicating the text score maps as taught by Bray (pg. 14, paragraphs 0175-0176, see Fig. 7B). The motivation for doing so would have been to use the pixel-level text score maps of Bray to validate qualifying blocks of Kumar, thereby increasing the accuracy of text detection. Further, one skilled in the art could have combined the elements as described above by known methods with no change in their respective functions, and the combination would have yielded nothing more than predictable results. Therefore, it would have been obvious to combine the teachings of Kumar with Bray to obtain the invention according to claim 7.
Claim 14 corresponds to claim 7, additionally reciting a method for performing the functions of claim 7. Kumar in view of Bray teaches a method for performing the functions of claim 7 (Kumar, columns 38 and 39, lines 52-67 and 1-26, respectively, see Figs. 7a, 7b, and 19a). As indicated in the analysis of claim 7, Kumar in view of Bray teaches all the limitations according to claim 7. Therefore, claim 14 is rejected for the same reasons of obviousness as claim 7.
Claim 20 corresponds to claim 7, additionally reciting a processor comprising a memory to execute the functions of claim 7. Kumar in view of Bray teaches the addition of a processor comprising a memory to execute the functions of claim 7 (Kumar, “With reference to FIG. 1, the computer system (100) includes one or more processing units (110, 115) and memory (120, 125).”, column 6, lines 15-17, see Fig. 1). As indicated in the analysis of claim 7, Kumar in view of Bray teaches all the limitations according to claim 7. Therefore, claim 20 is rejected for the same reasons of obviousness as claim 7.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CONNOR LEVI HANSEN whose telephone number is (703)756-5533. The examiner can normally be reached Monday-Friday 9:00-5:00 (ET).
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, Sumati Lefkowitz can be reached at (571) 272-3638. 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.
/CONNOR L HANSEN/Examiner, Art Unit 2672
/SUMATI LEFKOWITZ/Supervisory Patent Examiner, Art Unit 2672