Historically, an application such as a video game was executed (played) using a personal computer (PC) or using a console attached to a television. A user purchased or rented a game, which was loaded onto the PC or inserted into the game console and then played in a well-known manner.
More recently, online gaming has become popular. An online game is played over a network such as the Internet. The game is loaded onto a user's device while other software needed to play the game resides on a server that is accessed via the network. Online gaming allows multiple users to compete against each other in the game environment provided by the software on the server.
In addition, mobile gaming has become popular. For example, a mobile device (e.g., phone) may provide a video game to a user that can be controlled through, for example, the touchscreen controls of the mobile phone. These controls are virtually created and displayed on the touchscreen. Because such mobile phones are not manufactured specifically for gaming, the processing power of such mobile phones is often too low for many games. Another problem with mobile phones is that they are often unable to support certain games because such games require a certain operating system environment to run. Further, the virtual buttons take up valuable screen space, thereby reducing the overall display of the game to the user.
Furthermore, virtual control buttons simulated through the touchscreen of the display provides a poor interface between the user and the game. It is difficult to gain a tactile interaction with a virtual button since the button is virtualized on a flat screen. Without a tactile reference, the only way to ensure that the virtual button is being engaged is to physically look at the finger and the virtual button simultaneously. This may take the eye of the gamer away from the screen at a crucial point in a game. Also, the buttons are limited to the front surface of the mobile device. Since the buttons are virtually created, these buttons can only be presented on the touch screen display. Competition for screen space may cause the number of buttons to be reduced, or to be rendered so small that they are difficult to use.
In embodiments of the present invention, a computing device is disclosed. The computing device includes a housing configured for handheld manipulation. A processor is contained within the housing and configured for executing a gaming application. Memory is also continued within the housing and is configured for storing executables of the gaming application. The computing device includes at least one control button that is exposed on the housing, and is configured for receiving input from a user that provides an instruction for the gaming application. The computing device includes a high definition (HD) display for displaying video from the gaming application.
In another embodiment, a computer implemented method for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application on a handheld computing device. The method further includes receiving an input originating from at least one control button, wherein the input provides an instruction for the gaming application. The method further includes displaying video of the gaming application on an HD display of the handheld computing device.
In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application on a handheld gamin console, wherein the gaming console comprises a housing configured for handheld manipulation, a processor configured for executing the gaming application, memory configured for storing the gaming application, and at least one controlling device exposed on the housing and configured for receiving input from an interaction of a controlling device that provides an instruction handled by the gaming app. The method includes generating video of the executed gaming application. The method includes streaming the video to a second device for displaying the video.
In still another embodiment, a computing device is described. The computing device comprises a housing configured for handheld manipulation. The computing device comprises a processor contained within the housing and configured for executing the gaming application. The computing device comprises memory contained within the housing and configured for storing executables of the gaming application. The computing device includes at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application. The computing device includes a video encoder for encoding video from the gaming application. The computing device includes a peer-to-peer communication interface configured to transmit the encoded video to a second device for display.
In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes receiving at a handheld computing device encoded video from a remote computing device over a communication network, wherein the remote device is configured for executing a gaming application generating video that is encoded into the encoded video, wherein the handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on the housing. The method includes decoding the encoded video. The method includes displaying the decoded video on a display of the handheld computing device.
In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application one remote device. The method includes generating video of the gaming application at the remote device, and encoding the video. The method includes transmitting the encoded video to a handheld computing device over a communication network, wherein the handheld computing device comprises a housing configured for handheld manipulation and at least one controlling device exposed on the housing, wherein the handheld computing device displays decoded video based on the encoded video.
In still another embodiment, a computing device is described. The computing device comprises a housing configured for handheld manipulation. The device includes at least one controlling device exposed on the housing and configured for receiving input from a user that provides an instruction handled by a gaming application executed by a remote computing device. The device further includes a communication interface for establishing communication over a communication network between the computing device and the remote computing device, wherein the remote coupling device is configured for generating video of the gaming application and encoding the video. The device includes a receiver for receiving the encoded video, and a decoder for decoding the encoded video. The device includes an HD display for displaying the decoded video.
In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application at a first computing device. The method includes generating video of the gaming application at the first computing device. The method includes encoding the video into an encoded video stream at the first computing device. The method includes receiving an input based on an interaction with at least one controlling device of a second computing device, wherein the input provides an instruction handled by the gaming application, wherein the second computing device comprises a handheld computing device, wherein communication is established between the first and second computing device over a communication network. The method includes receiving the encoded video stream at a third device, wherein the encoded video stream is transmitted from the first computing device to the third device over the communication network.
In another embodiment, a computer implemented for computing is disclosed. In other embodiments, a non-transitory computer readable medium is disclosed having computer-executable instructions for causing a computer system to perform a method for computing. In still other embodiments, a computer system is disclosed comprising a processor and memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method for computing. The method includes executing a gaming application at a first electronic device. The method includes generating video of the gaming application at the first electronic device. The method includes encoding the video into an encoded video stream at the first electronic device. The method includes receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein the input provides an instruction handled by the gaming application, wherein the second electronic device comprises a handheld computing device, wherein communication is established between the first and second electronic device over a communication network. The method includes displaying at a third electronic device the encoded video stream that is decoded
In another embodiment, a system for computing is described. The system includes a first electronic device configured for executing a gaming application and for generating video of the gaming application. The system includes a video encoder at the first electronic device for encoding the video into an encoded video stream. The system includes a second electronic device comprising a handheld computing device, wherein the second electronic device is configured for receiving an input based on an interaction with at least one controlling device of a second electronic device, wherein the input provides an instruction handled by the gaming application. The system includes a communication network for delivering the input from the second electronic device to the first electronic device. The system includes a third electronic device for displaying the encoded video stream that is decoded
In still another embodiment, a method for computing is described. The method includes executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of the plurality of handheld computing devices comprises: a housing configured for handheld manipulation; a processor contained within the housing and configured for executing the gaming application; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application. The method includes generating a plurality of videos of the plurality of gaming applications at the plurality of handheld computing devices. The method includes establishing communication between the plurality of handheld computing devices over a communication network. The method includes integrating execution of the plurality of gaming applications in a multi-player mode. The method includes displaying the plurality of videos at the plurality of handheld computing devices.
In another embodiment, a system for computing is described. The system includes a plurality of handheld computing devices configured for executing a plurality of gaming applications, wherein each of the plurality of handheld computing device comprises: a housing configured for handheld manipulation; a processor contained within the housing and configured for executing one of the plurality of gaming applications; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by one of the gaming applications. The system includes a plurality of videos of the plurality of gaming applications generated by the plurality of handheld computing devices, wherein execution of the plurality of gaming applications is integrated in a multi-player mode. The system includes a communication network facilitating communication between the plurality of handheld computing devices. The system includes a plurality of displays at the plurality of handheld computing devices for displaying the plurality of videos.
In another embodiment, a method for computing is described. The method includes executing a plurality of gaming applications at a plurality of handheld computing devices, wherein each of the handheld computing devices comprises: a housing configured for handheld manipulation; a processor contained within the housing and configured for executing the gaming application; memory contained within the housing and configured for storing executables of the gaming application; and at least one controlling device exposed on the housing and configured for receiving input from an end user that provides an instruction handled by the gaming application; generating a plurality of videos of the plurality of gaming applications at the plurality of handheld computing devices. The method includes establishing communication between the plurality of handheld computing devices over a communication network. The method includes integrating execution of the plurality of gaming applications in a multi-player mode. The method includes displaying the plurality of videos at a second electronic device.
In another embodiment, a system for computing is described. The stem includes a plurality of handheld computing devices, wherein each of said plurality of handheld computing device comprises: a housing configured for handheld manipulation; a processor contained within said housing and configured for executing said gaming application; memory contained within said housing and configured for storing executables of said gaming application; and at least one controlling device exposed on said housing and configured for receiving input from an end user that provides an instruction handled by said gaming application. The system includes a plurality of videos of said plurality of gaming applications generated by said plurality of handheld computing devices, wherein execution of said plurality of gaming applications is integrated in a multi-player mode. The system includes a communication network facilitating communication between said plurality of handheld computing devices. The system includes a second electronic device configured for displaying said plurality of videos in a plurality of windows.
These and other objects and advantages of the various embodiments of the present disclosure will be recognized by those of ordinary skill in the art after reading the following detailed description of the embodiments that are illustrated in the various drawing figures.
The accompanying drawings, which are incorporated in and form a part of this specification and in which like numerals depict like elements, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the disclosure.
Reference will now be made in detail to the various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. While described in conjunction with these embodiments, it will be understood that they are not intended to limit the disclosure to these embodiments. On the contrary, the disclosure is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the disclosure as defined by the appended claims. Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.
Some portions of the detailed descriptions that follow are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present application, a procedure, logic block, process, or the like, is conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those utilizing physical manipulations of physical quantities. Usually, although not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as transactions, bits, values, elements, symbols, characters, samples, pixels, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present disclosure, discussions utilizing terms such as “executing,” “receiving,” “connecting,” “navigating,” “facilitating,” “installing,” or the like, refer to actions and processes (e.g., in flowcharts 6B, 10A-B, 12A-B, and 13, 14, 16, and 17 of the present Application) of a computer system or similar electronic computing device or processor (e.g., computer system 100 and client device 200). The computer system or similar electronic computing device manipulates and transforms data represented as physical (electronic) quantities within the computer system memories, registers or other such information storage, transmission or display devices.
Other embodiments described herein may be discussed in the general context of computer-executable instructions residing on some form of computer-readable storage medium, such as program modules, executed by one or more computers or other devices. By way of example, and not limitation, computer-readable storage media may comprise non-transitory computer storage media and communication media. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The functionality of the program modules may be combined or distributed as desired in various embodiments.
Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disk ROM (CD-ROM), digital versatile disks (DVDs) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can accessed to retrieve that information.
Communication media can embody computer-executable instructions, data structures, and program modules, and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared and other wireless media. Combinations of any of the above can also be included within the scope of computer-readable media.
It is appreciated that computer system 100 described herein illustrates an exemplary configuration of an operational platform upon which embodiments may be implemented to advantage. Nevertheless, other computer system with differing configurations can also be used in place of computer system 100 within the scope of the present invention. That is, computer system 100 can include elements other than those described in conjunction with
In the example of
The communication or network interface 125 allows the computer system 100 to communicate with other computer systems via an electronic communications network, including wired and/or wireless communication and including the Internet. The optional display device 150 may be any device capable of displaying visual information in response to a signal from the computer system 100. The components of the computer system 100, including the CPU 105, memory 110, data storage 115, user input devices 120, communication interface 125, and the display device 150, may be coupled via one or more data buses 160.
In the embodiment of
Graphics memory may include a display memory 140 (e.g., a frame buffer) used for storing pixel data for each pixel of an output image. In another embodiment, the display memory 140 and/or additional memory 145 may be part of the memory 110 and may be shared with the CPU 105. Alternatively, the display memory 140 and/or additional memory 145 can be one or more separate memories provided for the exclusive use of the graphics system 130.
In another embodiment, graphics processing system 130 includes one or more additional physical GPUs 155, similar to the GPU 135. Each additional GPU 155 may be adapted to operate in parallel with the GPU 135. Each additional GPU 155 generates pixel data for output images from rendering commands. Each additional physical GPU 155 can be configured as multiple virtual GPUs that may be used in parallel (concurrently) by a number of applications executing in parallel. Each additional GPU 155 can operate in conjunction with the GPU 135 to simultaneously generate pixel data for different portions of an output image, or to simultaneously generate pixel data for different output images.
Each additional GPU 155 can be located on the same circuit board as the GPU 135, sharing a connection with the GPU 135 to the data bus 160, or each additional GPU 155 can be located on another circuit board separately coupled with the data bus 160. Each additional GPU 155 can also be integrated into the same module or chip package as the GPU 135. Each additional GPU 155 can have additional memory, similar to the display memory 140 and additional memory 145, or can share the memories 140 and 145 with the GPU 135.
The communication interface 225 allows the client device 200 to communicate with other computer systems (e.g., the computer system 100 of
Relative to the computer system 100, the client device 200 in the example of
Similarly, servers 340 and 345 generally represent computing devices or systems, such as application servers or database servers, configured to provide various database services and/or run certain software applications. Network 350 generally represents any telecommunication or computer network including, for example, an intranet, a wide area network (WAN), a local area network (LAN), a personal area network (PAN), or the Internet.
With reference to computing system 100 of
In one embodiment, all or a portion of one or more of the example embodiments disclosed herein are encoded as a computer program and loaded onto and executed by server 340, server 345, storage devices 360(1)-(L), storage devices 370(1)-(N), storage devices 390(1)-(M), intelligent storage array 395, or any combination thereof. All or a portion of one or more of the example embodiments disclosed herein may also be encoded as a computer program, stored in server 340, run by server 345, and distributed to client systems 310, 320, and 330 over network 350.
The handheld gaming console 410 is similar to the computer system 100 of
As discussed above, the handheld gaming console 410 runs at least one operating system and/or software application. For example, the software application includes interactive media like a video game or any application operable to display video content, e.g. movies, web browser, etc.
The software application is coupled with a graphics system, which in turn is coupled with the console display 450, in one embodiment. For example, the graphics system processes data from the software application in order to generate pixel data for display as images or video, on for example, the console display 450. In still another example, the software application provides instructions, commands, and/or other data to the graphics system in order for the graphics system to generate an image intended for display or known by the software application.
The main console body 415 includes a user interface, in one embodiment. The user interface includes physically manipulatable controls including but not limited to analog joysticks 425, individual buttons 422, and button groups 420 with various buttons. In addition, the console display 450 may be a touchscreen display operable for physical interaction, for example by a finger or a stylus. In one embodiment, the display 450 comprises a high definition (HD) display that is capable of displaying video of a higher resolution than standard video, such as 720p, 1080p, etc. In another embodiment, the display is a 3D display. These improved displays are suitable for displaying images from games that take advantage of the current trends in technology, and give the user an enhanced viewing experience.
As a result, a user is able to hold the handheld gaming console 410 and interact with the software application, for example a video game, movie, web browser, and so on, by using the physically manipulatable controls. While the handheld gaming console 410 includes a touchscreen console display 450 in one embodiment, a user may have more control through the physically manipulatable controls and therefore enjoy an improved gaming experience.
Further, because the handheld gaming console 410 is a standalone computer gaming system that is comparatively smaller and lighter than a traditional gaming console that is stationary, and because the handheld gaming console 410 includes both physically manipulatable controls and a display, the handheld gaming console 410 is mobile. For example, a user is able to carry the handheld gaming console 410 between different rooms in a house, or leave the house entirely while still able to interact with the handheld gaming console 410.
The handheld gaming console 410 includes one or more communication interface components. For example, the handheld gaming console 410 includes a wireless network adapter operable to communicate with a wireless access point (e.g., a wireless router) and ultimately communicate with further networks (e.g., the Internet), in one embodiment. Alternatively or in addition, the adaptive game controller 310 includes a Bluetooth adapter operable to communicate with other Bluetooth devices, in another embodiment. In some embodiments, the wireless connection includes Wi-Fi, Wi-Fi Direct for peer-to-peer communication. In still other embodiments, the handheld gaming console 410 comprises a wired communication interface.
In some embodiments, the handheld gaming console 410 includes a cellular network adapter operable to communicate over a cellular network. For example, the communication interface supports wireless 3G and/or wireless long term evolution LTE (4G) communication. As a result, when the handheld gaming console 410 is within the range of a wireless network, it is configurable to connect to the wireless network or the cellular network. When the handheld gaming console 410 is outside the range of a wireless network, it is configurable to connect to the cellular network to continue receiving network access.
The handheld gaming console 410 includes an environmental motion-tracking component that also includes a camera, in one embodiment. The environmental motion-tracking component tracks movement in the surrounding environment (e.g., the movement of a user's body) and provide information associated with the tracked movement to the handheld gaming console 410. As a result, the handheld gaming console 410 is controlled based in part on motions or movement of a user, in one embodiment.
In another embodiment, the handheld gaming console 410 includes an internal motion-tracking component that may include a gyroscopic sensor, accelerometer sensor, or the like. The handheld gaming console 410 also includes an electronic compass sensor, in one embodiment. The internal motion-tracking component tracks movement of the handheld gaming console 410, for example by movements made by a user. As such, information associated with the tracked movement is provided to the handheld gaming console 410. As a result, the handheld gaming console 410 is controllable based in part on the motion of the handheld gaming console 410.
The console display 450 is operable to fold over the main console body 415, thereby at least partially covering the physically manipulatable controls, in one embodiment. The console display 450 may be coupled with the main console body 415 with one or more hinges that allow the console display 450 to swing open and closed. In still another embodiment, a cover (not shown) is configured to cover and protect the display 450. For example, a cover is attachable by magnetic attraction at one or more magnetic contact points. Removal of the cover is achieved by overcoming the magnetic attraction.
The handheld gaming console 410 includes batteries that provide power. The batteries may be rechargeable batteries. That is, an internal power source is configured to a sole source of power to the gaming console 410. In one embodiment, the power source is sufficient to provide extended hours of gaming. For example, a user may play games for 4-6 hours, watching moves for 10+ hours, web browsing for 20+ hours, or play music for 40+ hours, in embodiments. Alternatively, or in addition, the handheld gaming console 410 may be operable to connect to a power outlet to be directly powered or to recharge rechargeable batteries. In this manner, the handheld gaming console 410 is configured as a stand-alone system capable of storing, executing and displaying gaming applications for a user. In some embodiments, the form factor is larger than a mobile phone to give the user a more enhanced and prolonged viewing experience.
The handheld gaming console 410 includes a force feedback vibration component, in one embodiment. The force feedback vibration component causes the handheld gaming console 410 to vibrate in response to events of a software application. For example, the force feedback vibration component vibrates when a character shoots a weapon or takes on damage in a video game.
The removable storage port 435 is operable to connect with storage media, such as, an SD card or CompactFlash. Such media stores information stored by a game, for example, checkpoints or user profiles. Such media stores information like movies, music, and photos. The bus port 436 allows the handheld gaming console 410 to connect with other devices, in one embodiment. For example, the bus port 436 includes a USB port, FireWire port, Ethernet port, and so on. The bus port 436 allows connection to USB thumb drives or USB external drives for read/write access to additional storage.
The external display port 437 allows the handheld gaming console 410 to connect with external displays. For example, the external display port 437 includes an HDMI port, Thunderbolt port, or the like. The audio port 438 is operable to provide audio generated by the handheld gaming console 410. For example, the audio port 438 includes a mini jack port, micro jack port, TOSLINK port, or the like. Accordingly, a user is able to connect a sound system or headset to the audio port 438.
In one embodiment, the handheld gaming console 410 includes built-in speakers 445 that are operable to play back audio associated with the software application or operating system running on the handheld gaming console 410. The handheld gaming console 410 includes an acoustic waveguide system or physical structure for guiding sound waves to enhance the quality, effect, and/or amplitude of the audio associated with the software application or operating system, in embodiments.
Alternatively, the handheld gaming console 410 includes a Bluetooth component, in one embodiment. In addition to being capable of connecting with various devices, the Bluetooth component is operable to send and receive audio wirelessly.
In one embodiment, the display 450 includes a built-in camera 440, which may allow a software application or operating system running on the handheld gaming console 410 capture photos, video, or other visual data (e.g. surrounding light intensity, movement of the console 410, movement of objects in the surrounding area).
The camera 440 includes a lens and/or sensor that allow fast high dynamic range (HDR) imaging, in one embodiment. HDR provides a larger dynamic range between the lightest and darkest areas of an image than conventional digital imaging methods or photographic methods. HDR processed images more accurately represent the range of intensity levels found in real scenes and is often captured by way of multiple photos of the same scene at different exposures.
However, conventional methods are often very slow to create an HDR processed image, for example, because they require multiple images to be taken and then processed. Embodiments of the present invention provide a lens and/or sensor that captures multiple exposure levels of a scene within one capture of a scene, and thereby shortening the amount of time necessary for capturing the necessary images. Embodiments of the present invention further provide fast image processing within an integrated chip of a camera system of the camera 440 or a GPU coupled thereto. As a result, the speed of generating HDR photos is greatly increased, and because the delay between subsequent HDR photos is greatly decreased, HDR processed videos are produced, in one embodiment. For example, HDR photos may be generated at the rate of 20 frames per second, 30 frames per second, or more. As a result, the consecutive photos may together form HDR video.
It should be noted that the physically manipulatable controls, ports, and other components of the handheld gaming console 410 are not limited to being either on a front or backside of the handheld gaming console 410 or the main console body 415. For example, some or all ports and a built-in camera may be included on the front side of main console body 415 or a housing of the console display 450. Or, for example, the handheld gaming console 410 may include backside buttons 430.
The handheld gaming console 510 and the external display 555 may be operable to provide similar embodiments as those discussed below, for example, with respect to
Handheld gaming console 510 includes gaming controller 515 that may include various physically manipulatable controls such as one or more analog joysticks 525 and button groups 520 with various buttons.
In addition, as shown in
More particularly,
As shown, the handheld gaming console 600A includes a native gaming resource application 605 that is installed on the device. The native application 605 comprises a front-end portal application executable by the console 600A. That is, the end user is presented with the front end portal application when running the gaming console 600A (e.g., upon startup). In particular, the native application 605 is configured for executing a front end portal application that is affiliated with an entity associated with the handheld device. As an example, the native application is configured to provide notification of gaming applications that are supported by the handheld computing console.
More particularly, in one embodiment, the native application is associated with and supports the gaming experience surrounding the gaming console 600A. That is, the native application includes multiple features to enhance the end user's gaming environment and experience with the console 600A, and acts as a dashboard for facilitating these features. For instance, the native application provides an interface to a social network that is supported by a web client content provider. In addition, the native application 605 is periodically updated through a connection to the client provider. In another implementation, the native application includes a list of recommended games produced and customized for execution on the handheld device 600A. For example, the portal application 605 is configured to provide notification of games such as, gaming applications that are supported by and customized for execution by the gaming console 600A. The native application 605 also includes a list of games installed, associated with, and/or accessible by the gaming console 600A, and includes a link to begin execution of a selected game.
The handheld gaming console 600A includes a navigator 610 that is configured to provide a direction connection to a third party content provider. For instance, upon receiving a selection by an end user for purchasing a gaming application, the native/portal application 605 is configured to navigate to a third party content provider selling the selected gaming application. The native/portal application is configured for facilitating installation of the newly purchased gaming application on the gaming console 600A. In particular, when the end user selects a game for purchase that is listed and recommended through the native gaming resource application 605, the navigator 610 establishes communication between the gaming console 600A and the back-end content provider through a communication network (e.g., internet) and/or interface. The content provider includes a third party content provider, and/or a content provider that is associated with the gaming console 600A.
The handheld gaming console 600A includes a communication network interface 620 configured to connect the console 600A to a network. The interface 620 is configured to provide wired, wireless, and/or peer-to-peer communication, as previously described in relation to systems 100 and 200. For instance, interface 200 provides a communication link to a communication network (e.g., LAN, WAN, internet) so that the console 600A is able to communicate with a second device (e.g., a display receiver, a cable set-top box, a micro-console, an HD television, an HD monitor, a second handheld gaming console 600A, etc.), in embodiments. In other embodiments, local communication is provided through a wired or peer-to-peer (e.g., Wi-Fi Direct) communication network.
The handheld gaming console 600A includes a video encoder/decoder 630. In that manner, the gaming console 600A is configurable to encode images into a video stream that is delivered over a network or direct connection to a second computing device and/or display for display. For instance, the video encoder is configured to encode video using the H.264 protocol or format in one implementation, wherein other video compression formats are also supported. Also, the gaming console 600A is configurable to receive encoded images in a video stream over a network or direct connection from a second computing device, and decode the video stream to display images on a local display of the gaming console 600A. As an example, the handheld computing console is configurable for establishing a peer-to-peer communication with a second device (e.g., an HD monitor or TV), and transmitting the video stream to the second device for display, over the communication channel.
As shown in flow chart 600B, at 650, the method includes executing a gaming application on a processor of a handheld gaming console and/or handheld computing device. In one implementation, the handheld gaming console is a stand-alone device that is capable of executing a stored gaming application for end-user participation. For example, the handheld gaming console includes a housing configured for handheld manipulation. At 660, the method includes receiving an input originating from at least one controlling device (e.g., button, joystick) located on the handheld console. The handheld gaming console includes at least one controlling device that is exposed on the housing and configured for receiving input from the end user that provides an instruction for the gaming application. At 670, the method includes displaying video of the gaming application on an HD display of the handheld gaming console. As such, flow chart 600B provides for the implementation of a stand-alone handheld gaming console for executing a gaming application.
The gaming console 720 may be communicatively coupled with the client app store 770 through a network 760. The network 760 may be similar to the network 350 of
The gaming console 720 may locally store the software applications and media provided by the app store 770 and may be operable to execute such content. For example, the gaming console 720 may run the software applications or playback media content. The app store 770 may provide the data to the gaming console 720 for free, through a paid subscription, and/or on a per unit purchase basis.
The gaming console 720 may be communicatively coupled with more than one app store. For example, the gaming console may connect with an app store 771 in addition to the app store 770. The app store 771 may provide the same or different content, pricing, package offerings, etc, than the app store 770. The app stores may be, but are not limited to being, app stores like the one supported by NVIDIA to support the native application TegraZone running on the gaming console. For example, upon selection of one of the gaming applications for purchase (e.g., GAME X), the handheld gaming console facilitates communicative coupling between the console 740 and a third party content provider 771 through a network 730 for finalizing the purchase and delivery of GAME X. For example, a navigator module (e.g., navigator 610 of
Because the gaming console 720 may receive data from the app store 770 through the network 760, the gaming console 720 may receive such data at any location while connected to the network 760. For example, if the gaming console 720 is connected to the internet through a home Wi-Fi router while inside a home or through a cellular data connection while outside of the home, the gaming console 720 may still receive data from the app store 770.
Further, because the gaming console 720 may locally store the data, the gaming console 720 may execute the data even while not connected with the network 760. As a result, a user of the gaming console 720 may receive software applications and media while inside or outside the home. Further, a user may interact with the software applications and media through the gaming console 720 while inside or outside the home.
A user may be linked with more than one gaming console. For example, a user may be linked with the gaming console 720 and a second gaming console 722. If a user downloads data on one gaming console, the second gaming console may receive the same data. For example, if the user downloads an app on the gaming console 720, the gaming console 752 may also receive the same app. The additional instances of the app on the additional gaming consoles may be automatic. Further, the additional instances may either be free even when the first instance of the app was paid for, or each additional instance may require additional payment.
As shown in
In one embodiment, gaming console 890 is communicatively coupled to a secondary device through peer-to-peer communication, such as, Wi-Fi Direct, that facilitates a connection between the gaming console 890 and a second device (e.g., micro-console, gaming console, set-top box, HD TV/monitor 880, etc.) without the use of a wireless access point. These connections are shown as being formed below line A-A. For example, gaming console is communicatively coupled through a peer-to-peer wireless protocol (e.g., Wi-Fi Direct) to PC 870 along path 871. In this manner, the PC is able to execute a gaming application using its powerful CPU and graphics processing capabilities and display the associated video on the display 895 of the gaming console 890 and/or a separately connected HD TV/monitor 880 (e.g., connected through wired, or wireless communication). Also, in another implementation, the gaming console 890 is able to execute a gaming application and display the associated video on the HD TV/monitor 880 connected directly either through a wired or wireless connection. In the case of a wireless connection, if the HD TV does not have a peer-to-peer interface, a communication dongle 885 is used to couple the HD TV/monitor 880 to the gaming console 890 via a peer-to-peer connection. That is, dongle 885 acts as a display receiver.
In another implementation, the gaming console is coupled to an access point 860 above line A-A to facilitate communication with a network 850 (e.g., WAN, LAN, and internet, etc.) to facilitate communication with local devices (e.g., PC 870, mobile device 875, HD TV/monitor 880), and to facilitate communication with remote web servers (e.g., GRID servers 830, mobile based app store 840 and PC based app store 845. For instance, in one embodiment, a gaming application is running on a virtual computer of the GRID servers 830, and video of the gaming application is streamed to the display 895 of the gaming console 890 or to the HD TV/monitor 880 through network 850. In that case, the end user provides instructions through controls on the gaming console 890 to the gaming application executed by the virtual computing device running on the GRID servers 830.
As shown in
Methods and Systems for Interfacing a Handheld Gaming Console with an Electronic Display
The gaming console 720 may be communicatively coupled with the display 950 through a network 965, for example, through wired or wireless interfaces. The network 965 may be similar to the network 350 of
The display 950 may be any display, for example, a large display like a flat panel HDTV. The gaming console 720 may transmit images, video, audio, and other data to the display 950 through the network 965. The display 950 may then be able to display the video, playback the audio. Further, the display 950 may make use of the transmitted data. For example, the data may include instructions to the display 950 to change to different audio or video modes.
In various embodiments, the gaming console 720 may execute a video game using components discussed above with reference to
While the display 950 shows and plays the video game content, the display 750 of the gaming console 720 may not display any content at all or any content related to the video game, in one embodiment. Alternatively, the display 650 shows content related to the video game different from what is shown by the display 950, in another embodiment. For example, the display 750 may show statistics related to game play, taunts from other players, hints related to game play, and so on. In another example, the display 950 shows video, such as a cockpit view of a driving game, while the display 750 shows a rear view mirror view.
More than one gaming console may be communicatively coupled with the display 950. As illustrated in
In another implementation, the second gaming console 722 is paired with the first gaming console 720, such that a second video of the gaming application executing on the first gaming console 720 is displayable on display 752 of the second gaming console 722, such as, a spectator view, or statistics, etc. In another case, the second gaming console 722 is executing the same gaming application, and as such the gaming application is executing on both consoles 720 and 722 for the benefit of one player. The two gaming applications as executed are integrated, such that a first view of the gaming application is generated by the gaming application executed on the first gaming console 720 and displayed on display 750 of the first gaming console 720. Further, a second view of the gaming application is generated by the gaming application executed on the second gaming console 722 and is displayed on display 752 of the second gaming console 722.
It should be appreciated that there may be more than one display coupled with the gaming consoles. For example, a second display shows a different spectator view than a spectator view shown by a first display. Alternatively, each display shows a private view of each gaming console. It should be appreciated that embodiments discussed below with respect to the following figures may also include multiple displays in the same way.
The gaming consoles may communicate with each other, for example, through the network 965 (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.). However, the gaming consoles may be communicatively coupled directly with one another, for example through a wireless or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on the gaming console 720 may communicate with another instance of the same game being executed on the gaming console 722 to provide a multiplayer gaming experience.
In various embodiments, the gaming consoles 720 and 722 provides private views on their respective displays 750 and 752 while providing a spectator view on the display 755. The private views are shown only on each respective display to help prevent other users or players of a multiplayer game being played on the consoles from seeing other players' views. In this way, a player's view will be private and prevent others from anticipating future actions from the player, learn information about the player (e.g., health statistics, available weaponry, etc), learn about a location of the player (e.g., a location in the map or level), and so on. In addition, players will be less distracted by other players' views, providing a more realistic gaming experience.
For example, the spectator view shown on the display 950 includes a general view of the game that the players of the game or others may view. For illustration, in a football game, the spectator view may show angles similar to those shown when watching a televised football game, thereby providing a more realistic experience to viewers of the display 950. Alternatively, the spectator view chooses to follow different players of the game at random, either revealing their private view or other views (e.g., a bird's eye view of a player's character instead of the character's personal view). Or, the display 950 shows statistics related to the game play. For example, player rankings, remaining game time, and so on.
It should be appreciated that the gaming consoles may cooperate with each other to provide a multiplayer gaming experience without the display 950. For example, the gaming consoles 720 and 722 may provide a private view on their respective displays 750 and 752 so that players of a game may benefit from the advantages discussed above. However, a spectator view may not be necessary or preferable. In fact, the gaming consoles 720 and 722 may provide the multiplayer gaming experience without the existence of an additional display like the display 950.
It should be borne in mind that the gaming consoles may execute different games. Further, it should be appreciated that the gaming consoles may both transmit information to the display 950 even while playing different games. For example, a portion of the display 950 may show the game being played on the gaming console 720 and a portion of the display 950 may show the game being played on the gaming console 722.
The video, audio, and/or other data transmitted from the gaming consoles to the display 950 may or may not be compressed before sending, and decompressed and/or decoded when received by the display 755. For example, see copending U.S. patent application Ser. No. 13/727,357, “VIRTUALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY,” filed on Dec. 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, which is incorporated herein by reference for all purposes. For example, the gaming console 720 may compress the data into H.264 format for transmittal to the display 950. Once the display 950 receives the data to be displayed, it may decompress and display the video, audio, and/or other data. It should be noted that in all embodiments of the invention, the file formats used are not limited to H.264 and that the communication protocols may be but are not limited to IEEE 802.11 protocols, but for example, Bluetooth.
It should be noted that a communication interface component 920, as discussed with respect to
The communication interface component 920 may be, for example, a cable set-top box operable to provide video and audio from the handheld gaming console 920 to the display 950. The communication interface component 920 may be, for example, a dongle with an HDMI port that is operable to connect with the display's 950 HDMI port. It should be appreciated that the interface component 920 may support other interfaces that are operable to provide video, audio, and/or data. For example, a DVI connection. The interface component 920 may also be operable to wirelessly communicate with the gaming console 720. As a result, the gaming console may transmit video, audio, and/or data to the interface component 920, which in turn may provide such information to the display 950, such as, through a peer-to-peer wireless connection. Ultimately, the video, audio, and/or other data sent by the gaming console 720 may be displayed or played by the display 950 similarly to the embodiments discussed with respect to
It should be appreciated that multiple gaming consoles may transmit data to the interface component 920, in other words, the interface component 920 may be operable to communicate with more than one gaming console. As a result, various embodiments involving more than one gaming console, like those discussed with respect to
More particularly,
As shown, the handheld gaming console 1000A includes a native gaming resource application 605 that is installed on the device. The native application 605 comprises a front-end portal application executable by the console 1000A, wherein the portal application 605 is affiliated with an entity that provides and promotes a gaming experience using the gaming console 1000A, as previously described.
The handheld gaming console 600A includes a navigator 610 that is configured to provide a direction connection to a third party content provider. For instance, upon receiving a selection by an end user for purchasing a gaming application, the native/portal application 605 is configured to navigate to a third party content provider selling the selected gaming application, and for facilitating installation of the newly purchased gaming application on the gaming console 1000A.
The handheld gaming console 1000A includes a communication network interface 620 configured to connect the console 1000A to a network. The interface 620 is configured to provide wired, wireless, and/or peer-to-peer communication, as previously described in relation to systems 100 and 200. For instance, interface 200 provides a communication link to a communication network (e.g., LAN, WAN, internet) so that the console 1000A is able to communicate with a second device (e.g., a display receiver, a cable set-top box, a micro-console, an HD television, an HD monitor, a second handheld gaming console 600A, etc.), in embodiments
The handheld gaming console 600A includes a video encoder/decoder 630. In that manner, the gaming console 600A is configurable to encode images into a video stream that is delivered over a network or direct connection to a second computing device and/or display for display (e.g., using the H.264 format), and to receive and decode an encoded video stream for local display.
Also, the gaming console 1000A is configurable to receive encoded images in a video stream over a network or direct connection from a second computing device, and decode the video stream to display images on a local display of the gaming console 600A.
Gaming console 1000A, also includes a peer-to-peer communication transmitter/receiver 1040. As such, direct communication between local devices is provided through a peer-to-peer (e.g., Wi-Fi Direct) communication network. As an example, the handheld computing console 1000A is configurable for establishing a peer-to-peer communication with a second device (e.g., an HD monitor or TV), and transmitting the video stream to the second device for display, over the communication channel.
In one embodiment, the gaming console 1000A is configured to execute a front-end portal application. The application is affiliated with an entity associated with the handheld gaming console in order to provide an overall gaming experience. For instance, the native application provides notification of games that are supported by the gaming console, and where upon receiving a selection by an end user for purchasing a gaming application, the native, portal application is configured to navigate to a third party content provider (e.g., web site) to facilitate the purchase gaming application, receive rights to the gaming application, and/or installation of the gaming application on the handheld gaming console.
As shown in flow chart 1000B, at 1050, the method includes executing a gaming application on a processor of a handheld gaming console and/or handheld computing device. In one implementation, the handheld gaming console is a stand-alone device that is capable of executing a stored gaming application for end-user participation. For example, the handheld gaming console includes a housing configured for handheld manipulation, a processor (e.g., CPU and GPU configurations) configured for executing the gaming application, memory for storing executables of the gaming application, and at least one controlling device exposed on the housing that is configured for receiving input from an end user, wherein the input provides an instruction that is handled by the gaming application.
At 1060, the method includes generating video of the executed gaming application. That is, as the gaming application is executed and played by an end user, corresponding video is generated for display. In one embodiment, one or more video streams are generated. For instance, a first video includes a player's view, wherein a second video includes a spectator view. Other views are also capable of being generated, such as, informational views (e.g., heads up display showing statistical information, a second player's view, etc.).
At 1070, the method includes streaming the video to a second device for displaying the video. That is, instead of displaying the video on the gaming console that is executing the gaming application, the video is transmitted to a second device for display. For instance, the second display may be an HD TV/monitor that can show the video on a larger screen for the increased enjoyment of the end user playing the game. In other implementations, the second device includes a display receiver (e.g., dongle), a cable set-top box allowing the video to be displayed through a cable channel, a micro-console, an HD TV/monitor, or a second handheld gaming console. In one embodiment, the video that is streamed is uncompressed, and delivered over a wired connection (e.g., HDMI), or a wireless connection.
In another embodiment, the video is compressed. That is, at 1080, the video is optionally encoded. For instance, the video is encoded using the H.264 compression protocol, as previously described. The encoded video is then transmitted over a wired or wireless connection (e.g., through an access point, LAN, WAN, etc.) to the second device for display. In one embodiment, at 1090, the method optionally establishes a peer-to-peer connection between the handheld gaming console and the second device. As such, the encoded video is streamed to the second device over the peer-to-peer connection, wherein the second device decodes the encoded video and displays the decoded video.
In one embodiment, a dongle is communicatively coupled to the second device. The dongle is configured for peer-to-peer communication, and as such, is able to provide an interface allowing for peer-to-peer communication for the second device. In particular, the method includes establishing a peer-to-peer connection between the handheld gaming console and the dongle. In that manner, the encoded video is delivered to the dongle and decoded for delivery to the second device for display.
In one embodiment, two different views are generated. For instance, the encoded video comprises a first view of the gaming application, and is streamed to the second device for display. As an illustration, the first view includes a player's view of the gaming application. A second view is also generated by the gaming application. For instance, the second view includes statistical information (e.g., included in a heads up display, also referred to as a HUD), or map, or other types of information beneficial to the player. The second video (e.g., of the second view) is displayed on the gaming console, in one embodiment.
In one embodiment, the method includes receiving an input originating from a controlling device on the gaming console. The input provides an instruction that is handled by the gaming application. As such, the input is generated through interaction with the gaming console, and corresponding video is generated by the gaming application. The corresponding video is then transmitted to a second device for display, either through a wired or wireless connection.
In one embodiment, the method includes executing a front end application on the handheld gaming console, wherein the native application is associated with and supports the gaming experience surrounding the gaming console. For instance, the native application is configured to provide notification of games that are supported by the corresponding handheld gaming console. In one embodiment, a selection of a game is received for purchase. A connection is made between the handheld gaming console to a third party content provider through a communication network. The third party is capable of selling the gaming application through the network. Installation of the gaming application is facilitated by the native application onto the gaming console, so that the gaming application is executable on the gaming console.
That is, the native application includes multiple features to enhance the end user's gaming environment and experience with the console 600A, and acts as a dashboard for facilitating these features. For instance, the native application provides an interface to a social network that is supported by a web client content provider. In addition, the native application 605 is periodically updated through a connection to the client provider. In another implementation, the native application includes a list of recommended games produced and customized for execution on the handheld device 600A. For example, the portal application 605 is configured to provide notification of games such as, gaming applications that are supported by and customized for execution by the gaming console 600A. The native application 605 also includes a list of games installed, associated with, and/or accessible by the gaming console 600A, and includes a link to begin execution of a selected game.
In one embodiment, the gaming console 720 may be communicatively coupled with the locally-based server 1185 through a network 1165, for example, through wired or wireless interfaces. The network 1165 may be similar to the network 350 of
The locally-based server 1185 may be a computer system that is located proximately to the gaming console 720. For example, the locally-based server 1185 may be located in the same house or building as the gaming console 720, or connected with the gaming console 720 primarily through a LAN (e.g., through a wireless access point, otherwise referred to as a “WAP”). In other words, the locally-based server 1185 could be a household personal desktop computer.
The locally-based server 1185 may be communicatively coupled with an app store 1175 through a network 1160. The network 660 may be similar to the network 350 of
In some cases, at least some of the content provided by the app store 1175 may not be executable by the gaming console 720. For example, the app store 1175 may provide content that requires certain platforms or operating systems for execution that the gaming console 720 does not or cannot support. Alternatively, the app store 1175 content may not be executable by the gaming console 720 because the content requires greater processing power than the gaming console 720 may be able to provide. Or, the app store 1175 content may not be executable by the gaming console 720 because the app store 1175 is not compatible with the gaming console 720 for various reasons, e.g., there is no container or application to allow communication between the gaming console 720 and the app store 1175.
Importantly, the locally-based server 1185 may be operable to execute the content provided by the app store 1175. For example, the locally-based server 1185 may provide a compatible platform or operating system, may provide the necessary processing power, or may be able to communicate with the app store 1175 to execute the app store 1175 content. Accordingly, the content may be downloaded from the app store 1175, installed on the locally-based server 1185, and executed on the locally-based server 1185. For example, the locally-based server 1185 may download, install, and execute a game provided by the app store 1175.
Further, the gaming console 720 may receive data from the locally-based server 1185 related to or representing the app store 1175 content. For example, the locally-based server 1185 may send video, audio, and/or other data related to the app store 1175 content through the network 1165 to the gaming console 720. The other data may include, for example, instructions to activate a force feedback vibration component in the gaming console 720.
In one example, the locally-based server 1185 may execute a software application requiring graphics and audio processing. The locally-based server 1185 may then transmit the graphics and audio to the gaming console 720 for display and playback. Accordingly, the gaming console 720 may provide the app store 1175 content with the aid of the locally-based server 1185 that the gaming console may not have otherwise been able to provide. Even if the gaming console 720 may have been able to provide the same app store 1175 content, it may be able to do so at a lower quality or with limitations, but the locally-based server 1185 may be capable of providing higher quality and limitation-free content generation to the gaming console 720.
The video, audio, and/or other data transmitted from the locally-based server 1185 may or may not be compressed before sending, and decompressed and/or decoded when received by the gaming console 720. For example, see copending U.S. patent application Ser. No. 13/727,357, “VIRTUALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY,” filed on Dec. 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, previously referenced. For example, the locally-based server 1185 may compress the data into H.264 format for transmittal to the gaming console 720. Once the gaming console 720 receives the data to be displayed, it may decompress and display the video, audio, and/or other data.
The gaming console 720 may be operable to send user inputs to the locally-based server 1185. For example, the gaming console 720 may send data representing user interaction with the physical controls, touchscreen, internal/external motion tracking components, and so on, to the locally-based server 1185. In this way, a user may control software applications or content that is being executed on the locally-based server 1185. The gaming console 720 may send user inputs through the network 1165.
It should be appreciated that embodiments of the present invention may not require an app store. For example, an application may be locally installed on the locally-based server 1185, for example, through DVD media. The locally-based server 1185 may still provide generated video and audio related to the application to the gaming console 720. Alternatively, the locally-based server 1185 may playback media that requires stronger processing than the gaming console 720 is able to provide. For example, the locally-based server 1185 may decode a high-resolution movie that is unable to be processed by the gaming console 720 by itself, and then send video and audio related to the movie to the gaming console 720 for display.
The various embodiments discussed with respect to other figures may be used with the locally-based server 1185. For example, there may be more than one gaming console, e.g.,
The locally-based server 1185 may provide content to the second gaming console 722 simultaneously with gaming console 720. The content provided to multiple gaming consoles may be related or unrelated to each other. For example, the locally-based server 1185 may provide a movie to the gaming console 720 and provide video and graphics for a video game to the second gaming console 722. Alternatively, the locally-based server 1185 may provide related content to more than one gaming console. For example, the locally-based server 1185 may provide different video and audio to the gaming consoles 720 and 722 for different characters within a multiplayer video game environment.
In addition, gaming console 720 may be communicatively coupled with a cloud based server 1180 through network 1160 and/or network 1165, for example, through wired or wireless interfaces. For example, network 1160 and/or network 1165 forms a LAN in part, and a WAN in parts to enable communication between the gaming console 720 and the cloud based server 1180. In still other embodiments, the network connectivity includes a cellular network. For example, the communication interface (e.g., wireless modem) implemented on the gaming console 720 and servers 1180 and 1185 supports wireless 3G and/or wireless long term evolution LTE (4G) communication. As a result, when the handheld gaming console 720 is within the range of a wireless network, it is configurable to connect to the wireless network or the cellular network. When the handheld gaming console 410 is outside the range of a wireless network, it is configurable to connect to the cellular network to continue receiving network access.
The cloud-based server 1180 may be part of a cloud-based computing system. Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the internet). Therefore, the cloud-based server 1180 may be remotely located from the gaming console 720. For example, the cloud-based server 1180 may be located in a separate building or city as the gaming console 720.
In one embodiment, the cloud-based server 1180 provides virtual machines configurable for executing gaming applications. For example, the cloud-based server 1180 is configured to provide virtual and/or physical GPU-based processing for purposes of image rendering and other executables. In one implementation, a virtual machine is configurable to render video for a corresponding gaming application, and is configurable for executing the gaming application.
The cloud-based server 1180 may include or be communicatively coupled with the app store 1175, previously described. As such, the app store 1175 is operable to provide data in the form of software applications and/or media to the gaming console 720 and/or a virtual machine of the cloud-based server 1180, as previously described. For example, the app store 1175 may be operable to provide video games, other software applications, movies, TV shows, music, photos, etc. Importantly, the cloud-based server 1180 is operable to execute the content provided by the app store 1175. For example, the cloud-based server 1180 may provide a compatible platform or operating system, may provide the necessary processing power, or may be able to communicate with the app store 1175 to execute the app store 1175 content. Accordingly, the content may be downloaded from the app store 1175, installed on the cloud-based server 1180, and executed on the cloud-based server 1180. For example, the cloud-based server 980 may download, install, and execute a game provided by the app store 1175.
Operation of the cloud-based server 1180 is similar to the operation of the locally based server 1185, as previously described. For instance, the cloud based server 1180 executes a gaming application requiring graphics and audio processing, and transmits the graphics and audio to the gaming console 720 for display and playback. In one implementation, the cloud based server 1180 comprises a virtual machine. Because of the higher processing power provided, the cloud-based server 1180 provides higher quality of video and audio data back to the gaming console 720. Further, user inputs are generated at the gaming console 720 is received at the cloud based server 1180 for processing and handling by the gaming application. In addition, the cloud based server 1180 is configurable to provide content simultaneously to the second gaming console 722 with gaming console 720.
Because the cloud-based server 980 is remotely communicatively coupled with the gaming console 720, the gaming console 720 is able to receive data from the cloud-based server 1180 at different locations. For example, the gaming console 720 may be able to receive data from the cloud-based server 1180 at different homes, outdoors, or even while located in different countries. Accordingly, a user of the gaming console 720 is free to travel between different locations and continue to benefit from the continuous services of the cloud-based server 1180 when executing a particular application, such as, a gaming application.
The cloud-based server 1180 provides content to the gaming console 720 through a subscription-based model, in one embodiment. For example, a user of the gaming console 720 pays a monthly fee to be able to receive services and/or content from the cloud-based server 1180, like processed video and audio related to game play of a video game. Alternatively, the cloud-based server 1180 provides content to the gaming console 720 through a pay-per-use model. Regardless of the type of payment model used, piracy may be prevented or minimized since the software application will be withheld from the gaming console 720, and instead only video, audio, and/or other data is simply sent to the gaming console 720.
Similar to
The cloud-based server 1110 may include or be communicatively coupled with an app store 1175, which may be similar to the app store 1175 of
As previously discussed, in some cases, at least some of the content provided by the app store 1175 may not be optimally executable or executable at all by the gaming console 720. Importantly, the cloud-based server 1110 may be operable to execute the content provided by the app store 1175.
The STB 1115 may receive data from the cloud-based server 1110 related to or representing the app store 1175 content. For example, the cloud-based server 1110 may send video, audio, and/or other data related to the app store 1175 content through cable or satellite distribution paths to the STB 1115. In another example, the cloud-based server 1110 may send video, audio, and/or other data related to the app store 1175 content through the network 1135 to the STB 1115 when the STB 1115 is coupled with the network 1135.
The cloud-based server 1110 may send video and audio to the STB 1115 through a specific channel that the STB 1115 may be operable to tune into. For example, when the STB 1115 tunes into channel X, channel X may provide the video and audio representing the content processed by the cloud-based server 1110. The STB 1115 may send the content to the display 1145 for display.
In one example, the cloud-based server 1110 may execute a software application requiring graphics and audio processing. The cloud-based server 1110 may then transmit the graphics and audio to the STB 1115 through a certain channel for display and playback ultimately on the display 1145. Accordingly, the STB 1115 may provide the app store 1175 content with the aid of the cloud-based server 1110 that the gaming console 720 may not have otherwise been able to provide. Even if the gaming console 720 may have been able to provide the same app store 1175 content, it may be able to do so at a lower quality or with limitations, but the cloud-based server 1110 may be capable of providing higher quality and limitation free content generation.
The gaming console 720 may be operable to send user inputs to the cloud-based server 1110. For example, the gaming console 720 may send data representing user interaction with the physical controls, touchscreen, internal/external motion tracking components, and so on, to the cloud-based server 1110. In this way, a user may control software applications or content that is being executed on the cloud-based server 1110. The gaming console 620 may send user inputs through the network 1135. As a result, the video and audio representing the content may be displayed through the STB 1115 but controlled through the gaming console 720.
It should be appreciated that embodiments of the present invention may not require an app store. For example, an application may be already installed on the cloud-based server 1110. The cloud-based server 1110 may still provide generated video and audio related to the application to the STB 1115. Alternatively, the cloud-based server 1110 may playback media that requires stronger processing than the gaming console 720 is able to provide. For example, the cloud-based server 110 may decode a high-resolution movie that is unable to be processed by the gaming console 720 by itself, and then send video and audio related to the movie to the STB 1115 for display.
The various embodiments discussed with respect to other figures may be used with the cloud-based server 1110 and STB 1115. For example, there may be more than one gaming console, e.g.,
The cloud-based server 1110 may provide content to the second gaming console 722 simultaneously with gaming console 720. The content provided to multiple gaming consoles may be related or unrelated to each other. For example, the cloud-based server 1110 may provide a movie to the STB 1115 and provide video and graphics for a video game to the gaming consoles 720 and 722. Alternatively, the cloud-based server 1110 may provide related content to more than one gaming console. For example, the cloud-based server 1110 may provide private or statistics views to the gaming consoles 720 and 722 and a spectator view to the STB 1115.
At 1205, the method includes receiving at a handheld gaming console encoded video from a remote computing device over a communication network. The remote device is configured for executing a gaming application, wherein video is generated from the executed gaming application based on input provided by the handheld gaming console. The video is encoded into encoded video. In one embodiment, the handheld gaming console includes a housing configured for handheld manipulation and at least one controlling device exposed on the housing. Also, the handheld gaming console also includes an HD display for displaying images.
In one embodiment, the encoded video is transmitted over a wired or wireless network that couples the remote device and the handheld gaming console. That is, the handheld gaming console includes a receiver for receiving the encoded video. For instance, in one embodiment, the communication network includes a wireless access point enabling connection to the communication network. In one implementation, the communication network comprises a LAN, and the remote device is a local computing device (e.g., a home computer is coupled to a handheld gaming console operated at home). In another implementation the communication network comprises a WAN, possibly in combination with a LAN, and the remote device is a virtual machine supported by a cloud based virtual computing service. The cloud based service provides one or more high powered virtual machines suitable for processing graphics.
At 1210, the method includes decoding the encoded video. Specifically, the encoded video received at the handheld gaming console is uncompressed or decoded. For example, in one implementation the encoded video is decoded using an H.264 protocol. At 1215, the method includes displaying the decoded video on the display of the handheld gaming console. In that manner, the gaming application is executed on a remote server (e.g., locally based server, or a cloud based server) that has more processing power, yet displayed on a display of the handheld gaming console. As such, the gaming application can be more complex than applications designed for execution on a mobile platform.
At 1220, the method optionally includes generating an input originating from a controller device located on the handheld gaming console. The controller input is generated in response to an interaction with the controller device by a user. Further, at 1225, the method includes transmitting the input to the remote device over the communication network for processing. That is, the input corresponds to an instruction that is interpreted and handheld by the gaming application as executed by the remote device.
In one embodiment, the method optimally includes executing a front-end portal application on the handheld gaming console. The front-end, native application is designed to enhance a users gaming experience when using the handheld gaming console. For instance, the native application is configured to provide notification of plurality of gaming applications that are supported by the remote device as controlled by the handheld computing device. Other features of the native application have been previously described, such as, providing access to a social gaming network, listing installed gaming applications available for execution on the handheld gaming console or the remote device, etc.
Further, the method optionally includes integrating the front-end application native to the handheld gaming console with a client application executing on the remote computing device. The client application is associated with a third party content provider that provides access to a plurality of gaming applications supported by the remote device and/or the handheld gaming console, in combination. That is, the front-end application and the client application are integrated to give the end user at the handheld gaming console a seamless interface to the client application running on the remote device. For example, the client application facilitates purchasing and installation of gaming applications onto the remote device. As such, the method includes generating a selection of the gaming application or a selected gaming application at the front end portal application. The selection is intended for purchase of the gaming application. The method includes transmitting the selection of the gaming application to the client application from the front-end application. The client device is connected to the back-end content provider through a communication network, wherein the content provider provides rights to the selected gaming application, at a purchase price (including free purchase with limitations and other revenue generation possibilities). The client application facilitates purchase and installation of the gaming application on the remote device.
In one embodiment, the front-end application and the client application work together to determine the plurality of gaming applications suitable for execution on the remote device and display on the handheld gaming console. For instance, one or both of the applications determines a first configuration settings for the handheld gaming console, and determines second configuration settings for the remote device. The plurality of gaming applications is determined based on the first and second configuration settings. That is, the plurality of gaming applications is suited and/or supported for execution the gaming application on the remote device and for display on the handheld gaming console.
At 1250, the method includes executing a gaming application on a remote device. For instance, the remote device is a computing device local to a handheld gaming console, in one embodiment. In another embodiment, the remote device is a virtual machine providing by a cloud computing service.
At 1255, the method includes generating video of the gaming application at the remote device. That is, as the gaming application is executing, a resulting video stream is generated responsive to the inputs provided by the end user that is manipulating gaming controlling deices at the handheld gaming console. For instance, the handheld gaming console includes a housing configured for handheld manipulation and at least one controlling device exposed on the housing. Also, the handheld gaming console also includes an HD display for displaying images. At 1260, the video is encoded (e.g., compressed) for purposes of streaming. For example, the video is encoded using the H.264, or any suitable compression protocol.
At 1265, the method includes transmitting the encoded video to a handheld computing device over a communication network. For instance, in one embodiment, the communication network includes a wireless access point enabling connection to the communication network. In one implementation, the communication network comprises a LAN, and the remote device is a local computing device (e.g., a home computer is coupled to a handheld gaming console operated at home). In another implementation the communication network comprises a WAN, possibly in combination with a LAN, and the remote device is a virtual machine supported by a cloud based virtual computing service. The cloud based service provides one or more high powered virtual machines suitable for processing graphics.
The method includes receiving at the remote device over the communication network an input generated by an interaction with a controlling device of the handheld gaming console. The input control is transmitted from the handheld gaming console to the remote device. At the remote device, the input is translated into an instruction. In one embodiment, this is performed by the gaming application, which is configured to cross reference control inputs and instructions suitable for execution within the gaming application. As a result, the instruction is handled by the gaming application in the remote device, and the resultant video is generated. The process continues with each new input received.
As shown in
By executing the gaming application, on a server platform, no processing limitations are placed on the type of gaming application that can be enjoyed by the end user. That is, the execution of the gaming application occurs on a first electronic device, but the display of the video from that gaming application is streamed to other electronic devices, such as, a third electronic device. As such, video encoding is performed by a video encoder at the first electronic device, to encode the video into an encoded video stream that can be streamed to other devices.
A second electronic device comprising a handheld computing device 720, such as a gaming console, is communicatively coupled to the first electronic device through the network 1365. The handheld gaming console 720 shown in
In addition, a third electronic device displays the video from the gaming application. The display 1355 may be any display, for example, a large display like a flat panel HDTV, and is configured to display streaming video originating from the gaming application.
In one embodiment, the handheld gaming console 750 is configured for receiving the encoded video stream from either the locally based sever 1385 or cloud based server 1380 through the communication network 1365 where the gaming application is executed, such as through wired and/or wireless interfaces and may include local area network (LAN) and/or wide area network (WAN) options or portions. In that case, the gaming console 750 decodes the encoded video stream, and streams the decoded video stream to the third electronic device, such as, display 1355. For instance, the decoded video is delivered via an HDMI cable. In still another embodiment, the gaming console 720 delivers decoded or encoded video to the display 1355 through a wired or wireless network to the display 1355. For instance, a peer-to-peer connection may be established for the delivery of the video.
In another embodiment, the encoded video stream is delivered from either the locally based sever 1385 or cloud based server 1380 where the gaming application is executed to the third electronic device, such as, display 1355, through the communication network 1365, such as through wired and/or wireless interfaces and may include local area network (LAN) and/or wide area network (WAN) options or portions. The display 1355 is configured to decode the encoded video stream for display. In one implementation, the communication interface dongle 1310 optionally receives the encoded video that is streamed to the display 1355, decodes the encoded video stream, and sends decoded video to the display 1355.
In another embodiment, the encoded video is delivered to a third party web service (e.g., YouTube, gaming storage services, etc.) that is configured to store and provide access to the video stream generated by the gaming application. As such, the encoded video stream is delivered from either the locally based sever 1385 or cloud based server 1380 where the gaming application is executed to the third electronic device, which in this implementation is a web service. The web service is configured to handle the video stream in multiple forms (e.g., encoded, decoded, etc.).
As shown in
At 1440, a control input is received at the first electronic device over the communication network. Although the gaming application is executed at the first electronic device (e.g., server), the end user is provide control input at a second electronic device, such as, a handheld gaming console. The input is generated at the gaming console based on an interaction with at least one controlling device. The input provides an instruction that is handled by the gaming application. As such, delivery of the control input is made over a communication network communicatively coupling the first and second electronic devices.
At 1450, the method includes displaying at a third electronic device (e.g., HD display) the encoded video stream that is decoded. Various system configurations may be implemented to deliver video to the third electronic device. For instance, in one embodiment, the video is delivered via a second electronic device, such as, the gaming console. In another embodiment, the video is delivered directly from the first electronic device to the third electronic device.
In the case where the video is delivered from the second electronic device to the display, the method includes streaming the encoded video stream from the first electronic device to the second electronic device over a communication network. That is, server that is executing the gaming application delivers the encoded video stream to the gaming console. The gaming console then decodes the encoded videos stream, and delivers a decoded video stream directly to the third electronic device, such as, an HD display.
On the other hand, the video may be directly delivered to the third electronic device. In that case, the encoded video stream is delivered from the server that is executing the gaming application to the third electronic device over a communication network. The encoded video stream is decoded at the third electronic device for display. In one implementation, a communication interface dongle is used to receive the encoded video stream, decode the encoded video, and deliver decoded video to the third electronic device, such as, a display.
In one embodiment, the third electronic device comprises a web service, or web content provider. That is, the video stream is delivered to the web service for storage and access. For example, the web service may store video that is continually streaming from an end user's computer.
In one embodiment, the gaming console is configured to display a second video that is generated by the gaming application. The method includes generating first video of the gaming application at the first electronic device (e.g., server), wherein the first video comprises first information. In addition, second video of the gaming app is generated at the first electronic device. Both that first and second video are encoded by the first electronic device. In one case, the first encoded video is streamed and/or transmitted to the third electronic device (e.g., HD display) for display. The second encoded video is streamed and/or transmitted to the second electronic device or gaming console for display. For example, the first video may be the main view of the game, whereas the second video may show a secondary view (e.g., spectator view, map information, drone video, life information, HUD information, etc.), or statistics related to game play, hints related to game play, etc. For instance in a car racing gaming application, the third electronic device shows a video of a cockpit view, while the gaming console shows a view originating from rear view mirror.
In one embodiment, the second information displayed on the second electronic device is generated by a companion application executing on the second electronic device. For instance, a gaming console may execute a companion application that supports or is running in parallel with the gaming application that is executing on the first electronic device (e.g., server).
In that case, first video of the gaming application is generated at the first electronic device, and comprises first information. The first video is encoded and streamed to the third electronic device for display. In parallel, a companion application to the gaming application is executed on the second electronic device, such as, a gaming console. In particular, second video of the companion application is generated and comprises second information, wherein the companion application is executing on the second electronic device. The second video is displayed at the second electronic device, such as, the gaming console. As illustration, the companion application may provide updates to the game, or provide information related to other users who are playing the game. In one implementation, the companion application is integrated with the gaming application as executed on the first electronic device, wherein information is passed between the gaming application and the companion application that are executed on the first and second electronic devices.
As shown in
In particular, each handheld computing device 720A-N is described in relation to
As shown in
In one embodiment, the plurality of handheld computing devices generates a plurality of videos of the gaming applications, wherein execution of the gaming applications is integrated in multi-player mode. The plurality of videos operating system displayed at each of the plurality of handheld computing devices across a plurality of displays. For instance, a handheld computing device executes a corresponding gaming application, generates corresponding video, and displays that video on a corresponding display of the handheld device.
In another embodiment, the plurality of handheld computing devices generates a plurality of videos of the gaming applications, encodes the plurality of videos and streams the plurality of encoded videos to a second electronic device for display. For instance, the plurality of videos is displayed in a plurality of windows of a second electronic device such as, device 1555. In one implementation, a communication interface dongle 1510 optionally receives the encoded video that is streamed to the display 1555 from each of the plurality of handheld devices, decodes the encoded video streams, and sends decoded video to the second electronic device 1555. In one implementation, the second electronic device is a flat panel HD television. The display is configured to display the plurality of videos in a plurality of windows that are streamed from the plurality of handheld computing devices 720A-N executing a plurality of gaming applications in multi-player mode.
At 1610, the method includes executing a plurality of gaming applications at a plurality of handheld computing devices. That is, multiple players are playing the same gaming application, but in multi-player mode. Each of the plurality of handheld computing devices executes a corresponding gaming application for a corresponding end user. Each handheld computing device includes a housing configured for handheld manipulation, a processor contained within the housing that is configured for executing the gaming application, memory contained within the housing that is configured for storing executables of the gaming application, and at least one controlling device (e.g., stick, button, etc.). In particular, a corresponding handheld computing device is configured for receiving an input based on an interaction with the controlling device. The control input provides an instruction that is handled by the gaming application that is executing on the corresponding handheld computing device.
At 1620, the method includes generating a plurality of videos of the plurality of gaming applications. That is, at each handheld computing device, a corresponding gaming application is executed, and a corresponding video from that gaming application is generated. That corresponding video is associated with a particular end user playing the gaming application on the corresponding handheld computing device.
At 1630, the method includes establishing communication between the plurality of handheld computing devices over a communication network. At 1640, the method includes integrating execution of the plurality of gaming applications in a multi-player mode. That is, each of the plurality of handheld computing devices are communicatively coupled to each other to facilitate a multi-player mode. The handheld electronic devices may communicate with each other, for example, through a communication network (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.). However, the handheld computing devices may be communicatively coupled directly with one another, for example through a wireless (e.g., peer-to-peer) or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on one handheld computing device may communicate with another instance of the same game being executed on another handheld computing device to provide a multiplayer gaming experience.
At 1650, the method includes displaying the plurality of videos at the plurality of handheld computing devices. That is, the plurality of videos is displayed at each of the plurality of handheld computing devices across a plurality of displays. For instance, a handheld computing device executes a corresponding gaming application, such that the gaming application is an instantiation of a common gaming application used for multi-player gaming. The handheld computing device generates corresponding video, and displays that video on a corresponding display of the handheld device.
In another embodiment, additional content and/or video is generated that is related to the gaming applications executed in multi-player mode. For example, at one of the plurality of handheld computing devices, a second video is generated from a corresponding gaming applications executing on the corresponding handheld computing device. The second video is related to the multi-player gaming experience. For instance, the second video may provide a spectator view of the gaming application, or mapping information, or statistics, etc. the second video is encoded into an encoded video stream (e.g., following the H.264 standard), and streamed to a second electronic device over a communication network. The second electronic device decodes the encoded video stream, and displays the decoded video stream at the second electronic device (e.g., an HD display). In that particular case, the handheld computing device is still generating first video that may provide a specific player's view (e.g., cockpit view of a driving application) of a corresponding gaming application as that player is playing. That first video is displayed at the handheld computing device, as previously described.
In one embodiment, the method includes executing a front end application on the handheld gaming console, wherein the native application is associated with and supports the gaming experience surrounding the handheld computing device, such as, a gaming console. For instance, the native application is configured to provide notification of games that are supported by the corresponding handheld gaming console. In one embodiment, a selection of a game is received for purchase. A connection is made between the handheld gaming console to a third party content provider through a communication network. The third party is capable of selling the gaming application through the network. Installation of the gaming application is facilitated by the native application onto the gaming console, so that the gaming application is executable on the gaming console.
At 1710, the method includes executing a plurality of gaming applications at a plurality of handheld computing devices. That is, multiple players are playing the same gaming application, but in multi-player mode. Each of the plurality of handheld computing devices executes a corresponding gaming application for a corresponding end user. Each handheld computing device includes a housing configured for handheld manipulation, a processor contained within the housing that is configured for executing the gaming application, memory contained within the housing that is configured for storing executables of the gaming application, and at least one controlling device (e.g., stick, button, etc.). In particular, a corresponding handheld computing device is configured for receiving an input based on an interaction with the controlling device. The control input provides an instruction that is handled by the gaming application that is executing on the corresponding handheld computing device.
At 1720, the method includes generating a plurality of videos of the plurality of gaming applications. That is, at each handheld computing device, a corresponding gaming application is executed, and a corresponding video from that gaming application is generated. That corresponding video is associated with a particular end user playing the gaming application on the corresponding handheld computing device. Each of the gaming applications comprises an instantiation of a common gaming application that is executing in multi-player mode.
At 1730, the method includes establishing communication between the plurality of handheld computing devices over a communication network. At 1740, the method includes integrating execution of the plurality of gaming applications in a multi-player mode. That is, each of the plurality of handheld computing devices are communicatively coupled to each other to facilitate a multi-player mode. The handheld electronic devices may communicate with each other, for example, through a communication network (e.g., access points, LAN, WAN, internet, peer-to-peer communication, etc.). However, the handheld computing devices may be communicatively coupled directly with one another, for example through a wireless (e.g., peer-to-peer) or wired interface. As a result, the gaming consoles may cooperate with one another to support multiplayer games. For example, a game being executed on one handheld computing device may communicate with another instance of the same game being executed on another handheld computing device to provide a multiplayer gaming experience.
At 1750, the method includes displaying the plurality of videos at a second electronic device. In particular, the plurality of videos is encoded at each of the plurality of handheld computing devices to generate a plurality of encoded videos (e.g., using the H.264 format, or any other compression format). The plurality of encoded videos is streamed from the plurality of handheld computing devices to the second electronic device. The plurality of encoded videos is decoded to generate a plurality of decoded videos. In one embodiment, the decoding is performed by the second electronic device. In another embodiment, the decoding is performed by a communication interface dongle that is configured to decode encoded video, and send the decoded videos streams to the second electronic device.
In one embodiment, the plurality of decoded videos is displayed in a plurality of windows of the second electronic device. In one embodiment, the second electronic device may any type of display, for example, a large display like a flat panel HDTV, and is configured to display streaming video originating from the plurality of gaming applications
While the second electronic device shows and plays the plurality of videos generated from the plurality of executed gaming applications, one or more displays of the plurality of handheld computing devices may not display any content at all or any content related to the video game, in one embodiment. However, in another embodiment, additional content and/or video is generated that is related to the gaming applications executed in multi-player mode. For example, at one of the plurality of handheld computing devices, a second video is generated from a corresponding gaming applications executing on the corresponding handheld computing device. The second video is related to the multi-player gaming experience. For instance, the second video may provide information related to a player, such as, statistical information, taunts from other players, hints related to game play, and/or a secondary view of the application (e.g., cockpit view of the instrumentation in a driving game).
In one embodiment, the second video is displayed at the handheld computing device that generated the second video. In still another embodiment, the second video is displayed at another device, such as, the second electronic device (e.g., in another window). In that case, the second video is encoded into an encoded video stream, and streamed to the other electronic device over a communication network, where it is decoded and displayed. In still another embodiment, a third video is generated by the handheld computing device. As such, the handheld computing device generates one or more video streams, which may be streamed to one or more electronic devices for display, including the handheld computing device that generates the streams.
It should be appreciated that there may be more than one display coupled with the plurality of handheld electronic devices. For example, if the numbers of players is large, then more than one display may be required to accommodate the various videos generated by the gaming applications.
Thus, according to embodiments of the present disclosure, systems and methods are described providing for the implementation of a gaming application across one or more electronic device.
While the foregoing disclosure sets forth various embodiments using specific block diagrams, flowcharts, and examples, each block diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a wide range of hardware, software, or firmware (or any combination thereof) configurations. In addition, any disclosure of components contained within other components should be considered as examples in that many architectural variants can be implemented to achieve the same functionality.
The process parameters and sequence of steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various example methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
While various embodiments have been described and/or illustrated herein in the context of fully functional computing systems, one or more of these example embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer-readable media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. These software modules may configure a computing system to perform one or more of the example embodiments disclosed herein. One or more of the software modules disclosed herein may be implemented in a cloud computing environment. Cloud computing environments may provide various services and applications via the Internet. These cloud-based services (e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a Web browser or other remote interface. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as may be suited to the particular use contemplated.
Embodiments according to the present disclosure are thus described. While the present disclosure has been described in particular embodiments, it should be appreciated that the disclosure should not be construed as limited by such embodiments, but rather construed according to the below claims.
The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/730,940, entitled “CLOUD BASED VIRTUALZIED GRAPHICS PROCESSING FOR REMOTE DISPLAYS,” with filing date Nov. 28, 2012, and having attorney docket number NVID-P-SC-12-0727-US0, which is herein incorporated by reference in its entirety. The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/730,939, entitled “CLOUD BASED VIRTUALZIED GRAPHICS PROCESSING FOR REMOTE DISPLAYS,” with filing date Nov. 28, 2012, and having attorney docket number NVID-P-SC-12-0728-US0, which is herein incorporated by reference in its entirety. The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/749,224, entitled “NETWORK-ATTACHED GPU DEVICE,” with filing date Jan. 4, 2013, and having attorney docket number NVID-P-SC-12-0814-US0, which is herein incorporated by reference in its entirety. The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/749,231, entitled “THOR SYSTEM ARCHITECTURE,” with filing date Jan. 4, 2013, and having attorney docket number NVID-P-SC-12-0470-US0, which is herein incorporated by reference in its entirety. The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/874,056, entitled “THOR SYSTEM ARCHITECTURE,” with filing date Sep. 5, 2013, and having attorney docket number NVID-P-SC-12-0470-USX, which is herein incorporated by reference in its entirety. The present application claims priority to and the benefit of the commonly owned, provisional patent application, U.S. Ser. No. 61/874,078, entitled “NETWORK-ATTACHED GPU DEVICE,” with filing date Sep. 5, 2013, and having attorney docket number NVID-P-SC-12-0814-USX, which is herein incorporated by reference in its entirety. The present application is related to copending U.S. patent application Ser. No. 13/727,357, “VIRTUALIZED GRAPHICS PROCESSING FOR REMOTE DISPLAY,” filed on Dec. 26, 2012, with Attorney Docket No. NVID-P-SC-09-0210-US1, which is incorporated herein by reference for all purposes.
Number | Date | Country | |
---|---|---|---|
61730940 | Nov 2012 | US | |
61730939 | Nov 2012 | US | |
61749224 | Jan 2013 | US | |
61749231 | Jan 2013 | US | |
61874056 | Sep 2013 | US | |
61874078 | Sep 2013 | US |