Patents by Inventor Mark E. Cerny

Mark E. Cerny has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20210241415
    Abstract: A method for graphics processing. The method including rendering graphics for an application using a plurality of graphics processing units (GPUs). The method including using the plurality of GPUs in collaboration to render an image frame including a plurality of pieces of geometry. The method including during a pre-pass phase of rendering, generating information at the GPUs regarding the plurality of pieces of geometry and their relation to a plurality of screen regions. The method including assigning the plurality of screen regions to the plurality of GPUs based on the information for purposes of rendering the plurality of pieces of geometry in a subsequent phase of rendering.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventors: Mark E. Cerny, Tobias Berghoff, David Simpson
  • Publication number: 20210241413
    Abstract: A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for the rendering of the previous image frame. Second pieces of geometry of a current image frame are assigned based on the statistics to the GPUs for geometry testing. Geometry testing at a current image frame on the second pieces of geometry is performed to generate information regarding each piece of geometry and its relation to each screen region, the geometry testing performed at each of the GPUs based on the assigning. The information generated for the second pieces of geometry is used when rendering the geometry at the GPUs.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventors: Mark E. Cerny, Florian Strauss, Tobias Berghoff
  • Publication number: 20210236928
    Abstract: A method for executing a game by a computing system that uses a central processing unit (CPU) and graphics processing unit (GPU) for generating video frames. A draw call is generated for a video frame by the CPU. At bind time, i.e. writing of the GPU commands by the CPU using a GPU API, asset aware data (AAD) is written to the command buffer, and loading of one or more level of detail (LOD) data from an asset store to system memory is requested. The GPU executes the draw call for the frame using LOD data written to the system memory, the GPU using at least a minimum of LOD data based on the AAD. Additionally, the GPU uses information regarding the LOD load state when executing the draw call, in order to avoid access to LODs not yet loaded.
    Type: Application
    Filed: April 20, 2021
    Publication date: August 5, 2021
    Inventor: Mark E. Cerny
  • Publication number: 20210241416
    Abstract: A method for graphics processing. The method including rendering graphics for an application using graphics processing units (GPUs). The method including using the plurality of GPUs in collaboration to render an image frame including a plurality of pieces of geometry. The method including during the rendering of the image frame, subdividing one or more of the plurality of pieces of geometry into smaller pieces, and dividing the responsibility for rendering these smaller portions of geometry among the plurality of GPUs, wherein each of the smaller portions of geometry is processed by a corresponding GPU. The method including for those pieces of geometry that are not subdivided, dividing the responsibility for rendering the pieces of geometry among the plurality of GPUs, wherein each of these pieces of geometry is processed by a corresponding GPU.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventor: Mark E. Cerny
  • Publication number: 20210241414
    Abstract: A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. A plurality of pieces of geometry of an image frame is assigned to the GPUs for geometry testing. A first GPU state configuring one or more shaders to perform the geometry testing is set. Geometry testing is performed at GPUs on the plurality of pieces of geometry to generate information regarding each piece of geometry and its relation to each of the plurality of screen regions. A second GPU state configuring the one or more shaders to perform rendering is set. The information generated for each of the plurality of pieces of geometry is used when rendering the plurality of pieces of geometry at the GPUs.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventors: Mark E. Cerny, Florian Strauss, Tobias Berghoff
  • Publication number: 20210241411
    Abstract: A method for graphics processing including rendering graphics for an application using a plurality of graphics processing units (GPUs). The method including dividing responsibility for rendering geometry of the graphics between the GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known to the GPUs. The method including determining a Z-value for a piece of geometry during a pre-pass phase of rendering at a first GPU for an image, wherein the piece of geometry overlaps a first screen region for which the first GPU has a division of responsibility. The method including comparing the Z-value against a Z-buffer value for the piece of geometry. The method including generating information including a result of the comparing the Z-value against the Z-buffer value for use by the GPU when rendering the piece of geometry during a full render phase of rendering.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventors: Mark E. Cerny, Florian Strauss, Tobias Berghoff
  • Publication number: 20210241410
    Abstract: A method for graphics processing. The method including rendering graphics for an application using a plurality of graphics processing units (GPUs). The method including dividing responsibility for the rendering geometry of the graphics between the plurality of GPUs based on a plurality of screen regions, each GPU having a corresponding division of the responsibility which is known to the plurality of GPUs. The method including generating information regarding a piece of geometry with respect to a first screen region for which a first GPU has a first division of responsibility, while rendering the piece of geometry at a second GPU for an image. The method including rendering the piece of geometry at the first GPU using the information.
    Type: Application
    Filed: February 3, 2020
    Publication date: August 5, 2021
    Inventors: Mark E. Cerny, Florian Strauss, Tobias Berghoff
  • Patent number: 11080814
    Abstract: A method including rendering graphics for an application using graphics processing units (GPUs). Responsibility for rendering of geometry is divided between GPUs based on screen regions, each GPU having a corresponding division of the responsibility which is known. First pieces of geometry are rendered at the GPUs during a rendering phase of a previous image frame. Statistics are generated for the rendering of the previous image frame. Second pieces of geometry of a current image frame are assigned based on the statistics to the GPUs for geometry testing. Geometry testing at a current image frame on the second pieces of geometry is performed to generate information regarding each piece of geometry and its relation to each screen region, the geometry testing performed at each of the GPUs based on the assigning. The information generated for the second pieces of geometry is used when rendering the geometry at the GPUs.
    Type: Grant
    Filed: February 3, 2020
    Date of Patent: August 3, 2021
    Assignee: Sony Interactive Entertainment Inc.
    Inventors: Mark E. Cerny, Florian Strauss, Tobias Berghoff
  • Publication number: 20210228983
    Abstract: A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency. The server VSYNC signal corresponding to generation of video frames during frame periods for the server VSYNC frequency. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending compressed video frames from the server to the client over a network using the server VSYNC signal, wherein the compressed video frames are based on the generated video frames. The method including decoding and displaying, at the client, the compressed video frames. The method including analyzing the timing of one or more client operations to adjust the relative timing between the server VSYNC signal and the client VSYNC signal, as the client receives the compressed video frames.
    Type: Application
    Filed: April 13, 2021
    Publication date: July 29, 2021
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Patent number: 11020661
    Abstract: A method of cloud gaming is disclosed. The method including receiving an encoded video frame at a client, wherein a server executes an application to generate a rendered video frame which is then encoded at an encoder at the server as the encoded video frame, wherein the encoded video frame includes one or more encoded slices that are compressed. The method including decoding the one or more encoded slices at a decoder of the client to generate one or more decoded slices. The method including rendering the one or more decoded slices for display at the client. The method including begin displaying the one or more decoded slices that are rendered before fully receiving the one or more encoded slices at the client.
    Type: Grant
    Filed: November 26, 2019
    Date of Patent: June 1, 2021
    Assignee: Sony Interactive Entertainment Inc.
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Patent number: 10981059
    Abstract: A method for executing a game by a computing system that uses a central processing unit (CPU) and graphics processing unit (GPU) for generating video frames. A draw call is generated for a video frame by the CPU. At bind time, i.e. writing of the GPU commands by the CPU using a GPU API, asset aware data (AAD) is written to the command buffer, and loading of one or more level of detail (LOD) data from an asset store to system memory is requested. The GPU executes the draw call for the frame using LOD data written to the system memory, the GPU using at least a minimum of LOD data based on the AAD. Additionally, the GPU uses information regarding the LOD load state when executing the draw call, in order to avoid access to LODs not yet loaded.
    Type: Grant
    Filed: July 3, 2019
    Date of Patent: April 20, 2021
    Assignee: Sony Interactive Entertainment LLC
    Inventor: Mark E. Cerny
  • Patent number: 10974142
    Abstract: A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency. The server VSYNC signal corresponding to generation of video frames during frame periods for the server VSYNC frequency. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending compressed video frames from the server to the client over a network using the server VSYNC signal, wherein the compressed video frames are based on the generated video frames. The method including decoding and displaying, at the client, the compressed video frames. The method including analyzing the timing of one or more client operations to adjust the relative timing between the server VSYNC signal and the client VSYNC signal, as the client receives the compressed video frames.
    Type: Grant
    Filed: November 26, 2019
    Date of Patent: April 13, 2021
    Assignee: Sony Interactive Entertainment Inc.
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Publication number: 20210099713
    Abstract: A method for encoding including executing game logic built on a game engine of a video game at a cloud gaming server to generate video frames. The method including executing scene change logic to predict a scene change in the video frames based on game state collected during execution of the game logic. The method including identifying a range of video frames that is predicted to include the scene change. The method including generating a scene change hint using the scene change logic, wherein the scene change hint identifies the range of video frames, wherein the range of video frames includes a first video frame. The method including delivering the first video frame to an encoder. The method including sending the scene change hint from the scene change logic to the encoder. The method including encoding the first video frame as an I-frame based on the scene change hint.
    Type: Application
    Filed: September 29, 2020
    Publication date: April 1, 2021
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Publication number: 20210093957
    Abstract: A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including scanning-in the video frame to an encoder at the server scanline-by-scanline. The method including encoding one or more encoder slices as one or more encoded slices at the encoder, wherein each encoded slice is delivered to a buffer at an encoder fill rate. The method including draining a first encoded slice from the buffer to stream the first encoded slice at a buffer drain rate over a network to a client, wherein the first encoded slice is streamed over the network before fully encoding the one or more slices of the video frame.
    Type: Application
    Filed: August 24, 2020
    Publication date: April 1, 2021
    Inventors: Kelvin M. Yong, Mark E. Cerny
  • Publication number: 20210093958
    Abstract: A method for cloud gaming. The method including receiving one or more encoded slices of a video frame at a client, wherein the video frame was generated at a server while executing a video game, and encoded by an encoder at the server into the one or more encoded slices. The method including decoding a first encoded slice at a decoder of the client before fully receiving the one or more encoded slices of the video frame.
    Type: Application
    Filed: August 24, 2020
    Publication date: April 1, 2021
    Inventors: Kelvin M. Yong, Mark E. Cerny
  • Publication number: 20210093959
    Abstract: A method for cloud gaming. The method including generating a plurality of video frames when executing a video game at a cloud gaming server. The method including encoding the plurality of video frames at an encoder bit rate, wherein the plurality of video frames that is compressed is transmitted to a client from a streamer of the cloud gaming server. The method including measuring a maximum receive bandwidth of a client. The method including monitoring the encoding of the plurality of video frames at the streamer. The method including dynamically tuning a parameter of the encoder based on the monitoring of the encoding.
    Type: Application
    Filed: August 31, 2020
    Publication date: April 1, 2021
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Publication number: 20210093965
    Abstract: A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency. The server VSYNC signal corresponding to generation of video frames during frame periods for the server VSYNC frequency. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending compressed video frames from the server to the client over a network using the server VSYNC signal, wherein the compressed video frames are based on the generated video frames. The method including decoding and displaying, at the client, the compressed video frames. The method including analyzing the timing of one or more client operations to adjust the relative timing between the server VSYNC signal and the client VSYNC signal, as the client receives the compressed video frames.
    Type: Application
    Filed: November 26, 2019
    Publication date: April 1, 2021
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Publication number: 20210093961
    Abstract: A method for cloud gaming. The method including generating a video frame when executing a video game at a server. The method including performing a scan-out process by scanning the video frame scanline-by-scanline and one or more user interface features scanline-by-scanline to one or more input frame buffers, and compositing and blending the video frame and the one or more user interface features into a modified video frame. The method including scanning in the scan-out process the modified video frame to an encoder at the server scanline-by-scanline The method including beginning in the scan-out process scanning the video frame and the one or more user interface features to the one or more input frame buffers at a corresponding flip-time for the video frame.
    Type: Application
    Filed: August 31, 2020
    Publication date: April 1, 2021
    Inventors: Roelof Roderick Colenbrander, Mark E. Cerny
  • Publication number: 20210093966
    Abstract: A method is disclosed including setting, at a server, a server VSYNC signal to a server VSYNC frequency defining a plurality of frame periods. The server VSYNC signal corresponding to generation of a plurality of video frames at the server during the plurality of frame periods. The method including setting, at a client, a client VSYNC signal to a client VSYNC frequency. The method including sending a plurality of compressed video frames based on the plurality of video frames from the server to the client over a network using the server VSYNC signal. The method including decoding and displaying, at the client, the plurality of compressed video frames. The method including analyzing the timing of one or more client operations to set the amount of frame buffering used by the client, as the client receives the plurality of compressed video frames.
    Type: Application
    Filed: November 26, 2019
    Publication date: April 1, 2021
    Inventors: Mark E. Cerny, Kelvin M. Yong
  • Publication number: 20210096917
    Abstract: A method for graphics processing, wherein a graphics processing unit (GPU) resource is allocated among applications, such that each application is allocated a set of time slices. Commands of draw calls are loaded to rendering command buffers in order to render an image frame for a first application. The commands are processed by the GPU resource within a first time slice allocated to the first application. The method including determining at least one command has not been executed at an end of the first time slice. The method including halting execution of commands, wherein remaining one or more commands are not processed in the first time slice. A GPU configuration is preserved for the commands after processing a last executed command, the GPU configuration used when processing in a second time slice the remaining commands.
    Type: Application
    Filed: September 30, 2019
    Publication date: April 1, 2021
    Inventor: Mark E. Cerny