(57)【特許請求の範囲】
【請求項１】
ネットワークを通して、符号化されたシーケンスを端末に送信する方法において、
各符号化されたバージョンがデータの複数の個別的な部分を含み、各符号化されたバージョンがそれぞれ異なる圧縮度に対応する、同じシーケンスの複数の符号化されたバージョンを記憶することと、
前記符号化されたバージョンのうちの現在のバージョンを送信することと、
前記ネットワークによって許可されるデータ送信レートを突き止めることと、
前記端末における受信バッファの容量状態を突き止めることと、
前記複数の符号化されたバージョンのうちの少なくとも１つの候補の符号化されたバージョンについて、前記少なくとも１つの候補の符号化されたバージョンの今のところ送信されていない少なくとも１つの個別的な部分に関し、前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分が前記現在突き止められた許可データ送信レートで送信されるときに、前記今のところ送信されていない少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分に対して生じるであろうタイミングエラーの最大値を計算することと、
前記少なくとも１つの候補の符号化されたバージョンのそれぞれの前記計算された最大タイミングエラー値と、前記受信バッファの突き止められた容量状態とした場合に、前記計算された最大タイミングエラー値のそれぞれに適応する前記受信バッファの能力とを比較することと、
前記比較の結果に基づいて、送信のために、前記少なくとも１つの候補の符号化されたバージョンのうちの１つを選択することと、
選択された符号化されたバージョンを送信することとを含む方法。
【請求項２】
ネットワークを通して、符号化されたシーケンスを端末に送信する方法において、
各符号化されたバージョンがデータの複数の個別的な部分を含み、各符号化されたバージョンがそれぞれ異なる圧縮度に対応する、同じシーケンスの複数の符号化されたバージョンを記憶することと、
前記複数の符号化されたバージョンのそれぞれの少なくとも１つの個別的な部分に関し、前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分が複数の名目送信レートのそれぞれで送信されるときに、前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分に対して生じるであろうタイミングエラーの最大値を計算することと、
前記複数の符号化されたバージョンのそれぞれ、および、前記複数の名目送信レートについて、前記計算された最大タイミングエラー値を記憶することと、
前記複数の符号化されたバージョンのうちの現在のバージョンを送信することと、
前記ネットワークにより許可されるデータ送信レートを突き止めることと、
前記端末における受信バッファの容量状態を突き止めることと、
少なくとも１つの候補の符号化されたバージョンについて、前記突き止められた許可データ送信レートと、前記複数の符号化されたバージョンに対する前記記憶された最大タイミングエラー値とを使用して、前記突き止められた許可データ送信レートに対応する、前記少なくとも１つの候補の符号化されたバージョンに対する最大タイミングエラー値を推定することと、
前記少なくとも１つの候補の符号化されたバージョンのそれぞれの前記推定された最大タイミングエラー値と、前記突き止められた受信バッファ容量状態とした場合に、前記推定された最大タイミングエラー値のそれぞれに適応する前記受信バッファの能力とを比較することと、
前記比較の結果に基づいて、送信のために、前記候補の符号化されたバージョンのうちの１つを選択することと、
前記選択された符号化されたバージョンを送信することとを含む方法。
【請求項３】
前記最大タイミングエラー値は、符号化されたバージョンの変更が許可されることになる、選択された単一の個別的な部分に対してのみ計算される請求項１または請求項２記載の方法。
【請求項４】
前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分に対して計算される各タイミングエラー値は、
（ａ）前記少なくとも１つの個別的な部分と、任意の特定の個別的な部分を含む任意の特定の個別的な部分までのゼロ以上の連続して後続する個別的な部分とを、データ送信レートで送信するために必要とされる時間と、
（ｂ）前記任意の特定の個別的な部分の再生する瞬間と、前記任意の特定の個別的な部分に先行している個別的な部分の再生する瞬間との差と、の差である請求項１、請求項２または請求項３記載の方法。
【請求項５】
前記シーケンスは、ビデオシーケンスである請求項１ないし請求項４のいずれか１項記載の方法。
【請求項６】
前記シーケンスは、音声シーケンスである請求項１ないし請求項４のいずれか１項記載の方法。
【請求項７】
ビデオ録画を記憶するキャリヤにおいて、
前記記憶されたビデオ録画は、
ビデオシーケンスの符号化されたバージョンと、
前記ビデオシーケンスの少なくとも１つの他の符号化されたバージョンと、
各符号化されたバージョンがデータの複数の個別的な部分を含み、各符号化されたバージョンがそれぞれ異なる圧縮度に対応し、
複数の符号化されたバージョンのそれぞれの各個別的な部分について、および、複数の名目データ送信レートのそれぞれについて、前記個別的な部分に対する最大エラー値とを含み、
前記個別的な部分の最大エラー値は、
（ａ）前記名目データ送信レートで送信されるときの、前記個別的な部分に対するタイミングエラーの値、および
（ｂ）前記名目データ送信レートで送信されるときの、前記個別的な部分と前記個別的な部分に後続する１以上の後続する個別的な部分とに対するタイミングエラーの値、のうちの最大値であるキャリヤ。
【請求項８】
音声録音を記憶するキャリヤにおいて、
前記記憶された音声録音は、
音声シーケンスの符号化されたバージョンと、
前記音声シーケンスの少なくとも１つの他の符号化されたバージョンと、
各符号化されたバージョンはデータの複数の個別的な部分を含み、各符号化されたバージョンはそれぞれ異なる圧縮度に対応し、
複数の符号化されたバージョンのそれぞれの各個別的な部分について、および、複数の名目データ送信レートのそれぞれについて、前記個別的な部分に対する最大エラー値とを含み、
前記個別的な部分の最大エラー値は、
（ａ）前記名目データ送信レートで送信されるときの、前記個別的な部分に対するタイミングエラーの値、および
（ｂ）前記名目データ送信レートで送信されるときの、前記個別的な部分と前記個別的な部分に後続する１以上の後続する個別的な部分とに対するタイミングエラーの値、のうちの最大値であるキャリヤ。
【請求項９】
ネットワークを通して、符号化されたシーケンスを端末に送信するための装置において、
各符号化されたバージョンがデータの複数の個別的な部分を含み、各符号化されたバージョンがそれぞれ異なる圧縮度に対応する、同じシーケンスの複数の符号化されたバージョンを記憶する記憶装置と、
送信機と、
前記ネットワークにより許可されたデータレートに関するデータと、前記端末における受信バッファの容量状態に関するデータとを受け取り、少なくとも１つの候補の符号化されたバージョンについて、前記候補の符号化されたバージョンの今のところ送信されていない少なくとも１つの個別的な部分に関し、前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分が前記ネットワークによって許可された前記データレートで送信されるのであれば生じるであろう最大タイミングエラー値を計算し、前記符号化されたバージョンに対する前記計算された最大タイミングエラー値と、前記受信バッファの容量状態とした場合に、それぞれの計算された最大タイミングエラー値に適応する前記受信バッファの能力とを比較し、前記比較の結果に基づいて、送信のために、前記符号化されたバージョンのうちの１つを選択するように動作可能である制御手段とを具備する装置。
【請求項１０】
ネットワークを通して、符号化されたシーケンスを端末に送信するための装置において、
各符号化されたバージョンがデータの複数の個別的な部分を含み、各符号化されたバージョンはそれぞれ異なる圧縮度に対応する、同じシーケンスの複数の符号化されたバージョンを記憶する記憶装置と、
各符号化されたバージョンは、前記符号化されたバージョンの少なくとも１つの個別的な部分に関し、前記少なくとも１つの個別的な部分で始まる１つ以上の個別的な部分が複数の名目データ送信レートのそれぞれで送信されるのであれば生じるであろう最大タイミングエラー値を含み、
送信機と、
前記ネットワークにより許可されるデータ送信レートに関するデータと、前記端末における受信バッファの容量状態に関するデータとを受け取り、少なくとも１つの候補の符号化されたバージョンについて、前記ネットワークによって許可された前記データ送信レートと、前記少なくとも１つの候補の符号化されたバージョンのそれぞれに対する前記記憶された最大タイミングエラー値とを使用して、前記許可されたデータ送信レートに対応するそれぞれの最大タイミングエラー値を推定し、前記推定された最大タイミングエラー値と、前記受信バッファ容量状態とした場合に、それぞれの最大タイミングエラー値に適応する前記受信バッファの能力とを比較し、前記比較の結果に基づいて、送信のために、前記符号化されたバージョンのうちの１つを選択するための制御手段とを具備する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化されたビデオ、音声、または他のマテリアルをネットワーク上で送信するための方法及び装置に関する。
【背景技術】
【０００２】
【発明の開示】
【０００３】
本発明の一態様によると、端末に対しネットワーク上で符号化されたシーケンスを送信する方法であって、各バージョンがデータの複数の個別的な部分を含み、各バージョンがそれぞれの異なる圧縮度に対応する、前記同じシーケンスの複数の符号化されたバージョンを記憶することと、前記バージョンの内の現在のバージョンを送信することと、前記ネットワークによって許可されるデータレートを突き止めることと、前記端末にある受け取りバッファの状態を突き止めることと、少なくとも１つの候補バージョンについて、今までのところ送信されていないこれの少なくとも１つの個別的な部分に関して、任意の数の部分が、前記現在突き止められている許容レートで送信されるこの部分で開始するのであれば発生するであろう、タイミングエラーの最大値を計算することと、前記決定された最大エラー値と前記突き止められたバッファ状態を比較することと、前記比較の結果に基づいて、伝送のために前記バージョンの内の１つを選択することと、前記選択されたバージョンを送信することと、を含む方法が提供される。
【０００４】
別の態様では、本発明は、端末に対しネットワーク上で符号化されたシーケンスを送信する方法であって、各バージョンがデータの複数の個別的な部分を含み、各バージョンがそれぞれの異なる圧縮度に対応する、前記同じシーケンスの複数の符号化されたバージョンを記憶することと、各バージョンについて、及び複数の名目送信レートのそれぞれについて、これの少なくとも１つの個別的な部分に関して、任意の数の部分が前記それぞれの名目レートで送信されるこの部分で開始するのであれば発生するであろう、タイミングエラーの最大値を計算することと、前記最大エラー値を記憶することと、前記バージョンの内の現在のバージョンを送信することと、前記ネットワークにより許可されるデータレートを突き止めることと、前記端末にある受け取りバッファの状態を突き止めることと、少なくとも１つの候補バージョンについて、前記突き止められた許容データレートに対応するそれぞれの最大エラー値を推定するために、前記突き止められた許可データレート及び前記記憶されている最大エラー値を使用することと、前記推定された最大エラー値を前記突き止められたバッファ状態と比較することと、前記比較の結果に基づいて、伝送のために前記バージョンの内の１つを選択することと、前記選択されたバージョンを送信することと、を含む方法を提供する。
【０００５】
本発明の追加の態様は請求項に述べられる。
【０００６】
本発明のいくつかの実施形態は、添付図面を参照して一例として説明される。
【発明を実施するための最良の形態】
【０００７】
図１では、ストリーマ１が、それぞれがビデオシーケンスの圧縮されたバージョンであり、ＩＴＵ規格Ｈ．２６１またはＨ．２６３、あるいはＩＳＯ  ＭＰＥＧ規格の内の１つで定義されるアルゴリズムのような従来の圧縮アルゴリズムを使用して符号化される、ファイルがその中に記憶される記憶装置１１を含む（あるいは記憶装置１１にアクセスできる）。さらに詳細には、記憶装置１１は、同じオリジナルビデオマテリアルについて、それぞれが異なる圧縮度で符号化された複数のファイルを格納している。実際には、全てのマテリアルは、所望される場合、１つの単一ファイルに記憶できるであろうが、説明のためにそれらは別々のファイルであると仮定される。したがって、図１は３つのこのようなファイル、つまり高い圧縮度、したがって低ビットレートで符号化され、低品質の録画を表すＶ１、より低い圧縮度で、したがってより高いビットレートで符号化され、中位の品質の録画を表すＶ２、及び低い圧縮度で、したがってなおさらに高いビットレートで符号化され、高品質録画を表すＶ３を示している。当然、追加ビデオシーケンスの類似した複数の録画を記憶してよいが、これは動作の原則には重要ではない。
【０００８】
ここで「ビットレート」は、オリジナルのエンコーダによって生成され、最終的なデコーダによって消費されるビットレートを意味し、一般的に、これは、送信ビットレートと呼ばれる、ストリーマが実際に送信する速度と同じではない。これらのファイルが可変ビットレート（ＶＢＲ）で生成される、すなわち、ビデオの任意の特定のフレームのために生成されるビット数がピクチャコンテンツに依存することにも留意する必要がある。その結果、低（他）ビットレートに対する前記参照は、平均ビットレートを指す。
【０００９】
サーバは、ネットワーク２を介して端末３に出力データを供給する送信機１２を有する。送信機は従来型であり、おそらくＴＣＰ／ＩＰなどの周知のプロトコルを用いて動作している。制御装置１３は、ある特定のシーケンスの送達のために端末から要求を受け取るために、及び送信機がそれらを受信できる限り、送信機１２に送信するために記憶装置１１からのデータのパケットを読み取るために、従来の方法で動作する。したがって、単一のフレームに複数のパケットを生成する可能性は排除されないが、データは個別的なパケットとして、多くの場合ビデオの１フレームあたり１パケット読み出されると仮定される。（原則的には、単一パケットが複数のフレームのためのデータを含むことは可能であるが、これは通常、実際問題としてはあまり重要ではない）。
【００１０】
これらのパケットが、必ずしもネットワーク２で使用されるあらゆるパケット構造に関連していないことに留意されたい。
【００１１】
端末３は、受信機３１と、主にネットワーク遅延とスループットの短期の変動に対処するためのバッファ３２と、デコーダ３３とを有する。サーバの使用から十分な便益を得るために、通常よりも大きなバッファ３２を有する端末を使用することを選ぶ可能性はあるが、原則的には端末は従来型である。
【００１２】
（ＴＣＰ／ＩＰネットワークを含む）いくつかのネットワークは、使用可能な送信データレートはネットワークに対する負荷の程度に従って変動するという特性を有する。１つの及び同じビデオシーケンスの代替バージョンＶ１、Ｖ２、Ｖ３を提供する理由は、ネットワークが現在サポートできるバージョンを選ぶことができるためである。したがって、制御装置１３の別の機能とは、現在使用可能である送信データレートを突き止めるために送信機１２を調べ、どのバージョンを送信するのかに関して決定を行うことである。ここでは、多くのこのようなシステムにおいてのように、これは動的なプロセスである。つまり伝送の過程において、条件が改善する（または悪化する）につれて、サーバがより高い（またはより低い）品質バージョンに切り替わることができるように、使用可能なレートは絶えず監視される。場合によっては、（ＴＣＰ／ＩＰでのように）使用可能な送信レートが、伝送開始後まで知られていないこともある。１つの解決策は、常に最低レートバージョンを送信することから始め、さらに高品質のバージョンに対処できることが明らかになるときに上に切り替えることである。
【００１３】
いくつかのシステムは、２つのバージョンの間のあらゆる不一致を克服するために、あるバージョンの停止と別のバージョンの開始の間に送信できる暫定データを表す、ビデオシーケンスの追加バージョンを利用する。必要とされる場合、これは、例えば米国特許第６，００２，４４０号に説明される方法で実現されてよい。
【００１４】
本説明では、切り替えるかどうか、及びいつ切り替えるのかに関する実際の決定に集中する。従来のシステムは、使用可能な送信ビットレートを伝送のために使用可能なバージョンの平均ビットレートと比較する。しかしながら、本発明者らは、瞬間的なビットレートがピクチャコンテンツに応じて変化するにつれて、これから先のあるときに使用可能な送信ビットレートが瞬間的なビットレートの短期変動に対処するには不十分になるという可能性を残すため、これがＶＢＲシステムにとっては不満足であることを認識した。この時点で何らかの理論的な議論が望ましい。
【００１５】
図２に図示されるように、符号化されたビデオシーケンスはＮ個のパケットからなる。各パケットは（実際の表示時間に関して、例えば、これがビデオフレーム番号である場合があるであろう）時間インデックスｔｉ（ｉ＝０．．．Ｎ−１）を含むヘッダを有し、ｂｉ個のビットを含んでいる。この分析は、パケットｉが、それが復号できる前に完全に受信されなければならないと仮定する（つまり、最初にパケット全体をバッファに入れなければならない）。
【００１６】
単純なケースでは、各パケットは１つのフレームに相当し、タイムスタンプｔｉは単調に増加する。つまり全てのｉについてｔｉ＋１＞ｔｉである。しかしながら、フレームが２個以上のパケットを（それぞれ同じｔｉで）もたらす場合、ｔｉ＋１≧ｔｉである。フレームが（ＭＰＥＧにおいてのように）捕捉−及び−表示シーケンスを使い果たすと、ｔｉは単調に増加しない。また実際には、いくつかのフレームが削除され、その結果ｔｉの特定の値に対するフレームはない。
【００１７】
これらの時間は相対的である。受信機がパケット０を受信して、時間ｔｒｅｆ＋ｔ０でパケット０の復号を開始すると仮定する。ｔｒｅｆ＋ｔｇの「今の時間」に受信機はパケットｔｇを（及び、おそらくはさらに多くのパケットも）受信し、パケットｇの復号を開始したところである。
【００１８】
パケットｇからｈ−１はバッファ内にある。（この簡単なケースでは）ｈ＝ｇ＋１である場合には、バッファはパケットｇだけを含むことに留意されたい。時間ｔｒｅｆ＋ｔｊでは、デコーダがパケットｊの復号を開始することが要求される。したがって、時間ｔｒｅｆ＋ｔｊでは、デコーダは、パケットｊまで及びパケットjを含む全てのパケットを受信しておく必要がある。
【００１９】
今からｔｒｅｆ＋ｔｊまでの使用可能な時間は、（ｔｒｅｆ＋ｔｊ）−（ｔｒｅｆ＋ｔｇ）＝ｔｊ−ｔｇ（１）である。
【００２０】
そのときに送信されるデータは、パケットｈからｊのデータである。すなわち、  
【数１】
0004575363.tif 000002
【００２１】
であり、ここで送信レートＲにおいて伝送期間  
【数２】
0004575363.tif 000003
【００２２】
を必要とする。
【００２３】
これは、この伝送持続時間が使用できる時間以下である場合、つまり現在使用可能な送信レートＲが不等式  
【数３】
0004575363.tif 000004
【００２４】
を満たすときにだけ可能である。
【００２５】
これがフレームｊの満足のいく受信及び復号のための条件であることに留意されたい。残りのシーケンスの全体の内の満足のいく伝送は、全てのｊ＝ｈ．．．Ｎ-1についてこの条件が満たされることを必要とする。
【００２６】
明確にする理由から、方程式（４）を以下のように書き換える。  
【数４】
0004575363.tif 000005
【００２７】
Δｔｉ＝ｔｉ−ｔｉ−１である場合に、  
【数５】
0004575363.tif 000006
【００２８】
に留意されたい。
【００２９】
また、Δεｉ＝（ｂｉ／Ｒ）−Δｔｉ、及びＴＢ＝ｔｈ−１−ｔｇを定義する。ＴＢがバッファ内でごく最近受信されたパケットのタイムスタンプと、バッファ内で最も旧く受信されたパケットのタイムスタンプ（つまり、私たちがちょうど復号を開始しようとしていたもの）の間の差であることに留意されたい。したがって、ＴＢは、クライアントが時間ｔｇで有するバッファに入れられた情報量を示す。
【００３０】
したがって、条件は、  
【数６】
0004575363.tif 000007
【００３１】
である。
【００３２】
最後のパケットＮ−１まで無事に伝送する場合、この条件は任意の考えられるｊについて満たされなければならない、すなわち  
【数７】
0004575363.tif 000008
【００３３】
である。
【００３４】
方程式（７）の左側は、パケットｈの伝送からシーケンスの最後までに発生する可能性がある最大タイミングエラーを表し、条件は、実際にはこのエラーがその現在のコンテンツを考慮して、それを収容する受信機バッファの能力を超えてはならない。便宜上、私たちは方程式（７）の左側をＴｈとして呼ぶ。すなわち  
【数８】
0004575363.tif 000009
【００３５】
である。
【００３６】
したがって、方程式（７）は以下のように書いてもよい。  
Ｔｎ≦ＴＢ  （９）
実際に、シーケンス内の一定の定められた「切り替えポイント」でのみ切り替えを可能にする（及び、当然このようなポイントだけに前述された暫定データを提供する）ことが好ましい。その場合、試験はこのようなポイントだけで実行される必要がある。
【００３７】
図３は、伝送のためのビデオシーケンスの選択に続く制御装置１３の動作を示すフローチャートである。ステップ１００では、Ｖ１などのようなバージョンが伝送のために選択される。現在選択されているバージョン番号が記憶される。ステップ１０１では、フレームカウンタがリセットされる。次に（１０２）現在選択されているバージョンの第１のフレーム（または以後の反復では、次のフレーム）が記憶装置１１から読み取られ、送信機１２に送信される。通常、フレームカウンタは１０３でインクレメントされ、制御は、送信機がそれを受け入れる準備が完了するとすぐに、追加フレームが読み出され送信される、ステップ１０２に戻る。しかしながら、フレームが切り替えフレームとして指定される場合、フレームがこれを示すフラグを含むという事実はステップ１０４で認識される。
【００３８】
その結果、フレームｈでの切り替え決定は以下のように進行する。
【００３９】
ステップ１０５：使用可能な送信レートＲを決定するために送信機１２を調べる。
【００４０】
ステップ１０６：ＴＢの現在値を突き止める。これは端末で計算され、サーバに送信されてよいか、あるいはサーバで計算されてよい（以下を参照されたい）。
【００４１】
ステップ１０７：方程式（８）に従って（各ファイルＶ１、Ｖ２、Ｖ３ごとに）Ｔｈを計算する。これらをＴｈ（１）、Ｔｈ（２）、Ｔｈ（３）と呼ぶことにする。
【００４２】
ステップ１０８：Δが固定された安全マージンであるＴｈ（ｋ）＋Δ≦ＴＢの場合のｋの最高値を求める。
【００４３】
ステップ１０９：伝送のためにファイルＶｋを選択する。
【００４４】
次に、次のフレームが、おそらく３つのファイルＶ１、Ｖ２、Ｖ３の前であるが、おそらくそれらの内の別の１つから送信されるステップ１０２で、オリジナルループが再開される。
【００４５】
サーバでのＴＢの計算は、使用されている正確なストリーミングの方法に左右される。本発明者らの好ましい方法は（本発明者らの国際特許出願番号ＰＣＴ／ＧＢ０１／０５２４６［代理人参照番号Ａ２６０７９］に説明されるように）最初に最低の品質でビデオを送信することであり、その結果、データが使用されるより速い速度で送信されているため、同時に受け取りバッファを充填できる一方、端末は直ちに復号を開始してよい。この場合、サーバは現在のクライアントセッション時間（つまり、端末で現在復号されているパケットのタイムスタンプ）を、あらゆるフィードバックなしで推定することができ、したがって、ＴＢ＝最新送信パケット時間−現在のクライアントセッション時間となる。
【００４６】
再生が開始する前に、バッファ充足の何らかの所望される状態に達するまで、端末が待機するようにシステムが構成される場合、考慮に入れるべき追加の遅延があるため、状況はまったく単純ではない。この遅延が固定される場合、それは計算に含むことができる。同様に、端末がいつ再生を開始するのかを計算し、使用されるアルゴリズムとアルゴリズムによって使用されるパラメータの両方がサーバによって知られている場合、再びこれを考慮に入れることができる。しかしながら、端末が未知の型である、あるいは局所的な状態に基づいてこれのバッファを制御する場合、端末からのフィードバックが必要とされる。
【００４７】
ここでこの手順は完璧にうまくいくが、伝送プロセスの間に実行されなければならないかなりの量の処理を伴なう。したがって、改良された実施では、この計算の可能な限り多くを事前に実行することが好ましい。原則的には、これは切り替えポイントの後に続くパケットごとにＴｈ（ｋ）を計算し、この値をパケットヘッダに記憶することを必要とする。残念なことに、この計算（方程式（８）及びΔεｉの定義）は、もちろんこの前処理の時点では未知である、Ｒの値を必要とする。したがって、例えば、Ｒの考えられる値の選択のためにＴｈ（ｋ）を計算することによって先に進む（ＲＡが問題のファイルの平均ビットレートである場合）。
【００４８】
Ｒ１＝０．５ＲＡ  
Ｒ２＝０．７ＲＡ  
Ｒ３＝ＲＡ  
Ｒ４＝１．３ＲＡ  
Ｒ５＝２ＲＡ
したがって、各パケットｈは、その中に記憶されるＴｈのこれらの５つの事前計算値を有する。（例えば後述される目的のために）必要とされる場合、方程式（８）の中の最大値が発生する相対時間位置を記憶してよい。つまり、  
Δｔｈｍａｘ＝ｔｊｍａｘ−ｔｈであり、ここでｔｊｍａｘは、Ｔｈが得られる方程式８の中のｊの値である。
【００４９】
このケースでは、フレームｈでの切り替え決定は以下のように進行する。
【００５０】
使用可能な送信レートＲを決定するために送信機１２を調べる。
【００５１】
前記のようにＴＢの現在値を突き止める。
【００５２】
Ｒが、Ｔｈが事前に計算されたレートの内の１つに相当する場合、（ファイルＶ１、Ｖ２、Ｖ３ごとに）記憶装置からこの値を読み取るか、  
あるいは、Ｒがこのように相当しない場合、Ｒの実際値未満であるレートＲ１．．．Ｒ５の内の最高のもの（Ｒ−）に相当するＴｈの値（及び、必要な場合には、ｔｈ  ｍａｘ）を記憶装置から読み取り、これから（再び各ファイルＶ１、Ｖ２、Ｖ３について）Ｔｈを推定し、Ｔｈ（ｋ）＋Δ≦ＴＢの場合のｋの最高値を求め、ここではΔは固定安全マージンであり、伝送のためのファイルＶｋを選択するか、  
のどちらかである。
【００５３】
Ｔｈの推定は、Ｒ−に関連する値Ｔｈ−を使用することによって簡単に実行できるであろう。これはうまく行くが、それはＴｈを過大評価するであろうため、ときおりそれがたとえ可能であるとしても、不可能であると判断されたより高品質のストリームへの切り替えを生じさせるであろう。別のオプションは、実際値Ｒの片側である、Ｒ１．．．Ｒ５の２つの値について記憶されるＴｈの値の間の線形（または他の）補間によるであろう。しかしながら、本発明者らの好ましい手法は、  
【数９】
0004575363.tif 000010
【００５４】
に従って推定値を計算することである。
【００５５】
ここで、Ｒ−は、Ｒという実際値未満であるレートＲ１．．．Ｒ５の内の最高のレートであり、Ｔｉ−はこのレートについて事前に計算されるＴｈであり、Δｔ−ｉｍａｘはＴｉ−が得られるｔｉからの時間である（つまり、Δｔ−ｈｍａｘの付随する値である）。この方法が負の値を返す場合、それをゼロに設定する。
【００５６】
Ｔｈがレートの非線形関数であるので、これが推定にすぎないことに留意されたい。しかしながら、この方法を用いると、Ｔｉ’は常に真の値より高く、（前記に示されるマージンΔが省略できるように）自動的に安全マージンを提供する。
【００５７】
これらの方程式が、符号化プロセスが１つのフレームに（等しいｔｉの）２個以上のパケットを生成する状況に、及びフレームが昇順ｔｉよりむしろそれらが復号されるべき順で送信される双方向予測を行うＭＰＥＧで遭遇される状況に、有効であることに留意されたい。
【００５８】
前述の説明は、方程式（７）によって表される試験が、記憶されているビデオの全バージョンについて実行されると仮定する。これは好ましいが、必須ではない。（例えば、頻繁な切り替えポイントが設けられているために）画質の大きなジャンプが予想されない場合には、試験は現在のバージョン及び隣接する圧縮率に対応する１つ以上のバージョンについてのみ実行できるであろう。例えば、バージョンＶ１を送信するとき、現在のバージョンＶ１について、及び最も近い候補バージョンＶ２についてだけ、試験を実行することが十分と考えられる可能性がある。また、異なるネットワークと接続するサーバのケースでは、使用されている特定のネットワークの機能の予想される範囲内にあるデータレート要件のあるそれらのバージョンだけを試験することを選ぶ可能性がある。
【００５９】
示されている例は符号化されたビデオ用であるが、同じ方法は符号化された音声、またはリアルタイムで再生されなければならない事実上あらゆる他のマテリアルに、適用することができる。
【図面の簡単な説明】
【００６０】
【図１】本発明を具現化する伝送システムのブロック図である。
【図２】タイミング図である。
【図３】図１に図示される制御装置の動作を説明するフローチャートである。
【図１】
0004575363.tif 000011
【図２】
0004575363.tif 000012
【図３】
0004575363.tif 000013