# US 9,712,589 B2 · System and method for playing a video on mobile web environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,712,589 B2
- Document ID: US9712589B2
- Status: Granted
- Kind: B2
- Application number: 14/631,007
- Filed: 2015-02-25
- Published: 2016-08-25
- Granted: 2017-07-18
- Earliest claimed: 2015-02-25
- Assignees: ironSource Ltd.
- Applicants: StreamRail Ltd.
- Inventors: Or Hiltch; Guy Zipori
- Web page: https://patentgrep.com/patent/US9712589B2

## CPC

- H04L 65/764: {at the destination (reformatting of additional data in video clients H04N21/4355)}
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04N 1/6002: {Corrections within particular colour systems}
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and mobile computing device for auto-playing a video clip within a web environment of a mobile computing device are provided. The method comprises including an auto-play script in a webpage downloaded to the web environment, wherein the web environment is disabled to auto-play video clips; and executing the auto-play script within the web environment, wherein the execution of the auto-play script causes at least: receiving the video clip from an external source and automatically playing the video clip in the web environment.

## Claims

### Claim 1

A method for auto-playing a video clip within a web environment of a mobile computing device, comprising:
including an auto-play script in a webpage downloaded to the web environment, wherein the web environment is disabled to auto-play video clips; and
executing the auto-play script within the web environment, wherein the execution of the auto-play script causes at least: receiving the video clip from an external source and automatically playing the video clip in the web environment.

### Claim 2 (depends on 1)

The method of claim 1, wherein executing the auto-play script within the web environment further comprises:
receiving a set of parameters related to the video clip;
downloading video bytes of the video clip from the external resource;
parsing the downloaded video bytes to detect at least encoded video frames;
decoding the encoded video frames using an emulated video decoder; and
rendering the decoded video frames into the web environment.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
determining a video format of the video clip;
using the emulated video decoder respective of the determined video format.

### Claim 4 (depends on 2)

The method of claim 2, wherein rendering the decoded video frames into the web environment is performed using an HTML5 canvas tag.

### Claim 5 (depends on 2)

The method of claim 2, wherein the emulated video decoder is coded using a scripting programming language.

### Claim 6 (depends on 5)

The method of claim 5, wherein the auto-play script is coded using a scripting programming language, wherein the scripting programming language is at least a JavaScript.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
determining if a color space of the decoded video frames is a YUV color space; and
converting the decoded video frames having a YUV color space into a RGB color space, upon determining if the color space of the decoded video frames is a YUV color space.

### Claim 8 (depends on 7)

The method of claim 7, wherein converting the decoded video frames from the YUV color space into the RGB color space further comprises:
performing a WebGL conversion.

### Claim 9 (depends on 8)

The method of claim 8, wherein performing the WebGL conversion further comprises:
creating a YUV WebGL canvas object;
instantiating a WebGL context with a shader program;
segmenting, using the object, each decoded video frame into YUV components;
performing, using the object, a red-green-blue (RGB) transformation of the YUV components, wherein the RGB transformation results in RGB images;
rendering video using the RGB images.

### Claim 10 (depends on 9)

The method of claim 9, wherein the rendering of the RGB images further comprises: repetitively rendering RGB images into a HTML5 canvas.

### Claim 11 (depends on 1)

The method of claim 1, wherein the web environment includes any one of: a web browser, a mobile application, a web application, and a native application.

### Claim 12

A non-transitory computer readable medium having stored thereon instructions for causing one or more processing units to execute a process for auto-playing a video Clip within a web environment of a mobile computing device, the process comprising:
including an auto-play script in a webpage downloaded to the web environment, wherein the web environment is disabled to auto-play video clips; and
executing the auto-play script within the web environment, wherein the execution of the auto-play script causes at least: receiving the video clip from an external source and automatically playing the video clip in the web environment.

### Claim 13

A mobile computing device, comprising:
at least one processor; and
a memory, the memory containing instructions that, when executed by the at least one processor, configure the mobile computing device to:
include an auto-play script in a webpage downloaded to a web environment, wherein the web environment is disabled to auto-play video clips; and
execute the auto-play script within the web environment,
wherein the execution of the auto-play script by the at least one processor causes at least: receiving the video clip from an external source and automatically playing the video clip in the web environment.

### Claim 14 (depends on 13)

The mobile computing device of claim 13, wherein the mobile computing device is further configured to:
receive a set of parameters related to the video clip;
download video bytes of the video clip from the external resource;
parse the downloaded video bytes to detect at least encoded video frames;
decode the encoded video frames using an emulated video decoder; and
render the decoded video frames into the web environment.

### Claim 15 (depends on 13)

The mobile computing device of claim 13, wherein the mobile computing device is further configured to:
determine a video format of the video clip;
use the emulated video decoder respective of the determined video format.

### Claim 16 (depends on 14)

The mobile computing device of claim 14, wherein rendering the decoded video frames into the web environment is performed using an HTML5 canvas tag.

### Claim 17 (depends on 16)

The mobile computing device of claim 16, wherein the emulated video decoder is coded using a scripting programming language.

### Claim 18 (depends on 17)

The mobile computing device of claim 17, wherein the auto-play script is coded using a scripting programming language, wherein the scripting programming language is at least a JavaScript.

### Claim 19 (depends on 14)

The mobile computing device of claim 14, wherein the mobile computing device is further configured to:
determine if a color space of the decoded video frames is a YUV color space;
convert the decoded video frames having a YUV color space into a RGB color space, upon determining if the color space of the decoded video frames is a YUV color space.

### Claim 20 (depends on 19)

The mobile computing device of claim 19, wherein the mobile computing device is further configured to: perform a WebGL conversion to convert the decoded video frames having a YUV color space into a RGB color space.

### Claim 21 (depends on 20)

The mobile computing device of claim 20, wherein the mobile computing device is further configured to:
create a YUV WebGL canvas object;
instantiate a WebGL context with a shader program;
segment, using the object, each decoded video frame into YUV components;
perform, using the object, a red-green-blue (RGB) transformation of the YUV components, wherein the RGB transformation results in RGB images;
render video using the RGB images.

### Claim 22 (depends on 21)

The mobile computing device of claim 21, wherein the mobile computing device is further configured to:
repetitively render RGB images into a HTML5 canvas.

### Claim 23 (depends on 13)

The mobile computing device of claim 13, wherein the web environment includes any one of: a web browser, a mobile application, a web application, and a native application.
