JP2019536312A - System and method for enabling communication associated with digital media distribution - Google Patents

System and method for enabling communication associated with digital media distribution Download PDF

Info

Publication number
JP2019536312A
JP2019536312A JP2019517851A JP2019517851A JP2019536312A JP 2019536312 A JP2019536312 A JP 2019536312A JP 2019517851 A JP2019517851 A JP 2019517851A JP 2019517851 A JP2019517851 A JP 2019517851A JP 2019536312 A JP2019536312 A JP 2019536312A
Authority
JP
Japan
Prior art keywords
data
media
media presentation
parameter
segment
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.)
Granted
Application number
JP2019517851A
Other languages
Japanese (ja)
Other versions
JP7073353B2 (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

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)

Abstract

デバイスは、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングし、かつJavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングするように構成されてもよい。The device is configured to signal a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type, and to signal one or more given arguments corresponding to the message type as JavaScript Object Notation encoding parameters. You may.

Description

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

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

デジタルメディアコンテンツは、ソースから受信部デバイス(例えば、デジタルテレビ又はスマートフォン)にコンテンツ送達プロトコルモデルに従って伝送されてもよい。コンテンツ送達プロトコルモードは、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 a source to a receiving device (eg, 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 the Digital Video Broadcasting (DVB) standard, the Integrated Services Digital Broadcasting (ISDB) standard, and, for example, the ATSC 3.0 series of standards currently being created And standards developed by the Advanced Television Systems Committee (ATSC). Current techniques for transmitting digital media content from a source to a receiver device may not be ideal.

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

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

一般に、本開示は、デジタルメディアコンテンツの配信と関連付けられた通信を可能にする技術について記載する。デジタルメディアコンテンツは、音声ビジュアルサービスの一部として含まれてもよく、又はいくつかの実施例では、専用の音声サービスとして含まれてもよいという点に留意すべきである。いくつかの実施例では、特定の伝送規格及び特定のデジタルメディアフォーマットに関する本開示の技術が記載されているが、本明細書に記載された技術は、一般に、様々な伝送規格及びデジタルメディアフォーマットに適用可能であり得るという点に留意すべきである。例えば、本明細書に記載された技術は、一般に、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, this disclosure describes techniques that enable communication associated with distribution of digital media content. It should be noted that the digital media content may be included as part of an audiovisual service, or in some embodiments may be included as a dedicated audio service. Although some embodiments describe the techniques of this disclosure for specific transmission standards and specific digital media formats, the techniques described herein generally apply to various transmission standards and digital media formats. Note that it may be applicable. For example, the techniques described in this specification are generally DVB standards, ISDB standards, ATSC standards, Digital Terrestrial Multimedia Broadcast (DTMB) standards, Digital Multimedia Broadcast (DMB) standards, HybridBandB Of the World Wide Web Consortium (W3C) standards, Universal Plug and Play (UPnP) standards, and Moving Pictures Expert Group (MPEG) standards May be applicable to any of the above. Further, it is noted that the incorporation of documents herein by reference is for purposes of explanation and should not be constructed to limit and / or create ambiguity with respect to the terms used herein. Should. For example, if an incorporated reference provides a definition of a term that is different from another incorporated reference, and / or the term is used herein, that term broadly includes each respective definition. Should be construed in a manner and / or in a manner 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 a JavaScript Object Notation encoding parameter. As 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, an apparatus for signaling information associated with a media presentation includes means for signaling a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type, and JavaScript Object Notation encoding. Means for signaling one or more given arguments corresponding to the message type as parameters.

本開示の別の実施例によれば、非一時的コンピュータ可読記憶媒体は、実行すると、デバイスの1つ以上のプロセッサに、動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングさせ、かつJavaScript Object Notation符号化パラメータとしてメッセージタイプに対応する1つ以上の与えられた引数をシグナリングさせる命令を中に記憶している。   According to another embodiment of the present disclosure, a non-transitory 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 an instruction for signaling one or more given arguments corresponding to the message type as a JavaScript Object Notation encoding parameter.

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

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

物理層は、一般に、電気信号がデジタルデータを形成する層を指すことができる。例えば、物理層は、変調された無線周波数(radio frequency、RF)シンボルがデジタルデータのフレームをどのように形成するかを定義する層を指すことができる。リンク層とも呼ばれることもあるデータリンク層は、送信側での物理層処理前及び受信側での物理層受信後に使用される抽象化を指すことができる。本発明で使用する場合、リンク層は、送信側でのネットワーク層から物理層へのデータのトランスポートに使用される、及び受信側での物理層からネットワーク層へのデータのトランスポートに使用される抽象化を指すことができ、送信側及び受信側は、論理的役割であり、単一デバイスは、あるインスタンスの送信側及び別のインスタンスの受信側の両方として動作できるという点に留意すべきである。リンク層は、特定のパケットタイプ(例えば、インターネットプロトコルバージョン4(IPv4)パケットなど)にカプセル化された様々なタイプのデータ(例えば、動画像ファイル、音声ファイル、又はアプリケーションファイル)を物理層による処理のための単一汎用フォーマットに抽象化することができる。ネットワーク層は、一般に、論理アドレッシングが発生する層を指すことができる。すなわち、ネットワーク層は、一般に、アドレッシング情報(例えば、IPアドレス)を提供することができ、これにより、データパケットをネットワーク内の特定のノード(例えば、演算デバイス)に送達することができる。本発明で使用する場合、ネットワーク層という用語は、リンク層の上の層及び/又はリンク層処理のために受信され得るような構造のデータを有する層を指すことができる。トランスポート層は、いわゆるプロセス間通信サービスを可能にする層を指すことができる。セッション層、プレゼンテーション層、及びアプリケーション層の各々は、ユーザアプリケーションによって使用するためにデータをどのように送達するかを定義することができる。現在作成中の伝送規格を含む伝送規格は、各層毎にサポートされたプロトコルを規定するコンテンツ送達プロトコルモデルを含むことができ、1つ以上の特定の層実装を更に定義することができる。   A physical layer can generally refer to a layer in which electrical signals form digital data. For example, the physical layer can refer to a layer that defines how modulated radio frequency (RF) symbols form a frame of digital data. The data link layer, which may also be referred to as the 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 for transporting data from the network layer to the physical layer on the transmitting side, and used for transporting data from the physical layer to the network layer on the receiving side. Note 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 instance. It is. The link layer processes various types of data (eg, video files, audio files, or application files) encapsulated in a specific packet type (eg, Internet Protocol Version 4 (IPv4) packet) by the physical layer. Can be abstracted into a single generic format for A network layer can generally refer to a layer where logical addressing occurs. That is, the network layer can generally provide addressing information (eg, IP addresses), which can deliver data packets to specific nodes (eg, computing devices) in the network. As used herein, the term network layer can refer to a layer above the link layer and / or a layer having data structured such that it 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 a user application. Transmission standards, including transmission standards currently in 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 may be implemented in a system configured to operate based on the content delivery protocol model 100.
The content delivery protocol model 100 can enable distribution of digital media content. Accordingly, 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, moving image components, audio components, and subtitle components) that are collectively presented to a user, where a component is a plurality of media. The service can be either continuous or intermittent, and the service can be a real-time service (eg, a multimedia presentation corresponding to a live event) or a non-real-time service (eg, video-on 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 described 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 format for processing by the physical layer. In the example shown in FIG. 1, in some examples, the physical layer includes a physical layer frame structure that includes a defined preamble and a data payload structure that includes one logical structure within the RF channel or portion of the RF channel. And can be included. 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 generic format for processing by the physical layer, As described above, a network layer can generally refer to a layer where logical addressing 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 use 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 described above, the content delivery protocol model 100 can enable distribution of digital media content. In the example of FIG. 1, the application can include an application that allows a user to render digital media content. For example, the content delivery protocol model can include a video player application that runs on a mobile device or the like. In the embodiment shown in FIG. 1, the media codec includes a base codec (ie, a multimedia encoder / decoder implementation) that allows a digital media content format (eg, MPEG format, etc.) to be rendered by an application. 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 is, 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 (hereinafter “ISO / IEC 23009-1: 2014”) is described in the DASH-IF profile, which is incorporated herein by reference. As shown in FIG. 1, a DASH media presentation can include a data segment, a video segment, and an audio segment. In some embodiments, a DASH media presentation is a linear service or part of a linear service of a given period defined by a service provider (eg, a single TV program or a series of linear TV programs over a period of time). Set). In accordance with DASH, a media presentation document (MPD) is a metadata fragment that contains a formalized description of the profile of a DASH media presentation. The 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 structure and semantics of MPD fragments are described with respect to ISO / IEC 23009-1: 2014. Furthermore, it should be noted that a draft version of ISO / IEC 23009-1 is currently proposed. Thus, in the example shown in FIG. 1, the MPD may include MPD as described in ISO / IEC 23209-1: 2014, currently proposed MPD, 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-1: 2014, a media presentation described in MPD can include a sequence of one or more periods, each period being one or more adaptation sets. Can be included. It should be noted that if the adaptation set includes 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-1: 2014, each representation is provided as follows. (1) As a single segment, sub-segments are aligned across the representation of the adaptation set, and (2) As a sequence of segments, each segment is generated by a universal resource locator (URL) generated in the template. Addressable. The properties of each media content component may be described by an adaptation set element and / or an element in an adaptation set including, for example, 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 over HTTP and WebSocket protocols. That is, the DASH media presentation is described in the Internet Engineering Task Force (IETF) Request for Comment (RFC) 7540 Hypertext Transfer Protocol Version 2 (HTTP / 2) in NTP / Ent 2 in May / 2015. Task Force, RFC 6455 IETF: “The WebSocket Protocol” (December 2011) and the WebSocket API (World Wide Web Consortium (W3C) Recommendation Candidate, September 20, 2012) A full-duplex HTTP-compatible protocol, including the WebSocket protocol May be transported via a protocol, 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 called a remote host) through the establishment of a bidirectional socket. It should be noted that in some cases, the side or endpoint of a bidirectional socket may be referred to as a terminal. 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. Including a bi-directional socket. 23009-6: DASH with Server Push and WebSockets (ISO / IEC JTC1 / SC29 / WG11 / W16232, June 2016) (hereinafter referred to as “W16232”) (this is incorporated herein by reference) Defines signaling and message formats for driving delivery of MPEG-DASH media presentations using bi-directional sockets based on the WebSocket protocol.

W16232において、サーバからクライアントへのセグメントの伝送(W16232においてプッシュ(push)と呼ばれる)は、プッシュストラテジに基づき、これは、セグメントをサーバからクライアントへ伝送することができる方法を定義する。W16232において、プッシュディレクティブ(push directive)は、クライアントからサーバへ送信される要求修飾子であり、これにより、クライアントは、要求を処理するためのサーバのプッシュストラテジに関するその期待を表現することができる。更に、W16232において、プッシュ肯定応答(Push Ackとも呼ばれる)は、サーバからクライアントへ送信される応答修飾子であり、これにより、サーバは、要求を処理する際に使用されるプッシュストラテジを述べることができる。W16232において、プッシュディレクティブ及びプッシュ肯定応答は、DASHサブプロトコルフレームヘッダ及び1つ以上の与えられた引数を含むメッセージを送信することによって通信され得る。W16232において提供されるようなDASHサブプロトコルフレームヘッダのセマンティックスは、表1で提供される。
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, a push directive is a request qualifier sent from the client to the server, which allows the client to express its expectation regarding the server's push strategy to process the request. Furthermore, in W16232, a push acknowledgment (also called Push Ack) is a response modifier sent from the server to the client, which states that the server describes the push strategy used in processing the request. it can. At W16232, push directives and push acknowledgments may be communicated by sending a message that includes 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.

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

MSG_CODE:このフレームで表されるMPEG−DASHメッセージを示す。利用可能なメッセージコードは、表2で定義される。
MSG_CODE: indicates an MPEG-DASH message represented by this frame. Available message codes are defined in Table 2.

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 regarding the error may be available in the extension header.
F: Reserved EXT_LENGTH: Provides extension data of 4 bytes length preceding application data including padding.
Extension: Extension headers are additional information applicable to requests / responses in accordance with IETF RFC 7158 [The JavaScript Object Notation (JSON) Data interchange format, March 2013, which is incorporated herein by reference]. It must be a JavaScript Object Notation (JSON) encoding of the field. To align on a 4-byte boundary, 0-byte padding can be added after the extension header. Assume that the content is encoded in the 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は、パラメータ値のシグナリングが任意選択であることを示す。





As shown in Table 2, each message type includes 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 RFC3986, and String is UTF- An 8-character string, an integer, and Boolean is the value of true or false. In each of Tables 3-8, the radix indicates the number of required instances of the parameter in the message instance, and 0 indicates that parameter value signaling is optional.





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

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 the format ABNF [IETF RFC 5234, Augmented BNF [Backus-Nur Form] for Syntax Specifications: ABNF, January 2008] is as follows:
PUSH_DIRECTIVE = PUSH_TYPE [OWS OWS QVALUE]
PUSH_TYPE = <PushType defined in [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 3.2.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 RFC 7231 content negotiation. Clients can apply higher quality values to directives that they prefer over alternative directives that have lower quality values. Note that these values are hints to the server and do not mean that the server always chooses 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 the following format for PushAck.
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 the following formats for PushType:
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
Where
-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 at 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 illustrating an example system that can implement one or more of the techniques described in this disclosure. System 200 may be configured to communicate data in accordance with the techniques described herein. In the example shown in FIG. 2, the system 200 includes 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 A wide area network 210 is included. System 200 can include software modules. Software modules are stored in memory and can be executed by a processor. The system 200 can include one or more processors and a plurality of internal and / or external memory devices. Examples of memory devices include file servers, file transfer protocol (FTP) servers, network attached storage (NAS) devices, local disk drives, or any other type of data that can store data. A device or a storage medium may be mentioned. The storage medium may include a Blu-ray® disk, DVD, CD-ROM, magnetic disk, flash memory, or any other suitable digital storage medium. If the techniques described herein are partially implemented in software, the device stores software instructions in a suitable non-transitory computer-readable medium and uses one or more processors. Instructions can be executed in hardware.

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

図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 illustrating an example computing device that can implement one or more techniques of this disclosure, wherein the computing device 300 receives data from a communication network and allows a user to access multimedia content. 2 is an example of a computing device that can be configured to: Arithmetic device 300 includes central processing unit (s) 302, system memory 304, system interface 312, audio decoder 314, audio output system 316, video decoder 318, display system 320, and I / O device (s). 322 and a 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 324 may be interconnected (physically, communicatively and / or operatively) for inter-component communication, one or more microprocessors, digital signal processors (DSPs), Various such as application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), discrete logic, software, hardware, firmware, or combinations thereof It can be implemented with any suitable circuitry. Although computing device 300 is illustrated as having separate functional blocks, it should be noted that such illustration is for illustrative purposes and does not limit computing device 300 to a particular hardware architecture. . The functions of the computing device 300 can be implemented 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 on the computing device 300. The CPU (s) 302 may include single core and / or multi-core central processing units. The CPU (s) 302 may be capable of retrieving and processing instructions, code, and / or data structures for performing one or more of the techniques described herein. The instructions may be stored on a computer readable medium such as system memory 304. The system memory 304 can be described as a non-transitory or tangible computer readable storage medium. In some embodiments, the system memory 304 can provide temporary and / or long-term storage. In some embodiments, system memory 304 or a portion thereof may be described as non-volatile memory, and in other embodiments, a portion of system memory 304 may be described as volatile memory. The system memory 304 may be configured to store information that may be used by the computing device 300 during operation. The system memory 304 can be used to store program instructions for execution by the CPU (s) 302, and the program running on the computing device 300 can temporarily store information during program execution. May be used to store. Further, the system memory 304 may be configured to store a 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. Application 308 can include an application that is implemented within or executed by computing device 300 and is implemented or included within and operational by a component of computing device 300. Can be implemented and / or operatively / communicatively coupled. The application 308 can include instructions that can cause the CPU (s) 302 of the computing device 300 to perform a particular function. The application 308 may include an algorithm expressed by computer programming statements such as a for loop, a while loop, an if statement, a do loop. Application 308 may be developed using a specific programming language. Examples of programming languages include Java (registered trademark), Jini (registered trademark), C, C ++, Objective C, swift, Perl (registered trademark), Python (registered trademark), PhP, UNIX (registered trademark) Shell, Visual Basic and Visual Basic Script. Browser application 310 includes a logical structure that allows computing device 300 to retrieve data using resource identifiers and / or to render the retrieved data. Browser application 310 can include one or more web browsers. Browser application 310 is configured to process documents that generally correspond to website content, such as, for example, markup language documents (eg, HTML5, XML, etc.) and script language documents (eg, JavaScript (eg, JavaScript)). May be. Application 308 and browser application 310 may execute in conjunction with operating system 306. That is, the operating system 306 may be configured to facilitate application interaction with the CPU (s) 302 of the computing device 300 and other hardware components. In some embodiments, operating system 306 may be an operating system designed to be installed on a set-top box, digital video recorder, television, etc. Further, in some embodiments, 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 may be utilized by a device 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 components of the computing 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 an accelerated graphics port (AGP) -based protocol, such as a peripheral component interconnect such as a PCI Express® (PCIe) bus specification managed by the Peripheral Component Interconnect Interest Group. (Peripheral Component Interconnect (PCI)) may include a chipset corresponding to a bus-based protocol, or any other form of structure that can be used to interconnect with a peer device (eg, a proprietary bus protocol) .

前述したように、演算デバイス300は、演算デバイス300は、通信ネットワークからデータを受信し、そこからデジタルメディアコンテンツを抽出するように構成されている。抽出されたデジタルメディアコンテンツは、様々なパケットタイプでカプセル化されてもよい。ネットワークインターフェース324は、演算デバイス300がローカルエリアネットワーク及び/又はワイドエリアネットワークを介してデータを送信及び受信できるように構成されてもよい。ネットワークインターフェース324は、Ethernet(登録商標)カードなどのネットワークインターフェースカード、光トランシーバ、無線周波数トランシーバ、又は情報を送信及び受信するように構成された任意の他のタイプのデバイスを含むことができる。ネットワークインターフェース324は、ネットワークで利用される物理層及びメディアアクセス制御(Media Access Control、MAC)層に従って、物理的シグナリング、アドレッシング、及びチャネルアクセス制御を実行するように構成されてもよい。演算デバイス300は、本明細書に記載された技術のいずれかに従って生成された信号を解析するように構成されてもよい。   As described above, the computing device 300 is configured to receive data from a communication network and extract digital media content therefrom. 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 send and receive data via a local area network and / or a wide area network. Network interface 324 may 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 send and receive information. The network interface 324 may be configured to perform physical signaling, addressing, and channel access control according to the physical layer and media access control (MAC) layer utilized in the network. The computing 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 audio decoder 314 may be configured to receive and process audio packets. For example, the audio decoder 314 can include a combination of hardware and software configured to implement aspects of the audio codec. That is, audio decoder 314 may be configured to receive audio packets and provide audio data to audio output system 316 for rendering. The 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 the 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 a variety of speaker systems such as headphones, an integrated stereo speaker system, a multi-speaker system, or a 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つを含むことができる。表示デバイスは、標準精細度コンテンツ、高精細度コンテンツ、又は超高精度コンテンツを表示するように構成されてもよい。   Video decoder 318 may be configured to receive and process video packets. For example, video decoder 318 may include a combination of hardware and software used to implement aspects of the video codec. In one example, the video decoder 318 is an ITU-T H.264 standard. 262 or ISO / IEC MPEG-2 Visual, ISO / IEC MPEG-4 Visual, ITU-T H.264. H.264 (also known as ISO / IEC MPEG-4 Advanced Video Coding (AVC)) and high-efficiency video coding (HEVC) video data encoded according to any number of video compression standards. It may be configured to decrypt. Display system 320 may be configured to retrieve and process video data for display. For example, the display system 320 can receive pixel data from the video decoder 318 and output the data for visual presentation. Further, the display system 320 may be configured to output graphics (eg, a graphical user interface) associated with 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 that can present moving image data to the user. One of a variety of display devices. The display device may be configured to display standard definition content, high definition content, or ultra-high accuracy 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 input and provide output during operation of the computing device 300. That is, the I / O device (s) 322 allows the user to select the multimedia content to be rendered. The input can be, for example, a pushbutton remote control, a device that includes a touch-sensitive screen, a motion-based input device, a voice-based input device, or any other type of device configured to receive user input, etc. It can be generated from an input device. The I / O device (s) 322 may be a standardized communication protocol such as Universal Serial Bus Protocol (Universal Serial Bus, USB), Bluetooth (registered trademark), ZigBee (registered trademark), or May be operatively coupled to computing device 300 using a proprietary communication protocol, such as the Infrared communication protocol.

図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 back to FIG. 2, the wide area network 210 is an example of a network configured to be able to distribute digital media content. Wide area network 210 includes a packet-based network and can operate according to a combination of one or more telecommunications protocols. The telecommunications protocol can include a dedicated aspect and / or can include a standardized telecommunications protocol.
Examples of standardized telecommunications protocols, pan-European digital mobile telephone system (Global System Mobile Communications, GSM) standard, Code Division Multiple Access (code division multiple access, CDMA) standard, 3 rd Generation Partnership Project (3GPP ) One or more of the standards, the European Telecommunications Standards Institute (ETSI) standard, the European Standard (EN), the IP standard, the Wireless Application Protocol (WAP) standard, and, for example, the IEEE 802 standard Institute of Electrical and Electronics Engineers (IEEE) standards such as (for example, Wi-Fi). Wide area network 210 may include any combination of wireless and / or wired communication media. The wide area network 210 is a coaxial cable, optical fiber cable, twisted pair cable, Ethernet (registered trademark) cable, wireless transmitter and receiver, router, switch, repeater, base station, or communication between various devices and sites. Any other device that may be useful to facilitate can be included. In one example, wide area network 210 may generally correspond to the Internet and its sub-networks.

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

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

メディア配信エンジン208A〜208Nは、ワイドエリアネットワーク210を介してデジタルメディアコンテンツを配信するように構成されてもよい。例えば、メディア配信エンジン208A〜208Nは、1つ以上の放送局、ケーブルテレビプロバイダサイト、衛星テレビプロバイダサイト、インターネットベースのテレビプロバイダサイト、及び/又はいわゆるストリーミングメディアサービスサイトに含まれ得る。メディア配信エンジン208A〜208Nは、例えば、マルチメディアコンテンツ、対話型アプリケーション及びメッセージを含むデータを受信し、ワイドエリアネットワーク210を通じて、演算デバイス202A〜202Nにデータを配信するように構成されてもよい。   Media distribution engines 208 </ b> A- 208 </ b> N may be configured to distribute digital media content over wide area network 210. For example, 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. 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 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 illustrating an example of a media distribution engine that can implement one or more techniques of this disclosure. The media distribution engine 400 may be configured to receive data and output signals representing data for distribution over a communication network, such as the 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 a set of one or more 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 generation unit 414, a segment generation unit 416, and transport / network packet generation. Part 418 and a network interface 420. Each of central processing unit (s) 402, system memory 404, system interface 412, media presentation generation unit 414, segment generation unit 416, transport / network packet generation unit 418, and network interface 420 are each configured for inter-component communication. One or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays, which may be interconnected (physically, communicatively and / or operatively) for (FPGA), discrete logic, software, hardware, firmware, or any combination of various circuits such as combinations thereof. Although media delivery engine 400 is illustrated as having separate functional blocks, it should be noted that such illustration is for purposes of illustration and does not limit media delivery engine 400 to a particular hardware architecture. It is. The functionality of the media delivery engine 400 can be implemented 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)バッファ)を含むことができる。   The central processing unit (s) 402, system memory 404, system interface 412 and network interface 420 are each a central processing unit (s) 302, system memory 304, system interface 312 and network interface 324 described above. It may be the same. CPU (s) 402 may be configured to implement functions and / or process instructions for execution in media distribution engine 400. The system interface 412 may be configured to allow communication between components of the media distribution engine 400. The network interface 420 may be configured to allow the media distribution engine 400 to send and receive data via a local area network and / or a wide area network. System memory 404 may be configured to store information that may be used by media distribution engine 400 during operation. The system memory 404 may include individual memory elements contained within each of the component encapsulation unit 402, transport / network packet generation unit 404, link layer packet generation unit 406, and frame builder and waveform generation unit 408. It should be noted that. For example, system memory 404 includes one or more buffers (eg, first-in first-out (FIFO) buffers) configured to store data for processing by components of media distribution engine 400. 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. Media content 408 may include data that forms a media presentation (eg, a video 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 generator 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 generation unit 418 receives the transport package, and transport layer packets corresponding to the transport package (eg, UDP, transport control protocol (TCP), etc.) and network layer packets (eg, Ipv4, Ipv6, compressed IP packet, etc.) may be encapsulated.

図4を再度参照すると、システムメモリ404は、サーバアプリケーション410を含む。前述したように、WebSocketプロトコルは、双方向ソケットの確立を通じて、論理クライアントと論理サーバとの間で相互通信を可能にする。サーバアプリケーション410は、メディア配信エンジン400のCPU(単数又は複数)402にWebSocketプロトコルと関連付けられた特定の機能を実行させることができる命令を含むことができる。図5は、本開示の1つ以上の技術による、通信フローの例を示す概念図である。図5は、全二重WebSocketセッションを介してMPEG−DASHメディアプレゼンテーションを搬送するためのメッセージフローの例を示す。前述したように、W16232においてプッシュディレクティブ及びプッシュ肯定応答をシグナリングするために定義されたメッセージは、理想的でない場合がある。演算デバイス300及びメディア配信エンジン400は、本明細書に記載された技術に従ってメッセージを交換するように構成されてもよい。   Referring back to FIG. 4, the system memory 404 includes a server application 410. As described above, the WebSocket protocol enables mutual communication between a logical client and a logical server through establishment of a bidirectional socket. The server application 410 can include instructions that can cause the CPU (s) 402 of the media distribution engine 400 to perform certain functions associated with the WebSocket protocol. FIG. 5 is a conceptual diagram illustrating an example communication flow according to one or more techniques of this disclosure. FIG. 5 shows an example message flow for carrying an MPEG-DASH media presentation over a full-duplex WebSocket session. As previously mentioned, the messages defined for signaling push directives and push acknowledgments at W16232 may not be ideal. Computing device 300 and media distribution engine 400 may be configured to exchange messages in accordance with 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 example shown in FIG. 5, at 502, the browser application 310 sends an MPD request to the server application 410. In some embodiments, the browser application 310 may be referred to as a client, or an HTTP client, or a 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 exemplary JSON schemas for each of the media presentation document request messages. In one example, the browser application 310 may be configured to send an MPD request 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 back 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 an integer and a floating point number. For HTTP status codes, no floating point numbers are required. Thus, in some embodiments, the server application 410 may be configured to send a response message that includes a parameter status that uses the JSON data type “Integrer”. It should be noted that in this case, the JSON data type may be referred to as “Integrer” or “integer”. Referring back to Table 5, W16232 provides “mpd” as a parameter of type “MPD”. Since it does not define which JSON data type is used, it does not completely specify how MPD is encoded as a JSON encoded parameter. In one example, for the parameter “mpd”, the server application 410 may use the “string” JSON data type with encoding based on one of the following exemplary requirements.
Media presentation description (MPD) data returned by the server, after all generated line feeds (0x0A) are deleted and all generated double quotes (0x22) are replaced with single quotes (0x27) Are included in the JSON character string.
Or 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, 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で提供されるように定義される。
Thus, in one example, the server application 410 can send an MPD request response to the browser application 310 and the format of the MPD request response is defined as provided in Table 9.

更に、図7A〜図7Bは、メディアプレゼンテーションドキュメント要求応答メッセージのそれぞれの例示的なスキーマを示すコンピュータプログラミングリストである。一例では、サーバアプリケーション410は、図7A〜図7Bに示された例示的なスキーマに基づいて、MPD要求応答をブラウザアプリケーション310に送信するように構成されてもよい。   In addition, FIGS. 7A-7B are computer programming lists showing exemplary schemas for each of the media presentation document request response messages. 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 back 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 of the segment request messages. 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.

図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 back 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 type “Segment”. Since it does not define which JSON data type is used, it does not 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 segment data directly as binary data without JSON encoding after 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, 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の対応するエントリを置き換えてもよい。
In another example, the server application 410 may be configured to send a “segment” parameter as a JSON, and the segment parameter may be based on the description provided in Table 10, so The entry to be replaced may be replaced.

図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 of the segment request response messages. As shown in FIGS. 9C-9D, the exemplary schema includes a parameter “Segment”. It should be noted that in each of the embodiments shown in FIGS. 9C-9D, 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 schema in FIGS. 9C-9D can be used with Table 10. Referring again to FIG. 5, the session is terminated by the browser application 310 sending a cancel 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. FIGS. 10A-10B are computer programming lists showing exemplary JSON schemas for each of the cancel request messages. In one example, the browser application 310 may be configured to send a cancel 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 of the resource change notification messages. In one example, the server application 410 may be configured to send a cancel request message to the browser application 310 based on the exemplary schema shown in FIGS. 11A-11B. As shown in Table 7, including the header parameter may be optional. In one example, if the headers parameter is not included in an instance of the end_of_stream message, EXT_LENGTH shall be set to 0 in the DASH subprotocol frame (or in some embodiments, should be set) and the EXT_LENGTH field Assume that there is no empty JSON parameter encoding later. It should be noted that including the empty JSON string data with the additional required padding to the 4-byte boundary is a waste of bandwidth and requires unnecessary processing if the headers parameter is not present. It is. In this manner, computing device 300 and media distribution engine 400 may be configured to exchange messages in accordance with 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 described 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 a reserved character. In some cases, PushDirect is signaled as a JSON property but may require complex analysis. In one example, the PUSH_PARAM grammar can be defined with some simple modifications so as not to disturb the JSON encoding: In one example, the browser application 410 and the server application 510 are preceded by a DQUAUTE if the PUSH_PARAM includes a DQUATE. It may be configured to be escaped with “\” (ie,% × 5C).

前述のダブルクォートを扱う別の例では、次の変更を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 the double quotes described above, the following changes can be made to W16232:
Add the following to section “3.2 Convention”: PCHAR =% × 21 /% × 23-7E
Replace generated VCHAR 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 Template), change the two DQUATEs to '(single quotes, i.e.% x27). Also, in Table 2 (Valid attributes for FastStartParams), the generated DQUATE is changed to '(single quote, ie,% x27), and''is changed to' (single quote, ie,% x27).
The above change uses single quotes instead of double quote characters. For this reason, PCHAR is defined to exclude DQUATE characters (% x22).

W16232において、下記のサブプロトコル識別子は、WebSocketサブプロトコルに使用されるという点に留意すべきである。
サブプロトコル識別子:「mpeg−dash」
It should be noted that in W16232, the following sub-protocol identifiers are used for the WebSocket sub-protocol.
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, browser 410 and server application 510 may be configured to provide future extensibility by including version and / or year in the sub-protocol identifier. In one example, the tag-based sub-protocol identifier may be defined as follows:
Sub-protocol identifier: “tag: mpeg.chigliation.org-dash, 2016: 23009-6”
In one example, the URN-based sub-protocol identifier may be defined as follows:
Sub-protocol identifier: “urn: mpeg: dash: fdh: 2016”
Or Sub-protocol identifier: “urn: mpeg: dash: fdh: 2016: 23009-6”
In one example, the sub-protocol identifier and sub-protocol generic name may be defined as follows:
Sub-protocol identifier: “2016.fdh.dash.mpeg.chiariglione.org”
Sub-protocol general name: "MPEG-DASH-FDH-23009-6"

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

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

一例として、非限定的に、このようなコンピュータ可読記憶媒体は、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, and not limitation, such computer-readable storage media can be RAM, ROM, EEPROM, CD-ROM, or other optical disk storage device, magnetic disk storage device, other magnetic storage device, flash memory, or Any other medium can be used, i.e. any other medium that can be used to store the desired program code in the form of instructions or data structures and that is accessible by the computer. Any connection is also properly termed a computer-readable medium. For example, instructions use a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technology such as infrared, wireless and microwave from a website, server, or other remote source As such, coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, wireless and microwave are included in the definition of media. However, it should be understood that computer-readable media and data storage media do not include connections, carrier waves, signals, or other transient media, but instead are directed to non-transitory tangible storage media. When used in the present invention, a disk and a disc are a compact disc (Compact Disc, CD), a laser disc, an optical disc, a digital versatile disc (Digital Versatile Disc, DVD, floppy disk, and Blu-ray® disc, which normally reproduces data magnetically and the disc emits a laser Used to optically reproduce data. Combinations of the above should also be included within the scope of computer-readable media.

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

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

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

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

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

Claims (13)

メディアプレゼンテーションと関連付けられた情報をシグナリングするための方法であって、前記方法は、
動的適応ストリーミングオーバーハイパーテキスト転送プロトコルメッセージタイプを示すフレームヘッダをシグナリングすることと、JavaScript Object Notation符号化パラメータとして前記メッセージタイプに対応する1つ以上の与えられた引数をシグナリングすることと、を含む、方法。
A method for signaling information associated with a media presentation, the method comprising:
Signaling a frame header indicating a dynamic adaptive streaming over hypertext transfer protocol message type, and signaling one or more given arguments corresponding to the message type as a JavaScript Object Notation encoding parameter. ,Method.
前記フレームヘッダは、メディアプレゼンテーション記述応答メッセージタイプを示し、与えられた引数は、メディアプレゼンテーション記述パラメータを示す、請求項1に記載の方法。   The method of claim 1, wherein the frame header indicates a media presentation description response message type and the provided argument indicates a media presentation description parameter. 前記メディアプレゼンテーション記述パラメータは、符号化された文字列を含む、請求項2に記載の方法。   The method of claim 2, wherein the media presentation description parameter comprises an encoded string. 前記フレームヘッダは、セグメント要求応答メッセージタイプを示し、与えられた引数は、ステータスパラメータを示す、請求項1に記載の方法。   The method of claim 1, wherein the frame header indicates a segment request response message type and the provided argument indicates a status parameter. 与えられた引数は、セグメントパラメータを含み、セグメントパラメータは、符号化された文字列を含む、請求項4に記載の方法。   The method of claim 4, wherein the given argument includes a segment parameter, and the segment parameter includes an encoded string. メディアプレゼンテーションと関連付けられた情報をシグナリングするデバイスであって、前記デバイスは、請求項1から5に含まれるステップのいずれか及びすべての組み合わせを実行するように構成された1つ以上のプロセッサを備える、デバイス。   A device for signaling information associated with a media presentation, the device comprising one or more processors configured to perform any and all combinations of the steps included in claims 1-5. ,device. メディアプレゼンテーションと関連付けられた情報を解析するデバイスであって、前記デバイスは、請求項1から5に含まれるステップのいずれか及びすべての組み合わせに従って生成された信号を解析するように構成された1つ以上のプロセッサを備える、デバイス。   A device for analyzing information associated with a media presentation, wherein the device is configured to analyze a signal generated according to any and all combinations of the steps included in claims 1-5. A device comprising the above processor. 前記デバイスは、メディア配信エンジンを含む、請求項6又は7に記載のデバイス。   The device according to claim 6 or 7, wherein the device comprises a media distribution engine. 前記デバイスは、演算デバイスを含む、請求項6又は7に記載のデバイス。   The device according to claim 6, wherein the device includes a computing device. 前記デバイスは、デスクトップ若しくはラップトップコンピュータ、モバイルデバイス、スマートフォン、携帯電話、携帯情報端末(personal data assistant、PDA)、テレビ、タブレット型デバイス、又はパーソナルゲーミングデバイスからなる群から選択される、請求項9に記載のデバイス。   The device is selected from the group consisting of a desktop or laptop computer, a mobile device, a smartphone, a mobile phone, a personal data assistant (PDA), a television, a tablet device, or a personal gaming device. Device described in. 請求項8のデバイスと、
請求項9のデバイスと、を備える、システム。
The device of claim 8;
10. A system comprising: the device of claim 9.
メディアプレゼンテーションと関連付けられた情報をシグナリングする装置であって、前記装置は、請求項1から5に含まれるステップのいずれか及びすべての組み合わせを実行する手段を備える、装置。   An apparatus for signaling information associated with a media presentation, the apparatus comprising means for performing any and all combinations of the steps included in claims 1-5. 実行すると、デバイスの1つ以上のプロセッサに、請求項1から5に含まれるステップのいずれか及びすべての組み合わせを実行させる命令を中に記憶している、非一時的コンピュータ可読記憶媒体。   A non-transitory computer readable storage medium having stored therein instructions that, when executed, cause one or more processors of the device to perform any and all combinations of the steps included in claims 1-5.
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 true JP2019536312A (en) 2019-12-12
JP7073353B2 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) EP3526975A1 (en)
JP (1) JP7073353B2 (en)
CN (1) CN109845273A (en)
WO (1) WO2018070099A1 (en)

Citations (4)

* 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
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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150271233A1 (en) 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming
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 (4)

* 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
US20160029002A1 (en) * 2014-07-26 2016-01-28 Soeren Balko Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
""Information Technology - Dynamic adaptive streaming over HTTP (DASH) - Part 5: Server and network a", ISO/IEC FDIS 23009-5:2015(E), vol. Version 2.1c2, JPN6021040140, 21 June 2016 (2016-06-21), pages 1 - 19, ISSN: 0004614930 *
"COMMITTEE DRAFT FOR 23009-6: DASH WITH SERVER PUSH AND WEBSOCKETS", JPN6021040138, 21 June 2016 (2016-06-21), pages 1 - 35, ISSN: 0004614929 *

Also Published As

Publication number Publication date
JP7073353B2 (en) 2022-05-23
WO2018070099A1 (en) 2018-04-19
EP3526975A4 (en) 2019-08-21
EP3526975A1 (en) 2019-08-21
CN109845273A (en) 2019-06-04

Similar Documents

Publication Publication Date Title
TWI631852B (en) Systems and methods for link layer signaling of upper layer information
US11025940B2 (en) Method for signalling caption asset information and device for signalling caption asset information
US11615778B2 (en) Method for receiving emergency information, method for signaling emergency information, and receiver for receiving emergency information
US11722750B2 (en) Systems and methods for communicating user settings in conjunction with execution of an application
US20180109577A1 (en) Systems and methods for enabling communications associated with digital media distribution
JP6728246B2 (en) Method and apparatus for transmitting and receiving signals in multimedia system
US20190141361A1 (en) Systems and methods for signaling of an identifier of a data channel
WO2017026110A1 (en) Systems and methods for data transmission based on a link layer packet structure
US20180041810A1 (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

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