JP2020043583A - サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置 - Google Patents

サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置 Download PDF

Info

Publication number
JP2020043583A
JP2020043583A JP2019206791A JP2019206791A JP2020043583A JP 2020043583 A JP2020043583 A JP 2020043583A JP 2019206791 A JP2019206791 A JP 2019206791A JP 2019206791 A JP2019206791 A JP 2019206791A JP 2020043583 A JP2020043583 A JP 2020043583A
Authority
JP
Japan
Prior art keywords
queue
bit rate
multimedia data
switching
queues
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
JP2019206791A
Other languages
English (en)
Other versions
JP7053556B2 (ja
Inventor
リー,ヨンシン
Yongxing Li
シェン,フイフェン
Huifeng Shen
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2020043583A publication Critical patent/JP2020043583A/ja
Application granted granted Critical
Publication of JP7053556B2 publication Critical patent/JP7053556B2/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
    • 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
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • 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/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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/762Media network packet handling at the source 
    • 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
    • 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/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/26208Content 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 the scheduling operation being performed under constraints
    • 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

Landscapes

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

Abstract

【課題】サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置を提供する。【解決手段】マルチビットレートストリーミングメディアをアダプティブに提供する方法は、ネットワーク品質情報を取得し、ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択する。ここで、異なるキューには、同じメディアコンテンツに対する異なるビットレートのマルチメディアデータフレームが記憶されている。そして、送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキューにおける、配布したマルチメディアデータフレームと同じメディアコンテンツを有するマルチメディアデータフレームを削除する。【選択図】図1

Description

本発明は、ネットワーク技術に関し、特にサーバにおいてマルチビットレートストリー
ミングメディアをアダプティブに提供するための方法及びサーバにおいてマルチビットレ
ートストリーミングメディアをアダプティブに提供するための装置に関する。
ストリーミングメディア技術を用いてネットワークにおいてストリーミングの方式でオ
ーディオやビデオ等のメディアコンテンツを伝送することできる。ストリーミングメディ
ア技術はリアルタイム性が高いという特徴を有するため、ビデオオンデマンド、ビデオ会
議、遠隔教育、遠隔医療及びライブオンライン等のシステムに幅広く適用されている。
ストリーミングメディアサーバがユーザーにマルチビットレートストリーミングメディ
アサービスを提供する方式は、通常、以下の2種類を含む。
方式1、ユーザーはネットワークの状況に応じて「スムーズ」、「クリア」又は「HD
」等の再生オプションを選択し、サーバはユーザーの選択した再生オプションに応じたビ
ットレートのメディアストリームを当該ユーザーに提供する。
方式2、HLS(HTTP Live Streaming、HTTPライブストリー
ミング)を用いてユーザーにマルチビットレートストリーミングメディアをアダプティブ
に提供し、具体的には、ストリーミングメディアサーバによってユーザーに配布されるメ
ディアストリームはビデオクリップからなり、各ビデオクリップは10秒のメディアコン
テンツを再生できるマルチメディアデータを含み、ストリーミングメディアサーバはネッ
トワークの品質に応じて異なるビットレートのメディアストリームをユーザーにアダプテ
ィブに提供することができる。
発明者は、本発明を実現する過程で、上記方式1ではユーザーが選択した再生オプショ
ンに応じたビットレートのメディアストリームをユーザーにプッシュするため、ユーザー
にマルチビットレートストリーミングメディアをアダプティブに提供することができず、
知能レベルが不足しており、また、ユーザーは一般的に再生がカクカクしたりモザイクが
生じたりする等の再生異常が発生する場合に再生オプションを変更するため、上記方式1
ではユーザーエクスペリエンスを損なうことがある。上記方式2では方式1の技術的課題
を解決できるが、ビデオクリップの再生時間によってビットレート切り替えに大きな遅延
を生じさせる。
本発明は、サーバにおいてマルチビットレートストリーミングメディアをアダプティブ
に提供するための方法及び装置を提供することを目的とする。
本発明の一態様によれば、サーバにおいてマルチビットレートストリーミングメディア
をアダプティブに提供するための方法を提供し、この方法は、前記ネットワーク品質情報
に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1
つのキューを送信キューとして選択するステップと、前記送信キューからマルチメディア
データフレームを読み出して配布し、ほかのキューにおける、配布したマルチメディアデ
ータフレームのメディアコンテンツと同じメディアコンテンツを有するマルチメディアデ
ータフレームのいずれもを削除するステップと、を含んでおり、ここで、異なるキューに
おいて、同じメディアコンテンツに対する異なるビットレートのマルチメディアデータフ
レームが記憶された。
本発明の別の態様によれば、サーバにおいてマルチビットレートストリーミングメディ
アをアダプティブに提供するための装置を提供し、この装置は、ネットワーク品質情報を
取得するための装置と、前記ネットワーク品質情報に基づいてビットレート切り替えを必
要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択す
るための装置と、前記送信キューからマルチメディアデータフレームを読み出して配布し
、ほかのキューにおける、配布したマルチメディアデータフレームのメディアコンテンツ
と同じメディアコンテンツを有するマルチメディアデータフレームのいずれもを削除する
ための装置と、を備えており、ここで、異なるキューにおいて、同じメディアコンテンツ
に対する異なるビットレートのマルチメディアデータフレームが記憶された。
従来技術に比べて、本発明は以下の利点を有する。本発明は、複数のキューを設定し、
各キューに対応するビットレートを異ならせることで、同じメディアコンテンツの、ビッ
トレートが異なるマルチメディアデータフレームを異なるキューにそれぞれ設定すること
ができ、それにより、ネットワーク品質情報に基づいてビットレート切り替えを必要とす
ると決定した場合に、本発明はすべてのキューから現在のネットワーク品質により適合す
るビットレートに対応する1つのキューを選択し、当該選択したキューからマルチメディ
アデータフレームを読み出して配布し、ビットレート切り替えを迅速に実現することがで
きる。本発明は、現在配布しているマルチメディアデータフレームに対して、各キューに
おける対応するマルチメディアデータフレームを削除して、各キューの先頭のマルチメデ
ィアデータフレームのいずれもを同じメディアコンテンツ対する異なるビットレートのマ
ルチメディアデータフレームにすることにより、いつビットレート切り替えを必要とする
と決定しても、ビットレート切り替え動作によるメディアコンテンツの連続性を損なうこ
となく、ビットレート切り替えを迅速に実現できる。上記からわかるように、本発明に係
る技術案はアダプティブビットレート切り替えを実現するとともに、ビットレート切り替
えの遅延を低減させ、迅速かつシームレスなアダプティブビットレート切り替えを実現で
きる。
次に、以下の図面を参照しながら非限定的な実施例を詳細に説明することにより、本発
明の他の特徴、目的および利点はより明らかになる。
本発明の実施例1に係るサーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法のフローチャートである。 本発明の実施例2に係るライブビデオの応用場面において、ストリーミングメディアサーバがユーザーにマルチビットレートストリーミングメディアをアダプティブに提供する方法の概略図である。 本発明の実施例4に係るサーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための装置の構成概略図である。
図面において、同じ又は類似する符号は同じ又は類似する部品を示す。
例示的な実施例をさらに詳しく検討する前に、いくつかの例示的な実施例がフローチャ
ートとして記述される処理又は方法として説明されることを理解すべきである。フローチ
ャートは各操作を順序に従う処理として示すが、多くの操作は並行して、付随して又は同
時に実行可能である。また、各操作の順序は再配置可能である。操作が完成した際に前記
処理を終止できるが、図面に含まれない追加ステップをさらに含んでもよい。前記処理は
、方法、関数、ルーチン、サブルーチン、サブプログラムなどに対応可能である。
文脈に言及される「コンピュータ機器」は「コンピュータ」とも言われ、所定のプログ
ラム又は命令を実行することによって数値計算及び/又は論理計算などの所定処理過程を
実行できるインテリジェント電子機器であり、プロセッサやメモリを含んでもよく、所定
処理過程が、プロセッサがメモリに予め記憶された命令を実行することによって実行され
るか、ASIC、FPGA、DSPなどのハードウェアによって実行されるか、又は、上
記両方の組み合わせによって実現される。コンピュータ機器はサーバ、パソコン、ノート
パソコンなどを含むが、これらに限らない。
前記コンピュータ機器はユーザ機器とネットワーク機器を含む。前記ユーザ機器はコン
ピュータ、スマートフォン、PDAなどを含むが、これらに限らず、前記ネットワーク機
器は単一のネットワークサーバ、複数のネットワークサーバで構成されるサーバグループ
、或いはクラウドコンピューティング(Cloud Computing)に基づいて大
量のコンピュータ又はネットワークサーバで構成されるクラウドを含むが、これらに限ら
ず、ここで、クラウドコンピューティングは分散型コンピューティングの一種であり、疎
結合される複数のコンピュータセットで構成されるスーパーバーチャルコンピュータであ
る。前記コンピュータ機器は、単独に動作することによって本発明を実現してもよく、ネ
ットワークにアクセスしてネットワークにおける他のコンピュータ機器とのインタラクテ
ィブ操作によって本発明を実現してもよい。前記コンピュータ機器の位置するネットワー
クはインターネット、広域ネットワーク、メトロポリタンエリアネットワーク、ローカル
エリアネットワーク、VPNネットワークなどを含むが、これらに限らない。
なお、前記ユーザ機器、ネットワーク機器及びネットワークなどは例示的なものに過ぎ
ず、別の従来又は今後の出現可能なコンピュータ機器やネットワークは本発明に適用でき
る限り、本発明の保護範囲にも包含されるべきであり、援用によって本発明に組み込まれ
る。
以下に検討する方法(一部はフローチャートとして示される)はハードウェア、ソフト
ウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語又はそ
れらの任意の組み合わせによって実現可能である。ソフトウェア、ファームウェア、ミド
ルウェア又はマイクロコードによって実施する場合に、必要なタスクを実施するためのプ
ログラムコード又はコードスニペットはデバイス又はコンピュータ読み取り可能な媒体(
例えば記憶媒体)に記憶されてもよい。(1つ又は複数の)プロセッサは必要なタスクを
実行できる。
ここで開示する具体的な構造や機能の詳細はただ代表的なものに過ぎず、且つ本発明の
例示的な実施例を説明することを目的とする。本発明は、多くの代替形態によって具体的
に実現されてもよく、ここで説明する実施例のみに制限されると解釈されない。
なお、各ユニットを説明する時に専門用語「第1」、「第2」などを使用するが、これ
らのユニットはこれらの専門用語に制限されないことを理解すべきである。1つのユニッ
トと別のユニットを区別するために、これらの専門用語が使用される。例えば、例示的な
実施例の範囲を脱逸せずに、第1ユニットは第2ユニットと称されてもよく、同様に、第
2ユニットは第1ユニットと称されてもよい。ここで使用する専門用語「及び/又は」は
1つ又は複数の列記した関連項目の任意の組み合わせと全ての組み合わせを含む。
なお、1つのユニットが別のユニットに「接続」又は「結合」されるように説明する際
に、前記別のユニットに直接接続又は結合されてもよく、又は中間ユニットが存在しても
よい。これに対して、1つのユニットが別のユニットに「直接接続」又は「直接結合」さ
れるように説明する際に、中間ユニットが存在しない。類似して、ユニット同士の関係を
説明するための他の用語(例えば「…の間に位置する」と「…の間に直接位置する」、「
…と隣接する」と「…と直接隣接する」)の意味も同様である。
ここで使用する専門用語は具体的な実施例を説明するに過ぎず、例示的な実施例を制限
することを意図しない。文脈に断らない限り、使用する単数形式の「1つ」、「1項」は
複数を含むことも意図する。さらに、ここで使用する専門用語 「含む」及び/又は「包
含」は記述する特徴、整数、ステップ、操作、ユニット及び/又は部品の存在を示し、1
つ又は複数の他の特徴、整数、ステップ、操作、ユニット、部品及び/又はその組み合せ
の存在や追加を排除しないことを理解すべきである。
さらに、いくつかの置換実施形態では、言及した機能/動作は図面に示される順序と異
なる順序で発生してもよい。例えば、かかる機能/動作によって、相次いで示す2枚の図
については、実際に大体同時に実行されてもよく、時々逆の順序で実行されてもよい。
以下、図面を参照して本発明をより詳細に説明する。
[実施例1:サーバにおいてマルチビットレートストリーミングメディアをアダプティブ
に提供するための方法]
本実施例では、ビットレートと同数のキューを用いてユーザーにマルチビットレートス
トリーミングメディアサービスをアダプティブに提供する。本実施例の方法はストリーミ
ングメディアサーバにより実行される。本実施例では、キューとは、論理上で複数のマル
チメディアデータフレームを順に記憶できる記憶空間であり、例えば、本実施例に記載の
キューはリンクリスト又はFIFO(First Input First Outpu
t、先入れ先出し)キュー等によって実現される。
本実施例に係るサーバにおいてマルチビットレートストリーミングメディアをアダプテ
ィブに提供するための方法のプロセスは図1に示される。図1では、本実施例の方法は主
にステップS100、S110及びS120を含む。
S100:ネットワーク品質情報を取得する。
例として、本実施例に係るネットワーク品質情報は、ネットワーク伝送遅延、パケット
ロス率及びネットワークジッタ情報等を含む。好ましくは、本実施例に係るネットワーク
品質情報は、キューにおけるデータの記憶状況を示す情報であるキューのデータ充填情報
で表されてもよい。
例として、本実施例におけるキューのデータ充填情報は具体的には、キューに記憶され
たマルチメディアデータフレームが占有する記憶容量とキューの総記憶容量との比(比率
又は百分率等とも呼ばれ、且つキューのデータ充填率と総称される)であってもよく、キ
ューのデータ充填情報は具体的にはキューに記憶されたマルチメディアデータフレームが
占有する記憶容量又はキューにおける未使用記憶容量などネットワーク品質を反映できる
キューパラメータであってもよい。
例として、本実施例は定時(例えば、1秒又は1秒未満等)にすべてのキューのうちの
、いずれかのキューのデータ充填情報を取得して、当該キューのデータ充填情報に基づい
て現在のネットワーク状態をただちに取得することができる。上記いずれかのキューはラ
ンダムに決定した1つのキューであってもよく、予め決定された1つの一定のキューであ
ってもよく、すなわち、本実施例はあるキューのデータ充填情報をランダムに取得しても
よく、あるキュー(例えば、1番目のキュー又は2番目のキュー)のデータ充填情報を固
定して取得してもよい。好ましくは、本実施例はキューのうち送信キューのデータ充填情
報(例えば、キューのデータ充填率)を定時に取得して、送信キューのデータ充填情報に
基づいて、現在のネットワーク状態をただちに取得することができる。本実施例における
送信キューとは、現在端末装置に送信されているマルチメディアデータフレームが属する
キューであり、つまり、本実施例は異なるビットレートのマルチメディアデータフレーム
に対して対応するキューをそれぞれ設定し、各キューにおいて対応するビットレートのマ
ルチメディアデータフレームが記憶されるが、任意の時点に対して、1つのキューに記憶
されるマルチメディアデータフレームのみが端末装置に送信されており、当該キューは送
信キューである。
S110:ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定
した場合に、すべてのキューから1つのキューを送信キューとして選択する。
例として、本実施例では、それぞれ1種類のビットレートに対応する複数のキューが設
定され、異なるキューが異なるビットレートに対応する。各キューにマルチメディアデー
タフレームが記憶され、すべてのキューにおける先頭のマルチメディアデータフレームに
対応するメディアコンテンツが完全に同一である。好ましくは、すべてのキューに記憶さ
れたマルチメディアデータフレームのメディアコンテンツは完全に同一であり、すなわち
、メディアコンテンツの点から見れば、すべてのキューに記憶されたマルチメディアデー
タフレームは同期であり、つまり、同じメディアコンテンツについては、異なるビットレ
ートのマルチメディアデータフレームが異なるキューに設定される。本実施例では、メデ
ィアコンテンツはビデオ画面であってもよく、同じメディアコンテンツは同一ビデオ画面
である。
例として、本実施例では、通常、すべてのキューの記憶容量は異なるが、すべてのキュ
ーの記憶空間に記憶可能なマルチメディアデータフレームの数は通常同じである。本実施
例では、すべてのキューの記憶空間に記憶可能なマルチメディアデータフレームの数が同
じである場合に、異なるキューに異なるビットレートのマルチメディアデータフレームが
記憶され、異なるビットレートのマルチメディアデータフレームが占有する記憶空間が異
なるため、本実施例ではすべてのキューの記憶容量が異なり、且つ高ビットレートに対応
するキューの記憶容量が低ビットレートに対応するキューの記憶容量より高い。勿論、本
実施例ではすべてのキューは同一の記憶空間を有してもよい。各キューの記憶容量は必要
に応じて設定してもよいが、各キューの記憶容量は2つのマルチメディアデータフレーム
が占有する記憶空間以上であり、すなわち、各キューは少なくとも2つのマルチメディア
データフレームを記憶することができる。本実施例では、マルチメディアデータフレーム
はキーフレーム及び当該キーフレームに対応するすべての非キーフレームを含む。
例として、本実施例では、各キューに記憶されたマルチメディアデータフレームはGO
P(Group of Pictures、グループオブピクチャ)構造であってもよく
、本実施例のマルチメディアデータフレームはMPEG(Moving Picture
Experts Group、動画専門家集団)符号化方式に基づくマルチメディアデ
ータフレームを用いる場合に、1つのIフレーム(Intra-coded Frame)(すなわち、内
部符号化フレームであり、キーフレームとも呼ばれる)、複数のPフレーム(Predicted
Frame)(すなわち、順方向予測フレーム)及び複数のBフレーム(Bi-directional Pred
icted Frame)(すなわち、双方向補間フレーム)から1つのGOPを形成し、1つのG
OPが1つのマルチメディアデータフレームである。本実施例では、マルチメディアデー
タフレームのキーフレーム(例えば、Iフレーム)は通常1つの完全な画面であり、ほか
のフレーム(例えば、Pフレーム及びBフレーム)は主としてキーフレームに対する変化
を記録するためのものであり、キーフレームがない場合に、Pフレーム及びBフレームが
復号化できない。
例として、本実施例の異なるキューに記憶されたすべてのマルチメディアデータフレー
ムは同一の符号化方式を有し、例えば、異なるキューに記憶されたすべてのマルチメディ
アデータフレームは同一のGOP構造を有する。また、通常、異なるキューに記憶された
マルチメディアデータフレームは同期更新され、例えば、同じメディアコンテンツに対す
るマルチメディアデータフレームを同時削除し、また、各キューにおける、同じメディア
コンテンツに対するマルチメディアデータフレームを同時削除するとともに、各キューに
同じメディアコンテンツに対するマルチメディアデータフレームを同期追加する。勿論、
本実施例では、非同期方式で各キューに同じメディアコンテンツに対するマルチメディア
データフレームを追加してもよいが、すべてのキューにおける先頭のマルチメディアデー
タフレームに対応するメディアコンテンツが完全に同一であることを確保するように、同
じメディアコンテンツに対するマルチメディアデータフレームを同時削除しなければなら
ない。
例として、本実施例の各キューに同じメディアコンテンツに対するマルチメディアデー
タフレームを同期追加する具体例は、本実施例では、ビットレートごとに1つのキャッシ
ュを設定し、例えばマルチメディアデータフレームがGOP構造である場合に、本実施例
はビットレートごとに1つのGOPキャッシュをそれぞれ設定する。まず、符号化処理済
みの各マルチメディアデータフレーム(例えば、MPEG符号化処理済みの各マルチメデ
ィアデータフレーム)をトランスコード処理して、複数の異なるビットレートのマルチメ
ディアデータフレームを取得し、次に、異なるビットレートのマルチメディアデータフレ
ームを対応するGOPキャッシュに同時に書き込み、例えば、各GOPキャッシュが空(
GOPキャッシュにおけるマルチメディアデータフレームがキューに充填されてGOPキ
ャッシュが空の状態になってもよく、クリア操作によってGOPキャッシュを空の状態に
させてもよい)の状態である場合に、トランスコード処理済みの異なるビットレートのマ
ルチメディアデータフレームを対応するGOPキャッシュに同時に書き込み、その後、各
GOPキャッシュから同数のマルチメディアデータフレームを同時に読み出し、読み出し
た同数のマルチメディアデータフレームを対応するキューにそれぞれ記憶し、それにより
各キューに同じメディアコンテンツに対するマルチメディアデータフレームを同期追加さ
せる。
例として、本実施例では、ネットワーク品質情報はキューのデータ充填率を含み、すべ
てのキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレームの数が同一
である場合に、ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決
定する過程は、すべてのキューに対して2つの統一された閾値、すなわち、第1閾値及び
第2閾値を予め設定し、予め保守された情報から各キューの総記憶容量を取得し、すべて
のキューのうちのいずれかのキューに現在記憶されているすべてのマルチメディアデータ
フレームが占有する総記憶容量を定時に取得し(例えば、送信キューに現在記憶されてい
るすべてのマルチメディアデータフレームが占有する総記憶容量を定時に取得する)、次
に、上記取得したキューに現在記憶されているすべてのマルチメディアデータフレームが
占有する総記憶容量と当該キューの総記憶容量に基づいて当該キューのデータ充填率を計
算し、当該キューのデータ充填率が第1閾値よりも大きいと判定した場合に、低ビットレ
ートへの切り替えを必要とすると決定し、当該キューのデータ充填率が第2閾値よりも小
さい判定した場合に、高ビットレートへの切り替えを必要とすると決定する。上記第1閾
値は通常、第2閾値よりも遥かに大きく、例えば、第1閾値が80%であり、第2閾値が
20%である。
例として、本実施例では、ネットワーク品質情報はキューのデータ充填率を含み、すべ
てのキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレームの数が異な
る場合に、ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定す
る過程は、予め各キューに2つの閾値をそれぞれ設定し、すなわち、各キューがそれぞれ
の第1閾値と第2閾値とに対応し、通常、異なるキューのそれぞれに対応する第1閾値は
異なり、同様に、通常、異なるキューのそれぞれに対応する第2閾値も異なる。予め保守
された情報から各キューの総記憶容量及び各キュー自体に対応する第1閾値と第2閾値を
取得し、すべてのキューのうちのいずれかのキューに現在記憶されているすべてのマルチ
メディアデータフレームが占有する総記憶容量を定時に取得し(例えば、送信キューに現
在記憶されているすべてのマルチメディアデータフレームが占有する総記憶容量を定時に
取得する)、上記取得したキューに現在記憶されているすべてのマルチメディアデータが
占有する総記憶容量と当該キューの総記憶容量とに基づいて当該キューのデータ充填率を
計算し、当該キューのデータ充填率が当該キューに対応する第1閾値よりも大きいと判定
した場合に、低ビットレートへの切り替えを必要とすると決定し、当該キューのデータ充
填率が当該キューに対応する第2閾値よりも小さいと判定した場合に、高ビットレートへ
の切り替えを必要とすると決定する。上記第1閾値は通常、第2閾値よりも遥かに大きく
、例えば、第1閾値が80%であり、第2閾値が20%である。
例として、本実施例では、ネットワーク品質情報はキューに現在記憶されているすべて
のマルチメディアデータフレームが占有する総記憶容量を含む場合に、ネットワーク品質
情報に基づいてビットレート切り替えを必要とすると決定する過程は具体的には、すべて
のキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレームの数が同一で
あるか否かにかかわらず、予め各キューに2つの閾値をそれぞれ設定し、すなわち、各キ
ューがそれぞれの第3閾値及び第4閾値に対応し、且つ、通常、異なるキューに対応する
第3閾値は異なり、同様に、通常、異なるキューに対応する第4閾値も異なる。予め保守
された情報から各キューにそれぞれ対応する第3閾値及び第4閾値を取得し、すべてのキ
ューのうちのいずれかのキューに現在記憶されているすべてのマルチメディアデータフレ
ームが占有する総記憶容量を定時に取得し(例えば、送信キューに現在記憶されているす
べてのマルチメディアデータフレームが占有する総記憶容量を定時に取得する)、上記取
得したキューに現在記憶されているすべてのマルチメディアデータフレームが占有する総
記憶容量と、当該キューに対応する第3閾値及び第4閾値とを比較し、比較結果として、
上記取得したキューに現在記憶されているすべてのマルチメディアデータフレームが占有
する総記憶容量が当該キューに対応する第3閾値よりも大きい場合に、低ビットレートへ
の切り替えを必要とすると決定し、比較結果として、上記取得したキューに現在記憶され
ているすべてのマルチメディアデータフレームが占有する総記憶容量が当該キューに対応
する第4閾値よりも小さい場合に、高ビットレートへの切り替えを必要とすると決定する
。上記第3閾値は通常、第4閾値よりも遥かに大きい。
例として、本実施例では、ネットワーク品質情報はキューの現在の未使用記憶容量を含
む場合に、ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定す
る過程は、すべてのキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレ
ームの数が同一であるか否かにかかわらず、予め各キューに2つの閾値をそれぞれ設定し
、すなわち、各キューがそれぞれの第5閾値及び第6閾値に対応し、且つ、通常、異なる
キューにそれぞれ対応する第5閾値は異なり、同様に、通常、異なるキューにそれぞれ対
応する第6閾値も異なる。予め保守された情報から各キューにそれぞれ対応する第5閾値
及び第6閾値を取得し、すべてのキューのうちのいずれかのキューの現在の未使用記憶容
量を定時に取得し(例えば、送信キューの現在の未使用記憶容量を定時に取得する)、上
記取得したキューの現在の未使用記憶容量と当該キューに対応する第5閾値及び第6閾値
とを比較し、比較結果として、上記取得したキューの現在の未使用記憶容量が上記取得し
た第5閾値よりも大きい場合に、高ビットレートへの切り替えを必要とすると決定し、比
較結果として、上記取得したキューの現在の未使用記憶容量が第6閾値よりも小さい場合
に、低ビットレートへの切り替えを必要とすると決定する。上記第5閾値は通常、第6閾
値よりも遥かに小さい。
例として、ネットワークジッタ等に起因する頻繁なビットレート切り替えの現象を回避
するために、本実施例では、ビットレート切り替えを必要とするか否かを判定する過程で
、頻繁なビットレート切り替えを抑える制限条件を追加し、つまり、本実施例は、ネット
ワーク品質情報及び予め設定されたビットレート切り替えの時間制限条件に基づいてビッ
トレート切り替えを必要とすると決定することができる。上記予め設定されたビットレー
ト切り替えの時間制限条件は具体的には、現在の時点と前回のビットレート切り替え時点
との間隔が所定時間を超えることであってもよい。
例として、本実施例では、ネットワーク品質情報及び予め設定されたビットレート切り
替えの時間制限条件に基づいてビットレート切り替えを必要とすると決定する具体例1に
ついて、すべてのキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレー
ムの数が同一である場合に、すべてのキューに対して2つの統一された閾値、すなわち、
第1閾値及び第2閾値を予め設定し、予め保守された情報からキューの総記憶容量、所定
時間及び前回のビットレート切り替え時点を取得し、すべてのキューのうちのいずれかの
キューに現在記憶されているすべてのマルチメディアデータフレームが占有する総記憶容
量を定時に取得し、次に、上記取得したいずれかのキューに現在記憶されているすべての
マルチメディアデータフレームが占有する総記憶容量と当該キューの総記憶容量とに基づ
いてキューのデータ充填率を計算し、当該データ充填率が第1閾値よりも大きく且つ現在
の時点と前回のビットレート切り替え時点との差が所定時間を超えると判定した場合に、
低ビットレートへの切り替えを必要とすると決定し、当該データ充填率が第2閾値よりも
小さく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超えると判
定した場合に、高ビットレートへの切り替えを必要とすると決定する。
例として、本実施例では、ネットワーク品質情報及び予め設定されたビットレート切り
替えの時間制限条件に基づいてビットレート切り替えを必要とすると決定する具体例2に
ついて、すべてのキューのそれぞれの記憶空間に記憶可能なマルチメディアデータフレー
ムの数が異なる場合に、予め各キューに対して2つの閾値をそれぞれ設定し、すなわち、
各キューがそれぞれの第1閾値及び第2閾値に対応し、通常、異なるキューのそれぞれに
対応する第1閾値は異なり、同様に、通常、異なるキューのそれぞれに対応する第2閾値
も異なる。予め保守された情報から各キューの総記憶容量、各キューにそれぞれ対応する
第1閾値及び第2閾値、所定時間及び前回のビットレート切り替え時点を取得し、すべて
のキューのうちのいずれかのキューに現在記憶されているすべてのマルチメディアデータ
フレームが占有する総記憶容量を定時に取得し(好ましくは、送信キューに現在記憶され
ているすべてのマルチメディアデータフレームが占有する総記憶容量を定時に取得する)
、上記取得したキューに現在記憶されているすべてのマルチメディアデータが占有する総
記憶容量と当該キューの総記憶容量とに基づいてキューのデータ充填率を計算し、当該デ
ータ充填率が当該キューに対応する第1閾値よりも大きく且つ現在の時点と前回のビット
レート切り替え時点との差が所定時間を超えると判定した場合に、低ビットレートへの切
り替えを必要とすると決定し、当該データ充填率が当該キューに対応する第2閾値よりも
小さく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超えると判
定する場合に、高ビットレートへの切り替えを必要とすると決定する。上記第1閾値は通
常、第2閾値よりも遥かに大きく、例えば、第1閾値が80%、第2閾値が20%である
例として、本実施例では、ネットワーク品質情報及び予め設定されたビットレート切り
替えの時間制限条件に基づいてビットレート切り替えを必要とすると決定する具体例3に
ついて、予め各キューに対して2つの閾値をそれぞれ設定し、すなわち、各キューがそれ
ぞれの第3閾値及び第4閾値に対応し、通常、異なるキューに対応する第3閾値は異なり
、同様に、通常、異なるキューに対応する第4閾値も異なる。予め保守された情報から各
キューにそれぞれ対応する第3閾値及び第4閾値、所定時間及び前回のビットレート切り
替え時点を取得し、すべてのキューのうちのいずれかのキューに現在記憶されているすべ
てのマルチメディアデータフレームが占有する総記憶容量を定時に取得し(好ましくは、
送信キューに現在記憶されているすべてのマルチメディアデータフレームが占有する総記
憶容量を定時に取得する)、上記取得したキューに現在記憶されているすべてのマルチメ
ディアデータフレームが占有する総記憶容量と、当該キューに対応する第3閾値及び第4
閾値とを比較し、比較結果として、上記取得したキューに現在記憶されているすべてのマ
ルチメディアデータフレームが占有する総記憶容量が当該キューに対応する第3閾値より
も大きく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超える場
合に、低ビットレートへの切り替えを必要とすると決定し、比較結果として上記取得した
キューに現在記憶されているすべてのマルチメディアデータフレームが占有する総記憶容
量が当該キューに対応する第4閾値よりも小さく且つ現在の時点と前回のビットレート切
り替え時点との差が所定時間を超える場合に、高ビットレートへの切り替えを必要とする
と決定する。上記第3閾値は通常、第4閾値よりも遥かに大きい。
例として、本実施例では、ネットワーク品質情報及び予め設定されたビットレート切り
替えの時間制限条件に基づいてビットレート切り替えを必要とすると決定する具体例4に
ついて、予め各キューに対して2つの閾値をそれぞれ設定し、すなわち、各キューがそれ
ぞれの第5閾値及び第6閾値に対応し、通常、異なるキューにそれぞれ対応する第5閾値
は異なり、同様に、通常、異なるキューにそれぞれ対応する第6閾値も異なる。予め保守
された情報から各キューにそれぞれ対応する第5閾値及び第6閾値、所定時間及び前回の
ビットレート切り替え時点を取得し、すべてのキューのうちのいずれかのキューの現在の
未使用記憶容量を定時に取得し(好ましくは、送信キューの現在の未使用記憶容量を定時
に取得する)、上記取得したキューの現在の未使用記憶容量と当該キューに対応する第5
閾値及び第6閾値とを比較し、比較結果として、上記取得したキューの現在の未使用記憶
容量が上記取得した第5閾値よりも大きく且つ現在の時点と前回のビットレート切り替え
時点との差が所定時間を超える場合に、高ビットレートへの切り替えを必要とすると決定
し、比較結果として、上記取得したキューの現在の未使用記憶容量が第6閾値よりも小さ
いく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超える場合に
、低ビットレートへの切り替えを必要とすると決定する。上記第5閾値は通常、第6閾値
よりも遥かに小さい。
なお、本実施例では、低ビットレートへの切り替えを必要とすると決定した場合に、切
り替え前の送信キューのビットレートが既にすべてのキューのビットレートのうちの最低
ビットレートであれば、切り替え後の新たな送信キューが依然として切り替え前の送信キ
ューであり、切り替え前の送信キューのビットレートがすべてのキューのビットレートの
うちの最低ビットレートでなければ、ビットレートが切り替え前の送信キューのビットレ
ートより低いすべてのキューから1つのキューを送信キューとして選択し、例えばビット
レートが切り替え前の送信キューのビットレートよりも低いすべてのキューにおいてビッ
トレートが最も低いキューを送信キューとして選択する。本実施例では、高ビットレート
への切り替えを必要とすると決定した場合に、切り替え前の送信キューのビットレートが
既にすべてのキューのビットレートのうちの最高ビットレートであれば、切り替え後の新
たな送信キューが依然として切り替え前の送信キューであり、切り替え前の送信キューの
ビットレートがすべてのキューのビットレートのうちの最高ビットレートでなければ、ビ
ットレートが切り替え前の送信キューのビットレートよりも高いすべてのキューから1つ
のキューを送信キューとして選択し、例えばビットレートが切り替え前の送信キューのビ
ットレートよりも高いすべてのキューにおいてビットレートが最も高いキューを送信キュ
ーとして選択する。
S120:送信キューからマルチメディアデータフレームを読み出して配布し、ほかの
キューにおける、配布したマルチメディアデータフレームのメディアコンテンツと同じメ
ディアコンテンツを有するマルチメディアデータフレームのいずれもを削除する。
例として、ビットレート切り替えを必要としない場合に、本実施例では、常に送信キュ
ーからマルチメディアデータフレームを読み出して配布し、送信キューから読み出して配
布したマルチメディアデータフレームを送信キューから削除し、ビットレート切り替えを
必要とすると決定した場合に、本実施例では、切り替え後の新たな送信キューからマルチ
メディアデータフレームを読み出して配布すべきである。
例として、マルチメディアデータフレームが送信キューから読み出されて配布される時
に、本実施例では、すべてのキューにおける先頭のマルチメディアデータフレームが常に
同じメディアコンテンツに対応することを確保するように、ほかのキュー(すなわち、す
べてのキューにおける送信キュー以外のキュー)中の対応するマルチメディアデータフレ
ームを同期削除すべきである。
例として、ビットレート切り替えを必要とすると決定した場合に、本実施例では、切り
替え後の新たな送信キューからマルチメディアデータフレームを読み出して配布するタイ
ミングに注意する必要があり、具体的には、ビットレート切り替えを必要とすると決定し
た場合に、本実施例では、切り替え前の送信キューからキーフレーム(例えば、Iフレー
ム)を読み出す必要がある時に、切り替え前の送信キューからマルチメディアデータフレ
ームを読み出して配布することを停止し、切り替え後の送信キューからマルチメディアデ
ータフレームを読み出して配布する。1つの具体例として、ビットレート切り替えを必要
とすると決定した場合に、現在切り替え前の送信キューから非キーフレーム(例えば、P
フレーム又はBフレーム等)を読み出して配布している場合に、切り替え前の送信キュー
から配布済みのキーフレーム(例えば、Iフレーム)に対応するすべての非キーフレーム
を読み出すことが完了するまで待機する。また、切り替え前の送信キューから次のキーフ
レームを読み出して配布する必要があり、且つ切り替え前の送信キュー以外のすべてのキ
ューから対応する非キーフレームが削除された場合に、切り替え前の送信キューからキー
フレームを読み出すことを停止し、次回のビットレート切り替えまで、ビットレート切り
替え後の新たな送信キューからマルチメディアデータフレームを読み出して配布する。
[実施例2:ビデオライブの応用場面では、ストリーミングメディアサーバがユーザーに
マルチビットレートストリーミングメディアをアダプティブに提供する方法]
ビデオライブの応用場面では、ストリーミングメディアサーバがネットワークにおける
n(n>2)個のユーザー(すなわち、ユーザー1、ユーザー2、……及びユーザーn)
にそれぞれ3種類のビットレートのストリーミングメディアサービスをアダプティブに提
供するを設定すれば、ストリーミングメディアサーバがマルチビットレートストリーミン
グメディアをアダプティブに提供する実施形態は図2に示される。
図2では、ストリーミングメディアサーバは3種類のビットレートに対して3つのGO
Pキャッシュ(すなわち、第1GOPキャッシュ、第2GOPキャッシュ、第3GOPキ
ャッシュ)を設定し、1つのユーザーにそれぞれ3つのキュー(すなわち、第1キュー、
第2キュー及び第3キュー)を設定し、第1GOPキャッシュと第1キューは第1種類の
ビットレートに対応し、第2GOPキャッシュと第2キューは第2種類のビットレートに
対応し、第3GOPキャッシュと第3キューは第3種類のビットレートに対応し、また、
第1ビットレートは第2ビットレートよりも高く、第2ビットレートは第3ビットレート
よりも高い。
本実施例では、3つのGOPキャッシュは記憶空間が異なるが、記憶可能なビデオフレ
ームの数が同一である。3つのキューは記憶空間が異なるが、記憶可能なビデオフレーム
の数が同一である。
ストリーミングメディアサーバは、現在リアルタイムに生成される符号化処理済みの、
GOP構造を有するビデオフレーム(すなわち、GOP構造を有するマルチメディアデー
タフレーム)をトランスコード処理して、符号化処理済みのビデオフレームに対して、第
1ビットレートに基づくビデオフレーム、第2ビットレートに基づくビデオフレーム及び
第3ビットレートに基づくビデオフレームを生成する。
例として、ストリーミングメディアサーバは異なるビットレートのビデオフレームを対
応するGOPキャッシュに同期格納し、すなわち、第1ビットレートに基づくビデオフレ
ームを第1GOPキャッシュにキャッシュし、第2ビットレートに基づくビデオフレーム
を第2GOPキャッシュにキャッシュし、第3ビットレートに基づくビデオフレームを第
3GOPキャッシュにキャッシュする。ストリーミングメディアサーバは3つのGOPキ
ャッシュにおけるビデオフレームの数が同じ、3つのGOPキャッシュにおけるビデオフ
レームに対応するメディアコンテンツが全く同じになるように制御することができる。
ネットワークにおけるいずれかのユーザーに対して、ストリーミングメディアサーバは
同期に第1GOPキャッシュにおけるビデオフレームを読み出して第1キューに格納し、
第2GOPキャッシュにおけるビデオフレームを読み出して第2キューに格納し、第3G
OPキャッシュにおけるビデオフレームを読み出して第3キューに格納する。ストリーミ
ングメディアサーバは3つのキューに同期格納されたビデオフレームに対応するメディア
コンテンツが全く同じになるように制御することができる。
ネットワークにおけるいずれかのユーザーに対して、当該ユーザーに今回のライブのメ
ディアストリームを提供し始める場合に、ストリーミングメディアサーバは、まず当該ユ
ーザーに対応する3つのキューのうちの1つのキューを送信キューとし、例えばストリー
ミングメディアサーバはデフォルト設定に基づいて対応するキューを送信キューとし、ま
た、ストリーミングメディアサーバはユーザーが選択するビットレートに基づいて当該ビ
ットレートに対応するキューを送信キューとし、またストリーミングメディアサーバは現
在のネットワーク伝送速度に基づいて対応するビットレートのキューを送信キューとする
。ストリーミングメディアサーバは送信キュー(例えば、2番目のキュー)からビデオフ
レームを読み出して当該ユーザーに送信し、1つのビデオフレームを配布するたびに、当
該ビデオフレームを送信キューから削除し、ストリーミングメディアサーバはさらに1番
目のキューと3番目のキューにおける、当該ビデオフレームに対応する、当該ビデオフレ
ームのビットレートと異なるビットレートを有するビデオフレームを削除する。ストリー
ミングメディアサーバは送信キューからビデオフレームを連続的に読み出して配布する過
程において、送信キューのデータ充填率(すなわち、送信キューに現在記憶されているビ
デオフレームが占有する記憶空間と送信キューの総記憶容量との比)を監視し、ストリー
ミングメディアサーバは送信キューのデータ充填率が第1充填率よりも大きく、且つ前回
のビットレート切り替え時点との間隔が所定時間に達することを監視した場合に、低ビッ
トレートへの切り替えを必要とすると決定し、ストリーミングメディアサーバは3番目の
キューを新たな送信キューとし、2番目のキューからIフレームを読み出すべき時に、新
たな送信キュー(すなわち、3番目のキュー)からビデオフレームを読み出して配布し、
同様に、読み出したビデオフレームを送信キューから削除し、ストリーミングメディアサ
ーバはさらに1番目のキューと2番目のキューにおける且つ3番目のキューから読み出し
たビデオフレームに対応する、ビットレートとは異なるビデオフレームを削除する。スト
リーミングメディアサーバは送信キューのデータ充填率が第2充填率よりも大きく、且つ
前回のビットレート切り替え時点との間隔が所定時間に達することを監視した場合に、高
ビットレートへの切り替えを必要とすると決定し、ストリーミングメディアサーバは2番
目のキューを新たな送信キューとし、3番目のキューからIフレームを読み出すべき時に
、新たな送信キュー(すなわち、2番目のキュー)からビデオフレームを読み出して配布
し、同様に、読み出したビデオフレームを送信キューから削除し、ストリーミングメディ
アサーバはさらに1番目のキューと3番目のキューにおける、2番目のキューから読み出
したビデオフレームに対応する、当該読み出したビデオフレームのビットレートと異なる
ビットレートのビデオフレームを削除する。
[実施例3:テレビ会議(video teleconference)の応用場面では、ストリーミングメディ
アサーバがユーザーにマルチビットレートストリーミングメディアをアダプティブに提供
する方法]
テレビ会議の応用場面では、ストリーミングメディアサーバはテレビ会議に参加する各
参加者に3種類のビットレートのストリーミングメディアサービスをアダプティブに提供
でき、ストリーミングメディアサーバは3つのGOPキャッシュ(すなわち、第1GOP
キャッシュ、第2GOPキャッシュ及び第3GOPキャッシュ)を設定し、第1GOPキ
ャッシュは第1種類のビットレートに対応し、第2GOPキャッシュは第2種類のビット
レートに対応し、第3GOPキャッシュは第3種類のビットレートに対応し、第1ビット
レートは第2ビットレートよりも高く、第2ビットレートは第3ビットレートよりも高い
1つのユーザーがテレビ会議に参加することを申し込む際に、ストリーミングメディア
サーバは当該ユーザーに対応する情報を設定し、例えば当該ユーザーに3つのキュー(す
なわち、第1キュー、第2キュー及び第3キュー)を動的に設定し、第1キューは第1種
類のビットレートに対応し、第2キューは第2種類のビットレートに対応し、第3キュー
は第3種類のビットレートに対応する。本実施例では、3つのGOPキャッシュは記憶空
間が異なるが、記憶可能なビデオフレームの数が同一である。3つのキューは記憶空間が
異なるが、記憶可能なビデオフレームの数が同一である。
ストリーミングメディアサーバは当該ユーザーに対応する情報を設定した後に、当該ユ
ーザーが今回のビデオ会議の参加者になる。ストリーミングメディアサーバは現在リアル
タイムに生成される符号化処理済みの、GOP構造を有するビデオフレームをトランスコ
ード処理し、符号化処理済みのビデオフレームに対して、第1ビットレートに基づくビデ
オフレーム、第2ビットレートに基づくビデオフレーム及び第3ビットレートに基づくビ
デオフレームを生成する。
ストリーミングメディアサーバは異なるビットレートのビデオフレームを3つのGOP
キャッシュに同時格納し、すなわち、第1ビットレート基づくビデオフレームを第1GO
Pキャッシュにキャッシュし、第2ビットレートに基づくビデオフレームを第2GOPキ
ャッシュにキャッシュし、第3ビットレートに基づくビデオフレームを第3GOPキャッ
シュにキャッシュする。ストリーミングメディアサーバは3つのGOPキャッシュにおけ
るビデオフレームの数が同じ、3つのGOPキャッシュにおけるビデオフレームに対応す
るメディアコンテンツがまったく同じになるように制御する。
ストリーミングメディアサーバは同期に当該参加者の第1GOPキャッシュにおけるビ
デオフレームを読み出して第1キューに格納し、第2GOPキャッシュにおけるビデオフ
レームを読み出して第2キューに格納し、第3GOPキャッシュ中のビデオフレームを読
み出して第3キューに格納する。ストリーミングメディアサーバは3つのキューに同期格
納されるビデオフレームに対応するメディアコンテンツがまったく同じになるように制御
する。
当該参加者にビデオ会議のメディアストリームを提供し始めると、ストリーミングメデ
ィアサーバは、まず当該参加者が選択するビットレートに基づいて当該ビットレートに対
応するキューを送信キューとし、送信キュー(例えば、3番目のキュー)からビデオフレ
ームを読み出して当該参加者に送信し、1つのビデオフレームを配布するたびに、当該ビ
デオフレームを送信キューから削除し、ストリーミングメディアサーバはさらに1番目の
キューと2番目のキューにおける、当該ビデオフレームに対応する、当該ビデオフレーム
のビットレートと異なるビットレートを有するビデオフレームを削除する。ストリーミン
グメディアサーバは送信キューからビデオフレームを連続的に読み出して配布する過程に
おいて、送信キューのデータ充填率を監視し、ストリーミングメディアサーバは送信キュ
ーのデータ充填率が第1充填率よりも大きく、且つ前回のビットレート切り替え時点との
間隔が所定時間に達することを監視した場合に、低ビットレートへの切り替えを必要とす
ると決定し、3番目のキューのビットレートが既に最低ビットレートであるため、ストリ
ーミングメディアサーバは3番目のキューを依然として送信キューとし、3番目のキュー
からビデオフレームを継続的に読み出して配布し、ストリーミングメディアサーバは送信
キューのデータ充填率が第2充填率よりも大きく、且つ前回のビットレート切り替え時点
との間隔が所定時間に達することを監視した場合に、高ビットレートへの切り替えを必要
とすると決定し、ストリーミングメディアサーバは2番目のキューを新たな送信キューと
し、3番目のキューからIフレームを読み出すべき時に、新たな送信キュー(すなわち、
2番目のキュー)からビデオフレームを読み出して配布し、同様に、読み出したビデオフ
レームを送信キューから削除し、ストリーミングメディアサーバはさらに1番目のキュー
と3番目のキューにおける、2番目のキューから読み出したビデオフレームに対応する、
当該読み出したビデオフレームのビットレートと異なるビットレートのビデオフレームを
削除する。
[実施例4:サーバにおいてマルチビットレートストリーミングメディアをアダプティブ
に提供するための装置]
本実施例では、サーバはストリーミングメディアサーバであり、マルチビットレートス
トリーミングメディアをアダプティブに提供するための装置は通常、ストリーミングメデ
ィアサーバであるコンピュータ装置内に設定され、例えば、本実施例に記載されているマ
ルチビットレートストリーミングメディアをアダプティブに提供するための装置はストリ
ーミングメディアサーバであるデスクトップコンピュータ、サーバ及びほかのネットワー
ク装置内に設置されてもよい。本実施例に係るマルチビットレートストリーミングメディ
アをアダプティブに提供するための装置の主要構造は図3に示される。
以下、具体的な実施例を参照して、サーバにおいてマルチビットレートストリーミング
メディアをアダプティブに提供するための装置を説明する。
図3に示すように、本実施例に係るマルチビットレートストリーミングメディアをアダ
プティブに提供するための装置は、ネットワーク品質情報を取得するための装置(以下、
「ネットワーク品質取得装置300」と略称される)、ネットワーク品質情報に基づいて
ビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキュー
を送信キューとして選択するための装置(以下、「ビットレート切り替え制御装置310
」と略称される)と、送信キューからマルチメディアデータフレームを読み出して配布し
、ほかのキューにおける、配布したマルチメディアデータフレームのメディアコンテンツ
と同じメディアコンテンツを有するマルチメディアデータフレームのいずれもを削除する
ための装置(以下、「データフレーム配布装置320」と略称される)と、を備え、ここ
で、ネットワーク品質取得装置は、送信キューのデータ充填情報を取得するための装置(
以下、「充填情報取得装置301」と略称される)を備えてもよい。また、本実施例に係
るマルチビットレートストリーミングメディアをアダプティブに提供するための装置は、
符号化処理済みのマルチメディアデータフレームを異なるビットレートのマルチメディア
データフレームにトランスコードするための装置(以下、「トランスコード装置330」
と略称される)と、トランスコード済みの異なるビットレートのマルチメディアデータフ
レームを対応するGOPキャッシュにそれぞれ記憶するための装置(以下、「第1記憶制
御装置340」と略称される)と、各GOPキャッシュからマルチメディアデータフレー
ムを同期読み出し、読み出したマルチメディアデータを対応するキューにそれぞれ記憶す
るための装置(以下、「第2記憶制御装置350」と略称される)と、をさらに備えても
よい。
ネットワーク品質取得装置300は主にネットワーク品質情報を取得する。
例として、ネットワーク品質取得装置300に取得されるネットワーク品質情報はネッ
トワーク伝送遅延、パケットロス率及びネットワークジッタ情報等を含む。好ましくは、
本実施例に係るネットワーク品質情報は、充填情報取得装置301に取得されるキューの
データ充填情報で表されてもよい。
例として、充填情報取得装置301に取得されるキューのデータ充填情報は、具体的に
は、キューに記憶されたマルチメディアデータフレームが占有する記憶容量とキューの総
記憶容量との比(すなわち、データ充填率)であってもよく、キューに記憶されたマルチ
メディアデータフレームが占有する記憶容量又はキューの未使用記憶容量などの、ネット
ワーク品質を反映できるキューパラメータであってもよい。
例として、充填情報取得装置301は定時(例えば、1秒又は1秒未満等)にすべての
キューのうちのいずれかのキューのデータ充填情報を取得して、当該キューのデータ充填
情報に基づいて現在のネットワーク状態をただちに取得できる。上記いずれかのキューは
ランダムに決定した1つのキューであってもよく、予め決定された1つの一定のキューで
あってもよく、すなわち、充填情報取得装置301はランダムにあるキューのデータ充填
情報を取得してもよく、あるキューのデータ充填情報を固定して取得してもよい。好まし
くは、充填情報取得装置301はキューにおける送信キューのデータ充填情報を定時に取
得して、送信キューのデータ充填情報に基づいて現在のネットワーク状態をただちに取得
できる。本実施例における送信キューとは、現在端末装置に送信されているマルチメディ
アデータフレームが属するキューであり、つまり、本実施例は異なるビットレートのマル
チメディアデータフレームに対して対応するキューをそれぞれ設定し、各キューにおいて
対応するビットレートのマルチメディアデータフレームが記憶されるが、任意の時点に対
して、1つのキューに記憶されるマルチメディアデータフレームのみが端末装置に送信さ
れており、当該キューは送信キューである。
ビットレート切り替え制御装置310は、主にネットワーク品質情報に基づいてビット
レート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信
キューとして選択する。
例として、本実施例では、異なるキューに記憶されたすべてのマルチメディアデータフ
レームは同一の符号化方式を有し、例えば、異なるキューに記憶されたすべてのマルチメ
ディアデータフレームは同一のGOP構造を有する。また、通常、異なるキューに記憶さ
れたマルチメディアデータフレームは同期更新され、例えば、マルチメディアデータフレ
ームがGOP構造である場合に、本実施例は、ビットレートごとに1つのGOPキャッシ
ュをそれぞれ設定する。まず、トランスコード装置330は符号化処理済みの各マルチメ
ディアデータフレームをトランスコード処理して、複数の異なるビットレートのマルチメ
ディアデータフレームを取得し、次に、第1記憶制御装置340は異なるビットレートの
マルチメディアデータフレームを対応するGOPキャッシュに同時に書き込み、例えば、
各GOPキャッシュが空(GOPキャッシュにおけるマルチメディアデータフレームがキ
ューに充填されてGOPキャッシュが空になってもよく、クリア操作によってGOPキャ
ッシュが空にさせてもよい)の場合に、第1記憶制御装置340はトランスコード処理済
みの異なるビットレートのマルチメディアデータフレームを対応するGOPキャッシュに
同時に書き込み、その後、第2記憶制御装置350は各GOPキャッシュから同数のマル
チメディアデータフレームを同時に読み出し、読み出した同数のマルチメディアデータフ
レームを対応するキューにそれぞれ記憶し、それにより各キューに同じメディアコンテン
ツに対するマルチメディアデータフレームを同期追加させる。
例として、ネットワーク品質取得装置300により取得されたキューのデータ充填情報
がキューのデータ充填率を含み、すべてのキューのそれぞれの記憶空間に記憶可能なマル
チメディアデータフレームの数が同一である場合に、ビットレート切り替え制御装置31
0がネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定する過程
は具体的には、すべてのキューに対して2つの統一された閾値、すなわち、第1閾値及び
第2閾値を予め設定し、ビットレート切り替え制御装置310は予め保守された情報から
各キューの総記憶容量を取得し、すべてのキューのうちのいずれかのキューに現在記憶さ
れているすべてのマルチメディアデータフレームが占有する総記憶容量を定時に取得し(
例えば、ビットレート切り替え制御装置310は送信キューに現在記憶されているすべて
のマルチメディアデータフレームが占有する総記憶容量を定時に取得する)、次に、ビッ
トレート切り替え制御装置310は上記取得したキューに現在記憶されているすべてのマ
ルチメディアデータフレームが占有する総記憶容量と当該キューの総記憶容量に基づいて
キューのデータ充填率を計算し、当該データ充填率が第1閾値よりも大きいと判定した場
合に、低ビットレートへの切り替えを必要とすると決定し、当該データ充填率が第2閾値
よりも小さいと判定した場合に、高ビットレートへの切り替えを必要とすると決定する。
上記第1閾値は通常、第2閾値よりも遥かに大きく、例えば、第1閾値が80%、第2閾
値が20%である。
例として、ネットワーク品質取得装置300により取得されたキューのデータ充填情報
がキューのデータ充填率を含み、すべてのキューのそれぞれの記憶空間に記憶可能なマル
チメディアデータフレームの数が異なる場合に、ビットレート切り替え制御装置310が
ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定する過程は、
予め各キューに2つの閾値をそれぞれ設定し、すなわち、各キューがそれぞれの第1閾値
と第2閾値とに対応し、通常、異なるキューのそれぞれに対応する第1閾値は異なり、同
様に、通常、異なるキューのそれぞれに対応する第2閾値も異なる。ビットレート切り替
え制御装置310は予め保守された情報から各キューの総記憶容量及び各キュー自体に対
応する第1閾値と第2閾値を取得し、ビットレート切り替え制御装置310はすべてのキ
ューのうちのいずれかのキューに現在記憶されているすべてのマルチメディアデータフレ
ームが占有する総記憶容量を定時に取得し(例えば、ビットレート切り替え制御装置31
0は送信キューに現在記憶されているすべてのマルチメディアデータフレームが占有する
総記憶容量を定時に取得する)、上記取得したキューに現在記憶されているすべてのマル
チメディアデータが占有する総記憶容量と当該キューの総記憶容量とに基づいてキューの
データ充填率を計算し、ビットレート切り替え制御装置310は当該データ充填率が当該
キューに対応する第1閾値よりも大きいと判定した場合に、低ビットレートへの切り替え
を必要とすると決定し、ビットレート切り替え制御装置310は当該データ充填率が当該
キューに対応する第2閾値よりも小さいと判定した場合に、高ビットレートへの切り替え
を必要とすると決定する。
例として、本実施例では、ネットワーク品質情報はキューに現在記憶されているすべて
のマルチメディアデータフレームが占有する総記憶容量を含む場合に、ビットレート切り
替え制御装置310がネットワーク品質情報に基づいてビットレート切り替えを必要とす
ると決定する過程は具体的には、すべてのキューのそれぞれの記憶空間に記憶可能なマル
チメディアデータフレームの数が同一であるか否かにかかわらず、予め各キューに2つの
閾値をそれぞれ設定し、すなわち、各キューがそれぞれの第3閾値及び第4閾値に対応し
、通常、異なるキューに対応する第3閾値は異なり、同様に、通常、異なるキューに対応
する第4閾値も異なる。ビットレート切り替え制御装置310は予め保守された情報から
各キューにそれぞれ対応する第3閾値及び第4閾値を取得し、ビットレート切り替え制御
装置310はすべてのキューのうちのいずれかのキューに現在記憶されているすべてのマ
ルチメディアデータフレームが占有する総記憶容量を定時に取得し(例えば、送信キュー
に現在記憶されているすべてのマルチメディアデータフレームが占有する総記憶容量を定
時に取得する)、上記取得したキューに現在記憶されているすべてのマルチメディアデー
タフレームが占有する総記憶容量と、当該キューに対応する第3閾値及び第4閾値とを比
較し、比較結果として、上記取得したキューに現在記憶されているすべてのマルチメディ
アデータフレームが占有する総記憶容量が当該キューに対応する第3閾値よりも大きい場
合に、ビットレート切り替え制御装置310は低ビットレートへの切り替えを必要とする
と決定し、比較結果として、上記取得したキューに現在記憶されているすべてのマルチメ
ディアデータフレームが占有する総記憶容量が当該キューに対応する第4閾値よりも小さ
い場合に、ビットレート切り替え制御装置310は高ビットレートへの切り替えを必要と
すると決定する。上記第3閾値は通常、第4閾値よりも遥かに大きい。
例として、本実施例では、ネットワーク品質情報はキューの現在の未使用記憶容量を含
む場合に、ビットレート切り替え制御装置310がネットワーク品質情報に基づいてビッ
トレート切り替えを必要とすると決定する過程は具体的には、すべてのキューのそれぞれ
の記憶空間に記憶可能なマルチメディアデータフレームの数が同一であるか否かにかかわ
らず、予め各キューに2つの閾値をそれぞれ設定し、すなわち、各キューがそれぞれの第
5閾値及び第6閾値に対応し、通常、異なるキューにそれぞれ対応する第5閾値は異なり
、同様に、通常、異なるキューにそれぞれ対応する第6閾値も異なる。ビットレート切り
替え制御装置310は予め保守された情報から各キューにそれぞれ対応する第5閾値及び
第6閾値を取得し、ビットレート切り替え制御装置310はすべてのキューのうちのいず
れかのキューの現在の未使用記憶容量を定時に取得し(例えば、送信キューの現在の未使
用記憶容量を定時に取得する)、上記取得したキューの現在の未使用記憶容量と当該キュ
ーに対応する第5閾値及び第6閾値とを比較し、比較結果として、上記取得したキューの
現在の未使用記憶容量が上記取得した第5閾値よりも大きい場合に、ビットレート切り替
え制御装置310は高ビットレートへの切り替えを必要とすると決定し、比較結果として
、上記取得したキューの現在の未使用記憶容量が第6閾値よりも小さい場合に、ビットレ
ート切り替え制御装置310は低ビットレートへの切り替えを必要とすると決定する。上
記第5閾値は通常、第6閾値よりも遥かに小さい。
例として、ネットワークジッタ等に起因する頻繁なビットレート切り替えの現象を回避
するために、ビットレート切り替え制御装置310はビットレート切り替えを必要とする
か否かを判定する過程で、頻繁なビットレート切り替えを抑える制限条件を追加し、つま
り、ビットレート切り替え制御装置310はネットワーク品質情報及び予め設定されたビ
ットレート切り替えの時間制限条件に基づいてビットレート切り替えを必要とすると決定
することができる。上記予め設定されたビットレート切り替えの時間制限条件は具体的に
は、現在の時点と前回のビットレート切り替え時点との間隔が所定時間を超えることであ
ってもよい。
例として、ビットレート切り替え制御装置310がネットワーク品質情報及び予め設定
されたビットレート切り替えの時間制限条件に基づいてビットレート切り替えを必要とす
ると決定する具体例1について、すべてのキューのそれぞれの記憶空間に記憶可能なマル
チメディアデータフレームの数が同一である場合に、すべてのキューに対して2つの統一
された閾値、すなわち第1閾値及び第2閾値を予め設定し、ビットレート切り替え制御装
置310は予め保守された情報からキューの総記憶容量、所定時間及び前回のビットレー
ト切り替え時点を取得し、すべてのキューのうちのいずれかのキューに現在記憶されてい
るすべてのマルチメディアデータフレームが占有する総記憶容量を定時に取得し、次に、
ビットレート切り替え制御装置310は上記取得したいずれかのキューに現在記憶されて
いるすべてのマルチメディアデータフレームが占有する総記憶容量と当該キューの総記憶
容量に基づいてキューのデータ充填率を計算し、当該キューのデータ充填率が第1閾値よ
りも大きく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超える
と判定した場合に、ビットレート切り替え制御装置310は低ビットレートへの切り替え
を必要とすると決定し、当該キューのデータ充填率が第2閾値よりも小さく且つ現在の時
点と前回のビットレート切り替え時点との差が所定時間を超えると判定した場合に、ビッ
トレート切り替え制御装置310は高ビットレートへの切り替えを必要とすると決定する
例として、ビットレート切り替え制御装置310がネットワーク品質情報及び予め設定
されたビットレート切り替えの時間制限条件に基づいてビットレート切り替えを必要とす
ると決定する具体例2について、すべてのキューのそれぞれの記憶空間に記憶可能なマル
チメディアデータフレームの数が異なる場合に、予め各キューに対して2つの閾値をそれ
ぞれ設定し、すなわち、各キューがそれぞれの第1閾値及び第2閾値に対応し、通常、異
なるキューのそれぞれに対応する第1閾値は異なり、同様に、通常、異なるキューのそれ
ぞれに対応する第2閾値も異なる。ビットレート切り替え制御装置310は予め保守され
た情報から各キューの総記憶容量、各キューにそれぞれ対応する第1閾値及び第2閾値、
所定時間及び前回のビットレート切り替え時点を取得し、ビットレート切り替え制御装置
310はすべてのキューのうちのいずれかのキューに現在記憶されているすべてのマルチ
メディアデータフレームが占有する総記憶容量を定時に取得し(例えば、送信キューに現
在記憶されているすべてのマルチメディアデータフレームが占有する総記憶容量を定時に
取得する)、上記取得したキューに現在記憶されているすべてのマルチメディアデータが
占有する総記憶容量と当該キューの総記憶容量とに基づいてキューのデータ充填率を計算
し、ビットレート切り替え制御装置310は当該データ充填率が当該キューに対応する第
1閾値よりも大きく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間
を超えると判定した場合に、低ビットレートへの切り替えを必要とすると決定し、ビット
レート切り替え制御装置310は当該データ充填率が当該キューに対応する第2閾値より
も小さく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超えると
判定した場合に、高ビットレートへの切り替えを必要とすると決定する。上記第1閾値は
通常、第2閾値よりも遥かに大きく、例えば、第1閾値が80%、第2閾値が20%であ
る。
例として、ビットレート切り替え制御装置310がネットワーク品質情報及び予め設定
されたビットレート切り替えの時間制限条件に基づいてビットレート切り替えを必要とす
ると決定する具体例3について、予め各キューに対して2つの閾値をそれぞれ設定し、す
なわち、各キューがそれぞれの第3閾値及び第4閾値に対応し、通常、異なるキューに対
応する第3閾値は異なり、同様に、通常、異なるキューに対応する第4閾値も異なる。ビ
ットレート切り替え制御装置310は予め保守された情報から各キューにそれぞれ対応す
る第3閾値及び第4閾値、所定時間及び前回のビットレート切り替え時点を取得し、ビッ
トレート切り替え制御装置310はすべてのキューのうちのいずれかのキューに現在記憶
されているすべてのマルチメディアデータフレームが占有する総記憶容量を定時に取得し
(例えば、送信キューに現在記憶されているすべてのマルチメディアデータフレームが占
有する総記憶容量を定時に取得する)、上記取得したキューに現在記憶されているすべて
のマルチメディアデータフレームが占有する総記憶容量と、当該キューに対応する第3閾
値及び第4閾値とを比較し、比較結果として、上記取得したキューに現在記憶されている
すべてのマルチメディアデータフレームが占有する総記憶容量が当該キューに対応する第
3閾値よりも大きく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間
を超える場合に、ビットレート切り替え制御装置310は低ビットレートへの切り替えを
必要とすると決定し、比較結果として上記取得したキューに現在記憶されているすべての
マルチメディアデータフレームが占有する総記憶容量が当該キューに対応する第4閾値よ
りも小さく且つ現在の時点と前回のビットレート切り替え時点との差が所定時間を超える
場合に、ビットレート切り替え制御装置310は高ビットレートへの切り替えを必要とす
ると決定する。上記第3閾値は通常、第4閾値よりも遥かに大きい。
例として、ビットレート切り替え制御装置310がネットワーク品質情報及び予め設定
されたビットレート切り替えの時間制限条件に基づいてビットレート切り替えを必要とす
ると決定する具体例4について、予め各キューに対して2つの閾値をそれぞれ設定し、す
なわち、各キューがそれぞれの第5閾値及び第6閾値に対応し、通常、異なるキューにそ
れぞれ対応する第5閾値は異なり、同様に、通常、異なるキューにそれぞれ対応する第6
閾値も異なる。ビットレート切り替え制御装置310は予め保守された情報から各キュー
にそれぞれ対応する第5閾値及び第6閾値、所定時間及び前回のビットレート切り替え時
点を取得し、ビットレート切り替え制御装置310はすべてのキューのうちのいずれかの
キューの現在の未使用記憶容量を定時に取得し(例えば、送信キューの現在の未使用記憶
容量を定時に取得する)、上記取得したキューの現在の未使用記憶容量と当該キューに対
応する第5閾値及び第6閾値とを比較し、比較結果として、上記取得したキューの現在の
未使用記憶容量が上記取得した第5閾値よりも大きく且つ現在の時点と前回のビットレー
ト切り替え時点との差が所定時間を超える場合に、ビットレート切り替え制御装置310
は高ビットレートへの切り替えを必要とすると決定し、比較結果として、上記取得したキ
ューの現在の未使用記憶容量が第6閾値よりも小さいく且つ現在の時点と前回のビットレ
ート切り替え時点との差が所定時間を超える場合に、ビットレート切り替え制御装置31
0は低ビットレートへの切り替えを必要とすると決定する。上記第5閾値は通常、第6閾
値よりも遥かに小さい。
データフレーム配布装置320は、主に送信キューからマルチメディアデータフレーム
を読み出して配布し、ほかのキューにおける、配布したマルチメディアデータフレームの
メディアコンテンツと同じメディアコンテンツを有するマルチメディアデータフレームの
いずれもを削除する。
例として、データフレーム配布装置320は常に送信キューからマルチメディアデータ
フレームを読み出して配布すべきであり、データフレーム配布装置320は送信キューか
ら読み出して配布したマルチメディアデータフレームを送信キューから削除し、ビットレ
ート切り替え制御装置310はビットレート切り替えを必要とすると決定した場合に、デ
ータフレーム配布装置320は切り替え後の新たな送信キューからマルチメディアデータ
フレームを読み出して配布すべきである。
例として、マルチメディアデータフレームが送信キューからデータフレーム配布装置3
20によって読み出されて配布される時に、すべてのキューにおける先頭のマルチメディ
アデータフレームが常に同じメディアコンテンツに対応することを確保するように、デー
タフレーム配布装置320はさらにほかのキュー(すなわち、すべてのキューにおける送
信キュー以外のキュー)中の対応するマルチメディアデータフレームを同期削除すべきで
ある。
例として、ビットレート切り替え制御装置310はビットレート切り替えを必要とする
と決定した場合に、データフレーム配布装置320は切り替え後の新たな送信キューから
マルチメディアデータフレームを読み出して配布するタイミングに注意する必要があり、
具体的には、ビットレート切り替え制御装置310がビットレート切り替えを必要とする
と決定した場合に、データフレーム配布装置320は切り替え前の送信キューからキーフ
レーム(例えば、Iフレーム)を読み出す必要がある場合に、切り替え前の送信キューか
らマルチメディアデータフレームを読み出して配布することを停止し、切り替え後の送信
キューからマルチメディアデータフレームを読み出して配布する。1つの具体例として、
ビットレート切り替え制御装置310がビットレート切り替えを必要とすると決定する場
合に、現在切り替え前の送信キューから非キーフレーム(例えば、Pフレーム又はBフレ
ーム等)を読み出して配布している場合に、データフレーム配布装置320が切り替え前
の送信キューから配布済みのキーフレーム(例えば、Iフレーム)に対応するすべての非
キーフレームを読み出することが完了するまで待機する。切り替え前の送信キューから次
のキーフレームを読み出して配布する必要があり、且つ切り替え前の送信キュー以外のす
べてのキューから対応する非キーフレームが削除された場合に、データフレーム配布装置
320は切り替え前の送信キューからキーフレームを読み出すことを停止し、次回のビッ
トレート切り替えまで、ビットレート切り替え後の新たな送信キューからマルチメディア
データフレームを読み出して配布する。
なお、ビットレート切り替え制御装置310が低ビットレートへの切り替えを必要とす
ると決定した合に、切り替え前の送信キューのビットレートが既にすべてのキューのビッ
トレートのうちの最低ビットレートである場合に、切り替え後の新たな送信キューは依然
として切り替え前の送信キューであり、切り替え前の送信キューのビットレートがすべて
のキューのビットレートのうちの最低ビットレートでなければ、ビットレート切り替え制
御装置310はビットレートが切り替え前の送信キューのビットレートよりも低いすべて
のキューから1つのキューを送信キューとして選択し、例えばビットレート切り替え制御
装置310はビットレートが切り替え前の送信キューのビットレートよりも低いすべての
キューにおいてビットレートが最も低いキューを送信キューとして選択する。ビットレー
ト切り替え制御装置310が高ビットレートへの切り替えを必要とすると決定した場合に
、切り替え前の送信キューのビットレートがすべてのキューのビットレートのうちの最高
ビットレートである場合に、切り替え後の新たな送信キューが依然として切り替え前の送
信キューであり、切り替え前の送信キューのビットレートがすべてのキューのビットレー
トのうちの最高ビットレートでなければ、ビットレート切り替え制御装置310はビット
レートが切り替え前の送信キューのビットレートよりも高いすべてのキューから1つのキ
ューを送信キューとして選択し、例えばビットレート切り替え制御装置310はビットレ
ートが切り替え前の送信キューのビットレートよりも高いすべてのキューにおいてビット
レートが最も高いキューを送信キューとして選択する。
[実施例5:ビデオライブの応用場面では、ストリーミングメディアサーバがユーザーに
マルチビットレートストリーミングメディアをアダプティブに提供する実施形態]
ビデオライブの応用場面では、ストリーミングメディアサーバはネットワークにおける
n(n>2)個のユーザーにそれぞれ3種類のビットレートのストリーミングメディアサ
ービスをアダプティブに提供するとする。ストリーミングメディアサーバは3種類のビッ
トレートに対して3つのGOPキャッシュ(すなわち、第1GOPキャッシュ、第2GO
Pキャッシュ、第3GOPキャッシュ)を設定し、各ユーザーにそれぞれ3つのキュー(
すなわち、第1キュー、第2キュー及び第3キュー)を設定し、第1GOPキャッシュと
第1キューは第1種類のビットレートに対応し、第2GOPキャッシュと第2キューは第
2種類のビットレートに対応し、第3GOPキャッシュと第3キューは第3種類のビット
レートに対応し、第1ビットレートは第2ビットレートよりも高く、第2ビットレートは
第3ビットレートよりも高い。3つのGOPキャッシュは記憶空間が異なるが、記憶可能
なビデオフレームの数が同一である。3つのキューは記憶空間が異なるが、記憶可能なビ
デオフレームの数が同一である。
トランスコード装置330は現在リアルタイムに生成される符号化処理済みの、GOP
構造を有するビデオフレーム(すなわち、GOP構造を有するマルチメディアデータフレ
ーム)をトランスコード処理して、符号化処理済みのビデオフレームに対して、第1ビッ
トレートに基づくビデオフレーム、第2ビットレートに基づくビデオフレーム及び第3ビ
ットレートに基づくビデオフレームを生成する。
第1記憶制御装置340は異なるビットレートのビデオフレームを対応するGOPキャ
ッシュに同期格納し、すなわち、第1ビットレートに基づくビデオフレームを第1GOP
キャッシュにキャッシュし、第2ビットレートに基づくビデオフレームを第2GOPキャ
ッシュにキャッシュし、第3ビットレートに基づくビデオフレームを第3GOPキャッシ
ュにキャッシュする。ストリーミングメディアサーバは3つのGOPキャッシュにおける
ビデオフレームの数が同じ、3つのGOPキャッシュにおけるビデオフレームに対応する
メディアコンテンツが全く同じになるように制御することができる。
ネットワークにおけるいずれかのユーザーに対して、第2記憶制御装置350は同期に
第1GOPキャッシュにおけるビデオフレームを読み出して第1キューに格納し、第2G
OPキャッシュにおけるビデオフレームを読み出して第2キューに格納し、第3GOPキ
ャッシュにおけるビデオフレームを読み出して第3キューに格納する。第2記憶制御装置
350は3つのキューに同期格納されたビデオフレームに対応するメディアコンテンツが
全く同じになるように制御することができる。
ネットワークにおけるいずれかのユーザーに対して、当該ユーザーに今回のライブのメ
ディアストリームを提供し始める場合に、データフレーム配布装置320は、まず当該ユ
ーザーに対応する3つのキューのうちの1つのキューを送信キューとし、例えばデフォル
ト設定に基づいて対応するキューを送信キューとし、また、ユーザーが選択するビットレ
ートに基づいて当該ビットレートに対応するキューを送信キューとし、また現在のネット
ワーク伝送速度に基づいて対応するビットレートのキューを送信キューとする。データフ
レーム配布装置320は送信キュー(例えば、2番目のキュー)からビデオフレームを読
み出して当該ユーザーに送信し、1つのビデオフレームを配布するたびに、当該ビデオフ
レームを送信キューから削除し、データフレーム配布装置320はさらに1番目のキュー
と3番目のキューにおける、当該ビデオフレームに対応する、当該ビデオフレームのビッ
トレートと異なるビットレートを有するビデオフレームを削除する。データフレーム配布
装置320は送信キューからビデオフレームを連続的に読み出して配布する過程において
、ビットレート切り替え制御装置310はネットワーク品質取得装置300により取得さ
れる送信キューのデータ充填率(すなわち、送信キューに現在記憶されているビデオフレ
ームが占有する記憶空間と送信キューの総記憶容量との比)を監視し、ビットレート切り
替え制御装置310は送信キューのデータ充填率が第1充填率よりも大きく、且つ前回の
ビットレート切り替え時点との間隔が所定時間に達することを監視した場合に、低ビット
レートへの切り替えを必要とすると決定し、ビットレート切り替え制御装置310は3番
目のキューを新たな送信キューとし、データフレーム配布装置320は2番目のキューか
らIフレームを読み出すべき時に、新たな送信キュー(すなわち、3番目のキュー)から
ビデオフレームを読み出して配布し、同様に、データフレーム配布装置320が読み出し
たビデオフレームを送信キューから削除し、データフレーム配布装置320はさらに1番
目のキューと2番目のキューにおける、3番目のキューから読み出したビデオフレームに
対応する、当該読み出したビデオフレームのビットレートと異なるビットレートのビデオ
フレームを削除し、ビットレート切り替え制御装置310は送信キューのデータ充填率が
第2充填率よりも大きく、且つ前回のビットレート切り替え時点との間隔が所定時間に達
することを監視した場合に、高ビットレートへの切り替えを必要とすると決定し、データ
フレーム配布装置320は2番目のキューを新たな送信キューとし、3番目のキューから
Iフレームを読み出すべき時に、新たな送信キュー(すなわち、2番目のキュー)からビ
デオフレームを読み出して配布し、同様に、データフレーム配布装置320が読み出した
ビデオフレームを送信キューから削除し、データフレーム配布装置320はさらに1番目
のキューと3番目のキューにおける、2番目のキューから読み出したビデオフレームに対
応する、当該読み出したビデオフレームのビットレートと異なるビットレートのビデオフ
レームを削除する。
[実施例6:ビデオ会議の応用場面では、ストリーミングメディアサーバがユーザーにマ
ルチビットレートストリーミングメディアをアダプティブに提供する実施形態]
ビデオ会議の応用場面では、ストリーミングメディアサーバはビデオ会議に参加する各
参加者に3種類のビットレートのストリーミングメディアサービスをアダプティブに提供
でき、ストリーミングメディアサーバは3つのGOPキャッシュ(すなわち、第1GOP
キャッシュ、第2GOPキャッシュ及び第3GOPキャッシュ)を設定し、第1GOPキ
ャッシュは第1種類のビットレートに対応し、第2GOPキャッシュは第2種類のビット
レートに対応し、第3GOPキャッシュは第3種類のビットレートに対応し、第1ビット
レートは第2ビットレートよりも高く、第2ビットレートは第3ビットレートよりも高い
1つのユーザーがビデオ会議に参加することを申し込む際に、ストリーミングメディア
サーバは当該ユーザーに対応する情報を設定し、例えば当該ユーザーに3つのキュー(す
なわち、第1キュー、第2キュー及び第3キュー)を動的に設定し、第1キューは第1種
類のビットレートに対応し、第2キューは第2種類のビットレートに対応し、第3キュー
は第3種類のビットレートに対応する。本実施例では、3つのGOPキャッシュは記憶空
間が異なるが、記憶可能なビデオフレームの数が同一である。3つのキューは記憶空間が
異なるが、記憶可能なビデオフレームの数が同一である。
ストリーミングメディアサーバは当該ユーザーに対応する情報を設定した後に、当該ユ
ーザーが今回のビデオ会議の参加者になる。トランスコード装置330は現在リアルタイ
ムに生成される符号化処理済みの、GOP構造を有するビデオフレームをトランスコード
処理して、符号化処理済みのビデオフレームに対して、第1ビットレートに基づくビデオ
フレーム、第2ビットレートに基づくビデオフレーム及び第3ビットレートに基づくビデ
オフレームを生成する。
第1記憶制御装置340は異なるビットレートのビデオフレームを3つのGOPキャッ
シュに同時格納し、すなわち、第1ビットレートに基づくビデオフレームを第1GOPキ
ャッシュにキャッシュし、第2ビットレートに基づくビデオフレームを第2GOPキャッ
シュにキャッシュし、第3ビットレートに基づくビデオフレームを第3GOPキャッシュ
にキャッシュする。第1記憶制御装置340は3つのGOPキャッシュにおけるビデオフ
レームの数が同じ、3つのGOPキャッシュにおけるビデオフレームに対応するメディア
コンテンツがまったく同じになるように制御する。
第2記憶制御装置350は同時に当該参加者の第1GOPキャッシュにおけるビデオフ
レームを読み出して第1キューに格納し、第2GOPキャッシュにおけるビデオフレーム
を読み出して第2キューに格納し、第3GOPキャッシュにおけるビデオフレームを読み
出して第3キューに格納する。第2記憶制御装置350は3つのキューに同期格納される
ビデオフレームに対応するメディアコンテンツがまったく同じになるように制御する。
当該参加者にビデオ会議のメディアストリームを提供し始めると、データフレーム配布
装置320は、まず当該参加者が選択するビットレートに基づいて当該ビットレートに対
応するキューを送信キューとし、送信キュー(例えば、3番目のキュー)からビデオフレ
ームを読み出して当該参加者に送信し、1つのビデオフレームを配布するたびに、当該ビ
デオフレームを送信キューから削除し、データフレーム配布装置320はさらに1番目の
キューと2番目のキューにおける、当該ビデオフレームに対応する、当該ビデオフレーム
のビットレートと異なるビットレートを有するビデオフレームを削除する。データフレー
ム配布装置320は送信キューからビデオフレームを連続的に読み出して配布する過程に
おいて、ビットレート切り替え制御装置310はネットワーク品質取得装置300により
取得される送信キューのデータ充填率を監視し、ビットレート切り替え制御装置310は
送信キューのデータ充填率が第1充填率よりも大きく、且つ前回のビットレート切り替え
時点との間隔が所定時間に達することを監視した場合に、低ビットレートへの切り替えを
必要とすると決定し、3番目のキューのビットレートが既に最低ビットレートであるため
、ビットレート切り替え制御装置310は3番目のキューを依然として送信キューとし、
データフレーム配布装置320は3番目のキューからビデオフレームを継続的に読み出し
て配布し、ビットレート切り替え制御装置310は送信キューのデータ充填率が第2充填
率よりも大きく、且つ前回のビットレート切り替え時点との間隔が所定時間に達すると監
視した場合に、高ビットレートへの切り替えを必要とすると決定し、ビットレート切り替
え制御装置310は2番目のキューを新たな送信キューとし、データフレーム配布装置3
20は3番目のキューからIフレームを読み出すべき時に、新たな送信キュー(すなわち
、2番目のキュー)からビデオフレームを読み出して配布し、同様に、データフレーム配
布装置320は読み出したビデオフレームを送信キューから削除し、さらに1番目のキュ
ーと3番目のキューにおける、2番目のキューから読み出したビデオフレームに対応する
、当該読み出したビデオフレームのビットレートと異なるビットレートのビデオフレーム
を削除する。
なお、本発明はソフトウェア及び/又はソフトウェアとハードウェアの組み合せにおい
て実施されてもよく、例えば、本発明の各装置は、専用集積回路(ASIC)又は類似す
る何れかの他のハードウェア設備によって実現されてもよいことを注意すべきである。一
実施例では、本発明のソフトウェアプログラムは、プロセッサによって実行されて前記ス
テップ又は機能を実現することができる。同様に、本発明のソフトウェアプログラム(関
連するデータ構造を含む)はコンピュータ読み取り可能な記録媒体、例えば、RAMメモ
リ、磁気又は光学ドライブ又はフロッピーディスク及び類似する設備に記憶されてもよい
。また、本発明の一部のステップ又は機能は、ハードウェア(例えば、プロセッサと協力
して各ステップ又は機能を実行する回路)によって実現されてもよい。
当業者にとっては、本発明は上記例示的な実施例の詳細に制限されず、本発明の主旨や
基本特徴を逸脱せずに、他の具体的な形態で実施してもよい。そのため、いずれにしても
、本実施例は例示的なものに過ぎず、非限定的なものであり、本発明の範囲は上記の説明
ではなく、添付している請求項によって制限され、従って、請求項の同等要件を満たす意
味及び範囲内に入る全ての変化を、本発明に包含すべきである。請求項の符号はかかる請
求項を制限するものと考えるべきではない。さらに、「含む」という用語は他のユニット
又はステップを排除することではなく、単数は複数を排除することではない。請求項に述
べる複数のユニット又は装置は、1つのユニット又は装置によってソフトウェア又はハー
ドウェアで実現されてもよい。第1、第2などの用語は名称を示すものに過ぎず、特定の
順序を示すものではない。
以上、例示的な実施例を例示して説明したが、当業者は、特許請求の範囲の趣旨及び範
囲を逸脱せずに、形態や詳細を変更することができる。ここで保護しようとする範囲は添
付している特許請求の範囲に準じる。
以上、例示的な実施例を例示して説明したが、当業者は、特許請求の範囲の趣旨及び範囲を逸脱せずに、形態や詳細を変更することができる。ここで保護しようとする範囲は添付している特許請求の範囲に準じる。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
ネットワーク品質情報を取得するステップと、
前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択するステップと、
前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキューにおける、配布したマルチメディアデータフレームのメディアコンテンツと同じメディアコンテンツを有するマルチメディアデータフレームのいずれもを削除するステップと、を含んでおり、
ここで、異なるキューにおいて、同じメディアコンテンツに対する異なるビットレートのマルチメディアデータフレームが記憶された
ことを特徴とするサーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法。
請求項2:
前記ネットワーク品質情報はキューのデータ充填率を含む
ことを特徴とする請求項1に記載の方法。
請求項3:
前記のネットワーク品質情報を取得するステップにおいては、送信キューのデータ充填率を取得するステップを含む
ことを特徴とする請求項2に記載の方法。
請求項4:
前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定するステップにおいては、
前記データ充填率が第1閾値よりも大きい場合に、低ビットレートへの切り替えを必要とすると決定するステップと、
前記データ充填率が第2閾値よりも小さい場合に、高ビットレートへの切り替えを必要とすると決定するステップと、を含んでおり、
ここで、前記第1閾値は前記第2閾値よりも大きい
ことを特徴とする請求項2に記載の方法。
請求項5:
前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定するステップにおいては、
前記データ充填率が第1閾値よりも大きく、且つ現在の時点と前回のビットレート切り替え時点との間隔が所定時間を超える場合に、低ビットレートへの切り替えを必要とすると決定するステップと、
前記データ充填率が第2閾値よりも小さく、且つ現在の時点と前回のビットレート切り替え時点との間隔が所定時間を超える場合に、高ビットレートへの切り替えを必要とすると決定するステップと、を含む
ことを特徴とする請求項2に記載の方法。
請求項6:
前記の前記送信キューからマルチメディアデータフレームを読み出して配布するステップにおいては、
切り替えの前の送信キューからマルチメディアデータフレームにおけるキーフレームを読み出して配布する必要がある場合に、前記切り替えの後の送信キューからマルチメディアデータフレームを読み出して配布するステップを含む
ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
請求項7:
異なるキューに記憶されたマルチメディアデータフレームは同一のグループオブピクチャGOP構造を有する
ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
請求項8:
各種のビットレートは1つのGOPキャッシュに対応し、
符号化処理済みのマルチメディアデータフレームを異なるビットレートのマルチメディアデータフレームにトランスコードするステップと、
トランスコード済みの異なるビットレートのマルチメディアデータフレームを対応するGOPキャッシュにそれぞれ記憶するステップと、
各GOPキャッシュからマルチメディアデータフレームを同期読み出して、読み出したマルチメディアデータを対応するキューにそれぞれ記憶するステップと、をさらに含む
ことを特徴とする請求項7に記載の方法。
請求項9:
各キューの記憶空間に格納可能なマルチメディアデータフレームの数は同一であり、各キューの記憶空間はいずれも2つのマルチメディアデータフレームが占有する記憶空間以上である
ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
請求項10:
ネットワーク品質情報を取得するための装置と、
前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択するための装置と、
前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキューにおける、配布したマルチメディアデータフレームのメディアコンテンツと同じメディアコンテンツを有するマルチメディアデータフレームのいずれもを削除するための装置と、を備えており、
ここで、異なるキューにおいて、同じメディアコンテンツに対する異なるビットレートのマルチメディアデータフレームが記憶された
ことを特徴とするサーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための装置。
請求項11:
前記ネットワーク品質情報はキューのデータ充填率を含む
ことを特徴とする請求項10に記載の装置。
請求項12:
前記ネットワーク品質情報を取得するための装置は、送信キューのデータ充填率を取得するための装置を備える
ことを特徴とする請求項11に記載の装置。
請求項13:
前記の前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択するための装置は具体的には、
前記データ充填率が第1閾値よりも大きい場合に、低ビットレートへの切り替えを必要とすると決定し、
前記データ充填率が第2閾値よりも小さい場合に、高ビットレートへの切り替えを必要とすると決定することに用いられており、
ここで、前記第1閾値は前記第2閾値よりも大きい
ことを特徴とする請求項11に記載の装置。
請求項14:
前記の前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場合に、すべてのキューから1つのキューを送信キューとして選択するための装置は具体的には、
前記データ充填率が第1閾値よりも大きく、且つ現在の時点と前回のビットレート切り替え時点との間隔が所定時間を超える場合に、低ビットレートへの切り替えを必要とすると決定し、
前記データ充填率が第2閾値よりも小さく、且つ現在の時点と前回のビットレート切り替え時点との間隔が所定時間を超える場合に、高ビットレートへの切り替えを必要とすると決定することに用いられており、
ここで、前記第1閾値は前記第2閾値よりも大きい
ことを特徴とする請求項11に記載の装置。
請求項15:
前記の前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキューにおける、配布したマルチメディアデータフレームのメディアコンテンツと同じメディアコンテンツを有するマルチメディアデータフレームのいずれもを削除するための装置は具体的には、
切り替えの前の送信キューからマルチメディアデータフレームにおけるキーフレームを読み出して配布する必要がある場合に、前記切り替えの後の送信キューからマルチメディアデータフレームを読み出して配布することに用いられる
ことを特徴とする請求項10〜14のいずれか1項に記載の装置。
請求項16:
異なるキューに記憶されたマルチメディアデータフレームは同一のグループオブピクチャGOP構造を有する
ことを特徴とする請求項10〜14のいずれか1項に記載の装置。
請求項17:
各種のビットレートは1つのGOPキャッシュに対応し、
符号化処理済みのマルチメディアデータフレームを異なるビットレートのマルチメディアデータフレームにトランスコードするための装置と、
トランスコード済みの異なるビットレートのマルチメディアデータフレームを対応するGOPキャッシュにそれぞれ記憶するための装置と、
各GOPキャッシュからマルチメディアデータフレームを同期読み出して、読み出したマルチメディアデータを対応するキューにそれぞれ記憶するための装置と、をさらに備える
ことを特徴とする請求項16に記載の装置。
請求項18:
各キューの記憶空間に格納可能なマルチメディアデータフレームの数は同一であり、各キューの記憶空間はいずれも2つのマルチメディアデータフレームが占有する記憶空間以上である
ことを特徴とする請求項10〜14のいずれか1項に記載の装置。

Claims (18)

  1. ネットワーク品質情報を取得するステップと、
    前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場
    合に、すべてのキューから1つのキューを送信キューとして選択するステップと、
    前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキュー
    における、配布したマルチメディアデータフレームのメディアコンテンツと同じメディア
    コンテンツを有するマルチメディアデータフレームのいずれもを削除するステップと、を
    含んでおり、
    ここで、異なるキューにおいて、同じメディアコンテンツに対する異なるビットレート
    のマルチメディアデータフレームが記憶された
    ことを特徴とするサーバにおいてマルチビットレートストリーミングメディアをアダプ
    ティブに提供するための方法。
  2. 前記ネットワーク品質情報はキューのデータ充填率を含む
    ことを特徴とする請求項1に記載の方法。
  3. 前記のネットワーク品質情報を取得するステップにおいては、送信キューのデータ充填
    率を取得するステップを含む
    ことを特徴とする請求項2に記載の方法。
  4. 前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定するス
    テップにおいては、
    前記データ充填率が第1閾値よりも大きい場合に、低ビットレートへの切り替えを必要
    とすると決定するステップと、
    前記データ充填率が第2閾値よりも小さい場合に、高ビットレートへの切り替えを必要
    とすると決定するステップと、を含んでおり、
    ここで、前記第1閾値は前記第2閾値よりも大きい
    ことを特徴とする請求項2に記載の方法。
  5. 前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定するス
    テップにおいては、
    前記データ充填率が第1閾値よりも大きく、且つ現在の時点と前回のビットレート切り
    替え時点との間隔が所定時間を超える場合に、低ビットレートへの切り替えを必要とする
    と決定するステップと、
    前記データ充填率が第2閾値よりも小さく、且つ現在の時点と前回のビットレート切り
    替え時点との間隔が所定時間を超える場合に、高ビットレートへの切り替えを必要とする
    と決定するステップと、を含む
    ことを特徴とする請求項2に記載の方法。
  6. 前記の前記送信キューからマルチメディアデータフレームを読み出して配布するステッ
    プにおいては、
    切り替えの前の送信キューからマルチメディアデータフレームにおけるキーフレームを
    読み出して配布する必要がある場合に、前記切り替えの後の送信キューからマルチメディ
    アデータフレームを読み出して配布するステップを含む
    ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
  7. 異なるキューに記憶されたマルチメディアデータフレームは同一のグループオブピクチ
    ャGOP構造を有する
    ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
  8. 各種のビットレートは1つのGOPキャッシュに対応し、
    符号化処理済みのマルチメディアデータフレームを異なるビットレートのマルチメディ
    アデータフレームにトランスコードするステップと、
    トランスコード済みの異なるビットレートのマルチメディアデータフレームを対応する
    GOPキャッシュにそれぞれ記憶するステップと、
    各GOPキャッシュからマルチメディアデータフレームを同期読み出して、読み出した
    マルチメディアデータを対応するキューにそれぞれ記憶するステップと、をさらに含む
    ことを特徴とする請求項7に記載の方法。
  9. 各キューの記憶空間に格納可能なマルチメディアデータフレームの数は同一であり、各
    キューの記憶空間はいずれも2つのマルチメディアデータフレームが占有する記憶空間以
    上である
    ことを特徴とする請求項1〜5のいずれか1項に記載の方法。
  10. ネットワーク品質情報を取得するための装置と、
    前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定した場
    合に、すべてのキューから1つのキューを送信キューとして選択するための装置と、
    前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかのキュー
    における、配布したマルチメディアデータフレームのメディアコンテンツと同じメディア
    コンテンツを有するマルチメディアデータフレームのいずれもを削除するための装置と、
    を備えており、
    ここで、異なるキューにおいて、同じメディアコンテンツに対する異なるビットレート
    のマルチメディアデータフレームが記憶された
    ことを特徴とするサーバにおいてマルチビットレートストリーミングメディアをアダプ
    ティブに提供するための装置。
  11. 前記ネットワーク品質情報はキューのデータ充填率を含む
    ことを特徴とする請求項10に記載の装置。
  12. 前記ネットワーク品質情報を取得するための装置は、送信キューのデータ充填率を取得
    するための装置を備える
    ことを特徴とする請求項11に記載の装置。
  13. 前記の前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定
    した場合に、すべてのキューから1つのキューを送信キューとして選択するための装置は
    具体的には、
    前記データ充填率が第1閾値よりも大きい場合に、低ビットレートへの切り替えを必要
    とすると決定し、
    前記データ充填率が第2閾値よりも小さい場合に、高ビットレートへの切り替えを必要
    とすると決定することに用いられており、
    ここで、前記第1閾値は前記第2閾値よりも大きい
    ことを特徴とする請求項11に記載の装置。
  14. 前記の前記ネットワーク品質情報に基づいてビットレート切り替えを必要とすると決定
    した場合に、すべてのキューから1つのキューを送信キューとして選択するための装置は
    具体的には、
    前記データ充填率が第1閾値よりも大きく、且つ現在の時点と前回のビットレート切り
    替え時点との間隔が所定時間を超える場合に、低ビットレートへの切り替えを必要とする
    と決定し、
    前記データ充填率が第2閾値よりも小さく、且つ現在の時点と前回のビットレート切り
    替え時点との間隔が所定時間を超える場合に、高ビットレートへの切り替えを必要とする
    と決定することに用いられており、
    ここで、前記第1閾値は前記第2閾値よりも大きい
    ことを特徴とする請求項11に記載の装置。
  15. 前記の前記送信キューからマルチメディアデータフレームを読み出して配布し、ほかの
    キューにおける、配布したマルチメディアデータフレームのメディアコンテンツと同じメ
    ディアコンテンツを有するマルチメディアデータフレームのいずれもを削除するための装
    置は具体的には、
    切り替えの前の送信キューからマルチメディアデータフレームにおけるキーフレームを
    読み出して配布する必要がある場合に、前記切り替えの後の送信キューからマルチメディ
    アデータフレームを読み出して配布することに用いられる
    ことを特徴とする請求項10〜14のいずれか1項に記載の装置。
  16. 異なるキューに記憶されたマルチメディアデータフレームは同一のグループオブピクチ
    ャGOP構造を有する
    ことを特徴とする請求項10〜14のいずれか1項に記載の装置。
  17. 各種のビットレートは1つのGOPキャッシュに対応し、
    符号化処理済みのマルチメディアデータフレームを異なるビットレートのマルチメディ
    アデータフレームにトランスコードするための装置と、
    トランスコード済みの異なるビットレートのマルチメディアデータフレームを対応する
    GOPキャッシュにそれぞれ記憶するための装置と、
    各GOPキャッシュからマルチメディアデータフレームを同期読み出して、読み出した
    マルチメディアデータを対応するキューにそれぞれ記憶するための装置と、をさらに備え

    ことを特徴とする請求項16に記載の装置。
  18. 各キューの記憶空間に格納可能なマルチメディアデータフレームの数は同一であり、各
    キューの記憶空間はいずれも2つのマルチメディアデータフレームが占有する記憶空間以
    上である
    ことを特徴とする請求項10〜14のいずれか1項に記載の装置。
JP2019206791A 2016-09-20 2019-11-15 サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置 Active JP7053556B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610835828.8 2016-09-20
CN201610835828.8A CN106454395B (zh) 2016-09-20 2016-09-20 在服务器中用于自适应提供多码率流媒体的方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017022256A Division JP2018050275A (ja) 2016-09-20 2017-02-09 サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置

Publications (2)

Publication Number Publication Date
JP2020043583A true JP2020043583A (ja) 2020-03-19
JP7053556B2 JP7053556B2 (ja) 2022-04-12

Family

ID=58165645

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017022256A Pending JP2018050275A (ja) 2016-09-20 2017-02-09 サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置
JP2019206791A Active JP7053556B2 (ja) 2016-09-20 2019-11-15 サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017022256A Pending JP2018050275A (ja) 2016-09-20 2017-02-09 サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置

Country Status (4)

Country Link
US (1) US10498786B2 (ja)
JP (2) JP2018050275A (ja)
KR (1) KR102039778B1 (ja)
CN (1) CN106454395B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4196192B2 (ja) * 2003-09-18 2008-12-17 グンゼ株式会社 スタッカーバンドラー及びその制御方法
CN108234350B (zh) * 2016-12-21 2021-08-03 华为技术有限公司 一种调度方法及客户驻地设备
CN107122159B (zh) * 2017-04-20 2020-04-17 维沃移动通信有限公司 一种在线音频的品质切换方法及移动终端
CN108307248B (zh) * 2018-02-01 2019-10-29 腾讯科技(深圳)有限公司 视频播放方法、装置、计算设备及存储介质
CN108737861B (zh) * 2018-05-11 2020-06-16 浙江大学 一种拥塞环境下基于解码优先级的带宽资源优化配置方法
CN108881185B (zh) * 2018-05-31 2022-10-25 康键信息技术(深圳)有限公司 数据发送装置及方法、数据接收装置及方法和存储介质
CN108769805B (zh) * 2018-06-11 2021-05-07 广州酷狗计算机科技有限公司 数据传输方法、装置、计算机设备及存储介质
CN109698928B (zh) * 2018-11-15 2021-04-13 贵阳朗玛信息技术股份有限公司 一种调节视频会议系统中视频流的方法及装置
CN110062003B (zh) * 2019-04-30 2022-01-25 北京金山云网络技术有限公司 视频数据发送方法、装置、电子设备及存储介质
CN110636346B (zh) * 2019-09-19 2021-08-03 北京达佳互联信息技术有限公司 一种码率自适应切换方法、装置、电子设备及存储介质
CN113141524B (zh) 2020-01-17 2023-09-29 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质
CN111669636B (zh) * 2020-06-19 2022-02-25 海信视像科技股份有限公司 一种音画同步的视频录制方法及显示设备
CN112637661B (zh) * 2020-12-22 2022-08-05 广州博冠信息科技有限公司 视频流的切换方法及装置、计算机存储介质、电子设备
CN113038246A (zh) * 2021-02-23 2021-06-25 北京金山云网络技术有限公司 多媒体帧的传输方法、装置和计算机可读存储介质
CN113259710B (zh) * 2021-06-22 2021-09-21 北京百瑞互联技术有限公司 改进音频传输卡顿的方法、系统及介质
US11770592B2 (en) 2021-06-28 2023-09-26 Synamedia Limited Intrasegment adjustment of video transmission rate
US11374998B1 (en) * 2021-09-01 2022-06-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming stall mitigation
CN114697693B (zh) * 2022-03-21 2023-09-19 联想(北京)有限公司 一种数据处理方法、装置、存储介质及电子设备
US11736552B1 (en) * 2022-09-21 2023-08-22 Microsoft Technology Licensing, Llc Sender based adaptive bit rate control

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05327836A (ja) * 1992-05-26 1993-12-10 Mitsubishi Electric Corp 音声通信装置
JP2000228765A (ja) * 1999-02-05 2000-08-15 Matsushita Electric Ind Co Ltd テレビ放送用送受信装置
JP2002077280A (ja) * 2000-08-25 2002-03-15 Sony Corp 受信装置
JP2006087125A (ja) * 2004-09-17 2006-03-30 Mitsubishi Electric Information Technology Centre Europa Bv ビデオフレームシーケンスを符号化する方法、符号化ビットストリーム、画像又は画像シーケンスを復号する方法、データの送信又は受信を含む使用、データを送信する方法、符号化及び/又は復号装置、コンピュータプログラム、システム、並びにコンピュータ読み取り可能な記憶媒体
JP2011040879A (ja) * 2009-08-07 2011-02-24 Hitachi Consumer Electronics Co Ltd データ配信システム、切替装置及びデータ配信方法
WO2014207978A1 (ja) * 2013-06-26 2014-12-31 日本電気株式会社 送信装置、受信装置および中継装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001177828A (ja) 1999-12-16 2001-06-29 Nec Corp 同期制御エンコーダ
JP2004236050A (ja) 2003-01-31 2004-08-19 Anritsu Corp 負荷分散型中継装置及び負荷分散型中継方法
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
JP5327836B2 (ja) 2008-03-18 2013-10-30 東芝エレベータ株式会社 エレベータの制御装置
JP2009267642A (ja) 2008-04-23 2009-11-12 Fujitsu Telecom Networks Ltd フロー制御装置及びフロー制御方法
CN101771492A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 调整流媒体码率的方法和装置
KR100924309B1 (ko) * 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
JP5089658B2 (ja) * 2009-07-16 2012-12-05 株式会社Gnzo 送信装置及び送信方法
US8392600B2 (en) * 2009-09-14 2013-03-05 Adobe Systems Incorporated Dynamic stream switch control
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US8705616B2 (en) * 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
EP2645639B1 (en) 2010-11-24 2015-10-07 Mitsubishi Electric Corporation Communication apparatus for providing a network access
CN103686167A (zh) * 2013-12-24 2014-03-26 广东威创视讯科技股份有限公司 多码流播出方法及装置
CN103747296A (zh) * 2013-12-31 2014-04-23 深圳市同洲电子股份有限公司 一种视频播放的方法及系统
CN103945245A (zh) * 2014-04-16 2014-07-23 上海交通大学 一种dash码率切换方法以及快速视频启动的方法
CN104796732B (zh) * 2015-04-21 2018-05-08 无锡天脉聚源传媒科技有限公司 一种音视频编辑方法及装置
CN105744342B (zh) * 2016-01-28 2019-04-12 腾讯科技(深圳)有限公司 移动终端的数据传输方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05327836A (ja) * 1992-05-26 1993-12-10 Mitsubishi Electric Corp 音声通信装置
JP2000228765A (ja) * 1999-02-05 2000-08-15 Matsushita Electric Ind Co Ltd テレビ放送用送受信装置
JP2002077280A (ja) * 2000-08-25 2002-03-15 Sony Corp 受信装置
JP2006087125A (ja) * 2004-09-17 2006-03-30 Mitsubishi Electric Information Technology Centre Europa Bv ビデオフレームシーケンスを符号化する方法、符号化ビットストリーム、画像又は画像シーケンスを復号する方法、データの送信又は受信を含む使用、データを送信する方法、符号化及び/又は復号装置、コンピュータプログラム、システム、並びにコンピュータ読み取り可能な記憶媒体
JP2011040879A (ja) * 2009-08-07 2011-02-24 Hitachi Consumer Electronics Co Ltd データ配信システム、切替装置及びデータ配信方法
WO2014207978A1 (ja) * 2013-06-26 2014-12-31 日本電気株式会社 送信装置、受信装置および中継装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHI-YUAN HSU, ET AL.: ""Rate Control for Robust Video Transmission over Burst-Error Wireless Channels"", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 17, no. 5, JPN6018004745, May 1999 (1999-05-01), pages 756 - 773, XP055509528, ISSN: 0004569825, DOI: 10.1109/49.768193 *
野田玲子(外3名): "「映像配信におけるサイマルキャストを用いた適応的ストリーム切り替え方法」", 電子情報通信学会2003年通信ソサイエティ大会講演論文集1, JPN6018004746, 10 September 2003 (2003-09-10), JP, pages 622, ISSN: 0004569826 *

Also Published As

Publication number Publication date
JP2018050275A (ja) 2018-03-29
JP7053556B2 (ja) 2022-04-12
KR20180031547A (ko) 2018-03-28
US10498786B2 (en) 2019-12-03
CN106454395B (zh) 2018-10-12
CN106454395A (zh) 2017-02-22
US20180084020A1 (en) 2018-03-22
KR102039778B1 (ko) 2019-11-01

Similar Documents

Publication Publication Date Title
JP7053556B2 (ja) サーバにおいてマルチビットレートストリーミングメディアをアダプティブに提供するための方法及び装置
Petrangeli et al. An http/2-based adaptive streaming framework for 360 virtual reality videos
US9038121B2 (en) Bit-rate constrained trick play through stream switching and adaptive streaming
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
JP4309098B2 (ja) 階層型ビデオ符号化情報の伝送方法
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
US10602240B2 (en) Decoding method switching for preview image processing using a bundle of preview images
CN108347622B (zh) 多媒体数据推送方法、装置、存储介质及设备
US8254445B2 (en) Video transmission using video quality metrics
US10148990B2 (en) Video streaming resource optimization
KR20150126860A (ko) 고속 전환을 위한 코덱 기법
US11563961B2 (en) Load balancing method for video decoding in a system providing hardware and software decoding resources
JP5322518B2 (ja) 通信方法
CN112866752A (zh) 一种视频码流自适应网络带宽方法、装置、设备及介质
US20230127325A1 (en) Load balancing method for video decoding in a system providing hardware and software decoding resources
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
JP5664241B2 (ja) 動画像データの配信方法
JP2023171661A (ja) タイルベースの没入型ビデオをエンコードするためのエンコーダおよび方法
WO2004045216A1 (en) Video streaming device and method of control for switchable video streams
JP2011192229A (ja) サーバ装置および情報処理方法
US11223664B1 (en) Switching between delivery of customizable content and preauthored media content
TWI554083B (zh) 影像處理方法及其攝影機
WO2024113869A1 (zh) 视频编码方法及相关装置
JP5367687B2 (ja) データ配信システム、データ配信装置、及びデータ配信方法
JP2003309847A (ja) 画像伝送方法および画像伝送装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210813

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220331

R150 Certificate of patent or registration of utility model

Ref document number: 7053556

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150