JP2022550528A - Repair Mechanism for Adaptive Bitrate Multicast - Google Patents
Repair Mechanism for Adaptive Bitrate Multicast Download PDFInfo
- Publication number
- JP2022550528A JP2022550528A JP2022519195A JP2022519195A JP2022550528A JP 2022550528 A JP2022550528 A JP 2022550528A JP 2022519195 A JP2022519195 A JP 2022519195A JP 2022519195 A JP2022519195 A JP 2022519195A JP 2022550528 A JP2022550528 A JP 2022550528A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- header
- media
- media data
- 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
Links
- 230000003044 adaptive effect Effects 0.000 title description 3
- 230000008263 repair mechanism Effects 0.000 title 1
- 230000007727 signaling mechanism Effects 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims description 82
- 238000003860 storage Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 27
- 230000011664 signaling Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 8
- 239000012634 fragment Substances 0.000 description 38
- 230000000875 corresponding effect Effects 0.000 description 24
- 238000005538 encapsulation Methods 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 23
- 230000006978 adaptation Effects 0.000 description 22
- 238000001514 detection method Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 12
- 230000008439 repair process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64776—Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
- H04L43/0835—One way packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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 the scheduling operation being performed under constraints
- H04N21/26233—Content 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 the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6408—Unicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
メディアデータを取り出すための例示的なデバイスが、メディアデータを記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、パケット損失シグナリング機構を示すデータを受信することと、パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットは、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を行うように構成される。【選択図】図6An exemplary device for retrieving media data includes a memory configured to store media data and one or more processors implemented in circuits, the one or more processors retrieving packets receiving data indicating a loss signaling mechanism, and the packet loss signaling mechanism confirming that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the last of the objects assigned to the TOI is comprising at least one of a packet having a particular flag set in the header of the last packet, a base URL, a maximum latency, or a synchronization point in the file delivery header; of packet loss signaling mechanisms detecting loss of packets using at least one of the lost packets containing the lost media data; and using information in the file delivery header to generate a byte range request for the lost media data. and delivering the appropriate media object to the media application. [Selection drawing] Fig. 6
Description
[0001]本出願は、各々の内容全体が参照により本明細書に組み込まれる、2020年9月30日に出願された米国出願第17/039,442号、および2019年10月1日に出願された米国仮出願第62/908,949号の利益を主張する。 [0001] This application is the subject of U.S. Application Serial No. 17/039,442, filed September 30, 2020, and filed October 1, 2019, the entire contents of each of which are incorporated herein by reference. No. 62/908,949, filed herein.
[0002]本開示は、メディアデータのトランスポートに関する。 [0002] This disclosure relates to the transport of media data.
[0003]デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するための、MPEG-2、MPEG-4、ITU-T H.263またはITU-T H.264/MPEG-4,Part10,アドバンストビデオコーディング(AVC)、(高効率ビデオコーディング(HEVC)とも呼ばれる)ITU-T H.265によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0003] Digital video capabilities include digital television, digital direct broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, digital recording devices, digital media players, video gaming devices, video It can be incorporated into a wide range of devices, including game consoles, cellular or satellite radiotelephones, video teleconferencing devices, and the like. Digital video devices use MPEG-2, MPEG-4, and ITU-T H.265 standards for more efficient transmission and reception of digital video information. 263 or ITU-T H.263. 264/MPEG-4,
[0004]ビデオデータが符号化された後に、ビデオデータは送信または記憶のためにパケット化され得る。ビデオデータは、国際標準化機構(ISO)ベースメディアファイルフォーマットおよびそれの拡張など、様々な規格のいずれかに準拠するビデオファイルにアセンブルされ得る。 [0004] After the video data is encoded, the video data may be packetized for transmission or storage. Video data may be assembled into video files conforming to any of a variety of standards, such as the International Organization for Standardization (ISO) Base Media File Format and its extensions.
[0005]概して、本開示は、パケット損失を検出し、損失したメディアデータを取り出すための技法について説明する。特に、本開示の技法によれば、サーバデバイスが、ストリーミングされたメディアビットストリームについてのパケット損失を検出するためにクライアントデバイスによって使用されるべきパケット損失シグナリング機構(mechanism)をシグナリングし得る。パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本ユニフォームリソースロケータ(URL)、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの1つまたは複数であり得る。クライアントデバイスは、ストリーミングされたメディアビットストリーム中の損失したパケットを検出するために(1つまたは複数の)パケット損失シグナリング機構を使用し得る。損失したパケットを検出したことに応答して、クライアントデバイスは、損失したパケット中に含まれるメディアデータを含むメディアファイルの一部分(たとえば、セグメント)を指定するバイト範囲要求を使用して、損失したパケットの一部または全部の(some or all)消失したメディアデータを取り出し得る。このようにして、クライアントデバイスは適切なメディアオブジェクトを取得し得、ここで、適切なメディアオブジェクトは、依然として、消失したメディアデータの一部を消失していることがあるが、適切なメディアオブジェクトが適切にパースされ、復号され、提示され得るようにフォーマットされ得る。 [0005] In general, this disclosure describes techniques for detecting packet loss and retrieving lost media data. In particular, according to the techniques of this disclosure, a server device may signal a packet loss signaling mechanism to be used by a client device to detect packet loss for a streamed media bitstream. The packet loss signaling mechanism is based on whether the segments are sent in chunks, the Transport Object Identifier (TOI) is contiguous, or the last packet of the object assigned to the TOI is set in the header of the last packet. a basic uniform resource locator (URL), a maximum latency, or a synchronization point in the file delivery header. A client device may use packet loss signaling mechanism(s) to detect lost packets in a streamed media bitstream. In response to detecting a lost packet, the client device detects the lost packet using a byte range request that specifies the portion (e.g., segment) of the media file that contains the media data contained in the lost packet. can retrieve some or all of the missing media data. In this way, the client device may obtain the appropriate media object, where the appropriate media object may still be missing some of the missing media data, but the appropriate media object may be missing. It can be properly parsed, decoded and formatted so that it can be presented.
[0006]一例では、メディアデータを取り出す方法は、パケット損失シグナリング機構を示すデータを受信することと、パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットは、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を含む。 [0006] In one example, a method of retrieving media data includes receiving data indicative of a packet loss signaling mechanism, the packet loss signaling mechanism wherein segments are sent in chunks, transport object identifiers (TOIs) are contiguous. or that the last packet of the object assigned to the TOI has a specific flag set in the last packet's header, the base URL, the maximum latency, or the synchronization point in the file delivery header. detecting loss of packets using at least one of the packet loss signaling mechanisms, the lost packets containing lost media data; using information in the file delivery header. to generate a byte range request for the missing media data; and deliver the appropriate media object to the media application.
[0007]別の例では、メディアデータを取り出すためのデバイスは、メディアデータを記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、パケット損失シグナリング機構を示すデータを受信することと、パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットが、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を行うように構成される。 [0007] In another example, a device for retrieving media data includes a memory configured to store media data, one or more processors implemented in circuits, and one or more a processor of receiving data indicating a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, that the Transport Object Identifiers (TOIs) are contiguous, or are assigned to the TOIs; comprising at least one of: that the last packet of the retrieved object has a particular flag set in the header of the last packet, a base URL, a maximum latency, or a synchronization point in the file delivery header; detecting loss of packets using at least one of the loss signaling mechanisms, wherein the lost packets contain lost media data; generating a byte range request; and delivering the appropriate media object to the media application.
[0008]別の例では、命令が記憶されたコンピュータ可読記憶媒体であって、前記命令は、実行されたとき、プロセッサに、パケット損失シグナリング機構を示すデータを受信することと、パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットは、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を行わせる。 [0008] In another example, a computer-readable storage medium having instructions stored thereon that, when executed, instruct a processor to receive data indicative of a packet loss signaling mechanism; the segment is sent in chunks, the Transport Object Identifier (TOI) is contiguous, or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet. a base URL, a maximum latency, or a synchronization point in the file delivery header; detecting packet loss using at least one of the packet loss signaling mechanisms; , the lost packet contains the lost media data; using information in the file delivery header to generate a byte range request for the lost media data; and delivering the appropriate media object to the media application. ,
[0009]別の例では、メディアデータを取り出すためのデバイスが、パケット損失シグナリング機構を示すデータを受信するための手段と、パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出するための手段と、損失したパケットが、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成するための手段と;適切なメディアオブジェクトをメディアアプリケーションに配信するための手段と、を含む。 [0009] In another example, means for a device for retrieving media data to receive data indicative of a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, the transport object Identifiers (TOIs) are contiguous, or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, base URL, maximum latency, or file delivery header means for detecting loss of packets using at least one of the packet loss signaling mechanisms; and wherein the lost packets contain lost media data. means for generating byte range requests for lost media data using information in the file delivery header; and means for delivering the appropriate media object to the media application.
[0010]別の例では、メディアデータを送出する方法が、パケット損失シグナリング機構を示すデータを送出することと、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出することと、を含む。 [0010] In another example, the method of sending media data includes sending data indicating a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, a transport object identifier (TOI) ) is contiguous, or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, base URL, maximum latency, or synchronization in the file delivery header. sending one or more packets containing media data via a broadcast or multicast protocol; and byte range requests indicating the media data of one of the lost packets. , receiving from the client device via the unicast protocol; and sending the byte range of media data to the client device via the unicast protocol in response to the byte range request.
[0011]別の例では、メディアデータを送出するためのデバイスが、ビデオデータを記憶するように構成されたメモリと、回路中に実装された1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、パケット損失シグナリング機構を示すデータを送出することと、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出することと、を行うように構成される。 [0011] In another example, a device for delivering media data includes a memory configured to store video data, one or more processors implemented in circuits, one or more The plurality of processors sends data indicating a packet loss signaling mechanism, and the packet loss signaling mechanism indicates that the segments are sent in chunks, that transport object identifiers (TOIs) are contiguous, or are assigned to TOIs. at least one of: that the last packet of the object set has a particular flag set in the header of the last packet, a base URL, a maximum latency, or a synchronization point in the file delivery header; sending one or more packets containing media data via a broadcast or multicast protocol; and receiving a byte range request from a client device via a unicast protocol indicating the media data of one of the lost packets. and sending the byte range media data to the client device via a unicast protocol in response to the byte range request.
[0012]別の例では、命令が記憶されたコンピュータ可読記憶媒体であって、前記命令は、実行されたとき、プロセッサに、パケット損失シグナリング機構を示すデータを送出することと、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出することと、を行わせる。 [0012] In another example, a computer-readable storage medium having instructions stored thereon that, when executed, send to a processor data indicative of a packet loss signaling mechanism; but the segments are sent in chunks, the Transport Object Identifier (TOI) is contiguous, or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet. a base URL, a maximum latency, or a synchronization point in the file delivery header; sending out one or more packets containing media data via a broadcast or multicast protocol; receiving a byte range request from the client device via the unicast protocol indicating the media data of one of the lost packets; and sending bytes to the client device via the unicast protocol in response to the byte range request. sending out the range of media data; and
[0013]別の例では、メディアデータを送出するためのデバイスが、パケット損失シグナリング機構を示すデータを送出するための手段と、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出するための手段と;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信するための手段と;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出するための手段と、を含む。 [0013] In another example, a device for sending media data has means for sending data indicative of a packet loss signaling mechanism, and the packet loss signaling mechanism indicates that the segments are sent in chunks, transport Object Identifiers (TOIs) are contiguous or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, base URL, maximum latency, or file delivery synchronization points in the header; means for sending out one or more packets containing media data via a broadcast or multicast protocol; and media data of one of the lost packets. means for receiving, via a unicast protocol, from a client device a byte-range request indicating the and means.
[0014]1つまたは複数の例の詳細が添付の図面および以下の説明に記載される。他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明らかになろう。 [0014] The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
[0021]tools.ietf.org/html/rfc6726において入手可能な、T.Pailaら、「FLUTE-File Delivery over Unidirectional Transport」、ネットワークワーキンググループ、RFC6726、2012年11月に記載されている、ファイル配信オーバー単方向トランスポート(FLUTE:File Delivery over Unidirectional Transport)、およびROUTEのような、単方向コンテンツ配信プロトコルは、マルチキャストプロトコルの様々なレベルでのパケット損失の検出のための様々な機構を指定する。この損失検出は、トランスポートオブジェクト全体がパケットの損失により損失しないように、修復プロシージャをトリガすることを可能にする。修復は、一般に、バイト範囲要求として始動され、したがって、受信機は、そのような要求を始動するために十分な情報を有する必要がある。 [0021] tools. ietf. Available at org/html/rfc6726, T. File Delivery over Unidirectional Transport (FLUTE), as described in Paila et al., "FLUTE-File Delivery over Unidirectional Transport," Network Working Group, RFC 6726, November 2012, and ROUTE. For example, unidirectional content delivery protocols specify different mechanisms for packet loss detection at different levels of multicast protocols. This loss detection makes it possible to trigger repair procedures so that entire transport objects are not lost due to packet loss. Repairs are generally initiated as byte range requests, so the receiver must have sufficient information to initiate such requests.
[0022]プロシージャは、以下のようなセットアップであり得る。送出機は、損失したパケットを識別し、修復プロシージャを可能にするために、コンテンツ配信プロトコルセットアップにおいて、および個々のパケット中で情報(たとえば、必要とされる情報)を与える。受信機は、その情報を使用して、一般にユニキャストバイト範囲要求によって、その情報を修復するか、あるいは、それらが利用可能でないかもしくは不成功であるか、または遅れている場合、損失は、HTTPインターフェースを通してシグナリングされ得るか、のいずれかである。 [0022] The procedure may be set up as follows. The sender provides information (eg, required information) in the content delivery protocol setup and in individual packets to identify lost packets and enable repair procedures. The receiver uses that information to repair it, typically by unicast byte range requests, or if they are unavailable or unsuccessful or delayed, the loss is Either it can be signaled through the HTTP interface.
[0023]損失検出シグナリング機構は、以下を含み得る。最も低いレベルでは、損失したパケットの検出は、トランスポートパケットのヘッダ中で直接シグナリングすることによって可能にされ得る。たとえば、ROUTEでは、オブジェクトならびにオブジェクト内のパケットがシーケンス順序で送出されるモードが使用されるとき、LCTパケットヘッダ中のstart_offsetフィールドおよびBフラグ、EXT_TOL LCT拡張ヘッダ、ならびにトランスポートオブジェクト識別子(TOI)フィールドが使用され得る。start_offsetフィールドは、配信オブジェクトの最初のバイトに対する、現在のパケット中のデータの開始バイト位置を示す。ここで、パケットは、配信オブジェクトの隣接する(複数の)データ部分からなる。したがって、受信機は、最後のパケットのstart_offsetおよびペイロードのサイズに一致しないstart_offsetをもつパケットを受信すると、損失したパケットを検出することができる。bフラグは、配信オブジェクトの最後のパケット中で設定され得る。これは、(トランスポートオブジェクトの長さをシグナリングする)EXT_TOL LCTヘッダ拡張および/またはTOIフィールドとともに、パケットの損失を検出するために使用され得る。たとえば、設定されたBフラグをもつパケットを受信することなしでの新しいTOIをもつパケットの受信の開始は、損失したパケットを示し得る。 [0023] Loss detection signaling mechanisms may include: At the lowest level, detection of lost packets can be enabled by signaling directly in the header of transport packets. For example, in ROUTE, when a mode is used in which objects and packets within objects are sent in sequence order, the start_offset field and B flag in the LCT packet header, the EXT_TOL LCT extension header, and the transport object identifier (TOI) field can be used. The start_offset field indicates the starting byte position of the data in the current packet relative to the first byte of the Broadcast Object. Here, a packet consists of contiguous data portion(s) of a delivery object. Therefore, the receiver can detect a lost packet when it receives a packet with a start_offset that does not match the start_offset of the last packet and the size of the payload. The b flag may be set in the last packet of the Broadcast Object. This can be used in conjunction with the EXT_TOL LCT header extension (which signals the length of the transport object) and/or the TOI field to detect packet loss. For example, the start of receiving a packet with a new TOI without receiving a packet with the B flag set may indicate a lost packet.
[0024]修復シグナリング機構は、以下を含み得る。ROUTEでは、上記のように、パケットのstart_offsetおよびサイズが、配信オブジェクト中の消失したバイト範囲を決定するために使用され得る。したがって、受信されたパケットiに後続し、受信されたパケットkに先行する消失したパケットjの場合、消失したデータのバイト範囲は、「消失したデータバイト範囲=start_offset(i)+サイズ(i)~start_offset(k)-1」である。消失したパケットが配信オブジェクトの最後のパケットである場合、厳密なサイズはこのようにして決定され得ず、受信機は、配信オブジェクトの終了まですべてのバイトを要求しなければならないことになる。 [0024] Repair signaling mechanisms may include: In ROUTE, as described above, the packet's start_offset and size may be used to determine the lost byte range in the delivery object. Thus, for a lost packet j that follows received packet i and precedes received packet k, the byte range of lost data is "lost data byte range = start_offset(i) + size(i) ~start_offset(k)-1". If the lost packet is the last packet of the Broadcast Object, the exact size cannot be determined in this way and the receiver will have to request all bytes until the end of the Broadcast Object.
[0025]FLUTEとROUTEの両方が、それぞれ、ファイル配信テーブル(FDT)および拡張FDT(EFDT)インスタンスのための満了時間機構を与える。これはまた、このFDTまたはEFDTインスタンスによってシグナリングされたマルチキャストパケットが上記のタイムアウト後に予想されないことがあることを暗黙的にシグナリングする。FDT/EFDTにおいてAlternate-Content-Location-1要素およびAlternate-Content-Location-2要素をシグナリングすることは、ゲートウェイが、ユニキャストを介して同じオブジェクトにアクセスするためのロケーションを見つけることを可能にする。また、FDT/EFDTインスタンスにおけるオブジェクトメタデータ満了タイムアウトが、上記で説明されたシグナリングと連携して、またはそれの代わりに、サービス/セッションメタデータシグナリングにおいて制御プレーン中でシグナリングされ得る。制御プレーンは、ユニキャストを介して同じコンテンツのロケーションの再構築を可能にするために基本URLを搬送し得る。 [0025] Both FLUTE and ROUTE provide expiration time mechanisms for File Delivery Table (FDT) and Extended FDT (EFDT) instances, respectively. It also implicitly signals that multicast packets signaled by this FDT or EFDT instance may not be expected after the above timeout. Signaling the Alternate-Content-Location-1 and Alternate-Content-Location-2 elements in FDT/EFDT allows gateways to find locations for accessing the same object via unicast . Also, object metadata expiration timeouts in FDT/EFDT instances may be signaled in the control plane in service/session metadata signaling in conjunction with or instead of the signaling described above. The control plane may carry the base URL to enable reconstruction of the location of the same content via unicast.
[0026]マルチキャストゲートウェイとDASHプレーヤとの間のシグナリングは、以下を含み得る。マルチキャストゲートウェイがDASHプレーヤへのエラーのないコンテンツの配信を保証することができない場合、そのような場合を扱うために、マルチキャストゲートウェイとDASHプレーヤとの間の特殊シグナリングが必要とされ得る。 [0026] The signaling between the multicast gateway and the DASH player may include: If the multicast gateway cannot guarantee error-free delivery of content to the DASH player, special signaling between the multicast gateway and the DASH player may be required to handle such cases.
[0027]TS26.346、節7.9.2によれば、ストリーミングアプリケーションは部分ファイルを受け付けることができる。ファイルを取り出すためにHTTP GET要求を使用するアプリケーションは、新しい3GPP(登録商標)定義メディアタイプ「application/3gpp-partial」とともに、RFC7231において定義されている「受付(Accept)」要求ヘッダを、HTTP GET要求中に含め得る。ファイルを取り出すためにHTTP GET要求を使用するアプリケーションは、新しい3GPP定義メディアタイプ「application/3gpp-partial」とともに、RFC7231において定義されている「受付」要求ヘッダを、GET要求中に含め得る。このヘッダを与え、そのような部分ファイル受付要求を発行することによって、アプリケーションは、それが部分ファイル応答を受信することが可能であることをシグナリングする。 [0027] According to TS 26.346, Section 7.9.2, streaming applications can accept partial files. Applications that use HTTP GET requests to retrieve files should include the "Accept" request header defined in RFC 7231 with the new 3GPP® defined media type "application/3gpp-partial" in the HTTP GET May be included in the request. Applications using HTTP GET requests to retrieve files may include the "reception" request header defined in RFC7231 with the new 3GPP defined media type "application/3gpp-partial" in the GET request. By providing this header and issuing such a partial file accept request, the application signals that it is capable of receiving partial file responses.
[0028]そのような受付ヘッダの使用の一例は、以下の通りである。
Accept:*/*,application/3gpp-partial
[0029]この例では、アプリケーションは、それが、応答中のすべてのメディアタイプ、ならびにapplication/3gpp-partialによって指定された特定の「不完全な」タイプを受け付けることを示す。
[0028] An example of the use of such a reception header is as follows.
Accept: */*, application/3gpp-partial
[0029] In this example, the application indicates that it accepts all media types in the response, as well as the particular "partial" type specified by application/3gpp-partial.
[0030]MBMSクライアントが、メディアタイプ「application/3gpp-partial」とともに「受付」要求を含む通常HTTP GET要求、すなわち、部分ファイル受付要求を受信し、MBMSクライアントが少なくとも1つのバイトをもつ部分ファイルを受信した場合、MBMSクライアントは、TS26.346に従って以下のように定義される部分ファイル応答で応答し得る。 [0030] When an MBMS client receives a normal HTTP GET request containing an "accept" request with media type "application/3gpp-partial", i.e., a partial file accept request, the MBMS client receives a partial file with at least one byte. If received, the MBMS Client may respond with a Partial File Response defined as follows according to TS 26.346.
・ 応答コードは200 OKに設定される
・ Content-Typeヘッダは、application/3gpp-partialに設定されるものとする。
• Response code shall be set to 200 OK. • Content-Type header shall be set to application/3gpp-partial.
・ メッセージ本文は、マルチパートメッセージ本文であり、RFC7233、アネックスAに記載されているmultipart/byterangesメディアタイプと同じフォーマットであり得る。multipart/byterangesメディアタイプは、各々が、返されている部分ファイルの(1つまたは複数の)バイト範囲を伝達するための手段としてそれ自体のContent-TypeフィールドおよびContent-Rangeフィールドをもつ、1つまたは複数の本文部分を含む。各Content-Typeヘッダは、このファイルについてFDTインスタンスにおいて与えられるContent-Typeの値に設定される。ファイルのContent-Typeに割り当てられたハンドラがファイルにアクセスし得るバイト位置を与える拡張ヘッダ(たとえば、3gpp-access-position)が追加され得る。値は、存在する場合、mbms2015:IndependentUnitPositionsから作成され得る。 • The message body is a multipart message body and may be of the same format as the multipart/byteranges media type described in RFC 7233, Annex A. A multipart/byteranges media type, each with its own Content-Type and Content-Range fields as a means to convey the byte range(s) of the partial file being returned or contains multiple body parts. Each Content-Type header is set to the Content-Type value given in the FDT instance for this file. An extension header (eg, 3gpp-access-position) may be added that gives the byte position where the handler assigned to the file's Content-Type can access the file. The value can be created from mbms2015:IndependentUnitPositions, if present.
・ 中間プロキシが不完全なファイルを記憶し、それを別のアプリケーションにサービスするのを防ぐために、キャッシュディレクティブ(cache directive)が応答中に含められるべきである。そのようなキャッシュディレクティブについての例は、「Cache-Control:max-age=0」または「Cache-Control:no-cache」である。 • A cache directive should be included in the response to prevent intermediate proxies from storing an incomplete file and serving it to another application. Examples for such cache directives are "Cache-Control: max-age=0" or "Cache-Control: no-cache".
[0031]MBMSクライアントが部分ファイル受付要求を受信し、MBMSクライアントがバイトをもたない部分ファイルを受信した(すなわち、ファイルメタデータを記述するFDTインスタンスのみが受信された)場合、MBMSクライアントは、以下のように定義される部分ファイル応答で応答し得る。 [0031] If the MBMS client receives a partial file acceptance request, and the MBMS client receives a partial file with no bytes (i.e., only FDT instances describing the file metadata were received), the MBMS client: It may respond with a partial file response defined as follows.
・ 応答コードは、416 Requested Range Not Satisfiableに設定される
・ Content-Typeヘッダは、このファイルについてFDTインスタンスにおいて与えられるContent-Typeの値に設定される。
• The response code is set to 416 Requested Range Not Satisfiable • The Content-Type header is set to the value of the Content-Type given in the FDT instance for this file.
・ Content-Rangeはbytes */Content-Lengthに設定され、Content-Length属性Content-Lengthの値は、このファイルについてFDTインスタンスにおいて与えられる。 • Content-Range is set to bytes */Content-Length and the value of the Content-Length attribute Content-Length is given in the FDT Instance for this file.
[0032]これについての例は、TS26.346、節7.9.2.3において与えられている。 [0032] An example of this is given in TS 26.346, Section 7.9.2.3.
[0033]本開示の技法は、ISOベースメディアファイルフォーマット、スケーラブルビデオコーディング(SVC)ファイルフォーマット、アドバンストビデオコーディング(AVC)ファイルフォーマット、第3世代パートナーシッププロジェクト(3GPP)ファイルフォーマット、および/またはマルチビュービデオコーディング(MVC)ファイルフォーマット、あるいは他の同様のビデオファイルフォーマットのいずれかに従ってカプセル化されたビデオデータに準拠するビデオファイルに適用され得る。 [0033] The techniques of this disclosure may use the ISO Base Media File Format, Scalable Video Coding (SVC) File Format, Advanced Video Coding (AVC) File Format, 3rd Generation Partnership Project (3GPP) File Format, and/or Multiview Video It may be applied to video files conforming to video data encapsulated according to either the video coding (MVC) file format, or other similar video file formats.
[0034]HTTPストリーミングでは、頻繁に使用される動作は、HEADと、GETと、部分GETとを含む。HEAD動作は、所与のユニフォームリソースロケータ(URL)またはユニフォームリソースネーム(URN)に関連付けられたファイルのヘッダを、URLまたはURNに関連付けられたペイロードを取り出すことなしに取り出す。GET動作は、所与のURLまたはURNに関連付けられたファイル全体を取り出す。部分GET動作は、入力パラメータとしてバイト範囲を受信し、ファイルの連続するいくつかのバイトを取り出し、ここで、バイトの数は、受信されたバイト範囲に対応する。したがって、部分GET動作は1つまたは複数の個々のムービーフラグメントを得ることができるので、HTTPストリーミングのためのムービーフラグメントが与えられ得る。ムービーフラグメント中に、異なるトラックのいくつかのトラックフラグメントがあり得る。HTTPストリーミングでは、メディアプレゼンテーションは、クライアントにとってアクセス可能であるデータの構造化された集合であり得る。クライアントは、ストリーミングサービスをユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。 [0034] In HTTP streaming, frequently used operations include HEAD, GET, and partial GET. The HEAD operation retrieves the header of the file associated with a given Uniform Resource Locator (URL) or Uniform Resource Name (URN) without retrieving the payload associated with the URL or URN. A GET operation retrieves the entire file associated with the given URL or URN. A partial GET operation receives a byte range as an input parameter and retrieves a number of consecutive bytes of the file, where the number of bytes corresponds to the received byte range. Thus, a partial GET operation can obtain one or more individual movie fragments, thus providing movie fragments for HTTP streaming. There can be several track fragments of different tracks in a movie fragment. With HTTP streaming, a media presentation can be a structured collection of data that is accessible to clients. Clients may request and download media data information to present streaming services to users.
[0035]HTTPストリーミングを使用して3GPPデータをストリーミングする例では、マルチメディアコンテンツのビデオおよび/またはオーディオデータのための複数の表現があり得る。以下で説明されるように、異なる表現は、異なるコーディング特性(たとえば、ビデオコーディング規格の異なるプロファイルまたはレベル)、異なるコーディング規格または(マルチビューおよび/またはスケーラブル拡張などの)コーディング規格の拡張、あるいは異なるビットレートに対応し得る。そのような表現のマニフェストは、メディアプレゼンテーション記述(MPD)データ構造において定義され得る。メディアプレゼンテーションは、HTTPストリーミングクライアントデバイスにとってアクセス可能であるデータの構造化された集合に対応し得る。HTTPストリーミングクライアントデバイスは、ストリーミングサービスをクライアントデバイスのユーザに提示するために、メディアデータ情報を要求し、ダウンロードし得る。メディアプレゼンテーションは、MPDの更新を含み得るMPDデータ構造中に記述され得る。 [0035] In the example of streaming 3GPP data using HTTP streaming, there may be multiple representations for the video and/or audio data of the multimedia content. As described below, different representations may refer to different coding characteristics (e.g., different profiles or levels of a video coding standard), different coding standards or extensions of a coding standard (such as multiview and/or scalable extensions), or different It can correspond to bitrate. A manifest of such representations may be defined in a Media Presentation Description (MPD) data structure. A media presentation may correspond to a structured collection of data accessible to an HTTP streaming client device. HTTP streaming client devices may request and download media data information in order to present streaming services to users of the client devices. A media presentation may be described in an MPD data structure, which may contain updates to the MPD.
[0036]メディアプレゼンテーションは、1つまたは複数の期間のシーケンスを含んでいることがある。各期間は、次の期間の開始まで、または最後の期間の場合、メディアプレゼンテーションの終了まで継続し得る。各期間は、同じメディアコンテンツについて1つまたは複数の表現を含んでいることがある。表現は、オーディオ、ビデオ、タイムドテキスト、または他のそのようなデータのいくつかの代替符号化バージョンのうちの1つであり得る。表現は、符号化タイプによって、たとえば、ビデオデータの場合、ビットレート、解像度、および/またはコーデックによって、ならびに、オーディオデータの場合、ビットレート、言語、および/またはコーデックによって異なり得る。表現という用語は、マルチメディアコンテンツの特定の期間に対応し、特定の方法で符号化された符号化オーディオまたはビデオデータのセクションを指すために使用され得る。 [0036] A media presentation may include a sequence of one or more periods. Each period may continue until the beginning of the next period or, in the case of the last period, until the end of the media presentation. Each period may contain one or more representations of the same media content. A representation can be audio, video, timed text, or one of several alternative encoded versions of such data. Representations may vary by encoding type, eg, by bit rate, resolution, and/or codec for video data and by bit rate, language, and/or codec for audio data. The term representation may be used to refer to a section of encoded audio or video data that corresponds to a particular period of multimedia content and is encoded in a particular manner.
[0037]特定の期間の表現は、それらの表現が属する適応セットを示すMPDにおける属性によって示されるグループに割り当てられ得る。同じ適応セット中の表現は、概して、たとえば帯域幅適応を実施するために、クライアントデバイスがこれらの表現間で動的におよびシームレスに切り替えることができるという点で、互いに対する代替と見なされる。たとえば、特定の期間についてのビデオデータの各表現は、表現のいずれかが、対応する期間についてのマルチメディアコンテンツの、ビデオデータまたはオーディオデータなど、メディアデータを提示するための復号のために選択され得るように、同じ適応セットに割り当てられ得る。ある期間内のメディアコンテンツは、いくつかの例では、存在する場合、グループ0からの1つの表現か、または各非ゼログループからの多くとも1つの表現の組合せのいずれかによって表され得る。期間の各表現についてのタイミングデータは、期間の開始時間に対して表現され得る。 [0037] Expressions of a particular time period may be assigned to groups indicated by attributes in the MPD that indicate the adaptation set to which they belong. Representations in the same adaptation set are generally considered alternatives to each other in that the client device can dynamically and seamlessly switch between these representations, eg, to implement bandwidth adaptation. For example, each representation of video data for a particular time period is selected for decoding to present media data, such as video data or audio data, of multimedia content for the corresponding time period. can be assigned to the same adaptation set as obtained. Media content within a period of time may, in some examples, be represented by either one representation from group 0, if present, or a combination of at most one representation from each non-zero group. Timing data for each representation of a period may be expressed relative to the start time of the period.
[0038]表現は1つまたは複数のセグメントを含み得る。各表現が初期化セグメントを含み得るか、または表現の各セグメントが自己初期化していることがある。存在するとき、初期化セグメントは、表現にアクセスするための初期化情報を含んでいることがある。概して、初期化セグメントはメディアデータを含んでいない。セグメントは、ユニフォームリソースロケータ(URL)、ユニフォームリソースネーム(URN)、またはユニフォームリソース識別子(URI)などの識別子によって一意に参照され得る。MPDは各セグメントに識別子を与え得る。いくつかの例では、MPDはまた、URL、URN、またはURIによってアクセス可能なファイル内のセグメントのためのデータに対応し得るバイト範囲をrange属性の形態で与え得る。 [0038] A representation may include one or more segments. Each representation may contain an initialization segment, or each segment of the representation may be self-initializing. When present, the initialization segment may contain initialization information for accessing the representation. Generally, initialization segments do not contain media data. A segment may be uniquely referenced by an identifier such as a uniform resource locator (URL), uniform resource name (URN), or uniform resource identifier (URI). The MPD may give each segment an identifier. In some examples, the MPD may also provide a byte range in the form of a range attribute that may correspond to data for a segment within a file accessible by a URL, URN, or URI.
[0039]異なるタイプのメディアデータについての実質的に同時の取出しのために、異なる表現が選択され得る。たとえば、クライアントデバイスが、セグメントをそこから取り出すべきオーディオ表現、ビデオ表現、およびタイムドテキスト表現を選択し得る。いくつかの例では、クライアントデバイスは、帯域幅適応を実施するための特定の適応セットを選択し得る。すなわち、クライアントデバイスは、ビデオ表現を含む適応セット、オーディオ表現を含む適応セット、および/またはタイムドテキストを含む適応セットを選択し得る。代替的に、クライアントデバイスは、いくつかのタイプのメディア(たとえば、ビデオ)のための適応セットを選択し、他のタイプのメディア(たとえば、オーディオおよび/またはタイムドテキスト)のための表現を直接選択し得る。 [0039] Different representations may be selected for substantially simultaneous retrieval for different types of media data. For example, a client device may select audio, video, and timed text representations from which to retrieve segments. In some examples, a client device may select a particular adaptation set for performing bandwidth adaptation. That is, the client device may select an adaptation set that includes video presentations, an adaptation set that includes audio presentations, and/or an adaptation set that includes timed text. Alternatively, the client device selects adaptation sets for some types of media (e.g., video) and direct representations for other types of media (e.g., audio and/or timed text). can choose.
[0040]図1は、ネットワークを介してメディアデータをストリーミングするための技法を実装する例示的なシステム10を示すブロック図である。この例では、システム10は、コンテンツ作成(content preparation)デバイス20と、サーバデバイス60と、クライアントデバイス40とを含む。クライアントデバイス40およびサーバデバイス60は、インターネットを備え得るネットワーク74によって通信可能に結合される。いくつかの例では、コンテンツ作成デバイス20およびサーバデバイス60も、ネットワーク74または別のネットワークによって結合され得るか、あるいは直接通信可能に結合され得る。いくつかの例では、コンテンツ作成デバイス20およびサーバデバイス60は同じデバイスを備え得る。
[0040] FIG. 1 is a block diagram illustrating an
[0041]コンテンツ作成デバイス20は、図1の例では、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータ化シンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、コンピュータグラフィックスソースなどのビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。コンテンツ作成デバイス20は、必ずしもすべての例においてサーバデバイス60に通信可能に結合されるとは限らないが、サーバデバイス60によって読み取られる別個の媒体にマルチメディアコンテンツを記憶し得る。
[0041] Content creation device 20 comprises audio source 22 and
[0042]未加工(raw)オーディオおよびビデオデータは、アナログまたはデジタルデータを備え得る。アナログデータは、オーディオエンコーダ26および/またはビデオエンコーダ28によって符号化される前にデジタル化され得る。オーディオソース22は、通話参加者が話している間、通話参加者からオーディオデータを取得し得、同時に、ビデオソース24は、通話参加者のビデオデータを取得し得る。他の例では、オーディオソース22は、記憶されたオーディオデータを備えるコンピュータ可読記憶媒体を備え得、ビデオソース24は、記憶されたビデオデータを備えるコンピュータ可読記憶媒体を備え得る。このようにして、本開示で説明される技法は、ライブ、ストリーミング、リアルタイムオーディオおよびビデオデータ、またはアーカイブされた、あらかじめ記録されたオーディオおよびビデオデータに適用され得る。
[0042] Raw audio and video data may comprise analog or digital data. Analog data may be digitized before being encoded by
[0043]ビデオフレームに対応するオーディオフレームは、概して、ビデオフレーム内に含まれているビデオソース24によってキャプチャされた(または生成された)ビデオデータと同時に、オーディオソース22によってキャプチャされた(または生成された)オーディオデータを含んでいるオーディオフレームである。たとえば、通話参加者が概して話すことによってオーディオデータを生成する間、オーディオソース22はオーディオデータをキャプチャし、同時に、すなわちオーディオソース22がオーディオデータをキャプチャしている間、ビデオソース24は通話参加者のビデオデータをキャプチャする。したがって、オーディオフレームは、1つまたは複数の特定のビデオフレームに時間的に対応し得る。したがって、ビデオフレームに対応するオーディオフレームは、概して、オーディオデータとビデオデータとが同時にキャプチャされた状況、およびオーディオフレームとビデオフレームとが、それぞれ、同時にキャプチャされたオーディオデータとビデオデータとを備える状況に対応する。
[0043] Audio frames corresponding to video frames are generally captured (or generated) by audio source 22 concurrently with the video data captured (or generated) by
[0044]いくつかの例では、オーディオエンコーダ26は、符号化オーディオフレームについてのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ28は、符号化ビデオフレームについてのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備え得る。コンテンツ作成デバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がそこからタイムスタンプを生成し得るか、あるいはオーディオソース22およびビデオソース24がオーディオデータとビデオデータとをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。
[0044] In some examples,
[0045]いくつかの例では、オーディオソース22は、オーディオデータが記録された時間に対応するデータをオーディオエンコーダ26に送出し得、ビデオソース24は、ビデオデータが記録された時間に対応するデータをビデオエンコーダ28に送出し得る。いくつかの例では、オーディオエンコーダ26は、必ずしもオーディオデータが記録された絶対時間を示すことなしに、符号化オーディオデータの相対時間的順序を示すために、符号化オーディオデータ中のシーケンス識別子を符号化し得、同様に、ビデオエンコーダ28も、符号化ビデオデータの相対時間的順序を示すためにシーケンス識別子を使用し得る。同様に、いくつかの例では、シーケンス識別子は、タイムスタンプでマッピングされるか、またはさもなければタイムスタンプと相関させられ得る。
[0045] In some examples, audio source 22 may send data corresponding to the time the audio data was recorded to
[0046]オーディオエンコーダ26は概して符号化オーディオデータのストリームを生成し、ビデオエンコーダ28は符号化ビデオデータのストリームを生成する。データの各個々のストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれることがある。エレメンタリストリームは、表現のデジタル的にコード化された(場合によっては圧縮された)単一の成分である。たとえば、表現のコード化ビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES)に変換され得る。同じ表現内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用され得る。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリーム(PES)パケットである。したがって、コード化ビデオデータは概してエレメンタリビデオストリームに対応する。同様に、オーディオデータは1つまたは複数のそれぞれのエレメンタリストリームに対応する。
[0046]
[0047]ITU-T H.264/AVCおよび来るべき高効率ビデオコーディング(HEVC)規格など、多くのビデオコーディング規格は、シンタックスと、セマンティクスと、エラーのないビットストリームのための復号プロセスとを定義し、これらのいずれも、あるプロファイルまたはレベルに準拠する。ビデオコーディング規格は、一般に、エンコーダを指定しないが、エンコーダは、生成されたビットストリームがデコーダについて規格に準拠することを保証するというタスクを与えられる。ビデオコーディング規格のコンテキストでは、「プロファイル」は、アルゴリズム、特徴、またはツール、およびそれらに適用される制約のサブセットに対応する。たとえば、H.264規格によって定義される「プロファイル」は、H.264規格によって指定されたビットストリームシンタックス全体のサブセットである。「レベル」は、たとえば、ピクチャの解像度、ビットレート、およびブロック処理レートに関係するデコーダメモリおよび計算など、デコーダリソース消費の制限に対応する。プロファイルはprofile_idc(プロファイルインジケータ)値でシグナリングされ得るが、レベルはlevel_idc(レベルインジケータ)値でシグナリングされ得る。 [0047] ITU-T H. Many video coding standards, such as H.264/AVC and the upcoming High Efficiency Video Coding (HEVC) standard, define syntax, semantics, and decoding processes for error-free bitstreams, all of which: Comply with a profile or level. Video coding standards generally do not specify encoders, but encoders are tasked with ensuring that the generated bitstreams are standard compliant for decoders. In the context of video coding standards, a "profile" corresponds to a subset of algorithms, features or tools and the constraints applied to them. For example, H. A "profile" defined by the H.264 standard is the H.264 standard. It is a subset of the entire bitstream syntax specified by the H.264 standard. A "level" corresponds to limitations on decoder resource consumption, eg, decoder memory and computations related to picture resolution, bit rate, and block processing rate. A profile may be signaled with a profile_idc (profile indicator) value, while a level may be signaled with a level_idc (level indicator) value.
[0048]H.264規格は、たとえば、所与のプロファイルのシンタックスによって課される限界内で、復号ピクチャの指定されたサイズなど、ビットストリーム中のシンタックス要素によってとられる値に応じて、エンコーダおよびデコーダのパフォーマンスの大きい変動を必要とする可能性が依然としてあることを認識している。H.264規格は、多くの適用例において、特定のプロファイル内でシンタックスのすべての仮定的使用に対処することが可能なデコーダを実装することが実際的でもなく、経済的でもないことをさらに認識している。したがって、H.264規格は、ビットストリーム中のシンタックス要素の値に課された制約の指定されたセットとして「レベル」を定義する。これらの制約は、値に関する単純な制限であり得る。代替的に、これらの制約は、値の演算の組合せ(たとえば、ピクチャの幅×ピクチャの高さ×毎秒復号されるピクチャの数)に関する制約の形態をとり得る。H.264規格は、個々の実装形態が、サポートされるプロファイルごとに異なるレベルをサポートし得ることをさらに規定する。 [0048]H. The H.264 standard specifies that the performance of encoders and decoders depends on the values taken by syntax elements in the bitstream, e.g., the specified size of a decoded picture, within the limits imposed by the syntax of a given profile. We recognize that it may still require large fluctuations in H. The H.264 standard further recognizes that in many applications it is neither practical nor economical to implement a decoder capable of addressing all hypothetical uses of syntax within a particular profile. ing. Therefore, H. The H.264 standard defines a "level" as a specified set of constraints imposed on the values of syntax elements in a bitstream. These constraints can be simple restrictions on values. Alternatively, these constraints may take the form of constraints on arithmetic combinations of values (eg, picture width x picture height x number of pictures decoded per second). H. The H.264 standard further specifies that individual implementations may support different levels for each supported profile.
[0049]プロファイルに準拠するデコーダは、通常、プロファイル中で定義されたすべての特徴をサポートする。たとえば、コーディング特徴として、Bピクチャコーディングは、H.264/AVCのベースラインプロファイルではサポートされないが、H.264/AVCの他のプロファイルではサポートされる。レベルに準拠するデコーダは、レベルにおいて定義された制限を超えてリソースを必要としない任意のビットストリームを復号することが可能であるべきである。プロファイルおよびレベルの定義は、説明可能性のために役立ち得る。たとえば、ビデオ送信中に、プロファイル定義とレベル定義のペアが全送信セッションについてネゴシエートされ、同意され得る。より具体的には、H.264/AVCでは、レベルは、処理される必要があるマクロブロックの数に関する制限と、復号ピクチャバッファ(DPB)サイズと、コード化ピクチャバッファ(CPB)サイズと、垂直動きベクトル範囲と、2つの連続するMBごとの動きベクトルの最大数と、Bブロックが8×8ピクセル未満のサブマクロブロック区分を有することができるかどうかとを定義し得る。このようにして、デコーダは、デコーダがビットストリームを適切に復号することが可能であるかどうかを決定し得る。 [0049] Profile compliant decoders typically support all features defined in the profile. For example, as a coding feature, B-picture coding is similar to H.264. H.264/AVC baseline profile, but not supported by H.264/AVC. Other profiles of H.264/AVC are supported. A level compliant decoder should be able to decode any bitstream that does not require resources beyond the limits defined in the level. Profile and level definitions can be useful for explainability. For example, during video transmission, profile and level definition pairs may be negotiated and agreed upon for the entire transmission session. More specifically, H. In H.264/AVC, the levels are a limit on the number of macroblocks that need to be processed, a decoded picture buffer (DPB) size, a coded picture buffer (CPB) size, a vertical motion vector range, and two consecutive It may define the maximum number of motion vectors per MB to be used and whether a B-block can have a sub-macroblock partition of less than 8×8 pixels. In this way, the decoder can determine whether it is able to properly decode the bitstream.
[0050]図1の例では、コンテンツ作成デバイス20のカプセル化ユニット30は、ビデオエンコーダ28からのコード化ビデオデータを備えるエレメンタリストリームと、オーディオエンコーダ26からのコード化オーディオデータを備えるエレメンタリストリームとを受信する。いくつかの例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのパケッタイザを含み得る。他の例では、ビデオエンコーダ28およびオーディオエンコーダ26は各々、符号化データからPESパケットを形成するためのそれぞれのパケッタイザとインターフェースし得る。さらに他の例では、カプセル化ユニット30は、符号化オーディオデータと符号化ビデオデータとからPESパケットを形成するためのパケッタイザを含み得る。
[0050] In the example of FIG. 1, encapsulation unit 30 of content creation device 20 includes an elementary stream comprising encoded video data from
[0051]ビデオエンコーダ28は、様々なビットレートにおいて、ならびにピクセル解像度、フレームレート、様々なコーディング規格への準拠、様々なコーディング規格のための様々なプロファイルおよび/またはプロファイルのレベルへの準拠、(たとえば、2次元または3次元再生のための)1つまたは複数のビューを有する表現、あるいは他のそのような特性などの様々な特性を用いてマルチメディアコンテンツの異なる表現を生成するために、様々な方法でマルチメディアコンテンツのビデオデータを符号化し得る。本開示で使用される、表現は、オーディオデータ、ビデオデータ、(たとえば、字幕のための)テキストデータ、または他のそのようなデータのうちの1つを備え得る。表現は、オーディオエレメンタリストリームまたはビデオエレメンタリストリームなど、エレメンタリストリームを含み得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含み得る。カプセル化ユニット30は、エレメンタリストリームを様々な表現のビデオファイル(たとえば、セグメント)にアセンブルすることを担う。
[0051]
[0052]カプセル化ユニット30は、オーディオエンコーダ26とビデオエンコーダ28とから表現のエレメンタリストリームのためのPESパケットを受信し、PESパケットから対応するネットワークアブストラクションレイヤ(NAL)ユニットを形成する。コード化ビデオセグメントは、ビデオテレフォニー、記憶、ブロードキャスト、またはストリーミングなどのアプリケーションに対処する「ネットワークフレンドリ」なビデオ表現を与える、NALユニットに編成され得る。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットとに分類され得る。VCLユニットは、コア圧縮エンジンを含んでいることがあり、ブロック、マクロブロック、および/またはスライスレベルデータを含み得る。他のNALユニットは非VCL NALユニットであり得る。いくつかの例では、通常は1次コード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャは、1つまたは複数のNALユニットを含み得るアクセスユニット中に含まれていることがある。
[0052] Encapsulation unit 30 receives PES packets for the elementary streams of the representation from
[0053]非VCL NALユニットは、特に、パラメータセットNALユニットとSEI NALユニットとを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS)中の)シーケンスレベルヘッダ情報と、(ピクチャパラメータセット(PPS)中の)まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット(たとえば、PPSおよびSPS)がある場合、まれに変化する情報がシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は、重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、SEI NALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。 [0053] Non-VCL NAL units may include parameter set NAL units and SEI NAL units, among others. Parameter sets may contain sequence-level header information (in sequence parameter sets (SPS)) and infrequently changing picture-level header information (in picture parameter sets (PPS)). With parameter sets (eg, PPS and SPS), infrequently changing information need not be repeated for each sequence or picture, thus coding efficiency may be improved. Additionally, the use of parameter sets may allow out-of-band transmission of important header information, avoiding the need for redundant transmissions for error resilience. In an example of out-of-band transmission, parameter set NAL units may be transmitted on a different channel than other NAL units, such as SEI NAL units.
[0054]補足エンハンスメント情報(SEI)は、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援し得る情報を含んでいることがある。SEIメッセージは、非VCL NALユニット中に含まれていることがある。SEIメッセージは、一部の規格仕様の規範的部分であり、したがって、規格に準拠するデコーダ実装のために常に必須であるとは限らない。SEIメッセージは、シーケンスレベルSEIメッセージまたはピクチャレベルSEIメッセージであり得る。SVCの例におけるスケーラビリティ情報SEIメッセージ、およびMVCにおけるビュースケーラビリティ情報SEIメッセージなどのSEIメッセージ中に、何らかのシーケンスレベル情報が含まれていることがある。これらの例示的なSEIメッセージは、たとえば、動作点の抽出およびそれらの動作点の特性に関する情報を伝達し得る。さらに、カプセル化ユニット30は、表現の特性を記述するメディアプレゼンテーション記述子(MPD)など、マニフェストファイルを形成し得る。カプセル化ユニット30は、拡張可能マークアップ言語(XML)に従ってMPDをフォーマットし得る。 [0054] Supplemental Enhancement Information (SEI) is information that is not required to decode the coded picture samples from the VCL NAL unit, but may aid processes related to decoding, display, error resilience, and other purposes. may contain SEI messages may be contained in non-VCL NAL units. SEI messages are a normative part of some standard specifications and are therefore not always mandatory for standard compliant decoder implementations. The SEI message can be a sequence level SEI message or a picture level SEI message. Some sequence level information may be included in SEI messages, such as the Scalability Information SEI message in the SVC example and the View Scalability Information SEI message in MVC. These exemplary SEI messages may, for example, convey information regarding the extraction of operating points and the properties of those operating points. Additionally, encapsulation unit 30 may form a manifest file, such as a Media Presentation Descriptor (MPD) that describes the characteristics of the presentation. Encapsulation unit 30 may format the MPD according to Extensible Markup Language (XML).
[0055]カプセル化ユニット30は、マニフェストファイル(たとえば、MPD)とともに、マルチメディアコンテンツの1つまたは複数の表現についてのデータを出力インターフェース32に与え得る。出力インターフェース32は、ユニバーサルシリアルバス(USB)インターフェース、CDまたはDVDライターまたはバーナーなど、記憶媒体に書き込むためのネットワークインターフェースまたはインターフェース、磁気またはフラッシュ記憶媒体へのインターフェース、あるいはメディアデータを記憶または送信するための他のインターフェースを備え得る。カプセル化ユニット30は、マルチメディアコンテンツの表現の各々のデータを出力インターフェース32に与え得、出力インターフェース32は、ネットワーク送信または記憶媒体を介してそのデータをサーバデバイス60に送出し得る。図1の例では、サーバデバイス60は、各々がそれぞれのマニフェストファイル66と1つまたは複数の表現68A~68N(表現68)とを含む、様々なマルチメディアコンテンツ64を記憶する記憶媒体62を含む。いくつかの例では、出力インターフェース32はまた、データをネットワーク74に直接送出し得る。
[0055] Encapsulation unit 30 may provide data for one or more representations of multimedia content to
[0056]いくつかの例では、表現68は適応セットに分離され得る。すなわち、表現68の様々なサブセットは、コーデック、プロファイルおよびレベル、解像度、ビューの数、セグメントのためのファイルフォーマット、表現を用いて表示されるべきテキストおよび/または復号され、たとえばスピーカーによって提示されるべきオーディオデータの言語または他の特性を識別し得るテキストタイプ情報、適応セット中の表現のためのシーンのカメラアングルまたは現実世界のカメラパースペクティブを記述し得るカメラアングル情報、特定の視聴者についてのコンテンツ適合性を記述するレーティング情報など、特性のそれぞれの共通セットを含み得る。 [0056] In some examples, representation 68 may be separated into adaptive sets. That is, the various subsets of representation 68 may be codecs, profiles and levels, resolution, number of views, file formats for segments, text to be displayed using the representation and/or to be decoded and presented, for example, by a speaker. textual type information that may identify the language or other characteristics of the audio data to be used; camera angle information that may describe the scene camera angle or real-world camera perspective for presentation in the adaptation set; content about a particular audience; Each common set of characteristics may be included, such as rating information that describes suitability.
[0057]マニフェストファイル66は、特定の適応セットに対応する表現68のサブセットを示すデータ、ならびに適応セットについての共通の特性を含み得る。マニフェストファイル66はまた、ビットレートなど、適応セットの個々の表現についての個々の特性を表すデータを含み得る。このようにして、適応セットは、簡略化されたネットワーク帯域幅適応を可能にし得る。適応セット中の表現は、マニフェストファイル66の適応セット要素の子要素を使用して示され得る。
[0057]
[0058]サーバデバイス60は、要求処理ユニット70とネットワークインターフェース72とを含む。いくつかの例では、サーバデバイス60は複数のネットワークインターフェースを含み得る。さらに、サーバデバイス60の特徴のうちのいずれかまたはすべてが、ルータ、ブリッジ、プロキシデバイス、スイッチ、または他のデバイスなど、コンテンツ配信ネットワークの他のデバイス上で実装され得る。いくつかの例では、コンテンツ配信ネットワークの中間デバイスは、マルチメディアコンテンツ64のデータをキャッシュし、サーバデバイス60の構成要素に実質的に準拠する構成要素を含み得る。概して、ネットワークインターフェース72は、ネットワーク74を介してデータを送出し、受信するように構成される。
[0058]
[0059]要求処理ユニット70は、クライアントデバイス40などのクライアントデバイスから、記憶媒体62のデータについてのネットワーク要求を受信するように構成される。たとえば、要求処理ユニット70は、R.Fieldingらによる、RFC2616、「Hypertext Transfer Protocol - HTTP/1.1」、ネットワークワーキンググループ、IETF、1999年6月に記載されている、ハイパーテキスト転送プロトコル(HTTP)バージョン1.1を実装し得る。すなわち、要求処理ユニット70は、HTTP GET要求または部分GET要求を受信し、これらの要求に応答してマルチメディアコンテンツ64のデータを与えるように構成され得る。要求は、たとえば、セグメントのURLを使用して、表現68のうちの1つのセグメントを指定し得る。いくつかの例では、要求はまた、セグメントの1つまたは複数のバイト範囲を指定し、したがって部分GET要求を備え得る。要求処理ユニット70は、表現68のうちの1つのセグメントのヘッダデータを与えるためのHTTP HEAD要求をサービスするようにさらに構成され得る。いずれの場合も、要求処理ユニット70は、要求されたデータをクライアントデバイス40などの要求元デバイスに与えるために要求を処理するように構成され得る。
[0060]追加または代替として、要求処理ユニット70は、eMBMSなどのブロードキャストまたはマルチキャストプロトコルを介してメディアデータを配信するように構成され得る。コンテンツ作成デバイス20は、説明された方法と実質的に同じ方法でDASHセグメントおよび/またはサブセグメントを作成し得るが、サーバデバイス60は、eMBMSあるいは別のブロードキャストまたはマルチキャストネットワークトランスポートプロトコルを使用して、これらのセグメントまたはサブセグメントを配信し得る。たとえば、要求処理ユニット70は、クライアントデバイス40からマルチキャストグループ加入要求を受信するように構成され得る。すなわち、サーバデバイス60は、マルチキャストグループに関連付けられたインターネットプロトコル(IP)アドレスを、クライアントデバイス40を含む、特定のメディアコンテンツ(たとえば、ライブイベントのブロードキャスト)に関連付けられたクライアントデバイスに広告し得る。クライアントデバイス40は、マルチキャストグループに加入するための要求をサブミットし得る。この要求は、ネットワーク74、たとえば、ネットワーク74を構成するルータ全体にわたって伝搬され得、その結果、ルータは、マルチキャストグループに関連付けられたIPアドレスに宛てられたトラフィックを、クライアントデバイス40など、サブスクライブするクライアントデバイスに向けさせられる。
[0060] Additionally or alternatively,
[0061]図1の例に示されているように、マルチメディアコンテンツ64は、メディアプレゼンテーション記述(MPD)に対応し得るマニフェストファイル66を含む。マニフェストファイル66は、異なる代替表現68(たとえば、異なる品質をもつビデオサービス)の記述を含んでいることがあり、その記述は、たとえば、表現68のコーデック情報、プロファイル値、レベル値、ビットレート、および他の記述特性を含み得る。クライアントデバイス40は、表現68のセグメントにどのようにアクセスすべきかを決定するためにメディアプレゼンテーションのMPDを取り出し得る。
[0061] As shown in the example of Figure 1,
[0062]特に、取出しユニット52は、ビデオデコーダ48の復号能力とビデオ出力44のレンダリング能力とを決定するために、クライアントデバイス40の構成データ(図示せず)を取り出し得る。構成データはまた、クライアントデバイス40のユーザによって選択された言語の選好、クライアントデバイス40のユーザによって設定された深度の選好に対応する1つまたは複数のカメラパースペクティブ、および/またはクライアントデバイス40のユーザによって選択されたレーティングの選好のうちのいずれかまたはすべてを含み得る。取出しユニット52は、たとえば、HTTP GET要求と部分GET要求とをサブミットするように構成されたウェブブラウザまたはメディアクライアントを備え得る。取出しユニット52は、クライアントデバイス40の1つまたは複数のプロセッサまたは処理ユニット(図示せず)によって実行されるソフトウェア命令に対応し得る。いくつかの例では、取出しユニット52に関して説明される機能のすべてまたは部分が、ハードウェア、あるいはハードウェア、ソフトウェア、および/またはファームウェアの組合せで実装され得、ソフトウェアまたはファームウェアのための命令を実行するために、必須のハードウェアが与えられ得る。
In particular,
[0063]取出しユニット52は、クライアントデバイス40の復号能力およびレンダリング能力を、マニフェストファイル66の情報によって示される表現68の特性と比較し得る。取出しユニット52は、最初に、表現68の特性を決定するためにマニフェストファイル66の少なくとも一部分を取り出し得る。たとえば、取出しユニット52は、1つまたは複数の適応セットの特性を記述するマニフェストファイル66の一部分を要求し得る。取出しユニット52は、クライアントデバイス40のコーディング能力およびレンダリング能力によって満たされ得る特性を有する表現68のサブセット(たとえば、適応セット)を選択し得る。次いで、取出しユニット52は、適応セット中の表現のためのビットレートを決定し、ネットワーク帯域幅の現在利用可能な量を決定し、ネットワーク帯域幅によって満たされ得るビットレートを有する表現のうちの1つからセグメントを取り出し得る。
[0063]
[0064]概して、より高いビットレート表現はより高品質のビデオ再生を生じ得、より低いビットレート表現は、利用可能なネットワーク帯域幅が減少したとき、十分な品質のビデオ再生を与え得る。したがって、利用可能なネットワーク帯域幅が比較的高いとき、取出しユニット52は比較的高いビットレート表現からデータを取り出し得るが、利用可能なネットワーク帯域幅が低いとき、取出しユニット52は比較的低いビットレート表現からデータを取り出し得る。このようにして、クライアントデバイス40は、ネットワーク74を介してマルチメディアデータをストリーミングしながら、ネットワーク74の変化するネットワーク帯域幅利用可能性にも適応し得る。
[0064] In general, higher bitrate renditions may result in higher quality video playback, and lower bitrate renditions may provide sufficient quality video playback when available network bandwidth is reduced. Thus, when the available network bandwidth is relatively high,
[0065]追加または代替として、取出しユニット52は、eMBMSまたはIPマルチキャストなどのブロードキャストまたはマルチキャストネットワークプロトコルに従ってデータを受信するように構成され得る。そのような例では、取出しユニット52は、特定のメディアコンテンツに関連付けられたマルチキャストネットワークグループに加入するための要求をサブミットし得る。マルチキャストグループに加入した後に、取出しユニット52は、サーバデバイス60またはコンテンツ作成デバイス20に発行されるさらなる要求なしに、マルチキャストグループのデータを受信し得る。取出しユニット52は、マルチキャストグループのデータがもはや必要とされないときに、たとえば、再生を停止するために、またはチャネルを異なるマルチキャストグループに変更するために、マルチキャストグループを離れるための要求をサブミットし得る。
[0065] Additionally or alternatively,
[0066]ネットワークインターフェース54は、選択された表現のセグメントのデータを受信し、取出しユニット52に与え得、取出しユニット52は、そのセグメントをカプセル化解除ユニット50に与え得る。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送出し得る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送出し、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送出する。
[0066]
[0067]ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、およびカプセル化解除ユニット50は各々、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、様々な好適な処理回路のいずれかとして実装され得る。ビデオエンコーダ28およびビデオデコーダ48の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。同様に、オーディオエンコーダ26およびオーディオデコーダ46の各々は、1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合コーデックの一部として統合され得る。ビデオエンコーダ28、ビデオデコーダ48、オーディオエンコーダ26、オーディオデコーダ46、カプセル化ユニット30、取出しユニット52、および/またはカプセル化解除ユニット50を含む装置は、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0067]
[0068]クライアントデバイス40、サーバデバイス60、および/またはコンテンツ作成デバイス20は、本開示の技法に従って動作するように構成され得る。例として、本開示は、クライアントデバイス40およびサーバデバイス60に関して、これらの技法について説明する。しかしながら、コンテンツ作成デバイス20は、サーバデバイス60の代わりに(またはそれに加えて)これらの技法を実施するように構成され得ることを理解されたい。
[0068]
[0069]カプセル化ユニット30は、NALユニットが属するプログラムを識別するヘッダ、ならびにペイロード、たとえば、オーディオデータ、ビデオデータ、あるいはNALユニットが対応するトランスポートまたはプログラムストリームを記述するデータを備える、NALユニットを形成し得る。たとえば、H.264/AVCでは、NALユニットは、1バイトのヘッダと、変動するサイズのペイロードとを含む。それのペイロード中にビデオデータを含むNALユニットは、様々なグラニュラリティレベルのビデオデータを備え得る。たとえば、NALユニットは、ビデオデータのブロック、複数のブロック、ビデオデータのスライス、またはビデオデータのピクチャ全体を備え得る。カプセル化ユニット30は、エレメンタリストリームのPESパケットの形態でビデオエンコーダ28から符号化ビデオデータを受信し得る。カプセル化ユニット30は、各エレメンタリストリームを対応するプログラムに関連付け得る。
[0069] Encapsulation unit 30 comprises a NAL unit comprising a header identifying the program to which the NAL unit belongs, as well as a payload, eg, audio data, video data, or data describing the transport or program stream to which the NAL unit corresponds. can form For example, H. In H.264/AVC, a NAL unit contains a 1-byte header and a payload of varying size. A NAL unit containing video data in its payload may comprise video data of various granularity levels. For example, a NAL unit may comprise a block of video data, multiple blocks, a slice of video data, or an entire picture of video data. Encapsulation unit 30 may receive encoded video data from
[0070]カプセル化ユニット30はまた、複数のNALユニットからアクセスユニットをアセンブルし得る。概して、アクセスユニットは、ビデオデータのフレーム、ならびにそのフレームに対応するオーディオデータが利用可能であるとき、そのようなオーディオデータを表すための1つまたは複数のNALユニットを備え得る。アクセスユニットは、概して、1つの出力時間インスタンスについてのすべてのNALユニット、たとえば1つの時間インスタンスについてのすべてのオーディオおよびビデオデータを含む。たとえば、各ビューが20フレーム毎秒(fps)のフレームレートを有する場合、各時間インスタンスは0.05秒の時間間隔に対応し得る。この時間間隔中に、同じアクセスユニット(同じ時間インスタンス)のすべてのビューの特定のフレームは同時にレンダリングされ得る。一例では、アクセスユニットは、1次コード化ピクチャとして提示され得る、1つの時間インスタンス中のコード化ピクチャを備え得る。 [0070] Encapsulation unit 30 may also assemble an access unit from multiple NAL units. In general, an access unit may comprise a frame of video data as well as one or more NAL units for representing audio data corresponding to that frame when such audio data is available. An access unit generally includes all NAL units for one output time instance, eg all audio and video data for one time instance. For example, if each view has a frame rate of 20 frames per second (fps), each time instance may correspond to a time interval of 0.05 seconds. During this time interval, a particular frame of all views of the same access unit (same time instance) can be rendered simultaneously. In one example, an access unit may comprise a coded picture during one temporal instance, which may be presented as a primary coded picture.
[0071]したがって、アクセスユニットは、共通の時間インスタンスのすべてのオーディオおよびビデオフレーム、たとえば、時間Xに対応するすべてのビューを備え得る。本開示はまた、特定のビューの符号化ピクチャを「ビュー構成要素」と呼ぶ。すなわち、ビュー構成要素は、特定の時間における特定のビューのための符号化ピクチャ(またはフレーム)を備え得る。したがって、アクセスユニットは、共通の時間インスタンスのすべてのビュー構成要素を備えるものとして定義され得る。アクセスユニットの復号順序は、必ずしも出力または表示順序と同じである必要があるとは限らない。 [0071] Thus, an access unit may comprise all views corresponding to all audio and video frames of a common time instance, eg, time X. This disclosure also refers to the coded pictures of a particular view as "view components." That is, a view component may comprise coded pictures (or frames) for a particular view at a particular time. An access unit may thus be defined as comprising all view components of a common time instance. The decoding order of access units does not necessarily have to be the same as the output or display order.
[0072]メディアプレゼンテーションは、異なる代替表現(たとえば、異なる品質をもつビデオサービス)の記述を含んでいることがあるメディアプレゼンテーション記述(MPD)を含み得、その記述は、たとえば、コーデック情報と、プロファイル値と、レベル値とを含み得る。MPDは、マニフェストファイル66などのマニフェストファイルの一例である。クライアントデバイス40は、様々なプレゼンテーションのムービーフラグメントにどのようにアクセスすべきかを決定するためにメディアプレゼンテーションのMPDを取り出し得る。ムービーフラグメントは、ビデオファイルのムービーフラグメントボックス(moofボックス)中にあり得る。
[0072] A media presentation may include a media presentation description (MPD) that may include descriptions of different alternative representations (eg, video services with different qualities), which may include, for example, codec information and profile value and level value. MPD is an example of a manifest file, such as
[0073](たとえば、MPDを備え得る)マニフェストファイル66は、表現68のセグメントの利用可能性を広告し得る。すなわち、MPDは、表現68のうちの1つの第1のセグメントが利用可能になる壁時計時間(wall-clock time)を示す情報、ならびに表現68内のセグメントの持続時間を示す情報を含み得る。このようにして、クライアントデバイス40の取出しユニット52は、開始時間、ならびに特定のセグメントに先行するセグメントの持続時間に基づいて、各セグメントがいつ利用可能であるかを決定し得る。
[0073] Manifest file 66 (which may comprise, for example, an MPD) may advertise the availability of segments of representation 68. FIG. That is, the MPD may include information indicating the wall-clock time at which the first segment of one of representations 68 will become available, as well as information indicating the duration of the segments within representation 68 . In this manner,
[0074]カプセル化ユニット30が、受信されたデータに基づいてNALユニットおよび/またはアクセスユニットをビデオファイルにアセンブルした後に、カプセル化ユニット30は、ビデオファイルを出力のために出力インターフェース32に渡す。いくつかの例では、カプセル化ユニット30は、ビデオファイルをローカルに記憶するか、または、ビデオファイルをクライアントデバイス40に直接送出するのではなく、出力インターフェース32を介してビデオファイルをリモートサーバに送出し得る。出力インターフェース32は、たとえば、送信機、トランシーバ、たとえば、オプティカルドライブ、磁気メディアドライブ(たとえば、フロッピー(登録商標)ドライブ)など、コンピュータ可読媒体にデータを書き込むためのデバイス、ユニバーサルシリアルバス(USB)ポート、ネットワークインターフェース、または他の出力インターフェースを備え得る。出力インターフェース32は、ビデオファイルを、たとえば、送信信号、磁気媒体、光媒体、メモリ、フラッシュドライブ、または他のコンピュータ可読媒体など、コンピュータ可読媒体に出力する。
[0074] After encapsulation unit 30 assembles the NAL units and/or access units into a video file based on the received data, encapsulation unit 30 passes the video file to
[0075]ネットワークインターフェース54は、ネットワーク74を介してNALユニットまたはアクセスユニットを受信し、取出しユニット52を介してNALユニットまたはアクセスユニットをカプセル化解除ユニット50に与え得る。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送出し得る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送出し、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送出する。
[0076]本開示の技法によれば、サーバデバイス60(またはコンテンツ作成デバイス20)は、クライアントデバイス40にパケット損失検出機構をシグナリングし得る。たとえば、サーバデバイス60は、サーバデバイス60とクライアントデバイス40との間の制御チャネルを介してパケット損失検出機構をシグナリングし得る。パケット損失検出機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中に設定される特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの1つまたは複数を含み得る。
[0076] In accordance with the techniques of this disclosure, server device 60 (or content creation device 20) may signal client device 40 a packet loss detection mechanism. For example,
[0077]クライアントデバイス40は、次いで、サーバデバイス60からのブロードキャストまたはマルチキャストストリーム中のパケットが損失したかどうかを決定するために、(1つまたは複数の)シグナリングされたパケット損失検出機構を実施し得る。1つまたは複数のパケットが損失したと決定したことに応答して、取出しユニット52は、損失したパケットのメディアデータを含むセグメントの(1つまたは複数の)バイト範囲を指定する1つまたは複数のバイト範囲要求(すなわち、HTTP部分Get要求)を形成し得る。取出しユニット52は、次いで、ユニキャストプロトコル、たとえばHTTPを介して、損失したメディアデータを取り出すことを試みるために、これらのバイト範囲要求をサーバデバイス60にサブミットし得る。
[0077]
[0078]いくつかの例では、サーバデバイス60は、パケット間タイムアウト値をシグナリングし得る。クライアントデバイス40(および特に、取出しユニット52)は、パケット間タイムアウト値を使用して、パケットが損失したかどうかを決定し得る、たとえば、パケットが、メディアストリームの前のパケットの受信以来、パケット間タイムアウト間隔内に受信されなかった場合。パケット間タイムアウト値は、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に対応し得る。サーバデバイス60は、たとえば、ファイル配信テーブル(FDT)、拡張FDT(eFDT)において、あるいは制御プレーンサービスまたはセッションメタデータ中で、パケット間タイムアウト値をシグナリングし得る。したがって、クライアントデバイス40は、このデータからパケット間タイムアウト値を抽出し得る。
[0078] In some examples,
[0079]損失したメディアデータが受信されたか否かにかかわらず、取出しユニット52は、カプセル化解除ユニット50に配信されるべき、および、最終的に、オーディオデコーダ46および/またはビデオデコーダ48に配信されるべき適切なメディアオブジェクトを形成し得る。適切なメディアオブジェクトは、概して、カプセル化解除ユニット50、オーディオデコーダ46、およびビデオデコーダ48によってパース可能(parseable)および復号可能であり得る。適切なメディアオブジェクトは、依然として、(1つまたは複数の)損失したパケットのメディアデータの一部を消失していることがあるが、それにもかかわらず、パース可能および復号可能であり得る。
[0079] Regardless of whether or not lost media data is received,
[0080]図2は、図1の取出しユニット52の構成要素の例示的なセットをより詳細に示すブロック図である。この例では、取出しユニット52は、eMBMSミドルウェアユニット100と、DASHクライアント110と、メディアアプリケーション112とを含む。
[0080] FIG. 2 is a block diagram illustrating in more detail an exemplary set of components of the
[0081]この例では、eMBMSミドルウェアユニット100は、eMBMS受信ユニット106と、キャッシュ104と、プロキシサーバユニット102とをさらに含む。この例では、eMBMS受信ユニット106は、たとえば、FLUTEに従って、eMBMSを介してデータを受信するように構成される。すなわち、eMBMS受信ユニット106は、たとえば、ブロードキャスト/マルチキャストサービスセンター(BM-SC)として働き得るサーバデバイス60から、ブロードキャストを介してファイルを受信し得る。
[0081] In this example, the
[0082]eMBMSミドルウェアユニット100がファイルについてのデータを受信したとき、eMBMSミドルウェアユニットは、受信されたデータをキャッシュ104に記憶し得る。キャッシュ104は、フラッシュメモリ、ハードディスク、RAM、または任意の他の好適な記憶媒体など、コンピュータ可読記憶媒体を備え得る。
[0082] When the
[0083]プロキシサーバユニット102は、DASHクライアント110のためのサーバとして働き得る。たとえば、プロキシサーバユニット102は、DASHクライアント110にMPDファイルまたは他のマニフェストファイルを与え得る。プロキシサーバユニット102は、MPDファイル中のセグメントのための利用可能性時間、ならびにセグメントがそこから取り出され得るハイパーリンクを広告し得る。これらのハイパーリンクは、クライアントデバイス40に対応するローカルホストアドレスプレフィックス(たとえば、IPv4についての127.0.0.1)を含み得る。このようにして、DASHクライアント110は、HTTP GET要求または部分GET要求を使用してプロキシサーバユニット102にセグメントを要求し得る。たとえば、リンクhttp://127.0.0.1/rep1/seg3から入手可能なセグメントの場合、DASHクライアント110は、http://127.0.0.1/rep1/seg3についての要求を含むHTTP GET要求を構築し、その要求をプロキシサーバユニット102にサブミットし得る。プロキシサーバユニット102は、要求されたデータをキャッシュ104から取り出し、そのデータを、そのような要求に応答してDASHクライアント110に与え得る。
[0083]
[0084]図3は、例示的なマルチメディアコンテンツ120の要素を示す概念図である。マルチメディアコンテンツ120は、マルチメディアコンテンツ64(図1)、または記憶媒体62に記憶された別のマルチメディアコンテンツに対応し得る。図3の例では、マルチメディアコンテンツ120は、メディアプレゼンテーション記述(MPD)と複数の表現(presentation)124A~124N(表現124)とを含む。表現124Aは、随意のヘッダデータ126とセグメント128A~128N(セグメント128)とを含み、表現124Nは、随意のヘッダデータ130とセグメント132A~132N(セグメント132)とを含む。文字Nは、便宜上、表現124の各々中の最後のムービーフラグメントを指定するために使用される。いくつかの例では、表現124間に異なる数のムービーフラグメントがあり得る。
[0084] FIG. 3 is a conceptual diagram illustrating elements of
[0085]MPD122は、表現124とは別個のデータ構造を備え得る。MPD122は図1のマニフェストファイル66に対応し得る。同様に、表現124は図1の表現68に対応し得る。概して、MPD122は、コーディング特性およびレンダリング特性、適応セット、MPD122が対応するプロファイル、テキストタイプ情報、カメラアングル情報、レーティング情報、トリックモード情報(たとえば、時間サブシーケンスを含む表現を示す情報)、ならびに/または(たとえば、再生中のメディアコンテンツへのターゲット広告挿入のための)リモート期間を取り出すための情報など、表現124の特性を概して記述するデータを含み得る。
[0085]
[0086]ヘッダデータ126は、存在するとき、セグメント128の特性、たとえば、ランダムアクセスポイント(RAP、ストリームアクセスポイント(SAP)とも呼ばれる)の時間ロケーションを記述し得、セグメント128のランダムアクセスポイントは、ランダムアクセスポイント、セグメント128内のランダムアクセスポイントへのバイトオフセット、セグメント128のユニフォームリソースロケータ(URL)、またはセグメント128の他の態様を含む。ヘッダデータ130は、存在するとき、セグメント132についての同様の特性を記述し得る。追加または代替として、そのような特性はMPD122内に完全に含まれ得る。
[0086] Header data 126, when present, may describe characteristics of segment 128, such as the temporal location of a random access point (RAP, also called stream access point (SAP)), which random access point of segment 128 may be: Including a random access point, a byte offset to a random access point within segment 128 , a uniform resource locator (URL) of segment 128 , or other aspects of segment 128 .
[0087]セグメント128、132は1つまたは複数のコード化ビデオサンプルを含み、コード化ビデオサンプルの各々はビデオデータのフレームまたはスライスを含み得る。セグメント128のコード化ビデオサンプルの各々は、同様の特性、たとえば、高さ、幅、および帯域幅の要件を有し得る。そのような特性はMPD122のデータによって記述され得るが、そのようなデータは図3の例に示されていない。MPD122は、本開示で説明されるシグナリングされた情報のいずれかまたはすべての追加を伴う、3GPP仕様によって記述される特性を含み得る。
[0087] Segments 128, 132 include one or more coded video samples, each of which may include a frame or slice of video data. Each of the coded video samples of segment 128 may have similar characteristics, such as height, width, and bandwidth requirements. Such characteristics may be described by
[0088]セグメント128、132の各々は、一意のユニフォームリソースロケータ(URL)に関連付けられ得る。したがって、セグメント128、132の各々は、DASHなどのストリーミングネットワークプロトコルを使用して独立して取出し可能であり得る。このようにして、クライアントデバイス40などの宛先デバイスは、セグメント128または132を取り出すためにHTTP GET要求を使用し得る。いくつかの例では、クライアントデバイス40は、セグメント128または132の特定のバイト範囲を取り出すためにHTTP部分GET要求を使用し得る。
[0088] Each of the segments 128, 132 may be associated with a unique uniform resource locator (URL). Accordingly, each of the segments 128, 132 may be independently retrievable using a streaming network protocol such as DASH. In this manner, a destination device such as
[0089]図4は、図3のセグメント128、132のうちの1つなど、表現のセグメントに対応し得る、例示的なビデオファイル150の要素を示すブロック図である。セグメント128、132の各々は、図4の例に示されているデータの構成に実質的に準拠するデータを含み得る。ビデオファイル150は、セグメントをカプセル化すると言われることがある。上記で説明されたように、ISOベースメディアファイルフォーマットおよびそれの拡張によるビデオファイルは、データを「ボックス」と呼ばれる一連のオブジェクトに記憶する。図4の例では、ビデオファイル150は、ファイルタイプ(FTYP)ボックス152と、ムービー(MOOV)ボックス154と、セグメントインデックス(sidx)ボックス162と、ムービーフラグメント(MOOF)ボックス164と、ムービーフラグメントランダムアクセス(MFRA)ボックス166とを含む。図4はビデオファイルの一例を表しているが、他のメディアファイルは、ISOベースメディアファイルフォーマットおよびそれの拡張に従って、ビデオファイル150のデータと同様に構造化された他のタイプのメディアデータ(たとえば、オーディオデータ、タイムドテキストデータなど)を含み得ることを理解されたい。
[0089] FIG. 4 is a block diagram illustrating elements of an
[0090]ファイルタイプ(FTYP)ボックス152は、概して、ビデオファイル150のためのファイルタイプを記述する。ファイルタイプボックス152は、ビデオファイル150の最良の使用法を記述する仕様を識別するデータを含み得る。ファイルタイプボックス152は、代替的に、MOOVボックス154、ムービーフラグメントボックス164、および/またはMFRAボックス166の前に配置され得る。
[0090] A file type (FTYP) box 152 generally describes the file type for the
[0091]いくつかの例では、ビデオファイル150など、セグメントは、FTYPボックス152の前にMPD更新ボックス(図示せず)を含み得る。MPD更新ボックスは、MPDを更新するための情報とともに、ビデオファイル150を含む表現に対応するMPDが更新されるべきであることを示す情報を含み得る。たとえば、MPD更新ボックスは、MPDを更新するために使用されるべきリソースについてのURIまたはURLを与え得る。別の例として、MPD更新ボックスは、MPDを更新するためのデータを含み得る。いくつかの例では、MPD更新ボックスは、ビデオファイル150のセグメントタイプ(STYP)ボックス(図示せず)の直後にくることがあり、ここで、STYPボックスは、ビデオファイル150のためのセグメントタイプを定義し得る。
[0091] In some examples, a segment, such as
[0092]MOOVボックス154は、図4の例では、ムービーヘッダ(MVHD)ボックス156と、トラック(TRAK)ボックス158と、1つまたは複数のムービー拡張(MVEX)ボックス160とを含む。概して、MVHDボックス156はビデオファイル150の一般的な特性を記述し得る。たとえば、MVHDボックス156は、ビデオファイル150が最初に作成されたとき、ビデオファイル150が最後に変更されたときを記述するデータ、ビデオファイル150についての時間スケール、ビデオファイル150についての再生の持続時間、またはビデオファイル150を概して記述する他のデータを含み得る。
[0092] MOOV
[0093]TRAKボックス158は、ビデオファイル150のトラックについてのデータを含み得る。TRAKボックス158は、TRAKボックス158に対応するトラックの特性を記述するトラックヘッダ(TKHD)ボックスを含み得る。いくつかの例では、TRAKボックス158はコード化ビデオピクチャを含み得、他の例では、トラックのコード化ビデオピクチャは、TRAKボックス158および/またはsidxボックス162のデータによって参照され得るムービーフラグメント164中に含まれ得る。
[0093] The
[0094]いくつかの例では、ビデオファイル150は2つ以上のトラックを含み得る。したがって、MOOVボックス154は、ビデオファイル150中のトラックの数に等しいいくつかのTRAKボックスを含み得る。TRAKボックス158は、ビデオファイル150の対応するトラックの特性を記述し得る。たとえば、TRAKボックス158は、対応するトラックについての時間および/または空間情報を記述し得る。カプセル化ユニット30(図3)が、ビデオファイル150などのビデオファイル中にパラメータセットトラックを含むとき、MOOVボックス154のTRAKボックス158と同様のTRAKボックスは、パラメータセットトラックの特性を記述し得る。カプセル化ユニット30は、パラメータセットトラックを記述するTRAKボックス内のパラメータセットトラック中のシーケンスレベルSEIメッセージの存在をシグナリングし得る。
[0094] In some examples, the
[0095]MVEXボックス160は、たとえば、もしあれば、MOOVボックス154内に含まれるビデオデータに加えて、ムービーフラグメント164をビデオファイル150が含むことをシグナリングするように、対応するムービーフラグメント164の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオピクチャは、MOOVボックス154中ではなくムービーフラグメント164中に含まれ得る。したがって、すべてのコード化ビデオサンプルは、MOOVボックス154中ではなくムービーフラグメント164中に含まれ得る。
[0095] The
[0096]MOOVボックス154は、ビデオファイル150中のムービーフラグメント164の数に等しいいくつかのMVEXボックス160を含み得る。MVEXボックス160の各々は、ムービーフラグメント164のうちの対応する1つの特性を記述し得る。たとえば、各MVEXボックスは、ムービーフラグメント164のうちの対応する1つについての持続時間を記述するムービー拡張ヘッダボックス(MEHD)ボックスを含み得る。
[0096] The
[0097]上述のように、カプセル化ユニット30は、シーケンスデータセットを、実際のコード化ビデオデータを含まないビデオサンプルに記憶し得る。ビデオサンプルは、概して、特定の時間インスタンスにおけるコード化ピクチャの表現である、アクセスユニットに対応し得る。AVCのコンテキストでは、コード化ピクチャは、アクセスユニットのすべてのピクセルを構築するための情報を含んでいる1つまたは複数のVCL NALユニットと、SEIメッセージなどの他の関連する非VCL NALユニットとを含む。したがって、カプセル化ユニット30は、ムービーフラグメント164のうちの1つ中に、シーケンスレベルSEIメッセージを含み得る、シーケンスデータセットを含み得る。カプセル化ユニット30はさらに、シーケンスデータセットおよび/またはシーケンスレベルSEIメッセージの存在を、ムービーフラグメント164のうちの1つに対応するMVEXボックス160のうちの1つ内のムービーフラグメント164のうちの1つ中に存在するものとしてシグナリングし得る。
[0097] As mentioned above, encapsulation unit 30 may store the sequence data set in video samples that do not contain the actual coded video data. A video sample may generally correspond to an access unit, which is a representation of a coded picture at a particular instance of time. In the context of AVC, a coded picture consists of one or more VCL NAL units containing information for building all pixels of an access unit and other associated non-VCL NAL units such as SEI messages. include. Thus, encapsulation unit 30 may include sequence data sets, which may include sequence level SEI messages in one of movie fragments 164 . Encapsulation unit 30 further detects the presence of the sequence data set and/or the sequence-level SEI message to one of movie fragments 164 in one of
[0098]SIDXボックス162は、ビデオファイル150の随意の要素である。すなわち、3GPPファイルフォーマット、または他のそのようなファイルフォーマットに準拠するビデオファイルは、必ずしもSIDXボックス162を含むとは限らない。3GPPファイルフォーマットの例によれば、SIDXボックスは、セグメント(たとえば、ビデオファイル150内に含まれているセグメント)のサブセグメントを識別するために使用され得る。3GPPファイルフォーマットは、サブセグメントを、「対応する(1つまたは複数の)メディアデータボックスと、ムービーフラグメントボックスによって参照されるデータを含んでいるメディアデータボックスとをもつ、1つまたは複数の連続するムービーフラグメントボックスの独立型セットは、そのムービーフラグメントボックスに後続し、同じトラックに関する情報を含んでいる次のムービーフラグメントボックスに先行しなければならない」と定義している。3GPPファイルフォーマットはまた、SIDXボックスが、「ボックスによってドキュメント化される(サブ)セグメントのサブセグメントへの参照のシーケンスを含んでいる。参照されるサブセグメントはプレゼンテーション時間において隣接する。同様に、セグメントインデックスボックスによって参照されるバイトは常にセグメント内で隣接する。参照されるサイズは、参照される材料中のバイト数のカウントを与える」ことを示している。
[0098]
[0099]SIDXボックス162は、概して、ビデオファイル150中に含まれるセグメントの1つまたは複数のサブセグメントを表す情報を与える。たとえば、そのような情報は、サブセグメントが開始および/または終了する再生時間、サブセグメントについてのバイトオフセット、サブセグメントがストリームアクセスポイント(SAP)を含む(たとえば、それで開始する)かどうか、SAPのためのタイプ(たとえば、SAPが瞬時デコーダリフレッシュ(IDR)ピクチャであるのか、クリーンランダムアクセス(CRA)ピクチャであるのか、切断リンクアクセス(BLA)ピクチャであるのかなど)、サブセグメント中の(再生時間および/またはバイトオフセットに関する)SAPの位置などを含み得る。
[0099]
[0100]ムービーフラグメント164は、1つまたは複数のコード化ビデオピクチャを含み得る。いくつかの例では、ムービーフラグメント164は1つまたは複数のピクチャグループ(GOP)を含み得、GOPの各々は、いくつかのコード化ビデオピクチャ、たとえば、フレームまたはピクチャを含み得る。さらに、上記で説明されたように、ムービーフラグメント164は、いくつかの例では、シーケンスデータセットを含み得る。ムービーフラグメント164の各々は、ムービーフラグメントヘッダボックス(MFHD、図4に図示せず)を含み得る。MFHDボックスは、ムービーフラグメントについてのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント164は、ビデオファイル150中のシーケンス番号の順に含まれ得る。
[0100]
[0101]MFRAボックス166は、ビデオファイル150のムービーフラグメント164内のランダムアクセスポイントを記述し得る。これは、ビデオファイル150によってカプセル化されたセグメント内の特定の時間ロケーション(すなわち、再生時間)へのシークを実施することなど、トリックモードを実施するのを支援し得る。MFRAボックス166は、概して随意であり、いくつかの例では、ビデオファイル中に含まれる必要がない。同様に、クライアントデバイス40などのクライアントデバイスは、ビデオファイル150のビデオデータを正しく復号し、表示するために、必ずしもMFRAボックス166を参照する必要があるとは限らない。MFRAボックス166は、ビデオファイル150のトラックの数に等しいか、またはいくつかの例では、ビデオファイル150のメディアトラック(たとえば、非ヒントトラック)の数に等しい、いくつかのトラックフラグメントランダムアクセス(TFRA)ボックス(図示せず)を含み得る。
[0101]
[0102]いくつかの例では、ムービーフラグメント164は、IDRピクチャなど、1つまたは複数のストリームアクセスポイント(SAP)を含み得る。同様に、MFRAボックス166は、SAPのビデオファイル150内のロケーションの指示を与え得る。したがって、ビデオファイル150のSAPからビデオファイル150の時間サブシーケンスが形成され得る。時間サブシーケンスはまた、SAPに従属するPフレームおよび/またはBフレームなど、他のピクチャを含み得る。時間サブシーケンスのフレームおよび/またはスライスは、サブシーケンスの他のフレーム/スライスに依存する時間サブシーケンスのフレーム/スライスが適切に復号され得るように、セグメント内に構成され得る。たとえば、データの階層構成において、他のデータの予測のために使用されるデータも時間サブシーケンス中に含まれ得る。
[0102] In some examples,
[0103]図5は、本開示の技法による、送出機と受信機とを含む例示的なシステムを示す概念図である。図5の送出機は、概して、メディアエンコーダ200と、CMAF/ファイルフォーマット(FF)パッケージャ202と、DASHパッケージャ204と、ROUTE送出機206と、CDNオリジンサーバ208とを含む。メディアエンコーダ200は、オーディオまたはビデオデータなど、メディアデータを符号化する。メディアエンコーダ200は、図1のオーディオエンコーダ26またはビデオエンコーダ28に対応し得る。CMAF/FFパッケージャ202とDASHパッケージャ204とは、図1のカプセル化ユニット30に対応し得る。ROUTE送出機206およびCDNオリジンサーバ208は、図1の要求処理ユニット70およびサーバデバイス60に対応し得る。
[0103] FIG. 5 is a conceptual diagram illustrating an example system including a transmitter and a receiver in accordance with the techniques of this disclosure. The senders of FIG. 5 generally include a media encoder 200 , a CMAF/file format (FF) packager 202 , a
[0104]図5の受信機は、概して、ROUTE受信機210と、DASHクライアント212と、CMAF/FFパーサ214と、メディアデコーダ216とを含む。ROUTE受信機210およびDASHクライアント212は、図1の取出しユニット52に対応し得る。CMAF/FFパーサ214は、図1のカプセル化解除ユニット50に対応し得る。メディアデコーダ216は、オーディオデコーダ46とビデオデコーダ48とのいずれかまたは両方に対応し得る。
[0104] The receiver of FIG. 5 generally includes a ROUTE receiver 210, a
[0105]メディアエンコーダ200は、符号化メディアデータをCMAF/FFパッケージャ202に与え、CMAF/FFパッケージャ202は、CMAF、およびISO BMFFまたはそれの拡張など、特定のファイルフォーマットに従って、符号化メディアデータをファイルにフォーマットする。CMAF/FFパッケージャ202は、これらのファイル(たとえば、チャンク)をDASHパッケージャ204に与え、DASHパッケージャ204は、ファイル/チャンクをDASHセグメントにアグリゲートする。DASHパッケージャ204はまた、ファイル/チャンク/セグメントを記述するデータを含む、MPDなど、マニフェストファイルを形成し得る。さらに、本開示の技法によれば、ROTUE送出機206および/またはCDNオリジンサーバ208は、パケット損失を検出するために、たとえば、ROUTE受信機210および/またはDASHクライアント212によって使用されるべき1つまたは複数のパケット損失検出機構をシグナリングし得る。
[0105] Media encoder 200 provides encoded media data to CMAF/
[0106]DASHパッケージャ204は、MPDとともに、セグメントをROUTE送出機206およびCDNオリジンサーバ208に与える。ROUTE送出機206およびCDNオリジンサーバ208は、図1のサーバデバイス60または図5のCDN220に対応し得る。概して、ROUTE送出機206は、この例では、ROUTEに従ってROUTE受信機210にメディアデータを送出し得る。他の例では、FLUTEなど、他のファイルベース配信プロトコルが、ブロードキャストまたはマルチキャストのために使用され得る。追加または代替として、CDNオリジンサーバ208は、たとえば、HTTPに従って、ROUTE受信機210に、および/またはDASHクライアント212に直接、メディアデータを送出し得る。
[0106]
[0107]ROUTE受信機210は、図2のeMBMSミドルウェアユニット100など、ミドルウェア中で実装され得る。ROUTE受信機210は、たとえば、図2に示されているキャッシュ104中で、受信されたメディアデータをバッファし得る。(図2のDASHクライアント110に対応し得る)DASHクライアント212は、HTTPを使用して、キャッシュされたメディアデータをROUTE受信機210から取り出し得る。代替的に、DASHクライアント212は、上記で説明されたように、HTTPに従って、CDNオリジンサーバ208からメディアデータを直接取り出し得る。
[0107] The ROUTE receiver 210 may be implemented in middleware, such as the
[0108]さらに、本開示の技法によれば、ROUTE受信機210は、たとえば、パケット損失が、たとえばメディアデータのブロードキャストまたはマルチキャストストリーミングセッション中に発生したと決定するために、1つまたは複数のシグナリングされたパケット損失検出機構を使用し得る。応答して、ROUTE受信機210は、パケット損失が発生したことを示すデータをDASHクライアント212に与え得る。追加または代替として、DASHクライアント212は、シグナリングされたパケット損失検出機構のうちの1つまたは複数を使用して、パケット損失が発生したと決定し得る。いずれの場合も、DASHクライアント212は、損失したパケット中に含まれるメディアデータに対応するメディアデータをCDNオリジンサーバ208から取り出すために、たとえば、HTTP部分Get要求を使用して、バイト範囲要求を形成し得る。このようにして、図5の受信機は、概して、ブロードキャストまたはマルチキャストを介してメディアデータを受信し得るが、メディアデータの一部が損失したとき、DASHクライアント212は、ユニキャスト、たとえばHTTPを使用して、損失したメディアデータを取り出し得る。
[0108] Further, in accordance with the techniques of this disclosure, ROUTE receiver 210, for example, uses one or more signaling A modified packet loss detection mechanism may be used. In response, ROUTE receiver 210 may provide data to
[0109]本開示は、データがどのように分配されるかに関するプロパティをシグナリングするためのROUTE送出、ならびにメディアデータが部分的に損失していることがある場合、ROUTE受信機210からDASHクライアント212へのインターフェースに主に焦点を当てる。
[0109] This disclosure provides ROUTE sending to signal properties regarding how data is distributed, as well as routing from ROUTE receiver 210 to
[0110]現在のデジタルビデオブロードキャスティング(DVB)適応ビットレート(ABR)仕様は、低レイテンシモードでのマルチキャスト配信を可能にするが、上記で説明された従来の機構はこの低レイテンシモードのために調整されず、これは、それらの制限を生じる。これらの制限は、特に低レイテンシストリームの場合、再生の望ましくないストール(stall)を引き起こし得る。 [0110] The current Digital Video Broadcasting (DVB) Adaptive Bitrate (ABR) specification allows for multicast delivery in a low-latency mode, but the conventional mechanisms described above are for this low-latency mode. Not regulated, which results in their limitations. These limitations can cause unwanted stalls in playback, especially for low latency streams.
[0111]本開示は、以下で説明されるように、従来の技法に関して生じ得るいくつかの問題を認識している。 [0111] This disclosure recognizes several problems that can arise with conventional techniques, as described below.
[0112]DVB ABR仕様の節1.3および1.4における機構は、早くとも、受信機側における全配信オブジェクトの公称受信持続時間の後にのみ、損失を検出するために動作し得る。たとえば、2秒の公称セグメント持続時間をもつDASH表現をマルチキャストする場合、この検出は、早くとも、オブジェクトの受信の開始から2秒後に起こることになる。これは、パケットの損失により、著しく長い再生ストールにつながり得る。 [0112] The mechanisms in Sections 1.3 and 1.4 of the DVB ABR specification may operate to detect loss only after the nominal reception duration of all broadcast objects at the receiver side at the earliest. For example, if multicasting a DASH representation with a nominal segment duration of 2 seconds, this detection will occur, at the earliest, 2 seconds after the start of reception of the object. This can lead to significantly longer playback stalls due to packet loss.
[0113]DVB ABR仕様の節1.2の機構は、後続のパケット(損失したパケットの後に受信されたパケット)の受信の後にのみ動作し得る。そのような受信は、一般に、たとえば、パケット受信が突然および長い時間期間の間停止する不良なチャネル状態の下で、長時間遅延される。この場合の下では、受信機は、節1.3および1.4の機構にデフォルト設定される。 [0113] The mechanisms in Section 1.2 of the DVB ABR specification can only operate after receipt of a subsequent packet (a packet received after the lost packet). Such reception is generally delayed for a long time, for example under bad channel conditions where packet reception stops suddenly and for long periods of time. Under this case, the receiver defaults to the mechanisms of Sections 1.3 and 1.4.
[0114]DVB ABR仕様の節1.2における機構はまた、順序が狂ったパケット配信に対してロバストでない。 [0114] The mechanism in Section 1.2 of the DVB ABR specification is also not robust against out-of-order packet delivery.
[0115]DVB ABR仕様の節1.5における機構は、完全オブジェクト受信についてのみ定義され、低レイテンシの場合について定義されない。 [0115] The mechanism in Section 1.5 of the DVB ABR specification is defined only for full object reception and not for the low latency case.
[0116]したがって全体的に、DVB ABR仕様の節1.3によれば、従来の機構を使用して、パケット損失の最も早期の検出は、一般に、公称DASHセグメント持続時間程度のものである時間の後に行われる。 [0116] Overall, therefore, according to Section 1.3 of the DVB ABR specification, using conventional mechanisms, the earliest detection of packet loss is typically no more than the nominal DASH segment duration. is done after
[0117]本開示は、上記で説明された問題に対処し得る技法について説明する。ソースデバイス60およびクライアントデバイス40など、送出機および受信機は、以下のように、制御チャネル上でデータをシグナリングし得る。
[0117] This disclosure describes techniques that may address the problems described above. Senders and receivers, such as
1. セグメントがチャンクで送出されることを制御チャネル中でシグナリングする。チャンクが送出機において完了されると、送出が開始する。これは、2つのパケットを送出することの間の間隔が、せいぜい、ある持続時間であることを示すために、シグナリングを送出することが抽出され得ること(can be abstracted)を意味する(この信号は、チャンク持続時間が決定されたとき、セットアップにおいて追加され得る)。送出間隔は、せいぜい、チャンク持続時間であり得る。 1. Signal in the control channel that the segments are sent in chunks. When a chunk is completed at the sender, sending begins. This means that sending signaling can be abstracted to indicate that the interval between sending two packets is at most a certain duration (this signal may be added in the setup when the chunk duration is determined). The sending interval can be at most the chunk duration.
2. TOIが連続であることを制御チャネル中でシグナリングする。 2. Signal in the control channel that the TOI is continuous.
3. TOIに割り当てられたオブジェクトの最後のパケットが、パケットヘッダ中に設定された特定のフラグを有することを、制御チャネル上でシグナリングする。 3. Signaling on the control channel that the last packet of the object assigned to the TOI has a specific flag set in the packet header.
4. 受信されたFLUTE/ROUTEオブジェクトのTOIに基づいて、同じオブジェクトがHTTPを通してユニキャストにおいて要求され得るURLの生成を可能にするテンプレート基本URLを、制御チャネル中でシグナリングする。 4. Based on the TOI of the received FLUTE/ROUTE object, a template base URL is signaled in the control channel that allows the generation of URLs where the same object can be requested in unicast over HTTP.
5. パケットが部分である場合でも、それらがアプリケーションクライアントに与えられるまで、パケットについての最大レイテンシをシグナリングする。 5. Signals the maximum latency for packets until they are given to the application client, even if the packets are partial.
6. ROUTEヘッダ、すなわち、チャンク境界上で、バイト範囲レベルでのISO BMFF同期ポイントをシグナリングすること。 6. ROUTE headers, i.e., signaling ISO BMFF synchronization points at the byte-range level, on chunk boundaries.
[0118]図1のクライアントデバイス40、ROUTE受信機210、または他の受信機は、以下を行うために、シグナリングされた情報を利用し得る。
[0118]
1. シグナリング機構のうちの1つまたは複数によって十分に早期に、配信時の1つまたはいくつかのパケットの損失を検出する。 1. Detecting the loss of one or several packets in delivery early enough by one or more of the signaling mechanisms.
2. ROUTE/FLUTEヘッダ中の情報、すなわち、TOIおよびstart_offsetを使用して、消失したデータについての適切なバイト範囲要求を生成する。 2. The information in the ROUTE/FLUTE headers, namely TOI and start_offset, is used to generate the appropriate byte range request for the missing data.
3. 時間内に適切なオブジェクトをアプリケーションクライアント(たとえば、図2のDASHクライアント110またはメディアアプリケーション112)に配信する。
3. Deliver the appropriate object to the application client (eg,
a. ゲートウェイは、たとえば、HTTP504コードを用いて転送を中断し、DASHプレーヤは、そのようなイベントを扱うように対応させられる。または、
b. 応答は、それが部分である場合でも送出される。部分応答は、正しく受信されたオブジェクトのバイト範囲ならびにバイトストリームレベルでの再同期ポイントを含む。
a. The gateway intercepts the transfer using, for example, HTTP 504 code, and the DASH player is adapted to handle such events. or,
b. A response is sent even if it is partial. The partial response contains the byte ranges of the objects that were correctly received as well as resynchronization points at the byte stream level.
[0119]アプリケーション(たとえば、図2のメディアアプリケーション112)は、時間内に受信されたすべての使用可能情報を使用することによって最良の品質を提示するために、この情報を利用し得る。アプリケーションは、再同期ポイントをもつ部分データを受け付け得る。
[0119] An application (eg,
[0120]チャンク持続時間シグナリングの詳細は、以下を含み得る。トランスポートパケットの損失の早期検出は、パケット間タイムアウトのシグナリングによって可能にされ得る。そのようなタイムアウトは、トランスポートされているストリームの公称CMAFチャンク持続時間に従って設定され得る。シグナリングは、マルチキャストトランスポートパケットヘッダ中で、またはマルチキャストオブジェクトメタデータ(FDT/eFDT)中で、あるいは制御プレーン(サービス/セッションメタデータ)中で行われ得る。シグナリングは、最大予想パケット到着ジッタを考慮に入れ得る。シグナリングがこれを考慮に入れない場合、受信機実装形態は、それの経験されるパケット受信ジッタを使用し得る。受信機(たとえば、クライアントデバイス40)は、上記のパケット間タイムアウトの満了時に、再生が最小限にストールされることを保証するために、ユニキャストを介してデータを要求し得る。受信機は、それが要求する必要があるバイト範囲の開始のみを決定し、それがどのくらいのデータを必要とするかを決定しないので、それは、HTTPチャンクモード(HTTP chunked mode)を介してデータを得ることがあり、ここで、それは、適度に大きい量のデータ(たとえば、公称セグメントサイズ)を要求し得、マルチキャスト受信が再開すると受信を取り消すことができる。 [0120] Details of the chunk duration signaling may include the following. Early detection of transport packet loss may be enabled by inter-packet timeout signaling. Such timeouts may be set according to the nominal CMAF chunk duration of the stream being transported. Signaling can be done in multicast transport packet headers, or in multicast object metadata (FDT/eFDT), or in the control plane (service/session metadata). Signaling may take into account the maximum expected packet arrival jitter. If the signaling does not take this into account, the receiver implementation may use its experienced packet reception jitter. A receiver (eg, client device 40) may request data via unicast to ensure that playback is minimally stalled upon expiration of the inter-packet timeout described above. Since the receiver only determines the start of the byte range it needs to request, not how much data it needs, it can send the data via HTTP chunked mode. where it may request a reasonably large amount of data (eg nominal segment size) and may cancel reception when multicast reception resumes.
[0121]このソリューションは、概して、CMAFチャンク持続時間程度の持続時間、たとえば、100~200ミリ秒以内のパケット損失の検出を可能にし得、それに対して、現況技術は、そのような検出のために約1~2秒かかり得る。そのような早期検出は、早期修復試行をトリガすることを可能にし、そのような場合にストールの持続時間を最小限に抑え得る。 [0121] This solution may generally allow detection of packet loss within a duration of the order of the CMAF chunk duration, eg, 100-200 ms, whereas the state of the art does not allow for such detection. can take about 1-2 seconds. Such early detection may allow early repair attempts to be triggered, minimizing the duration of the stall in such cases.
[0122]いくつかの例では、DASHクライアント212は、トランスポートパケット損失を修復するためにバイト範囲要求を行い得る。上記で説明されたパケット損失の検出の後に、DASHクライアント212は、ユニキャストバイト範囲要求を形成し得る。消失したデータのバイト範囲決定は、上記で説明された。修復データのアドレスを取り出すための機構は、www.dvb.org/resources/restricted/members/documents/TM-IPI/ABR%20Multicast/TM-IPI3626r4_ABR-Multicast-taskforce---Unicast-repair-draft-specification.docxにおいて入手可能な、DVBワーキングドラフト 節9、TM-IPI3626r4:ABRマルチキャストタスクフォース-ユニキャスト修復ドラフト仕様においてドキュメント化されている。
[0122] In some examples, the
[0123]DASHクライアント212および/またはROUTE受信機210はまた、パケット修復失敗を扱い得る。最終的に、パケット修復試行が失敗するかまたは時間内に完了されない可能性がある。この場合、マルチキャストゲートウェイは、この問題をDASHクライアント212にシグナリングし得る。この状況に対処するための2つの可能性がある。
[0123]
1. ゲートウェイは、たとえばHTTP504コードを用いて転送を中断し、DASHプレーヤは、そのようなイベントを扱うように対応させられる。 1. Gateways interrupt transfers using, for example, HTTP 504 code, and DASH players are adapted to handle such events.
2. 追加または代替として、応答は、上記で説明されたように部分ファイルシグナリング機構を使用してパケットが部分的に受信される場合でも送出される。この機構によれば、アプリケーションは、それのHTTP GET要求において部分ファイルを受け付けるそれの能力を示す。部分応答は、正しく受信されたオブジェクトのバイト範囲ならびにバイトストリームレベルでの再同期ポイントを含む。 2. Additionally or alternatively, responses are sent even if the packet is partially received using the partial file signaling mechanism as described above. According to this mechanism, an application indicates its ability to accept partial files in its HTTP GET request. The partial response contains the byte ranges of the objects that were correctly received as well as resynchronization points at the byte stream level.
[0124]DASHクライアント212および/またはROUTE受信機210はまた、トランスポートオブジェクト損失を扱い得る。1つまたは複数のトランスポートオブジェクトおよびそれらの関連するメタデータ(たとえば、FDT)の完全な損失を扱うための1つの機構は、ユニキャスト接続の利用可能性に依拠することである。マルチキャストゲートウェイは、HTTPリバースプロキシとして構成され得、たとえば、損失したオブジェクトに対する要求がプレーヤによって行われたとき、そのオブジェクトをフェッチするために、ユニキャスト接続を使用し得る。ゲートウェイは、ユニキャストを介して同じコンテンツを復元するために、上記で説明されたように、要求されたオブジェクトのURLと、ユニキャストコンテンツロケーションのシグナリングとを使用し得る。
[0124]
[0125]図6は、本開示の技法による、例示的な方法を示すフローチャートである。図6の方法は、図1のサーバデバイス60およびクライアントデバイス40に関して説明される。図5の送出機デバイスおよび受信機デバイスなど、他のデバイスが、このまたは同様の方法を実施するように構成され得る。
[0125] FIG. 6 is a flowchart illustrating an exemplary method, in accordance with the techniques of this disclosure. The method of FIG. 6 is described with respect to
[0126]最初に、サーバデバイス60は、1つまたは複数のパケット損失検出機構(packet loss detection mechanisms)をシグナリングする(250)。これらの機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの1つまたは複数を含み得る。クライアントデバイス40はまた、パケット損失検出機構を表すシグナリングされたデータを受信し得る(252)。
[0126] Initially,
[0127]サーバデバイス60はまた、ストリーミングプロトコルを介してメディアデータを送出し得る(254)。たとえば、サーバデバイス60は、FLUTE、ROUTE、あるいは、DVBなど、他のネットワークまたはオーバージエア(OTA)ブロードキャスト規格を介して、メディアデータを送出し得る。クライアントデバイス40は、次いで、メディアデータの少なくとも一部を受信し得る(256)。クライアントデバイス40は、さらに、(1つまたは複数の)パケット損失検出機構を使用して、1つまたは複数のパケットが損失したかどうかを決定し得る(258)。パケットが損失していない(258の「いいえ」分岐)場合、クライアントデバイス40は、メディアオブジェクト、たとえば、オーディオおよび/またはビデオデータを提示すること(272)に進み得る。
[0127]
[0128]一方、少なくとも1つのパケットが損失した(258の「はい」分岐)場合、クライアントデバイス40は、損失したパケット中に含まれたメディアデータと、セグメントにおけるそのパケットのメディアデータの対応する位置とを決定し得る。たとえば、クライアントデバイス40は、セグメントにおけるメディアデータの開始バイト位置を決定するために、トランスポートオブジェクト識別子(TOI)とstart_offsetとを使用し得る。クライアントデバイス40は、たとえば、シグナリングされたチャンク持続時間を使用して、損失したパケットのメディアデータの終了バイト位置をさらに決定し得る。クライアントデバイス40は、次いで、バイト範囲を指定するHTTP部分Get要求など、損失したパケットの損失したメディアデータについてのバイト範囲要求を形成し得る(260)。
[0128] On the other hand, if at least one packet was lost (the "yes" branch of 258),
[0129]クライアントデバイス40は、次いで、サーバデバイス60にバイト範囲要求を送出し得る(262)。バイト範囲要求を受信したこと(264)に応答して、サーバデバイス60は、たとえば、HTTPなど、ユニキャストプロトコルに従って、要求されたバイト範囲をクライアントデバイス40に送出し得る(266)。クライアントデバイス40は、次いで、要求されたバイト範囲を受信し(268)、適切なメディアオブジェクトを形成し得る(270)。クライアントデバイス40は、さらに、メディアオブジェクトを提示し得る(272)。
[0129]
[0130]このようにして、図6の方法は、パケット損失シグナリング機構を示すデータを受信することと、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットが、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を含む、メディアデータを取り出す方法の一例を表す。 [0130] Thus, the method of FIG. Contiguous, or the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, the base URL, the maximum latency, or the synchronization point in the file delivery header. detecting loss of packets using at least one of the packet loss signaling mechanisms, the lost packets containing lost media data; using information in the file delivery header. to generate a byte range request for the missing media data; and delivering the appropriate media object to the media application.
[0131]図6の方法はまた、パケット損失シグナリング機構を示すデータを送出することと、パケット損失シグナリング機構が、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイント、のうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出することと、を含む、メディアデータを送出する方法の一例を表す。 [0131] The method of FIG. 6 also includes sending data indicating a packet loss signaling mechanism, and the packet loss signaling mechanism confirming that the segments are sent in chunks and that the transport object identifier (TOI) is contiguous. , or that the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, the base URL, the maximum latency, or the synchronization point in the file delivery header. sending one or more packets containing media data via a broadcast or multicast protocol; and byte range requests indicating the media data of one of the lost packets via a unicast protocol. receiving from a client device over a byte range request; and sending a byte range of media data to a client device via a unicast protocol in response to a byte range request. .
[0132]本開示のいくつかの技法は、以下の例において要約される。 [0132] Some techniques of this disclosure are summarized in the following examples.
[0133]例1:メディアデータを取り出す方法であって、本方法は、パケット損失シグナリング機構を示すデータを受信することと、データが、セグメントがチャンクで送出されること、TOIが連続であること、TOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つの指示を備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出することと、損失したパケットが、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成することと;適切なメディアオブジェクトをメディアアプリケーションに配信することと、を備える、方法。 [0133] Example 1: A method of retrieving media data, the method comprising: receiving data indicative of a packet loss signaling mechanism; , that the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, the base URL, the maximum latency, or the synchronization point in the file delivery header. detecting loss of packets using at least one of the packet loss signaling mechanisms, the lost packets containing lost media data; using information in the file delivery header to detect loss; generating a byte range request for the media data received; and delivering the appropriate media object to the media application.
[0134]例2:ファイル配信ヘッダがROUTEヘッダまたはFLUTEヘッダを備える、例1に記載の方法。 [0134] Example 2: The method of Example 1, wherein the file delivery header comprises a ROUTE header or a FLUTE header.
[0135]例3:ファイル配信ヘッダの情報が、TOIとstart_offset値とを備える、例1および2のいずれかに記載の方法。 [0135] Example 3: The method of any of Examples 1 and 2, wherein the information in the file delivery header comprises a TOI and a start_offset value.
[0136]例4:適切なメディアオブジェクトが、消失したメディアデータの少なくとも一部を消失している部分メディアオブジェクトである、例1~3のいずれかに記載の方法。 [0136] Example 4: The method of any of Examples 1-3, wherein the appropriate media object is a partial media object missing at least a portion of the lost media data.
[0137]例5:適切なメディアオブジェクトを配信することが、メディアオブジェクトについての予想配信時間までに適切なメディアオブジェクトを配信することを備える、例1~4のいずれかに記載の方法。 [0137] Example 5: The method of any of Examples 1-4, wherein delivering the appropriate media object comprises delivering the appropriate media object by an expected delivery time for the media object.
[0138]例6:パケットの損失を検出することが、シグナリングされたパケット間タイムアウトを使用してパケットの損失を検出することを備える、例1~5のいずれかに記載の方法。 [0138] Example 6: The method of any of Examples 1-5, wherein detecting packet loss comprises detecting packet loss using a signaled inter-packet timeout.
[0139]例7:パケット間タイムアウトが、公称CMAFチャンク持続時間に従ってシグナリングされる、例6に記載の方法。 [0139] Example 7: The method of Example 6, wherein the inter-packet timeout is signaled according to a nominal CMAF chunk duration.
[0140]例8:マルチキャストトランスポートパケットヘッダ、ファイル配信テーブル(FDT)または拡張FDT(EFDT)におけるマルチキャストオブジェクトメタデータから、あるいは制御プレーンサービスまたはセッションメタデータ中で、チャンク持続時間を決定することをさらに備える、例6および7のいずれかに記載の方法。 [0140] Example 8: Determining the chunk duration from multicast object metadata in the multicast transport packet header, File Delivery Table (FDT) or Enhanced FDT (EFDT), or in the control plane service or session metadata The method of any of Examples 6 and 7, further comprising:
[0141]例9:チャンク持続時間シグナリングが最大予想パケット到着ジッタ考慮するかどうかを決定することをさらに備える、例6~8のいずれかに記載の方法。 [0141] Example 9: The method of any of Examples 6-8, further comprising determining whether the chunk duration signaling takes into account maximum expected packet arrival jitter.
[0142]例10:チャンク持続時間シグナリングが最大予想パケット到着ジッタを考慮しないとき、経験されるパケット受信ジッタに従ってチャンク持続時間シグナリングを決定する、例9に記載の方法。 [0142] Example 10: The method of Example 9, wherein the chunk duration signaling is determined according to experienced packet reception jitter when the chunk duration signaling does not consider the maximum expected packet arrival jitter.
[0143]例11:バイト範囲要求を生成することが、パケット間タイムアウトの満了後にバイト範囲要求を生成することを備える、例6~10のいずれかに記載の方法。 [0143] Example 11: The method of any of Examples 6-10, wherein generating the byte-range request comprises generating the byte-range request after expiration of an inter-packet timeout.
[0144]例12:ユニキャストプロトコルを介してバイト範囲要求をサブミットすることをさらに備える、例1~11のいずれかに記載の方法。 [0144] Example 12: The method of any of Examples 1-11, further comprising submitting the byte range request via a unicast protocol.
[0145]例13:ユニキャストプロトコルがHTTPを備える、例12に記載の方法。 [0145] Example 13: The method of Example 12, wherein the unicast protocol comprises HTTP.
[0146]例14:メディアデータを取り出すためのデバイスであって、本デバイスが、例1~13のいずれかに記載の方法を実施するための1つまたは複数の手段を備える、デバイス。 [0146] Example 14: A device for retrieving media data, the device comprising one or more means for performing the method of any of Examples 1-13.
[0147]例15:1つまたは複数の手段が、回路中に実装された1つまたは複数のプロセッサを備える、例14に記載のデバイス。 [0147] Example 15: The device of Example 14, wherein the one or more means comprises one or more processors implemented in circuits.
[0148]例16:本デバイスが、集積回路、マイクロプロセッサ、またはワイヤレス通信デバイスのうちの少なくとも1つを備える、例14に記載のデバイス。 [0148] Example 16: The device of Example 14, wherein the device comprises at least one of an integrated circuit, a microprocessor, or a wireless communication device.
[0149]例17:実行されたとき、プロセッサに、例1~13のいずれかに記載の方法を実施させる命令を記憶したコンピュータ可読記憶媒体。 [0149] Example 17: A computer-readable storage medium storing instructions that, when executed, cause a processor to perform the method of any of Examples 1-13.
[0150]例18:メディアデータを取り出すためのデバイスであって、本デバイスは、パケット損失シグナリング機構を示すデータを受信するための手段と、データが、セグメントがチャンクで送出されること、TOIが連続であること、TOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つの指示を備え;パケット損失シグナリング機構のうちの少なくとも1つを使用してパケットの損失を検出するための手段と、損失したパケットが、消失したメディアデータを含み;ファイル配信ヘッダの情報を使用して、消失したメディアデータについてのバイト範囲要求を生成するための手段と;適切なメディアオブジェクトをメディアアプリケーションに配信するための手段と、を備える、デバイス。 [0150] Example 18: A device for retrieving media data, the device comprising: means for receiving data indicative of a packet loss signaling mechanism; Contiguous, the last packet of the object assigned to the TOI has a specific flag set in the last packet's header, the base URL, the maximum latency, or the synchronization point in the file delivery header. means for detecting loss of packets using at least one of the packet loss signaling mechanisms, the lost packets containing lost media data; information in the file delivery header means for generating a byte range request for lost media data using a; and means for delivering the appropriate media object to the media application.
[0151]例19:メディアデータを送出する方法であって、本方法は、パケット損失シグナリング機構を示すデータを送出することと、データは、セグメントがチャンクで送出されること、TOIが連続であること、TOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つの指示を備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと、バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出することとを備える、方法。 [0151] Example 19: A method of sending media data, the method sending data indicating a packet loss signaling mechanism, the data being sent in chunks in segments, the TOI being contiguous at least one of that the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, the base URL, the maximum latency, or the synchronization point in the file delivery header. sending one or more packets containing media data via a broadcast or multicast protocol; and a byte range request indicating the media data of one of the lost packets via a unicast protocol. and sending the byte range media data to the client device via a unicast protocol in response to the byte range request.
[0152]例20:メディアデータを送出するためのデバイスであって、本デバイスが、例19に記載の方法を実施するための1つまたは複数の手段を備える、デバイス。 [0152] Example 20: A device for transmitting media data, the device comprising one or more means for implementing the method of Example 19.
[0153]例21:本デバイスが、集積回路、マイクロプロセッサ、またはワイヤレス通信デバイスのうちの少なくとも1つを備える、例20に記載のデバイス。 [0153] Example 21: The device of Example 20, wherein the device comprises at least one of an integrated circuit, a microprocessor, or a wireless communication device.
[0154]例22:実行されたとき、プロセッサに、例19に記載の方法を実施させる命令を記憶したコンピュータ可読記憶媒体。 [0154] Example 22: A computer-readable storage medium storing instructions that, when executed, cause a processor to perform the method set forth in Example 19.
[0155]例23:メディアデータを送出するためのデバイスであって、本デバイスは、パケット損失シグナリング機構を示すデータを送出するための手段と、データは、セグメントがチャンクで送出されること、TOIが連続であること、TOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え;ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出するための手段と;損失したパケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信するための手段と;バイト範囲要求に応答して、ユニキャストプロトコルを介してクライアントデバイスにバイト範囲のメディアデータを送出するための手段と、を備えるデバイス。 [0155] Example 23: A device for sending media data, the device comprising means for sending data indicating a packet loss signaling mechanism, the data indicating that segments are sent in chunks, TOI is contiguous, the last packet of the object assigned to the TOI has a specific flag set in the header of the last packet, the base URL, the maximum latency, or the synchronization point in the file delivery header. means for sending one or more packets containing media data via a broadcast or multicast protocol; and a byte range request indicating the media data of one of the lost packets, A device comprising: means for receiving from a client device via a unicast protocol; and means for sending byte-range media data to the client device via the unicast protocol in response to a byte-range request.
[0156]1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明される技法の実装のための命令、コード、および/またはデータ構造を取り出すために1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。 [0156] In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over a computer-readable medium as one or more instructions or code to be executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as a data storage medium or any medium that facilitates transfer of a computer program from one place to another, for example, according to a communication protocol. may include communication media including the medium of In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media is any use that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementation of the techniques described in this disclosure. possible medium. A computer program product may include a computer-readable medium.
[0157]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)およびBlu-ray(登録商標)ディスク(disc)を含み、ここで、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザーで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。 [0157] By way of example and not limitation, such computer readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory 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. Also, any connection is properly termed a computer-readable medium. For example, instructions sent from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave Where applicable, coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media, but instead cover non-transitory tangible storage media. As used herein, disk and disc refer to compact disc (CD), laser disc (disc), optical disc (disc), digital versatile disc ( DVDs), floppy disks and Blu-ray® discs, where a disk usually reproduces data magnetically and a disc stores data. Optically reproduced with a laser. Combinations of the above should also be included within the scope of computer-readable media.
[0158]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造、または、本明細書で説明された技法の実装に好適な任意の他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。 [0158] Instructions may be implemented in one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. etc., can be executed by one or more processors. Accordingly, the term "processor" as used herein may refer to either the structure described above or any other structure suitable for implementing the techniques described herein. Moreover, in some aspects the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a composite codec. Also, the techniques may be fully implemented in one or more circuits or logic elements.
[0159]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実施するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されたが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。 [0159] The techniques of this disclosure may be implemented in a wide variety of devices or apparatus, including wireless handsets, integrated circuits (ICs), or sets of ICs (eg, chipsets). Although various components, modules or units have been described in this disclosure to emphasize functional aspects of devices configured to implement the disclosed techniques, such components, modules or units A unit does not necessarily require implementation by different hardware units. Rather, as described above, the various units are combined in a codec hardware unit, including one or more processors described above, along with suitable software and/or firmware. It can be provided by a collection of operable hardware units.
[0160]様々な例が説明された。これらおよび他の例は以下の特許請求の範囲内に入る。 [0160] Various examples have been described. These and other examples are within the scope of the following claims.
Claims (41)
パケット損失シグナリング機構を示すデータを受信することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中に設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
前記パケット損失シグナリング機構のうちの前記少なくとも1つを使用してパケットの損失を検出することと、前記損失したパケットは、消失したメディアデータを含み、
前記ファイル配信ヘッダの情報を使用して、前記消失したメディアデータについてのバイト範囲要求を生成することと、
適切なメディアオブジェクトをメディアアプリケーションに配信することと、
を備える、方法。 A method of retrieving media data comprising:
receiving data indicative of a packet loss signaling mechanism, the packet loss signaling mechanism indicating that segments are sent in chunks, that transport object identifiers (TOIs) are contiguous, or that objects assigned to TOIs are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
detecting loss of packets using the at least one of the packet loss signaling mechanisms, the lost packets containing lost media data;
generating a byte range request for the lost media data using information in the file delivery header;
delivering the appropriate media object to the media application;
A method.
メディアデータを記憶するように構成されたメモリと、
回路中に実装された1つまたは複数のプロセッサと、を備え、前記1つまたは複数のプロセッサは、
パケット損失シグナリング機構を示すデータを受信することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
前記パケット損失シグナリング機構のうちの前記少なくとも1つを使用してパケットの損失を検出することと、前記損失したパケットは、消失したメディアデータを含み、
前記ファイル配信ヘッダの情報を使用して、前記消失したメディアデータについてのバイト範囲要求を生成することと、
適切なメディアオブジェクトをメディアアプリケーションに配信することと、
を行うように構成された、デバイス。 A device for retrieving media data, said device comprising:
a memory configured to store media data;
and one or more processors implemented in a circuit, the one or more processors comprising:
receiving data indicative of a packet loss signaling mechanism, the packet loss signaling mechanism indicating that segments are sent in chunks, that transport object identifiers (TOIs) are contiguous, or that objects assigned to TOIs are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
detecting loss of packets using the at least one of the packet loss signaling mechanisms, the lost packets containing lost media data;
generating a byte range request for the lost media data using information in the file delivery header;
delivering the appropriate media object to the media application;
A device configured to
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス、
のうちの少なくとも1つを備える、請求項14に記載のデバイス。 The device is
integrated circuit,
microprocessors, or wireless communication devices,
15. The device of claim 14, comprising at least one of:
パケット損失シグナリング機構を示すデータを受信することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
前記パケット損失シグナリング機構のうちの前記少なくとも1つを使用してパケットの損失を検出することと、前記損失したパケットが、消失したメディアデータを含み、
前記ファイル配信ヘッダの情報を使用して、前記消失したメディアデータについてのバイト範囲要求を生成することと、
適切なメディアオブジェクトをメディアアプリケーションに配信することと、
を行わせる、コンピュータ可読記憶媒体。 A computer-readable storage medium storing instructions that, when executed, cause a processor to:
receiving data indicative of a packet loss signaling mechanism, the packet loss signaling mechanism indicating that segments are sent in chunks, that transport object identifiers (TOIs) are contiguous, or that objects assigned to TOIs are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
detecting loss of packets using the at least one of the packet loss signaling mechanisms, the lost packets comprising lost media data;
generating a byte range request for the lost media data using information in the file delivery header;
delivering the appropriate media object to the media application;
A computer-readable storage medium that causes
パケット損失シグナリング機構を示すデータを受信するための手段と、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
前記パケット損失シグナリング機構のうちの前記少なくとも1つを使用してパケットの損失を検出するための手段と、前記損失したパケットは、消失したメディアデータを含み、
前記ファイル配信ヘッダの情報を使用して、前記消失したメディアデータについてのバイト範囲要求を生成するための手段と、
適切なメディアオブジェクトをメディアアプリケーションに配信するための手段と、
を備える、デバイス。 A device for retrieving media data, comprising:
means for receiving data indicating a packet loss signaling mechanism; at least one of a last packet of an object having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
means for detecting loss of packets using said at least one of said packet loss signaling mechanisms, said lost packets comprising lost media data;
means for generating a byte range request for the lost media data using information in the file delivery header;
means for delivering appropriate media objects to media applications;
A device comprising:
パケット損失シグナリング機構を示すデータを送出することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと、
損失した前記パケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと、
前記バイト範囲要求に応答して、前記ユニキャストプロトコルを介して前記クライアントデバイスに前記バイト範囲の前記メディアデータを送出することと、
を備える、方法。 A method of transmitting media data, comprising:
sending data indicating a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the objects assigned to the TOI are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
sending out one or more packets containing media data via a broadcast or multicast protocol;
receiving a byte range request from a client device via a unicast protocol indicating media data of one of the lost packets;
sending the byte range of the media data to the client device via the unicast protocol in response to the byte range request;
A method.
ビデオデータを記憶するように構成されたメモリと、
回路中に実装された1つまたは複数のプロセッサと、を備え、前記1つまたは複数のプロセッサは、
パケット損失シグナリング機構を示すデータを送出することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと、
損失した前記パケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと、
前記バイト範囲要求に応答して、前記ユニキャストプロトコルを介して前記クライアントデバイスに前記バイト範囲の前記メディアデータを送出することと、
を行うように構成された、デバイス。 A device for transmitting media data,
a memory configured to store video data;
and one or more processors implemented in a circuit, the one or more processors comprising:
sending data indicating a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the objects assigned to the TOI are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
sending out one or more packets containing media data via a broadcast or multicast protocol;
receiving a byte range request from a client device via a unicast protocol indicating media data of one of the lost packets;
sending the byte range of the media data to the client device via the unicast protocol in response to the byte range request;
A device configured to
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス、
のうちの少なくとも1つを備える、請求項32に記載のデバイス。 The device is
integrated circuit,
microprocessors, or wireless communication devices,
33. The device of claim 32, comprising at least one of:
パケット損失シグナリング機構を示すデータを送出することと、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出することと、
損失した前記パケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信することと、
前記バイト範囲要求に応答して、前記ユニキャストプロトコルを介して前記クライアントデバイスに前記バイト範囲の前記メディアデータを送出することと、
を行わせる、コンピュータ可読記憶媒体。 A computer-readable storage medium storing instructions that, when executed, cause a processor to:
sending data indicating a packet loss signaling mechanism, the packet loss signaling mechanism indicating that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the objects assigned to the TOI are contiguous; at least one of a last packet having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
sending out one or more packets containing media data via a broadcast or multicast protocol;
receiving a byte range request from a client device via a unicast protocol indicating media data of one of the lost packets;
sending the byte range of the media data to the client device via the unicast protocol in response to the byte range request;
A computer-readable storage medium that causes
パケット損失シグナリング機構を示すデータを送出するための手段と、前記パケット損失シグナリング機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、前記最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの少なくとも1つを備え、
ブロードキャストまたはマルチキャストプロトコルを介してメディアデータを含む1つまたは複数のパケットを送出するための手段と、
損失した前記パケットのうちの1つのメディアデータを示すバイト範囲要求を、ユニキャストプロトコルを介してクライアントデバイスから受信するための手段と、
前記バイト範囲要求に応答して、前記ユニキャストプロトコルを介して前記クライアントデバイスに前記バイト範囲の前記メディアデータを送出するための手段と、
を備える、デバイス。 A device for transmitting media data,
means for sending data indicating a packet loss signaling mechanism; at least one of a last packet of an object having a particular flag set in the header of said last packet, a base URL, a maximum latency, or a synchronization point in a file delivery header;
means for sending one or more packets containing media data via a broadcast or multicast protocol;
means for receiving a byte range request from a client device via a unicast protocol indicating media data of one of said packets lost;
means for sending the byte range of the media data to the client device via the unicast protocol in response to the byte range request;
A device comprising:
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962908949P | 2019-10-01 | 2019-10-01 | |
US62/908,949 | 2019-10-01 | ||
US17/039,442 US11582125B2 (en) | 2019-10-01 | 2020-09-30 | Repair mechanism for adaptive bit rate multicast |
US17/039,442 | 2020-09-30 | ||
PCT/US2020/053766 WO2021067578A1 (en) | 2019-10-01 | 2020-10-01 | Repair mechanism for adaptive bit rate multicast |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022550528A true JP2022550528A (en) | 2022-12-02 |
JPWO2021067578A5 JPWO2021067578A5 (en) | 2023-09-13 |
Family
ID=75162533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022519195A Pending JP2022550528A (en) | 2019-10-01 | 2020-10-01 | Repair Mechanism for Adaptive Bitrate Multicast |
Country Status (10)
Country | Link |
---|---|
US (1) | US11582125B2 (en) |
EP (1) | EP4038889A1 (en) |
JP (1) | JP2022550528A (en) |
KR (1) | KR20220075325A (en) |
CN (1) | CN114430909A (en) |
CL (1) | CL2022000778A1 (en) |
CO (1) | CO2022003857A2 (en) |
IL (1) | IL290683A (en) |
TW (1) | TW202215853A (en) |
WO (1) | WO2021067578A1 (en) |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2122874A1 (en) * | 2007-01-09 | 2009-11-25 | Nokia Corporation | Method for supporting file versioning in mbms file repair |
US9654601B2 (en) * | 2011-03-14 | 2017-05-16 | Verizon Digital Media Services Inc. | Network connection hand-off and hand-back |
EP2774347A2 (en) | 2011-11-01 | 2014-09-10 | Qualcomm Incorporated | Content delivery system with allocation of source data and repair data among http servers |
US9900166B2 (en) * | 2013-04-12 | 2018-02-20 | Qualcomm Incorporated | Methods for delivery of flows of objects over broadcast/multicast enabled networks |
US9258747B2 (en) * | 2013-09-17 | 2016-02-09 | Intel IP Corporation | User equipment and methods for fast handover failure recovery in 3GPP LTE network |
GB2521845B (en) * | 2014-01-03 | 2021-07-07 | British Broadcasting Corp | Content delivery |
WO2015167200A1 (en) * | 2014-04-30 | 2015-11-05 | 엘지전자 주식회사 | Broadcast signal transmitting device, broadcast signal receiving device, broadcast signal transmitting method, and broadcast signal receiving method |
US20170055046A1 (en) * | 2014-05-21 | 2017-02-23 | Lg Electronics Inc. | Broadcast signal transmitting/receiving method and device |
US20160164943A1 (en) * | 2014-12-05 | 2016-06-09 | Qualcomm Incorporated | Transport interface for multimedia and file transport |
US9621618B2 (en) * | 2014-12-22 | 2017-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Packet analyzer device and method to measure a video quality of transmitted IP multicast media |
US10749930B2 (en) * | 2015-03-02 | 2020-08-18 | Qualcomm Incorporated | Indication for partial segment |
US11805467B2 (en) * | 2015-03-25 | 2023-10-31 | Comcast Cable Communications, Llc | Distributed content delivery for moving devices |
BR112019024070A2 (en) * | 2017-05-16 | 2020-06-02 | Telefonaktiebolaget Lm Ericsson (Publ) | MEDIA INGESTION AND DISTRIBUTION METHOD, MEDIA PACKAGING APPLIANCE, ORIGINAL SERVER, TERMINAL NODE, AND, CONTINUOUS MEDIA TRANSMISSION NETWORK |
US10904313B2 (en) * | 2017-06-20 | 2021-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Apparatuses, methods, computer programs, and computer program products for live uplink adaptive streaming |
GB201721847D0 (en) | 2017-12-22 | 2018-02-07 | Telecom Paris Tech | Priority map for media files |
EP3522498B1 (en) * | 2018-02-01 | 2020-08-26 | Broadpeak | A method for streaming an audio video content |
US10721287B2 (en) * | 2018-03-23 | 2020-07-21 | Verizon Patent And Licensing, Inc. | Real-time file repair |
WO2020104012A1 (en) * | 2018-11-19 | 2020-05-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Segment routing network |
-
2020
- 2020-09-30 US US17/039,442 patent/US11582125B2/en active Active
- 2020-10-01 EP EP20793888.7A patent/EP4038889A1/en active Pending
- 2020-10-01 JP JP2022519195A patent/JP2022550528A/en active Pending
- 2020-10-01 KR KR1020227009781A patent/KR20220075325A/en active Search and Examination
- 2020-10-01 CN CN202080067719.0A patent/CN114430909A/en active Pending
- 2020-10-01 WO PCT/US2020/053766 patent/WO2021067578A1/en active Application Filing
- 2020-10-05 TW TW109134480A patent/TW202215853A/en unknown
-
2022
- 2022-02-17 IL IL290683A patent/IL290683A/en unknown
- 2022-03-29 CL CL2022000778A patent/CL2022000778A1/en unknown
- 2022-03-30 CO CONC2022/0003857A patent/CO2022003857A2/en unknown
Also Published As
Publication number | Publication date |
---|---|
US11582125B2 (en) | 2023-02-14 |
KR20220075325A (en) | 2022-06-08 |
CN114430909A (en) | 2022-05-03 |
TW202215853A (en) | 2022-04-16 |
EP4038889A1 (en) | 2022-08-10 |
US20210099371A1 (en) | 2021-04-01 |
CO2022003857A2 (en) | 2022-04-19 |
IL290683A (en) | 2022-04-01 |
CL2022000778A1 (en) | 2023-01-20 |
WO2021067578A1 (en) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6770000B2 (en) | DASH client QoE metric middleware distribution | |
CN107810624B (en) | Method, apparatus and computer-readable storage medium for retrieving media data | |
US20160337424A1 (en) | Transferring media data using a websocket subprotocol | |
US20180176278A1 (en) | Detecting and signaling new initialization segments during manifest-file-free media streaming | |
EP3791601A1 (en) | Signaling, in a media segment, missing sections of media data for network streaming | |
US11843840B2 (en) | Random access at resync points of DASH segments | |
US11184665B2 (en) | Initialization set for network streaming of media data | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
US11582125B2 (en) | Repair mechanism for adaptive bit rate multicast | |
US11943501B2 (en) | Dynamic resolution change hints for adaptive streaming | |
US20210344992A1 (en) | Calculating start time availability for streamed media data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230904 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241001 |