# US 10,482,570 B2 · Memory allocation for seamless media content presentation

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

- Number: US 10,482,570 B2
- Document ID: US10482570B2
- Status: Granted
- Kind: B2
- Application number: 15/716,234
- Filed: 2017-09-26
- Published: 2019-03-28
- Granted: 2019-11-19
- Earliest claimed: 2017-09-26
- Assignees: Disney Enterprises, Inc.
- Applicants: Disney Enterprises, Inc.
- Inventors: Kenneth J. Mitchell; Charalampos Koniaris; Floyd M. Chitalu
- Web page: https://patentgrep.com/patent/US10482570B2

## CPC

- G06F 9/5016: {the resource being the memory}
- G06T 1/60: Memory management
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 9/5044: {considering hardware capabilities}
- G06F 12/0802: Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G02B 2027/014: {comprising information/image processing systems}
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G02B: OPTICAL ELEMENTS, SYSTEMS OR APPARATUS

## Abstract

A system for performing memory allocation for seamless media content presentation includes a computing platform having a CPU, a GPU having a GPU memory, and a main memory storing a memory allocation software code. The CPU executes the memory allocation software code to transfer a first dataset of media content to the GPU memory, seamlessly present the media content to a system user, register a location of the system user during the seamless presentation of the media content, and register a timecode status of the media content at the location. The CPU further executes the memory allocation software code to identify a second dataset of the media content based on the location and the timecode status, transfer a first differential dataset to the GPU memory, continue to seamlessly present the media content to the system user, and transfer a second differential dataset out of the GPU memory.

## Claims

### Claim 1

A media content presentation system comprising:
a computing platform having a central processing unit (CPU), a graphics processing unit (GPU) having a GPU memory, and a main memory storing a memory allocation software code;
the CPU configured to execute the memory allocation software code to:
transfer a first dataset of a video content from a media content storage to the GPU memory, wherein the video content is indexed using timecodes of the video content;
seamlessly present the video content to a system user by the GPU utilizing the first dataset, wherein the first dataset presents the video content to the system user from a first viewpoint corresponding to a first location of the system user;
register a second viewpoint of the system user during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset, wherein the second viewpoint is different than the first viewpoint;
register a current timecode of the video content during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset;
identify a second dataset of the video content based on the second viewpoint of the system user and the current timecode of the video content, wherein identifying the second dataset includes determining a window representing a span of frames of the video content for constructing the second viewpoint for a time range based on the current timecode, and wherein the second dataset presents the video content to the system user from the second viewpoint;
transfer a first differential dataset to the GPU memory, the first differential dataset comprising data included in the second dataset but omitted from the first dataset; and
continue to seamlessly present the video content to the system user from the second viewpoint by the GPU utilizing at least the first differential dataset.

### Claim 2 (depends on 1)

The media content presentation system of claim 1, wherein the media content presentation system comprises a head mounted virtual reality (VR) viewer.

### Claim 3 (depends on 1)

The media content presentation system of claim 1, wherein the video content comprises audio-visual content.

### Claim 4 (depends on 1)

The media content presentation system of claim 1, wherein the CPU is further configured to execute the memory allocation software code to transfer a second differential dataset out of the GPU memory during the continued seamless presentation of the video content to the system user by the GPU utilizing the at least first differential dataset, wherein the second differential dataset comprises data included in the first dataset but omitted from the second dataset.

### Claim 5 (depends on 1)

The media content presentation system of claim 1, wherein transferring the second differential dataset out of the GPU memory comprises transferring the second differential dataset to the main memory of the media content presentation system.

### Claim 6 (depends on 1)

The media content presentation system of claim 1, wherein the video content comprises haptic content.

### Claim 7 (depends on 1)

The media content presentation system of claim 1, wherein the timecode of the video content has a granularity of at least tenths of a second, up to thousandths of a second.

### Claim 8

A method for use by a media content presentation system including a computing platform having a central processing unit (CPU), a graphics processing unit (GPU) having a GPU memory, and a main memory storing a memory allocation software code, the method comprising:
transferring, using the CPU, a first dataset of a video content from a media content storage to the GPU memory, wherein the video content is indexed using timecodes of the video content;
seamlessly presenting the video content to a system user by the GPU utilizing the first dataset, wherein the first dataset presents the video content to the system user from a first viewpoint corresponding to a first location of the system user;
registering, using the CPU, a second viewpoint of the system user during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset, wherein the second viewpoint is different than the first viewpoint;
registering, using the CPU, a current timecode of the video content during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset;
identifying, using the CPU, a second dataset of the video content based on the second viewpoint of the system user and the current timecode of the video content, wherein identifying the second dataset includes determining a window representing a span of frames of the video content for constructing the second viewpoint for a time range based on the current timecode, and wherein the second dataset presents the video content to the system user from the second viewpoint;
transferring, using the CPU, a first differential dataset to the GPU memory, the first differential dataset comprising data included in the second dataset but omitted from the first dataset; and
continuing to seamlessly present, using the CPU, the video content to the system user from the second viewpoint by the GPU utilizing at least the first differential dataset.

### Claim 9 (depends on 8)

The method of claim 8, wherein the media content presentation system comprises a head mounted virtual reality (VR) viewer.

### Claim 10 (depends on 8)

The method of claim 8, wherein the video content comprises audio-visual content.

### Claim 11 (depends on 8)

The method of claim 8 further comprising:
transferring, using the CPU, a second differential dataset out of the GPU memory during the continued seamless presentation of the media content to the system user by the GPU utilizing the at least first differential dataset;
wherein the second differential dataset comprises data included in the first dataset but omitted from the second dataset.

### Claim 12 (depends on 11)

The method of claim 11, wherein transferring the second differential dataset out of the GPU memory comprises transferring the second differential dataset to the main memory of the media content presentation system.

### Claim 13 (depends on 8)

The method of claim 8, wherein the video content comprises haptic content.

### Claim 14 (depends on 8)

The method of claim 8, wherein the timecode of the video content has a granularity of at least tenths of a second, up to thousandths of a second.

### Claim 15

A computer-readable non-transitory medium having stored thereon instructions, which when executed by a central processing unit (CPU) of a media content presentation system, instantiate a method comprising:
transferring a first dataset of a video content from a media content storage to the GPU memory, wherein the video content is indexed using timecodes of the video content;
seamlessly presenting the video content to a system user by the GPU utilizing the first dataset, wherein the first dataset presents the video content to the system user from a first viewpoint corresponding to a first location of the system user;
registering a second viewpoint of the system user during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset, wherein the second viewpoint is different than the first viewpoint;
registering a current timecode of the video content during the seamless presentation of the video content to the system user by the GPU utilizing the first dataset;
identifying a second dataset of the video content based on the second viewpoint of the system user and the current timecode of the video content, wherein identifying the second dataset includes determining a window representing a span of frames of the video content for constructing the second viewpoint for a time range based on the current timecode, and wherein the second dataset presents the video content to the system user from the second viewpoint;
transferring a first differential dataset to the GPU memory, the first differential dataset comprising data included in the second dataset but omitted from the first dataset; and
continuing to seamlessly present the video content to the system user from the second viewpoint by the GPU utilizing at least the first differential dataset.

### Claim 16 (depends on 15)

The computer-readable non-transitory medium of claim 15, wherein the media content presentation system comprises a head mounted virtual reality (VR) viewer.

### Claim 17 (depends on 15)

The computer-readable non-transitory medium of claim 15, wherein the video content comprises audio-visual content.

### Claim 18 (depends on 15)

The computer-readable non-transitory medium of claim 15, wherein the method further comprises:
transferring, using the CPU, a second differential dataset out of the GPU memory during the continued seamless presentation of the media content to the system user by the GPU utilizing the at least first differential dataset;
wherein the second differential dataset comprises data included in the first dataset but omitted from the second dataset.

### Claim 19 (depends on 18)

The computer-readable non-transitory medium of claim 18, wherein transferring the second differential dataset out of the GPU memory comprises transferring the second differential dataset to a main memory of the media content presentation system.

### Claim 20 (depends on 15)

The computer-readable non-transitory medium of claim 15, wherein the video content comprises haptic content.
