IP Library Granted Patent US 12,689,778
Granted Patent B2
US 12,689,778 · App. 18/111,363 · Granted Jul 21, 2026

Systems and methods for generalized HTTP headers in dynamic adaptive streaming over HTTP (DASH)

Inventor: Alexander Giladi (Princeton, NJ)
Assignee: InterDigital VC Holdings, Inc.
H04N21/2355H04L65/612H04L65/613H04L65/65H04L65/70H04L65/762H04L65/80H04L67/1001H04N21/2381
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,689,778
App. No.
18/111,363
Granted
Jul 21, 2026
Kind
B2
Abstract

Systems and methods for streaming content are disclosed. A Media Presentation Description (MPD) may be associated with streaming content, for example, in Dynamic Adaptive Streaming Over HTTP (DASH). An MPD array comprise an element, e.g., a header element or URL, query element, which provides a name value functionality. An element may allow a request that results in insertion of custom headers. Requests may be used for retrieval of a subsegment, segment, or MPD, re-referencing of remote elements, or triggered by an event. The event may be embedded either in an MPD or in segments.

Claims (31)

1 . A method implemented on a dynamic adaptive streaming over hypertext transfer protocol (DASH) server for streaming content, the method comprising:

receiving, from a DASH client, a hypertext transfer protocol (HTTP) request, wherein the HTTP request is based on a request type associated with one or more request types of a media presentation description (MPD) file, and wherein the HTTP request indicates a request for a value parameter corresponding to a name parameter and value parameter pair feedback; and

sending, to the DASH client, an HTTP response in reply to the HTTP request, wherein the HTTP response comprises a header indicating the requested value parameter corresponding to the name parameter and value parameter pair feedback, wherein the requested value parameter corresponding to the name parameter and value parameter pair feedback is indicated in a format based on a template associated with the request type, and wherein the requested value parameter is sent to the DASH client for use in header of a segment HTTP request.

2 . The method of claim 1 , further comprising sending the MPD file to the DASH client, wherein the MPD file indicates a request type attribute and a template attribute, wherein the request type attribute and the template attribute are to be used by the DASH client for the HTTP request and the HTTP response, wherein the request type attribute indicates the one or more request types to be used by the DASH client, and wherein the template attribute indicates the template to be used by the DASH client to obtain the value parameter corresponding to the name parameter and value parameter pair feedback.

3 . The method of claim 1 , further comprising receiving, from the DASH client, the segment HTTP request, wherein the header of the segment HTTP request specifies the name parameter and the requested value parameter.

4 . The method of claim 1 , wherein the name parameter and value parameter pair feedback is in a uniform resource locator (URL) query form.

5 . The method of claim 1 , wherein the request type is a DASH event GET request.

6 . The method of claim 1 , wherein the MPD file comprises a plurality of request types indicating two or more of a DASH event GET request, an MPD GET request, or an XLink GET request.

7 . The method of claim 1 , wherein the request type is an XLink GET request or an MPD GET request.

8 . A dynamic adaptive streaming over hypertext transfer protocol (DASH) server comprising:

a processor configured to at least:

receive, from a DASH client, a hypertext transfer protocol (HTTP) request, wherein the HTTP request is based on a request type associated with one or more request types of a media presentation description (MPD) file, and wherein the HTTP request indicates a request for a value parameter corresponding to a name parameter and value parameter pair feedback; and

send, to the DASH client, an HTTP response in reply to the HTTP request, wherein the HTTP response comprises a header indicating the requested value parameter corresponding to the name parameter and value parameter pair feedback, wherein the requested value parameter corresponding to the name parameter and value parameter pair feedback is indicated in a format based on a template associated with the request type, and wherein the requested value parameter is sent to the DASH client for use in header of a segment HTTP request.

9 . The DASH server of claim 8 , wherein the processor is configured to send the MPD file to the DASH client, wherein the MPD file indicates a request type attribute and a template attribute, wherein the request type attribute and the template attribute are to be used by the DASH client for the HTTP request and the HTTP response, wherein the request type attribute indicates the one or more request types to be used by the DASH client, and wherein the template attribute indicates the template to be used by the DASH client to obtain the value parameter corresponding to the name parameter and value parameter pair feedback.

10 . The DASH server of claim 8 , wherein the processor is configured to receive, from the DASH client, the segment HTTP request, wherein the header of the segment HTTP request specifies the name parameter and the requested value parameter.

11 . The DASH server of claim 8 , wherein the name parameter and value parameter pair feedback is in a uniform resource locator (URL) query form.

12 . The DASH server of claim 8 , wherein the request type is a DASH event GET request.

13 . The DASH server of claim 8 , wherein the MPD file comprises a plurality of request types indicating two or more of a DASH event GET request, an MPD GET request, or an XLink GET request.

14 . The DASH server of claim 8 , wherein the request type is an XLink GET request or an MPD GET request.

15 . A dynamic adaptive streaming over hypertext transfer protocol (DASH) client comprising a processor configured to at least:

receive a media presentation description (MPD) file for DASH streaming, wherein the MPD file indicates a request type attribute and a template attribute to be used by the DASH client for a hypertext transfer protocol (HTTP) request, wherein the request type attribute indicates a set of request types to be used by the DASH client, and wherein the template attribute indicates a template to be used by the DASH client to obtain a value parameter corresponding to a name parameter and value parameter pair feedback from an HTTP response in reply to an HTTP request;

generate, based on the request type attribute and the template attribute, a first HTTP request, wherein the first HTTP request indicates a request for the value parameter corresponding to the name parameter and value parameter pair feedback;

send the first HTTP request;

receive a first HTTP response in reply to the first HTTP request, wherein the first HTTP response comprises a header indicating the requested value parameter corresponding to the name parameter and value parameter pair feedback;

obtain, from the received first HTTP response, the requested value parameter, wherein the requested value parameter is obtained based on the template;

generate a second HTTP request for a segment, wherein header of the second HTTP request comprises the obtained value parameter using the received first HTTP response; and

send the second HTTP request.

16 . The DASH client of claim 15 , wherein the request type attribute is one of an XLink GET request, an MPD GET request, or a DASH event GET request.

17 . The DASH client of claim 15 , wherein the request type attribute indicates a plurality of request types, and the plurality of request types comprises two or more of a DASH event GET request, an MPD GET request, or an XLink GET request.

18 . The DASH client of claim 15 , wherein the processor being configured to send the first HTTP request comprises the processor being configured to send the first HTTP request to a DASH value provider.

19 . The DASH client of claim 15 , wherein the processor being configured to send the second HTTP request comprises the processor being configured to send the second HTTP request to a DASH content server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →
Continuity (4)
Continuation 15550364 · Feb 11, 2016
Provisional Application 62181100 · Jun 17, 2015
Provisional Application 62115128 · Feb 11, 2015
Related Publication 20230209109A1 · Jun 29, 2023
References Cited (73)
US 7990847B1 · Leroy · 2011 [cited by examiner]
US 8495675B1 · Philpott et al. · 2013 [cited by applicant]
US 8526350B2 · Xue · 2013 [cited by examiner]
US 8656047B1 · Lu · 2014 [cited by examiner]
US 9553918B1 · Manion · 2017 [cited by examiner]
US 9590814B2 · Pazos et al. · 2017 [cited by applicant]
US 20040167878A1 · Doddington · 2004 [cited by applicant]
US 20090276771A1 · Nickolov · 2009 [cited by examiner]
US 20110099594A1 · Chen et al. · 2011 [cited by applicant]
US 20110231569A1 · Luby et al. · 2011 [cited by applicant]
US 20120207088A1 · Liu et al. · 2012 [cited by applicant]
US 20130007814A1 · Cherian et al. · 2013 [cited by applicant]
US 20130117413A1 · Kaneko et al. · 2013 [cited by applicant]
US 20130144714A1 · Yuan et al. · 2013 [cited by applicant]
US 20130195204A1 · Reznik et al. · 2013 [cited by applicant]
US 20130266289A1 · Oyman · 2013 [cited by applicant]
US 20140013375A1 · Giladi · 2014 [cited by applicant]
US 20140019635A1 · Reznik · 2014 [cited by examiner]
US 20140040498A1 · Oyman · 2014 [cited by examiner]
US 20140047071A1 · Shehada et al. · 2014 [cited by applicant]
US 20140156865A1 · Giladi · 2014 [cited by applicant]
US 20140201335A1 · Wang · 2014 [cited by examiner]
US 20140201355A1 · Bishnoi · 2014 [cited by examiner]
US 20140207907A1 · Wang et al. · 2014 [cited by applicant]
US 20140219088A1 · Oyman et al. · 2014 [cited by applicant]
US 20140230074A1 · Lee et al. · 2014 [cited by applicant]
US 20140317308A1 · Zhang · 2014 [cited by examiner]
US 20140366070A1 · Lee et al. · 2014 [cited by applicant]
US 20150032855A1 · Wang · 2015 [cited by examiner]
US 20150106472A1 · Friedrich et al. · 2015 [cited by applicant]
US 20150113572A1 · Oyman · 2015 [cited by applicant]
US 20150113604A1 · Oyman · 2015 [cited by examiner]
US 20150207846A1 · Famaey · 2015 [cited by examiner]
US 20150229676A1 · Cordarai et al. · 2015 [cited by applicant]
US 20150237103A1 · Lotfallah et al. · 2015 [cited by applicant]
US 20150280965A1 · Kervadec et al. · 2015 [cited by applicant]
US 20150296274A1 · Collins et al. · 2015 [cited by applicant]
US 20150341634A1 · Jiang · 2015 [cited by examiner]
US 20150382034A1 · Thangaraj · 2015 [cited by examiner]
US 20150382042A1 · Wagenaar et al. · 2015 [cited by applicant]
US 20160021400A1 · Gruszka et al. · 2016 [cited by applicant]
US 20160036883A1 · Vitthaladevuni · 2016 [cited by examiner]
US 20160080833A1 · Maze et al. · 2016 [cited by applicant]
US 20160127440A1 · Gordon · 2016 [cited by examiner]
US 20160198023A1 · Kwon et al. · 2016 [cited by applicant]
US 20160241924A1 · Kwak et al. · 2016 [cited by applicant]
US 20160352793A1 · Oh et al. · 2016 [cited by applicant]
US 20170019688A1 · Lee et al. · 2017 [cited by applicant]
US 20170171575A1 · Moon et al. · 2017 [cited by applicant]
US 20170272485A1 · Gordon · 2017 [cited by examiner]
US 20180153356A1 · Weinberg · 2018 [cited by applicant]
US 20180270515A1 · Ramaswamy et al. · 2018 [cited by applicant]
US 20190238937A1 · Lo · 2019 [cited by examiner]
CN 102143133A · 2011 [cited by applicant]
CN 102598688A · 2012 [cited by applicant]
CN 104040945A · 2014 [cited by applicant]
CN 104067628A · 2014 [cited by applicant]
FR 2993426A1 · 2014 [cited by applicant]
JP 2016500943A · 2016 [cited by applicant]
WO 2014062921A1 · 2014 [cited by applicant]
DASH Industry Forum, “Guidelines for Implementation: DASH-AVC/264 Interoperability Points”, Version 2.0, Aug. 15, 2013, 47 pages. [cited by applicant]
Giladi, “MPEG DASH: A Brief Introduction”, IEEE Comsoc Mmtc E-letter, vol. 8, No. 2, Mar. 2013, pp. 23-26. [cited by applicant]
Giladi et al., “Technologies under Consideration for Dynamic Adapative Streaming over HTTP 23009, parts 1, 3, and 4”, Systems Subgroup, ISO/IEC JTC1/SC29/WG11, MPEG2014/N15214, Geneva, Switzerland, Feb. 2015, 32 pages. [cited by applicant]
ISO/IEC, “Information Technology—Dynamic Adaptive Streaming over HTTP (DASH)—Part 1: Media Presentation Description and Segment Formats / Amd 2”, ISO/IEC 23009-1:201x/FPDAM 2, JTC 1/SC 29 N 14624, Jul. 16, 2014, 23 page… [cited by applicant]
ISO/IEC, “Information Technology—Dynamic Adaptive Streaming over HTTP (DASH)—Part 1: Media Presentation Description and Segment Formats”, ISO/IEC 23009-1:2014, 2nd Edition, May 15, 2014, 152 pages. [cited by applicant]
ISO/IEC, “Information Technology—Dynamic Adaptive Streaming over HTTP (DASH)—Part 3: Implementation Guidelines”, ISO/IEC PDTR 23009-3, ISO/IEC JTC 1/SC 29 N, Jan. 25, 2013, 62 pages. [cited by applicant]
ISO/IEC, “Information Technology—JPEG 2000 Image Coding System—Part 12: ISO Base Media File Format”, ISO/IEC 14496-12:2005(E), 2005, 94 pages. [cited by applicant]
ISO/IEC, “ISO/IEC 23001-7 2nd Edition—Common Encryption in ISO Base Media File Format Files”, Editor 23001-7, ISO/IEC JTC1/SC29/WG11 N14588, Sapporo, Japan, Jul. 2014, 23 pages. [cited by applicant]
ISO/IEC, “ISO/IEC FDIS 23009-4”, ISO/IEC JTC1/SC29/WG11 MPEG2013/wxxxxx, Geneva, Switzerland, Jan. 2013, 34 pages. [cited by applicant]
ITU-T, “Information Technology-Generic Coding of Moving Pictures and Associated Audio Information: Systems”, H.222.0, Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services—Transmission Mul… [cited by applicant]
S4-140930, “TR 26.848 v1.7.0 on EMO”, Huawei (Rapporteur), TSG SA4#80 Meeting, San Francisco, USA, Aug. 4-8, 2014, pp. 1-60. [cited by applicant]
S4-150022, “eDASH: Draft CR for Ad Insertion”, Qualcomm Incorporated, 3GPP TSG-SA4 #84, Dubrovnik, Croatia, Jan. 26-30, 2015, 32 pages. [cited by applicant]
SCTE, “AVC Video Constraints for Cable Television, Part 1—Coding”, Engineering Committee, ANSI/SCTE 128-1, 2013, 32 pages. [cited by applicant]