JP2018110387A - リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム - Google Patents

リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム Download PDF

Info

Publication number
JP2018110387A
JP2018110387A JP2017248043A JP2017248043A JP2018110387A JP 2018110387 A JP2018110387 A JP 2018110387A JP 2017248043 A JP2017248043 A JP 2017248043A JP 2017248043 A JP2017248043 A JP 2017248043A JP 2018110387 A JP2018110387 A JP 2018110387A
Authority
JP
Japan
Prior art keywords
buffer
duration
time
bit rate
less
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
JP2017248043A
Other languages
English (en)
Other versions
JP6542866B2 (ja
Inventor
ジュンギ チャン
Joon-Kee Chang
ジュンギ チャン
ソンホ キム
Sungho Kim
ソンホ キム
ソンテク チョウ
Sungtak Cho
ソンテク チョウ
インチョル カン
Incheol Kang
インチョル カン
ジフン ア
Jihoon Ah
ジフン ア
ジョンミョン キム
Jeong Myeong Kim
ジョンミョン キム
ヨンス イ
Yong-Su Lee
ヨンス イ
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.)
Naver Corp
Original Assignee
Naver 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 Naver Corp filed Critical Naver Corp
Publication of JP2018110387A publication Critical patent/JP2018110387A/ja
Application granted granted Critical
Publication of JP6542866B2 publication Critical patent/JP6542866B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • 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/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities

Abstract

【課題】 リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステムを提供する。
【解決手段】 コンピュータで実現される方法であって、リアルタイムライブ環境でデータパケットを管理するバッファのデュレーションを確認する段階、および前記バッファのデュレーションに基づいてネットワークの帯域幅を測定し、前記帯域幅に適応的にデータ送信速度を制御する段階を含む。
【選択図】 図4

Description

以下の説明は、ネットワークの帯域幅を測定し、測定された帯域幅に合わせてデータを送信する技術に関する。
インターネットは、パケット単位でデータを送受信するのが一般的であるが、通信する2つの端末間に送信帯域幅が常に保障されるのではなく、経路が選定されると、各パケット単位で動的に帯域幅を占有しながらデータが送受信されるようになる。
最近では、動画などの大容量データの使用が一般化しているが、動画データをリアルタイムでストリーミングするサービスの場合、ネットワークの送信帯域幅に合わせて動画データを送信することで、QoS(Quality of Service)を満たしたサービスを提供することができる。
この場合、ネットワークを介してデータを送信するときに実際に送信可能なデータの帯域幅を測定する技術は、極めて重要な役割を担っている。一例として、特許文献1には、モバイル送信網の帯域幅をリアルタイムで測定する技術が開示されている。
韓国登録特許第10−1182550号公報
リアルタイムライブ環境でデータパケットを管理するバッファのデュレーション(duration)に基づいてネットワーク帯域幅を測定し、測定された帯域幅に適応的にデータ送信速度を変更するABP(Adaptive Bitrate Publish)技術を提供する。
コンピュータで実現される方法であって、リアルタイムライブ環境でデータパケットを管理するバッファのデュレーションを確認する段階、および前記バッファのデュレーションに基づいてネットワークの帯域幅を測定し、前記帯域幅に適応的にデータ送信速度を制御する段階を含む方法を提供する。
一側面によると、前記確認する段階は、周期的に第1時間間隔ごとに前記バッファのデュレーションを確認してよい。
他の側面によると、前記制御する段階は、前記バッファのデュレーションが第2時間以上であればビットレートを減少させる段階、および前記バッファのデュレーションが前記第2時間未満であれば前記ビットレートを増加させる段階を含む。
また他の側面によると、前記減少させる段階は、前記バッファのデュレーションが第2時間以上であれば前記ネットワークの可用帯域幅を測定し、前記可用帯域幅に応じて前記ビットレートを減少させてよい。
また他の側面によると、前記減少させる段階は、前記データパケットに含まれるビデオパケットおよびオーディオパケットのうちの少なくとも1つをドロップ(drop)させてよい。
また他の側面によると、前記減少させる段階は、前記バッファのデュレーションが第3時間以下である場合、前記データパケットに含まれるビデオパケットおよびオーディオパケットのうちの前記ビデオパケットだけをドロップさせる段階、および前記バッファのデュレーションが前記第3時間を超える場合、前記ビデオパケットおよび前記オーディオパケットの両方をドロップさせる段階を含む。
また他の側面によると、前記増加させる段階は、前記バッファのデュレーションが前記第2時間未満であれば、ステップ(step)単位で前記ビットレートを増加させてよい。
また他の側面によると、前記増加させる段階は、前記バッファのデュレーションが前記第2時間未満である状態が連続して設定回数以上持続すれば、ステップ単位で前記ビットレートを増加させる段階を含む。
また他の側面によると、前記増加させる段階は、前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が第4時間維持されなければ前記設定回数を増やす段階、および前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が前記第4時間維持されれば前記設定回数を減らす段階をさらに含む。
また他の側面によると、前記確認する段階は、前記第1時間内に前記バッファのデュレーションを1回確認し、前記第1時間内の前記バッファのデュレーションの全体平均値として計算してよい。
また他の側面によると、前記確認する段階は、前記第1時間内に一定の間隔で前記バッファのデュレーションを複数回確認し、デュレーションの増加または減少速度に応じた加重値を利用して前記バッファのデュレーションを計算してよい。
コンピュータに上記の方法を実行させるためのコンピュータプログラムを提供する。
コンピュータで実現されるシステムであって、コンピュータが読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、リアルタイムライブ環境でデータパケットを管理するバッファのデュレーションを確認するバッファ確認部、および前記バッファのデュレーションに基づいてネットワークの帯域幅を測定し、前記帯域幅に適応的にデータ送信速度を制御する送信速度制御部を備えるシステムを提供する。
本発明の実施形態によると、データパケットを管理するバッファのデュレーションに基づいてネットワーク帯域幅を測定し、測定された帯域幅に適応的にデータ送信速度を変更することにより、リアルタイムライブ環境に適した適応的データ送信技術を実現することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図である。 本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 本発明の一実施形態における、適応的データ送信過程を示したフローチャートである。 本発明の一実施形態における、帯域幅に応じたビットレート変化過程を示したグラフである。
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
本発明の実施形態は、ネットワーク帯域幅を測定して帯域幅に適応的なリアルタイムライブ環境を提供する技術に関する。
本明細書で具体的に開示される事項などを含む実施形態は、リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信を実現することができ、これにより、サービス品質向上、効率性、コスト節減などの側面において相当な長所を達成する。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パソコン、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、電子機器1(110)は、無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。
一例として、サーバ160は、ネットワーク170を介して接続した電子機器1(110)にアプリケーションのインストールのためのファイルを提供してよい。この場合、電子機器1(110)は、サーバ160から提供されたファイルを利用してアプリケーションをインストールしてよい。また、電子機器1(110)が含むオペレーティングシステム(Operating System:OS)や少なくとも1つのプログラム(一例として、ブラウザやインストールされたアプリケーション)の制御にしたがってサーバ150に接続し、サーバ150が提供するサービスやコンテンツの提供を受けてよい。例えば、電子機器1(110)がアプリケーションの制御にしたがい、ネットワーク170を介してサービス要求メッセージをサーバ150に送信すると、サーバ150はサービス要求メッセージに対応するコードを電子機器1(110)に送信してよく、電子機器1(110)はアプリケーションの制御にしたがってコードに基づいた画面を構成して表示することにより、ユーザにコンテンツを提供してよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、1つの電子機器に対する例として電子機器1(110)の内部構成を、1つのサーバに対する例としてサーバ150の内部構成を説明する。他の電子機器120、130、140やサーバ160も、同一または類似の内部構成を有してよい。
電子機器1(110)およびサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、コンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記憶装置を含んでよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器1(110)にインストールされ駆動するアプリケーションなどのためのコード)が格納されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータで読み取り可能な記録媒体からロードされてよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に格納されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器1(110)とサーバ150とが互いに通信するための機能を提供してもよいし、他の電子機器(一例として、電子機器2(120))または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器1(110)のプロセッサ212がメモリ211のような記録装置に格納されたプログラムコードにしたがって生成した要求(一例として、検索要求)が、通信モジュール213の制御にしたがってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223およびネットワーク170を経て電子機器1(110)の通信モジュール213を通じて電子機器1(110)に受信されてもよい。例えば、通信モジュール213を通じて受信したサーバ150の制御信号や命令などは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器1(110)がさらに含むことのできる格納媒体に格納されてよい。
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、出力装置は、アプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力および出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器1(110)のプロセッサ212は、メモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器2(120)が提供するデータを利用して構成されるサービス画面やコンテンツが入力/出力インタフェース214を通じてディスプレイに表示されてよい。
また、他の実施形態において、電子機器1(110)およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器1(110)は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、GPS(Global Positioning System)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器1(110)がスマートフォンである場合、一般的にスマートフォンが含んでいる加速度センサやジャイロセンサ、カメラ、各種の物理的なボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が電子機器1(110)にさらに含まれるように実現されてよいことが分かる。
以下では、リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステムの具体的な実施形態について説明する。
ネットワークのRTT(round trip time)に基づいてデータ送信速度を測定する方法は、データのサイズが小さかったり連続的でなかったりする場合に誤差が大きく発生することから、リアルタイムライブプロトコル(例えば、RTMP(real time messaging protocol)など)には適さない。
本発明では、リアルタイムライブ環境に適したデータ送信環境を実現するために、サーバ150側で(一例として、ライブ送信モジュールで)管理しているデータ(オーディオ/ビデオ)パケットバッファのデュレーションに基づいてネットワーク帯域幅を測定し、測定された帯域幅に適応的にビットレートおよびfps(frame per second)を即時(on the fly)変更する適応的データ送信技術を提供する。
言い換えれば、RTMPのようなパブリッシャが持っているバッファのデュレーションに基づいてネットワーク状態を推定し、これによって適応的にデータ送信速度を高めたり低めたりする機能を提供する。
図3は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示した図であり、図4は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
図3に示すように、サーバ150のプロセッサ222は、構成要素として、バッファ確認部310および送信速度制御部320を備えてよい。このようなプロセッサ222およびプロセッサ222の構成要素は、図4の方法が含む段階410〜420を実行するようにサーバ150を制御してよい。ここで、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードおよび少なくとも1つのプログラムのコードによる命令を実行するように実現されてよい。また、プロセッサ222の構成要素は、オペレーティングシステムや少なくとも1つのプログラムが提供する制御命令にしたがってプロセッサ222によって実行される互いに異なる機能の表現であってよい。例えば、プロセッサ222が上述した制御命令にしたがってバッファのデュレーションを確認する機能的表現としてバッファ確認部310が使用されてよい。
段階410で、バッファ確認部310は、電子機器1(110)に動画などのデータをリアルタイムで送信するリアルタイムライブ環境でデータ(オーディオ/ビデオ)パケットを一時格納するために利用されるバッファのデュレーションを確認してよい。このとき、バッファ確認部310は、周期的に第1時間(例えば、2秒)間隔ごとにデータパケットを管理するバッファの待ち行列であるキューのデュレーションを確認してよい。一例として、バッファ確認部310は、A秒(第1時間)を周期としてA秒間に1回またはa秒間隔ごとにN回(a秒×N回=A秒)バッファのデュレーションを確認してよい。A秒間に1回の測定をする場合、バッファデュレーションの全体平均値としてデュレーションを計算してよい。a秒間隔ごとにA秒間でN回の測定をする場合、バッファデュレーションの増加または減少速度をみながらi回ごとに加重値をおいてデュレーションを計算してよい。
段階420で、送信速度制御部320は、段階410で確認されたバッファのデュレーションに基づいて電子機器1(110)に接続するネットワーク170の帯域幅を測定し、ネットワーク170の帯域幅に適応的にデータ送信速度を制御してよい。これにより、送信速度制御部320は、データパケットを管理するバッファのデュレーションに基づいてデータ送信速度を変更する適応的データ送信環境を実現することができる。
送信速度制御部320の適応的データ送信過程は、図5を参照しながらより具体的に説明される。
本発明に係る適応的データ送信技術の基本動作条件は、次のとおりとなる。
(1)ビットレート減少方策:ビットレートを低めること(例えば、動画画質を低めること)は、敏感に動作しなければならない。
(2)ビットレート増加方策:ビットレートを高めること(例えば、動画画質を高めること)は、保守的に動作しなければならない。
図5を参照すると、段階501で、送信速度制御部320は、バッファのデュレーションが第2時間(例えば、1秒)以上であれば、ビットレート減少方策を適用し、バッファのデュレーションに基づいてネットワーク170の可用帯域幅を測定してビットレートを減少させてよい。第2時間は、ビットレート減少方策またはビットレート増加方策のどちらを適用するかを決める基準となってよい。
送信速度制御部320は、バッファデュレーションが第2時間を超える場合、ビットレート減少方策にしたがって帯域幅を測定してビットレート(以下のnew bitrate)を変更してよいが、このとき、ビットレート(new bitrate)は、以下の式(1)のように定義されてよい。
new bitrate=(1.0−(B/A))×current bitrate×加重値・・・(1)
ここで、Aは第1時間を、Bは第2時間を、current bitrateは現在のビットレートを意味する。
式(1)の加重値ファクタにより、ネットワーク170の可用帯域幅をもう少し肯定的にまたは保守的に処理してよい。例えば、1.0よりも大きい加重値を適用することによって帯域幅を肯定的に処理してよく、1.0よりも小さい加重値を適用することによって帯域幅を保守的に処理してよい。
送信速度制御部320は、ビットレート減少方策にしたがい、変更しようとするビットレート(new bitrate)が事前に定められた最小ビットレートよりも低ければ、最小ビットレートとして設定および変更してよい。
ビットレートを減らすためには、ビデオパケットおよびオーディオパケットのうちの少なくとも1つをドロップさせてよい。
ビデオパケットをドロップさせる場合には、ユーザ端でfpsが離れている感じがするといった程度であるが、オーディオパケットをドロップさせる場合には、音が切れて連続的な感じが失われるため、ユーザのサービス利用に不快感を与えるようになる。
したがって、ビットレート減少方策では、オーディオパケットをビデオパケットよりも優先的に最大限送信するように例外処理してよい。一例として、送信速度制御部320は、バッファデュレーションが第3時間以下である場合にはビデオパケットだけをドロップさせ、バッファデュレーションが第3時間を超える場合にはビデオパケットおよびオーディオパケットの両方をドロップさせてよい。ただし、送信速度制御部320は、バッファデュレーションが第2時間を超える状況でターゲットビットレートが事前に定められた最小ビットレートである場合、ビデオパケットおよびオーディオパケットの両方をドロップさせてよい。
再び図5において、段階502で、送信速度制御部320は、バッファのデュレーションが第2時間未満であれば、ビットレート増加方策を適用し、ビットレートを段階的に増加させてよい。例えば、第2時間が1秒である場合、バッファのデュレーションが1秒以上であればビットレート減少方策を適用し、バッファのデュレーションが1秒未満であればビットレート増加方策を適用してよい。
バッファ確認部310は、周期的に第1時間ごとにバッファのデュレーションを確認するようになるが、このとき、送信速度制御部320は、第1時間ごとに確認されたバッファのデュレーションが第2時間未満である状態が連続的に設定回数(N回)以上持続すれば、ビットレートを一段階高めてよい。
バッファデュレーションに基づいて帯域幅を測定するとき、現在送信中であるビットレート以上での速度測定は不可能であるため、ビットレート増加方策の場合、ステップ単位でビットレートを段階的に高めてよい。この場合、ビットレートを増加させるとき、ステップサイズは、特定の定数値または基本ビットレートの1/N値であってよい。
ビットレート増加を決定する1つの基準となる設定回数は、他のファクタに基づいて変更されてよい。一例として、ビットレートを高めた後、バッファのデュレーションが第2時間未満である状態が第4時間(例えば、30秒)以上持続せずにビットレート減少条件を満たすようになれば、設定回数に該当するFファクタに一定の定数(K)を掛ける。例えば、Fファクタの初期値が5、最大値が30、一定の定数が2である場合に、上述した条件が繰り返し満たされる場合、設定回数は5→10→20→30に変更されてよい。言い換えれば、送信速度制御部320は、ビットレートを高めた後、バッファのデュレーションが第2時間未満である状態が第4時間維持されないときには設定回数を増やし、以後からはもう少し保守的にビットレートを高めてよい。一方、以前にビットレートを高めた状態でビットレート増加方策の条件を満たし、ビットレートをまた高めるようになる場合、Fファクタを一定の定数(K)で割ってよい。Fファクタの初期値が30、最小値が5、一定の定数が2である場合に、上述した条件が繰り返し満たされる場合、設定回数は30→15→7→5に変更されてよい。すなわち、送信速度制御部320は、ビットレートを高めてバッファのデュレーションが第2時間未満である状態が第4時間維持されるときには設定回数を減らし、以後からはもう少し積極的にビットレートを高めてよい。
送信速度制御部320は、ビットレート減少/増加方策を適用する前にfpsを変更し、バッファリング状態の復旧または画質向上が可能であると判断されれば、ビットレートに比べてfpsを優先的に変更処理してよい。例えば、30fpsで送信中の状態と測定された帯域幅が現在はビットレートの1/2である場合、15fpsに変更してよい。
図6は、本発明の一実施形態における、帯域幅制限によるビットレート変化過程を示したグラフである。
図6を参照すると、初期帯域幅(BW)2Mbpsから帯域幅を500Kbpsに制限する場合、ビットレート減少方策によって比較的短い時間内にビットレートが急激に下がるようになる。この後、帯域幅が500Kbpsから1200Kbpsに増加するようになれば、ビットレート増加方策が適用されながらビットレートが段階的に高くなる。再び、帯域幅が1200Kbpsから500Kbpsに減少するようになれば、ビットレート減少方策により、ビットレートが減少した後は一定の水準を維持するようになる。図6に示すように、ビットレート減少方策では、敏感な動作条件によって早い時間内にターゲットビットレートに到達するのに対し、ビットレート増加方策では、保守的な動作条件により、ビットレート減少方策に比べてターゲットビットレートまでの到達時間が比較的長い。
このように、本発明の実施形態によると、データパケットを管理するバッファのデュレーションに基づいてネットワーク帯域幅を測定し、測定された帯域幅に適応的にデータ送信速度を変更することにより、リアルタイムライブ環境に適した適応的データ送信技術を実現することができる。
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置、コンピュータ格納媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータで読み取り可能な記録媒体に格納されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータで読み取り可能な媒体に記録されてよい。このとき、媒体は、コンピュータによって実行可能なプログラムを継続格納してもよいし、実行またはダウンロードのために一時格納してもよい。また、媒体は、単一または複数のハードウェアが結合した状態の多様な記録手段または格納手段であってよいが、あるコンピュータシステムに直接接続する媒体に限定されるのではなく、ネットワーク上に分散存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD−ROM、DVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含んでプログラム命令が格納されるように構成されたものであってよい。また、他の媒体の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
以上のように、実施形態を、限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
310:バッファ確認部
320:送信速度制御部

Claims (20)

  1. コンピュータで実現される方法であって、
    リアルタイムライブ環境でデータパケットを管理するバッファのデュレーションを確認する段階、および
    前記バッファのデュレーションに基づいてネットワークの帯域幅を測定し、前記帯域幅に適応的にデータ送信速度を制御する段階
    を含む、方法。
  2. 前記確認する段階は、
    周期的に第1時間間隔ごとに前記バッファのデュレーションを確認する、
    請求項1に記載の方法。
  3. 前記制御する段階は、
    前記バッファのデュレーションが第2時間以上であればビットレートを減少させる段階、および
    前記バッファのデュレーションが前記第2時間未満であれば前記ビットレートを増加させる段階
    を含む、請求項1に記載の方法。
  4. 前記減少させる段階は、
    前記バッファのデュレーションが第2時間以上であれば前記ネットワークの可用帯域幅を測定し、前記可用帯域幅に応じて前記ビットレートを減少させる、
    請求項3に記載の方法。
  5. 前記減少させる段階は、
    前記データパケットに含まれるビデオパケットおよびオーディオパケットのうちの少なくとも1つをドロップさせる、
    請求項3に記載の方法。
  6. 前記減少させる段階は、
    前記バッファのデュレーションが第3時間以下である場合、前記データパケットに含まれるビデオパケットおよびオーディオパケットのうちの前記ビデオパケットだけをドロップさせる段階、および
    前記バッファのデュレーションが前記第3時間を超える場合、前記ビデオパケットおよび前記オーディオパケットの両方をドロップさせる段階
    を含む、請求項3に記載の方法。
  7. 前記増加させる段階は、
    前記バッファのデュレーションが前記第2時間未満であれば、ステップ単位で前記ビットレートを増加させる、
    請求項3に記載の方法。
  8. 前記増加させる段階は、
    前記バッファのデュレーションが前記第2時間未満である状態が連続的に設定回数以上持続すれば、ステップ単位で前記ビットレートを増加させる段階
    を含む、請求項3に記載の方法。
  9. 前記増加させる段階は、
    前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が第4時間維持されなければ前記設定回数を増やす段階、および
    前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が前記第4時間維持されれば前記設定回数を減らす段階
    をさらに含む、請求項8に記載の方法。
  10. 前記確認する段階は、
    前記第1時間内に前記バッファのデュレーションを1回確認し、前記第1時間内の前記バッファのデュレーションの全体平均値として計算する、
    請求項2に記載の方法。
  11. 前記確認する段階は、
    前記第1時間内に一定の間隔で前記バッファのデュレーションを複数回確認し、デュレーションの増加または減少速度に応じた加重値を利用して前記バッファのデュレーションを計算する、
    請求項2に記載の方法。
  12. コンピュータに請求項1ないし11のうちのいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
  13. コンピュータで実現されるシステムであって、
    コンピュータが読み取り可能な命令を実行するように実現される少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    リアルタイムライブ環境でデータパケットを管理するバッファのデュレーションを確認するバッファ確認部、および
    前記バッファのデュレーションに基づいてネットワークの帯域幅を測定し、前記帯域幅に適応的にデータ送信速度を制御する送信速度制御部
    を備える、システム。
  14. 前記バッファ確認部は、
    周期的に第1時間間隔ごとに前記バッファのデュレーションを確認する、
    請求項13に記載のシステム。
  15. 前記送信速度制御部は、
    前記バッファのデュレーションが第2時間以上であればビットレートを減少させ、
    前記バッファのデュレーションが前記第2時間未満であれば前記ビットレートを増加させる、
    請求項13に記載のシステム。
  16. 前記送信速度制御部は、
    前記バッファのデュレーションが第2時間以上であれば前記ネットワークの可用帯域幅を測定し、前記可用帯域幅に応じて前記ビットレートを減少させる、
    請求項15に記載のシステム。
  17. 前記送信速度制御部は、
    前記ビットレートを減少させるにあたり、前記データパケットに含まれるビデオパケットおよびオーディオパケットのうちの少なくとも1つをドロップさせる、
    請求項16に記載のシステム。
  18. 前記送信速度制御部は、
    前記バッファのデュレーションが前記第2時間未満であればステップ単位で前記ビットレートを増加させる、
    請求項15に記載のシステム。
  19. 前記送信速度制御部は、
    前記バッファのデュレーションが前記第2時間未満である状態が連続的に設定回数以上持続すれば、ステップ単位で前記ビットレートを増加させる、
    請求項15に記載のシステム。
  20. 前記送信速度制御部は、
    前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が第4時間維持されなければ前記設定回数を増やし、
    前記ビットレートを増加させた後、前記バッファのデュレーションが前記第2時間未満である状態が前記第4時間維持されれば前記設定回数を減らす、
    請求項19に記載のシステム。
JP2017248043A 2016-12-28 2017-12-25 リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム Active JP6542866B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0181134 2016-12-28
KR1020160181134A KR101937247B1 (ko) 2016-12-28 2016-12-28 실시간 라이브 환경에서 버퍼 기반 대역폭 측정 및 적응형 데이터 전송을 위한 방법 및 시스템

Publications (2)

Publication Number Publication Date
JP2018110387A true JP2018110387A (ja) 2018-07-12
JP6542866B2 JP6542866B2 (ja) 2019-07-10

Family

ID=62630324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017248043A Active JP6542866B2 (ja) 2016-12-28 2017-12-25 リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム

Country Status (3)

Country Link
US (1) US10594583B2 (ja)
JP (1) JP6542866B2 (ja)
KR (1) KR101937247B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10486032B2 (en) * 2017-03-09 2019-11-26 Sportsmedia Technology Corporation Systems and methods for tracking sports balls configured with electronic components
US11258877B2 (en) * 2018-07-26 2022-02-22 Netapp, Inc. Methods for managing workloads in a storage system and devices thereof
US10805343B2 (en) * 2018-10-22 2020-10-13 Booz Allen Hamilton Inc. Network security using artificial intelligence and high speed computing
KR102165837B1 (ko) 2019-04-03 2020-10-14 네이버웹툰컴퍼니 주식회사 효과적인 적응형 비트레이트 스트리밍을 위한 방법 및 시스템
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
KR102341322B1 (ko) * 2020-07-02 2021-12-20 네이버 주식회사 실시간 라이브 스트리밍에서의 abp 동작 개선을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
KR102531647B1 (ko) * 2020-12-14 2023-05-11 네이버 주식회사 환경인지 기반 abp 성능 개선을 위한 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
CN117499720A (zh) * 2023-11-10 2024-02-02 广州凯迪云信息科技有限公司 一种用于提高图像直播质量的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006115306A (ja) * 2004-10-15 2006-04-27 Kddi Corp 符号化レートを制御する送信装置、送信プログラム及び送信方法
JP2006140984A (ja) * 2004-10-15 2006-06-01 Kddi Corp 特定メディアデータの破棄を制御する送信装置及び送信プログラム
WO2006077621A1 (ja) * 2005-01-18 2006-07-27 Mitsubishi Denki Kabushiki Kaisha 多重化装置及び受信装置
JP2010245822A (ja) * 2009-04-06 2010-10-28 Hitachi Ltd 動画像符号化装置および動画像符号化方法
JP2014011636A (ja) * 2012-06-29 2014-01-20 Canon Inc 送信装置、送信方法、及びプログラム
JP2014112779A (ja) * 2012-12-05 2014-06-19 Nec Corp データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7274661B2 (en) * 2001-09-17 2007-09-25 Altera Corporation Flow control method for quality streaming of audio/video/media over packet networks
KR101090440B1 (ko) * 2003-12-08 2011-12-06 삼성전자주식회사 데이터 통신 시스템의 수신기에서 버퍼 데이터량 조정장치및 방법, 적응적 클럭 동기부를 갖는 실시간 데이터재생장치 및 방법
US7983160B2 (en) * 2004-09-08 2011-07-19 Sony Corporation Method and apparatus for transmitting a coded video signal
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
KR100931344B1 (ko) 2007-08-31 2009-12-11 에스케이 텔레콤주식회사 Vod 스트리밍 서비스를 제공하는 방법과 그를 위한시스템, 서버 및 사용자 단말기
KR101182550B1 (ko) 2009-01-14 2012-09-12 에스케이플래닛 주식회사 모바일 전송망의 대역폭 측정 시스템 및 그 방법
KR101182518B1 (ko) * 2009-01-22 2012-09-12 에스케이플래닛 주식회사 영상 전송 시스템 및 방법
US9369746B2 (en) * 2009-08-07 2016-06-14 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and method for tuning to a channel of a moving pictures expert group transport stream (MPEG-TS)
KR101739505B1 (ko) * 2010-10-21 2017-06-08 주식회사 케이티 버퍼링 시간을 제어하는 동영상 서비스 제공 방법과 장치 및 이를 위한 이동통신단말
US9374406B2 (en) * 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
US8861932B2 (en) * 2012-05-18 2014-10-14 At&T Mobility Ii Llc Video service buffer management
US8792347B2 (en) * 2012-06-01 2014-07-29 Opera Software Ireland Limited Real-time network monitoring and subscriber identification with an on-demand appliance
EP2979414B1 (en) * 2013-03-29 2019-04-10 Intel IP Corporation Quality-aware rate adaptation techniques for dash streaming
US9462032B2 (en) * 2013-07-24 2016-10-04 Google Inc. Streaming media content
US9686332B1 (en) * 2014-12-19 2017-06-20 Amazon Technologies, Inc. Live stream manifests for on demand content

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006115306A (ja) * 2004-10-15 2006-04-27 Kddi Corp 符号化レートを制御する送信装置、送信プログラム及び送信方法
JP2006140984A (ja) * 2004-10-15 2006-06-01 Kddi Corp 特定メディアデータの破棄を制御する送信装置及び送信プログラム
WO2006077621A1 (ja) * 2005-01-18 2006-07-27 Mitsubishi Denki Kabushiki Kaisha 多重化装置及び受信装置
JP2010245822A (ja) * 2009-04-06 2010-10-28 Hitachi Ltd 動画像符号化装置および動画像符号化方法
JP2014011636A (ja) * 2012-06-29 2014-01-20 Canon Inc 送信装置、送信方法、及びプログラム
JP2014112779A (ja) * 2012-12-05 2014-06-19 Nec Corp データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム

Also Published As

Publication number Publication date
US20180183696A1 (en) 2018-06-28
US10594583B2 (en) 2020-03-17
KR20180077379A (ko) 2018-07-09
KR101937247B1 (ko) 2019-01-14
JP6542866B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP2018110387A (ja) リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム
US11310331B2 (en) Optimizing user interface data caching for future actions
US9876745B2 (en) Systems and methods for transferring message data
KR102080147B1 (ko) 적응형 데이터 전송을 위한 방법 및 시스템
US7856501B2 (en) Network traffic prioritization
JP6904064B2 (ja) タスク配備プログラム、タスク配備方法、およびタスク配備装置
US9152220B2 (en) Incremental preparation of videos for delivery
CN109660467B (zh) 用于控制流量的方法和装置
JP2012100264A (ja) データ送信方法及び装置
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
US9413672B2 (en) Flow control for network packets from applications in electronic devices
US20190319901A1 (en) Scalable, real-time messaging system
KR102531647B1 (ko) 환경인지 기반 abp 성능 개선을 위한 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
JP5982436B2 (ja) 画面転送サーバ装置、および画面転送方法
KR102341322B1 (ko) 실시간 라이브 스트리밍에서의 abp 동작 개선을 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
US10990318B2 (en) Method and system for receiving a data file
US11895355B2 (en) Method and system for effective adaptive bitrate streaming
TWI776287B (zh) 雲端檔案存取裝置及方法
KR101970894B1 (ko) 저전력 스트리밍을 위한 방법 및 시스템
KR20220028326A (ko) 트래픽 제어 정보를 이용하여 미디어를 재생하는 방법과 시스템 및 컴퓨터 판독가능한 기록 매체

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190314

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190613

R150 Certificate of patent or registration of utility model

Ref document number: 6542866

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250