Ex Parte Brunner et alDownload PDFBoard of Patent Appeals and InterferencesFeb 10, 201110877358 (B.P.A.I. Feb. 10, 2011) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE _____________ BEFORE THE BOARD OF PATENT APPEALS AND INTERFERENCES ______________ Ex parte RALPH BRUNNER and JOHN HARPER ______________ Appeal 2009-006904 Application 10/877,358 Technology Center 2600 ______________ Before JOHN C. MARTIN, CARLA M. KRIVAK, and JAMES R. HUGHES, Administrative Patent Judges. MARTIN, Administrative Patent Judge. DECISION ON APPEAL1 1 The two-month time period for filing an appeal or commencing a civil action, as recited in 37 C.F.R. § 1.304, or for filing a request for rehearing, as recited in 37 C.F.R. § 41.52, begins to run from the “MAIL DATE” (paper delivery mode) or the “NOTIFICATION DATE” (electronic delivery mode) shown on the PTOL-90A cover letter attached to this decision. Appeal 2009-006904 Application 10/877,358 2 STATEMENT OF THE CASE This is an appeal under 35 U.S.C. § 134(a) from the Examiner’s rejection of claims 1, 3-8, 11, 13, 14, 19, and 20, which are all of the pending claims. We have jurisdiction under 35 U.S.C. § 6(b). We affirm. A. Appellants’ invention Appellants’ invention relates to the application of visual effects using a programmable graphics processing unit (GPU2) during frame-buffer composition in a computer system. Specification [0001].3 Appellants’ Figure 2 is reproduced below. 2 Specification [0016]. 3 References herein to Appellants’ Specification are to the Application as filed rather than to corresponding Patent Application Publication 2005/0285866 A1. Appeal 2009-006904 Application 10/877,358 3 Figure 2 shows a “buffered window” computer system in accordance with one embodiment of Appellants’ invention. Id. at [0007]. This system differs from the prior art buffered window computer system 100 depicted in Figure 1 (id. at [0006]) by including a temporary buffer (TMP BUF) 240. System 200 includes a plurality of applications (e.g., applications 205 and 210), each associated with one or more backing stores (e.g., buffers 215 and 220). Id. at [0016]. Compositor 225 (one component in an OS-level “window server” application) uses fragment programs executing on programmable GPU 230 to combine, or composite, each application’s backing store into a single “image” stored in assembly buffer 235 in conjunction with temporary buffer 240. Id. Data stored in assembly buffer 235 is transferred to frame buffer 245, which is then used to drive display unit 250. Id. Appeal 2009-006904 Application 10/877,358 4 The visual effects provided by Appellants’ invention include, for example, a “below-effect” (id. at [0019]), which is also referred to as a “before-effect[]” (id. at [0018]). This effect is illustrated by Figures 3A and 3B, id. at [0008], which are reproduced below. Fig. 3A shows a flow diagram for a “below-effect” and Fig. 3B shows how that effect is implemented. The below-effect function is achieved as follows: [T]he windows beneath (i.e., windows already composited and stored in assembly buffer 235) a target window (e.g., contained in backing store 220) are filtered before the target window (e.g., contained in backing store 220) is composited. As shown, the contents of assembly buffer 235 are first transferred to temporary buffer 240 by GPU 230 (block 305 in FIG. 3A and [circled “1”] in FIG. 3B). GPU 230 then filters the contents of temporary buffer 240 into assembly buffer 235 to apply the desired visual effect (block 310 in FIG. 3A and [circled “2”] in FIG. 3B). Finally, the target window is composited into (i.e., on top of the contents of) assembly buffer 235 by GPU 230 (block 315 and [circled “3”] in FIG. 3B). Appeal 2009-006904 Application 10/877,358 5 Id. at [0019].4 The disclosed effects also include: an “on-effect” 400, depicted in Figures 4A and 4B (id. at [0020]); an “above-effect” 600, depicted in Figures 6A and 6B (id. at [0021]); and a “full-screen effect” 700, depicted in Figures 7A and 7B (id. at [0022]). B. The claims The independent claims before us are claims 1, 6, and 11, of which claim 1 reads as follows: 1. A method to generate a display-wide visual effect, comprising: copying an image buffer’s contents into a second buffer; filtering the second buffer’s contents back into the image buffer using a graphics processing unit to generate a specified visual effect, wherein the image buffer is associated with a system frame buffer; and compositing an application-specific window buffer into the image buffer, wherein the act of compositing is performed by the graphics processing unit after the act of filtering. Claims App. (Br. 23) (emphases added).5 The principal issue raised by Appellants is whether the Examiner erred in finding that Hamburg discloses a graphics processing unit. 4 In the quotations herein from the Specification and references, bolding of the reference numerals is omitted. 5 Appeal Brief filed June 2, 2008. Appeal 2009-006904 Application 10/877,358 6 C. The references The rejections before us are based on the following references: Hanggie US 2005/0088452 A1 Apr. 28, 2005 Wilt US 7,038,690 B2 May 2, 2006 Hamburg US 7,042,467 B1 May 9, 2006 As support for their position that the references fail to disclose a graphics processing unit, Appellants (Br. 10) cite John D. Owens et al., GPU Computing, 96 PROC. IEEE 879 (May 2008)[hereinafter “Owens”]. Evid. App. (Br. 26). D. The rejections Claims 1, 4-6, 8, 11, 14, 19, and 20 stand rejected under 35 U.S.C. § 103(a) for obviousness over Hamburg in view of Wilt. Final Action 3. Claims 3, 7, and 13 stand rejected under § 103(a) for obviousness over Hamburg in view of Wilt and Hanggie. Id. at 15. ANALYSIS Hamburg discloses techniques for creating digital images by compositing graphics elements. Col. 1, ll. 7-8. Figure 1 of Hamburg is reproduced below. Appeal 2009-006904 Application 10/877,358 7 Figure 1 is a flowchart of a generalized “compositing” loop in accordance with Hamburg’s invention. Col. 2, ll. 53-54. This figure depicts the use of buffers of three different types: (1) an accumulation buffer (e.g., step 102); (2) backdrop buffers (e.g., step 104); and (3) a blended interior content buffer (e.g., step 112). Appeal 2009-006904 Application 10/877,358 8 A. Claims 1 and 3-5 Discussing claim 1, the Examiner relies on Hamburg for the recited “copying” and “filtering” steps and relies on Wilt for the “compositing” step. Final Action 3-5. Specifically, the Examiner (id. at 3) reads the step of “copying an image buffer’s contents into a second buffer” on step 1a in Hamburg’s column 4, lines 26-27, which reads: “1a. Copy the accumulation buffer into a blended interior content buffer.” This operation is represented by block 112 of Figure 1. Col. 5, ll. 29-31. Next, the Examiner (Final Action 4) reads the “filtering” step on steps 1b, 2, and 3 at column 4, lines 28-32, which read as follows: 1b. Use the element to modify the blended interior content buffer. 2. Determine a shape mask for the element. 3. Crossfade the accumulation buffer with the blended interior content buffer using the shape mask. These steps are represented by blocks 114, 116, and 118 in Figure 1. Col. 5, ll. 32-39. As noted by the Examiner, Hamburg discloses that step 1b can take the form of “applying a general filtering operation to the data in the blended interior content buffer—e.g., a blurring filter.” Col. 4, ll. 41-51. The Examiner (Final Action 3-4) further finds that Hamburg’s accumulation buffer (i.e., the recited image buffer) inherently is associated with a “system frame buffer,” as required by claim 1, because Hamburg explains that “the invention can be implemented on a computer system Appeal 2009-006904 Application 10/877,358 9 having a display device such as a monitor or LCD screen for displaying information to the user.” Col. 7, ll. 29-32. After explaining that he “considers any processing unit that carries out graphical operations, such as outputting display data to a display device, to be a graphics processing unit” (Final Action 2), the Examiner further finds that Hamburg’s programmable processor is a graphics processing unit: Hamburg, at column 6 line 60 through column 7 line 7 and column 7 lines 28-35, describes that the invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Thus, because the at least one programmable processor is described as outputting data to at least one output device (such as the described LCD screen), the at least one programmable processor described in Hamburg is considered a graphics processing unit. Id. As additional support for finding that Hamburg’s programmable processor is a graphics processing unit, the Examiner cites Hamburg’s disclosure of using the programmable processor to perform filtering in order to achieve a visual effect: The invention disclosed in Hamburg, which describes filtering a second buffer’s contents back into an image buffer to generate a specified visual effect, as described at 4:22-53 and in the rejections above, is disclosed as being carried out by one or more programmable processors, wherein the processors may include both general and special purpose processors (see 7:2-14). Thus, the one or more programmable processors disclosed in Hamburg are considered at least one graphics processing unit for Appeal 2009-006904 Application 10/877,358 10 filtering the second buffer’s contents back into the image buffer to generate a specified visual effect. (Answer 16.) Appellants, quoting Owens, argue that the Examiner’s interpretation of a graphics processing unit is unreasonably broad for the following reasons: As one of ordinary skill in the art would recognize, the use of a graphics processing unit (GPU) entails a significantly different process than using a system’s central processing unit and providing for efficient use of display resources. “[T]he architecture and programming model of the GPU are markedly different than most other commodity single-chip processors.” (Owens . . . at pg. 879 § I ¶ 1; Evidence Appendix Exhibit 1). “The input to the GPU is ... triangles... [e]ach triangle generates a primitive called a ‘fragment’ at each screen-space pixel location that it covers. Because many triangles may overlap at any pixel location, each pixel’s color value may be computed [by the GPU] from several fragments.” (Id. at pg. 880 § II(A) ¶¶ 1-4). In contrast, a central processing unit is driven by standard programming commands and process a single pixel at a time. Thus, the use of a dedicated graphics processing unit as claimed is not an insignificant difference between the cited art and the claimed invention. (Br. 10-11 (brackets in original) (emphases added).) Appellants have not demonstrated error in the Examiner’s conclusion that the recited “graphics processing unit” is broad enough to read on Hamburg’s “programmable processor.” The reason is that Owens describes examples of GPUs without offering what can be accurately characterized as Appeal 2009-006904 Application 10/877,358 11 a broadest reasonable definition of that term.6 Furthermore, Appellants’ reliance on Owens’ discussion of “triangles” and the “fragments” generated thereby is misplaced in view of Owens’ description of triangles as “typical” rather than as essential: “The input to the input to the GPU is a list of geometric primitives, typically triangles, . .” (emphasis added). Owens at 880, 2d col., 1st para. under heading “A. The Graphics Pipeline.” Because we are not persuaded that Hamburg fails to disclose a graphics processing unit, we need not address the Examiner’s alternative finding that Wilt discloses a graphics processing unit (Final Action 5) or Appellants’ arguments to the contrary. (Br. 11-12.) Appellants separately argue the requirement of claim 1 that “the act of compositing is performed by the graphics processing unit after the act of filtering.” (Br. 12 (emphasis added).) The Examiner, paraphrasing column 4, lines 49-51 of Hamburg, finds that although Hamburg discloses “a general filtering operation applied to the data in the blended content buffer – e.g., a blurring filter,” Hamburg does not disclose that compositing is performed after the act of filtering, as claimed. Final Action 4-5. For such a 6 Application claims are interpreted as broadly as is reasonable and consistent with the specification, In re Thrift, 298 F.3d 1357, 1364 (Fed. Cir. 2002), while “taking into account whatever enlightenment by way of definitions or otherwise that may be afforded by the written description contained in the applicant’s specification,” In re Morris, 127 F.3d 1048, 1054 (Fed. Cir. 1997), and without reading limitations from examples given in the specification into the claims, In re Zletz, 893 F.2d 319, 321-22 (Fed. Cir. 1989). Appeal 2009-006904 Application 10/877,358 12 teaching, the Examiner relies on Wilt, which discloses a graphics arbiter that acts as an interface between video sources and a display component. Col. 2, l. 66–col. 3, l. 3. Figure 4 of Wilt is reproduced below. Figure 4 is a block diagram used to introduce the graphics arbiter as an intelligent interface. Col. 4, ll. 24-25. This figure shows graphics arbiter 400 placed between a group of the display sources (106a, 106b, 106c) and the presentation surface 104 of the display device 102. Col. 9, ll. 16-18. The graphics arbiter (1) collects information about the display environment and passes that information along to the video sources and (2) accesses the output produced by the sources to efficiently present that output to the Appeal 2009-006904 Application 10/877,358 13 display screen component, possibly transforming the output or allowing another application to transform it in the process. Col. 3, ll. 3-9. In addition to translating between formats, the graphics arbiter 400 can apply graphics transformation effects to the output of a display source 106a. Col. 13, ll. 38- 40. The Examiner more particularly relies on Figure 8, reproduced below. Figure 8 illustrates the fact that it need not be the graphics arbiter 400 itself that performs an application transformation. Col. 14, ll. 24-26. In this figure, a “transformation executable” 800 receives display system information 802 from the graphics arbiter 400 and uses the information to perform transformations (represented by flows 804a and 804b) on the output Appeal 2009-006904 Application 10/877,358 14 of a display source 106a or on a combination of outputs from more than one display source. Col. 14, ll. 26-31. The transformation executable can itself be another display source, possibly integrating display information from another source with its own output. Col. 14, ll. 31-34. Wilt describes the following example of “upstream” and “downstream” processing, on which the Examiner (Final Action 5) relies: A display source whose input includes the output from another display source can be said to be “downstream” from the display source upon whose output it depends. For example, a game renders a 3D image of a living room. The living room includes a television screen. The image on the television screen is produced by an “upstream” display source (possibly a television tuner) and is then fed as input to the downstream 3D game display source. The downstream display source incorporates the television image into its rendering of the living room. As the terminology implies, a chain of dependent display sources can be constructed, with one or more upstream display sources generating output for one or more downstream display sources. Output from the final downstream display sources is incorporated into the presentation surface set 110 by the graphics arbiter 400. Col. 14, ll. 39-54. Based on these Wilt disclosures, the Examiner concluded that [i]t would have been obvious to one of ordinary skill in the art at the time of the invention to include in Hamburg the system and method of compositing the output of one application into the output of a second application, wherein the act of compositing is performed by the graphics processing unit (graphics arbiter 400) after the act of filtering, as taught by Wilt, in order to decrease the amount of time associated with processing image data by dividing the image processing tasks among applications and then Appeal 2009-006904 Application 10/877,358 15 combining the outputs of the multiple applications to create the desired image. Final Action 6. Appellants responded by arguing that “even if Wilt does disclose a temporal sequence and a division of work[,] the Examiner’s conclusion clearly interprets Wilt to ‘divid[e] the image processing tasks among applications’ and not the claimed temporal sequence and division of work assigned to a specialized processor (i.e., a GPU).” (Br. 12 (second brackets in original).) The Examiner responded by clarify[ing] that the graphics arbiter 400 in Wilt is considered to carry out all compositing tasks, and potentially some filtering tasks, and an advantage of the system disclosed in Wilt, when combined with Hamburg, is that any application specific processing tasks (including image processing tasks) can be carried out by each application individually before the respective application windows are output either to a downstream application or to the back buffer for compositing purposes, which reduces the amount of time spent waiting for each application to render display data to the back buffer, as each display source can render data to a local buffer and the data can simply be transferred to another display buffer or the back buffer of the system (see 9:15- 36). (Answer 19 (emphasis added).) Appellants, who do not file a reply brief, have not demonstrated any error in this clarified position of the Examiner.7 7 See Ex parte Frye, 94 USPQ2d 1072, 1075 (BPAI 2010) (precedential) (an appellant may attempt to overcome an examiner’s obviousness rejection on appeal to the Board by: (A) submitting arguments and/or evidence to show that the examiner made an error in either (1) an underlying finding of fact (Continued on next page.) Appeal 2009-006904 Application 10/877,358 16 For the foregoing reasons, we sustain the rejection of claim 1 and the rejections of dependent claims 3-5, which Appellants treat as standing or falling with claim 1. (Br. 13.) B. Claims 6-8 Claim 6 reads as follows: 6. A method to generate a display-wide visual effect, comprising: filtering contents of an application specific window buffer and an image buffer into a second buffer using a graphics processing unit to generate a specified visual effect; and transferring, using a graphics processing unit, contents of the second buffer into the image buffer, said image buffer associated with a system frame buffer. Claims App. (Br. 24). Appellants make several arguments against the rejection of this claim. The argument (Br. 15) that Hamburg fails to disclose a “general processing unit” is unpersuasive for the reasons given above. The argument (Br. 16) that the references fail to disclose or suggest the claimed “specific division of work that is to be performed specifically by the specialized processor (i.e., a GPU)” is unpersuasive because it is not supported by an explanation of upon which the final conclusion of obviousness was based or (2) the reasoning used to reach the legal conclusion of obviousness; or (B) showing that the prima facie case has been rebutted by evidence of secondary considerations of nonobviousness). Appeal 2009-006904 Application 10/877,358 17 which claim 6 language is not disclosed or suggested by the references and why. A third argument is that “the arbiter of Wilt does not ‘filter’ as that term is used in the Specification.” (Id. at 15.) The Examiner responded by explaining that “Wilt is not relied upon to describe the act of filtering as claimed; instead Hamburg is relied upon to describe this limitation, as described above. Wilt is simply relied upon to describe the claimed compositing operation that follows a filtering operation.” (Answer 17-18.) Also, Appellants have not explained how they believe the claim term “filter” should be interpreted and why. The rejection of claim 6 is sustained, as are the rejections of dependent claims 7 and 8, which Appellants (Br. 16) treat as standing or falling therewith. C. Claims 11, 13, and 14 Claim 11 reads as follows: 11. A method to generate a display-wide visual effect, comprising: compositing an application specific window buffer into an image buffer, said image buffer associated with a system frame buffer; copying contents of the image buffer into a second buffer; and filtering the second buffer into the image buffer using a graphics processing unit to generate a specified visual effect. Claims App. (Br. 24). Appeal 2009-006904 Application 10/877,358 18 As to claim 11, Appellants rely on only the arguments already addressed above. The rejection of claim 11 is sustained, as are the rejections of dependent claims 13 and 14, which Appellants treat as standing or falling therewith (Br. 19). D. Claims 19 and 20 Appellants treat claims 19 and 20, each of which is multiply dependent on independent claims 1, 6, and 11, as standing or falling with the parent claims. (Br. 19, 21.) The rejection of claims 19 and 20 is accordingly sustained. ORDER The Examiner’s decision that claims 1, 3-8, 11, 13, 14, 19, and 20 are unpatentable under 35 U.S.C. § 103(a) is affirmed. No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(1). See 37 C.F.R. § 1.136(a)(1)(iv) (2010). AFFIRMED babc WONG, CABELLO, LUTSCH, RUTHERFORD & BRUCCULERI LLP 20333 Tomball Parkway SUITE 600 HOUSTON, TX 77070 Copy with citationCopy as parenthetical citation