JP7073353B2 - Systems and methods to enable communication associated with digital media distribution - Google Patents

Systems and methods to enable communication associated with digital media distribution Download PDF

Info

Publication number
JP7073353B2
JP7073353B2 JP2019517851A JP2019517851A JP7073353B2 JP 7073353 B2 JP7073353 B2 JP 7073353B2 JP 2019517851 A JP2019517851 A JP 2019517851A JP 2019517851 A JP2019517851 A JP 2019517851A JP 7073353 B2 JP7073353 B2 JP 7073353B2
Authority
JP
Japan
Prior art keywords
data
media
media presentation
segment
response message
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.)
Active
Application number
JP2019517851A
Other languages
Japanese (ja)
Other versions
JP2019536312A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of JP2019536312A publication Critical patent/JP2019536312A/en
Application granted granted Critical
Publication of JP7073353B2 publication Critical patent/JP7073353B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

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

Description

本開示は、デジタルメディア配信の分野に関する。 This disclosure relates to the field of digital media distribution.

デジタルメディア再生機能は、いわゆる「スマート」テレビを含むデジタルテレビ、セットトップボックス、ラップトップ又はデスクトップコンピュータ、タブレット型コンピュータ、デジタル記録デバイス、デジタルメディアプレイヤ、ビデオゲーミングデバイス、いわゆる「スマート」フォンを含む携帯電話、専用ビデオストリーミングデバイスなどを含む、広範囲のデバイス中に組み込まれ得る。デジタルメディアコンテンツ(例えば、動画像及び音声プログラム)は、例えば、無線テレビプロバイダ、衛星テレビプロバイダ、ケーブルテレビプロバイダ、いわゆるストリーミングサービスプロバイダを含むオンラインメディアサービスプロバイダなどの複数のソースから発信され得る。デジタルメディアコンテンツは、インターネットプロトコル(Internet Protocol、IP)ネットワークなどの双方向ネットワーク及びデジタル放送ネットワークなどの単方向ネットワークを含むパケット交換ネットワークで送達されてもよい。 Digital media playback capabilities include digital TVs, including so-called "smart" TVs, set-top boxes, laptops or desktop computers, tablet computers, digital recording devices, digital media players, video gaming devices, so-called "smart" phones. It can be incorporated into a wide range of devices, including telephones, dedicated video streaming devices, and more. Digital media content (eg, video and audio programs) can originate from multiple sources, such as, for example, wireless television providers, satellite television providers, cable television providers, and online media service providers including so-called streaming service providers. Digital media content may be delivered over a packet exchange network that includes a bidirectional network such as an Internet Protocol (IP) network and a unidirectional network such as a digital broadcast network.

デジタルメディアコンテンツは、ソースから受信部デバイス(例えば、デジタルテレビ又はスマートフォン)にコンテンツ送達プロトコルモデルに従って伝送されてもよい。コンテンツ送達プロトコルモードは、1つ以上の伝送規格に基づくことができる。伝送規格の例としては、デジタルビデオブロードキャスティング(Digital Video Broadcasting、DVB)規格、統合デジタル放送サービス規格(Integrated Services Digital Broadcasting、ISDB)規格、及び例えば、現在作成中のATSC 3.0の一連の規格を含む、高度テレビジョン・システムズ委員会(Advanced Television Systems Committee、ATSC)によって作成された規格が挙げられる。ソースから受信部デバイスにデジタルメディアコンテンツを伝送する現在の技術は、理想的でない場合がある。 Digital media content may be transmitted from the source to the receiver device (eg, a digital television or smartphone) according to a content delivery protocol model. The content delivery protocol mode can be based on one or more transmission standards. Examples of transmission standards include Digital Video Broadcasting (DVB) standards, Integrated Services Digital Broadcasting (ISDB) standards, and, for example, a set of ATSC 3.0 standards currently under development. Examples include standards created by the Advanced Television Systems Committee (ATSC), including. Current techniques for transmitting digital media content from the source to the receiver device may not be ideal.

本開示の一実施例によれば、メディアプレゼンテーションと関連付けられた情報をシグナリングする方法は、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングすることと、JavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングすることと、を含む。 According to one embodiment of the present disclosure, the method of signaling the information associated with the media presentation is to signal a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type and a JavaScript Object NOTation coding parameter. As including signaling one or more given arguments corresponding to the message type.

図1は、本開示の1つ以上の技術による、コンテンツ送達プロトコルモデルの例を示す概念図である。FIG. 1 is a conceptual diagram showing an example of a content delivery protocol model according to one or more techniques of the present disclosure. 図2は、本開示の1つ以上の技術を実施できるシステムの例を示すブロック図である。FIG. 2 is a block diagram showing an example of a system capable of implementing one or more techniques of the present disclosure. 図3は、本開示の1つ以上の技術を実施できる演算デバイスの例を示すブロック図である。FIG. 3 is a block diagram showing an example of an arithmetic device capable of performing one or more techniques of the present disclosure. 図4は、本開示の1つ以上の技術を実施できるメディア配信エンジンの例を示すブロック図である。FIG. 4 is a block diagram showing an example of a media distribution engine capable of implementing one or more of the techniques of the present disclosure. 図5は、本開示の1つ以上の技術による、通信フローの例を示す概念図である。FIG. 5 is a conceptual diagram showing an example of a communication flow according to one or more techniques of the present disclosure. 図6Aは、メディアプレゼンテーションドキュメント要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 6A is a computer programming list showing an exemplary schema for each media presentation document request message. 図6Bは、メディアプレゼンテーションドキュメント要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 6B is a computer programming list showing an exemplary schema for each media presentation document request message. 図7Aは、メディアプレゼンテーションドキュメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 7A is a computer programming list showing an exemplary schema of each media presentation document request response message. 図7Bは、メディアプレゼンテーションドキュメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 7B is a computer programming list showing an exemplary schema of each media presentation document request response message. 図8Aは、セグメント要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 8A is a computer programming list showing an exemplary schema of each segment request message. 図8Bは、セグメント要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 8B is a computer programming list showing an exemplary schema of each segment request message. 図9Aは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 9A is a computer programming list showing an exemplary schema of each segment request response message. 図9Bは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 9B is a computer programming list showing an exemplary schema of each segment request response message. 図9Cは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 9C is a computer programming list showing an exemplary schema of each segment request response message. 図9Dは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 9D is a computer programming list showing an exemplary schema of each segment request response message. 図10Aは、キャンセル要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 10A is a computer programming list showing an exemplary schema of each cancellation request message. 図10Bは、キャンセル要求メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 10B is a computer programming list showing an exemplary schema of each cancellation request message. 図11Aは、リソース変更通知メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 11A is a computer programming list showing an exemplary schema of each resource change notification message. 図11Bは、リソース変更通知メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。FIG. 11B is a computer programming list showing an exemplary schema of each resource change notification message.

一般に、本開示は、デジタルメディアコンテンツの配信と関連付けられた通信を可能にする技術について記載する。デジタルメディアコンテンツは、音声ビジュアルサービスの一部として含まれてもよく、又はいくつかの実施例では、専用の音声サービスとして含まれてもよいという点に留意すべきである。いくつかの実施例では、特定の伝送規格及び特定のデジタルメディアフォーマットに関する本開示の技術が記載されているが、本明細書に記載された技術は、一般に、様々な伝送規格及びデジタルメディアフォーマットに適用可能であり得るという点に留意すべきである。例えば、本明細書に記載された技術は、一般に、DVB規格、ISDB規格、ATSC規格、Digital Terrestrial Multimedia Broadcast(DTMB)規格、Digital Multimedia Broadcast(DMB)規格、Hybrid Broadcast and Broadband Television(HbbTV)規格、ワールド・ワイド・ウェブ・コンソーシアム(World Wide Web Consortium、W3C)規格、ユニバーサルプラグアンドプレイ(Universal Plug and Play、UPnP)規格、及びムービング・ピクチャー・エキスパート・グループ(Moving Pictures Expert Group、MPEG)規格のうちのいずれかに適用可能であり得る。更に、本明細書への文書の参照による組み込みは、説明を目的としており、本明細書で使用される用語に関して限定する及び/又は曖昧さを生み出すように構築されるべきではないという点に留意すべきである。例えば、ある組み込まれた参照が別の組み込まれた参照とは異なる用語の定義をもたらす場合、及び/又はその用語が本明細書で使用される場合、その用語は、各それぞれの定義を広く含むやり方で、及び/又は代替物における特定の定義の各々を含むやり方で解釈されるべきである。 In general, the disclosure describes techniques that enable communication associated with the delivery of digital media content. It should be noted that the digital media content may be included as part of the audio visual service or, in some embodiments, as a dedicated audio service. Although some embodiments describe the techniques of the present disclosure for a particular transmission standard and a particular digital media format, the techniques described herein are generally in various transmission standards and digital media formats. It should be noted that it may be applicable. For example, the techniques described herein are generally DVB standards, ISDB standards, ATSC standards, Digital Terrestrial Multimedia Media Broadcast (DTMB) standards, Digital Multimedia Broadcast (DMB) standards, HybridBandBandTV standards. Of the World Wide Web Consortium (W3C) standards, Universal Plug and Play (UPnP) standards, and Moving Pictures Expert Group (MPEG) standards. It may be applicable to any of the above. Furthermore, it should be noted that the inclusion of documents in this specification by reference is for illustration purposes only and should not be constructed to limit and / or create ambiguity with respect to the terms used herein. Should. For example, if one built-in reference results in a different definition of a term than another built-in reference, and / or if that term is used herein, that term broadly includes each and every definition. It should be interpreted in a way and / or in a way that includes each of the specific definitions in the alternative.

本開示の別の実施例によれば、メディアプレゼンテーションと関連付けられた情報をシグナリングするデバイスは、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングし、かつJavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングするように構成された1つ以上のプロセッサを備える。 According to another embodiment of the present disclosure, a device signaling information associated with a media presentation signals a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type, and has a JavaScript Objectation Notation coding parameter. It comprises one or more processors configured to signal one or more given arguments corresponding to the message type.

本開示の別の実施例によれば、メディアプレゼンテーションと関連付けられた情報をシグナリングする装置は、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングする手段と、JavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングする手段と、を含む。 According to another embodiment of the present disclosure, the device signaling the information associated with the media presentation is a means of signaling a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type and a JavaScript Object Notification encoding. As a parameter, it includes means for signaling one or more given arguments corresponding to the message type.

本開示の別の実施例によれば、非一時的コンピュータ可読記憶媒体は、実行すると、デバイスの1つ以上のプロセッサに、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングさせ、かつJavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングさせる命令を中に記憶している。 According to another embodiment of the present disclosure, a non-temporary computer-readable storage medium, when executed, causes one or more processors of the device to signal a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type. , And stores in it an instruction to signal one or more given arguments corresponding to the message type as a Javascript Object Notation encoding parameter.

1つ以上の実施例の詳細は、添付の図面及び以下の明細書に記述されている。他の特徴、目的、及び利点は、明細書及び図面から、並びに特許請求の範囲から明白であろう。 Details of one or more embodiments are described in the accompanying drawings and the following specification. Other features, objectives, and advantages will be apparent from the specification and drawings, as well as from the claims.

演算デバイス及び/又は伝送システムは、1つ以上の抽象化層を含むモデルに基づいてもよく、各抽象化層のデータは、特定の構造、例えば、パケット構造、変調方式などに従って表される。定義された抽象化層を含むモデルの一例は、いわゆる開放型システム間相互接続(Open Systems Interconnection、OSI)モデルである。OSIモデルは、アプリケーション層、プレゼンテーション層、セッション層、トランスポート層、ネットワーク層、データリンク層、及び物理層を含む、7層スタックモデルを定義する。スタックモデル内の層の記述に関して上位(upper)及び下位(lower)という用語を使用することは、最上層であるアプリケーション層及び最下層である物理層に基づいてもよいという点に留意すべきである。更に、場合によっては、用語「層1」又は「L1」を使用して、物理層を指すことができ、用語「層2」又は「L2」を使用して、リンク層を指すことができ、用語「層3」又は「L3」又は「IP層」を使用して、ネットワーク層を指すことができる。 Computational devices and / or transmission systems may be based on a model that includes one or more abstraction layers, and the data in each abstraction layer is represented according to a particular structure, such as a packet structure, a modulation scheme, and the like. An example of a model that includes a defined abstraction layer is the so-called Open Systems Interconnection (OSI) model. The OSI model defines a 7-layer stack model that includes an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer, and a physical layer. It should be noted that the use of the terms upper and lower with respect to the description of layers in the stack model may be based on the top layer, the application layer, and the bottom layer, the physical layer. be. Further, in some cases, the term "layer 1" or "L1" can be used to refer to the physical layer, and the terms "layer 2" or "L2" can be used to refer to the link layer. The term "layer 3" or "L3" or "IP layer" can be used to refer to the network layer.

物理層は、一般に、電気信号がデジタルデータを形成する層を指すことができる。例えば、物理層は、変調された無線周波数(radio frequency、RF)シンボルがデジタルデータのフレームをどのように形成するかを定義する層を指すことができる。リンク層とも呼ばれることもあるデータリンク層は、送信側での物理層処理前及び受信側での物理層受信後に使用される抽象化を指すことができる。本発明で使用する場合、リンク層は、送信側でのネットワーク層から物理層へのデータのトランスポートに使用される、及び受信側での物理層からネットワーク層へのデータのトランスポートに使用される抽象化を指すことができ、送信側及び受信側は、論理的役割であり、単一デバイスは、あるインスタンスの送信側及び別のインスタンスの受信側の両方として動作できるという点に留意すべきである。リンク層は、特定のパケットタイプ(例えば、インターネットプロトコルバージョン4(IPv4)パケットなど)にカプセル化された様々なタイプのデータ(例えば、動画像ファイル、音声ファイル、又はアプリケーションファイル)を物理層による処理のための単一汎用フォーマットに抽象化することができる。ネットワーク層は、一般に、論理アドレッシングが発生する層を指すことができる。すなわち、ネットワーク層は、一般に、アドレッシング情報(例えば、IPアドレス)を提供することができ、これにより、データパケットをネットワーク内の特定のノード(例えば、演算デバイス)に送達することができる。本発明で使用する場合、ネットワーク層という用語は、リンク層の上の層及び/又はリンク層処理のために受信され得るような構造のデータを有する層を指すことができる。トランスポート層は、いわゆるプロセス間通信サービスを可能にする層を指すことができる。セッション層、プレゼンテーション層、及びアプリケーション層の各々は、ユーザアプリケーションによって使用するためにデータをどのように送達するかを定義することができる。現在作成中の伝送規格を含む伝送規格は、各層毎にサポートされたプロトコルを規定するコンテンツ送達プロトコルモデルを含むことができ、1つ以上の特定の層実装を更に定義することができる。 The physical layer can generally refer to the layer in which electrical signals form digital data. For example, the physical layer can refer to a layer that defines how a modulated radio frequency (RF) symbol forms a frame of digital data. A data link layer, sometimes also referred to as a link layer, can refer to an abstraction used before physical layer processing on the transmitting side and after receiving the physical layer on the receiving side. As used in the present invention, the link layer is used to transport data from the network layer to the physical layer on the transmitting side and to transport data from the physical layer to the network layer on the receiving side. It should be noted that the sender and receiver are logical roles, and a single device can act as both the sender of one instance and the receiver of another. Is. The link layer processes various types of data (eg, video files, audio files, or application files) encapsulated in a particular packet type (eg, Internet Protocol version 4 (IPv4) packets) by the physical layer. Can be abstracted into a single generic format for. The network layer can generally refer to the layer where logical addressing occurs. That is, the network layer can generally provide addressing information (eg, IP address), which allows data packets to be delivered to specific nodes (eg, computing devices) in the network. As used in the present invention, the term network layer can refer to a layer above the link layer and / or a layer having data of a structure that can be received for link layer processing. The transport layer can refer to a layer that enables so-called interprocess communication services. Each of the session layer, presentation layer, and application layer can define how data is delivered for use by the user application. Transmission standards, including transmission standards currently under development, can include a content delivery protocol model that defines the protocols supported for each layer, and can further define one or more specific layer implementations.

図1は、本明細書に記載された技術による、コンテンツ送達プロトコルモデルの例を示す。本明細書に記載された技術は、コンテンツ送達プロトコルモデル100に基づいて動作するように構成されたシステムに実装することができる。
コンテンツ送達プロトコルモデル100は、デジタルメディアコンテンツの配信を可能にすることができる。したがって、コンテンツ送達プロトコルモデル100は、ユーザがメディアサービスプロバイダ(例えば、いわゆるストリーミングサービス)からのデジタルメディアコンテンツにアクセスできるようにするシステムに実装することができる。メディアサービス又はメディアプレゼンテーションという用語を使用して、ユーザに集合的に提示されるメディアコンポーネント(例えば、動画像コンポーネント、音声コンポーネント、及びサブタイトルコンポーネント)の集合を指すことができ、コンポーネントは、複数のメディアタイプであることができ、サービスは、連続的又は断続的のいずれかであることができ、サービスは、リアルタイムサービス(例えば、ライブイベントに対応するマルチメディアプレゼンテーション)又は非リアルタイムサービス(例えば、ビデオオンデマンドサービス)であることができる。
FIG. 1 shows an example of a content delivery protocol model according to the techniques described herein. The techniques described herein can be implemented in systems configured to operate under Content Delivery Protocol Model 100.
The content delivery protocol model 100 can enable the delivery of digital media content. Therefore, the content delivery protocol model 100 can be implemented in a system that allows a user to access digital media content from a media service provider (eg, a so-called streaming service). The term media service or media presentation can be used to refer to a collection of media components (eg, video components, audio components, and subtitle components) that are collectively presented to the user, and the components are multiple media. It can be of type, the service can be either continuous or intermittent, and the service can be a real-time service (eg, multimedia presentation for live events) or a non-real-time service (eg, video-on). It can be a demand service).

図1に示したように、コンテンツ送達プロトコルモデル100は、物理層及びデータリンク層を含む。前述したように、物理層は、一般に、電気信号がデジタルデータを形成する層を指すことができ、データリンク層は、物理層による処理のための汎用フォーマットを含むことができる。図1に示された実施例では、いくつかの例において、物理層は、定義されたプリアンブルを含む物理層フレーム構造と、RFチャネル又はRFチャネルの一部内に1つの論理構造を含むデータペイロード構造と、を含むことができる。図1に示された実施例では、データリンク層は、様々な特定のパケットタイプを物理層による処理のための単一汎用フォーマットに抽象化するために使用されるデータ構造であってもよく、前述したように、ネットワーク層は、一般に、論理アドレッシングが発生する層を指すことができる。図1を参照すると、コンテンツ送達プロトコルモデル100は、IPアドレッシングスキーム、例えば、ネットワーク層としてIPv4及び/又はIPv6を利用することができる。前述したように、トランスポート層は、一般に、いわゆるプロセス間通信サービスを可能にする層を指すことができる。図1に示したように、コンテンツ送達プロトコルモデル100は、トランスポート層としてトランスポートコントロールプロトコル(Transport Control Protocol、TCP)を利用することができる。 As shown in FIG. 1, the content delivery protocol model 100 includes a physical layer and a data link layer. As mentioned above, the physical layer can generally refer to a layer in which electrical signals form digital data, and the data link layer can include a general-purpose format for processing by the physical layer. In the embodiment shown in FIG. 1, in some examples, the physical layer is a physical layer frame structure containing a defined preamble and a data payload structure containing an RF channel or one logical structure within a portion of the RF channel. And can include. In the embodiment shown in FIG. 1, the data link layer may be a data structure used to abstract various specific packet types into a single general purpose format for processing by the physical layer. As mentioned above, the network layer can generally refer to the layer where logical abstraction occurs. Referring to FIG. 1, the content delivery protocol model 100 can utilize an IP addressing scheme, eg, IPv4 and / or IPv6 as a network layer. As mentioned above, the transport layer can generally refer to a layer that enables so-called interprocess communication services. As shown in FIG. 1, the content delivery protocol model 100 can utilize a transport control protocol (TCP) as a transport layer.

前述したように、コンテンツ送達プロトコルモデル100は、デジタルメディアコンテンツの配信を可能にすることができる。図1の実施例では、アプリケーションは、ユーザがデジタルメディアコンテンツをレンダリングすることを可能にするアプリケーションを含むことができる。例えば、コンテンツ送達プロトコルモデルは、モバイルデバイスなどで動作する動画像プレイヤアプリケーションを含むことができる。図1に示された実施例では、メディアコーデックは、デジタルメディアコンテンツフォーマット(例えば、MPEGフォーマットなど)をアプリケーションによってレンダリングすることを可能にする、基礎コーデック(すなわち、マルチメディアエンコーダ/デコーダ実装)を含むことができる。図1に示された実施例では、コンテンツ送達プロトコルモデル100は、動的適応ストリーミングオーバーHTTP(Dynamic adaptive streaming over HTTP、DASH)を利用して、論理クライアントが論理サーバからデジタルメディアコンテンツを受信できるようにする。DASHは、MPEG DASH ISO/IEC:ISO/IEC 23009~1:2014,「Information technology_Dynamic adaptive streaming over HTTP(DASH)-Part1:Media presentation description and segment formats」,International Organization for Standardization,2nd Edition,5/15/2014(以下では、「ISO/IEC 23009~1:2014」)のDASH-IFプロファイルに記載されており、これは、本明細書に参考として組み込まれる。図1に示したように、DASHメディアプレゼンテーションは、データセグメント、動画像セグメント、及び音声セグメントを含むことができる。いくつかの実施例では、DASHメディアプレゼンテーションは、サービスプロバイダによって定義された所与の期間の線形サービス又は線形サービスの一部(例えば、単一のTV番組、又はある期間にわたる連続した線形TV番組の組)に対応することができる。DASHに従って、メディアプレゼンテーションドキュメント(MPD)は、DASHメディアプレゼンテーションのプロファイルの形式化した記述を含むメタデータフラグメントである。フラグメントは、拡張可能マークアップ言語(eXtensible Markup Language、XML)符号化メタデータフラグメントのセットを含むことができる。MPDのコンテンツは、セグメントのためのリソース識別子及びメディアプレゼンテーション内の識別されたリソースのためのコンテキストを提供する。MPDフラグメントのデータ構造及びセマンティックスは、ISO/IEC 23009~1:2014に関して記載されている。更に、ISO/IEC 23009~1のドラフト版が現在提案されているという点に留意すべきである。したがって、図1に示された実施例では、MPDは、ISO/IEC 23009~1:2014に記載のようなMPD、現在提案されているMPD、及び/又はこれらの組み合わせを含むことができる。 As mentioned above, the content delivery protocol model 100 can enable the delivery of digital media content. In the embodiment of FIG. 1, the application may include an application that allows the user to render digital media content. For example, the content delivery protocol model can include a video player application running on a mobile device or the like. In the embodiment shown in FIG. 1, the media codec includes a basic codec (ie, a multimedia encoder / decoder implementation) that allows an application to render a digital media content format (eg, MPEG format, etc.). be able to. In the embodiment shown in FIG. 1, the content delivery protocol model 100 utilizes Dynamic adaptive streaming over HTTP (DASH) to allow a logical client to receive digital media content from a logical server. To. DASHは、MPEG DASH ISO/IEC:ISO/IEC 23009~1:2014,「Information technology_Dynamic adaptive streaming over HTTP(DASH)-Part1:Media presentation description and segment formats」,International Organization for Standardization,2nd Edition,5/15 It is described in the DASH-IF profile of / 2014 (hereinafter, “ISO / IEC 23009 to 1: 2014”), which is incorporated herein by reference. As shown in FIG. 1, the DASH media presentation can include a data segment, a moving image segment, and an audio segment. In some embodiments, the DASH media presentation is a linear service or part of a linear service (eg, a single TV program, or a continuous linear TV program over a period of time) defined by a service provider. Can correspond to the set). According to DASH, a Media Presentation Document (MPD) is a metadata fragment containing a formalized description of a profile of a DASH media presentation. Fragments can include a set of extensible markup language (XML) encoded metadata fragments. The MPD content provides a resource identifier for the segment and a context for the identified resource in the media presentation. The data structures and semantics of MPD fragments are described for ISO / IEC 23009-1: 2014. Furthermore, it should be noted that a draft version of ISO / IEC 23009-1 is currently being proposed. Thus, in the examples shown in FIG. 1, the MPD can include MPDs as described in ISO / IEC 23009 to 1: 2014, currently proposed MPDs, and / or combinations thereof.

ISO/IEC 23009~1:2014において、MPDに記載されているメディアプレゼンテーションは、1つ以上のピリオド(Period)のシーケンスを含むことができ、各ピリオドは、1つ以上のアダプテーションセット(Adaptation Set)を含むことができる。アダプテーションセットが複数のメディアコンテンツコンポーネントを含む場合、各メディアコンテンツコンポーネントを個別に記述してもよいという点に留意すべきである。各アダプテーションセットは、1つ以上のリプレゼンテーション(Representation)を含むことができる。ISO/IEC 23009~1:2014において、各リプレゼンテーションは、次のように提供される。(1)単一セグメントとして、サブセグメントがアダプテーションセットのリプレゼンテーションにわたって整列される、及び(2)セグメントのシーケンスとして、各セグメントは、テンプレートで生成されたユニバーサルリソースロケータ(Universal Resource Locator、URL)によってアドレス指定可能である。各メディアコンテンツコンポーネントのプロパティは、アダプテーションセット要素、及び/又は例えば、コンテンツコンポーネント(ContentComponent)要素を含むアダプションセット(AdaptionSet)内の要素によって記述されてもよい。 In ISO / IEC 23009 to 1: 2014, the media presentation described in the MPD can include a sequence of one or more periods, where each period is one or more adaptation sets. Can be included. It should be noted that if the adaptation set contains multiple media content components, each media content component may be described individually. Each adaptation set can include one or more representations. In ISO / IEC 23009 to 1: 2014, each representation is provided as follows. (1) As a single segment, the subsegments are aligned across the representation of the adaptation set, and (2) as a sequence of segments, each segment is by a Universal Resource Locator (URL) generated by the template. The address can be specified. The properties of each media content component may be described by an adaptation set element and / or, for example, an element in an adaptation set that includes a content component element.

図1に示したように、DASHは、HTTP及びWebSocketプロトコルの上で動作してもよい。すなわち、DASHメディアプレゼンテーションは、Internet Engineering Task Force(IETF)Request for Comment(RFC)7540のHypertext Transfer Protocol Version 2(HTTP/2)(2015年5月)に記載されているHTTP/2、及びInternet Engineering Task Force、RFC 6455のIETF:「The WebSocket Protocol」(2011年12月)、及びthe WebSocket API(ワールド・ワイド・ウェブ・コンソーシアム(W3C)勧告候補、2012年9月20日)に記載されているWebSocketプロトコルを含む、全二重HTTP対応プロトコルを介して搬送されてもよく、これらは、各々がそれぞれ本明細書に参照として組み込まれる。 As shown in FIG. 1, DASH may operate on HTTP and WebSocket protocols. That is, the DASH media presentation is described in Internet Engineering Task Force (IETF) Request for Commission (RFC) 7540 Hyperext Transfer Protocol Version 2 (HTTP / 2) (HTTP / 2) (May 2015). Described in Task Force, RFC 6455 IETF: "The WebSocket Protocol" (December 2011), and the WebSocket API (Worldwide WebSocket (W3C) Recommendation Candidate, September 20, 2012). They may be delivered via full-duplex HTTP-enabled protocols, including WebSocket protocols, each of which is incorporated herein by reference.

WebSocketプロトコルは、双方向ソケットの確立を通じて、論理クライアントと論理サーバ(リモートホストと呼ばれることもある)との間で相互通信を可能にする。場合によっては、双方向ソケットの側方又はエンドポイントは、ターミナルと呼ばれることもあるという点に留意すべきである。WebSocketプロトコルに基づく双方向ソケットは、ユニバーサルトランスフォーメーションフォーマット-8(Universal Transformation Format-8、UTF-8)で符号化された文字データを、TCPを介して論理クライアントと論理サーバとの間で交換することができる双方向ソケットを含む。23009-6:DASH with Server Push and WebSockets(ISO/IEC JTC1/SC29/WG11/W16232、2016年6月)の国際規格案(以下では、「W16232」)(これは、本明細書に参考として組み込まれる)は、WebSocketプロトコルに基づく双方向ソケットを使用して、MPEG-DASHメディアプレゼンテーションの送達を駆動するためのシグナリング及びメッセージフォーマットを定義する。 The WebSocket protocol allows mutual communication between a logical client and a logical server (sometimes referred to as a remote host) through the establishment of bidirectional sockets. It should be noted that in some cases, the sides or endpoints of bidirectional sockets are sometimes referred to as terminals. A bidirectional socket based on the WebSocket protocol exchanges character data encoded in Universal Transformation Format-8 (UTF-8) between a logical client and a logical server via TCP. Includes bidirectional sockets that can. 2309-6: DASH with Server Push and WebSockets (ISO / IEC JTC1 / SC29 / WG11 / W16232, June 2016) draft international standard (hereinafter, "W16232") (which is incorporated herein by reference). Defines signaling and message formats for driving the delivery of MPEG-DASH media presentations using bidirectional sockets based on the WebSocket protocol.

W16232において、サーバからクライアントへのセグメントの伝送(W16232においてプッシュ(push)と呼ばれる)は、プッシュストラテジに基づき、これは、セグメントをサーバからクライアントへ伝送することができる方法を定義する。W16232において、プッシュディレクティブ(push directive)は、クライアントからサーバへ送信される要求修飾子であり、これにより、クライアントは、要求を処理するためのサーバのプッシュストラテジに関するその期待を表現することができる。更に、W16232において、プッシュ肯定応答(Push Ackとも呼ばれる)は、サーバからクライアントへ送信される応答修飾子であり、これにより、サーバは、要求を処理する際に使用されるプッシュストラテジを述べることができる。W16232において、プッシュディレクティブ及びプッシュ肯定応答は、DASHサブプロトコルフレームヘッダ及び1つ以上の与えられた引数を含むメッセージを送信することによって通信され得る。W16232において提供されるようなDASHサブプロトコルフレームヘッダのセマンティックスは、表1で提供される。

Figure 0007073353000001
In W16232, the transmission of a segment from the server to the client (referred to as push in W16232) is based on a push strategy, which defines how the segment can be transmitted from the server to the client. In W16232, the push directive is a request qualifier sent from the client to the server, which allows the client to express its expectation of the server's push strategy for processing the request. Further, in W16232, an acknowledgment (also called Push Ac) is a response qualifier sent from the server to the client, which allows the server to describe the push strategy used in processing the request. can. In W16232, push directives and push acknowledgments can be communicated by sending a message containing a DASH subprotocol frame header and one or more given arguments. The semantics of the DASH subprotocol frame header as provided in W16232 are provided in Table 1.
Figure 0007073353000001

W16232では、STREAM_ID、MSG_CODE、E、F、EXT_LENGTH、及びExtensionの各々について以下の定義が提供されている。
STREAM_ID:現在のストリームの識別子であり、同一のWebSocket接続を介する複数の要求/応答の多重化を可能にする。特定の要求への応答は、その要求と同一のSTREAM_IDを使用するものとする。新しいSTREAM_IDの出現は、新しいストリームが開始されたことを示す。キャンセル要求、ストリームの終了、又はエラーの受信により、搬送されたSTREAM_IDによって識別されるストリームを閉じるものとする。
W16232 provides the following definitions for each of STREAM_ID, MSG_CODE, E, F, EXT_LENGTH, and Extension.
STREAM_ID: The identifier of the current stream, which allows multiplexing of multiple requests / responses over the same WebSocket connection. Responses to a particular request shall use the same STREAM_ID as that request. The appearance of a new STREAM_ID indicates that a new stream has started. Upon cancellation request, termination of stream, or receipt of error, the stream identified by the carried STREAM_ID shall be closed.

MSG_CODE:このフレームで表されるMPEG-DASHメッセージを示す。利用可能なメッセージコードは、表2で定義される。

Figure 0007073353000002
MSG_CODE: Indicates the MPEG-DASH message represented by this frame. The available message codes are defined in Table 2.
Figure 0007073353000002

E:このフィールドは、エラーフラグである。このフィールドが設定されていると、受信部は、エラーとしてメッセージを解釈できる。エラーに関する付加情報は、拡張ヘッダにおいて利用可能であってもよい。
F:予約
EXT_LENGTH:パディングを含む、アプリケーションデータに先行する4バイト長の拡張データを提供する。
Extension:拡張ヘッダは、IETF RFC7158[The JavaScript Object Notation(JSON) Data lnterchange Format、2013年3月、これは、本明細書に参考として組み込まれる]に準拠する、要求/応答に適用される付加情報フィールドのJavaScript Object Notation(JSON)符号化でなければならない。4バイトの境界にそろえるために、0バイトのパディングを拡張ヘッダ後に追加することができる。コンテンツは、UTF-8フォーマットで符号化されているとする。拡張ヘッダのJSON符号化は、ゼロ以上の名前/値の対を含む、単一ルートレベルJSONオブジェクトからなるものとする。
E: This field is an error flag. If this field is set, the receiver can interpret the message as an error. Additional information about the error may be available in the extension header.
F: Reserved EXT_LENGTH: Provides extended data having a length of 4 bytes preceding the application data, including padding.
Extension: The extension header is an additional information that applies to the request / response in accordance with the IETF RFC7158 [The Javascript Object Notification (JSON) Data linterchange Format, March 2013, which is incorporated herein by reference]. The field must be Javascript Object Notification (JSON) encoding. 0-byte padding can be added after the extension header to align to the 4-byte boundary. It is assumed that the content is encoded in UTF-8 format. The JSON encoding of the extension header shall consist of a single root level JSON object containing zero or more name / value pairs.

表2に示したように、各メッセージタイプは、表3~表8に示されている与えられた引数を含む。表3~表8の各々において、型(Type)は、データ型を示し、URIは、RFC3986で定義されたユニフォームリソース識別子(Uniform Resource Identifier、URI)を含む文字列であり、Stringは、UTF-8文字の文字列、整数であり、Booleanは、true又はfalseの値である。表3~表8の各々において、基数は、メッセージのインスタンスにおけるパラメータの必要なインスタンス数を示し、0は、パラメータ値のシグナリングが任意選択であることを示す。

Figure 0007073353000003

Figure 0007073353000004

Figure 0007073353000005

Figure 0007073353000006

Figure 0007073353000007

Figure 0007073353000008
As shown in Table 2, each message type contains the given arguments shown in Tables 3-8. In each of Tables 3 to 8, Type indicates a data type, URI is a character string including a Uniform Resource Identifier (URI) defined by RFC 3896, and String is UTF-. An 8-character string, an integer, where Boolean is a true or false value. In each of Tables 3-8, the radix indicates the required number of instances of the parameter in the instance of the message, where 0 indicates that the signaling of the parameter value is optional.
Figure 0007073353000003

Figure 0007073353000004

Figure 0007073353000005

Figure 0007073353000006

Figure 0007073353000007

Figure 0007073353000008

表3及び表4を参照すると、W16232は、PushDirectiveパラメータに次のフォーマットを提供する。 Referring to Tables 3 and 4, W16232 provides the following formats for PushDirective parameters.

ABNF[IETF RFC 5234、Augmented BNF[Backus-Naur Form] for Syntax Specifications:ABNF、2008年1月]形式におけるPushDirectiveのフォーマットは、次のとおりである:
PUSH_DIRECTIVE=PUSH_TYPE[OWS OWS QVALUE]
PUSH_TYPE=<[以下]で定義されたPushType>
QVALUE=<RFC7231に記載のqvalue>
「OWS」は、RFC7230[IETF RFC7230、Hypertext Transfer Protocol(HTTP/1.1):Message Syntax and Routing、2014年6月]、セクション3.2.3に定義されており、任意選択の空白を表す。
The format of PushDirective in ABNF [IETF RFC 5234, Augmented BNF [Backus-Naur Form] for Syntax Specifications: ABNF, January 2008] format is as follows:
PUSH_DIRECTIVE = PUSH_TYPE [OWS OWS QVALUE]
PUSH_TYPE = <PushType defined by [below]>
QVALUE = <qvalue described in RFC7231>
"OWS" is defined in RFC 7230 [IETF RFC 7230, Hypertext Transfer Protocol (HTTP / 1.1): Message Syntax and Routing, June 2014], section 32.3, and represents an optional blank. ..

複数のプッシュディレクティブが要求に適用される際、クライアントは、RFC7231のコンテンツネゴシエーションにて使用するために記載されるように、品質値(「qvalue」)を適用することができる。クライアントは、より低い品質値である代替のディレクティブよりも優先したいディレクティブにより高い品質値を適用することができる。これらの値は、サーバへのヒントであり、サーバが最も高い品質値を有するストラテジーを必ず選択するという意味ではないことに留意されたい。 When multiple push directives are applied to a request, the client can apply a quality value (“qvalue”) as described for use in content negotiation of RFC7231. The client can apply a higher quality value to a directive that it wants to take precedence over an alternative directive that has a lower quality value. Note that these values are hints to the server and do not mean that the server will always choose the strategy with the highest quality value.

表5及び表6を参照すると、W16232は、PushAckに次のフォーマットを提供する。
ABNF形式におけるPushAckのフォーマットは、次のとおりである:
PUSH_ACK=PUSH_TYPE
式中、PUSH_TYPEは、[以下]で定義される。
W16232は、PushTypeに次のフォーマットを提供する:
ABNF形式におけるPushTypeのフォーマットは、次のとおりである:
PUSH_TYPE=PUSH_TYPE_NAM[OWS”;”OWS PUSH_PARAMS]PUSH_TYPE_NAME=DQUOTE<URN>DQUOTE
PUSH_PARAMS=PUSH_PARAM*(OWS”;”OWS PUSH_PARAM)
PUSH PARAM=1*VCHAR
式中、
-「<URN>」構文は、RFC 2141[IETF RFC 2141、Uniform Resource Names(URN) Syntax、1997年5月]に定義されている。
Referring to Tables 5 and 6, W16232 provides PushAck with the following formats:
The format of PushAck in ABNF format is as follows:
PUSH_ACK = PUSH_TYPE
In the formula, PUSH_TYPE is defined by [below].
W16232 provides PushType with the following formats:
The format of PushType in ABNF format is as follows:
PUSH_TYPE = PUSH_TYPE_NAM [OWS]; "OWS PUSH_PARAMS] PUSH_TYPE_NAME = DQUATE <URN> DQUATE
PUSH_PARAMS = PUSH_PARAM * (OWS ";" OWS PUSH_PARAM)
PUSH PARAM = 1 * VCHAR
During the ceremony
-The "<URN>" syntax is defined in RFC 2141 [IETF RFC 2141, Uniform Resource Names (URN) Syntax, May 1997].

W16232においてプッシュディレクティブ及びプッシュ肯定応答をシグナリングするために定義されたメッセージは、理想的でない場合がある。 The messages defined for signaling push directives and push acknowledgments in W16232 may not be ideal.

図2は、本開示中に記載された1つ以上の技術を実施できるシステムの例を示すブロック図である。システム200は、本明細書に記載された技術に従って、データを通信するように構成されてもよい。図2に示された実施例では、システム200は、1つ以上の演算デバイス202A~202N、1つ以上のコンテンツプロバイダサイト204A~204N、データベース206、1つ以上のメディア配信エンジン208A~208N、及びワイドエリアネットワーク210を含む。システム200は、ソフトウェアモジュールを含むことができる。ソフトウェアモジュールは、メモリ内に記憶され、プロセッサによって実行することができる。システム200は、1つ以上のプロセッサ並びに複数の内部メモリデバイス及び/又は外部メモリデバイスを含むことができる。メモリデバイスの例としては、ファイルサーバ、ファイル転送プロトコル(file transfer protocol、FTP)サーバ、ネットワークアタッチトストレージ(network attached storage、NAS)デバイス、ローカルディスクドライブ、又はデータを記憶できる任意の他のタイプのデバイス若しくは記憶媒体が挙げられる。記憶媒体は、Blu-ray(登録商標)ディスク、DVD、CD-ROM、磁気ディスク、フラッシュメモリ、又は任意の他の好適なデジタル記憶媒体を含むことができる。本明細書に記載された技術がソフトウェア内に部分的に実装されている場合、デバイスは、好適な非一時的コンピュータ可読媒体内にソフトウェアの命令を記憶し、かつ1つ以上のプロセッサを使用して、ハードウェア内で命令を実行することができる。 FIG. 2 is a block diagram showing an example of a system capable of implementing one or more of the techniques described in the present disclosure. The system 200 may be configured to communicate data according to the techniques described herein. In the embodiment shown in FIG. 2, the system 200 has one or more computing devices 202A-202N, one or more content provider sites 204A-204N, a database 206, one or more media distribution engines 208A-208N, and Includes wide area network 210. The system 200 can include software modules. Software modules are stored in memory and can be executed by the processor. The system 200 can include one or more processors and a plurality of internal and / or external memory devices. Examples of memory devices are file servers, file transfer protocol (FTP) servers, network attached storage (NAS) devices, local disk drives, or any other type that can store data. Examples include devices or storage media. The storage medium can include a Blu-ray® disc, DVD, CD-ROM, magnetic disc, flash memory, or any other suitable digital storage medium. When the techniques described herein are partially implemented in software, the device stores software instructions in a suitable non-temporary computer-readable medium and uses one or more processors. And can execute instructions in hardware.

システム200は、例えば、映画、ライブスポーツイベントなどのデジタルメディアコンテンツ、並びにデータ及びアプリケーション及びそれらに関連するメディアプレゼンテーションが複数の演算デバイスに配信され及びそれらによってアクセスされることが可能となるように構成され得るシステムの一例を表す。図2に示された実施例では、演算デバイス202A~202Nは、有線通信及び/又は無線通信のために装備された任意のデバイスを含むことができ、テレビ、セットトップボックス、デジタルビデオレコーダ、デスクトップ、ラップトップ、又はタブレット型コンピュータ、ゲーミングコンソール、例えば、「スマート」フォン、携帯電話、及びパーソナルゲーミングデバイスを含むモバイルデバイスを含むことができる。システム200は、別個のサイトを有するものとして図示されるが、このような図示は、説明を目的としており、システム200を特定の物理アーキテクチャに限定しないという点に留意すべきである。システム200及びそれに含まれるサイトの機能は、ハードウェア実装、ファームウェア実装、及び/又はソフトウェア実装の任意の組み合わせを使用して実現することができる。 The system 200 is configured such that digital media content such as movies, live sporting events, and data and applications and related media presentations can be delivered to and accessed by a plurality of computing devices. It represents an example of a possible system. In the embodiment shown in FIG. 2, the computing devices 202A-202N can include any device equipped for wired and / or wireless communication, such as a television, set-top box, digital video recorder, desktop. , Laptops, or tablet computers, gaming consoles, such as mobile devices, including "smart" phones, mobile phones, and personal gaming devices. It should be noted that the system 200 is illustrated as having a separate site, but such illustration is for illustration purposes only and does not limit the system 200 to a particular physical architecture. The functionality of the system 200 and the sites contained therein can be implemented using any combination of hardware implementations, firmware implementations, and / or software implementations.

図3は、本開示の1つ以上の技術を実施できる演算デバイスの例を示すブロック図であり、演算デバイス300は、通信ネットワークからデータを受信し、ユーザがマルチメディアコンテンツにアクセスすることを可能にするように構成され得る演算デバイスの一例である。演算デバイス300は、中央処理装置(単数又は複数)302、システムメモリ304、システムインターフェース312、音声デコーダ314、音声出力システム316、動画像デコーダ318、表示システム320、I/Oデバイス(単数又は複数)322、及びネットワークインターフェース324を含む。中央処理装置(単数又は複数)302、システムメモリ304、システムインターフェース312、音声デコーダ314、音声出力システム316、動画像デコーダ318、表示システム320、I/Oデバイス(単数又は複数)322、及びネットワークインターフェース324の各々は、コンポーネント間通信のために(物理的、通信的、及び/又は動作的に)相互接続してもよく、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(digital signal processors、DSP)、特定用途向け集積回路(application specific integrated circuits、ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate arrays、FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの組み合わせなどの様々な好適な回路のいずれかとして実装することができる。演算デバイス300は、別個の機能ブロックを有するものとして図示されるが、このような図示は、説明を目的としており、演算デバイス300を特定のハードウェアアーキテクチャに限定しないという点に留意すべきである。演算デバイス300の機能は、ハードウェア実装、ファームウェア実装、及び/又はソフトウェア実装の任意の組み合わせを使用して実現することができる。 FIG. 3 is a block diagram showing an example of an arithmetic device capable of implementing one or more of the techniques of the present disclosure, wherein the arithmetic device 300 receives data from a communication network and allows a user to access multimedia content. It is an example of an arithmetic device that can be configured to be. The arithmetic device 300 includes a central processing unit (s) 302, a system memory 304, a system interface 312, a voice decoder 314, a voice output system 316, a moving image decoder 318, a display system 320, and an I / O device (s). 322, and network interface 324. Central processing unit (s) 302, system memory 304, system interface 312, audio decoder 314, audio output system 316, video decoder 318, display system 320, I / O device (s) 322, and network interface Each of the 324s may be interconnected (physically, communicatively, and / or operational) for inter-component communication, one or more microprocessors, digital signal processors (DSPs),. Any of a variety of suitable circuits such as application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), discrete logic, software, hardware, firmware, or a combination thereof. It can be implemented as a hardware. Although the arithmetic device 300 is illustrated as having a separate functional block, it should be noted that such an illustration is for illustration purposes only and does not limit the arithmetic device 300 to a particular hardware architecture. .. The function of the arithmetic device 300 can be realized by using any combination of hardware implementation, firmware implementation, and / or software implementation.

CPU(単数又は複数)302は、演算デバイス300において実行するための機能及び/又はプロセス命令を実施するように構成されてもよい。CPU(単数又は複数)302は、シングルコア及び/又はマルチコアの中央処理装置を含むことができる。CPU(単数又は複数)302は、本明細書に記載された技術のうちの1つ以上を実施するための命令、コード、及び/又はデータ構造を検索及び処理することが可能であり得る。命令は、システムメモリ304などのコンピュータ可読媒体に記憶され得る。システムメモリ304は、非一時的又は有形のコンピュータ可読記憶媒体として記載することができる。いくつかの実施例では、システムメモリ304は、一時的及び/又は長期記憶部を提供することができる。いくつかの実施例では、システムメモリ304又はその一部は、不揮発性メモリとして記載されてもよく、別の実施例では、システムメモリ304の一部は、揮発性メモリとして記載されてもよい。システムメモリ304は、動作中に演算デバイス300によって使用され得る情報を記憶するように構成されてもよい。システムメモリ304は、CPU(単数又は複数)302によって実行するためのプログラム命令を記憶するために使用することができ、演算デバイス300上で実行しているプログラムによって、プログラム実行中に情報を一時的に記憶するために使用されてもよい。更に、システムメモリ304は、多数のデジタルメディアコンテンツファイルを記憶するように構成されてもよい。 The CPU (s) 302 may be configured to perform functions and / or process instructions for execution in the arithmetic device 300. The CPU (s) 302 can include single-core and / or multi-core central processing units. The CPU (s) 302 may be capable of retrieving and processing instructions, codes, and / or data structures for performing one or more of the techniques described herein. Instructions may be stored on a computer-readable medium such as system memory 304. The system memory 304 can be described as a non-temporary or tangible computer-readable storage medium. In some embodiments, the system memory 304 can provide temporary and / or long-term storage. In some embodiments, the system memory 304 or a portion thereof may be described as a non-volatile memory, and in another embodiment, a portion of the system memory 304 may be described as a volatile memory. The system memory 304 may be configured to store information that may be used by the arithmetic device 300 during operation. The system memory 304 can be used to store program instructions to be executed by the CPU (s) 302, and the program running on the arithmetic device 300 temporarily stores information during program execution. It may be used to store in. Further, the system memory 304 may be configured to store a large number of digital media content files.

図3に示したように、システムメモリ304は、オペレーティングシステム306、アプリケーション308、及びブラウザアプリケーション310を含む。アプリケーション308は、演算デバイス300内で実施されるか又はそれによって実行されるアプリケーションを含むことができ、演算デバイス300のコンポーネント内に実装されるか若しくは含まれ、それによって動作可能であり、それによって実行され、及び/又は動作的/通信的に結合され得る。アプリケーション308は、演算デバイス300のCPU(単数又は複数)302に特定の機能を実行させることができる命令を含むことができる。アプリケーション308は、forループ、whileループ、ifステートメント、doループなどのコンピュータプログラミングステートメントで表現されたアルゴリズムを含むことができる。アプリケーション308は、特定のプログラミング言語を使用して開発され得る。プログラミング言語の例としては、Java(登録商標)、Jini(登録商標)、C,C++、Objective C、swift、Perl(登録商標)、Python(登録商標)、PhP、UNIX(登録商標) Shell、Visual Basic、及びVisual Basic Scriptが挙げられる。ブラウザアプリケーション310は、演算デバイス300がリソース識別子を使用してデータを検索すること、及び/又は検索したデータをレンダリングさせることを可能にする論理構造を含む。ブラウザアプリケーション310は、1つ以上のウェブブラウザを含むことができる。ブラウザアプリケーション310は、例えば、マークアップ言語ドキュメント(例えば、HTML5、XMLなど)及びスクリプト言語ドキュメント(例えば、JavaScript(登録商標)など)などのウェブサイトコンテンツに一般に対応するドキュメントを処理するように構成されてもよい。アプリケーション308及びブラウザアプリケーション310は、オペレーティングシステム306と関連して実行することができる。すなわち、オペレーティングシステム306は、演算デバイス300のCPU(単数又は複数)302及び他のハードウェアコンポーネントとのアプリケーションのインタラクションを容易にするように構成されてもよい。いくつかの実施例では、オペレーティングシステム306は、セットトップボックス、デジタルビデオレコーダ、テレビなどにインストールされるように設計されたオペレーティングシステムであってよい。更に、いくつかの実施例では、オペレーティングシステム306は、専用の演算デバイス及び/又はモバイル演算デバイス上にインストールされるように設計されたオペレーティングシステムであってよい。本明細書に記載された技術は、ソフトウェアアーキテクチャのいずれか及びすべての組み合わせを使用して動作するように構成されたデバイスによって利用され得るという点に留意すべきである。 As shown in FIG. 3, the system memory 304 includes an operating system 306, an application 308, and a browser application 310. The application 308 may include an application implemented or executed within the arithmetic device 300, which may be implemented or included within a component of the arithmetic device 300, thereby being operational. It can be performed and / or coupled operational / communicatively. The application 308 may include an instruction that allows the CPU (s) 302 of the arithmetic device 300 to perform a particular function. Application 308 can include algorithms expressed in computer programming statements such as for loops, while loops, if statements, and do loops. Application 308 may be developed using a particular programming language. Examples of programming languages are Java®, Jini®, C, C ++, Objective C, swift, Perl®, Python®, PhP, UNIX® Shell, Visual. Basic and Visual Basic Script can be mentioned. The browser application 310 includes a logical structure that allows the arithmetic device 300 to retrieve data using resource identifiers and / or render the retrieved data. The browser application 310 can include one or more web browsers. The browser application 310 is configured to process documents that generally correspond to website content, such as markup language documents (eg, HTML5, XML, etc.) and scripted language documents (eg, Javascript®, etc.). You may. Application 308 and browser application 310 can be run in association with operating system 306. That is, the operating system 306 may be configured to facilitate application interaction with the CPU (s) 302 of the arithmetic device 300 and other hardware components. In some embodiments, the operating system 306 may be an operating system designed to be installed in a set-top box, digital video recorder, television, and the like. Further, in some embodiments, the operating system 306 may be an operating system designed to be installed on a dedicated computing device and / or a mobile computing device. It should be noted that the techniques described herein can be utilized by devices configured to operate using any and all combinations of software architectures.

システムインターフェース312は、演算デバイス300のコンポーネント間で通信できるように構成されてもよい。一例では、システムインターフェース312は、あるピアデバイスから別のピアデバイス又は記憶媒体にデータを転送することを可能にする構造を含む。例えば、システムインターフェース312は、アクセラレーテッドグラフィックスポート(Accelerated Graphics Port、AGP)ベースプロトコル、例えば、Peripheral Component Interconnect Special Interest Groupによって管理されたPCI Express(登録商標)(PCIe)バス仕様などのペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、PCI)バスベースプロトコル、又はピアデバイスと相互接続するのに使用することができる任意の他の形態の構造(例えば、独自のバスプロトコル)に対応するチップセットを含むことができる。 The system interface 312 may be configured to allow communication between the components of the arithmetic device 300. In one example, the system interface 312 includes a structure that allows data to be transferred from one peer device to another peer device or storage medium. For example, the system interface 312 is a peripheral component interconnect such as an Accelerated Graphics Port (AGP) -based protocol, such as a PCI Express® bus specification managed by the Peripheral Component Interconnect Expert Group. (Peripheral Component Interconnect, PCI) can include chipsets that support bus-based protocols, or any other form of structure that can be used to interconnect with peer devices (eg, proprietary bus protocols). ..

前述したように、演算デバイス300は、演算デバイス300は、通信ネットワークからデータを受信し、そこからデジタルメディアコンテンツを抽出するように構成されている。抽出されたデジタルメディアコンテンツは、様々なパケットタイプでカプセル化されてもよい。ネットワークインターフェース324は、演算デバイス300がローカルエリアネットワーク及び/又はワイドエリアネットワークを介してデータを送信及び受信できるように構成されてもよい。ネットワークインターフェース324は、Ethernet(登録商標)カードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、又は情報を送信及び受信するように構成された任意の他のタイプのデバイスを含むことができる。ネットワークインターフェース324は、ネットワークで利用される物理層及びメディアアクセス制御(Media Access Control、MAC)層に従って、物理的シグナリング、アドレッシング、及びチャネルアクセス制御を実行するように構成されてもよい。演算デバイス300は、本明細書に記載された技術のいずれかに従って生成された信号を解析するように構成されてもよい。 As described above, the arithmetic device 300 is configured such that the arithmetic device 300 receives data from a communication network and extracts digital media contents from the data. The extracted digital media content may be encapsulated in various packet types. The network interface 324 may be configured to allow the computing device 300 to transmit and receive data over a local area network and / or a wide area network. The network interface 324 can include a network interface card such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device configured to transmit and receive information. The network interface 324 may be configured to perform physical signaling, addressing, and channel access control according to the physical and media access control (MAC) layers used in the network. The arithmetic device 300 may be configured to analyze a signal generated according to any of the techniques described herein.

音声デコーダ314は、音声パケットを受信及び処理するように構成されてもよい。例えば、音声デコーダ314は、音声コーデックの態様を実施するように構成されたハードウェア及びソフトウェアの組み合わせを含むことができる。すなわち、音声デコーダ314は、音声パケットを受信して、レンダリングのために音声出力システム316に音声データを提供するように構成されてもよい。音声データは、Dolby及びDigital Theater Systemsによって開発されたものなどのマルチチャネルフォーマットを使用して、符号化されてもよい。音声データは、音声圧縮フォーマットを使用して符号化されてもよい。音声圧縮フォーマットの例としては、Motion Picture Experts Group(MPEG)フォーマット、先進的音響符号化(Advanced Audio Coding、AAC)フォーマット、DTS-HDフォーマット、及びドルビーデジタル(AC-3)フォーマットが挙げられる。音声出力システム316は、音声データをレンダリングするように構成されてもよい。例えば、音声出力システム316は、音声プロセッサ、デジタル/アナログ変換装置、増幅器、及びスピーカシステムを含むことができる。スピーカシステムは、ヘッドホン、統合ステレオスピーカシステム、マルチスピーカシステム、又はサラウンドサウンドシステムなどの様々なスピーカシステムのいずれかを含むことができる。 The voice decoder 314 may be configured to receive and process voice packets. For example, the voice decoder 314 can include a combination of hardware and software configured to implement aspects of a voice codec. That is, the audio decoder 314 may be configured to receive audio packets and provide audio data to the audio output system 316 for rendering. Audio data may be encoded using a multi-channel format such as that developed by Dolby and Digital Theater Systems. The audio data may be encoded using an audio compression format. Examples of audio compression formats include Motion Picture Experts Group (MPEG) format, Advanced Audio Coding (AAC) format, DTS-HD format, and Dolby Digital (AC-3) format. The audio output system 316 may be configured to render audio data. For example, the audio output system 316 can include an audio processor, a digital / analog converter, an amplifier, and a speaker system. The speaker system can include any of various speaker systems such as headphones, integrated stereo speaker system, multi-speaker system, or surround sound system.

動画像デコーダ318は、動画像パケットを受信及び処理するように構成されてもよい。例えば、動画像デコーダ318は、動画像コーデックの態様を実施するように使用されたハードウェア及びソフトウェアの組み合わせを含むことができる。一例では、動画像デコーダ318は、ITU-T H.262又はISO/IEC MPEG-2 Visual、ISO/IEC MPEG-4 Visual、ITU-T H.264(ISO/IEC MPEG-4 Advanced video Coding(AVC)としても知られている)、及びHigh-Efficiency Video Coding(HEVC)などの任意の数の動画像圧縮規格に従って符号化された動画像データを復号化するように構成されてもよい。表示システム320は、表示のために動画像データを検索及び処理するように構成されてもよい。例えば、表示システム320は、動画像デコーダ318から画素データを受信し、ビジュアルプレゼンテーションのためにデータを出力することができる。更に、表示システム320は、動画像データと関連するグラフィックス(例えば、グラフィカルユーザインターフェース)を出力するように構成されてもよい。表示システム320は、液晶ディスプレイ(liquid crystal display、LCD)、プラズマディスプレイ、有機発光ダイオード(organic light emitting diode、OLED)ディスプレイ、又は動画像データをユーザに提示することができる別のタイプのディスプレイデバイスなどの様々な表示デバイスのうちの1つを含むことができる。表示デバイスは、標準精細度コンテンツ、高精細度コンテンツ、又は超高精度コンテンツを表示するように構成されてもよい。 The moving image decoder 318 may be configured to receive and process moving image packets. For example, the moving image decoder 318 can include a combination of hardware and software used to implement aspects of the moving image codec. In one example, the moving image decoder 318 is the ITU-T H.D. 262 or ISO / IEC MPEG-2 Visual, ISO / IEC MPEG-4 Visual, ITU-TH. Video data encoded according to any number of video compression standards, such as 264 (also known as ISO / IEC MPEG-4 Advanced video Coding (AVC)), and High-Efficienty Video Coding (HEVC). It may be configured to decrypt. The display system 320 may be configured to search and process moving image data for display. For example, the display system 320 can receive pixel data from the moving image decoder 318 and output the data for a visual presentation. Further, the display system 320 may be configured to output graphics (eg, a graphical user interface) associated with the moving image data. The display system 320 may be a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or another type of display device capable of presenting moving image data to the user. Can include one of the various display devices of. The display device may be configured to display standard definition content, high definition content, or ultra-high precision content.

I/Oデバイス(単数又は複数)322は、演算デバイス300の動作中に入力を受信し、出力を提供するように構成されてもよい。すなわち、I/Oデバイス(単数又は複数)322は、レンダリングされるマルチメディアコンテンツをユーザが選択できるようにする。入力は、例えば、押しボタン式リモートコントロール、タッチ感知スクリーンを含むデバイス、モーションベースの入力デバイス、音声ベースの入力デバイス、又はユーザ入力を受信するように構成された任意の他のタイプのデバイスなどの入力デバイスから生成され得る。I/Oデバイス(単数又は複数)322は、例えば、ユニバーサルシリアルバスプロトコル(Universal Serial Bus、USB)、Bluetooth(登録商標)、ZigBee(登録商標)などの規格化された通信プロトコル、又は例えば、独自の赤外線通信プロトコルなどの独自の通信プロトコルを使用して、演算デバイス300に動作的に結合され得る。 The I / O device (s) 322 may be configured to receive an input and provide an output during the operation of the arithmetic device 300. That is, the I / O device (s) 322 allows the user to select the multimedia content to be rendered. Inputs include, for example, pushbutton remote controls, devices including touch-sensitive screens, motion-based input devices, voice-based input devices, or any other type of device configured to receive user input. Can be generated from an input device. The I / O device (s) 322 may be a standardized communication protocol such as, for example, Universal Serial Bus (USB), Bluetooth®, ZigBee®, or, for example, proprietary. It may be operationally coupled to the computing device 300 using a proprietary communication protocol such as the infrared communication protocol of.

図2を再度参照すると、ワイドエリアネットワーク210は、デジタルメディアコンテンツを配信できるように構成されたネットワークの一例である。ワイドエリアネットワーク210は、パケットベースのネットワークを含み、1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。電気通信プロトコルは、専用の態様を含むことができ、及び/又は規格化された電気通信プロトコルを含むことができる。
規格化された電気通信プロトコルの例としては、汎欧州デジタル移動電話方式(Global System Mobile Communications、GSM)規格、符号分割多元接続(code division multiple access、CDMA)規格、3rd Generation Partnership Project(3GPP)規格、欧州電気通信標準化機構(European Telecommunications Standards Institute、ETSI)規格、欧州規格(EN)、IP規格、ワイヤレスアプリケーションプロトコル(Wireless Application Protocol、WAP)規格、及び例えば、IEEE 802規格のうちの1つ以上(例えば、Wi-Fi)などのInstitute of Electrical and Electronics Engineers(IEEE)規格が挙げられる。ワイドエリアネットワーク210は、無線通信メディア及び/又は有線通信メディアの任意の組み合わせを含むことができる。ワイドエリアネットワーク210は、同軸ケーブル、光ファイバケーブル、ツイストペアケーブル、イーサネット(登録商標)ケーブル、無線送信部及び受信部、ルータ、スイッチ、中継器、基地局、又は様々なデバイス及びサイト間の通信を容易にするために有用であり得る任意の他の機器を含むことができる。一例では、ワイドエリアネットワーク210は、一般に、インターネット及びそのサブネットワークに対応してもよい。
Referring again to FIG. 2, the wide area network 210 is an example of a network configured to deliver digital media content. The wide area network 210 includes a packet-based network and can operate according to a combination of one or more telecommunications protocols. Telecommunications protocols can include specialized embodiments and / or can include standardized telecommunications protocols.
Examples of standardized telecommunications protocols are the Global System Mobile Communications (GSM) standard, the code division multiple access (CDMA) standard, and the 3rd Generation Partnership Project (3GPP). One or more of standards, European Telecommunications Standards Institute (ETSI) standards, European standards (EN), IP standards, Wireless Application Protocol (WAP) standards, and, for example, the IEEE 802 standard. Examples include Institute of Electrical and Electronics Engineers (IEEE) standards such as (Wi-Fi). The wide area network 210 can include any combination of wireless communication media and / or wired communication media. Wide area network 210 communicates between coaxial cables, fiber optic cables, twisted pair cables, Ethernet® cables, wireless transmitters and receivers, routers, switches, repeaters, base stations, or various devices and sites. It can include any other equipment that may be useful for facilitation. In one example, the wide area network 210 may generally correspond to the Internet and its subnetworks.

更に、ワイドエリアネットワーク210上は、ラジオ及びテレビサービスネットワークを含むことができ、公衆無線伝送ネットワーク、公衆若しくは加入に基づく衛星伝送ネットワーク、及び公衆若しくは加入に基づくケーブルネットワーク、並びに/又はオーバーザトップ(over the top)若しくはインターネットサービスプロバイダを含むことができる。ワイドエリアネットワーク210は、ラジオ及びテレビサービスネットワークと関連付けられた1つ以上の電気通信プロトコルの組み合わせに従って動作することができる。電気通信プロトコルは、専用の態様を含むことができ、及び/又は規格化された電気通信プロトコルを含むことができる。規格化された電気通信プロトコルの例としては、DVB規格、ATSC規格、ISDB規格、DTMB規格、DMB規格、ケーブルによるデータサービスインターフェース標準(Data Over Cable Service Interface Specification、DOCSIS)規格、HbbTV規格、W3C規格、及びUPnP規格が挙げられる。 Further, on the wide area network 210 can include radio and television service networks, including public radio transmission networks, public or subscription-based satellite transmission networks, and public or subscription-based cable networks, and / or over-the-top (over). The top) or Internet service providers can be included. The wide area network 210 can operate according to a combination of one or more telecommunications protocols associated with a radio and television service network. Telecommunications protocols can include specialized embodiments and / or can include standardized telecommunications protocols. Examples of standardized telecommunications protocols include DVB standards, ATSC standards, ISDB standards, DTMB standards, DMB standards, Data Over Cable Service Interface Specification (DOCSIS) standards, HbbTV standards, and W3C standards. , And UPnP standards.

図2を再度参照すると、コンテンツプロバイダサイト204A~204Nは、マルチメディアコンテンツを発信することができるサイトの例を表す。例えば、コンテンツプロバイダサイトは、マルチメディアファイル及び/又はストリームをメディア配信エンジン及び/又はデータベースに提供するように構成された1つ以上のスタジオコンテンツサーバを有するスタジオを含むことができる。データベース306は、例えばマルチメディアコンテンツ及びそれに関連するデータ、例えば、記述データ及び実行可能な対話型アプリケーションを含むデータを記憶するように構成された記憶デバイスを含むことができる。マルチメディアコンテンツと関連付けられたデータは、例えば、ハイパーテキストマークアップランゲージ(Hypertext Markup Language、HTML)、ダイナミックHTML、XML、及びJSONなどの定義されたデータフォーマットに従ってフォーマットすることができ、URL及びURIを含むことができる。 Referring again to FIG. 2, the content provider sites 204A-204N represent examples of sites capable of transmitting multimedia content. For example, a content provider site may include a studio having one or more studio content servers configured to serve multimedia files and / or streams to a media distribution engine and / or database. Database 306 may include storage devices configured to store, for example, multimedia content and related data, such as descriptive data and data including executable interactive applications. The data associated with the multimedia content can be formatted according to defined data formats such as Hypertext Markup Language (HTML), Dynamic HTML, XML, and JSON, and URLs and URIs. Can include.

メディア配信エンジン208A~208Nは、ワイドエリアネットワーク210を介してデジタルメディアコンテンツを配信するように構成されてもよい。例えば、メディア配信エンジン208A~208Nは、1つ以上の放送局、ケーブルテレビプロバイダサイト、衛星テレビプロバイダサイト、インターネットベースのテレビプロバイダサイト、及び/又はいわゆるストリーミングメディアサービスサイトに含まれ得る。メディア配信エンジン208A~208Nは、例えば、マルチメディアコンテンツ、対話型アプリケーション及びメッセージを含むデータを受信し、ワイドエリアネットワーク210を通じて、演算デバイス202A~202Nにデータを配信するように構成されてもよい。 The media distribution engines 208A-208N may be configured to distribute digital media content via the wide area network 210. For example, the media distribution engines 208A-208N may be included in one or more broadcast stations, cable television provider sites, satellite television provider sites, internet-based television provider sites, and / or so-called streaming media service sites. The media distribution engines 208A-208N may be configured to receive data including, for example, multimedia content, interactive applications and messages and distribute the data to computing devices 202A-202N through the wide area network 210.

図4は、本開示の1つ以上の技術を実施できるメディア配信エンジンの例を示すブロック図である。メディア配信エンジン400は、データを受信し、通信ネットワーク、例えば、ワイドエリアネットワーク210を介して配信するためのデータを表す信号を出力するように構成されてもよい。例えば、メディア配信エンジン400は、デジタルメディアコンテンツを受信し、1つ以上のデータストリームを出力するように構成されてもよい。データストリームは、一般に、1つ以上のデータパケットのセットにカプセル化されたデータを指すことができる。図4に示したように、メディア配信エンジン400は、中央処理装置(単数又は複数)402、システムメモリ404、システムインターフェース412、メディアプレゼンテーション記述生成部414、セグメント生成部416、トランスポート/ネットワークパケット生成部418、及びネットワークインターフェース420を含む。中央処理装置(単数又は複数)402、システムメモリ404、システムインターフェース412、メディアプレゼンテーション生成部414、セグメント生成部416、トランスポート/ネットワークパケット生成部418、及びネットワークインターフェース420の各々は、コンポーネント間通信のために(物理的、通信的、及び/又は動作的に)相互接続してもよく、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、又はこれらの組み合わせなどの様々な好適な回路のいずれかとして実装することができる。メディア配信エンジン400は、別個の機能ブロックを有するものとして図示されるが、このような図示は、説明を目的としており、メディア配信エンジン400を特定のハードウェアアーキテクチャに限定しないという点に留意すべきである。メディア配信エンジン400の機能は、ハードウェア実装、ファームウェア実装、及び/又はソフトウェア実装の任意の組み合わせを使用して実現することができる。 FIG. 4 is a block diagram showing an example of a media distribution engine capable of implementing one or more of the techniques of the present disclosure. The media distribution engine 400 may be configured to receive the data and output a signal representing the data for distribution via a communication network, for example, a wide area network 210. For example, the media distribution engine 400 may be configured to receive digital media content and output one or more data streams. A data stream can generally refer to data encapsulated in one or more sets of data packets. As shown in FIG. 4, the media distribution engine 400 includes a central processing unit (s) 402, a system memory 404, a system interface 412, a media presentation description generator 414, a segment generator 416, and a transport / network packet generator. A unit 418 and a network interface 420 are included. Each of the central processing unit (s) 402, system memory 404, system interface 412, media presentation generator 414, segment generator 416, transport / network packet generator 418, and network interface 420 is for inter-component communication. May be interconnected (physically, communically, and / or operational) for one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field programmable gate arrays. It can be implemented as any of a variety of suitable circuits such as (FPGA), discrete logic, software, hardware, firmware, or a combination thereof. Although the media distribution engine 400 is illustrated as having a separate functional block, it should be noted that such illustration is for illustration purposes only and does not limit the media distribution engine 400 to a particular hardware architecture. Is. The functionality of the media distribution engine 400 can be realized using any combination of hardware implementation, firmware implementation, and / or software implementation.

中央処理装置(単数又は複数)402、システムメモリ404、システムインターフェース412、及びネットワークインターフェース420の各々は、上述の中央処理装置(単数又は複数)302、システムメモリ304、システムインターフェース312、及びネットワークインターフェース324と同様であってもよい。CPU(単数又は複数)402は、メディア配信エンジン400において実行するための機能及び/又はプロセス命令を実施するように構成されてもよい。システムインターフェース412は、メディア配信エンジン400のコンポーネント間で通信できるように構成されてもよい。ネットワークインターフェース420は、メディア配信エンジン400がローカルエリアネットワーク及び/又はワイドエリアネットワークを介してデータを送信及び受信できるように構成されてもよい。システムメモリ404は、動作中にメディア配信エンジン400によって使用され得る情報を記憶するように構成されてもよい。システムメモリ404は、コンポーネントカプセル化部402、トランスポート/ネットワークパケット生成部404、リンク層パケット生成部406、及びフレームビルダ、及び波形生成部408の各々内に含まれる個々のメモリ要素を含んでもよいという点に留意すべきである。例えば、システムメモリ404は、メディア配信エンジン400のコンポーネントによる処理のためのデータを記憶するように構成された1つ以上のバッファ(例えば、先入れ先出し(First-in First-out、FIFO)バッファ)を含むことができる。 Each of the central processing unit (s) 402, system memory 404, system interface 412, and network interface 420 is the central processing unit (s) 302, system memory 304, system interface 312, and network interface 324 described above. May be similar to. The CPU (s) 402 may be configured to perform functions and / or process instructions for execution in the media distribution engine 400. The system interface 412 may be configured to allow communication between the components of the media distribution engine 400. The network interface 420 may be configured to allow the media distribution engine 400 to transmit and receive data over a local area network and / or a wide area network. The system memory 404 may be configured to store information that may be used by the media distribution engine 400 during operation. The system memory 404 may include individual memory elements contained within each of the component encapsulation unit 402, the transport / network packet generation unit 404, the link layer packet generation unit 406, and the frame builder, and the waveform generation unit 408. It should be noted that. For example, system memory 404 includes one or more buffers configured to store data for processing by components of the media distribution engine 400 (eg, First-in First-out (FIFO) buffers). be able to.

図4に示したように、システムメモリは、オペレーティングシステム406、メディアコンテンツ408、及びサーバアプリケーション410を含む。オペレーティングシステム406は、メディア配信エンジン400のCPU(単数又は複数)402及び他のハードウェアコンポーネントとのアプリケーションのインタラクションを容易にするように構成されてもよい。メディアコンテンツ408は、メディアプレゼンテーション(例えば、動画像コンポーネント、音声コンポーネント、サブタイトルコンポーネントなど)を形成するデータを含むことができる。メディアプレゼンテーション生成部414は、1つ以上のコンポーネントを受信し、DASHに基づいてメディアプレゼンテーションを生成するように構成されてもよい。更に、メディアプレゼンテーション生成部414は、メディアプレゼンテーション記述フラグメントを生成するように構成されてもよい。セグメント生成部416は、メディアコンポーネントを受信し、メディアプレゼンテーションに含めるための1つ以上のセグメントを生成するように構成されてもよい。トランスポート/ネットワークパケット生成部418は、トランスポートパッケージを受信し、トランスポートパッケージを対応するトランスポート層パケット(例えば、UDP、トランスポートコントロールプロトコル(TCP)など)及びネットワーク層パケット(例えば、Ipv4、Ipv6、圧縮IPパケットなど)にカプセル化するように構成されてもよい。 As shown in FIG. 4, the system memory includes an operating system 406, media content 408, and server application 410. The operating system 406 may be configured to facilitate application interaction with the CPU (s) 402 of the media distribution engine 400 and other hardware components. The media content 408 can include data forming a media presentation (eg, moving image component, audio component, subtitle component, etc.). The media presentation generator 414 may be configured to receive one or more components and generate a media presentation based on DASH. Further, the media presentation generation unit 414 may be configured to generate a media presentation description fragment. The segment generator 416 may be configured to receive the media component and generate one or more segments for inclusion in the media presentation. The transport / network packet generator 418 receives the transport package, and the transport layer packet (eg, UDP, transport control protocol (TCP), etc.) and the network layer packet (eg, Ipv4, etc.) corresponding to the transport package are received. It may be configured to be encapsulated in (Ipv6, compressed IP packet, etc.).

図4を再度参照すると、システムメモリ404は、サーバアプリケーション410を含む。前述したように、WebSocketプロトコルは、双方向ソケットの確立を通じて、論理クライアントと論理サーバとの間で相互通信を可能にする。サーバアプリケーション410は、メディア配信エンジン400のCPU(単数又は複数)402にWebSocketプロトコルと関連付けられた特定の機能を実行させることができる命令を含むことができる。図5は、本開示の1つ以上の技術による、通信フローの例を示す概念図である。図5は、全二重WebSocketセッションを介してMPEG-DASHメディアプレゼンテーションを搬送するためのメッセージフローの例を示す。前述したように、W16232においてプッシュディレクティブ及びプッシュ肯定応答をシグナリングするために定義されたメッセージは、理想的でない場合がある。演算デバイス300及びメディア配信エンジン400は、本明細書に記載された技術に従ってメッセージを交換するように構成されてもよい。 Referring again to FIG. 4, system memory 404 includes server application 410. As mentioned above, the WebSocket protocol allows mutual communication between a logical client and a logical server through the establishment of bidirectional sockets. The server application 410 can include instructions that can cause the CPU (s) 402 of the media distribution engine 400 to perform a particular function associated with the WebSocket protocol. FIG. 5 is a conceptual diagram showing an example of a communication flow according to one or more techniques of the present disclosure. FIG. 5 shows an example of a message flow for transporting an MPEG-DASH media presentation via a full-duplex WebSocket session. As mentioned above, the messages defined in W16232 for signaling push directives and push acknowledgments may not be ideal. The arithmetic device 300 and the media distribution engine 400 may be configured to exchange messages according to the techniques described herein.

図5に示された実施例では、502において、ブラウザアプリケーション310は、MPD要求をサーバアプリケーション410に送信する。いくつかの実施例では、ブラウザアプリケーション310は、クライアント、又はHTTPクライアント、又はDASHクライアントと呼ばれることもある。表3を参照すると、W16232は、表3の与えられた引数に対して規範的なJSONスキーマを定義できない。図6A~図6Bは、メディアプレゼンテーションドキュメント要求メッセージのそれぞれの例示的なJSONスキーマを示すコンピュータプログラミングリストである。一例では、ブラウザアプリケーション310は、図6A~図6Bに示された例示的なスキーマに基づいて、MPD要求をサーバアプリケーション410に送信するように構成されてもよい。 In the embodiment shown in FIG. 5, in 502, the browser application 310 sends an MPD request to the server application 410. In some embodiments, the browser application 310 may also be referred to as a client, or HTTP client, or DASH client. Referring to Table 3, W16232 cannot define a normative JSON schema for the given arguments in Table 3. 6A-6B are computer programming lists showing an exemplary JSON schema for each media presentation document request message. In one example, the browser application 310 may be configured to send MPD requests to the server application 410 based on the exemplary schema shown in FIGS. 6A-6B.

図5を再度参照すると、504において、サーバアプリケーション410は、MPD要求応答をブラウザアプリケーション310に送信する。表5を参照すると、W16232は、表5の与えられた引数に対して規範的なJSONスキーマを定義できない。更に、表5では、パラメータstatusは、W16232における「Number」型を含む。JSONデータ型「Number」は、整数と浮動小数点数に対応する。HTTPステータスコードに関して、浮動小数点数は必要としない。したがって、いくつかの実施例では、サーバアプリケーション410は、JSONデータ型「Integer」を使用するパラメータstatusを含む応答メッセージを送信するように構成されてもよい。この場合、JSONデータ型は、「Integer」又は「integer」と呼ばれていてもよいという点に留意すべきである。表5を再度参照すると、W16232は、型が「MPD」のパラメータとして「mpd」を提供する。これは、どのJSONデータ型が使用されるかを定義していないため、JSON符号化されたパラメータとしてどのようにMPDが符号化されるか完全には指定していない。一例では、パラメータ「mpd」について、サーバアプリケーション410は、次の例示的な要件のうちの1つに基づく符号化と共に「string」のJSONデータ型を使用することができる。
サーバによって返されたメディアプレゼンテーション記述(MPD)データは、発生した全てのラインフィード(0×0A)が削除され、発生したすべてのダブルクォート(0×22)がシングルクォート(0×27)と置換され後に、JSON文字列に含まれるとする。
又は
サーバによって返されたメディアプレゼンテーション記述(MPD)データは、発生したすべてのラインフィード(0×0A)が削除又はエスケープ符号化された後に、JSON文字列に含まれるとする。
又は
サーバによって返されたメディアプレゼンテーション記述(MPD)データは、エスケープ符号化後に、JSON文字列に含まれるとする。
Referring again to FIG. 5, at 504, the server application 410 sends an MPD request response to the browser application 310. Referring to Table 5, W16232 cannot define a normative JSON schema for the given arguments in Table 5. Further, in Table 5, the parameter status includes the "Number" type in W16232. The JSON data type "Number" corresponds to integers and floating point numbers. Floating point numbers are not required for HTTP status codes. Therefore, in some embodiments, the server application 410 may be configured to send a response message containing the parameter status using the JSON data type "Integer". In this case, it should be noted that the JSON data type may be referred to as "integer" or "integer". Referring again to Table 5, W16232 provides "mpd" as a parameter of type "MPD". This does not completely specify how the MPD is encoded as a JSON-encoded parameter, as it does not define which JSON data type is used. In one example, for the parameter "mpd", the server application 410 can use the JSON data type of "string" with encoding based on one of the following exemplary requirements.
In the media presentation description (MPD) data returned by the server, after all generated line feeds (0x0A) have been deleted and all generated double quotes (0x22) have been replaced with single quotes (0x27). , Is included in the JSON character string.
Alternatively, the media presentation description (MPD) data returned by the server is included in the JSON string after all generated line feeds (0x0A) have been deleted or escape-encoded.
Alternatively, it is assumed that the media presentation description (MPD) data returned by the server is included in the JSON character string after escape encoding.

したがって、一例では、サーバアプリケーション410は、MPD要求応答をブラウザアプリケーション310に送信することができ、MPD要求応答のフォーマットは、表9で提供されるように定義される。

Figure 0007073353000009
Thus, in one example, the server application 410 can send the MPD request response to the browser application 310, and the format of the MPD request response is defined as provided in Table 9.
Figure 0007073353000009

更に、図7A~図7Bは、メディアプレゼンテーションドキュメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。一例では、サーバアプリケーション410は、図7A~図7Bに示された例示的なスキーマに基づいて、MPD要求応答をブラウザアプリケーション310に送信するように構成されてもよい。 Further, FIGS. 7A-7B are computer programming lists showing exemplary schemas for each media presentation document request response message. In one example, the server application 410 may be configured to send an MPD request response to the browser application 310 based on the exemplary schema shown in FIGS. 7A-7B.

図5を再度参照すると、506において、ブラウザアプリケーション310は、セグメント要求をサーバアプリケーション410に送信する。表4を参照すると、W16232は、表4の与えられた引数に対して規範的なJSONスキーマを定義できない。図8A~図8Bは、セグメント要求メッセージのそれぞれの例示的なJSONスキーマを示すコンピュータプログラミングリストである。一例では、ブラウザアプリケーション310は、図8A~8Bに示された例示的なスキーマに基づいて、セグメント要求をサーバアプリケーション410に送信するように構成されてもよい。 Referring again to FIG. 5, at 506, the browser application 310 sends a segment request to the server application 410. Referring to Table 4, W16232 cannot define a normative JSON schema for the given arguments in Table 4. 8A-8B are computer programming lists showing an exemplary JSON schema for each segment request message. In one example, the browser application 310 may be configured to send a segment request to the server application 410 based on the exemplary schema shown in FIGS. 8A-8B.

図5を再度参照すると、508において、サーバアプリケーション410は、セグメント要求応答をブラウザアプリケーション310に送信する。表6を参照すると、W16232は、型「Segment」のパラメータとして「segment」を含む。これは、どのJSONデータ型が使用されるかを定義していないため、JSON符号化されたパラメータとしてどのようにセグメントが符号化されるか完全には指定していない。一例では、サーバアプリケーション410は、セグメント要求応答を送信するように構成されてもよく、パラメータ「Segment」は、与えられた引数ではない。一例では、サーバアプリケーション410は、「push_ack」、「headers」、「status」を含むJSON符号化されたパラメータの後に、JSON符号化なしでバイナリデータとしてSegmentデータを直接送信するように構成されてもよい。図9A~図9Bは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。図9A~図9Bに示したように、例示的なスキーマは、パラメータ「Segment」を含まない。図9A~図9Bに示された実施例の各々において、statusは、integerデータ型を有することができるという点に留意すべきである。一例では、サーバアプリケーション410は、図9A~図9Bに示された例示的なスキーマに基づいて、セグメント要求応答をブラウザアプリケーション310に送信するように構成されてもよい。 Referring again to FIG. 5, at 508, the server application 410 sends a segment request response to the browser application 310. Referring to Table 6, W16232 includes "segment" as a parameter of the type "Segment". It doesn't define which JSON data type is used, so it doesn't completely specify how the segment is encoded as a JSON-encoded parameter. In one example, the server application 410 may be configured to send a segment request response and the parameter "Segment" is not a given argument. In one example, the server application 410 may be configured to send the Segment data directly as binary data without JSON encoding after the JSON-encoded parameters including "push_ack", "headers", "status". good. 9A-9B are computer programming lists showing exemplary schemas for each of the segment request response messages. As shown in FIGS. 9A-9B, the exemplary schema does not include the parameter "Segment". It should be noted that in each of the embodiments shown in FIGS. 9A-9B, the status can have an integer data type. In one example, the server application 410 may be configured to send a segment request response to the browser application 310 based on the exemplary schema shown in FIGS. 9A-9B.

別の例では、サーバアプリケーション410は、JSONとして「segment」パラメータを送信するように構成されてもよく、セグメントパラメータは、表10で提供される記述に基づいてもよく、それで、表6の対応するエントリを置き換えてもよい。

Figure 0007073353000010
In another example, the server application 410 may be configured to send "segment" parameters as JSON, and the segment parameters may be based on the description provided in Table 10, so the correspondence in Table 6 You may replace the entry you want.
Figure 0007073353000010

図9C~図9Dは、セグメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。図9C~図9Dに示したように、例示的なスキーマは、パラメータ「Segment」を含む。図9C~図9Dに示された実施例の各々において、statusは、integerデータ型を有することができるという点に留意すべきである。一例では、サーバアプリケーション410は、図9C~図9Dに示された例示的なスキーマに基づいて、セグメント要求応答をブラウザアプリケーション310に送信するように構成されてもよい。一例では、図9C~図9D中のスキーマは、表10と共に使用することができる。図5を再度参照すると、ブラウザアプリケーション310がキャンセル要求をサーバアプリケーション410に送信すること(510)によって、又はサーバアプリケーション410がリソース変更通知をブラウザアプリケーションに送信すること(512)によって、セッションを終了することができる。表8を参照すると、W16232は、表8の与えられた引数に対して規範的なJSONスキーマを定義できない。図10A~図10Bは、キャンセル要求メッセージのそれぞれの例示的なJSONスキーマを示すコンピュータプログラミングリストである。一例では、ブラウザアプリケーション310は、図10A~図10Bに示された例示的なスキーマに基づいて、キャンセル要求メッセージをサーバアプリケーション410に送信するように構成されてもよい。 9C-9D are computer programming lists showing exemplary schemas for each segment request response message. As shown in FIGS. 9C-9D, the exemplary schema includes the parameter "Segment". It should be noted that in each of the embodiments shown in FIGS. 9C-9D, the status can have an integer data type. In one example, the server application 410 may be configured to send a segment request response to the browser application 310 based on the exemplary schema shown in FIGS. 9C-9D. In one example, the schemas in FIGS. 9C-9D can be used with Table 10. Referring to FIG. 5 again, the session is terminated by the browser application 310 sending a cancellation request to the server application 410 (510) or by the server application 410 sending a resource change notification to the browser application (512). be able to. Referring to Table 8, W16232 cannot define a normative JSON schema for the given arguments in Table 8. 10A-10B are computer programming lists showing an exemplary JSON schema for each cancellation request message. In one example, the browser application 310 may be configured to send a cancellation request message to the server application 410 based on the exemplary schema shown in FIGS. 10A-10B.

表7を参照すると、W16232は、表7の与えられた引数に対して規範的なJSONスキーマを定義できない。図11A~図11Bは、リソース変更通知メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。一例では、サーバアプリケーション410は、図11A~図11Bに示された例示的なスキーマに基づいて、キャンセル要求メッセージをブラウザアプリケーション310に送信するように構成されてもよい。表7に示したように、headerパラメータを含めることは、任意選択であってもよい。一例では、headersパラメータがend_of_streamメッセージのインスタンスに含まれない場合、EXT_LENGTHは、DASHサブプロトコルフレームにおいて0と設定されるものとし(又はいくつかの実施例では、設定すべきであり)、EXT_LENGTHフィールドの後に空のJSONパラメータ符号化は存在しないものとする。headersパラメータが存在しない場合、4バイト境界への追加の必要なパディングを伴う空のJSON文字列データを含むことは、帯域幅の無駄であり、不必要な処理を要求するという点に留意すべきである。このようにして、演算デバイス300及びメディア配信エンジン400は、本明細書に記載された技術に従ってメッセージを交換するように構成されてもよい。 Referring to Table 7, W16232 cannot define a normative JSON schema for the given arguments in Table 7. 11A-11B are computer programming lists showing exemplary schemas for each resource change notification message. In one example, the server application 410 may be configured to send a cancellation request message to the browser application 310 based on the exemplary schema shown in FIGS. 11A-11B. As shown in Table 7, the inclusion of header parameters may be optional. In one example, if the headers parameter is not included in the instance of the end_of_stream message, EXT_LENGTH is assumed to be set to 0 in the DASH subprotocol frame (or should be set in some embodiments) and in the EXT_LENGTH field. It is assumed that there is no empty JSON parameter encoding later. It should be noted that in the absence of the headers parameter, including empty JSON string data with additional necessary padding to the 4-byte boundary is a waste of bandwidth and requires unnecessary processing. Is. In this way, the arithmetic device 300 and the media distribution engine 400 may be configured to exchange messages according to the techniques described herein.

前述したように、W16232において、ABNF形式におけるPushTypeのフォーマットは、次のとおりである:
PUSH_TYPE=PUSH_TYPE_NAME[OWS”;”OWS PUSH_PARAMS]PUSH_TYPE_NAME=DQUOTE<URN>DQUOTE
PUSH_PARAMS=PUSH_PARAM*(OWS”;”OWS PUSH_PARAM)
PUSH_PARAM=1*VCHAR
As mentioned above, in W16232, the format of PushType in ABNF format is as follows:
PUSH_TYPE = PUSH_TYPE_NAME [OWS]; "OWS PUSH_PARAMS] PUSH_TYPE_NAME = DQUATE <URN> DQUATE
PUSH_PARAMS = PUSH_PARAM * (OWS ";" OWS PUSH_PARAM)
PUSH_PARAM = 1 * VCHAR

場合によっては、PUSH_PARAMは、JSON予約文字と競合する場合がある。例えば、VCHARは、文字DQUOTE(”)を含む。JSONは、予約文字としてDQUOTEを使用する。場合によっては、PushDirectiveは、JSONプロパティとしてシグナリングされるが、複雑な解析が必要となる場合がある。一例では、JSON符号化を阻害しないように、PUSH_PARAMの文法は、いくつかの簡単な変更で定義できる。一例では、ブラウザアプリケーション410及びサーバアプリケーション510は、PUSH_PARAMがDQUOTEを含む場合、DQUOTEが先行する「\」(すなわち、%x5C)でエスケープされているものとするように構成されてもよい。 In some cases, PUSH_PARAM may conflict with JSON reserved characters. For example, VCHAR includes the character DQUATE ("). JSON uses DQUATE as the reserved character. In some cases, PushDirective is signaled as a JSON property, which may require complex parsing. In one example, the syntax of PUSH_PARAM can be defined with some simple modifications so as not to interfere with JSON encoding. In one example, the browser application 410 and server application 510 are preceded by DQUATE if PUSH_PARAM contains DQUATE. It may be configured to be escaped with "\" (ie,% x5C).

前述のダブルクォートを扱う別の例では、次の変更をW16232に加えることができる:
セクション「3.2 Convention」に以下を追加する:PPCHAR=%x21/%x23-7E
発生したVCHARをPPCHARで置換する(セクション6.1.2 PushType、6.1.5 URLList、6.1.6 URLTemplate、及び6.1.7 FastStartParams)。
6.1.5(URL Template)では、2つのDQUOTEを’(シングルクォート、すなわち、%x27)に変更する。また、表2(Valid attributes for FastStartParams)では、発生したDQUOTEを‘(シングルクォート、すなわち、%x27)に、及び’’を’(シングルクォート、すなわち、%x27)に変更する。
上述の変更は、ダブルクォート文字の代わりにシングルクォートを使用する。このため、PPCHARは、DQUOTE文字(%x22)を除外するように定義されている。
In another example dealing with double quotes above, the following changes could be made to W16232.
Add the following to the section "3.2 Connection": PPCHAR =% x21 /% x23-7E
The generated VCHAR is replaced with PPCHAR (Section 6.1.2 PushType, 6.1.5 URLList, 6.1.6 URLTemplate, and 6.1.7 FastStartParams).
In 6.1.5 (URL Temple), the two DQUATEs are changed to'(single quotes, ie% x27). Further, in Table 2 (Valid attributes for FastStartParams), the generated DQUATE is changed to'(single quote, that is,% x27), and'' is changed to'(single quote, that is,% x27).
The above changes use single quotes instead of double quote characters. For this reason, PPCHAR is defined to exclude the DQUATE character (% x22).

W16232において、下記のサブプロトコル識別子は、WebSocketサブプロトコルに使用されるという点に留意すべきである。
サブプロトコル識別子:「mpeg-dash」
It should be noted that in W16232, the following subprotocol identifiers are used for the WebSocket subprotocol.
Sub-protocol identifier: "mpeg-dash"

いくつかの実施例では、ブラウザ410及びサーバアプリケーション510は、サブプロトコル識別子にバージョン及び/又は年を含むことによって将来の拡張性を提供するように構成されてもよい。一例では、タグベースのサブプロトコル識別子は、次のように定義されてもよい。
サブプロトコル識別子:「tag:mpeg.chiariglione.org-dash,2016:23009-6」
一例では、URNベースのサブプロトコル識別子は、次のように定義されてもよい。
サブプロトコル識別子:「urn:mpeg:dash:fdh:2016」
又は
サブプロトコル識別子:「urn:mpeg:dash:fdh:2016:23009-6」
一例では、サブプロトコル識別子及びサブプロトコル一般名は、次のように定義されてもよい。
サブプロトコル識別子:「2016.fdh.dash.mpeg.chiariglione.org」
サブプロトコル一般名:「MPEG-DASH-FDH-23009-6」
In some embodiments, the browser 410 and server application 510 may be configured to provide future extensibility by including the version and / or year in the subprotocol identifier. In one example, the tag-based subprotocol identifier may be defined as:
Sub-protocol identifier: "tag: mpeg.chiariglione.org-dash, 2016: 2309-6"
In one example, the URN-based subprotocol identifier may be defined as:
Sub-protocol identifier: "urn: mpeg: dash: fdh: 2016"
Or sub-protocol identifier: "urn: mpeg: dash: fdh: 2016: 2309-6"
In one example, the subprotocol identifier and subprotocol generic name may be defined as follows:
Sub-protocol identifier: "2016.fdh.dash.mpeg.chiriglione.org"
Subprotocol generic name: "MPEG-DASH-FDH-23309-6"

このようにして、演算デバイス300及びメディア配信エンジン400は、本明細書に記載された技術に従ってメッセージを交換するように構成されてもよい。 In this way, the arithmetic device 300 and the media distribution engine 400 may be configured to exchange messages according to the techniques described herein.

1つ以上の例では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせで実装することができる。ソフトウェアで実装される場合に、この機能は、コンピュータ可読媒体上の1つ以上の命令又はコードとして記憶するか又は伝送され、ハードウェアベースの処理部によって実行することができる。コンピュータ可読媒体は、例えば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、データ記憶媒体又は通信媒体などの有形の媒体に対応する、コンピュータ可読記憶媒体を含むことができる。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的な有形のコンピュータ可読記憶媒体、又は(2)信号又は搬送波などの通信媒体に対応することができる。データ記憶媒体は、本開示中に記載された技術の導入のための命令、コード、及び/又はデータ構造を検索するために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。 In one or more examples, the described functionality can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, this function is stored or transmitted as one or more instructions or codes on a computer-readable medium and can be performed by a hardware-based processor. Computer-readable media correspond to tangible media such as data storage media or communication media, including any medium that facilitates the transfer of computer programs from one location to another, for example according to a communication protocol. It can include a storage medium. In this way, the computer-readable medium can generally correspond to (1) a non-temporary tangible computer-readable storage medium, or (2) a communication medium such as a signal or carrier wave. The data storage medium is any that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for the introduction of the techniques described in this disclosure. It can be an available medium. Computer program products can include computer readable media.

一例として、非限定的に、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、又は他の光学ディスク記憶装置、磁気ディスク記憶装置、他の磁気記憶装置、フラッシュメモリ、又は任意の他の媒体、すなわち命令又はデータ構造の形式で所望のプログラムコードを記憶するために使用可能であり、かつコンピュータによりアクセス可能な任意の他の媒体を含むことができる。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。例えば、命令がウェブサイト、サーバ、又は他のリモートソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(digital subscriber line、DSL)、あるいは赤外線、無線及びマイクロ波などの無線技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、あるいは赤外線、無線及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一過性媒体を含まないが、代わりに非一時的な有形記憶媒体を対象としていることを理解すべきである。本発明で使用する場合、ディスク(disk)及びディスク(disc)は、コンパクトディスク(Compact Disc、CD)、レーザーディスク(laser disc)、光学ディスク(optical disc)、デジタル多用途ディスク(Digital Versatile Disc、DVD)、フロッピーディスク(floppy disk)及びブルーレイ(登録商標)ディスク(Blu-ray(登録商標)disc)を含み、ディスク(disk)は通常データを磁気的に再生し、ディスク(disc)はレーザを用いてデータを光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれなければならない。 By way of example, such computer-readable storage media are RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, other magnetic storage, flash memory, or, but not limited to. Any other medium, i.e., any other medium that can be used to store the desired program code in the form of instructions or data structures and is accessible by a computer can be included. Also, any connection is appropriately referred to as a computer-readable medium. For example, instructions use coaxial cables, fiber optic cables, twisted pairs, digital subscriber lines (DSL), or wireless technologies such as infrared, wireless and microwave from websites, servers, or other remote sources. Radio technologies such as coaxial cable, fiber optic cable, twisted pair, DSL, or infrared, radio and microwave are included in the definition of medium. However, it should be understood that computer readable and data storage media do not include connections, carrier waves, signals, or other transient media, but instead are intended for non-temporary tangible storage media. When used in the present invention, the disc and the disc are a compact disc (CD), a laser disc, an optical disc, and a digital versatile disc (Digital Versatile Disc). Includes DVD), floppy disk and Blu-ray (registered trademark) disc (Blu-ray (registered trademark) disc), where the disc normally reproduces data magnetically and the disc uses a laser. Use to optically reproduce the data. The above combinations must also be included within the scope of computer readable media.

命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又は他の同等の集積又はディスクリートロジック回路などの1つ以上のプロセッサによって実行することができる。したがって、本発明で使用する場合、用語「プロセッサ」は、本明細書に記載された技術の実施に好適な前述の構造又は任意の他の構造のいずれかを指すことができる。加えて、いくつかの態様において、本明細書に記載の機能は、符号化及び復号化するように構成された、又は複合コーデックに組み込まれた専用のハードウェアモジュール及び/又はソフトウェアモジュール内に設けられ得る。また、この技術は、1つ以上の回路又は論理素子中に完全に実装することができる。 One or more of the instructions, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits. It can be executed by the processor of. Accordingly, as used in the present invention, the term "processor" can refer to any of the aforementioned structures or any other structure suitable for carrying out the techniques described herein. In addition, in some embodiments, the functionality described herein is provided within a dedicated hardware module and / or software module configured to encode and decode, or incorporated into a composite codec. Can be. The technique can also be fully implemented in one or more circuits or logic elements.

本開示の技術は、無線ハンドセット、集積回路(integrated circuit、IC)、又はICのセット(例えば、チップセット)を含む多種多様なデバイス又は装置に実装することができる。様々なコンポーネント、モジュール、又はユニットは、開示された技術を実行するように構成されたデバイスの機能的な態様を強調するために本開示中に記載されているが、異なるハードウェアユニットによる実現は必ずしも必要ではない。むしろ、前述したように、様々なユニットは、コーデックハードウェアユニットと組み合わせてもよく、又は好適なソフトウェア及び/又はファームウェアと共に、前述の1つ以上のプロセッサを含む、相互動作ハードウェアユニットの集合によって提供することができる。 The techniques of the present disclosure can be implemented in a wide variety of devices or devices, including wireless handsets, integrated circuits (ICs), or sets of ICs (eg, chipsets). The various components, modules, or units are described herein to highlight the functional aspects of the device configured to perform the disclosed techniques, but may be realized by different hardware units. Not always necessary. Rather, as mentioned above, the various units may be combined with codec hardware units, or by a set of interactive hardware units, including the aforementioned one or more processors, along with suitable software and / or firmware. Can be provided.

更に、上述の各実装形態において使用された基地局デバイス及び端末デバイス(動画像デコーダ及び動画像エンコーダ)の各機能ブロックや各種の機能は、一般的には集積回路又は複数の集積回路である回路によって実装又は実行することができる。本明細書に記載の機能を実行するように設計された回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け若しくは汎用アプリケーション集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブルロジックデバイス、ディスクリートゲート若しくはトランジスタロジック、若しくは個々のハードウェアコンポーネント、又はそれらの組み合わせを備えていてもよい。汎用プロセッサは、マイクロプロセッサでもよく、あるいは、プロセッサは、従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンもよい。上述した汎用プロセッサ又は各回路は、デジタル回路で構成されても、又はアナログ回路で構成されてもよい。更に、半導体技術の進歩により現時点での集積回路に置き換わる集積回路化技術が現れれば、この技術による集積回路もまた使用可能となる。 Further, each functional block and various functions of the base station device and the terminal device (moving image decoder and moving image encoder) used in each of the above-described implementation forms is generally an integrated circuit or a circuit which is a plurality of integrated circuits. Can be implemented or implemented by. Circuits designed to perform the functions described herein are general purpose processors, digital signal processors (DSPs), application specific integrated or general purpose application integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other. It may include programmable logic devices, discrete gates or transistor logic, or individual hardware components, or a combination thereof. The general purpose processor may be a microprocessor, or the processor may be a conventional processor, controller, microcontroller, or state machine. The general-purpose processor or each circuit described above may be composed of a digital circuit or an analog circuit. Furthermore, if an integrated circuit technology that replaces the current integrated circuit appears due to advances in semiconductor technology, integrated circuits based on this technology will also be usable.

様々な実施例について説明した。これら及び他の実施例は、以下の特許請求の範囲内である。 Various examples have been described. These and other examples are within the scope of the following claims.

本出願は、2016年10月13日に出願された米国仮特許出願第62/408,008号の関連出願であり、この仮出願に基づく優先権を主張し、参照により本明細書にその内容全体が組み込まれる。 This application is a related application to US Provisional Patent Application No. 62 / 408,008 filed on October 13, 2016, claiming priority under this provisional application and the content herein by reference. The whole is incorporated.

Claims (7)

メディアプレゼンテーションと関連付けられた情報をシグナリングするための方法であって、前記方法は、
動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングすることと、JavaScript Object Notation符号化パラメータとして前記メッセージタイプに対応するHypertext Transfer Protocol(HTTP)1.1準拠ヘッダフィールドのセットを含むヘッダパラメータをシグナリングすることと、を含む、方法。
A method for signaling information associated with a media presentation, said method.
Dynamically Adaptive Streaming Over Hypertext Transfer Protocol Includes signaling a frame header indicating the message type and a set of Hyperext Transfer Protocol (HTTP) 1.1 compliant header fields corresponding to the message type as Javascript Object Notification encoding parameters. Methods, including signaling header parameters .
前記フレームヘッダは、メディアプレゼンテーション記述応答メッセージタイプを示し、メディアプレゼンテーション記述パラメータをシグナリングすることを更に含む、請求項1に記載の方法。 The method of claim 1, wherein the frame header indicates a media presentation description response message type , further comprising signaling media presentation description parameters. 前記メディアプレゼンテーション記述パラメータは、符号化された文字列を含む、請求項2に記載の方法。 The method of claim 2, wherein the media presentation description parameter comprises an encoded character string. 前記フレームヘッダは、セグメント要求応答メッセージタイプを示し、セグメント要求応答メッセージに適用するステータスパラメータをシグナリングすることを更に含む、請求項1に記載の方法。 The method of claim 1, wherein the frame header indicates a segment request response message type and further comprises signaling a status parameter applied to the segment request response message. グメントパラメータをシグナリングすることを更に含み、前記セグメントパラメータは、符号化された文字列を含む、請求項4に記載の方法。 The method of claim 4, further comprising signaling a segment parameter, wherein the segment parameter comprises a coded string. 前記フレームヘッダは、メディアプレゼンテーション記述応答メッセージタイプを示し、The frame header indicates the media presentation description response message type.
前記ヘッダパラメータは、メディアプレゼンテーション記述応答メッセージに適用するヘッダフィールドのセットを含む、請求項1に記載の方法。The method of claim 1, wherein the header parameters include a set of header fields that apply to the media presentation description response message.
前記フレームヘッダは、セグメント要求応答メッセージタイプを示し、The frame header indicates the segment request response message type.
前記ヘッダパラメータは、セグメント要求応答メッセージに適用するヘッダフィールドのセットを含む、請求項1に記載の方法。The method of claim 1, wherein the header parameters include a set of header fields that apply to the segment request response message.
JP2019517851A 2016-10-13 2017-08-15 Systems and methods to enable communication associated with digital media distribution Active JP7073353B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662408008P 2016-10-13 2016-10-13
US62/408,008 2016-10-13
PCT/JP2017/029368 WO2018070099A1 (en) 2016-10-13 2017-08-15 Systems and methods for enabling communications associated with digital media distribution

Publications (2)

Publication Number Publication Date
JP2019536312A JP2019536312A (en) 2019-12-12
JP7073353B2 true JP7073353B2 (en) 2022-05-23

Family

ID=61905365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019517851A Active JP7073353B2 (en) 2016-10-13 2017-08-15 Systems and methods to enable communication associated with digital media distribution

Country Status (4)

Country Link
EP (1) EP3526975A4 (en)
JP (1) JP7073353B2 (en)
CN (1) CN109845273A (en)
WO (1) WO2018070099A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282876A1 (en) 2011-01-07 2013-10-24 Sharp Kabushiki Kaisha Reproduction device, method for controlling reproduction device, generation device, method for controlling generation device, recording medium, data structure, control program, and recording medium containing said program
US20140082477A1 (en) 2012-09-19 2014-03-20 Toshiba Tec Kabushiki Kaisha Compound machine and system
US20150271233A1 (en) 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming
US20160029002A1 (en) 2014-07-26 2016-01-28 Soeren Balko Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers
US20160048740A1 (en) 2012-09-19 2016-02-18 Placemeter Inc. System and method for processing image data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10110657B2 (en) * 2014-07-03 2018-10-23 Telefonaktiebolaget Lm Ericsson (Publ) System and method for pushing live media content in an adaptive streaming environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282876A1 (en) 2011-01-07 2013-10-24 Sharp Kabushiki Kaisha Reproduction device, method for controlling reproduction device, generation device, method for controlling generation device, recording medium, data structure, control program, and recording medium containing said program
US20140082477A1 (en) 2012-09-19 2014-03-20 Toshiba Tec Kabushiki Kaisha Compound machine and system
US20160048740A1 (en) 2012-09-19 2016-02-18 Placemeter Inc. System and method for processing image data
US20150271233A1 (en) 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming
US20160029002A1 (en) 2014-07-26 2016-01-28 Soeren Balko Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Committee Draft for 23009-6: DASH with Server Push and WebSockets",[online], ISO/IEC JTC1/SC29/WG11/N15993,2016年06月21日,Pages 1-35,[令和3年10月7日検索], インターネット, <URL: http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_89/Docs/S4-160707.zip>.
"Draft International Standard for 23009-6: DASH with Server Push and WebSockets",ISO/IEC JTC1/SC29/WG11/N16472,2016年10月21日,Pages 11-19 (Section 8),(also published as ISO/IEC DIS 23009-6).
"Information Technology - Dynamic adaptive streaming over HTTP (DASH) - Part 5: Server and network assisted DASH (SAND)",ISO/IEC FDIS 23009-5:2015(E),Version 2.1c2,[online], ISO/IEC JTC1/SC29/WG11/N15991,2016年06月21日,Pages 1, 19 and 20,[令和3年10月7日検索], インターネット, <URL: http://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_89/Docs/S4-160707.zip>.

Also Published As

Publication number Publication date
JP2019536312A (en) 2019-12-12
CN109845273A (en) 2019-06-04
EP3526975A1 (en) 2019-08-21
WO2018070099A1 (en) 2018-04-19
EP3526975A4 (en) 2019-08-21

Similar Documents

Publication Publication Date Title
TWI708507B (en) Systems and methods for link layer signaling of upper layer information
US20200244981A1 (en) Method for signalling caption asset information and device for signalling caption asset information
US20210027764A1 (en) Method for receiving emergency information, method for signaling emergency information, and receiver for receiving emergency information
US20180109577A1 (en) Systems and methods for enabling communications associated with digital media distribution
US11722750B2 (en) Systems and methods for communicating user settings in conjunction with execution of an application
CN107431842B (en) System and method for communication of content information
WO2018066562A1 (en) Systems and methods for signaling of video parameters
US20190141361A1 (en) Systems and methods for signaling of an identifier of a data channel
WO2016157795A1 (en) Systems and methods for content information message exchange
JP7073353B2 (en) Systems and methods to enable communication associated with digital media distribution
WO2017094645A1 (en) Systems and methods for signalling application accessibility
WO2017213234A1 (en) Systems and methods for signaling of information associated with a visual language presentation
CN117939199A (en) Live broadcast method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220511

R150 Certificate of patent or registration of utility model

Ref document number: 7073353

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150