# US 9,438,858 B1 · Techniques for sharing image data remotely

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

- Number: US 9,438,858 B1
- Document ID: US9438858B1
- Status: Granted
- Kind: B1
- Application number: 14/825,200
- Filed: 2015-08-13
- Granted: 2016-09-06
- Earliest claimed: 2015-08-13
- Assignees: Bandwidth.com, Inc.
- Applicants: Bandwidth.com, Inc.
- Inventors: Courtney Evans; Daniel Goslen
- Web page: https://patentgrep.com/patent/US9438858B1

## CPC

- H04N 7/15: Conference systems
- H04L 65/4015: {where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference}
- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04N 7/155: {involving storage of or access to video conference sessions (tracking arrangements for later retrieval of a computer conference content or participants activities H04L12/1831)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques are disclosed for sharing image data in a collaborative environment. In a network based server situated in an Internet Protocol (IP) based packet data network, a request may be received for a session ID from an image capture requesting device via a networked connection. The network based server may return a session ID to the image capture requesting device. The network based server may then receive image data indicative of a whiteboard and including marked corners. The image data may further comprise metadata including the session ID. The network based server may then process the received image, the processing including a rasterization process and a vectorization process. The network based server may then create a snapshot comprising the received image data, the rasterized image data, the vectorized image data, and the metadata. The network based server may then receive an access request for a snapshot associated with a session ID from a media consumption requesting device via a networked connection and provide access to the snapshot to the media consumption requesting device.

## Claims

### Claim 1

A method comprising:
in a network based server situated in an Internet Protocol (IP) based packet data network:
receiving a request for a session ID from an image capture requesting device via a networked connection;
returning a session ID to the image capture requesting device;
receiving original image data, the original image data indicative of a whiteboard, the whiteboard including calibration markers, the image data further comprising metadata, the metadata including the session ID;
processing the received original image data, the processing including a rasterization process resulting in rasterized image data and a vectorization process on the rasterized image data resulting in vectorized image data;
creating a snapshot comprising the received image data, the rasterized image data, the vectorized image data, and the metadata;
storing the snapshot;
receiving an access request for a snapshot associated with a session ID from a media consumption requesting device via a networked connection; and
providing access to the snapshot corresponding to the session ID to the media consumption requesting device.

### Claim 2 (depends on 1)

The method of claim 1, the rasterization process comprising:
removing noise within the original image data;
smoothing the original image data;
finding an edgemap within the original image data;
locating the calibration markers of the original image data via corner prediction;
creating a transformation matrix using the calibration markers; and
performing a matrix multiplication on the original image to adjust the perspective of the original image data.

### Claim 3 (depends on 2)

The method of claim 2, the vectorization process comprising:
converting the rasterized image data to uncompressed bitmap image data;
converting the bitmap image data to vectorized image data by:
performing path decomposition, turn policies, despeckling, polygon generation and penalty assignments, and smoothing and corner analysis resulting in scalable vector graphic image data.

### Claim 4 (depends on 1)

The method of claim 1, the networked connection comprising one of an 802.11 WiFi network connection, a cellular network connection, an 802.16 WiMax network connection, a wireless network connection operating within a frequency range of 100 MHz and 700 MHz, and a wireless network connection operating within a frequency range of 3.5 GHz and 3.7 GHz.

### Claim 5 (depends on 2)

The method of claim 2, the cellular networked connection utilizing an IP protocol based on one of a General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), Evolution-Data Optimized (EV-DO), High Speed Packet Data (HSPD), High Speed Downlink Packet Access (HSPDA), Long-Term Evolution (LTE), Voice-over Long-Term Evolution (VoLTE), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), or High Rate Packet Data (HRPD).

### Claim 6

A network based server situated in an Internet Protocol (IP) based packet data network, comprising:
a memory unit for storing code;
at least one processor for executing the stored code to:
receive a request for a session ID from an image capture requesting device via a networked connection;
return a session ID to the image capture requesting device;
receive original image data, the original image data indicative of a whiteboard, the whiteboard including calibration markers, the image data further comprising metadata, the metadata including the session ID;
process the received original image data, the processing including a rasterization process resulting in rasterized image data and a vectorization process on the rasterized image data resulting in vectorized image data;
create a snapshot comprising the received image data, the rasterized image data, the vectorized image data, and the metadata;
store the snapshot;
receive an access request for a snapshot associated with a session ID from a media consumption requesting device via a networked connection; and
provide access to the snapshot corresponding to the session ID to the media consumption requesting device.

### Claim 7 (depends on 6)

The network based server of claim 6, the rasterization process comprising:
removing noise within the original image data;
smoothing the original image data;
finding an edgemap within the original image data;
locating the calibration markers of the original image data via corner prediction;
creating a transformation matrix using the calibration markers; and
performing a matrix multiplication on the original image to adjust the perspective of the original image data.

### Claim 8 (depends on 7)

The network based server of claim 7, the vectorization process comprising:
converting the rasterized image data to uncompressed bitmap image data;
converting the bitmap image data to vectorized image data by:
performing path decomposition, turn policies, despeckling, polygon generation and penalty assignments, and smoothing and corner analysis resulting in scalable vector graphic image data.

### Claim 9 (depends on 6)

The network based server of claim 6, the networked connection comprising one of an 802.11 WiFi network connection, a cellular network connection, an 802.16 WiMax network connection, a wireless network connection operating within a frequency range of 100 MHz and 700 MHz, and a wireless network connection operating within a frequency range of 3.5 GHz and 3.7 GHz.

### Claim 10 (depends on 9)

The network based server of claim 9, the cellular networked connection utilizing an IP protocol based on one of a General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), Evolution-Data Optimized (EV-DO), High Speed Packet Data (HSPD), High Speed Downlink Packet Access (HSPDA), Long-Term Evolution (LTE), Voice-over Long-Term Evolution (VoLTE), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), or High Rate Packet Data (HRPD).

### Claim 11

At least one non-transitory machine-readable medium comprising a set of instructions that in response to being executed on a computing device cause the computing device to:
receive a request for a session ID from an image capture requesting device via a networked connection;
return a session ID to the image capture requesting device;
receive original image data, the original image data indicative of a whiteboard, the whiteboard including calibration markers, the image data further comprising metadata, the metadata including the session ID;
process the received original image data, the processing including a rasterization process resulting in rasterized image data and a vectorization process on the rasterized image data resulting in vectorized image data;
create a snapshot comprising the received image data, the rasterized image data, the vectorized image data, and the metadata;
store the snapshot;
receive an access request for a snapshot associated with a session ID from a media consumption requesting device via a networked connection; and
provide access to the snapshot corresponding to the session ID to the media consumption requesting device.

### Claim 12 (depends on 11)

The at least one non-transitory machine-readable medium of claim 11, wherein the rasterization process comprises instructions that in response to being executed on the computing device cause the computing device to:
remove noise within the original image data;
smooth the original image data;
find an edgemap within the original image data;
locate the calibration markers of the original image data via corner prediction;
create a transformation matrix using the calibration markers; and
perform a matrix multiplication on the original image to adjust the perspective of the original image data.

### Claim 13 (depends on 11)

The at least one non-transitory machine-readable medium of claim 11, wherein the vectorization process comprises instructions that in response to being executed on the computing device cause the computing device to:
convert the rasterized image data to uncompressed bitmap image data;
convert the bitmap image data to vectorized image data by:
performing path decomposition, turn policies, despeckling, polygon generation and penalty assignments, and smoothing and corner analysis resulting in scalable vector graphic image data.

### Claim 14 (depends on 11)

The at least one non-transitory machine-readable medium of claim 11, wherein the networked connection comprises one of an 802.11 WiFi network connection, a cellular network connection, an 802.16 WiMax network connection, a wireless network connection operating within a frequency range of 100 MHz and 700 MHz, and a wireless network connection operating within a frequency range of 3.5 GHz and 3.7 GHz.

### Claim 15 (depends on 14)

The at least one non-transitory machine-readable medium of claim 14, wherein the cellular networked connection utilizes an IP protocol based on one of a General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), Evolution-Data Optimized (EV-DO), High Speed Packet Data (HSPD), High Speed Downlink Packet Access (HSPDA), Long-Term Evolution (LTE), Voice-over Long-Term Evolution (VoLTE), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), or High Rate Packet Data (HRPD).
