説明

記録されたマテリアルを伝送すること

ビデオのような記録されたマテリアルは、受信データレートと続くデコーダによって消費されるデータレートとの間の差異を平滑化するためのバッファを有する受信機に、圧縮形式で伝送される。バッファアンダーフローが起こらないように、記録全体が再生を開始するポイントを決定するために分析され、該デコーダはこのポイントに到達した場合にだけ再生を開始する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオ、リアルタイムで再生される他のマテリアルの音声等の記録されたマテリアルを、ネットワーク上で伝送するための方法及び装置に関する。
【発明の開示】
【0002】
本発明の1つの態様によると、
−記録の伝送を開始することと、
−受信機バッファ内に受信されたデータを保持することと、
−前記受信されたデータの再生を開始することと、
を備え、
バッファアンダーフロー(buffer underflow)が発生しないように再生を開始するポイントを決定するために記録全体を分析するステップと、このポイントに達したときだけに再生を開始するステップと、により特徴付けられる、記録を伝送する方法が提供される。
【0003】
別の態様では、本発明は、
−記録の伝送を開始することと、
−受信機バッファ内に受信されたデータを保持することと、
−前記受信されたデータの再生を開始することと、
を備え、
記録が、任意の長さの続くセクションのタイミングエラーの最大より大きいか又は等しい再生時間間隔をカバーするという条件を満たす、記録の最初に第1のセクションを特定するために記録全体を分析するステップであって、各タイミングエラーがそれぞれの続くセクションの伝送時間がその再生時間間隔を超える範囲として定義されるものと、該受信機に、前記第1のセクションが受信された後にだけ再生を開始させるステップと、によって特徴付けられる、記録を伝送する方法を提供する。
【0004】
本発明の追加の態様は、特許請求の範囲に述べられている。
【0005】
本発明のいくつかの実施形態は、添付図面を参照し、ここに一例として説明される。
【発明を実施するための最良の形態】
【0006】
図1では、ストリーマ1が、それぞれが、ITU規格H.261またはH.263、あるいはISO MPEG規格の内の1つに定められるアルゴリズムのような、従来の圧縮アルゴリズムを使用して符号化されているビデオシーケンスの圧縮バージョンであるファイルが記憶される、メモリ(store)11を含む(またはメモリ11にアクセスする)。当然、追加ビデオシーケンスの類似した記録を記憶してよいが、これは動作原理にとっては重要ではない。
【0007】
「ビットレート」によって、ここでは元のエンコーダによって生成され、最終的なデコーダによって消費されるビットレートが意味される。一般的には、これは、伝送側ビットレートと呼ばれる、ストリーマが実際に伝送する速度と同じではない。これらのファイルが可変ビットレート(VBR)で作成される−つまり、ビデオの任意の特定のフレームのために生成されるビット数がピクチャコンテンツに依存することにも留意する必要がある。その結果、前記の低(など)ビットレートに対する参照は、平均ビットレートを参照する。
【0008】
サーバは、ネットワーク2を介してデータを端末3に出力するのに役立つ送信機12を有する。該送信機は、おそらくTCP/IP等の周知のプロトコルで動作する従来のものである。制御装置13はある特定のシーケンスの配信のために端末から要求を受信し、送信機がそれらを受信できる限り、送信機12に送信するためにメモリ11からデータのパケットを読み取るために従来の方式で働く。ここでは、単一のフレームのために複数のパケットを生成する可能性は排除されないが、データは別々のパケット、多くの場合ビデオのフレームあたり1パケットとして、読み出されると仮定される。(原則的には単一のパケットが複数のフレームのためのデータを含むことは可能であるが、これは通常、実際にはそれほど重要ではない。)
これらのパケットが、ネットワーク2で使用される任意のパケット構造に必ずしも関連していないことに留意されたい。
【0009】
端末3は、受信機31、バッファ32及びデコーダ33を有する。
【0010】
(TCP/IPネットワークを含む)いくつかのネットワークは、使用可能な伝送側データレートが、ネットワークでのロードの程度に従って変動するという特徴を有する。
【0011】
何らかの理論的な説明がこの時点で望ましい。
【0012】
図2に示されているように、符号化されたビデオシーケンスはN個のパケットからなる。各パケットは時間指数t(i=0...N−1)を含むヘッダを有し(リアルディスプレイ時間に関して−例えば、これはビデオフレーム番号である場合があるであろう)、bビットを含む。この分析は、パケットiが、それが復号できる前に完全に受信されていなければならないと仮定する(つまり、最初にパケット全体をバッファに入れなければならない)。
【0013】
単純なケースでは、各パケットは1つのフレームに対応し、タイムスタンプtはすべてのiについて単調に、つまりti+1>tで増加する。しかしながら、フレームが2つ以上パケットを増加できる場合(各々同じtで)ti+1≧tである。フレームが(MPEGにおいてのように)捕捉及び表示シーケンスを使い切ることがある場合には、tは単調に増加しない。また、実際には、いくつかのフレームが削除されてよく、その結果tの特定の値のためのフレームがないであろう。
【0014】
これらの時間は相対的である。受信機がパケット0を受信し、時間tref+tでパケット0の復号を開始すると仮定する。tref+tという「今の時間」に、受信機はパケットt(及び、場合によってはさらに多くのパケット)も受信し、パケットgの復号を開始したところである。
【0015】
パケットgからh−1はバッファ内にある。(単純なケースでは)h=g+1である場合には、バッファの中にパケットgだけが含まれることに留意されたい。時間tref+tでは、デコーダはパケットjの復号を開始することを要求される。したがって、時間tref+tでは、デコーダはパケットjを含むまですべてのパケットを受信することを必要とする。
【0016】
現在から
【数1】

【0017】
まで使用可能な時間。
【0018】
その時間内で送信されるデータは、パケットhからjまでのための時間であり、つまり、
【数2】

【0019】
伝送レートRで以下の伝送持続時間を必要とするであろう。
【数3】

【0020】
これは、この伝送持続時間が使用可能な時間以下の場合にだけ、つまり現在使用可能な伝送レートRが不平等を満たすときにだけ可能である。
【数4】

【0021】
これが、パケットjの満足のいく受信及び復号の条件であることに留意されたい。残りのシーケンスの全体の満足のいく伝送には、すべてのj=h...N−1についてこの条件が満たされることが必要になる。
【0022】
明らかになる理由から、方程式(4)は以下のとおりに書き換えられる。
【数5】

【数6】

【0023】
の場合
【数7】

【0024】
であることに留意されたい。
【0025】
また、
【数8】

【0026】
を定義する。
【0027】
h−1−tが、バッファ内で最も最近受信されたパケットのタイムスタンプと、バッファ内で最も最近にではなく受信されたパケット−つまり、ちょうど復号し始めたパケット−のタイムスタンプの差異であることに留意されたい。
【0028】
その結果、条件は、
【数9】

【0029】
である。
【0030】
最後のパケットN−1までの伝送が成功した場合、この条件は任意の考えられるjについて満たさなければならない。つまり、
【数10】

【0031】
方程式(7)の左側は、パケットhの伝送からシーケンスの最後までに発生する可能性のある最大タイミングエラーを表し、該条件は、事実上、その現在の内容を考えてこのエラーがそれを収容する受信機バッファの能力を超えてはならないと述べる。便宜上、方程式(7)の左側をTと名付ける−つまり、
【数11】

【0032】
したがって、方程式(7)は以下のように書かれてもよい。
【数12】

【0033】
時間t=tでの状況、つまりデコーダが第1のパケットの復号を開始するときを考える。一般的なケースでは、前記条件は、バッファ(h=1)内に唯一のパケットがあるときに満たされないであろう。受信機は、それが復号を開始する前に、バッファコンテンツが満足のいくレベルに達するのを待機する。前記条件を使用すると、受信機は少なくともバッファがパケットH−1を含むまで待機しなければならず、この場合Hは以下の条件が満たされるhの最小値であることが明らかになる。
【数13】

【0034】
本発明の本実施形態では、制御装置13の機能の内の1つは、それがパケットを送信機12に伝送するたびに、方程式10で具現化されたテストを評価するという点である。
【0035】
図3は、制御装置の動作を示すフローチャートである。ステップ101では、パケットカウンタがリセットされる。その結果(102)、第1のパケット(または以後の反復では、次のパケット)がメモリ11から読み取られ、送信機12に伝送される。ステップ103では、制御装置はTの値を計算する。この点では、カウンタnは伝送された最後のパケットを指すが、方程式(10)はh−1である最後に伝送されたパケットについて定式化される。その結果、ステップ103の計算はTn+1のものであり、ステップ104で実行されるテストは、
【数14】

【0036】
であるかどうかである。
【0037】
このテストに合格しないと、パケットカウンタは106で増分され、送信機がそれを受信する準備が完了するやいなや、追加のパケットが読み出され伝送される、ステップ102に制御が戻る。テストに合格すると、受信機がこのパケットを受信するやいなや復号を安全に開始できることが知られる。したがって、ステップ105では、制御装置は受信機に送信される「開始」メッセージを送信機に送信する。受信機はこの開始メッセージを受信すると、復号を開始する。メッセージが、それらが伝送されたのとは異なる順序で受信される可能性がある場合には、復号を開始する前にパケットnが実際に受信されたことを受信機がチェックできるように、開始メッセージはパケットインデックスnを含む必要がある。代わりに、送信機は受信機にTn+1という値を伝送でき、受信機自体がテストを実行する。
【0038】
「開始」メッセージの伝送に続き、パケットカウンタは107で増分され、別のフレームは108で伝送される。これらのステップは、ファイルの最後に到達するまで繰り返され、これは109で認識され、プロセスは110で終了する。
【0039】
前記説明では、制御装置が、送信機にパケットを伝送するたびにこの計算を実行すると仮定しており、計算上、きわめて集約的である。代替策は、計算をあまり頻繁にではなく、おそらく5パケットに1度、実行することであり、それは計算量を削減するが、必要とされる以上のフレームをバッファに入れることになる可能性がある。
【0040】
別の代替策は、それがそうすることができるとすぐに(つまり、次のパケットを待機せずに)計算を完了し、その結果受信機に(開始するパケット番号とともに)開始メッセージを伝送することである。さらに追加の代替策は、あらゆるパケットを伝送する前に計算を実行することである。いったんhという値が求められたら、次にパケット0をh−1に逆の順序(パケットh−1、パケットh−2、...パケット0)で伝送する。この場合、明示的な「開始」コマンドを伝送することは必要でなくなる。UDPトランスポートプロトコルをサポートする標準的な受信機は、パケットを並び替えることができ、パケット0が復号を開始する前に到達するまで自動的に待機するであろう。事実上、パケット1からh−1が伝送された後(その順序は重要ではない)までパケット0が保留されることで十分である。
【0041】
しかしながら、これは待機期間中にデータレートRを伝送する際の変更を考慮する可能性を排除するため、このような変更が予想されない場合にだけ満足が行く。
【0042】
(方程式(3)を検査することにより)、レートRの意義がパケットhをjへ送信するために要する時間を計算することにあることに留意されたい。したがって、パケット0をh−1へ伝送するために使用される実際のレートは、それがその結果に影響を及ぼさないため重要ではない。
【0043】
別の魅力的なオプションは、事前に計算の可能な限り多くを実行することである。Rというただ1つの値だけが可能であるシステムが考えられる、或いは許可される場合には、ステップ103でのTn+1の計算及びステップ104のテストは、テストが合格するポイントまでのフレームごとに事前に実行することができ、結果は、例えばファイルの開始時に別個のフィールドにnという対応する値を記録することによって、あるいはフレームn自体に特殊なフラグを取り付けることによって、ファイルの中に記録される。このようにして、図3では、ステップ103と104は、テスト「nという現在値はファイルに記憶されているnという値に等しいか」あるいは「現在のフレームは開始フラグを含むか」によって、置換されるであろう。代わりに、別個のフィールド(またはフラグ)は受信機に転送され、この認識プロセスは受信側で実行できるであろう。
【0044】
図4は、伝送データレートRが変化する状況に対処するためのプロセスのフローチャートである。原則的に、これはパケットごとにT、及びこの値をパケットヘッダに記憶することを必要とする。しかしながら、実際には、この期間内にテストに合格すると確信があるシーケンスの始まりで、十分な数のフレーム(毎秒25フレームでおそらく250フレーム)についてそれらを計算することが必要である。残念なことに、Tの計算は、この前処理の時点でもちろん未知であるRという値を含む。したがって、(Rが問題のファイルの平均ビットレートである場合に)例えばRという考えられる値の選択についてTを計算することによって先に進む。
【数15】

【0045】
したがって、各パケットhはその中に記憶されたTというこれらの5個の事前に計算された値を有する。(後述されるために)必要とされる場合、また、方程式(8)の中の最大が発生する相対的な時間位置、つまりTが得られるtjmaxが方程式8のjという値である
【数16】

【0046】
を記憶してもよい。
【0047】
このケースでは、フローチャートは、フレームnの伝送に続き以下のように進む。
【0048】
112:使用可能な伝送レートRを求めるために送信機12を調べる。
【0049】
103A:Rが、Tが事前に計算されたレートの内の1つに一致する場合には、メモリからこの値を読み取る。
【0050】
または−Rが一致しない場合には、Rの実際の値未満であるレートR...Rの内の最高の値(R)に一致し、それからTを推定するT(及び必要とされる場合、thmax)の値をメモリから読み取る、かのどちらかである。
【0051】
104A:テスト
【数17】

【0052】
を適用し、この場合Δは固定された安全マージンである。
【0053】
前記とおりに続行する。
【0054】
の推定値は、単にRと関連付けられた値Tを使用することによって実行できるであろう。これはうまくいくであろうが、それはTを過大評価するであろうため、時折、受信機が必要以上に待機することになるであろう。別のオプションは、実際の値Rの各側にR...Rの2つの値について記憶されたTの値の間の、線形(または他の)補間であろう。しかしながら、我々の好ましい手法は以下に従って推定値を計算することである。
【数18】

【0055】
がRの実際値未満であるレートR...Rの内の最高の値である場合、Tはこのレートのために事前に計算されたTであり、
【数19】

【0056】
は、Tが得られるtからの時間(つまり、
【数20】

【0057】
の添付値)である。この方法が負の値を返す場合には、それをゼロに設定する。
【0058】
はレートの非線形関数であるため、これが推定値に過ぎないことに留意されたい。しかしながら、この方法を使用すると、Tはつねに真の値より高く、(前記に示されたマージンΔが省略できるように)自動的に安全マージンを提供する。
【0059】
これらの方程式は、符号化プロセスが1フレームについて(tが等しい)2個以上のパケットを生じさせる状況に、及びフレームが昇順tよりむしろ復号される必要のある順序で伝送される、双方向予測が行われるMPEGで遭遇する状況に有効であることに留意されたい。
【0060】
ここで、数学が、パケットごとに個別に計算を実行するよりむしろ、先行するパケットについてすでに行われた計算を利用する同等な形式に変換される、代替実施形態を説明する。方程式(8)を思い出すと、
【数21】

【0061】
は、以下のように書き換えられてよい。
【数22】

【0062】
ファイルの始まりで真となるであろうTh+1≧0であるならば、これは以下になる。
【数23】

【0063】
あるいは一般的に、
【数24】

【0064】
b=h−aの場合には、
【数25】

【0065】
であり、
【数26】

【数27】

【0066】
に代わる。
【数28】

【0067】
a=0の場合には、
【数29】

【0068】
a=1の場合には、
【数30】

【0069】
テスト
【数31】

【0070】
を検討すると、
【数32】

【0071】
に書き換えられてよい。
【0072】
a=0の場合、これは以下になる。
【数33】

【0073】
t−1が、それが任意の値を与えることができるように(不等式の両側に現れる)意味のない量であることに留意すると、t−1をt0に等しいと定めることは便利であり、そこから以下が得られる。
【数34】

【0074】
したがって、方程式(10)のテスト
【数35】

【0075】
は、代わりに以下のように書くことができるであろう。
【数36】

【0076】
第1のテスト(h=1)がテスト1である場合には、
【数37】

【0077】
あるいは、
【数38】

【0078】
を定める場合には、第1のテストはZ≦0であるか?
第2のテストはZ≦0である。
【0079】
X番目のテストはZ≦0である。
【0080】
しかしながら、
【数39】

【0081】
したがって、各テストは、図5のフローチャートに示されるように、Zの前の値を更新できる。第1に、ステップ201では、Tは方程式(8)に従って計算され、その場合(ステップ202)ZはTに等しく設定される。ステップ203では、パケットカウンタがリセットされる。それから(204)では、第1のパケット(あるいは以後の反復時では、次のパケット)がメモリ11から読み取られ、送信機12に伝送される。ステップ205では、制御装置はZn+1の値を計算し、テストはZn+1≦0であるかどうかに関して、ステップ206で実行される。テストに合格すると、受信機が、このパケットを受信するとすぐに復号を開始するのが安全であることが知られる。したがって、ステップ207では、制御装置は受信機に送信される「開始」メッセージを送信機に送信する。受信機は、この開始メッセージを受信すると復号を始める。パケットカウンタは208で増分され、制御は、送信機がそれを受け入れる準備が完了するとすぐに、追加パケットが読み出され伝送される、ステップ204に戻る。
【0082】
を計算するステップ201は、事前に実行され、値は記憶できるであろう。この手順が、Rの異なる値に対応するために、前述された方式と同様の方式でもちろん適応され得る。
【0083】
このプロセスがTで開始することは必須ではない。T(その場合、第1のテストはT≦0であるか?)で開始することができる、あるいは少なくとも2個(または3個以上)のパケットをつねにバッファに入れることを選ぶ場合には、T等で開始できるであろう。
【0084】
示されている例は符号化されたビデオのためでである、同じ方法は符号化された音声、または事実上、リアルタイムで再生される他のいかなるマテリアルにも適用できる。
【0085】
必要に応じて、複数レートシステムにおいては、これらの方法は、本発明者らの国際特許出願WO04/086721号に記載されているレート切り替え方法と組み合わせて用いられてもよい。
【図面の簡単な説明】
【0086】
【図1】本発明を具現化する伝送システムのブロック図である。
【図2】タイミング図である。
【図3】図1に示されている制御装置の動作を説明するフローチャートである。
【図4】制御装置の動作の代替モードを説明するフローチャートである。
【図5】さらに追加のバージョンを説明するフローチャートである。

【特許請求の範囲】
【請求項1】
−記録の伝送を開始することと、
−受信機バッファに受信されたデータを保持することと、
−前記受信されたデータの再生を開始することと、
を備える記録を伝送する方法であって、
バッファアンダーフローが発生しないように、再生を開始するポイントを決定するために記録の全体を分析するステップと、
このポイントに達したときにだけ再生を開始するステップと、
によって特徴付けられる、方法。
【請求項2】
−記録の伝送を開始することと、
−受信機バッファに受信されたデータを保持することと、
−前記受信されたデータの再生を開始することと、
を備える記録を伝送する方法であって、
記録が、任意の長さの続くセクションのタイミングエラーの最大より大きいか又は等しい再生時間間隔をカバーするという条件を満たす、記録の始まりで第1のセクションを特定するために記録全体を分析し、各タイミングエラーが、それぞれの続くセクションの伝送時間がその再生時間間隔を超える範囲として定められるステップと、
前記受信機に、前記第1のセクションが受信された後にだけ再生を開始させるステップと、
によって特徴付けられる、方法。
【請求項3】
前記第1の部分の伝送後に、前記受信機に再生を開始する命令を伝送することをさらに備える、請求項2に記載の方法。
【請求項4】
前記第1のセクションを指定する命令を前記受信機に伝送することを備え、前記受信機が、それが、前記第1のセクションがバッファ内にあることを認識するときに再生を開始する、請求項2に記載の方法。
【請求項5】
前記分析は、
(a)前記送信機において、シーケンスの異なる部分について前記最大タイミングエラー値を計算することと、
(b)前記受信機において、前記第1のセクションが前記バッファ内にある場合を認識するために、前記値を該バッファコンテンツと比較することと、
を備える、請求項2に記載の方法。
【請求項6】
前記第1のセクションの残りが伝送されるまで記録の初期の部分の伝送を保留することと、前記初期部分を伝送することとを備え、前記受信機は、前記初期部分が受信されるときにだけ再生を開始する、請求項2に記載の方法。
【請求項7】
事前に前記分析を実行することと、前記記録の中の前記識別されたセクションを記すこととを含む、請求項2、請求項3、請求項4及び請求項6のいずれか1項に記載の方法。
【請求項8】
前記分析は、複数の伝送データレートに対応するタイミングエラー値を事前に計算し、それらを記憶することと、及び以後そこから実際の伝送データレートに対応するエラー値を推定することとを含む、請求項2乃至請求項6のいずれか1項に記載の方法。
【請求項9】
前記分析は、前記記録の連続部分について評価されるタイミングエラーパラメータをテストすることを備え、タイミングエラーパラメータは、最初に記録の第1のまたは早期の部分に関して計算され、以後の部分についてのタイミングエラーパラメータは、前記部分について得られるパラメータを更新することによって得られる、請求項1乃至請求項8のいずれか1項に記載の方法。
【請求項10】
前記記録はビデオ記録である、請求項1乃至請求項9のいずれか1項に記載の方法。
【請求項11】
前記記録は音声記録である、請求項1乃至請求項10のいずれか1項に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2007−531365(P2007−531365A)
【公表日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願番号】特願2007−504458(P2007−504458)
【出願日】平成17年3月16日(2005.3.16)
【国際出願番号】PCT/GB2005/001011
【国際公開番号】WO2005/093995
【国際公開日】平成17年10月6日(2005.10.6)
【出願人】(390028587)ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー (104)
【氏名又は名称原語表記】BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
【Fターム(参考)】