[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2022550528A - Repair Mechanism for Adaptive Bitrate Multicast - Google Patents

Repair Mechanism for Adaptive Bitrate Multicast Download PDF

Info

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
Application number
JP2022519195A
Other languages
Japanese (ja)
Other versions
JPWO2021067578A5 (en
Inventor
ストックハマー、トーマス
ジア、ワカール
ブアジジ、イメード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2022550528A publication Critical patent/JP2022550528A/en
Publication of JPWO2021067578A5 publication Critical patent/JPWO2021067578A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control 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/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content 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/26233Content 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

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

優先権の主張priority claim

[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, Part 10, Advanced Video Coding (AVC), ITU-T H.264 (also called High Efficiency Video Coding (HEVC)). implement video compression techniques, such as the video compression techniques described in the standards defined by H.265, and extensions to such standards.

[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.

[0015]ネットワークを介してメディアデータをストリーミングするための技法を実装する例示的なシステムを示すブロック図。[0015] FIG. 2 is a block diagram illustrating an exemplary system that implements techniques for streaming media data over a network. [0016]クライアントデバイスの取出しユニットの構成要素の例示的なセットを示すブロック図。[0016] FIG. 2 is a block diagram illustrating an exemplary set of components of a retrieval unit of a client device; [0017]例示的なマルチメディアコンテンツの要素を示す概念図。[0017] FIG. 1 is a conceptual diagram illustrating elements of exemplary multimedia content. [0018]セグメントに対応し得る、例示的なビデオファイルの要素を示すブロック図。[0018] FIG. 4 is a block diagram illustrating elements of an exemplary video file that may correspond to segments; [0019]本開示の技法による、送出機(sender)と受信機とを含む例示的なシステムを示す概念図。[0019] FIG. 1 is a conceptual diagram illustrating an example system including a sender and a receiver, in accordance with the techniques of this disclosure. [0020]本開示の技法による、例示的な方法を示すフローチャート。[0020] A flowchart illustrating an exemplary method, in accordance with the techniques of this disclosure.

[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 exemplary system 10 that implements techniques for streaming media data over a network. In this example, system 10 includes content preparation device 20 , server device 60 and client device 40 . Client device 40 and server device 60 are communicatively coupled by network 74, which may comprise the Internet. In some examples, content creation device 20 and server device 60 may also be coupled by network 74 or another network, or may be directly communicatively coupled. In some examples, content creation device 20 and server device 60 may comprise the same device.

[0041]コンテンツ作成デバイス20は、図1の例では、オーディオソース22とビデオソース24とを備える。オーディオソース22は、たとえば、オーディオエンコーダ26によって符号化されるべき、キャプチャされたオーディオデータを表す電気信号を生成するマイクロフォンを備え得る。代替的に、オーディオソース22は、前に記録されたオーディオデータを記憶する記憶媒体、コンピュータ化シンセサイザなどのオーディオデータ生成器、またはオーディオデータの任意の他のソースを備え得る。ビデオソース24は、ビデオエンコーダ28によって符号化されるべきビデオデータを生成するビデオカメラ、前に記録されたビデオデータで符号化された記憶媒体、コンピュータグラフィックスソースなどのビデオデータ生成ユニット、またはビデオデータの任意の他のソースを備え得る。コンテンツ作成デバイス20は、必ずしもすべての例においてサーバデバイス60に通信可能に結合されるとは限らないが、サーバデバイス60によって読み取られる別個の媒体にマルチメディアコンテンツを記憶し得る。 [0041] Content creation device 20 comprises audio source 22 and video source 24 in the example of FIG. Audio source 22 may comprise, for example, a microphone that produces electrical signals representing captured audio data to be encoded by audio encoder 26 . Alternatively, audio source 22 may comprise a storage medium storing previously recorded audio data, an audio data generator such as a computerized synthesizer, or any other source of audio data. Video source 24 may be a video data generating unit such as a video camera that produces video data to be encoded by video encoder 28, a storage medium encoded with previously recorded video data, a computer graphics source, or a video Any other source of data may be provided. Content creation device 20 may store multimedia content on separate media that is read by server device 60, although it is not necessarily communicatively coupled to server device 60 in all instances.

[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 audio encoder 26 and/or video encoder 28 . Audio source 22 may acquire audio data from call participants while they are speaking, while video source 24 may acquire video data of the call participants. In other examples, audio source 22 may comprise a computer-readable storage medium with stored audio data, and video source 24 may comprise a computer-readable storage medium with stored video data. In this manner, the techniques described in this disclosure may be applied to live, streaming, real-time audio and video data, or archived, pre-recorded audio and video data.

[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 video source 24 contained within the video frames. is an audio frame containing audio data that has been processed). For example, audio source 22 captures audio data while call participants generally generate audio data by speaking, and video source 24 simultaneously captures audio data, i.e., while audio source 22 captures audio data, the call participants to capture the video data of Thus, an audio frame may temporally correspond to one or more specific video frames. Accordingly, an audio frame corresponding to a video frame is generally a situation in which audio and video data were captured simultaneously, and a situation in which the audio and video frames comprise simultaneously captured audio and video data, respectively. corresponds to

[0044]いくつかの例では、オーディオエンコーダ26は、符号化オーディオフレームについてのオーディオデータが記録された時間を表す、各符号化オーディオフレームにおけるタイムスタンプを符号化し得、同様に、ビデオエンコーダ28は、符号化ビデオフレームについてのビデオデータが記録された時間を表す、各符号化ビデオフレームにおけるタイムスタンプを符号化し得る。そのような例では、ビデオフレームに対応するオーディオフレームは、タイムスタンプを備えるオーディオフレームと、同じタイムスタンプを備えるビデオフレームとを備え得る。コンテンツ作成デバイス20は、オーディオエンコーダ26および/またはビデオエンコーダ28がそこからタイムスタンプを生成し得るか、あるいはオーディオソース22およびビデオソース24がオーディオデータとビデオデータとをそれぞれタイムスタンプに関連付けるために使用し得る、内部クロックを含み得る。 [0044] In some examples, audio encoder 26 may encode a timestamp in each encoded audio frame that represents the time the audio data for the encoded audio frame was recorded; , may encode a timestamp in each encoded video frame that represents the time the video data for the encoded video frame was recorded. In such examples, an audio frame corresponding to a video frame may comprise an audio frame with a timestamp and a video frame with the same timestamp. Content creation device 20 may generate timestamps from which audio encoder 26 and/or video encoder 28 may be generated, or may be used by audio source 22 and video source 24 to associate audio and video data with timestamps, respectively. may include an internal clock.

[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 audio encoder 26, and video source 24 may send data corresponding to the time the video data was recorded. may be sent to video encoder 28 . In some examples, audio encoder 26 encodes sequence identifiers in the encoded audio data to indicate the relative temporal order of the encoded audio data without necessarily indicating the absolute time at which the audio data was recorded. Similarly, video encoder 28 may use the sequence identifiers to indicate the relative temporal order of the encoded video data. Similarly, in some examples, sequence identifiers may be mapped with or otherwise correlated with timestamps.

[0046]オーディオエンコーダ26は概して符号化オーディオデータのストリームを生成し、ビデオエンコーダ28は符号化ビデオデータのストリームを生成する。データの各個々のストリームは(オーディオかビデオかにかかわらず)エレメンタリストリームと呼ばれることがある。エレメンタリストリームは、表現のデジタル的にコード化された(場合によっては圧縮された)単一の成分である。たとえば、表現のコード化ビデオまたはオーディオ部分はエレメンタリストリームであり得る。エレメンタリストリームは、ビデオファイル内にカプセル化される前に、パケット化エレメンタリストリーム(PES)に変換され得る。同じ表現内では、1つのエレメンタリストリームに属するPESパケットを他のものから区別するためにストリームIDが使用され得る。エレメンタリストリームの基本データ単位はパケット化エレメンタリストリーム(PES)パケットである。したがって、コード化ビデオデータは概してエレメンタリビデオストリームに対応する。同様に、オーディオデータは1つまたは複数のそれぞれのエレメンタリストリームに対応する。 [0046] Audio encoder 26 generally produces a stream of encoded audio data, and video encoder 28 produces a stream of encoded video data. Each individual stream of data (whether audio or video) is sometimes called an elementary stream. An elementary stream is a digitally encoded (possibly compressed) single component of a representation. For example, the coded video or audio portion of the presentation can be an elementary stream. Elementary streams may be converted to packetized elementary streams (PES) before being encapsulated within a video file. Within the same representation, a stream ID may be used to distinguish PES packets belonging to one elementary stream from others. The basic data unit of an elementary stream is a Packetized Elementary Stream (PES) packet. Thus, coded video data generally correspond to elementary video streams. Similarly, audio data corresponds to one or more respective elementary streams.

[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 video encoder 28 and an elementary stream comprising encoded audio data from audio encoder 26. and receive. In some examples, video encoder 28 and audio encoder 26 may each include a packetizer for forming PES packets from encoded data. In other examples, video encoder 28 and audio encoder 26 may each interface with respective packetizers for forming PES packets from encoded data. In yet another example, encapsulation unit 30 may include a packetizer for forming PES packets from encoded audio data and encoded video data.

[0051]ビデオエンコーダ28は、様々なビットレートにおいて、ならびにピクセル解像度、フレームレート、様々なコーディング規格への準拠、様々なコーディング規格のための様々なプロファイルおよび/またはプロファイルのレベルへの準拠、(たとえば、2次元または3次元再生のための)1つまたは複数のビューを有する表現、あるいは他のそのような特性などの様々な特性を用いてマルチメディアコンテンツの異なる表現を生成するために、様々な方法でマルチメディアコンテンツのビデオデータを符号化し得る。本開示で使用される、表現は、オーディオデータ、ビデオデータ、(たとえば、字幕のための)テキストデータ、または他のそのようなデータのうちの1つを備え得る。表現は、オーディオエレメンタリストリームまたはビデオエレメンタリストリームなど、エレメンタリストリームを含み得る。各PESパケットは、PESパケットが属するエレメンタリストリームを識別するstream_idを含み得る。カプセル化ユニット30は、エレメンタリストリームを様々な表現のビデオファイル(たとえば、セグメント)にアセンブルすることを担う。 [0051] Video encoder 28 operates at various bitrates, as well as pixel resolutions, frame rates, compliance with various coding standards, compliance with various profiles and/or levels of profiles for various coding standards, ( For example, to generate different representations of multimedia content with different properties, such as representations having one or more views (for two-dimensional or three-dimensional playback), or other such properties. can encode video data for multimedia content in a variety of ways. A representation, as used in this disclosure, may comprise one of audio data, video data, text data (eg, for subtitles), or other such data. A representation may include elementary streams, such as audio elementary streams or video elementary streams. Each PES packet may contain a stream_id that identifies the elementary stream to which the PES packet belongs. The encapsulation unit 30 is responsible for assembling the elementary streams into different representations of video files (eg segments).

[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 audio encoder 26 and video encoder 28 and forms corresponding network abstraction layer (NAL) units from the PES packets. Coded video segments may be organized into NAL units that provide a “network-friendly” video presentation that addresses applications such as video telephony, storage, broadcasting, or streaming. NAL units may be classified into video coding layer (VCL) NAL units and non-VCL NAL units. A VCL unit may contain the core compression engine and may contain block, macroblock, and/or slice level data. Other NAL units may be non-VCL NAL units. In some examples, a coded picture during one temporal instance, typically presented as a primary coded picture, may be contained in an access unit that may contain one or more NAL units. .

[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 output interface 32 along with a manifest file (eg, MPD). Output interface 32 may be a universal serial bus (USB) interface, a network interface or interface for writing to storage media, such as a CD or DVD writer or burner, an interface to magnetic or flash storage media, or for storing or transmitting media data. may have other interfaces for Encapsulation unit 30 may provide data for each representation of the multimedia content to output interface 32, which may send the data to server device 60 via network transmission or storage media. In the example of FIG. 1, server device 60 includes storage medium 62 that stores various multimedia content 64, each including a respective manifest file 66 and one or more representations 68A-68N (representation 68). . In some examples, output interface 32 may also send data directly to network 74 .

[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] Manifest file 66 may contain data that indicates a subset of representations 68 that correspond to a particular adaptation set, as well as common characteristics for adaptation sets. Manifest file 66 may also include data representing individual characteristics for individual representations of the adaptation set, such as bitrate. In this way, the adaptation set may enable simplified network bandwidth adaptation. Expressions in the adaptation set may be indicated using child elements of the adaptation set element of manifest file 66 .

[0058]サーバデバイス60は、要求処理ユニット70とネットワークインターフェース72とを含む。いくつかの例では、サーバデバイス60は複数のネットワークインターフェースを含み得る。さらに、サーバデバイス60の特徴のうちのいずれかまたはすべてが、ルータ、ブリッジ、プロキシデバイス、スイッチ、または他のデバイスなど、コンテンツ配信ネットワークの他のデバイス上で実装され得る。いくつかの例では、コンテンツ配信ネットワークの中間デバイスは、マルチメディアコンテンツ64のデータをキャッシュし、サーバデバイス60の構成要素に実質的に準拠する構成要素を含み得る。概して、ネットワークインターフェース72は、ネットワーク74を介してデータを送出し、受信するように構成される。 [0058] Server device 60 includes a request processing unit 70 and a network interface 72 . In some examples, server device 60 may include multiple network interfaces. Additionally, any or all of the features of server device 60 may be implemented on other devices of the content distribution network, such as routers, bridges, proxy devices, switches, or other devices. In some examples, intermediate devices of the content distribution network may include components that cache data for multimedia content 64 and substantially conform to components of server device 60 . Network interface 72 is generally configured to send and receive data over network 74 .

[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などの要求元デバイスに与えるために要求を処理するように構成され得る。 Request processing unit 70 is configured to receive network requests for data on storage medium 62 from client devices, such as client device 40 . For example, request processing unit 70 may use R.I. Fielding et al., RFC 2616, "Hypertext Transfer Protocol—HTTP/1.1", Network Working Group, IETF, June 1999, may implement the Hypertext Transfer Protocol (HTTP) version 1.1. That is, request processing unit 70 may be configured to receive HTTP GET requests or partial GET requests and provide data for multimedia content 64 in response to these requests. The request may specify a segment of representation 68 using, for example, the segment's URL. In some examples, the request may also specify one or more byte ranges of the segment, thus comprising a partial GET request. Request processing unit 70 may be further configured to service HTTP HEAD requests to provide header data for one segment of representation 68 . In either case, request processing unit 70 may be configured to process the request to provide the requested data to the requesting device, such as client device 40 .

[0060]追加または代替として、要求処理ユニット70は、eMBMSなどのブロードキャストまたはマルチキャストプロトコルを介してメディアデータを配信するように構成され得る。コンテンツ作成デバイス20は、説明された方法と実質的に同じ方法でDASHセグメントおよび/またはサブセグメントを作成し得るが、サーバデバイス60は、eMBMSあるいは別のブロードキャストまたはマルチキャストネットワークトランスポートプロトコルを使用して、これらのセグメントまたはサブセグメントを配信し得る。たとえば、要求処理ユニット70は、クライアントデバイス40からマルチキャストグループ加入要求を受信するように構成され得る。すなわち、サーバデバイス60は、マルチキャストグループに関連付けられたインターネットプロトコル(IP)アドレスを、クライアントデバイス40を含む、特定のメディアコンテンツ(たとえば、ライブイベントのブロードキャスト)に関連付けられたクライアントデバイスに広告し得る。クライアントデバイス40は、マルチキャストグループに加入するための要求をサブミットし得る。この要求は、ネットワーク74、たとえば、ネットワーク74を構成するルータ全体にわたって伝搬され得、その結果、ルータは、マルチキャストグループに関連付けられたIPアドレスに宛てられたトラフィックを、クライアントデバイス40など、サブスクライブするクライアントデバイスに向けさせられる。 [0060] Additionally or alternatively, request processing unit 70 may be configured to deliver media data via a broadcast or multicast protocol such as eMBMS. Content creation device 20 may create DASH segments and/or subsegments in substantially the same manner as described, but server device 60 may use eMBMS or another broadcast or multicast network transport protocol. , may deliver these segments or sub-segments. For example, request processing unit 70 may be configured to receive multicast group join requests from client devices 40 . That is, server device 60 may advertise the Internet Protocol (IP) address associated with the multicast group to client devices associated with particular media content (eg, live event broadcasts), including client device 40 . A client device 40 may submit a request to join the multicast group. This request may be propagated throughout the network 74, e.g., the routers that make up the network 74, so that the routers, such as client devices 40, subscribe to traffic destined for IP addresses associated with the multicast group. Pointed at the client device.

[0061]図1の例に示されているように、マルチメディアコンテンツ64は、メディアプレゼンテーション記述(MPD)に対応し得るマニフェストファイル66を含む。マニフェストファイル66は、異なる代替表現68(たとえば、異なる品質をもつビデオサービス)の記述を含んでいることがあり、その記述は、たとえば、表現68のコーデック情報、プロファイル値、レベル値、ビットレート、および他の記述特性を含み得る。クライアントデバイス40は、表現68のセグメントにどのようにアクセスすべきかを決定するためにメディアプレゼンテーションのMPDを取り出し得る。 [0061] As shown in the example of Figure 1, multimedia content 64 includes a manifest file 66, which may correspond to a Media Presentation Description (MPD). Manifest file 66 may contain descriptions of different alternative representations 68 (e.g., video services with different qualities), which may include, for example, representation 68 codec information, profile values, level values, bitrates, and other descriptive properties. Client device 40 may retrieve the MPD of the media presentation to determine how segments of representation 68 should be accessed.

[0062]特に、取出しユニット52は、ビデオデコーダ48の復号能力とビデオ出力44のレンダリング能力とを決定するために、クライアントデバイス40の構成データ(図示せず)を取り出し得る。構成データはまた、クライアントデバイス40のユーザによって選択された言語の選好、クライアントデバイス40のユーザによって設定された深度の選好に対応する1つまたは複数のカメラパースペクティブ、および/またはクライアントデバイス40のユーザによって選択されたレーティングの選好のうちのいずれかまたはすべてを含み得る。取出しユニット52は、たとえば、HTTP GET要求と部分GET要求とをサブミットするように構成されたウェブブラウザまたはメディアクライアントを備え得る。取出しユニット52は、クライアントデバイス40の1つまたは複数のプロセッサまたは処理ユニット(図示せず)によって実行されるソフトウェア命令に対応し得る。いくつかの例では、取出しユニット52に関して説明される機能のすべてまたは部分が、ハードウェア、あるいはハードウェア、ソフトウェア、および/またはファームウェアの組合せで実装され得、ソフトウェアまたはファームウェアのための命令を実行するために、必須のハードウェアが与えられ得る。 In particular, retrieval unit 52 may retrieve configuration data (not shown) of client device 40 to determine the decoding capabilities of video decoder 48 and the rendering capabilities of video output 44 . The configuration data may also include language preferences selected by the user of client device 40, one or more camera perspectives corresponding to depth preferences set by the user of client device 40, and/or Any or all of the selected rating preferences may be included. Retrieval unit 52 may, for example, comprise a web browser or media client configured to submit HTTP GET requests and partial GET requests. Retrieval unit 52 may correspond to software instructions executed by one or more processors or processing units (not shown) of client device 40 . In some examples, all or portions of the functionality described with respect to fetch unit 52 may be implemented in hardware, or a combination of hardware, software, and/or firmware, executing instructions for software or firmware. For this purpose, the required hardware can be provided.

[0063]取出しユニット52は、クライアントデバイス40の復号能力およびレンダリング能力を、マニフェストファイル66の情報によって示される表現68の特性と比較し得る。取出しユニット52は、最初に、表現68の特性を決定するためにマニフェストファイル66の少なくとも一部分を取り出し得る。たとえば、取出しユニット52は、1つまたは複数の適応セットの特性を記述するマニフェストファイル66の一部分を要求し得る。取出しユニット52は、クライアントデバイス40のコーディング能力およびレンダリング能力によって満たされ得る特性を有する表現68のサブセット(たとえば、適応セット)を選択し得る。次いで、取出しユニット52は、適応セット中の表現のためのビットレートを決定し、ネットワーク帯域幅の現在利用可能な量を決定し、ネットワーク帯域幅によって満たされ得るビットレートを有する表現のうちの1つからセグメントを取り出し得る。 [0063] Retrieval unit 52 may compare the decoding and rendering capabilities of client device 40 to characteristics of representation 68 indicated by information in manifest file 66. FIG. Retrieval unit 52 may first retrieve at least a portion of manifest file 66 to determine characteristics of representation 68 . For example, retrieval unit 52 may request a portion of manifest file 66 that describes characteristics of one or more adaptation sets. Retrieval unit 52 may select a subset (eg, an adaptation set) of representations 68 that has characteristics that can be satisfied by the coding and rendering capabilities of client device 40 . Retrieval unit 52 then determines the bitrates for the representations in the adaptation set, determines the currently available amount of network bandwidth, and determines one of the representations with bitrates that can be satisfied by the network bandwidth. You can pick a segment from

[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, retrieval unit 52 may retrieve data from relatively high bitrate representations, but when the available network bandwidth is low, retrieval unit 52 may retrieve data from relatively low bitrate representations. Data can be retrieved from the expression. In this manner, client device 40 may stream multimedia data over network 74 while also adapting to changing network bandwidth availability of network 74 .

[0065]追加または代替として、取出しユニット52は、eMBMSまたはIPマルチキャストなどのブロードキャストまたはマルチキャストネットワークプロトコルに従ってデータを受信するように構成され得る。そのような例では、取出しユニット52は、特定のメディアコンテンツに関連付けられたマルチキャストネットワークグループに加入するための要求をサブミットし得る。マルチキャストグループに加入した後に、取出しユニット52は、サーバデバイス60またはコンテンツ作成デバイス20に発行されるさらなる要求なしに、マルチキャストグループのデータを受信し得る。取出しユニット52は、マルチキャストグループのデータがもはや必要とされないときに、たとえば、再生を停止するために、またはチャネルを異なるマルチキャストグループに変更するために、マルチキャストグループを離れるための要求をサブミットし得る。 [0065] Additionally or alternatively, retrieval unit 52 may be configured to receive data according to a broadcast or multicast network protocol such as eMBMS or IP multicast. In such examples, retrieval unit 52 may submit a request to join a multicast network group associated with particular media content. After joining the multicast group, retrieval unit 52 may receive the data of the multicast group without further requests issued to server device 60 or content creation device 20 . Retrieving unit 52 may submit a request to leave a multicast group when the data of the multicast group is no longer needed, for example, to stop playback or change the channel to a different multicast group.

[0066]ネットワークインターフェース54は、選択された表現のセグメントのデータを受信し、取出しユニット52に与え得、取出しユニット52は、そのセグメントをカプセル化解除ユニット50に与え得る。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送出し得る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送出し、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送出する。 [0066] Network interface 54 may receive and provide data for segments of the selected representation to retrieval unit 52 , which may provide the segments to decapsulation unit 50 . Decapsulation unit 50 decapsulates the elements of the video file into constituent PES streams and depacketizes the PES stream to retrieve the encoded data, e.g. The encoded data may be sent to either audio decoder 46 or video decoder 48, depending on whether the encoded data is part of an audio stream or a video stream. Audio decoder 46 decodes the encoded audio data and sends the decoded audio data to audio output 42, and video decoder 48 decodes the encoded video data and converts the decoded video data, which may include multiple views of the stream, into video. Send to output 44 .

[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] Video encoder 28, video decoder 48, audio encoder 26, audio decoder 46, encapsulation unit 30, retrieval unit 52, and decapsulation unit 50 each include, when applicable, one or more microprocessors; Any of a variety of suitable processing circuits such as digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic circuits, software, hardware, firmware, or any combination thereof. It can be implemented as either Video encoder 28 and video decoder 48 may each be included in one or more encoders or decoders, any of which may be integrated as part of a combined video encoder/decoder (codec). Similarly, audio encoder 26 and audio decoder 46 may each be included in one or more encoders or decoders, any of which may be integrated as part of a composite codec. Devices including video encoder 28, video decoder 48, audio encoder 26, audio decoder 46, encapsulation unit 30, detachment unit 52, and/or decapsulation unit 50 may be integrated circuits, microprocessors, and/or cellular telephones, and the like. wireless communication devices.

[0068]クライアントデバイス40、サーバデバイス60、および/またはコンテンツ作成デバイス20は、本開示の技法に従って動作するように構成され得る。例として、本開示は、クライアントデバイス40およびサーバデバイス60に関して、これらの技法について説明する。しかしながら、コンテンツ作成デバイス20は、サーバデバイス60の代わりに(またはそれに加えて)これらの技法を実施するように構成され得ることを理解されたい。 [0068] Client device 40, server device 60, and/or content creation device 20 may be configured to operate in accordance with the techniques of this disclosure. By way of example, this disclosure describes these techniques with respect to client device 40 and server device 60 . However, it should be understood that content creation device 20 may be configured to perform these techniques instead of (or in addition to) server device 60 .

[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 video encoder 28 in the form of PES packets of elementary streams. Encapsulation unit 30 may associate each elementary stream with a corresponding program.

[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 manifest file 66 . Client device 40 may retrieve the MPD of the media presentation to determine how to access movie fragments of various presentations. A movie fragment can be in a movie fragment box (moof box) of a video file.

[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, retrieval unit 52 of client device 40 may determine when each segment is available based on the start time as well as the duration of the segments preceding the particular segment.

[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 output interface 32 for output. In some examples, encapsulation unit 30 either stores the video file locally or sends the video file to a remote server via output interface 32 rather than sending the video file directly to client device 40. can. Output interface 32 includes, for example, transmitters, transceivers, devices for writing data to computer readable media, such as optical drives, magnetic media drives (e.g., floppy drives), universal serial bus (USB) ports. , a network interface, or other output interface. Output interface 32 outputs the video file to a computer readable medium, such as a transmission signal, magnetic media, optical media, memory, flash drive, or other computer readable medium.

[0075]ネットワークインターフェース54は、ネットワーク74を介してNALユニットまたはアクセスユニットを受信し、取出しユニット52を介してNALユニットまたはアクセスユニットをカプセル化解除ユニット50に与え得る。カプセル化解除ユニット50は、ビデオファイルの要素を構成PESストリームにカプセル化解除し、符号化データを取り出すためにPESストリームをパケット化解除し、たとえば、ストリームのPESパケットヘッダによって示されるように、符号化データがオーディオストリームの一部であるのかビデオストリームの一部であるのかに応じて、符号化データをオーディオデコーダ46またはビデオデコーダ48のいずれかに送出し得る。オーディオデコーダ46は、符号化オーディオデータを復号し、復号オーディオデータをオーディオ出力42に送出し、ビデオデコーダ48は、符号化ビデオデータを復号し、ストリームの複数のビューを含み得る復号ビデオデータをビデオ出力44に送出する。 Network interface 54 may receive NAL units or access units via network 74 and provide NAL units or access units to decapsulation unit 50 via retrieval unit 52 . Decapsulation unit 50 decapsulates the elements of the video file into constituent PES streams and depacketizes the PES stream to retrieve the encoded data, e.g. The encoded data may be sent to either audio decoder 46 or video decoder 48, depending on whether the encoded data is part of an audio stream or a video stream. Audio decoder 46 decodes the encoded audio data and sends the decoded audio data to audio output 42, and video decoder 48 decodes the encoded video data and converts the decoded video data, which may include multiple views of the stream, into video. Send to output 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, server device 60 may signal a packet loss detection mechanism over the control channel between server device 60 and client device 40 . The packet loss detection mechanism ensures that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the last packet of the object assigned to the TOI is set in the header of the last packet. It may include one or more of: having a specific flag, base URL, maximum latency, or synchronization points in the file delivery header.

[0077]クライアントデバイス40は、次いで、サーバデバイス60からのブロードキャストまたはマルチキャストストリーム中のパケットが損失したかどうかを決定するために、(1つまたは複数の)シグナリングされたパケット損失検出機構を実施し得る。1つまたは複数のパケットが損失したと決定したことに応答して、取出しユニット52は、損失したパケットのメディアデータを含むセグメントの(1つまたは複数の)バイト範囲を指定する1つまたは複数のバイト範囲要求(すなわち、HTTP部分Get要求)を形成し得る。取出しユニット52は、次いで、ユニキャストプロトコル、たとえばHTTPを介して、損失したメディアデータを取り出すことを試みるために、これらのバイト範囲要求をサーバデバイス60にサブミットし得る。 [0077] Client device 40 then implements a signaled packet loss detection mechanism(s) to determine if packets in the broadcast or multicast stream from server device 60 have been lost. obtain. In response to determining that one or more packets have been lost, retrieval unit 52 generates one or more byte ranges specifying the byte range(s) of the segment containing the media data of the lost packets. A byte-range request (ie, an HTTP partial Get request) may be formed. Retrieval unit 52 may then submit these byte range requests to server device 60 to attempt to retrieve the lost media data via a unicast protocol, such as HTTP.

[0078]いくつかの例では、サーバデバイス60は、パケット間タイムアウト値をシグナリングし得る。クライアントデバイス40(および特に、取出しユニット52)は、パケット間タイムアウト値を使用して、パケットが損失したかどうかを決定し得る、たとえば、パケットが、メディアストリームの前のパケットの受信以来、パケット間タイムアウト間隔内に受信されなかった場合。パケット間タイムアウト値は、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に対応し得る。サーバデバイス60は、たとえば、ファイル配信テーブル(FDT)、拡張FDT(eFDT)において、あるいは制御プレーンサービスまたはセッションメタデータ中で、パケット間タイムアウト値をシグナリングし得る。したがって、クライアントデバイス40は、このデータからパケット間タイムアウト値を抽出し得る。 [0078] In some examples, server device 60 may signal an inter-packet timeout value. Client device 40 (and in particular retrieval unit 52) may use the inter-packet timeout value to determine if a packet has been lost, e.g. if not received within the timeout interval. The inter-packet timeout value may correspond to a nominal Common Media Application Format (CMAF) chunk duration. Server device 60 may signal the inter-packet timeout value, for example, in a file delivery table (FDT), enhanced FDT (eFDT), or in control plane services or session metadata. Accordingly, client device 40 may extract the inter-packet timeout value from this data.

[0079]損失したメディアデータが受信されたか否かにかかわらず、取出しユニット52は、カプセル化解除ユニット50に配信されるべき、および、最終的に、オーディオデコーダ46および/またはビデオデコーダ48に配信されるべき適切なメディアオブジェクトを形成し得る。適切なメディアオブジェクトは、概して、カプセル化解除ユニット50、オーディオデコーダ46、およびビデオデコーダ48によってパース可能(parseable)および復号可能であり得る。適切なメディアオブジェクトは、依然として、(1つまたは複数の)損失したパケットのメディアデータの一部を消失していることがあるが、それにもかかわらず、パース可能および復号可能であり得る。 [0079] Regardless of whether or not lost media data is received, retrieval unit 52 should be delivered to decapsulation unit 50, and ultimately to audio decoder 46 and/or video decoder 48. can form an appropriate media object to be rendered. Suitable media objects may generally be parseable and decodable by decapsulation unit 50 , audio decoder 46 , and video decoder 48 . A suitable media object may still be missing some of the media data of the lost packet(s), but may nevertheless be parsable and decodable.

[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 takeout unit 52 of FIG. In this example, retrieval unit 52 includes eMBMS middleware unit 100 , DASH client 110 and media application 112 .

[0081]この例では、eMBMSミドルウェアユニット100は、eMBMS受信ユニット106と、キャッシュ104と、プロキシサーバユニット102とをさらに含む。この例では、eMBMS受信ユニット106は、たとえば、FLUTEに従って、eMBMSを介してデータを受信するように構成される。すなわち、eMBMS受信ユニット106は、たとえば、ブロードキャスト/マルチキャストサービスセンター(BM-SC)として働き得るサーバデバイス60から、ブロードキャストを介してファイルを受信し得る。 [0081] In this example, the eMBMS middleware unit 100 further includes an eMBMS receiving unit 106, a cache 104, and a proxy server unit 102. In this example, the eMBMS receiving unit 106 is configured to receive data via eMBMS, eg according to FLUTE. That is, the eMBMS receiving unit 106 may receive files via broadcast from a server device 60, which may act as a Broadcast/Multicast Service Center (BM-SC), for example.

[0082]eMBMSミドルウェアユニット100がファイルについてのデータを受信したとき、eMBMSミドルウェアユニットは、受信されたデータをキャッシュ104に記憶し得る。キャッシュ104は、フラッシュメモリ、ハードディスク、RAM、または任意の他の好適な記憶媒体など、コンピュータ可読記憶媒体を備え得る。 [0082] When the eMBMS middleware unit 100 receives data for a file, the eMBMS middleware unit may store the received data in cache 104. FIG. Cache 104 may comprise a computer-readable storage medium such as flash memory, hard disk, RAM, or any other suitable storage medium.

[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] Proxy server unit 102 may act as a server for DASH client 110 . For example, proxy server unit 102 may provide DASH client 110 with an MPD file or other manifest file. The proxy server unit 102 may advertise availability times for segments in the MPD file, as well as hyperlinks from which the segments can be retrieved. These hyperlinks may include a local host address prefix corresponding to client device 40 (eg, 127.0.0.1 for IPv4). In this manner, DASH client 110 may request segments from proxy server unit 102 using HTTP GET requests or partial GET requests. For example, for a segment available from the link http://127.0.0.1/rep1/seg3, DASH client 110 makes a request for http://127.0.0.1/rep1/seg3. construct an HTTP GET request containing the request and submit the request to the proxy server unit 102 . Proxy server unit 102 may retrieve requested data from cache 104 and provide the data to DASH client 110 in response to such requests.

[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 exemplary multimedia content 120. As shown in FIG. Multimedia content 120 may correspond to multimedia content 64 ( FIG. 1 ) or other multimedia content stored on storage medium 62 . In the example of FIG. 3, multimedia content 120 includes a media presentation description (MPD) and multiple presentations 124A-124N (representation 124). Representation 124A includes optional header data 126 and segments 128A-128N (segment 128), and representation 124N includes optional header data 130 and segments 132A-132N (segment 132). The letter N is used for convenience to designate the last movie fragment in each of representations 124 . In some examples, there may be different numbers of movie fragments between representations 124 .

[0085]MPD122は、表現124とは別個のデータ構造を備え得る。MPD122は図1のマニフェストファイル66に対応し得る。同様に、表現124は図1の表現68に対応し得る。概して、MPD122は、コーディング特性およびレンダリング特性、適応セット、MPD122が対応するプロファイル、テキストタイプ情報、カメラアングル情報、レーティング情報、トリックモード情報(たとえば、時間サブシーケンスを含む表現を示す情報)、ならびに/または(たとえば、再生中のメディアコンテンツへのターゲット広告挿入のための)リモート期間を取り出すための情報など、表現124の特性を概して記述するデータを含み得る。 [0085] MPD 122 may comprise a data structure separate from representation 124; MPD 122 may correspond to manifest file 66 of FIG. Similarly, representation 124 may correspond to representation 68 in FIG. In general, MPD 122 provides coding and rendering characteristics, adaptation sets, profiles that MPD 122 supports, text type information, camera angle information, rating information, trick mode information (e.g., information indicating representations that include temporal subsequences), and/or or may include data generally describing characteristics of representation 124, such as information for retrieving remote time periods (eg, for targeted ad insertion into the media content being played).

[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 . Header data 130, when present, may describe similar characteristics for segment 132. FIG. Additionally or alternatively, such features may be contained entirely within MPD 122 .

[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 MPD 122 data, but such data are not shown in the example of FIG. MPD 122 may include characteristics described by 3GPP specifications, with the addition of any or all of the signaled information described in this disclosure.

[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 client device 40 may use an HTTP GET request to retrieve segment 128 or 132 . In some examples, client device 40 may use an HTTP partial GET request to retrieve a particular byte range of segment 128 or 132 .

[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 exemplary video file 150 that may correspond to segments of a representation, such as one of segments 128, 132 of FIG. Each of the segments 128, 132 may contain data substantially conforming to the organization of data shown in the example of FIG. Video file 150 is sometimes said to encapsulate segments. As explained above, the ISO base media file format and its extension video files store data in a series of objects called "boxes". In the example of FIG. 4, the video file 150 includes a file type (FTYP) box 152, a movie (MOOV) box 154, a segment index (sidx) box 162, a movie fragment (MOOF) box 164, and a movie fragment random access box. (MFRA) box 166 . Although FIG. 4 represents an example video file, other media files may be other types of media data (e.g., , audio data, timed text data, etc.).

[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 video file 150 . File type box 152 may contain data identifying a specification that describes the best use of video file 150 . File type box 152 may alternatively be placed before MOOV box 154 , movie fragment box 164 , and/or MFRA box 166 .

[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 video file 150, may include an MPD update box (not shown) before the FTYP box 152. The MPD update box may contain information to update the MPD as well as information indicating that the MPD corresponding to the presentation containing the video file 150 should be updated. For example, the MPD update box may give the URI or URL for the resource that should be used to update the MPD. As another example, the MPD update box may contain data for updating the MPD. In some examples, the MPD update box may immediately follow a segment type (STYP) box (not shown) for video file 150, where the STYP box indicates the segment type for video file 150. can be defined.

[0092]MOOVボックス154は、図4の例では、ムービーヘッダ(MVHD)ボックス156と、トラック(TRAK)ボックス158と、1つまたは複数のムービー拡張(MVEX)ボックス160とを含む。概して、MVHDボックス156はビデオファイル150の一般的な特性を記述し得る。たとえば、MVHDボックス156は、ビデオファイル150が最初に作成されたとき、ビデオファイル150が最後に変更されたときを記述するデータ、ビデオファイル150についての時間スケール、ビデオファイル150についての再生の持続時間、またはビデオファイル150を概して記述する他のデータを含み得る。 [0092] MOOV boxes 154, in the example of FIG. Generally, MVHD box 156 may describe general characteristics of video file 150 . For example, the MVHD box 156 contains data describing when the video file 150 was first created, when the video file 150 was last modified, the time scale for the video file 150, the duration of playback for the video file 150 , or other data that generally describes the video file 150 .

[0093]TRAKボックス158は、ビデオファイル150のトラックについてのデータを含み得る。TRAKボックス158は、TRAKボックス158に対応するトラックの特性を記述するトラックヘッダ(TKHD)ボックスを含み得る。いくつかの例では、TRAKボックス158はコード化ビデオピクチャを含み得、他の例では、トラックのコード化ビデオピクチャは、TRAKボックス158および/またはsidxボックス162のデータによって参照され得るムービーフラグメント164中に含まれ得る。 [0093] The TRAK box 158 may contain data about the tracks of the video file 150. FIG. A TRAK box 158 may include a Track Header (TKHD) box that describes characteristics of the track corresponding to the TRAK box 158 . In some examples, the TRAK box 158 may contain coded video pictures, and in other examples, the coded video pictures of the tracks in the movie fragments 164 may be referenced by data in the TRAK box 158 and/or the sidx box 162. can be included in

[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 video file 150 may include more than one track. Therefore, MOOV box 154 may contain a number of TRAK boxes equal to the number of tracks in video file 150 . TRAK box 158 may describe characteristics of the corresponding track of video file 150 . For example, TRAK box 158 may describe temporal and/or spatial information for the corresponding track. When encapsulation unit 30 (FIG. 3) includes a parameter set track in a video file, such as video file 150, a TRAK box similar to TRAK box 158 of MOOV box 154 may describe the characteristics of the parameter set track. Encapsulation unit 30 may signal the presence of a sequence level SEI message in a parameter set track within a TRAK box that describes the parameter set track.

[0095]MVEXボックス160は、たとえば、もしあれば、MOOVボックス154内に含まれるビデオデータに加えて、ムービーフラグメント164をビデオファイル150が含むことをシグナリングするように、対応するムービーフラグメント164の特性を記述し得る。ビデオデータをストリーミングするコンテキストでは、コード化ビデオピクチャは、MOOVボックス154中ではなくムービーフラグメント164中に含まれ得る。したがって、すべてのコード化ビデオサンプルは、MOOVボックス154中ではなくムービーフラグメント164中に含まれ得る。 [0095] The MVEX box 160 may, for example, specify the properties of the corresponding movie fragment 164 to signal that the video file 150 contains the movie fragment 164 in addition to the video data contained within the MOOV box 154, if any. can be described. In the context of streaming video data, coded video pictures may be contained in movie fragments 164 rather than in MOOV boxes 154 . Therefore, all coded video samples may be contained in movie fragment 164 rather than in MOOV box 154 .

[0096]MOOVボックス154は、ビデオファイル150中のムービーフラグメント164の数に等しいいくつかのMVEXボックス160を含み得る。MVEXボックス160の各々は、ムービーフラグメント164のうちの対応する1つの特性を記述し得る。たとえば、各MVEXボックスは、ムービーフラグメント164のうちの対応する1つについての持続時間を記述するムービー拡張ヘッダボックス(MEHD)ボックスを含み得る。 [0096] The MOOV box 154 may contain a number of MVEX boxes 160 equal to the number of movie fragments 164 in the video file 150. Each of MVEX boxes 160 may describe the properties of a corresponding one of movie fragments 164 . For example, each MVEX box may include a movie extension header box (MEHD) box that describes the duration for the corresponding one of movie fragments 164 .

[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 MVEX boxes 160 corresponding to one of movie fragments 164 . can be signaled as being in

[0098]SIDXボックス162は、ビデオファイル150の随意の要素である。すなわち、3GPPファイルフォーマット、または他のそのようなファイルフォーマットに準拠するビデオファイルは、必ずしもSIDXボックス162を含むとは限らない。3GPPファイルフォーマットの例によれば、SIDXボックスは、セグメント(たとえば、ビデオファイル150内に含まれているセグメント)のサブセグメントを識別するために使用され得る。3GPPファイルフォーマットは、サブセグメントを、「対応する(1つまたは複数の)メディアデータボックスと、ムービーフラグメントボックスによって参照されるデータを含んでいるメディアデータボックスとをもつ、1つまたは複数の連続するムービーフラグメントボックスの独立型セットは、そのムービーフラグメントボックスに後続し、同じトラックに関する情報を含んでいる次のムービーフラグメントボックスに先行しなければならない」と定義している。3GPPファイルフォーマットはまた、SIDXボックスが、「ボックスによってドキュメント化される(サブ)セグメントのサブセグメントへの参照のシーケンスを含んでいる。参照されるサブセグメントはプレゼンテーション時間において隣接する。同様に、セグメントインデックスボックスによって参照されるバイトは常にセグメント内で隣接する。参照されるサイズは、参照される材料中のバイト数のカウントを与える」ことを示している。 [0098] SIDX box 162 is an optional element of video file 150 . That is, video files conforming to the 3GPP file format, or other such file formats, do not necessarily contain SIDX boxes 162 . According to an example 3GPP file format, SIDX boxes may be used to identify sub-segments of a segment (eg, a segment contained within video file 150). The 3GPP file format defines a subsegment as "one or more contiguous subsegments with corresponding Media Data Box(s) and Media Data Boxes containing data referenced by Movie Fragment boxes. A stand-alone set of movie fragment boxes must follow that movie fragment box and precede the next movie fragment box containing information about the same track." The 3GPP file format also states that a SIDX box "contains a sequence of references to sub-segments of the (sub-)segment documented by the box. The referenced sub-segments are adjacent in presentation time. Similarly, the segment Bytes referenced by an index box are always adjacent within a segment.The referenced size gives a count of the number of bytes in the referenced material.

[0099]SIDXボックス162は、概して、ビデオファイル150中に含まれるセグメントの1つまたは複数のサブセグメントを表す情報を与える。たとえば、そのような情報は、サブセグメントが開始および/または終了する再生時間、サブセグメントについてのバイトオフセット、サブセグメントがストリームアクセスポイント(SAP)を含む(たとえば、それで開始する)かどうか、SAPのためのタイプ(たとえば、SAPが瞬時デコーダリフレッシュ(IDR)ピクチャであるのか、クリーンランダムアクセス(CRA)ピクチャであるのか、切断リンクアクセス(BLA)ピクチャであるのかなど)、サブセグメント中の(再生時間および/またはバイトオフセットに関する)SAPの位置などを含み得る。 [0099] SIDX box 162 generally provides information representing one or more sub-segments of a segment contained in video file 150. FIG. For example, such information may include playback times at which the sub-segments begin and/or end, byte offsets for the sub-segments, whether the sub-segments include (eg, start at) a Stream Access Point (SAP), the SAP's for the type (e.g., whether the SAP is an instantaneous decoder refresh (IDR) picture, a clean random access (CRA) picture, a broken link access (BLA) picture, etc.), during the subsegment (playback time and/or location of the SAP (in terms of byte offset), etc.

[0100]ムービーフラグメント164は、1つまたは複数のコード化ビデオピクチャを含み得る。いくつかの例では、ムービーフラグメント164は1つまたは複数のピクチャグループ(GOP)を含み得、GOPの各々は、いくつかのコード化ビデオピクチャ、たとえば、フレームまたはピクチャを含み得る。さらに、上記で説明されたように、ムービーフラグメント164は、いくつかの例では、シーケンスデータセットを含み得る。ムービーフラグメント164の各々は、ムービーフラグメントヘッダボックス(MFHD、図4に図示せず)を含み得る。MFHDボックスは、ムービーフラグメントについてのシーケンス番号など、対応するムービーフラグメントの特性を記述し得る。ムービーフラグメント164は、ビデオファイル150中のシーケンス番号の順に含まれ得る。 [0100] Movie fragment 164 may include one or more coded video pictures. In some examples, movie fragment 164 may include one or more groups of pictures (GOPs), each of which may include a number of coded video pictures, eg, frames or pictures. Additionally, as explained above, movie fragments 164 may include sequence data sets in some examples. Each of movie fragments 164 may include a movie fragment header box (MFHD, not shown in FIG. 4). The MFHD box may describe properties of the corresponding movie fragment, such as the sequence number for the movie fragment. Movie fragments 164 may be included in sequence number order in video file 150 .

[0101]MFRAボックス166は、ビデオファイル150のムービーフラグメント164内のランダムアクセスポイントを記述し得る。これは、ビデオファイル150によってカプセル化されたセグメント内の特定の時間ロケーション(すなわち、再生時間)へのシークを実施することなど、トリックモードを実施するのを支援し得る。MFRAボックス166は、概して随意であり、いくつかの例では、ビデオファイル中に含まれる必要がない。同様に、クライアントデバイス40などのクライアントデバイスは、ビデオファイル150のビデオデータを正しく復号し、表示するために、必ずしもMFRAボックス166を参照する必要があるとは限らない。MFRAボックス166は、ビデオファイル150のトラックの数に等しいか、またはいくつかの例では、ビデオファイル150のメディアトラック(たとえば、非ヒントトラック)の数に等しい、いくつかのトラックフラグメントランダムアクセス(TFRA)ボックス(図示せず)を含み得る。 [0101] MFRA box 166 may describe random access points within movie fragment 164 of video file 150. FIG. This may help perform trick modes, such as performing a seek to a particular time location (ie, playback time) within the segment encapsulated by the video file 150 . The MFRA box 166 is generally optional and need not be included in the video file in some examples. Similarly, a client device, such as client device 40 , does not necessarily need to refer to MFRA box 166 in order to properly decode and display the video data of video file 150 . MFRA box 166 includes a number of track fragment random access (TFRA) blocks equal to the number of tracks in video file 150, or in some examples equal to the number of media tracks (e.g., non-hinted tracks) in video file 150. ) box (not shown).

[0102]いくつかの例では、ムービーフラグメント164は、IDRピクチャなど、1つまたは複数のストリームアクセスポイント(SAP)を含み得る。同様に、MFRAボックス166は、SAPのビデオファイル150内のロケーションの指示を与え得る。したがって、ビデオファイル150のSAPからビデオファイル150の時間サブシーケンスが形成され得る。時間サブシーケンスはまた、SAPに従属するPフレームおよび/またはBフレームなど、他のピクチャを含み得る。時間サブシーケンスのフレームおよび/またはスライスは、サブシーケンスの他のフレーム/スライスに依存する時間サブシーケンスのフレーム/スライスが適切に復号され得るように、セグメント内に構成され得る。たとえば、データの階層構成において、他のデータの予測のために使用されるデータも時間サブシーケンス中に含まれ得る。 [0102] In some examples, movie fragment 164 may include one or more stream access points (SAPs), such as IDR pictures. Similarly, MFRA box 166 may provide an indication of location within SAP's video file 150 . Thus, temporal subsequences of video file 150 can be formed from the SAPs of video file 150 . A temporal subsequence may also include other pictures, such as SAP-dependent P-frames and/or B-frames. Frames and/or slices of a temporal subsequence may be organized into segments such that frames/slices of a temporal subsequence that depend on other frames/slices of the subsequence may be properly decoded. For example, in a hierarchical arrangement of data, data used for prediction of other data may also be included in the temporal subsequences.

[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 DASH packager 204 , a ROUTE sender 206 and a CDN origin server 208 . Media encoder 200 encodes media data, such as audio or video data. Media encoder 200 may correspond to audio encoder 26 or video encoder 28 of FIG. CMAF/FF packager 202 and DASH packager 204 may correspond to encapsulation unit 30 of FIG. ROUTE sender 206 and CDN origin server 208 may correspond to request processing unit 70 and server device 60 of FIG.

[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 DASH client 212, a CMAF/FF parser 214, and a media decoder 216. ROUTE receiver 210 and DASH client 212 may correspond to retrieval unit 52 of FIG. CMAF/FF parser 214 may correspond to decapsulation unit 50 of FIG. Media decoder 216 may correspond to either or both of audio decoder 46 and video decoder 48 .

[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/FF packager 202, which converts the encoded media data according to a particular file format, such as CMAF and ISO BMFF or extensions thereof. Format to file. CMAF/FF packager 202 provides these files (eg, chunks) to DASH packager 204, which aggregates the files/chunks into DASH segments. DASH packager 204 may also create a manifest file, such as an MPD, containing data describing files/chunks/segments. Further, in accordance with the techniques of this disclosure, ROTUE sender 206 and/or CDN origin server 208 are configured to detect packet loss, for example, by ROUTE receiver 210 and/or DASH client 212. Or it may signal multiple packet loss detection mechanisms.

[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] DASH packager 204 provides segments to ROUTE sender 206 and CDN origin server 208 along with MPDs. ROUTE sender 206 and CDN origin server 208 may correspond to server device 60 of FIG. 1 or CDN 220 of FIG. In general, ROUTE sender 206 may send media data to ROUTE receiver 210 according to the ROUTE in this example. In other examples, other file-based delivery protocols such as FLUTE may be used for broadcast or multicast. Additionally or alternatively, CDN origin server 208 may send media data to ROUTE receiver 210 and/or directly to DASH client 212, eg, according to HTTP.

[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 eMBMS middleware unit 100 of FIG. ROUTE receiver 210 may buffer received media data, for example, in cache 104 shown in FIG. DASH client 212 (which may correspond to DASH client 110 in FIG. 2) may retrieve cached media data from ROUTE receiver 210 using HTTP. Alternatively, DASH client 212 may retrieve media data directly from CDN origin server 208 according to HTTP, as described above.

[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 DASH client 212 indicating that packet loss has occurred. Additionally or alternatively, DASH client 212 may use one or more of the signaled packet loss detection mechanisms to determine that packet loss has occurred. In either case, the DASH client 212 forms a byte-range request, for example using an HTTP partial Get request, to retrieve the media data corresponding to the media data contained in the lost packet from the CDN origin server 208. can. In this manner, the receiver of FIG. 5 may generally receive media data via broadcast or multicast, but when some of the media data is lost, DASH client 212 uses unicast, e.g., HTTP. to retrieve lost media data.

[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 DASH client 212 if media data may be partially lost. Focus primarily on the interface 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.

Figure 2022550528000002
Figure 2022550528000002

[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 source device 60 and client device 40, may signal data on control channels as follows.

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] Client device 40, ROUTE receiver 210, or other receivers of FIG. 1 may utilize the signaled information to do the following.

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, DASH client 110 or media application 112 in FIG. 2) in time.

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, media application 112 of FIG. 2) may take advantage of this information to present the best quality by using all available information received in time. Applications may accept partial data with resynchronization points.

[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 DASH client 212 may make byte range requests to repair transport packet loss. After detecting packet loss as described above, DASH client 212 may form a unicast byte range request. Byte range determination of lost data was described above. A mechanism for retrieving the address of repair data is available at www. dvb. org/resources/restricted/members/documents/TM-IPI/ABR%20Multicast/TM-IPI3626r4_ABR-Multicast-taskforce---Unicast-repair-draft-specification. Documented in DVB Working Draft Section 9, TM-IPI3626r4: ABR Multicast Task Force - Unicast Repair Draft Specification, available in docx.

[0123]DASHクライアント212および/またはROUTE受信機210はまた、パケット修復失敗を扱い得る。最終的に、パケット修復試行が失敗するかまたは時間内に完了されない可能性がある。この場合、マルチキャストゲートウェイは、この問題をDASHクライアント212にシグナリングし得る。この状況に対処するための2つの可能性がある。 [0123] DASH client 212 and/or ROUTE receiver 210 may also handle packet repair failures. Ultimately, packet repair attempts may fail or not be completed in time. In this case, the multicast gateway may signal this problem to DASH client 212 . There are two possibilities for dealing with this situation.

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] DASH client 212 and/or ROUTE receiver 210 may also handle transport object loss. One mechanism for handling complete loss of one or more transport objects and their associated metadata (eg, FDT) is to rely on the availability of unicast connections. A multicast gateway may be configured as an HTTP reverse proxy and may use a unicast connection, for example, to fetch a lost object when a request for that object is made by a player. The gateway may use the URL of the requested object and the unicast content location signaling as described above to retrieve the same content via unicast.

[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 server device 60 and client device 40 of FIG. Other devices, such as the sender and receiver devices of FIG. 5, may be configured to implement this or similar methods.

[0126]最初に、サーバデバイス60は、1つまたは複数のパケット損失検出機構(packet loss detection mechanisms)をシグナリングする(250)。これらの機構は、セグメントがチャンクで送出されること、トランスポートオブジェクト識別子(TOI)が連続であること、またはTOIに割り当てられたオブジェクトの最後のパケットが、最後のパケットのヘッダ中で設定された特定のフラグを有すること、基本URL、最大レイテンシ、またはファイル配信ヘッダ中の同期ポイントのうちの1つまたは複数を含み得る。クライアントデバイス40はまた、パケット損失検出機構を表すシグナリングされたデータを受信し得る(252)。 [0126] Initially, server device 60 signals (250) one or more packet loss detection mechanisms. These mechanisms are that the segments are sent in chunks, that the Transport Object Identifier (TOI) is contiguous, or that the last packet of the object assigned to the TOI is set in the header of the last packet. It may include one or more of having a specific flag, a base URL, a maximum latency, or a synchronization point in the file delivery header. Client device 40 may also receive signaled data representing a packet loss detection mechanism (252).

[0127]サーバデバイス60はまた、ストリーミングプロトコルを介してメディアデータを送出し得る(254)。たとえば、サーバデバイス60は、FLUTE、ROUTE、あるいは、DVBなど、他のネットワークまたはオーバージエア(OTA)ブロードキャスト規格を介して、メディアデータを送出し得る。クライアントデバイス40は、次いで、メディアデータの少なくとも一部を受信し得る(256)。クライアントデバイス40は、さらに、(1つまたは複数の)パケット損失検出機構を使用して、1つまたは複数のパケットが損失したかどうかを決定し得る(258)。パケットが損失していない(258の「いいえ」分岐)場合、クライアントデバイス40は、メディアオブジェクト、たとえば、オーディオおよび/またはビデオデータを提示すること(272)に進み得る。 [0127] Server device 60 may also send media data via a streaming protocol (254). For example, server device 60 may send media data via FLUTE, ROUTE, or other network or over-the-air (OTA) broadcast standards such as DVB. Client device 40 may then receive at least a portion of the media data (256). Client device 40 may also use packet loss detection mechanism(s) to determine whether one or more packets have been lost (258). If no packets were lost (“No” branch of 258), client device 40 may proceed to present 272 the media object, eg, audio and/or video data.

[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), client device 40 may retrieve the media data contained in the lost packet and the corresponding position of that packet's media data in the segment. and can be determined. For example, client device 40 may use a transport object identifier (TOI) and start_offset to determine the starting byte position of media data in a segment. Client device 40 may further determine the ending byte position of the media data of the lost packet, eg, using the signaled chunk duration. Client device 40 may then form a byte-range request for the lost media data of the lost packet, such as an HTTP partial Get request specifying the byte-range (260).

[0129]クライアントデバイス40は、次いで、サーバデバイス60にバイト範囲要求を送出し得る(262)。バイト範囲要求を受信したこと(264)に応答して、サーバデバイス60は、たとえば、HTTPなど、ユニキャストプロトコルに従って、要求されたバイト範囲をクライアントデバイス40に送出し得る(266)。クライアントデバイス40は、次いで、要求されたバイト範囲を受信し(268)、適切なメディアオブジェクトを形成し得る(270)。クライアントデバイス40は、さらに、メディアオブジェクトを提示し得る(272)。 [0129] Client device 40 may then send a byte range request to server device 60 (262). In response to receiving (264) the byte range request, server device 60 may send (266) the requested byte range to client device 40, eg, according to a unicast protocol, such as HTTP. Client device 40 may then receive the requested byte range (268) and form an appropriate media object (270). Client device 40 may also present the media object (272).

[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に記載の方法。 2. The method of claim 1, wherein detecting the loss of the packet comprises detecting the loss of the packet using a signaled inter-packet timeout value. 前記パケット間タイムアウト値は、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に従ってシグナリングされる、請求項2に記載の方法。 3. The method of claim 2, wherein the inter-packet timeout value is signaled according to a nominal Common Media Application Format (CMAF) chunk duration. マルチキャストトランスポートパケットヘッダ、ファイル配信テーブル(FDT)または拡張FDT(EFDT)におけるマルチキャストオブジェクトメタデータから、あるいは制御プレーンサービスまたはセッションメタデータ中で、チャンク持続時間を決定することをさらに備える、請求項2に記載の方法。 2. Further comprising determining chunk duration from multicast object metadata in a multicast transport packet header, File Delivery Table (FDT) or Extended FDT (EFDT), or in control plane service or session metadata. The method described in . チャンク持続時間シグナリングが最大予想パケット到着ジッタを考慮するかどうかを決定することをさらに備える、請求項2に記載の方法。 3. The method of claim 2, further comprising determining whether chunk duration signaling considers maximum expected packet arrival jitter. 前記チャンク持続時間シグナリングが前記最大予想パケット到着ジッタを考慮しないとき、経験されるパケット受信ジッタに従って前記チャンク持続時間シグナリングを決定する、請求項5に記載の方法。 6. The method of claim 5, determining the chunk duration signaling according to experienced packet reception jitter when the chunk duration signaling does not consider the maximum expected packet arrival jitter. 前記バイト範囲要求を生成することは、前記パケット間タイムアウト値の満了後に前記バイト範囲要求を生成することを備える、請求項6に記載の方法。 7. The method of claim 6, wherein generating the byte-range request comprises generating the byte-range request after expiration of the inter-packet timeout value. 前記ファイル配信ヘッダはROUTEヘッダまたはFLUTEヘッダを備える、請求項1に記載の方法。 2. The method of claim 1, wherein the file delivery header comprises a ROUTE header or a FLUTE header. 前記ファイル配信ヘッダの前記情報は、TOIとstart_offset値とを備える、請求項1に記載の方法。 2. The method of claim 1, wherein the information in the file delivery header comprises a TOI and a start_offset value. 前記適切なメディアオブジェクトは、前記消失したメディアデータの少なくとも一部を消失している部分メディアオブジェクトである、請求項1に記載の方法。 2. The method of claim 1, wherein the relevant media object is a partial media object missing at least part of the lost media data. 前記適切なメディアオブジェクトを配信することは、前記メディアオブジェクトについての予想配信時間までに前記適切なメディアオブジェクトを配信することを備える、請求項1に記載の方法。 2. The method of claim 1, wherein delivering the appropriate media object comprises delivering the appropriate media object by an expected delivery time for the media object. ユニキャストプロトコルを介して前記バイト範囲要求をサブミットすることをさらに備える、請求項1に記載の方法。 2. The method of claim 1, further comprising submitting the byte range request via a unicast protocol. 前記ユニキャストプロトコルがHTTPを備える、請求項12に記載の方法。 13. The method of claim 12, wherein said unicast protocol comprises HTTP. メディアデータを取り出すためのデバイスであって、前記デバイスが、
メディアデータを記憶するように構成されたメモリと、
回路中に実装された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に記載のデバイス。 15. The device of claim 14, wherein the one or more processors are configured to detect the loss of the packet using a signaled inter-packet timeout value. 前記パケット間タイムアウト値は、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に従ってシグナリングされる、請求項15に記載のデバイス。 16. The device of claim 15, wherein the inter-packet timeout value is signaled according to a nominal Common Media Application Format (CMAF) chunk duration. 前記1つまたは複数のプロセッサは、マルチキャストトランスポートパケットヘッダ、ファイル配信テーブル(FDT)または拡張FDT(EFDT)におけるマルチキャストオブジェクトメタデータから、あるいは制御プレーンサービスまたはセッションメタデータ中で、チャンク持続時間を決定するようにさらに構成された、請求項15に記載のデバイス。 The one or more processors determine chunk duration from multicast object metadata in a multicast transport packet header, File Delivery Table (FDT) or Enhanced FDT (EFDT), or in control plane service or session metadata. 16. The device of claim 15, further configured to. 前記1つまたは複数のプロセッサは、チャンク持続時間シグナリングが最大予想パケット到着ジッタを考慮するかどうかを決定するようにさらに構成された、請求項15に記載のデバイス。 16. The device of claim 15, wherein the one or more processors are further configured to determine whether chunk duration signaling considers maximum expected packet arrival jitter. 前記ファイル配信ヘッダはROUTEヘッダまたはFLUTEヘッダを備える、請求項14に記載のデバイス。 15. The device of Claim 14, wherein the file delivery header comprises a ROUTE header or a FLUTE header. 前記ファイル配信ヘッダの前記情報は、TOIとstart_offset値とを備える、請求項14に記載のデバイス。 15. The device of Claim 14, wherein the information in the file delivery header comprises a TOI and a start_offset value. 前記1つまたは複数のプロセッサは、ユニキャストプロトコルを介して前記バイト範囲要求をサブミットするようにさらに構成された、請求項14に記載のデバイス。 15. The device of claim 14, wherein the one or more processors are further configured to submit the byte range request via a unicast protocol. 前記デバイスは、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス、
のうちの少なくとも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.
パケット損失シグナリング方法を示す前記データを送出することは、パケット間タイムアウト値を表すデータを送出することをさらに備える、請求項25に記載の方法。 26. The method of claim 25, wherein sending the data indicating a packet loss signaling method further comprises sending data representing an inter-packet timeout value. 前記パケット間タイムアウト値を表す前記データを送出することは、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に従って前記パケット間タイムアウト値をシグナリングすることを備える、請求項26に記載の方法。 27. The method of claim 26, wherein sending the data representing the inter-packet timeout value comprises signaling the inter-packet timeout value according to a nominal Common Media Application Format (CMAF) chunk duration. マルチキャストトランスポートパケットヘッダ、ファイル配信テーブル(FDT)または拡張FDT(EFDT)におけるマルチキャストオブジェクトメタデータ中で、あるいは制御プレーンサービスまたはセッションメタデータ中で、チャンク持続時間を表すデータをシグナリングすることをさらに備える、請求項26に記載の方法。 Further comprising signaling data representing the chunk duration in multicast object metadata in a multicast transport packet header, File Delivery Table (FDT) or Enhanced FDT (EFDT), or in control plane service or session metadata. 27. The method of claim 26. 前記ファイル配信ヘッダはROUTEヘッダまたはFLUTEヘッダを備える、請求項25に記載の方法。 26. The method of Claim 25, wherein the file delivery header comprises a ROUTE header or a FLUTE header. 前記ファイル配信ヘッダの前記情報は、TOIとstart_offset値とを備える、請求項25に記載の方法。 26. The method of claim 25, wherein said information in said file delivery header comprises a TOI and a start_offset value. 前記ユニキャストプロトコルはHTTPを備える、請求項25に記載の方法。 26. The method of claim 25, wherein said unicast protocol comprises HTTP. メディアデータを送出するためのデバイスであって、
ビデオデータを記憶するように構成されたメモリと、
回路中に実装された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に記載のデバイス。 33. The device of Claim 32, wherein the one or more processors are further configured to send data representing an inter-packet timeout value. 前記1つまたは複数のプロセッサは、公称共通メディアアプリケーションフォーマット(CMAF)チャンク持続時間に従って前記パケット間タイムアウト値をシグナリングするように構成された、請求項33に記載のデバイス。 34. The device of claim 33, wherein the one or more processors are configured to signal the inter-packet timeout value according to a nominal Common Media Application Format (CMAF) chunk duration. 前記1つまたは複数のプロセッサは、マルチキャストトランスポートパケットヘッダ、ファイル配信テーブル(FDT)または拡張FDT(EFDT)におけるマルチキャストオブジェクトメタデータ中で、あるいは制御プレーンサービスまたはセッションメタデータ中で、チャンク持続時間を表すデータをシグナリングするようにさらに構成された、請求項33に記載のデバイス。 The one or more processors specify the chunk duration in multicast object metadata in a multicast transport packet header, File Delivery Table (FDT) or Enhanced FDT (EFDT), or in control plane service or session metadata. 34. The device of claim 33, further configured to signal representative data. 前記ファイル配信ヘッダはROUTEヘッダまたはFLUTEヘッダを備える、請求項32に記載のデバイス。 33. The device of Claim 32, wherein the file delivery header comprises a ROUTE header or a FLUTE header. 前記ファイル配信ヘッダの前記情報は、TOIとstart_offset値とを備える、請求項32に記載のデバイス。 33. The device of Claim 32, wherein the information in the file delivery header comprises a TOI and a start_offset value. 前記ユニキャストプロトコルはHTTPを備える、請求項32に記載のデバイス。 33. The device of claim 32, wherein said unicast protocol comprises HTTP. 前記デバイスは、
集積回路、
マイクロプロセッサ、または
ワイヤレス通信デバイス、
のうちの少なくとも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:
JP2022519195A 2019-10-01 2020-10-01 Repair Mechanism for Adaptive Bitrate Multicast Pending JP2022550528A (en)

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)

* Cited by examiner, † Cited by third party
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

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