Apple Inc. v. Samsung Electronics Co. Ltd. et al

Filing 1056

Administrative Motion to File Under Seal Reply Declaration of Marc J. Pernick in Support of Apple's Motion to Strike Portions of Samsung's Expert Reports filed by Apple Inc.. (Attachments: #1 Declaration of Marc J. Pernick in Support of Reply re Apple's Motion to Strike Portions of Samsung's Expert Reports, #2 Exhibit 1, #3 Exhibit 2, #4 Exhibit 3, #5 Exhibit 4, #6 Exhibit 5, #7 Exhibit 6, #8 Exhibit 7, #9 Exhibit 8, #10 Exhibit 9, #11 Exhibit 10, #12 Exhibit 11)(Jacobs, Michael) (Filed on 6/7/2012)

Download PDF
Exhibit 2 EXHIBIT J-1 SAMSUNG’S INVALIDITY CLAIM CHARTS FOR MERL DIAMOND TOUCH TABLE SYSTEM 1. 2. 3. 4. 5. 6. 7. 8. Materials cited: Chris Forlines, C., Esenther, A., Shen, C., Wigdor, D., and Ryall, K. Multi-user, Multi-display Interaction with a Single-user, Single-display Geospatial Application. UIST ’06 (ACM Oct. 15-18 2006) printed in original at pp. 273-276, reprinted as Mitsubishi Electronic Research Laboratories (“MERL”) Technical Report No. TR2006-083 in October 2006.1 (“TR2006-083”) P.H. Dietz and Leigh, D. DiamondTouch: a multi-user touch technology. Proc ACM UIST, (ACM 2001) printed in original at pp. 219-226, reprinted as MERL Technical Report No. TR2003-125. (“TR2003-125”) Alan Esenther, Cliff Forlines, Kathy Ryall, Sam Shipman. DiamondTouch SDK: Support for Multi-User, Multi-Touch Applications, (MERL 2002), printed as MERL Technical Report No. TR2002-48 (“TR2002-48”) Edward Tse, Chia Shen, Saul Greenberg, Clifton Forlines: Enabling interaction with single user applications through speech and gestures on a multi-user tabletop (AVI 2006), pp. 336-343, reprinted as MERL Technical Report No. TR2005-130 (“TR2005-130”). Alan Esenther and Kent Wittenburg, Multi-User Multi-Touch Games on DiamondTouch with the DTFlash Toolkit , printed as MERL Technical Report No. TR2005-105 (2005). http://www.youtube.com/watch?v=t35HXAjNW6s (“MERL video”) Edward Tse exhibiting Diamond Touch (2006) - http://video.google.com/videoplay?docid=6420668728353654549 (“TSE video”) DiamondTouch II 88cm Engineering Prototype (DT Physical Device)2. U.S. Patent No. 7,844,915 Claim 1 [1p] A machine implemented method for scrolling on a touch- MERL DIAMOND TOUCH TABLE SYSTEM The Diamond Touch Table System discloses a machine implemented method for scrolling on a touch-sensitive display of a device. For example: 1 Samsung is informed and believes that a standard business practice of Mitsubishi Electronic Research Laboratories was to reprint and make available on its website (http://www.merl.com/publications/?pub_type=Technical+Reports) what it considered to be “major publications” by members of the MERL staff to which MERL owned the copyright. According to MERL’s website, as of October 7, 2011, such a report would be considered “major” if it appeared in a “refereed journal, a refereed conference proceeding or some other significant publication…” (Id.) 2 Outside counsel for Samsung is currently in possession of this device, and will make it available for inspection by counsel at a time convenient for them, given reasonable notice. 03450.51900/4387870.1 1 U.S. Patent No. 7,844,915 sensitive display of a device comprising: MERL DIAMOND TOUCH TABLE SYSTEM “ABSTRACT DiamondTouch [1] is a multi-touch input technology that supports multiple, simultaneous users; it can distinguish who is touching where. We present the DiamondTouch SDK; it provides support for the development of applications that utilize DiamondTouch’s capabilities to implement computer supported collaboration and rich input modalities (such as gestures). Our first demo illustrates the basic utilities and functionality of our system.” (TR2002-48 at 2). 03450.51900/4387870.1 2 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM (TR2002-48 at 2). “Our infrastructure is illustrated in Fig. 1. A standard Windows computer drives our infrastructure software, as described below. The table is a 42” MERL Diamond Touch surface [6] with a 4:3 aspect ratio; a digital projector casts a 1280x1024 pixel image on the table’s surface. This table is multi-touch sensitive, where contact is presented through the DiamondTouch SDK as an array of horizontal and 03450.51900/4387870.1 3 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM vertical signals, touch points and bounding boxes (Fig. 1, row 5). The table is also multi-user, as it distinguishes signals from up to four people. While our technology uses the Diamond Touch, the theoretical motivations, strategies developed, and lessons learnt should apply to other touch/vision based surfaces that offer similar multi user capabilities.” (TR2005-130 at 2). (Tse at 3, Fig. 1.) 4.1 GoogleEarth Google Earth is a free desktop geospatial application that allows one to search, navigate, bookmark, and annotate satellite imagery of the entire planet using a keyboard and mouse. Its database contains detailed satellite imagery with layered geospatial data (e.g., roads, borders, accommodations, etc). It is highly interactive, with compelling real time feedback during panning, zooming and ‘flying’ actions, as well as the ability to tilt and rotate the scene and view 3D terrain or buildings. . . . Table 1 provides a partial list of how we mapped Google Earth onto our multimodal speech and gesture system, while Fig. 2 illustrates Google Earth running on our multimodal, multi user table. (TR2005-130 at 4.) 03450.51900/4387870.1 4 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM (TR2005-130 at 4.) (TR2005-130 at 4.) [1a]receiving a user input, the user input is one or more input points applied to the touch-sensitive display that is integrated with the device; 03450.51900/4387870.1 The Diamond Touch Table System discloses receiving a user input, the user input is one or more input points applied to the touch-sensitive display that is integrated with the device. For example: “To interact with existing single user applications, we first use the GroupLab WidgetTap toolkit [8] to determine the location and size of the GUI elements within it. We then use the Microsoft Send Input facility to relay the gesture and speech input actions to the locations of the mapped UI elements (Fig. 1, rows 1, 2 and 3). Thus speech and gestures are mapped and transformed into one or more traditional GUI actions as if the user had performed the interaction sequence via the mouse and keyboard. The consequence is that the application appears to 5 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM directly understand the spoken command and gestures.” (TR2005-130 at 5) “Mapping of Gestures. Many systems rely on abstract gestures to invoke (i.e., mode change into) commands. For example, a two fingered gesture invokes an ‘Annotate’ mode in Wu’s example application [25]. Yet our behavioral foundations state that people working over a table should be able to easily understand other people’s rich gestural acts and hand postures as both consequential communication and as communicative acts. This strongly suggests that our vocabulary of postures and dynamics must reflect people’s natural gestures as much as possible (a point also advocated in [25][26]). “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth. Pointing to indicate deictic references, and using the sides of two hands to select a group of objects in Warcraft III is also well understood [17][5][3]. Because most of these acts work over a location, gaze awareness becomes highly meaningful. However, the table’s input constraints can restrict what we would like to do. For example, an upwards hand tilt movement would be a natural way to tilt the 3D map of Google Earth, but this posture is not recognized by the DiamondTouch table. Instead, we resort to a more abstract one hand / five finger gesture set to tilt the map up and down (Table 1).” (TR2005-130 at 6) DiamondTouch uses an array of antennas embedded into a surface, with each antenna transmitting a unique signal. Each user has their own receiver, generally attached to their chair. When a person touches the surface, energy from nearby antennas is coupled through the user to their receiver. Using this mechanism, the system determines who is touching where. (TR2002-48 at 3) 03450.51900/4387870.1 6 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM (TR2002-48 at 2). [1b]creating an event object in response to the user input; 03450.51900/4387870.1 The Diamond Touch Table system discloses creating an event object in resposne to the user input. For example: “Our third demo illustrates the mouse emulation capabilities of DiamondTouch. There are two aspects to this demo. First, this capability allows traditional software to be used with DiamondTouch. We currently have several mouse modes (one- touch, two-touch, etc) and are experimenting to determine how best to implement a fully-functioning mouse with DiamondTouch. Our mouse emulator works with 7 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM traditional software. Second, under Windows the DiamondTouch SDK can generate ‘augmented mouse events’ that contain the user ID info in an extra field. In this manner C++ Windows code using a Win32 API call can get the ID information for each mouse event as it is processed by the application. The application then needs to store the state for the different users, and also some mouse information. We have a sample drawing program (a modified MFC demo) to illustrate the use of ‘augmented mouse events’ for writing applications for DiamondTouch.” (TR2002-48 at 3.) “Gesture Engine. Since recognizing gestures from multiple people on a table top is still an emerging research area [25][26], we could not use existing 3rd party gesture recognizers. Consequently, we developed our own Diamond Touch gesture recognition engine to convert the raw touch information produced by the DiamondTouch SDK into a number of rotation and table-size independent features (Fig. 1, rows 4+5 middle). Using a Univariate Gaussian clustering algorithm, features from a single input frame are compared against a number of pre-trained hand and finger postures. By examining multiple frames over time, we capture dynamic information such as a hand moving up or two fingers moving closer together or farther apart. This allows applications to be developed that understand both different hand postures and dynamic movements over the Diamond Touch.” (TR2005-130 at 5) “The DiamondTouch surface consists of overlapping vertical and horizontal arrays of antennas. The hardware periodically produces frames of data containing scalar values that mea- sure the proximity of the user’s finger(s) to each antenna. “The DiamondTouch Library (dtlib) reads these data frames from the DiamondTouch device and affords access to the raw data and to various abstractions and interpretations of that data, such as the location of the maximum proximity (the touch point) and the bounding box of the area touched. Other abstractions are possible and are the subject of ongoing research. A weighted interpolation algorithm increases the effective resolution to 2500 x 1500. Median filtering, hysteresis, and adaptive touch thresholding are used to improve robustness in the face of RF interference and other environ- mental variables. “The SDK consists of dtlib (ANSI C), jdt (a Java interface layer), merldt (a Windows application providing mouse emu- lation, projector calibration, and various diagnostic displays), and a simple multi-user application example.” (TR2002-48 at 1-2) 03450.51900/4387870.1 8 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM “To interact with existing single user applications, we first use the GroupLab WidgetTap toolkit [8] to determine the location and size of the GUI elements within it. We then use the Microsoft Send Input facility to relay the gesture and speech input actions to the locations of the mapped UI elements (Fig. 1, rows 1, 2 and 3). Thus speech and gestures are mapped and transformed into one or more traditional GUI actions as if the user had performed the interaction sequence via the mouse and keyboard. The consequence is that the application appears to directly understand the spoken command and gestures.” (TR2005-130 at 5) [1c] determining whether the event object invokes a scroll or gesture operation by distinguishing between a single input point applied to the touch-sensitive display that is interpreted as the scroll operation and two or more input points applied to the touchsensitive display that are interpreted as the gesture operation; The Diamond Touch Table System discloses determining whether the event object invokes a scroll or gesture operation by distinguishing between a single input point applied to the touch-sensitive display that is interpreted as the scroll operation and two or more input points applied to the touch-sensitive display that are interpreted as the gesture operation. For example: (TR2005-130 at 4, Fig. 2.) 03450.51900/4387870.1 9 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth.” (TR2005-130 at 6.) [1d] issuing at least one scroll or gesture call based on invoking the scroll or gesture operation; The Diamond Touch Table System discloses issuing at least one scroll or gesture call based on invoking the scroll or gesture operation. For example: “Fortunately, both Google Earth and Warcraft III are highly interactive, immediately responding to all user commands in a very visual and often compelling manner. Panning in both produces an immediate response, as does zooming or issuing a ‘Fly to’ command in Google Earth.” (TR2005-130 at 5.) “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth.” (TR2005-130 at 5.) “Our third demo illustrates DiamondTouch’s ability to run with existing applications by providing a mouse emulation mode. DiamondTouch is well-suited to shared-display applications. It is suitable for front-projected video of the computer display, which facilitates direct manipulation of user interface elements and provides a shared focus of attention for collaborating users. Possible applications include command-and control command posts, control rooms, business or technical meetings, and a variety of casual applications in the home, at schools, and in retail settings.” (TR2002-48 at 1) “DIAMONDTOUCH SDK 03450.51900/4387870.1 10 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM The DiamondTouch surface consists of overlapping vertical and horizontal arrays of antennas. The hardware periodically produces frames of data containing scalar values that measure the proximity of the user’s finger(s) to each antenna. The DiamondTouch Library (dtlib) reads these data frames from the DiamondTouch device and affords access to the raw data and to various abstractions and interpretations of that data, such as the location of the maximum proximity (the touch point) and the bounding box of the area touched. Other abstractions are possible and are the subject of ongoing research. A weighted interpolation algorithm increases the effective resolution to 2500 x 1500. Median filtering, hysteresis, and adaptive touch thresholding are used to improve robustness in the face of RF interference and other environmental variables. “The SDK consists of dtlib (ANSI C), jdt (a Java interface layer), merldt (a Windows application providing mouse emulation, projector calibration, and various diagnostic displays), and a simple multi-user application example.” (TR2002-48 at 1-2.) “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth.” (TR2005-130 at 6.) Our third demo illustrates the mouse emulation capabilities of DiamondTouch. There are two aspects to this demo. First, this capability allows traditional software to be used with DiamondTouch. We currently have several mouse modes (onetouch, two-touch, etc) and are experimenting to determine how best to implement a fully-functioning mouse with DiamondTouch. Our mouse emulator works with traditional software. Second, under Windows the DiamondTouch SDK can generate ‘augmented mouse events’ that contain the user ID info in an extra field. In this manner C++ Windows code using a Win32 API call can get the ID information for each mouse event as it is processed by the application. The application then needs to store the state for the different users, and also some mouse information. We have a sample drawing program (a modified MFC demo) to illustrate the use of ‘augmented mouse events’ for writing applications for DiamondTouch. (TR2002-48 at 4.) [1e] responding to at least one scroll call, if issued, by 03450.51900/4387870.1 The Diamond Touch Table System discloses responding to at least one scroll call, if issued, by scrolling a window having a view associated with the event object based on an amount of a scroll with the scroll stopped at a predetermined position in relation to the user input. For 11 U.S. Patent No. 7,844,915 scrolling a window having a view associated with the event object based on an amount of a scroll with the scroll stopped at a predetermined position in relation to the user input; and MERL DIAMOND TOUCH TABLE SYSTEM example: “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth.” (TR2005-130 at 6.) (TR2005-130 at Table 1.) See also Tse video – single-finger scroll and two-finger zoom seen at 0:17 to 0:29 under the title “Zoom and Pan”; narrator indicates that “We’ve added the ability to do the panning action with one hand and it’s also possible to use the zooming action by spreading two fingers apart or moving to fingers together.” As shown in the Tse video, a move gesture stops the scroll at a predetermined position in relation to the user input (specifically, the position at which the user input ends). [1f] responding to at least 03450.51900/4387870.1 12 U.S. Patent No. 7,844,915 one gesture call, if issued, by scaling the view associated with the event object based on receiving the two or more input points in the form of the user input. MERL DIAMOND TOUCH TABLE SYSTEM 4.1 GoogleEarth Google Earth is a free desktop geospatial application that allows one to search, navigate, bookmark, and annotate satellite imagery of the entire planet using a keyboard and mouse. Its database contains detailed satellite imagery with layered geospatial data (e.g., roads, borders, accommodations, etc). It is highly interactive, with compelling real time feedback during panning, zooming and ‘flying’ actions, as well as the ability to tilt and rotate the scene and view 3D terrain or buildings. . . . Table 1 provides a partial list of how we mapped Google Earth onto our multimodal speech and gesture system, while Fig. 2 illustrates Google Earth running on our multimodal, multi user table. (TR2005-130 at 4.) “Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth.” (TR2005-130 at 6.) (TR2005-130 Fig. 2.) 03450.51900/4387870.1 13 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM Video – single-finger scroll and two-finger zoom seen at 0:17 to 0:29 under the title “Zoom and Pan”; narrator indicates that “We’ve added the ability to do the panning action with one hand and it’s also possible to use the zooming action by spreading two fingers apart or moving to fingers together.” As shown in the video, the view of the map is scaled based on receiving two input points from two fingers. As the fingers move closer together, the view of the map decreases its size. As the fingers move further apart, the view of the map increases its size. Claim 2 [2] The method as in claim 1, further comprising: rubberbanding a scrolling region displayed within the window by a predetermined maximum displacement when the scrolling region exceeds a window edge based on the scroll. The Diamond Touch Table System discloses rubberbanding a scrolling region displayed within the window by a predetermined maximum displacement when the scrolling region exceeds a window edge based on the scroll. “3 DTFlash Authoring Environment “Our previous research revealed significant shortcomings of traditional tools and development environments for DiamondTouch applications. The DiamondTouch SDK [10], released with DiamondTouch prototypes by MERL, provides a low-level C API for accessing data to determine which users are touching a surface at which places. Early research into building on top of this SDK focused on providing an API based on a general purpose programming environment such as Java [7] or .NET [2]. DTFlash takes a different direction by leveraging the Macromedia Flash authoring environment to emphasize authoring over programming. For example, the standard Flash authoring tool can be used to create arbitrary shapes or objects which can then simply be marked with our extensions as being draggable or rotatable. Literally no coding is needed, yet the new content is “multi-toucher-aware,” allowing multiple people to interact with different shapes or objects at the same time. “Through our earlier work, we found that a rapid prototyping tool for multi-user/multi-touch applications requires fundamental low-level support for a variety of items: simultaneous users; multiple points of input from each user; an authoring environment for creating "multitouch aware" content; multimedia support; the ability to simulate multiple touchers and touch points with a mouse and keyboard; and debugmode overlays for visualizing toucher information. DTFlash provides all these capabilities, in part by defining primitive touch events, enhanced primitive events, and methods for semantic operations. “Also of note, DTFlash applications can also work as regular web pages, allowing for simple deployment and ushering in a new dimension of multi-user enabled web pages that eliminate the need to take turns with the mouse. Flash is also based on vector graphics and optimized for small downloads, so DTFlash applications have a small memory footprint. But it is the reliance on weak static typing and it's 03450.51900/4387870.1 14 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM "expressiveness" which make Flash particularly well-suited for exploring drastic changes without breaking existing applications and for facilitating the creation of complex and novel visual interfaces.” (TR2005-105 at 5-6). Interaction with the DT Physical Device, and in particular the DTFlash toolkit thereon, showed a sample DTFlash application in the form of a single-picture flash-based web page comprising a scrolling region. This scrolling region, when scrolled up or down past the natural edge of the window boundary, continued scrolling into a “new” copy of the web page image. When the scroll was released, the scrolling region was rubberbanded back by a predetermined maximum displacement amount to place the scrolling region back within its natural boundary with the window edge exactly coinciding with the edge of the scrolling region. Claim 3 [3] The method as in claim 1, further comprising: attaching scroll indicators to a content edge of the window. The Diamond Touch Table System discloses attaching scroll indicators to the content edge of the window. For example: See MERL video at 0:36 – 0:46, 0:54 – 1:04. “Our third demo illustrates the mouse emulation capabilities of DiamondTouch. There are two aspects to this demo. First, this capability allows traditional software to be used with DiamondTouch. We currently have several mouse modes (one- touch, two-touch, etc) and are experimenting to determine how best to implement a fully-functioning mouse with DiamondTouch. Our mouse emulator works with traditional software. Second, under Windows the DiamondTouch SDK can generate ‘augmented mouse events’ that contain the user ID info in an extra field. In this manner C++ Windows code using a Win32 API call can get the ID information for each mouse event as it is processed by the application. The application then needs to store the state for the different users, and also some mouse information. We have a sample drawing program (a modified MFC demo) to illustrate the use of ‘augmented mouse events’ for writing applications for DiamondTouch.” (TR2002-48 at 3.) Interaction with the DT Physical Device revealed any number of Windows XP programs native to the clean installation of the operating system (for example, Internet Explorer) comprised a scroll indicator attached to the content edge of the window. Claim 4 03450.51900/4387870.1 15 U.S. Patent No. 7,844,915 [4] The method as in claim 1, further comprising: attaching scroll indicators to the window edge. MERL DIAMOND TOUCH TABLE SYSTEM The Diamond Touch Table System discloses attaching scroll indicators to the window edge. For example: See MERL video at 0:36 – 0:46, 0:54 – 1:04. “Our third demo illustrates the mouse emulation capabilities of DiamondTouch. There are two aspects to this demo. First, this capability allows traditional software to be used with DiamondTouch. We currently have several mouse modes (one- touch, two-touch, etc) and are experimenting to determine how best to implement a fully-functioning mouse with DiamondTouch. Our mouse emulator works with traditional software. Second, under Windows the DiamondTouch SDK can generate ‘augmented mouse events’ that contain the user ID info in an extra field. In this manner C++ Windows code using a Win32 API call can get the ID information for each mouse event as it is processed by the application. The application then needs to store the state for the different users, and also some mouse information. We have a sample drawing program (a modified MFC demo) to illustrate the use of ‘augmented mouse events’ for writing applications for DiamondTouch.” (TR2002-48 at 3.) Interaction with the DT Physical Device revealed any number of Windows XP programs native to the clean installation of the operating system (for example, Internet Explorer) comprised a scroll indicator attached to the window edge. Claim 5 [5] The method as in claim 1, wherein determining whether the event object invokes a scroll or gesture operation is based on receiving a drag user input for a certain time period. The Diamond Touch Table System discloses attaching scroll indicators to the window edge. For example: “Gesture Engine. Since recognizing gestures from multiple people on a table top is still an emerging research area [25][26], we could not use existing 3rd party gesture recognizers. Consequently, we developed our own Diamond Touch gesture recognition engine to convert the raw touch information produced by the DiamondTouch SDK into a number of rotation and table-size independent features (Fig. 1, rows 4+5 middle). Using a Univariate Gaussian clustering algorithm, features from a single input frame are compared against a number of pre-trained hand and finger postures. By examining multiple frames over time, we capture dynamic information such as a hand moving up or two fingers moving closer together or farther apart. This allows applications to be developed that understand both different hand postures and dynamic movements over the Diamond Touch. (TR2005-130 at 3.) Because we reserve gestures for spatial manipulations, very little learning is needed: panning by dragging one’s finger or hand across the surface is easily understood by others, as is the surface stretching metaphor used in spreading apart or narrowing two fingers to activate discrete or continuous zooming in Google Earth. 03450.51900/4387870.1 16 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM (TR2005-130 at 3) Claim 6 [6] The method as in claim 1, further comprising: responding to at least one gesture call, if issued, by rotating a view associated with the event object based on receiving a plurality of input points in the form of the user input. The Diamond Touch Table System discloses responding to at least one gesture call, if issued, by rotating a view associated with the event object based on receiving a plurality of input points in the form of the user input. For example: “4.1 GoogleEarth Google Earth is a free desktop geospatial application that allows one to search, navigate, bookmark, and annotate satellite imagery of the entire planet using a keyboard and mouse. Its database contains detailed satellite imagery with layered geospatial data (e.g., roads, borders, accommodations, etc). It is highly interactive, with compelling real time feedback during panning, zooming and ‘flying’ actions, as well as the ability to tilt and rotate the scene and view 3D terrain or buildings. . . . Table 1 provides a partial list of how we mapped Google Earth onto our multimodal speech and gesture system, while Fig. 2 illustrates Google Earth running on our multimodal, multi user table.” (TR2005-130 at 4.) “Gesture Engine. Since recognizing gestures from multiple people on a table top is still an emerging research area [25][26], we could not use existing 3rd party gesture recognizers. Consequently, we developed our own Diamond Touch gesture recognition engine to convert the raw touch information produced by the DiamondTouch SDK into a number of rotation and table-size independent features (Fig. 1, rows 4+5 middle). Using a Univariate Gaussian clustering algorithm, features from a single input frame are compared against a number of pre-trained hand and finger postures. By examining multiple frames over time, we capture dynamic information such as a hand moving up or two fingers moving closer together or farther apart. This allows applications to be developed that understand both different hand postures and dynamic movements over the Diamond Touch.” (TR2005-130 at 5) Claim 7 [7] The method as in claim The Diamond Touch Table System discloses a device that is one of: a data processing device, a portable device, a portable data processing 1, wherein the device is one device, a multi touch device, a multi touch portable device, a wireless device, and a cell phonet. For example: of: a data processing device, a portable device, a 03450.51900/4387870.1 17 U.S. Patent No. 7,844,915 portable data processing device, a multi touch device, a multi touch portable device, a wireless device, and a cell phone. MERL DIAMOND TOUCH TABLE SYSTEM “ABSTRACT DiamondTouch [1] is a multi-touch input technology that supports multiple, simultaneous users; it can distinguish who is touching where. We present the DiamondTouch SDK; it provides support for the development of applications that utilize DiamondTouch’s capabilities to implement computer supported collaboration and rich input modalities (such as gestures). Our first demo illustrates the basic utilities and functionality of our system.” (TR2002-48 at 2). 03450.51900/4387870.1 18 U.S. Patent No. 7,844,915 MERL DIAMOND TOUCH TABLE SYSTEM (TR2002-48 at 2). “Our infrastructure is illustrated in Fig. 1. A standard Windows computer drives our infrastructure software, as described below. The table is a 42” MERL Diamond Touch surface [6] with a 4:3 aspect ratio; a digital projector casts a 1280x1024 pixel image on the table’s surface. This table is multi-touch sensitive, where contact is presented through the DiamondTouch SDK as an array of horizontal and vertical signals, touch points and bounding boxes (Fig. 1, row 5). The table is also multi-user, as it distinguishes signals from up to four people. While our technology uses the Diamond Touch, the theoretical motivations, strategies developed, and lessons learnt should apply to other touch/vision based surfaces that offer similar multi user capabilities.” (TR2005-130 at 2). (Tse at 3, Fig. 1.) Claim 8 [8p] A machine readable storage medium storing 03450.51900/4387870.1 See [1p] 19 U.S. Patent No. 7,844,915 executable program instructions which when executed cause a data processing system to perform a method comprising: [8a] receiving a user input, the user input is one or more input points applied to a touch-sensitive display that is integrated with the data processing system; [8b] creating an event object in response to the user input; [8c] determining whether the event object invokes a scroll or gesture operation by distinguishing between a single input point applied to the touch-sensitive display that is interpreted as the scroll operation and two or more input points applied to the touchsensitive display that are interpreted as the gesture operation; [8d] issuing at least one scroll or gesture call based on invoking the scroll or gesture operation; 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [1a] See [1b] See [1c] See [1d] 20 U.S. Patent No. 7,844,915 [8e] responding to at least one scroll call, if issued, by scrolling a window having a view associated with the event object; and [8f] responding to at least one gesture call, if issued, by scaling the view associated with the event object based on receiving the two or more input points in the form of the user input. Claim 9 [9] The medium as in claim 8, further comprising: rubberbanding a scrolling region displayed within the window by a predetermined maximum displacement when the scrolled region exceeds a window edge based on the scroll. Claim 10 [10] The medium as in claim 8, further comprising: attaching scroll indicators to a content edge of the view. Claim 11 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [1e] See [1f] See [2] See [3] 21 U.S. Patent No. 7,844,915 [11] The medium as in claim 8, further comprising: attaching scroll indicators to a window edge of the view. Claim 12 [12] The medium as in claim 8, wherein determining whether the event object invokes a scroll or gesture operation is based on receiving a drag user input for a certain time period. Claim 13 [13] The medium as in claim 8, further comprising: responding to at least one gesture call, if issued, by rotating a view associated with the event object based on receiving a plurality of input points in the form of the user input. Claim 14 [14] The medium as in claim 8, wherein the data processing system is one of: a data processing device, a portable device, a portable data processing 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [4] See [5] See [6] See [7] 22 U.S. Patent No. 7,844,915 device, a multi touch device, a multi touch portable device, a wireless device, and a cell phone. Claim 15 [15p] An apparatus, comprising: [15a] means for receiving, through a hardware device, a user input on a touchsensitive display of the apparatus, the user input is one or more input points applied to the touchsensitive display that is integrated with the apparatus; [15b] means for creating an event object in response to the user input; [15c] means for determining whether the event object invokes a scroll or gesture operation by distinguishing between a single input point applied to the touch-sensitive display that is interpreted as the scroll operation and two or more input points applied to the touchsensitive display that are 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [1p] See [1a] See [1b] See [1c] 23 U.S. Patent No. 7,844,915 interpreted as the gesture operation; [15d] means for issuing at least one scroll or gesture call based on invoking the scroll or gesture operation; [15e] means for responding to at least one scroll call, if issued, by scrolling a window having a view associated with the event object; and [15f] means for responding to at least one gesture call, if issued, by scaling the view associated with the event object based on receiving the two or more input points in the form of the user input. Claim 16 [16] The apparatus as in claim 15, further comprising: means for rubberbanding a scrolling region displayed within the window by a predetermined maximum displacement when the scrolling region exceeds a window edge based on the scroll. 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [1d] See [1e] See [1f] See [2] 24 U.S. Patent No. 7,844,915 Claim 17 [17] The apparatus as in claim 15, further comprising: means for attaching scroll indicators to a content edge of the window. Claim 18 [18] The apparatus as in claim 15, further comprising: means for attaching scroll indicators to the window edge. Claim 19 [19] The apparatus as in claim 15, wherein determining whether the event object invokes a scroll or gesture operation is based on receiving a drag user input for a certain time period. Claim 20 [20] The apparatus as in claim 15, further comprising: means for responding to at least one gesture call, if issued, by rotating a view associated with the event object based on receiving a plurality of 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [3] See [4] See [5] See [6] 25 U.S. Patent No. 7,844,915 input points in the form of the user input. Claim 21 [21] The apparatus as in claim 15, wherein the apparatus is one of: a data processing device, a portable device, a portable data processing device, a multi touch device, a multi touch portable device, a wireless device, and a cell phone. 03450.51900/4387870.1 MERL DIAMOND TOUCH TABLE SYSTEM See [7] 26

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?