US2018270496A1PendingUtilityA1
Composite video streaming using stateless compression
Est. expiryOct 19, 2030(~4.3 yrs left)· nominal 20-yr term from priority
Inventors:Julian Michael Urbach
H04N 19/507G06F 40/166H04N 19/61G06F 17/2247G06F 17/24H04N 21/234G06F 40/143
55
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A video rendering and streaming methodology that utilizes stateless video compression and video image segmentation to achieve enhanced video compression. In some implementations, the video compression and streaming techniques described herein can be deployed to allow for delivery of high-definition video games to client devices that host a standard browser.
Claims
exact text as granted — not AI-modified1 - 16 . (canceled)
17 . A method comprising:
executing, by a processor, an application that provides a video output for transmission to a client; generating, by the processor, the video output of the application, the video output comprising a video image, the video image comprising at least a target frame region and one or more positional frame regions adjacent to the target frame region; rendering, by the processor, a plurality of video streams corresponding to the video image, each of the video streams corresponding to a respective region of the video image; rendering, by the processor, a movement of the target frame region relative to the video image in relation to changes to the one or more positional frame regions; and transmitting, by the processor, the plurality of video streams corresponding to the rendered target frame region and rendered one or more positional frame regions to the client.
18 . The method of claim 17 , further comprising:
encoding, by the processor, a plurality of video frames of the plurality of video streams using a stateless compression format.
19 . The method of claim 18 , wherein the stateless compression format is a mjepeg format.
20 . The method of claim 17 , wherein transmitting the plurality of video streams to the client is via a plurality of socket connections associated with the client.
21 . The method of claim 20 , wherein the plurality of socket connections are Transmission Control Protocol (TCP) socket connections.
22 . The method of claim 17 , further comprising:
dividing, by the processor, a full video frame corresponding to the video image into a plurality of frame regions.
23 . The method of claim 22 , wherein each of the divided frame regions corresponds to a respective one of a plurality of socket connections.
24 . The method of claim 23 , wherein the number of divided frame regions corresponding to the number of the plurality of socket connections.
25 . The method of claim 22 , wherein the divided frame regions comprise the target frame region and the one or more positional frame regions positioned and rendered adjacent to the target frame region.
26 . The method of claim 22 , wherein the divided frame regions comprise frame regions rendered as background images.
27 . The method of claim 26 , wherein the one or more positional frame regions are rendered as transparent frames overlayed on the frame regions rendered as the background images.
28 . The method of claim 17 , wherein the one or more positional frame regions are in the same layer as the target frame region.
29 . The method of claim 17 , wherein the target frame is used to render a main or predominant object in a scene.
30 . The method of claim 17 , wherein rendering a movement of the target frame region is by transmitting transparent video frame data of a selected height and width as a mjpeg stream.
31 . The method of claim 17 , wherein the changes to the one or more positional frame regions comprise changes to a height or width of the one or more positional frame regions.
32 . The method of claim 31 , wherein determining changes to the one or more positional frame comprises:
computing, by the processor, based on a target object rendered in the target frame region, positional parameters for the target frame region; and determining, by the processor, based on the positional parameters, the height or width of the one or more positional frame regions.
33 . An apparatus, comprising:
one or more processors; a memory; a network interface; and computer program code stored in a non-transitory computer-readable storage medium and comprising computer-executable instructions for: executing an application that provides a video output for transmission to a client; generating the video output of the application, the video output comprising a video image, the video image comprising at least a target frame region and one or more positional frame regions adjacent to the target frame region; rendering a plurality of video streams corresponding to the video image, each of the video streams corresponding to a respective region of the video image; rendering a movement of the target frame region relative to the video image in relation to changes to the one or more positional frame regions; and transmitting the plurality of video streams corresponding to the rendered target frame region and rendered one or more positional frame regions to the client.
34 . The apparatus of claim 33 , wherein the computer program code further comprises instructions for:
encoding a plurality of video frames of the plurality of video streams using a stateless compression format.
35 . The apparatus of claim 33 , wherein the computer program code further comprises instructions for:
dividing a full video frame corresponding to the video image into a plurality of frame regions.
36 . The method of claim 35 , wherein each of the divided frame regions corresponds to a respective one of a plurality of socket connections.
37 . A non-transitory computer readable storage medium, having stored thereon, processor-executable instructions for:
executing an application that provides a video output for transmission to a client; generating the video output of the application, the video output comprising a video image, the video image comprising at least a target frame region and one or more positional frame regions adjacent to the target frame region; rendering a plurality of video streams corresponding to the video image, each of the video streams corresponding to a respective region of the video image; rendering a movement of the target frame region relative to the video image in relation to changes to the one or more positional frame regions; and transmitting the plurality of video streams corresponding to the rendered target frame region and rendered one or more positional frame regions to the client.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.