PATENT DOCUMENT

Publication Number: US-8059099-B2
Application Number: US-53080706-A
Country: US
Kind Code: B2

Title: Techniques for interactive input to portable electronic devices

Abstract:
Techniques for providing input to interactive and multitasking applications are disclosed. A game input area (surface or plane) receives input for multiple applications including an interactive application executed in connection with a scene. The input received is directed to the appropriate application based on one or more locations (e.g., points, positions, regions, portions) of the input area effectively identified when input is received (or entered). In addition, the manner in which input is received (or entered) can be used to determine which application should receive the input. The input area can additionally resemble or approximate the shape of a scene (e.g., game scene) to allow a person to provide input in a more intuitive way. Accordingly, input can be provided in a simple and more intuitive manner by effectively allowing the user to interact with the input area in a way that mimics or approximates a desired action (e.g., moving a ball or bat around by inputting a rotational movement). Examples of such interaction include positional, directional (e.g., rotational), press or pressure input (or movement) which can easily be provided by a thumb or a finger, for example, on a touch screen.

Claims:
1. A method for providing input to multiple executable application programs configured to run at the same time on a mobile device, comprising:
 providing an input area, the input area at least partially spanning a touch surface or button associated with the input device; 
 receiving at at least one first location of the input area an input provided in a particular manner, the manner comprising at least one of a positional input, a directional input, a rubbing input, a pressing input and a pushing input; 
 determining whether the at least one first location and manner of providing the input is a location and manner designated for providing input to a first executable application program running on the mobile device or a second executable application program running on the mobile device, the manner designated for providing input to the first executable application program being different from the manner designated for providing input to the second executable application program; 
 then providing the input to the first executable application program running on the mobile device if determined that the at least one first location and manner of providing the input is a location and manner designated for providing input to the first executable application program; and 
 thereafter providing the input to a second executable application program running on the mobile device if the input is not provided to the first executable application program, 
 wherein the at least one first location of the input area can be used to provide input to multiple applications running at the same time on the mobile device. 
 
     
     
       2. The method of  claim 1 , wherein the step of providing the input to the second executable application program comprises providing the input to the second executable application program if the manner of providing the input is the manner designated for providing input to the second executable application program. 
     
     
       3. The method of  claim 1 , wherein the step of providing the input to the second executable application program comprises providing the input to the second executable application program if the manner of providing input is a manner not designated for providing input to the first application or the input is associated with a location of the input area not designated to receive input for the first executable application program. 
     
     
       4. The method of  claim 1 , wherein the step of providing the input to the second executable application program comprises providing the input to the second executable application program if the input is associated with a location of the input area designated to receive input for the second executable application program and the manner of providing input is the manner designated for providing input to the second application program. 
     
     
       5. The method of  claim 3 , wherein the input is associated with multiple locations of the input area. 
     
     
       6. The method of  claim 3 , wherein a location of the input area is designated to receive input for both the first executable application program and the second executable application program. 
     
     
       7. The method of  claim 1 , wherein the positional input comprises one of touching and tapping and the directional input comprises rotational movement. 
     
     
       8. The method of  claim 1 ,
 wherein the second executable application program is a game or gaming application and is executed in connection with a scene displayed on a display, and 
 wherein the input area resembles or approximates the scene. 
 
     
     
       9. A computing device configured to provide input to multiple executable application programs configured to run at the same time on a mobile device using an input area, the input area at least partially spanning a touch surface or button associated with the computing device, the computing device being further configured to:
 receive at at least one first location of the input area an input provided in a particular manner, the manner comprising at least one of a positional input, a directional input, a rubbing input, a pressing input and a pushing input; 
 determine whether the at least one first location and manner of providing the input is a location and manner designated for providing input to a first executable application program running on the mobile device or a second executable application program running on the mobile device, the manner designated for providing input to the first executable application program being different from the manner designated for providing input to the second executable application program; 
 then provide the input to the first executable application program running on the mobile device if determined that the at least one first location and manner of providing the input is a location and manner designated for providing input to the first executable application program; and 
 thereafter provide the input to a second executable application program running on the mobile device if the input is not provided to the first executable application program, 
 wherein at least one first location of the input area can be used to provide input to multiple applications running at the same time on the mobile device. 
 
     
     
       10. The computing device of  claim 9 , wherein the input area approximates or resembles a scene associated with the second executable application program. 
     
     
       11. The computing device of  claim 10 , wherein the second executable application program is a game or gaming application. 
     
     
       12. The computing device of  claim 9 , wherein:
 the touch surface or button is shaped as a circle or approximates a circle and is configured to receive rotational or circular movement as input, and 
 the rotational or circular movement includes left and right rotational or circular movement. 
 
     
     
       13. The computing device of  claim 9 , wherein the step of providing the input to the second executable application program comprises providing the input to the second executable application program if the manner of providing the input is the manner designated for providing input to the second executable application program. 
     
     
       14. The computing device of  claim 9 , wherein the step of providing the input to the first executable application program comprises providing the input to the first executable application program if the input is associated with a location of the input area designated to receive input for the first executable application program, and
 the step of providing the input to the second executable application program comprises providing the input to the second executable application program if the manner of providing input is a manner not designated for providing input to the first application or the input is associated with a location of the input area not designated to receive input for the first executable application program. 
 
     
     
       15. The computing device of  claim 9 , wherein the step of providing the input to the second executable application program further comprises providing the input to the second executable application program if the input is associated with a location of the input area designated to receive input for the second executable application program and the manner of providing input is the manner designated for providing input to the second executable application program. 
     
     
       16. The computing device of  claim 14 , wherein the input is associated with multiple locations of the input area. 
     
     
       17. The computing device of  claim 14 , wherein a location of the input area is designated to receive input for both the first executable application program and the second executable application program. 
     
     
       18. The computing device of  claim 9 , wherein the positional input comprises one of touching and tapping and the directional input comprises rotational movement. 
     
     
       19. A method comprising:
 providing an input device having an input area configured to enter input for at least a first active application and a second active application, the input area being configured to receive input associated with the first and second applications at substantially the same time and control the first application while the second application is in progress and control the second application while the first application is in progress, 
 entering input in a particular manner and in connection with at least one first location of the input area, 
 determining, based on the manner of entering the input and the at least one first location of the input area effectively identified by the input, which one of the first and second applications is to receive the input, and 
 providing input to the appropriate application. 
 
     
     
       20. The method of  claim 19 , wherein a location of the input area is designated to receive input for both the first active application and the second active application. 
     
     
       21. The method of  claim 19 , wherein the manner comprises at least one of a positional input, a directional input, a rubbing input, a pressing input and a pushing input. 
     
     
       22. The method of  claim 21 , wherein the positional input comprises one of touching and tapping and the directional input comprises rotational movement. 
     
     
       23. The method of  claim 19 ,
 wherein the second active application is a game or gaming application and is controlled in connection with a scene displayed on a display, and 
 wherein the input area resembles or approximates the scene.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claim benefit of priority from U.S. Provisional Patent Application No. 60/810,423, filed Jun. 2, 2006, and entitled “TECHNIQUES FOR INTERACTIVE INPUT TO PORTABLE ELECTRONIC DEVICES,” which is hereby incorporated herein by reference. 
    
    
     This application is related to: (i) U.S. Pat. No. 7,046,230, filed Jul. 2, 2002, and entitled “TOUCH PAD FOR HANDHELD DEVICE,” which is hereby incorporated herein by reference; (ii) U.S. patent application Ser. No. 10/722,948, filed Nov. 25, 2003, and entitled “TOUCH PAD FOR HANDHELD DEVICE,” which is hereby incorporated herein by reference; (iii) U.S. patent application Ser. No. 11/481,303, filed Jul. 3, 2006, and entitled “MEDIA MANAGEMENT SYSTEM FOR MANAGEMENT OF GAMES ACQUIRED FROM A MEDIA SERVER,” which is hereby incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     Conventional input devices (e.g., a keyboard, mouse) are used to provide input to various application programs (applications) running (or being executed) on conventional computing systems (e.g., personal computers). Generally speaking, providing input to an application program running on a mobile device (e.g., portable media player, mobile phones) poses a more difficult problem, especially when an “interactive” application (e.g., gaming application) and/or multiple applications are to be supported. Broadly speaking, applications that receive or require input can be characterized as “interactive” applications. 
     Typically, interactive applications require input in connection with data or content displayed. The data or content displayed can be characterized as a “scene.” In general, data or content (or scene) displayed is manipulated or controlled based on the input when an interactive application is executed. Often, a person (or a human being) provides the input while viewing the data or content (or scene) displayed by the interactive application. 
     In a “multitasking” (or multiprogramming) computing environment, multiple applications are effectively supported at the same time. Those skilled in the art will readily appreciate that multitasking poses difficult technical challenges, especially when an interactive application is supported on a mobile device. Despite these challenges, interactive and multitasking applications have become increasingly more popular with users of mobile devices. 
     Accordingly, improved techniques for providing user input to interactive and multitasking applications would be useful. 
     SUMMARY OF THE INVENTION 
     Broadly speaking, the invention relates to improved techniques for providing user input to interactive and multitasking computing environments. The invention can be implemented in numerous ways, including a method, an apparatus, a computer readable medium. Several aspects and embodiments of the invention are discussed below. 
     One aspect of the invention provides a game input area (surface or plane) that can receive input for multiple applications including an interactive application executed in connection with a scene displayed on a display. Input is directed to the appropriate application based on one or more locations (e.g., points, positions, regions, portions) of the input area effectively identified when input is received (e.g., when input is entered by a person by touching a particular position on a touch screen). In addition, the manner in which input is received (or entered) can be used to determine which application should receive the input. By way of example, the same input area can be effectively used to receive input from a gaming application and a non-gaming application at substantially the same time. More particularly, the input area for a gaming application can effectively overlap or include a number of locations that are designated for a non-gaming application (e.g., a media playback application) and/or designated as such only if input is received in a particular manner (e.g., pushing or pressing of any location, or a particular designated location, would result in sending the input to non-gaming application). As such, a location on the input area can be designated, for example, for a gaming application if input is received in a particular manner different than that designated for the non-gaming application (e.g., tapping or touching the region would send input to a gaming application, but pressing would result in a media player function). Accordingly, this aspect of the invention allows the same input area to be used for multiple applications. Hence, a person can use the same input area (e.g., a top surface or plane of a physical input device such as a touch screen) to multitask. In other words, the person can, for example, play a game and exercise control over another application (e.g., media playback application) using the same input area. 
     Another aspect of the invention provides an input area that resembles or approximates the shape of a scene (e.g., game scene) associated with an application (e.g., a gaming application). Typically, the scene is used in connection with the application (e.g., a game scene is used to play a game, a record is displayed for a database program and manipulated based on input). Further, the scene is often controlled or manipulated based on input provided by a person. Typically, this requires one or more objects to be controlled or manipulated in the scene based on input provided. It will be appreciated that an input area that resembles or approximates the scene allows a person to provide input in a more intuitive way. Further, input can be provided in a simple and more intuitive manner by effectively allowing the user to interact with the input area in a way that mimics or approximated a desired action or motion of an object displayed in the scene (e.g., moving a ball or bat around by mimicking the motion on the input area). Examples of such interactions include that can be characterized as positional, directional, rotational, pressing and/or pushing type inputs (or movement). 
     It will be appreciated that these and other aspects of the invention can be combined to realize additional benefits. In general, the invention allows various applications to be integrated and used on devices that are not readily suitable for supporting multiple applications at the same time. As an example, a portable media player can be effectively integrated with various other applications including gaming applications. The media player can, for example, be used to play a game and still behave as a media player during the game play. It will also be appreciated that media player can provide the same media presentation functions (e.g., play, pause, next, back) that users have become accustomed to and provide them in a familiar manner. In one embodiment, a music-based game is provided on a media player. The music-based game can, for example, use individualized music (e.g., music owned and/or stored by an individual). It will be appreciated that a person can use the same input area (or input device) to not only play the game but also control the music being played while the game is in progress. The game can be controlled by using intuitive and simple motions (e.g., directional and/or rotational movement and/or touching a particular location using a thumb or finger). In one embodiment, during game play, the media player can still be controlled in the manner familiar to users. 
     Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which: 
         FIG. 1A  depicts a computing environment where first and second application programs (or applications) are effectively executed by a computing device in accordance with one embodiment of the invention. 
         FIG. 1B  depicts an input area (surface or plane) that resembles or approximates the scene associated with a first application in accordance with one embodiment of the invention. 
         FIG. 1C  depicts a method for providing input to multiple application programs (or applications) using an input device in accordance with one embodiment of the invention. 
         FIG. 1D  depicts a method for providing input to multiple application programs (or applications) in accordance with another embodiment of the invention. 
         FIGS. 2A-C  depict a computing environment in accordance with one or more embodiments of the invention. 
         FIG. 2D  depicts a method for executing an application program (or application) in connection with a scene in accordance with another embodiment of the invention. 
         FIGS. 3A-B  depict game scenes in accordance with one or more embodiments of the invention. 
         FIGS. 3C-D  depict a method for playing a game on a computing device in accordance with one embodiment of the invention. 
         FIG. 4A  depicts a computing device in accordance with one embodiment of the invention. 
         FIGS. 4B-C  depict entering input area in accordance with one or more embodiments of the invention. 
         FIGS. 4D-F  depict an input area in accordance with one embodiment of the invention. 
         FIG. 4G  depicts a method for playing a game using an input device that effectively provides an input area that resembles a game scene in accordance with one embodiment of the invention. 
         FIG. 5  depicts a rotational movement that can be used to indicate a number within a larger range in accordance with one embodiment of the invention 
         FIG. 6  depicts a media player in accordance with one embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The invention pertains to improved techniques for providing user input to interactive and multitasking computing environments. The invention can be implemented in numerous ways, including a method, an apparatus, a computer readable medium. Several aspects and embodiments of the invention are discussed below. 
     One aspect of the invention provides a game input area (surface or plane) that can receive input for multiple applications including an interactive application executed in connection with a scene displayed on a display. Input is directed to the appropriate application based on one or more locations (e.g., points, positions, regions, portions) of the input area effectively identified when input is received (e.g., when input is entered by a person by touching a particular position on a touch screen). In addition, the manner in which input is received (or entered) can be used to determine which application should receive the input. By way of example, the same input area can be effectively used to receive input from a gaming application and a non-gaming application at substantially the same time. More particularly, the input area for a gaming application can effectively overlap or include a number of locations that are designated for a non-gamming application (e.g., a media playback application) and/or designated as such only if input is received in a particular manner (e.g., pushing or pressing of any location, or a particular designated location, would result in sending the input to non-gaming application). As such, a location on the input area can be designated, for example, for a gaming application if input is received in a particular manner different than that designated for the non-gaming application (e.g., tapping or touching the region would send input to a gaming application, but pressing would result in a media player function). Accordingly, this aspect of the invention allows the same input area to be used for multiple applications. Hence, a person can use the same input area (e.g., a top surface or plane of a physical input device such as a touch screen) to multitask. In other words, the person can, for example, play a game and exercise control over another application (e.g., media playback application) using the same input area. 
     Another aspect of the invention provides an input area that resembles or approximates the shape of a scene (e.g., game scene) associated with an application (e.g., a gaming application). Typically, the scene is used in connection with the application (e.g., a game scene is used to play a game, a record is displayed for a database program and manipulated based on input). Further, the scene is often controlled or manipulated based on input provided by a person. Typically, this requires one or more objects to be controlled or manipulated in the scene based on input provided. It will be appreciated that an input area that resembles or approximates the scene allows a person to provide input in a more intuitive way. Further, input can be provided in a simple and more intuitive manner by effectively allowing the user to interact with the input area in a way that mimics or approximated a desired action or motion of an object displayed in the scene (e.g., moving a ball or bat around by mimicking the motion on the input area). Examples of such interactions include that can be characterized as positional, directional, rotational, pressing and/or pushing type inputs (or movement). 
     It will be appreciated that these and other aspects of the invention can be combined to realize additional benefits. In general, the invention allows various applications to be integrated and used on devices that are not readily suitable for supporting multiple applications at the same time. As an example, a portable media player can be effectively integrated with various other applications including gaming applications. The media player can, for example, be used to play a game and still behave as a media player during the game play. It will also be appreciated that media player can provide the same media presentation functions (e.g., play, pause, next, back) that users have become accustomed to and provide them in a familiar manner. In one embodiment, a music-based game is provided on a media player. The music-based game can, for example, use individualized music (e.g., music owned and/or stored by an individual). It will be appreciated that a person can use the same input area (or input device) to not only play the game but also control the music being played while the game is in progress. The game can be controlled by using intuitive and simple motions (e.g., directional and/or rotational movement and/or touching a particular location using a thumb or finger). In one embodiment, during game play, the media player can still be controlled in the manner familiar to users. 
     Embodiments of these aspects of the invention are discussed below with reference to  FIGS. 1A-6 . However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes as the invention extends beyond these limited embodiments. 
     In accordance with one aspect of the invention, an input device can effectively provide input for multiple application programs (or applications) during execution or runtime when the applications are both being executed. To further elaborate,  FIG. 1A , depicts a computing environment  10  where first and second application programs (or applications)  14  and  16  are effectively executed by a computing device  12  (e.g., a personal computer, laptop, mobile phone, portable media player). Referring to  FIG. 1A , an input device  20  effectively provides an input area (surface or plane)  22  for receiving input for both applications  14  and  16 . More particularly, one or more locations (e.g., points, positions, regions, portions)  24  on the input area  22  are designated for receiving input for the first application program  14  when input is provided in a manner designated for the first application  14 . By way of example, input that effectively pushes or presses on the one or more locations  24  can be designated for the first application  14 . However, it will be appreciated that input provided in a different manner (e.g., touching, tapping, or rubbing over) can be designated and provided for the second application  16 . Those skilled in the art will appreciate that the manner in which input can be provided can vary widely. Nevertheless, a few exemplary ways for providing input are discussed below. 
     It should be noted that input device  20  is especially well suited for situations where the first application is executed in connection with a scene  30  displayed on a display  32  of the computing environment  10 . One example is a gaming application where the first scene  30  is a scene for a game (game scene) where various game objects are displayed and controlled (or manipulated) based on the input effectively provided by the input device  20 . As another example, the first or second application ( 14  or  16 ) can be a media playback application for presentation of media. In any case, it will be appreciated that the input area (or surface)  22  can be used to effectively provide input for both the first and second applications  14  and  16 . The input can be provided to one or both the first and second applications  14  and  16  dependent on the one or more locations of the input area  22  effectively identified when the input is received and/or the manner of receiving (or entering) the input. 
     In accordance with another aspect of the invention, the input area  22  (shown in  FIG. 1A ) can resemble or approximate the shape of the first scene  30 . This allows input to be provided in a more intuitive manner as a person (or human being) can easily associate the input area  22  with the scene  30  typically displayed in connection with an application. The benefits of such arrangement become readily apparent for a gaming application where typically one or more game objects (e.g., a ball, a gun, a car) are effectively controlled (e.g., moved) in a game scene. As such, gaming applications are further discussed below in greater detail. 
     To further elaborate,  FIG. 1B  depicts an input area (or surface)  40  that resembles or approximates the scene  30  associated with a first application  14  (e.g., gaming application). Referring to  FIG. 1B , it is apparent that the scene  30  can be visually mapped to the input area  40 . As a result, input associated with the first application  14  can be provided in a more intuitive manner (e.g., by touching various points or positions of the input area  40  that correspond to various points or positions of the scene  30 ). 
     It should be noted that one or more locations (e.g., points, positions, portions, regions)  24  of the input area  40  can also be used to provide input for the second application  16 . Generally, input for the second application  16  can be provided by interacting with a designated location (e.g.,  24 ) of the input area  40  and/or by providing input in a particular manner (e.g., pressing down). 
       FIG. 1C  depicts a method  50  for providing input to multiple application programs (or applications) using an input device in accordance with one embodiment of the invention. The input device can, for example, be the input device  20  (shown in  FIG. 1A ). In any case, the input device effectively provides an input area (or surface) for entering input is for multiple active applications. Referring to  FIG. 1C , initially, input is received ( 52 ). It should be noted that the input is received (or entered) in a particular manner (e.g., press, touch, rub, tab) and/or in connection with at least one location (e.g., a point, position, portion, or region) of the input area. Next, it is determined, based on the manner of receiving (or entering) the input and/or the at least one location of the input area effectively identified by the input, which one of a plurality of applications is to receive the input. Thereafter, the input is provided ( 56 ) to the appropriate application. The method  50  ends after input is provided ( 56 ) to the application determined ( 54 ) to be the appropriate application for receiving the input. 
       FIG. 1D  depicts a method  70  for providing input to multiple application programs in accordance with another embodiment of the invention. Initially, it is determined ( 72 ) whether input has been received. If it is determined ( 72 ) that input has been received, it is next determined ( 74 ) whether the input is associated with one or more locations (e.g., points, positions, portions, regions) of an input area (or surface) designated for a first application. If it is determined ( 74 ) that the input is associated with one or more locations designated for the first application, it is then determined whether the input is provided (received or entered) in a manner designated for the first application. In effect, if it is determined ( 74 ) that the input is associated with one or more locations designated for the first application and it is determined ( 76 ) that the input is provided in a manner designated for the first application, the input is provided ( 78 ) to the first application. It should be noted that the order in which the determination ( 74 ) and ( 76 ) are made may be interchangeable or only one of them may be necessary to determine whether to provide input to the first application. As one example, a system can, for example, be configured to send all input provided in a particular manner to a first application and/or all input associated with one or more particular locations to the first application. Those skilled in the art will understand other variations. 
     Referring back to  FIG. 1D , if it is determined ( 74 ) that the input is not associated with one or more locations for the first application or it is determined ( 76 ) that input is not provided in a manner designated for the first application, it is determined ( 80 ) whether to automatically provide the input to a second application. As such, the input can be provided ( 84 ) to the second application and the method  70  can proceed to determine ( 72 ) whether another input has been received. Again, those skilled in the art will appreciate many other variations and will readily know that the determination ( 80 ) can represent a design or programming choice. More specifically, a choice of whether to automatically send input to the second application. Alternatively, additional checks can be made to determine ( 84 ) whether to send the input to the second application. By way of example, based on the manner and/or one or more locations associated with the input, it can be determined ( 84 ) whether to provide ( 82 ) the input to the second application (or third application), and so on. Accordingly, if it is determined ( 84 ) to provide the input to the second application, the input is provided ( 82 ) to the second application. Thereafter, it is determined ( 72 ) whether input has been received and the method  70  proceeds in a same manner as described above to receive other input ( 72 ) and provide it to the appropriate application. 
       FIG. 2A  depicts a computing environment  100  in accordance with one embodiment of the invention. Referring to  FIG. 2A , a computing system (or device)  102  effectively provides functionality labeled as an input component (or module)  104 . More particularly, the input component  104  effectively provides or generates an input area  110  associated with a scene or area  108  displayed on a display  103 . The scene  108  can, for example, be a part of a complete game scene displayed for a gaming application. As such, the scene  108  typically includes at least one object (e.g., ball, racket, gun, car)  113  that is controlled or manipulated (e.g., moved) when the first application  106  is being executed, for example, during game play. The object  113  can be displayed within and/or on a boundary of the scene  108  displayed on the display  103 . It should be noted that although the display  103  is depicted as a separate component, it can be a part of the computing system  102  and/or configured for the computing system  102 . Also, it will be appreciated that the input area  110  can include or can be effectively provided by an input device  105  (e.g., touch/control pad, touch screen) which interacts with the input component or module  104 . The input area  110  can also be a virtual area or an area mapped to empty space where, for example, motion is detected by one or more motion detectors. In any case, the input area  110  resembles or approximates the scene  108  where one or more game objects  113  are to be controlled. Further, input provided can typically identify one or more locations (e.g., points, positions, portions, regions) of the input area  110  and/or can be received (or entered) in a particular manner (e.g., press, touch). 
     Such input can, for example, be associated with movement between first and second locations of the input area  110 . As another example, input can be characterized as positional input that identifies or indicates a single location of the input area  110 . In general, input identifies or indicates one or more locations of the input area  110 . Referring to  FIG. 2A , input can, for example, be entered by a thumb or finger  111  as positional input (e.g., by touching or tapping a particular location  115  of the input area  110  effectively provided (e.g., as a part of a touch pad or touch screen). As another example, input can be characterized as directional movement (including rotational movement) entered by the thumb or finger  111  in various directions and between various locations of the input area  110 . Referring to  FIG. 2A , the directional movement of the thumb or finger  111  in the input area  110  is effectively mapped to movement of the game object  113  in the scene  108 . As another example, “positional” movement of the thumb or finger  111  at location  115  effectively moves or places the game object  113  at corresponding location of the scene  108 . 
     Although the examples shown in  FIG. 2A  demonstrate mapping input received in the input area  110  to movement of an object  113  in the scene  108 , it will be appreciated that objects can be effectively controlled or manipulated in numerous other ways based on the input received by the input area  110 . For example, positional input at location  115  of the input area  110  can effectively identify or select a particular game object at a corresponding location in the scene  108 . The object can then be controlled (e.g., deleted, moved or modified) by default and/or based on subsequent positional and/or directional input. As such, it is possible to implement various other functions besides movement of objects. In general, a scene and/or one or more objects can be controlled or manipulated based on positional and/or directional input. However, for simplicity and ease of illustration, moving game objects in response to input received in a game area that effectively resembles or approximates a game area (or scene) will be described in greater detail below. 
     Referring back to  FIG. 2A , non-gaming locations (e.g., points, positions, or regions)  132  and  134  are also shown in the input area  110 . It will be appreciated that the non-gaming locations  132  and  134  can be designated for receiving input not directly connected to the game being played and/or game area (or scene)  108  being displayed. As such, locations  132  and  134  can be used to provide input for applications other than the game being played. Nevertheless, the locations  132  and  134  can still be part of the input area  110  and/or overlap with the input area  110 , and as such, also used for playing a game (i.e., can receive directional and/or positional input for the game). In other words, the thumb or finger  111  can effectively use the game input area  110  to control both a game and a non-gaming application (e.g., a media player). By way of example, pressing or pushing on location  132  can be interpreted as input for a non-gaming application, but a tap or touch on the same location  132  can be interpreted as positional input provided for the game and used to manipulate the scene  108 . However, a directional input (or movement) of the thumb or finger  111  over the location  132  (without pressing down) can be interpreted and provided as directional input for controlling the game if a pressing action of the location  132  is not detected. 
     To further elaborate,  FIG. 2B  depicts an input area  110  and a game scene (or area)  120  in accordance with one embodiment of the invention. Referring to  FIG. 2B , a thumb or finger  111  can effectively input a directional movement (e.g., right to left, left to right). In response to the directional movement, a game object  132  is effectively controlled in the scene  120 . More particularly, based on the directional movement input by the thumb or finger  111 , the game object  113  is effectively controlled (e.g., moved). By way of example, directional movement between locations  202  and  204  of the input area  110  can be effectively transformed to movement of the object  132  between locations  212  and  214  of the scene  120 . The locations  212  and  214  can, for example, correspond to the locations  202  and  204  of the input area  110 . However, it should be noted that the directional movement can be interpreted in accordance with much more complex formulas. For example, factors including the distance between locations  202  and  204 , the time it takes to complete the movement between them can be used to additionally determine the speed and/or acceleration for moving the object  113 . Further, directional movement can, for example, set the object  113  in motion until another input is received and/or a boundary of the scene  120  is reached. 
     In general, those skilled in the art will appreciate that directional input provided in the input area  110  can be interpreted or effectively mapped to one or more actions, operations, method, or functions that are performed or invoked for an object and/or on its behalf. By way of example, in a gaming environment, an object representing a gun can be “fired,” or “explode”. Again, for simplicity, the following examples, only illustrate movement of the objects, but those skilled in the art will appreciate that virtually any action or operation can be implemented, for example, by defining methods or functions for various objects used by an application program. It should be noted that the positional or directional input (or movement) can also be received in the interior of the input area  110 . Referring to  FIG. 2B , line  220  and  222  demonstrate directional movement in the interior of input area  110  which can, for example, cause movement of the game object  113  along the corresponding lines  230  and  232  of the game scene (or area)  120 . As also shown, input can be received as rotational input  225  in clockwise or counter clockwise directions. 
     Referring now to  FIG. 2C , entering positional input is depicted in accordance with one embodiment of the invention. More specifically, positional input is effectively provided by the finger or thumb  111  in the input area  110 . Generally, the positional input can be characterized as input that includes or effectively indicates a location (e.g., point, position, portion, region) of an input area. As such, positional input can be defined to be different from directional movement. By way of example, positional input can be defined as a tap or touch (e.g., coming in contact with an input device and/or its surface, plane or area for a predetermined amount of time). On the other hand, directional input can, for example, be defined as movement between two or more locations. Both directional and positional input can be further distinguished from a press (or push) associated with a sufficient amount of pressure exerted on an input area. Referring to  FIG. 2C , positional input at location  240  can cause a game object  113  to move to (or appear) at a corresponding location  242  of the game area (or scene)  120 . Similarly, positional input provided at location  246  can cause the object  113  to move to a corresponding location  244 . 
       FIG. 2D  depicts a method  250  for executing an application program (or application) in connection with a scene in accordance with another embodiment of the invention. The application can, for example, be an interactive program (e.g., a game) requiring input to be entered in connection with a scene (e.g., a game scene). In any case, an input area (or surface or plane) is determined and/or effectively initiated ( 252 ) for receiving input for the application. It should be noted that the input area can resemble or approximate the shape of a scene displayed in connection and/or for the application when the application is initiated or being executed. The input area may effectively have a fixed or predetermined shape. Alternatively, the input area may be determined in a dynamic manner and/or change as the shape of the game scene changes in order to more closely approximate the current game scene. In any case, after the input area has been determined and/or initiated ( 252 ), input associated with the input area is received ( 254 ). The input is associated or effectively identifies one or more locations (e.g., points, positions, portions, regions) of the input area. Subsequently, the scene is controlled and/or manipulated ( 256 ) based on the one or more locations associated with the input and/or the manner input was received, and the method  250  ends. It should be noted that input can also be received (or entered) in a particular manner. Moreover, the manner in which the input is received can also be used to control and/or manipulate the scene. 
     It will be appreciated that an input device can be physically shaped to resemble a game scene or at least a part of a game scene where one or more game objects are to be controlled. It is also possible to effectively generate an input area (or surface) that resembles a game scene where one or more game objects are controlled without requiring the input device to actually (or physically) be shaped like the scene. Referring to  FIG. 3A , a game scene  302  can have virtually any shape  302 . One or more game objects  304  can be controlled within the game scene  302  in an area  306 . The area  306  is effectively mapped to an input area  308  provided by a physical device  310  (e.g., input device) that may have virtually any shape. 
       FIG. 3B  depicts an input device  324  that resembles a game scene  322  displayed on a display  320  in accordance with one embodiment of the invention. During the game, one or more game objects  328  are controlled based on input received by the input device  324 . The input device  324  can, for example, be embedded in a portable computing system (e.g., phone, media player). In any case, the input device  324  effectively provides an input area or surface  326  (e.g., an upper surface) that resembles the game scene  322 . From the perspective of a human user, input can be provided intuitively partly because the input area  326  can be easily matched with the game area  322 . In addition, the game input area  326  (e.g., upper surface of the input device  324 ) can be used by the user to enter input for multiple applications. More particularly, the user can interact with one or more non-gaming locations (e.g., buttons)  330  of the input area  326  in order to control a non-gaming application (e.g., media player). 
       FIG. 3C  depicts a method  350  for playing a game on a computing device in accordance with one embodiment of the invention. Initially, an input area (surface or plane) that resembles or approximates the shape of a game scene is determined and/or initiated ( 352 ) when the game is operational and/or being played. Next, input associated with the input area is received ( 354 ). The input effectively identifies one or more locations (e.g., points, positions, portions, regions) of the input area and/or is received in a particular manner. Thereafter, one or more game objects are controlled and/or manipulated ( 356 ) based on the one or more locations of the game scene identified by the input and the method  350  ends. 
     Those skilled in the art will appreciate that game objects can be controlled and/or manipulated based on various factors and techniques. A few exemplary operations are discussed below with reference to  FIG. 3D . It should be noted that one or more of these operations can be used in block  356  of the method  350  illustrated in  FIG. 3C  depending on the desired system configuration. Referring to  FIG. 3D , one or more locations of the game scene can be determined based on one or more locations identified by the input and/or the manner of entering (or receiving) the input. Next, one or more game objects are identified ( 360 ). These objects can, for example, be displayed in the game scene. The objects are identified ( 356 ) based on the one or more locations associated with input and/or corresponding locations of the game scene and/or manner of receiving (or entering) input. Thereafter, one or more operations are determined ( 362 ) to be performed on the one or more game objects. These operations can also be determined based on the one or more locations associated with input and/or game scene and/or manner input was received (or entered). Accordingly, one or more operations are performed ( 362 ) and the method  356  ends. 
     To further elaborate,  FIG. 4A  depicts a computing device  402  in accordance with one embodiment of the invention. The computing device  402 , can, for example, be a mobile device (e.g., a portable media player, mobile phone). The computing device  402  has a housing  403  that includes a display  406  and an input device  408 . A game scene (or area)  404  is displayed on the display  406  configured for the computing device  402 . It should be noted that the circular game scene (or area)  404  resembles the shape of the input device  408  which effectively provides an input area  410 . During the game, objects  412  and  414  are effectively controlled based on input provided by a person who interacts with the input device  408  and in effect the input area  410 . In one embodiment, game objects  412  and  414  respectively mimic the behavior of a ball and bat. Hence, the “ball”  412  can fall toward the “bat”  414 , be “hit” by the “bat”  412  to bounce back in an opposite direction. During game play, the “bat”  414  can be moved around the circumference of the game scene  404  which resembles a circle. The “Bat”  414  is used to hit the “ball”  412  based on various factors (e.g., angle of contact, velocity of the bat or ball). For simplicity and ease of illustration, the input provided by a person can, for example, merely control (e.g., move) the “bat”  414  so that it can “hit” the “ball”  412  as it bounces back and forth in various directions and between various locations in the game scene  404 . It will be appreciated that a person can conveniently use the input area  410  effectively provided by the input device  408  to control the movement of the “bat”  414  around the circumference of the circle  404 . More particularly, rotational input can be used to effectively move the “bat”  414  around the circular game scene. 
     To further elaborate,  FIGS. 4B and 4C  depict entering inputs in accordance with embodiments of the invention. More particularly,  FIG. 4B  depicts entering a directional movement as rotational movement from a first position (P 1 ) to a second position (P 2 ) using a thumb or finger  111  to interact with the input device  408 . 
     Referring to  FIG. 4B , in response to the rotational movement (P 1 -P 2 ) around or along the circumference or edge of the input area  410  (or input device  408 ), the “bat”  414  moves between the corresponding locations DP 1 -DP 2  of the game scene  404 . It will be appreciated that when the “ball”  414  is, for example, at location DP 2 , the person can enter a positional input that effectively moves the “bat” object  414  to a third position (DP 3 ). Referring to  FIG. 4C , a thumb or finger  111  can input a positional input, for example, by a tap or touch at position P 3  to effectively move the “bat” object  414  from location DP 2  to location DP 3 . Hence, the person can use a combination of rotational and positional input to intuitively control the movement of the “bat”  414  in order to play the game. 
     It should also be noted that functions not directly related or connected to the game can also be provided, for example, by one or more locations  420  and  430  that are effectively activated by the finger or thumb  111 . By way of example, a location  420  (shown in  FIG. 4C ) can be a physical button or an area on a touch surface configured to be pressed or pushed by a pressing or pushing action in order to control a function (e.g., pause, play, next, back) associated with a media player. Referring to  FIG. 4C , one or more locations  420  and  430  can also be designated for non-gaming functions (e.g., input provided to a media player for playing music). By way of example, a pressing input on location  430  can be effectively interpreted as input for a media player. As such, the thumb or finger  111  can press on the location  430  (e.g., press a physical button or a designated area on a touch surface) to control a media player. Again, it should be noted that the location  430  can still be part of the input area  410  provided for gaming as it is possible to enter gaming input using rotational and positional inputs without activating a non-gaming functionality (i.e. by not pressing on the location  430 ). Also, it is possible to designate, for example, a location  431  for game play regardless of the manner input is entered. For example, a press or push on location  431  can cause a game action (e.g., cause the bat  414  to hit harder). 
     To further elaborate,  FIGS. 4D ,  4 E and  4 F depict an input area  452  in accordance with one embodiment of the invention. Input area  452  includes a location  454  designated for receiving input for both a gaming and a non-gaming application. Referring to  FIG. 4D , a thumb or finger  111  can press down on the location  454  to effectively provide input to a non-gaming application, for example, a media player in (e.g., start or stop the music being played during the game). However, referring to  FIG. 4E , a tap or touch of the position  454  by the finger or thumb  111  effectively provides positional input for a gaming application. It should be noted that the positional input can be on or over the location  454  without sufficient pressure to cause a pressing or pushing action to be detected. Referring to  FIG. 4F , a rotational movement can touch (or go over) the designated location  454  without sufficient pressure, so as to provide a rotational input to the gaming application. 
       FIG. 4G  depicts a method  450  for playing a game using an input device that effectively provides an input area resembling the shape of a game scene in accordance with one embodiment of the invention. Initially, the game is initiated ( 451 ). Next, it is determined whether input associated with the input area resembling the game scene is received ( 452 ). If it is determined ( 452 ) that input is not received, it is determined ( 454 ) whether to end the game and the method  450  can end accordingly. In effect, the method  450  can wait for input or a determination ( 454 ) to end the game (e.g., by receiving a request or indication to end the game. 
     If it is determined ( 452 ) that input has been received, it is determined ( 454 ) whether the input is positional (positional input). If it is determined ( 454 ) that the input is positional, one or more game objects can be moved ( 456 ) to one or more corresponding locations (e.g., points, positions, portions, regions) of the game scene in response to the positional input. However, if it is determined ( 454 ) that the input is not positional input, it is determined ( 458 ) whether the input is directional (e.g., rotational) input (or movement). Consequently, one or more game objects can be moved ( 460 ) in accordance with the directional input (or directional movement). By way of example, a game object can be moved in the same direction and in a manner that mimics the directional input (or movement). On the other hand, if it is determined that input is neither directional ( 458 ) nor positional input ( 454 ), it is determined ( 462 ) whether the input is associated with a non-gaming location (e.g., a location designated for applications other than the gaming application) of the input area that has been pressed (or pushed). For example, one or more buttons or selected regions of the input area can be reserved to effectively provide input and/or control another application (e.g., a media player). 
     Accordingly, if it is determined ( 462 ) that a non-gaming location of the input area has been pressed (or pushed), the input is provided ( 464 ) to another application (e.g., a non-gaming application such as a media player). After the input has been provided ( 464 ), it is determined ( 454 ) whether to end the game and the game can end accordingly. However, if it is determined ( 462 ) that a non-gaming location is not pressed, it is determined ( 470 ) whether a gaming location has been pressed. For example, one or more buttons provided in the input area and/or selected regions of the input areas can be reserved as one or more gaming locations for the gaming application. In addition to positional and directional input mechanisms, this provides yet another convenient mechanism for providing input to the gaming application. As such, if it is determined ( 470 ) that a gaming location has been pressed, the input is provided to the gaming application. It should be noted that if it is determined ( 470 ) that a gaming location has not been pressed, it is determined ( 454 ) whether to end the game. Although not depicted in  FIG. 4G , those skilled in the art will appreciate that error-checking can also be performed to effectively verify the input. The method  450  ends when it is determined ( 454 ) to end the game. 
     It will be appreciated that the directional and positional input are useful for implementing numerous functions and applications. Directional and positional input can be used in combination with an input area that resembles a game scene allows a person to enter input more intuitively, thereby allowing games to be played in a more convenient manner. Further, directional and/or positional input can be used to implement functionalities which are be difficult to implement using conventional techniques. By way of example, directional and/or positional input can be provided to effectively select or identify a number within a relatively large range as required for various gaming applications. This range can, for example, represent money available for betting in a poker game. Generally, identifying or selecting a number within a relatively large range poses a difficult problem if the actual number is not specifically entered (e.g., by using a keyboard to enter the number). 
     Referring to  FIG. 5 , rotational input or movement  502  can be used to indicate a number within a larger range  504  (e.g., 1 to 10 n , where n≧6). Those skilled in the art will appreciate that one or more factors including: the direction, distance traveled, speed and acceleration associated with a directional input or movement can be used to effectively determine a number within the range  504 . By way of example, a relatively slow rotational movement over a relatively small distance may indicate incrementing by one (1) which would result in updating a number provided and displayed on a display  506  (e.g., updating the number displayed by one). Accordingly, rotational input can be used to effectively increment by one (1) to reach the desired number. However, rotational input or movement  502  extending over relatively larger distances and/or provided relatively faster can be used to effectively increment by larger amounts, for example, tens or hundreds, and so on. Similarly, rotational input or movement  502  can effectively decrement in small or larger amounts. It should be noted that a “rounding off” effect can also be provided to effectively round off the selected number as deemed appropriate. By way of example, starting at number 20, relatively slower rotational movement can initially increment by one&#39;s to yield the number 27. Subsequently, relatively larger rotational movement can result in increasing the number by a relatively larger increment, namely 10. However, rather than yielding the numbers 37 and 47, the rounding off effect may result in increasing the number to 40, 50, and so on. Those skilled in the art will appreciate it that such rounding off can be implemented in accordance with various schemes and/or in consideration of the particular application or game. As such, the technique used for a particular type of poker game may differ from that used for a different type of game and/or can be customized by user depending on his or her preference. 
     In one embodiment, input area  501  can also represent a range. Hence, positional movement may be used to select a number within the range  504 . By way of example, touching or tapping an area or region  508  can effectively select the halfway point within the range  504 . Subsequently, directional movement  502  can effectively increment or decrement by ones, tens, hundreds, thousands and so on. Rotational input covering or extending over a boundary location  510  can effectively select the last number in the range (e.g., bet all the money available). Also, rotational movement may in effect start an incrementing or decrementing process that can continue as long as desired or until the end of the range  504  is reached. This process may be at a constant rate or accelerating as time goes by. For example, a right (or clockwise) rotational movement can increment by one, then effectively accelerate to increment by tens, hundreds or more. This increment can continue as long as a finger or thumb maintains contact with the input area or directional movement in the opposite direction is received, thereby allowing a person to select “1500,” “25,000,” or “5,000,000” effectively by entering one or more rotational movements. 
     It should be noted that a “filtering” mechanism can be used to effectively ignore input (e.g., small amount of rotational movement). By way of example, a relatively small amount of movement associated with initiation or termination of rotational movement can be ignored. Typically, this type of movement can be expected and accounted for when input is provided by a human being. As such, the filtering mechanism can effectively ignore movement that can be considered to be unintended and/or a byproduct of the intended rotational movement. 
     As noted above, an input area allows input to be provided for multiple applications in accordance with one aspect of the invention. This allows for integration of various applications. One embodiment of the invention effectively integrates a media player with gaming applications.  FIG. 6  depicts a media player  600  in accordance with one embodiment of the invention. The media player  600  can, for example, be provided as an Apple iPod® media player (available from Apple Computer, Inc.) that provides a media player for playing music and/or viewing media (e.g., movies). An input device  602  effectively provides a circular input area (surface or plane) extending over various designated locations  604 ,  606 ,  608  and  610  which can be implemented as selectable areas. As such, these selectable areas can be used to control the media player (e.g., pause, play, forward and backward functions for a media player) and/or media related functions, such as, for example, browsing menus or directories to select or download media files. In addition, the media player  600  also provides the ability to play music-based games. These music-based games can, for example, be used based on media content available to and/or stored by the media player  600 . Hence, games can be tailored or individualized for different individuals based on digital media selected by users and/or generally familiar to them. By way of example, music files (audio digital files) stored on the media player  600  for a particular user can be used to play a music trivia game where a song is played and the person playing the game is prompted to identify the song and/or answer a question about the song (e.g., what year it was released). 
     Referring to  FIG. 6 , information about songs  1  and  2  are displayed while one of the songs is played. The user (or person) playing the game can then select one of the songs as the correct song by entering a rotational movement  612  in the direction of one of displayed songs (song  1  and  2 ). A timer  614  can display the time available for making the selection. A selection can be made by providing rotational and/or positional input. By way of example, a right (or clockwise) directional movement may effectively reach far enough to effectively select the second song (song  2 ). As another example, a relatively short directional movement to the right can effectively start the selection of song  2  as the right arrow  616  appears to become continuously filled to demonstrate the process of selecting the second song (song  2 ). However, directional movement  612  to the left (or counter-clockwise) can reverse the process and effectively result in filing the left arrow  618  in order to eventually cause the selection of the first song (song  1 ). It will be appreciated that a relatively quick and/or long directional movement  612  to the left can abruptly reverse the process of selecting the second song (song  2 ) and/or in effect immediately select the first song (song  1 ). It should be noted that while the game is being played the person playing the game can still use the selectable areas  604 ,  606 ,  608  and  610  to control the media-player. In other words, the person can play the music-based game by interacting via rotational and/or positional input and also control the music being played using a familiar interface. Furthermore, the direction, extent, and/or manner of entering rotational input can be effectively used to allow games to be played in a simple and more intuitive manner. 
     The following applications are hereby incorporated herein by reference in their entirety for all purposes: (i) U.S. patent application Ser. No. 11/144,541, filed Jun. 3, 2005, and entitled “TECHNIQUES FOR PRESENTING SOUND EFFECTS ON A PORTABLE MEDIA PLAYER,” (ii) U.S. patent application Ser. No. 11/530,846, filed Sep. 11, 2006, and entitled “ALLOWING MEDIA AND GAMING ENVIRONMENTS TO EFFECTIVELY INTERACT AND/OR AFFECT EACH OTHER,” (iii) U.S. patent application Ser. No. 11/530,767, filed Sep. 11, 2006, and entitled “INTEGRATION OF VISUAL CONTENT RELATED TO MEDIA PLAYBACK INTO NON-MEDIA-PLAYBACK PROCESSING,” (iv) U.S. patent application Ser. No. 11/530,768, filed Sep. 11, 2006, and entitled “INTELLIGENT AUDIO MIXING AMONG MEDIA PLAYBACK AND AT LEAST ONE OTHER NON-PLAYBACK APPLICATION,” and (v) U.S. patent application Ser. No. 11/530,773, filed Sep. 11, 2006, and entitled “PORTABLE MEDIA PLAYBACK DEVICE INCLUDING USER INTERFACE EVENT PASSTHROUGH TO NON-MEDIA-PLAYBACK PROCESSING”. 
     The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations. 
     The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.

Metadata:
Filing Date: 20060911
Publication Date: 20111115
Grant Date: 20111115
Priority Date: 20060602
Inventors: LAMPELL MICHAEL D.
BERTRAND FRANCOIS-YVES
BERFIELD ALAN
LEE LEO
SNIDER ERIC
Assignee: APPLE INC
CPC Classifications: [{"code": "A63F13/00", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/041", "inventive": true, "first": true, "tree": "[]"}, {"code": "A63F13/00", "inventive": true, "first": true, "tree": "[]"}, {"code": "A63F2300/1075", "inventive": false, "first": false, "tree": "[]"}, {"code": "A63F2300/204", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/048", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/04886", "inventive": true, "first": false, "tree": "[]"}, {"code": "A63F13/00", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0354", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/048", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/04886", "inventive": true, "first": false, "tree": "[]"}, {"code": "A63F2300/204", "inventive": false, "first": false, "tree": "[]"}, {"code": "A63F2300/1075", "inventive": false, "first": false, "tree": "[]"}, {"code": "A63F13/2145", "inventive": true, "first": false, "tree": "[]"}, {"code": "A63F13/92", "inventive": false, "first": false, "tree": "[]"}, {"code": "A63F2300/1075", "inventive": false, "first": false, "tree": "[]"}, {"code": "A63F2300/204", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/048", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": false, "tree": "[]"}, {"code": "G06F3/04886", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 38805709