JP3789995B2 - ビデオサーバシステム及びその動作方法 - Google Patents

ビデオサーバシステム及びその動作方法 Download PDF

Info

Publication number
JP3789995B2
JP3789995B2 JP33084396A JP33084396A JP3789995B2 JP 3789995 B2 JP3789995 B2 JP 3789995B2 JP 33084396 A JP33084396 A JP 33084396A JP 33084396 A JP33084396 A JP 33084396A JP 3789995 B2 JP3789995 B2 JP 3789995B2
Authority
JP
Japan
Prior art keywords
bit rate
video server
synchronization
server system
network
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
JP33084396A
Other languages
English (en)
Other versions
JPH09233063A (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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH09233063A publication Critical patent/JPH09233063A/ja
Application granted granted Critical
Publication of JP3789995B2 publication Critical patent/JP3789995B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video 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/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • 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/262Content 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/26208Content 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
    • 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/47End-user applications
    • H04N21/472End-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/47202End-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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/643Communication protocols
    • H04N21/64307ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • 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/21Server components or server architectures
    • H04N21/214Specialised server platform, e.g. server located in an airplane, hotel, hospital
    • H04N21/2143Specialised 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)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Telephonic Communication Services (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に、ビデオサーバとともに用いられるビデオ信号伝送システムに関する。特に、ジッター(jitter)及びドリフトを抑制しつつ一定ビットレートのビデオ信号データ伝送のスケジューリングを行うための装置及び方法に関する。
【0002】
【従来の技術】
ビデオサーバ(ネットワークにつながれたビデオサーバを含む)は、本分野では公知である。伝送端において、ビデオサーバは、通常、映画または他のエンタテーメント(“作品”と呼ぶこともある)からなるマルチメディア(例えばビデオ及び音声信号)ソースライブラリを含んでいる。作品を形成するビデオ及び音声信号は“ビットストリーム”(単に“ストリーム”と呼ばれることもある)としてビデオサーバに格納される。ビデオサーバは1または複数のユーザが1または複数の映画を見るのを可能とする。ある時間にビデオサーバを使用することを許可されたユーザの数を制限し、ネットワークまたはディスク記憶サブシステムの過負荷を防ぐため、入場制御手段(admission arbitrator)ユニットが設けられている。過負荷になると、映像の動きが遅くなりすぎたり、途切れ途切れに進行したり(あるいは後戻りしたり)する。
【0003】
ビデオサーバは磁気記憶ハードディスクドライブを有しており、ビデオ作品からのブロックがそこに磁気的に格納される。作品の長さは、30秒のコマーシャルから2時間程度の特作映画まで、任意である。VHS画質のビデオ信号ストリームに対しては、伝送レートは典型的には、MPEG−1符号化で1.5乃至2メガビット/秒であり、MPEG−2符号化で4メガビット/秒である。フルレゾリューション(CCR−601)ビデオ信号は、通常、より高いレート(4乃至8メガビット/秒)で記録され、HDTVグランドアライアンスシステム(HDTV Grand Alliance systems)では10乃至45メガビット/秒のレートが可能である。従って、1つのMPEG−1またはMPEG−2映画は1GB乃至8GBの記録媒体を必要とし、典型的な2時間のVHS画質の映画は約1.8GBのディスクスペースを必要とする。
【0004】
ビデオストリームをタイミング良く伝送するのに必要なスループットを維持するには、一つの映画に対するビットストリームを1台のハードディスクユニットに格納することはできない。なぜなら、通常の1台のハードディスクドライブは数メガバイト/秒のレートでしかデータを出力することができないからである。このボトルネックを回避するため、映画のブロック(例えば、連続した0.5秒)を複数のハードディスクユニット内に格納することが行われている。これらのブロックはバッファへ読み出されネットワークを通じて伝送される。バッファへ読み出されたブロックがネットワークを介して送られると、その映画の新たなブロックがハードディスクユニットのセット(以後、ディスクアレイと呼ぶ)から読み出される。受信端においてこれらのブロックは復号され、ビデオモニタ、テレビジョン受信機などでユーザが見ることができるようにされる。
【0005】
サーバは、ディスクアレイからビットストリームを一定のビットレートで伝送する。ビデオサーバは、ストリームリクエスト(stream request)がいったん受け付けられると、そのストリームが終わるかあるいは停止命令を受け取るまで特定の一定なビットレートで確実に伝送しなければならない。
【0006】
伝送されたビデオストリームは独立している。すなわちそれらは各々独立して停止及びスタート可能である。さらに、これらの伝送されたビットストリームは各々異なる内容(即ち、各々異なる映画)であってもよく、あるいは例えば同じ映画からのビデオデータを含む複数のビデオストリームのように、伝送された複数のストリームが同じ内容からのストリームであってもよい。更に、これらの同じ内容からのビデオストリームが同期している必要はなく、それによってあるユーザと別のユーザとで見始める時間が異なっているような場合でも、2人以上のユーザが同じ映画を同時に見ることが可能となっている。
【0007】
ビデオサーバシステム用に用いられる一般的なモデルには2つのモデルがある。一つはいわゆる“プル(pull)”モデルであり、それによると、受信装置がビデオサーバに対し情報をリクエストし、ビデオサーバはこれらのリクエストに応答する。このような“プル”型システムでは、たとえビットエラーが発生した場合でもデータが適切な順番で正確なタイミングで送られるようにするための実時間制御(present controls)が存在する。なぜなら、受信装置がビデオサーバの制御に重要な役割を果たしており、情報を再度リクエストしたり、あるいは前のリクエストが適切に受信されるまでリクエストを保持しておくことができるからである。
【0008】
ビデオサーバのもう一つのモデルは、“プッシュ(push)”モデルである。それによると、ビデオサーバは、ビデオストリーム開始の初期命令を受信すると、動的フロー制御やエラー回復プロトコルなしで、一定のビットレートでそのビデオストリームを“プッシュする(押し出す)”。ストリーム伝送のこのような“プッシュ”モデルでは、サーバはディスクアレイからビデオストリームを一定のビットレートで伝送する。ビデオサーバに対しリクエストをするクライアントは、ストリームリクエストがいったん受け付けられれば、そのストリームが終わるかあるいはサーバが停止命令を受け取るまで特定の一定なビットレートでそのストリームが伝送されるものと仮定することができる。
【0009】
MPEG−1及びMPEG−2符号化データのようなビデオデータは時間依存した特性を有しており、そのためデータの復号を行う1または複数のクライアントへのサーバからのディジタルネットワークを介したデータのリアルタイム伝送に対し特別な要求が生じている。このような要求が生じる要因の一つは、リソースの多くの費用が受信装置ではなくサーバ側にかかっていることである。このため、デコーダで使用可能なバッファリングは非常にわずかしかない。(バッファリングの量は通常ミリ秒で測られる。)ユーザが作品の再生(play)をリクエストしたとき、サーバはデータのほとんど全てのビットがデコーダ(例えばセットトップボックス(set-top box))に意図された時間通りに確実に到着するようにしなければならない。そのような時間の制約がうまく満たされないと、データが役に立たないものになってまう恐れがある。
【0010】
ビデオ信号の伝送に関するこれらの時間に依存した要請を満たすのに持続的または周期的に失敗すると、それらは“ドリフト”及び“ジッター”として現れる。ドリフトは、サーバが連続的に数ミリ秒だけ遅れるときのように、一方向に持続的にずれる傾向である。ドリフトによって作品の内容が理解不能になる恐れがある。ジッターは出力装置の一時的なオーバーランまたはアンダーランであり、例えば作品の再生において不規則に変動する動きとして現れる。マルチメディアストリームの適切な伝達を行うためには、ドリフト及びジッターを許容可能な範囲に抑えなければならない。
【0011】
MPEGデータストリームの構造及び規定されたタイミングに関する要請については広く知られており、例えば、“ISOドラフト国際標準ISO/IEC DIS 13818-1, NXD, 国際標準化機構、1994年”に掲載されている。MPEG−1及びMPEG−2ビデオストリームでは、ビデオストリームの時間制約は符号化されたビットストリームに含まれるタイムスタンプヘッダ(time stamp header)によって識別される。このタイムスタンプヘッダはプログラムタイムスタンプ(Program TimeStamp:PTS)として知られており、プログラムクロックリファレンス(Program Clock Reference:PCR)またはシステムクロックリファレンス(System Clock Reference:SCR)として知られている基準時間について計算される。任意の2つの連続したPCRタイムスタンプの時間差は、そのビットストリームに特有のビットレートでそれらの2つのPCRのスタートの間のバイトを再生(play out)するのに必要な時間を正確に反映していなければならない。
【0012】
従来技術では、一定のビットレートでのビデオデータ伝送は、ネットワーク上を伝送されるビットに対しタイミングを与えるネットワーククロックに基づいてビデオデータ伝送のスケジューリングを行うことによって達成される。そのような方法は、伝送されるデータのレートがネットワーククロックによってサポートされる粒度(granularities)に限定されるという制限を有しており、任意のビットレートでの同時的なビデオストリームの伝送が不可能となる恐れがある。さらに、サーバの設計が特定のネットワーク出力デバイスに依存することとなり、データを送るとき介さなければならない出力デバイスの各タイプに対して修正が必要である。
【0013】
圧縮された動画ビデオデータファイルは、時間依存したデータの連続したストリームの形で情報を含んでいる。このビデオストリームはその時間依存特性を規定するシステム情報(SI)の断片をビデオストリーム内の様々な位置に含んでいる。例えば、MPEG−2トランスポートストリーム(MPEG-2 Transport Stream)圧縮エンコーダを用いて符号化されたディジタルビデオ信号では、SI情報はシステムヘッダ内のプログラムクロックリファレンス(PCR)に反映される。通常、これらのビデオデータストリームがビデオサーバ内のディスクに格納されるとき、サーバはビデオデータストリーム内に埋め込まれたSI情報を用いて、データの伝送が適時行われるようスケジューリングする。このように“様々な位置にある”SI情報を参照してビデオデータ伝送のスケジューリングをするという方法は、通常、同時に伝送されるビデオストリームの数が多いときサーバにおいてCPUを頻繁に使用する結果となり、(同時に伝送可能なビデオストリームの数に関して)サーバの性能を制限することとなる。
【0014】
【発明が解決しようとする課題】
従って、本発明の主な目的は、ジッター及びドリフトを抑制しつつ複数のビデオデータを同時に任意のビットレートで伝送することができるビデオサーバシステム及びその動作方法を提供することである。
【0015】
【課題を解決するための手段】
本発明の原理によると、複数のビデオストリームを同時に出力することができるビデオサーバが開示される。各ビデオストリームは2つの同期レベル(粗粒子及び微粒子)で同期化される。粗粒子同期(coarse-grain synchronization)は複数のデータパケットに対しソフトウエアにおいて実行される。微粒子同期(fine-grain synchronization)はネットワーククロックを用いて実行される。本発明に基づく粗粒子及び微粒子同期の両方を用いることによって、ドリフト及びジッターが抑制され、受信装置に一定のビットレートで正確に情報が伝送される。
【0016】
本発明の別の特徴として、例えばビットレート情報、粗粒子及び微粒子同期に関連するレートについての情報のようなヘッダ情報を含むビットポンプ(bit pump)が用いられる。この予め初期化された(preinitialized)ヘッダ情報を使用することにより、CPUがタイミング情報を伝送されるべきデータから参照しなければならない従来技術のシステムと比べて、CPUデマンドの数が減少される。
【0017】
【発明の実施の形態】
図1に、本発明に基づいてビデオ情報が配列されて格納され、配布されるビデオ情報伝達システムを示す。音声及びビデオ情報源10は符号化システムの一部であり、符号化システムにはビデオエンコーダ60と、音声、ビデオ及びテキスト情報を同期させるためのメディア同期装置70も含まれている。この符号化システムは、処理した出力を1または複数のネットワーク30を介して1または複数のクライアントまたはデコーダシステム40に送る。ネットワークは、エンコードされた情報ストリームの多重送信を行う、いわゆるネットワーククラウド(network cloud)を介してネットワーク伝送が発生する均質なものとすることも、あるいは伝送をポイントツーポイントとすることもできる。不均質な場合、ネットワークのバンド幅(bandwidth)特性は、電話用の64Kbps程度の低さから、ATMネットワーク用の155Mbps以上の範囲に渡って様々な値をとり得る。
【0018】
サーバ20には、まとめて符号50が付された関連するメモリを有する中央演算処理装置(“CPU”)が含まれている。さらにサーバ20は、エンコーダ60によって処理された情報をビデオ記憶ディスクユニット90(または他の記憶媒体)上に配列するためのディスクレイアウトシステム80を含んでいる。信号処理された音声情報用に記憶装置100も設けられている。本発明は、音声情報とビデオ情報が、例えばインタリーブ技術を用いて、共通の記憶ディスクユニット90に格納されるようなシステムに用いることもできる。そのようなシステムでは、図1に示されている独立した記憶ユニット100は省かれる。
【0019】
入場制御手段110及びビットエラーまたはパケットセルの喪失に対処するためのコミュニケーションエラー回復手段120も処理済みビデオ信号記憶装置90に接続されている。サーバはネットワークインタフェース130を介して1または複数の不均質なネットワーク30と情報をやりとりする。1または複数のネットワーク30の各々は1または複数のデコーダシステム40に接続されている。
【0020】
受信端において、デコーダシステム40は各々中央演算処理装置(“CPU”)140を含んでいる。CPU140はCPU本体と関連するメモリとを含んでいる。メモリにはキャッシュメモリが含まれ得る。更にデコーダ40は入力される音声信号とビデオ信号とが組み込まれた信号からそれらの音声情報とビデオ情報を同期させるための手段145と、音声デコーダ150と、ビデオデコーダ160も含んでいる。これらのデコーダからの出力は音声発生器(例えばスピーカ190)及びビデオ表示装置(ここではテレビ180として図示)に送られる。
【0021】
図1に示されているシステムには多くの応用が考えられる。例えば、ホテルに於いて宿泊客が見ることができるように複数の客室でビデオオンデマンド(video on demand)機能が使えるようにしてもよいし、あるいはケーブルテレビ会社が複数の加入者にビデオオンデマンド機能を提供するようにすることもできる。
【0022】
所望に応じて、ディスクレイアウトシステム80は、スケーラブルなビデオエンコーダを用いたエンドツーエンドのスケーラブルビデオシステムと共に用いることもできる。そのようなビデオエンコーダは、1995年4月18日に出願され、本出願人に譲渡された、“SOFTWARE-BASED ENCODER FOR A SOFTWARE-IMPLEMENTED 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を用いることもできる。
【0023】
本発明の一側面によると、ドリフト及びジッターを最小化するように同期を達成し、確実にビデオサーバと表示装置との間のタイミングを合わせてデータを有用なものとするため、新規なタイミング調整及び制御システムが提供される。
【0024】
本発明によると、1または複数のネットワーク30の一つを介して伝送される各ビデオストリームに対し、サーバ20からのマルチメディアデータを形成するビットストリームは粗粒子及び微粒子の2つの同期レベルで同期化される。粗粒子同期は、以下に詳細に述べるように、ビットポンプとして知られるソフトウエアモジュールにより、大きなデータのかたまり(DataChunk)に対してソフトウエアにおいて維持される。この粗粒子同期は、図2に示すように、パケットグループの長さを基にして、そのビットストリームの正確なビットレート(RateCoarse)に対応してなされる。微粒子同期はネットワーククロックそのものを用いて実行される。すなわち、ネットワーク30のビットレートに対応している。ネットワーク30のビットレートは、そのネットワークのバンド幅に依存して、そのネットワーク用のネットワークインタフェース130によって確立される。
【0025】
ネットワーク伝送レートの粒度は、粗粒子同期に対する伝送レートより若干高い伝送レート(RateFine)に対応して選択される。即ち、RateFineは符号化ビットレートに適合した最も近い粒度へと切り上げる(round up)ことによって設定される。例えば、ネットワーク30が64Kbsのバンド幅粒度を有するATMネットワークで、1.5Mbsの一定のビットレートを有することが望まれる場合、RateCoarseは以下の式(1)に従って設定される。
【0026】
1/RateCoarse=ΔT=バッファサイズ/一定のビットレート (1)
【0027】
従って、8Kのバッファサイズに対しては、
【0028】
1/RateCoarse=ΔT=8Kビット/1.5Mbps=5,333μsec (2)
【0029】
となる。この例では、RateFineは、
【0030】
ΔTfine=1/RateFine=8Kビット/(64Kbps・x) (3)
【0031】
であり、ここでxは、
【0032】
64Kbps・x≧1.5Mbps
【0033】
となるように選択される。従って、この例ではx=24であり、
【0034】
Figure 0003789995
【0035】
本発明によると、長期のビットレートはソフトウエアビットポンプに同期化される。上述した方法におけるジッターは以下の式に従って抑制される。
【0036】
最大ジッター=(DataChunk)*((1/RateCoarse)- (1/RateFine))
【0037】
ここで、RateFine>RateCoarseである。
【0038】
最大ジッターは、ネットワークアダプタカードによって提供されるインタフェースを用いることによってRateFineパラメータを適切に選択することにより制御可能である。インタフェースがない場合は、ネットワークにデフォルトとして定められているビットレートが使用される。ドリフトはビットポンプにおけるソフトウエアクロックの精度によって制約される。このクロックはホストコンピュータに基づいているため、ドリフトはホストコンピュータ上のクロックの精度に制限される。それによって十分低いドリフトが得られ、許容可能な品質とすることができる。
【0039】
図3は、本発明のこの特徴に基づく、ビットポンプ401を含む構造の一実施例を示している。ビットポンプ401はディスク90、100とネットワーク30との間に最適なデータパスを設定する働きをする。いったんデータパスが設定されると、データはディスク90、100からネットワーク30へとシステムメモリ50−2を介して直接流れる(図1)。データはネットワーク30上をデータパスの生成過程において設定された特性で伝送される(一定のビットレートに対するレート制御を含む)。
【0040】
データポンプ401は各データストリームに対しデータバッファ401−1を提供する。バッファ401−1はディスク読み出しのスケジューリングをするためビデオオンデマンド(VOD)アプリケーション407によって使用される。また、データバッファ401−1は、ATMネットワーク30または他の出力デバイスを介して送られる各ストリームのデータ伝送のスケジュールを実施するのにビットポンプ401によって用いられる選択されたネットワークパラメータで初期化される。
【0041】
VODアプリケーション407は、ディスク読み出しスケジュールが、ネットワークデータ伝送のデッドライン(deadline)を満たすように実行されるようにする役割を担っている。一定ビットレート(constant bit rate:CBR)の場合、データバッファ401−1の吐き出しは、ビットポンプ401により特定のサイズのネットワークパケットを用いて特定のレートでなされる。データ伝送のレート同期は、図2に示したように、粗粒子及び微粒子の2つのレベルの粒度でなされる。
【0042】
粗粒子同期は、ビットポンプモジュールによって、解像度の粗いオペレーティングシステムソフトウエアタイマを用い、複数個のパケットのような大きなデータのかたまり(このため、“粗い”と呼ばれる)に対し実行される。
【0043】
微粒子同期は、ネットワークハードウエア(例えばATMインタフェースのような出力ドライバ130)によって実行される。ここでのレート同期は下層に位置するネットワークデータユニットレベル(例えば、ATMに対しては、ATMセルレベル)におけるものである。即ち、セル(cells)はホストメモリからATMインタフェースカード上のバッファへのDMAに対しスケジュールされ、その後、ビットストリームの一定のビットレートから決定される到着間時間(interarrival time)でネットワークへと送り出される。
【0044】
粗粒子ビットレートは、所望の一定のビットレートそのものに対応する値に設定される。さらに、ネットワーク伝送パスに待ち行列オーバフローが発生するのを防ぐため、粗粒子レートはATMハードウエアセルレートのより細かい同期より若干低い値に設定される。その結果、長期のレート同期は、ネットワークハードウエアクロックではなく、オペレーティングシステムのタイマを基準とすることとなる。
【0045】
これら2つの同期レベルのわずかな違いの結果、ジッターは2つのレベルのレートの差に正比例する。このジッターはデータチャンクバッファ401−1(図3)のネットワークへの各伝送に於いて周期的に発生する。これはより悪い場合のジッターであることに注意されたい。すなわちジッターはこの量によって制約される。
【0046】
BitPump<RNetwork (5)
【0047】
ビットポンプ401は、内部のバッファリングの割り当て及び内部バッファを用いた出力デバイスとディスクとの間の効率的なデータ伝送の役割を担っている。すなわち、粗粒子及び微粒子スケジューリング及び出力ドライバのレート制御の機能を果たす。ビットポンプ401は使用される特定の出力ドライバにやや依存する。ネットワーククロックはネットワークインタフェースの様々なタイプに応じて変わり得るからである。
【0048】
ビットポンプ401はヘッダ情報とバッファ401−1内の特定のアドレスロケーションを指し示す情報とを含んでいる。ヘッダは所与のビデオストリームに対し、そのストリームが振り向けられるべきネットワークと、そのネットワークを介するデータ伝送の性質を規定する情報とに基づいて初期化される。例えば、ヘッダ情報には一定ビットレート情報、RateFine情報及びRateCoarse情報が含まれる。
【0049】
本発明によると、ヘッダ情報が予め初期化されるため、データポンプ401はヘッダ情報を速やかに使用することができ、この情報を抽出するまたは求めるためにデータパケット自身を分析する必要がない。このことは、一定のビットレートを維持するため必要とされる情報を得るためにビデオサーバがデータパケットを分析する必要のあった従来技術に対し、大きな利点である。本発明の一実施例ではビットポンプ401はカーネルレベルのプログラムであり、スケジューラ402などのメディアストリームマネージャ(Media Stream Manager)のようなアプリケーションプログラムにカーネルレベルのインタフェースを与える。ビットポンプ401はヘッダのフォーマットを規定するフォーマット情報を含んでおり、アプリケーションプログラムが提供する情報によってヘッダが完成され得るようになっている。
【0050】
本発明のこの特徴に基づくと、ディスクからのビデオデータストリームの伝送はビデオデータストリーム中のSI情報を参照することなくなされ、それによってCPUのオーバヘッドが低減され、多数のビデオストリームを同時に取り扱うことができる。ビデオストリームが一定ビットレートエンコーダを使用して符号化される場合、ビデオストリームの任意の2つの位置の間のビット距離(即ち、バイト数で表した2つの位置の間の差)は、これらの2つの位置の間の時間距離(即ち、これらの位置のデータがディスプレイに与えられる時間(タイミング)に関する距離)に比例する。即ち、
【0051】
T2=T1+(BN+1とBNとの間の距離(バイト))/RateCoarse (6)
【0052】
こうして本発明によると、サーバは、ビデオデータストリームの内部のSI情報そのものを参照することなく、符号化されるビデオデータストリームの一定のビットレートにのみ基づいて、適時伝送されるようにビデオデータのスケジューリングを行う。このことは、この問題をバイト位置B2及びB1の近辺のSI(2)及びSI(1)情報を参照することによって解決し、SI(2)−SI(1)によって与えられる時間のあいだB2とB1の間のビデオデータを送信していた従来技術に対し大きな利点である。
【0053】
本明細書中で触れた文献及び特許出願は全て、個々の文献または特許出願が引証として加えられるべく個別に示されたのと同じように、本出願に引証として加えられる。
【0054】
本発明について説明してきたが、当業者には明らかなように、本発明の請求の範囲を逸脱することなく様々な変形変更が可能である。
【図面の簡単な説明】
【図1】ビデオオンデマンドのクライアント・サーバアプリケーションに適したビデオ信号配布用ネットワークを示す図。
【図2】本発明の一実施例に基づく、ネットワークへの伝送のための一定ビットレートビデオ信号用サーバスケジューリング機構を示す図。
【図3】本発明の一実施例に基づき構成されたビデオオンデマンドサーバを示す図。
【符号の説明】
10 音声及びビデオ情報源
20 サーバ
30 ネットワーク
40 デコーダシステム
50 CPU
60 ビデオエンコーダ
70 メディア同期装置
80 ディスクレイアウトシステム
90 ビデオディスクユニット
100 音声情報用記憶装置
110 入場制御手段
120 エラー回復手段
130 ネットワークインタフェース
140 CPU
145 音声情報及びビデオ情報同期手段
150 音声デコーダ
160 ビデオデコーダ
180 テレビ
190 スピーカ
401 ビットポンプ
401−1 バッファ
402 スケジューラ
407 ビデオオンデマンド(VOD)アプリケーション

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に記載のビデオサーバシステムの動作方法。
JP33084396A 1995-12-14 1996-12-11 ビデオサーバシステム及びその動作方法 Expired - Lifetime JP3789995B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/572,639 1995-12-14
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

Publications (2)

Publication Number Publication Date
JPH09233063A JPH09233063A (ja) 1997-09-05
JP3789995B2 true 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)

* Cited by examiner, † Cited by third party
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
AU4486900A (en) * 1999-05-04 2000-11-17 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
WO2002005492A1 (en) * 2000-07-12 2002-01-17 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
US6870887B2 (en) * 2001-04-09 2005-03-22 International Business Machines Corporation Method and system for synchronization between different content encoding formats
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
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
US7366829B1 (en) 2004-06-30 2008-04-29 Sun Microsystems, Inc. TLB tag parity checking without CAM read
US7571284B1 (en) 2004-06-30 2009-08-04 Sun Microsystems, Inc. Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor
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
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
US7519796B1 (en) 2004-06-30 2009-04-14 Sun Microsystems, Inc. Efficient utilization of a store buffer using counters
US20060009265A1 (en) * 2004-06-30 2006-01-12 Clapper Edward O Communication blackout feature
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)

* Cited by examiner, † Cited by third party
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
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
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
US5535209A (en) * 1995-04-10 1996-07-09 Digital Equipment Corporation Method and apparatus for transporting timed program data using single transport schedule

Also Published As

Publication number Publication date
EP0779725A3 (en) 2002-01-16
US5862450A (en) 1999-01-19
EP0779725A2 (en) 1997-06-18
JPH09233063A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
JP3789995B2 (ja) ビデオサーバシステム及びその動作方法
EP1407596B1 (en) Video stream switching
US6678332B1 (en) Seamless splicing of encoded MPEG video and audio
JP3063859B2 (ja) マルチメディア・ファイルを配信する方法およびファイル・サーバ
US7424730B2 (en) Multimedia presentation latency minimization
US6792047B1 (en) Real time processing and streaming of spliced encoded MPEG video and associated audio
USRE42081E1 (en) Information transmission apparatus, traffic control apparatus, method of managing bandwidth resources using the same and method of admitting a call, using variable-rate encoding
US6351474B1 (en) Network distributed remultiplexer for video program bearing transport streams
US6292490B1 (en) Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6246701B1 (en) Reference time clock locking in a remultiplexer for video program bearing transport streams
US6351471B1 (en) Brandwidth optimization of video program bearing transport streams
AU754879B2 (en) Processing coded video
US7096481B1 (en) Preparation of metadata for splicing of encoded MPEG video and audio
US6327421B1 (en) Multiple speed fast forward/rewind compressed video delivery system
US20020150123A1 (en) System and method for network delivery of low bit rate multimedia content
US8789119B2 (en) Statistical remultiplexer performance for video on demand applications by use of metadata
JPH11501786A (ja) 圧縮ビデオ信号受信方法
KR20030071481A (ko) 주문형 비디오 서비스를 방송 시스템에 제공하는 시스템및 방법
US20100064054A1 (en) Remote fast forward and rewind functionality for client devices
US6954469B1 (en) Multi-channel video pump
US20060262813A1 (en) Multi-channel video pump
JP5038574B2 (ja) 放送システムのためのビデオ・オン・デマンドサービスを提供する方法
JP2023161219A (ja) 送信装置、受信装置及びそれらのプログラム
JP2004501557A (ja) 汎用デジタル放送システムおよび方法
Won et al. Effect of VBR traffic smoothing on broadband wireless Internet

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