JP2022524639A - ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法 - Google Patents

ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法 Download PDF

Info

Publication number
JP2022524639A
JP2022524639A JP2021556863A JP2021556863A JP2022524639A JP 2022524639 A JP2022524639 A JP 2022524639A JP 2021556863 A JP2021556863 A JP 2021556863A JP 2021556863 A JP2021556863 A JP 2021556863A JP 2022524639 A JP2022524639 A JP 2022524639A
Authority
JP
Japan
Prior art keywords
segment
peer
buffer memory
function
abr
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
JP2021556863A
Other languages
English (en)
Other versions
JP7059509B1 (ja
Inventor
ユーセフ、ヒバ
アゲノー、ポール-ルイス
デルマス、アクセル
Original Assignee
ストリームルート
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 ストリームルート filed Critical ストリームルート
Application granted granted Critical
Publication of JP7059509B1 publication Critical patent/JP7059509B1/ja
Publication of JP2022524639A publication Critical patent/JP2022524639A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • H04L65/104Signalling gateways in the network
    • 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
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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

Abstract

本発明は、クライアントデバイス(11、12)のピア・トゥ・ピアネットワーク(10)内で配信されるコンテンツを、クライアントデバイス(11)の読み取り装置で連続して読み取る方法に関し、上記コンテンツは、複数の品質レベルで利用可能なセグメントシーケンスから構成され、上記読み取り装置は、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され;クライアントデバイス(11)は、ピア・トゥ・ピアネットワーク(10)内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリ(M1)を含み、当該方法は、クライアントデバイス(11)のデータ処理手段(110)による以下の工程:(a)読み取り装置からの1つのセグメントのリクエストの受信工程;(b)読み取り装置の上記ABR論理に対して決められた応答期限の満了時に第1のバッファメモリ(M1)から上記セグメントの応答を供給する工程の実施を含むことを特徴とする。

Description

本発明は、ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法に関する。
「ストリーミング」(仏語では「lecture en continu(連続再生))は、「生配信」すなわち、クライアントデバイスによるインターネットからの回収につれて行われる音声フローまたは映像フローの再生技術をさす。そのため、これは、読み取りを可能にする前に音声または映像コンテンツのデータ全体を回収することが必要なダウンロードとは対照的である。
ストリーミングの場合、コンテンツの保存は一時的かつ部分的であり、データは、クライアントのバッファメモリ(一般にはRAM)に連続してダウンロードされ、ただちにデコードされ、出力インターフェース(モニタおよび/またはスピーカ)に送信されたのち、新しいデータに切り替えられる。
一般に、コンテンツは、ストリーミングサーバで利用提供される。サーバへのアクセスを望むクライアントは、第1のセグメントをそこから回収するためにリクエストを送信する(セグメントとは、一般には数秒の再生に対応するコンテンツのデータブロックを意味する)。コンテンツのビットレートを読み取り可能にするためにバッファメモリ(buffer)内に十分にデータがある場合、再生が開始される。背景では、コンテンツの続きをバッファメモリに絶えず供給するためにフローがダウンロードされ続ける。
しかし、このアプローチは、多数のクライアントが同じコンテンツを同時に読み取ろうとする場合は限界がある:サーバが飽和し、再生をスムーズにするのに十分なビットレートでコンテンツを供給できなくなり、様々な乱れが発生する。
最近では、それに代わって「ピア・トゥ・ピアネットワーク」(P2P、仏語ではpair-a-pair)に基づく設計が提案されており、この設計では、各クライアントが他のクライアントに対して1つのサーバすなわちピアとして作用する。コンテンツの再生を開始した1つのピアは、すでに受信したセグメントを他のピアに再送することができ、以下同様に行われるので、関与するクライアント数に関係なく配信が容易になる。この設計は、たとえば国際公開第2012/154287号パンフレットに記載されており、満足のいくものである。
しかし、大部分の再生装置は、いわゆるアダプティブ・ビットレート(英語の「Adaptive BitRate」、ABR)論理を使用しており、P2Pと組み合わせると様々な問題を提起することが分かっている。
ABRの一般的な考え方は、1つのピアの「キャパシティ」に応じて、回収されたセグメントの品質を自動的に変えられるようにするというものである。より詳しくは、各セグメントは、複数のビットレートすなわちデータビットレートに対応する複数の品質レベルで利用可能である。実際、よりよい品質のセグメントは、より高い解像度を有し、圧縮が少なく、毎秒当たりの画像数が一段と多いことなどが分かっており、したがって品質が低い同じセグメントよりも容量が多いので、より高いデータビットレートを持続させることが必要である。
一般に、確認された通過帯域、および/またはバッファメモリの充填率という2つの基準からみて、ABRは、選択可能な最高品質を各セグメントに対して自動的に決定することをめざしている。
前者の場合、推定された通過帯域がよりよい品質をサポートするのに十分であるとアルゴリズムにより判断された場合、当該アルゴリズムは、上記通過帯域に接続するようにクライアントに命令を与える(あるいは、その反対に通過帯域が低すぎる場合は品質を下げる命令を与える)。後者の場合、原理は、バッファメモリを様々なインターバルに分割することにあり、各インターバルは、バッファメモリの充填が増えるにつれてますます高い(あるいは充填が減ればますます低い)品質に対応する。
いずれの場合も、ABRアルゴリズムがP2Pストリーミングのコンテキストでの使用に本質的な不適合性を持つというわけではないが、問題は、ABRアルゴリズムが単純なストリーミングシナリオで動作するように設計されており、すなわち、コンテンツサーバからのリクエストで全てのセグメントが回収されることにある。
ところで、実務上、P2Pストリーミングは、再生装置が実際にリクエストを行う前に、専用のP2PキャッシュにP2Pでセグメントをダウンロードすることによって「プレバッファリング」を実施する。なぜなら、P2Pストリーミングの目的は、オリジンコンテンツサーバのポーリングをできるだけ少なくする(それも最後の手段として行う)ことにあるからである。すなわち、このサーバに対するセグメントの直接リクエストは、映像バッファ内にもはやセグメントがなく再生が遮断される(「re-buffering(リバッファリング)」)リスクがある場合しか実施されず、そうでない場合は、P2Pネットワークが最大限に拠り所にされる。
そのため、再生装置が非常に高い明白な通過帯域を有するという見方がなされる。なぜなら、セグメントは、それらが要求された後、P2Pキャッシュからバッファメモリ内に数分の1秒でチャージ可能であるからである。さらに、映像バッファの充填率は人為的に高くされる。
これによって、ネットワークの実際のキャパシティとは無関係に、現行の品質が最大品質ではない場合、品質を高めるというABRの制御不能な決定がなされるが、ネットワークは必ずしもこの品質をサポートすることができない。
したがって、よくてもフロー品質の不安定な揺れがみられ、最悪の場合には再生が繰り返し遮断されて、コンテンツサーバの無駄なポーリングが多くなる。
ABR論理を制御できるようにすることが望ましいが、残念ながら、この論理はしばしば再生装置に固有のものであってアクセスしづらく、ましてや修正がしにくい。そのため、P2Pストリーミングコンテンツでは、あらゆるABRアルゴリズムを制御するように構成することが望ましい。
本発明は、この状況を改善するものである。
したがって、本発明は、クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツを、クライアントデバイスの再生装置で連続して再生する方法に関し、上記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、上記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され;クライアントデバイスが、ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリを含んでおり、当該方法は、クライアントデバイスのデータ処理手段による以下の工程:
(a)再生装置からの1つのセグメントのリクエストの受信工程
(b)再生装置の前記ABR論理に対して決められた応答期限の満了時に第1のバッファメモリから上記セグメントを応答として供給する工程
の実施を含むことを特徴とする。
この方法は、応答への人為的な期限の付加を介したABRアルゴリズムへの情報回帰を巧みに提案している。
限定的ではない有利な数々の特徴によれば:
・上記ABR論理は、セグメント受信ビットレートを示す少なくとも1つのパラメータに応じて、上記セグメントリクエストの品質レベルを計算可能な第1の関数により決定される。
・第2の関数が、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータに応じて工程(a)で上記応答期限を計算可能である。
・第2の関数が、第1の関数に基づいて構成される。
・第2の関数が、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータに対して単調である。
・クライアントデバイスが、再生装置による再生に適したフォーマットでセグメントを保存するように構成された第2のバッファメモリをさらに含み、上記セグメントが、工程(b)で第2のバッファメモリに供給される。
・セグメント受信ビットレートを示す上記パラメータが、第2のバッファメモリの充填レベルおよび/または通過帯域である。
・工程(a)は、計算された応答期限に応じて次のセグメントリクエストの品質レベルの予測を含む。
・この方法は、次のセグメントリクエストの品質レベルの上記予測の検証工程(c)を含む。
・この方法は、予測された品質レベルと実際にリクエストされた品質レベルとに基づく第2の関数の学習を含む。
・リクエストされたセグメントが、第1のバッファメモリでは不完全に利用可能であり、工程(a)が、セグメントを回収し終わるのに必要な推定時間に応じて計算された応答期限の修正を含み、工程(b)では、このセグメントが、修正された応答期限の満了時にできるだけ早く完全に供給される。
第2の側面によれば、本発明は、クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツを再生装置で連続して再生するデバイスを提案し、上記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、上記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され;クライアントデバイスが、ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリと、データ処理手段とを含み、当該デバイスは、データ処理手段が、再生装置からセグメントのリクエストを受信すると、上記再生装置のABR論理に対して決められた応答期限の満了時に第1のバッファメモリから上記セグメントを応答として供給するように構成されていることを特徴とする。
第3および第4の側面によれば、本発明は、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、第1の側面による方法を実行するためのコード命令を含む、コンピュータプログラム製品と、情報処理装置による読み取りが可能な保存手段とを提案し、当該情報処理装置では、コンピュータプログラム製品が、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、第1の側面による方法を実行するためのコード命令を含む。
本発明の他の特徴および長所は、好ましい実施形態の以下の説明を読めば明らかになるであろう。この説明では、以下の添付図面を参照する。
本発明による方法の実施のためのアーキテクチャを示す図である。 本発明による方法の好ましい1つの実施形態を示す図である。
アーキテクチャ
図1を参照すると、本発明は、図示されたようなネットワーク1内で配信されるコンテンツの連続再生方法を提案する。ネットワーク1は、ここでは、大規模通信ネットワークであり、特にインターネットである。このネットワーク1は、クライアントデバイス11、12のピア・トゥ・ピアネットワーク10を含む。各クライアントデバイス11、12は、一般に、ネットワーク1に接続されたスマートホン、PC、タブレット等のパーソナル情報機器であり、プロセッサ等のデータ処理手段110と、コンテンツ再生用のインターフェースと、RAMおよび/またはマスメモリ等のデータ保存手段とを有する。
再生は、再生装置すなわち、データ処理手段110により実行されるアプリケーションであり、これは多様な性質を持つことが可能であって、たとえば専用アプリケーション、特にHTML5に対応するインターネットブラウザ、オペレーティングシステムのモジュール等とすることができる。
以下の説明では、再生装置が「現状のまま」にあり、すなわち、本発明による方法の実施に対してもP2Pストリーミングに対しても修正されていないと仮定する。特に、再生装置は、アダプティブ・ビットレートABR(Adaptative Bitrate)の制御論理を実施し、すなわち、上記読み込まれるコンテンツが、複数の品質で利用可能なセグメントシーケンスから構成されており、再生装置は、このABR論理に従ってどの品質をリクエストするかを自動的に決定することができる。多様な品質が、種々の異なるビットレートすなわち、可変単位時間(したがってセグメント)毎のデータ容量に対応する。当然のことながら、よりよい品質のコンテンツはより大きなビットレートを必要とすることが分かる。
ABR論理の概念については後で詳しく述べるが、本発明による方法の範囲ではABR論理を制御可能にする必要はなく、またこの論理を認識している必要もないことを単に理解されたい。すなわち、本発明による方法は完全に普遍的であり、どんな基準のベースでどんなABR論理を実施するどんな再生装置にも適合することができる。ABR論理はあらかじめ決定されており、クライアントソフトウェア(後述する)はこの論理の支配だけを受けると仮定する。
さらに、クライアントデバイス11(より詳しくはそのデータ保存手段)は、一般にはRAMの2つの領域である2個のバッファメモリM1、M2(「バッファ」とも呼ばれる)を有し、各々が、(後述するように異なるやり方で)一時的にコンテンツの全部または一部を保存することができる(一時的とは、セグメントが読み取られた直後にこのメモリから削除されることを意味する:直接ダウンロードした場合のように長期的に保存されることはない。たとえばブラウザを介した再生の場合、全てのセグメントは、遅くとも、映像が流されるブラウザまたはタブが閉じられたときに通常は削除される(すなわちバッファメモリが再び初期化される)。
第1のバッファメモリM1は、「ピア・トゥ・ピアキャッシュ」と呼ばれる。このメモリは、いわゆる「未処理の」フォーマットでセグメントを保存する。未処理のセグメントとは、ピア・トゥ・ピアネットワーク10内での伝送に適しているがクライアントデバイス11での再生には適さないフォーマットにあることを意味する。
第2のバッファメモリM2は、「映像バッファ」と呼ばれる。このメモリは、再生装置により制御され、いわゆる「変換された」フォーマットでセグメントを保存する。変換されたセグメントとは、クライアントデバイス11での再生(特に再生装置)に適しているがピア・トゥ・ピアネットワーク10内での伝送には適していないフォーマットに未処理のセグメントから変換されたことを意味し、これについては後述する。
最初に説明したように、クライアントデバイス11、12は、ピア・トゥ・ピアネットワーク10の「ピア」(「ノード」とも呼ばれる)である。
「ピア・トゥ・ピアネットワーク10のクライアントデバイス11、12」とは、ピア・トゥ・ピアネットワークプロトコルによりネットワーク1内で接続される数々のデバイスを意味する。換言すれば、各ピアのデータ処理手段が個々のプログラム(クライアントソフトウェア「ピアエージェント」と呼ばれる)を実施し、これは、ピア・トゥ・ピアの使用のために、たとえば再生装置(たとえばウェブブラウザの拡張機能)に組み込まれ、また専用アプリケーションの対象になり、さらには搭載された他の全てのソフトウェア(たとえばインターネットアクセス装置のプレーヤまたはマルチメディア装置すなわち「セットアップボックス」)に組み込み可能である。本発明による方法は、このクライアントソフトウェアを介して主にインプリメントされる。本発明の以下の説明では、クライアントソフトウェアが再生装置と通信してセグメントを補給するが、再生装置は独立して動作すると仮定する。より詳しくは、再生装置の役割は再生自体、すなわちセグメントの返却であり、それに対してクライアントソフトウェアの役割は単に、再生装置のためのセグメントの取得であり、クライアントソフトウェアは、再生装置の動作、特にそのABR論理の支配を受ける。
前述のように、ピア・トゥ・ピアネットワークまたは「ピア・トゥ・ピア」あるいはP2Pは、ネットワーク1内で分散された下位ネットワークであり、中央サーバを経由せずにネットワーク10の2個のクライアントデバイス11、12の間で直接データを伝送することができる。そのため、全てのクライアントデバイス11、12がクライアントの役割とサーバの役割を同時に果たすことができる。したがって、ピア11、12は「シーダー」(仏語では「semeurs」、すなわちデータ配布者)および/または「リーチャー(仏語では「sangsues」すなわちデータ受信者)」として定義される。
上記コンテンツは、特に音声または映像コンテンツであり、すなわち一定の持続時間を持つメディアであって、ピア・トゥ・ピアネットワーク10に接続されたサーバ2のデータ保存手段に保存されたセグメントシーケンス(いわゆる「再生リスト」、英語の「playlist」)から構成され、前述のように複数の品質レベルで入手することができる。セグメントの長さはあらかじめ決まっていて、一般にはコンテンツの1~2秒であるが、この長さは数分の1秒から約10秒に及ぶことがある。1つの所定のコンテンツの全てのセグメントの長さは一般に同じであり、ここではpと記す。
サーバ2は、ネットワーク1に有利には存在するコンテンツサーバ(いわゆるCDN)であり、ピア・トゥ・ピアネットワーク10に接続される。換言すれば、所定のストリーミングプロトコルに従って多様なコンテンツのセグメントを利用提供するインターネットネットワーク1の1つ(または複数の)サーバに関する。たとえば、セグメントが、プレイリストファイル「m3u8」にリストされた「ts」ファイルである、HLS(「HTTP Live Streaming」)の例が挙げられる。HLSは、コンテンツのためにMPEG2フォーマットを含む。同様に、DASHストリーミング、Smooth streamingまたはHDSの各プロトコルが挙げられる。WebRTCタイプのプロトコルを介してピア間で未処理のセグメントをやり取り可能である。
サーバ2は、最初にどのピアもコンテンツを持たない限りにおいて(サーバ2からこのピア11、12への最初の伝送前)、セグメントの最初のソースである。コンテンツはその全体がもともとサーバ2に保存されており(前述のVODの場合)、あるいは、リアルタイムで生成され(ライブストリーミングまたは生配信ストリーミングの場合)、後者の場合は、これを構成するセグメントリストがダイナミックに変化する。
「ライブストリーミング」(すなわち「生配信ストリーミング」)は、たとえばコンサート、会議、スポーツの試合、ビデオゲームの勝負等の、同時に展開されている最中の「ライブ」イベントに結合されるコンテンツをリアルタイムで配信することを提案する。映画等の、すでに全体が存在しているコンテンツのストリーミングに比べて、ライブストリーミングで配信されるコンテンツは、実際には、結合されるイベントの展開につれて生成される。技術的には、テレビの生中継の場合と同様に、このようなコンテンツは、わずかな遅延だけで配信可能であり、ユーザはこうした遅延をできるだけ少なくすることを望んでいる。この遅延は通常は約1分であるが、約20秒まで減らすことができる。これによって、各瞬間には、ほんの一握りのセグメント(せいぜい数10個)だけの再生が利用可能になり、このリストのセグメントは、1つの循環すなわち、イベントが展開されて新しいセグメントが形成され、「老朽化し」、(所定の遅延の後に)クライアントにより受信されて読み取られ、最後にリストから出る、という循環に従ってダイナミックに更新される。
いま述べた事例(ライブストリーミング)では、コンテンツはむしろ連続フローとみなされるべきである。そのため、セグメントシーケンスはダイナミックであり、すなわち定期的に更新される。新しいセグメントが生成されるたびに、それがシーケンスの末尾に付加され、このシーケンスの最初のセグメント(最も古いセグメント)が削除される。他の全ては、循環メカニズムに従ってオフセットされ、これをFIFOリストに結びつけることができる。リストの第1のセグメント(最も古いセグメント)は、再生地点にあるセグメント、換言すれば「生配信」(したがってセグメントは読み取られるとすぐに再生リストから削除される)セグメントとすることができ、あるいは、遅延を伴うコンテンツの読み取りをコンテンツサーバが受け入れる場合は「過去の」セグメント(幾つかのプラットフォームが遅延2時間までのライブストリーミングを提案している)とすることができ、これをDVR(「デジタルビデオレコーダ」)と呼んでいる。
本発明による方法は、どのような状況でも実施可能である。
有利には、「トラッカー」と呼ばれるピア管理サーバ3がピア・トゥ・ピアネットワーク10に同様に接続される。トラッカー3は、データ処理手段と保存手段とを有する。トラッカーは、(クライアントデバイス11、12の各々により用いられるクライアントソフトウェアを制御することによって)ピア11、12の間のやり取りを連携させるが、その一方で、データ伝送には直接含まれず、ファイルのコピーを持たない。
ABR
前述のように、通過帯域(すなわち確認されたデータビットレート)と、第2のバッファメモリM2の充填レベル(または値、すなわち秒またはセグメント数あるいは比率)(場合によってはそれらの組み合わせ)とにそれぞれ基づいた、主に2種類のABR論理がある。換言すれば、再生装置は、通過帯域および/または第2のバッファメモリM2のボリュームおよび/または充填率をモニタリングし、その結果、要求されているセグメントの品質レベルを修正するか否かの決定を下す。
一般に、いずれの場合も、セグメント受信ビットレートを示す少なくとも1つのパラメータに応じて選択すべき品質レベル(ビットレート)を計算可能な、第1の関数を用いてABR論理を決定することができる。たとえば図2に示したグラフを参照されたい(左側部分が再生装置側を示し、右側部分がクライアントソフトウェア側を示す)。
セグメント受信ビットレートを示す上記パラメータは監視されるパラメータであると理解され、これは、「十分に早く」セグメントを受信すべきデバイス11および/またはネットワーク10の容量を示すどのようなパラメータであってもよい。先に説明したように、公知のABR論理は、一般に、第2のバッファメモリM2の充填レベルおよび/または通過帯域をパラメータとして使用する。
ABR論理タイプがどのようなものであろうと、上記の第1の関数は、最低品質の値と最大品質の値との間で単調関数であり、特に増加関数である。好ましい1つのモデルは、(2つの特異点で接続された)3つの断片による断片連続関数のモデルであり、第1と第3の断片が一定である。
そのため、図2の例では(左側部分)、第2のバッファメモリM2の充填レベル(秒で示す)に基づくABR論理の例が示されており、次のようになっている:
-最小閾値Bmin以下の充填レベルでは、ビットレートが最低ビットレートRminに等しい値に固定され(換言すれば、バッファは危険なまでに空であり、セグメントを得るのが難しいことを示しており、その場合、品質は最低であり、再充填が促される);
-最大閾値Bmax以上の充填レベルでは、ビットレートが最大ビットレートRmaxに等しい値に固定される(バッファは満杯であり、したがって、あえて最大品質にするリスクをとることはない);
-2つの値の間にある場合、好ましくは直線の増加曲線が得られ(図2の例では、等式R=Rmin+(B-Bmin(Rmax-Rmin)/(Bmax-Bmin)である)、これは、バッファが満杯であればあるほど品質を高くできることを示す。
通過帯域に基づくABR論理についても同様の曲線が得られる。
後述するように、本発明による方法は、ABRを、その論理を改ざんすることによってではなく、セグメントのリクエストに応じる前に付加される応答期限を用いてこの論理を調整することによって制御することを提案する。なぜなら、1つのセグメントの供給を単に遅延させることによって通過帯域と第2のバッファメモリM2の充填レベルとを人為的に制限し、それによって、セグメントに期待される品質に働きかけることができるからである。
そのため、図示された例では、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータ(したがって、ここでも同様に第2のバッファメモリM2の充填レベルである)に応じて上記応答期限を可能にする第2の関数を決定している。
第2の関数は、好ましくは、第1の関数に基づいて構成され(さらには学習される。これについては後述する)、すなわち、第2の関数によってABR論理をマッピングすることができる。
したがって、1つの好ましい実施形態によれば、第2の関数は、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータに対して単調であり、一般には(特に、後述するような第2のバッファメモリM2の充填レベルに基づくABR論理の場合には)、第1および第2の関数が、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータに対して同じ単調性(特に増加)を有する。実際、大抵の場合は、第2の関数がABR論理の第1の関数に類似していることが分かっている(ここでも同様に2つの極値セグメントを含む3個の断片による断片連続関数)。同様に、たとえば図2の右側部分に示した対応する曲線を参照されたい。
マッピングは、たとえば、第1の関数の2つの点、特に、座標断片を接続する特異点{Bmin,Rmin=f(Bmin)}および{Bmax,Rmax=f(Bmax)}を選択することからなり、2個の対応する点{Bmin,pmin=f(Bmin)}および{Bmax,pmax=f(Bmax)}に基づいて第2の関数を構成することができる。好ましくは、第1の関数と同様の様相の単調性を有する第2の関数、特に、上記2つの点を介して接続される3個の断片による断片連続関数を構成する。
したがって、図2の例の右側部分では、第2の関数が次のように構成される:
-最小閾値Bmin以下の充填レベルでは、応答期限が最低値pmin、好ましくはゼロに固定され、すなわち、遅延が全く付加されない(換言すれば、バッファは危険なまでに空であり、受信したセグメントを直接供給するリスクを取らない);
-最大閾値Bmax以上の充填レベルでは、応答期限が最大値pmax、好ましくは1つのセグメントの長さpに固定され(これによって、映像バッファの充填率をこれ以上増加しなくてすみ、P2Pキャッシュは、1つ前のセグメントの全体が読まれたときのみ新しいセグメントを供給することによってマージンを保つ);
-2つの値の間にある場合、好ましくは直線の増加曲線が得られ(図2の例では、等式p=pmin+(B-Bmin(pmax-pmin)/(Bmax-Bmin)である)、これは、バッファが満杯であればあるほど応答期限を長くすることができるので、さらに高い充填率に到達できることを示す。
第1および第2の関数が、セグメント受信ビットレートを示す上記の少なくとも1つのパラメータに対して逆単調性を有することも同様に可能であり(すなわち、第1の関数が減少関数であるとき第2の関数が増加関数であり、またその逆もある)、これは特に、ABR論理が通過帯域に基づいている場合にいえる(その場合、第1の関数が増加関数で第2の関数が減少関数である)。
本発明による方法は、応答期限を適用する所定の設計に制限されるものではなく、当該技術の専門家は、この考え方を、ABR論理、再生装置により監視されるタイプのパラメータ、P2Pネットワークの挙動等に適合させることができる。一般に、ABR論理を定義する第1の関数に基づいて、応答期限を定義する第2の関数を構成するだけで十分であることを理解されたい。
再生
以下の説明では、場合によっては他のデバイス12および/またはサーバ2からコンテンツを回収中であるクライアントデバイス11に焦点を当てる。すなわち、第1のバッファメモリM1は、少なくとも1つの品質レベルで少なくとも1つの未処理のセグメント、可能であれば、コンテンツを構成するシーケンスの下位シーケンスを、それ以降保存する。
その場合、この方法は、1つのセグメント、この場合には第2のバッファメモリM2に置くべき次のセグメント(必ずしも次の読み取りセグメントではない。一般には、バッファされた複数の先行セグメントがある)のリクエストの受信工程(a)を、デバイスの処理手段110が実施することから開始される。上記リクエストは再生装置から受信され、好ましくは、セグメントリクエストの品質レベルすなわちビットレートが(ABR論理の適用により)決定される。
この段階では、上記セグメントは、再生装置によりリクエストされた品質で第1のバッファメモリM1において少なくとも部分的に(すなわち少なくとも1つのフラグメントで)利用可能である。このセグメント/当該セグメントのフラグメントが別の品質である場合、一般にはコンテンツサーバ2から直接これを回収しなければならないが、これは時間がないからである。
前述のように、工程(a)は、その場合、ABR論理により監視されているパラメータ(セグメント受信ビットレートを示す上記の少なくとも1つのパラメータ)、好ましくは第2のバッファメモリM2の充填レベルおよび/または通過帯域に特に応じて、上記再生装置のABR論理に対して決定された応答期限の計算を有利には含む。工程(a)は、場合によっては、セグメント受信ビットレートを示す上記パラメータの「測定」を含む。
前述のように、応答期限を決定する第2の関数は、応答期限の最小値と最大値との間で、セグメント受信ビットレートを示す上記パラメータと共に好ましくは増加する。
回収されたのが次のセグメントのフラグメントだけであった場合(いわばセグメントが不完全に利用される場合)、計算された応答期限がフラグメントの長さに応じて好ましくは修正され、実際には応答期限の1つのフラグメントだけを適用すべきであることを反映するようにされる。なぜなら、第2のバッファメモリM2にはフラグメントではなく完全なセグメントだけしか供給できないからであり、この考え方は、短縮された応答期限の後で完全にセグメントを供給するというものであって、第1のバッファメモリM1内でこのセグメントを完全にする(回収し終わる)時間に対応する待機期限が暗々裏にはすでにあることを反映している。そのため、工程(a)は、セグメントを回収し終わるのに必要な推定時間に応じて計算された応答期限の修正を含む。
たとえば、式p'=p-tdwを適用することができる。ここでp'は、修正された応答期限であり、tdwは、セグメントを回収し終わるのに必要な推定時間である。したがって、完全なセグメントを供給する前の、時間tdwの待機+p'の適用は、pの適用と同等であるので、全体の期限は同じままである。
工程(b)では、リクエストされた上記セグメントが、上記応答期限の満了時に第1のバッファメモリM1からリクエストに応えて供給される。「上記応答期限の満了時に供給される」とは、応答期限の満了前に(最高で満了時に、さらには、幾つかの事例に限っては応答後に。これについては後述する)、再生装置がセグメントを持たないようにすることを意味する。大抵の場合、セグメントは応答期限の満了時に一挙に伝送されるが、デバイス11の内部で、これを「ストリーミングする」すなわち、第1のバッファメモリM1からセグメントを徐々に(少しずつ)伝送することも全く可能であり、それによって応答期限の満了時に(できるだけ早く)最終部分が伝送される(その場合、応答期限は、「セグメントの最終ビットの伝送期限」である)。実際、完全なセグメントだけを読み取り可能であるものの、幾つかの再生装置はセグメントの下位セグメントを受け入れ可能である。このような段階的な伝送は、セグメントが全体として受信されない限り、再生装置がこれを利用できず、したがって供給されたとはみなされないので何も変わることはないが、しかし通過帯域測定を容易にできる点に注目すべきである。
セグメントの1つのフラグメントだけが第1のバッファメモリM1で利用できる場合、また、応答期限が、当該セグメントを回収し終わるのに必要な推定時間に応じて修正された場合、通常、当該セグメントは、修正された応答期限の満了時に同様に工程(b)に供給される。先に述べたように、供給が分割されることもあるが、完全なセグメントの下位セグメント(完全にダウンロードされた1つのセグメントから得られる連続セグメント片に対応する)と、不完全なセグメント(大抵はちぐはぐな複数片に対応する幾つかのデータ部分だけがダウンロードされる)とを混同してはならない。第1のバッファメモリM1では、完全に利用可能な1つのセグメントだけをリクエストに応えて供給可能であり(フラグメントではない)、その結果、ダウンロードに予想以上に時間がかかっても、修正された応答期限の満了時にはセグメントを完全に利用することができる。そのため、修正された応答期限の満了時に(すなわち満了前ではない)できるだけ早く完全なセグメントが供給されるが、しかし満了後の可能性もある。実務上、完全なセグメントは、次のような2つの条件すなわち、セグメントを完全に利用できる(そのダウンロードが終了している)ことと、修正された応答期限が満了したこととが検証されたときに供給される。
いずれの場合も、セグメントは、好ましくは第2のバッファメモリM2に供給され、そのような理由で、工程(b)は、上記第1のバッファメモリM1のセグメントをデバイス11での再生に適したフォーマットに変換することを含むことができる。この工程は、未処理のセグメントを、最初のものとは違ってデバイス11の再生装置が読み取り可能な、変換されたセグメントに変えることからなる。
たとえば、再生装置がHTML5に適合するブラウザを組み込まれている場合、変換は、ブラウザのMedia Source Extension(メディアソース拡張機能)APIによって、セグメントの映像データをインジェクションすることからなる。
当然のことながら、工程(b)は、有利には、第2のバッファメモリM2に保存された1つ前のセグメントの再生を同時に含むので、セグメントは「順に行われる」。工程(b)で回収されたセグメントが読まれる順番がまもなくやってくる。
いまや、再生が続く限り、工程(a)と(b)を繰り返すことができる:期限の適用によりABRが安定化し、最悪の場合、ABRの新たな決定が原因で再生装置によりリクエストされる品質レベルがやはり変わってしまう場合でも、セグメントはいまでは、リクエストされた新たな品質レベルに従ってP2Pネットワークから充填されるので、ユーザには何ら支障がない。
予測
特に好ましくは、工程(a)は、場合によっては行われるABRの次の決定の予測、すなわち、(工程(a)が次回生じたときの)次のセグメントリクエストの品質レベルの予測をさらに含む。
実際、ABRによりリクエストされる品質レベルが変わる場合、計算された応答期限を適用する前に、第1の関数の適用により品質レベルを決定することができる。
計算を容易にするように、長さpの1つの完全なセグメントが供給されたと仮定する。そうすると、工程(b)の終わりに、第2のバッファメモリM2の充填レベルがpすなわちセグメントの長さ分だけ増加する。それに対して、応答期限pが経過すると、第2のバッファメモリM2のコンテンツの同じ時間が読み取られて消去されるので、前回の充填レベルBn-1に対して式B=Bn-1+p-pにより新たな充填レベルBを表すことができる(セグメントの受信ビットレートを示すパラメータが通過帯域である場合、同様の計算を実施できることに注目されたい)。したがって、次回のABRの決定を予測するためにf(B)を計算し、場合によっては品質レベルの変更を先取りして適正な品質レベルで今後のセグメントを回収するだけでよい(「プリフェッチ」という)。かくして、ユーザが支障を受ける確率はさらに低くなる。
この方法は、工程(b)の後に予測検証工程(c)を含むことができる点が注目される(場合によっては次に生じる工程(a)と混同される)。
より詳しくは、ABR論理は、リクエストされる「新しい」品質レベル、すなわち次のセグメントに対してリクエストされる品質レベルを計算するために再開され、このため、対応するセグメントリクエストがクライアントソフトウェアに送信される。検証は、次のセグメントに対して、予測された品質レベルと実際にリクエストされた品質レベルとを単に比較することからなる。
学習
第1の実施形態によれば、第1の関数を認識していると仮定し、この第1の関数に基づいて第2の関数を再構成する。
しかしながら、別のケースでは、再生装置が完全に閉じられている場合、第1の関数をうまく認識できず、さらには全く認識することができない。
その場合、特にABRの決定予測を学習手段として用いることによって、第1の関数および/または第2の関数を徐々に学習することができる:各セグメントに対して、工程(c)で、予測と実際に下された決定とを比較し、すなわち予測された品質レベルと実際にリクエストされた品質レベルとを比較して、これにより学習ループを構成する。
特にデフォルト機能を起点とし、時間の経過と共にパラメータを変化させることによって、第1または第2の関数を推定可能である。たとえば、第1の関数は、3個のセグメントによる断片関数を仮定すると、4個のパラメータBmin、Rmin、BmaxおよびRmaxの値を介してパラメータ化可能であり、また同様に第2の関数は、3個のセグメントによる断片関数を仮定すると、4個のパラメータBmin、pmin、Bmaxおよびpmaxの値を介してパラメータ化可能である(したがって、変数は全部で6個である)。
そのため、コンテンツの最初のセグメントでクライアントソフトウェアの応答期限の計算がおそらく不正確に行われ、それによって予想外のABRの決定がなされ、制御不能な品質レベルの変更が生じても、アルゴリズムは速やかに改善され、ABR論理が完全に制御される。
学習アルゴリズム、たとえばニューロンネットワークを特に使用可能である。
学習がそれに基づいてなされるデータはセッション間で保存可能であり、それによって、以降の複数のセッション時の学習フェーズに関連する問題をなくし、あるいは制限する。
たとえば再生装置のバージョン番号の変更のような幾つかのファクタを用いて、バックアップされたパラメータを無効化し、新しい学習フェーズのために未使用のパラメータで再始動することができる。
代替的/補完的に、学習された機能はたとえばP2Pメッセージを介して他のピア12に伝送され、あるいはピア3の管理サーバに伝送可能である。
デバイスとコンピュータプログラム製品
第2の側面によれば、本発明は、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質を選択するのに適した再生装置で本発明の方法によるコンテンツ再生方法を実施するためのクライアントデバイス11に関する。
このデバイス11は、先に説明したように:
セグメントシーケンスから構成されたコンテンツの少なくとも1つのセグメントを一時的に保存し、未処理の各セグメントがピア・トゥ・ピアネットワーク10内でこれを伝送するのに適したフォーマットにある、第1のバッファメモリM1と;
再生装置による再生に適したフォーマットで上記コンテンツの少なくとも1つの変換されたセグメントを一時的に保存する第2のバッファメモリM2と;データ処理手段110と、
を含む。
データ処理手段110、一般にはプロセッサは、1つのセグメントのリクエストを受信すると、再生装置の上記ABR論理に対して決定された応答期限の満了時に第1のバッファメモリM1への上記セグメントの供給(通常は第2のバッファメモリM2へのインジェクションによる、再生装置への供給)をインプリメントするように構成される。
別の側面によれば、本発明は、クライアントデバイス11、12のピア・トゥ・ピアネットワーク10内で配信されたコンテンツの、本発明の第1の側面によるクライアントデバイス11での連続再生方法を(データ処理手段、特にクライアントデバイス11のデータ処理手段で)実行するためのコード命令と、このコンピュータプログラム製品がある情報処理装置(たとえば上記クライアントデバイス11のメモリ)による読み取りが可能な保存手段とを含む、コンピュータプログラム製品に関する。
別の側面によれば、本発明は、クライアントデバイス11、12のピア・トゥ・ピアネットワーク10内で配信されたコンテンツの、本発明の第1の側面によるクライアントデバイス11での連続再生方法を(データ処理手段、特にクライアントデバイス11のデータ処理手段で)実行するためのコード命令と、このコンピュータプログラム製品がある情報処理装置(たとえば上記クライアントデバイス11のメモリ)による読み取りが可能な保存手段とを含む、コンピュータプログラム製品に関する。
[項目1]
クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツをクライアントデバイスの再生装置で連続して再生する方法であって、上記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、上記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され、上記クライアントデバイスが、上記ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリを含む方法において、上記クライアントデバイスのデータ処理手段による以下の工程:
(a)上記再生装置からの1つのセグメントのリクエストの受信工程
(b)上記再生装置の上記ABR論理に対して決められた応答期限の満了時に上記第1のバッファメモリから上記セグメントを応答として供給する工程
を含む、方法。
[項目2]
上記ABR論理は、セグメント受信ビットレートを示す少なくとも1つのパラメータに応じて、上記セグメントリクエストの品質レベルを計算可能な第1の関数により決定される、項目1に記載の方法。
[項目3]
第2の関数が、セグメント受信ビットレートを示す少なくとも1つの上記パラメータに応じて上記工程(a)で上記応答期限を計算可能である、項目2に記載の方法。
[項目4]
上記第2の関数が上記第1の関数に基づいて構成される、項目3に記載の方法。
[項目5]
上記第2の関数が、セグメント受信ビットレートを示す少なくとも1つの上記パラメータに対して単調である、項目3または4に記載の方法。
[項目6]
上記クライアントデバイスが、上記再生装置による再生に適したフォーマットでセグメントを保存するように構成された第2のバッファメモリをさらに含み、上記セグメントが上記工程(b)で第2のバッファメモリに供給される、項目1から5のいずれか一項に記載の方法。
[項目7]
セグメント受信ビットレートを示す上記パラメータが、第2のバッファメモリの充填レベルおよび/または通過帯域である、項目2から5のいずれか一項と項目6との組み合わせに記載の方法。
[項目8]
上記工程(a)は、計算された応答期限に応じて次のセグメントリクエストの品質レベルの予測を含む、項目1から7のいずれか一項に記載の方法。
[項目9]
次のセグメントリクエストの品質レベルの上記予測の検証工程(c)を含む、項目8に記載の方法。
[項目10]
予測された品質レベルと実際にリクエストされた品質レベルとに基づく第2の関数の学習を含む、項目9に記載の方法。
[項目11]
リクエストされたセグメントが、上記第1のバッファメモリでは不完全に利用可能であり、上記工程(a)が、上記セグメントを回収し終わるのに必要な推定時間に応じて計算された応答期限の修正を含み、工程(b)では、上記セグメントが、修正された応答期限の満了時にできるだけ早く完全に供給される、項目1から10のいずれか一項に記載の方法。
[項目12]
クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツを再生装置で連続して再生するデバイスであって、上記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、上記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され、上記クライアントデバイスが、上記ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリと、データ処理手段とを含む、連続再生デバイスにおいて、
上記データ処理手段が、上記再生装置からセグメントのリクエストを受信すると、上記再生装置の上記ABR論理に対して決められた応答期限の満了時に上記第1のバッファメモリから上記セグメントを応答として供給する、デバイス。
[項目13]
コンピュータプログラム製品であって、上記プログラムがコンピュータにより実行されるとき、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、項目1から11のいずれか一項に記載の方法を実行するためのコード命令を含む、製品。
[項目14]
情報処理装置による読み取りが可能な保存手段であって、コンピュータプログラム製品が、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、項目1から11のいずれか一項に記載の方法を実行するためのコード命令を含む、保存手段。

Claims (14)

  1. クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツをクライアントデバイスの再生装置で連続して再生する方法であって、前記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、前記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され、前記クライアントデバイスが、前記ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリを含む方法において、前記クライアントデバイスのデータ処理手段による以下の工程:
    (a)前記再生装置からの1つのセグメントのリクエストの受信工程
    (b)前記再生装置の前記ABR論理に対して決められた応答期限の満了時に前記第1のバッファメモリから前記セグメントを応答として供給する工程
    を含む、方法。
  2. 前記ABR論理は、セグメント受信ビットレートを示す少なくとも1つのパラメータに応じて、前記セグメントリクエストの品質レベルを計算可能な第1の関数により決定される、請求項1に記載の方法。
  3. 第2の関数が、セグメント受信ビットレートを示す少なくとも1つの前記パラメータに応じて前記工程(a)で前記応答期限を計算可能である、請求項2に記載の方法。
  4. 前記第2の関数が前記第1の関数に基づいて構成される、請求項3に記載の方法。
  5. 前記第2の関数が、セグメント受信ビットレートを示す少なくとも1つの前記パラメータに対して単調である、請求項3または4に記載の方法。
  6. 前記クライアントデバイスが、前記再生装置による再生に適したフォーマットでセグメントを保存するように構成された第2のバッファメモリをさらに含み、前記セグメントが前記工程(b)で第2のバッファメモリに供給される、請求項1から5のいずれか一項に記載の方法。
  7. セグメント受信ビットレートを示す前記パラメータが、第2のバッファメモリの充填レベルおよび/または通過帯域である、請求項2から5のいずれか一項と請求項6との組み合わせに記載の方法。
  8. 前記工程(a)は、計算された応答期限に応じて次のセグメントリクエストの品質レベルの予測を含む、請求項1から7のいずれか一項に記載の方法。
  9. 次のセグメントリクエストの品質レベルの前記予測の検証工程(c)を含む、請求項8に記載の方法。
  10. 予測された品質レベルと実際にリクエストされた品質レベルとに基づく第2の関数の学習を含む、請求項9に記載の方法。
  11. リクエストされたセグメントが、前記第1のバッファメモリでは不完全に利用可能であり、前記工程(a)が、前記セグメントを回収し終わるのに必要な推定時間に応じて計算された応答期限の修正を含み、工程(b)では、前記セグメントが、修正された応答期限の満了時にできるだけ早く完全に供給される、請求項1から10のいずれか一項に記載の方法。
  12. クライアントデバイスのピア・トゥ・ピアネットワーク内で配信されるコンテンツを再生装置で連続して再生するデバイスであって、前記コンテンツが、複数の品質レベルで利用可能なセグメントシーケンスから構成され、前記再生装置が、アダプティブ・ビットレートABR制御論理に従ってセグメントの品質レベルを選択するように構成され、前記クライアントデバイスが、前記ピア・トゥ・ピアネットワーク内での伝送に適したフォーマットでセグメントを保存するように構成された第1のバッファメモリと、データ処理手段とを含む、連続再生デバイスにおいて、
    前記データ処理手段が、前記再生装置からセグメントのリクエストを受信すると、前記再生装置の前記ABR論理に対して決められた応答期限の満了時に前記第1のバッファメモリから前記セグメントを応答として供給する、デバイス。
  13. コンピュータプログラム製品であって、前記プログラムがコンピュータにより実行されるとき、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、請求項1から11のいずれか一項に記載の方法を実行するためのコード命令を含む、製品。
  14. 情報処理装置による読み取りが可能な保存手段であって、コンピュータプログラム製品が、コンテンツサーバに接続されたクライアントデバイスのピア・トゥ・ピアネットワークにおけるストリーミングコンテンツ配信の、請求項1から11のいずれか一項に記載の方法を実行するためのコード命令を含む、保存手段。
JP2021556863A 2019-03-27 2020-03-27 ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法 Active JP7059509B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1903195 2019-03-27
FR1903195A FR3094597B1 (fr) 2019-03-27 2019-03-27 Procédé de diffusion de contenus en streaming dans un réseau pair à pair
PCT/EP2020/058709 WO2020193754A1 (fr) 2019-03-27 2020-03-27 Procédé de diffusion de contenus en streaming dans un réseau pair à pair

Publications (2)

Publication Number Publication Date
JP7059509B1 JP7059509B1 (ja) 2022-04-26
JP2022524639A true JP2022524639A (ja) 2022-05-09

Family

ID=67262682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021556863A Active JP7059509B1 (ja) 2019-03-27 2020-03-27 ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法

Country Status (9)

Country Link
US (3) US11128685B2 (ja)
EP (1) EP3949434A1 (ja)
JP (1) JP7059509B1 (ja)
KR (1) KR102472155B1 (ja)
AU (1) AU2020245087B2 (ja)
CA (1) CA3135076C (ja)
FR (1) FR3094597B1 (ja)
SG (1) SG11202110647QA (ja)
WO (1) WO2020193754A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3094597B1 (fr) 2019-03-27 2021-06-11 Streamroot Procédé de diffusion de contenus en streaming dans un réseau pair à pair
EP3873097A1 (en) 2020-02-28 2021-09-01 Streamroot Method for playing on a player of a client device a content streamed in a network
EP3886451A1 (en) 2020-03-26 2021-09-29 Streamroot Method for playing on a player of a client device a content streamed in a network
EP4016954B1 (en) * 2020-12-18 2023-12-20 Streamroot Method for controlling a player playing a data stream streamed in a peer-to-peer network
KR20220142195A (ko) * 2021-04-14 2022-10-21 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
EP4080892A1 (en) * 2021-04-20 2022-10-26 Streamroot Method for playing on a player of a client device a content streamed in a network
EP4080891A1 (en) * 2021-04-20 2022-10-26 Streamroot Method for playing on a player of a client device a content streamed in a network
US11652876B2 (en) * 2021-07-22 2023-05-16 Rovi Guides, Inc. Assisted delivery service for networks
US11805169B2 (en) 2021-09-16 2023-10-31 Apple Inc. Content delivery network data sharing between mobile devices
CN114666609A (zh) * 2022-03-31 2022-06-24 北京奇艺世纪科技有限公司 视频数据下载方法、装置、电子设备及存储介质
EP4300916A1 (en) * 2022-06-27 2024-01-03 Streamroot A controller for controlling a player in a peer-to-peer network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505502A (ja) * 2005-08-12 2009-02-05 ノキア シーメンス ネットワークス ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディトゲゼルシャフト ピア・ツー・ピアコミュニティのためのマルチソース且つ復元力のあるビデオ・オン・デマンドストリーミングシステム
JP2012150809A (ja) * 2011-01-19 2012-08-09 Nhn Business Platform Corp P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
US20160182941A1 (en) * 2013-08-02 2016-06-23 British Telecommunications Public Limited Company Video caching
US20200036766A1 (en) * 2018-07-24 2020-01-30 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341812A1 (en) * 2003-08-29 2015-11-26 Ineoquest Technologies, Inc. Video quality monitoring
US8335873B2 (en) * 2006-09-14 2012-12-18 Opentv, Inc. Method and systems for data transmission
US20130031211A1 (en) * 2011-01-29 2013-01-31 Dustin Johnson Feedback oriented private overlay network for content distribution
EP2681869B1 (en) 2011-02-28 2018-01-31 Bittorrent, Inc. Peer-to-peer live streaming
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8949440B2 (en) 2012-07-19 2015-02-03 Alcatel Lucent System and method for adaptive rate determination in mobile video streaming
US9124947B2 (en) * 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US9699236B2 (en) 2013-12-17 2017-07-04 At&T Intellectual Property I, L.P. System and method of adaptive bit-rate streaming
US9692800B2 (en) * 2014-06-11 2017-06-27 Google Inc. Enhanced streaming media playback
US9769536B2 (en) * 2014-12-26 2017-09-19 System73, Inc. Method and system for adaptive virtual broadcasting of digital content
US9756112B2 (en) * 2015-02-11 2017-09-05 At&T Intellectual Property I, L.P. Method and system for managing service quality according to network status predictions
US10244270B2 (en) * 2015-03-25 2019-03-26 Amazon Technologies, Inc. Determining initial bit rate for adaptive bit rate video playback
US9641578B2 (en) 2015-04-02 2017-05-02 Arris Enterprises, Inc. Minimizing unicast bandwidth in an adaptive bit rate system
FR3034943B1 (fr) * 2015-04-07 2017-04-14 Streamroot Inc Procede de lecture en continu sur un equipement client d'un contenu diffuse au sein d'un reseau pair a pair
US10476926B2 (en) * 2015-06-12 2019-11-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for managing ABR bitrate delivery responsive to video buffer characteristics of a client
WO2017063189A1 (en) * 2015-10-16 2017-04-20 Qualcomm Incorporated Deadline signaling for streaming of media data
US20170272783A1 (en) 2016-03-16 2017-09-21 Telefonaktiebolaget Lm Ericsson (Publ) Architecture for interconnected set-top boxes
US11366909B2 (en) * 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10390070B2 (en) * 2017-03-31 2019-08-20 Intel Corporation Methods and apparatus for adaptive video transmission based on channel capacity
US11509703B2 (en) * 2018-09-26 2022-11-22 Vmware, Inc. System and method for widescale adaptive bitrate selection
US11622140B2 (en) * 2018-12-19 2023-04-04 Yahoo Assets Llc Selective streaming of video segments based on buffer data and download rate range
FR3094164B1 (fr) * 2019-03-22 2021-10-29 Streamroot Procédé d’obtention d’un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu
FR3094597B1 (fr) 2019-03-27 2021-06-11 Streamroot Procédé de diffusion de contenus en streaming dans un réseau pair à pair

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009505502A (ja) * 2005-08-12 2009-02-05 ノキア シーメンス ネットワークス ゲゼルシャフト ミット ベシュレンクテル ハフツング ウント コンパニー コマンディトゲゼルシャフト ピア・ツー・ピアコミュニティのためのマルチソース且つ復元力のあるビデオ・オン・デマンドストリーミングシステム
JP2012150809A (ja) * 2011-01-19 2012-08-09 Nhn Business Platform Corp P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
US20160182941A1 (en) * 2013-08-02 2016-06-23 British Telecommunications Public Limited Company Video caching
US20200036766A1 (en) * 2018-07-24 2020-01-30 At&T Intellectual Property I, L.P. Adaptive bitrate streaming techniques

Also Published As

Publication number Publication date
CA3135076C (en) 2022-06-14
JP7059509B1 (ja) 2022-04-26
US20220021719A1 (en) 2022-01-20
US11689596B2 (en) 2023-06-27
US11128685B2 (en) 2021-09-21
SG11202110647QA (en) 2021-10-28
WO2020193754A1 (fr) 2020-10-01
FR3094597B1 (fr) 2021-06-11
US20200351317A1 (en) 2020-11-05
AU2020245087B2 (en) 2021-12-09
EP3949434A1 (fr) 2022-02-09
FR3094597A1 (fr) 2020-10-02
KR102472155B1 (ko) 2022-11-28
CA3135076A1 (en) 2020-10-01
AU2020245087A1 (en) 2021-11-04
KR20210135338A (ko) 2021-11-12
US20230336600A1 (en) 2023-10-19

Similar Documents

Publication Publication Date Title
JP7059509B1 (ja) ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法
US9601126B2 (en) Audio splitting with codec-enforced frame sizes
CN110198495B (zh) 一种视频下载和播放的方法、装置、设备和存储介质
WO2022123066A1 (en) Method for playing on a player of a client device a content streamed in a network
KR102521753B1 (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
US20230396845A1 (en) Method for playing on a player of a client device a content streamed in a network
Chang et al. Optimal DASH video scheduling over variable-bit-rate networks
US20220337897A1 (en) Method for playing on a player of a client device a content streamed in a network
US11637881B2 (en) Method for playing on a player of a client device a content streamed in a network
JP2022039452A (ja) 受信端末、配信サーバ、受信方法及び受信プログラム
JP2023019370A (ja) レート制御サーバ、配信システム及びレート制御プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211007

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220325

R150 Certificate of patent or registration of utility model

Ref document number: 7059509

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150