# US 11,310,540 B2 · Interfaces between dash aware application and dash client for service interactivity support

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

- Number: US 11,310,540 B2
- Document ID: US11310540B2
- Status: Granted
- Kind: B2
- Application number: 16/184,683
- Filed: 2018-11-08
- Published: 2019-05-16
- Granted: 2022-04-19
- Earliest claimed: 2017-11-10
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Charles Nung Lo; Thomas Stockhammer; Giridhar Dhati Mandyam; Carlos Marcelo Dias Pazos
- Web page: https://patentgrep.com/patent/US11310540B2

## CPC

- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- H04L 65/612: for unicast
- H04L 65/80: Responding to QoS
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/4307: {Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen}
- H04N 21/43074: {of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV programme}
- H04N 21/4312: {involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations}
- H04N 21/44204: {Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched (monitoring of user activities for profile generation for accessing a video database G06F16/739; protecting generic digital content where the protection is independent of the precise nature of the content G06F21/10; arrangements for monitoring the use made of the broadcast services in broadcast systems H04H60/31)}
- H04N 21/4431: {characterized by the use of Application Program Interface [API] libraries}
- H04N 21/4756: {for rating content, e.g. scoring a recommended movie}
- H04N 21/4758: {for providing answers, e.g. voting}
- H04N 21/478: Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N 21/654: Transmission by server directed to the client
- 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/812: {involving advertisement data (advertising per se G06Q30/02)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N 21/8545: for generating interactive applications
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In one example, a device includes one or more processors implemented in circuitry and configured to execute a Dynamic Adaptive Streaming over HTTP (DASH) aware application (DAA) and a DASH client, and one or more user interfaces. The DAA subscribes to DASH events of a DASH event stream via a first application programming interface (API) between the DAA and a DASH client executed by the one or more processors. The DAA then receives data for one or more DASH events of the DASH event stream from the DASH client via a second API between the DAA and the DASH client, the data for the one or more DASH events specifying interactivity-related content. The DAA then presents the interactivity-related content via the one or more user interfaces. The DAA may further send usage measurements on usage of the interactivity-related content to the DASH client, for reporting to a report server device.

## Claims

### Claim 1

A method of receiving media data, the method comprising:
subscribing, by a Dynamic Adaptive Streaming over HTTP (DASH) aware application executed by one or more processors comprising circuitry of a client device, to DASH events of a DASH event stream via a first application programming interface (API) between the DASH aware application and a DASH client executed by the one or more processors, the DASH events being carried in-band with and separate from video data of a DASH media stream, the DASH events including data for interactivity-related content to be visually presented to a user of the client device and to allow the user to interact with the interactivity-related content, and wherein subscribing comprises sending data, by the DASH aware application, to the DASH client via the first API, the DASH aware application being configured to process data for the DASH events;
receiving, by the DASH aware application, data for one or more of the DASH events of the DASH event stream from the DASH client via a second API between the DASH aware application and the DASH client, the data for the one or more of the DASH events specifying the interactivity-related content, the interactivity-related content comprising content that is unrelated to media content selection; and
presenting, by the DASH aware application, the interactivity-related content via one or more user interfaces of the client device.

### Claim 2 (depends on 1)

The method of claim 1, wherein presenting the interactivity-related content comprises synchronizing presentation of the interactivity-related content with presentation of corresponding media data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the interactivity-related content comprises at least one of voting, rating, purchasing, chatting, or targeted advertisements with which a user can interact via a user interface, the user interface comprising at least one of a hyperlink, a radio button, or a displayed form.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, by the DASH aware application and from the DASH client, instructions representing interactivity-related content usage metrics to be measured and how corresponding measurements should be returned to the DASH client;
measuring, by the DASH aware application, usage of the interactivity-related content by a user according to the instructions; and
forwarding, by the DASH aware application, data representing the usage of the interactivity-related content to the DASH client according to the instructions.

### Claim 5 (depends on 4)

The method of claim 4,
wherein receiving the instructions comprises receiving data defining a format for how the corresponding measurements should be returned to the DASH client, and
wherein forwarding the data representing the usage of the interactivity-related content comprises forwarding the data representing the usage of the interactivity-related content via a third API to the DASH client and formatted according to the instructions.

### Claim 6 (depends on 5)

The method of claim 5, wherein the third API comprises at least one of interacUsageMeasurementNotify( ) or interacUsageLogForward( ).

### Claim 7 (depends on 1)

The method of claim 1, wherein the first API comprises eventSubscribe( ), and wherein the second API comprises eventResponse( ).

### Claim 8 (depends on 1)

The method of claim 1, wherein the first API comprises inbandEventSubscribe( ), and wherein the second API comprises inbandEventSubscribeResponse( ).

### Claim 9 (depends on 1)

The method of claim 1, wherein the first API comprises eventNotif( ), and wherein the second API comprises eventNotifResponse( ).

### Claim 10 (depends on 1)

The method of claim 1, wherein the first API comprises inbandEventNotif( ), and wherein the second API comprises inbandEventNotifResponse( ).

### Claim 11 (depends on 1)

The method of claim 1, wherein the first API comprises mpdEventNotif( ), and wherein the second API comprises mpdEventNotifResponse( ).

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
subscribing, by the DASH aware application, to timed metadata track data via a third API to the DASH client;
receiving, by the DASH aware application, data of one or more timed metadata tracks via a fourth API from the DASH client; and
presenting, by the DASH aware application, the data of the one or more timed metadata tracks via the one or more user interfaces of the client device.

### Claim 13 (depends on 12)

The method of claim 12, wherein the third API comprises timedMetadataTrackSubscribe( ), and wherein the fourth API comprises timedMetadataTrackResponse( ).

### Claim 14 (depends on 12)

The method of claim 12, wherein the third API comprises timedMetadataTrackNotif( ), and wherein the fourth API comprises timedMetadataTrackNotifResponse( ).

### Claim 15

A device for receiving media data, the device comprising:
one or more user interfaces for presenting media data; and
one or more processors implemented in circuitry and configured to execute a Dynamic Adaptive Streaming over HTTP (DASH) aware application and a DASH client, wherein the DASH aware application is configured to:
subscribe to DASH events of a DASH event stream via a first application programming interface (API) between the DASH aware application and the DASH client, the DASH events being carried in-band with and separate from video data of a DASH media stream, the DASH events including data for interactivity-related content to be visually presented to a user of the device and to allow the user to interact with the interactivity-related content, and wherein to subscribe, the DASH aware application is configured to send data to the DASH client via the first API, the DASH aware application being configured to process data for the DASH events;
receive data for one or more of the DASH events of the DASH event stream from the DASH client via a second API between the DASH aware application and the DASH client, the data for the one or more of the DASH events specifying the interactivity-related content, the interactivity-related content comprising content that is unrelated to media content selection; and
present the interactivity-related content via the one or more user interfaces of the client device.

### Claim 16 (depends on 15)

The device of claim 15, wherein the DASH aware application is configured to synchronize presentation of the interactivity-related content with presentation of corresponding media data.

### Claim 17 (depends on 15)

The device of claim 15, wherein the interactivity-related content comprises at least one of voting, rating, purchasing, chatting, or targeted advertisements with which a user can interact via a user interface, the user interface comprising at least one of a hyperlink, a radio button, or a displayed form.

### Claim 18 (depends on 15)

The device of claim 15, wherein the DASH aware application is further configured to:
receive, from the DASH client, instructions representing interactivity-related content usage metrics to be measured and how corresponding measurements should be returned to the DASH client;
measure usage of the interactivity-related content by a user according to the instructions; and
forward data representing the usage of the interactivity-related content to the DASH client according to the instructions.

### Claim 19 (depends on 18)

The device of claim 18,
wherein the instructions include data defining a format for how the corresponding measurements should be returned to the DASH client, and
wherein the DASH aware application is configured to send the data representing the usage of the interactivity-related content via a third API to the DASH client and formatted according to the instructions.

### Claim 20 (depends on 15)

The device of claim 15, wherein the DASH aware application is further configured to:
subscribe to timed metadata track data via a third API to the DASH client;
receive data of one or more timed metadata tracks via a fourth API from the DASH client; and
present content associated with the one or more timed metadata tracks via the one or more user interfaces of the client device.

### Claim 21

A device for receiving media data, the device comprising:
means for executing a Dynamic Adaptive Streaming over HTTP (DASH) aware application to subscribe to DASH events of a DASH event stream via a first application programming interface (API) between the DASH aware application and a DASH client, the DASH events being carried in-band with and separate from video data of a DASH media stream, the DASH events including data for interactivity-related content to be visually presented to a user of the device and to allow the user to interact with the interactivity-related content, and wherein the means for executing the DASH aware application to subscribe comprises means for sending data to the DASH client via the first API, the DASH aware application being configured to process data for the DASH events;
means for executing the DASH aware application to receive data for one or more of the DASH events of the DASH event stream from the DASH client via a second API between the DASH aware application and the DASH client, the data for the one or more of the DASH events specifying the interactivity-related content, the interactivity-related content comprising content that is unrelated to media content selection; and
means for presenting the interactivity-related content.

### Claim 22

A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors that execute a Dynamic Adaptive Streaming over HTTP (DASH) aware application and a DASH client to:
subscribe, by the DASH aware application, to DASH events of a DASH event stream via a first application programming interface (API) between the DASH aware application and the DASH client, the DASH events being carried in-band with and separate from video data of a DASH media stream, the DASH events including data for interactivity-related content to be visually presented to a user of a device including the DASH client and the DASH aware application and to allow the user to interact with the interactivity-related content, and wherein subscribing comprises sending data, by the DASH aware application, to the DASH client via the first API, the DASH aware application being configured to process data for the DASH events;
receive, by the DASH aware application, data for one or more of the DASH events of the DASH event stream from the DASH client via a second API between the DASH aware application and the DASH client, the data for the one or more of the DASH events specifying the interactivity-related content, the interactivity-related content comprising content that is unrelated to media content selection; and
present, by the DASH aware application, the interactivity-related content via one or more user interfaces of the client device.

### Claim 23 (depends on 22)

The non-transitory computer-readable storage medium of claim 22, wherein the instructions that cause the processor to present the interactivity-related content comprise instructions that cause the processor to synchronize presentation of the interactivity-related content with presentation of corresponding media data.

### Claim 24 (depends on 22)

The non-transitory computer-readable storage medium of claim 22, wherein the interactivity-related content comprises at least one of voting, rating, purchasing, chatting, or targeted advertisements with which a user can interact via a user interface, the user interface comprising at least one of a hyperlink, a radio button, or a displayed form.

### Claim 25 (depends on 22)

The non-transitory computer-readable storage medium of claim 22, further comprising instructions that cause the processor to:
receive, by the DASH aware application and from the DASH client, instructions representing interactivity-related content usage metrics to be measured and how corresponding measurements should be returned to the DASH client;
measure, by the DASH aware application, usage of the interactivity-related content by a user according to the instructions; and
forward, by the DASH aware application, data representing the usage of the interactivity-related content to the DASH client according to the instructions.

### Claim 26 (depends on 25)

The non-transitory computer-readable storage medium of claim 25,
wherein the instructions that cause the processor to receive the instructions comprise instructions that cause the processor to receive data defining a format for how the corresponding measurements should be returned to the DASH client, and
wherein the instructions that cause the processor to forward the data representing the usage of the interactivity-related content comprise instructions that cause the processor to forward the data representing the usage of the interactivity-related content via a third API to the DASH client and formatted according to the instructions.

### Claim 27 (depends on 25)

The non-transitory computer-readable storage medium of claim 25, further comprising instructions that cause the processor to:
subscribe, by the DASH aware application, to timed metadata track data via a third API to the DASH client;
receive, by the DASH aware application, data of one or more timed metadata tracks via a fourth API from the DASH client; and
present, by the DASH aware application, the data of the one or more timed metadata tracks via the one or more user interfaces of the client device.
