VMWARE, INC.Download PDFPatent Trials and Appeals BoardNov 10, 20212020004830 (P.T.A.B. Nov. 10, 2021) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 13/870,878 04/25/2013 Jonathan Clark B017 2489 151795 7590 11/10/2021 FISH & RICHARDSON P.C. (VMware) P.O. BOX 1022 MINNEAPOLIS, MN 55440-1022 EXAMINER HESS, MICHAEL J ART UNIT PAPER NUMBER 2481 NOTIFICATION DATE DELIVERY MODE 11/10/2021 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): PATDOCTC@fr.com ipadmin@vmware.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE BEFORE THE PATENT TRIAL AND APPEAL BOARD Ex parte JONATHAN CLARK Appeal 2020-004830 Application 13/870,878 Technology Center 2400 Before JEAN R. HOMERE, TREVOR M. JEFFERSON, and MICHAEL J. STRAUSS, Administrative Patent Judges. HOMERE, Administrative Patent Judge. DECISION ON APPEAL I. STATEMENT OF THE CASE1 Pursuant to 35 U.S.C. § 134(a), Appellant2 appeals from the Examiner’s decision to reject claims 1–3, 5, 7–10, 12, 14–17, 19, 21, and 22.3 Appeal Br. 10. We have jurisdiction under 35 U.S.C. § 6(b). We reverse. 1 We refer to the Specification, filed Apr. 25, 2013 (“Spec.”); Final Office Action, mailed July 16, 2019 (“Final Act.”); Appeal Brief, filed Feb. 12, 2020 (“Appeal Br.”); Examiner’s Answer, mailed Apr. 16, 2020 (“Ans.”); and Reply Brief, filed June 11, 2020 (“Reply Br.”). 2 “Appellant” refers to “Applicant” as defined in 37 C.F.R. § 1.42(a). Appellant identifies the real party in interest as VMware, Inc. Appeal Br. 1. 3 Claims 21 and 22 have been withdrawn from consideration as being directed to a non-elected invention. Final Act. 17–18; Ans. 12. Appeal 2020-004830 Application 13/870,878 2 II. CLAIMED SUBJECT MATTER The claimed subject matter relates to a method and system for compressing video data using an image block matching technique in virtual desktop infrastructure (VDI) deployments by pre-calculating hash values for a reference frame prior to other frames becoming available based on changes to a graphical user interface (GUI) thereby reducing latency in compressing videos. Spec. ¶¶ 5, 10. Appellant describes the claimed subject matter as follows: Systems and methods described herein compress video data by using image block matching that utilizes a full screen exact block search and pre-calculated block hashes in a latest frame of a video to reduce latency. A server for remoting a display to a remote client is provided, the server includes a processor that is configured to access a previous frame of an image in a video and to obtain hash values for each pixel in the previous frame. The processor is also configured to create a hash map that stores each of the hash values for each pixel in the previous frame. The processor is configured to receive a current frame of the image in the video and to separate the current frame into a plurality of current blocks of pixels. The processor is also configured to calculate, using a hash function, a hash value for each of the plurality of current blocks of pixels. The processor is further configured to compare the hash values in the hash map with the hash values associated with the current frame and to identify a hash value in the hash map that matches a hash value in the current frame. Moreover, the processor is configured to compress the current frame of the video for transmission to the remote client using the identified matching hash values and to pre-calculate a new hash map based on the current frame for use in compressing a next frame of the video. Id. ¶ 5. Figure 1, reproduced below, is useful for understanding the claimed subject matter: Appeal 2020-004830 Application 13/870,878 3 Figure 1 depicts GUI 119 for desktop 117 generated by a virtual machine hosted on server computer 110, which generates, updates and compresses a video from the GUI contents based on image block matching and subsequently transmits them to client computer 164. Id. ¶¶ 10, 11. Appeal 2020-004830 Application 13/870,878 4 Independent claim 1, with disputed limitations emphasized, is illustrative: 1. A server for remoting a display to a remote client, the server comprising a processor configured to: pre-calculate a first hash map for a previous frame of a video that represents a graphical user interface of a desktop prior to a current frame of the video becoming available, wherein the current frame becomes available based on an update to the graphical user interface of the desktop, the first hash map comprising pre-calculated hash values stored for each of a plurality of pixel blocks at each of a plurality of pixel offsets in the previous frame, each pixel block including a plurality of pixels relative to the corresponding pixel offset, and wherein the previous frame depicts a view of the graphical user interface; receive a current frame of the video, wherein the current frame is a sequentially next frame in the video from the previous frame and depicts an updated view of the graphical user interface that is updated from the previous frame based on the update to the graphical user interface; separate the current frame into a plurality of current blocks of pixels at each of the plurality of pixel offsets of the current frame; calculate, using a hash function, a hash value for each of the plurality of current blocks of pixels; compare the previous frame to current frame of the video including comparing the pre-calculated hash values in the first hash map for the previous frame with the calculated hash values for the current blocks of pixels at each corresponding pixel offset of the current frame; identify a hash value in the first hash map at a particular pixel offset that matches a hash value in the current frame at a corresponding pixel offset; compress the current frame of the video for transmission to the remote client using the identified matching hash values; pre-calculate a second hash map for the current frame of the video prior to a next current frame of the video that depicts a next updated view of the graphical user interface becoming Appeal 2020-004830 Application 13/870,878 5 available based on another update to the graphical user interface, the second hash map comprising the calculated hash values for each of the plurality of current blocks of pixels; and replacing the first hash map with the second hash map such that hash values calculated for the next current frame are compared to the hash values calculated for the current blocks of pixels of the current frame and such that hash values calculated for the next current frame are not compared to hash values of previous frames of the video when comparing the next current frame to the current frame and compressing the next current frame based on the comparing, the replacing the first hash map with the second hash map including replacing the pre-calculated hash values of the first hash map at each pixel offset with the hash values for each block of pixels in the current frame concurrently with comparing the pre-calculated hash value at that pixel offset with the calculated hash values such that the pre-calculated hash values are replaced for each pixel offset after each respective comparison. Appeal Br. 12–13 (emphasis added). III. REFERENCES The Examiner relies upon the following references as evidence.4 Name Reference Date Burgess US 2004/0131115 A1 July 8, 2004 Carlson US 2012/0286979 A1 Nov. 15, 2012 IV. REJECTION5 The Examiner rejects claims 1–3, 5, 7–10, 12, 14–17, and 19 under 35 U.S.C. § 103 as unpatentable over the combined teachings of Burgess and Carlson. Final Act. 8–17. 4 All reference citations are to the first named inventor only. 5 The Examiner withdrew the 112 rejections previously entered against claims 1, 8, and 15. Advisory Act. Appeal 2020-004830 Application 13/870,878 6 V. ANALYSIS We consider Appellant’s arguments, as they are presented in the Appeal Brief, pages 5–10 and the Reply Brief, pages 2–5.6 a. Examiner’s Election/Restriction As a preliminary matter, Appellant argues that the Examiner’s withdrawal of claims 21 and 22 from consideration is premised upon an improper election/restriction under 37 C.F.R. § 1.145 (MPEP § 821.03). Appeal Br. 5–6. Therefore, Appellant requests reversal of the restriction to claims 21 and 22. Id. at 6. Appellant is reminded that the issue of claim restriction is a petitionable, not an appealable matter and is, therefore, not properly raised before us. See MPEP § 1201 (“The Board will not ordinarily hear a question that should be decided by the Director on petition . . . .”). See 37 C.F.R. § 1.181. Accordingly, we do not reach the issue regarding the Examiner’s election/restriction of claims 21 and 22. b. Obviousness Rejection Appellant argues that the Examiner errs in finding that the combination of Burgess and Carlson renders claim 1 obvious. Appeal Br. 8– 9. In particular, Appellant argues that the cited combination of references does not teach or suggest the following limitation: [R]eplacing the first hash map with the second hash map such that hash values calculated for the next current frame are compared to the hash values calculated for the current blocks of pixels of the current frame and such that hash values calculated for the next current frame are not compared to hash values of 6 We have considered in this Decision only those arguments Appellant actually raised in the Briefs. Arguments not made are forfeited. See 37 C.F.R. § 41.37(c)(1)(iv) (2017). Appeal 2020-004830 Application 13/870,878 7 previous frames of the video when comparing the next current frame to the current frame as recited in independent claim 1. Id. According to Appellant, Burgess discloses comparing “block of pixels” to all of the least oldest “block of pixels” that can be stored in a finite-sized cache, as opposed to comparing hash values between just two adjacent frames. Id. (citing Burgess ¶ 97). More particularly, Appellant states the following: The claimed replacing and comparing ensures that each hash value of the next current frame is compared to the hash values of the current frame, without either wasting time and processing power comparing the hash values of the next current frame to various other frames or missing some of the hash values of the current frame due to a limited cache size, which would be the case using Burgess’s technique of overwriting of older data based merely on age. Id. at 9. In response, the Examiner finds the following: Appellant contends, “the claimed comparison is a comparison between hash values of two frames only,” rather than comparing to blocks of pixels from older frames as taught by Burgess. Examiner finds Appellant’s focus on just two frames obstructs the issue because there will be a third frame, and a fourth frame, and so on. Using Appellant’s argument as the premise, when the third frame is the current frame, the third frame compares back to the second frame. Now, pause here to consider what that second frame actually represents. The second frame is an amalgam of the comparison between the first and second frames. As taught by Burgess’s “cache miss”, the second frame (second hash map) replaces the first frame (first hash map) only to the extent the second frame has blocks differing from the first frame. Those blocks from the first frame that are also found in the second frame, and subsequent frames (Burgess’s “cache hits”), persist into the next current frame (and on and on). So, when considering a comparison between a Appeal 2020-004830 Application 13/870,878 8 second frame and a third frame and when considering the third frame will replace the second frame, one has to realize that the second frame contains relics from the first frame so that the third frame and subsequent frames effectively compare their blocks to blocks owing back to the first frame. If one does not agree with this explanation, then they do not understand what makes video compression possible. Therefore, Examiner does not agree that concentrating the discussion on just two frames, as Appellant insists, is really a worthwhile approach to understanding the prior art or the claimed invention. It creates a semantic disagreement where there is no technological distinction. Thus, because Appellant’s argument, focusing on just two frames in succession, fails to address how a larger string of frames would be handled, Appellant’s argument does not particularly address the true nature of the claimed invention. Perhaps what Appellant is arguing is that the claimed invention only keeps the most recent previous frame in the reference picture buffer rather than a plurality of previous frames. Single-frame reference picture buffer implementations are known in the art, so had Appellant clearly argued this point during prosecution, Examiner would have put more in the record on how this feature would have been obvious to the skilled artisan. For now, though, a quick review of Burgess’s paragraph [0095] demonstrates Burgess teaches, or at least suggests, single-frame reference picture buffer implementations. Burgess explains that one could make the buffer huge, effectively keeping every previous frame and creating an ever-growing dictionary of image blocks. However, Burgess also goes the other way, teaching smaller cache sizes would be beneficial to reduce memory and hardware requirements as well as reduce the number of comparisons needed to be performed for each received frame. Burgess uses terms like “may” to demonstrate the invention does not require any particular number of cached frames or blocks to be effective. Instead, Burgess, like the skilled artisan, recognizes the tradeoffs implicated as one considers the spectrum of possible cache sizes. Accordingly, Appellant’s averred distinction over the prior art is not persuasive. Ans. 14–16 (emphasis added). Appeal 2020-004830 Application 13/870,878 9 Appellant’s arguments are persuasive of reversible Examiner error. Burgess discloses a server sharing real-time video signals displayed on a local GUI with a remote computer, wherein the video signal is digitized, compressed and transmitted to the remote computer. Burgess ¶¶ 2, 8, 18, 25. In particular, Burgess discloses applying a smoothing sub-algorithm to the digital video image data including block of pixels by computing therefor a CRC similar to a hash code for the block, which is stored in the cache as a reference hash code. Id. ¶¶ 94–98, 133. Further, Burgess discloses comparing the hash code for each current block of pixels to hash codes of corresponding blocks of pixels stored in the cache to determine a cache hit or a cache miss. Id. ¶¶ 95, 96. Furthermore, Burgess discloses overwriting oldest block of pixels within the cache by flushing therefrom the least recently-transmitted block. Id. ¶ 97. We agree with the Examiner that Burgess’s disclosure comparing a current hash code with other hash codes (of adjacent and non-adjacent frames) stored in the cache teaches comparing hash values between at least two adjacent frames. However, we are persuaded by Appellant’s argument that because such a comparison also includes that of the current hash code with non-adjacent frames, it vitiates the claim language, which precludes comparing hash values calculated for the next current frame to hash values of previous frames of the video when comparing the next current frame to the current frame as a way to reduce latency.7 Reply Br. 2. 7 Although we agree the disputed negative limitation is not specifically disclosed by Burgess, we leave it to the Examiner to determine in the event of continued prosecution whether the required omission of comparisons of calculated hash values to hash values for previous frames is the obvious elimination of a step (additional comparisons) and its function (i.e., Appeal 2020-004830 Application 13/870,878 10 Because Appellant shows at least one reversible error in the Examiner’s obviousness rejection of independent claim 1, we do not reach Appellant’s remaining arguments. Accordingly, we do not sustain the Examiner’s obviousness rejection of independent claim 1 over the combination of Burgess and Carlson. Similarly, we do not sustain the rejection of claims 2, 3, 5, 7–10, 12, 14–17, and 19, which also recite the disputed limitations. VI. CONCLUSION On this record, we reverse the Examiner’s rejection of claims 1–3, 5, 7–10, 12, 14–17, and 19. identification of better matches). Although the Examiner finds in passing that keeping only the most recent previous frame in the reference picture rather than a plurality of previous frames is an obvious variation that would have been within the skill of the ordinary artisan, the Examiner fails to fully develop such an obviousness approach to thereby change the thrust of the rejection. Ans. 15–16. See In re Thompson, 545 F.2d 1290, 1294 (CCPA 1976) (obvious to eliminate wax pretreatment and its function); In re Kuhle, 526 F.2d 553, 555 (CCPA 1975) (deletion of switch member and its function was an obvious expedient); In re Marzocchi, 456 F.2d 790, 793 (CCPA 1972) (omission of paraffin and its function would not be an unobvious expedient); In re Keegan, 331 F.2d 315, 319 (CCPA 1964) (omission of suture holder and its function of guarding against accidental displacement was obvious); and In re Porter, 68 F.2d 971, 973 (CCPA 1934) (no invention where omission of an element is attended by a corresponding omission of the function performed by that element); see also MPEP § 2144.04 II. Appeal 2020-004830 Application 13/870,878 11 VII. DECISION SUMMARY In summary: Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1–3, 5, 7–10, 12, 14–17, 19 103 Burgess, Carlson 1–3, 5, 7– 10, 12, 14– 17, 19 REVERSED Copy with citationCopy as parenthetical citation