(57)【要約】圧縮された録画済みビデオは可変ビットレートリンク上を帯域幅予約を使用して送信される。無駄にされる帯域幅を最小限に抑えるために２つを一致させるような方法で、常に使用され（予約され）る前記伝送レートを決定するために、前記データストリームは全体としてのチャンクの平均ビットレートが同じポイントで開始する任意のさらに短いチャンクの平均ビットレートに決して劣らないように選ばれるチャンクに分割される。次に、前記チャンクはバッファリングの問題なくこの平均レートを使用して送信できる。好ましくは、前記チャンクの前記平均ビットレートが同じポイントで開始する任意のさらに短い又は更に長いチャンクの平均ビットレートに決して劣らないようにチャンクを選ぶ。これには、帯域幅に対する要求が、過去のこのような要求で指定される割り当てより高い割り当てを絶対に要求しなくてよいという利点がある。異なる程度の圧縮のストリームの間で切り替わるシステムでは、切り替え点はチャンク間境界と一致するように有利に選べる。
2006506926.tif 000002
【特許請求の範囲】
【請求項１】
フレームあたりのコーディング済みビット数が一定にならないように圧縮アルゴリズムを使用して符号化されたビデオ信号のデジタルシーケンスを送信する方法であって、
（ａ）前記シーケンスをセグメントに分割することであって、第１のセグメントが、任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する前記シーケンスの始まりにある部分であり、それぞれの続くセグメントが、任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する前記先行するセグメントの直後の部分であることと、
（ｂ）セグメントごとにビットレートを決定することと、
（ｃ）前記決定されたビットレートで前記信号を送信することと、
を備える、方法。
【請求項２】
フレームあたりのコーディング済みビット数が一定にならないように圧縮アルゴリズムを使用して符号化されたビデオ信号のデジタルシーケンスを送信する方法であって、ソースビデオが、それぞれ異なる圧縮率を有する第１のシーケンス及び第２のシーケンスにコーディングされ、
（ａ）前記ストリームの少なくとも１つを分析し、それをセグメントに分割することと、
（ｂ）ステップ（ａ）で特定されたセグメント間遷移の近傍で切り替え点を選択することと、
（ｃ）前記第１のシーケンスがステップ（ａ）で分析されなかった場合に、前記第１のシーケンスを分析し、それをセグメントに分割することと、
（ｄ）前記第１のシーケンスの前記セグメントまたは各セグメントのためのビットレートを前記切り替え点まで決定することと、
（ｅ）前記決定されたビットレート（複数の場合がある）で前記切り替え点まで前記第１のシーケンスの前記信号を送信することと、
（ｆ）前記切り替え点から前方に前記第２のシーケンスを含む修正されたシーケンスを分析し、それをセグメントに分割することと、
（ｇ）前記修正されたシーケンスのセグメントのためのビットレートを決定することと、
（ｈ）前記決定されたビットレート（複数の場合がある）で前記修正されたシーケンスの前記信号を送信することと、
を備え、
そこでは前記分析が前記関連性のあるシーケンスをセグメントに分割することによりそれぞれ実行され、前記第１のセグメントが任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有するシーケンスの始まりにある部分であり、それぞれの続くセグメントが、任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する先行するセグメントの直後の部分である、方法。
【請求項３】
ステップ（ｂ）において、前記切り替え点が前記第１のシーケンスのセグメント間遷移の近傍になるように選択される、請求項２に記載の方法。
【請求項４】
ステップ（ｂ）において、前記切り替え点が前記第２のシーケンスのセグメント間遷移の近傍になるように選択される、請求項２に記載の方法。
【請求項５】
ステップ（ａ）において、前記第１のシーケンスと第２のシーケンスの両方が分析され、ステップ（ｂ）において、前記切り替え点が前記第１のシーケンスと第２のシーケンスの両方のセグメント間遷移の近傍に、あるいは前記遷移が一致しない場合には、前記２つの遷移の内のより早期の遷移の近傍になるように選択される、請求項２に記載の方法。
【請求項６】
ステップ（ａ）において、前記第１のシーケンスと第２のシーケンスの両方が分析され、ステップ（ｂ）において、前記切り替え点が前記第１のシーケンスと第２のシーケンスの両方のセグメント間遷移の近傍に、あるいは前記遷移が一致しない場合には、前記２つの遷移の内のより後期の遷移の近傍になるように選択される、請求項２に記載の方法。
【請求項７】
前記切り替え点が前記関連性のある遷移の４つのフレーム内で発生するように選択される、請求項２から６のいずれか１項に記載の方法。
【請求項８】
前記切り替え点が前記関連性のある遷移に一致するように選択される、請求項７に記載の方法。
【請求項９】
前記第１のシーケンスは、前記第２のシーケンスより高い圧縮率で符号化される、請求項２から８のいずれか１項に記載の方法。
【請求項１０】
前記第１のシーケンスは、前記第２のシーケンスより粗い量子化を使用して符号化される、請求項９に記載の方法。
【請求項１１】
前記シーケンスはフレーム間コーディングを使用して符号化され、予測値として前記第１のシーケンスの復号されたフレームを使用して符号化された前記第２のシーケンスのフレームから構成される、あるいはフレームで開始する遷移シーケンスを、前記切り替え点で生成することを含み、前記修正されたシーケンスは前記第２のシーケンスのフレームが後に続く前記遷移シーケンスを備える、請求項２から１０のいずれか１項に記載の方法。
【請求項１２】
前記またはあるシーケンスの前記第１のセグメントは、任意の考えられるこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する前記シーケンスの前記始まりのその部分であり、それぞれの続くセグメントが、任意の考えられるこのような部分のフレームあたりの前記平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する前記先行するセグメントの直後のその部分である、請求項１から１１のいずれか１項に記載の方法。
【請求項１３】
前記またはあるシーケンスの前記第１のセグメントは、最大所定長を超えない任意の考えられるこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有するシーケンスの始まりにあるその部分であり、それぞれの続くセグメントが、前記最大所定長を超えない任意の考えられるこのような部分のフレームあたりの前記平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する前記先行するセグメントの直後のその部分である、請求項１から１２のいずれか１項に記載の方法。
【請求項１４】
前記またはあるシーケンスの少なくとも前記後期セグメントのそれぞれに決定される前記ビットレートは、そのセグメントのためのフレームあたりの平均コーディング済みビットに等しいフレーム周期あたりのビット数である、請求項１から１３のいずれか１項に記載の方法。
【請求項１５】
前記またはあるシーケンスの少なくとも前記後期セグメントのそれぞれに決定される前記ビットレートは、そのセグメントのための名目レート以上である許可されたビットレートの集合の内の最低のものに等しいフレーム周期あたりのビット数であり、前記名目レートが、前記先行するシーケンスのための前記決定されたビットレートがその先行するセグメントのための前記名目レートを超過する結果、許可される任意の削減を差し引いた、そのセグメントのためのフレームあたりの前記平均コーディング済みビットである、請求項１から１３のいずれか１項に記載の方法。
【請求項１６】
前記またはあるセグメントの少なくとも前記後期セグメントのそれぞれに決定される前記ビットレートは、そのセグメントのための名目レート以下である許可されたビットレートの集合の内の最高のものに等しいフレーム周期あたりのビット数であり、前記名目レートが、前記続くシーケンスのために前記決定されたビットレートがその先行するセグメントのための前記名目レート未満である結果として必要とされる任意の増加を加えた、そのセグメントのためのフレームあたりの前記平均コーディング済みビットである、請求項１から１３のいずれか１項に記載の方法。
【請求項１７】
前記またはあるシーケンスの少なくとも前記後期セグメントのそれぞれに決定される前記ビットレートは、
（ｉ）名目レートが、前記先行するシーケンスのために前記決定されたビットレートがその先行するセグメントのための前記名目レートを超過する結果として許可される任意の削減を差し引いた、そのセグメントのためのフレームあたりの前記平均コーディング済みビットである、そのセグメントのための前記名目レート以上である許可されたビットレートの集合の最低のものと、
（ｉｉ）前記続くセグメントのためのフレームあたりの前記平均コーディング済みビット数以上である許可されたビットレートの集合の最低のものと、
の大きい方に等しいフレーム周期あたりのビット数である、請求項１２に記載の方法。
【請求項１８】
前記またはあるシーケンスの少なくとも前記後期セグメントのそれぞれに決定される前記ビットレートは、
（ｉ）名目レートが、前記続くシーケンスのための前記決定されたビットレートがその先行するセグメントのための前記名目レート未満である結果、必要とされる任意の増加を加えたそのセグメントのためのフレームあたりの前記平均コーディング済みビット数である、そのセグメントのための前記名目レート以下である許可されているビットレートの集合の最高のものと、
（ｉｉ）前記先行するセグメントのためのフレームあたりの前記平均コーディング済みビット以下である許可されているビットレートの集合の最高のものと、
の小さい方に等しいフレーム周期あたりのビット数である、請求項１２に記載の方法。
【請求項１９】
前記決定されたビットレートの予約を要求するコマンドを電気通信網に送信することを含む、請求項１から１８のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電気通信網上でのデジタルでコーディングされたビデオ信号、さらに詳細には圧縮アルゴリズムを使用して符号化されたビデオ信号の伝送に関する。
【背景技術】
【０００２】
圧縮アルゴリズムの理論的根拠は、送信されることを必要とするビット数を削減するためにオリジナルのビデオ信号の固有の冗長性を利用することである。多くのこのようなアルゴリズムは、ＩＴＵ  Ｈ．２６３規格及びＩＳＯ  ＭＰＥＧ規格などの国際規格に定められている。これらの有用な検討は、Ｇｈａｎｂａｒｉ，Ｍの「ビデオコーディング、標準コーデック入門（Video Coding, an introduction to standard codecs）」１９９９年ロンドン、ＩＥＥに示されている。
【０００３】
冗長性の程度は、当然画像コンテンツに応じて変化し、その結果、圧縮効率もまた変化し、フレームあたりのコーディング済みビット数が変わることになる。１つのオプションは、送信済みビットレートが時間とともに大きく変化する、いわゆる可変ビットレート（ＶＢＲ）システムと同様にビットをそれらが生成されるにつれて送信することである。もう１つのオプション（固定ビットレート（ＣＢＲ）システム）は、これらの変動をならすために送信機と受信機の両方でバッファを利用し、前記送信バッファから前記受信バッファに定速で送信することである。ＣＢＲシステムは、バッファオーバフローを妨害するために（例えば使用される量子化の粗さを調整する、あるいはフレーム削除によって）データが生成されるレートを変えるためにフィードバック機構を活用する。バッファリングの使用は必ず遅延の発生を伴ない、開始の待ち時間（ＬＯＳ）を増加する。つまりユーザは、ピクチャの復号及び表示が開始する前に受信バッファが必要なレベルまで満たされる間、待機しなければならない。前記フィードバック機構は画質の低下を伴なう。
【０００４】
また、ビットレート変動を完全には排除せずとも、削減するためにある程度のバッファリングを利用することも提案されてきた（例えば、Ｆｕｒｉｎｉ，Ｍ．及びＴｏｗｓｌｅｙ，Ｄ．Ｆ．、「インターネットでのリアルタイムトラフィック伝送（Real-Time Traffic transmissions over the Internet）」、マルチメディアに関するＩＥＥＥ議事録（ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｍｕｌｔｉｍｅｄｉａ）、２００１年３月、第３巻、第１号を参照すること）。
【０００５】
電気通信網、及び特にインターネットなどのパケット網で送信するときの主要な考慮事項は、パケット損失及び予測不可能な遅延により問題が引き起こされる可能性があるネットワーク輻輳の影響である。これにより、送信機が、ネットワークに一時期その伝送のために指定された保証済みビットレートを割り当てるようにネットワークに要求できる予約システムが提案された。「ＲＳＶＰ」と呼ばれる１つのこのようなシステムは、インターネットエンジニアリング作業部会（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）（ＩＥＴＦ）文書ＲＦＣ２２０５に記述されている。しかしながら、差別化されたサービスの完全優先転送（Ｅｘｐｅｄｉｔｅｄ  Ｆｏｒｗａｒｄｉｎｇ  ｏｆ  Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅ）、またはＣＲ−ＬＤＰなどの他のシステムも使用されてよい。
【０００６】
ライブビデオ画像のケースでは、コーディングされているビットストリームの将来の特性は未知であるが、録画されている画像についても、この特性は未知である（ｗｉｔｈ  ｒｅｃｏｒｄｅｄ  ｍａｔｅｒｉａｌ，ｈｏｗｅｖｅｒ，ｔｈｅｙ  ａｒｅ）。予約システムにより予約されるビットレートの量を変更できるという事実は、前記コーディングされた資料の知識に基づいて、常にどの程度多くのネットワーク容量を予約するのかの方針に関して決定する機会を提供する。簡略な手法はピーク（ＶＢＲ、バッファリングされていない）ビットレートを計算し、伝送の持続時間全体でこれを要求することであるが、これはネットワーク容量を無駄使いし、言うまでもなく要求される容量が大きいほど、ネットワークがそれを提供できず、したがって予約要求が拒絶される確率は高くなる。要求されるビットレートを最小限に抑える別の簡略な手法は、全体的な伝送の平均ビットレートを計算し、これを要求することである。しかしながら、これは受信機における非常に大きなバッファ、（その大きな記憶量が今日相対的に安価であることを考えると）さらに重要なことには大きなＬＯＳに対するニーズを生じさせる。ピークレート手法に対する改良はＦｕｒｉｎｉ及びＴｏｗｓｌｅｙによる前記に引用された論文で検討されている。彼らの方式は、ピークレートが最大に到達するビデオシーケンスのポイントを特定し、そのポイントまでの期間このレートを要求することを必要とする。次に、シーケンスの残りでの最大ピークレートが定められ、この（低い方の）レートが要求される。このプロセスは、シーケンス全体で同じように続行する。前記論文は、ある程度のバッファリングが適用される可能性があり、それにより予約アルゴリズムが適用される前に有効なピークレートを削減することも提案している。このシステムは、単一ピークレートシステムに比べてネットワーク使用の効率を改善するが、依然として多くの無駄に使われる（つまり予約されるが、使用されない）ネットワーク容量があり、言うまでもなく、最大ピークレートがシーケンスの終盤で発生する場合に利点は小さい。しかしながら、それには、要求されるネットワーク容量の量が減少し、特に予約要求が、過去の要求のビットレートを上回るビットレートを絶対に要求せず、それにより予約要求が拒絶されるリスクを削減するという利点がある。
【発明の開示】
【課題を解決するための手段】
【０００７】
本発明のある態様に従って、
（ａ）第１のセグメントが、任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有するシーケンスの始めにある部分であり、それぞれの続くセグメントは、任意の短い方のこのような部分のフレームあたりの平均コーディング済みビット数以上である、フレームあたりの平均コーディング済みビット数を有する先行するセグメントの直後の部分である、シーケンスをセグメントに分割することと、
（ｂ）セグメントごとにビットレートを決定することと、
（ｃ）前記決定されたビットレートで信号を送信することと、
を備える、フレームあたりのコーディング済みビット数が一定ではないように圧縮アルゴリズムを使用して符号化されたビデオ信号のデジタルシーケンスを送信する方法が提供される。
【０００８】
別の態様では、本発明は、
（ａ）ストリームの少なくとも１つを、それをセグメントに分割するために分析することと、
（ｂ）ステップ（ａ）で特定されるセグメント間の遷移の近傍で切り替え点を選択することと、
（ｃ）前記第１のシーケンスがステップ（ａ）で分析されなかった場合、第１のシーケンスを分析し、それをセグメントに分割することと、
（ｄ）前記切り替え点までの前記第１のシーケンスの前記セグメントまたは各セグメントのためのビットレートを決定することと、
（ｅ）前記決定されたビットレート（複数の場合がある）で前記切り替え点まで前記第１のシーケンスの前記信号を送信することと、
（ｆ）前記切り替え点から前方へ、それをセグメントに分割するために第２のシーケンスを含む修正されたシーケンスを分析することと、
（ｇ）前記修正されたシーケンスのセグメントのためのビットレートを決定することと、
（ｈ）前記決定されたビットレート（複数の場合がある）で前記修正されたシーケンスの前記信号を送信することと、
を備え、
前記分析がそれぞれ前記関連性のあるシーケンスをセグメントに分割することにより実行され、そこでは前記第１のセグメントは、任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりのコーディング済みビット平均数を有するシーケンスの始まりにある部分であり、それぞれの続くセグメントが任意のさらに短いこのような部分のフレームあたりの平均コーディング済みビット数以上であるフレームあたりの平均コーディング済みビット数を有する先行するセグメントの直後の部分である、フレームあたりのコーディング済みのビット数が一定にならないように圧縮アルゴリズムを使用して符号化されたビデオ信号のデジタルシーケンスを送信する方法を提供し、前記ソースビデオはそれぞれ異なる圧縮率を有する第１のシーケンス及び第２のシーケンスにコーディングされていた。
【０００９】
本発明の他の態様は、下位請求項に以下に詳しく説かれている。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して本発明のいくつかの実施形態を例示する。
【００１１】
受信機で、（フレーム周期の整数に等しいが）前記受信機がフレームｇの復号を開始する時間ｔｇから受信機がフレームｈの復号を開始する時間ｔｈまで伸張するなんらかの任意の時間セグメントを考える。このセグメントの持続時間はｈからｇである。さらに、このセグメントの間の伝送速度がフレーム周期あたりＡビットであると仮定する。
【００１２】
明らかに、時間ｔｇで、受信機はフレームｇを含むフレームまですべてのフレームのためのビットをすでに受信しているはずである。つまり、
【数１】
2006506926.tif 000003
【００１３】
ここではｄｊはフレームｊについてエンコーダにより生成されたコーディング済みのビットの数である。
【００１４】
ただし、受信機が、時間ｇ前に、ｐ個の追加のビットも受信したと仮定する。つまり合計、
【数２】
2006506926.tif 000004
【００１５】
である。
【００１６】
受信機がフレームｋの復号を開始する任意のときｔｋ（ｔｇ≦ｔｋ≦ｔｈ）では、受信機は（ｋ−ｇ）Ａビットも受信したので、したがって
時間ｔｋで受信された総ビットは
【数３】
2006506926.tif 000005
【００１７】
である。
【００１８】
この時点で、受信機はフレームｋを含むフレームまでのすべてのビットを有する必要がある。つまり、
時間ｔｋで必要とされる総ビットは
【数４】
2006506926.tif 000006
【００１９】
である。
【００２０】
受信されたビット数は必要とされる数に少なくとも等しくなくてはならないため、バッファアンダフローを回避するために満たす必要のある条件は、
【数５】
2006506926.tif 000007
【００２１】
または
【数６】
2006506926.tif 000008
【００２２】
である。
【００２３】
これがプリロードビットｐの伝送を行わずに達成されなければならない場合には、これは、
【数７】
2006506926.tif 000009
【００２４】
または
【数８】
2006506926.tif 000010
【００２５】
を必要とする。
【００２６】
従って、伝送済みのレートＡは、
【数９】
2006506926.tif 000011
【００２７】
の場合に達成されるであろうｋ（ｇ＋１≦ｋ≦ｈ）の任意の値についてフレームｇ＋１からｋの上でフレームあたりの平均生成ビット以上でなければならない。
【００２８】
このレートを使用するということは、ｋ＝ｈについて、つまり前記セグメントの最後に最大が発生しない限り、前記セグメントの間に送信されるビット（ｈ−ｇ）Ａの数が前記セグメントについて生成されるビット数を超えることを意味する。最大が通過した後にこのようにして計算された伝送レートを引き続き使用することは絶対的に必要なものより高いレートの使用を表していると考えられることを前提として、ここに説明される本発明の第１のバージョンは、これらの最大が常に前記セグメントの最後に発生するように、送信されるデータをセグメントに分けることを目的とする。
【００２９】
説明される第１の方法は、インターネットなどのパケット網で、ＭＰＥＧなどの圧縮アルゴリズムを使用してすでにコーディングされた、記憶されているビデオ資料の伝送用である。それは、前記ネットワークがビットレート容量の予約に対する措置を有することを前提とする。それは、
−開始の小さな待ち時間
−低送信ビットレート、及び
−高伝送効率（つまり少ない浪費）
を達成するような方法で、時間の関数として使用されるビットレートを決定することを目的としている。しかし、以上は矛盾する要件であるため、いかなる解決策も必ず妥協案となってしまわざるを得ない。
【００３０】
この例では、選ばれるビットレートに対する制約はないこと、及び伝送に使用されるビットレート及びネットワークで予約されるビットレートが同じであることが仮定される。
【００３１】
第１のバージョンは、要求されたビットレートが絶対に増加できない。つまり、それは単調に減少する時間の関数であるという制約を受けている。つまり、前記に注記されたように、これは予約の失敗のリスクを削減する上で望ましい。
【００３２】
このような膨大な記憶装置ハードウェアは現在のユーザにとっては問題ではないため、実際には、この方法の結果生じる必要とされるバッファサイズも、ＶＢＲビデオ伝送を達成するために平均ビットレートを使用することに比較して大幅に削減されているが、この解決策では、デコーダで必要とされるバッファサイズを削減することは主要な懸念ではない。実際問題ではめったに遭遇しない最悪のケースでも、必要とされるバッファサイズはもはや平均ビットレートでＶＢＲビデオストリームを送信するときに必要されるより大きくないであろう。
【００３３】
以下のアルゴリズムは、使用される「伝送の関数（「ＦＯＴ」）」を決定する。
【００３４】
ビデオシーケンスの中にＮ個のフレームがあり、フレームごとに符号化されたビット数はそれぞれｄ０、ｄ１、…ｄＮ−１であると仮定する。
【００３５】
前記に注記されたように、このアルゴリズムは、伝送の関数が絶対に増加できないが、減少するにすぎないという制約を受けている。
【００３６】
概念上、伝送速度の変化はＦＯＴの任意のフレーム間隔で発生できる。実際問題としては、使用されている特定の予約システムの制約に応じて、前記レートをどの程度頻繁に変更してよいかに関する制限があってよい。しかしながら、単調に減少するＦＯＴを用いると、その唯一の効果は実際に必要とされるより多くの容量の予約であるため、（ネットワーク容量を浪費するが）レート変更の遅延は品質の損失を生じさせない。前記アルゴリズムの第１のステップは、ＦＯＴがどのくらい多くの「ステップ」を有するか、及びいつ各ステップが発生するのかを検出することである。
【００３７】
最初に、開始からフレームｉを含むフレームまでのビデオシーケンスの平均ビットレートを表す以下を定義する。
【数１０】
2006506926.tif 000012
【００３８】
次に、Ａ０、Ａ０、…ＡＮ−１が計算され、これらから最大Ａｉを有するｉの値が計算される。この値がｋ０であると仮定する。第１の「ステップ」エッジは、フレームｋ０の最後で発生すると定められる。それは、フレームｋ０の最後まで、ＦＯＴがその最高の伝送速度を必要とすることを意味する。
【００３９】
第１の「ステップ」を検出した後に、フレーム（ｋ０＋１）は以下のフレームのための「第１の」フレームとして見なされ、Ａｉ＋１（１）がｉ＝ｋ０＋１、ｋ０＋２、．．．Ｎ−１について計算される。これについての式は、
【数１１】
2006506926.tif 000013
【００４０】
または、一般的なケースでは
【数１２】
2006506926.tif 000014
【００４１】
である。
【００４２】
再び、最大値は、フレームｋ１の最後で第２の「ステップ」エッジとして選ばれ、ｋ１はｉの対応する値である。前記手順は、フレームＮ−１での最後の「ステップ」エッジに達するまで繰り返される。一般的には、これは、ビデオシーケンスをＭ−１個のセグメントに分割するとして見なされてよい、Ｍ個の値ｋｍ，ｍ＝０、．．．Ｍ−１（ここではｋＭ−１はつねにＮ−１に等しい）を生じさせる。セグメント０はフレーム０からｋ０を備える。他のセグメントｍはそれぞれフレームｋｍ−１＋１からｋｍを備える。
【００４３】
前記アルゴリズムの第２の段階の目的は、各「ステップ」の「レベル」に適切な伝送速度を選ぶことである。ここでは、理論的には、プリロードされるビットを使用しなくても各「ステップ」の最後までにすべての必要とされるビットが送達されることを保証できる最低のレートは、前記セグメントを構成するフレームのビットレートの平均である。さらに高いレートを用いる場合にはネットワーク容量は浪費される可能性がある一方、さらに低レートは、必ずプリロードされるビットを必要とし、その結果さらに高いＬＯＳを必要とする。また、さらに高いレートはリソースの予約の失敗のさらに大きなリスクにつながるに違いない。
【００４４】
Ｍ個のセグメントｍ＝０，１、…Ｍ−１がある。また、以下を定義する。
【００４５】
Ｓｉはセグメントｉの中で生成されるビットの合計である。つまり、
【数１３】
2006506926.tif 000015
【００４６】
Ｒｉはセグメントｉの中のＦＯＴの伝送レートである。（Ｋ０＝ｋ０＋１であることに注意する。）
Ｋｊはセグメントｉの中のフレームの数である。つまり、ｋｉ−ｋ１−ｊである。
【００４７】
このケースでは、必要とされるレートは平均レートＲｉ＝Ｓｉ／Ｋｉであるにすぎない。つまりｉ＝１，２…Ｍ−１である。
【００４８】
この方法は、ｋ−１＝−１と定義する場合に、セグメント０のためのレートＲ０を計算するためにも使用できる。
【００４９】
ＭＰＥＧビデオコーディングでは、第１のフレームはつねにＩフレームであり、それはＰフレームまたはＢフレームより多くのビットを生成することに注意する。したがって、多くの場合、結果は、第１のセグメントがただ１つのフレームしか含まず、伝送速度Ｒ０がＲｉよりはるかに大きいことを示す。ユーザは、さらに高い確率でリソース予約を成功させるために数個の「フレーム」間隔を容易に待つことができるため、Ｒ０＝Ｒｉを設定することを好む。
【００５０】
第３のステップ。ＦＯＴ全体を決定した後に、デコーダでの必要とされるバッファサイズを決定できる。
【００５１】
ここで、選ばれてよいレートに対する制約を受ける第２の修正されたバージョンを説明する。例えば、制約は、レートがフレームあたりビットの整数でなければならない、あるいはさらに一般的に、レートが離散レート数の１つでなければならないということである場合がある。分析では、以下のように定められる量子化演算子を使用する。
【００５２】
Ｑ＋（Ｘ）は（「天井レート」とも呼ばれる）Ｘ以上の最低許容レートを意味する。
【００５３】
Ｑ−（Ｘ）は（「下限レート」とも呼ばれる）Ｘ以下の最高許容レートを意味する。
【００５４】
２つのオプションが説明される。
【００５５】
（ａ）天井レートまで切り上げる。このケースでは、使用されるレートは、ある特定のセグメントについて厳密に必要なものより高くなる場合があり、続くセグメントにとってさらに低いレートを使用する機会を提供してよい。
【００５６】
（ｂ）下限レートを切り下げる。このケースでは、使用されるレートは、ある特定のセグメントについて必要なものより低くなる場合があり、先行するセグメントのためにさらに高いレートを使用するニーズが生じる。
【００５７】
第１に天井オプションを考える。最初に、オリジナルＦＯＴの中の第１の「ステップ」の「高さ」の上限値を、新しいＦＯＴの中の精緻化された第１の「ステップ」の「高さ」として定義する。このようにして、第１の「ステップ」の後に、「第１の」ステップに属するフレームのビットの合計より多くのビットが受信機に送信されたことが注目されるであろう。したがって、第２の「ステップ」を精緻化すると、続く「ステップ」に属するが、過去の「ステップ（複数の場合がある）」の中で送信されたビットの数を除外し、第２の「ステップ」の平均レートを計算し直す必要がある。新しい平均ビットレートの上限値が古い第３の「ステップ」の平均レートの上限値以上である場合、それは単に精緻化された第２の「ステップ」の「高さ」として定義される。それ以外の場合、古い第３の「ステップ」の平均ビットレートの上限値を、精緻化された第２の「ステップ」の「高さ」として定義する。精緻化された最後の「ステップ」の「高さ」が固定されるまでこの手順に従うこと。それはつねに各「ステップ」の上限値を取るため、ＶＢＲビデオストリーム伝送が前記ビデオシーケンスの持続時間より短い数フレーム間隔で達成されることが考えられる。新しいＦＯＴに基づいた伝送をシミュレーションすることで、ＦＯＴの寿命持続時間は正確に指定できる。いったんＶＢＲビデオストリーム伝送が達成されると、予約されたネットワークリソースはただちに解放できる。したがって、１００％の帯域幅活用は依然として保証されている。精緻化された第１の「ステップ」の「高さ」を用いると、ＬＯＳを正確に計算し直すことができる。最後に、伝送手順をシミュレーションすることにより、オーバフローを防止するために必要とされるバッファサイズも固定できる。
【００５８】
採用される手順は以下のとおりである。セグメントへの分割は前記のように行われる。
【００５９】
前記に定められた量Ｓｉ、Ｒｉ、Ｋｉだけではなく、セグメントｉの中の伝送速度の仮の値であるＲ１ｉも導入する。
【００６０】
Ｉ．すべての平均速度
【数１４】
2006506926.tif 000016
【００６１】
を計算する。
【００６２】
ＩＩ．セグメント０のレートを
【数１５】
2006506926.tif 000017
【００６３】
として設定する。
【００６４】
（前述されたように、第１のセグメントにさらに低いレートを使用することが所望される場合には、代わりにセグメント１で開始してよいことに注意する。）
ＩＩＩ．量子化の前に、過去のセグメントの間に送信された余分のビットを差し引くことによって、どちらか大きい方であるセグメント１のレートを設定する。
【数１６】
2006506926.tif 000018
【００６５】
ＩＶ．残りのセグメントｉ＝２…Ｍ−１の場合、どちらか大きい方である。
【数１７】
2006506926.tif 000019
【００６６】
当然、ｉ＝Ｍ−１について第２の代替策は発生しない。
【００６７】
説明される第３のバージョンは、「下限」レートを使用する。このケースでは、処理は最後の「ステップ」から開始して逆の順序で実行されなければならない。これは、ある特定のセグメントで送信できないビットが過去のセグメントの中で事前に送信できるために必要である。前記特殊な手順は、最初に、新しいＦＯＴの精緻化された最後の「ステップ」の新しい伝送速度として、最後の「ステップ」の平均ビットレートの下限値を定める。次に、精緻化された「最後の」ステップにより必要とされるが、伝送できないビットの数が決定できる。過去の「ステップ（複数の場合がある）」は、新しい最後の「ステップ」ＦＯＴが開始する前に送信された余分のビットのこのような数を保証しなければならない。したがって、最後から２番目の「ステップ」を精緻化するときには、最後の「ステップ」により必要とされるビットの余分な数が追加された、それ自体必要とするビットをそれが搬送することを目的としなければならない。したがって、新しい平均ビットレートは、第２の最後の「ステップ」のために計算し直されなければならない。第２の最後の「ステップ」の新しい平均ビットレートの下限が、オリジナルのＦＯＴの第３の最後の「ステップ」の平均レートの下限より大きくない場合には、それを新しい第２の最後の「ステップ」の「高さ」として定めるにすぎない。それ以外の場合、古い第３の最後の「ステップ」の平均ビットレートの下限を新しい第２の最後の「ステップ」の「高さ」として定義する。第１の「ステップ」までこの手順に従うと、精緻化が達成され、精緻化されたＦＯＴが得られる。上限のケースでのように、プリフェッチされたビットの数及び精緻化された第１の「ステップ」の「高さ」を用いると、ＬＯＳは正確に計算し直すことができる。最後に、伝送手順をシミュレーションすることにより、オーバフローを妨げるために必要とされるバッファサイズも固定される。
【００６８】
前記のように、Ｍ個のセグメントｍ＝０，１、…Ｍ−１がある。また、以下を定義する。
【００６９】
Ｓｉはセグメントｉの中で生成されるビットの総数である。つまり、
【数１８】
2006506926.tif 000020
【００７０】
Ｒｉはセグメントｉの中のＦＯＴの伝送レートである。
【００７１】
Ｋｉはセグメントｉの中のフレームの数である。つまり、ｋｉ−ｋｉ−１である。
【００７２】
Ｒ１ｉは、セグメントｉの中で仮定する仮の伝送速度である。
【００７３】
Ｉ．すべての平均レート
【数１９】
2006506926.tif 000021
【００７４】
を計算する。
【００７５】
ＩＩ．セグメントＭ−１の伝送速度ＲＭ−１を、このセグメントのための平均レートの下限値に等しく設定する。つまり、
【数２０】
2006506926.tif 000022
【００７６】
ＩＩ．セグメントＭ−１でのアンダフローを妨げるためにセグメントＭ−１の始まりで受信機バッファ内に存在することが必要とされるプリロードされたビットＰＭ−１の数を計算する。
【数２１】
2006506926.tif 000023
【００７７】
ＩＩＩ．それから、次のセグメントのレートは、以下のように計算することができ、
【数２２】
2006506926.tif 000024
【００７８】
どちらか低い方であり、
【数２３】
2006506926.tif 000025
【００７９】
を用いる。
【００８０】
ＩＶ．このプロセスは、一般式、ｍ＝Ｍ−３…，０を使用して繰り返され、
【数２４】
2006506926.tif 000026
【００８１】
どちらか低い方である。
【００８２】
そして、
【数２５】
2006506926.tif 000027
【００８３】
再び、所望される場合、この反復はセグメント０のために使用されるｍ＝１及びＲ１で停止されてよい。
【００８４】
このプロセスの結果、第１のセグメントのためのプリロードであり、最初に送信される必要があるＰ０の値が生じる。事実上、受信機がｔ＝０で第１のフレームの復号を開始する前に送信されるすべてのビットを含むプリロードｂ０を定義することが便利である。
【００８５】
Ｒ０は、前記のように計算されると仮定すると、
ｂ０＝Ｐ０＋Ｒ０
である。
【００８６】
しかしながら、レートＲ１がセグメント０のために使用される場合には、（Ｋ０−１）Ｒ１個のビットだけがｔ＝０とセグメントの最後の間で送信することができるため、総プリロードは、
Ｐ０＋Ｋ０Ｒ０−（Ｋ０−１）Ｒ１
である。
【００８７】
開始の待ち時間（ＬＯＳ）は、Ｒ１が使用されていると仮定すると、ｂ０／Ｒ１である。
【００８８】
ここでバッファサイズの問題を説明する。ＦＯＴを用いると、妥当な伝送速度及びＬＯＳを取得できるのは確かである。ネットワーク伝送効率はほぼ１００％となり、それは固定平均レート帯域幅を直接的に使用するより小さなバッファサイズを必要とする。しかしながら、それがピークレート帯域幅を予約することにより必要とされるより依然としてはるかに大きい状況もある。ピークレート帯域幅を予約する方式では、デコーダでのバッファサイズが最も複雑なフレームで費やされるビット数と同じ程度多いだけで十分である。しかしながら、私たちの方式では、それより大きなバッファが必要である。固定平均ビットレートと比較すると、私たちの方式は大部分の状況ではるかに小さなバッファサイズを取得できるが、最悪の状況では私たちの方式により必要とされるバッファサイズはほぼ固定平均ビットレートにより必要とされるバッファサイズとなることが認められなければならない。このような状況は、ビデオシーケンスの最後のフレームで最大のＡｉが出現するときに起こる。このような状況では、私たちの「階段を下りる（ｄｏｗｎ  ｓｔａｉｒｓ）」曲線はほぼただ１つの「ステップ」を有する。したがって、「ステップ」変更によりバッファサイズを最小限に抑えるほど効果的ではないであろう。それにも関わらず、このような状況はほとんど出現しない。「ピークビット」が後半に現れるほど、Ａ１に対する影響は少ない。シーケンスの最後で、相当数の例外的に複雑なフレームが異常に出現しない限り、それは絶対に起こらないであろう。どのような状況が発生するのかに関係なく、ＬＯＳは私たちの方式では絶対に問題にはならない。現在、私たちは、ユーザが少し大きな記憶域を有するハードウェアを持つことは問題となってはならないと考えている。小さなＬＯＳ及び優れたネットワーク伝送効率がユーザによるさらなる懸念を引き起こすはずである。
【００８９】
加えて、ユーザが私たちの方式が必要とする大きなバッファサイズを与えることができないとしても、伝送効率とデコーダで必要とされるバッファサイズの間に妥協案が講じられてよい。このような妥協案を用いれば、必要とされるバッファサイズは、ユーザが望むようにさらに削減できる。
【００９０】
ちなみに、私たちの現在のアルゴリズムの説明は基本的な単位としてのフレームあたりビットに基づいているだけであるが、当然単位はＧＯＰとして、または特定数のピクチャまたはパケットとして共に定義できる。このアルゴリズムにおいてどのような単位を定義したいと考えるかに関係なく、原則は一般的であり、共通でなければならない。
【００９１】
ここで、「下限」法を使用してテストビデオシーケンスをコーディングするいくつかの例を説明する。それぞれのケースでは伝送の関数の値ｆ（ｔ）（またはＲｉ）、ｂ０の値、及び示唆されているｂ０の伝送レートが、（ａ）前記アルゴリズムのために、（ｂ）Ｆｕｒｉｎｉ及びＴｏｗｓｌｅｙの方法を使用して、及び（ｃ）単純な平均ビットレートを使用して示される。
【００９２】
例１「ＪａｃｋｎＢｏｘ」
（ａ）共通中間フォーマット（ＣＩＦ）の（Ｊａｃｋｎｂｏｘと名付けられる）テストシーケンス、つまりＨ．２６３＋を使用し、ステップサイズ１６の固定量子化器を用いる持続時間内の１４０個のフレームをコーディングし、私たちのアルゴリズムを用いるＦＯＴ関数を引き出した。
【００９３】
ｆ（ｔ）＝
５１００  ０＜ｔ＜Ｔ48； 
３６４５  Ｔ48＜ｔ＜＝Ｔ51；
３０５８  Ｔ51＜ｔ＜＝Ｔ52；
２８３０  Ｔ52＜ｔ＜Ｔ61；
２６８２  Ｔ61＜ｔ＜＝Ｔ70；
２６５１  Ｔ70＜ｔ＜＝Ｔ71；
２４６４  Ｔ71＜ｔ＜＝Ｔ90；
２４４７  Ｔ90＜ｔ＜＝Ｔ108；
２３２１  Ｔ108＜ｔ．
本明細書中では、デコーダがフレームｉを表示する時間としてＴｉを定める。本明細書中のすべての測定レートの測定単位をフレーム間隔あたりビットと定める。ｂ０＝３９８２４ビットである。ｂ０のために示唆されている伝送レートは、フレーム間隔あたり５１００ビットである。
【００９４】
（ｂ）Ｆｕｒｉｎｉ及びＴｏｗｓｌｅｙの方法を使用すると、以下が得られ、
ｆ（ｔ）＝
９８９６  Ｔ＜ｔ＜＝Ｔ29；
９４３２  Ｔ29＜ｔ＜＝Ｔ40；
７２７２  Ｔ40＜ｔ＜＝Ｔ41；
６５５２  Ｔ41＜ｔ＜＝Ｔ46；
６１８４  Ｔ46＜ｔ＜＝Ｔ47；
５３２８  Ｔ47＜ｔ＜＝Ｔ48；
３６９６  Ｔ48＜ｔ＜＝Ｔ51；
３６３２  Ｔ51＜ｔ＜＝Ｔ106；
３５５２  Ｔ106＜ｔ＜＝Ｔ138；
２８９６  Ｔ138＜ｔ．
ｂ０＝３９８２４ビットである。
【００９５】
彼らの伝送方式では、ｂ０はフレーム間隔あたり３９８２４ビットで達成されるであろう。
【００９６】
（ｃ）固定平均ビットレートを用いると、関数は、
ｆ（ｔ）＝３６６９となる。
【００９７】
ｂ０＝１０８４８８ビットである。
【００９８】
ｂ０は、フレーム間隔あたり３６６９ビットで達成される。
【００９９】
図１は、図形としてプロットされたこれらの結果を示す。
【０１００】
分析結果は表１に一覧表示される。
【表１】
2006506926.tif 000028
【０１０１】
また、ＣＢＲレート制御を用いて同じビデオシーケンスも符号化した。このケースではＬＯＳは２９６５６／３７３５＝７．９４フレームとなるであろう。ただし、１０フレームは通常のＣＢＲレート制御を用いて省略され、私たちが示すビット量はＶＢＲ符号化におけるビットの平均数と同じである。
【０１０２】
例２．Ｈ．２６３＋を使用する８４００フレームのテレビ番組
このテストは、８４００フレームを用いる通常のＴＶ番組ＱＣＩＦ（４分の１−ＣＩＦ）シーケンスを使用し、Ｈ．２６３＋を使用し、ステップサイズ１６の固定量子化器でコーディングした。ピクチャタイプは、Ｈ．２６３＋推奨案では１３２フレームごとの強制更新を用いるＩＰＰＰＰ…である。
【０１０３】
（ａ）
ｆ（ｔ）＝
４９７７  Ｔ0＜ｔ＜＝Ｔ3173；
４２１８  Ｔ3173＜ｔ＜＝Ｔ3679；
３９６８  Ｔ3679＜ｔ＜＝Ｔ3680；
３８４８  Ｔ3680＜ｔ＜＝Ｔ3681；
３８４４  Ｔ3681＜ｔ＜＝Ｔ4752；
３０９０  Ｔ4752＜ｔ＜＝Ｔ8392；
９９２    Ｔ8392＜ｔ＜＝Ｔ8393；
８１６    Ｔ8393＜ｔ＜＝Ｔ8394；
６４４    Ｔ8394＜ｔ＜＝Ｔ8396；
５４４    Ｔ8396＜ｔ＜＝Ｔ8397；
３８４    ｔ＞Ｔ8397；
ｂ０＝１３９４４ビットである。
【０１０４】
前述したように、ｂ０はフレーム間隔あたり４９７７ビットという第１のレートで達成されてよい。
【０１０５】
（ｂ）
ｆ（ｘ）＝
２７６７２  Ｔ0＜ｔ＜＝Ｔ8339；    ２１９５２  Ｔ8358＜ｔ＜＝Ｔ8359；
２６７０４  Ｔ8339＜ｔ＜Ｔ8340；    ２１７４４  Ｔ8359＜ｔ＜＝Ｔ8369；
２６５６０  Ｔ8340＜ｔ＜＝Ｔ8341；  ２０４４８  Ｔ8369＜ｔ＜＝Ｔ8373；
２６４８８  Ｔ8341＜ｔ＜＝Ｔ8342；  ２０３４４  Ｔ8373＜ｔ＜＝Ｔ8384；
２６２４０  Ｔ8342＜ｔ＜＝Ｔ8344；  １９９６０  Ｔ8384＜ｔ＜＝Ｔ8385；
２５８３２  Ｔ8344＜ｔ＜＝Ｔ8345；  １９０１６  Ｔ8385＜ｔ＜＝Ｔ8391；
２５１３６  Ｔ8345＜ｔ＜＝Ｔ8346；  １１６５６  Ｔ8391＜ｔ＜＝Ｔ8392；
２４１６８  Ｔ8346＜ｔ＜＝Ｔ8347；  ９９２  Ｔ8392＜ｔ＜＝Ｔ8393；
２３８１６  Ｔ8347＜ｔ＜＝Ｔ8352；  ８１６  Ｔ8393＜ｔ＜＝Ｔ8394；
２３７６０  Ｔ8352＜ｔ＜＝Ｔ8353；  ６４８  Ｔ8394＜ｔ＜＝Ｔ8396；
２３６１６  Ｔ8353＜ｔ＜＝Ｔ8356；  ５４４  Ｔ8396＜ｔ＜＝Ｔ8397；
２２８２４  Ｔ8356＜ｔ＜＝Ｔ8357；  ３８４  Ｔ8397＜ｔ＜＝Ｔ8399．
２２５２８  Ｔ8357＜ｔ＜＝Ｔ8358；  
ｂ０＝１３９４４ビットである。
【０１０６】
ｂ０はフレーム間隔あたり２９７６２ビットで送信されてよい。
【０１０７】
（ｃ）固定平均ビットレートを用いると、ＦＯＴは以下のようになるであろう。
【０１０８】
ｆ（ｔ）＝３９６６
ｂ０＝３３４８５８４ビット
ｂ０は、フレーム間隔あたり３６６９ビットで設定されてよい。
【０１０９】
図２は、Ｈ．２６３＋を用いた８４００フレームのテレビ番組のためのこれらのＦＯＴ曲線を示す。
【０１１０】
分析結果は表２に一覧表示される。
【表２】
2006506926.tif 000029
【０１１１】
例３．ＭＰＥＧ４でコーディングされる８４００フレームのテレビＱＣＩＦ番組
８４００フレームという同じテレビ番組ＱＣＩＦシーケンスが、ステップサイズ１０の固定量子化器を用いて、ＭＰＥＧ４を使用してコーディングされた。ピクチャタイプはＩＢＢＰＢＢＰＢＢＰＢＢ（Ｎ＝１２、Ｍ＝３）である。Ｂ個のピクチャを用いると、ピクチャの符号化シーケンスがピクチャの表示シーケンスと異なることが注記される必要がある。したがって、前記関係付けられるＩまたはＰ個のピクチャは前記Ｂ個のピクチャの前に送信されなければならない。私たちのアルゴリズムを使用する前になんらかの前処理が必要とされる。
【０１１２】
（ａ）最終的に、私たちのＦＯＴは以下のとおりである。
【０１１３】
ｆ（ｔ）＝
７４２６  Ｔ0＜ｔ＜＝Ｔ4750；
６９３８  Ｔ4750＜ｔ＜＝Ｔ4786；
６６４７０  Ｔ4786＜ｔ＜＝Ｔ4798；
６３０９  Ｔ4798＜ｔ＜＝Ｔ4870；
６１９０  Ｔ4870＜ｔ＜＝Ｔ4900；
６０８３  Ｔ4900＜ｔ＜＝Ｔ4918；
６０２６  Ｔ4918＜ｔ＜＝Ｔ8398；
１６８  Ｔ8398＜ｔ．
ｂ０＝１６５４８ビットである。
【０１１４】
ｂ０は、フレーム間隔あたり７４２６ビットを使用して送信できる。
【０１１５】
（ｂ）
ｆ（Ｘ）＝
５７４７２  Ｔ0＜ｔ＜＝Ｔ8338；
５０６１６  Ｔ8338＜ｔ＜＝Ｔ8350；
４９５０４  Ｔ8350＜ｔ＜＝Ｔ8368；
４８６０８  Ｔ8368＜ｔ＜＝Ｔ8371；
４８５３６  Ｔ8371＜ｔ＜＝Ｔ8383；
４４９６８  Ｔ8383＜ｔ＜＝Ｔ8386；
３１７５２  Ｔ8386＜ｔ＜＝Ｔ8389；
２８６９６  Ｔ8389＜ｔ＜＝Ｔ8398；
１６８  Ｔ8398＜ｔ．
ｂ０＝１６０４０ビットである。
【０１１６】
ｂ０は、フレーム間隔あたり５７４７２ビットで設定されてよい。
【０１１７】
（ｃ）固定平均ビットレートを用いると、ＦＯＴは以下のとおりとなるであろう。
【０１１８】
ｆ（ｘ）＝６８２５
ｂ０＝２８７４７５８ビット
ｂ０は、フレーム間隔あたり６８２５ビットで設定されてよい。
【０１１９】
図３は、ＭＰＥＧ４（Ｎ＝１２、Ｍ＝３）を用いる８４００フレームのテレビ番組のためのこれらのＦＯＴ曲線を示す。
【０１２０】
分析結果は表３に一覧表示される。
【表３】
2006506926.tif 000030
【０１２１】
前記実験結果から、１００％の伝送効率を依然として保ちながら、ＬＯＳが大幅に削減されたことが分かる。ネットワークリソースは浪費されていない。さらに改善可能である唯一のことは、デコーダで必要とされるバッファサイズをさらに最小限に抑えるということである。図４は本発明に従って動作可能なサーバのブロック図である。それは、通常のコンピュータ構成部品、つまりプロセッサ１０、メモリ１１、ディスク記憶装置１２、キーボード１３、ディスプレイ１４、及び電気通信網１６への接続のためのネットワークインタフェース１５を含む。送信されるために使用可能なビデオシーケンスは、符号化ファイル２０の形式で従来の方法でディスク記憶装置１２に記憶される。
【０１２２】
やはりディスク記憶装置１２に記憶されるのは、前記サーバの動作を制御することを実現するためのコンピュータプログラム２１である。「下限」法を使用するこのプログラムの動作は、ここで図５に示されるフローチャートに関して説明される。
【０１２３】
ステップ１００
要求は、所望されるビデオシーケンスの伝送のためにインタフェース１５を介して遠隔端末から受信される。このような要求はそのシーケンスを含むファイル２０の内のその１つのファイル名を含む。
【０１２４】
ステップ１０１
プロセッサ１０は、ディスク記憶装置１２から問題のファイルを読み取り、記憶されているシーケンスの中のＮ個のフレームごとにファイル中のコーディング済みビット数ｄｊを求め、Ｎ及びｄｊ（ｊ＝０…Ｎ−１）の値をメモリ１１に記憶する。
【０１２５】
ステップ１０２
プロセッサは前述されたようにｋＯ…ｋＭ−１を計算し、メモリ１１にＭ及びｋ０…ｋＭ−１を記憶する。
【０１２６】
ステップ１０３  すべてのｉに対してＲｌｉを計算する。
【０１２７】
ステップ１０４  ＲＭ−１＝Ｑ−｛ＲｌＭ−１｝を設定し、ＰＭ−１を計算する。
【０１２８】
ステップ１０６  ポインタｍ＝Ｍ−２を設定する。
【０１２９】
ステップ１０７  Ｒｍ及びＰｍを計算する。
【０１３０】
ステップ１０９  ｍを減分する。ｍ≧０の場合、ステップ１０７に移動する。
【０１３１】
ステップ１１１  ｂ０＝Ｐ０＋Ｒ０を計算する。
【０１３２】
ステップ１１２  セグメント持続時間を計算する。このインプリメンテーションでは、プリロード及びセグメント０は伝送目的の単一のセグメントと見なされる。したがって、
τ０＝（ｂ０／Ｒ０＋ｋ０＋１）＊τ
τi＝（ｋi−ｋi-1）＊τ  ｉ＝１…Ｍ−１
ここでは、τはフレーム期間の長さである。
【０１３３】
ステップ１１３  ｉを０に設定する。
【０１３４】
ステップ１１４  Ｒｉのレート及び少なくともτｉという持続時間を指定する予約要求を送信する。
【０１３５】
ステップ１１５  （ｉ＝０の時にＰ０プリロードビットが先行する）レートＲｉでセグメントｉを送信する。
【０１３６】
ステップ１１６  すべてのセグメントが送信されたら停止する。それ以外の場合には、１１７でｉを増分し、ステップ１１４に移動する。
【０１３７】
前述されたＲＳＶＰシステムなどのいくつかの予約システムは、マルチキャストに対応するために、受信側端末により予約要求が発行されることを必要とする。このようなケースでは、ステップ１１３はＲｉ及びτｉを指定する受信側端末へのメッセージの伝送を指定するために修正されるであろう。その結果端末は必要とされる予約要求をネットワークに送信するであろう。
【０１３８】
いくつかのネットワークでは、予約されたレートが変更されてよい時間になんらかの制約がある場合がある。しかしながら、前記に採用される手法は、第１を除くあらゆる予約要求が以前より低いレートを要求するためにこのような問題点の影響は受けない。したがって、実際の送信レートが削減された後にこのような要求を処理する上での遅延から予約レートは高いままとなる。このケースでは、ネットワーク活用の効率は低下するが、伝送品質は影響を及ぼされない。
【０１３９】
前述された予約アルゴリズムは、予約されたビットレートが絶対に増加されてはならないという制約の上に構築される。しかしながら、これは必須ではないため、この制約を条件としない本発明の第２の実施形態がここに説明される。
【０１４０】
そのケースでは、各セグメントは、前述したように、前記セグメントのための平均生成ビットレートΣｄjがそのセグメントの開始で始まるビデオシーケンスの任意のさらに短い部分については平均以上であるが、同じ点で開始するさらに長い部分の平均より少ないように選ばれる。
【０１４１】
手順は一般的なセグメントｑ（＝０．．．Ｍ−１）について説明される。
【数２６】
2006506926.tif 000031
【０１４２】
を使用すると、
すべてのｋｑ−１＋１≦ｉ≦ｋｑ−１＋Ｈ（あるいはこれがさらに短い場合にはｋｑ−１＋１≦ｉ≦Ｎ−１）の場合のＡｉ（ｑ）が計算され、ここではＨは許可されなければならない何らかの定められた最大長である。
【０１４３】
Ａｉ（ｑ）が最大であるｉの値を検出し、ｋｑをｉのこの値に等しく設定する。
【０１４４】
これは、最大平均レートの検索がその範囲内で制限されるという点を除き、前述された手順と同じである。
【０１４５】
いったんｋｑ（ｑ＝０、…Ｍ−１）が求められると、実際の伝送速度は、レートが先行するセグメントのレートを上回る、あるいは続くセグメントのレートを下回るのを防ぐために定められるあらゆる制限が省略されるという点を除き、まさに前述されたとおりに求めることができる。
【０１４６】
本発明の第２の実施形態は、ビデオレート切り替えの可能性を探求する。ここでは、異なる画質、従って異なるデータレートの２つの（またはそれ以上の）ビデオストリームが生成される。通常、これらは、量子化の異なる粗さ、つまり、低品質を使用することにより生成されてよく、低データレートストリームは粗い量子化器を使用し、さらに高いデータレートを有するさらに高品質のストリームはあまり粗くない量子化器を使用する。
【０１４７】
ビデオレート切り替えの可能性は、おそらくレート予約の失敗は伝送の始まりで発生するこの状況で特に重要であり、前記状況は相対的に低品質のストリームを最初に送信し、後に信号及び／またはネットワーク状態の性質がそれを可能にするときにさらに高品質のストリームに切り替えることにより矯正できる。しかしながら説明されるシステムは、ビデオレート切り替えがなんらかの他の理由で使用される場合にも有効である。
【０１４８】
フレーム間のコーディングが使用されるとき、２つの異なるストリームの間の切り替えにより、コーダ及びデコーダでの予測値のミストラッキングが原因でピクチャの深刻な劣化が引き起こされる場合がある。しかしながら、切り替え先のストリームのフレームと切り替え元のストリームのフレームの間の差異を本質的にコードアップする（ｃｏｄｅ  ｕｐ）遷移コーディング済みフレームをときおり生成することにより、画質のこのような劣化を受けずに切り替えが対処されてよい。したがって、第１のストリームからのフレームの伝送には複数の遷移フレームの１つが、次に第２のストリームからのフレームが後に続く。このような遷移フレームの生成は新しくなく、さらに説明されない。このようなシステムの説明については、私たちの国際公開第９８／２６６０４号（及び対応する米国特許第６，００２，４４０号）を参照されたい。いわゆる「ＳＰフレーム」を使用する別のこのようなシステムは、２００１年１月０９日から１２日、ドイツ、ＥｉｂｓｅｅのＩＴＵ−Ｔビデオコーディング専門家グループ会議（ＩＴＵ−Ｔ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ｍｅｅｔｉｎｇ）、Ｍａｒｔａ  Ｋａｒｃｚｅｗｉｃｚ及びＲａｇｉｐ  Ｋｕｒｃｅｒｅｎの「ＳＰフレームの提案（Ａ  Ｐｒｏｐｏｓａｌ  ｆｏｒ  ＳＰ−ｆｒａｍｅｓ）」、文書ＶＣＥＧ−Ｌ−２７、及び２００１年９月２４日から２７日、米国カリフォルニア州サンタバーバラ（Ｓａｎｔａ  Ｂａｒｂａｒａ、ＣＡ，ＵＳＡ）、ＩＴＵ−Ｔビデオコーディング専門家グループ会議、Ｒａｇｉｐ  Ｋｕｒｃｅｒｅｎ及びＭａｒｔａ  Ｋａｒｃｚｅｗｉｃｚ、「ＳＰフレーム実証（ＳＰ−ｆｒａｍｅ  ｄｅｍｏｎｓｔｒａｔｉｏｎｓ）」、文書ＶＣＥＧ−Ｎ４２に説明されている。
【０１４９】
前述された「ＦＯＴ」手法に関連して、２つのストリーム間で切り替えるという問題は、処理される必要のあるいくつかの問題を提示している。第１のストリームから第２のストリームに時間内の任意の点での切り替えを検討する場合には、一般的に、デコーダバッファが、第２のストリームを復号するために有効ではない第１のストリームのフレームを含むであろう。したがって、デコーダが第２のストリームの復号に即座に切り替えるためであると想定すると、これらのフレームは未使用となり、浪費された伝送容量を表す。さらに悪いことには、第２のストリームの復号のために必要とされるフレームはバッファ内には存在しないであろう。理論的には、ストリームの始まりとなるために実際に送信されなければならない第２のストリームの部分の始まりを考慮して第２のストリームのためのＦＯＴが再計算されると、これは対処可能であるが、実際問題としては、これは表示されるピクチャの中断が回避されなければならない場合に法外に高い送信済みデータレート要件を生じさせることになる。
【０１５０】
無駄にされるビットという問題は、デコータがバッファ内に残る第１のストリームのフレームの復号を続行できるようにすることによって回避でき、この期間中、バッファは第２のストリーム（つまり、遷移フレーム（複数の場合がある）及び第２のストリームのフレーム）の復号のために必要とされるフレームのいくつかを蓄積する可能性があるが、それにも関わらず過剰な送信済みビットレート要件という危険が残る。
【０１５１】
理想的には、ビットストリーム切り替えは、使用可能な帯域幅が出現するとすぐに発生しなければならない。しかしながら、いま説明された問題のためにこれは実際的ではない。また、遷移フレーム（通常フレーム毎ではなく選択されたポイントだけで生成される）が生成されなければならない場合、これらが提供されなければならないポイント（切り替え点）が、好ましくは事前に計画される必要がある。
【０１５２】
このような考慮に基づき、最初に、ＦＯＴの「ステップ」の「エッジ」に一致するときに切り替える可能性を検討する。すべての送信済みのビットはピクチャに復号されているため、各「ステップ」の「エッジ」で、受信機バッファがビットを記憶しないのがこの方式の特徴である。したがって、万一オリジナルストリームの「エッジ」で切り替えると、すべての送信済みビットは受信機バッファから空にされ、ビットストリーム切り替えのために浪費されるビットはなくなる。
【０１５３】
オリジナルビットストリームの「ステップエッジ」へ切り替え点を設定すると送信済みビットは浪費されなくてよいが、新しいストリームの切り替え点が「ステップエッジ」にない場合にはさらに問題があるであろう。理由は、切り替え点が新しいストリームの「ステップエッジ」にない場合、新しいストリームのためのいくつかの事前に蓄積されたビットが、受信機でビデオを連続的に再生するために非常に短い時間の空間内で送信されなければならない可能性があるためである。それは、おそらく新しいストリームが暗示する予約レートよりもはるかに高いレートの予約要求を生じさせる可能性がある。新しいビットストリームの中の切り替え点が「ステップ」の真中にある場合は、蓄積されたビットの不足が高レート予約を生じさせる。したがって、理想的には新しいビデオストリームの切り替え点も「ステップエッジ」になければならない。
【０１５４】
前記分析に従って、前記２つのストリームのために最適な切り替え点を有する唯一の機会は、それらが同じ「エッジポイント」を有する場合であると考えられる可能性がある。それ以外の場合、どちらかのビットが浪費されるか、あるいはビットストリーム切り替え後に非常に高いビットレートを必要とする。幸いなことに追加の調査時に、異なる量子化器から作成されるＦＯＴ曲線について、それらが絶対に同じではないにしても「ステップエッジ」が同様に配置された（ｄｏ  ｈａｖｅ  ｓｉｍｉｌａｒｌｙ  ｐｏｓｉｔｉｏｎｅｄ  “ｓｔｅｐ  ｅｄｇｅｓ”）ことが判明した。その理由は、ビデオシーケンスでは、複雑なピクチャは、どの量子化器が選択されるのかに関係なく通常のビットより多くのビットを失わせるためである。
【０１５５】
私たちはいくつかの実験でこれを検証した。実験では、１４０ＣＩＦ  Ｊａｃｋｎｂｏｘビデオシーケンスが選択された。
【０１５６】
第１の実験では、同じビデオシーケンスに基づいた異なるビデオストリームがそのＦＯＴにおいてともにそれらの「ステップエッジ」に近づくかどうかを明確にしたいと考える。図６では、異なる量子化器に基づいたＦＯＴ曲線の類似性が示されている。前記曲線は、２、３、４、１０、１６及び３１という量子化器ステップサイズに相当し、Ｑ２、Ｑ３等と記される。量子化器ステップサイズが増加するにつれて、ＦＯＴがますます平坦になることが分かる。しかしながら、それらは依然としてほぼ同時に「ステップエッジ」を有する。加えて、異なるＦＯＴの「エッジ」ポイントが類似しているが、それらは厳密に同じではないことが注意される必要がある。図７及び図８は「ステップエッジ」での異なるＦＯＴ曲線のさらなる詳細を開示する。それらは厳密に同じではないが、近似する場所でビットストリームを切り替えてもほとんど損害を与えない。以下の実験によってさらにそれを検証してもよい。
【０１５７】
第２の実験では、固定量子化器１６で生成されたビットストリーム（Ｑ１６ストリーム）を、フレーム間隔ごとに固定量子化器８により生成される第２のビットストリーム（Ｑ８ストリーム）に切り替えるものと仮定する。図９では、それぞれフレーム３５、４２、４５、４９、５０及び５２でビットストリームを切り替える場合のいくつかの予約曲線を示す。図１０では、異なるフレーム間隔でビットストリームが切り替えられるときに無駄にされるビットの数を示す。図９及び図１０は、「エッジ」ポイントまたは他のポイントでの切り替えストリームの間での差異を描くには十分なはずである。図９では、切り替えポイントが「ステップエッジ」から遠い場合に、必要とされる伝送速度がＱ８ストリームの最初に必要とされる伝送速度よりもなおさらに高くなることが分かる。それは、私たちが初期に分析したとおりである。この状況では、ビットストリーム切り替え後の適切な表示を実現するために短時間内に必要なビット蓄積を達成する必要がある。したがって、必要とされる伝送速度は非常に高い可能性があり、このようなビットストリーム切り替えを完了することは非現実的になる。他方、ビットストリームが「エッジポイント」近くへ切り替えられる場合には、ＦＯＴ内の各「ステップ」は独立しているため、非常に高い伝送速度が必要なビット蓄積を達成するという要件はない。図１０では、「エッジポイント」近くでビットストリームを切り替えることがさらに賢明であることも気付くことができる。ＦＯＴ曲線では、常に、続くフレームのためにいくつかのビットを事前に蓄積する必要がある。ビットストリーム切り替えが適用されると、オリジナルストリームのために事前に蓄積されたビットはまったく役に立たなくなる。これらのビットは無駄にされる。
【０１５８】
図１０では、「ステップエッジ」だけでビットストリームを切り替えるとビットを無駄にしないことは容易に分かる。それが「ステップエッジ」に近くなるほど、無駄にされるビットは少なくなる。図９及び図１０の両方から、ＦＯＴの最善の切り替え点がそれらの「ステップエッジ」であることが検証される。
【０１５９】
実際には、第１のストリームから第２のストリームに切り替えるための切り替え点を正確にどの点で選ぶのかという問題に関して、前記２つのストリームのステップが一致する場合には、言うまでもなく曖昧さはない。しかしながら、タイミングに差がある場合には、
ａ）（実現しやすさを追求して）第１のストリームの中でステップを選ぶ。
【０１６０】
ｂ）（同様に実現が容易な）第２のストリームでステップを選ぶ。
【０１６１】
ｃ）前記２つのステップの内のより早期のステップを選ぶ（それにより無駄にされるビットを最小限に抑える）。
【０１６２】
ｄ）前記２つのステップの内のより後期のステップを選ぶ（それにより第２のストリームのための予約帯域幅の増加を回避する）。
【０１６３】
しかしながら、実際には、性能という点でのそれらの間の差異はかなり小さいため、どのオプションを選択するのかはほとんど関係しない。つまり、実際には、選ばれた切り替え点が「ステップ」から数フレーム偏位される場合も、多くの場合満足の行く性能を得ることができる。
【０１６４】
これを鑑みて、提案される方法は（前記オプション（ａ）を仮定して）以下のとおりに進行する。
【０１６５】
ｉ）第１のストリームのためにＦＯＴを計算する。
【０１６６】
ｉｉ）このＦＯＴのステップと一致するように切り替え点を選ぶ。
【０１６７】
ｉｉｉ）遷移フレームを生成する。
【０１６８】
ｉｖ）第２のストリームの残りを加えた前記遷移フレームのためのＦＯＴを計算する。
【０１６９】
ｖ）切り替え点まで第１のストリームを送信する。
【０１７０】
ｖｉ）第２のストリームの残りを加えた遷移フレームを送信する。
【０１７１】
オプション（ｂ）、（ｃ）または（ｄ）が使用される場合には、ステップｉ）は第２のストリームのＦＯＴの計算も必要とし、ステップ（ｉｉ）は、選ばれるオプションに従った選択を必要とするであろう。それにも関わらず、第２のストリームのためのＦＯＴは、依然としてステップ４で計算し直されなければならない。ステップ（ｉｖ）での（再）計算が第２のストリームのために最初に計算されるステップと切り替え点の不一致のために、及び／または前述されたように「上限」レートまたは「下限」レートの使用のために必要なあらゆる補正を自動的に考慮に入れることも注意する。
【０１７２】
言うまでもなく、例えば第１のストリームに戻るために、あるいは第３のストリームに切り替えるために、所望される場合、複数の切り替え点が選ばれてよい。
【０１７３】
切り替えの問題は単調に減少するＦＯＴを有するように制約されるシステムに関連して説明されてきたが、この制約が適用されない、切り替えに対するこの手法も使用されてよい。等しく、それは高品質のストリームから低品質のストリームに切り替えるときにも有用である。
【図面の簡単な説明】
【０１７４】
【図１Ａ】実行された試験の結果をグラフで示す図である。
【図１Ｂ】実行された試験の結果をグラフで示す図である。
【図１Ｃ】実行された試験の結果をグラフで示す図である。
【図２Ａ】実行された試験の結果をグラフで示す図である。
【図２Ｂ】実行された試験の結果をグラフで示す図である。
【図２Ｃ】実行された試験の結果をグラフで示す図である。
【図３Ａ】実行された試験の結果をグラフで示す図である。
【図３Ｂ】実行された試験の結果をグラフで示す図である。
【図３Ｃ】実行された試験の結果をグラフで示す図である。
【図４】本発明を実施するための装置の１つの形式のブロック図である。
【図５】図４の装置の動作を示すフローチャートである。
【図６】追加試験の結果を示すグラフである。
【図７】追加試験の結果を示すグラフである。
【図８】追加試験の結果を示すグラフである。
【図９】追加試験の結果を示すグラフである。
【図１０】追加試験の結果を示すグラフである。
【図１Ａ】
2006506926.tif 000032
【図１Ｂ】
2006506926.tif 000033
【図１Ｃ】
2006506926.tif 000034
【図２Ａ】
2006506926.tif 000035
【図２Ｂ】
2006506926.tif 000036
【図２Ｃ】
2006506926.tif 000037
【図３Ａ】
2006506926.tif 000038
【図３Ｂ】
2006506926.tif 000039
【図３Ｃ】
2006506926.tif 000040
【図４】
2006506926.tif 000041
【図５】
2006506926.tif 000042
【図６】
2006506926.tif 000043
【図７】
2006506926.tif 000044
【図８】
2006506926.tif 000045
【図９】
2006506926.tif 000046
【図１０】
2006506926.tif 000047
【国際調査報告】
2006506926.tif 000048
2006506926.tif 000049