JP4440651B2 - データストリーミングシステムのためのデータ構造 - Google Patents

データストリーミングシステムのためのデータ構造 Download PDF

Info

Publication number
JP4440651B2
JP4440651B2 JP2003581500A JP2003581500A JP4440651B2 JP 4440651 B2 JP4440651 B2 JP 4440651B2 JP 2003581500 A JP2003581500 A JP 2003581500A JP 2003581500 A JP2003581500 A JP 2003581500A JP 4440651 B2 JP4440651 B2 JP 4440651B2
Authority
JP
Japan
Prior art keywords
data
stream
encoded
streams
video
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.)
Expired - Lifetime
Application number
JP2003581500A
Other languages
English (en)
Other versions
JP2005522115A (ja
Inventor
ジェブ、ティモシー・ラルフ
ニルソン、マイケル・アーリング
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of JP2005522115A publication Critical patent/JP2005522115A/ja
Application granted granted Critical
Publication of JP4440651B2 publication Critical patent/JP4440651B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Description

本発明はIP(インターネットプロトコル)ネットワーク上でストリーミングされる音声/コンテンツとビデオコンテンツを記憶するために適したデータ構造に関する。特に、本発明は、物理的なネットワーク特性および/または他のトラフィックとの競合のために使用可能なビットレートが本質的に可変のシステムでの使用に適している。例えば、本発明はGPRS(一般パケットラジオサービス)または3Gネットワークを介したPDA(パーソナルデジタルアシスタント)などのハンドヘルドモバイル端末に対するマルチメディアストリーミングに適している。
圧縮およびフリークライアントソフトウェアの可用性の進展と相まって、ケーブルモデムおよびADSL(非対称デジタル加入者回線)モデムなどの新しいデータネットワークアクセス技術がインターネット上でのビデオストリーミングの成長を推進している。この技術の使用は飛躍的に伸び、6ヶ月ごとに規模はおそらく倍増し、2000年には5億ストリームが供給されていると推測されている。しかしながら、ユーザのインターネットストリーミングに対する認識は依然として輻輳と大きな起動時遅延の経験に影響されている。
現在のIPネットワークは、そのすべてがエンドユーザによるマルチメディアコンテンツの享受を失わせる可能性がある、可変の達成可能スループットだけではなくパケット損失、遅延およびジッタ(jitter)(遅延変動)も示すためにビデオコンテンツのストリーミングには十分に適していない。
リアルタイムビデオアプリケーションはすべてのパケットがタイムリに到着することを必要とする。パケットが失われると、エンコーダとデコーダの間の同期は破壊され、しばらくの間エラーがレンダリングされたビデオを通して伝搬する。パケットが過剰に遅延すると、それらは、リアルタイムで動作しなければならないデコーダにとっては無用となり、損失として処理される。パケット損失、およびレンダリングされたビデオに対するこの視覚的な影響は、H.263などの予測ビデオコーディングシステムにおいて特に重大である。パケット損失の影響は、ビデオストリーム内にエラー保護を導入することにより削減できるが、排除することはできない。このような障害許容力(resilience)技術は、パケット損失の影響を排除するのではなく、最小限に抑えることができるにすぎないことが分かっている。
スループットの長期的な低下を示すパケット損失が持続するケースでは、ストリーミングシステムはその長期の要件を削減できる必要がある。一般的には、これはストリーミングされた媒体のビットレートを削減しなければならないことを意味している。
H.263およびMPEG−4などの標準的な圧縮技術は、その符号化速度を動的に変更することができるマルチメディアソースを提供するために管理できる。このような特性を持つビデオソースはここでは融通性のあるソース、つまりネットワークスループットにおいて長期の変動に適応することができるソースとして説明される。これは、一般的には連続的に適応可能なビデオビットレートを提供することにより達成される。これは、ビデオ圧縮規格が、音声コーデックとは異なり絶対動作ビットレートを明記していないため可能である。
ビデオストリーミングシステムは、ビットレートがクライアントのフィードバックに応えて瞬時に使用可能なネットワーク帯域幅に適応する場合に、ビットレートが変化する符号化されたストリームを提供するように設計されてよい。このようなシステムは、パケット損失が起きた場合に伝送速度が急激に減速し、他のときにはゆっくりと加速するように制御することによってネットワークフレンドリになるように作られるであろう。
しかしながら、この解決策は次の2つの理由から実践的ではない。第1に、リアルタイムビデオ符号化は通常大量の処理能力を必要とするため、このような解決策が多くのユーザをサポートするために縮小する(scaling)のを妨げる。第2に、エンドユーザの総体的な品質に対する認識は、瞬間的な品質の急激な変動によって悪影響を受けるであろう。
単向性のストリームアプリケーションの場合、送信者と受信者の間の遅延は起動時に認知できるにすぎない。したがって、一般的な技法はパケット損失とジッタと引き換えに遅延を得る。もしビデオストリームの平均スループット要件が使用可能な平均帯域幅に一致するのであれば、受信機のバッファサイズは遅延の予想される変動を包含する大きさにすることができる。
市場を先導するストリーミングシステムは、インターネットで遭遇する可能性のあるジッタの影響を削減するために、クライアント側でかなりのバッファリングを使用すると考えられている。これは役立つが、バッファが充填するにつれて、通常5秒から30秒の間の大きな起動遅延も生じさせる。これらのシステムはクライアントが使用可能な帯域幅の変動に適応できるようにする技術も含む。これらの技法の詳細は公には利用可能ではないが、それらは一般的には単独ファイル内のマルチデータレート符号化(SNRスケラビリティ(scalability))、および音声品質を維持するための映像ピクチャのサーバ側での縮小などのインテリジェント伝送技法を使用していると推測されている。これらの再送自体は同じネットワーク特性を条件とするが、このような大量のバッファリングによりかなりの割合のパケットを再送できると考えられるであろう。失われたデータを再送するという決定は、この要因および複数の他の要因を条件とする。一般的には、このような技法はユニキャスト(unicast)伝送にのみ適用できる。マルチキャスト(multicast)伝送システムには、通常フォワードエラーコレクションまたはRLMとRLCなどの受信機をベースにしたスケラビリティがさらによく役立っている。S.McCanne、「受信機駆動式階層マルチキャスト(Receiver driven layered multicast)」、1996年8月カリフォルニア州スタンフォード(Stanford,CA)、SIGCOMM96の議事録。L.Vicisano、L.RizzoおよびJ.Crowcroft、「階層マルチキャストデータ転送のためのTCP状の輻輳制御(TCP-like congestion control for layered multicast data transfer)」、Infocom、98年。
前述されたようにバッファを使用すると、システムはパケットの損失およびジッタを克服できる。しかしながら、システムはネットワークから使用できるビットレートが不十分であるという問題を克服していない。ビデオ題材の長期平均ビットレート要件がネットワークから使用可能な平均ビットレートを超えると、クライアントバッファは最終的に空にされ、バッファが充填し直されるまでビデオレンダラ(video renderer)は停止する。使用可能なネットワークビットレートと、コンテンツが符号化された速度間の不一致の程度が、バッファを充填し直すための休止の頻度を決定する。
前述されたように、H.263とMPEG−4を含む大部分のビデオ圧縮アルゴリズムは連続的に適応可能なビットレートを提供するために実現できる。しかしながら、ビデオと音声はいったん圧縮されると、それらは融通がきかなくなり、符号化されたビットレートで送信される必要がある。
ネットワークジッタおよびネットワークスループットの短期の変動は受信機でバッファを動作することにより吸収できるが、融通性はネットワークスループットの長期変動も吸収できるときにだけ達成される。
階層符号化は融通性のあるビデオソースを作成するための周知の技法である。階層ビデオ圧縮は、受信機での品質が、基本表現に順次追加されるより高い層の受信と復号により改善される階層的なコーディング方式を使用する。いかなる時点でも各クライアントは、ソースに対する現在のネットワーク接続性に応じて任意の数のこれらのビデオ層を受信してよい。その最も簡略な実施では、これはマルチキャストシナリオで有利であるネットワーク状態に粗粒(coarse-grain)適応を提供する。階層ビデオ圧縮は、ネットワーク状態に細粒(fine-grain)適応を加えるためにクライアントでのバッファリングとも組み合わされてきた。しかしながら、階層符号化技法が非効率的であり、通常、クライアントでかなり多くの処理を必要するようになり、処理能力が削減されている可能性のあるモバイルデバイスを対処するときに特定の問題を引き起こすことが示されている。
トランスコーディング(transcoding)は融通性のあるビデオソースを作成するための別の周知の技法である。ビデオトランスコーディングは計算の複雑性がビデオ符号化よりはるかに低くなるように設計できることが示されている。しかしながら、計算の複雑性は無視できないため、ビデオストリーミングのためのスケラブルアーキテクチャにつながらないであろう。
本発明の1つの態様によると、ストリーミングシステムのためのデータソースを格納するためのデータ構造が提供され、該データソースは複数の符号化されたデータストリームを含み、該複数のデータストリームのそれぞれは複数のデータストリームの他のストリームに対する異なる解像度で符号化されたデータソースからのデータの独立した表現であり、該データ構造はヘッダ、符号化されたデータストリームごとのストリームデータ構造、および符号化されたデータストリームの1以上のパケットを含み、ヘッダはストリームデータ構造の1つにリンクされ、各ストリームデータ構造はヘッダ、次のストリームデータ構造へのリンク、および符号化されたデータストリームの第1のパケットへのリンクを含む。
データ構造を使用するための適切なシステムおよび方法は以下に詳細に説明される。データ構造の複雑さは、潜在的に多くのストリームからパケットがインタリーブされる(interleaved)こと、および切り替えと回復をサポートするニーズの結果である。パケットからパケットへのナビゲーションは、一般的にはあるストリーム内で連続しているパケットはファイル内で隣接して記憶されないために、必然的にポインタによる。切り替えパケットおよび回復パケットを書き込むには、ソースパケットと宛て先パケットの正確な詳細が記録されることが必要になる。プレイバック中のストリーム間の切り替えには、第1に、「元(from)」ストリームからの残りのパケットのプレイバック、切り替えパケットのプレイバックが後に続く次に使用可能な切り替えパケットの識別、それから適切な時点からの「先(to)」ストリームからのパケットのプレイバックが必要になる。さらに、ストリーム間で切り替えるときには感知できるほどの遅延がないことが好ましい。
好ましくは、複数の符号化されたデータストリームはビデオデータストリームである。音声データはデータストリームとして符号化されてよい。
ビデオデータストリームおよび音声データストリームのためのストリームデータ構造は、それぞれのデータストリームのためのビットレート符号化データを含んでよい。
データソースは、ビデオデータストリームのあるストリームとビデオデータストリームの別のストリームの間の切り替えのために複数の切り替え点を画定する切り替えストリームをさらに含んでよく、切り替えデータストリームのためのデータストリーム構造は、ビデオストリーム上のデータと、先へのおよび元からの(to and from)切り替えが可能であるパケットを含む。
データ構造のヘッダは、最後のストリームデータ構造へのリンクを含んでよい。ストリームデータ構造のヘッダは、符号化されたデータストリームの最後のパケットへのリンクを含んでよい。
本発明は、変化するネットワーク状態に応じて圧縮されたビデオの伝送ビットレートを縮小すること(scaling)を可能にする。
説明されているシステムでは、生成された視聴覚ストリームは単一の固定されたビットレートで送信される必要はないため、データ構造はこれをサポートし、ネットワークが瞬時にサポートするどのような速度での伝送も可能にしなければならない。
システムおよびデータ構造は、申し分のないマルチメディア品質を提供するために、使用可能なネットワーク帯域幅を活用して、GPRSネットワーク上でうまく機能することが示されてきた。
システムおよびデータ構造はIPネットワークの特性を克服し、特定のモバイルIPネットワークにおいては、ユーザに起動遅延が最小の、一貫した品質のマルチメディアを提供するように設計されてきた。
本発明の例はここで添付の図面を参照して詳しく説明される。
図1は、本発明の実施形態に使用するための視聴覚データストリーミングシステムの概略図である。
サーバ10は、エンコーダ20またはファイル30のどちらかから直接的に符号化されたマルチメディアコンテンツを受信し、このコンテンツを1台以上のクライアント40〜60に供給する。サーバ10は、それは、ただ順方向伝送のためのパケットを選択するような小さな処理を実行するだけなので数多くのコンテンツに独立してアクセスする多くのクライアント40〜60をサポートするために縮小する(scales)。サーバ10では媒体の符号化またはトランスコーディングは実行されない。
原則的には、サーバ10はエンコーダ20から提供されるライブストリームと、ファイル30からの事前に符号化されたストリームの両方について同じように動作する。この特定の実施形態では、ライブメディアのストリーミングが説明される。事前に符号化されたファイルから媒体をストリーミングする際の相違点は後半の実施形態で説明される。
サーバ10は多くの循環するバッファ70〜90を含む。クライアント40〜60のそれぞれにパケット送信機100の1つのインスタンスがある。パケット送信機100は、いつ70〜90のどのバッファから次のパケットが読み取られるのかを決定し、選ばれたパケットを読み取り、それをネットワークコネクション110でそれぞれのクライアントに送信する。
送信されたほとんどすべてのパケットが受信されることを確実にするためには、やや信頼できる(semi−reliable)ネットワークコネクション110が、サーバ10から各それぞれのクライアント40〜60に必要とされるため、ユーザによって認識される品質に対する障害を最小限に抑える。したがって、バッファ(120、130)は、失われたパケットの再送を可能とするためにネットワークコネクション110のそれぞれの端部で使用される。ネットワークコネクション110はネットワークフレンドリとなる、つまり輻輳が経験されないときには使用されるビットレートを加速し、輻輳が発生するときは劇的に減速できるようにすることも所望される。
システム構成要素は統合された構成要素と別々の構成要素の組み合わせとして例示され、説明されているが、異なる構成を使用できることが理解されるであろう。例えば、外部エンコーダ20および/またはファイルストア30が使用できるであろう。等しく、バッファ130はクライアントデバイス40〜60に一体化される可能性が高い。
図2は、図1のシステムで使用されるビデオ符号化階層の概略図である。エンコーダ20は、融通性のある符号化された表現に、ライブのあるいは記憶されているマルチメディアコンテンツを符号化する。音声は低ビットレートで単一の符号化ビットストリームに符号化されるため、それ自体融通はきかない。しかしながら、通常、音声はビデオより小さいビットレートを必要とするため、ビデオが融通の利く様式で符号化されるのであれば、音声とビデオの組み合わされた符号化は融通性があると見なすことができる。
音声は、毎秒4.8kbitでAMR(適応マルチレート)エンコーダを使用して符号化される。ビデオは融通性のある表現に符号化される。階層化に類似した方法で、エンコーダ20は独立したビデオストリームの階層を生成する。各ストリームに、階層の下の方のすべてのストリームに依存させることによってこの階層を構築する代わりに、それぞれのストリームは独立して符号化される。このような階層は周知であり、「サイマルキャスト(simulcast)」と呼ばれている。
音声データは低ビットレートAMR方式を使用して符号化されると説明されてきたが、他のAMR符号化速度、およびMP3などの他の符号化規格もまたサポートできるであろう。多様な速度で符号化された音声は、各音声フレームは通常個別にコード化されるという事実から符号化された表現間の切り替えの簡略化は行われるが、ビデオについて後述されるのと類似した方法で独立したストリームの階層内に構築できるであろう。
ITU−T規格H.263の拡張版を使用して作成されるビデオ階層は、ビデオストリームに対するランダムアクセスを可能にするための内部ストリーム200、およびコンテンツの通常の表示のための1つ以上の再生ストリーム210a、210bを含む。各再生ストリーム210a、210bは異なるビットレートで符号化されるため、所与のクライアント40〜60がサーバ10に対するこの現在のネットワークコネクション110に適切な速度で受信できるようにする。階層は、内部ストリーム200から最低速度の再生ストリーム210aへの、および再生ストリーム間の切り替えを可能にする切り替えストリーム220、230、240も含む。
符号化アルゴリズムは運動補償(motion-compensated)予測を利用するため、再生ストリームの中の任意の点でのビットストリーム間の切り替えは可能であるが、異なるビットストリームの同じ瞬間での再構築されたフレーム間の不一致のために視覚的なアーチファクト(artifacts)につながるであろう。視覚的なアーチファクトはそのうちにさらに伝搬するであろう。
現在のビデオ符号化規格では、ビットストリーム間の完全な(不一致のない)切り替えは、将来のフレーム/領域が現在の切り替えロケーションにとって過去の情報を全く使用しない位置、つまりアクセスピクチャでのみ可能である。さらに、アクセスピクチャを固定(例えば1秒)間隔で設置することにより、ランダムアクセスまたはビデオコンテンツをストリーミングするための「早送り」および「早戻し(Fast Backward)」(加速されたプレイバック速度)などのVCR機能性が達成される。ユーザはビデオの一部をとばし、任意のアクセスピクチャロケーションで再生を開始できる。同様に、加速されたプレイバック速度、つまり早送りは、アクセスピクチャだけを送信することで達成できる。
しかしながら、アクセスピクチャが運動補償予測フレームより多くのビットを必要とすることは周知である。したがって、内部ストリーム200および切り替えストリーム220、230、240が使用される。ストリームを切り替えることの主要な特性とは、異なる基準フレームが使用されていても、同一のピクチャを獲得できるという点である。
階層の主要な目的は、受信データのバッファをクライアント40〜60で構築し、パケット損失およびネットワークスループットの突然の低下に障害許容力(resilience)を提供することと、そのネットワークコネクション110が瞬時にサポートする最高のビットレートに応じてクライアント40〜60に最良の再生ストリーム210aまたは210bを提供することの間で最適バランスを達成するために、サーバ10が再生ストリーム210aまたは210bをクライアント40〜60に送信できるようにすることである。
内部ストリーム200は、ランダムアクセスおよび厳しいエラー状態からの回復を提供するために使用される一連の内部コード化ピクチャ(201、202)である。再生ストリーム210a、210bは双方向で予測されてよく、複数の基準ピクチャから予測されてよい予測コード化ピクチャ(211a、212a、213a、214a、215a;211b、212b、213b、214b、215b)を含む。再生ストリーム210a、210bは、周期的なアクセスピクチャ216a、217a;216b、217bも含む。切り替えストリーム220、230、240は一連のリンクピクチャ(221、222;231、232;241、242)から構成されている。
循環バッファ70〜92はストリーム型ごと、つまり各個のコンテンツについて、内部(70)、再生(80、85)、および切り替え(90、91、92)ストリームごとに1つ指定される。
クライアント40が初めてサーバ10に接続すると、サーバ10は適切な内部ピクチャ(例えば内部ピクチャ201)の位置を、内部ストリームを記憶する循環バッファ70から突き止め、これをクライアント40に送信する。次に、サーバ10は内部ストリーム220から最低の符号化ビットレートを有する再生ストリーム210aに切り替えるためにリンクピクチャ(221)を選択し、その後、この再生ストリーム(213a以降)から供給し続ける。
クライアント40へのパケットの伝送は1つの独立したプロセスであり、伝送の速度はネットワークの状態と使用される伝送プロトコルに依存する。しかしながら、初期には、伝送速度が、最低の符号化ビットレートを有する再生ストリーム210aの符号化ビットレートより大きいことが意図されている。これにより、クライアント40はその復号化バッファで余分な圧縮媒体データを蓄積できる一方で、クライアント40は、データが受信され、復号された時点で即座にユーザに対して媒体の復号と提示を開始できるようになる。
(上記例ではアクセスピクチャ217aなどの)アクセスピクチャの時点で、クライアント40およびサーバ10の少なくとも一方は、(例えばネットワーク容量の増加または減少のために)異なる再生ストリームがより適していると判断してよい。上記例では、低速度の再生ストリーム210aからより高速の再生ストリーム210bへの切り替えは、サーバ10がアクセスピクチャ217aの代わりにリンクピクチャ232を送信することによって達成される。リンクピクチャ232は、さらに高速の再生ストリーム210bの再生ストリームピクチャ215bにリンクし、クライアント40がその再生ストリームを受信できるようにする。減速したビットレートの再生ストリームへの切り替えは同様に達成される。
リンクピクチャを符号化する3つの方法が調査されてきた。それぞれの方法は、切り替えからのドリフトの蓄積、実際の切り替えのビットレート単位でのコスト、およびドリフトのない低ビットレート切り替えを可能にするタイプの規則正しいピクチャを符号化することにより生じる個々の再生ストリームの品質に対する影響の間で、異なる妥協案を提供する。
1.予測コード化リンクピクチャ
第1の方法では、リンクピクチャは予測されたピクチャとして生成される。それらは、宛て先再生ストリームの中の同時アクセスピクチャの再構築に対して、例えば小さな平均二乗差を有するという意味で、再構築時にそれらが類似するような方法でコード化される。アクセスピクチャは予測されたピクチャとしてコード化できる。リンクピクチャを符号化するために使用されるビット数は、再構築されたリンクピクチャが再構築されたアクセスピクチャに対してどの程度整合しているのかを判断し、切り替えの結果生じるドリフトの量を決定する。しかしながら、ドリフトは切り替えが発生するたびに蓄積する。
2.内部コード化リンクピクチャ
第2の方法では、リンクピクチャは内部ピクチャとして生成される。それらは、宛て先再生ストリームの中の同時アクセスピクチャの再構築に対して、例えば小さな平均二乗差を有するという意味で、再構築時にそれらが類似するような方法でコード化される。アクセスピクチャは予測されたピクチャとしてコード化できる。リンクピクチャを符号化するために使用されるビットの数が、再構築されたリンクピクチャが再構築されたアクセスピクチャに対してどの程度整合しているのかを判断し、切り替えの結果発生するであろうドリフトの量を決定する。しかしながら所与の量の不一致の場合、内部コード化リンクピクチャは、通常、予測コード化リンクピクチャより多くのビットを必要とするであろう。リンクピクチャのために内部コード化を使用すると、ドリフトの蓄積が妨げられる。
3.量子化ソースコード化リンクピクチャ
第3の方法では、リンクピクチャは、ここでは量子化ソースピクチャと呼ばれる、”ftp://standard.pictel.com/video−site/”で入手可能な2001年1月9日から12日、ドイツ、EibseeでのITU−電気通信規格化セクタビデオコーディング専門家グループ(ITU−Telecommunications Standardization Sector Video Coding Experts Group)の第12回会議でMarta KarczewiczおよびRagip Kurcerenによって提出されたVCEG−L27、SPフレームのための提案(VCEG−L27、A proposal for SP−frames)」にて説明された概念に基づいた技法でコード化される。
量子化ソースピクチャの符号化アーキテクチャは図3に示されている。ソースピクチャおよび運動補償予測は、同じ量子化器(quantiser)指数を用いてそれぞれステップ300と310で個別に量子化され、ステップ320で減算される前に変換され、ステップ330で可変長符号化される。再構築されたピクチャは、ステップ340で減算器320の出力および量子化と変換310の出力を加算し、ステップ350で結果を逆変換、逆量子化することによって形成される。再構築されたピクチャはピクチャストア360に記憶される。その結果、再構築されたピクチャは単に量子化ソースピクチャにすぎず、運動補償予測とは無関係である。したがって、所与のソースピクチャは、異なる基準ピクチャから予測されるときに同一に再構築することができるため、ドリフトのない切り替えが可能になる。運動補償予測は、可変長符号化される信号のエントロピーを削減し、したがってピクチャを符号化することにより生成されるビット数を削減するため、関連性がない。
アクセスピクチャも、コーディングモード、内部または相互、および量子化器の選択でリンクピクチャと同一の選択を行うことにより、量子化ソースピクチャとしてコード化される。これにより、リンクピクチャが宛て先再生ストリームの中の同時アクセスピクチャに同一に再構築することが確実になる。
リンクピクチャを符号化するために必要とされるビット数は、対応するアクセスピクチャの符号化によって決定される。アクセスピクチャを符号化するために使用されるビット数は量子化がどのようにして実行されるのかに依存するが、一般的には予測ピクチャを符号化するために使用されるビット数より多く、内部ピクチャを符号化するために使用されるビットの数より少ない。これは、符号化が予測を使用するために内部符号化より効率的であるが、予測誤差の量子化のために通常の予測ほど効率的ではないためである。したがって、量子化ソースピクチャを使用すると、再生ストリームのより効率的ではない符号化を犠牲にするが、ドリフトのない切り替えが可能になる。
量子化ソースピクチャは、それらがMPPTYPEの最初の3ビットを「110」という予約値に設定することにより予測されたピクチャと区別されるのを除き、予測されたピクチャと同じH.263構文で符号化される。
量子化ソースピクチャの周期的な符号化は、ピクチャの静止領域内でこう解(beating)効果を生じさせることがある。これは以下のように説明される。通常の予測コーディングでは、ソースピクチャの妥当な表現としてすでに符号化されているピクチャの静止領域は修正されない。量子化ソースピクチャのこのような領域の符号化では、予測は量子化されなければならず、ピクチャの非静止領域に使用される量子化器指数で行われると、領域を変更させ、おそらくそれを悪化させるが、いずれにせよそれを変更する。この変更がこう解効果(beating effect)である。
これは、ピクチャのある領域の予測が十分に良好なソースの表現を提供するときには、情報を送信する必要はなく、したがって領域を変更する必要はないことを注目することによって克服される。したがって、アクセスピクチャが量子化ソースピクチャとして符号化されると、ピクチャが量子化ソースピクチャよりむしろ、予測ピクチャとして符号化されていた場合に領域についての情報が送信されたかどうかを判断するために試験が行われる。情報が送信されていなかった場合には、ステップ300と310の量子化、およびステップ350の逆量子化により使用される量子化器指数は小さな値に設定され、通常予測誤差として知られている減算器320の出力はゼロに設定され、このようにして新規に再構築されたピクチャのこの領域は、細かい量子化器で量子化された過去の再構築ピクチャの対応する領域に等しくなる。H.263および他の規格では、量子化器指数の範囲は1(細かい)から31(粗い)である。小さな指数とは、通常8以下の値を意味する。これは、送信されなければならない情報量を最小限に抑える一方で、再構築されたピクチャに対する不必要な変更を最小限に抑える。しかしながら、対応するリンクピクチャでのビットレートには、予測誤差がゼロとなる可能性が低いが、同じ細かい量子化器が使用されなければならないという犠牲(cost)がある。
図4は、図1のシステムでの使用に適したクライアント−サーバアーキテクチャの概略図である。
クライアント40は、ネットワークバッファ130、復号バッファ41、およびデコーダ42を含む。サーバ10は、前述されたように循環バッファ70、80、90、およびクライアントごとにパケット送信機100とネットワークバッファ120を含む。
クライアント40は、サーバ10にその復号バッファ41内での情報量、およびそれがデータを受信する速度に関して知らせておく。サーバ10はこの情報を使用して、再生ストリーム間でいつ切り替えるのかを決定する。例えば、クライアント40が、その復号バッファ41内で、例えばデータの15秒など、データのしきい値より多く蓄積し、クライアント40が階層内の次に高い再生ストリームの符号化速度以上の速度で受信しているとき、サーバ10は次のリンクピクチャで次に高い再生ストリームに、クライアントのパケット送信機100を切り替えることができる。
同様に、クライアント40によりその復号バッファ41内に蓄積されたデータ量がしきい値未満であるときには、サーバ10は次のリンクピクチャでクライアントのパケット送信機100を次に低い再生ストリームに切り替えることができる。
総体的な影響は、ネットワーク内での輻輳の状態に応じてネットワークフレンドリな様式で伝送速度は変化するが、クライアントの復号バッファ41でのデータの蓄積のため、ユーザは伝送速度の短期変化の結果としての品質の変化を認識しないということである。ネットワークがこれを許可するときには品質の向上を可能にし、ネットワークスループットが低下するときには、プレゼンテーションを回避したり、ユーザに破壊した媒体を提示することなく品質を下げるために、異なる符号化速度を有するストリームに切り替えることにより、伝送速度のさらに長期の変化に対処する。
クライアントでの復号バッファ41は、ユーザに提示される媒体の品質に関するネットワーク性能の変動の影響を削減するために使用される。バッファが処理するように設計されているネットワーク特性は、パケットジッタ、パケット損失および可変のスループットの3つのカテゴリに分類される。実際は、これらの3つのネットワーク特性は無関係ではなく、すべてがネットワーク輻輳に、またモバイルネットワークのケースでは物理層での劣化に結び付いている。
媒体符号化速度から伝送速度を切り離すことにより、クライアントの復号バッファ41は、ネットワーク条件がそれほど良好ではないときのために障害許容力を与えるために、ネットワーク条件が好ましいときに充填できる。
復号バッファ41に数十秒のデータを蓄積することで、同じ大きさのパケットジッタ(遅延変動)をユーザから隠すことができる。実際は、さらに大量のジッタは、後述されるエラー回復プロセスによって処理される一時的なコネクションドロップアウトとしてさらによく分類されるため、これはすべてのパケットジッタを隠す。
復号バッファ41にデータを蓄積することにより、それが復号に必要とされる前に失われたパケットの再送に時間を使用できる。再び、多様な往復遅延より多くのデータを含む大きさにデコーダバッファ41を作ることによって、パケット損失から回復するための少ない数の再送試行のための時間がある。これは、復号された媒体品質に影響を及ぼさずにパケット損失の大部分のインスタンス(instances)から回復することを可能にし、コネクションをやや信頼できるようにする。
最後に、再び復号バッファ41にデータを蓄積することにより、クライアント40は、受信ビットレートが符号化ビットレート未満であるときにしばらくの間、および受信速度がゼロに低下したときにしばらくの間、一貫した媒体品質を維持できる。
データは符号化レートには関係のない速度でクライアント40にストリーミングされ、復号バッファ41にバッファリングされるため、データの復号にとっては、単に可能な限り高速で復号し、提示するのではなく、むしろ正しく計時されることが必要である。タイムスタンプは、音声とビデオの同期のためだけではなく、この目的のためにも使用される。
ネットワーク変動のために、バイト単位で測定されるクライアントの復号バッファ41内のデータの量は経時的に変化してよい。加えて、これが表現する媒体提示時間の長さという単位で測定される復号バッファ41内のデータの量も経時的に変化するであろう。これにはライブコンテンツのストリーミングについて以下の含みがある。つまり、クライアント40に送信される第1のデータが、それが捕捉、符号化された時点から最小の遅延で送信されると、復号バッファ41の中にデータを構築することはできない。したがって、クライアント40に送信される第1のデータは旧いデータ、つまりクライアント40がサーバ10に接続されるしばらく前に発生した事象を表すデータでなければならない。その結果、ユーザに提示される媒体は実際の発生時刻から一定に遅延したままであるが、復号バッファ41が充填するにつれてこの中の最も新しいデータはますます新しくなる。
サーバは、クライアント40がサーバ10に接続するときに「旧い」データがクライアント40にストリーミングするために使用できるように、符号化後の一定期間その循環バッファ70、80、90に符号化データをバッファリングする。クライアントの復号バッファ41が充填するにつれて、循環バッファ70、80、90からの読み取り点はこれらのバッファ内の最新のデータにさらに近くなる。
循環バッファ70、80、90およびクライアント復号バッファ41の最適なサイジングは、それぞれが、これが表現する媒体提示時間という形で測定された同量のデータを包含できるようになるのが好ましい。
それぞれサーバ10とクライアント40の中のネットワークバッファ120、130は、やや信頼できるデータ接続を実現するトランスポートプロトコルによって使用される。通常、データは、このデータ、および初期のすべてのデータがクライアント40で受信されたことが認知されるまで、サーバのネットワークバッファ120内に保持される。同様に、データは、このデータ、および初期のすべてのデータが無事に受信され、復号バッファ41に渡されるとクライアントのネットワークバッファ130から削除されるであろう。その結果、サーバ10は、各自のネットワークバッファ120内に残るデータを知ることにより、単向性伝送遅延により与えられる境界内でどのデータがクライアント40によって無事に受信されたのかを知る。
これは、サーバ10がクライアント40によってどの程度のデータが受信されたのかを知り、その結果再生ストリーム間の切り替えについて決定を下すことができるためには、トランスポートプロトコル自体により必要とされるもの以上の、クライアント40からサーバ10へのフィードバックが必要とされていないことを暗示している。
クライアントの復号バッファ41内にデータの蓄積が存在するということは、ジッタ、パケット損失および可変のスループットなどの多くのネットワークの欠陥に対する障害許容力を提供する。復号バッファ41が媒体コンテンツ全体を包含する大きさに作られ、すべてのデータが受信されるまで提示が遅延されない限り、すべてのネットワーク欠陥から回復することが不可能であることは明らかである。このケースはストリーミングではなくダウンロードであるため、深刻なネットワーク欠陥から回復するための戦略が必要とされている。
ネットワークスループットが、かなりの長期間、最低速度の再生ストリームの符号化速度以下のレベルまで低下するときには、復号バッファ41のデータ量は削減し、最終的にはゼロになるであろう。この時点でユーザへの提示は停止する。しかしながら、循環バッファ充填はサーバ10で続行する。その結果、ネットワークが最低速度の再生ストリームの伝送が再び可能な状態に回復したときには、クライアント40が必要とする次のデータは、それがより新しいデータで上書きされているであろうため、大抵サーバの循環バッファ70、80、90内にはない。
この状況から回復するには、サーバ10は、クライアントから新しい接続がなされたかのようにストリーミングを再開しなければならない。つまり、それは内部ストリーム内のある点を発見し、そこからストリーミングを開始し、次にリンクストリームを経て最低速度の再生ストリームに切り替わる。ユーザに関する影響は、復号バッファ41が空になったときから、サーバが内部ストリームの送信を開始するときまでの媒体の損失であろう。
サーバ10は、クライアントが復号を開始したとき、およびどの程度のデータが無事に受信されたのかを認識しているため、クライアントの復号バッファ41が空になるのを認識するであろう。したがって、クライアントからの特定のメッセージを必要としなくても内部ストリームピクチャで再スタートすることができるであろう。しかしながら、例えばサーバおよびクライアント内での異なるクロック速度の影響から回復するためなど、システムに障害許容力を与えるためには、この状況でクライアント40からサーバ10に制御メッセージが送信される。
原則的には、ファイルからのストリーミングはライブストリーミングに同一である。実際には、それはいくぶん簡単である。データは必要に応じて、および必要とされるときにファイルから読み取ることができるため、循環バッファ70、80、90に対するニーズはない。しかしながら、クライアント40で復号バッファ41を充填し、再生ストリーム間で切り替えるためにサーバ10は同じ技法を使用する。復号バッファ41が空になるケースでは、ネットワークスループットが再び十分になると提示を再開できるため、内部ストリームピクチャを有するコンテンツ内の後の点で再開する必要はない。ユーザは媒体が提示されない期間を認識するにすぎない。
早送り、早戻し、およびランダムアクセスなどのトリックモード(trick modes)は、内部ストリームを使用することで可能になる。
クライアントに対するストリーミング用のデータは常に入手可能となるため、上書きされる直前に循環バッファ70、80、90内の「旧い」データをファイルに書き込むことによって、復号バッファ41が空になり、ユーザが内部ストリームピクチャを用いた回復が発生するまでコンテンツを失うという前述された問題は回避できる。それは、循環バッファ70、80、90からではなくむしろファイルから読み取られなければならない。
このような機能性により、クライアントは、不定期間、提示された媒体を休止し、後にストリーミングを続行することも可能になるであろう。それにより、ユーザはこのような休止の後に早送りをして、ライブストリームに追いつくこともできるであろう。
上述のクライアント−サーバアーキテクチャで試験されるトランスポートプロトコルの実施は、Y.PouffaryによるRFC−2126「TCP上部でのISOトランスポートサービス(ISO Transport Service on top of TCP(ITOT))」に詳説される、ISO TCPトランスポートプロトコルTPKTに基づいている。
標準TPKTプロトコルは図5aに描かれている、ペイロードが後に続くヘッダを定義する。パケット長は、オクテット(octets)でのヘッダおよびペイロードの結合された長さを示している。
上述のシステムのために使用される実施では、TPKTはペイロードが後に続くヘッダを有するために拡張され、その例は図5bに描かれている。パケット長はヘッダ、存在する場合はタイムスタンプ、およびペイロードのオクテットでの結合された長さを示している。Tはタイムスタンプが存在するかどうかを示すビットであり、Mはペイロードに音声情報が含まれているのか、あるいはビデオ情報が含まれているのかを示すビットである。
前述されたように、データの復号の正しいタイミングのためにはタイムスタンプが必要とされる。パケットヘッダに埋め込まれた情報はパケットの長さ、パケット内のデータのタイムスタンプ、およびストリーム識別子を含む。
ストリーム識別子は、音声およびビデオを単一のTCPコネクションに多重化できるようにするために提供される。これは、音声伝送およびビデオ伝送の同期を確実にするためである。別々のTCPコネクションが使用される場合、それらがネットワーク特性にわずかに異なって反応し、異なるスループットを達成することが可能であり、最終的には、クライアントの復号バッファ内に、提示時間という形で測定される大いに異なる量のデータを生じさせるであろう。これらの相違点は管理できるであろうが、単一のTCPコネクションを使用し、音声およびビデオを近接パケット内の同じ提示時間で多重化することによって問題は完全に回避される。つまり、ビデオ専用システムに音声を追加するには、関連するビデオと同時に音声パケットを送信することが単純に必要となる。つまり更なる制御は必要とされない。
サーバ10は可能な限り迅速にパケットを送信しようとする。最初は、多くのパケットはサーバのネットワークバッファ120内に蓄積するだけなので、それらはネットワークの容量に関係なく立て続けに送信される。ネットワークバッファ120がいっぱいになると、パケットをネットワークバッファ120に送信できる速度がネットワークでの伝送速度に一致し、伝送プロセスはソケット送信機能に対する呼を遮ることで制限される。
また、伝送速度は、クライアントでバッファリングされるデータ量が、例えば30秒などのしきい値に達すると制限される。クライアントの復号バッファ41がこれほど多くのデータを有すると、サーバ10は充満のこのレベルを維持するために伝送速度を制限する。
ネットワークスループットはネットワークバッファ120に送信されたバイトを数え、ネットワークバッファのサイズをこれから減算し、伝送開始からの時間で除算することで推定される。ネットワークスループットのより短期間の推定値は、送信されるバイトの2回のカウントとこれらを送信するために要する時間の2回の測定を使用し、1つの組からスループットを計算し、次には周期的に切り替え、もはや使用されていない組をゼロにリセットすることによって計算される。例えば、リセットが200秒ごとに発生する場合、ネットワークスループットは、リセット直後の200秒から再びリセットする直前の40秒に変化する期間で推定される。
この技法は、サーバ10が可能な限り迅速にストリーミングしようと試みるならば申し分なく機能する。しかし、前述したように、復号バッファ41内のデータ量がしきい値を超えると、サーバ10は一定のバッファ充填を維持するためにその伝送速度を制限する。このケースでは、ネットワークスループットは現在の再生ストリームの符号化ビットレートとして推定されるであろう。この状態にあるとき、ネットワークは現在ストリーミングされている再生ストリームより高速の再生ストリームを送信できる可能性があるが、サーバ10は、独自の速度制限のためにネットワークスループットの真の推定を行うことができないため切り替わらない。この状態から逃れるためには、サーバは周期的にクライアントの復号バッファの充填しきい値を無視し、所与の期間または所与のデータ量に対するフルレートでストリーミングする。サーバは、送信機能に対するブロックコールにより検出されるように、ネットワークバッファ120がいっぱいになると開始し、ネットワークバッファ120に送信されるバイト数、および要する時間を記録する。サーバは次に達成可能なスループットを推定し、これを使用してさらに高速の再生ストリームに切り替えるかどうかを決定する。
前述されたように、サーバ10は、そのネットワークバッファ120内に保持されるデータを知っていることによって、どのデータがクライアント40により受信され、その復号バッファ41に送信されたのかを暗黙の内に知る。この情報は、次に再生ストリーム間でいつ切り替えるのか、およびいつエラー回復手順を呼び出すのかを決定するために使用できる。しかしながら、大部分のソケット実施での、コンテンツの可視性およびサーバのネットワークバッファ120の充満は、サポートされていない。ネットワークバッファ120のコンテンツを監視するためには、ミラーバッファ120aが実現される。ミラーバッファ120aはネットワークバッファ120に送信される実際のデータを記憶しないが、代わりにデータの送信されたバイト数とタイムスタンプだけを記憶する。ネットワークバッファ120のサイズを知り、それが常にいっぱいであると仮定するため、サーバ10はミラーバッファ120aを介して、クライアントの復号バッファ41内での最新データのタイムスタンプとほぼ同じであるネットワークバッファ120内の最も古いデータのタイムスタンプにアクセスできる。
試験において、サーバ10でのネットワークバッファ120が常にいっぱいであるという仮定がほとんどのときに正しいことが分かった。これは、伝送プロセスが可能な限り迅速にネットワークバッファ120に送信するように制御されるためである。主要な問題はオーバフローよりむしろクライアント40でのデータの消耗と見られるため、ネットワークバッファ120がいっぱいでなくなると、ほとんどのケースでは安全であるクライアント40でのデータの量を過小評価するという影響が出る。実際には、復号バッファ41は、それが記憶するために必要とする最大量のデータを上回る大きさに作ることができる。いずれせよ、復号バッファ41がいっぱいになると、クライアント40は、次にサーバネットワークバッファ120が空になるのを停止するネットワークバッファ130からの読み出しを停止し、伝送が停止する。
クライアントの復号バッファ41内の正確なデータ量を決定するために、サーバは、クライアントが現在復号し、提示しているデータパケットのタイムスタンプを知る必要もある。サーバ10は、第1に、クライアント40はサーバ10が第1のパケットを送信した直後に復号を開始する、第2に、クライアントのクロックがストリーミング期間中サーバのクロックから大幅にドリフトしないという2つの仮定を使用してこれを計算する。
実際には、両方の仮定とも有効であることが判明している。クライアント40はデータを受信すると即座に復号を開始するように設計されているため、サーバの推定提示時間でのどんな誤差も、前述されたように問題ではない復号バッファ41でのデータ量の過小評価につながるであろう。通常のストリーミングセッション中のクライアントのクロックとサーバのクロックの間のドリフトは、バッファリングされているデータ量に比べれば大抵無視できる。例えば、100万ごとに100個のパーツという差異を用いると、1秒のドリフトが発生するには10000秒、またはほぼ3時間を要するであろう。大量のドリフトが蓄積するという稀なケースでは、クライアント40は、復号バッファアンダーフローのために送信される前述されたメッセージなどのような制御メッセージを使用することでサーバ10に警告できる。
サーバ10は当初、ネットワーク欠陥に障害許容力を与えるために復号バッファ41内のデータのレベルも増強する一方で、クライアント40が媒体を復号し、即座にユーザに提示できるようにするために最低ビットレートを有する再生ストリームをストリーミングする。ネットワークがより高速の再生ストリームの伝送をサポートするほど十分な容量を有する場合には、サーバ10は、適切な瞬間にさらに高速の再生ストリームのストリーミングに切り替えるべきである。
より高速な再生ストリームにいつ切り替わるのかを決定するために使用できるであろう多くの可能な戦略がある。好ましくは、クライアント40はその復号バッファ41の中に、例えば15秒などの所定の期間、媒体を復号、提示し続けることができるほど十分なデータを有する必要がある。また、好ましくは例えば最も最近の60秒に測定された最近の過去に達成されたネットワークスループットが無限に切り替えられるためには再生ストリームのストリーミングを持続するほど十分でなければならない。つまり、最近達成されたネットワークスループット速度は再生ストリームのビットレート以上でなければならない。これは低い速度での不変の品質よりユーザにとってさらに鬱陶しい可能性があるため、目的はストリーム間の頻繁な切り替えを回避することである。
この目的を達成するために、切り下げ(switching down)決定が切り上げ(switching up)決定に相対的なヒステリシス(hysteresis)を含むことが好ましい。例えば、次に低いビットレートの再生ストリームへの切り下げは、クライアント40がその復号バッファ41内に例えば8秒などの特定期間、媒体を復号、提示し続けることができるほど十分なデータをもはや有さなくなると、引き起こすことができるであろう。3以上の再生ストリームを有する、現在ストリーミングされている再生ストリームが3番目、あるいはさらに高速の再生ストリームである構成の場合、この戦略は、アクセスピクチャが周期的に発生するだけのために階層の最下部までの即時低下は生じさせず、第2の切り下げが必要ではなくなるように、復号バッファの充満が第1の切り下げ後に回復することが期待される。
図6aから図6cは、本発明の実施形態による視聴覚データソースを記憶するためのデータ構造の態様の概略図である。
図6aに図示されている主要なデータ構造により、複数の音声再生ストリーム、内部ビデオストリーム、および複数のビデオ再生ストリームおよび切り替えストリームの単一のファイルでの記憶が可能になる。
本発明で作成、使用される視聴覚データソースは常にクライアントに送信できるであろう多くの符号化ストリームを有しているため、従来の連続のファイルでの記憶は不可能である。例えばビデオの場合、特定のソースピクチャは各再生ストリームにて符号化されてよく、内部ストリームおよび切り替えストリームのいくつかまたはすべてにて符号化されてもよい。
ファイルは、例が図6aに描かれている、ストリームデータが後に続くデータ構造を含む。データ構造はストリームの数および型(音声、ビデオ、切り替え等)についての情報を含むヘッダ600を含む。ストリームのそれぞれの型の最初のインスタンスおよび最後のインスタンスについて、それは、それぞれのストリームのヘッダに対する(ファイルの始まりからのオフセットとして表される)ポインタ610〜680も含む。
各ポインタ620〜680は、同型の次のストリームヘッダに対するポインタ710、それぞれストリームの最初のパケットと最後のパケットに対するポインタ720、730を含むストリームヘッダ700を含むストリームデータ構造を指す。各ストリームタイプは特定のストリームヘッダタイプを使用するが、ある要素、つまり、ストリーム識別番号705、同タイプの次のストリームヘッダに対するポインタ710、およびそれぞれストリームの最初のパケットと最後のパケットに対するポインタ720、730はすべてのストリームヘッダタイプに共通である。これらの共通の要素だけを含む例のストリームヘッダは図6bに描かれている。再生ストリームヘッダおよび音声ストリームヘッダは、さらに、ストリームが符号化されたビットレート740も含む。切り替えストリームヘッダは切り替えストリームがそれとの間の切り替えを可能にする再生ストリームのストリーム識別子を含む。
各ストリームは、それぞれが、例が図6cに描かれているパケットデータ構造で表されるパケットのシーケンスから構成される。各パケットデータ構造はパケットヘッダ800とペイロード810を含む。ヘッダは、ストリーム内の次のパケットに対するポインタ801、タイムスタンプ802、パケットシーケンス番号803、パケットサイズ804、およびフレーム番号805(つまり、おそらく他のパケットと一緒にパケットが表現するビデオピクチャまたは音声フレームのシーケンス番号)を含むデータを含んでいる。切り替えパケットは、さらに、それらが、ビットレート切り替えが発生できるようにする再生元(from−Play)ストリームおよび再生先(to−Play)ストリーム内のパケットのシーケンス番号も含む。切り替えストリームパケットヘッダは、実際には切り替え点を定め、切り替え前の「元(from)」ストリームから再生される最後のパケット、および切り替え後の「先(to)」ストリームから再生される最初のパケットのシーケンス番号を含む。シーケンス番号は0で始まり、決して負にならない。この方法はこの特定の実施形態では適用されていないが、切り替え時のストリーム間のナビゲーションを補助するポインタを使用することも可能である。
最後のストリームデータ構造および最後のパケットに対するポインタは、ファイル全体を検索しなくても、それらがファイルが拡張されなければならない点への即時アクセスを実現するので、ファイルに付加するときに有益である。
データ構造の複雑さは、インタリーブされている潜在的に多くのストリームからのパケットと、および切り替えと回復をサポートするニーズの結果である。パケットからパケットへのナビゲーションは、一般的にはあるストリーム内で連続しているパケットはファイル内で隣接して記憶されないために、必然的にポインタによる。切り替えパケットおよび回復パケットを書き込むには、ソースパケットと宛て先パケットの正確な詳細が記録されることが必要になる。プレイバック中のストリーム間の切り替えには、第1に、「元(from)」ストリームからの残りのパケットのプレイバック、切り替えパケットのプレイバックが後に続く、次に使用可能な切り替えパケットの識別と、それから適切な時点からの「先(to)」ストリームからのパケットのプレイバックが必要になる。さらに、ストリーム間で切り替えるときには感知できるほどの遅延があってはならない。
試験では、ファイルベースのストリーミングシナリオとライブストリーミングシナリオの両方が、BTCellnet(登録商標)GPRSネットワークを使用して調査された。デスクトップPentium(TM) PCがエンコーダとサーバを動作するために使用された。クライアントは、赤外線リンクを介してMotorola Timeport(登録商標)GPRS携帯電話に接続されたCompaq iPaq(登録商標)であった。
ビデオ専用構成では、2つの切り替えストリームが使用され、ビットレートは6kbit/秒と12kbit/秒であった。
システムは予想されたとおりに機能した。伝送は内部ストリームで開始し、次にしばらく留まる6kbit/秒の再生ストリームに切り替わり、6kbit/秒より高速で実際に送信した結果としてクライアント内にデータを蓄積する。十分なデータが蓄積され、短期平均受信速度が12kbit/秒を超えると、伝送はさらに高速の再生ストリームに切り替わる。
長期に渡るセッションの間、ネットワークスループットが削減した結果、ときおり、より低速な再生ストリームへ切り替え復帰が発生する。そして、ネットワークがデータをクライアントに送達できないかなりの期間のために、非常にまれに、媒体提示は中断される。
総体的な影響は大部分のセッションに対してであり、ユーザは、品質はときおり変化するが、通常はビットエラーおよびパケット損失に結び付くタイプの歪みがない連続的な媒体提示を見ることができる。深刻なネットワーク欠陥およびスループットの損失の結果として見られる媒体提示の完全な停止は非常に稀にすぎない。
本発明に使用するための視聴覚データストリーミングシステムの概略図である。 図1のシステムで使用されるビデオ符号化階層の概略図である。 ビデオストリーム間での不一致のない切り替えを達成できるようにするビデオ符号化アーキテクチャの概略図である。 図1のシステムでの使用に適したクライアント−サーバアーキテクチャの概略図である。 図5aは標準的なTKPTトランスポートパケット構造を描く図であり、図5bは図1のシステムのために実現されるTKPTトランスポートパケット構造の変形を描く図である。 図6a〜6cは、本発明の実施形態による視聴覚データストリームを含むデータ構造の態様を描く概略図である。

Claims (10)

  1. ストリーミングシステムのデータソースを格納するデータ構造を用いた通信システムであって、前記データソースは複数の符号化されたデータストリームを含み、前記複数の符号化されたデータストリームの少なくとも幾つかの符号化されたデータストリームは、前記複数の符号化されたデータストリームの他の符号化されたデータストリームと異なる解像度で符号化されたデータソースからのデータの独立した表現であり、前記データ構造は、
    ヘッダ(600)と
    前記符号化されたデータストリームの各1つに関連付けられたストリームデータ部分
    前記符号化されたデータストリームの1以上のパケット(800)と、
    前記ストリームデータ部分の1つへのリンク(610、630、650、670)と
    を含み、
    前記ストリームデータ部分はストリームヘッダ(700)を含み、前記ストリームヘッダ(700)は、次のストリームデータ部分への第1のリンク(710)と前記符号化されたデータストリームの第1のパケットへの第2のリンク(720)とを含む、データ構造を用いた通信システム
  2. データストリームとして符号化された音声データを含む、請求項1に記載のデータ構造を用いた通信システム
  3. 前記複数の符号化されたデータストリームはビデオデータストリームである、請求項に記載のデータ構造を用いた通信システム
  4. 前記データソースは、ビデオデータストリームのあるストリームとビデオデータストリームの別のストリームとの間の切り替えのために複数の切り替え点を定める切り替えデータストリームをさらに含み、前記切り替えデータストリームのための前記データストリーム部分は、ビデオデータストリーム上のデータと、先へのおよび元からの切り替えが可能であるパケットを含む、請求項3に記載のデータ構造を用いた通信システム
  5. 前記データ構造の前記ヘッダは、最後のストリームデータ部分への第3のリンク(620)を含む、請求項1乃至請求項4のいずれか1項に記載のデータ構造を用いた通信システム
  6. 前記ストリームデータ部分の前記ストリームヘッダ(700)は、符号化されたデータストリームの最後のパケットへの第4のリンク(730)を含む、請求項1乃至請求項5のいずれか1項に記載のデータ構造を用いた通信システム
  7. ストリーミングシステムのデータソースを格納する方法であって、前記データソースは複数の符号化されたデータストリームを含み、
    前記複数の符号化されたデータストリームの少なくとも幾つかの符号化されたデータストリームが、前記複数の符号化されたデータストリームの他の符号化されたデータストリームと異なる解像度で符号化されたデータソースからのデータの独立した表現であることを特徴とし、
    前記方法は、
    ヘッダ(600)と、
    前記符号化されたデータストリームの各1つに関連付けられたストリームデータ部分と、
    前記符号化されたデータストリームの1つ以上のパケット(800)と、
    前記ストリームデータ部分の1つへのリンク(610、630、650、670)と
    を格納するステップを備え、
    前記ストリームデータ部分はストリームヘッダ(700)を含み、前記ストリームヘッダは、
    次のストリームデータ部分への第1のリンク(710)と、
    前記符号化されたデータストリームの第1のパケットへの第2のリンク(720)
    を含む、方法。
  8. データストリームとして音声データを符号化するステップを含む、請求項に記載の方法。
  9. 前記複数の符号化されたデータストリームはビデオデータストリームである、請求項に記載の方法。
  10. ビデオデータストリームのあるストリームとビデオデータストリームの別のストリームとの間の切り替えのために複数の切り替え点を定める切り替えデータストリームを格納するステップをさらに備え、前記切り替えデータストリームのための前記ストリームデータ部分は、ビデオストリーム上のデータと、先へのおよび元からの切り替えが可能であるパケットを含む、請求項に記載の方法。
JP2003581500A 2002-03-27 2003-03-14 データストリーミングシステムのためのデータ構造 Expired - Lifetime JP4440651B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02252214 2002-03-27
PCT/GB2003/001090 WO2003084233A1 (en) 2002-03-27 2003-03-14 Data structure for data streaming system

Publications (2)

Publication Number Publication Date
JP2005522115A JP2005522115A (ja) 2005-07-21
JP4440651B2 true JP4440651B2 (ja) 2010-03-24

Family

ID=28459565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003581500A Expired - Lifetime JP4440651B2 (ja) 2002-03-27 2003-03-14 データストリーミングシステムのためのデータ構造

Country Status (10)

Country Link
US (1) US20050120038A1 (ja)
EP (1) EP1488644B1 (ja)
JP (1) JP4440651B2 (ja)
KR (1) KR100917743B1 (ja)
CN (1) CN100471266C (ja)
AT (1) ATE363809T1 (ja)
AU (1) AU2003216817A1 (ja)
CA (1) CA2479585A1 (ja)
DE (1) DE60314106T2 (ja)
WO (1) WO2003084233A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002222097A1 (en) * 2000-11-29 2002-06-11 British Telecommunications Public Limited Company Transmitting and receiving real-time data
US20050021830A1 (en) * 2001-09-21 2005-01-27 Eduardo Urzaiz Data communications method and system using buffer size to calculate transmission rate for congestion control
JP2005512400A (ja) * 2001-11-30 2005-04-28 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー データ伝送
WO2003084244A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Video coding and transmission
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
GB0306296D0 (en) * 2003-03-19 2003-04-23 British Telecomm Data transmission
EP1499131A1 (en) * 2003-07-14 2005-01-19 Deutsche Thomson-Brandt Gmbh Method and apparatus for decoding a data stream in audio video streaming systems
US7657672B2 (en) * 2004-01-30 2010-02-02 Telefonaktiebolaget L M Ericsson (Publ) Packet scheduling for data stream transmission
US8018945B2 (en) * 2004-04-29 2011-09-13 Interdigital Technology Corporation Method and apparatus for forwarding non-consecutive data blocks in enhanced uplink transmissions
EP1810110A1 (en) * 2004-09-29 2007-07-25 Nokia Corporation Data file including encrypted content
ATE408290T1 (de) * 2005-04-11 2008-09-15 Ericsson Telefon Ab L M Technik zur steuerung von datenpaketübermittlungen von daten mit variabler bitrate
KR100724899B1 (ko) * 2005-11-22 2007-06-04 삼성전자주식회사 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템
KR20100017224A (ko) 2007-04-25 2010-02-16 엘지전자 주식회사 다양한 응용 정보간의 연결정보를 제공과 이의 이용
EP2206270B1 (en) * 2007-11-01 2018-01-10 Thomson Licensing A method and apparatus for streaming scalable multimedia data streams
EP2114076B1 (en) * 2008-04-21 2013-09-11 Samsung Electronics Co., Ltd. Apparatus and method for composing scenes using rich media contents
WO2010049440A1 (en) * 2008-10-29 2010-05-06 Edgeware Ab A method and an apparatus for data recording and streaming
EP2204965B1 (en) * 2008-12-31 2016-07-27 Google Technology Holdings LLC Device and method for receiving scalable content from multiple sources having different content quality
KR101744977B1 (ko) 2010-10-08 2017-06-08 삼성전자주식회사 멀티미디어 스트리밍 서비스에서 서비스 품질을 보장하는 방법
US20120096180A1 (en) * 2010-10-14 2012-04-19 Invensys Systems Inc. Achieving Lossless Data Streaming in a Scan Based Industrial Process Control System
EP2999260B1 (en) * 2013-07-08 2018-08-29 Huawei Technologies Co., Ltd. Control method, device and system for video playing
JP7312022B2 (ja) * 2019-06-04 2023-07-20 アルプスアルパイン株式会社 通信装置、及び、通信方法
US11588876B2 (en) * 2020-06-16 2023-02-21 T-Mobile Usa, Inc. Device-side playback restrictions on high throughput networks
GB202015327D0 (en) * 2020-09-28 2020-11-11 British Telecomm Adaptive bit rate streaming
US20240196049A1 (en) * 2022-12-08 2024-06-13 Synamedia Limited Client Device Switching to Low Latency Content

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4813044A (en) * 1987-01-30 1989-03-14 International Business Machines Corporation Method and apparatus for detecting transient errors
USRE34824E (en) * 1987-09-23 1995-01-10 British Telecommunications Public Limited Company Video coder
US5150417A (en) * 1991-02-25 1992-09-22 Socon Ab Bass reflex type speaker system
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5506983A (en) * 1992-07-06 1996-04-09 Microsoft Corporation Method and system for transactioning of modifications to a tree structured file
US5675696A (en) * 1992-07-14 1997-10-07 Mitsubishi Denki Kabsuhiki Kaisha Digital video signal recording and reproducing apparatus
US5511054A (en) * 1993-03-31 1996-04-23 Sony Corporation Apparatus and method for multiplexing encoded data signals and recording medium having multiplexed signals recorded thereon
US5561466A (en) * 1993-06-23 1996-10-01 Nec Corporation Video and audio data multiplexing into ATM cells with no dummy cell used and ATM cell demultiplexing
WO1995017783A1 (en) * 1993-12-20 1995-06-29 Rodney John Smith Data compression system
US5566208A (en) * 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US5956321A (en) * 1995-03-16 1999-09-21 Kabushiki Kaisha Toshiba Stream scheduling system for real time stream server
US5535209A (en) * 1995-04-10 1996-07-09 Digital Equipment Corporation Method and apparatus for transporting timed program data using single transport schedule
US5822524A (en) * 1995-07-21 1998-10-13 Infovalue Computing, Inc. System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size
AU6970896A (en) * 1995-09-14 1997-04-01 Ascom Nexion Inc. Transmitter controlled flow control for buffer allocation in wide area atm networks
JP3545110B2 (ja) * 1995-09-26 2004-07-21 富士通株式会社 通信サービスの品質制御方式
US6122668A (en) * 1995-11-02 2000-09-19 Starlight Networks Synchronization of audio and video signals in a live multicast in a LAN
US5754849A (en) * 1996-01-30 1998-05-19 Wayfarer Communications, Inc. Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations
US5864678A (en) * 1996-05-08 1999-01-26 Apple Computer, Inc. System for detecting and reporting data flow imbalance between computers using grab rate outflow rate arrival rate and play rate
US6396804B2 (en) * 1996-05-28 2002-05-28 Qualcomm Incorporated High data rate CDMA wireless communication system
US6678311B2 (en) * 1996-05-28 2004-01-13 Qualcomm Incorporated High data CDMA wireless communication system using variable sized channel codes
US5909434A (en) * 1996-05-31 1999-06-01 Qualcomm Incorporated Bright and burst mode signaling data transmission in an adjustable rate wireless communication system
JP3668556B2 (ja) * 1996-06-13 2005-07-06 ソニー株式会社 ディジタル信号符号化方法
KR0169248B1 (ko) * 1996-07-24 1999-02-01 양승택 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
KR0178766B1 (ko) * 1996-09-02 1999-05-15 삼성전자주식회사 압축되지 않은 디지탈데이타의 전송기능을 갖는 디지탈 인터페이스 장치
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US5751741A (en) * 1996-11-20 1998-05-12 Motorola, Inc. Rate-adapted communication system and method for efficient buffer utilization thereof
US6480541B1 (en) * 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6124878A (en) * 1996-12-20 2000-09-26 Time Warner Cable, A Division Of Time Warner Enterainment Company, L.P. Optimum bandwidth utilization in a shared cable system data channel
US5960452A (en) * 1996-12-23 1999-09-28 Symantec Corporation Optimizing access to multiplexed data streams on a computer system with limited memory
US6011779A (en) * 1996-12-30 2000-01-04 Hyundai Electronics America ATM switch queuing system
US6014706A (en) * 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
US6092115A (en) * 1997-02-07 2000-07-18 Lucent Technologies Inc. Method for supporting per-connection queuing for feedback-controlled traffic
US5918020A (en) * 1997-02-28 1999-06-29 International Business Machines Corporation Data processing system and method for pacing information transfers in a communications network
JP3003618B2 (ja) * 1997-03-19 2000-01-31 日本電気株式会社 動画像送受信装置
US6081843A (en) * 1997-03-20 2000-06-27 Nokia Telecommunications System using simulation cell and simulation buffer for regulating cell transfer rate according to occupancy level of the simulation buffer
US6240103B1 (en) * 1997-03-21 2001-05-29 Scientific-Atlanta, Inc. Method and apparatus for detecting and preventing bandwidth overflow in a statistical multiplexer
KR100302263B1 (ko) * 1997-03-25 2001-09-22 모리시타 요이찌 스트림 데이터 전송방법 및 시스템
US6269078B1 (en) * 1997-04-04 2001-07-31 T. V. Lakshman Method and apparatus for supporting compressed video with explicit rate congestion control
US6181821B1 (en) * 1997-04-30 2001-01-30 Massachusetts Institute Of Technology Predictive source encoding and multiplexing
WO1998054646A2 (en) * 1997-05-26 1998-12-03 Koninklijke Philips Electronics N.V. System for retrieving data in a stream server
US6310857B1 (en) * 1997-06-16 2001-10-30 At&T Corp. Method and apparatus for smoothing and multiplexing video data flows
US6014694A (en) * 1997-06-26 2000-01-11 Citrix Systems, Inc. System for adaptive video/audio transport over a network
JP3547944B2 (ja) * 1997-07-17 2004-07-28 Kddi株式会社 ディジタルvtrのダビングデータ送信装置
US6065104A (en) * 1997-07-23 2000-05-16 S3 Incorporated Method of embedding page address translation entries within a sequentially accessed digital audio data stream
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
JP3478100B2 (ja) * 1997-12-09 2003-12-10 三菱電機株式会社 無線回線割当装置及び無線回線割当方法
US6285661B1 (en) * 1998-01-28 2001-09-04 Picturetel Corporation Low delay real time digital video mixing for multipoint video conferencing
US6216173B1 (en) * 1998-02-03 2001-04-10 Redbox Technologies Limited Method and apparatus for content processing and routing
US6373855B1 (en) * 1998-03-05 2002-04-16 Intel Corporation System and method for using audio performance to control video bandwidth
JPH11261589A (ja) * 1998-03-13 1999-09-24 Fujitsu Ltd Atmネットワーク装置
IL123906A0 (en) * 1998-03-31 1998-10-30 Optibase Ltd Method for synchronizing audio and video streams
JP4366725B2 (ja) * 1998-04-01 2009-11-18 ソニー株式会社 画像信号処理装置及び方法並びに画像信号記録装置及び方法
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
JPH11341477A (ja) * 1998-05-25 1999-12-10 Niles Parts Co Ltd 画像記憶処理装置
DE69935360T2 (de) * 1998-06-18 2007-10-31 Sony Corp. Elektronischer Programmführer und entsprechenden MPEG-Datenstrom
US6584509B2 (en) * 1998-06-23 2003-06-24 Intel Corporation Recognizing audio and video streams over PPP links in the absence of an announcement protocol
US6850564B1 (en) * 1998-06-26 2005-02-01 Sarnoff Corporation Apparatus and method for dynamically controlling the frame rate of video streams
EP1095520A2 (en) * 1998-06-29 2001-05-02 Limt Technology AB Method and apparatus for splicing data streams
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
GB9821792D0 (en) * 1998-10-06 1998-12-02 Sgs Thomson Microelectronics Data transfer
US6618363B1 (en) * 1998-10-09 2003-09-09 Microsoft Corporation Method for adapting video packet generation and transmission rates to available resources in a communications network
US6445701B1 (en) * 1998-10-09 2002-09-03 Microsoft Corporation Channel access scheme for use in network communications
FR2784844B1 (fr) * 1998-10-14 2002-03-29 France Telecom Procede de basculement de la ou des composantes video d'un premier programme audiovisuel numerique sur la ou les composantes d'un second programme audiovisuel numerique
KR100310055B1 (ko) * 1998-10-28 2001-12-17 구자홍 광디스크기록/재생기의기록속도가변장치및방법
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6625119B1 (en) * 1999-03-17 2003-09-23 3Com Corporation Method and system for facilitating increased call traffic by switching to a low bandwidth encoder in a public emergency mode
WO2000055854A1 (fr) * 1999-03-17 2000-09-21 Kabushiki Kaisha Toshiba Procede d'enregistrement de donnees en fluxet de leur structure
US6754189B1 (en) * 1999-04-08 2004-06-22 Lucent Technologies Inc. Method of queue length based burst management in wireless communication systems
JP4503858B2 (ja) * 1999-04-14 2010-07-14 ライト チャンス インコーポレイテッド 遷移ストリームの生成/処理方法
US6614843B1 (en) * 1999-04-15 2003-09-02 Diva Systems Corporation Stream indexing for delivery of interactive program guide
US6697369B1 (en) * 1999-09-28 2004-02-24 Lucent Technologies Inc Admission control adjustment in data networks using maximum cell count
US7522631B1 (en) * 1999-10-26 2009-04-21 Qualcomm, Incorporated Method and apparatus for efficient data transmission control in a wireless voice-over-data communication system
US7206580B2 (en) * 1999-11-04 2007-04-17 Qualcomm Incorporated Method and apparatus for performing handoff in a high speed communication system
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6700893B1 (en) * 1999-11-15 2004-03-02 Koninklijke Philips Electronics N.V. System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
US6593930B1 (en) * 1999-12-16 2003-07-15 Intel Corporation Method and apparatus to execute a memory maintenance operation during a screen blanking interval
US7106906B2 (en) * 2000-03-06 2006-09-12 Canon Kabushiki Kaisha Moving image generation apparatus, moving image playback apparatus, their control method, and storage medium
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
US6738386B1 (en) * 2000-05-11 2004-05-18 Agere Systems Inc. Controlled latency with dynamically limited queue depth based on history and latency estimation
US7260826B2 (en) * 2000-05-31 2007-08-21 Microsoft Corporation Resource allocation in multi-stream IP network for optimized quality of service
US7003794B2 (en) 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
US6909693B1 (en) * 2000-08-21 2005-06-21 Nortel Networks Limited Performance evaluation and traffic engineering in IP networks
US6993604B2 (en) * 2000-11-15 2006-01-31 Seagate Technology Llc Dynamic buffer size allocation for multiplexed streaming
AU2002222097A1 (en) * 2000-11-29 2002-06-11 British Telecommunications Public Limited Company Transmitting and receiving real-time data
US7277955B2 (en) * 2000-12-22 2007-10-02 Verizon Corporate Services Group Inc. Streaming content
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6876705B2 (en) * 2001-03-05 2005-04-05 Intervideo, Inc. Systems and methods for decoding of partially corrupted reversible variable length code (RVLC) intra-coded macroblocks and partial block decoding of corrupted macroblocks in a video decoder
US7626999B2 (en) * 2001-03-16 2009-12-01 Tellabs San Jose, Inc. Apparatus and methods for circuit emulation of a point-to-point protocol operating over a multi-packet label switching network
TW511365B (en) * 2001-05-15 2002-11-21 Corbett Wall Method allowing individual user to record song and forward to others for listening by connecting to a service provider with telecommunication device signal
US7191246B2 (en) * 2001-07-18 2007-03-13 Sharp Laboratories Of America, Inc. Transmission rate selection for a network of receivers having heterogenous reception bandwidth
US7106758B2 (en) * 2001-08-03 2006-09-12 Adc Telecommunications, Inc. Circuit and method for service clock recovery
US20050021830A1 (en) * 2001-09-21 2005-01-27 Eduardo Urzaiz Data communications method and system using buffer size to calculate transmission rate for congestion control
US20030076858A1 (en) * 2001-10-19 2003-04-24 Sharp Laboratories Of America, Inc. Multi-layer data transmission system
US6898313B2 (en) * 2002-03-06 2005-05-24 Sharp Laboratories Of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
EP1359722A1 (en) * 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
WO2003084244A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Video coding and transmission
US20040181817A1 (en) * 2003-03-12 2004-09-16 Larner Joel B. Media control system and method
GB0306296D0 (en) * 2003-03-19 2003-04-23 British Telecomm Data transmission
KR20060088303A (ko) * 2005-02-01 2006-08-04 엘지전자 주식회사 디지털 방송 수신기의 동영상 저장/재생 장치 및 방법

Also Published As

Publication number Publication date
EP1488644A1 (en) 2004-12-22
WO2003084233A1 (en) 2003-10-09
DE60314106D1 (de) 2007-07-12
KR20040093483A (ko) 2004-11-05
CA2479585A1 (en) 2003-10-09
EP1488644B1 (en) 2007-05-30
DE60314106T2 (de) 2008-01-24
US20050120038A1 (en) 2005-06-02
CN100471266C (zh) 2009-03-18
KR100917743B1 (ko) 2009-09-15
JP2005522115A (ja) 2005-07-21
CN1643932A (zh) 2005-07-20
AU2003216817A1 (en) 2003-10-13
ATE363809T1 (de) 2007-06-15

Similar Documents

Publication Publication Date Title
JP4426316B2 (ja) データストリーミングシステムおよび方法
JP4440651B2 (ja) データストリーミングシステムのためのデータ構造
CA2372228C (en) Data transmission
JP4949591B2 (ja) ビデオ誤り回復方法
CN1478349A (zh) 发送及接收实时数据
JP2006518127A (ja) ピクチャ復号化方法
JP2013081216A (ja) ビデオ符号化方法
JP2002511216A (ja) ネットワークを介する適応ビデオ/オーディオトランスポートのためのシステム
US20060182016A1 (en) Data transmission over a network having initially undetermined transmission capacity
JP2005033556A (ja) データ送信装置、データ送信方法、データ受信装置、データ受信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4440651

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term