[go: up one dir, main page]

JP2018519694A - Further device timing adjustments and methods for supporting DASH overbroadcast - Google Patents

Further device timing adjustments and methods for supporting DASH overbroadcast Download PDF

Info

Publication number
JP2018519694A
JP2018519694A JP2017554447A JP2017554447A JP2018519694A JP 2018519694 A JP2018519694 A JP 2018519694A JP 2017554447 A JP2017554447 A JP 2017554447A JP 2017554447 A JP2017554447 A JP 2017554447A JP 2018519694 A JP2018519694 A JP 2018519694A
Authority
JP
Japan
Prior art keywords
segment
start time
client
receiver device
mpd
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017554447A
Other languages
Japanese (ja)
Inventor
ラルフ・アクラム・ゴルミエ
オサマ・ロトフォラー
カルロス・マルセロ・ディアス・パゾス
ナガラジュ・ナイク
ナガラジャ・シヴァシャンカー
ナーミーン・アハメド・バショウニー
タディ・マンジュナタ・ナガラジ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018519694A publication Critical patent/JP2018519694A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2408Monitoring of the upstream path of the transmission network, e.g. client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

様々な実施形態のシステム、方法、およびデバイスは、受信機デバイスが修正されたセグメント利用可能時間を使用することを可能にする。様々な実施形態では、受信機デバイスは、セグメントがDASHクライアントに利用可能になるとき、実際の時間を考慮するために、メディアプレゼンテーション記述(MPD)など、セグメント利用可能性タイムライン内のセグメントに対する利用可能開始時間を修正することが可能にされ得る。The systems, methods, and devices of various embodiments allow a receiver device to use a modified segment availability time. In various embodiments, the receiver device may use a segment in the segment availability timeline, such as a media presentation description (MPD), to consider the actual time when the segment becomes available to the DASH client. It may be possible to modify the possible start time.

Description

関連出願
本出願は、2015年4月20日に出願した「Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast」という表題の米国仮特許出願第62/149,776号の優先権の利益を主張し、この仮特許出願の内容全体が参照によって本明細書に組み込まれる。
This application claims the benefit of the priority of US Provisional Patent Application No. 62 / 149,776 entitled `` Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast '' filed on April 20, 2015. The entire contents of the provisional patent application are incorporated herein by reference.

ハイパーテキスト転送プロトコル(HTTP)ストリーミングは現在、インターネットを通じてコンテンツを配信する最も一般的な方法である。生のイベントでは、コンテンツは、一定の持続時間のセグメントを通じて徐々に利用可能にされる。セグメントの利用可能性は、各々の連続するセグメントがHTTPサーバにおいていつ利用可能になるかを示す、タイムラインに従う。   Hypertext Transfer Protocol (HTTP) streaming is currently the most common method of delivering content over the Internet. In a live event, content is gradually made available through a segment of constant duration. Segment availability follows a timeline that indicates when each successive segment will be available in the HTTP server.

動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH:Dynamic Adaptive Streaming Over Hypertext Transfer Protocol)は、HTTPストリーミングを実装する規格である。DASHは、メディアプレゼンテーション記述(MPD:Media Presentation Description)内でセグメントの利用可能性を告知する。MPDは、セグメント、セグメントが利用可能である時間、およびセグメントのサイズを告知する、セグメント利用可能性タイムラインである。   The Dynamic Adaptive Streaming Over Hypertext Transfer Protocol (DASH) is a standard that implements HTTP streaming. DASH announces the availability of segments in a Media Presentation Description (MPD). The MPD is a segment availability timeline that announces the segment, the time that the segment is available, and the size of the segment.

現在のシステムでは、MPDは、オーバージエア(OTA)配信を介して受信機デバイスに提供される。提供されたMPD内で、セグメント利用可能開始時間は、セグメントを生成するネットワーク側エンコーダのエンコーダ出力時間に対応し得る。セグメント利用可能開始時間はエンコーダ出力時間に対応し得るので、利用可能開始時間は、配信経路の遅延、受信機デバイスの処理遅延、または受信機デバイスのクロックドリフトのような、受信機デバイス上で実行されるDASHクライアントに対する実際のセグメントの利用可能性の差を考慮しないことがある。したがって、現在のMPD内で告知される利用可能開始時間は、セグメントがDASHクライアントに対して利用可能となる実際の時間に対応しないことがある。   In current systems, the MPD is provided to the receiver device via over-the-air (OTA) delivery. Within the provided MPD, the segment availability start time may correspond to the encoder output time of the network-side encoder that generates the segment. Since the segment availability start time can correspond to the encoder output time, the availability start time runs on the receiver device, such as delivery path delay, receiver device processing delay, or receiver device clock drift. May not account for the difference in the availability of actual segments to the DASH client being used. Thus, the available start time announced in the current MPD may not correspond to the actual time that the segment will be available to the DASH client.

様々な実施形態のシステム、方法、およびデバイスは、受信機デバイスが修正されたセグメント利用可能時間を使用することを可能にする。様々な実施形態では、受信機デバイスは、セグメントがDASHクライアントに利用可能になるとき、実際の時間を考慮するために、メディアプレゼンテーション記述(MPD)など、セグメント利用可能性タイムライン内のセグメントに対する利用可能開始時間を修正することが可能にされ得る。   The systems, methods, and devices of various embodiments allow a receiver device to use a modified segment availability time. In various embodiments, the receiver device may use a segment in the segment availability timeline, such as a media presentation description (MPD), to consider the actual time when the segment becomes available to the DASH client. It may be possible to modify the possible start time.

いくつかの実施形態では、受信機デバイスのタイミングドリフトを考慮するための方法は、URLマッチングによってセグメントインデックスを決定するステップと、利用可能性タイムライン内のマッチング期間および表現結合に基づいて、セグメントの利用可能開始時間を決定するステップと、利用可能性タイムラインからセグメント持続時間を決定するステップと、セグメントに関する復号時間を決定するステップと、セグメントに関する復号時間からセグメントの利用可能開始時間を減じたものがセグメント持続時間の比率よりも大きいかどうかを決定するステップと、セグメントに関する復号時間からセグメントの利用可能開始時間を減じたものがセグメント持続時間の比率よりも大きいとの決定に応じて、利用可能開始時間の再計算をトリガするステップとを含み得る。   In some embodiments, a method for considering receiver device timing drift includes determining a segment index by URL matching, and based on the matching period and expression combination in the availability timeline, Determining an available start time; determining a segment duration from an availability timeline; determining a decoding time for the segment; and a decoding time for the segment minus the available start time for the segment Available depending on determining if is greater than the segment duration ratio and the decoding time for the segment minus the segment available start time is greater than the segment duration ratio Recalculate start time It may include a step of Riga.

いくつかの実施形態では、受信機デバイスのタイミングドリフトを考慮するための方法は、URLマッチングによって、受信されたセグメントに関するセグメントインデックスを決定するステップと、受信されたセグメントから生じる利用可能開始時間の変更を決定するステップと、利用可能開始時間の変更がしきい値よりも大きいかどうかを決定するステップと、利用可能開始時間の変更がしきい値よりも大きいとの決定に応じて、利用可能開始時間再計算をトリガするステップとを含み得る。   In some embodiments, a method for considering receiver device timing drift includes determining a segment index for a received segment by URL matching and changing an available start time resulting from the received segment. Determining whether the change in available start time is greater than a threshold and starting to use in response to determining that the change in available start time is greater than the threshold Triggering time recalculation.

さらなる実施形態は、上記で要約したいずれかの方法の動作を実行するように構成されたプロセッサを備えた受信機デバイスを含み得る。   Further embodiments may include a receiver device with a processor configured to perform the operations of any of the methods summarized above.

本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な実施形態を示し、上記の一般的な説明および以下の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。   The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention, and together with the above general description and the following detailed description, It serves to explain the features of the present invention.

様々な実施形態とともに使用するのに好適なネットワークの通信システムブロック図である。1 is a communication system block diagram of a network suitable for use with various embodiments. FIG. 一実施形態による受信機デバイスのアーキテクチャを示すブロック図である。FIG. 2 is a block diagram illustrating the architecture of a receiver device according to one embodiment. 一実施形態による、セグメント配信経路とMPDの配信調整との関係を示す図である。FIG. 6 is a diagram illustrating a relationship between a segment distribution route and MPD distribution adjustment according to an embodiment. 別の実施形態による、セグメント配信経路とMPDの配信調整との関係を示す図である。It is a figure which shows the relationship between the segment delivery path | route and the delivery adjustment of MPD by another embodiment. 一実施形態による、ネットワークの種々の部分における配信経路遅延間の関係を示す図である。FIG. 4 illustrates relationships between delivery path delays in various parts of the network, according to one embodiment. 決定された第1のFDT受信時間に基づくセグメントインデックス変更に応じて、セグメント利用可能開始時間を修正するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for modifying a segment availability start time in response to a segment index change based on a determined first FDT reception time. 決定された第1のFDT受信時間に基づくセグメントインデックス変更に応じて、遅延調整メッセージを生成するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for generating a delay adjustment message in response to a segment index change based on a determined first FDT reception time. 決定された第1のFDT受信時間に基づくベースURL変更に応じて、セグメント利用可能開始時間を修正するための一実施形態の方法を示すプロセスフロー図である。FIG. 7 is a process flow diagram illustrating an embodiment method for modifying a segment availability start time in response to a base URL change based on a determined first FDT reception time. 決定された第1のFDT受信時間に基づくベースURL変更に応じて、遅延調整メッセージを生成するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for generating a delay adjustment message in response to a base URL change based on a determined first FDT reception time. 一実施形態による、利用可能性タイムライン、MPD利用可能開始時間、送信時間、および到達時間を示す図である。FIG. 6 illustrates an availability timeline, MPD availability start time, transmission time, and arrival time, according to one embodiment. いずれかの決定されたFDT受信時間に基づいてユニキャストモードでセグメント利用可能開始時間を修正するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for modifying a segment availability start time in unicast mode based on any determined FDT reception time. いずれかの決定されたFDT受信時間に基づいてユニキャストモードで遅延調整メッセージを生成するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for generating a delay adjustment message in unicast mode based on any determined FDT reception time. 一実施形態による、受信機デバイス上でのマルチキャストサービスデバイスクライアントとアプリケーション/DASHクライアントとの対話を示すメッセージフロー図である。FIG. 3 is a message flow diagram illustrating interaction between a multicast service device client and an application / DASH client on a receiver device, according to one embodiment. 別の実施形態による、受信機デバイス上でのマルチキャストサービスデバイスクライアントとアプリケーション/DASHクライアントとの対話を示すメッセージフロー図である。FIG. 6 is a message flow diagram illustrating interaction between a multicast service device client and an application / DASH client on a receiver device, according to another embodiment. 遅延調整メッセージに基づいて利用可能開始時間を調整するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for adjusting an available start time based on a delay adjustment message. MPD更新を処理するための一実施形態方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for processing MPD updates. MPD更新を処理するための別の実施形態方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating another embodiment method for processing MPD updates. 別の実施形態による、利用可能性タイムライン、MPD利用可能開始時間、送信時間、および到達時間を示す図である。FIG. 6 illustrates an availability timeline, MPD availability start time, transmission time, and arrival time according to another embodiment. 受信機デバイスタイミングドリフトを考慮するための一実施形態の方法を示すプロセスフロー図である。FIG. 5 is a process flow diagram illustrating an embodiment method for considering receiver device timing drift. 失敗したHTTP記録をマークするための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for marking a failed HTTP record. 受信機デバイスタイミングドリフトを考慮するための別の実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating another embodiment method for considering receiver device timing drift. 受信機デバイスタイミングドリフトを考慮するための第3の実施形態の方法を示すプロセスフロー図である。FIG. 5 is a process flow diagram illustrating a method of a third embodiment for taking receiver device timing drift into account. URLマッチングによってセグメントインデックスを決定するための一実施形態の方法を示すプロセスフロー図である。FIG. 5 is a process flow diagram illustrating an embodiment method for determining a segment index by URL matching. 一実施形態による例示的なMPDの要素のブロック図である。FIG. 3 is a block diagram of exemplary MPD elements according to one embodiment. 一実施形態による例示的なMPDの要素のブロック図である。FIG. 3 is a block diagram of exemplary MPD elements according to one embodiment. 一実施形態による例示的なMPDの要素のブロック図である。FIG. 3 is a block diagram of exemplary MPD elements according to one embodiment. 一実施形態による例示的なMPDのXMLツリーのブロック図である。FIG. 2 is a block diagram of an exemplary MPD XML tree according to one embodiment. 一例よるセグメントの利用可能性タイムラインを示す図である。FIG. 6 illustrates a segment availability timeline according to an example. 一実施形態による単一のセグメント持続時間MPDの例示的なスキーマ部分を示す図である。FIG. 4 illustrates an example schema portion of a single segment duration MPD according to one embodiment. 一実施形態による、MPDをクロールし、期間および表現結合(period and representation couples)内のURLをマッチさせる様々な結果を示すブロック図である。FIG. 6 is a block diagram illustrating various results of crawling an MPD and matching URLs in period and representation couples, according to one embodiment. 一実施形態によるセグメントの利用可能性タイムラインを示す図である。FIG. 6 illustrates a segment availability timeline according to one embodiment. 一実施形態による2セグメント持続時間MPDの例示的なスキーマ部分を示す図である。FIG. 4 illustrates an example schema portion of a two segment duration MPD according to one embodiment. 別の実施形態による、MPDをクロールし、期間および表現結合内のURLをマッチさせる様々な結果を示すブロック図である。FIG. 6 is a block diagram illustrating various results of crawling an MPD and matching URLs in time periods and expression combinations according to another embodiment. URLマッチングによってセグメントインデックスを決定するための別の実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating another embodiment method for determining a segment index by URL matching. 一実施形態による反復セグメントの利用可能性タイムラインを示す図である。FIG. 6 illustrates an availability timeline of repetitive segments according to one embodiment. URLマッチングに基づいて受信機デバイスタイミングドリフトを考慮するための一実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating an embodiment method for considering receiver device timing drift based on URL matching. URLマッチングに基づいて受信機デバイスタイミングドリフトを考慮するための別の実施形態の方法を示すプロセスフロー図である。FIG. 6 is a process flow diagram illustrating another embodiment method for considering receiver device timing drift based on URL matching. URLマッチングに基づいて受信機デバイスタイミングドリフトを考慮するための第3の実施形態の方法を示すプロセスフロー図である。FIG. 7 is a process flow diagram illustrating a third embodiment method for considering receiver device timing drift based on URL matching. 様々な実施形態とともに使用するのに好適な例示的なモバイルデバイスの構成要素図である。FIG. 6 is a component diagram of an exemplary mobile device suitable for use with various embodiments. 様々な実施形態とともに使用するのに好適な例示的なサーバの構成要素図である。FIG. 3 is a component diagram of an exemplary server suitable for use with various embodiments.

添付の図面を参照して、様々な実施形態が詳細に説明される。可能な場合はいつでも、同じまた同様の部分を指すために、図面全体を通して同じ参照番号が使用される。具体的な例および実装形態への言及は説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。   Various embodiments will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References to specific examples and implementations are for illustrative purposes, and are not intended to limit the scope of the invention or the claims.

様々な実施形態は、受信機デバイスが、受信機デバイス上で使用するために、データストリーム中のデータセグメントの利用可能性(「セグメント利用可能性」)の遅延を考慮することを可能にする。一実施形態では、受信機デバイスは、受信されたセグメントが受信機デバイス上のアプリケーション/クライアント(たとえば、メディアプレーヤアプリケーションのためのセグメントを取り出す動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH)クライアント)に対して利用可能になる実際の時間に基づいて修正されたメディアプレゼンテーション記述(MPD)の列挙を生成するように、ネットワークから受信されるセグメント利用可能性タイムライン(たとえば、ブロードキャストマルチメディアサービスセンター(BMSC)サーバからオーバージエア(OTA)で受信されるMPD)中の利用可能開始時間を調整することができる。様々な実施形態は、ネットワークおよび受信機デバイスのクロックが同期されているときまたは同期されていないときに、修正されたMPDが生成されることを可能にし得る。   Various embodiments allow a receiver device to consider delays in availability of data segments (“segment availability”) in a data stream for use on the receiver device. In one embodiment, the receiver device can send the received segment to an application / client on the receiver device (e.g., a dynamic adaptive streaming over hypertext transfer protocol (DASH) client that retrieves the segment for the media player application). Segment availability timeline received from the network (e.g., Broadcast Multimedia Service Center (BMSC)) to generate a modified media presentation description (MPD) enumeration based on the actual time available to ) The available start time during MPD) received over the air (OTA) from the server can be adjusted. Various embodiments may allow a modified MPD to be generated when the network and receiver device clocks are synchronized or not synchronized.

「例示的な」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。「例示的な」として本明細書で説明するいかなる実装形態も、他の実装形態よりも好ましいか、または有利であると必ずしも解釈されるべきでない。   The word “exemplary” is used herein to mean “serving as an example, instance, or illustration”. Any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations.

本明細書で使用される場合、「モバイルデバイス」および「受信機デバイス」という用語は、セルラー電話、スマートフォン、個人用マルチメディアプレーヤまたはモバイルマルチメディアプレーヤ、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、ワイヤレスゲームコントローラ、スマートテレビジョン、セットトップボックス、デジタルビデオレコーダ(DVR)、および、MPDを受信しMPDをDASHクライアントに対して利用可能にするためのプログラム可能プロセッサとメモリと回路とを含む同様の個人用電子デバイスの、いずれか1つまたはすべてを指すように、本明細書において交換可能に使用される。   As used herein, the terms “mobile device” and “receiver device” refer to cellular phones, smartphones, personal multimedia players or mobile multimedia players, personal digital assistants (PDAs), laptop computers, Tablet computers, smart books, palmtop computers, wireless email receivers, multimedia Internet-enabled cellular phones, wireless game controllers, smart televisions, set-top boxes, digital video recorders (DVRs), and MPD receivers and MPDs Interchangeable herein to refer to any one or all of similar personal electronic devices that include programmable processors, memory, and circuitry to make available to DASH clients It is use.

DASHはHTTPストリーミングを実装する規格である。DASHは、MPD内でセグメントの利用可能性を告知する。MPDは、セグメント、セグメントが利用可能である時間、およびセグメントのサイズを告知する、セグメント利用可能性タイムラインである。現在のシステムでは、MPDは、OTA配信を介して受信機デバイスに提供される。第3世代パートナーシッププロジェクト(3GPP)は、ロングタームエボリューション(LTE)(すなわち、発展型マルチメディアブロードキャストマルチキャストサービス(eMBMS:evolved Multimedia Broadcast Multicast Services))を通じたブロードキャスト使用してHTTPストリーミングを提供するために使用されるべき方法として、ダウンロード配信を通じたDASHを標準化した。   DASH is a standard that implements HTTP streaming. DASH announces the availability of segments within the MPD. The MPD is a segment availability timeline that announces the segment, the time that the segment is available, and the size of the segment. In current systems, the MPD is provided to the receiver device via OTA distribution. The 3rd Generation Partnership Project (3GPP) is used to provide HTTP streaming using broadcast through Long Term Evolution (LTE) (i.e. evolved Multimedia Broadcast Multicast Services (eMBMS)) As a way to be done, DASH was standardized through download distribution.

異なるアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルの様々な例、特に、DASHクライアント、マルチキャストサービスデバイスクライアント(MSDC)、MPD、eMBMS、およびHTTPについて本明細書で論じる。DASHクライアント、マルチキャストサービスデバイスクライアント、MPD、eMBMS、およびHTTPの議論は、様々な実施形態の態様をより良好に示すための例としてのみ与えられ、いかなる方法でも様々な実施形態を限定することは意図されない。他のアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルが、様々な実施形態とともに使用されてもよく、他のアプリケーション/クライアント、ミドルウェア、セグメント利用可能性タイムライン、無線技術、および転送プロトコルが、本発明の趣旨または範囲から逸脱することなく、様々な例において置換されてもよい。   Various examples of different applications / clients, middleware, segment availability timelines, wireless technologies, and transport protocols, particularly DASH clients, multicast service device clients (MSDC), MPD, eMBMS, and HTTP are discussed herein . The discussion of DASH client, multicast service device client, MPD, eMBMS, and HTTP is given only as an example to better illustrate aspects of the various embodiments, and is intended to limit the various embodiments in any way. Not. Other applications / clients, middleware, segment availability timelines, wireless technologies, and transport protocols may be used with various embodiments, other applications / clients, middleware, segment availability timelines, wireless Techniques and transfer protocols may be substituted in various examples without departing from the spirit or scope of the invention.

一実施形態では、受信機デバイスは、受信機デバイス上のクライアントアプリケーションに対するセグメントの利用可能性の遅延を考慮するように、遅延調整値を決定することができる。一実施形態では、遅延調整値は遅延調整メッセージ内で提供され得る。遅延調整メッセージは、遅延調整値を含むファイルのような、遅延調整値のパラメータおよび/または指示であり得る。一実施形態では、遅延調整メッセージは、受信機デバイス上のクライアントアプリケーションが、受信されたセグメントが受信機デバイス上のアプリケーション/クライアント(たとえば、メディアプレーヤアプリケーションのためのセグメントを取り出すDASHクライアント)に対して利用可能になる実際の時間に基づいて修正されたMPDの列挙を生成するように、ネットワークから受信されるセグメント利用可能性タイムライン(たとえば、BMSCサーバからOTAで受信されるMPD)など、セグメント利用可能性を記述するマニフェストファイル内の利用可能開始時間を修正することを可能にし得る。様々な実施形態がセグメント利用可能性タイムラインおよび/またはMPDの点で論じられる場合があるが、セグメント利用可能性タイムラインおよび/またはMPDは、セグメント利用可能性を記述するマニフェストファイルの単なる例であり、本明細書で論じるセグメント利用可能性タイムラインおよび/またはMPDに関する様々な例において、セグメント利用可能性を記述するいずれのマニフェストファイルも置換され得る。様々な実施形態は、ネットワークおよび受信機デバイスのクロックが同期されているときまたは同期されていないときに、遅延調整メッセージおよび修正されたMPDが生成されることを可能にし得る。別の実施形態では、遅延調整メッセージは、受信機デバイス上のクライアントアプリケーションが、セグメント利用可能性タイムライン自体を修正することなく、受信されたセグメントが受信機デバイス上のアプリケーション/クライアント(たとえば、メディアプレーヤアプリケーションのためのセグメントを取り出すDASHクライアント)に対して利用可能になる実際の時間に基づいてセグメントに対するその要求のタイミングを調整することを可能にし得る。   In one embodiment, the receiver device may determine the delay adjustment value to take into account the availability delay of segments for client applications on the receiver device. In one embodiment, the delay adjustment value may be provided in a delay adjustment message. The delay adjustment message may be a parameter and / or an indication of the delay adjustment value, such as a file containing the delay adjustment value. In one embodiment, the delay adjustment message is sent to the client application on the receiver device to the application / client on which the received segment retrieves the segment for the media player application (eg, a DASH client that retrieves the segment for the media player application). Segment usage, such as the segment availability timeline received from the network (for example, MPD received over OTA from the BMSC server) to generate a modified enumeration of MPDs based on the actual time available It may be possible to modify the available start time in the manifest file describing the possibilities. Although various embodiments may be discussed in terms of segment availability timelines and / or MPDs, segment availability timelines and / or MPDs are merely examples of manifest files that describe segment availability. Yes, in various examples related to the segment availability timeline and / or MPD discussed herein, any manifest file describing segment availability can be replaced. Various embodiments may allow delay adjustment messages and modified MPDs to be generated when the network and receiver device clocks are synchronized or not synchronized. In another embodiment, the delay adjustment message is sent to the application / client (e.g., media on the receiver device) without the client application on the receiver device modifying the segment availability timeline itself. It may be possible to adjust the timing of that request for the segment based on the actual time available to the DASH client that retrieves the segment for the player application.

様々な実施形態では、受信機デバイスプロセッサは、セグメントフラグメントが受信されるにつれて、セグメントフラグメントのセグメントインデックス番号またはベースユニフォームリソース識別子(URI)を監視し、連続的に受信されたセグメントのセグメントインデックス番号またはベースURIを互いと比較することができる。最近のセグメントフラグメントのセグメントインデックス番号またはベースURLが前のセグメントフラグメントのセグメントインデックス番号またはベースURIと異なる(たとえば、セグメントインデックス番号またはベースURIの変更が検出される)とき、最近のセグメントフラグメントは、タイムライン内の次のセグメントの第1のファイル配信オーバー単方向トランスポート(FLUTE:File Delivery Over Unidirectional Transport)ファイル配信テーブル(FDT)など、タイムライン内の次のセグメントの第1のパケットであり得る。受信機デバイスプロセッサ(たとえば、プロセッサ上で実行されるマルチキャストサービスデバイスクライアント)は、次のセグメントをベースセグメントとして識別することができ、第1のFDTなど、第1のパケットの到着時間を使用して、ライムライン内のベースセグメントの利用可能開始時間を修正し、修正された利用可能開始時間に基づいて、後続のセグメントに関するすべての後続の利用可能開始時間をシフトすることができる。このようにして、受信機デバイスプロセッサは、タイムライン内の利用可能開始時間(たとえば、MPD内のAST)を修正して、セグメントの実際の到着時間を考慮することができる。   In various embodiments, the receiver device processor monitors the segment index number or base uniform resource identifier (URI) of the segment fragment as segment fragments are received, and continuously receives segment index numbers or Base URIs can be compared with each other. When the segment index number or base URL of a recent segment fragment is different from the segment index number or base URI of the previous segment fragment (for example, a change in segment index number or base URI is detected), the recent segment fragment It may be the first packet of the next segment in the timeline, such as the first file delivery over unidirectional transport (FLUTE) file delivery table (FDT) of the next segment in the line. A receiver device processor (e.g., a multicast service device client running on the processor) can identify the next segment as a base segment and use the arrival time of the first packet, such as the first FDT. , Modify the available start time of the base segment in the limeline and shift all subsequent available start times for subsequent segments based on the modified available start time. In this way, the receiver device processor can modify the available start time in the timeline (eg, AST in the MPD) to take into account the actual arrival time of the segment.

様々な実施形態では、受信機デバイスプロセッサは、受信されたMPDをクロールし(たとえば、パースし)、すべての期間および表現ペアに対応するURLフォーマットを決定することができる。たとえば、URLフォーマットはフォーマット「XXX$number$YYY」であってよく、ここで、XXXはプレフィックスであり得、YYYはサフィックスであり得、$number$は、セグメントのインデックス番号(たとえば、DASH内のセグメント番号)であり得る。受信機デバイスプロセッサは、この情報を使用して、まず、受信されたセグメントのURLが特定の期間および表現ペアのセグメントURLフォーマットにマッチするかどうかを決定し、次いで、セグメント番号を決定することができる。受信機デバイスプロセッサは、セグメント番号がその期間および表現ペアに対応するセグメントをもたらすかどうかを決定することもでき、実際のセグメント番号を決定することができる。セグメント番号が決定されると、受信機デバイスプロセッサは、そのセグメント番号を前に検出されたセグメント番号と比較することができる。一実施形態では、URLフォーマットは番号ベースのURL方式であってよい。さらなる実施形態では、ベースURLは常に絶対URLであってよい。一実施形態では、利用可能時間計算に調整を加えることによって、baseURL@availabilityTimeOffsetがサポートされ得る。一実施形態では、URLフォーマットまたはURLテンプレートは、セグメント番号ベースではなく、時間ベースであり得る。たとえば、同じ時間持続時間に対応するオーディオセグメントおよびビデオセグメントは、テンプレート内に同じ$time$タグを有し得る。受信機デバイスプロセッサは、各着信セグメントの利用可能開始時間を決定し、各着信セグメントの利用可能開始時間の変更に基づいてベースセグメントを決定することができる。   In various embodiments, the receiver device processor can crawl (eg, parse) the received MPD and determine URL formats corresponding to all time periods and expression pairs. For example, the URL format may be the format “XXX $ number $ YYY”, where XXX can be a prefix, YYY can be a suffix, and $ number $ is the index number of the segment (e.g., in DASH Segment number). The receiver device processor can use this information to first determine whether the received segment URL matches the segment URL format for a particular period and expression pair, and then determine the segment number. it can. The receiver device processor can also determine whether the segment number results in a segment corresponding to that period and expression pair, and can determine the actual segment number. Once the segment number is determined, the receiver device processor can compare the segment number with a previously detected segment number. In one embodiment, the URL format may be a number based URL scheme. In a further embodiment, the base URL may always be an absolute URL. In one embodiment, baseURL @ availabilityTimeOffset may be supported by adjusting the availability time calculation. In one embodiment, the URL format or URL template may be time based rather than segment number based. For example, audio and video segments that correspond to the same time duration may have the same $ time $ tag in the template. The receiver device processor can determine an available start time for each incoming segment and can determine a base segment based on a change in the available start time for each incoming segment.

様々な実施形態では、ベースセグメントの修正された利用可能開始時間は、第1のFDT到着時間+(セグメントごとのセグメントフラグメント(SF)数×マルチキャストチャネル(MCH)スケジューリング期間(MSP))+マージン(M)、または修正された利用可能開始時間=第1のFDT到着時間+(SF*MSP)+Mとして決定され得る。一実施形態では、MSPの値は、受信機デバイスに対して事前プロビジョニングされたデフォルト値であり得る。別の実施形態では、MSPは、セグメントを受信するための一時的モバイルグループ識別子(TMGI)に関連する可変値であり得る。マージン(M)は、受信機デバイスによる処理遅延を考慮するための追加のマージンであってよく、受信機デバイスのメモリ内で事前プロビジョニングされた値として構成され得る。一実施形態では、SFはセルセグメント持続時間/MSPに等しくてよい。SFは、エンコーダおよびブロードキャストシステムにおけるスケジューリング方法において生成されるセグメントサイズの可変性を考慮するために、乗法係数(たとえば、0.8、0.9、1.1、1.2など、1より小さいかまたは大きいが、値の点で0よりも大きい値)によって調整され得る。   In various embodiments, the modified available start time of the base segment is: first FDT arrival time + (number of segment fragments (SF) per segment x multicast channel (MCH) scheduling period (MSP)) + margin ( M), or modified available start time = first FDT arrival time + (SF * MSP) + M. In one embodiment, the MSP value may be a pre-provisioned default value for the receiver device. In another embodiment, the MSP may be a variable value associated with a temporary mobile group identifier (TMGI) for receiving the segment. The margin (M) may be an additional margin to account for processing delays by the receiver device and may be configured as a pre-provisioned value in the receiver device's memory. In one embodiment, SF may be equal to cell segment duration / MSP. SF is a multiplicative factor (e.g., 0.8, 0.9, 1.1, 1.2, etc., less than or greater than 1 to account for the variability in segment size generated in scheduling methods in encoders and broadcast systems. (Value greater than 0).

様々な実施形態では、同じベアラ上で同時にブロードキャストされる、オーディオおよびビデオなどの複数の表現は、インデックス変更を識別して、セグメント利用可能開始時間を修正するための受信機デバイスプロセッサの能力に影響を与えない場合がある。いくつかの実施形態では、2つ以上の表現は、同じ開始インデックスおよび同じセグメント持続時間を有し得る。いくつかの実施形態では、2つ以上の表現は、異なる開始インデックスおよび/または異なるセグメント持続時間を有し得る。別個のオーディオ表現およびビデオ表現は、インデックス値を依然として含んでよく、2つのセグメントがオーディオおよび/またはビデオセグメントであるかどうかにかかわらず、受信機デバイスプロセッサは、次のセグメントのFDT到着時間を追跡するための指示として、インデックス値変更を処理することができる。   In various embodiments, multiple representations, such as audio and video, broadcast simultaneously on the same bearer affect the ability of the receiver device processor to identify index changes and modify segment availability start times. May not be given. In some embodiments, two or more representations may have the same starting index and the same segment duration. In some embodiments, two or more representations may have different starting indexes and / or different segment durations. Separate audio and video representations may still contain index values, and the receiver device processor tracks the FDT arrival time of the next segment regardless of whether the two segments are audio and / or video segments As an instruction to do this, an index value change can be processed.

一実施形態では、受信機デバイスプロセッサは、セグメントフラグメントが受信されるにつれて、セグメントフラグメントのセグメント利用可能時間を監視し、連続的に受信されたセグメントのセグメント利用可能開始時間を互いと比較することができる。最近のセグメントフラグメントのセグメント利用可能開始時間が前のセグメントフラグメントのセグメント利用可能開始時間と異なるとき、最近のセグメントフラグメントは、タイムライン内の次のセグメントの第1のファイル配信オーバー単方向トランスポート(FLUTE)ファイル配信テーブル(FDT)であり得る。受信機デバイスプロセッサ(たとえば、プロセッサ上で実行されるマルチキャストサービスデバイスクライアント)は、次のセグメントをベースセグメントとして識別することができ、その第1のFDTの到着時間を使用して、ライムライン内のベースセグメントの利用可能開始時間を修正し、修正された利用可能開始時間に基づいて、後続のセグメントに関するすべての後続の利用可能開始時間をシフトすることができる。   In one embodiment, the receiver device processor may monitor the segment availability times of the segment fragments and compare the segment availability start times of the continuously received segments with each other as the segment fragments are received. it can. When the segment availability start time of the recent segment fragment is different from the segment availability start time of the previous segment fragment, the recent segment fragment is the first file delivery over one-way transport of the next segment in the timeline ( FLUTE) file delivery table (FDT). A receiver device processor (e.g., a multicast service device client running on the processor) can identify the next segment as a base segment and use its first FDT arrival time to The base segment availability start time can be modified and all subsequent availability start times for subsequent segments can be shifted based on the modified availability start time.

一実施形態では、異なるブロードキャスト表現(たとえば、2sセグメント持続時間におけるオーディオおよび1sセグメント持続時間におけるビデオ)に対するセグメント持続時間が異なるとき、受信機デバイスプロセッサは、調整値を決定するためにのみビデオ表現を使用することができる。受信機デバイスプロセッサは、表現にわたってより高いセグメント持続時間を使用して、その利用可能性が整合され得、かつ同じ計算を適用することができるスーパーセグメントを決定することもできる。受信機デバイスプロセッサは、セグメント持続時間が互いの倍数であるときに調整値を決定するためのみビデオ表現を使用することができる。受信機デバイスプロセッサは、セグメント持続時間が互いの倍数でないとき、セグメント持続時間の最低共通倍数を使用することができる。   In one embodiment, when the segment durations for different broadcast representations (e.g., audio in 2s segment duration and video in 1s segment duration) are different, the receiver device processor only uses the video representation to determine an adjustment value. Can be used. The receiver device processor can also use a higher segment duration across the representation to determine a super segment whose availability can be matched and the same calculations can be applied. The receiver device processor can only use the video representation to determine the adjustment value when the segment duration is a multiple of each other. The receiver device processor can use the lowest common multiple of the segment duration when the segment duration is not a multiple of each other.

様々な実施形態では、受信機デバイスプロセッサが、ユニキャストフェッチがアクティブであると決定するとき、受信機デバイスプロセッサ(たとえば、プロセッサ上で実行されるマルチキャストサービスデバイスクライアント)は、受信機デバイスにおいて受信されたいずれかのセグメントのいずれかのFDTの受信時間を決定することができ、FDTの受信時間に基づいて、そのセグメントの利用可能開始時間を修正することができる。このようにして、次のセグメントが受信されることまたはセグメントインデックス変更を待たずに、MPD内の利用可能時間を速やかにシフトすることができ、より厳密なタイムラインを活用して、より早期にユニキャストを通してセグメント要求するためにユニキャストフェッチが使用されることを可能にし得る。セグメントを記述する第1のブロードキャストFDTに基づいて利用可能性タイムラインを設定することは、セグメントを記述するいずれかのFDTを使用して決定されたタイムラインよりもより厳密なタイムラインを確実にすることができる。たとえば、セグメントを記述する最後のFDTは、概算的に、そのセグメントを記述する第1のFDTよりも遅いセグメント持続時間であり得、セグメント利用可能開始時間を設定するためにそれを使用することは、同じ持続時間の分だけ、セグメントの利用可能性を遅延させ得る。したがって、FDTに遭遇するとすぐにMPDが利用可能にされ得、次のセグメントが受信されることまたはセグメントインデックス変更を待つよりも早期に開始するようにプレイアウトすることを可能にする。一実施形態では、第1の1つまたは複数のセグメントはユニキャストを通してフェッチされ得る。   In various embodiments, when the receiver device processor determines that unicast fetch is active, the receiver device processor (e.g., a multicast service device client executing on the processor) is received at the receiver device. In addition, the reception time of any FDT of any of the segments can be determined, and the available start time of the segment can be corrected based on the reception time of the FDT. In this way, the available time in the MPD can be quickly shifted without waiting for the next segment to be received or the segment index change, making use of a stricter timeline and earlier Unicast fetch may be used to request segments through unicast. Setting the availability timeline based on the first broadcast FDT describing the segment ensures a more accurate timeline than the timeline determined using any FDT describing the segment can do. For example, the last FDT describing a segment can be roughly a segment duration that is slower than the first FDT describing that segment, and using it to set the segment availability start time is The availability of the segment can be delayed by the same duration. Thus, as soon as the FDT is encountered, the MPD can be made available, allowing the playout to start earlier than the next segment is received or waiting for the segment index change. In one embodiment, the first one or more segments may be fetched through unicast.

DASH規格単位のメディアセグメントの利用可能時間は、MPDの利用可能開始時間(AST)(たとえば、MPD内で記述されるすべてのセグメントの利用可能性に関するアンカータイム(anchor time)を表すMPD要素「MPD@availabilityStartTime」内に示された時間)+含有期間のPeriodStart時間+メディアセグメントのMPD利用可能開始時間(AST)(たとえば、そのセグメント自体のAST)+セグメント持続時間の値として決定され得る。様々な実施形態では、識別されたベースセグメントのURIに基づいて、受信機デバイスプロセッサ(たとえば、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアント)は、MPD内のすべての残りのセグメントの対応する利用可能開始時間を決定することができる。一実施形態では、受信機デバイスプロセッサは、第1のFDT到着時間に基づいて決定されたベースセグメントの修正された利用可能開始時間に基づいて、MPDの利用可能開始時間(AST)を修正することができる。たとえば、MPDのASTは、ベースセグメントの期間((セグメント持続時間)×(セグメント数-開始セグメント数))内の修正された利用可能開始時間-PeriodStart時間-利用可能開始時間に等しくなるように修正され得る。様々な実施形態では、前のMPDと同じASTを有するMPD更新を受信するとすぐに、受信機デバイスプロセッサは、前のMPDに関して決定された、修正されたASTにマッチするように、MPD更新のASTを調整することができる。様々な実施形態では、前のMPDとは異なるASTを有するMPD更新を受信するとすぐに、受信機デバイスプロセッサは、第1のFDT到着時間に基づいて決定されたベースセグメントの修正された利用可能開始時間を使用して、MPD更新のASTを調整することができる。様々な実施形態では、異なるASTを有するMPD更新の受信は、新しい利用可能開始時間決定をトリガし得る。   The DASH standard unit media segment availability time is the MPD availability start time (AST) (for example, the MPD element `` MPD '' which represents the anchor time for the availability of all segments described in the MPD. (time indicated in “@availabilityStartTime”) + PeriodStart time of inclusion period + MPD availability start time (AST) of the media segment (eg, AST of the segment itself) + segment duration value. In various embodiments, based on the identified base segment URI, the receiver device processor (e.g., a multicast service device client running on the processor of the receiver device) can identify all remaining segments in the MPD. A corresponding available start time can be determined. In one embodiment, the receiver device processor modifies the MPD availability start time (AST) based on the modified availability start time of the base segment determined based on the first FDT arrival time. Can do. For example, the MPD AST is modified to be equal to the modified available start time-PeriodStart time-available start time within the base segment period ((segment duration) x (number of segments-number of starting segments)) Can be done. In various embodiments, as soon as an MPD update having the same AST as the previous MPD is received, the receiver device processor matches the AST of the MPD update to match the modified AST determined for the previous MPD. Can be adjusted. In various embodiments, upon receiving an MPD update having an AST that is different from the previous MPD, the receiver device processor may initiate a modified availability start of the base segment determined based on the first FDT arrival time. The time can be used to adjust the AST for MPD updates. In various embodiments, receipt of MPD updates with different ASTs may trigger a new available start time determination.

別の実施形態では、受信機デバイスプロセッサは、受信されたセグメントに対応するbaseURL要素のsegmentAvailabilityOffset属性を調整することができる。segmentAvailabilityOffsetパラメータは、計算された利用可能開始時間を修正することができ、利用可能開始時間の代わりに自ら調整され得る。   In another embodiment, the receiver device processor can adjust the segmentAvailabilityOffset attribute of the baseURL element corresponding to the received segment. The segmentAvailabilityOffset parameter can modify the calculated availability start time and can adjust itself instead of the availability start time.

様々な実施形態では、受信機デバイスプロセッサは、ベースセグメントを2つの異なる期間および表現ペアにマッチさせることができる。正確なマッチはより小さないタイムライン調整をもたらす期間および表現ペアであり得るが、これは、その期間および表現ペアはライブストリーミングシステムにおけるタイムライン調整である可能性が高い場合がある。   In various embodiments, the receiver device processor can match the base segment to two different time periods and representation pairs. An exact match may be a period and expression pair that results in a smaller timeline adjustment, which may be likely to be a timeline adjustment in a live streaming system.

様々な実施形態では、受信機デバイスにおけるタイミングドリフトを追跡することができ、タイミングドリフトの検出に応じて、受信機デバイスプロセッサはそのMPDに関する新しい利用可能開始時間を決定することができる。様々な実施形態では、受信機デバイスプロセッサ(たとえば、受信機デバイスプロセッサ上で実行されるマルチキャストサービスデバイスクライアント)によって、DASHクライアントによる失敗したHTTP要求に関連するセグメント番号またはセグメントURIを追跡することができる。セグメント番号またはセグメントURIが追跡されると、受信機デバイスプロセッサは、DASHクライアントによる各後続のHTTP要求が同じセグメント番号またはセグメントURIに関するか、または異なるセグメント番号またはセグメントURIに関するかを決定することができる。   In various embodiments, timing drift at the receiver device can be tracked, and in response to detecting the timing drift, the receiver device processor can determine a new available start time for that MPD. In various embodiments, a receiver device processor (e.g., a multicast service device client running on the receiver device processor) can track a segment number or segment URI associated with a failed HTTP request by a DASH client. . Once the segment number or segment URI is tracked, the receiver device processor can determine whether each subsequent HTTP request by the DASH client is for the same segment number or segment URI or for a different segment number or segment URI .

異なるセグメント番号またはセグメントURIに対するHTTP要求を受信するとすぐに、受信機デバイスプロセッサは、失敗したHTTP要求が消去されたか、または依然として未解決であるかどうか、および要求されたセグメントが現在キャッシュ内に存在するかどうかを決定することができる。失敗したHTTP要求が依然として未解決であり、要求されたセグメントがキャッシュ内にあるとき、受信機デバイス上にタイミングドリフトが生じ、DASHクライアントがそのセグメントの要求を断念した可能性がある(すなわち、ドリフト条件が満たされた)後にそのセグメントを到着させる場合がある。タイミングドリフトが検出された(すなわち、ドリフト条件が満たされた)とき、利用可能開始時間を再計算することができ、タイミングドリフトを考慮するために、受信機デバイスはMPDを修正することができる。   As soon as an HTTP request for a different segment number or segment URI is received, the receiver device processor determines whether the failed HTTP request has been cleared or is still outstanding, and the requested segment is currently in the cache You can decide whether to do it. When a failed HTTP request is still outstanding and the requested segment is in the cache, timing drift may have occurred on the receiver device and the DASH client may have given up on that segment request (i.e. drift The segment may arrive after the condition is met. When timing drift is detected (ie, the drift condition is met), the available start time can be recalculated and the receiver device can modify the MPD to account for timing drift.

一実施形態では、DASHクライアントが多数のHTTP要求を同時に発行するとき(たとえば、メディアストリームのラインエッジを決定するためのスタートアップ時に)セグメントの追跡を回避するために、セグメント持続時間の90%に等しい時間にわたってなど、次のセグメントの追跡を遅延させることができる。さらなる実施形態では、次のセグメント番号が現在の追跡されたセグメントよりも1つ大きいセグメントインデックスであるときのみ、ドリフト条件に対する検査を適用することができる。いくつかの実施形態では、一度に1つのセグメントのみを追跡することができる。他の実施形態では、一度に複数のセグメントを追跡することができる。   In one embodiment, equal to 90% of the segment duration to avoid tracking segments when the DASH client issues multiple HTTP requests simultaneously (e.g., at startup to determine the line edge of the media stream) Tracking of the next segment can be delayed, such as over time. In a further embodiment, the check for the drift condition can only be applied when the next segment number is a segment index that is one greater than the current tracked segment. In some embodiments, only one segment can be tracked at a time. In other embodiments, multiple segments can be tracked at one time.

様々な実施形態では、MPDにおける対応する期間および表現結合に対するセグメントのURLのURLマッチングを利用して、タイミングドリフトが生じたかどうかを決定することができる。一実施形態では、セグメントに関する復号時間からマッチする期間および表現結合に基づくMPDごとのセグメントの利用可能開始時間を減じたものがセグメント持続時間の半分よりも大きいとの決定に応じて、受信機デバイスプロセッサは、タイミングドリフトが生じたと決定し、利用可能開始時間の再計算をトリガすること(すなわち、利用可能開始時間再計算をトリガすること)ができる。別の実施形態では、URLマッチングに少なくとも部分的に基づいてセグメントインデックス変更が生じたとの決定に応じて、タイミングドリフトが決定され得る。一実施形態では、受信されたセグメントから生じるAST変更は、URLマッチングに少なくとも部分的に基づいて決定され得る。AST変更が、1つのセグメント持続時間など、しきい値より大きいことに応じて、受信機デバイスプロセッサは、タイミングドリフトが生じたと決定し、利用可能開始時間再計算をトリガすることができる。   In various embodiments, URL matching of segment URLs to corresponding time periods and expression combinations in the MPD can be utilized to determine if timing drift has occurred. In one embodiment, in response to determining that the decoding start time for the segment minus the available start time of the segment for each MPD based on matching duration and expression combination is greater than half of the segment duration, the receiver device The processor may determine that a timing drift has occurred and trigger a recalculation of the available start time (ie, trigger a reusable start time). In another embodiment, timing drift may be determined in response to determining that a segment index change has occurred based at least in part on URL matching. In one embodiment, the AST change resulting from the received segment may be determined based at least in part on URL matching. In response to the AST change being greater than a threshold, such as one segment duration, the receiver device processor can determine that a timing drift has occurred and trigger an available start time recalculation.

図1は、様々な実施形態とともに使用するのに好適なセルラーネットワークシステム100を示す。セルラーネットワークシステム100は、受信機デバイス102、1つまたは複数のセルラータワーまたは基地局104、ならびに、インターネット110に接続されたサーバ108および112のような、複数のデバイスを含み得る。受信機デバイス102は、CDMA、TDMA、GSM(登録商標)、PCS、3G、4G、LTE、または任意の他のタイプの接続を含む、1つまたは複数のセルラー接続106を介して、セルラータワーまたは基地局104とデータを交換することができる。セルラータワーまたは基地局104は、インターネット110に接続し得るルータと通信していてよい。このようにして、セルラータワーまたは基地局104への接続、および/あるいはインターネット110を介して、受信機デバイス102とサーバ108および112との間でデータが交換され得る。一実施形態では、サーバ108は、DASHクライアントを介した出力のためにMPDおよびセグメントを提供する、コンテンツプロバイダサーバまたはエンコーダであり得る。一実施形態では、サーバ112は、エンコーダからMPDおよびセグメントの出力を受信し、受信機デバイス102へのMPDおよびセグメントのOTA送信を制御できる、ブロードキャストマルチメディアサービスセンター(BMSC)サーバであり得る。もちろん、本明細書で説明する受信機デバイスの機能はOTA送信を参照して説明されることがあるが、これらの機能は、有線送信、ワイヤレス送信、または有線送信とワイヤレス送信の組合せとともに使用されてよい。したがって、OTA送信は必須でない。   FIG. 1 illustrates a cellular network system 100 suitable for use with various embodiments. The cellular network system 100 may include multiple devices, such as a receiver device 102, one or more cellular towers or base stations 104, and servers 108 and 112 connected to the Internet 110. Receiver device 102 may be connected to a cellular tower via one or more cellular connections 106, including CDMA, TDMA, GSM, PCS, 3G, 4G, LTE, or any other type of connection. Data can be exchanged with the base station 104. The cellular tower or base station 104 may be in communication with a router that can connect to the Internet 110. In this way, data can be exchanged between the receiver device 102 and the servers 108 and 112 via a connection to the cellular tower or base station 104 and / or via the Internet 110. In one embodiment, server 108 may be a content provider server or encoder that provides MPDs and segments for output via a DASH client. In one embodiment, the server 112 may be a broadcast multimedia service center (BMSC) server that can receive MPD and segment outputs from an encoder and control OTD transmission of MPDs and segments to the receiver device 102. Of course, the functions of the receiver device described herein may be described with reference to OTA transmission, but these functions are used in conjunction with wired transmission, wireless transmission, or a combination of wired and wireless transmission. It's okay. Therefore, OTA transmission is not mandatory.

図2は、一実施形態による、簡略化された受信機デバイス202のアーキテクチャを示す。受信機デバイス202は、取得、ハンドオフ、リンク維持などのような、受信機デバイス202のすべての無線の態様を管理する、モデムレイヤ208を含み得る。モデムレイヤ208は、受信されたeMBMSベアラ信号を復号し、インターネットプロトコル(IP)パケットをマルチキャストサービスデバイスクライアント(MSDC)206に配信することができる。   FIG. 2 illustrates a simplified receiver device 202 architecture, according to one embodiment. The receiver device 202 may include a modem layer 208 that manages all radio aspects of the receiver device 202, such as acquisition, handoff, link maintenance, and the like. The modem layer 208 can decode the received eMBMS bearer signal and deliver Internet Protocol (IP) packets to the multicast service device client (MSDC) 206.

マルチキャストサービスデバイスクライアント206は、配信されたIPパケットからセグメントを復元し、アプリケーション/DASHクライアント204のようなアプリケーション/クライアントに対してセグメントを利用可能にする、受信機デバイス202のサービスレイヤであり得る。例として、マルチキャストサービスデバイスクライアント206は、受信機デバイス202のオペレーティングシステムの一部であるサービスレイヤであり得る。マルチキャストサービスデバイスクライアント206はまた、配信されたIPパケットからMPDを復元することができる。マルチキャストサービスデバイスクライアント206は、受信機デバイスのメモリ内に受信されたセグメントを記憶することができる。   The multicast service device client 206 may be the service layer of the receiver device 202 that recovers the segment from the delivered IP packet and makes the segment available to applications / clients such as the application / DASH client 204. By way of example, multicast service device client 206 may be a service layer that is part of the operating system of receiver device 202. The multicast service device client 206 can also restore the MPD from the delivered IP packet. The multicast service device client 206 can store the received segment in the memory of the receiver device.

一実施形態では、マルチキャストサービスデバイスクライアント206は、MPDを調整して、修正されたMPDを生成し、受信機デバイスのメモリ内に修正されたMPDを記憶することができ、修正されたMPDをアプリケーション/DASHクライアント204に配信することができる。別の実施形態では、マルチキャストサービスデバイスクライアント206は、MPDに対する遅延調整値を決定し、受信機デバイスのメモリ内に(たとえば、遅延調整メッセージ内に)MPDに対する遅延調整値を記憶し、受信機デバイスのメモリ内にMPDを記憶することができ、MPDとMPDに対する遅延調整値とをアプリケーション/DASHクライアント204に配信することができる。   In one embodiment, the multicast service device client 206 can adjust the MPD to generate a modified MPD and store the modified MPD in the memory of the receiver device. / DASH client 204 can be delivered. In another embodiment, the multicast service device client 206 determines a delay adjustment value for the MPD, stores the delay adjustment value for the MPD in the memory of the receiver device (eg, in a delay adjustment message), and the receiver device MPD can be stored in the memory, and the MPD and the delay adjustment value for MPD can be distributed to the application / DASH client 204.

アプリケーション/DASHクライアント204は、DASH対応アプリケーション、および/または、(直接、かつ/または、メディアプレーヤのような別のアプリケーションを介して)メディアを表示するためにDASHクライアントを起動するアプリケーションであり得る。一実施形態では、アプリケーション/DASHクライアント204は、マルチキャストサービスデバイスクライアント206から修正されたMPDの位置(たとえば、ユニフォームリソースロケータ(URL))を取得し、マルチキャストサービスデバイスクライアント206から修正されたMPDを要求し受信することができ、修正されたMPD内の利用可能性タイムラインごとに、マルチキャストサービスデバイスクライアント206からのセグメントを要求することができる。別の実施形態では、アプリケーション/DASHクライアント204は、マルチキャストサービスデバイスクライアント206からMPDの位置(たとえば、ユニフォームリソースロケータ(URL))とMPDの位置(たとえば、URL)に対する遅延調整値とを取得し、マルチキャストサービスデバイスクライアント206からMPDとMPDに対する遅延調整値とを要求して受信し、MPDに対する遅延調整値に従ってMPDを修正して修正されたMPDを生成することができ、修正されたMPD内の利用可能性タイムラインごとにマルチキャストサービスデバイスクライアント206からのセグメントを要求することができる。アプリケーション/DASHクライアント204は、マルチキャストサービスデバイスクライアント206から要求されたセグメントを受信することができ、セグメントのコンテンツを(直接、かつ/または、メディアプレーヤのような別のアプリケーションを介して)レンダリングすることができる。   The application / DASH client 204 may be a DASH-enabled application and / or an application that launches the DASH client to display media (directly and / or through another application such as a media player). In one embodiment, the application / DASH client 204 obtains the modified MPD location (e.g., uniform resource locator (URL)) from the multicast service device client 206 and requests the modified MPD from the multicast service device client 206. A segment from the multicast service device client 206 can be requested for each availability timeline in the modified MPD. In another embodiment, the application / DASH client 204 obtains an MPD location (e.g., uniform resource locator (URL)) and a delay adjustment value for the MPD location (e.g., URL) from the multicast service device client 206, and Request and receive MPD and delay adjustment value for MPD from multicast service device client 206, modify MPD according to delay adjustment value for MPD and generate modified MPD, use in modified MPD A segment from the multicast service device client 206 can be requested for each possible timeline. Application / DASH client 204 can receive the requested segment from multicast service device client 206 and render the content of the segment (directly and / or through another application such as a media player) Can do.

一実施形態では、MPDに対する遅延調整値を決定するために使用されるマルチキャストサービスデバイスクライアント206の機能は、クライアント206に統合されてよく、クライアント206は、遅延調整値を決定し、かつ/または、MPD自体を修正することができる。   In one embodiment, the functionality of the multicast service device client 206 used to determine the delay adjustment value for the MPD may be integrated into the client 206, where the client 206 determines the delay adjustment value and / or The MPD itself can be modified.

図3Aは、一実施形態による、セグメント配信経路に沿った、MPDのようなセグメント利用可能性タイムラインに対して行われ得る、配信調整を示す。セグメント配信経路は、エンコーダ302、BMSC 304、受信機デバイスのマルチキャストサービスデバイスクライアント306、および受信機デバイスのDASHクライアント308を含み得る。エンコーダ302は、メディアコンテンツをセグメントへと符号化し、セグメントを定期的にBMSC 304に配信することができる。たとえば、セグメントは、eMBMSゲートウェイを介して、エンコーダ302からBMSC 304に定期的に配信され得る。BMSC 304は、ベアラを通じて(たとえば、OTAブロードキャストを介して)セグメントを受信し、セグメントをブロードキャストすることができる。一実施形態では、ヘッドエンドのレイテンシおよびジッタは知られていることがある。受信機デバイス内に存在するマルチキャストサービスデバイスクライアント306はモデムを介してセグメントを受信することができ、マルチキャストサービスデバイスクライアント306は、セグメントを処理して(たとえば、セグメントを復号して、FECを適用してなど)、セグメントを受信機デバイス上に存在するDASHクライアント308に利用可能にすることができる。DASHクライアント308は、セグメントを受信機デバイスのアプリケーション(たとえば、メディアプレーヤ)またはコーデックに提供して、受信機デバイスによるメディアコンテンツの出力を可能にし得る。   FIG. 3A illustrates distribution adjustments that may be made to a segment availability timeline, such as MPD, along a segment distribution path, according to one embodiment. The segment delivery path may include an encoder 302, a BMSC 304, a receiver device multicast service device client 306, and a receiver device DASH client 308. The encoder 302 can encode the media content into segments and deliver the segments to the BMSC 304 periodically. For example, segments can be delivered periodically from encoder 302 to BMSC 304 via an eMBMS gateway. The BMSC 304 may receive the segment through the bearer (eg, via OTA broadcast) and broadcast the segment. In one embodiment, headend latency and jitter may be known. A multicast service device client 306 residing in the receiver device can receive the segment via the modem, and the multicast service device client 306 processes the segment (e.g., decodes the segment and applies FEC). The segment may be made available to the DASH client 308 residing on the receiver device. The DASH client 308 may provide the segment to an application (eg, media player) or codec on the receiver device to allow output of media content by the receiver device.

セグメントを生成することに加えて、エンコーダ302は、MPD 310を生成することができる。エンコーダにより生成されたMPD 310は、エンコーダ302によって生成された、かつ/または生成されることになるセグメント、セグメントの長さ(たとえば、サイズ)、およびセグメントの利用可能開始時間を列挙し得る。一実施形態では、エンコーダにより生成されるMPD 310の中の利用可能開始時間は、エンコーダ302により生成されるセグメントの出力時間に対応し得る。エンコーダ302は、生成されたMPD 310をBMSC 304に提供することができる。一実施形態では、BMSC 304は、生成されたMPD 310を受信し、あらゆるOTA配信遅延(たとえば、ネットワークジッタ)を考慮するようにセグメント利用可能性タイムラインを調整して、MPD 312を生成することができる。BMSC 304は、MPD 312を受信機デバイスに送信することができる。MPD 312は、セグメントのOTA利用可能開始時間に対応するセグメント利用可能開始時間を列挙し得る。   In addition to generating segments, encoder 302 can generate MPD 310. The MPD 310 generated by the encoder may enumerate the segments generated and / or to be generated by the encoder 302, the segment length (eg, size), and the available start time of the segment. In one embodiment, the available start time in MPD 310 generated by the encoder may correspond to the segment output time generated by encoder 302. The encoder 302 can provide the generated MPD 310 to the BMSC 304. In one embodiment, the BMSC 304 receives the generated MPD 310 and adjusts the segment availability timeline to account for any OTA delivery delay (e.g., network jitter) to generate the MPD 312. Can do. The BMSC 304 can send MPD 312 to the receiver device. The MPD 312 may enumerate the segment availability start time corresponding to the segment's OTA availability start time.

一実施形態では、受信機デバイスはMPD 312を受信することができ、受信機デバイスのマルチキャストサービスデバイスクライアント306は、受信機デバイスの遅延(たとえば、処理遅延、受信機デバイスのクロックドリフトのマージンなど)に基づいて、ローカル受信機デバイスのクロックごとに利用可能開始時間を調整して、受信機デバイスにおけるセグメントに対する実際の推定される利用可能開始時間を列挙する修正されたMPD 314を生成することができる。マルチキャストサービスデバイスクライアント306は、修正されたMPD 314をDASHクライアント308に提供することができ、DASHクライアントは、MPD内のセグメント利用可能開始時間を使用して、受信機デバイスのクロックを使用して受信機デバイスのローカルHTTPサーバからのセグメントを要求することができる。別の実施形態では、受信機デバイスのマルチキャストサービスデバイスクライアント306は、受信機デバイスの遅延(たとえば、処理遅延、クロックドリフトなど)に基づいて、ローカル受信機デバイスのクロックごとにMPD 312内の利用可能開始時間を調整し、DASHクライアント308に送られるあらゆるMPDとは別個に、利用可能開始時間に対する調整をDASHクライアント308に通信することができる。さらなる実施形態では、マルチキャストサービスデバイスクライアント306によって行われる調整は、表示がユニキャスト送信を介して受信されたかブロードキャスト送信を介して受信されたか、および/または、各表示のセグメントサイズに基づいて変化し得る。   In one embodiment, the receiver device can receive the MPD 312 and the receiver device's multicast service device client 306 receives the receiver device delay (e.g., processing delay, receiver device clock drift margin, etc.). To adjust the available start time for each clock of the local receiver device to generate a modified MPD 314 that enumerates the actual estimated available start time for the segment at the receiver device. . The multicast service device client 306 can provide the modified MPD 314 to the DASH client 308, which receives using the receiver device clock using the segment available start time in the MPD. You can request a segment from the local HTTP server of the device. In another embodiment, the multicast service device client 306 of the receiver device is available in the MPD 312 for each local receiver device clock based on the receiver device delay (eg, processing delay, clock drift, etc.). The start time can be adjusted and, independently of any MPD sent to the DASH client 308, an adjustment to the available start time can be communicated to the DASH client 308. In further embodiments, the adjustments made by multicast service device client 306 vary based on whether the indication was received via unicast transmission or via broadcast transmission and / or based on the segment size of each indication. obtain.

図3Bは、別の実施形態による、セグメント配信経路に沿った、MPDのようなセグメント利用可能性タイムラインに対して行われ得る、配信調整を示す。図3Bに示される配信調整は、図3Bではマルチキャストサービスデバイスクライアント306がDASHクライアント308に送信する前にMPDを修正できないことを除き、図3Aを参照して上記で説明したものと同様である。   FIG. 3B illustrates distribution adjustments that may be made to a segment availability timeline, such as MPD, along a segment distribution path, according to another embodiment. The distribution adjustment shown in FIG. 3B is similar to that described above with reference to FIG. 3A, except that in FIG. 3B, the multicast service device client 306 cannot modify the MPD before sending it to the DASH client 308.

一実施形態では、受信機デバイスはMPD 312を受信することができ、受信機デバイスのマルチキャストサービスデバイスクライアント306はセグメント利用可能開始時間を修正することなくMPD 312をDASHクライアント308に提供することができる。一実施形態では、マルチキャストサービスデバイスクライアント306は、受信機デバイスの遅延(たとえば、処理遅延、クロックドリフトなど)に基づいてローカル受信機のデバイスのクロックごとに利用可能開始時間を調整し遅延調整値を列挙する遅延調整メッセージ316を生成するために使用され得る、遅延調整値を決定することができる。マルチキャストサービスデバイスクライアント306は、遅延調整メッセージをDASHクライアント308に提供することができる。   In one embodiment, the receiver device can receive the MPD 312 and the multicast service device client 306 of the receiver device can provide the MPD 312 to the DASH client 308 without modifying the segment availability start time. . In one embodiment, the multicast service device client 306 adjusts the available start time for each clock of the local receiver device based on the delay of the receiver device (e.g., processing delay, clock drift, etc.) and sets the delay adjustment value. A delay adjustment value can be determined that can be used to generate the enumerating delay adjustment message 316. The multicast service device client 306 can provide a delay adjustment message to the DASH client 308.

一実施形態では、DASHクライアント308は、遅延調整メッセージ316内の遅延調整指示を使用して、MPD 312内のセグメント利用可能開始時間を修正して、修正されたMPD 314を生成することができる。DASHクライアント308は、受信機デバイスのクロックを使用して、受信機デバイスのローカルHTTPサーバからセグメントを要求することができる。別の実施形態では、DASHクライアント308は、遅延調整メッセージ316を受信し、遅延調整メッセージ316を使用して、修正されたMPD 314を生成することなく受信機デバイスのローカルHTTPサーバからのセグメントに対する要求を修正することができる。   In one embodiment, the DASH client 308 can use the delay adjustment indication in the delay adjustment message 316 to modify the segment availability start time in the MPD 312 to generate a modified MPD 314. The DASH client 308 can request a segment from the local HTTP server of the receiver device using the clock of the receiver device. In another embodiment, the DASH client 308 receives the delay adjustment message 316 and uses the delay adjustment message 316 to request a segment from the local HTTP server of the receiver device without generating a modified MPD 314. Can be corrected.

図4は、ネットワーク400の種々の部分における2つの例示的な配信経路遅延Δ1およびΔ2間の関係を示す。エンコーダ402からのコンテンツは、エンコーダ402からセグメンタ404へと流れ、種々のBMSC、すなわちBMSC1およびBMSC2、ならびにそれぞれのeノードB、すなわちeNB1.1、eNB1.2、eNB1.n、eNB2.1、eNB2.2、eNB2.nなどによってサービスされるネットワーク406、408の2つの異なる部分に提供され得る。eノードBのeNB1.2は、第1の部分406において受信機デバイス1(410)にコンテンツを提供することができ、eノードBのeNB2.2は第2の部分408において受信機デバイス2(412)にコンテンツを提供することができる。ネットワーク400の展開において、ネットワーク部分406および408は、異なるインフラストラクチャベンダーによって管理可能であり、かつ/または異なるマルチキャストブロードキャスト単一周波数ネットワーク(MBSFN:Multicast-broadcast single-frequency network)であり得る。   FIG. 4 shows the relationship between two exemplary delivery path delays Δ1 and Δ2 in various parts of the network 400. Content from the encoder 402 flows from the encoder 402 to the segmenter 404, and various BMSCs, ie BMSC1 and BMSC2, and their respective eNodeBs, ie eNB1.1, eNB1.2, eNB1.n, eNB2.1, eNB2 .2, can be provided to two different parts of the network 406, 408 served by eNB2.n, etc. The eNB B eNB 1.2 can provide content to the receiver device 1 (410) in the first portion 406, and the eNode B eNB 2.2 in the second portion 408 can receive the receiver device 2 ( 412) can provide content. In a network 400 deployment, network portions 406 and 408 can be managed by different infrastructure vendors and / or can be different multicast broadcast single-frequency networks (MBSFN).

経路遅延Δ1は、BMSC1に関する処理遅延であり得、BMSC1からそれぞれのeノードB、すなわちeNB1.1、eNB1.2、eNB1.nを通して受信機デバイス1(410)にセグメントを提供する際にこの遅延を経験し得る。経路遅延Δ2は、BMSC2に関する処理遅延であり得、BMSC2からそれぞれのeノードB、すなわちeNB2.1、eNB2.2、eNB2.nを通して受信機デバイス2(412)にセグメントを提供する際にこの遅延を経験し得る。第1の部分406における経路遅延Δ1は、第2の部分408における経路遅延Δ2とは異なり得る。したがって、コンテンツの同じセグメントは、異なる部分406、408における異なる経路遅延Δ1およびΔ2のために、コンテンツが受信機デバイス2(412)において利用可能となり得るのとは異なる時間に、受信機デバイス1(410)において利用可能となり得る。異なる経路遅延Δ1およびΔ2は、複数のインフラストラクチャベンダーによるネットワーク展開および/または同じコンテンツに関して異なるMSPを使用する異なるMBSFN間の受信機デバイスモビリティを含めて、様々な要因によって引き起こされる可能性がある。   The path delay Δ1 can be the processing delay for BMSC1 and this delay in providing segments from BMSC1 to receiver device 1 (410) through the respective eNodeBs, i.e. eNB1.1, eNB1.2, eNB1.n. Can experience. The path delay Δ2 can be the processing delay for BMSC2, and this delay in providing the segment from BMSC2 to the receiver device 2 (412) through the respective eNodeB, i.e. eNB2.1, eNB2.2, eNB2.n. Can experience. The path delay Δ1 in the first portion 406 may be different from the path delay Δ2 in the second portion 408. Thus, the same segment of content is received at different times of the receiver device 1 (at different times when the content may be available at receiver device 2 (412) due to the different path delays Δ1 and Δ2 in the different portions 406, 408 410) may be available. Different path delays Δ1 and Δ2 can be caused by various factors, including network deployment by multiple infrastructure vendors and / or receiver device mobility between different MBSFNs using different MSPs for the same content.

経路遅延がネットワーク400に対する推定最悪状況遅延よりも小さいとき、受信機デバイス1(410)または受信機デバイス2(412)におけるコンテンツのセグメントの実際の利用可能開始時間は、受信機デバイスに提供されるMPDに列挙された利用可能開始時間よりも早いものとなり得る。たとえば、いくつかの同期ネットワーク展開では、経路遅延Δ1は、経路遅延Δ2より短い場合があり、ネットワーク内の最長経路遅延(たとえば、Δ2)を考慮するために、ネットワーク内のMPDは、利用可能開始時間を同期させて、より長い経路遅延Δ2に相当する利用可能開始時間にマッチさせることができる。そのような例では、受信機デバイス2(412)内のセグメント利用可能性タイムラインは、ほぼΔ2〜Δ1によってオフセット可能であり、受信機デバイス1(410)は、再生開始の前に少なくともΔ2〜Δ1に対する第1の受信されたセグメントを不必要に記憶する場合がある。様々な実施形態によって、受信機デバイス1(410)および/または受信機デバイス2(412)は、それらの実際に経験する経路遅延Δ1および/またはΔ2を考慮し、コンテンツのセグメントが実際に利用可能となり得るときにそれらを要求することが可能となり得る。   When the path delay is less than the estimated worst case delay for network 400, the actual available start time of the segment of content at receiver device 1 (410) or receiver device 2 (412) is provided to the receiver device. It can be earlier than the available start times listed in the MPD. For example, in some synchronous network deployments, the path delay Δ1 may be shorter than the path delay Δ2, and the MPD in the network starts to be available to account for the longest path delay in the network (eg, Δ2) Times can be synchronized to match the available start time corresponding to a longer path delay Δ2. In such an example, the segment availability timeline in receiver device 2 (412) can be offset by approximately Δ2 to Δ1, and receiver device 1 (410) is at least Δ2 to The first received segment for Δ1 may be stored unnecessarily. According to various embodiments, receiver device 1 (410) and / or receiver device 2 (412) may take into account their actual experienced path delay Δ1 and / or Δ2 and the segment of content is actually available It may be possible to request them when possible.

図5Aは、決定された第1のFDT受信時間に基づくセグメントインデックス変更に応じて、セグメント利用可能開始時間を修正するための一実施形態の方法500aを示す。一実施形態では、方法500aの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法500aの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。   FIG. 5A illustrates an embodiment method 500a for modifying a segment availability start time in response to a segment index change based on a determined first FDT reception time. In one embodiment, the operations of method 500a may be performed by a multicast service device client running on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 500a may be performed by a client application running on the processor of the receiver device, such as a DASH client.

ブロック502において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDを受信することができる。一実施形態では、受信機デバイスは、OTA送信を介してMPDを受信することができる。一実施形態では、MPDは、ネットワークから受信されてよく、ヘッドエンドは、MPD内にセグメントの利用可能開始時間を設定することができる。一実施形態では、MPD内の利用可能開始時間は、ネットワークによって設定されてよく、セグメントを生成するエンコーダから受信機デバイスまでの最悪の場合のエンドツーエンドの転送遅延を考慮し得る。一実施形態では、クライアントアプリケーションは、マルチキャストサービスデバイスクライアントを介してMPDを受信することができる。ブロック504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD内で記述される1つまたは複数のセグメントに関する1つまたは複数のセグメントフラグメントを受信することができる。たとえば、セグメントフラグメントは、マルチキャストチャネル(MCH)スケジューリング期間(MSP)中に受信されたOTAであり得る。   At block 502, the multicast service device client or client application may receive the MPD. In one embodiment, the receiver device can receive the MPD via an OTA transmission. In one embodiment, the MPD may be received from the network and the headend may set an available start time for the segment in the MPD. In one embodiment, the available start time in the MPD may be set by the network and may account for the worst case end-to-end transfer delay from the encoder generating the segment to the receiver device. In one embodiment, the client application can receive the MPD via a multicast service device client. At block 504, the multicast service device client or client application may receive one or more segment fragments for one or more segments described in the MPD. For example, the segment fragment may be an OTA received during a multicast channel (MCH) scheduling period (MSP).

決定ブロック506において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントインデックス変更が生じたかどうかを決定することができる。一実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、2つの連続的に受信されたセグメントフラグメント内に示されたセグメントインデックスを互いに比較することによって、セグメントインデックス変更が生じたかどうかを決定することができ、セグメントインデックス変更は、連続的に受信されたセグメントフラグメントのセグメントインデックス間のミスマッチによって示すことができる。様々な実施形態では、各々が関連付けられるセグメントのタイプ(たとえば、ビデオまたはオーディオ)にかかわらず、受信されたセグメントフラグメントを互いと比較することができる。セグメントインデックス変更が生じていないとの決定(すなわち、決定ブロック506=「No」)に応じて、ブロック504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントフラグメントを受信し続けることができる。   At decision block 506, the multicast service device client or client application can determine whether a segment index change has occurred. In one embodiment, a multicast service device client or client application may determine whether a segment index change has occurred by comparing the segment indexes indicated in two consecutively received segment fragments with each other. The segment index change can be indicated by a mismatch between the segment indexes of consecutively received segment fragments. In various embodiments, received segment fragments can be compared to each other regardless of the type of segment (eg, video or audio) each is associated with. In response to a determination that no segment index change has occurred (ie, decision block 506 = “No”), at block 504, the multicast service device client or client application may continue to receive segment fragments.

セグメントインデックス変更が生じたとの決定(すなわち、決定ブロック506=「Yes」)に応じて、ブロック508において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信された最新セグメントをベースセグメントとして設定することができる。一実施形態では、受信された最新セグメントは、最高インデックス番号を有するセグメントであり得る。ブロック510において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ベースセグメントに関する第1のFDTを受信することができる。ブロック512において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、第1のFDT受信時間(1stFDTArrivalTimeBaseSegment)を決定することができる。一実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、第1のFDT受信時間(1stFDTArrivalTimeBaseSegment)としてベースセグメントに関する第1のFDT内で記述されたように、ベースセグメントに対応するオブジェクトの第1のパケットの受信時間を決定することができる。   In response to a determination that a segment index change has occurred (ie, decision block 506 = “Yes”), at block 508, the multicast service device client or client application may set the latest segment received as the base segment. . In one embodiment, the latest segment received may be the segment with the highest index number. At block 510, the multicast service device client or client application may receive a first FDT for the base segment. In block 512, the multicast service device client or client application may determine a first FDT reception time (1stFDTArrivalTimeBaseSegment). In one embodiment, the multicast service device client or client application has the first packet of the object corresponding to the base segment as described in the first FDT for the base segment as the first FDT reception time (1stFDTArrivalTimeBaseSegment). Can be determined.

ブロック514において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、
AvailabilitySBASE=1stFDTArrivalTimeBaseSegment+(SF*MSP)+M
など、第1のFDT受信時間(たとえば、((1stFDTArrivalTimeBaseSegment)+(セグメントごとのセグメントフラグメント(SF)の数×MSP)+マージン(M)として、ベースセグメントに関して調整された利用可能開始時間(たとえば、AvailabilitySBASE))を決定することができる。一実施形態では、MSPの値は、受信機デバイスに対して事前に準備されたデフォルト値であり得る。別の実施形態では、MSPは、セグメントを受信するための一時的モバイルグループ識別子(TMGI)に関連する可変値であり得る。マージン(M)は、受信機デバイスによる処理遅延を考慮するための追加のマージンであってよく、受信機デバイスのメモリ内で事前に準備され得る。一実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ベースセグメントに対応するオブジェクトの第1のパケットの受信時間に少なくとも部分的に基づいて、ベースセグメントの調整された利用可能開始時間を決定することができる。
In block 514, the multicast service device client or client application
Availability SBASE = 1stFDTArrivalTimeBaseSegment + (SF * MSP) + M
First FDT reception time (e.g., ((1stFDTArrivalTimeBaseSegment) + (number of segment fragments (SF) per segment x MSP) + margin (M) Availability SBASE) ) can be determined.In one embodiment, the value of the MSP can be a default value prepared in advance for the receiver device.In another embodiment, the MSP receives the segment. It may be a variable value associated with a temporary mobile group identifier (TMGI) for the margin, and the margin (M) may be an additional margin to account for processing delays by the receiver device, In one embodiment, a multicast service device client or client application is associated with a base segment. Based at least in part on the received time of the first packet of objects, it is possible to determine the adjusted available starting time of the base segment.

ブロック516において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ベースセグメントに関する調整された利用可能開始時間(AvailabilitySBASE)と受信されたMPD内のベースセグメントの利用可能開始時間との間の差として遅延調整値を決定することができる。ブロック518において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、処理遅延調整値の分だけ、MPD内のセグメントの利用可能開始時間をシフトすることができる。このようにして、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間をシフトして、セグメントが受信機デバイスにおいて実際にいつ利用可能であり得るかを反映することができる。 At block 516, the multicast service device client or client application determines the delay adjustment value as a difference between the adjusted availability start time for the base segment (AvailabilityS BASE ) and the base segment availability start time in the received MPD. Can be determined. At block 518, the multicast service device client or client application may shift the available start time of the segment in the MPD by the processing delay adjustment value. In this way, the multicast service device client or client application can shift the availability start time to reflect when a segment may actually be available at the receiver device.

任意選択のブロック520において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに対して利用可能なメモリ内に、修正されたMPDを記憶することができる。一実施形態では、修正されたMPDを記憶するステップは、いくつかまたはすべてのMPDが記憶されるURLと関連付けられる受信機デバイス上のメモリ位置内に、修正されたMPDを記憶するステップを含み得る。別の実施形態では、クライアントアプリケーションは、修正されたMPDを別個のメモリ位置に特に記憶しなくてよい。むしろ、任意選択のブロック522において、クライアントアプリケーションは、修正されたMPDを使用して、シフトされた利用可能開始時間においてセグメントを要求するだけであってよい。   In optional block 520, the multicast service device client or client application may store the modified MPD in memory available to the multicast service device client or client application. In one embodiment, storing the modified MPD may include storing the modified MPD in a memory location on the receiver device associated with the URL where some or all of the MPDs are stored. . In another embodiment, the client application may not specifically store the modified MPD in a separate memory location. Rather, at optional block 522, the client application may only request a segment at the shifted available start time using the modified MPD.

図5Bは、決定された第1のFDT受信時間に基づくセグメントインデックス変更に応じて、遅延調整メッセージを生成するための一実施形態の方法500bを示す。方法500bは、セグメント利用可能性タイムラインのシフトを示す遅延調整メッセージがセグメント利用可能性タイムラインを必ずしもシフトすることなく生成され得ることを除き、図5Aを参照して上記で説明した方法500aと同様である。一実施形態では、方法500bの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法500bの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。ブロック502、504、506、508、510、512、514、および516において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図5Aを参照して上で説明した方法500aの同様に番号が付けられたブロックの動作を実行して、遅延調整値を決定することができる。   FIG. 5B illustrates an embodiment method 500b for generating a delay adjustment message in response to a segment index change based on the determined first FDT reception time. The method 500b is similar to the method 500a described above with reference to FIG.5A, except that a delay adjustment message indicating a shift of the segment availability timeline can be generated without necessarily shifting the segment availability timeline. It is the same. In one embodiment, the operations of method 500b may be performed by a multicast service device client running on the processor of the receiver device, such as a smartphone. In another embodiment, the operations of method 500b may be performed by a client application running on the processor of the receiver device, such as a DASH client. In blocks 502, 504, 506, 508, 510, 512, 514, and 516, the multicast service device client or client application is the same as the numbered block of the method 500a described above with reference to FIG. 5A. An operation can be performed to determine the delay adjustment value.

ブロック524において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、遅延調整メッセージ内に遅延調整の指示を記憶することができる。一実施形態では、遅延調整メッセージは、クライアントアプリケーションが、受信機デバイスにおけるセグメント利用可能性を考慮するように、1つまたは複数のセグメントの利用可能開始時間をシフトするために使用され得る遅延調整値を決定するのに使用できる、データファイルであり得る。一実施形態では、遅延調整メッセージは、いくつかまたはすべての遅延調整メッセージが記憶されるURLと関連付けられる受信機デバイス上のメモリ位置内に記憶され得る。任意選択のブロック526において、マルチキャストサービスデバイスクライアントは、1つまたは複数のセグメントの利用可能開始時間をシフトする際にクライアントアプリケーションが使用するために、遅延調整メッセージをクライアントアプリケーションに送ることができる。別の実施形態では、遅延調整メッセージは送信されなくてよく、むしろ、クライアントアプリケーションによって必要に応じて、その記憶されたメモリ位置においてアクセスされてよく、またはそこから要求されてよい。   At block 524, the multicast service device client or client application may store a delay adjustment indication in the delay adjustment message. In one embodiment, the delay adjustment message is a delay adjustment value that can be used by a client application to shift the available start time of one or more segments to take into account the segment availability at the receiver device. It can be a data file that can be used to determine In one embodiment, the delay adjustment message may be stored in a memory location on the receiver device associated with the URL where some or all of the delay adjustment messages are stored. In optional block 526, the multicast service device client may send a delay adjustment message to the client application for use by the client application in shifting the available start time of one or more segments. In another embodiment, the delay adjustment message may not be sent, but rather may be accessed or requested from the stored memory location as needed by the client application.

図6Aは、決定された第1のFDT受信時間に基づくベースURL変更に応じて、セグメント利用可能開始時間を修正するための一実施形態の方法600aを示す。方法600aは、新しいセグメントからのセグメントフラグメントを示すセグメントインデックス変更が受信されるのではなく、セグメント間のbaseURL変更は、新しいセグメントに関するセグメントフラグメントが受信されていることを示し得ることを除いて、図5Aを参照して上記で説明した方法500aと同様である。一実施形態では、方法600aの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法600aの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。ブロック502および504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図5Aを参照して上記で説明した方法500aの同様に番号付けされたブロックの動作を実行することができる。   FIG. 6A illustrates an embodiment method 600a for modifying a segment availability start time in response to a base URL change based on a determined first FDT reception time. Method 600a does not receive a segment index change indicating a segment fragment from a new segment, but a baseURL change between segments may indicate that a segment fragment for the new segment is being received. Similar to method 500a described above with reference to 5A. In one embodiment, the operations of method 600a may be performed by a multicast service device client running on the processor of the receiver device, such as a smartphone. In another embodiment, the operations of method 600a may be performed by a client application running on the processor of the receiver device, such as a DASH client. In blocks 502 and 504, the multicast service device client or client application may perform the similarly numbered block operations of the method 500a described above with reference to FIG. 5A.

ブロック507において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、baseURL変更が生じたかどうかを決定することができる。一実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、2つの連続的に受信されたセグメントフラグメント内に示されたbaseURLを互いに比較することによって、baseURL変更が生じたかどうかを決定することができ、baseURL変更は、連続的に受信されたセグメントフラグメントのbaseURL間のミスマッチによって示すことができる。たとえば、セグメントの各セグメントフラグメントに関するURL全体は一意であり得るが、URLの初期部分を形成するbaseURLは共通のセグメントの各セグメントフラグメントに関して同じであり得る。したがって、baseURL(たとえば、URLの初期部分)の変更は、新しいセグメントのフラグメントが受信されていることを示し得る。baseURLが変更していないとの決定(すなわち、決定ブロック507=「No」)に応じて、ブロック504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントフラグメントを受信し続けることができる。baseURLが変更したとの決定(すなわち、決定ブロック507=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図5Aを参照して上記で説明した方法500aの同様に番号付けされたブロック508、510、512、514、516、518、520、および522の動作を実行することができる。   At block 507, the multicast service device client or client application may determine whether a baseURL change has occurred. In one embodiment, a multicast service device client or client application can determine whether a baseURL change has occurred by comparing the baseURLs indicated in two consecutively received segment fragments with each other, A baseURL change can be indicated by a mismatch between the baseURLs of consecutively received segment fragments. For example, the entire URL for each segment fragment of a segment can be unique, but the baseURL that forms the initial portion of the URL can be the same for each segment fragment of a common segment. Thus, a change in baseURL (eg, the initial portion of the URL) may indicate that a new segment fragment has been received. In response to determining that the baseURL has not changed (ie, decision block 507 = “No”), at block 504, the multicast service device client or client application may continue to receive segment fragments. In response to a determination that the baseURL has changed (ie, decision block 507 = “Yes”), the multicast service device client or client application is numbered similarly to the method 500a described above with reference to FIG. 5A. The operations of blocks 508, 510, 512, 514, 516, 518, 520, and 522 can be performed.

図6Bは、決定された第1のFDT受信時間に基づくベースURL変更に応じて、遅延調整メッセージを生成するための一実施形態の方法600bを示す。実施形態の方法600bは、セグメント利用可能性タイムライン内のシフトを示す遅延調整メッセージがセグメント利用可能性タイムラインを必ずしもシフトすることなく生成され得ることを除き、図6Aを参照して上記で説明した方法600aと同様である。一実施形態では、方法600bの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法600bの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。ブロック502、504、507、508、510、512、514、および516において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図6Aを参照して上記で説明した方法600aの同様に番号が付けられたブロックの動作を実行して、遅延調整値を決定することができる。ブロック524および526において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、遅延調整ファイルを記憶して、送るために、図5Bを参照して上記で説明した方法500bの同様に番号付けされたブロックの動作を実行することができる。一実施形態では、方法600bの動作は、それぞれ、図5Aおよび図5Bを参照して上述した方法500aおよび500bの動作と平行してマルチキャストサービスデバイスクライアントまたはクライアントアプリケーションによって実行され得る。   FIG. 6B illustrates an embodiment method 600b for generating a delay adjustment message in response to a base URL change based on the determined first FDT reception time. The method 600b of the embodiment is described above with reference to FIG. 6A, except that a delay adjustment message indicating a shift in the segment availability timeline can be generated without necessarily shifting the segment availability timeline. This is the same as the method 600a. In one embodiment, the operations of method 600b may be performed by a multicast service device client executing on a processor of the receiver device, such as a smartphone. In another embodiment, the operations of method 600b may be performed by a client application that runs on the processor of the receiver device, such as a DASH client. In blocks 502, 504, 507, 508, 510, 512, 514, and 516, the multicast service device client or client application is responsible for the similarly numbered blocks of method 600a described above with reference to FIG. 6A. An operation can be performed to determine the delay adjustment value. In blocks 524 and 526, the multicast service device client or client application performs the similarly numbered block operations of the method 500b described above with reference to FIG. 5B to store and send the delay adjustment file. Can be executed. In one embodiment, the operations of method 600b may be performed by a multicast service device client or client application in parallel with the operations of methods 500a and 500b described above with reference to FIGS. 5A and 5B, respectively.

図7は、一実施形態による利用可能性タイムライン、MPD利用可能開始時間、送信時間、および到達時間を示す。図7に示すように、セグメント1、2、3、4、および5はソースからBMSCに送られてよく、BMSCはセグメント1、2、3、4、および5を、ブロードキャストされる一連のセグメントフラグメントに分けることができる各MSP持続時間。BMSC処理および同期スケジューリング動作は、受信機デバイスに対するセグメントフラグメントのOTA送信を遅延させる場合があり、2つ以上のセグメントからのフラグメントはMSP持続時間ごとに送られ得る。セグメントは、復号され、BMSCによるそのOTA送信の後の何らかの期間に受信機デバイスにおいて利用可能にされ得る。   FIG. 7 illustrates an availability timeline, MPD availability start time, transmission time, and arrival time according to one embodiment. As shown in Figure 7, segments 1, 2, 3, 4, and 5 may be sent from the source to the BMSC, and the BMSC will broadcast segments 1, 2, 3, 4, and 5 as a series of segment fragments Each MSP duration that can be divided into. BMSC processing and synchronization scheduling operations may delay OTA transmission of segment fragments to the receiver device, and fragments from more than one segment may be sent every MSP duration. The segment can be decoded and made available at the receiver device at some time after its OTA transmission by the BMSC.

図5A、図5B、図6A、および図6Bを参照して上記で論じた様々な実施形態では、獲得開始後、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、新しいセグメントに関するセグメントフラグメントが属性内のミスマッチによって識別されるまで、セグメントフラグメントが受信されるにつれて、セグメントフラグメントの属性(たとえば、セグメントインデックスまたはbaseURL)を比較することができる。図7に示すように、ミスマッチは、セグメント2に関する最後のFDTおよびセグメント3に関する最初のFDTが受信されるときに生じ得る。セグメント3に関する第1のFDTの到着時間に基づいて、図5A、図5B、図6A、および図6Bを参照して上記で説明した方法500a、500b、600a、および600bに従って、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、(FDT到着時間+セグメントごとのセグメントフラグメント(SF)の数)×(MSP+マージン(M)(たとえば、(SF*MSP)+M)))として、セグメント3の利用可能開始時間を示すことができる。修正されたMPDは、それに応じて、セグメント3に関する利用可能開始時間を示すことができ、セグメント4の利用可能開始時間など、各後続のセグメントの利用可能開始時間は、修正されたMPD内のセグメント3に関する示された利用可能開始時間からの連続的なセグメント持続期間であり得る。したがって、ベースセグメントの利用可能開始時間を第1のステップで決定することができ、MPD内のベースセグメントの利用可能開始時間が第1のステップにおいて決定された利用可能開始時間にマッチするように、MPDを第2のステップで調整することができる。   In the various embodiments discussed above with reference to FIGS. 5A, 5B, 6A, and 6B, after the acquisition begins, the multicast service device client or client application causes the segment fragment for the new segment to be Until identified, the segment fragment attributes (eg, segment index or baseURL) can be compared as segment fragments are received. As shown in FIG. 7, a mismatch may occur when the last FDT for segment 2 and the first FDT for segment 3 are received. Based on the arrival time of the first FDT for segment 3, according to the methods 500a, 500b, 600a, and 600b described above with reference to FIGS. The client application determines the available start time of segment 3 as (FDT arrival time + number of segment fragments (SF) per segment) x (MSP + margin (M) (for example, (SF * MSP) + M))) Can show. The modified MPD can accordingly indicate the available start time for segment 3, and the available start time for each subsequent segment, such as the available start time for segment 4, is the segment in the modified MPD It may be a continuous segment duration from the indicated available start time for 3. Thus, the base segment availability start time can be determined in the first step, so that the base segment availability start time in the MPD matches the availability start time determined in the first step, The MPD can be adjusted in the second step.

図8Aは、いずれかの決定されたFDT受信時間に基づいてユニキャストモードでセグメント利用可能開始時間を修正するための一実施形態の方法800aを示す。一実施形態では、方法800aの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法800aの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。上記で論じたように、ブロック502において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDを受信することができる。さらに別の実施形態では、FDTを使用して、セグメントインデックスまたはbaseURL内の変更を決定することができ、実際の到着時間は、ファイルの識別子(たとえば、FLUTEの場合、トランスオートオブジェクト識別子、TOI)を搬送する第1のパケットが受信された時間であり得る。   FIG. 8A shows an embodiment method 800a for modifying a segment availability start time in unicast mode based on any determined FDT reception time. In one embodiment, the operations of method 800a may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 800a may be performed by a client application running on the processor of the receiver device, such as a DASH client. As discussed above, at block 502, the multicast service device client or client application may receive the MPD. In yet another embodiment, FDT can be used to determine changes in the segment index or baseURL, where the actual arrival time is the file identifier (e.g., for FLUTE, transauto object identifier, TOI) May be the time at which the first packet carrying is received.

決定ブロック802において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ユニキャストフェッチがアクティブかどうかを決定することができる。一実施形態では、ユニキャストフェッチは、モード1で(たとえば、起動時にセグメントを要求するためにユニキャストを使用して)またはモード2で(たとえば、いずれかの時点でユニキャストを使用して)アクティブであり得る。モード1またはモード2において、ユニキャストフェッチは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションが、セグメントのブロードキャスト/マルチキャスト受信を待たずに、ユニキャストを介してセグメントを要求することを可能にし得る。アクティブまたは非アクティブであるユニキャストフェッチは、受信機デバイスのメモリ内のユニキャストフェッチに関連するフラグ設定によってなど、任意の方法で示されてよい。ユニキャストフェッチがアクティブでないとの決定(すなわち、決定ブロック802=「No」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図5Aのブロック502に進み、方法500aの動作を実行することができる。   At decision block 802, the multicast service device client or client application can determine whether unicast fetch is active. In one embodiment, the unicast fetch is in mode 1 (e.g., using unicast to request a segment at startup) or in mode 2 (e.g., using unicast at some point). Can be active. In mode 1 or mode 2, unicast fetch may allow a multicast service device client or client application to request a segment via unicast without waiting for the broadcast / multicast reception of the segment. A unicast fetch that is active or inactive may be indicated in any manner, such as by a flag setting associated with a unicast fetch in the memory of the receiver device. In response to a determination that unicast fetch is not active (i.e., decision block 802 = “No”), the multicast service device client or client application may proceed to block 502 of FIG. it can.

ユニキャストフェッチがアクティブであるとの決定(すなわち、決定ブロック802=「Yes」)に応じて、ブロック806において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ブロードキャスト送信またはマルチキャスト送信を介してFDTを受信することができる。FDTは、受信されたOTAであってよく、第1のFDT、最後のFDT、または中間FDTなど、セグメントに関するいずれかのFDTであってよい。ブロック808において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたFDTに関連するセグメントをベースセグメントとして設定することができる。ブロック810において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたFDT受信時間(FDTArrivalTimeBaseSegment)を決定することができる。   In response to a determination that unicast fetch is active (ie, decision block 802 = “Yes”), at block 806, the multicast service device client or client application receives the FDT via broadcast transmission or multicast transmission. be able to. The FDT may be a received OTA and may be any FDT for a segment, such as a first FDT, a last FDT, or an intermediate FDT. At block 808, the multicast service device client or client application may set the segment associated with the received FDT as the base segment. In block 810, the multicast service device client or client application may determine the received FDT reception time (FDTArrivalTimeBaseSegment).

ブロック812において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、
AvailabilitySBASE=FDTArrivalTimeBaseSegment+(SF*MSP)+M)
など、FDT受信時間(たとえば、FDTArrivalTimeBaseSegment)+(セグメントごとのセグメントフラグメント(SF)の数×MSP)+マージン(M)として、ベースセグメントに関して調整された利用可能開始時間(たとえば、AvailabilitySBASE)を決定することができる。一実施形態では、MSPの値は、受信機デバイスに対して事前に準備されたデフォルト値であり得る。別の実施形態では、MSPは、セグメントを受信するための一時的モバイルグループ識別子(TMGI)に関連する可変値であり得る。マージン(M)は、受信機デバイスによる処理遅延を考慮するための追加のマージンであってよく、受信機デバイスのメモリ内で事前に準備された値として構成され得る。ブロック516、518、520、および522において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図6Aを参照して上記で説明した方法600aの同様に番号が付けられたブロックの動作を実行して、遅延調整値を決定することができる。
In block 812, the multicast service device client or client application
(AvailabilityS BASE = FDTArrivalTimeBaseSegment + (SF * MSP) + M)
FDT reception time (for example, FDTArrivalTimeBaseSegment) + (number of segment fragments (SF) per segment x MSP) + margin (M) to determine the adjusted availability start time for the base segment (for example, AvailabilityS BASE ) can do. In one embodiment, the value of MSP may be a default value prepared in advance for the receiver device. In another embodiment, the MSP may be a variable value associated with a temporary mobile group identifier (TMGI) for receiving the segment. The margin (M) may be an additional margin for taking into account processing delays by the receiver device, and may be configured as a value prepared in advance in the memory of the receiver device. In blocks 516, 518, 520, and 522, the multicast service device client or client application performs the operations of the similarly numbered blocks of method 600a described above with reference to FIG. 6A to adjust the delay. The value can be determined.

図8Bは、いずれかの決定されたFDT受信時間に基づいてユニキャストモードで遅延調整メッセージを生成するための一実施形態の方法800bを示す。方法800bは、セグメント利用可能性タイムライン内のシフトを示す遅延調整メッセージがセグメント利用可能性タイムラインを必ずしもシフトすることなく生成され得ることを除き、図8Aを参照して上記で説明した方法800aと同様である。一実施形態では、方法800bの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法800bの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。   FIG. 8B illustrates an embodiment method 800b for generating a delay adjustment message in unicast mode based on any determined FDT reception time. Method 800b is a method 800a described above with reference to FIG. 8A, except that a delay adjustment message indicating a shift in the segment availability timeline can be generated without necessarily shifting the segment availability timeline. Is the same. In one embodiment, the operations of method 800b may be performed by a multicast service device client running on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 800b may be performed by a client application that runs on the processor of the receiver device, such as a DASH client.

ブロック502、802、804、806、808、810、812、および516において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図8Aを参照して上記で説明した方法800aの同様に番号が付けられたブロックの動作を実行して、遅延調整値を決定することができる。ブロック524および526において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、遅延調整ファイルを記憶して、送るために、図5Bを参照して上記で説明した方法500bの同様に番号付けされたブロックの動作を実行することができる。   In blocks 502, 802, 804, 806, 808, 810, 812, and 516, the multicast service device client or client application is responsible for the similarly numbered blocks of method 800a described above with reference to FIG. 8A. An operation can be performed to determine the delay adjustment value. In blocks 524 and 526, the multicast service device client or client application performs the similarly numbered block operations of the method 500b described above with reference to FIG. 5B to store and send the delay adjustment file. Can be executed.

図9Aは、一実施形態による、受信機デバイス上でのマルチキャストサービスデバイスクライアントとアプリケーション/DASHクライアントとの対話を示すメッセージフロー図である。アプリケーション/DASHクライアントは、マルチキャストサービスデバイスクライアントのサービス発見機能に対する要求を送ることによって、サービスがアクティブ化されることを要求することができる。マルチキャストサービスデバイスクライアントのサービス発見機能は、サービス要求を受信し、サービスが有効であると決定し、サービス情報をマルチキャストサービスデバイスクライアントのストリーミング機能に送ってサービスをアクティブ化することができる。マルチキャストサービスデバイスのストリーミング機能は、サービスが有効であると決定し、サービスの一時モバイルグループ識別子(TMGI)をアクティブ化するための要求をマルチキャストサービスデバイスクライアントのモデムインターフェースに送ることができる。マルチキャストサービスデバイスクライアントのストリーミング機能はまた、マルチキャストサービスデバイスクライアントのデータ配信機能がFLUTEセッションをアクティブ化することを要求し、マルチキャストサービスデバイスクライアントのデータ配信機能がセグメントURLを獲得することを要求することができる。   FIG. 9A is a message flow diagram illustrating an interaction between a multicast service device client and an application / DASH client on a receiver device, according to one embodiment. The application / DASH client can request that the service be activated by sending a request for the service discovery function of the multicast service device client. The service discovery function of the multicast service device client can receive the service request, determine that the service is valid, and send service information to the streaming function of the multicast service device client to activate the service. The streaming function of the multicast service device may determine that the service is valid and send a request to activate the service's temporary mobile group identifier (TMGI) to the modem interface of the multicast service device client. The multicast service device client streaming function may also require the multicast service device client data distribution function to activate the FLUTE session, and the multicast service device client data distribution function may require the segment URL to be acquired. it can.

一時モバイルグループ識別子がモバイル制御チャネル(MCCH)においてアクティブになり、デバイスがメディア転送チャネル(MTCH)を復号できるようになると、モデムによって受信されるIPパケットは、マルチキャストサービスデバイスクライアントのモデムインターフェースからマルチキャストサービスデバイスクライアントのデータ配信機能に配信され得る。任意選択で、MSDモデムインターフェースは、更新されたベアラ記述をMSPストリーミング機能に配信することができる。マルチキャストサービスデバイスクライアントのデータ配信機能は、ファイル捕捉要求をMSPストリーミング機能に送ることができる。セグメントN、すなわちN+1、N+2などが受信され復号されるにつれて、それらは、マルチキャストサービスデバイスクライアントのDASHゲートウェイに送信され得る。   When the temporary mobile group identifier becomes active in the mobile control channel (MCCH) and the device is able to decode the media transfer channel (MTCH), IP packets received by the modem are sent from the multicast service device client modem interface to the multicast service. It can be distributed to the data distribution function of the device client. Optionally, the MSD modem interface can deliver the updated bearer description to the MSP streaming function. The data delivery function of the multicast service device client can send a file capture request to the MSP streaming function. As segments N, ie N + 1, N + 2, etc. are received and decoded, they can be sent to the DASH gateway of the multicast service device client.

一実施形態では、マルチキャストサービスデバイスクライアントのストリーミング機能が、受信されたセグメントフラグメント間のインデックス変更を決定するとき、マルチキャストサービスデバイスクライアントのサービス発見機能は、ベースセグメントFDTの受信時間およびインデックス番号をマルチキャストサービスデバイスのサービス発見機能に示すことができ、マルチキャストサービスデバイスのサービス発見機能は、上記で論じたように、MPDを修正して、利用可能開始時間を調整することができる。マルチキャストサービスデバイスクライアントのサービス発見機能は、修正されたMPDをマルチキャストサービスデバイスクライアントのDASHゲートウェイに送ることができる。マルチキャストサービスデバイスクライアントのストリーミング機能は、サービスが開始したことをアプリケーション/DASHクライアントに示すことができる。   In one embodiment, when the multicast function device client streaming function determines an index change between received segment fragments, the multicast service device client service discovery function determines the base segment FDT reception time and index number from the multicast service. As shown in the device service discovery function, the multicast service device service discovery function can modify the MPD to adjust the available start time, as discussed above. The service discovery function of the multicast service device client can send the modified MPD to the DASH gateway of the multicast service device client. The streaming function of the multicast service device client can indicate to the application / DASH client that the service has started.

アプリケーション/DASHクライアントは、メディアプレーヤを起動し、メディアプレーヤを修正されたMPDのURLに向けることができる。アプリケーション/DASHクライアントは、修正されたMPD URLにおいて修正されたMPDに対するHTTP Get()要求を送ることができる。マルチキャストサービスデバイスクライアントのDASHゲートウェイは、修正されたMPDによって応答することができる。アプリケーション/DASHクライアントは、初期セグメント(IS)のURLにおいてISに対するHTTP Get()要求を送ることができる。マルチキャストサービスデバイスクライアントのDASHゲートウェイは、ISによって応答することができる。アプリケーション/DASHクライアントは、セグメントN-1に対するHTTP Get()要求を送ることができる。セグメントN-1は利用可能ではないことがあり、マルチキャストサービスデバイスクライアントのDASHゲートウェイは、セグメントが見つからなかったと応答し得る(たとえば、404 Not Found)。アプリケーション/DASHクライアントは、セグメントN+1に対するHTTP Get()要求を送ることができる。マルチキャストサービスデバイスクライアントのDASHゲートウェイは、セグメントN+1によって応答することができる。   The application / DASH client can launch the media player and point the media player to the modified MPD URL. The application / DASH client can send an HTTP Get () request for the modified MPD at the modified MPD URL. The DASH gateway of the multicast service device client can respond with a modified MPD. The application / DASH client can send an HTTP Get () request for IS at the URL of the initial segment (IS). The DASH gateway of the multicast service device client can respond with IS. The application / DASH client can send an HTTP Get () request for segment N-1. Segment N-1 may not be available and the DASH gateway of the multicast service device client may respond that the segment was not found (eg, 404 Not Found). The application / DASH client can send an HTTP Get () request for segment N + 1. The DASH gateway of the multicast service device client can respond with segment N + 1.

図9Bは、別の実施形態による、受信機デバイス上でのマルチキャストサービスデバイスクライアントとアプリケーション/DASHクライアントとの対話を示すメッセージフロー図である。図9Bでは、ビデオセグメントおよびオーディオセグメントが独立して捕捉され得ることを除いて、図9Bに示すフローは、図9Aを参照して上記で説明したフローと同様である。マルチキャストサービスデバイスクライアントのデータ配信機能がMとインデックス付けされたビデオセグメントおよびMとインデックス付けされたオーディオセグメントに対する捕捉要求を送るにつれて、マルチキャストサービスデバイスクライアントのデータ配信機能は、M+1とインデックス付けされた次のビデオセグメントに対する捕捉要求も送ることができる。一実施形態では、マルチキャストサービスデバイスクライアントのストリーミング機能が、受信されたビデオセグメントMとビデオセグメントM+1との間のインデックス変更を決定するとき、マルチキャストサービスデバイスクライアントのサービス発見機能は、ビデオセグメントM+1がベースセグメントであることを示し、ベースセグメントFDTの受信時間およびインデックス番号をマルチキャストサービスデバイスのサービス発見機能に示すことができ、マルチキャストサービスデバイスのサービス発見機能は、上記で論じたように、MPDを修正して、利用可能開始時間を調整することができる。マルチキャストサービスデバイスクライアントのサービス発見機能は、修正されたMPDをマルチキャストサービスデバイスクライアントのDASHゲートウェイに送ることができる。マルチキャストサービスデバイスクライアントのストリーミング機能は、サービスが開始したことをアプリケーション/DASHクライアントに示すことができる。   FIG. 9B is a message flow diagram illustrating an interaction between a multicast service device client and an application / DASH client on a receiver device according to another embodiment. In FIG. 9B, the flow shown in FIG. 9B is similar to the flow described above with reference to FIG. 9A, except that the video and audio segments can be captured independently. As the multicast service device client data delivery function sends capture requests for video segments indexed M and audio segments indexed M, the multicast service device client data delivery function is indexed M + 1. A capture request for the next video segment can also be sent. In one embodiment, when the multicast service device client streaming function determines an index change between the received video segment M and the video segment M + 1, the multicast service device client service discovery function may +1 indicates that it is a base segment, and the reception time and index number of the base segment FDT can be indicated to the service discovery function of the multicast service device, and the service discovery function of the multicast service device, as discussed above, You can modify the MPD to adjust the available start time. The service discovery function of the multicast service device client can send the modified MPD to the DASH gateway of the multicast service device client. The streaming function of the multicast service device client can indicate to the application / DASH client that the service has started.

アプリケーション/DASHクライアントは、メディアプレーヤを起動し、メディアプレーヤを修正されたMPDのURLに向けることができる。アプリケーション/DASHクライアントは、修正されたMPD URLにおいて修正されたMPDに対するHTTP Get()要求を送ることができる。マルチキャストサービスデバイスクライアントのDASHゲートウェイは、修正されたMPDによって応答することができる。アプリケーション/DASHクライアントは、初期セグメント(IS)のURLにおいてISに対するHTTP Get()要求を送ることができる。マルチキャストサービスデバイスクライアントのDASHゲートウェイは、ISによって応答することができる。アプリケーション/DASHクライアントは、オーディオセグメントMに対するHTTP Get()要求を送り、オーディオセグメントMを受信することができる。一実施形態では、ビデオセグメントMは、アクティブなとき、ユニキャストフェッチを介して受信可能であり、マルチキャストサービスデバイスのストリーミング機能は、ビデオセグメントM+1およびオーディオセグメントM+1がブロードキャストまたはマルチキャストを介して利用可能になるとき、それらの利用可能性について通知され得る。   The application / DASH client can launch the media player and point the media player to the modified MPD URL. The application / DASH client can send an HTTP Get () request for the modified MPD at the modified MPD URL. The DASH gateway of the multicast service device client can respond with a modified MPD. The application / DASH client can send an HTTP Get () request for IS at the URL of the initial segment (IS). The DASH gateway of the multicast service device client can respond with IS. The application / DASH client can send an HTTP Get () request for the audio segment M and receive the audio segment M. In one embodiment, when video segment M is active, it can be received via unicast fetch, and the streaming function of the multicast service device allows the video segment M + 1 and audio segment M + 1 to be broadcast or multicast. As they become available, they can be notified of their availability.

図9Aおよび図9Bは、マルチキャストサービスデバイスのサービス発見機能がMPDを修正することを示すが、他の実施形態では、マルチキャストサービスデバイスのサービス発見機能は、その時間が、セグメントが受信機デバイス上のアプリケーション/DASHクライアントに対して実際にいつ利用可能になるかを反映するように、MPD内の利用可能開始時間をシフトするために使用され得る遅延調整値の表示を含む遅延調整メッセージまたはファイルを生成することができる。したがって、マルチキャストサービスデバイスクライアントまたはアプリケーション/DASHクライアントは、セグメントが受信機デバイス上のアプリケーション/DASHクライアントに実際に利用可能になるとき、遅延調整メッセージまたはファイルを使用して、MPD内の利用可能開始時間をシフトすること、および/またはセグメントを要求することができる。   9A and 9B show that the service discovery function of the multicast service device modifies the MPD, but in other embodiments, the service discovery function of the multicast service device has its time segmented on the receiver device. Generate a delay adjustment message or file that includes a display of the delay adjustment value that can be used to shift the available start time in the MPD to reflect when it is actually available to the application / DASH client can do. Thus, the multicast service device client or application / DASH client uses the delay adjustment message or file to start the availability start time in the MPD when the segment is actually available to the application / DASH client on the receiver device. Can be shifted and / or segments can be requested.

図10は、遅延調整メッセージに基づいて利用可能開始時間を調整するための一実施形態の方法を示すプロセスフロー図である。一実施形態では、方法1000の動作は、DASHクライアントのような、スマートフォンのような受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。ブロック1002において、クライアントアプリケーションは、MPDを受信することができる。一実施形態では、クライアントアプリケーションは、マルチキャストサービスデバイスクライアントを介して受信機デバイス上でHTTPサーバを介してMPDを受信することができる。ブロック1004において、クライアントアプリケーションは、遅延調整メッセージを受信することができる。一実施形態では、クライアントアプリケーションは、マルチキャストサービスデバイスクライアントを介して受信機デバイス上でHTTPサーバを介して遅延調整メッセージを受信することができる。   FIG. 10 is a process flow diagram illustrating an embodiment method for adjusting an available start time based on a delay adjustment message. In one embodiment, the operations of method 1000 may be performed by a client application that runs on the processor of a receiver device, such as a smartphone, such as a DASH client. In block 1002, the client application may receive the MPD. In one embodiment, a client application can receive an MPD via an HTTP server on a receiver device via a multicast service device client. In block 1004, the client application may receive a delay adjustment message. In one embodiment, a client application can receive a delay adjustment message via an HTTP server on a receiver device via a multicast service device client.

ブロック1006において、クライアントアプリケーションは、遅延調整メッセージに基づいて、MPD内のいくつかまたはすべてのセグメントの利用可能開始時間をシフトすることができる。一実施形態では、遅延調整メッセージに基づいて利用可能開始時間をシフトするステップは、遅延調整値および/または他の値の指示を使用して、各セグメントが受信機デバイス上で利用可能になる時間を調整するステップを含み得る。一実施形態では、利用可能開始時間をシフトするステップは、MPD自体を修正して修正されたMPDを生成するステップを含み得る。別の実施形態では、利用可能開始時間をシフトするステップは、MPD自体を修正することなく、セグメントが受信機デバイス上で利用可能になるときの指示を変更するステップを伴い得る。MPDが修正される実施形態では、任意選択のブロック1008において、クライアントアプリケーションは、クライアントアプリケーションに対して利用可能なメモリ内に、修正されたMPDを記憶することができる。ブロック1010において、クライアントアプリケーションが、シフトされた利用可能開始時間においてセグメントを要求することができる。   At block 1006, the client application may shift the available start time of some or all segments in the MPD based on the delay adjustment message. In one embodiment, the step of shifting the available start time based on the delay adjustment message is the time at which each segment becomes available on the receiver device using an indication of the delay adjustment value and / or other values. May be included. In one embodiment, shifting the available start time may include modifying the MPD itself to generate a modified MPD. In another embodiment, shifting the availability start time may involve changing the indication when a segment becomes available on the receiver device without modifying the MPD itself. In embodiments where the MPD is modified, at optional block 1008, the client application may store the modified MPD in memory available to the client application. At block 1010, the client application may request a segment at the shifted availability start time.

図11Aは、MPD更新を処理するための一実施形態方法を示すプロセスフロー図である。一実施形態では、方法1100aの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1100aの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。   FIG. 11A is a process flow diagram illustrating an embodiment method for processing an MPD update. In one embodiment, the operations of method 1100a may be performed by a multicast service device client running on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1100a may be performed by a client application running on the processor of the receiver device, such as a DASH client.

ブロック1102において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD更新を受信することができる。一実施形態では、MPD更新は、ネットワークから受信されてよく、ヘッドエンドは、MPD更新内にセグメントの利用可能開始時間を設定することができる。一実施形態では、MPD更新内の利用可能開始時間は、ネットワークによって設定されてよく、セグメントを生成するエンコーダから受信機デバイスまでの最悪の場合のエンドツーエンドの転送遅延を考慮し得る。一実施形態では、クライアントアプリケーションは、マルチキャストサービスデバイスクライアントを介してMPD更新を受信することができる。   At block 1102, the multicast service device client or client application may receive the MPD update. In one embodiment, an MPD update may be received from the network, and the headend may set an available start time for the segment in the MPD update. In one embodiment, the available start time in the MPD update may be set by the network and may account for the worst case end-to-end transfer delay from the encoder generating the segment to the receiver device. In one embodiment, a client application can receive MPD updates via a multicast service device client.

ブロック1104において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD更新内に設定された利用可能開始時間(AST)を決定することができる。決定ブロック1106において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、最初に受信されたMPDとMPD更新との間にAST変更が生じたかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDのいずれかの修正の前に元のMPD内で示されたASTをMPD更新内のASTと比較することができる。   At block 1104, the multicast service device client or client application may determine an available start time (AST) set in the MPD update. At decision block 1106, the multicast service device client or client application may determine whether an AST change has occurred between the originally received MPD and the MPD update. For example, a multicast service device client or client application can compare the AST indicated in the original MPD with the AST in the MPD update before any modification of the MPD.

MPD更新内のASTが元のASTと同じであるとの決定(すなわち、決定ブロック1106=「No」)に応じて、ブロック1108において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD更新内のASTを調整して、前に修正されたMPD内の修正されたASTにマッチさせることができる。ASTがマッチしないとの決定(すなわち、決定ブロック1106=「Yes」)に応じて、ブロック1110において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ベースセグメントに関する決定された、調整された利用可能開始時間(AvailabilitySBase)と修正に先立つ元のASTとの間の差の分だけ、MPD更新内のASTを修正することができる。 In response to determining that the AST in the MPD update is the same as the original AST (i.e., decision block 1106 = “No”), at block 1108, the multicast service device client or client application determines the AST in the MPD update. It can be adjusted to match the modified AST in the previously modified MPD. In response to a determination that the AST does not match (i.e., decision block 1106 = `` Yes ''), at block 1110, the multicast service device client or client application determines the determined adjusted availability start time for the base segment ( The AST in the MPD update can be modified by the difference between AvailabilityS Base ) and the original AST prior to modification.

図11Bは、MPD更新を処理するための一実施形態の方法1100bを示す。MPD更新内のASTの変更が利用可能開始時間再計算をトリガし得ることを除いて、方法1100bは、図11Aを参照して上記で説明した方法1100aと同様である。一実施形態では、方法1100bの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1100bの動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。ブロック1102、1104、1106、および1108において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図11Aを参照して上記で説明した方法1100aの同様に番号付けされたブロックの動作を実行することができる。   FIG. 11B illustrates an embodiment method 1100b for processing MPD updates. Method 1100b is similar to method 1100a described above with reference to FIG. 11A, except that a change in AST within the MPD update can trigger an available start time recalculation. In one embodiment, the operations of method 1100b may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1100b may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device. In blocks 1102, 1104, 1106, and 1108, the multicast service device client or client application may perform the similarly numbered block operations of the method 1100a described above with reference to FIG. 11A.

ASTがマッチしないとの決定(すなわち、決定ブロック1106=「Yes」)に応じて、ブロック1112において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間の再計算をトリガすることができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに、MPD更新内の利用可能開始時間を修正するために、図5A、図5B、図6A、図6B、図8A、または図8Bを参照して上記で説明した方法500a、500b、600a、600b、800a、または800bのうちの1つの動作を実行させる割込みを送ることができる。さらなる例として、利用可能開始時間再計算のトリガは、そのセグメントに関連するサービスをアクティブ化したアプリケーションに対する通知の発行を含み得る。   In response to a determination that the AST does not match (ie, decision block 1106 = “Yes”), at block 1112, the multicast service device client or client application may trigger a recalculation of the available start time. For example, a multicast service device client or client application can request the multicast service device client or client application to modify the available start time in the MPD update with FIG. 5A, FIG. 5B, FIG. 6A, FIG. 6B, FIG. An interrupt can be sent that performs one of the operations 500a, 500b, 600a, 600b, 800a, or 800b described above with reference to FIG. 8B. As a further example, an available start time recalculation trigger may include issuing a notification to an application that has activated a service associated with that segment.

図12は、別の実施形態による、利用可能性タイムライン、MPD利用可能開始時間、送信時間、および到達時間を示す。図12は、経時的に、セグメント3などのセグメントの利用可能開始時間を決定することができ、(たとえば、その第1のFDTの受信時間に基づいて)セグメントが受信機デバイスにおいて実際にいつ利用可能になり得るかを考慮するために利用可能開始時間がシフトされることを示すが、受信機デバイス上のタイミングドリフトは、修正されたMPD内の利用可能開始時間を無効にする場合がある。   FIG. 12 shows an availability timeline, MPD availability start time, transmission time, and arrival time according to another embodiment. FIG. 12 can determine the availability start time of a segment, such as segment 3, over time, when the segment is actually used at the receiver device (e.g., based on the reception time of its first FDT). Although it is shown that the available start time is shifted to take into account what may be possible, timing drift on the receiver device may invalidate the available start time in the modified MPD.

何らかの時間Nの後で、利用可能開始時間、AvailabilitytimeS4+Nを修正されたMPD内で示すことができ、DASHクライアントは、セグメントS4+Nに対するHTTP要求を発行することができる。しかしながら、受信機デバイスのタイミングドリフトにより、HTTP再試行は、セグメントS4+Nを受信せずに、DASHクライアントによって試し尽くされる場合がある。したがって、受信機デバイスのタイミングドリフトにより、DASHクライアントがセグメントS4+N要求の試行を中断した後でセグメントS4+Nは利用可能になり得る。様々な実施形態では、DASHクライアントのHTTP再試行が試し尽くされた後の(たとえば、セグメントS4+N+1が要求されると)セグメントS4+Nの受信は、利用可能開始時間の再計算をトリガし得る。このようにして、利用可能開始時間再計算は受信機デバイスのタイミングドリフトを考慮することができる。 After some time N, the availability start time, AvailabilitytimeS 4 + N can be indicated in the modified MPD, and the DASH client can issue an HTTP request for segment S4 + N. However, due to receiver device timing drift, HTTP retries may be exhausted by the DASH client without receiving segment S4 + N. Thus, due to timing drift of the receiver device, segment S4 + N may become available after the DASH client aborts the segment S4 + N request attempt. In various embodiments, the reception of segment S4 + N after the DASH client's HTTP retry has been exhausted (e.g., when segment S4 + N + 1 is requested) recalculates the available start time. Can trigger. In this way, the available start time recalculation can take into account the timing drift of the receiver device.

図13は、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法1300を示す。一実施形態では、方法1300の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1300の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。   FIG. 13 shows an embodiment method 1300 for considering receiver device timing drift. In one embodiment, the operations of method 1300 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1300 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device.

ブロック1302において、マルチキャストサービスデバイスクライアントは、セグメントに対するHTTP要求を受信することができるか、またはクライアントアプリケーションはHTTP要求を生成することができる。HTTP要求は、セグメントのURIおよびセグメント番号を示し得る。決定ブロック1304において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントが現在追跡されているかどうかを決定することができる。様々な実施形態では、セグメントに関連するHTTP要求が失敗したとき、そのセグメントを追跡することができる。   At block 1302, a multicast service device client can receive an HTTP request for a segment or a client application can generate an HTTP request. The HTTP request may indicate the segment URI and segment number. At decision block 1304, the multicast service device client or client application may determine whether the segment is currently being tracked. In various embodiments, when an HTTP request associated with a segment fails, that segment can be tracked.

何のセグメントも追跡されていないとの決定(すなわち、決定ブロック1304=「No」)に応じて、ブロック1306において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定するために、要求されたセグメントが利用不可能であったことを示す400シリーズHTTP応答が受信されたか否かを決定することができる。要求が成功したとの決定(すなわち、決定ブロック1306=「Yes」)に応じて、ブロック1308において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、追跡記録を消去することができ、ブロック1302において、次のセグメントに対する次のHTTP要求を受信または生成することができる。   In response to a determination that no segment is being tracked (i.e., decision block 1304 = “No”), at block 1306, the multicast service device client or client application may determine whether the request was successful. it can. For example, a multicast service device client or client application determines whether a 400 series HTTP response has been received indicating that the requested segment was not available to determine whether the request was successful. be able to. In response to a determination that the request was successful (i.e., decision block 1306 = “Yes”), at block 1308, the multicast service device client or client application can clear the tracking record and at block 1302, the next The next HTTP request for the segment can be received or generated.

要求が失敗したとの決定(すなわち、決定ブロック1306=「No」)に応じて、ブロック1310において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求されたセグメントを追跡することができ、ブロック1302において、同じセグメントに対するHTTP要求を再度受信または生成することができる。   In response to a determination that the request failed (i.e., decision block 1306 = “No”), at block 1310, the multicast service device client or client application can track the requested segment, and at block 1302, HTTP requests for the same segment can be received or generated again.

セグメントが追跡されているとの決定(すなわち、決定ブロック1304=「Yes」)に応じて、決定ブロック1312において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求されたセグメントが追跡されているかどうかを決定することができる。要求されたセグメントが追跡されているとの決定(すなわち、決定ブロック1312=「Yes」)に応じて、上記で論じたように、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ブロック1306、1308、および1310において、要求が成功したかどうかを決定し、追跡記録を消去するか、またはセグメントを追跡し続けることができる。   In response to determining that the segment is being tracked (i.e., decision block 1304 = “Yes”), at decision block 1312, the multicast service device client or client application determines whether the requested segment is being tracked. can do. In response to a determination that the requested segment is being tracked (i.e., decision block 1312 = “Yes”), as discussed above, the multicast service device client or client application may block 1306, 1308, and 1310. At, it can be determined whether the request was successful, the tracking record can be erased, or the segment can continue to be tracked.

追跡されているセグメントが要求されたセグメントではないとの決定(すなわち、決定ブロック1312=「No」)に応じて、ブロック1314において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、追跡されたセグメントがキャッシュ内(たとえば、受信されたセグメントストレージに割り振られたメモリ位置内)にあるかどうかを決定することができる。このようにして、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションが前に要求したが、受信に失敗したセグメントがその後受信されたかどうかを検査することができる。   In response to a determination that the tracked segment is not the requested segment (i.e., decision block 1312 = “No”), at block 1314, the multicast service device client or client application determines that the tracked segment is in cache. It can be determined whether it is in (for example, in a memory location allocated for received segment storage). In this way, the multicast service device client or client application can check whether a segment that the multicast service device client or client application previously requested but failed to receive was subsequently received.

追跡されたセグメントがキャッシュ内にないとの決定(すなわち、決定ブロック1314=「No」)に応じて、ブロック1316において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、追跡記録を消去することができる。任意選択の実施形態で、ブロック1318において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、最後の新しいセグメント番号が要求されてから、セグメント持続時間の90%(たとえば、9*SD)が経過したかどうかを決定することができる。このようにして、複数のセグメントが一度に要求され得る起動シナリオを、ほぼすべてのセグメント持続時間に生じる定期的にタイミングがとられた要求と区別することができる。そのような任意選択の実施形態では、セグメント持続時間の90%が経過していないとの決定(すなわち、決定ブロック1318=「No」)に応じて、ブロック1302において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントに対するHTTP要求を受信または生成することができる。セグメント持続時間の90%(たとえば、9*SD)として示されているが、任意の割合値のセグメント持続時間を選択することができる。本明細書で説明する例における90%のセグメント持続時間に対して、たとえば、10%、50%、95%、または任意の他の割合値のセグメント持続時間を代用することができる。   In response to a determination that the tracked segment is not in the cache (ie, decision block 1314 = “No”), at block 1316, the multicast service device client or client application may clear the tracking record. In an optional embodiment, at block 1318, the multicast service device client or client application determines whether 90% of the segment duration (e.g., 9 * SD) has elapsed since the last new segment number was requested. Can be determined. In this way, activation scenarios in which multiple segments can be requested at one time can be distinguished from regularly timed requests that occur in almost all segment durations. In such an optional embodiment, in response to a determination that 90% of the segment duration has not elapsed (i.e., decision block 1318 = “No”), at block 1302, a multicast service device client or client application Can receive or generate HTTP requests for segments. Although shown as 90% of the segment duration (eg, 9 * SD), any percentage value of segment duration can be selected. For example, a segment duration of 10%, 50%, 95%, or any other percentage value can be substituted for the 90% segment duration in the examples described herein.

ブロック1316において追跡記録を消去するとすぐに、または任意選択の実施形態では、セグメント持続時間の90%が経過したとの決定(すなわち、決定ブロック1318=「Yes」)に応じて、ブロック1306、1308、および1310において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定し、追跡記録を消去するか、またはセグメントを追跡し続けることができる。   As soon as the tracking record is erased at block 1316, or in an optional embodiment, in response to a determination that 90% of the segment duration has elapsed (i.e., decision block 1318 = “Yes”), blocks 1306, 1308 , And 1310, the multicast service device client or client application can determine if the request was successful, clear the tracking record, or continue to track the segment.

追跡されたセグメントがキャッシュ内にあるとの決定(すなわち、決定ブロック1314=「Yes」)に応じて、ブロック1112において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間の再計算をトリガすることができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに、MPD内の利用可能開始時間を修正するために、図5A、図5B、図6A、図6B、図8A、または図8Bを参照して上記で説明した方法500a、500b、600a、600b、800a、または800bのうちの1つの動作を実行させる割込みを送ることができる。このようにして、受信機デバイスにおけるタイミングドリフトはセグメントの遅い到着によって識別可能であり、タイミングドリフトがマルチキャストサービスデバイスクライアントまたはクライアントアプリケーションによって考慮され得る。   In response to the determination that the tracked segment is in the cache (ie, decision block 1314 = “Yes”), at block 1112, the multicast service device client or client application triggers a recalculation of the available start time be able to. For example, a multicast service device client or client application can use FIG. 5A, FIG. 5B, FIG. 6A, FIG. 6B, FIG. 8A, or FIG. 5 to modify the available start time in the MPD to the multicast service device client or client application. An interrupt may be sent that performs the operation of one of the methods 500a, 500b, 600a, 600b, 800a, or 800b described above with reference to 8B. In this way, timing drift at the receiver device can be identified by late arrival of segments, and timing drift can be taken into account by the multicast service device client or client application.

図14は、失敗したHTTP記録をマークするための一実施形態の方法1400を示す。一実施形態では、方法1400の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1400の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。様々な実施形態では、方法1400の動作は、図15Aおよび図15Bを参照して下記で説明する方法1500aおよび/または1500bの動作とともに実行され得る。   FIG. 14 illustrates an embodiment method 1400 for marking failed HTTP records. In one embodiment, the operations of method 1400 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1400 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device. In various embodiments, the operations of method 1400 may be performed in conjunction with the operations of methods 1500a and / or 1500b described below with reference to FIGS. 15A and 15B.

ブロック1402において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションが、セグメントを受信することができる。たとえば、セグメントはブロードキャストOTA送信またはマルチキャストOTA送信を介して受信され得る。決定ブロック1404において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントが追跡されているかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントのURIおよび/またはセグメントインデックスに関連する、失敗したHTTP記録が存在するかどうかを決定することができる。セグメントが追跡されていないとの決定(すなわち、決定ブロック1404=「No」)に応じて、ブロック1406において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、何の措置も講じなくてよい。セグメントが追跡されているとの決定(すなわち、決定ブロック1408=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、失敗したHTTP記録を「受信されたセグメント」とマークすることができる。このようにして、後に受信されたセグメントに関連する、失敗したHTTP要求を識別し、受信されていないセグメントに関連する、失敗したHTTP要求と区別することができる。   At block 1402, a multicast service device client or client application may receive the segment. For example, the segment may be received via broadcast OTA transmission or multicast OTA transmission. At decision block 1404, the multicast service device client or client application may determine whether the received segment is being tracked. For example, a multicast service device client or client application can determine whether there is a failed HTTP record associated with the received segment URI and / or segment index. In response to a determination that the segment is not being tracked (ie, decision block 1404 = “No”), at block 1406, the multicast service device client or client application may take no action. In response to a determination that the segment is being tracked (ie, decision block 1408 = “Yes”), the multicast service device client or client application can mark the failed HTTP record as a “received segment” . In this way, a failed HTTP request associated with a later received segment can be identified and distinguished from a failed HTTP request associated with an unreceived segment.

図15Aは、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法1500aを示す。一実施形態では、方法1500aの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1500aの動作は、DASHクライアントのような、受信機デバイスのプロセッサ上で実行されるクライアントアプリケーションによって実行され得る。様々な実施形態では、方法1500aの動作は、図14を参照して上記で説明した方法1400の動作とともに実行され得る。   FIG. 15A illustrates an embodiment method 1500a for considering receiver device timing drift. In one embodiment, the operations of method 1500a may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1500a may be performed by a client application running on the processor of the receiver device, such as a DASH client. In various embodiments, the operations of method 1500a may be performed in conjunction with the operations of method 1400 described above with reference to FIG.

ブロック1502において、マルチキャストサービスデバイスクライアントは、セグメントに対するHTTP要求を受信することができるか、またはクライアントアプリケーションはHTTP要求を生成することができる。HTTP要求は、セグメントのURIおよびセグメント番号を示し得る。決定ブロック1504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求内に新しいURIが示されているかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、HTTP要求内のURIを前のHTTP要求内のURIと比較して、URIが新しいかどうかを決定することができる。   At block 1502, a multicast service device client can receive an HTTP request for a segment, or a client application can generate an HTTP request. The HTTP request may indicate the segment URI and segment number. At decision block 1504, the multicast service device client or client application may determine whether a new URI is indicated in the request. For example, a multicast service device client or client application can compare a URI in an HTTP request with a URI in a previous HTTP request to determine whether the URI is new.

URIが新しくないとの決定(すなわち、決定ブロック1504=「No」)に応じて、ブロック1506において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定するために、要求されたセグメントが利用不可能であったことを示す400シリーズHTTP応答が受信されたか否かを決定することができる。要求が成功したとの決定(すなわち、決定ブロック1506=「Yes」)に応じて、ブロック1508において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、URIに関するいずれかの失敗したHTTP記録を消去することができる。   In response to determining that the URI is not new (ie, decision block 1504 = “No”), at block 1506, the multicast service device client or client application may determine whether the request was successful. For example, a multicast service device client or client application determines whether a 400 series HTTP response has been received indicating that the requested segment was not available to determine whether the request was successful. be able to. In response to a determination that the request was successful (ie, decision block 1506 = “Yes”), at block 1508, the multicast service device client or client application can clear any failed HTTP records for the URI. .

URIが新しいとの決定(すなわち、決定ブロック1504=「Yes」)に応じて、ブロック1510において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、要求が成功したかどうかを決定するために、要求されたセグメントが利用不可能であったことを示す400シリーズHTTP応答が受信されたか否かを決定することができる。要求が失敗したとの決定(すなわち、決定ブロック1510=「No」)に応じて、ブロック1512において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、URIに関する失敗したHTTP記録を追加し、失敗したURI記録内の最初のタイムスタンプを現在の時間に設定することができる。   In response to the determination that the URI is new (ie, decision block 1504 = “Yes”), at block 1510, the multicast service device client or client application may determine whether the request was successful. For example, a multicast service device client or client application determines whether a 400 series HTTP response has been received indicating that the requested segment was not available to determine whether the request was successful. be able to. In response to a determination that the request has failed (i.e., decision block 1510 = “No”), at block 1512 the multicast service device client or client application adds a failed HTTP record for the URI and includes in the failed URI record. Can be set to the current time.

要求が成功しなかったとの決定(すなわち、決定ブロック1506=「No」)に応じて、またはブロック1512において、URIに関する失敗したHTTP記録を追加するとすぐに、ブロック1516において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、URIに関する失敗したHTTP記録内の最後のタイムスタンプを現在の時間に設定することができる。このようにして、URIに関する失敗したHTTP記録内の最初のタイムスタンプから最後のタイムスタンプまでの時間は、その失敗したHTTP記録に関する追跡期間を示し得る。   In response to a determination that the request was unsuccessful (i.e., decision block 1506 = “No”) or as soon as a failed HTTP record for the URI was added in block 1512, in block 1516 the multicast service device client or client The application can set the last time stamp in the failed HTTP record for the URI to the current time. In this way, the time from the first timestamp to the last timestamp in the failed HTTP record for the URI may indicate the tracking period for that failed HTTP record.

ブロック1508において、URIに関する失敗したHTTP記録の消去、ブロック1516における、最後のタイムスタンプの設定、または要求が成功したとの決定(すなわち、決定ブロック1510=「Yes」)に応じて、ブロック1520において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、最大記録追跡期間よりも長く記録されているいずれの失敗したHTTP記録も消去することができる。たとえば、最大記録追跡期間は、10秒など、FFR_periodの2倍であってよい。最大記録追跡期間よりも長い、失敗したHTTP記録内の最初のタイムスタンプから最後のタイムスタンプまでの失敗したHTTP記録を消去すること(たとえば、削除すること)ができる。   In block 1520, depending on clearing the failed HTTP record for the URI in block 1508, setting the last time stamp in block 1516, or determining that the request was successful (i.e., decision block 1510 = “Yes”) The multicast service device client or client application can erase any failed HTTP records that have been recorded longer than the maximum record tracking period. For example, the maximum recording tracking period may be twice FFR_period, such as 10 seconds. It is possible to erase (eg, delete) failed HTTP records from the first time stamp to the last time stamp in the failed HTTP record that are longer than the maximum record tracking period.

決定ブロック1522において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、最後のタイムスタンプを有する「受信されたセグメント」とマークされたいずれかの失敗したHTTP記録が、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに利用可能なメモリ内に存在する現在の時間の前の1つのセグメント持続時間よりも古いかどうかを決定する。「受信されたセグメント」とマークされたいずれの失敗したHTTP記録も1つのセグメント持続時間よりも古くないとの決定(すなわち、決定ブロック1522=「No」)に応じて、ブロック1502において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、次のHTTP要求を受信または生成することができる。   At decision block 1522, the multicast service device client or client application can make any failed HTTP record marked “received segment” with the last timestamp available to the multicast service device client or client application. Determine if it is older than one segment duration before the current time present in memory. In response to a determination that any failed HTTP record marked “received segment” is not older than one segment duration (ie, decision block 1522 = “No”), at block 1502, the multicast service The device client or client application can receive or generate the next HTTP request.

「受信されたセグメント」とマークされた失敗したHTTP記録が1つのセグメント持続時間よりも古いとの決定(すなわち、決定ブロック1522=「Yes」)に応じて、ブロック1112において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間の再計算をトリガすることができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに、MPD内の利用可能開始時間を修正するために、図5A、図5B、図6A、図6B、図8A、または図8Bを参照して上記で説明した方法500a、500b、600a、600b、800a、または800bのうちの1つの動作を実行させる割込みを送ることができる。このようにして、受信機デバイスにおけるタイミングドリフトはセグメントの遅い到着によって識別可能であり、タイミングドリフトがマルチキャストサービスデバイスクライアントまたはクライアントアプリケーションによって考慮され得る。   In response to the determination that the failed HTTP record marked “received segment” is older than one segment duration (ie, decision block 1522 = “Yes”), at block 1112 the multicast service device client or The client application can trigger a recalculation of the available start time. For example, a multicast service device client or client application can use FIG. 5A, FIG. 5B, FIG. 6A, FIG. 6B, FIG. 8A, or FIG. 5 to modify the available start time in the MPD to the multicast service device client or client application. An interrupt may be sent that performs the operation of one of the methods 500a, 500b, 600a, 600b, 800a, or 800b described above with reference to 8B. In this way, timing drift at the receiver device can be identified by late arrival of segments, and timing drift can be taken into account by the multicast service device client or client application.

図15Bは、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法1500bを示す。利用可能開始時間再計算をトリガする前に遅延が導入され得ることを除いて、実施形態の方法1500bは、図15Aを参照して上記で説明した方法1500aと同様である。一実施形態では、方法1500bの動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1500bの動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。ブロック1502、1504、1506、1508、1510、1512、1516、1518、1520、および1522において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図15Aを参照して上記で説明した方法1500aの同様に番号が付けられたブロックの動作を実行することができる。   FIG. 15B illustrates an embodiment method 1500b for considering receiver device timing drift. The method 1500b of the embodiment is similar to the method 1500a described above with reference to FIG. 15A, except that a delay may be introduced before triggering an available start time recalculation. In one embodiment, the operations of method 1500b may be performed by a multicast service device client running on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1500b may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device. In blocks 1502, 1504, 1506, 1508, 1510, 1512, 1516, 1518, 1520, and 1522, the multicast service device client or client application is numbered similarly to the method 1500a described above with reference to FIG. 15A. The operation of the designated block can be executed.

「受信されたセグメント」とマークされた失敗したHTTP記録が1つのセグメント持続時間よりも古いとの決定(すなわち、決定ブロック1522=「Yes」)に応じて、決定ブロック1524において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、遅延がすでに導入されていると決定することができる。遅延が導入されていないとの決定(すなわち、決定ブロック1524=「No」)に応じて、ブロック1528において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、90%のセグメント持続時間(0.9*SD)の遅延を導入し、すべての失敗したHTTP記録をマーク解除することができる。このようにして、利用可能開始時間再計算が速やかにトリガされなくてよく、失敗したHTTP記録に関するセグメントは、それらのセグメントが「受信されたセグメント」と再度マークされ得る前に2回目に受信されなければならない場合がある。セグメントの強制された再要求は、そのそれぞれの利用可能開始時間の終了に先立ってセグメントが受信され得るとき、利用可能開始時間の再計算が回避されることを可能にし得る。ブロック1502において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、次のHTTP要求を受信または生成することができる。   In response to a determination that a failed HTTP record marked “received segment” is older than one segment duration (ie, decision block 1522 = “Yes”), at decision block 1524, the multicast service device client Or the client application can determine that a delay has already been introduced. In response to a determination that no delay has been introduced (i.e., decision block 1524 = “No”), at block 1528, the multicast service device client or client application has a 90% segment duration (0.9 * SD) delay. Can unmark all failed HTTP records. In this way, the available start time recalculation does not have to be triggered immediately and segments related to failed HTTP records are received a second time before those segments can be marked again as “received segments”. You may have to. A forced re-request of a segment may allow a recalculation of the available start time to be avoided when the segment can be received prior to the end of its respective available start time. At block 1502, the multicast service device client or client application may receive or generate the next HTTP request.

遅延がすでに導入されているとの決定(すなわち、決定ブロック1524=「Yes」)に応じて、ブロック1526において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、2つのセグメント持続時間より前に遅延が導入されたかどうかを決定することができる。2つのセグメント持続時間より前に遅延が導入されなかったとの決定(すなわち、決定ブロック1526=「No」)に応じて、ブロック1502において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、次のHTTP要求を受信または生成することができる。   In response to a determination that a delay is already installed (i.e., decision block 1524 = “Yes”), at block 1526, the multicast service device client or client application introduces a delay before two segment durations. Can be determined. In response to a determination that no delay was introduced prior to two segment durations (i.e., decision block 1526 = “No”), at block 1502, the multicast service device client or client application receives the next HTTP request. Or can be generated.

2つのセグメント持続時間より前に遅延が導入されたとの決定(すなわち、決定ブロック1526=「Yes」)に応じて、ブロック1112において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間の再計算をトリガすることができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションに、MPD内の利用可能開始時間を修正するために、図5A、図5B、図6A、図6B、図8A、または図8Bを参照して上記で説明した方法500a、500b、600a、600b、800a、または800bのうちの1つの動作を実行させる割込みを送ることができる。このようにして、受信機デバイスにおけるタイミングドリフトはセグメントの遅い到着によって識別可能であり、タイミングドリフトがマルチキャストサービスデバイスクライアントまたはクライアントアプリケーションによって考慮され得る。   In response to the determination that the delay was introduced before the two segment durations (i.e., decision block 1526 = “Yes”), at block 1112 the multicast service device client or client application recalculates the available start time. Can be triggered. For example, a multicast service device client or client application can use FIG. 5A, FIG. 5B, FIG. 6A, FIG. 6B, FIG. 8A, or FIG. 5 to modify the available start time in the MPD to the multicast service device client or client application. An interrupt may be sent that performs the operation of one of the methods 500a, 500b, 600a, 600b, 800a, or 800b described above with reference to 8B. In this way, timing drift at the receiver device can be identified by late arrival of segments, and timing drift can be taken into account by the multicast service device client or client application.

図16は、URLマッチングによってセグメントインデックスを決定するための一実施形態の方法1600を示す。一実施形態では、方法1600の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法1600の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。様々な実施形態では、方法1600の動作は、それぞれ、図5Aおよび図5Bを参照して上記で説明した方法500aまたは500bの動作とともに実行され得る。たとえば、方法1600の動作は、MPDの受信(図5Aまたは図5Bのブロック502)およびセグメントフラグメントの受信(図5Aまたは図5Bのブロック504)の後、かつセグメントインデックス変更が生じたかどうかの決定(図5Aまたは図5Bのブロック506)の前に実行され得る。   FIG. 16 illustrates an embodiment method 1600 for determining a segment index by URL matching. In one embodiment, the operations of method 1600 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 1600 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device. In various embodiments, the operations of method 1600 may be performed in conjunction with the operations of method 500a or 500b described above with reference to FIGS. 5A and 5B, respectively. For example, the operation of method 1600 may be performed after receiving an MPD (block 502 in FIG.5A or FIG.5B) and receiving a segment fragment (block 504 in FIG.5A or FIG.5B) and determining whether a segment index change has occurred ( It may be performed before block 506) of FIG. 5A or FIG. 5B.

ブロック1602において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントのURLを決定することができる。たとえば、受信されたセグメントに関するURLは、URLテンプレート「xxx$number$yyy」に続いてよい。別の例では、同じ時間持続時間に対応するオーディオセグメントおよびビデオセグメントは、URLテンプレート内に同じ$time$タグを有し得る。ブロック1604において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDをクロールして、MPD内の最初の期間および表現結合を見つけ、最初の期間および表現結合を現在の期間および表現結合として設定することができる。様々なMPDにおいて、MPDをクロールすることは、MPDを表す、XMLファイルなどのファイルをパースすることを含み得る。本明細書で論じるように、期間および表現結合は、MPDによって定義される一意表現であり得る。MPD内で定義された各期間は、1つまたは複数の表現に関する属性、たとえば、1つまたは複数の適応セットを含んでよく、期間と1つまたは複数の表現からの個々の表現との組合せは、期間および表現結合を構成し得る。MPD内の期間および表現結合は、期間境界、URLフォーマット、セグメント持続時間、セグメントタイムスケール、開始番号、帯域幅、期間識別子などを含めて、サービスに関する各期間および表現を記述する属性を含み得る。   At block 1602, the multicast service device client or client application may determine the URL of the received segment. For example, the URL for the received segment may follow the URL template “xxx $ number $ yyy”. In another example, audio and video segments that correspond to the same time duration may have the same $ time $ tag in the URL template. At block 1604, the multicast service device client or client application can crawl the MPD to find the first period and expression combination in the MPD and set the first period and expression combination as the current period and expression combination. . In various MPDs, crawling the MPD may include parsing a file, such as an XML file, that represents the MPD. As discussed herein, the duration and expression combination can be a unique expression defined by the MPD. Each period defined in the MPD may include one or more representation-related attributes, for example, one or more adaptation sets, and the combination of a period and an individual expression from one or more expressions is , Period and expression combinations may be configured. The period and expression combination in the MPD may include attributes that describe each period and expression for the service, including period boundaries, URL format, segment duration, segment time scale, start number, bandwidth, period identifier, and the like.

ブロック1606において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントの決定されたURLをMPD内の現在の期間および表現結合と比較することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメント内のURLを期間および表現結合内に示されたURLと比較することができる。   At block 1606, the multicast service device client or client application may compare the determined URL of the received segment with the current period and representation combination in the MPD. For example, a multicast service device client or client application can compare the URL in the received segment with the URL indicated in the duration and expression combination.

決定ブロック1608において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントに関する決定されたURLが現在の期間および表現結合内のURLにマッチするかどうかを決定することができる。URLがマッチしないとの決定(すなわち、決定ブロック1608=「No」)に応じて、ブロック1614において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDをクロールして、MPD内の次の期間および表現結合を見つけ、次の期間および表現結合を現在の期間および表現結合として設定することができる。ブロック1606において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、決定されたURLをMPD内の新しい現在の期間および表現結合と比較することができる。   At decision block 1608, the multicast service device client or client application may determine whether the determined URL for the segment matches the URL in the current period and expression combination. In response to a determination that the URL does not match (i.e., decision block 1608 = “No”), at block 1614, the multicast service device client or client application crawls the MPD to the next period and representation combination in the MPD. And the next period and expression combination can be set as the current period and expression combination. At block 1606, the multicast service device client or client application may compare the determined URL with a new current period and representation combination in the MPD.

URLがマッチするとの決定(すなわち、決定ブロック1608=「Yes」)に応じて、ブロック1610において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、現在の期間および表現結合内のURLと決定されたURLとに少なくとも部分的に基づいて潜在的なセグメント番号マッチを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、少なくとも非数字、および任意選択で、その後にファイル拡張が続く非数字が先行する、セグメントURLの最後におけるセグメントインデックスを識別することによって、URLに少なくとも基づいて潜在的なセグメント番号を決定することができる。   In response to the determination that the URL matches (i.e., decision block 1608 = “Yes”), at block 1610, the multicast service device client or client application is in the current time period and the URL within the representation binding and the determined URL. A potential segment number match can be determined based at least in part. For example, a multicast service device client or client application may be based at least on a URL by identifying a segment index at the end of the segment URL, preceded by at least a non-digit, and optionally a non-digit followed by a file extension. Potential segment numbers can be determined.

決定ブロック1612において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、潜在的なセグメント番号が現在の期間および表現結合のセグメント境界に対応するかどうかを決定することができる。期間の境界は、MPDのperiod@start属性またはperiod@duration属性のいずれかに基づいて、または次の期間開始属性と現在の期間開始属性との間の差を決定することによって、決定され得る。このようにして、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメント番号が現在の期間の境界内のセグメントに対応することを検証することができる。   At decision block 1612, the multicast service device client or client application may determine whether the potential segment number corresponds to the current period and the segment boundary of the expression combination. The period boundary may be determined based on either the period @ start attribute or the period @ duration attribute of the MPD, or by determining the difference between the next period start attribute and the current period start attribute. In this way, the multicast service device client or client application can verify that the segment number corresponds to a segment within the boundaries of the current period.

セグメント番号が現在の期間の境界内にないとの決定(すなわち、決定ブロック1612=「No」)に応じて、ブロック1614において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDをクロールして、MPD内の次の期間および表現結合を見つけ、次の期間および表現結合を現在の期間および表現結合として設定することができる。何のマッチも見つからない可能性がある場合、手順は失敗し、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、いずれかの調整をMPDに適用しないこと、またはある調整としてマージンMをASTに単に加えることのいずれかが可能である。   In response to a determination that the segment number is not within the current period boundary (i.e., decision block 1612 = “No”), at block 1614, the multicast service device client or client application crawls the MPD and The next period and expression combination can be found and the next period and expression combination can be set as the current period and expression combination. If no match can be found, the procedure fails and the multicast service device client or client application does not apply any adjustment to the MPD, or simply adds margin M to the AST as an adjustment. Either is possible.

セグメント番号が現在の期間の境界内にあるとの決定(すなわち、決定ブロック1612=「Yes」)に応じて、ブロック1616において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントに関するセグメントインデックスを潜在的なセグメント番号に等しく設定することができる。   In response to determining that the segment number is within the boundaries of the current period (i.e., decision block 1612 = `` Yes ''), at block 1616, the multicast service device client or client application obtains a segment index for the received segment. Can be set equal to potential segment number.

図17A、図17B、および図17Cは、一実施形態による例示的なMPD1700の要素のブロック図である。図17A、図17B、および図17Cに示すように、MPDをクロールして、期間および表現結合を識別するにつれて、MPDの重要な属性はマルチキャストサービスデバイスクライアントまたはクライアントアプリケーションによって識別され得る。これらの重要な要素は、利用可能開始時間、メディアプレゼンテーション持続時間、期間、期間開始、期間持続時間、期間ベースURL、期間セグメントテンプレート、適応セット、適応セットベースURL、適応セットセグメントテンプレート、表現、表現識別子、表現帯域幅、表現ベースURL、および表現セグメントテンプレートを含み得る。   17A, 17B, and 17C are block diagrams of elements of an exemplary MPD 1700 according to one embodiment. As shown in FIG. 17A, FIG. 17B, and FIG. 17C, as the MPD is crawled to identify the duration and expression combination, important attributes of the MPD may be identified by the multicast service device client or client application. These important elements are available start time, media presentation duration, duration, duration start, duration duration, duration base URL, duration segment template, adaptation set, adaptation set base URL, adaptation set segment template, representation, representation It may include an identifier, expression bandwidth, expression base URL, and expression segment template.

図18は、一実施形態による例示的なMPD1800のXMLツリーのブロック図である。図18に示すように、MPD1800は、複数の期間、適応セット、および表現を含み得る。様々な実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、各期間からそのそれぞれの適応セットに、かつそれらの適応の各それぞれの表現にツリーの各リーフに沿って連続的にMPD1800のXMLツリーをクロールすることができる。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD1800をクロールするにつれて、テンプレート「xxx$number$yyy」にマッチするURLのベース部分など、URLを識別して、受信されたセグメントのURLに対するマッチを決定することができる。   FIG. 18 is a block diagram of an exemplary MPD 1800 XML tree according to one embodiment. As shown in FIG. 18, MPD 1800 may include multiple time periods, adaptation sets, and representations. In various embodiments, a multicast service device client or client application continuously develops an MPD 1800 XML tree from each period to its respective adaptation set and to each respective representation of those adaptations along each leaf of the tree. Can be crawled. As the multicast service device client or client application crawls the MPD1800, it identifies the URL, such as the base portion of the URL that matches the template "xxx $ number $ yyy", and determines a match for the URL of the received segment Can do.

図19は、一実施形態によるセグメントの利用可能性タイムラインを示す。具体的には、図19は、受信機デバイス上のセグメントの実際の利用可能開始時間にわたる、その関連するMPD内に列挙されたビデオサービス表現(R1)のセグメントの利用可能開始時間を示す。図19に示すように、単一のセグメント持続時間ビデオサービスは、0.5秒の短い持続時間セグメントで終了する第1の期間S36を有し得る。セグメントS1が1秒で期間1に利用可能になると仮定すると、セグメントS36は36秒で期間1に利用可能になり得る。セグメントS36および期間1の利用可能終了時間は、その場合、セグメントS36に対する0.5秒のセグメント持続時間に基づいて、36.5秒であり得る。   FIG. 19 illustrates a segment availability timeline according to one embodiment. Specifically, FIG. 19 shows the available start time of a segment of the video service representation (R1) listed in its associated MPD over the actual available start time of the segment on the receiver device. As shown in FIG. 19, a single segment duration video service may have a first period S36 that ends with a short duration segment of 0.5 seconds. Assuming segment S1 is available in period 1 in 1 second, segment S36 may be available in period 1 in 36 seconds. The available end time for segment S36 and period 1 may then be 36.5 seconds, based on a 0.5 second segment duration for segment S36.

図20は、各々が、各々、その独自の表現1を有する、その独自のそれぞれの適応セット1および2を有する期間1および2を示す一実施形態による単一のセグメント持続時間MPD2000の1つの例示的なスキーマ部分である。MPDは、図19に示すタイムラインごとのセグメントの利用可能開始を示す。   FIG. 20 shows one illustration of a single segment duration MPD2000 according to one embodiment, each showing its own respective adaptation set 1 and 2, each having its own representation 1 and periods 1 and 2 Is a typical schema part. MPD indicates the availability start of the segment for each timeline shown in FIG.

図21は、一実施形態による、図20に示したMPD2000をクロールし、期間および表現結合内のURLをマッチさせた様々な結果を示すブロック図である。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントのURL2102が「/video150000/0/chunk_41.mp4」であると決定し、URL2102を期間および表現結合2106にマッチさせて、マッチを見つけることを試行することができる。期間2適応セット1表現1に対する期間および表現結合はURL2102にマッチし得るが、これは帯域幅15000がマッチし得、id 0がURL2102内の要素にマッチし得るためである。セグメントの利用可能開始時間は、利用可能開始時間が、36.5秒から無限大の期間境界内にあり得る37.5秒になり得るように、期間の開始時間35.5秒+1000msのセグメント持続時間+セグメントインデックスN=41-セグメント開始番号40として決定され得る。このようにして、マッチは有効であり得、受信されたセグメントに関するセグメントインデックスは41と確認され得る。   FIG. 21 is a block diagram illustrating various results of crawling the MPD 2000 shown in FIG. 20 and matching URLs in time periods and expression combinations, according to one embodiment. Multicast service device client or client application determines that the received segment's URL2102 is "/video150000/0/chunk_41.mp4" and tries to find a match by matching the URL2102 to the duration and expression combination 2106 can do. The period and expression combination for period 2 adaptation set 1 expression 1 can match URL 2102 because bandwidth 15000 can match and id 0 can match elements in URL 2102. The available start time of a segment is the start time of the period 35.5 seconds + the segment duration of 1000ms + the segment index N, so that the available start time can be 37.5 seconds, which can be within an infinite period boundary. = 41—can be determined as segment start number 40. In this way, the match may be valid and the segment index for the received segment may be confirmed as 41.

図22は、複数のセグメント持続時間がMPD内に記述される一実施形態による、セグメントの利用可能性タイムラインを示す。コンテンツは、2つの表現、すなわち、1秒のセグメント持続時間を有する第1の表現(R1)および2秒のセグメント持続時間を有する第2の表現(R2)を有し得る。具体的には、図22は、受信機デバイス上のセグメントの実際の利用可能開始時間にわたる、その関連するMPD内に列挙された、表現R1およびR2のセグメントの利用可能開始時間を示す。図22に示すように、表現R1またはR2の第1のセグメントの利用可能開始時間は、そのセグメントが属し得る表現に関するセグメント持続時間に依存する。これらの表現のうちの1つは、1つのサービスエリア内で任意の所与の時点でブロードキャストされることが予想され得る。   FIG. 22 illustrates a segment availability timeline according to one embodiment in which multiple segment durations are described in the MPD. The content may have two representations: a first representation (R1) having a segment duration of 1 second and a second representation (R2) having a segment duration of 2 seconds. Specifically, FIG. 22 shows the available start times of the segments of representations R1 and R2 listed in their associated MPDs over the actual available start times of the segments on the receiver device. As shown in FIG. 22, the available start time of the first segment of representation R1 or R2 depends on the segment duration for the representation to which that segment may belong. One of these representations can be expected to be broadcast at any given time within a service area.

図23は、期間1および2を示す一実施形態による、各々が、各々、それぞれ異なるセグメント持続時間、すなわち、1秒および2秒を有する2つの表現0および1を有するその独自のそれぞれの適応セット1を有し、2つのセグメント持続時間MPD2300のある例示的なスキーマ部分である。この例示的なMPDは図22に示したタイムラインに対応する。   FIG. 23 shows its own respective adaptation set with two representations 0 and 1, each having a different segment duration, i.e. 1 second and 2 seconds, respectively, according to one embodiment showing periods 1 and 2 FIG. 2 is an exemplary schema portion having 1 and two segment durations MPD2300. This exemplary MPD corresponds to the timeline shown in FIG.

図24は、一実施形態による、図23に示したMPD2300をクロールし、期間および表現結合内のURLをマッチさせた様々な結果を示すブロック図である。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントのURL2402が「/audio30000/1/chunk_6.mp4」であると決定し、URL2402を期間および表現結合2406にマッチさせて、マッチを見つけることを試行することができる。期間2適応セット1表現2に対する期間および表現結合はURL2402をマッチさせることができるが、これは帯域幅30000がマッチすることができ、id 1がURL2402内の要素にマッチし得るためである。セグメントの利用可能開始時間は、利用可能開始時間が、10秒から無限大の期間境界内にあり得る12秒になり得るように、期間の開始時間8秒+2000msのセグメント持続時間+セグメントインデックスN=6-開始セグメント番号5の開始時間として決定され得る。このようにして、マッチは有効であり得、受信されたセグメントに関するセグメントインデックスは6と確認され得る。   FIG. 24 is a block diagram illustrating various results of crawling MPD 2300 shown in FIG. 23 and matching URLs in time periods and expression combinations according to one embodiment. The multicast service device client or client application determines that the received segment's URL2402 is "/audio30000/1/chunk_6.mp4", matches the URL2402 to the duration and expression combination 2406, and tries to find a match can do. The period and expression combination for period 2 adaptation set 1 expression 2 can match URL 2402, because bandwidth 30000 can match and id 1 can match an element in URL 2402. The available start time of the segment is the start time of the period 8 seconds + the segment duration of 2000ms + the segment index N so that the available start time can be 10 seconds to 12 seconds, which can be within the infinite period boundary = 6- It can be determined as the start time of start segment number 5. In this way, the match may be valid and the segment index for the received segment may be confirmed as 6.

図25は、2つ以上の期間および表現結合がセグメントのURLにマッチし、セグメントに関する有効な境界を有するとき、URLマッチングによってセグメントインデックスを決定するための一実施形態の方法2500を示す。たとえば、図26の利用可能性タイムラインにおいて示すように、いくつかのサービスは、広告など、反復セグメントを含む場合があり、A3などの反復セグメントが受信されるとき、セグメントURLは2つ以上の期間および表現結合のURLを有効な期間にマッチさせることができる。最良の候補マッチング期間および表現結合を選択するために、方法2500の動作は、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションが、最小AST変更をもたらす期間および表現結合に対応するセグメント番号としてセグメント番号を選択することを可能にし得る。一実施形態では、方法2500の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法2500の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。様々な実施形態では、方法2500の動作は、それぞれ、図5Aおよび図5Bを参照して上記で説明した方法500aまたは500bの動作とともに実行され得る。たとえば、方法2500の動作は、MPDの受信(図5Aまたは図5Bのブロック502)およびセグメントフラグメントの受信(図5Aまたは図5Bのブロック504)の後、かつセグメントインデックス変更が生じたかどうかの決定(図5Aまたは図5Bのブロック506)の前に実行され得る。   FIG. 25 illustrates an embodiment method 2500 for determining a segment index by URL matching when two or more time periods and expression combinations match a segment's URL and have valid boundaries for the segment. For example, as shown in the availability timeline of FIG. 26, some services may include repetitive segments, such as advertisements, and when a repetitive segment such as A3 is received, the segment URL is more than one You can match the duration and expression binding URL to a valid duration. To select the best candidate matching period and expression combination, the operation of method 2500 is to select a segment number as the segment number corresponding to the period and expression combination that the multicast service device client or client application results in the minimum AST change. Can make it possible. In one embodiment, the operations of method 2500 may be performed by a multicast service device client running on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 2500 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device. In various embodiments, the operations of method 2500 may be performed in conjunction with the operations of method 500a or 500b described above with reference to FIGS. 5A and 5B, respectively. For example, the operation of method 2500 may be performed after receiving an MPD (block 502 in FIG.5A or FIG.5B) and receiving a segment fragment (block 504 in FIG.5A or FIG.5B) and determining if a segment index change has occurred ( It may be performed before block 506) of FIG. 5A or FIG. 5B.

ブロック1602〜1612において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図16を参照して上記で説明した方法1600の同様に番号付けされたブロックの動作を実行することができる。潜在的なセグメント番号が現在の期間および表現結合のセグメント境界内になるとの決定(すなわち、決定ブロック1612=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、ブロック2502において、現在の期間および表現結合および潜在的なセグメント番号を考えられるマッチとして記憶することができる。   In blocks 1602-1612, the multicast service device client or client application may perform the similarly numbered block operations of the method 1600 described above with reference to FIG. In response to the determination that the potential segment number is within the current period and segment boundary of the expression combination (i.e., decision block 1612 = “Yes”), the multicast service device client or client application may Periods and expression combinations and potential segment numbers can be stored as possible matches.

決定ブロック2504において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD全体がクロールされているかどうかを決定することができる。MPD全体がクロールされていないとの決定(すなわち、決定ブロック2504=「No」)に応じて、ブロック1614において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDをクロールして、MPD内の次の期間および表現結合を見つけ、次の期間および表現結合を現在の期間および表現結合として設定することができる。   At decision block 2504, the multicast service device client or client application can determine whether the entire MPD has been crawled. In response to a determination that the entire MPD has not been crawled (i.e., decision block 2504 = “No”), at block 1614, the multicast service device client or client application crawls the MPD to the next period in the MPD. And find the expression combination, and set the next period and expression combination as the current period and expression combination.

MPD全体がクロールされているとの決定(すなわち、決定ブロック2504=「Yes」)に応じて、ブロック2506において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、すべての考えられる記憶されたマッチから生じるAST変更を決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントの受信から生じるASTを計算することができる。セグメントの受信から生じるASTは、図5A〜図15Bのうちのいずれかを参照して上記で説明した方法、または任意の他の方法に基づいてなど、任意の方法で計算され得る。たとえば、セグメントインデックス変更が生じると、方法2500は、ブロック2506の一部として、図5Aまたは図5Bの手順を適用して、MPDタイムライン修正を決定することができる。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、次いで、各考えられる記憶されたマッチに関する元のASTをセグメントの受信から生じた計算されたASTから減じて、各考えられる記憶されたマッチに関して生じるAST変更を決定することができる。   In response to a determination that the entire MPD has been crawled (i.e., decision block 2504 = “Yes”), at block 2506, the multicast service device client or client application causes an AST change resulting from all possible stored matches. Can be determined. For example, a multicast service device client or client application can calculate an AST that results from receipt of a segment. The AST resulting from the receipt of the segment may be calculated in any manner, such as based on the method described above with reference to any of FIGS. 5A-15B, or any other method. For example, when a segment index change occurs, method 2500 can apply the procedure of FIG. 5A or FIG. 5B to determine an MPD timeline correction as part of block 2506. The multicast service device client or client application then determines the AST change that will occur for each possible stored match by subtracting the original AST for each possible stored match from the calculated AST resulting from receipt of the segment can do.

ブロック2508において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントに関するセグメントインデックスをAST内の最小変更を伴う考えられるマッチの潜在的なセグメント番号に等しく設定することができる。たとえば、各個々の考えられる記憶されたマッチに関して決定されたAST変更を一緒に比較することによって、決定された最小AST変更を識別することができ、受信されたセグメントに関するセグメントインデックスは、識別された、決定された最小AST変更を伴う考えられるマッチに関連するセグメントインデックスであり得る。このようにして、ブロック2508において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPD内の既存のタイムラインに対してより小さい時間修正をもたらすMPDタイムライン調整(たとえば、最小AST変更をもたらすMPDタイムライン調整)を選択することができる。一実施形態では、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、利用可能開始時間内に最小変更(すなわち、最小利用可能開始時間変更)をもたらす遅延調整値を記憶することができる。   At block 2508, the multicast service device client or client application may set the segment index for the received segment equal to the potential segment number of a possible match with minimal change in the AST. For example, the determined minimum AST change can be identified by comparing together the determined AST changes for each individual possible stored match, and the segment index for the received segment is identified , The segment index associated with a possible match with the determined minimum AST change. Thus, at block 2508, the multicast service device client or client application causes an MPD timeline adjustment that results in a smaller time correction relative to an existing timeline in the MPD (e.g., an MPD timeline adjustment that results in a minimum AST change). ) Can be selected. In one embodiment, the multicast service device client or client application may store a delay adjustment value that results in a minimum change (ie, minimum available start time change) within the available start time.

図27は、URLマッチングに基づいて、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法2700を示す。一実施形態では、方法2700の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法2700の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。   FIG. 27 illustrates an embodiment method 2700 for considering receiver device timing drift based on URL matching. In one embodiment, the operations of method 2700 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 2700 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device.

ブロック2702において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、URLマッチングによって受信されたセグメントのセグメントインデックスを決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、それぞれ、図16および図25を参照して上記で説明した方法1600または方法2500の動作を実行して、URLマッチングによってセグメントインデックスを決定することができる。   At block 2702, the multicast service device client or client application may determine the segment index of the segment received by URL matching. For example, a multicast service device client or client application may perform the operations of method 1600 or method 2500 described above with reference to FIGS. 16 and 25, respectively, to determine the segment index by URL matching.

ブロック2704において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、マッチング期間および表現結合に基づいて、決定されたセグメントインデックスを有するセグメントに関するMPDごとの利用可能開始時間(AvailPerMPD)を決定することができる。ブロック2706において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、MPDからセグメント持続時間(SD)を決定することができる。ブロック2708において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントに関する復号時間(DT)を決定することができる。復号時間(DT)は、セグメントが受信機デバイス上で実際に利用可能になる時間であり得る。   At block 2704, the multicast service device client or client application may determine an available start time (AvailPerMPD) for each MPD for the segment having the determined segment index based on the matching period and the expression combination. At block 2706, the multicast service device client or client application may determine a segment duration (SD) from the MPD. At block 2708, the multicast service device client or client application may determine a decoding time (DT) for the segment. Decoding time (DT) may be the time at which a segment is actually available on the receiver device.

決定ブロック2710において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、復号時間(DT)-MPDごとの利用可能開始時間(AvailPerMPD)がセグメント持続時間(SD)の0.5倍よりも大きいかどうかを決定することができる。セグメント持続時間の半分(たとえば、0.5*SD)として示されるが、復号時間(DT)-MPDごとの利用可能開始時間(AvailPerMPD)がセグメント持続時間(SD)の0.5倍よりも大きいかどうかを決定することは、復号時間(DT)とMPDごとの利用可能開始時間(AvailPerMPD)との間の差を比較することができるしきい値の単なる1つの例示的な比較である。本明細書で論じるセグメント持続時間(SD)の0.5倍のしきい値に対して、1*SD、.6*SD、.9*SDなど、セグメント持続時間の比率、またはセグメント持続時間の任意の他の比率としての固定値のしきい値またはしきい値セットを含めて、他のしきい値を代用することができる。DT-AvailPerMPDが0.5*SDより大きくないとの決定(すなわち、決定ブロック2710=「No」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、何のタイミングドリフトも生じなかったと決定することができ、ブロック2712において何の措置も講じなくてよい。係数(0.5など)がデバイス上に準備され得るか、またはネットワークによってブロードキャストされた構成ファイルの一部として受信され得る。   At decision block 2710, the multicast service device client or client application may determine whether the decoding start time (DT) -available start time per MPD (AvailPerMPD) is greater than 0.5 times the segment duration (SD). it can. Shown as half of segment duration (for example, 0.5 * SD), but determines if decoding time (DT) -available start time per MPD (AvailPerMPD) is greater than 0.5 times segment duration (SD) To do is just one exemplary comparison of thresholds that can compare the difference between the decoding time (DT) and the available start time for each MPD (AvailPerMPD). For a threshold of 0.5 times the segment duration (SD) discussed herein, a ratio of segment durations, such as 1 * SD, .6 * SD, .9 * SD, or any segment duration Other thresholds can be substituted, including fixed value thresholds or threshold sets as other ratios. In response to a determination that DT-AvailPerMPD is not greater than 0.5 * SD (i.e., decision block 2710 = “No”), the multicast service device client or client application can determine that no timing drift has occurred. No action may be taken at block 2712. A factor (such as 0.5) may be prepared on the device or received as part of a configuration file broadcast by the network.

DT-AvailPerMPDが0.5*SDより大きいとの決定(すなわち、決定ブロック2710=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、タイミングドリフトが生じたと決定し、図11Bを参照して上記で説明したように、ブロック1112において、利用可能開始時間の再計算をトリガすることができる。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションはまた、MPDが修正されていることをアプリケーションに通知することができる。   In response to a determination that DT-AvailPerMPD is greater than 0.5 * SD (i.e., decision block 2710 = “Yes”), the multicast service device client or client application determines that timing drift has occurred, see FIG. As described above, at block 1112, a recalculation of available start time may be triggered. The multicast service device client or client application can also notify the application that the MPD has been modified.

図28は、URLマッチングに基づいて、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法2800を示す。方法2800は、セグメントインデックス変更に応じて、利用可能開始時間の再計算がトリガされ得ることを除いて、図27を参照して上記で説明した方法2700と同様である。一実施形態では、方法2800の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法2800の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。   FIG. 28 illustrates an embodiment method 2800 for considering receiver device timing drift based on URL matching. The method 2800 is similar to the method 2700 described above with reference to FIG. 27, except that in response to a segment index change, a recalculation of available start time can be triggered. In one embodiment, the operations of method 2800 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 2800 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device.

ブロック2702において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明した方法2700の同様に番号付けされたブロックの動作を実行することができる。決定ブロック506において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図5Aを参照して上記で説明したように、セグメントインデックス変更が生じたかどうかを決定することができる。セグメントインデックスが変更されていないとの決定(すなわち、決定ブロック506=「No」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明したように、ブロック2712において何の措置も講じなくてよい。   At block 2702, the multicast service device client or client application may perform the similarly numbered block operations of the method 2700 described above with reference to FIG. At decision block 506, the multicast service device client or client application may determine whether a segment index change has occurred, as described above with reference to FIG. 5A. In response to a determination that the segment index has not changed (i.e., decision block 506 = “No”), the multicast service device client or client application, in block 2712, as described above with reference to FIG. No action is required.

セグメントインデックスが変更されたとの決定(すなわち、決定ブロック506=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明した方法2700の同様に番号付けされたブロック2704、2706、2708、2710、2712、および1112の動作を実行することができる。   In response to a determination that the segment index has changed (i.e., decision block 506 = “Yes”), the multicast service device client or client application is numbered similarly to method 2700 described above with reference to FIG. The operations of blocks 2704, 2706, 2708, 2710, 2712, and 1112 can be performed.

図29は、URLマッチングに基づいて、受信機デバイスのタイミングドリフトを考慮するための一実施形態の方法2900を示す。AST変更が、1つのセグメント持続時間など、しきい値を超えることになるとの決定に応じて、利用可能開始時間再計算がトリガされ得ることを除いて、方法2900は、図27を参照して上記で説明した方法2700と同様である。一実施形態では、方法2900の動作は、スマートフォンのような、受信機デバイスのプロセッサ上で実行されるマルチキャストサービスデバイスクライアントによって実行され得る。別の実施形態では、方法2900の動作は、受信機デバイスのプロセッサ上で実行される、DASHクライアントのようなクライアントアプリケーションによって実行され得る。   FIG. 29 illustrates an embodiment method 2900 for considering receiver device timing drift based on URL matching. With reference to FIG. 27, method 2900 can be triggered except that an availability start time recalculation can be triggered in response to a determination that an AST change will exceed a threshold, such as one segment duration. Similar to method 2700 described above. In one embodiment, the operations of method 2900 may be performed by a multicast service device client executing on a processor of a receiver device, such as a smartphone. In another embodiment, the operations of method 2900 may be performed by a client application, such as a DASH client, that is executed on the processor of the receiver device.

ブロック2702において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明した方法2700の同様に番号付けされたブロックの動作を実行することができる。   At block 2702, the multicast service device client or client application may perform the similarly numbered block operations of the method 2700 described above with reference to FIG.

ブロック2902において、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、受信されたセグメントから生じたAST変更を決定することができる。たとえば、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、セグメントの受信から生じるASTを計算することができる。セグメントの受信から生じるASTは、図5A〜図15Bのうちのいずれかを参照して上記で説明した方法、または任意の他の方法に基づいてなど、任意の方法で計算され得る。マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、次いで、セグメントに関する元のASTをセグメントの受信から生じる計算されたASTから減じて、セグメントから生じるAST変更を決定することができる。   At block 2902, the multicast service device client or client application may determine an AST change that resulted from the received segment. For example, a multicast service device client or client application can calculate an AST that results from receipt of a segment. The AST resulting from the receipt of the segment may be calculated in any manner, such as based on the method described above with reference to any of FIGS. 5A-15B, or any other method. The multicast service device client or client application can then subtract the original AST for the segment from the calculated AST resulting from the receipt of the segment to determine the AST change resulting from the segment.

決定ブロック2904において、プロセッサは、AST変更がしきい値よりも大きいかどうかを決定することができる。しきい値は、受信機デバイスのメモリ内に記憶された値であってよく、セグメント持続時間に等しい、1つのセグメント持続時間に満たない、1つのセグメント持続時間を超えるなど、(事前に準備された、ユーザ定義可能な、MPD内で定義されるなど)任意の値であってよい。AST変更がしきい値以下であるとの決定(すなわち、決定ブロック2904=「No」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明したように、ブロック2712において、何の措置も講じなくてよい。AST変更がしきい値より大きいとの決定(すなわち、決定ブロック2904=「Yes」)に応じて、マルチキャストサービスデバイスクライアントまたはクライアントアプリケーションは、図27を参照して上記で説明したように、ブロック1112において、利用可能開始時間再計算をトリガすることができる。   At decision block 2904, the processor can determine whether the AST change is greater than a threshold. The threshold may be a value stored in the memory of the receiver device, equal to the segment duration, less than one segment duration, exceeding one segment duration, etc. It can be any value (user definable, defined in MPD, etc.). In response to a determination that the AST change is below the threshold (i.e., decision block 2904 = `` No ''), the multicast service device client or client application blocks as described above with reference to FIG. No action is required at 2712. In response to determining that the AST change is greater than the threshold (i.e., decision block 2904 = `` Yes ''), the multicast service device client or client application may block 1112 as described above with reference to FIG. In, an available start time recalculation can be triggered.

様々な実施形態では、図27、図28、および図29を参照して上記で説明した方法2700、2800、および2900の動作は、それぞれ、一定の時間間隔または一定のセグメント計数間隔において周期的に適用され得る。   In various embodiments, the operations of methods 2700, 2800, and 2900 described above with reference to FIGS. 27, 28, and 29 are performed periodically at a fixed time interval or a fixed segment count interval, respectively. Can be applied.

様々な実施形態(限定はしないが、図3A〜図29を参照して上記で説明した実施形態を含む)は、様々なモバイルデバイス(すなわち、受信機デバイス)のいずれかにおいて実装されてよく、その一例が図30に示される。たとえば、モバイルデバイス3000は、タッチスクリーンコントローラ3004および内部メモリ3002に結合されたプロセッサ3001を含み得る。プロセッサ3001は、汎用または特定の処理タスクに対して指定された1つまたは複数のマルチコア集積回路(IC)であってよい。内部メモリ3002は、揮発性メモリまたは不揮発性メモリであってよく、またセキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、あるいはそれらの任意の組合せであってもよい。タッチスクリーンコントローラ3004およびプロセッサ3001は、抵抗感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンパネル3012にも結合され得る。モバイルコンピューティングデバイス3000は、1つまたは複数の無線信号トランシーバ3008(たとえば、Peanut(登録商標)、Bluetooth(登録商標)、Zigbee(登録商標)、Wi-Fi、RF、セルラーなど)と、互いにおよび/またはプロセッサ3001に結合された、送受信するためのアンテナ3010とを有し得る。トランシーバ3008およびアンテナ3010は、様々なワイヤレス送信プロトコルスタックおよびインターフェースを実装するために、上述の回路とともに使用され得る。モバイルコンピューティングデバイス3000は、セルラーネットワークを介した通信を可能にし、プロセッサに結合されたセルラーネットワークワイヤレスモデムチップ3016を含み得る。モバイルコンピューティングデバイス3000は、プロセッサ3001に結合された周辺デバイス接続インターフェース3018を含み得る。周辺デバイス接続インターフェース3018は、1つのタイプの接続を受け入れるように単独で構成され得るか、あるいはUSB、FireWire、Thunderbolt、またはPCIeなどの、共通またはプロプライエタリの様々なタイプの物理接続および通信接続を受け入れるように複合的に構成され得る。周辺デバイス接続インターフェース3018はまた、同様に構成された周辺デバイス接続ポート(図示せず)に結合され得る。モバイルコンピューティングデバイス3000はまた、オーディオ出力を提供するためのスピーカー3014を含み得る。モバイルコンピューティングデバイス3000はまた、本明細書で論じる構成要素のうちのすべてまたはいくつかを収容するための、プラスチック、金属、または材料の組合せで構成されたハウジング3020を含み得る。モバイルコンピューティングデバイス3000は、使い捨てバッテリーまたは充電式バッテリーなどの、プロセッサ3001に結合された電源3022を含み得る。充電式バッテリーはまた、モバイルコンピューティングデバイス3000の外部にあるソースから充電電流を受けるために周辺デバイス接続ポートに結合され得る。   Various embodiments (including but not limited to those described above with reference to FIGS. 3A-29) may be implemented in any of a variety of mobile devices (ie, receiver devices), An example is shown in FIG. For example, mobile device 3000 can include a processor 3001 coupled to a touch screen controller 3004 and an internal memory 3002. The processor 3001 may be one or more multi-core integrated circuits (ICs) designated for general purpose or specific processing tasks. The internal memory 3002 may be volatile memory or non-volatile memory, and may be secure memory and / or encrypted memory, non-secure memory and / or non-encrypted memory, or any combination thereof. . Touch screen controller 3004 and processor 3001 may also be coupled to a touch screen panel 3012 such as a resistive sensing touch screen, a capacitive sensing touch screen, an infrared sensing touch screen. The mobile computing device 3000 can communicate with one or more wireless signal transceivers 3008 (e.g., Peanut (R), Bluetooth (R), Zigbee (R), Wi-Fi, RF, cellular, etc.) And / or an antenna 3010 for transmitting and receiving coupled to the processor 3001. Transceiver 3008 and antenna 3010 may be used with the circuits described above to implement various wireless transmission protocol stacks and interfaces. Mobile computing device 3000 may include a cellular network wireless modem chip 3016 that enables communication over a cellular network and is coupled to a processor. Mobile computing device 3000 may include a peripheral device connection interface 3018 coupled to processor 3001. Peripheral device connection interface 3018 can be configured alone to accept one type of connection, or accept various types of physical and communication connections, common or proprietary, such as USB, FireWire, Thunderbolt, or PCIe It can be configured in a complex manner. Peripheral device connection interface 3018 may also be coupled to a similarly configured peripheral device connection port (not shown). The mobile computing device 3000 can also include a speaker 3014 for providing audio output. Mobile computing device 3000 may also include a housing 3020 comprised of a combination of plastic, metal, or materials to accommodate all or some of the components discussed herein. The mobile computing device 3000 can include a power source 3022 coupled to the processor 3001, such as a disposable battery or a rechargeable battery. The rechargeable battery may also be coupled to the peripheral device connection port to receive charging current from a source external to the mobile computing device 3000.

様々な実施形態(限定はしないが、図3A〜図29を参照しながら上記で説明した実施形態を含む)はまた、図31に示すサーバ3100などの様々な市販のサーバデバイスのいずれかで実装されてよい。そのようなサーバ3100は、通常、揮発性メモリ3102、およびディスクドライブ3104などの大容量の不揮発性メモリに結合されたプロセッサ3101を含む。サーバ3100はまた、プロセッサ3101に結合された、フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ3106を含む場合がある。サーバ3100はまた、他の告知システムコンピュータおよびサーバに結合されたローカルエリアネットワーク、インターネット、公衆交換電話網、ならびに/またはセルラーネットワーク(たとえば、CDMA、TDMA、GSM(登録商標)、PCS、3G、4G、LTE、または任意の他のタイプのセルラーネットワーク)などの通信ネットワーク3107とのネットワークインターフェース接続を確立するためにプロセッサ3101に結合された、ネットワークアクセスポートなどの1つまたは複数のネットワークトランシーバ3103を含み得る。   Various embodiments (including but not limited to those described above with reference to FIGS. 3A-29) are also implemented in any of a variety of commercially available server devices, such as the server 3100 shown in FIG. May be. Such a server 3100 typically includes a processor 3101 coupled to a volatile memory 3102 and a large capacity non-volatile memory such as a disk drive 3104. Server 3100 may also include a floppy disk drive, compact disk (CD) or DVD disk drive 3106 coupled to processor 3101. Server 3100 may also be a local area network, Internet, public switched telephone network, and / or cellular network (eg, CDMA, TDMA, GSM®, PCS, 3G, 4G) coupled to other announcement system computers and servers. Including one or more network transceivers 3103, such as network access ports, coupled to the processor 3101 to establish a network interface connection with a communication network 3107 (such as a cellular network, LTE, or any other type of cellular network) obtain.

プロセッサ3001および3101は、上記で説明した様々な実施形態の機能を含む様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであってよい。いくつかのデバイスでは、ワイヤレス通信機能専用の1つのプロセッサ、および他のアプリケーションの実行専用の1つのプロセッサなどの、複数のプロセッサが設けられてもよい。通常、ソフトウェアアプリケーションは、それらがアクセスされプロセッサ3001および3101にロードされる前に、内部メモリ内に記憶され得る。プロセッサ3001および3101は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、またはその両方の混合物であってよい。この説明の目的のために、メモリへの一般的な言及は、内部メモリ、またはデバイスに差し込まれるリムーバブルメモリ、ならびにプロセッサ3001および3101自体の中のメモリを含む、プロセッサ3001および3101によってアクセス可能なメモリを指す。   Processors 3001 and 3101 can be any programmable microprocessor, microcomputer, or one or more that can be configured by software instructions (applications) to perform various functions, including the functions of the various embodiments described above. It may be a multiprocessor chip. In some devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions and one processor dedicated to running other applications. Typically, software applications can be stored in internal memory before they are accessed and loaded into processors 3001 and 3101. Processors 3001 and 3101 may include internal memory sufficient to store application software instructions. In many devices, the internal memory may be volatile memory, or non-volatile memory such as flash memory, or a mixture of both. For the purposes of this description, a general reference to memory includes internal memory, or removable memory plugged into the device, and memory accessible by the processors 3001 and 3101, including memory within the processors 3001 and 3101 itself. Point to.

前述の方法の説明およびプロセスフロー図は、例示的な例として与えられるにすぎず、様々な実施形態のステップが、提示された順序で実行されなければならないことを要求または示唆するものではない。当業者なら諒解するように、上記の実施形態におけるステップの順序は、任意の順序で実行されてよい。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は単に、方法の説明を通じて読者を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する、単数形での請求項の要素へのいかなる言及も、要素を単数形に限定するものとして解釈されるべきではない。   The foregoing method descriptions and process flow diagrams are provided by way of example only and do not require or imply that the steps of the various embodiments must be performed in the order presented. As those skilled in the art will appreciate, the order of steps in the above embodiments may be performed in any order. Words such as “after”, “next”, “next” do not limit the order of the steps, and these words are simply used to guide the reader through the description of the method. Furthermore, any reference to an element in a claim in the singular, for example using the article “a”, “an” or “the” should not be construed as limiting the element to the singular.

本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能性に関して上記で説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例およびシステム全体に課される設計制約に依存する。当業者は、説明した機能を特定のアプリケーションごとに様々な方法で実装し得るが、そのような実装決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。   The various exemplary logic blocks, modules, circuits, and algorithm steps described with respect to the embodiments disclosed herein may be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in a variety of ways for a particular application, but such implementation decisions should not be construed as causing deviations from the scope of the present invention.

本明細書で開示された態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実施するように設計されたそれらの組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであってよいが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DPCとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DPCコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてよい。代替的に、いくつかのステップまたは方法は、所与の機能に専用の回路構成によって実行されてよい。   The hardware used to implement the various exemplary logic, logic blocks, modules, and circuits described with respect to the aspects disclosed herein includes general purpose processors, digital signal processors (DSPs), and application specific An integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, individual gate or transistor logic, individual hardware components, or those designed to perform the functions described herein It can be implemented or implemented using a combination. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, eg, a combination of DPC and microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DPC core, or any other such configuration. Good. Alternatively, some steps or methods may be performed by circuitry that is dedicated to a given function.

1つまたは複数の例示的な態様では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、非一時的コンピュータ可読媒体上または非一時的プロセッサ可読媒体上の1つまたは複数のプロセッサ実行可能命令またはコードとして記憶されてもよい。本明細書で開示した方法またはアルゴリズムのステップは、非一時的コンピュータ可読またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールにおいて具現化され得る。非一時的サーバ可読記憶媒体、非一時的コンピュータ可読記憶媒体、または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であってよい。限定ではなく例として、そのような非一時的サーバ可読媒体、非一時的コンピュータ可読媒体、または非一時的プロセッサ可読媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用され得るとともにコンピュータによってアクセスされ得る任意の他の媒体を含み得る。ディスク(disk)およびディスク(disc)は、本明細書で使用するとき、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せも、非一時的サーバ可読媒体、非一時的コンピュータ可読媒体、および非一時的プロセッサ可読媒体の範囲内に含まれる。追加として、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的サーバ可読媒体、非一時的プロセッサ可読媒体、および/または非一時的コンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せまたはセットとして存在してもよい。   In one or more exemplary aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more processor-executable instructions or code on a non-transitory computer-readable medium or non-transitory processor-readable medium. The steps of the method or algorithm disclosed herein may be embodied in a processor executable software module that may reside on a non-transitory computer readable or processor readable storage medium. A non-transitory server readable storage medium, non-transitory computer readable storage medium, or non-transitory processor readable storage medium may be any storage medium that can be accessed by a computer or processor. By way of example, and not limitation, such non-transitory server readable media, non-transitory computer readable media, or non-transitory processor readable media may be RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disk storage, It may include magnetic disk storage or other magnetic storage device, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Discs and discs, as used herein, are compact discs (CDs), laser discs (discs), optical discs, digital versatile discs. (DVD), floppy disk, and Blu-ray disk, which normally plays data magnetically, and the disk lasers the data To reproduce optically. Combinations of the above are also included within the scope of non-transitory server-readable media, non-transitory computer-readable media, and non-transitory processor-readable media. Additionally, the operation of the method or algorithm may be one of code and / or instructions on a non-transitory server readable medium, non-transitory processor readable medium, and / or non-transitory computer readable medium that may be incorporated into a computer program product. May exist as one or any combination or set.

開示された実施形態の前述の説明は、いかなる当業者も本発明を作成または使用することができるように記載されている。これらの実施形態に対する様々な変更は当業者には容易に明らかとなり、本明細書で定義した一般原理は、本発明の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示す実施形態に限定されるものではなく、以下の特許請求の範囲、ならびに本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。   The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Accordingly, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein. It is.

100 セルラーネットワークシステム
102 受信機デバイス
104 セルラータワーまたは基地局
106 セルラー接続
108 サーバ
110 インターネット
112 サーバ
202 受信機デバイス
204 アプリケーション/DASHクライアント
206 マルチキャストサービスデバイスクライアント(MSDC)
208 モデムレイヤ
302 エンコーダ
304 BMSC
306 マルチキャストサービスデバイスクライアント
308 DASHクライアント
310 MPD
312 MPD
314 MPD
400 ネットワーク
402 エンコーダ
404 セグメンタ
406 ネットワーク、第1の部分、ネットワーク部分、部分
408 ネットワーク、第2の部分、ネットワーク部分、部分
410 受信機デバイス1
412 受信機デバイス2
500a 方法
500b 方法
600a 方法
600b 方法
800a 方法
800b 方法
1000 方法
1100a 方法
1100b 方法
1300 方法
1400 方法
1500a 方法
1500b 方法
1600 方法
1170 MPD
1180 MPD
2000 MPD
2102 URL
2106 期間および表現結合
2402 URL
2406 期間および表現結合
2300 MPD
2500 方法
2700 方法
2800 方法
2900 方法
3000 モバイルデバイス
3001 プロセッサ
3002 内部メモリ
3004 タッチスクリーンコントローラ
3008 無線信号トランシーバ
3010 アンテナ
3012 タッチスクリーンパネル
3014 スピーカー
3016 セルラーネットワークワイヤレスモデムチップ
3018 周辺デバイス接続インターフェース
3020 ハウジング
3022 電源
3100 サーバ
3101 プロセッサ
3102 揮発性メモリ
3103 ネットワークトランシーバ
3104 ディスクドライブ
3106 フロッピーディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ
100 cellular network system
102 Receiver device
104 Cellular tower or base station
106 Cellular connection
108 servers
110 Internet
112 servers
202 Receiver device
204 Application / DASH Client
206 Multicast service device client (MSDC)
208 Modem layer
302 encoder
304 BMSC
306 Multicast service device client
308 DASH client
310 MPD
312 MPD
314 MPD
400 network
402 Encoder
404 Segmenta
406 network, first part, network part, part
408 network, second part, network part, part
410 Receiver device 1
412 Receiver device 2
500a method
500b method
600a method
600b method
800a method
800b method
1000 methods
1100a method
1100b method
1300 method
1400 method
1500a method
1500b method
1600 method
1170 MPD
1180 MPD
2000 MPD
2102 URL
2106 Duration and expression combinations
2402 URL
2406 Duration and expression combination
2300 MPD
2500 methods
2700 method
2800 method
2900 method
3000 mobile devices
3001 processor
3002 Internal memory
3004 touch screen controller
3008 radio signal transceiver
3010 antenna
3012 touch screen panel
3014 Speaker
3016 cellular network wireless modem chip
3018 Peripheral device connection interface
3020 housing
3022 power supply
3100 server
3101 processor
3102 volatile memory
3103 Network transceiver
3104 disk drive
3106 Floppy disk drive, compact disk (CD) or DVD disk drive

Claims (16)

受信機デバイスのタイミングドリフトを考慮するための方法であって、
ユニフォームリソース識別子(URL)マッチングによってセグメントのインデックスを決定するステップと、
利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの利用可能開始時間を決定するステップと、
前記利用可能性タイムラインからセグメント持続時間を決定するステップと、
前記セグメントに関する復号時間を決定するステップと、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものがしきい値よりも大きいかどうかを決定するステップと、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記しきい値よりも大きいとの決定に応じて、前記利用可能開始時間の再計算をトリガするステップと
を含む、方法。
A method for taking into account the timing drift of a receiver device,
Determining an index for the segment by uniform resource identifier (URL) matching;
Determining an availability start time of the segment based on a matching period and expression combination in an availability timeline;
Determining a segment duration from the availability timeline;
Determining a decoding time for the segment;
Determining whether the decoding time for the segment minus the available start time of the segment is greater than a threshold;
Triggering recalculation of the available start time in response to determining that the decoding time for the segment minus the available start time for the segment is greater than the threshold; Method.
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものがしきい値よりも大きいかどうかを前記決定するステップが、前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記セグメント持続時間の比率よりも大きいかどうかを決定するステップを含み、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記しきい値よりも大きいとの決定に応じて、前記利用可能開始開始時間の再計算を前記トリガするステップが、前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記セグメント持続時間の前記比率よりも大きいとの決定に応じて、前記利用可能開始開始時間の再計算をトリガするステップを含む
請求項1に記載の方法。
The step of determining whether the decoding time for the segment minus the availability start time for the segment is greater than a threshold value, the determining the availability start time for the segment from the decoding time for the segment; Determining whether the subtraction is greater than the segment duration ratio,
Triggering the recalculation of the available start start time in response to determining that the decoding start time for the segment minus the available start time for the segment is greater than the threshold value; Triggering recalculation of the available start time in response to determining that the decoding start time for the segment minus the available start time for the segment is greater than the ratio of the segment duration. The method of claim 1 comprising:
前記セグメント持続時間の前記比率が2分の1である、請求項2に記載の方法。   The method of claim 2, wherein the ratio of the segment duration is one half. 前記受信機デバイスにおいて2つの受信されたセグメントフラグメント間でセグメントインデックス変更が生じるかどうかを決定するステップをさらに含み、
前記利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの前記利用可能開始時間を前記決定するステップが、前記受信機デバイスにおける前記2つの受信されたセグメントフラグメント間で前記セグメントインデックス変更が生じたとの決定に応じて、前記利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの前記利用可能開始時間を決定するステップを含む
請求項1に記載の方法。
Determining whether a segment index change occurs between two received segment fragments at the receiver device;
The step of determining the availability start time of the segment based on a matching period and a representation combination in the availability timeline includes the segment index between the two received segment fragments at the receiver device. The method of claim 1, comprising determining the availability start time of the segment based on a matching period and a representation combination in the availability timeline in response to determining that a change has occurred.
前記利用可能性タイムラインが、動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH)メディアプレゼンテーション記述(MPD)である、請求項4に記載の方法。   5. The method of claim 4, wherein the availability timeline is a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD). 受信機デバイスのタイミングドリフトを考慮するための方法であって、
ユニフォームリソース識別子(URL)マッチングによって、受信されたセグメントに関するセグメントインデックスを決定するステップと、
前記受信されたセグメントから生じる利用可能開始時間の変更を決定するステップと、
前記利用可能開始時間の前記変更がしきい値よりも大きいかどうかを決定するステップと、
前記利用可能開始時間の前記変更が前記しきい値よりも大きいとの決定に応じて、前記利用可能開始時間の再計算をトリガするステップと
を含む、方法。
A method for taking into account the timing drift of a receiver device,
Determining a segment index for the received segment by uniform resource identifier (URL) matching;
Determining a change in available start time resulting from the received segment;
Determining whether the change in the available start time is greater than a threshold;
Triggering recalculation of the available start time in response to determining that the change in the available start time is greater than the threshold.
前記しきい値がセグメント持続時間である、請求項6に記載の方法。   The method of claim 6, wherein the threshold is a segment duration. 利用可能性タイムラインが、動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH)メディアプレゼンテーション記述(MPD)である、請求項7に記載の方法。   8. The method of claim 7, wherein the availability timeline is a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD). 受信機デバイスであって、
動作を実行するためのプロセッサ実行可能命令で構成されたプロセッサを備え、前記動作が、
ユニフォームリソース識別子(URL)マッチングによってセグメントのインデックスを決定することと、
利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの利用可能開始時間を決定することと、
前記利用可能性タイムラインからセグメント持続時間を決定することと、
前記セグメントに関する復号時間を決定することと、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものがしきい値よりも大きいかどうかを決定することと、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記しきい値よりも大きいとの決定に応じて、前記利用可能開始時間の再計算をトリガすることと
を含む、受信機デバイス。
A receiver device,
Comprising a processor configured with processor-executable instructions for performing an operation, the operation comprising:
Determining the index of the segment by uniform resource identifier (URL) matching;
Determining an availability start time for the segment based on a matching period and expression combination in an availability timeline;
Determining a segment duration from the availability timeline;
Determining a decoding time for the segment;
Determining whether the decoding time for the segment minus the available start time of the segment is greater than a threshold;
Triggering a recalculation of the available start time in response to determining that the decoding time for the segment minus the available start time for the segment is greater than the threshold; Receiver device.
前記プロセッサが、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものがしきい値よりも大きいかどうかを前記決定することが、前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記セグメント持続時間の比率よりも大きいかどうかを決定することを含み、
前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記しきい値よりも大きいとの決定に応じて、前記利用可能開始時間の再計算を前記トリガすることが、前記セグメントに関する前記復号時間から前記セグメントの前記利用可能開始時間を減じたものが前記セグメント持続時間の前記比率よりも大きいとの決定に応じて、前記利用可能開始時間の再計算をトリガすることを含む
ような動作を実行するためのプロセッサ実行可能命令で構成される、請求項9に記載の受信機デバイス。
The processor is
Determining whether the decoding time for the segment minus the availability start time for the segment is greater than a threshold value, the determining the availability start time for the segment from the decoding time for the segment; Determining whether subtracted is greater than the ratio of the segment durations,
Triggering recalculation of the available start time in response to determining that the decoding start time for the segment minus the available start time for the segment is greater than the threshold; Triggering a recalculation of the available start time in response to determining that the decoding time for the segment minus the available start time of the segment is greater than the ratio of the segment duration The receiver device of claim 9, wherein the receiver device is configured with processor-executable instructions for performing such operations.
前記セグメント持続時間の前記比率が2分の1である、請求項10に記載の受信機デバイス。   The receiver device of claim 10, wherein the ratio of the segment duration is one half. 前記プロセッサが、2つの受信されたセグメントフラグメント間でセグメントインデックス変更が生じるかどうかを決定することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサが、前記利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの前記利用可能開始時間を前記決定することが、前記2つの受信されたセグメントフラグメント間で前記セグメントインデックス変更が生じたとの決定に応じて、前記利用可能性タイムライン内のマッチング期間および表現結合に基づいて、前記セグメントの前記利用可能開始時間を決定することを含むような動作を実行するためのプロセッサ実行可能命令で構成される、請求項9に記載の受信機デバイス。
The processor comprises processor executable instructions for performing operations further comprising determining whether a segment index change occurs between two received segment fragments;
Wherein the processor determines the availability start time of the segment based on a matching period and a representation combination in the availability timeline, wherein the segment index change between the two received segment fragments A processor execution for performing an operation including determining the availability start time of the segment based on a matching period and a representation combination in the availability timeline in response to determining that the occurrence has occurred 10. A receiver device according to claim 9, consisting of possible instructions.
前記利用可能性タイムラインが、動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH)メディアプレゼンテーション記述(MPD)である、請求項12に記載の受信機デバイス。   13. The receiver device of claim 12, wherein the availability timeline is a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD). 受信機デバイスであって、
動作を実行するためのプロセッサ実行可能命令で構成されたプロセッサを備え、前記動作が、
ユニフォームリソース識別子(URL)マッチングによって、受信されたセグメントに関するセグメントインデックスを決定することと、
前記受信されたセグメントから生じる利用可能開始時間の変更を決定することと、
前記利用可能開始時間の前記変更がしきい値よりも大きいかどうかを決定することと、
前記利用可能開始時間の前記変更が前記しきい値よりも大きいとの決定に応じて、前記利用可能開始時間の再計算をトリガすることと
を含む、受信機デバイス。
A receiver device,
Comprising a processor configured with processor-executable instructions for performing an operation, the operation comprising:
Determining a segment index for the received segment by uniform resource identifier (URL) matching;
Determining an available start time change resulting from the received segment;
Determining whether the change in the available start time is greater than a threshold;
Triggering a recalculation of the available start time in response to determining that the change in the available start time is greater than the threshold.
前記しきい値がセグメント持続時間である、請求項14に記載の受信機デバイス。   15. A receiver device according to claim 14, wherein the threshold is a segment duration. 利用可能性タイムラインが、動的適応ストリーミングオーバーハイパーテキスト転送プロトコル(DASH)メディアプレゼンテーション記述(MPD)である、請求項15に記載の受信機デバイス。   16. The receiver device of claim 15, wherein the availability timeline is a dynamic adaptive streaming over hypertext transfer protocol (DASH) media presentation description (MPD).
JP2017554447A 2015-04-20 2016-02-26 Further device timing adjustments and methods for supporting DASH overbroadcast Pending JP2018519694A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562149776P 2015-04-20 2015-04-20
US62/149,776 2015-04-20
US14/812,535 US20160308927A1 (en) 2015-04-20 2015-07-29 Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast
US14/812,535 2015-07-29
PCT/US2016/019795 WO2016171793A1 (en) 2015-04-20 2016-02-26 Further device timing adjustments and methods for supporting dash over broadcast

Publications (1)

Publication Number Publication Date
JP2018519694A true JP2018519694A (en) 2018-07-19

Family

ID=57129070

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017554462A Pending JP2018519695A (en) 2015-04-20 2016-02-26 Further device timing adjustments and methods for supporting DASH overbroadcast
JP2017554447A Pending JP2018519694A (en) 2015-04-20 2016-02-26 Further device timing adjustments and methods for supporting DASH overbroadcast

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017554462A Pending JP2018519695A (en) 2015-04-20 2016-02-26 Further device timing adjustments and methods for supporting DASH overbroadcast

Country Status (5)

Country Link
US (3) US20160308934A1 (en)
EP (2) EP3254445A1 (en)
JP (2) JP2018519695A (en)
CN (2) CN107534663A (en)
WO (3) WO2016171792A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022550528A (en) * 2019-10-01 2022-12-02 クゥアルコム・インコーポレイテッド Repair Mechanism for Adaptive Bitrate Multicast

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014121857A1 (en) * 2013-02-06 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Technique for detecting an encoder functionality issue
US9998477B2 (en) * 2015-03-31 2018-06-12 Comcast Cable Communications, Llc Digital content access control
US20160308934A1 (en) 2015-04-20 2016-10-20 Qualcomm Incorporated Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast
EP3300326B1 (en) * 2015-06-19 2020-05-20 Huawei Technologies Co., Ltd. Group communication method, apparatus and device
US10440436B1 (en) * 2015-06-26 2019-10-08 Amazon Technologies, Inc. Synchronizing interactive content with a live video stream
US10021458B1 (en) 2015-06-26 2018-07-10 Amazon Technologies, Inc. Electronic commerce functionality in video overlays
US9883249B2 (en) 2015-06-26 2018-01-30 Amazon Technologies, Inc. Broadcaster tools for interactive shopping interfaces
US9973819B1 (en) 2015-06-26 2018-05-15 Amazon Technologies, Inc. Live video stream with interactive shopping interface
US10158682B2 (en) * 2015-09-23 2018-12-18 Adobe Systems Incorporated Power efficient multimedia content streaming based on a server push
US10152080B2 (en) 2015-09-23 2018-12-11 Adobe Systems Incorporated Power efficient multimedia content streaming based on media segment duration
KR101916022B1 (en) * 2015-10-06 2018-11-07 한국전자통신연구원 Method and Apparatus for Repeatedly Transmitting Segment Based Broadcasting Contents
US10531146B2 (en) * 2017-06-02 2020-01-07 Mobitv, Inc. Lean private copy of media content within network-based digital video recordings
US10477286B2 (en) * 2017-06-19 2019-11-12 Wangsu Science & Technology Co., Ltd. Streaming media file processing method and live streaming system
US10652166B2 (en) * 2017-06-27 2020-05-12 Cisco Technology, Inc. Non-real time adaptive bitrate recording scheduler
JP6271072B1 (en) * 2017-10-10 2018-01-31 パナソニック株式会社 Terminal device, video distribution system, and video distribution method
CN111031354B (en) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 Multimedia playing method, device and storage medium
WO2021190733A1 (en) * 2020-03-24 2021-09-30 Telefonaktiebolaget Lm Ericsson (Publ) Devices and methods for provision of resource representations
US11490153B2 (en) * 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11490167B2 (en) 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11770588B2 (en) 2020-12-07 2023-09-26 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
CN117478942A (en) * 2022-07-20 2024-01-30 联发科技(新加坡)私人有限公司 Streaming media playback method and electronic device

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583955B2 (en) * 2003-07-24 2009-09-01 Lg Electronics Inc. System for and method of reproducing multimedia contents in mobile communication terminal
US20060059256A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Signaling a state of a transmission link via a transport control protocol
WO2006117613A1 (en) * 2005-04-29 2006-11-09 Nokia, Corporation Method, apparatus and computer program to dynamically adjust segmentation at a protocol layer, such as at the medium access control (mac) layer
US20070101394A1 (en) * 2005-11-01 2007-05-03 Yesvideo, Inc. Indexing a recording of audiovisual content to enable rich navigation
KR100946902B1 (en) * 2006-05-06 2010-03-09 삼성전자주식회사 Resource management apparatus and method in mobile communication system
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
WO2013016579A1 (en) * 2011-07-26 2013-01-31 United Parcel Service Of America, Inc Systems and methods for assessing mobile asset efficiencies
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9088583B2 (en) 2011-10-31 2015-07-21 Interdigital Patent Holdings, Inc. Method and apparatus for enabling multimedia synchronization
US8843596B2 (en) * 2011-11-30 2014-09-23 Adobe Systems Incorporated Conversion between streaming media communication protocols
US9450997B2 (en) * 2012-02-27 2016-09-20 Qualcomm Incorporated Dash client and receiver with request cancellation capabilities
US8661491B1 (en) * 2012-08-02 2014-02-25 Ericsson Television Inc. Methods using base content and additive content and related client devices and network server devices
RU2614540C2 (en) 2012-11-13 2017-03-28 Телефонактиеболагет Л М Эрикссон (Пабл) Processing multimedia data
US9386062B2 (en) 2012-12-28 2016-07-05 Qualcomm Incorporated Elastic response time to hypertext transfer protocol (HTTP) requests
US9426196B2 (en) 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
US20150172340A1 (en) * 2013-01-11 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Technique for Operating Client and Server Devices in a Broadcast Communication Network
WO2014121857A1 (en) 2013-02-06 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Technique for detecting an encoder functionality issue
CN103973662B (en) * 2013-02-06 2017-06-20 华为技术有限公司 Streaming Media requesting method and controller
US9438654B2 (en) 2013-04-18 2016-09-06 Futurewei Technologies, Inc. Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations
RU2016115980A (en) * 2013-10-30 2017-10-25 Сони Корпорейшн CONTENT DELIVERY DEVICE, CONTENT SUBMISSION METHOD, PROGRAM, TERMINAL DEVICE AND CONTENT SUBMISSION SYSTEM
US20150172066A1 (en) * 2013-12-13 2015-06-18 Qualcomm Incorporated Practical implementation aspects of unicast fetch for http streaming over embms
KR102163920B1 (en) * 2014-01-03 2020-10-12 엘지전자 주식회사 Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9491239B2 (en) * 2014-01-31 2016-11-08 Comcast Cable Communications, Llc Methods and systems for processing data requests
KR101880467B1 (en) * 2014-02-24 2018-07-20 엘지전자 주식회사 Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
CN103974147A (en) * 2014-03-07 2014-08-06 北京邮电大学 MPEG (moving picture experts group)-DASH protocol based online video playing control system with code rate switch control and static abstract technology
US9706572B2 (en) * 2014-04-30 2017-07-11 Qualcomm Incorporated Techniques for obtaining and maintaining access to a wireless communication medium
US20160308934A1 (en) 2015-04-20 2016-10-20 Qualcomm Incorporated Further Device Timing Adjustments and Methods for Supporting DASH Over Broadcast

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022550528A (en) * 2019-10-01 2022-12-02 クゥアルコム・インコーポレイテッド Repair Mechanism for Adaptive Bitrate Multicast
JP7622048B2 (en) 2019-10-01 2025-01-27 クゥアルコム・インコーポレイテッド Repair mechanisms for adaptive bitrate multicast

Also Published As

Publication number Publication date
CN107534680A (en) 2018-01-02
US20160308934A1 (en) 2016-10-20
US20160308928A1 (en) 2016-10-20
WO2016171793A1 (en) 2016-10-27
JP2018519695A (en) 2018-07-19
EP3254445A1 (en) 2017-12-13
US20160308927A1 (en) 2016-10-20
WO2016171792A1 (en) 2016-10-27
EP3286902A1 (en) 2018-02-28
CN107534663A (en) 2018-01-02
US10051031B2 (en) 2018-08-14
WO2016171791A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
JP2018519694A (en) Further device timing adjustments and methods for supporting DASH overbroadcast
US20200128058A1 (en) Device timing adjustments and methods for supporting dash over broadcast
JP6301456B2 (en) Multiple file delivery over unidirectional transport protocol session for services
JP2013510453A (en) Streaming with optional broadcast delivery of data segments
JP6655093B2 (en) Display for partial segments
EP3262845B1 (en) Delay compensation for broadcast adaptive bitrate streaming
US20160248829A1 (en) Availability Start Time Adjustment By Device For DASH Over Broadcast
US10142385B2 (en) Multi-service initialization for adaptive media streaming
US8700900B2 (en) Communicating admission decisions and status information to a client
JP6009501B2 (en) Streaming with optional broadcast delivery of data segments
HK1187745A (en) Apparatus and method for quality of experience reporting for dynamic streaming of media content

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171023