JP2017510873A - セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法 - Google Patents

セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法 Download PDF

Info

Publication number
JP2017510873A
JP2017510873A JP2016545771A JP2016545771A JP2017510873A JP 2017510873 A JP2017510873 A JP 2017510873A JP 2016545771 A JP2016545771 A JP 2016545771A JP 2016545771 A JP2016545771 A JP 2016545771A JP 2017510873 A JP2017510873 A JP 2017510873A
Authority
JP
Japan
Prior art keywords
cache
client terminal
server
manifest
network information
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
JP2016545771A
Other languages
English (en)
Other versions
JP6514217B2 (ja
JP2017510873A5 (ja
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2017510873A publication Critical patent/JP2017510873A/ja
Publication of JP2017510873A5 publication Critical patent/JP2017510873A5/ja
Application granted granted Critical
Publication of JP6514217B2 publication Critical patent/JP6514217B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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
    • 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

Landscapes

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

Abstract

本発明は、セグメントに分割され少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツを受信するように構成されたクライアント端末(CT)に関する。各セグメントは一以上の表現で入手可能であり、前記クライアント端末は、前記サーバ(SE)と前記クライアント端末(CT)との間のパスに沿った、階層を成すキャッシュ(DANE)を含むネットワーク情報を受信するように構成された通信モジュール(2)を含む。図2

Description

本発明は概してHTTP(HyperText Transfer Protocol)などによる適応的ストリーミング技術の領域に関し、特に、セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末による、ネットワーク情報の取得方法に関する。
このセクションは、以下に説明して特許請求する本発明の様々な態様に関連する様々な態様の技術を読者に紹介することを意図するものである。この説明は、本発明の様々な態様の理解を容易にする背景情報を読者に提供する役に立つはずである。従って、言うまでもなく、これらの記載は上記を考慮して読むべきであり、先行技術として認める(admissions of prior art)ものではない。
HTTPによる適応的ストリーミングは、急速にマルチメディアコンテンツ配信の主要技術になりつつある。すでに利用されているHTTP適応的ストリーミングプロトコルの中で最も有名なものは、AppleのHTTP Live Streaming(HLS)、MicrosoftのSilverlight Smooth Streaming(SSS)、AdobeのAdobe Dynamic Streaming(ADS)、及び3GPPのSA4グループにより開発されたDynamic Adaptive Streaming over HTTP(DASH)である。
クライアント端末は、適応的ストリーミングでオーディオビジュアルコンテンツ(またはA/Vコンテンツ)を再生したいとき、このA/Vコンテンツをどうやって取得するかを記述するファイルを、まず取得しなければならない。これは概して、URL(Uniform Resource Locator)から記述ファイルいわゆるマニフェストを取得することにより、HTTPプロトコルを通して行われるが、その他の手段(例えば、ブロードキャスト、電子メール、SMSなど)により実現することも可能である。マニフェストは、基本的には、(ビットレート、解像度、その他の特性に関する)A/Vコンテンツなどの利用可能表現(available representations)を列挙したものである。前記マニフェストは事前に生成され、例えばリモートサーバによりクライアント端末に配信される。
実際、画質が異なるA/Vコンテンツに対応するデータのストリームがHTTPサーバから入手可能である。高ビットレートには最高画質が伴い、低ビットレートには最低画質が伴う。これにより、ネットワーク状態が大きく変化する、異なる多くの端末への配信が可能となる。
全データストリームはセグメントに分割され、このセグメントは、クライアント端末が2つのセグメント間で一画質レベルから他の画質レベルにスムースに切り替わるようになっている。結果として、ビデオ画質は再生中に変化し得るが、中断(フリーズとも呼ばれる)することはほとんどない。
プロトコルに応じて、マニフェストはさまざまなフォーマットを提供し得る。Apple HLSプロトコルの場合、それはM3U8プレイリスト(「マスタープレイリスト」と呼ばれる)である。このプレイリストの各要素は他のプレイリストであり、表現(representation)ごとに1つのプレイリストがある。他のプロトコル(例えば、DASH)によると、マニフェストは、すべての表現(representations)を順次記述する一以上のXMLファイルよりなる。どんな場合であっても、マニフェストの生成は、テキストファイルの生成や確定的文法に基づくテキストの作成(writing)と同じくらい単純である。
周知なことであるが、利用可能な帯域幅に基づき、クライアント端末は、ある時点で最適な表現(representation)を選択し、画質(例えば、ビデオ画質)とネットワーク変化に対するロバスト性(robustness)との間のトレードオフを最適化する。利用可能な帯域幅は、受信セグメントごとに動的に決定される。実際、あるセグメントを求めるHTTPリクエストの送信と、それに対応するHTTPレスポンスの受信との間として定義されるラウンドトリップ時間(Round Trip Time)(以下、本願ではHTTP RTTと呼ぶ)が一般的に測定され、伝送経路に沿って利用できる帯域幅を推定するのに用いられる。
クライアント端末とリモートサーバ間の伝送経路上にキャッシュがあれば、これは良くあることであるが、他のクライアントが同じ表現の同じセグメントを以前要求したことがある場合や、コンテンツ配信ネットワーク(Content Delivery Network(CDN))がそのセグメントをそのキャッシュにすでに提供している場合には、セグメントが前記キャッシュにすでに格納されていることがある。
このように、前記セグメントを求めるHTTPリクエストに対する応答は、セグメントがリモートサーバから来る場合よりも速い。クライアント端末とキャッシュ間のHTTPリクエストのHTTP RTTは、クライアント端末とリモートサーバ間のものよりずっと短いことがある。伝送経路が短いからである。
また、伝送経路上にキャッシュがある(かつ、要求されたセグメントがそのキャッシュに格納されている)場合、ピークレートはより良く、特にキャッシュとリモートサーバとの間の前記伝送経路上に輻輳がある場合にそうである。
クライアント端末は、リモートサーバにより送信された応答と中間キャッシュにより送信された応答とを通常は区別しないので、帯域幅変化を、間違って、エンドツーエンドのネットワーク条件の変化として解釈するが、実際には、「クライアント端末からサーバへの」経路から、「クライアント端末からキャッシュへの」経路への切り替えを見ている。
その結果、クライアント端末により行われる帯域幅推定は、過大評価され、期待したようには、エンドツーエンドの伝送経路特性を正しく反映しない。
かかる過大評価は概してエンドユーザにとって貧しい経験となる。実際、推定された帯域幅が期待よりも大きいとき、適応的ストリーミングクライアント端末は通常、画質がより高い表現(例えば、ビットレートがより高いもの)からのセグメントを要求する。この要求されたセグメントは、(キャッシュは、一定のビットレートで同じマルチメディアコンテンツを再生するクライアント端末により満たされていると仮定して)表現が変化するので、キャッシュにある確率は低い。要求された前記セグメントに関連するダウンロード時間は、期待よりもずっと長くなってしまい、要求されたセグメントの到着が遅すぎることになる。クライアント端末は、低画質表現に戻る。これはキャッシュ中に見つかりやすいものである。
結果として、クライアント端末は、キャッシュミスにより常にインターラプトされて、高画質と低画質のセグメント間を行ったり来たりして、キャッシングの利益を危険にさらすこととなる。
さらに、HASクライアント端末は、キャッシュの内容を知らないので、加速能力やネットワーク負荷の低減の利益を失う。さらに、セグメントの各ダウンロードにおける個々のクエリーが可能であっても、現在のHASクライアント端末は、セグメントシーケンスがキャッシュ中にあることを考慮するレート適応ストラテジをelaborateできない。
本発明は、エンドユーザ体験の質を改善するために上記の欠点の少なくとも一部を改善することを試みるものである。
本発明は、セグメントに分割され少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツを受信するように構成されたクライアント端末による、ネットワーク情報を取得する方法に関する。各セグメントは一以上の表現で入手可能であり、これは、前記ネットワーク情報がサーバとクライアント端末との間のパスに沿って階層を成すキャッシュを含む点で特筆すべきである。
一実施形態では、前記ネットワーク情報は、前記階層の少なくとも幾つかのキャッシュについて、前記キャッシュにより記憶されたセグメントの表現のリストを更に含み得る。
一実施形態では、クライアントは、階層に属する目標キャッシュに要求を送信し、前記目標キャッシュにより記憶されたセグメントの表現のリストを受信する。この表現のリストは、完全なリストであるか、または前に記憶されていたセグメントと現在記憶されているセグメントとの差分のリストである。
一実施形態では、クライアント端末は、前記目標キャッシュにより記憶されたセグメントの表現のリストに従って、前記キャッシュにより記憶されたセグメントの表現のリストを更新する。
さらに別の実施形態では、前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしていてもよい。
また、前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿ったキャッシュの順序付きリストを含み得る。
さらに、前記マニフェストは、前記順序付きリストの各キャッシュについて、前記キャッシュにより記憶された前記セグメントの表現を特定し得る。前記リストは、ローカルでキャッシュされた表現のマニフェストへの追加により、サーバとクライアント端末との間のパスに沿って出会った各キャッシュによりインクリメント方式で構成され得る。
その他、前記マニフェストは、サーバとクライアント端末との間のパスに沿って出会ったキャッシュにより、その識別子を追加して順序付きリストを構成することにより、修正され得る。
一実施形態では、前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿って出会う、前記順序付きリストの各キャッシュの識別子を含む。
さらにまた、前記キャッシュは、接続情報を追加することにより、前記マニフェストを更に修正することができる。
一実施形態では、マニフェストは、前記キャッシュの少なくとも1つの接続情報を含む。
さらに別の態様では、前記クライアント端末は、各キャッシュにより記憶された前記セグメントの表現を決定するために、データの配信に用いられるデータパスとは異なる補助通信パスを用いて、前記順序付きリストの少なくとも幾つかのキャッシュにクエリーできる。
他の一態様では、ネットワーク情報は、サーバからクライアント端末により受信されるメッセージに負荷され得る。
このメッセージは、それを受信するキャッシュが前記メッセージに自分の存在をレポートできる拡張ヘッダを含む。
特に、出会った各キャッシュを特定する順序付きリストは、前記拡張ヘッダに構成できる。
また、接続情報は、前記順序付きリストの各キャッシュに関連付け得る。
一実施形態では、前記方法は、キャッシュの階層に属する少なくとも1つのキャッシュからのセグメントのダウンロードを含む。
一実施形態では、ネットワーク情報は、セグメントの受信に使われるインターフェースと同様の、又はセグメントの受信に使われるインターフェースとは異なるネットワークインターフェースにより受信される。
異なる実施形態によると、ネットワークインターフェースは、ネットワーク情報(Wifi、ADSL、Cable、Mobile及び/又はBroadcast(例えば、DVB、ATSC))を受信するように適応される。
異なる実施形態によると、セグメントを受信するように適応されたネットワークインターフェースは、Wifi、ADSL、Cable、Mobile及び/又はBroadcast(例えば、DVB、ATSC)インターフェースである。
一実施形態では、クライアント端末は、セグメントを受信するのに使われるプロトコル(例えば、http、Flute)と同様のプロトコルを、又は異なるプロトコル(セグメント:http、flute;ネットワーク情報:TR69 Broadband Forumまたはブロードキャストプロトコル、xmpp IETF、DDS OMG(Object Management Group))を、ネットワーク情報を受信するために用いる。
一実施形態では、ネットワーク情報はランダムアクセスメモリ(RAM)に記憶される。
一実施形態では、セグメントは、ローカルメモリ(例えば、ハードディスクまたはフラッシュメモリ)に記憶され、及び/又はデコーダにより復号され、及び/又はディスプレイに表示される。
本発明はまた、セグメントに分割され少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツを受信するように構成されたクライアント端末であって、各セグメントは一以上の表現で入手可能である。本発明によると、前記クライアント端末は、サーバとクライアント端末との間のパスに沿って階層を成すキャッシュを含むネットワーク情報を受信するように構成された通信モジュールを含む。
また、前記ネットワーク情報は、前記階層の少なくとも幾つかのキャッシュについて、前記キャッシュにより記憶されたセグメントの表現のリストを更に含み得る。
さらに、前記通信モジュール端末は、各キャッシュにより記憶された前記セグメントの表現を決定するために、データの配信に用いられるデータパスとは異なる補助通信パスを用いて、前記階層の少なくとも幾つかのキャッシュにクエリーするように更に構成され得る。
本発明は、少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツのセグメントをクライアント端末に配信するように構成されたキャッシュによる、ネットワーク情報を送信する方法にも関する。各セグメントは一以上の表現で入手可能である。
本発明によると、前記ネットワーク情報は、サーバとクライアント端末との間のパスに沿って階層を成すキャッシュを含む。
一実施形態では、キャッシュは、階層を受信し、それがクライアント端末への最寄りのキャッシュと考えられるように更新する。この最寄りのキャッシュは、(例えば、クライアント端末上のセグメントを更新するネットワークリソースを節約し、及び/又はセグメントへの最も素早いアクセスのため)アクセススピードの点で最も好ましく、ネットワークリソースを節約する。そして、キャッシュは、更新した階層を下向きにクライアントに転送する;こうして階層はインクリメント方式で構成される。
一実施形態では、キャッシュは、受信した階層に関連して受信した表現のリストに、前記キャッシュに関連するローカルでキャッシュされた表現のリストを追加し、キャッシュは、次いで、更新した表現のリストを下向きにクライアントに転送する;こうして表現のリストがインクリメント方式で構成される。
本発明は、少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツのセグメントをクライアント端末に配信するように構成されたキャッシュによる、ネットワーク情報を送信する方法にも関する。各セグメントは一以上の表現で入手可能である。発明によると、前記ネットワーク情報は、サーバとクライアント端末との間のパスに沿って階層を成すキャッシュを含む。
前記キャッシュは、
−受信した階層に関する受信した表現のリストに、前記キャッシュに関連するローカルでキャッシュされた表現のリストを追加し、
−前記クライアント端末に、更新した表現のリストを転送し、
前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしている。
一実施形態では、前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿ったキャッシュの順序付きリストを含む。
一実施形態では、さらに、前記マニフェストは、前記順序付きリストの各キャッシュについて、前記キャッシュにより記憶された前記セグメントの表現を特定する。
一実施形態では、前記キャッシュは、自分の識別子を追加して前記順序付きリストを構成することにより、前記順序付きリストを修正する。
一実施形態では、前記キャッシュは、接続情報を追加することにより、前記マニフェストを更に修正する、
本発明は、ネットワーク情報を送信するように適応されたキャッシュに関し、前記キャッシュは少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツのセグメントをクライアント端末に配信するように構成され、各セグメントは一以上の表現で入手可能である。本発明によると、前記ネットワーク情報はサーバと前記クライアント端末との間のパスに、階層を成すキャッシュを含む。
一実施形態では、キャッシュは、住宅用ゲートウェイ、パブリックゲートウェイ、企業ゲートウェイ、ホットスポット、電話、車両、インターネットサービスプロバイダ(ISP)ネットワーク要素、及び企業プロキシを含むセットに含まれるネットワーク要素(ネットワークキャッシュとも呼ぶ)である。
本発明は、通信ネットワークからダウンロード可能であり、及び/又はコンピュータにより読み取り可能な媒体上に記録され、及び/又はプロセッサにより実行可能であり、上記の方法のステップを実装するプログラムコード命令を含むコンピュータプログラム製品に更に関する。
また、本発明は、非一時的コンピュータ読み取り可能媒体であって、それに記録されたコンピュータプログラム製品を含み、プロセッサにより実行可能であり、上記の方法のステップを実装するプログラムコード命令を含むものにも関する。
開示した実施形態と同じ範囲の態様を以下に記載する。言うまでもなく、これらの態様は、読者に本発明が取り得る形態の簡単な概要を提供するためだけに記載するものであり、本発明の範囲を限定するものではない。実際、本発明は、以下に記載していない様々な態様を包含し得る。
開示した実施形態と同じ範囲の態様を以下に記載する。言うまでもなく、これらの態様は、読者に本発明が取り得る形態の簡単な概要を提供するためだけに記載するものであり、本発明の範囲を限定するものではない。実際、本発明は、以下に記載していない様々な態様を包含し得る。
本発明は、添付した図面を参照して以下の実施形態及び実施例により、よりよく理解でき、説明されるであろう。
本発明の好ましい実施形態が実装され得るクライアントサーバネットワークアーキテクチャを示す模式図である。 本発明の好ましい実施形態によるクライアント端末の一例を示すブロック図である。 図2のクライアント端末により実装されるマルチメディアコンテンツの入来セグメントシーケンスをダウンロードする方法を示すフローチャートである。 図1と図2において、表示したブロックは純粋に機能的なものであり、必ずしも物理的なものとして分離していることを示すものではない。すなわち、これらのブロックは、ソフトウェア、ハードウェアとして開発してもよいし、一以上のプロセッサを含む一または複数の集積回路に実装してもよい。
可能な限り、同じ又は同様のパーツを参照するため複数の図面を通して同じ参照数字を用いる。
言うまでもなく、本発明の図面と説明は簡略化され、本発明をよく理解するのに必要な要素を説明しており、明確性のため、一般的なデジタルマルチメディアコンテンツ配信方法やシステムにあるその他の多くの要素は省略している。しかし、本技術分野ではかかる要素は周知であるから、かかる要素の詳細な説明はここではしていない。本開示は、当業者に知られたかかるバリエーションや修正もすべて含むものである。
好ましい実施形態では、本発明はHTTP適応的ストリーミングプロトコル(またはHAS)に関して図示する。当然、本発明は斯様な具体的な環境には制約されず、他の適応的ストリーミングプロトコルをもちろん考え実装することもできる。
図1に示したように、一または複数のネットワークN(図には1つのみを示した)は、本発明が実装され得るものであり、一または複数のクライアント端末CT、一以上のHTTPサーバSE、複数のスマートキャッシュDANE、及び一以上のレガシーキャッシュRNEを含む。DASHによると、かかるサーバSEはメディアオリジン(Media Origin)とも呼ばれる。これらは、例えばメディアプレゼンテーション記述(media presentation description、MPD)、すなわちいわゆるマニフェストを生成する。これはコンテンツ配信の配信源である。マルチメディアコンテンツは幾つかの外部エンティティから入来し、メディアオリジンでHASフォーマットに変換されてもよい。
スマートキャッシュDANEはネットワークNにおけるキャッシング要素であり、このキャッシング要素はHASコンテンツが配信されることを分かるように構成されている。MPEG−DASH用語を用いて、スマートキャッシュはDASH Aware Network Element(DANE)であると考えられる。
レガシーキャッシュRNEは、ネットワークNにおける、それを通して伝送されるデータのタイプを知らない、または少なくともHASを理解しない、キャッシング要素である。MPEG−DASH用語では、レガシーキャッシュはRegular Network Element(RNE)であると考えられる。
クライアント端末CTはHTTPサーバSEの1つからマルチメディアコンテンツを取得したい。前記マルチメディアコンテンツは複数のセグメント(チャンク(chunks)とも呼ばれる)に分割される。マルチメディアコンテンツはサーバSEにおいて異なる表現(representations)で入手できるものと仮定する。HTTPサーバSEは、クライアントの要求に応えて、HTTP適応的ストリーミングプロトコルを用いて、一以上のTCP/IP接続を介してクライアント端末CTにセグメントをストリーミングできる。
図2に示した好ましい実施形態では、クライアント端末CTは、少なくとも次のものを含む:
− 第1のネットワークN1への接続1(有線及び/又は無線であって、例えばWi−Fi、イーサネット(登録商標)など)のインターフェース;
− HTTPサーバSEと通信するプロトコルスタックを含む通信モジュール2。具体的に、通信モジュール2は、本技術分野で周知のTCP/IPスタックを含む。もちろん、他のタイプのネットワーク及び/又は通信手段であって、クライアント端末CTをHTTPサーバSEと通信できるようにするものであってもよい;
− HTTPサーバSEからHTTPストリーミングマルチメディアコンテンツを受信する適応的ストリーミングモジュール3。これはネットワーク制約及びそれ自体の制約により良くマッチするビットレートでセグメントを選択し続ける;
− マルチメディアコンテンツを復号及びレンダリング(render)するように適応されたビデオプレーヤ4;
− クライアント端末CTの不揮発性メモリに格納されたアプリケーション及びプログラムを実行する一以上のプロセッサ5;
− ビデオプレーヤ4への伝送の前に、HTTPサーバSEから受信したセグメントをバッファする、揮発性メモリなどの記憶手段6;
− 様々なモジュールと、一般的なクライアント端末機能を実行する本技術分野の当業者には周知のすべての手段とを接続する内部バスB。
好ましい実施形態では、クライアント端末CTは、ポータブルメディアデバイス、携帯電話、タブレットまたはラップトップ、TVセット、セットトップボックス、ゲームデバイス、または集積回路である。当然、クライアント端末CTは、メディアコンテンツを逆多重化及び復号するもののような幾つかのサブ要素のみでなく、完全なビデオプレーヤを含んでいなくてもよく、エンドユーザに復号されたコンテンツを表示する外部手段に依存してもよい。この場合、クライアント端末CTは、HTTP適応的ストリーミング(HAS)に対応したビデオデコーダ、例えばセットトップボックスである。
本発明によると、各クライアント端末CTは、リモートサーバSEに格納されたマルチメディアコンテンツのセグメントの入来シーケンスをダウンロードする方法Mを実装するように構成されている。前記シーケンスは、そのフィーチャが後程開示する画質基準に最も良くマッチするように選択される。
方法Mを実装するため、クライアント端末CTは好ましくはネットワークアーキテクチャNを知っている必要がある。
この目的のため、マニフェストは、HTTPレスポンスにより、サーバSEからクライアント端末CTに、後者によるマルチメディアコンテンツの要求時に配信され、サーバSEにおいて前記マルチメディアコンテンツの利用可能な表現(representations)のリストを含むが、サーバSEとクライアント端末CTとの間にあるスマートキャッシュDANEの順序付きリストをさらに含み得る。この場合、サーバSEは、ネットワークアーキテクチャ(例えば、マネージドネットワークなどの場合)を知っており、かかる順序付きリストを予め構成することができる。サーバSEは要求クライアント端末CTに応じた順序付きリストを提供してもよい。
順序付きリストにおいて、出会う各スマートキャッシュDANEの識別は次により行える:
− ユニークな識別子;
− 前記スマートキャッシュに到達できる(後で説明する)、サービスアクセスポイント(Service Access Point)などの接続情報。
このスマートキャッシュDANEの順序付きリストは、任意的に、付加的接続情報で完了するが、クライアント端末CTにより受信されるので、マニフェストの拡張として提供される。
順序付きリストにおいて、スマートキャッシュDANEは、好ましくはクライアント端末CTとの近さを考慮して、リストされる。順序付きリストの最初の要素はクライアント端末CTに最も近いスマートキャッシュに対応する。
変形例では、サーバSEは、ネットワークアーキテクチャを知らないとき、かかる順序付きリストを予め構成することはできないかも知れない。その場合、各スマートキャッシュDANEは、(専用調査モジュールにより)サーバSEのHTTPレスポンスのコンテンツタイプヘッダを調査(inspect)し、それがマニフェストを含むことを識別し、次いで、例えば対応するサービスアクセスポイントで、自分の識別子を順序付きリストに追加することにより前記マニフェストを更新する。
順序付きリストを確立する両方法は共存でき、サーバSEにより知られていないスマートキャッシュDANEは、サーバSEのHTTPレスポンスを受信する時、自分を、既存の順序付きリストに追加できる。明らかに、その場合、スマートキャッシュは好ましくは、何らかの情報を追加する前に、順序付きリストに自分が載っているかチェックする。
以下は、スマートキャッシュDANEの順序付きリストの、限定ではないMPEG−DASHマニフェストの一例である。
Figure 2017510873
順序付きリストのスマートキャッシュ階層情報に加え、マニフェストはさらに、対応するスマートキャッシュ識別子に関連する付加リストに、マルチメディアコンテンツ(またはその一部)の各セグメントの格納された表示を加えることにより、順序付きリストの各スマートキャッシュDANEに格納されたマルチメディアコンテンツのセグメントの表現を示し得る。前記付加リストは、(例えば、マネージドネットワークの場合)サーバSEにより、又は出会う各スマートキャッシュDANEにより構成され得る。
他の変形例では、ネットワークアーキテクチャ及び特にスマートキャッシュ階層を決めるため、サーバSEはクライアント端末CTにHTTPレスポンスを送る。これは、各スマートキャッシュDANEが前記応答を受信して、自分の存在をクライアント端末CTと、前記キャッシュDANEとクライアント端末CT間にある次のキャッシュにレポートできるようにする拡張ヘッダを含む。HTTP拡張ヘッダは次のように定義できる:
Figure 2017510873
ヘッダ拡張により、サーバSE及び/又はスマートキャッシュDANEに、自分の存在をダウンストリームのスマートキャッシュDANE及び/又はクライアント端末SEに示す手段を提供し得る。かかる手段はどの応答にも(特に、マニフェストを含むもの)添付され得る。
サーバSEは、HTTPレスポンスに添付されたシンタックス「X−SmartCache: required」を用いて、ダウンストリームのスマートキャッシュDANEに、専用修正モジュールにより、自分の識別子と、任意的にその接続情報を添付させることができる。このヘッダを受信すると、各スマートキャッシュDANEは、順序付きリストに自分の識別子と接続情報とをプリペンド(prepend)する。有利にも、HTTPレスポンスを受信した最初のスマートキャッシュは、「required」トークンを破棄する。
この変形例の利点は、前記HTTP拡張ヘッダは、(さらに別のコンテンツデータ転送などの)他の応答メッセージに添付することができる。それは、マニフェストを含むHTTPレスポンスの傍受時に使えるが、後者の修正はできない。
例示的だが限定的でない例として、スマートキャッシュ階層は、HTTPレスポンスを用いて次のように示すことができる:
Figure 2017510873
好ましい実施形態の別の態様では、クエリーしているスマートキャッシュDANEのシグナリングメッセージは、データ配信に使われる主チャネルとは別の補助通信チャネル(又はパス)により交換できる。この補助チャネルはデータ主チャネルとは独立して動作する。かかるシグナリングメカニズムはアウトオブバンド・シグナリングと名付けられている。
アウトオブバンド・シグナリングの2つの区別できるメカニズムは、第1のメカニズムの場合、具体的なスマートキャッシュDANEをターゲットにする別のプロトコルを実装して開発でき、第2のメカニズムの場合、HTTPの要求を自然な上向きルーティングからの利益をシグナリングする第2のTCP接続を有するHTTPプロトコルを実装して開発できる(サーバSEに向けてクライアント端末CTにより送信されたシグナリング要求は、当然ながら、出会ったスマートキャッシュDANEと適当な時に反応できるレガシーキャッシュRNEを通る)。いかなる場合にも、これらのメカニズムはレガシーキャッシュRNEには影響しない。
特定プロトコルを用いる第1のメカニズムによると、シグナリングオーバーレイはスマートキャッシュ階層とその識別子とを用いるところにある。シグナリングオーバーレイ(signaling overlay)が得られると、異なるネットワーク機器は互いに通信できる。スマートキャッシュインターフェースを用いてキャッシュ管理動作を交換できる。前記スマートキャッシュインターフェースは、HTTPレスポンスヘッダに含まれる又はマニフェストの一部として提供されるスマートキャッシュ・サービスアクセスポイントによりアクセスできる。それにより、DASH/HASクライアントは、スマートキャッシュインターフェースの動作を起動できる。各動作は、動作識別子とそのパラメータとを含むメッセージを構成し、それをスマートキャッシュインターフェースに送信することにより、起動できる。
例示的ではあるが限定的ではない例では、シグナリングメッセージは、JSONストリングス(JSON strings)として構成でき、これは多くのサーバサイドスクリプティング言語で容易に解析される。シグナリングメッセージの受信時、スマートキャッシュDANEは要求された動作を実行できる。
特に、クライアント端末CTとスマートキャッシュDANEとの間のシグナリングメッセージは複数の好適なプロトコルにより送信できる。
第1の例示的例では、WebSocketを用い、これによりクライアント端末CTとスマートキャッシュDANEとの間の双方向ポイントツーポイント通信が可能である。第2の例示的例では、XMPPを用いて、(例えば、スマートキャッシュの全てのクライアント端末へのキャッシュ更新通知に関する)情報のポイントツーマルチポイント(point to multi−point)送信が可能である。当然に、他のプロトコルを使ってもよい。
第1のメカニズムにより、クライアント端末CTは、前記スマートキャッシュDANEに格納されたセグメントとその表現をディスカバーするため、スマートキャッシュDANEとメッセージを交換できる。次のメッセージを使える:
Figure 2017510873
このシグナリングメッセージを受信すると、スマートキャッシュDANEは、キャッシュされたセグメントの識別子を含む更新されたリストを回答できる。このメッセージは、個別の各スマートキャッシュのコンテンツの正確な概要を得るため、クライアント端末により、そのアップストリームのどのスマートキャッシュDANEにも送信できる。
また、スマートキャッシュDANEは、登録されたクライアント端末であって例えばモニターしたいセグメントを事前に指定していたものへのコールバック(callback)を用いて、クライアントに、そのキャッシュ内容の変化に関して通知できる。かかるコールバックメカニズムは、HTML5ウェブソケット、サーバーサイドイベントを用いて、今日では容易に実装されるが、他の技術を利用して同様の結果を実現することもできる。
Figure 2017510873
第2のメカニズムに従って、クライアント端末CTは、HTTPを、キャッシュのチェーン(スマートキャッシュDANEとレガシーキャッシュRNE)にクエリーしてキャッシュされたコンテンツをディスカバーするシグナリング手段として用いることもできる。これらのシグナリングHTTPメッセージは、同じサーバアドレスに向けた二次的TCPセッションで送信され、主データ配信セッションと同じパスをたどる。シグナリングHTTPリクエストは、特に、データ転送をトリガーすることを回避するように構成される。
この目的の為、HTTP HEADメソッドまたは最小バイトレンジGET(例えば、データの単一バイトを要求するもの)を用いることができる。入来セグメントの異なる表現を求める複数のHEAD(又は1バイトレンジGET)リクエストを送信し、提案の拡張を用いることにより、クライアント端末CTは、キャッシュされた表現の位置のマップを構成することができる。
特に、キャッシュの内容をクエリーするため、クライアント端末CTは、最も近いキャッシュの内容を要求する「only−if−cached」命令を伴う「Cache−control」HTTPヘッダを用いることができる。しかし、第1のメカニズムと比較して、HTTPベースのメカニズムでは黙示的に、サーバSEに向かうパスの最初のキャッシュのみへのクエリーができる。
最初のキャッシュのみにクエリーするという欠点を緩和する拡張として、シグナリング要求の「only−if−cached」命令は、考慮すべきキャッシュの深さの表示を更に含んでも良い。例えば、次の通りである:
Figure 2017510873
この深さ値がスマートキャッシュDANEに解釈され、セグメントの要求された表現はスマートキャッシュDANEにキャッシュされていない場合、前記スマートキャッシュは、深さ値が許容すれば、そのシグナリング要求を上に転送する。スマートキャッシュDANEが、要求された表現を格納していないときは常に、シグナリング要求を転送する前に、深さ値がデクリメントされ、HTTPヘッダが適宜修正される。スマートキャッシュDANEが、深さ値が1であるシグナリング要求を受信すると、前記シグナリング要求は、キャッシュミスの場合でも、それ以上転送されない。
改良において、要求された表現を格納しているスマートキャッシュDANEは、その応答に、到達した深さを示す補足命令を含んでいてもよい。例えば、
Figure 2017510873
そして、スマートキャッシュDANEから受信した値で、クライアント端末CTは、クライアント端末CTのシグナリング要求の初期の深さ値から、返された値を減算することにより、考慮されたスマートキャッシュDANEまでの(キャッシュに関する)距離を知ることができる。
あるいは、クライアント端末CTは、シグナリング要求中でクエリーの深さを特定することにより、それをあるキャッシュに制限してもよい。シグナリング要求が、特定された前記スマートキャッシュDANEに到達し、前記スマートキャッシュDANEが、要求されたセグメントの表現を格納していない場合、特定された前記スマートキャッシュDANEは、要求をサーバSEに転送せずに、否定的な回答をする。この目的のため、目標スマートキャッシュ識別子を指定する拡張が、HTTPシグナリング要求のキャッシュ制御(cache−control)「only−if−cached」命令に追加される。例えば:
Figure 2017510873
シグナリング要求で用いられるスマートキャッシュ識別子は、スマートキャッシュDANEの既知のSAPであっても、前記スマートキャッシュDANEのユニークな識別子であってもよい。
HASクライアント端末CTが、サーバSEへのパス上に配置されたスマートキャッシュDANEを知っていて、各スマートキャッシュDANEに保持されたキャッシュされた表現のリストを知っている場合、クライアント端末CTは方法Mを実装できる。
(k個のセグメントの1つのシーケンスを確定する)k個の入来セグメントについて、クライアント端末CTとサーバSEとの間のスマートキャッシュDANEの内容について分かっていれば、方法Mは、ダウンロードされるシーケンスの前記セグメントのk個の表現を決定できる。方法Mは、m個のセグメント(1≦m≦k)をダウンロードした後、またはキャッシュ更新メッセージの受信時に定期的に実行されることが好ましい。かかる更新により、m+1個からm+m個までのセグメントのさらなるダウンロードが、(m+kまでの予測を用いて)最適化できる。
好ましい実施形態によると、図3に示したように、クライアント端末CTにおいて、サーバSEに格納され、異なる表現で利用可能なマルチメディアコンテンツのk個のセグメントの入来シーケンスをダウンロードする方法は、次のステップを含む:
− クライアント端末CTとサーバSEとの間に配置された、(上記の通り)特定されたキャッシュDANEに格納された、又は格納されていない前記セグメントの利用可能な表現の一部または全部の組み合わせについて、次を計算するステップ(ステップS1):
§ k個の表現の前記組み合わせの各々の画質の効用関数U(k)の値;及び
§ 前記組み合わせの各々をダウンロードする予測時間T(k);
計算するステップS1は、図2に示したように、クライアント端末CTの計算器7により実行される。変形例では、計算器7はプロセッサモジュール5に組み込まれても、その一部であってもよい。
− 決定された効用関数値のうち、ダウンロード時間が(例えば、セグメントのシーケンスのプレイアウト時間に対応する)時間閾値より短い、最も高い効用関数値を選択するステップ(ステップS2)。選択するステップS2はクライアント端末CTの選択モジュール8により実行される;
− クライアント端末CTにおいて、選択された組み合わせに関連する表現の少なくとも初期シーケンスをダウンロードするステップ(ステップS3);選択された組み合わせに関する情報を受信するとき、選択された表現のダウンロードは、通信モジュール2により及び/又は適応的ストリーミングモジュール3により、管理される。
当然に、ステップS1乃至S3の少なくとも幾つかはクライアント端末CTではなく、外部ネットワーク機器(例えば、サーバ、ゲートウェイ、プロキシなど)で実行されても良い。
特に、ある組み合わせの場合、効用関数U(k)は次のものに依存する:
− 前記組み合わせの表現の
(外1)
Figure 2017510873
の全体的画質;
− 前記組み合わせの表現の変動性σ;
− 前記組み合わせの表現のキャッシュミスのコストM(k)。
全体的画質(overall quality)は、クライアント端末のエンドユーザにより知覚されるので、前記組み合わせにおける表現の画質に比例する。高画質を提供するには高いビットレートを使うので、
(外2)
Figure 2017510873
と記される表現のビットレートの和又はその平均を、この全体的画質の推定として用いることができる。
変動性は、例えば、前記組み合わせ中の表現値の分散により表すことができる。
キャッシュミスのコストは、帯域幅コストであり、ネットワークリソースに影響し、データを配信するサーバリソースにおけるコストでもある。両者は、サーバからダウンロードされるセグメントのビットレートに比例し、それゆえ、このコストは、キャッシュミスのあるセグメントの表現のビットレートの和により表すことができる。
限定的ではなく例示的な例では、ある組み合わせの効用関数U(k)は、次の式により求められる:
Figure 2017510873
ここで、
(外3)
Figure 2017510873
は、前記組み合わせの表現の平均ビットレートであり、kはシーケンスのセグメント数であり;
− σは前記組み合わせの表現の分散であり(それゆえシーケンスの不安定性を示す);
− αは分散の加重パラメータであり;
− M(k)は前記組み合わせの表現のキャッシュミスの平均コストであり;
− βはキャッシュミスの平均コストの加重パラメータである。
特に、ある組み合わせの表現の平均ビットレートは、次の式により決定できる:
Figure 2017510873
Riは、前記組み合わせに属するセグメントiのある表現のビットレートである。
また、前記組み合わせの表現の分散σは次の式で得られる:
Figure 2017510873
分散σは、表現間の変化数と、平均的表現からの変化の大きさとに応じて大きくなる。
さらに、前記組み合わせの表現のキャッシュミスの平均コストM(k)は、例えば、
Figure 2017510873
と書ける。
ここで、セグメントiの表現がサーバSEから読み出された場合には、Si=1であり、そうでなければ(その表現は、特定されたスマートキャッシュDANEの1つにキャッシュされていれば)、Si=0である。
シーケンスの効用関数U(k)を最大化することにより、ビットレートが高く、分散が小さく、キャッシュミスが少ない方が優先される。加重パラメータα及び/又はβを調整して、分散及び/又はキャッシュミスの許容度を確定することができる。明らかに、分散及び/又はキャッシュミスは、α及び/又はβの値をゼロにすることにより、無くすことができる。
効用関数U(k)は、次の基準を満たす組み合わせを決定するために、考えられる組み合わせの各候補に対して計算される:
− 高い平均ビットレート(及び黙示的に高い画質)
− 変動性が小さい安定したビットレート、これは一定のビデオ画質を意味する
− サーバSE及びネットワークNへの負荷をできるだけ低減するため、最大数のセグメントがキャッシュから読み出される。
また、組み合わせの推定ダウンロード時間T(k)は、次の式
Figure 2017510873
により計算してもよい。
ここで、
− BWserverは、サーバから前記組み合わせの表現をダウンロードしている時に観測されたダウンリンク帯域幅であり;
− BWciは、前記組み合わせのセグメントiの表現を、その表現を保持している最寄りのスマートキャッシュDANEからダウンロードしている時に観測されたダウンリンク帯域幅である。Ciは、組み合わせの各表現に対して、前記表現を保持している最寄りのキャッシュのインデックスを取ることにより確立されるベクトルCの要素に対応する。
分母では、Siは0または1なので、Siまたは(1−Si)の一方のみがゼロではない。そのため、分母は、サーバSEからのリンクの帯域幅BWserverか、又は考えられているスマートキャッシュDANEからの帯域幅BWciである。セグメントの選択された各表現のビットレートの数を帯域幅BWserverで割ることにより、各表現をダウンロードするのに必要な時間が得られる。
この、組み合わせのダウンロード時間T(k)は、好ましくは、シーケンスのプレイアウト時間よりも短くなければならず、そうでないと、バッファが空になってプレイバックが中断されことがある。そのため
Figure 2017510873
となる。
好ましい実施形態では、クライアント端末CTは、k個のセグメントの表現の各組み合わせに対して、効用関数U(k)とダウンロード時間T(k)を計算する(ステップS1)。rを(サーバSEから)入手できる表現の数とすると、U(k)とT(k)はそれぞれr回計算される。
このように、ステップS2を行うことにより、クライアント端末CTは、バッファが空になるのを回避するk個の表現の最良のシーケンスを選択できる。
下のテーブルは、1から8までの範囲の8個のセグメントのシーケンスに対する、スマートキャッシュDANEのグループの内容の限定的ではない例を示している(1はダウンロードされたシーケンスの最初のセグメントである)。セルの値は、考えているセグメント/表現を保持するスマートキャッシュDANEのインデックスに対応する。
Figure 2017510873
一定表現2500kbpsでのk個のセグメントのシーケンスに対応する次のビットレートベクトルR={R1=2500kbps,R2=2500kbps,R3=2500kbps,R4=2500kbps,R5=2500kbps,R6=2500kbps,R7=2500kbps,R8=2500kbps}を考えることにより、各セグメントに対して、表現2500kbpsを保持する最寄りのスマートキャッシュDANEのインデックスを取ることにより、Cベクトルが構成される。上記のテーブルに与えられたスマートキャッシュの例では、C={1,1,2,1,0,0,0,1}であり、0は表現2500kbpsが、特定されたスマートキャッシュDANEにキャッシュされていないことを意味する。
好ましい実施形態の変形例では、k個のセグメントの利用可能な表現の各組み合わせに対して効用関数U(k)とダウンロード時間T(k)を計算する替わりに、クライアント端末CTは、好ましくは、各表現のキャッシュされたセグメントの数を、評価モジュール9により(k個の入来セグメントの、クライアント端末CTとサーバSEとの間のスマートキャッシュDANEの内容に関する情報から)計算する(ステップS20)。これは、ステップS21において、最も頻繁にキャッシュされる表現(目標表現とも呼ぶ)を選択するためである。
上記のk=8のテーブル例に基づき、選択される表現はビットレートが2500kbpsである表現であり、これは5つのセグメントがキャッシュされている。対応する目標組み合わせのビットレートベクトルRは、目標表現のビットレートと等しい一様な値を有するR={R1=2500kbps,R2=2500kbps,R3=2500kbps,R4=2500kbps,R5=2500kbps,R6=2500kbps,R7=2500kbps,R8=2500kbps}。
さらにステップS22において、クライアント端末CTは、その計算器7により、目標組み合わせのダウンロード時間T(k)を計算する。
さらにステップS23において、クライアント端末CTは、計算されたダウンロード時間T(k)(初期T(k)とも呼ぶ)をプレイアウト時間(playout time)と比較する。
初期T(k)がプレイアウト時間と少なくとも等しい場合(
(外4)
Figure 2017510873
)、クライアント端末CTは、代替的な、セグメントのキャッシュされた表現を決定し(ステップS24)、それに対しては、(例えば、上記のテーブルの例におけるセグメント5、6及び7のような)目標表現はスマートキャッシュに格納されない。
この目的のため、クライアント端末CTは、ステップS25において、代替的表現の代替的順序付きリストを構成する。これでは、より良い画質のキャッシュされた代替的表現が昇順にリストされ、より低い画質のキャッシュされた代替的表現が降順に続く。
ステップS26において、クライアント端末CTは:
− 代替的順序付きリストの最初の表現を選択し;
− 選択された代替的表現が、対応するセグメントの目標表現と置き換えられたこと以外は目標組み合わせと同様の新しい組み合わせを決定し(上記テーブルの例では、新しい組み合わせのベクトルRは{2500kbps,2500kbps,2500kbps,2500kbps,2500kbps,4500kbps,2500kbps,2500kbps}である)、
− 前記新しい表現の組み合わせのダウンロード時間を計算する。
新しい組み合わせのT(k)が目標組み合わせのT(k)に対して増加する場合、選択された代替的表現はステップS27でリジェクトされ、新しい組み合わせは拒絶される。ステップS26は、代替的順序付きリストの次の表現に対して繰り替えされ、目標組み合わせが前記次の表現で修正され、新しい組み合わせがさらに確立される。
新しい組み合わせのT(k)がプレイアウト時間より短い場合、クライアント端末CTは前記新しい組み合わせのダウンロードを開始する(ステップS3)。
新しい組み合わせのT(k)が目標組み合わせのT(k)に対して減少するが、少なくともプレイアウト時間と等しい場合、代替リストの選択された代替的表現は保持され(ステップ28)、目標組み合わせの替わりに新しい組み合わせを考慮することにより、ステップS26が反復される。
上記のテーブル例では、これは、中間解が見つかるまで、R6=4500kbps、R5=6500kbps、R7=6500kbps及びR5=1200kbps、R7=1200kbpsとして順次テストされる。
代替的順序付きリストのすべての表現が試され、最後の新しい組み合わせに対して計算されたT(k)がプレイアウト時間より短くなければ、クライアント端末CTは、ステップS29において、目標表現より画質が低い表現を含む、降順に並べられた追加の代替的リストを作る(establish)。ステップ26、27及び28は前記追加の順序付きリストに適用される。
このアルゴリズムの終わりに、T(k)が制約を満たす、又はT(k)の値はこれ以上短くならない。
初期T(k)がプレイアウト時間より短いとき、クライアント端末CTは、より高いレートで、キャッシュされた表現を使うことにより、効用関数U(k)を大きくするよう試みる(ステップS241)。最初のステップS4において、クライアント端末CTは、昇順で、初期の目標表現より大きい表現の順序付きリストを構成する。
そして、このリストの各表現に対して、クライアント端末CTは:
− 考えている表現の対応セグメントがキャッシュ中にあるように、最高のiを選択し(ステップS41);
− 考えている表現で、前のRiを変更することにより得られる表現の組み合わせのU(k)とT(k)を計算する(ステップS42)。
ついで、T(k)が制約をまだ満たし、U(k)の新しい値が前の値より大きいとき、クライアント端末CTは新しい組み合わせを保持し、次の(より低い)iでステップS41を繰り返す。T(k)がもはや制約を満たさないか、またはU(k)が減少するとき、クライアント端末CTは、前の組み合わせを回復するため、Riの新しい値をリジェクトする。
全てのインデックスiが考慮されたら、次に高い表現をテストする。
明らかに、好ましい実施形態から逸脱せずに、他の発見的問題解決法を用いて、U(k)を改善しつつ、T(k)に対する制約を満たすこともできる。
当然に、ステップS20乃至S29の少なくとも幾つかはクライアント端末CTではなく、外部ネットワーク機器(例えば、サーバ、ゲートウェイ、プロキシなど)で実行されても良い。
所望の組み合わせ、セグメントシーケンスが決定されると、クライアント端末CTは、m個のセグメント(1≦m≦k)に達するまで、またはスマートキャッシュから更新メッセージを受け取るまで、または受信レートが変化するまで、遅延無しにそのシーケンスから次のセグメントをダウンロードする。前出のイベントのどれにおいても、クライアント端末CTは方法Mを繰り返す。
ネットワーク情報は、サーバ(SE)とクライアント端末(CT)との間のパスにある階層的キャッシュ(DANE)を含み、任意的に、ネットワーク情報は、さらに、前記階層の少なくとも幾つかのキャッシュに対して、前記キャッシュ(DANE)により記憶されたセグメントの表現のリストを含む。
留意点として、発明の別の変形例では、ネットワーク情報は、セグメントの受信に用いられるインターフェースと同様の、またはセグメントの受信に用いられるインターフェースとは異なるネットワークインターフェースを通じて受信される。
実施形態によると、クライアント端末のネットワークインターフェースは、Wifi、ADSL、Cable、Mobile及び/又はBroadcast(例えば、DVB、ATSC)インターフェースからネットワーク情報を受信するように適応されている。
異なる実施形態によると、クライアント端末のネットワークインターフェースは、Wifi、ADSL、Cable、Mobile及び/又はBroadcast(例えば、DVB、ATSC)インターフェースからネットワーク情報を受信するように適応されている。
異なる実施形態によると、クライアント端末は、セグメントを受信するのに使われるプロトコルと同様のプロトコルを、ネットワーク情報を受信するために用いる。異なる実施形態では、クライアント端末はネットワーク情報を受信するため異なるプロトコルを用いている:
− セグメント送受信はhttpまたはフルートプロトコルを用いることができる;
− ネットワーク情報の送受信には、TR69 Broadband Forumプロトコルまたは放送プロトコル(例えば、xmpp IETF、DDS OMG(Object Management Group))を使える。
異なる実施形態によると、ネットワーク情報はランダムアクセスメモリ(RAM)に記憶される。
異なる実施形態によると、セグメントは、ローカルメモリ(例えば、ハードディスクまたはフラッシュメモリ)に記憶され、及び/又はデコーダにより復号され、及び/又はディスプレイに表示される。
異なる実施形態によると、クライアント端末は次を含むセットに属する:
− 携帯型メディアデバイス;
− 携帯電話;
− ゲームデバイス:
− セットトップボックス;
− テレビセット;
− タブレット;
− ラップトップ;及び
− 集積回路。
図のフローチャートとブロック図は、本発明の様々な実施形態によるシステム、方法及びコンピュータプログラム製品の可能性のある実装の構成、動作及び機能を示す。これに関連して、フローチャートやブロック図の各ブロックは、モジュール、セグメント、コードの一部分を表す。これは指定された論理的機能を実装する一又は複数の実行可能命令を含む。留意すべき点として、代替的な実施形態では、ブロックに示した機能は図面に示した順序でない順序で行ってもよい。例えば、順次的に示された2つのブロックは、その機能に応じて、実際には、実質的に同時に実行してもよく、逆の順序で実行してもよいし、ブロックは別の順序で実行されてもよい。また、留意点として、ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャートのブロックの組合せは、指定された機能や動作を実行する特定目的ハードウェアベースシステムにより、又は特定目的ハードウェアとコンピュータ命令との組合せにより実施できる。明示的には説明していないが、本実施形態は任意の組み合わせやサブコンビネーションで利用できる。
本技術分野の当業者には言うまでもないが、本原理の諸態様はシステム、方法、またはコンピュータ読み取り可能媒体として実施され得る。したがって、本原理の諸態様は、完全にハードウェアによる実施形態、完全にソフトウェアによる実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなど)、またはソフトウェアとハードウェアの態様を組み合わせた実施形態の形式を取り得る。これらはすべてここでは概して「回路」、「モジュール」または「システム」と呼ぶ。さらにまた、本原理の諸態様はコンピュータ読み取り可能記憶媒体の形式を取り得る。一以上のコンピュータ読み取り可能記憶媒体の任意の組み合わせを利用できる。
コンピュータ読み取り可能記憶媒体は、一以上のコンピュータ読み取り可能媒体に化体され、その上に化体され、コンピュータにより実行可能なコンピュータ読み取り可能プログラムコードを有するコンピュータ読み取り可能プログラム製品の形式を取ることができる。本願のコンピュータ読み取り可能記憶媒体は、情報をその中に記憶する本来的機能、及びそれから情報の読み出しをする本来的機能を与えられた、非一時的記憶媒体である。コンピュータ読み取り可能記憶媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体のシステム、装置、又はデバイス、又はそれらの任意の好適な組み合わせであってもよいが、これらに限定されない。言うまでもなく、次のリストは、本原理を適用できるコンピュータ読み取り可能記憶媒体のよりぐらい的な例を提供するものであるが、当業者には明らかなように、単なる例示であり網羅的なものではない:ポータブルコンピュータディスケット;ハードディスク;ランダムアクセスメモリ(RAM);リードオンリーメモリ(ROM);消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ);ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM);光学的記憶デバイス;磁気記憶デバイス;又はそれらの任意の好適な組み合わせ。


Claims (20)

  1. セグメントに分割され少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツを受信するように構成されたクライアント端末による、ネットワーク情報を取得する方法であって、各セグメントは一以上の表現で入手可能であり、
    前記ネットワーク情報はサーバと前記クライアント端末との間のパスに沿って、階層を成すキャッシュを含み、
    前記ネットワーク情報は、前記階層の少なくとも幾つかのキャッシュについて、前記キャッシュにより記憶されたセグメントの表現のリストを更に含み、
    前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしている、
    方法。
  2. 前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿ったキャッシュの順序付きリストを含む、請求項1に記載の方法。
  3. 前記マニフェストは、前記順序付きリストの各キャッシュについて、前記キャッシュにより記憶された前記セグメントの表現を特定する、請求項2に記載の方法。
  4. 前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿って出会う、前記順序付きリストの各キャッシュの識別子を含む、請求項2または3に記載の方法。
  5. 前記マニフェストは、前記キャッシュの少なくとも1つの接続情報を含む、請求項4に記載の方法。
  6. 前記クライアント端末は、各キャッシュにより記憶された前記セグメントの表現を決定するために、データの配信に用いられるデータパスとは異なる補助通信パスを用いて、前記順序付きリストの少なくとも幾つかのキャッシュにクエリーする、
    請求項2ないし5いずれか一項に記載の方法。
  7. セグメントに分割され少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツを受信するように構成されたクライアント端末であって、各セグメントは一以上の表現で入手可能であり、
    前記クライアント端末は、前記サーバと前記クライアント端末との間のパスに沿った、階層を成すキャッシュを含むネットワーク情報を受信するように構成された通信モジュールを含み、
    前記ネットワーク情報は、前記階層の少なくとも幾つかのキャッシュについて、前記キャッシュにより記憶されたセグメントの表現のリストを更に含み、
    前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしている、
    クライアント端末。
  8. 前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿ったキャッシュの順序付きリストを含む、請求項7に記載のクライアント端末。
  9. 前記マニフェストは、順序付きリストの各キャッシュについて、前記キャッシュにより記憶された前記セグメントの表現を特定する、請求項7または8に記載のクライアント端末。
  10. 前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿って出会う、前記順序付きリストの各キャッシュの識別子を含む、請求項8または9に記載のクライアント端末。
  11. 前記マニフェストは、前記キャッシュの少なくとも1つの接続情報を含む、
    請求項10に記載のクライアント端末。
  12. 前記クライアント端末は、各キャッシュにより記憶された前記セグメントの表現を決定するために、データの配信に用いられるデータパスとは異なる補助通信パスを用いて、前記順序付きリストの少なくとも幾つかのキャッシュにクエリーする、請求項8ないし11いずれか一項に記載のクライアント端末。
  13. 少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツのセグメントをクライアント端末に配信するように構成されたキャッシュによる、ネットワーク情報を送信する方法であって、各セグメントは一以上の表現で入手可能であり、
    前記ネットワーク情報はサーバと前記クライアント端末との間のパスに、階層を成すキャッシュを含み、
    前記キャッシュは、
    受信した階層に関する受信した表現のリストに、前記キャッシュに関連するローカルでキャッシュされた表現のリストを追加し、
    前記クライアント端末に、更新した表現のリストを転送し、
    前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしている、
    方法。
  14. 前記マニフェストは、前記サーバと前記クライアント端末との間のパスに沿ったキャッシュの順序付きリストを含む、請求項13に記載の方法。
  15. 前記マニフェストは、前記順序付きリストの各キャッシュについて、前記キャッシュにより記憶された前記セグメントの表現を特定する、請求項14に記載の方法。
  16. 前記キャッシュは、自分の識別子を追加して前記順序付きリストを構成することにより、前記順序付きリストを修正する、請求項14または15に記載の方法。
  17. 前記キャッシュは、接続情報を追加することにより、前記マニフェストを更に修正する、
    請求項16に記載の方法。
  18. ネットワーク情報を送信するように適応されたキャッシュであって、前記キャッシュは少なくとも1つのリモートサーバにより提供されるマルチメディアコンテンツのセグメントをクライアント端末に配信するように構成され、各セグメントは一以上の表現で入手可能であり、
    前記ネットワーク情報はサーバと前記クライアント端末との間のパスに、階層を成すキャッシュを含み、
    前記キャッシュは、
    受信した階層に関する受信した表現のリストに、前記キャッシュに関連するローカルでキャッシュされた表現のリストを追加し、
    前記クライアント端末に、更新した表現のリストを転送するように構成され、
    前記ネットワーク情報は、前記クライアント端末によりサーバから受信されるマニフェストにより提供され、前記マニフェストは、前記サーバにおいて入手可能な、前記マルチメディアコンテンツの表現をリストしている、
    キャッシュ。
  19. 通信ネットワークからダウンロード可能であり、及び/又はコンピュータにより読み取り可能な媒体に記録され、及び/又はプロセッサにより実行可能なコンピュータプログラム製品であって、請求項1乃至6及び13乃至17いずれか少なくとも一項の方法のステップを実装するプログラムコード命令を含む、コンピュータプログラム製品。
  20. コンピュータプログラム製品が記録され、プロセッサにより実行され得る非一時的コンピュータ読み取り可能媒体であって、請求項1乃至6及び13乃至17いずれか少なくとも一項の方法のステップを実装するプログラムコード命令を含む、非一時的コンピュータ読み取り可能媒体。
JP2016545771A 2014-01-10 2014-12-16 セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法 Expired - Fee Related JP6514217B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14305039 2014-01-10
EP14305039.1 2014-01-10
PCT/EP2014/077885 WO2015104148A1 (en) 2014-01-10 2014-12-16 Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments

Publications (3)

Publication Number Publication Date
JP2017510873A true JP2017510873A (ja) 2017-04-13
JP2017510873A5 JP2017510873A5 (ja) 2018-02-01
JP6514217B2 JP6514217B2 (ja) 2019-05-15

Family

ID=49958404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016545771A Expired - Fee Related JP6514217B2 (ja) 2014-01-10 2014-12-16 セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法

Country Status (6)

Country Link
US (1) US20160330500A1 (ja)
EP (1) EP3092816A1 (ja)
JP (1) JP6514217B2 (ja)
KR (1) KR20160106701A (ja)
CN (1) CN105981400A (ja)
WO (1) WO2015104148A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
WO2016204815A1 (en) * 2015-06-16 2016-12-22 Intel IP Corporation Adaptive video streaming using dynamic radio access network information
US10462055B2 (en) * 2015-07-20 2019-10-29 Cisco Technology, Inc. Content distribution system cache management
CN108206847B (zh) 2016-12-19 2020-09-04 腾讯科技(深圳)有限公司 Cdn管理系统、方法及装置
US10432993B2 (en) * 2016-12-20 2019-10-01 Arris Enterprises Llc Output and playback control delivery for adaptive bitrate streaming
GB2563251A (en) * 2017-06-07 2018-12-12 Sony Mobile Communications Inc Terminal device, data processing apparatuses and methods
FR3067544A1 (fr) * 2017-06-27 2018-12-14 Orange Procede et dispositif de telechargement de contenu audiovisuel
US10292045B2 (en) * 2017-08-24 2019-05-14 Nanning Fugui Precision Industrial Co., Ltd. Information obtaining method and information obtaining device
EP3750303B1 (en) * 2018-02-05 2024-04-03 Telefonaktiebolaget LM Ericsson (publ) A method, a user equipment and a computer program product for enabling a dynamic adaptive streaming over http, dash, player to fetch media segments from a network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012138895A1 (en) * 2011-04-07 2012-10-11 Qualcomm Incorporated Network streaming of video data using byte range requests
US20130191511A1 (en) * 2012-01-20 2013-07-25 Nokia Corporation Method and apparatus for enabling pre-fetching of media
WO2013138020A1 (en) * 2012-03-16 2013-09-19 Intel Corporation Multicast broadcast multimedia service-assisted content distribution
WO2014007083A1 (ja) * 2012-07-02 2014-01-09 ソニー株式会社 送信装置、送信方法およびネットワーク装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
FR2973978A1 (fr) * 2011-04-08 2012-10-12 France Telecom Procede de communication entre des reseaux de distribution de contenus numeriques
US9445136B2 (en) * 2011-09-21 2016-09-13 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
JP5880139B2 (ja) * 2012-02-29 2016-03-08 富士通株式会社 配置サーバ、情報処理システム、キャッシュ配置方法、キャッシュ配置プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012138895A1 (en) * 2011-04-07 2012-10-11 Qualcomm Incorporated Network streaming of video data using byte range requests
US20130191511A1 (en) * 2012-01-20 2013-07-25 Nokia Corporation Method and apparatus for enabling pre-fetching of media
WO2013138020A1 (en) * 2012-03-16 2013-09-19 Intel Corporation Multicast broadcast multimedia service-assisted content distribution
WO2014007083A1 (ja) * 2012-07-02 2014-01-09 ソニー株式会社 送信装置、送信方法およびネットワーク装置

Also Published As

Publication number Publication date
WO2015104148A1 (en) 2015-07-16
KR20160106701A (ko) 2016-09-12
JP6514217B2 (ja) 2019-05-15
CN105981400A (zh) 2016-09-28
EP3092816A1 (en) 2016-11-16
US20160330500A1 (en) 2016-11-10

Similar Documents

Publication Publication Date Title
JP6514217B2 (ja) セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法
EP2894869A1 (en) Method for downloading, at a client terminal, an upcoming sequence of segments of a multimedia content, and corresponding terminal
US20150006621A1 (en) Adaptive Video Streaming for Information Centric Networks
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
US10834161B2 (en) Dash representations adaptations in network
JP2013535892A (ja) ビデオチャンクを伝送するための方法、そのような方法を実現するサーバエンティティ、クライアントエンティティ、および中間ネットワークエンティティ
JP2017130925A (ja) ストリーミング装置とその方法、これを用いたストリーミングサービスシステム及びコンピュータ読み取り可能な記録媒体(Streaming apparatus and method thereof,streaming service system using the streaming apparatus and computer readable recording medium)
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
CN111193686B (zh) 媒体流的递送方法及服务器
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
WO2015104149A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
EP2894871A1 (en) Method for obtaining a network information by a client terminal configured for receiving a multimedia content divided into segments
TW201532427A (zh) 用戶終端機配置成接收多段分割之多媒體內容以取得網路資訊之方法
US11750889B2 (en) Systems and methods for selecting a data delivery network
WO2015104146A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
WO2015104147A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
TW201532425A (zh) 用戶終端機配置成接收多段分割之多媒體內容以取得網路資訊之方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181220

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190208

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: 20190315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190411

R150 Certificate of patent or registration of utility model

Ref document number: 6514217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees