# US 2014/0156807 A1 · Methods and apparatus for generating graphical and media displays at a client

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

- Number: US 2014/0156807 A1
- Document ID: US20140156807A1
- Status: Published application
- Kind: A1
- Application number: 14/176,604
- Filed: 2014-02-10
- Published: 2014-06-05
- Earliest claimed: 2002-03-14
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: David Robinson; Lee George Laborczfalvi; Pierre Semaan; Anil Roychoudhry; Martin Duursma; Anatoliy Panasyuk; Georgy Momchilov
- Web page: https://patentgrep.com/patent/US20140156807A1

## CPC

- H04L 65/60: Network streaming of media packets
- H04N 21/235: Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- H04N 21/42653: {for processing graphics}
- H04N 21/43072: {of multiple content streams on the same device}
- H04N 21/4782: Web browsing {, e.g. WebTV}
- H04N 21/6582: {Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number (arrangements where receivers interact with the broadcast H04H20/38)}
- H04N 21/8146: {involving graphical data, e.g. 3D object, 2D graphics}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The invention generally relates to generating a display having graphical and/or media components at a client. In one aspect, a method for generating a graphical display at a client includes transmitting output from an application program executing on a server to the client, identifying a non-textual element within the application output, retrieving a compressed data format associated with the non-textual element, and transmitting to the client the compressed data format in place of the non-textual element. In another aspect, a method for generating a media presentation at a client includes transmitting output from an application program executing on a server to the client, identifying a media stream within the application output, intercepting an original compressed data set representing at least a portion of the media stream before processing by the application program, and transmitting the original compressed data set to the client.

## Claims

### Claim at position 1

1-133. (canceled)

### Claim 134

A method of generating a media presentation at a client, comprising:
receiving, by a server, an indication of a media format supported by a client agent that executes on a client device;
determining, based on the received indication of the media format supported by the client agent, that a media format of a media stream rendered by an application program executing on the server is supported by the client device;
monitoring, by an output filter module executing on the server, the media stream rendered by the application program, the media stream comprising a compressed data set;
intercepting, by the output filter module, the compressed data set of the media stream rendered by the application program; and
transmitting, from the server, the compressed data set to the client device for decompression by the client device.

### Claim 135 (depends on 134)

The method of claim 134, further comprising:
establishing an operating mode of the server based on the received indication of the media format supported by the client agent.

### Claim 136 (depends on 134)

The method of claim 134, further comprising:
receiving, by the server, a list of media formats supported by the client agent, the list corresponding to one or more external codecs installed on the client.

### Claim 137 (depends on 134)

The method of claim 134, further comprising:
monitoring, by the output filter module, calls made to an operating system of the server.

### Claim 138 (depends on 134)

The method of claim 134, further comprising:
detecting, by the output filter module, a display command from the application program executing on the server.

### Claim 139 (depends on 134)

The method of claim 134, further comprising:
determining, by the output filter module, that the media stream generated by the application program comprises a bitmap representation of a non-textual element.

### Claim 140 (depends on 134)

The method of claim 134, further comprising:
determining, by the server, that the media stream comprises a decompressed data set; and
compressing, by the server, the decompressed data set into a media format supported by the client device.

### Claim 141 (depends on 134)

The method of claim 134, further comprising:
transmitting, to the client device, information for locating images of the media stream on a display screen.

### Claim 142 (depends on 134)

The method of claim 134, further comprising:
identifying, by the server, timing information associated with the media stream; and
transmitting, by the server, the timing information to the client device.

### Claim 143 (depends on 134)

The method of claim 134, further comprising:
transmitting, by the server to the client device, non-media graphical information of the media stream, the non-media graphical information and a decompressed version of the compressed data set used to generate a media presentation at the client device.

### Claim 144

A system for generation of a media presentation at a client, comprising:
a server configured to:
receive an indication of a media format supported by a client agent that executes on a client device; and
determine, based on the received indication of the media format supported by the client agent, that a media format of a media stream rendered by an application program executing on the server is supported by the client device; and
an output filter module executing on the server configured to:
monitor the media stream rendered by the application program, the media stream comprising a compressed data set;
intercept the compressed data set of the media stream rendered by the application program; and
transmitting, from the server, the compressed data set to the client device for decompression by the client device.

### Claim 145 (depends on 144)

The system of claim 144, wherein the server is further configured to:
establish an operating mode of the server based on the received indication of the media format supported by the client agent.

### Claim 146 (depends on 144)

The system of claim 144, wherein the server is further configured to:
receive a list of media formats supported by the client agent, the list corresponding to one or more external codecs installed on the client.

### Claim 147 (depends on 144)

The system of claim 144, wherein the output filter module is further configured to:
monitor calls made to an operating system of the server.

### Claim 148 (depends on 144)

The system of claim 144, wherein the output filter module is further configured to:
detect a display command from the application program executing on the server.

### Claim 149 (depends on 144)

The system of claim 144, wherein the output filter module is further configured to:
determine that the media stream generated by the application program comprises a bitmap representation of a non-textual element.

### Claim 150 (depends on 144)

The system of claim 144, wherein the server is further configured to:
determine that the media stream comprises a decompressed data set; and
compress the decompressed data set into a media format supported by the client device.

### Claim 151 (depends on 144)

The system of claim 144, wherein the server is further configured to:
transmit, to the client device, information for locating images of the media stream on a display screen.

### Claim 152 (depends on 144)

The system of claim 144, wherein the server is further configured to:
identify timing information associated with the media stream; and
transmit the timing information to the client device.

### Claim 153 (depends on 144)

The system of claim 144, wherein the server is further configured to:
transmit, to the client device, non-media graphical information of the media stream, the non-media graphical information and a decompressed version of the compressed data set used to generate a media presentation at the client device.
