JPH09233063A - ビデオサーバシステム及びその動作方法 - Google Patents
ビデオサーバシステム及びその動作方法Info
- Publication number
- JPH09233063A JPH09233063A JP33084396A JP33084396A JPH09233063A JP H09233063 A JPH09233063 A JP H09233063A JP 33084396 A JP33084396 A JP 33084396A JP 33084396 A JP33084396 A JP 33084396A JP H09233063 A JPH09233063 A JP H09233063A
- Authority
- JP
- Japan
- Prior art keywords
- video server
- synchronization
- bit rate
- server system
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronisation processes, e.g. processing of PCR [Programme Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64307—ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/214—Specialised server platform, e.g. server located in an airplane, hotel, hospital
- H04N21/2143—Specialised server platform, e.g. server located in an airplane, hotel, hospital located in a single building, e.g. hotel, hospital or museum
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
ビデオストリームを同時に出力することができるビデオ
サーバシステムを提供すること。 【解決手段】 複数のビデオストリームを同時に出力
することができるビデオサーバが開示される。各ビデオ
ストリームは粗粒子及び微粒子の2つの同期レベルで同
期化される。粗粒子同期は複数のパケットデータに対し
てソフトウェアにおいて実行され、微粒子同期はネット
ワーククロックを用いて実行される。粗粒子及び微粒子
同期を両方用いることによって、ドリフト及びジッター
が抑制され、受信装置に一定のビットレートで正確にデ
ータが供給される。本発明の別の特徴として、一定ビッ
トレート情報のようなヘッダ情報や粗粒子及び微粒子同
期に関係するレートについての情報を含むビットポンプ
が使用される。この予め初期化されたヘッダ情報を用い
ることによって、CPUが伝送されるべきデータからタ
イミング情報を参照しなければならなかった従来技術の
システムに比べて、CPUデマンドが低減される。
Description
ーバとともに用いられるビデオ信号伝送システムに関す
る。特に、ジッター(jitter)及びドリフトを抑制しつ
つ一定ビットレートのビデオ信号データ伝送のスケジュ
ーリングを行うための装置及び方法に関する。
たビデオサーバを含む)は、本分野では公知である。伝
送端において、ビデオサーバは、通常、映画または他の
エンタテーメント(“作品”と呼ぶこともある)からな
るマルチメディア(例えばビデオ及び音声信号)ソース
ライブラリを含んでいる。作品を形成するビデオ及び音
声信号は“ビットストリーム”(単に“ストリーム”と
呼ばれることもある)としてビデオサーバに格納され
る。ビデオサーバは1または複数のユーザが1または複
数の映画を見るのを可能とする。ある時間にビデオサー
バを使用することを許可されたユーザの数を制限し、ネ
ットワークまたはディスク記憶サブシステムの過負荷を
防ぐため、入場制御手段(admission arbitrator)ユニ
ットが設けられている。過負荷になると、映像の動きが
遅くなりすぎたり、途切れ途切れに進行したり(あるい
は後戻りしたり)する。
ライブを有しており、ビデオ作品からのブロックがそこ
に磁気的に格納される。作品の長さは、30秒のコマー
シャルから2時間程度の特作映画まで、任意である。V
HS画質のビデオ信号ストリームに対しては、伝送レー
トは典型的には、MPEG−1符号化で1.5乃至2メ
ガビット/秒であり、MPEG−2符号化で4メガビッ
ト/秒である。フルレゾリューション(CCR−60
1)ビデオ信号は、通常、より高いレート(4乃至8メ
ガビット/秒)で記録され、HDTVグランドアライア
ンスシステム(HDTV Grand Alliance systems)では1
0乃至45メガビット/秒のレートが可能である。従っ
て、1つのMPEG−1またはMPEG−2映画は1G
B乃至8GBの記録媒体を必要とし、典型的な2時間の
VHS画質の映画は約1.8GBのディスクスペースを
必要とする。
るのに必要なスループットを維持するには、一つの映画
に対するビットストリームを1台のハードディスクユニ
ットに格納することはできない。なぜなら、通常の1台
のハードディスクドライブは数メガバイト/秒のレート
でしかデータを出力することができないからである。こ
のボトルネックを回避するため、映画のブロック(例え
ば、連続した0.5秒)を複数のハードディスクユニッ
ト内に格納することが行われている。これらのブロック
はバッファへ読み出されネットワークを通じて伝送され
る。バッファへ読み出されたブロックがネットワークを
介して送られると、その映画の新たなブロックがハード
ディスクユニットのセット(以後、ディスクアレイと呼
ぶ)から読み出される。受信端においてこれらのブロッ
クは復号され、ビデオモニタ、テレビジョン受信機など
でユーザが見ることができるようにされる。
リームを一定のビットレートで伝送する。ビデオサーバ
は、ストリームリクエスト(stream request)がいった
ん受け付けられると、そのストリームが終わるかあるい
は停止命令を受け取るまで特定の一定なビットレートで
確実に伝送しなければならない。
る。すなわちそれらは各々独立して停止及びスタート可
能である。さらに、これらの伝送されたビットストリー
ムは各々異なる内容(即ち、各々異なる映画)であって
もよく、あるいは例えば同じ映画からのビデオデータを
含む複数のビデオストリームのように、伝送された複数
のストリームが同じ内容からのストリームであってもよ
い。更に、これらの同じ内容からのビデオストリームが
同期している必要はなく、それによってあるユーザと別
のユーザとで見始める時間が異なっているような場合で
も、2人以上のユーザが同じ映画を同時に見ることが可
能となっている。
的なモデルには2つのモデルがある。一つはいわゆる
“プル(pull)”モデルであり、それによると、受信装
置がビデオサーバに対し情報をリクエストし、ビデオサ
ーバはこれらのリクエストに応答する。このような“プ
ル”型システムでは、たとえビットエラーが発生した場
合でもデータが適切な順番で正確なタイミングで送られ
るようにするための実時間制御(present controls)が
存在する。なぜなら、受信装置がビデオサーバの制御に
重要な役割を果たしており、情報を再度リクエストした
り、あるいは前のリクエストが適切に受信されるまでリ
クエストを保持しておくことができるからである。
ッシュ(push)”モデルである。それによると、ビデオ
サーバは、ビデオストリーム開始の初期命令を受信する
と、動的フロー制御やエラー回復プロトコルなしで、一
定のビットレートでそのビデオストリームを“プッシュ
する(押し出す)”。ストリーム伝送のこのような“プ
ッシュ”モデルでは、サーバはディスクアレイからビデ
オストリームを一定のビットレートで伝送する。ビデオ
サーバに対しリクエストをするクライアントは、ストリ
ームリクエストがいったん受け付けられれば、そのスト
リームが終わるかあるいはサーバが停止命令を受け取る
まで特定の一定なビットレートでそのストリームが伝送
されるものと仮定することができる。
タのようなビデオデータは時間依存した特性を有してお
り、そのためデータの復号を行う1または複数のクライ
アントへのサーバからのディジタルネットワークを介し
たデータのリアルタイム伝送に対し特別な要求が生じて
いる。このような要求が生じる要因の一つは、リソース
の多くの費用が受信装置ではなくサーバ側にかかってい
ることである。このため、デコーダで使用可能なバッフ
ァリングは非常にわずかしかない。(バッファリングの
量は通常ミリ秒で測られる。)ユーザが作品の再生(pl
ay)をリクエストしたとき、サーバはデータのほとんど
全てのビットがデコーダ(例えばセットトップボックス
(set-top box))に意図された時間通りに確実に到着
するようにしなければならない。そのような時間の制約
がうまく満たされないと、データが役に立たないものに
なってまう恐れがある。
依存した要請を満たすのに持続的または周期的に失敗す
ると、それらは“ドリフト”及び“ジッター”として現
れる。ドリフトは、サーバが連続的に数ミリ秒だけ遅れ
るときのように、一方向に持続的にずれる傾向である。
ドリフトによって作品の内容が理解不能になる恐れがあ
る。ジッターは出力装置の一時的なオーバーランまたは
アンダーランであり、例えば作品の再生において不規則
に変動する動きとして現れる。マルチメディアストリー
ムの適切な伝達を行うためには、ドリフト及びジッター
を許容可能な範囲に抑えなければならない。
されたタイミングに関する要請については広く知られて
おり、例えば、“ISOドラフト国際標準ISO/IEC DIS
13818-1, NXD, 国際標準化機構、1994年”に掲載さ
れている。MPEG−1及びMPEG−2ビデオストリ
ームでは、ビデオストリームの時間制約は符号化された
ビットストリームに含まれるタイムスタンプヘッダ(ti
me stamp header)によって識別される。このタイムス
タンプヘッダはプログラムタイムスタンプ(Program Ti
meStamp:PTS)として知られており、プログラムク
ロックリファレンス(Program Clock Reference:PC
R)またはシステムクロックリファレンス(System Clo
ck Reference:SCR)として知られている基準時間に
ついて計算される。任意の2つの連続したPCRタイム
スタンプの時間差は、そのビットストリームに特有のビ
ットレートでそれらの2つのPCRのスタートの間のバ
イトを再生(play out)するのに必要な時間を正確に反
映していなければならない。
デオデータ伝送は、ネットワーク上を伝送されるビット
に対しタイミングを与えるネットワーククロックに基づ
いてビデオデータ伝送のスケジューリングを行うことに
よって達成される。そのような方法は、伝送されるデー
タのレートがネットワーククロックによってサポートさ
れる粒度(granularities)に限定されるという制限を
有しており、任意のビットレートでの同時的なビデオス
トリームの伝送が不可能となる恐れがある。さらに、サ
ーバの設計が特定のネットワーク出力デバイスに依存す
ることとなり、データを送るとき介さなければならない
出力デバイスの各タイプに対して修正が必要である。
時間依存したデータの連続したストリームの形で情報を
含んでいる。このビデオストリームはその時間依存特性
を規定するシステム情報(SI)の断片をビデオストリ
ーム内の様々な位置に含んでいる。例えば、MPEG−
2トランスポートストリーム(MPEG-2 Transport Strea
m)圧縮エンコーダを用いて符号化されたディジタルビ
デオ信号では、SI情報はシステムヘッダ内のプログラ
ムクロックリファレンス(PCR)に反映される。通
常、これらのビデオデータストリームがビデオサーバ内
のディスクに格納されるとき、サーバはビデオデータス
トリーム内に埋め込まれたSI情報を用いて、データの
伝送が適時行われるようスケジューリングする。このよ
うに“様々な位置にある”SI情報を参照してビデオデ
ータ伝送のスケジューリングをするという方法は、通
常、同時に伝送されるビデオストリームの数が多いとき
サーバにおいてCPUを頻繁に使用する結果となり、
(同時に伝送可能なビデオストリームの数に関して)サ
ーバの性能を制限することとなる。
目的は、ジッター及びドリフトを抑制しつつ複数のビデ
オデータを同時に任意のビットレートで伝送することが
できるビデオサーバシステム及びその動作方法を提供す
ることである。
複数のビデオストリームを同時に出力することができる
ビデオサーバが開示される。各ビデオストリームは2つ
の同期レベル(粗粒子及び微粒子)で同期化される。粗
粒子同期(coarse-grain synchronization)は複数のデ
ータパケットに対しソフトウエアにおいて実行される。
微粒子同期(fine-grain synchronization)はネットワ
ーククロックを用いて実行される。本発明に基づく粗粒
子及び微粒子同期の両方を用いることによって、ドリフ
ト及びジッターが抑制され、受信装置に一定のビットレ
ートで正確に情報が伝送される。
ート情報、粗粒子及び微粒子同期に関連するレートにつ
いての情報のようなヘッダ情報を含むビットポンプ(bi
t pump)が用いられる。この予め初期化された(preini
tialized)ヘッダ情報を使用することにより、CPUが
タイミング情報を伝送されるべきデータから参照しなけ
ればならない従来技術のシステムと比べて、CPUデマ
ンドの数が減少される。
情報が配列されて格納され、配布されるビデオ情報伝達
システムを示す。音声及びビデオ情報源10は符号化シ
ステムの一部であり、符号化システムにはビデオエンコ
ーダ60と、音声、ビデオ及びテキスト情報を同期させ
るためのメディア同期装置70も含まれている。この符
号化システムは、処理した出力を1または複数のネット
ワーク30を介して1または複数のクライアントまたは
デコーダシステム40に送る。ネットワークは、エンコ
ードされた情報ストリームの多重送信を行う、いわゆる
ネットワーククラウド(network cloud)を介してネッ
トワーク伝送が発生する均質なものとすることも、ある
いは伝送をポイントツーポイントとすることもできる。
不均質な場合、ネットワークのバンド幅(bandwidth)
特性は、電話用の64Kbps程度の低さから、ATM
ネットワーク用の155Mbps以上の範囲に渡って様
々な値をとり得る。
れた関連するメモリを有する中央演算処理装置(“CP
U”)が含まれている。さらにサーバ20は、エンコー
ダ60によって処理された情報をビデオ記憶ディスクユ
ニット90(または他の記憶媒体)上に配列するための
ディスクレイアウトシステム80を含んでいる。信号処
理された音声情報用に記憶装置100も設けられてい
る。本発明は、音声情報とビデオ情報が、例えばインタ
リーブ技術を用いて、共通の記憶ディスクユニット90
に格納されるようなシステムに用いることもできる。そ
のようなシステムでは、図1に示されている独立した記
憶ユニット100は省かれる。
はパケットセルの喪失に対処するためのコミュニケーシ
ョンエラー回復手段120も処理済みビデオ信号記憶装
置90に接続されている。サーバはネットワークインタ
フェース130を介して1または複数の不均質なネット
ワーク30と情報をやりとりする。1または複数のネッ
トワーク30の各々は1または複数のデコーダシステム
40に接続されている。
各々中央演算処理装置(“CPU”)140を含んでい
る。CPU140はCPU本体と関連するメモリとを含
んでいる。メモリにはキャッシュメモリが含まれ得る。
更にデコーダ40は入力される音声信号とビデオ信号と
が組み込まれた信号からそれらの音声情報とビデオ情報
を同期させるための手段145と、音声デコーダ150
と、ビデオデコーダ160も含んでいる。これらのデコ
ーダからの出力は音声発生器(例えばスピーカ190)
及びビデオ表示装置(ここではテレビ180として図
示)に送られる。
用が考えられる。例えば、ホテルに於いて宿泊客が見る
ことができるように複数の客室でビデオオンデマンド
(video on demand)機能が使えるようにしてもよい
し、あるいはケーブルテレビ会社が複数の加入者にビデ
オオンデマンド機能を提供するようにすることもでき
る。
ム80は、スケーラブルなビデオエンコーダを用いたエ
ンドツーエンドのスケーラブルビデオシステムと共に用
いることもできる。そのようなビデオエンコーダは、1
995年4月18日に出願され、本出願人に譲渡され
た、“SOFTWARE-BASED ENCODER FOR A SOFTWARE-IMPLEM
ENTED END-TO-END SCALABLE VIDEO DELIVERY SYSTEM”
という名称の米国特許出願第08/423,812号明
細書に開示されている。このようなシステムでエンコー
ドされたビデオストリームをデコードするためのビデオ
デコーダは、1995年4月18日に出願され本出願人
に譲渡された、“DECODER FOR A SOFTWARE-IMPLEMENTED
END-TO-END SCALABLE VIDEO DELIVERY SYSTEM”とう名
称の米国特許出願第08/424,703号明細書に開
示されている。もちろん、ディスクレイアウトシステム
80は、より従来からあるビデオディスプレイシステム
と共に用いることもできる。このシステムは、所望に応
じて、1995年5月22日に出願され本出願人に譲渡
された、“SERVER DISK ERROR RECOVERY SYSTEM”とい
う名称の米国特許出願に開示されているようにビデオデ
ィスクシステム90及びエラー回復システム120を用
いることもできる。
ッターを最小化するように同期を達成し、確実にビデオ
サーバと表示装置との間のタイミングを合わせてデータ
を有用なものとするため、新規なタイミング調整及び制
御システムが提供される。
ーク30の一つを介して伝送される各ビデオストリーム
に対し、サーバ20からのマルチメディアデータを形成
するビットストリームは粗粒子及び微粒子の2つの同期
レベルで同期化される。粗粒子同期は、以下に詳細に述
べるように、ビットポンプとして知られるソフトウエア
モジュールにより、大きなデータのかたまり(DataChun
k)に対してソフトウエアにおいて維持される。この粗
粒子同期は、図2に示すように、パケットグループの長
さを基にして、そのビットストリームの正確なビットレ
ート(RateCoarse)に対応してなされる。微粒子同期は
ネットワーククロックそのものを用いて実行される。す
なわち、ネットワーク30のビットレートに対応してい
る。ネットワーク30のビットレートは、そのネットワ
ークのバンド幅に依存して、そのネットワーク用のネッ
トワークインタフェース130によって確立される。
同期に対する伝送レートより若干高い伝送レート(Rate
Fine)に対応して選択される。即ち、RateFineは符号化
ビットレートに適合した最も近い粒度へと切り上げる
(round up)ことによって設定される。例えば、ネット
ワーク30が64Kbsのバンド幅粒度を有するATM
ネットワークで、1.5Mbsの一定のビットレートを
有することが望まれる場合、RateCoarseは以下の式
(1)に従って設定される。
は、
ではx=24であり、
フトウエアビットポンプに同期化される。上述した方法
におけるジッターは以下の式に従って抑制される。
rse)- (1/RateFine))
ードによって提供されるインタフェースを用いることに
よってRateFineパラメータを適切に選択することにより
制御可能である。インタフェースがない場合は、ネット
ワークにデフォルトとして定められているビットレート
が使用される。ドリフトはビットポンプにおけるソフト
ウエアクロックの精度によって制約される。このクロッ
クはホストコンピュータに基づいているため、ドリフト
はホストコンピュータ上のクロックの精度に制限され
る。それによって十分低いドリフトが得られ、許容可能
な品質とすることができる。
トポンプ401を含む構造の一実施例を示している。ビ
ットポンプ401はディスク90、100とネットワー
ク30との間に最適なデータパスを設定する働きをす
る。いったんデータパスが設定されると、データはディ
スク90、100からネットワーク30へとシステムメ
モリ50−2を介して直接流れる(図1)。データはネ
ットワーク30上をデータパスの生成過程において設定
された特性で伝送される(一定のビットレートに対する
レート制御を含む)。
に対しデータバッファ401−1を提供する。バッファ
401−1はディスク読み出しのスケジューリングをす
るためビデオオンデマンド(VOD)アプリケーション
407によって使用される。また、データバッファ40
1−1は、ATMネットワーク30または他の出力デバ
イスを介して送られる各ストリームのデータ伝送のスケ
ジュールを実施するのにビットポンプ401によって用
いられる選択されたネットワークパラメータで初期化さ
れる。
ク読み出しスケジュールが、ネットワークデータ伝送の
デッドライン(deadline)を満たすように実行されるよ
うにする役割を担っている。一定ビットレート(consta
nt bit rate:CBR)の場合、データバッファ401
−1の吐き出しは、ビットポンプ401により特定のサ
イズのネットワークパケットを用いて特定のレートでな
される。データ伝送のレート同期は、図2に示したよう
に、粗粒子及び微粒子の2つのレベルの粒度でなされ
る。
よって、解像度の粗いオペレーティングシステムソフト
ウエアタイマを用い、複数個のパケットのような大きな
データのかたまり(このため、“粗い”と呼ばれる)に
対し実行される。
(例えばATMインタフェースのような出力ドライバ1
30)によって実行される。ここでのレート同期は下層
に位置するネットワークデータユニットレベル(例え
ば、ATMに対しては、ATMセルレベル)におけるも
のである。即ち、セル(cells)はホストメモリからA
TMインタフェースカード上のバッファへのDMAに対
しスケジュールされ、その後、ビットストリームの一定
のビットレートから決定される到着間時間(interarriv
al time)でネットワークへと送り出される。
トレートそのものに対応する値に設定される。さらに、
ネットワーク伝送パスに待ち行列オーバフローが発生す
るのを防ぐため、粗粒子レートはATMハードウエアセ
ルレートのより細かい同期より若干低い値に設定され
る。その結果、長期のレート同期は、ネットワークハー
ドウエアクロックではなく、オペレーティングシステム
のタイマを基準とすることとなる。
結果、ジッターは2つのレベルのレートの差に正比例す
る。このジッターはデータチャンクバッファ401−1
(図3)のネットワークへの各伝送に於いて周期的に発
生する。これはより悪い場合のジッターであることに注
意されたい。すなわちジッターはこの量によって制約さ
れる。
ングの割り当て及び内部バッファを用いた出力デバイス
とディスクとの間の効率的なデータ伝送の役割を担って
いる。すなわち、粗粒子及び微粒子スケジューリング及
び出力ドライバのレート制御の機能を果たす。ビットポ
ンプ401は使用される特定の出力ドライバにやや依存
する。ネットワーククロックはネットワークインタフェ
ースの様々なタイプに応じて変わり得るからである。
ァ401−1内の特定のアドレスロケーションを指し示
す情報とを含んでいる。ヘッダは所与のビデオストリー
ムに対し、そのストリームが振り向けられるべきネット
ワークと、そのネットワークを介するデータ伝送の性質
を規定する情報とに基づいて初期化される。例えば、ヘ
ッダ情報には一定ビットレート情報、RateFine情報及び
RateCoarse情報が含まれる。
されるため、データポンプ401はヘッダ情報を速やか
に使用することができ、この情報を抽出するまたは求め
るためにデータパケット自身を分析する必要がない。こ
のことは、一定のビットレートを維持するため必要とさ
れる情報を得るためにビデオサーバがデータパケットを
分析する必要のあった従来技術に対し、大きな利点であ
る。本発明の一実施例ではビットポンプ401はカーネ
ルレベルのプログラムであり、スケジューラ402など
のメディアストリームマネージャ(Media Stream Manag
er)のようなアプリケーションプログラムにカーネルレ
ベルのインタフェースを与える。ビットポンプ401は
ヘッダのフォーマットを規定するフォーマット情報を含
んでおり、アプリケーションプログラムが提供する情報
によってヘッダが完成され得るようになっている。
らのビデオデータストリームの伝送はビデオデータスト
リーム中のSI情報を参照することなくなされ、それに
よってCPUのオーバヘッドが低減され、多数のビデオ
ストリームを同時に取り扱うことができる。ビデオスト
リームが一定ビットレートエンコーダを使用して符号化
される場合、ビデオストリームの任意の2つの位置の間
のビット距離(即ち、バイト数で表した2つの位置の間
の差)は、これらの2つの位置の間の時間距離(即ち、
これらの位置のデータがディスプレイに与えられる時間
(タイミング)に関する距離)に比例する。即ち、
オデータストリームの内部のSI情報そのものを参照す
ることなく、符号化されるビデオデータストリームの一
定のビットレートにのみ基づいて、適時伝送されるよう
にビデオデータのスケジューリングを行う。このこと
は、この問題をバイト位置B2及びB1の近辺のSI
(2)及びSI(1)情報を参照することによって解決
し、SI(2)−SI(1)によって与えられる時間の
あいだB2とB1の間のビデオデータを送信していた従
来技術に対し大きな利点である。
て、個々の文献または特許出願が引証として加えられる
べく個別に示されたのと同じように、本出願に引証とし
て加えられる。
は明らかなように、本発明の請求の範囲を逸脱すること
なく様々な変形変更が可能である。
プリケーションに適したビデオ信号配布用ネットワーク
を示す図。
伝送のための一定ビットレートビデオ信号用サーバスケ
ジューリング機構を示す図。
ンデマンドサーバを示す図。
ン
Claims (14)
- 【請求項1】 ビデオサーバシステムであって、 一定ビットレートデータからなる複数のビットストリー
ムを出力するためのビデオサーバと、 前記一定ビットレートデータストリームの一つを各々受
信する1以上の宛先局(destination)システムと、 前記サーバに接続され、前記宛先局システムの一つに関
連付けられたネットワークインタフェースと、 前記ネットワークインタフェースと前記宛先局システム
との間に接続されたネットワークと、 前記一定ビットレートデータの複数のパケットから求め
られる時間間隔に基づいた前記一定ビットレートデータ
の粗粒子同期と、前記ビットストリームのビットレート
に基づいた微粒子同期を行う同期制御装置とを含むこと
を特徴とするビデオサーバシステム。 - 【請求項2】 前記微粒子同期が、前記粗粒子同期よ
り若干高く選択されていることを特徴とする請求項1に
記載のビデオサーバシステム。 - 【請求項3】 前記微粒子同期が、エンコードされる
ビットレートに適合した最も近い粒度に切り上げること
によって設定される細かい同期レートを用いることによ
ってなされることを特徴とする請求項2に記載のビデオ
サーバシステム。 - 【請求項4】 前記粗粒子同期が、所望の一定ビット
レートに等しいビットレートを確立することによってな
されることを特徴とする請求項1に記載のビデオサーバ
システム。 - 【請求項5】 ビデオサーバシステムであって、 複数の、一定ビットレートデータのビットストリームを
出力するためのビデオサーバと、 各々前記一定ビットレートデータストリームの一つを受
信する1以上の宛先局システムと、 前記サーバに接続され、前記宛先局システムの一つに関
連付けられたネットワークインタフェースと、 前記ネットワークインタフェースと前記宛先局システム
との間に接続されたネットワークと、 複数のエントリを含むビットポンプとを含んでおり、 各エントリはメモリ内の特定の位置に対するポインタ
と、ネットワークを介してなされるデータ伝送の性質を
規定するヘッダ情報とを含んでいることを特徴とするビ
デオサーバシステム。 - 【請求項6】 前記ヘッダ情報が一定ビットレート情
報と同期情報とを含んでいることを特徴とする請求項5
に記載のビデオサーバシステム。 - 【請求項7】 前記ヘッダ情報が、伝送されるべきデ
ータから得られるネットワーク伝送情報を除き、ネット
ワークを介してなされるデータ伝送に影響を与えるよう
用いられることを特徴とする請求項5に記載のビデオサ
ーバシステム。 - 【請求項8】 ビデオサーバシステムの動作方法であ
って、 ネットワークインタフェースをビデオサーバに接続する
とともに、ネットワーク接続を介して、複数の宛先局シ
ステムの一つに接続する過程と、 前記サーバから一定ビットレートデータのビットストリ
ームを出力する過程と、 前記一定ビットレートデータの複数のパケットから求め
られる時間間隔に基づいた、前記一定ビットレートデー
タの粗粒子同期を行う過程と、 前記ビットストリームのビットレートに基づいた微粒子
同期を実行する過程とを含むことを特徴とするビデオサ
ーバシステムの動作方法。 - 【請求項9】 微粒子同期を実行する前記過程によっ
て、前記粗粒子同期より若干高い同期レートが与えられ
ることを特徴とする請求項8に記載のビデオサーバシス
テムの動作方法。 - 【請求項10】 微粒子同期を実行する前記過程が、
エンコードされるビットレートに適合した最も近い粒度
に切り上げることによって設定される細かい同期レート
を用いることを特徴とする請求項9に記載のビデオサー
バシステムの動作方法。 - 【請求項11】 粗粒子同期を実行する前記過程が、
所望の一定ビットレートに等しいビットレートを確立す
ることによってなされることを特徴とする請求項8に記
載のビデオサーバシステムの動作方法。 - 【請求項12】 ビデオサーバシステムの動作方法で
あって、 ネットワークインタフェースをビデオサーバに接続する
とともに、ネットワーク接続を介して、複数の宛先局シ
ステムの一つに接続する過程と、 前記サーバから一定ビットレートデータのビットストリ
ームを出力する過程と、 複数のエントリに対し応答するビットポンプを用いる過
程であって、各エントリはメモリ内の特定の位置に対す
るポインタと、ネットワークを介してなされるデータ伝
送の性質を規定するヘッダ情報とを含んでいる該ビット
ポンプ使用過程とを含むことを特徴とするビデオサーバ
システムの動作方法。 - 【請求項13】 前記ヘッダ情報が一定ビットレート
情報と同期情報とを含んでいることを特徴とする請求項
12に記載のビデオサーバシステムの動作方法。 - 【請求項14】 前記ヘッダ情報が、伝送されるべき
データから得られるネットワーク伝送情報を除き、ネッ
トワークを介してなされるデータ伝送に影響を与えるよ
う用いられることを特徴とする請求項12に記載のビデ
オサーバシステムの動作方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/572,639 US5862450A (en) | 1995-12-14 | 1995-12-14 | Method and apparatus for delivering simultaneous constant bit rate compressed video streams at arbitrary bit rates with constrained drift and jitter |
| US08/572,639 | 1995-12-14 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09233063A true JPH09233063A (ja) | 1997-09-05 |
| JP3789995B2 JP3789995B2 (ja) | 2006-06-28 |
Family
ID=24288725
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33084396A Expired - Lifetime JP3789995B2 (ja) | 1995-12-14 | 1996-12-11 | ビデオサーバシステム及びその動作方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5862450A (ja) |
| EP (1) | EP0779725A3 (ja) |
| JP (1) | JP3789995B2 (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2728559B1 (fr) * | 1994-12-23 | 1997-01-31 | Saint Gobain Vitrage | Substrats en verre revetus d'un empilement de couches minces a proprietes de reflexion dans l'infrarouge et/ou dans le domaine du rayonnement solaire |
| US5928331A (en) * | 1997-10-30 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Distributed internet protocol-based real-time multimedia streaming architecture |
| US8306170B2 (en) * | 1998-03-31 | 2012-11-06 | International Business Machines Corporation | Digital audio/video clock recovery algorithm |
| US20060262813A1 (en) * | 1998-12-18 | 2006-11-23 | Digital Networks North America, Inc. | Multi-channel video pump |
| WO2000067470A1 (en) * | 1999-05-04 | 2000-11-09 | Unisys Corporation | Video on demand system |
| SE517156C2 (sv) * | 1999-12-28 | 2002-04-23 | Global Ip Sound Ab | System för överföring av ljud över paketförmedlade nät |
| AU2001232850A1 (en) * | 2000-07-12 | 2002-01-21 | Sharewave, Inc. | Multimedia streams and quality of service in wireless home networks |
| US6993604B2 (en) * | 2000-11-15 | 2006-01-31 | Seagate Technology Llc | Dynamic buffer size allocation for multiplexed streaming |
| US20020145622A1 (en) * | 2001-04-09 | 2002-10-10 | International Business Machines Corporation | Proxy content editing system |
| US7280738B2 (en) | 2001-04-09 | 2007-10-09 | International Business Machines Corporation | Method and system for specifying a selection of content segments stored in different formats |
| US6870887B2 (en) * | 2001-04-09 | 2005-03-22 | International Business Machines Corporation | Method and system for synchronization between different content encoding formats |
| US7188196B2 (en) | 2001-05-18 | 2007-03-06 | Cirrus Logic, Inc. | Method and apparatus for playing analog audio to multiple codec outputs |
| US7173945B1 (en) | 2002-03-11 | 2007-02-06 | Cisco Technology, Inc. | Removing jitter by adaptive slope tracking |
| US7499446B1 (en) | 2002-04-29 | 2009-03-03 | Cisco Technology, Inc. | Removing jitter in RTP streaming media streams |
| JP4420310B2 (ja) * | 2002-08-30 | 2010-02-24 | 富士通株式会社 | 番組放映装置、方法及びプログラム |
| US7349386B1 (en) | 2003-02-18 | 2008-03-25 | Cisco Technology, Inc. | Method and apparatus for transporting MPEG streams on IP networks including removing null packets |
| US7509484B1 (en) | 2004-06-30 | 2009-03-24 | Sun Microsystems, Inc. | Handling cache misses by selectively flushing the pipeline |
| US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
| US20060009265A1 (en) * | 2004-06-30 | 2006-01-12 | Clapper Edward O | Communication blackout feature |
| US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
| US7543132B1 (en) | 2004-06-30 | 2009-06-02 | Sun Microsystems, Inc. | Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes |
| US7571284B1 (en) | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
| US7366829B1 (en) | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
| US8756605B2 (en) * | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
| US7430643B2 (en) * | 2004-12-30 | 2008-09-30 | Sun Microsystems, Inc. | Multiple contexts for efficient use of translation lookaside buffer |
| US8358693B2 (en) * | 2006-07-14 | 2013-01-22 | Microsoft Corporation | Encoding visual data with computation scheduling and allocation |
| US8311102B2 (en) | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
| US8340193B2 (en) * | 2006-08-04 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv and wavelet video coding |
| US7388521B2 (en) * | 2006-10-02 | 2008-06-17 | Microsoft Corporation | Request bits estimation for a Wyner-Ziv codec |
| US8340192B2 (en) * | 2007-05-25 | 2012-12-25 | Microsoft Corporation | Wyner-Ziv coding with multiple side information |
| US8121116B1 (en) | 2008-05-30 | 2012-02-21 | Cisco Technology, Inc. | Intra channel video stream scheduling |
| CN102006501B (zh) * | 2010-11-11 | 2013-06-12 | 中国联合网络通信集团有限公司 | 流媒体播放控制方法、装置和流媒体播放器 |
| US11776559B2 (en) * | 2021-03-05 | 2023-10-03 | Nbcuniversal Media, Llc | Determining subtitle synchronization when compared to audio track |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2698701B2 (ja) * | 1990-10-31 | 1998-01-19 | 株式会社東芝 | Lanシステム |
| JPH0697940A (ja) * | 1992-05-21 | 1994-04-08 | Nec Corp | Lan接続処理装置 |
| JPH066362A (ja) * | 1992-06-23 | 1994-01-14 | Hitachi Ltd | Lanにおけるホストシステムのメッセージ処理負荷分散方式 |
| US5446735A (en) * | 1992-12-18 | 1995-08-29 | Starlight Networks | Bandwidth allocation in a shared transmission channel employing CSMA/CD |
| CA2135681C (en) * | 1993-12-30 | 2000-01-18 | Srinivas V. Makam | System and method for directly accessing long-term memory devices |
| US5533021A (en) * | 1995-02-03 | 1996-07-02 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
| US5652749A (en) * | 1995-02-03 | 1997-07-29 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of a multiple program multimedia data stream |
| US5535209A (en) * | 1995-04-10 | 1996-07-09 | Digital Equipment Corporation | Method and apparatus for transporting timed program data using single transport schedule |
-
1995
- 1995-12-14 US US08/572,639 patent/US5862450A/en not_active Expired - Lifetime
-
1996
- 1996-11-25 EP EP96308503A patent/EP0779725A3/en not_active Withdrawn
- 1996-12-11 JP JP33084396A patent/JP3789995B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP3789995B2 (ja) | 2006-06-28 |
| EP0779725A3 (en) | 2002-01-16 |
| US5862450A (en) | 1999-01-19 |
| EP0779725A2 (en) | 1997-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3789995B2 (ja) | ビデオサーバシステム及びその動作方法 | |
| US7693188B2 (en) | Video remultiplexer for dynamic remultiplexing, multi-mode operation and jitter reduced asynchronous communication | |
| US7620073B2 (en) | Bandwidth optimization of video program bearing transport streams | |
| US6246701B1 (en) | Reference time clock locking in a remultiplexer for video program bearing transport streams | |
| US6292490B1 (en) | Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer | |
| US6195368B1 (en) | Re-timing of video program bearing streams transmitted by an asynchronous communication link | |
| US6148082A (en) | Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams | |
| US6064676A (en) | Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors | |
| US6111896A (en) | Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment | |
| CN100420250C (zh) | 通信设备操作方法、数据呈现方法和设备 | |
| US7613381B2 (en) | Video data processing method and video data processing apparatus | |
| US6637031B1 (en) | Multimedia presentation latency minimization | |
| CA2318415C (en) | Video program bearing transport stream remultiplexer | |
| US5881245A (en) | Method and apparatus for transmitting MPEG data at an adaptive data rate | |
| KR20030071481A (ko) | 주문형 비디오 서비스를 방송 시스템에 제공하는 시스템및 방법 | |
| JP3762430B2 (ja) | データパケットを伝送する方法および装置 | |
| JPH11501786A (ja) | 圧縮ビデオ信号受信方法 | |
| KR19980702296A (ko) | 멀티미디어 파일 분배를 위한 파일 서버 | |
| US6954469B1 (en) | Multi-channel video pump | |
| CN1155249C (zh) | 用于多媒体文件分配的文件服务器 | |
| US20060262813A1 (en) | Multi-channel video pump | |
| Li et al. | MPEG-2 coded-and uncoded-stream synchronization control for real-time multimedia transmission and presentation over B-ISDN | |
| Lu et al. | Mechanisms of MPEG stream synchronization | |
| JP2023161219A (ja) | 送信装置、受信装置及びそれらのプログラム | |
| HK1036172B (en) | Video program bearing transport stream remultiplexer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051020 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051108 |
|
| 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: 20060228 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060330 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130407 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140407 Year of fee payment: 8 |
|
| 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 |
|
| EXPY | Cancellation because of completion of term |