JPH09511623A - Multimedia distribution system - Google Patents

Multimedia distribution system

Info

Publication number
JPH09511623A
JPH09511623A JP6518182A JP51818294A JPH09511623A JP H09511623 A JPH09511623 A JP H09511623A JP 6518182 A JP6518182 A JP 6518182A JP 51818294 A JP51818294 A JP 51818294A JP H09511623 A JPH09511623 A JP H09511623A
Authority
JP
Japan
Prior art keywords
presentation
media data
sequence
stream
presentation unit
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.)
Pending
Application number
JP6518182A
Other languages
Japanese (ja)
Inventor
エル. ネルソン,デイビッド
ウッパルル,プレンクマー
ロマノ,パスケル
エル. クレイマン,ジェフリー
Original Assignee
ノベル,インコーポレイテッド
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
Priority claimed from US08/013,009 external-priority patent/US5719786A/en
Application filed by ノベル,インコーポレイテッド filed Critical ノベル,インコーポレイテッド
Publication of JPH09511623A publication Critical patent/JPH09511623A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • 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/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/632Control 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 using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Computer And Data Communications (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Prostheses (AREA)
  • Excavating Of Shafts Or Tunnels (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Paper (AREA)

Abstract

A computer-based media data processor for controlling transmission of digitized media data in a packet switching network. When the processor receives a request from a network client node for presentation of specified media data stream presentation unit sequences the processor in response retrieves media data from a corresponding media access location, determines the media data type of each presentation unit in the retrieved media data, and designates each retrieved presentation unit to a specified media data presentation unit sequence based on the media data type determination for that presentation unit. The processor then assembles a sequence of presentation descriptors for each of the specified presentation unit sequences, all presentation descriptors in an assembled sequence being of a common media data type, and then assembles transmission presentation unit packets each composed of at least a portion of a presentation descriptor and its media data, all presentation descriptors and media data in an assembled packet being of a common media data type. The assembled packets are then released for transmission via the network to the client processing node requesting presentation of the specified presentation unit sequences.

Description

【発明の詳細な説明】 マルチメディア分散システム 発明の背景 本発明は、ディジタル化されたメディアストリームデータ、例えば、ディジタ ル化された映像の管理に関する。特に、本発明は、ネットワークコンピューティ ング環境内におけるディジタル映像の把握、記憶、分散、アクセスおよび提示に 関する。 マイクロエレクトロニクスおよびディジタルコンピューティングシステムにお ける広範な技術の進歩によって、幅広いタイプの情報のディジタル化が可能にな った。例えば、文章、文字、静止画像および音声のディジタル表示が現在幅広く 用いられている。最近は、圧縮、記憶、伝送、処理および表示技術における進歩 によって、映像情報をさらに含むようにディジタル化の分野を広げるために要求 される能力が与えられた。 従来では、ディジタル化された音声および映像は、例えば、音声および映像ス トリームをインターリーブして、すなわち、2つのストリームのセグメントをイ ンターリーブして、把握および記憶することによって、コンピュータシステムあ るいはコンピュータネットワーク上に提示される。これは、ディジタル音声およ び映像を1つのストリーム記憶コンテナに記 憶することが必要となり、さらには活動提示シーケンスの名目レートと整合する 集合レートで、インターリーブされた音声データおよび映像データのかたまりを 検索することが必要となる。このように、映像の1ユニット(例えば、1フレー ム)は、記憶装置において物理的に音声の1ユニット(例えば、33msecクリップ に対応)と関連づけられており、映像および音声のユニットは記憶装置から1ユ ニットとして検索される。そして、そのような音声および映像ユニットのシーケ ンスは、提示・デコーダディジタルサブシステムに交互に与えられ、それによっ て対になった音声および映像の各ユニットはシーケンスの形となって与えられる 。 この音声および映像管理機能を提供するコンピュータシステムは、典型的にデ ィジタル圧縮/圧縮解除および把握/提示ハードウエアおよびソフトウエア、な らびにディジタル管理システムソフトウエアを含み、これらすべてはそれらが処 理する音声およびビデオストリームのインターリーブされたフォーマットに基づ き、かつ依存する。 現在は、ネットワーク環境における音声および映像の取り扱いも、インターリ ーブされた音声および映像ストリームを用いて音声および映像の把握、記憶およ び伝送が実行されなければならないスキームに基づいて行われる。このインター リーブは、伝送パケット内のインターリーブされたフォーマットのネットワーク を通る音声およびビデオストリームの伝送にまで拡張する。 従来、アクティブ提示シーケンスの間の音声の映像との同期化は、記憶装置に おける音声および映像ストリームをまずインターリーブし、アクティブ提示シー ケンスに対して特定された名目レートで音声および映像のかたまりを提示するこ とによって行われている。 Herrtwichによる「Time Capsules:An Abstraction for Access to continuou s-Media Data」において、リアルタイムシステムにおいて時限データがどのよう に記憶され、交換され、アクセスされるかを説明するための、タイムカプセルに 基づくフレームワークが開示されている。データがそのようなタイムカプセルに 記憶されると、タイムスタンプおよび持続時間値がデータ項目と関連づけられる 。タイムカプセル抽象化は、継続的メディアのアプリケーションには典型的であ る周期的なデータアクセスを保証するクロックの概念を含む。クロックのパラメ ータを改変することによって、こま抜きあるいはスローモーションなどの提示効 果が達成され得る。 Herrtwichの開示は時間ベースのデータを管理するためのタイムカプセル抽象 化を提供しているが、この開示はタイムカプセル抽象化に基づく時間ベースのデ ータの同期化のいかなる技術も提供しておらず、ネットワーク環境における時間 ベースのデータの要件に注意を向けてもいない。さらに、この開示はインターリ ーブされたフォーマットの関数としての時間ベースのデータストリームの処理あ るいはそのフォーマットの加工に注意を向けてもいない。 発明の要約 一般に、本発明のある局面の特徴をなすものは、1シーケンスの提示ユニット から構成されるディジタル化された連続的な時間ベースの(time-based)メディ アデータのコンピュータ提示を制御するコンピュータベースのメディアデータプ ロセッサである。各提示ユニットは、コンピュータによりメディアデータが提示 される所定の提示期間と提示時間とを有することを特徴とし、かつ別々のタイプ のメディアデータであることを特徴とする。本発明のプロセッサにおいては、入 力マネージャは、特定の提示ユニットシーケンスをコンピュータにより提示する 要求に応えて、コンピュータ内のある記憶ロケーションからメディアデータを取 り出し、その取り出されたメディアデータ内の各提示ユニットのメディアデータ のタイプを決定する。次に、入力マネージャは、その提示ユニットに対して決定 されたメディアデータのタイプに基づいて、取り出した各提示ユニットを特定の メディアデータ提示ユニットへと指定する。次に、入力マネージャは、特定され た複数の提示ユニットシーケンスのそれぞれに対して1シーケンスの提示記述子 をアセンブルする。各記述子は、そのシーケンス内のある指定された提示ユニッ トに対応するメディアデータを備えており、また、複数の提示記述子から構成さ れる各シーケンスは、共通のタイプのメディアデータからなる。その後、入力マ ネージャは、取り出されたメディアデータに基づいて、各提示記述子を対応する 提示期間および提示 時間へと関連づける。最後に、入力マネージャは各シーケンスの複数の提示記述 子を連結し、それによってそのシーケンス内における複数の提示ユニットの数列 (progression)を確立する。 本発明のメディアデータインタプリタは、複数の提示記述子シーケンスの提示 処理を開始する時間を示し、かつ、それに従って、それらのシーケンスが提示用 に処理される現在の提示時間を維持する。各提示ユニットが提示用に処理された 後で、インタプリタは複数のメディアデータシーケンスにおける各提示ユニット を計数することによって、各シーケンスに対して別々の現在の提示ユニット計数 を維持する。また、インタプリタは、そのシーケンスから各提示ユニットが提示 用に処理された後で、複数の提示ユニットシーケンスのそれぞれについて、提示 ユニット期間と、そのシーケンスの現在の提示ユニット計数との積を現在の提示 時間と比較する。その比較に基づき、その積が現在の提示時間計数に整合する場 合には、インタプリタは、提示用に処理されるべきその提示ユニットシーケンス 内の次の提示ユニットを解放する。一方、その積が現在の提示時間計数を超える 場合には、インタプリタは、その提示ユニットシーケンス内の次の提示ユニット を削除する。 一般に、本発明の別の局面の特徴をなすものは、パケットスイッチングネット ワークにおいてディジタル化されたメディアデータの伝送を制御するメディアデ ータプロセッサであ る。このようなネットワークは、パケットベースのデータ分配チャネルを介して 内部接続された複数のクライアントコンピュータ処理ノードを備えている。本発 明においては、遠隔メディアデータコントローラは、特定の提示ユニットシーケ ンスを提示する要求をクライアント処理ノードから受け取り、かつその要求に応 じて、対応するメディアアクセスロケーションからメディアデータを取り出す。 次に、本発明の遠隔メディアデータ入力マネージャは、取り出したメディアデー タにおける各提示ユニットのメディアデータのタイプを決定し、かつ、その提示 ユニットに対して決定されたメディアデータのタイプに基づいて、取り出した各 提示ユニットを特定のメディアデータ提示ユニットへと指定する。次に、入力マ ネージャは、特定された提示ユニットシーケンスのそれぞれに対して1シーケン スの提示記述子をアセンブルする。各記述子は、そのシーケンス内のある指定さ れた提示ユニットに対応するメディアデータを備えており、また、アセンブルさ れたシーケンスにおけるすべての提示記述子は、共通のタイプのメディアデータ から構成される。その後、インタプリタは、取り出されたメディアデータに基づ いて、各提示記述子を対応する提示期間および提示時間へと関連づける。最後に 、インタプリタはアセンブルされた各シーケンスにおける複数の記述子を連結し 、それによって特定された提示ユニットシーケンスにおける複数の提示ユニット の数列(progression)を確立する。 本発明の遠隔ネットワークメディアデータマネージャは、複数の伝送提示ユニ ットパケットをアセンブルする。これらのパケットはそれぞれ、少なくとも提示 記述子部とそれ固有のメディアデータとから構成されており、また、アセンブル されたパケットにおけるすべての提示記述子とメディアデータは、共通のタイプ のメディアデータから構成される。また、このメディアデータマネージャは、ア センブルされた伝送用パケットを、特定の提示ユニットシーケンスの提示を要求 するクライアント処理ノードへとネットワークを介して解放する。 本発明のローカルメディアデータコントローラは、クライアント処理ノードか ら遠隔メディアデータコントローラへと提示ユニットシーケンスの要求を伝送し 、かつユーザの特定の指令に応じてシーケンス提示の開始/停止を制御する。 本発明のローカルネットワークメディアデータマネージャは、クライアント処 理ノードにおいて伝送提示ユニットパケットをネットワークを介して受け取り、 かつ各提示記述子に対し、また受け取ったパケットにおけるそれ固有のメディア データに対して提示ユニットシーケンスを指定し、それによって提示記述子シー ケンスをアセンブルする。各提示記述子シーケンスはある特定の提示ユニットシ ーケンスに対応しており、また、アセンブルされたシーケンスにおけるすべての 提示記述子は、共通のタイプのメディアデータから構成される。その後、ローカ ルネットワークメディアデータマネージ ャはアセンブルされたそれぞれのシーケンスにおける複数の記述子を連結し、そ れによって複数の提示ユニットシーケンスのそれぞれに対して、複数の提示ユニ ットからなる数列を確立する。 本発明のローカルメディアデータインタプリタは、アセンブルされた提示記述 子シーケンスを一度に一つの記述子の割合で受け取り、かつ提示用の複数のシー ケンスを一度に一つの提示ユニットの割合で解放する。この処理において、ロー カルインタプリタは、複数のシーケンスの提示処理開始時間を示し、かつそれに 従って、記述子シーケンスが提示用に処理される現在の提示時間を維持する。各 提示ユニットの提示期間に基づいて、インタプリタは、特定された提示ユニット シーケンスの提示と現在の提示時間との間の同期をとる。 好ましい実施態様においては、特定されたメディアデータ提示ユニットシーケ ンスは、複数の内符号化映像フレームを有する映像フレームシーケンスを備えて いる。好ましくは、この映像フレームシーケンスの各フレームは内符号化された 映像フレームを備えており、かつより好ましくは、この映像フレームシーケンス はモーションJPEG映像シーケンスおよび音声シーケンスを備えている。別の好ま しい実施態様においては、複数の内符号化された映像フレームのそれぞれはキー フレームを備えており、かつそのキーフレームの後には、対応する複数の非キー フレームが続いている。各キーフレームは、後続の対応する非キーフレームを提 示するのに必要なメ ディアデータ情報を含んでいる。 別の好ましい実施態様においては、特定された複数の提示ユニットシーケンス の間において、提示記述子シーケンスのそれぞれにおける複数の提示記述子のそ れぞれについて、その記述子に対応する提示時間と現在維持されている提示時間 とを比較することによりローカルメディアデータインタプリタにより提示の同期 が達成される。この比較に基づいて、その記述子の対応する提示時間が現在の提 示時間に整合する場合には、インタプリタは、提示用に処理されるべき次の順番 の提示ユニットを解放する。一方、現在の提示時間がその記述子の対応する提示 時間を超える場合には、インタプリタは、提示用に処理される次の順番の提示ユ ニットを削除する。 別の好ましい実施態様においては、特定された複数の提示ユニットシーケンス の間において、提示ユニットが解放されて提示用に処理された後でシーケンス内 の各提示記述子を計数することによりローカルメディアデータインタプリタによ り提示の同期が達成され、それによって各シーケンスについて別々に現在の提示 ユニット計数を維持することができる。次に、インタプリタは、複数の提示ユニ ットシーケンスのそれぞれについて、そのシーケンスからの提示ユニットが解放 されて提示用に処理された後で、提示ユニット期間とそのシーケンスの現在の提 示記述子計数との積を現在維持されている提示時間と比較する。この比較に基づ いて、その積が現在維持されている提示時間に整合する場合には、インタプリタ は、その提示ユニットシーケンスにおける次の順番の提示ユニットを解放する。 一方、その積が現在維持されている提示時間を超える場合には、インタプリタは 、その提示ユニットシーケンスにおける次の順番の提示ユニットを削除する。 別の好ましい実施態様においては、本発明の遠隔メディアデータコントローラ は、特定の提示ユニットシーケンスがネットワークを介してクライアントノード へと伝送される時の特定の提示データレートの指示を、ローカルメディアデータ コントローラからネットワークを介して受け取る。取り出されたメディアデータ は、コンピュータ内のある記憶ロケーションに記憶されている複数の記憶提示ユ ニットシーケンスを備えている。各記憶提示ユニットシーケンスは特定の提示ユ ニットシーケンスに対応する提示ユニットから構成されており、また、記憶提示 ユニットシーケンスにおけるすべての提示ユニットは、共通のタイプのメディア データから構成される。遠隔メディアデータ入力マネージャは、記述子シーケン スがアセンブルされる時に提示ユニット記述子の各部を指定する。この各部は、 特定された提示データレートに基づくある数の記述子を備えており、また、指定 された各記述子はヌルメディアデータを備えている。それによって、記憶提示ユ ニットメディアデータのごく一部を用いて提示記述子シーケンスを構成すること ができる。この指定により、特定の提示ユニットシーケンスが特定の伝送用提示 データレートを獲得することができる。 本発明によれば、メディアストリームを分離し、かつ各ストリームに対するネ ットワーク伝送パケットを別々にフォーマットすることにより、それぞれのスト リームおよびそれぞれの提示ユニットに関する検査、処理および伝送上の決定を 、それ以外のストリームおよびユニットとは独立して行う機会および便宜が得ら れる。その結果、本発明のメディアプロセッサは、ある与えられた提示ユニット に関する提示上の決定を対応するストリーム内のその他のユニットとは独立して 行うことができ、また、それらの決定をオンザフライ式に行うことができる。こ の決定が可能になるために、あるストリームがネットワークを通して取り出され 、処理され、かつ伝送される間に、リアルタイムのスケーリングとネットワーク の負荷の調整が可能になる。 本発明のその他の局面、特徴および利点は、以下に述べる詳細な説明および特 許請求の範囲に述べる。 図面の簡単な説明 図1は、本発明のディジタル映像管理システムがインタフェースするメディア ストリームアクセスおよび伝送ポイントの概略図である。 図2は、本発明のディジタル映像管理システムのスタンドアロン実行の概略図 である。 図3は、本発明のディジタル映像管理システムのネットワーク実行の概略図で ある。 図4は、本発明のローカルディジタル映像管理システムマ ネージャモジュールの概略図である。 図5は、図4のローカルディジタル映像管理システムマネージャのストリーム I/Oシステムとストリームインタプリタモジュールの間のメディアストリームデ ータの流れを示す概略図である。 図6は、図4のローカルディジタル映像管理システムマネージャによって実行 される提示および把握シナリオを示す概略的なフローチャートである。 図7は、図4のローカルディジタル映像管理システムマネージャによって実行 される、メディアストリーム記憶フォーマットからトークンフォーマットへの変 換を示す概略図である。 図8は、図6のローカルディジタル映像管理システムマネージャシナリオと関 連して用いられるディジタル映像システムによって実行される提示および把握シ ナリオを示す概略的なフローチャートである。 図9は、ネットワーク実行における、本発明のローカルディジタル映像管理シ ステムマネージャおよび遠隔ディジタル映像管理マネージャモジュールの概略図 である。 図10は、ネットワーク実行における、本発明の遠隔ディジタル映像管理マネー ジャモジュールとローカルディジタル映像管理マネージャモジュールの間のメデ ィアストリームデータの流れを示す概略図である。 図11Aは、図9の遠隔ディジタル映像管理システムマネー ジャによって実行される提示および把握シナリオを示す概略的なフローチャート である。 図11Bは、図9のローカルディジタル映像管理システムマネージャによって実 行される提示および把握シナリオを示す概略的なフローチャートである。 図12は、図7のストリームトークンのパケットフォーマットへの変換を示す概 略図である。 好ましい実施態様の説明 図1を参照すると、本発明のディジタル映像管理システム(DVMS)10が図示さ れている。スタンドアロン環境あるいはネットワーク環境のいずれかにおいて、 DVMSは、その把握位置あるいは記憶位置と無関係に、動作中のあるいは記憶され たメディアストリームデータを把握し、記憶し、伝送し、アクセスし、処理し、 表示する能力を与える。DVMSはメディアストリームデータ、すなわち、映像、音 声、動画、写真スチールおよび他のタイプの連続的な時間ベースのメディアデー タを含む、連続的な高データ転送速度のリアルタイムデータを収容する。本明細 書の記載を通して、本発明のDVMSは音声および映像ストリームを参照して説明さ れるが、このシステムにおいてはいかなる時間ベースのメディアデータストリー ムも管理され得ることに留意しなければならない。DVMSにおいて、図1に示され るように、メディアデータは、他のアクセスポイントのうちの、例えば、PBX( 専用ブランチ交換)サーバーなどの動作中のアナログ把握、アナログあるいはデ ィジ タルファイル記憶、あるいは動作中のディジタル把握からアクセスされ得る。ア クセスされたメディアは、例えば提示モニタ、コンピュータ上での編集および表 示のためのコンピュータシステム、VCRテーププリンタ、あるいはディジタル記 憶装置などへの引き渡しのためにDVMSによって管理されるか、あるいはPBXサー バーに送られる。 非常に有利なことに、DVMS管理スキームは、データストリームをディジタル化 するために用いられるいかなる個々の記憶あるいは圧縮技術とも無関係であり、 さらには、DVMSが実行されるネットワークのいかなる個々の通信プロトコルある いは伝送プラットフォームとも無関係である。付加的に、DVMSは産業規格ベース であるが、多数の管理プラットフォームを取り込むその層構造アーキテクチャを 介して、フレキシブルで規格拡張可能である。それらの特徴および有利な点の各 々については、後の議論で詳述する。ディジタル映像管理システム構成装置 本発明のDVMSは、メディアデータのインターリーブが行われない、メディタデ ータストリームが別個の異なるメディアデータストリームとして取り扱われ管理 される技術に基づいている。ここでは、用語「ストリーム」は、前で説明した映 像のような動的データ型、従ってコンピュータシステムあるいはネットワークに おいて一時的に予測可能に生成され消費される動的情報からなるストリームを表 すことを意味する。ストリームはシーケンスの連続を含んでいる。シーケンス自 体はシーケンスを含み得、そして各シーケンスはセグメントの連続を含んでいる 。情報識別子としてのストリーム、シーケンスおよびセグメントは、メディアタ イブの特定のセマンティックスを有さない。むしろ、これらは、本発明の管理シ ステムによって管理される動的データ型を特定し、編成するための好都合な抽象 化である。ストリーム、シーケンスおよびセグメントに類似することが容易に理 解されるものは章、段落および文を含む文献である。 ストリームは、それらのメディアデータ型、例えば、音声、映像あるいは動画 データ型によって特徴づけられる。シーケンスは、ユーザにとって意味のある情 報を表す。例えば、映像シーケンスは映像シーンを含む映像クリップを表し得る 。セグメントは、データを編集し混合するために便利な、そのデータの「かたま り」であり得る。また、セグメントは、キー映像フレームおよび対応するそれに 続く差映像フレームを生成する映像圧縮スキームを用いているときのように、一 時的に連結するデータのユニットを表してもよい。 本発明のDVMSにおいては、同期的提示用のストリームは別個の構成ストリーム のストリームグループに(すなわち、インターリーブを行わずに)グループ化さ れ得る。そのようなストリームグループにされた構成ストリームは、記憶コンテ ナ内にインターリーブされて記憶され得るが、DVMSは別々に記憶されたストリー ムを動的に調整し得る。いずれの場合においても、システムは、インターリーブ してストリームを処 理するのではなく、個別にストリームを処理する。 ストリームのセグメントは、提示ユニットを含む。提示ユニットは、表示され る、連続的な一時的ベースのデータのユニットであり、従って、関連づけられた 提示時間および提示持続時間を有している。提示時間は、進行中の提示について の時間ベースに関して関連づけられた提示ユニットがプレイされる、提示のシー ケンスにおける適切なポイントを示す。提示持続時間は、進行中の提示において 関連づけられた提示ユニットがプレイされる適切な期間を示す。従って、映像提 示ユニットは映像フレームを含み、音声提示ユニットはフレーム持続時間と関連 づけられた多数の音サンプルを含む。 上記のように、DVMSは、スタンドアロンコンピュータシステムにおいて実行さ れても、コンピュータベースのパケット交換ネットワークで実行されてもよい。 図2を参照すると、スタンドアロンコンピュータシステム実行12において、スタ ンドアロンコンピュータ14上で提示および編集を行うために、動作中のあるいは 記憶されたメディアストリームがアクセスされ、把握される。そして、把握され 選択的に編集されたメディアストリームは、提示モニタあるいはVCRテーププリ ンタユーティリティに引き渡され得る。 図3を参照すると、DVMSが実行されるパケット交換ネットワークは、パケット 交換ネットワーク80を介して連結されているデスクトップコンピュータシステム 18を有しており、DVMSネットワーク実行16により制御されている。ネットワーク 80は、ローカルエリアネットワーク(LAN)あるいはワイドエリアネットワーク (WAN)、もしくは1つ以上のLANおよびWANの組み合わせを有していてもよい。D VMSは、動作中のアナログ映像キャプチャ、例えはVCRあるいはカムコーダ、ネッ トワーク、記憶装置あるいはPBXサーバー、もしくはデスクトップコンピュータ の1つからメディアストリームにアクセスし、かつ、そのメディアストリームを 把握し、次いで、ネットワークを通って再びいずれかのアクセスポイントに戻す メディアストリームデータの転送を管理する。 ディジタル映像管理システムは、ローカルDVMSマネージャおよび遠隔DVMSマネ ージャから構成される。ローカルDVMSマネージャはクライアントオペレーティン グ環境を与え、従って、ネットワークにおけるスタンドアロンコンピュータある いは各クライアントコンピュータに常駐する。ここで、「クライアント」は、コ ンピュータシステムあるいはメディアデータを要求するネットワークにおけるア クセスポイントの1つであると定義する。遠隔DVMSマネージャは、ネットワーク 動作環境を与え、従って、ネットワークサーバに常駐する。ローカルDVMSマネー ジャは、例えば、MicrosoftRWindowsTMを実行するIBM互換型パーソナルコンピュ ータ上で実行され得、それによってベースとなるディジタル映像サービスに対し て高レベルの産業規格アクセスを行う。このローカルDVMSマネージャ実行は、例 えば、アプリケーションの発展のための産業規格MicrosoftRディジタル映像MCI APIをサポートし得る。 ローカルDVMSマネージャは、以下に述べる、他のオペレーティングシステムに対 して高移植性である有効なデータフローサブシステムを組み込む。 本発明のDVMSシステムは、好ましくは、アプリケーションにメディアデータス トリーム管理能力を含むためにコンピュータプログラミングアプリケーションに 対するインターフェースを含む、アプリケーションプログラミングインターフェ ースの組として実行される。従って、DVMSは、プログラミングアプリケーション の領域内で、メディアデータストリーム機能を開始するインタフェース呼び出し を介して、ベースとなるプログラミングアプリケーションとインタフェースする 。そのようなインタフェース実行は、Cプログラミングの当業者には理解可能で あろう。 遠隔DVMSマネージャは、パケットネットワーク環境においてクライアントとサ ーバーを動的に連結させるように作用する。このマネージャのアーキテクチャは 、下記するように、別個のインターリーブされていないメディアデータストリー ムを基準化する能力をサポートするという重要な利点を有している。基準化可能 なパケット映像を生成する、パケットベースの映像を基準化するこの能力は、LA NおよびWANの両方における動的なメディアデータ型に対して適応帯域幅管理を可 能にする機能である。遠隔DVMSマネージャは、NetwarecLoadable Moduleとして 、例えばNovell Netwarecオペレーティングシステム上で実行されてもよい。ローカルDVMSマネージャ ローカルDVMSマネージャは、透過的に、すなわち、アクセスおよび把握を要求 したアプリケーションプログラムの機能に強い影響を与えずに、メディアデータ ストリームのアクセスおよび把握を管理する。ローカルDVMSマネージャはディジ タル映像システムと共に作動し、特殊目的ディジタル映像ハードウエアあるいは ディジタルハードウエアの特殊目的ソフトウエアベースのエミュレーションにお いて実行される。 図4を参照すると、ローカルDVMSマネージャ20は、3つのモジュール、すなわ ち、ストリームコントローラ24、ストリーム入力/出力(I/O)マネージャ26お よびストリームインタプリタ28から構成される。このモジュール性は、DVMS設計 において、メディアデータストリームにおけるデータの流れを、システムを通る そのメディアストリームに対する制御情報の流れから分離するためにDVMS設計に おいて活用される。このデータおよび制御分離に基づき、ストリームデータおよ びストリーム制御情報は、各々が独立エージェントとして動作する3つのマネー ジャモジュールの中の個別相互作用を生成するものと見なされる。I/Oマネージ ャ、インタプリタ、およびコントローラエージェントは、ローカルDVMSマネージ ャを介して、独立プログラム制御フローおよびデータスペース割り付けと共に、 独立にスケージュール可能なオペレーティングシステム処理に各々マップされる 。メディアストリームデータの流れはストリームI/Oマネージャ26およびストリ ームイン タプリタ28によって管理され、制御情報のフローはストリームコントローラ24に よって管理される。これらの各管理機能は、以下で詳細に説明される。 ストリームI/Oマネージャモジュール26は、ストリームインタプリタからある いはストリームインタプリタへのメディアデータストリーム、例えば、音声およ び映像ストリームの動的な供給の責任を負う。また、このモジュールが記憶ファ イル、例えばDVIRAVSSファイルを介してアクセスされると、このモジュールはメ ディアデータに有効なファイルフォーマット処理機能も与える。本発明のDVMSの スタンドアロン実行においては、ストリームI/Oマネージャは、ディジタルある いはアナログ記憶装置のようなメディアアクセスのポイントからあるいはそこに 対してメディアデータストリームの検索および記憶を行う。他方、DVMSのネット ワーク実行においては、以下で記載するように、遠隔DVMSマネージャモジュール が、ネットワークを介してメディアアクセスのポイントにおいて検索および記憶 を行う。最も重要なのは、ストリームI/Oマネージャが、情報が記憶されている ときのその音声および映像情報の表現を、対応する動的なコンピュータベースの 表現に変換を行うことである。この変換は、以下で詳細に説明する。 ストリームインタプリタモジュール28は、表現がスタンドアロン型コンピュー タあるいはパケットネットワークに連結されたコンピュータにおいて加工されて いるときの、音声および映像の動的なコンピュータベースの表現の管理の責任を 負う。この動的な管理は、検索された音声および映像ストリームの同期化および 提示シーケンスの間に音声および映像情報が表示されるレートの制御を含む。さ らに、ストリームインタプリタモジュールは、音声および映像情報の把握、圧縮 、圧縮解除およびプレイバックを含む。しかし、このモジュールは、圧縮技術に 非依存であり、さらにはデバイスに非依存である。例えば、把握および提示機能 のためのハードウエアを含むディジタルビデオサブシステムのベースサービスは 、個々の圧縮技術あるいはデバイス技術に独特であるいかなる機能もカプセル保 存するディジタル映像プリミティブの規格APIの組を介してアクセスされるため に実行されることが好ましい。 以下のプリミティブ機能の組は、ディジタル映像サブシステムのベースサービ スに対するデバイスに依存しないアクセスを提供する。 Open: 特定のデバイスを開き、それを初期化し、さらなる要求に対してハン ドルをリターンする。 Close: 特定のデバイスを閉じ、いずれかの関連づけられたリソースを解放す る。 Get Capability:例えば、表示解像度、圧縮フォーマットなどのデバイスの能 力を問い合わせる。 Start: 復号化およびストリームバッファからのデータの表示を開始する。 Stop: 復号化およびストリームバッファからのデータの表 示を停止する。 Get info: デバイスの現在の状態についての情報を得る。 Set info: デバイス属性に情報を設定する。 ストリームコントローラモジュール24は、ユーザによって管理されるアプリケ ーションの間、映像および音声把握およびプレイバック機能の制御の責任を負う 。この制御は、把握およびプレイバックの間の映像および音声の動的状態を維持 し、プレイ、ポーズ、ステップおよびリバースなどの提示制御機能を行うことを 含む。従って、このモジュールは、音声および映像把握およびプレイバックの間 のストリームイベントのアクティブアプリケーションの通告に責任を負う。ここ で、イベントは、それに対して指示が行われる現在の提示ユニット数、あるいは 以前に特定された提示ユニット数と現在の提示ユニット数との整合の発生として 定義される。 音声および映像、あるいは他の動的メディアストリームののアクティブなプレ イバックの間、ストリームI/Oマネージャおよびストリームインタプリタは、プ レイバックされているデータストリームの時間ベースのプロデューサおよびコン シューマとしてそれぞれ作用する。逆に、動的データストリームの記録の間には 、ストリームインタプリタは時間ベースのストリームプロデューサとして作用し 、ストリームI/Oマネージャは時間ベースのストリームコンシューマとして作用 する。プレイバックと記録の両方の間には、I/Oマネージャおよびインタプリタ は自主的かつ非同期的に動作し、アクティブスト リームにおけるすべてのデータは、明確なデータチャンネルプロトコルを介して データ間を直接流れる。ストリームコントローラは、コントロールメッセージを 非同期的に送り、I/Oマネージャとインタプリタの間の流れに影響を与えるが、 コントローラ自体はデータの流れと関係を持たない。以下に述べるように、すべ てのデータフローオペレーションは、例えば、ディスクあるいはネットワークサ ブシステムとディジタル映像把握および提示ハードウエアの間で、最も少ない数 のバッファコピーを用いて処理される。 このシステム設計は、I/Oマネージャおよびインタプリタのドメインに対して 完全な透過性を備えるという点において特に有利であり、それによって、以下で 説明するようなネットワーククライアント/サーバ構造にシステムを拡張する能 力が与えられる。さらに、このベーススリーエージェントユニットは連結あるい は繰り返され、より複雑なデータおよび制御機能グラフを形成してもよい。 ローカルDVMSマネージャのアーキテクチャにおいては、非同期エージェントの うちの一つの活動は、ストリームフローに関係しながら動作することを予定され るたびに、処理サイクルとして表される。非同期エージェントが周期的に予定づ けられるレートは、そのエージェントについての処理レートとして表され、1秒 ごとのプロセスサイクルとして測定される。処理期間は、プロセスサイクル間の 期間として定義される。ストリームI/Oマネージャとストリームインタプリタと の 間のストリームの連続的なデータフローを維持するために、ストリームI/Oマネ ージャとストリームインタプリタの限界エージェントは、与えられた処理サイク ル内で提示ユニットの処理期間の価値を処理しなければならない。そのような処 理レートが実現されない場合は、ローカルDVMSマネージャは、以下に説明するよ うに、フローレートを制御し得る。ストリームインタプリタに対する処理レート は、ストリームの名目提示レートに近く、すなわち、すべての処理サイクルにお いて、提示ユニットが処理される。ストリームI/Oマネージャは、すべての処理 サイクルにおいていくつかの提示ユニットをサービスし、従って、その処理レー トは、提示レートよりもかなり遅くなり得る。 ストリームI/Oマネージャ、インタプリタおよびコントローラによって与えら れたストリーム制御機能のモジュラー性は、DVMSのローカルDVMSマネージャアー キテクチャを、割り込み型マルチタスキングおよび優先化されたスケージューリ ングをサポートする新しいコンピュータオペレーティングシステムの大部分に対 して高移植性にする。このアーキテクチャは、有効なデータ管理専用のコプロセ ッサへのストリームI/Oマネージャおよびインタプリタモジュールの選択的なオ フロードを備える。より重要には、マネージャアーキテクチャの高度に分散され た性質によって、下記するように、マネージャアーキテクチャはLANおよびWANシ ステムに容易に適用され得る。 図5を参照すると、本発明のDVMSと共に実行されるコンピ ュータが音声あるいは映像ストリームへのアクセスを要求すると、以下のストリ ームフローが生じる。ストリームI/Oマネージャ26モジュールは、要求されたス トリームをストリーム入力30から検索する。このストリーム入力は、記憶アクセ スポイント、例えば、コンピュータファイルあるいはアナログ映像ソースを有し ている。そして、ストリームI/Oマネージャは、各ストリームの特定化されたフ ァイルフォーマットに従って、検索されたストリームを分離する。アクセスされ た2つのストリーム、例えば、音声および映像ストリームが記憶装置においてイ ンターリーブされた場合、ストリームI/Oマネージャはストリームを動的に分離 し、各々がそのタイプ(すなわち、音声あるいは映像)に基づき限定された記述 子を有する個別内部表現にそのストリームを変換する。一旦分離されると、音声 および映像ストリームデータは、ストリームI/Oマネージャとストリームインタ プリタの両方によって、ストリームグループ内の個別構成ストリームとして取り 扱われる。そして、ストリームI/Oマネージャ26は、各構成ストリームに対して 、ストリームパイプ32と称される提示ユニットの別々の列を介して提示ユニット のシーケンスを有するストリームデータをストリームインタプリタ28と交換する 。従って、音声ストリームパイプ33は音声提示ユニットに対して生成され、映像 ストリームパイプ31は映像提示ユニットに対して生成される。(音声ストリーム のグループの)各音声ストリームはそれ自体のパイプを有し、各映像ストリーム はそれ自体のパ イプを有する。ストリームのプレイバックの間、ストリームI/Oマネージャは記 憶装置から提示ユニットを間断なく検索および生成し、ストリームインタプリタ はストリームパイプを介して提示ユニットを連続的に消費し、例えば、ユーザに 提示するために、ディジタルメディアデータサブシステムに提示ユニットを伝送 する。 ストリームが分離されている(インターリーブされていない)入力30から複数 のストリームを検索するとき、ストリームI/Oマネージャはストリームのデータ を検索しラウンドロビン式にキューするが、いかなるストリーム分離機能も行わ ない。ストリームインタプリタはもともとインターリーブされているストリーム を処理するので、これらのストリームを同様な方法で処理する。従って、ストリ ームI/Oマネージャは、静的なコンテナ30の性質からシステムの残部を防護し、 さらに、記憶コンテナのフォーマットを「隠す」だけでなく、論理的に調整され たデータストリームは記憶されるために集合させられる。さらに、そのハードウ エア構造のようなストリームインタプリタ実行の詳細は、I/Oサブシステムから 「隠されて」いる。実際、2つのエージェントの間の唯一の通信手段は、明確な ストリームパイプデータ経路を介するものである。 図6も参照すると、提示シナリオの間には、まず、ストリームコントローラ24 が、処理ストリームを開始するためにそれらのアクティブモジュールを生成する ことによってストリ ームI/Oマネージャ26およびストリームインタプリタ28を初期化36し、ストリー ムグループおよび対応する構成ストリーム名の定義および指示38を行う。そして 、ストリームI/Oマネージャ26は、ストリームがインターリーブされて記憶され ている場合、対応する記憶コンテナ30から名前をつけられたストリームの検索40 を行い、ストリームを分離する。ストリームがインターリーブされていない場合 、ストリームはラウンドロビン式に検索される。一旦ストリームが検索されると 、ストリームI/Oマネージャはストリームの、以下に説明するストリームトーク ンの内部コンピュータ表現への変換42を行う。ストリームグループ指示30を介す ると、ストリームコントローラによってストリームI/Oマネージャに与えられた 指示によって、各ストリームトークンはストリームおよびストリームグループと 一致させられる。そして、I/Oマネージャは、各々がストリームインタプリタ28 による消費のための個別ストリームパイプ32内にあるストリームの個々のバッフ ァ44を行う。ストリームコントローラは、エンキューされると、ストリームグル ープのコントロール46を与える。 図7も参照すると、記憶表示からストリームトークン表示へのI/Oマネージャ ストリーム変換42は以下の通りである。典型的に、音声および映像データはイン ターリーブされてディスクに記憶され、検索時にはIntelRAVSSファイルフォーマ ットのようなインターリーブされたディスクーバッファ内にある。ディスクバッ ファ100は、ストリームグループフレーム1 05のシーケンスから構成され、各フレームはヘッダ106、映像フレーム108および 音声フレーム110を含んでいる。これらのストリームグループフレームの開始ア ドレスを含む分離インデックステーブル(図示せず)は、これらのフレームを含 むファイルの終わりで維持される。このインデックステーブルによって、特別に 識別されたストリームグループフレームへのランダムアクセスが可能になる。 ディスクバッファは、データの大きなかたまりの中のディスクからI/Oマネー ジャによって検索され、各検索されたかたまりのサイズはディスクトラックサイ ズ、例えば、各々64キロバイトに最適化される。I/Oマネージャは、各検索され たストリームグループフレームヘッダを調べ、ストリームグループフレーム内の 各音声および映像フレームの開始アドレスを計算する。また、I/Oマネージャは 、対応するフレームからタイムスタンプ情報を検索する。そして、トークン112 と称される記述子の連結されたリストは、音声および映像フレームに対して生成 される。各トークンは、音声あるいは映像提示ユニット114およびそのユニット についてのタイムスタンプ116を表示する。これらのトークンは、ストリームパ イプを表すリストに連続的に連結される。従って、上記の処理においては、スト リームI/Oマネージャは、ディスクからインターリーブされたデータを検索し、 データを個別ストリームに分離し、分離ストリームバイプに基づき分離されたス トリームの内部表示を各ストリームに対して1つずつ構成する。 一旦ストリームがストリームパイプ内でエンキューされると、ストリームコン トローラ24によって初期化36されたストリームインタプリタ28は、提示ユニット の構成ストリームトークンを受け取り、デキュー48する。そして、バッファ解除 されたストリームは、ストリームグループの状態の維持54を行う、ストリームコ ントローラを介した制御に基づいて、基準化50および同期化52を行われる。基準 化処理は、以下で詳細に記載される。そして、同期化されたストリームは、ディ ジタル提示サブシステムハードウエアに伝送される。 圧縮解除されたスキームは、映像フレームの特定の圧縮フォーマット、例えば 、動画JPEG映像フォーマットに基づいている。このフォーマットは、各フレーム がフレーム内符号化される、すなわち、独立に符号化される、他のフレームを特 定しない映像フォーマットの好ましいクラスの1つである。 図8を参照すると、ディジタル映像システム120は、ストリームインタプリタ からストリームを受け取り、ストリームデータをまず復号化し圧縮解除122する が、各ストリームは別々に処理される。そして、復号化され圧縮解除されたデー タストリームは、対応するフレームバッファ、例えば、映像および音声フレーム バッファに記憶124される。適切な時間に、記憶されたデータは、そのディジタ ル表現から対応するアナログ表現に変換126され、プレイバックモニタおよび音 声モニタに伝送される。ディジタルハードウエアサブシステムの様々なオペレー ションは、先に説明し記載したように、ディジタ ル映像プリミティブを介してストリームインタプリタによって制御される。 逆行するオペレーション、すなわち、コンピュータシステムによって処理され るディジタル映像および音声ストリームの把握および記憶においては、ストリー ムインタプリタ28はディジタルハードウエアサブシステム120から音声および映 像ストリームを把握する。この把握の前に、ハードウエアサブシステムは、音声 および映像信号をディジタル化128し、ディジタル化した信号をバッファに記憶1 30し、ディジタル化されたストリームをストリームインタプリタに渡す前に、映 像および音声データを圧縮し符号化132する。 ローカルシステムコントローラによって与えられたストリームグループ制御に 基づき、ストリームインタプリタは把握されたストリームに対してタイムスタン プを生成62し、そのタイムスタンプを用いて、埋め込まれたタイムスタンプを有 する映像および音声提示ユニットの対応するストリームトークンの生成64を行う 。そして、ストリームトークンは、ストリームI/Oマネージャ26による消費のた めのストリームパイプ32にエンキュー66される。 パイプ化ストリームは、ストリームI/Oマネージャ26によって受け取られ、デ キュー72される。ストリームがインターリーブされて記憶される場合、図7に図 示される機能を逆行するプロセスにおいて、ストリームがインターリーブ76され る。もちろん、ストリームはそのようにインターリーブされて記 憶される必要はない。一旦ストリームがインターリーブされると、必要であれば 、ストリームは対応する記憶コンテナ30に記憶される。 これらのシナリオにおいて記載されているストリームコントローラ、ストリー ムI/Oマネージャおよびストリームインタプリタの各機能は、当業者によって理 解されるように、標準設計技術を用いて、ハードウエアあるいはソフトウエアに おいて実行され得る。アペンディックスA、BおよびCは、ストリームを検索お よび提示する際の、ストリームコントローラ、ストリームI/Oマネージャおよび ストリームインタプリタの間の相互作用についての疑似コードスキームを提示す る。上記のシナリオを実行するために適したコンピュータ命令への疑似コード処 理工程の符号化は、Cプログラミングの当業者には理解可能であるであろう。音声の映像との同期化 上記の提示プロセスにおいて述べたように、本発明のディジタル映像管理シス テムによって、音声の映像との同期化、一般的には、提示されているいずれか2 つ以上の動的ストリームの間の同期化が行われる。この同期化機能は、ストリー ムグループにおける多数のリアルタイムの連続的な高データ転送レートストリー ムの調整された提示に対して本質的に要求される。例えば、音声および映像のリ アルタイムな性質は、非常に異なった提示属性を有するこれらの動的データ型の 提示属性から得られる。フルモーション映像は、30フレーム毎 秒として提示される必要があり、高品質音声は、32,000サンプル毎秒として提示 される必要がある。 さらに、ディジタル映像および音声データストリームは、それらの提示に対し てリアルタイム制約を有している。通常、ストリームは連続的であり、30秒(ク リップ)から2時間(映画)まで続く。さらに、ストリームをディジタル化する ために用いられる特別な圧縮技術によって、ストリームは典型的に約1メガビッ ト/秒から4メガビット/秒の記憶容量および伝送帯域幅を消費する。従って、 異なるデータストリームの同期化は、同期化されるストリームの異なる一時的な 側面を含まなければならない。 本発明のディジタル映像管理システムの同期化能力は、同期化されるデータス トリームの自己タイミング、従って、自己同期化に基づいている。この技術は、 構成ストリームの記憶された表現がインターリーブされても、集まるとストリー ムグループの構成ストリームとなる多数のデータストリームを独立して取り扱う ことを含む。ストリームI/Oマネージャは、ストリームインタプリタがストリー ムを同期化する前に、インターリーブされたストリームを分離する。しかし、そ の代わりに、共通基準時間ベースと共に提示される前に、独立構成ストリームが 別々のファイルコンテナに記憶され、同期化されてもよい。 自己同期化によって、ストリームグループにおける1つの構成ストリームが他 のストリームに対して優先化される。例 えば、音声ストリームが映像ストリームに対して優先化され得るが、それによっ て下記するような基準化可能な映像記憶、分散および提示レートが与えられる。 音声に対する人間の知覚は、映像に対する人間の知覚よりもかなり高いので、こ の特徴は特に有利である。人間が音声をより正確に知覚するために、音声サンプ ルは滑らかで連続的なレートで提示されなければならない。しかし、人間の視覚 的な知覚は、映像の質およびフレームレートの変化に非常に寛容である。実際、 映像の質およびフレームレートには非常にばらつきがあるにもかかわらず、動画 は知覚され得る。実験に基づく証拠によって、提示レートが15から30フレーム/ 秒の間である場合、人間は動画を知覚し得ることが示されている。低いフレーム レートでも動画は知覚可能であるが、前の動画の加工が目立ってしまう。 本発明のDVMSは、入手可能なコンピューティング、圧縮およびネットワークリ ソースを最大限に利用するこの現象を活用する。コンピュータシステムあるいは ネットワークコンピューティング環境内で、映像よりも音声の検索、転送、圧縮 解除および提示を優先化し、記憶装置においてではなく、提示の前に音声−映像 同期化に依存することによって、システムあるいはネットワークにおいてリソー ス入手可能性を含むように映像レートを変化させると同時に、受け入れ可能な音 声レートが維持され得る。さらに、音声および映像データストリームの独立した 管理によって、多くの編集能力、例えば、 ビデオストリームを多数の音声言語ストリームと共に動的にダビングする能力が 与えられる。同様に、音声ストリームの静止画像と同期化された表示は、独立ス トリーム管理技術によって与えられる。記載されたすべての同期化スキームは、 音声および映像ストリームだけではなく、いかなるタイプのストリームにも適用 可能であることに留意されたい。 図6を参照して上記したように、ストリームグループ内のストリームの同期化 は、標準化処理の間のストリームインタプリタモジュールがその責任を負う。ス トリームは、暗黙のタイミングスキームあるいは明示のタイミングスキームのい づれかを用いることによって、自己同期化されてもよい。暗黙のタイミングは、 同期化されるストリームグループの構成ストリーム内の提示ユニットの固定され た周期性に基づく。このスキームにおいて、各提示ユニットは固定された継続期 間を有すると仮定され、各提示ユニットに対応する提示時間は基準提示開始時間 に関して得られる。この基準開始時間は、すべての構成ストリームに対して共通 でなければならない。明示のタイミングは、各構成ストリーム自体の中での提示 タイムスタンプおよび選択的には提示継続タイムスタンプの埋め込み、および記 憶フォーマットからトークンフォーマットへのストリームの変換の間のスタンプ の検索に基づいている。そして、埋め込まれたタイムスタンプは、選択された基 準時間ベースに関してストリームの同期化に対して明示的に用いられる。 暗黙のあるいは明示的なタイミング自己同期化スキームのいずれかを用いて、 基準時間ベースは、基準クロックレートと称されるレートで進む基準クロックか ら得られる。このレートは、基準クロック動作の細分性である基準クロック期間 によって決定される。 本発明のDVMSは、2つのレベル、すなわち、ベースレベルおよびフロー制御レ ベルの自己同期化制御をサポートする。べースレベル同期化は、ストリームI/O マネージャが中断せずにストリームインタプリタに連続的にストリームデータを 供給することが可能であり、かつ、各提示ユニットが消費されるまでに入手可能 である、ストリーム処理シナリオに適用可能である。そして、このシナリオにお いては、ストリームI/Oマネージャは処理レート、および、ストリームI/Oマネー ジャストリームインタプリタの前にあることを保証する処理作業負荷を維持する 。 同期化のフローコントロールレベルは、ストリームI/Oマネージャと乾実行を 行うストリームインタプリタの間のストリームパイプに結果としてなり得る、計 算上のI/Oリソースフラクチュエーションの瞬時発生からの回復機構を提供する 、ベースレベルスキームの改変である。これは、例えば、リソースコンテンショ ンあるいはプロセッサコンテンションなどの、他のタスクあるいはストリームイ ンタプリター自体とのコンテンションによる提示ユニットに対するストリームイ ンタプリタの要求にストリームI/Oマネージャが時折遅れる、時分割 あるいはマルチタスクコンピュータ環境において起こり得る。そのようなシナリ オにおいては、本発明のDVMSは、以下に記載するように、ストリームフロー制御 機能とのベースレベルの同期化を増補する。ベースレベル暗黙タイミング同期化 上述のように、ベースレベル同期化方法では、ストリームインタープリタへの ストリームフローを制御する必要はないと仮定し、従って、ストリームパイプが 空になったかどうかの監視は行わない。暗黙タイミングは、同期化される各スト リームに適用される基準時間ベースに基づく。 音声および映像ストリームを同期化するためのシナリオを考慮すると、提示さ れる映像ストリームのための各提示ユニットは、典型的には、NTSC映像再生のた めの、例えば33ミリ秒のフレーム時間内で提示される映像情報を含み得る。音声 ストリームは、典型的には、提示ユニット毎に縁部が変動するサンプルとともに 、提示時間の固定フレームに分割され得る。音声および映像がインターリーブさ れる記憶方法では、このような固定時間ユニットは1映像フレームのための持続 時間、すなわち33ミリ秒として設定される。 この同期化シナリオでは、ストリームインタープリタは各ストリームパイプ、 従って、ストリームグループにおける各ストリームのための個別の提示ユニット カウンタを保持する。インタープリタはラウンドロビン式、すなわち先ず一方を 、次に他方を、そしてこれの繰り返しの方法で、2つのストリ ームからの提示ユニットを消費する。重要なことは、各ストリームの各提示ユニ ットまたはトークンに対して、他方のストリームとは関係なく、対応する基準時 間ベースに基づいて独立した提示同期化が決定されることである。この基準時間 ベースは、対応するストリームのための提示ユニット消費プロセスの開始時間に 対する現在の実時間を示す。各ストリームパイプのストリームカウンタは、対応 するストリーム内の既に消費された提示ユニットの数を示す。このカウントに提 示ユニットの各々の(固定)持続時間を掛けると、カウントされたユニットを提 示するために費やされた実時間が特定される。この実時間の積が現在の基準時間 に適合すると次の提示ユニットが解放され提示される。 ストリームインタープリタは、アペンディックスDの疑似コードに示された提 示決定方法に基づいて提示プロセスサイクル中の連続した各提示ユニットの消費 および提示を初期化する。この方法は、暗黙的に、ストリームインタープリタは インタープリタのプロセスレートが対応するストリームの名目提示レートに極め て近くなるように計画されると仮定する。この方法は、基準時間ベースと、既に 消費された提示ユニット数を提示するために要求された時間量との比較に基づき 、従って、提示ユニットが消費されているときこれらのカウントを維持するため にカウンタの使用を必要とする。ベースレベル明示タイミング同期化 前述のように、明示タイミング方法では、ストリーム同期 化は、対応するストリームのトークン自体に埋め込まれるタイムスタンプに基づ く。タイムスタンプは、基準時間ベースに対する時間を表し、この時間に、対応 する音声または映像提示フレームが消費および提示される。時間ベースはまた、 例えば、外部時計であり得るか、または同期化されるストリームの一方の埋め込 まれた時間ベースから生成され得る。タイムスタンプの周期性はそれ自体柔軟で あり、特定の同期化要件により変動し得る。タイムスタンプは、上述のように、 捕捉および圧縮操作の間に、または、後段の、例えば編集プロセスの間にストリ ームに埋め込まれ得る。タイムスタンプをストリームに埋め込むプロセスとは別 に、スタンプは、消費および提示の決定を行うために再生プロセス中にストリー ムI/Oマネージャおよびインタープリタによって利用される。ストリームインタ ープリタは、暗黙タイミング方法では提示ユニットカウンタを維持するが、この 方法では維持しない。その代わりに、ストリーム内の埋め込まれたタイムスタン プが同等の情報を提供する。 提示フレームトークンのためのタイムスタンプは、その提示ユニットのための 提示時間および提示持続期間を表す2つの32ビットの整数よりなる。提示時間お よび提示持続時間はミリ秒で表される。すべての提示ユニットが同じ持続時間で あるならば、提示持続時間は省略してもよい。 この同期化方法では、インタープリタは各提示トークンの埋め込まれたタイム スタンプを、このトークンが処理される とき読み出して、連続した各提示ユニットのための提示時間および持続時間を決 定する。インタープリタはアペンディックスEの疑似コードで与えられる決定方 法に基づいて、各ストリームの各提示ユニットの消費および提示を決定する。こ の決定方法は、ストリームインタープリタが、そのプロセスレートが対応するス トリームの名目提示レートに極めて近くなるように計画されるという仮定に基づ く。この方法は、基準時間ベースの、各提示ユニットに埋め込まれた提示時間お よび提示持続時間との比較に基づく。提示ユニットのスタンプ提示時間が基準時 間に対応するとき、この提示ユニットは提示のために消費される。 連続した提示ユニットを解放するための適切な時間を決定することに加えて、 暗黙および明示タイミング方法は共に、これらのユニットのための適切な解放時 間が経過した場合に提示ユニットを削除する。例えば、暗黙タイミング方法では 、処理されたユニットとユニット持続時間との積が現在維持されている時間カウ ントを超えるときは、次の連続ユニットは提示されずに削除される。同様に、明 示タイミング方法では、現在の提示時間が提示ユニットのタイムスタンプ提示時 間を超えると、このユニットは提示されずに削除される。このようにして、ユニ ットが予想されるより遅い時間に表示のために到着する場合でも、ストリームの 同期性は維持される。アペンディックスDおよびEにはこの提示ユニット削除機 能のための対応する疑似コードが示されている。フロー制御レベル暗黙タイミング同期化 フロー制御同期化方法は、ベースレベル同期化方法に追加して、消費および提 示プロセスサイクル中の瞬時の計算源および入出力源の変動からの回復を行う。 ベースレベル方法は、ストリームI/Oマネージャはストリームインタープリタよ り前段に位置して、ストリームパイプが空になるかまたは空運転しないようにす るという仮定に基づく。フロー制御同期化は、仮想提示ユニットの基づく方法を 用いて、この状態を防ぐ。 仮想提示ユニットでは、下部のデジタルハードウェアサブシステムが対応する 提示ユニットの持続期間の間、デフォルトの提示と共に存続し、一方、同時に、 一貫した内部状態を維持して、これにより、ストリームパイプが一時的に空のと きでも、提示され続けているストリームの連続処理を提供することができる。仮 想提示ユニットは多様な実施態様で実現され得る。例えば、動画JPEG映像の場合 には、仮想提示ユニットの再生は、好ましくは、最も最近の映像フレームを再提 示することに対応する。音声ストリームの場合には、仮想提示ユニットは、好ま しくは、ヌルユニット、すなわち、沈黙を表すヌルサンプルよりなる提示ユニッ トに対応する。他の仮想提示ユニットの場合も同等に適用可能である。 フロー制御暗黙タイミング方法を用いてストリームフローを同期化する提示プ ロセスサイクルの間、ストリームI/Oマネージャおよびストリームインタープリ タは、ベースレベル方法において上述したものと同じ操作を行う。上述のように 、 インタープリタは、提示されるストリームグループ内の各ストリームに対して個 別の提示ユニットカウンタを維持し、各ストリームの既に消費された提示ユニッ トの数を記憶する。このカウントに各提示ユニットの持続時間を掛けることによ り、基準時間に適合するときはシーケンスにおける次の提示ユニットが提示され る時間が特定される。ストリームインタープリタは、アペンディックスFの疑似 コードで与えられる決定方法に基づいて各提示ユニットの消費および提示を決定 する。この方法は、インタープリタが名目ストリーム提示レートに近いプロセス レートで計画されると仮定する。この方法では、ストリームパイプから提示トー クンが得られないこと、および基準時間と提示ユニットカウントとにより提示ユ ニットが必要であることが示されていることにインタープリタが気づくと、仮想 提示ユニットが生成および消費され、表示が行われる。フロー制御レベル明示タイミング同期化 フロー制御能力を備えた明示タイミング同期化メカニズムを用いる提示プロセ スサイクルの間、提示されるストリームグループの各提示トークンは、提示時間 および持続時間のためのそれ自体の埋め込まれたタイムスタンプを有すると仮定 される。フロー制御のない明示タイミング方法におけるように、ストリームイン タープリタは各々の埋め込まれたタイムスタンプを調べて、ストリームI/Oマネ ージャによって設定されるストリームパイプ内の対応する提示ユニットの消費方 策 を決定する。消費方策は、アペンディックスGの疑似コードで与えられる決定方 法に基づいて決定される。この方法は、他の方法と同様に、ストリームインター プリタのプロセスレートは対応するストリームの名目提示レートに近いと仮定す る。この方法では、ストリームパイプから別の提示ユニットは利用可能でなく、 またユニットが提示されるべきであると決定されると、デフォルト提示持続時間 に基づいて仮想提示ユニットが生成され、このユニットは次に提示のために消費 される。 さらに、暗黙または明示タイミングのいずれのフロー制御方法においても、提 示ユニットを飛び越える能力が提供される。この能力は、以前には利用不可能で あった提示ユニットが後になって利用可能となるときはいつでも呼び出される。 明示タイミング方法では、後に利用可能となるユニットのタイムスタンプは、仮 想提示ユニットの提示後の基準時間に適合することはなく、従って、このユニッ トは提示されることはなく無視される。暗黙タイミング方法では、利用不可能な 提示ユニットの代わりに仮想提示ユニットを提示することは、すべての提示され たユニットと同様に、提示ユニットカウンタを進ませる。利用不可能なユニット が後に利用可能になるとき、提示ユニットカウントは、カウントと固定提示ユニ ット持続時間との積がそのユニットの提示を可能としないように進められる。 上述のおよびアペンディックスD〜Gの4つの同期化プロ セスを同期化方法を実現するのに適切な命令に符号化することは、Cプログラミ ングの分野において通常の技術を有するものにとっては理解し得るものである。自己同時特性 上述の4つの自己同期化方法は、本発明のデジタル映像管理方法にいくつかの 決定的な利点を提供する。自己同期化は、共通のストリームグループを有する個 別に記憶されたストリームをダイナミックに結合する能力を備えている。従って 、例えば、音声および映像ストリームは個別のファイルコンテナに記憶され、記 憶装置からの呼び出しの間にダイナミックにまとめられ同期化された提示が行わ れる。上述のように、構成要素である音声および映像ストリームのこの同期化に より、例えば、映像を音声とダビングする機能、および静止映像を音声と同期化 させる機能が提供される。さらに、ストリーム同期化方法を用いて、異なるファ イルコンテナからのストリームセグメントを1つのストリームにダイナミックに 連結させ得る。明示自己同期化の場合には、ストリームI/Oマネージャは、スト リームセグメント内の最初の提示ユニットを、新しいストリームセグメントの開 始を示すマーカで印をつける。次に、ストリームインタープリタがこの提示ユニ ットを消費するとき、インタープリタは対応するストリームのための基準時間ベ ースを再初期化する。 自己同期化はさらに、同期化されている音声および映像ストリームを再生する ために用いられる音声および映像ハード ウェアのクロックレートのゆがみに適合する能力を備えている。例えば、11、22 、または33KHzで記録された音声ストリームは、正確な音声再生のための正しい サンプリングレートで再生されなければならない。同様に、秒速30フレームで記 録された映像ストリームは、同じレートで再生されなければならない。従って、 これらのストリームを再生する音声および映像ハードウエアは、各々、対応する ストリームの特定の再生レート要件に適合するクロックを使用しなければならな い。クロック速度のゆがみは再生ストリームの移動を引き起こし、従って、ゆが みが補正されないならばストリームの同期化を破壊する。自己同期化は、音声お よび映像時間ベースをチェックするための基準時間ベースを用いて自動的にこの 訂正を実現する。基準時間ベースとの予め定められた一致に対して時間ベースの 1つにゆがみが検出される場合、必要ならば、ストリームの消費レートは提示ユ ニットを定期的に落とすように調整され、これにより、基準時間ベースおよび他 のストリームに関して同期化を維持する。 自己同期化方法は、ストリームの本来の提示レートを変動させる能力を提供す る。例えば、毎秒25フレームに基づいてPALフォーマットで捕捉された映像スト リームは、忠実度は幾分失われるが、毎秒30フレームであるNTSCフォーマットで 再生され得る。一般に、ストリームは、ストリームが捕捉されたレートとは関係 なく、注文のレートで再生され得る。実際において、映像再生では、映像の名目 提示レートを早めたり 遅くしたりするのが所望される場合が多い。自己同期化方法を用いれば、例えば 、単に基準時間ベースを実時間レートの2倍に進めることによって、映像提示レ ートを2の係数だけ速くされ得る。反対に、基準時間ベースを実時間レートの半 分のレートで進めることによって提示を半分に緩め得る。このような場合には、 提示のために経過した全時間は、当然ながら、名目レートで行われる提示の場合 の経過時間の半分または2倍となる。ストリーム基準化可能性 計測可能なストリームとは、コンピュータ制御の下で、可変のデータレートを 有する総体的な名目提示レートで再生され得るストリームのことである。当然な がら、データレートの変動は、ストリームの質、忠実度、または提示レートに影 響を与え得る。ストリーム基準化可能性とストリーム自己同期化とを結合するこ とにより、音声および映像ストリームグループの柔軟な提示を行うための強力な 制御メカニズムが提供される。 上述のように、基準化可能性によって、DVMSは、ストリームレートをユーティ リティ利用可能性によって調節することによって、コンピュータシステム源のユ ーティリティを最適化することが可能になる。音声および映像ストリームの場合 には、ストリームインタープリタは、音声ストリームに映像ストリームより高い 優先権を与え、これにより、音声提示ユニットを名目音声提示レートで消費する が、映像ユニットは 利用可能な提示レートで消費するようにプログラム化され得る。この利用可能な 提示レートは、所定のコンピュータシステムの利用可能な計算源によって決定さ れる。異なる性能特性を有する異なるコンピュータシステムは、提示操作を行う ためには異なる時間量を必要とする。このような操作には、圧縮、フォーマット 変換、および出力装置マッピングが含まれる。特に、圧縮されたモーションJPEG 映像ストリームは、IBM-PC互換性のパーソナルコンピュータシステム内での提示 前にデジタルハードウェアサブシステムによって、ハフマン復号化、DCT圧縮、R GB色空間への変換、および256色VGAパレットへのマッピングを行わなければなら ない。異なるコンピュータシステムの場合は、これらのタスクを行うためには様 々な時間を必要とする。従って、本発明の管理システムは、ストリームフローレ ートのスケールを調整することによっていかなるコンピュータ性能特性にも適合 して、そのコンピュータでのユーティリティの利用可能性を提供する。 最も重要なことは、本発明のデジタル映像管理システムストリーム基準化可能 性特性により、デジタルストリームのパケットネットワークにわたる分配を包括 的に管理する能力が提供される。DVMSは、クライアント−サーバセッションのた めの管理プロトコル方法、およびストリームLANまたはWANにわたって記憶、アク セス、検索、および提示するための管理プロトコル方法を提供するネットワーク の実施態様においてこの能力を利用する。これにより、システムは記憶されたス トリームのオンデマンド検索および再生、ならびにパケットネットワークにわた るマルチキャストライブストリームの注入およびタッピングを提供する。管理さ れたデジタルストリームはファイルサーバの通常のコンピュータファイルに記憶 され得るか、またはライブアナログ源から生成されLANまたはWANにわたってアク セス可能にされ得る。このようなアクセスは、上述のように、記憶されたファイ ルからの検索および提示におけるようにオンデマンドであるか、または放送チャ ネルからの注入およびタッピングにおけるようにオンスケジュールであり得る。 DVMSによって提供される管理プロトコル方法について以下に詳述する。 図9を参照して、ネットワークの場合においては、ローカルDVMSマネージャ20 は、管理システムの遠隔DVMSマネージャ82を介してネットワークのどこかに位置 するデジタル媒体ストリームにアクセスする。ローカルDVMSマネージャはクライ アント操作環境を提供し、一方、遠隔DVMSマネージャはネットワーク操作環境を 提供する。ローカルDVMSマネージャ20と遠隔DVMSマネージャ82とは、ネットワー ク80を介して、ネットワークに接続されたコンピュータのクライアントによって 要求されるとき制御メッセージおよびデジタル媒体データストリームを伝送する 。遠隔DVMSマネージャ 遠隔DVMSマネージャ82は4つの独立したモジュール、すなわち、遠隔ストリー ムコントローラ84、遠隔ストリーム入出 力(I/O)マネージャ86、遠隔ネットワークストリームI/Oマネージャ88、および ローカルネットワークストリームI/Oマネージャ90を介してデジタル媒体ストリ ームのネットワーク制御を管理する。 このDVMSネットワークの場合には、ネットワーク内のクライアントコンピュー タに局所的に存在するローカルDVMSマネージャ20は、ローカルストリームコント ローラ24、ローカルストリームI/Oマネージャ26、およびローカルストリームイ ンタープリタ28を有する。遠隔DVMSマネージャのローカルネットワークストリー ムI/Oマネージャ90はローカルDVMSマネージャと局所的に直接的に接続する。 遠隔ストリームコントローラ84は遠隔記憶装置またはネットワーク内のアクセ スポイント、例えば映像サーバに位置する。このコントローラは遠隔に記憶され たストリーム、例えば映像ファイルを管理し、これによりローカルDVMSマネージ ャのローカルストリームコントローラモジュールによるオンデマンドアクセスの 場合に映像ファイルを利用可能にする。クライアントサーバセッション管理プロ トコルがこのアクセスを制御する。遠隔ストリームコントローラはまた、後述の ように、フィードバック制御のためのローカルDVMSマネージャから遠隔DVMSマネ ージャへの連結を提供する。 遠隔ストリームI/Oマネージャ86もまた遠隔サーバに位置し、ストリームをダ イナミックに遠隔記憶サーバ内の記憶コンテナから検索またはこれへ記憶する。 記憶されたストリーム情 報への効率的なアクセスおよびファイルフォーマットの取り扱いはこのモジュー ルによって提供される。従って、遠隔ストリームI/Oマネージャは、スタンドア ローン型コンピュータの場合にローカルDVMSマネージャのストリームI/Oマネー ジャによって実行されるタスクと同じタスク、すなわち、記憶されたストリーム 提示と対応するダイナミックなコンピュータベースのトークン提示との間の翻訳 を含むタスクを実行する。 遠隔サーバに設けられた遠隔ネットワークストリームI/Oマネージャ88は、ロ ーカルDVMSマネージャとの間のネットワークを横断するストリームの伝送を規制 する。このローカルDVMSマネージャにより通信セッションが開始される。この伝 送は、遠隔ネットワークストリームI/Oマネージャ88と、ローカルDVNMSマネージ ャモジュールに対して局所的に位置するローカルネットワークストリームI/Oマ ネージャ90との間の、ネットワーク内のクライアントについてのストリーム交換 を含む。ストリーム転送プロトコルがこの伝送を制御する。ローカルネットワー クストリームI/Oマネージャ90はネットワークからのストリームを受け取り、こ れらを再生プロセス中にローカルDVMSストリームインタープリタ28に送る。反対 に、ローカルストリームインタープリタからのストリームを受け取り、記録およ び記憶プロセス中にネットワークにわたってこれらを伝送する。 本発明のDVMSは、上述したローカルDVMSマネージャモジュールと遠隔DVMSマネ ージャモジュールとの相互作用および初 期化を管理するためのプロトコルを提供する。特に、4つのクラスのプロトコル 、すなわち、ストリームグループネーミングおよびストリームサーバまたはイン ジェクタからのアクセスのためのアクセスプロトコル、ストリーム先行読み出し ならびにストリームの分離および優先順位を提供する輸送プロトコル、スケジュ ール化されたストリーム、例えば映像ストリームを選択されたネットワーククラ イアントに向けて放送する能力を提供する注入/タッププロトコル、そして、適 用可能な計算資源および通信帯域幅の管理を提供するフィードバックプロトコル が提供される。 DVMSがネットワーク環境で構成されるときは、ネットワーク内の遠隔媒体デー タストリームファイルサーバは、標準ネットワーク広告プロトコルに基づいて、 それらのドメイン内で制御されるストリームグループを広告する。例えば、Nove llR NetwareTM環境では、サーバはサービスアドバーティスメントプロトコル(S AP)に基づいて広告する。各映像サーバは、広告するストリームグループコンテ ナのネームスペースを受け持つ。 図9に示すように、ネットワーク内に接続されたコンピュータ(クライアント )上を走るアプリケーションが、ネームによってストリームグループコンテナを 開き、コンテナの中味にアクセスするとき、DVMSは、ローカルDVMSマネージャの 対応するローカルストリームコントローラ24を初期化して、対応するストリーム グループにアクセスする。次に、ローカ ルストリームコントローラは、アプリケーションがアクセスしたいと望むストリ ームグループコンテナネームおよび遠隔サーバの広告に基づいて、適切な遠隔ス トリームコントローラ82とのクライアント−サーバセッションを設定する。ロー カルストリームコントローラは、単一のセッションの間に多くのストリームグル ープコンテナにアクセスし得る。この能力は、遠隔DVMSマネージャによって用い られるネームサービスアーキテクチャにより得られる。この方法では、コンテナ ネームのドメインが単一のアクセスコールを介してアクセスされ、これにより、 ドメイン内の多数のコンテナが同時にアクセス可能となる。 次にローカルストリームコントローラ24は、遠隔DVMSマネージャのローカルネ ットワークストリームI/Oマネージャ90を初期化して、後述のように、適切な遠 隔ストリームコントローラ84と共にストリーム先行読み出し操作を始める。次に 、この遠隔ストリームコントローラは、対応する遠隔ストリームI/Oマネージャ ら86および遠隔ネットワークストリームI/Oマネージャ88とを初期化して、アク セスされたストリームグループ内の構成ストリームの検索および伝送を取り扱う 。 ストリーム先行読み出し操作は、ストリームグループの提示が開始されるとき クライアントによって感知される潜在期間を減らすために用いられる。ストリー ム検索、伝送、および基準化には有限量の時間が必要であり、これをクライアン トは遅延として感知する。先行読み出し操作では、遠隔スト リームI/Oマネージャ、遠隔ネットワークストリームI/Oマネージャ、およびロー カルネットワークストリームI/Oマネージャは、クライアントがストリームの提 示を要求する前であっても、クライアント−サーバセッションの正に開始時点で ストリームを検索、伝送、および基準化する。この方法では、ストリームは、ユ ーザが提示の開始を特定するときはいつでも、ストリームパイプを介して、ロー カルストリームインタープリタによって直ちに消費される準備が整っており、こ れにより、可能な提示遅延はなくなるかまたは最小限にされる。 次に図10を参照して、ネットワークのクライアントが特定のストリームグル ープへのアクセスを要求するときは、以下の手順が実現される。要求からの初期 化が行われると、およびネットワークサーバのストリームグループ広告に基づい て、適切な遠隔ストリームI/Oマネージャ86は、記憶されたストリーム、例えば 、音声および映像ストリームを、要求されたストリームグループを含む適切なフ ァイル記憶装置30から呼び出す。次に、マネージャは、必要であれば、呼び出さ れたストリームを分離して、これにより、分離音声および映像提示ユニットスト リームを生成して、各提示ユニットトークンストリームのための1つのパイプで ある分離ストリームパイプ87内に対応するストリーム記述子トークンをエンキュ ーさせる。 遠隔ネットワークストリームI/Oマネージャ88は、ストリームパイプの各々か らの提示ユニットトークンを消費して、ス トリームに基づいた伝送パケットを組み立て、これらを解放して、DVMSストリー ムデータ輸送プロトコルに基づいて、ネットワーク80を横断して対応するローカ ルネットワークストリームI/Oマネージャ90へ直接伝送する。用いられる特定の 輸送プロトコルはネットワーク環境によって設定される。例えば、NovellRネッ トワークでは、Netware SPXプロトコルがストリームデータ輸送のために用いら れる。ローカルネットワークストリームI/Oマネージャ90は、伝送された提示ユ ニットを受け取ると直ちに、提示ユニットを各ストリームのための分離ストリー ムパイプ32内に整列させ、これらはローカルストリームインタープリタ28によっ て消費され、クライアントのコンピュータのデジタル媒体ハードウェアサブシス テム34によって使用される。 遠隔DVMS機能をさらに詳しく示す図11Aを参照して、初期化が行われると、遠 隔ストリームコントローラ84は、マネージャの各々のアクティブモジュールの作 成130、136を行うことによって、遠隔ストリームI/Oマネージャ86と遠隔ネット ワークストリームI/Oマネージャ88とを初期化する。また、2つのマネージャに よるアクセスのために要求されたストリームグループの特定132を行う。特定さ れたストリームグループの制御134は、マネージャの機能の持続期間を通じて提 供される。 遠隔ストリームコントローラ84はまた、ストリームグループの要求の結果とし て、ローカルおよび遠隔DVMSシステム間を進むクライアント/サーバセッション の管理138を提供する。 ストリームグループを要求したローカルDVMSマネージャによって提供される情報 に基づいて、遠隔ストリームコントローラは、ローカルDVMSからの所望のレート 値の受け取り140を行う。このレート値は、ストリームが提示されるレートを示 す。これについては下記に詳述する。遠隔ストリームコントローラは、遠隔スト リームI/Oマネージャ86および遠隔ネットワークストリームI/Oマネージャ88の各 々へのこのレートの特定142を行い、各々はこのレートの受け取り144を行う。 遠隔ストリームI/Oマネージャ86は、適切なストリームコンテナ30からの音声 および映像ストリームの検索、分離、および基準化146を行う。ストリームがイ ンターリーブされずに別々に記憶される場合は、ストリームはこの時点で個別に 基準化され得、一方、ストリームがインターリーブされる場合は、後に詳述する ように、遠隔ネットワークストリームI/Oマネージャ88は後にストリームを基準 化する。 図7を参照して前述したように、遠隔ストリームI/Oマネージャは、記憶装置 から呼び出されたストリーム提示ユニットフレームに対応するストリームトーク ンの作成148を行い、個々のストリームパイプ32を介して遠隔ネットワークスト リームI/Oマネージャに送るためにストリームトークンのエンキュー150を行う。 遠隔ネットワークストリームI/Oマネージャ88はストリームパイプからのトー クンのデキュー152を行い、必要であれば、トークンの基準化154を行う。次にト ークンは伝送パケットの ためにフォーマット化156され、ネットワークに解放されて伝送される。 また、図12を参照して、パケットフォーマットプロセス156は以下のように実 現される。トークンストリーム112内の各トークン114はバッファ118内にエンキ ューされ、これによって、ストリームが元々記憶装置内でインターリーブされた 場合でも、各バッファは、1つのストリームのみからのトークンとこれに連結す る媒体フレームデータとを含む。次にトークンは、バッファからの対応する媒体 データと共に、各トークンおよび対応する媒体データが連結した状態を維持する ような方法でパケット120に連続して整列される。この連結は、トークンがタイ ムスタンプされやすいという事実と共に、記憶装置のフォーマットおよびストリ ームの合致が、伝送中、伝送パケットに保存されることを必要としない。 このパケットフォーマット方法は、先行技術の従来のパケットフォーマット方 法に勝る利点を提供する。従来のパケットプロトコルでは、記憶された媒体デー タフォーマットは、典型的にはインターリーブされており、伝送パケットフォー マットで保存される。従って、この方法では、音声および映像ストリームは、一 連のインターリーブされたヘッダ、音声フレーム、および映像フレームを含むパ ケットで、ネットワークを通して伝送され、従って、インターリーブされたスト リームを記憶させた特定のシンタックスはパケットフォーマットに複製される。 逆に、本発明のパケットフォーマットスキームによれば、ストリームの分離お よび各ストリームのパケットの別々な(distinctly)フォーマッティングにより、 他のストリームおよび提示ユニットに対し独立な各ストリームおよび各提示ユニ ットとに関する伝送決定を調べ、処理し、かつ行なう機会が得られまたそれが容 易になる。この結果、ローカルDVMSマネージャが、所与の提示ユニットトークン に関する提示決定を、対応ストリーム中の他のトークンに対し独立に行うことを 可能にし、かつこれらの決定を「オンザフライ」式に行うことが可能になる。こ の機能により、ストリームが検索され、処理され、ネットワーク中を伝送される 際に、リアルタイムな基準化およびネットワーク負荷調整が実現される。従来技 術によるスキームは、アナログ機能を有さないため、本発明の特徴による同期、 基準化およびレート制御を実現し得ない。 図11Bを参照して、ストリームグループがいったんネットワーク中を伝送され ると、ローカルDVMSマネージャは、そのストリームグループを提示のために処理 する。ローカルストリームコントローラ24は、遠隔ストリームコントローラ84と のクライアント/サーバーセッション通信の管理158を行い、また、遠隔ストリ ームコントローラと同様に、アクティブプロセッサ例の生成160、162を行い、こ こではローカルネットワークストリームI/Oマネージャ90およびローカルストリ ームインタプリタ28を初期化する。ローカルストリームコントローラは、関与す るストリームのグルーピング164を行い、ローカ ルネットワークストリームI/Oマネージャ90およびストリームインタプリタ28が そのグループを処理する際に、そのグループの制御166を行う。 ローカルネットワークストリームI/Oマネージャ90は、伝送されたネットワー クパケットを受信168し、提示ユニットを受信された通りにアセンブルし、次に 、受信されたパケットからストリームトークンの生成170を行い、各ストリーム パイプにエンキュー172する。ストリームインタプリタ28は、ストリームパイプ からのトークンをデキュー176し、必要に応じてトークンを下記に説明するプロ セスで基準化176する。次に、前述した同期スキームを用いて、ストリームを同 期化178し、提示のためにデジタルハードウェアサブシステムに送る。このハー ドウェアの機能は、図8をもちいて前述した通りである。 逆のプロセスを用い、すなわち図11Aおよび11Bに示すようにネットワーククラ イアントからストリームを記録して遠隔ストリームサーバーに記憶する際、デジ タルストリームハードウェアサブシステムはローカルストリームインタプリタ28 にストリームデータを供給し、ストリームの再生フォーマットに応じて、ローカ ルストリームインタプリタは、対応タイムスタンプを生成180して同期化および 基準化に用いる。その後、ストリームトークンの生成182を行い、ストリームパ イプ中にエンキュー184する。 ローカルネットワークストリームI/Oマネージャは、パイプからのストリーム トークンをデキュー186し、下記に説明する ように、各ストリームをその再生レート記録レートおよび記憶フォーマットに応 じて基準化188する。その後、パケットが形成され、ネットワークを介して、対 応する遠隔DVMSが存在する遠隔サーバー地点まで伝送190される。 その後、遠隔ネットワークストリームI/Oマネージャ88は、伝送されたパケッ トの受信192を行い、このパケットに基づいてストリームトークンの生成194を行 う。トークンは、次にストリームパイプ中にエンキュー196され、遠隔ストリー ムI/Oマネージャに消費される。遠隔ストリームI/Oマネージャは、ストリームパ イプからのトークンをデキュー198し、必要であればストリームの基準化200を行 う。最後に遠隔ストリームI/Oマネージャは、ストリームをインターリーブフォ ーマットで記憶する必要があればインターリーブし、サーバー上の適切なストリ ームコンテナに記憶202する。 図11Aおよび11Bは、本発明のDVMSのネットワーク化は、スタンドアローンのDV MS構成の精密(elegant)かつ効率的な拡張上にあることを示している。各処理部 の設計がモジュラー性を有する結果、この拡張が可能になっている。すなわち、 パケット輸送の詳細は遠隔ストリームI/Oマネージャには透明であり、スタンド アローンのストリームI/Oマネージャと同様に機能する。同様に、ローカルスト リームインタプリタに供給される提示ユニットトークンストリームは、送信に特 異的な(transmission-specific)フォーマットを含んでいない。 従って、本ローカルDVMSマネージャは、ネットワーク環境 中において用いられた場合、遠隔ネットワークストリームI/Oマネージャを追加 することによって、対応する遠隔ストリームI/Oマネージャを含む遠隔DVMSマネ ージャ、対応するローカルストリームインタプリタを含むローカルDVMS、および 遠隔DVMSマネージャからのローカルネットワークストリームI/Oマネージャを実 現するように容易に再構成され得る。このモジュラー性を利用して、DVMSの機能 に基づいた、かつローカル・スタンドアローンタイプのストリームシナリオと遠 隔・ネットワークストリームシナリオとの機能差を関知しない、プログラミング 応用が可能である。 アペンディックスH、I、JおよびKは全体として、C言語疑似コードを使用 し、クライアント−サーバーセッション制御ならびに、本発明のDVMSのネットワ ーク化のためにアペンディックスA、BおよびCに示した他に必要となる遠隔お よびローカルストリーム処理技術を構成した例を示している。C言語の当業者で あれば、これら疑似コードプロセスから対応するコードへのコーディングを理解 し得るであろう。また、当業者には理解されるように、これらのプロセスを標準 的な設計技術を用いハードウェア的に構成することによっても同様の機能を提供 し得る。スケーラブル(scalable)ストリームレート制御 本発明のDVMSのネットワーク実施態様では、遠隔およびローカルDVMSマネージ ャは共に動作して、ストリーム伝送中の間のネットワークを通るストリームのフ ローレートの制御を 行う。前述のように、この機能は特に、音声および映像ストリームを扱う際に、 音声ストリームレートを映像ストリームレートに優先させることによってネット ワークユーティリティの使用可能度(availability)の変動を吸収することに効果 的である。 この優先は、人間の持つ動きの視認性は、表示品位および提示映像のフレーム レート変動に対し許容性が高いことを前提にしている。典型的には、映像提示レ ートが毎秒15フレームを越えると人間は動きを知覚する。また、映像提示レート の瞬間的かつ滑らかな変動に対しては、実質的に気が付かない。しかし、人間の 聴認性は、音声提示品位またはレートの変動に対して許容性が全く低い。典型的 には、一定の音声提示レートが維持されないとき、人間はノイズを知覚し、音声 ストリーム中に短い無音期間がはさまれると「クリック(click)」を知覚する。 従って、DVMSシステムは音声ストリームを映像ストリームに対し優先する。この 音声の映像に対する優先は、ネットワーク中の音声および映像ストリームの、記 憶コンテナからの検索から始まり提示に終わる全データフローに対して拡張され る。 この音声優先に基づくネットワーク中のストリームレートの制御は、自動的に 開始されてもよく、また、ユーザーによる直接の要求に応じて開始してもよい。 各タイプの制御要求を下記に順に説明する。ただし、遠隔DVMSマネージャは、各 タイプに対し同様に反応する。 図11Aを再び参照し、ネットワーク中の遠隔ストリームコントローラ84は、対 応する遠隔ストリームI/Oマネージャ86および遠隔ネットワークストリームI/Oマ ネージャ88に、名目提示レート(ストリームが「通常」提示されるレート)の何 パーセントでストリームを実際に検索および伝送するべきかについて指示を与え る。遠隔ストリームコントローラは、ローカルストリームコントローラ24とのネ ットワーク通信における所望のレート値の受信140を行い、遠隔ストリームI/Oマ ネージャ86および遠隔ネットワークストリームI/Oマネージャ88に対してこのレ ートを特定142する。遠隔ストリームI/Oマネージャ86および遠隔ネットワークス トリームI/Oマネージャ88の各々は、レート値を受信144する。 ストリームレート制御メカニズムは、ストリームアクセスシナリオに依存して 、遠隔ストリームI/Oマネージャまたは遠隔ネットワークストリームI/Oマネージ ャによって実行される。上記のように、要求された音声および映像ストリームが 記憶時に例えばIntelのDVI AVSSファイルフォーマットでインターリーブされた 場合、遠隔ストリームI/Oマネージャはそのインターリーブ形式でストリームを 検索し、ストリームを別々のストリームに分離し、対応する提示ユニットトーク ンを生成する。遠隔ストリームI/Oマネージャは、このシナリオにおいては、ス トリームを別々に操作する能力を有さない。なぜなら、ストリームはインターリ ーブされた状態で検索されるからである。この場合、分離後にストリームをスト リームパイ プから得る遠隔ネットワークストリームI/Oマネージャは、各ストリームのレー トを、ストリームパケットネットワーク伝送用に形成する以前と同様に制御する 。 検索されるべきストリームが個々に記憶される場合、遠隔ストリームI/Oマネ ージャは、ストリームのレートを、それらが各々分離して検索されまた対応トー クンが生成される際に制御してもよい。この場合、遠隔ネットワークストリーム I/Oマネージャのレート制御機能は不要であり、ストリームがネットワーク中を 伝送される以前のコントローラレートをそれ以上変更することはない。 インターリーブされていないストリームのレート制御は、遠隔ストリームI/O マネージャにより基準プロセス146中において提供される。この場合、遠隔スト リームI/Oマネージャは、適当なストリームフレームをスキップして所定のスト リームレートを実現しながら、ストリームフレームを記憶コンテナから検索する 。スキップされるストリームフレームは、ストリームに対して行われた特定の圧 縮技術に基づいて決定される。遠隔ストリームI/Oマネージャは、仮想提示ユニ ットをスキップされたストリームフレームに代入することによって、ストリーム シーケンスの連続性を維持する。 フロー制御同期スキームに関して前述したように、仮想提示ユニットは、次の シーケンシャルなユニットが使用可能でないときにも、ストリームユニットシー ケンスの内部状態を一定して維持するための若干の代入メディアデータ情報を、 提示ユニットとともに有している。ここで、ストリームの伝送ストリームを基準 化するために仮想ユニットが用いられる基準化の場合は、伝送される提示ユニッ トデータ量を減少させるために、仮想ユニットが追加的に用いられる。 従って、ここでの仮想映像提示ユニットは、特定された(specified)提示期間 および時刻またはタイムスタンプを有するがフレーム提示情報を全く持たないヌ ル提示ユニットを有している。よって、遠隔ストリームI/Oマネージャが仮想提 示ユニットをスキップされたストリームフレームに代入するとき、仮想提示ユニ ットを含む伝送パケットは、スキップされたフレームが含まれた場合に比べて短 く、より速く伝送される。ローカルストリームインタプリタおよびデジタル提示 サブシステムがヌル映像ユニットを受信および処理するときには、そのユニット を、最も最近に提示されたフレームを表す(represent)指示として解釈する。こ のようにして、提示サブシステムは、デフォールトの映像提示データを、そのデ ータがネットワーク伝送を介して受信されることを要求することなしに、維持す る。 または、圧縮技術の当業者には理解されるように、適切な圧縮技術を用いるこ とによって、ヌル情報を代入することによって提示されない提示ユニットを含む 提示ストリームの伝送レートを増減する代わりに、部分的なメディア情報を代入 することも可能である。 インターリーブされたストリームのレート制御は、ストリ ームパイプからストリームトークンを受信した際に、ネットワークストリームI/ Oマネージャによって実現される。ここで、遠隔ネットワークストリームI/Oマネ ージャは、ストリームトークンを、処理されて伝送パケットを形成する際に基準 化154する。これは、遠隔ネットワークストリームI/Oマネージャが適切なトーク ンをスキップし、使用される圧縮技術に依存して仮想的な提示ユニットトークン を適宜代入することによって、特定されたストリームレートを実現するようなス キームを用いてストリームを処理することによって、実現される。 このインターリーブされたストリームの記憶において一般的かつ重要な状況に おいて、遠隔ネットワークストリームI/Oマネージャは、ストリームデータフロ ーに加わっているため、特定のプロセス周期およびプロセス期間によって特徴付 けられ得る。各プロセス周期中、遠隔ネットワークストリームI/Oマネージャは 、1つの提示ユニットを処理し、次のシーケンシャルな提示ユニットが伝送され るべきかどうかを、伝送決定スキームに基づいて決定する。同期技術に関連し上 述したプロセス決定スキームと同様に、伝送決定スキームは、処理中のストリー ムのタイミング技術に基づいて実現される。もしストリーム提示ユニットが埋め 込みタイムスタンプを含んでいれば、伝送決定スキームは、明示的タイミングカ ウントに基づき、それ以外の場合は暗黙タイミングカウントが使用される。 どちらのエージェント(agent)が基準化機能を提供する場合 でも、映像ストリームのみが基準化され、音声ストリーム提示フレームおよびト ークンは名目提示レートいっぱいで、いかなる音声提示フレームもスキップする ことなしに処理される。この音声提示レートの保存により、必然的に音声ストリ ームが映像ストリームに対して優先される。 基準化機能は、上述の通り、任意のフレームまたはストリームグループに用い られた圧縮技術に依存する。例えばキーフレーム型圧縮技術を用いた場合、キー フレームとは、ストリーム中の、そのキーフレームに従属する全ての後続非キー フレームの解凍(decompression)に必要な情報を含みかつ独立して選択され得る フレームである。従属または非キーフレームは、独立して選択され得ない。モー ションJPEGフォーマットは、ストリーム中の全フレームがキーフレームであるよ うなスキームに基づく。基準化動作において、キーフレームのみがスキップされ 、そのキーフレームに関連する全非キーフレームもまたスキップされる。その後 ヌルフレームが、キーフレームおよび全ての対応する非キーフレームに代入され る。 アペンディックスLおよびMは、暗黙タイミングレート制御スキームおよび明 示的タイミングレート制御スキームを実現するC言語疑似コードである。上述の 同期技術同様、暗黙タイミングレート制御スキームはカウント技術に基づいてお り、ストリーム提示フレームに埋め込みタイムコードを必要としない。明示的レ ート制御スキームは、所与のフレームの提示および持続期間を明示的に決定する ためにタイムスタン プを用いることからなる。どちらの構成においても、スキップされたストリーム フレームのために仮想的提示ユニットが発生される。 また、どちらの構成においても、スキップされたフレームが後に使用可能にな った場合、それらは同定かつスキップされることにより、提示されるのではなく 削除される。この提示ユニット削除機能は、同期スキームで用いられるものと同 様に、現在のシーケンシャルストリーム進行を維持する。アペンディックスLお よびMは、この提示ユニット削除機能を実現するための疑似コードである。適応負荷バランシング 本発明のDVMSは、システムを実現しているパケットネットワークの負荷を自動 的かつ動的に感知する能力を有している。感知された負荷に基づいて、上述のス トリームレート制御メカニズムがシステムによって用いられ、ネットワーク中の 負荷の対応かつ適応バランシングを行うことにより、ネットワークユーティリテ ィの使用可能度を最適化する。 図11Bを参照して、この負荷バランシングスキームにおいて、ローカルネット ワークストリームI/Oマネージャ90は、現在このマネージャとローカルストリー ムインタプリタ28との間でストリームを伝送しているストリームパイプ32をモニ ター206することによって、各パイプの平均待ち行列大きさすなわち提示ユニッ トトークンの使用可能度の変動を監視する。平均待ち行列サイズが有意に変動す るときは、ローカルネットワ ークストリームI/Oマネージャは変化の方向、すなわち大きくなったか小さくな ったかを検知する。その後、ローカルストリームコントローラ24に変化を通知20 8し、この変化に基づいて、伝送されるべき新ストリーム提示トークンレートを 名目提示レートのパーセンテージとして要求する。そして、ローカルストリーム コントローラは、上記要求を遠隔ストリームコントローラ84に伝送し、ストリー ムコントローラ84は、遠隔ストリームI/Oマネージャ86および遠隔ネットワーク ストリームI/Oマネージャ88にストリーム提示ユニットレートを要求されたレー トに調整するように指示する。 要求レートは、以下のスキームのように、平均待ち行列(queue)サイズに基 づいている。待ち行列サイズが、所定の使用可能度上限を越えて有意に増加する ときには、要求レートは増加される。使用可能度の増加は、高速処理を行い得る ことを示している。逆に、待ち行列サイズが所定の使用可能度下限を越えて有意 に減少するときには、要求レートは減少される。使用可能度の減少は、現在のレ ートは不可能でありより低いレートが好ましいことを示している。 または、ローカルストリームコントローラ24が容認204し得る限り、ユーザー が所望のストリーム提示レートを特定しても良い。ローカルストリームコントロ ーラは、要求を遠隔ストリームコントローラに送り実現する。 ストリームフレームがローカルDVMSマネージャを介して記録された後にストリ ームフレームが記憶されるような対応逆 プロセスにおいて、遠隔ストリームI/Oマネージャは、ストリームを記憶前に基 準化200することによって、ストリームを、ヌルフレームを含まないように再構 成する。この機能はまた、ローカルネットワークストリームI/Oマネージャによ り、ストリームが伝送される前に終了する基準化プロセス188によっても実現さ れ得る。 本発明のDVMSを、好適な実施例に関し特に詳細に説明してきた。他の実施例も また本発明の範囲内にある。例えば、本発明のDVMSは、音声および映像ストリー ムを管理するためのスキームとして説明したが、多様なメディアデータアクセス ポイントからアクセスされる他のタイプのメディアデータストリーム、例えばPB Xサーバーも、特許請求の範囲にある。本DVMSをコンピュータシステムまたはネ ットワーク上におけるソフトウェアとして実現する場合、Cプログラミング言語 の他のプログラミング言語を用いても良いことは、プログラミングの当業者には 明らかな通りである。また、同様にデジタルハードウェア設計の当業者には明ら かなように、本DVMSは、標準的な設計技術を用いて全くハードウェア的に構成さ れてもよい。 Detailed Description of the Invention                   Multimedia distribution system                             Background of the Invention   The present invention is directed to digitized media stream data, such as digital Related to the management of video that has been converted into video. In particular, the present invention relates to network computing. For capturing, storing, distributing, accessing, and presenting digital video in a streaming environment Related.   For microelectronics and digital computing systems A wide range of technological advances have enabled digitization of a wide range of types of information. Was. For example, digital displays of text, text, still images and audio are currently widespread. It is used. Recent advances in compression, storage, transmission, processing and display technology By the demand to expand the field of digitization to further include video information The ability to be played was given.   Traditionally, digitized audio and video are, for example, audio and video streams. Interleave the stream, that is, segment the two streams. By interleaving, grasping and remembering Rui is presented on a computer network. This is digital voice and And video in one stream storage container Need to remember, and even match the nominal rate of the activity presentation sequence Collected interleaved chunks of audio and video data at a rate It is necessary to search. Thus, one unit of video (for example, one frame) Is a physical unit of audio in the storage device (for example, a 33 msec clip). Video and audio units from the storage device. Searched as knit. And the sequence of such audio and video units. Are presented alternately to the presentation and decoder digital subsystems, which Paired audio and video units are provided in the form of sequences .   Computer systems that provide this audio and video management functionality typically Digital compression / decompression and grasp / presentation hardware and software, All of them, including digital management system software. Based on the interleaved format of the audio and video streams And depends.   Currently, the handling of audio and video in network environments is Captured and stored audio and video using the recorded audio and video streams. And the transmission must be carried out based on the scheme. This inter Leave is a network of interleaved formats within a transmitted packet. It extends to the transmission of audio and video streams through.   Traditionally, synchronization of audio with video during an active presentation sequence requires storage The audio and video streams in the Presenting audio and video chunks to the can at a specified nominal rate. It is done by and.   Herrtwich `` Time Capsules: An Abstraction for Access to continuou What is timed data in a real-time system with "s-Media Data"? In a time capsule to explain what is stored, exchanged, and accessed by A framework based on is disclosed. Data into such a time capsule Once stored, the time stamp and duration value are associated with the data item . Time capsule abstraction is typical for continuous media applications. It includes the concept of a clock that guarantees periodic data access. Clock parameter By modifying the data, presentation effect such as top removal or slow motion The fruits can be achieved.   Herrtwich Disclosure is a time capsule abstraction for managing time-based data. While this disclosure provides a time-based decapsulation based on the time-capsule abstraction. It does not offer any technology for data synchronization, It also does not pay attention to the requirements of the base data. In addition, this disclosure Processing time-based data streams as a function of the Rui does not pay attention to the processing of the format.                             Summary of the Invention   In general, one aspect of the invention features one sequence of presentation units. A digitized continuous time-based media consisting of A computer-based media data program that controls the computer presentation of data. It is a Rossa. Each presentation unit presents media data by computer Distinct type characterized by having a given presentation period and presentation time It is characterized by being the media data of. In the processor of the present invention, Force manager presents a specific presentation unit sequence by computer Upon request, retrieve media data from some storage location in your computer. Media data of each presentation unit in the extracted media data Determine the type of. The input manager then makes the decision for that presentation unit Identified each presentation unit retrieved based on the type of media data captured. Designate as a media data presentation unit. Then the input manager is identified One presentation descriptor for each of multiple presentation unit sequences To assemble. Each descriptor is associated with a given presentation unit in its sequence. It has media data corresponding to the media and is composed of multiple presentation descriptors. Each sequence provided consists of a common type of media data. Then enter The manager associates each presentation descriptor with the retrieved media data. Presentation period and presentation Relate to time. Finally, the Input Manager is a multiple presentation description for each sequence. A sequence of presentation units that concatenate the children, and thus the presentation units in the sequence Establish (progression).   The media data interpreter of the present invention presents multiple presentation descriptor sequences. Indicates the time to start processing and, accordingly, those sequences for presentation Keep the current presentation time processed. Each presentation unit processed for presentation Later, the interpreter will use each presentation unit in multiple media data sequences. A separate current presentation unit count for each sequence by counting To maintain. Also, the interpreter presents each presentation unit from the sequence. For each of the multiple presentation unit sequences after being processed for presentation The current presentation of the product of the unit period and the current presentation unit count of the sequence Compare with time. Based on that comparison, if the product matches the current presentation time count. , The interpreter determines that presentation unit sequence to be processed for the presentation. Release the next presentation unit in. On the other hand, the product exceeds the current presentation time count If the interpreter is the next presentation unit in its presentation unit sequence Remove.   In general, what characterizes another aspect of the invention is a packet switching network. A media device that controls the transmission of digitized media data in a work Data processor You. Such networks use packet-based data distribution channels It has a plurality of internally connected client computing nodes. Departure In the clear, the remote media data controller is a specific presentation unit sequencer. Request from the client processing node, and responds to the request. The media data is then retrieved from the corresponding media access location. Next, the remote media data input manager of the present invention uses the retrieved media data. Determines the type of media data for each presentation unit in the Each retrieved based on the type of media data determined for the unit. Designate a presentation unit to be a particular media data presentation unit. Next, enter The manager may take one sequence for each of the identified presentation unit sequences. Assemble the presentation descriptor of the device. Each descriptor is specified by some in its sequence. It is equipped with media data corresponding to the presented presentation unit and is also assembled. All presentation descriptors in a sequence of Consists of The interpreter then bases it on the retrieved media data. And each presentation descriptor is associated with a corresponding presentation period and presentation time. Finally , The interpreter concatenates multiple descriptors in each assembled sequence. , A plurality of presentation units in the presentation unit sequence identified thereby Establish a progression of.   The remote network media data manager of the present invention comprises a plurality of transmission presentation units. Assemble the packet. Each of these packets is presented at least It consists of a descriptor part and its own media data, and is also assembled. All presentation descriptors and media data in a It is composed of media data. In addition, this media data manager Request the presentation of a specific presentation unit sequence for the assembled packet for transmission Release to the client processing node via the network.   Is the local media data controller of the present invention a client processing node? The request for the presentation unit sequence to the remote media data controller. In addition, the start / stop of the sequence presentation is controlled according to a specific command from the user.   The local network media data manager of the present invention is a client process. In the physical node, the transmission presentation unit packet is received via the network, And for each presentation descriptor and its own media in the received packet Specifies the presentation unit sequence for the data, which Assemble the cans. Each presentation descriptor sequence is unique to a particular presentation unit system. Sequence in the assembled sequence. The presentation descriptor consists of a common type of media data. Then the local Network media data management It concatenates multiple descriptors in each assembled sequence, This allows multiple presentation units for each of the multiple presentation unit sequences. Establish a sequence of numbers.   The local media data interpreter of the present invention is an assembled presentation description. It accepts child sequences one descriptor at a time, and multiple sequences for presentation. Release cans one presentation unit at a time. In this process, The cal interpreter indicates the presentation processing start time of multiple sequences, and Therefore, the descriptor sequence maintains the current presentation time being processed for presentation. each Based on the presentation period of the presentation unit, the interpreter determines the presentation unit identified. Synchronize the presentation of the sequence with the current presentation time.   In the preferred embodiment, the specified media data presentation unit sequence Comprises a video frame sequence having multiple intra-coded video frames. I have. Preferably, each frame of this video frame sequence is intra-coded A video frame sequence, and more preferably, this video frame sequence Features motion JPEG video sequences and audio sequences. Another favored In a preferred embodiment, each of the plurality of intra-coded video frames is a key. It has a frame, and the keyframe is followed by multiple corresponding non-keys. The frame continues. Each keyframe offers a corresponding non-keyframe that follows. Required to show Contains media data information.   In another preferred embodiment, the identified plurality of presentation unit sequences Between presentation descriptors in each of the presentation descriptor sequences. For each, the presentation time corresponding to that descriptor and the currently maintained presentation time Synchronize presentation by local media data interpreter by comparing with Is achieved. Based on this comparison, the corresponding presentation time for that descriptor is the current proposal. If it matches the presentation time, the interpreter determines that the next order to be processed for presentation. Release the presentation unit of. Meanwhile, the current presentation time is the corresponding presentation of that descriptor. If the time is exceeded, the interpreter will cause the next sequential presentation user to be processed for presentation. Delete the knit.   In another preferred embodiment, the identified plurality of presentation unit sequences In between, after the presentation unit has been released and processed for presentation A local media data interpreter by counting each presentation descriptor of Synchronization of presentations is achieved, whereby the current presentation is presented separately for each sequence. Unit counts can be maintained. The interpreter then makes multiple presentation units. Each presentation sequence, the presentation unit from that sequence is released Current presentation of the presentation unit period and its sequence after being processed for presentation. The product with the indicator descriptor count is compared to the currently maintained presentation time. Based on this comparison And the product matches the currently maintained presentation time, the interpreter Releases the next presentation unit in its presentation unit sequence. On the other hand, if the product exceeds the currently maintained presentation time, the interpreter will , The next presentation unit in the presentation unit sequence is deleted.   In another preferred embodiment, the remote media data controller of the present invention. Is a client node with a specific presentation unit sequence over the network An indication of the specific presentation data rate as it is transmitted to the local media data. Received from the controller via the network. Media data retrieved Is a multiple memory presentation unit stored at a memory location in the computer. It has a knit sequence. Each memory presentation unit sequence is unique to a particular presentation unit. It consists of a presentation unit corresponding to the knit sequence, All presentation units in a unit sequence have a common type of media Composed of data. Remote Media Data Entry Manager Descriptor Sequence Specifies each part of the presentation unit descriptor when the assembly is assembled. These parts are Has a certain number of descriptors based on the specified presentation data rate and also Each created descriptor comprises null media data. As a result, memory presentation Constructing a presentation descriptor sequence using a small portion of knit media data Can be. This designation allows a particular presentation unit sequence to be presented for a particular transmission. Data rate can be obtained.   According to the invention, the media streams are separated and the net for each stream is Network transport packets can be formatted separately to Make inspection, processing and transmission decisions regarding the ream and each presentation unit , With the opportunity and convenience of doing it independently of the rest of the streams and units. It is. As a result, the media processor of the present invention can be implemented in a given presentation unit. Independent of the presentational decisions about other units in the corresponding stream It can be done and those decisions can be made on the fly. This A stream is taken out over the network to allow Real-time scaling and networking while being processed, and transmitted The load of can be adjusted.   Other aspects, features and advantages of the invention are described in detail below. Described in the claims.                          Brief description of the drawings   FIG. 1 shows a medium with which the digital image management system of the present invention interfaces. FIG. 3 is a schematic diagram of stream access and transmission points.   FIG. 2 is a schematic diagram of stand-alone execution of the digital video management system of the present invention. It is.   FIG. 3 is a schematic diagram of network implementation of the digital video management system of the present invention. is there.   FIG. 4 is a block diagram of the local digital image management system of the present invention. 3 is a schematic diagram of a noger module. FIG.   FIG. 5 is a stream of the local digital video management system manager of FIG. Media stream data between the I / O system and the stream interpreter module. It is a schematic diagram showing a flow of data.   FIG. 6 is performed by the local digital video management system manager of FIG. 4 is a schematic flowchart showing a presented and grasping scenario.   FIG. 7 is performed by the local digital video management system manager of FIG. From the media stream storage format to the token format. It is a schematic diagram showing substitution.   FIG. 8 relates to the local digital image management system manager scenario of FIG. The presentation and grasping system performed by the digital video system used in series. It is a schematic flow chart which shows Nario.   FIG. 9 shows the local digital image management system of the present invention in network execution. Schematic diagram of system manager and remote digital video management manager module It is.   FIG. 10 shows the remote digital video management money of the present invention in network execution. Between the J.A.Module and the local digital video management manager module. It is a schematic diagram showing the flow of the earstream data.   FIG. 11A shows the remote digital video management system money of FIG. Flowchart showing presentation and comprehension scenarios performed by Ja It is.   FIG. 11B is implemented by the local digital video management system manager of FIG. 3 is a schematic flow chart showing the presented and grasping scenarios.   FIG. 12 is a schematic showing the conversion of the stream token of FIG. 7 into a packet format. It is a schematic diagram.                      Description of the preferred embodiment   Referring to FIG. 1, a digital video management system (DVMS) 10 of the present invention is illustrated. Have been. In either a standalone or network environment, DVMS is active or stored, regardless of its grasping or storage location. Capture, store, transmit, access, process, Gives the ability to display. DVMS is media stream data, that is, video, audio. Voice, video, photo stills and other types of continuous time-based media days It contains real-time data at high continuous data rates, including data. This specification Throughout the text, the DVMS of the present invention will be described with reference to audio and video streams. However, in this system any time-based media data stream It must be noted that the system can also be managed. In DVMS, shown in Figure 1 So that media data can be sent to other access points such as PBX ( Dedicated branch exchange) An analog grasp of operating servers, analog or Iji It can be accessed from a digital file store, or from a digital hold in action. A Accessed media can be, for example, presentation monitors, computer-edited and viewed. Computer system for presentation, VCR tape printer, or digital Managed by DVMS for delivery to storage devices, or PBX server Sent to the bar.   Very advantageously, the DVMS management scheme digitizes the data stream. Independent of any individual storage or compression technique used to Furthermore, there are any individual communication protocols in the network on which DVMS runs. It is also unrelated to the transmission platform. Additionally, DVMS is based on industry standards But its layered architecture that incorporates multiple management platforms Through, it is flexible and the standard can be extended. Each of those features and advantages Each will be described in detail in a later discussion.Digital video management system components   The DVMS of the present invention is a media data de-interleaver that does not interleave media data. Data streams are treated and managed as separate, distinct media data streams It is based on the technology that is used. Here, the term "stream" refers to Image-like dynamic data types, and therefore computer systems or networks Represents a stream of dynamic information that is temporarily and predictably generated and consumed. Means to do that. A stream contains a sequence of sequences. Sequence The body can contain sequences, and each sequence contains a sequence of segments . Streams, sequences and segments as information identifiers are Does not have the specific semantics of Eve. Rather, these are the management systems of the present invention. A convenient abstraction for identifying and organizing dynamic data types managed by the system It is. It makes it easy to resemble streams, sequences and segments. What is understood is a document containing chapters, paragraphs and sentences.   Streams are those media data types, such as audio, video or video. Characterized by data type. Sequences are information that makes sense to the user. Represents information. For example, a video sequence may represent a video clip containing a video scene. . A segment is a "block" of data that is convenient for editing and mixing the data. Can be Also, the segment is a key video frame and its corresponding As when using a video compression scheme that produces successive difference video frames, It may represent a unit of data that is temporally linked.   In the DVMS of the present invention, the streams for synchronous presentation are separate constituent streams. Grouped into stream groups (ie, without interleaving) Can be The constituent streams in such stream groups are stored DVMS can be stored interleaved within the The system can be adjusted dynamically. In either case, the system is interleaved. And process the stream Process the streams individually, rather than doing so.   The segment of the stream contains the presentation unit. The presentation unit is displayed A unit of continuous, transient-based data that is, therefore, associated It has a presentation time and a presentation duration. Presentation time is about presentation in progress The presentation unit in which the associated presentation unit is played with respect to the time base of Show the appropriate points in the can. The presentation duration depends on the presentation in progress. Indicates the appropriate time period for which the associated presentation unit is played. Therefore, the video The presentation unit contains video frames and the audio presentation unit is associated with the frame duration. It includes a number of assigned sound samples.   As mentioned above, DVMS runs on a standalone computer system. Alternatively, it may be implemented in a computer-based packet switched network. Referring to FIG. 2, in the stand-alone computer system execution 12, the Operating or in order to present and edit on an independent computer 14. The stored media stream is accessed and understood. And is grasped The selectively edited media stream is displayed on the presentation monitor or VCR tape Computer utility.   Referring to FIG. 3, a packet switched network in which DVMS is implemented is Desktop computer system connected through a switching network 80 18 and is controlled by the DVMS network implementation 16. network 80 is a local area network (LAN) or wide area network (WAN), or a combination of one or more LAN and WAN. D VMS is an analog video capture during operation, such as VCR or camcorder, network Network, storage device or PBX server, or desktop computer Access the media stream from one of the Grasping and then back to one of the access points through the network Manages the transfer of media stream data.   The digital video management system includes a local DVMS manager and a remote DVMS manager. It is composed of Local DVMS Manager Client Operating Environment and thus is a standalone computer in the network Or resides on each client computer. Here, "client" is Computer system or a network that requires media data. It is defined as one of the access points. Remote DVMS Manager Network It provides an operating environment and therefore resides on a network server. Local DVMS money Ja, for example, MicrosoftRWindowsTMAn IBM compatible personal computer that runs To the underlying digital video service Access to high level industry standards. This local DVMS manager run is an example For example, the industry standard Microsoft for the development of applicationsRDigital video MCI May support APIs. The local DVMS manager is compatible with other operating systems described below. And incorporate an efficient dataflow subsystem that is highly portable.   The DVMS system of the present invention is preferably a media data stream for applications. Computer programming applications to include stream management capabilities Application programming interface, including interface to It is executed as a set of sources. Therefore, DVMS is a programming application Interface call to start the media data stream function in the area of Interface to the underlying programming application via . Such interface implementation is understandable to one of ordinary skill in C programming. There will be.   The remote DVMS manager is a client and service provider in a packet network environment. Action to dynamically connect the servers. The architecture of this manager is , A separate non-interleaved media data stream, as described below It has the important advantage of supporting the ability to standardize the system. Can be standardized This ability to standardize packet-based video, Adaptive bandwidth management for dynamic media data types on both N and WAN It is a function that enables Noh. Remote DVMS Manager NetwarecAs a Loadable Module , For example Novell NetwarecIt may be executed on the operating system.Local DVMS manager   Local DVMS manager transparently requests, ie access and grasp Media data without affecting the function of the created application program. Manage stream access and comprehension. Local DVMS Manager Digi Works with digital video systems, special purpose digital video hardware or For special purpose software-based emulation of digital hardware. And executed.   Referring to FIG. 4, the local DVMS manager 20 has three modules, namely The stream controller 24, stream input / output (I / O) manager 26, and And a stream interpreter 28. This modularity is a DVMS design In, the data flow in the media data stream through the system In DVMS design to separate from the control information flow for that media stream It will be used. Based on this data and control separation, stream data and And stream control information are three moneys, each operating as an independent agent. It is considered to generate the individual interactions within the module. I / O managed The local, DVMS-managed Through independent program control flow and data space allocation, Each is mapped to an independently scalable operating system process . The media stream data flow is stream I / O manager 26 and stream. Come in The control information flow is managed by the tappeter 28 and is passed to the stream controller 24. Therefore, it is managed. Each of these management functions is described in detail below.   Stream I / O manager module 26 is from the stream interpreter Or a media data stream to a stream interpreter, such as audio and And responsible for the dynamic provision of video streams. In addition, this module Ill, for example DVIRWhen accessed through an AVSS file, this module will It also provides an effective file format processing function for media data. DVMS of the present invention In stand-alone execution, the stream I / O manager is digital Or from a media access point such as an analog storage device It retrieves and stores the media data stream. On the other hand, DVMS net In the work execution, as described below, the remote DVMS manager module Search and store at the point of media access over the network I do. Most importantly, the stream I / O manager stores the information A dynamic, computer-based representation of its audio and video information when To transform into an expression. This conversion will be described in detail below.   The stream interpreter module 28 is a stand-alone Or in a computer connected to a packet network Accountability for managing dynamic computer-based representations of audio and video when Bear This dynamic management synchronizes retrieved audio and video streams and Includes control of the rate at which audio and video information is displayed during the presentation sequence. Sa In addition, the stream interpreter module captures and compresses audio and video information. , Decompression and playback. However, this module It is independent and even device independent. For example, the grasp and present function Base services for digital video subsystems including hardware for , Encapsulating any features that are unique to individual compression or device technologies. To be accessed through a set of existing digital video primitive standard APIs Is preferably carried out.   The following set of primitive functions is the base service of the digital video subsystem. Device-independent access to the device.   Open: Opens a specific device, initializes it, and hangs on to further requests. Return the dollar.   Close: Closes the specified device and releases any associated resources. You.   Get Capability: Device capabilities such as display resolution and compression format. Inquire about power.   Start: Start decoding and displaying data from the stream buffer.   Stop: Table of data from decoding and stream buffers Stop showing.   Get info: Get information about the current state of the device.   Set info: Set information in device attributes.   The stream controller module 24 is an application managed by the user. Responsible for controlling video and audio capture and playback functions during . This control maintains the dynamic state of video and audio during grasp and playback And perform presentation control functions such as play, pause, step and reverse. Including. Therefore, this module is used during audio and video capture and playback. Responsible for notification of active application of stream events. here Where the event is the current number of presentation units for which the instruction is given, or As an occurrence of a match between the number of presentation units previously identified and the current number of presentation units Defined.   Active playback of audio and video, or other dynamic media streams During playback, the stream I / O manager and stream interpreter A time-based producer and controller for the data stream being laid back. Each acts as a shoe. Conversely, during the recording of the dynamic data stream , The stream interpreter acts as a time-based stream producer. , Stream I / O Manager acts as a time-based stream consumer I do. An I / O manager and interpreter between both playback and recording. Works independently and asynchronously, and All data in the ream is via a clear data channel protocol Flows directly between data. The stream controller sends the control message Send asynchronously, affecting the flow between the I / O manager and interpreter, The controller itself has nothing to do with the flow of data. As described below, all All data flow operations can be performed, for example, on disk or network Number of subsystems and digital video capture and presentation hardware Is processed using a buffer copy of.   This system design is for I / O manager and interpreter domains. It is particularly advantageous in that it has complete transparency, whereby Ability to extend the system to a network client / server structure as described Power is given. In addition, this Base3 Agent unit is connected or May be repeated to form more complex data and control function graphs.   In the local DVMS manager architecture, the asynchronous agent One of the activities is scheduled to work in relation to streamflow Each time, it is represented as a processing cycle. Asynchronous agent scheduled periodically The kicked rate is expressed as the processing rate for that agent, 1 second Each process cycle is measured. Processing period is between process cycles Defined as a period. Stream I / O manager and stream interpreter of Stream I / O manager to maintain continuous data flow of streams between Margin agents in the streamer and stream interpreter The value of the processing period of the presentation unit must be processed within the rules. Such a place If the physical rate is not achieved, the local DVMS manager will explain below. As such, the flow rate can be controlled. Processing rate for stream interpreter Is close to the nominal presentation rate of the stream, i.e. every processing cycle. And the presentation unit is processed. Stream I / O Manager handles all processing Serves several presentation units in a cycle and thus its processing rate Can be much slower than the offer rate.   Given by stream I / O manager, interpreter and controller The modularity of the stream control functions provided by the DVMS local DVMS manager Architected with interrupt-based multitasking and prioritized scheduling Support for most new computer operating systems that support And make it highly portable. This architecture is a coprocessor dedicated to effective data management. To the stream I / O manager and interpreter module Equipped with frost. More importantly, the manager architecture is highly distributed Depending on the nature of the It can be easily applied to the stem.   Referring to FIG. 5, a computer implemented with the DVMS of the present invention. When a computer requests access to an audio or video stream, Room flow occurs. Stream I / O Manager 26 module Search stream for stream input 30. This stream input is a memory access Have a point, for example a computer file or an analog video source ing. The stream I / O manager then determines the specialized queue for each stream. Separate the retrieved streams according to the file format. Is accessed Two streams, for example audio and video streams, on the storage device. Stream I / O manager dynamically separates streams when interleaved However, each is a limited description based on its type (ie audio or video). Converts the stream into a separate internal representation with children. Once separated, the voice And video stream data is stream I / O manager and stream interface. As a separately configured stream within a stream group by both printers. Treated The stream I / O manager 26 then Presentation units through separate columns of presentation units, called stream pipes 32 Exchange stream data having a sequence of . Therefore, the audio stream pipe 33 is generated for the audio presentation unit and the video The stream pipe 31 is generated for the video presentation unit. (Audio stream Each audio stream has its own pipe and each video stream Is its own I have an ip. The stream I / O manager writes during stream playback. The presentation unit is continuously searched and created from the storage device, and the stream interpreter is created. Continuously consumes the presentation unit through the stream pipe, for example to the user Transmit presentation unit to digital media data subsystem for presentation I do.   Multiple from 30 inputs with separated streams (not interleaved) When retrieving a stream for a stream, the stream I / O manager Search and queue in a round-robin fashion, but with any stream separation functionality Absent. The stream interpreter is the originally interleaved stream , So these streams are processed in a similar manner. Therefore, The home I / O manager protects the rest of the system from the static container 30 nature, Furthermore, it not only “hides” the format of storage containers, but also logically adjusts it. Data streams are aggregated for storage. In addition, the hardware Details of stream interpreter execution, such as the air structure, can be found in the I / O subsystem. "Hidden". In fact, the only means of communication between two agents is Through the stream pipe data path.   Referring also to FIG. 6, during the presentation scenario, first the stream controller 24 Spawns their active modules to start the processing stream By stri Initialize 36 the stream I / O manager 26 and stream interpreter 28 Defines and directs 38 the group and corresponding constituent stream name. And , Stream I / O Manager 26 stores streams interleaved If so, retrieve the named stream from the corresponding storage container 30. And separate the streams. If the streams are not interleaved , Streams are searched in a round-robin fashion. Once the stream is searched , Stream I / O Manager, Stream Talk, described below Conversion 42 into an internal computer representation. Via stream group directive 30 Is given to the stream I / O manager by the stream controller. By direction, each stream token can be associated with streams and stream groups. Matched. Then, the I / O managers each have a stream interpreter 28 Individual buffers for streams in individual stream pipes 32 for consumption by Perform 44. The stream controller, once enqueued, Give control 46 of the loop.   Referring also to FIG. 7, I / O manager from memory display to stream token display The stream conversion 42 is as follows. Typically, audio and video data is Turleaved and stored on disk, Intel on searchRAVSS file former It is in an interleaved disk buffer such as Disk bag FA 100, Stream Group Frame 1 05 sequences, each frame consisting of a header 106, a video frame 108 and The audio frame 110 is included. The start address of these stream group frames. A separate index table (not shown) containing the dress contains these frames. Maintained at the end of the file. With this index table, It allows random access to the identified stream group frames.   The disk buffer is the I / O money from the disk in the large chunk of data. The size of each retrieved chunk is determined by the disc track size. Optimized, for example, 64 kilobytes each. I / O manager is searched for each Check the stream group frame header Calculate the start address of each audio and video frame. Also, the I / O manager , Retrieve the time stamp information from the corresponding frame. And token 112 A concatenated list of descriptors, referred to as, is generated for audio and video frames. Is done. Each token consists of an audio or video presentation unit 114 and its units. Display the time stamp 116 for. These tokens are stream Are consecutively concatenated into a list that represents the type. Therefore, in the above process, Ream I / O Manager retrieves interleaved data from disk, Separates the data into separate streams and separates the streams based on the separate stream vibes. An internal representation of the stream is constructed, one for each stream.   Once the stream is enqueued in the stream pipe, the stream The stream interpreter 28 initialized 36 by the trawler 24 is a presentation unit. Receive and dequeue 48 the configuration stream token of. And release the buffer The created stream is maintained by the stream group 54. Normalization 50 and synchronization 52 are performed based on control via the controller. Standard The conversion process is described in detail below. Then the synchronized stream is Transmitted to digital presentation subsystem hardware.   The decompressed scheme is a specific compression format for video frames, for example , Video is based on JPEG video format. This format is for each frame Are intra-frame encoded, that is, they are encoded independently of other frames. It is one of the preferred classes of unspecified video formats.   Referring to FIG. 8, the digital video system 120 includes a stream interpreter. Receives a stream from and first decodes and decompresses the stream data 122 However, each stream is processed separately. Then the decrypted and decompressed data Stream is the corresponding frame buffer, eg video and audio frames. It is stored in the buffer 124. At the appropriate time, the stored data will be 126 is converted into the corresponding analog representation and the playback monitor and sound are converted. Transmitted to voice monitor. Various operations of digital hardware subsystems Option, as described and described above, Controlled by the stream interpreter via the video primitive.   The reverse operation, that is, processed by a computer system For capturing and storing digital video and audio streams, The computer interpreter 28 outputs audio and video from the digital hardware subsystem 120. Understand the image stream. Prior to this grasp, the hardware subsystem And digitize 128 video signals and store the digitized signals in a buffer 1 The digitalized stream before passing it to the stream interpreter. Image and audio data is compressed and encoded 132.   To stream group control given by the local system controller Based on this, the stream interpreter will Generate 62 and use that time stamp to create an embedded time stamp. Generate 64 corresponding stream token of video and audio presentation unit . The stream token is consumed by the stream I / O manager 26. The stream pipe 32 is enqueued 66.   The piped stream is received and streamed by the stream I / O manager 26. Cue 72. If the streams are interleaved and stored, see Figure 7. In the process of reversing the functionality shown, the streams are interleaved76. You. Of course, streams are marked as such interleaved. No need to be remembered. Once the streams are interleaved, if necessary , The stream is stored in the corresponding storage container 30.   Stream controllers, streams described in these scenarios The functions of the program I / O manager and stream interpreter are managed by those skilled in the art. As can be seen, using standard design techniques, hardware or software Can be done in Appendices A, B, and C search for streams. Stream controller, stream I / O manager, and Present a pseudo-code scheme for interactions between stream interpreters You. Pseudocode processing into computer instructions suitable for executing the above scenarios Coding of physical processes will be understood by those skilled in the art of C programming.Synchronize audio with video   As mentioned in the presentation process above, the digital video management system of the present invention is used. Depending on the system, the synchronization of the audio with the video, generally one of the two presented Synchronization between one or more dynamic streams takes place. This synchronization feature Large number of real-time continuous high data transfer rate streams Essentially required for coordinated presentation of the system. For example, audio and video The real-time nature of these dynamic data types has very different presentation attributes. Obtained from the presentation attributes. Full motion video every 30 frames Must be presented as seconds and high quality audio is presented as 32,000 samples per second Needs to be done.   In addition, digital video and audio data streams are Have real-time constraints. Streams are usually continuous, with 30 seconds From lip) to 2 hours (movie). In addition, digitize the stream The stream is typically about 1 megabit due to the special compression technique used to It consumes storage capacity and transmission bandwidth of between 4 Mbit / sec and 4 Mbit / sec. Therefore, Synchronizing different data streams is a different transient of the synchronized streams. Must include sides.   The synchronization capability of the digital video management system of the present invention is dependent on the data source to be synchronized. It is based on the self-timing of the stream and thus self-synchronization. This technology When the stored representations of the constituent streams are interleaved, they are streamed together. Independently handles a large number of data streams that make up the group stream Including that. The stream I / O manager uses the stream interpreter for streaming. Separate the interleaved streams before synchronizing the streams. But that Instead of an independent configuration stream before being presented with a common reference time base It may be stored in separate file containers and synchronized.   Self-synchronization allows one constituent stream in a stream group to Is prioritized over the stream. An example For example, audio streams can be prioritized over video streams, which Given a standardizable video storage, distribution and presentation rate as described below. Human perception of sound is much higher than human perception of video, so Is particularly advantageous. In order for humans to perceive speech more accurately, voice sampling Le must be presented at a smooth and continuous rate. But human vision Perception is very tolerant of changes in video quality and frame rate. In fact Despite the wide variation in video quality and frame rate, video Can be perceived. Empirical evidence suggests presentation rates of 15 to 30 frames / It has been shown that humans can perceive video if it is between seconds. Low frame Video can be perceived even at the rate, but the processing of the previous video is noticeable.   The DVMS of the present invention is based on available computing, compression and network resources. Make the most of the source to take advantage of this phenomenon. Computer system or Search, transfer, and compress audio rather than video in a network computing environment Prioritize release and presentation, audio-visual prior to presentation, not in storage By relying on synchronization, resources in the system or network Change the video rate to include the availability of audio The voice rate can be maintained. In addition, independent audio and video data streams With management, many editing capabilities, for example, The ability to dynamically dubb a video stream with multiple audio language streams Given. Similarly, a still image synchronized display of the audio stream is independent of Given by stream management technology. All synchronization schemes listed are Applies to any type of stream, not just audio and video streams Note that it is possible.   Synchronization of streams within stream groups, as described above with reference to FIG. Is responsible for the stream interpreter module during the standardization process. S A stream is either an implicit timing scheme or an explicit timing scheme. It may be self-synchronized by using either one. The implicit timing is The presentation units within a stream are composed of stream groups that are synchronized Based on periodicity. In this scheme, each presentation unit has a fixed duration. It is assumed that the presentation time corresponding to each presentation unit is the reference presentation start time. Obtained about. This reference start time is common to all constituent streams. Must. Explicit timing is presented within each constituent stream itself Embedding and recording of the time stamp and optionally the presentation continuation time stamp Stamp during conversion of stream from memory format to token format Is based on a search for. And the embedded timestamp is based on the selected Explicitly used for stream synchronization on a quasi-time basis.   Using either an implicit or explicit timing self-synchronization scheme, Is the reference time base a reference clock that advances at a rate called the reference clock rate? Can be obtained from This rate is a granularity of the reference clock operation. Is determined by   The DVMS of the present invention has two levels: base level and flow control level. Supports Bell self-synchronization control. Base level synchronization is stream I / O The manager continuously streams the stream data to the stream interpreter without interruption. Can be supplied and is available by the time each presentation unit is consumed Which is applicable to the stream processing scenario. And in this scenario In addition, the stream I / O manager has a processing rate and stream I / O money. Maintains a processing workload that guarantees that it is in front of the Jastream interpreter .   The flow control level of synchronization allows dry execution with the stream I / O manager. The resulting stream pipe between the doing stream interpreters can result in Provides recovery mechanism from instantaneous occurrence of arithmetic I / O resource fractionation , A modification of the base level scheme. This is, for example, the resource content Other tasks or stream events, such as Streaming the presentation unit by contention with the Stream I / O manager sometimes lags the input request of the computer Alternatively, it may occur in a multitasking computer environment. Such a story In the present invention, the DVMS of the present invention uses stream flow control as described below. Augment base level synchronization with features.Base level implicit timing synchronization   As mentioned above, the base-level synchronization method requires that the stream interpreter Assuming you don't need to control the stream flow, so the stream pipe It does not monitor if it is empty. Implicit timing is for each synchronized Based on the reference time base applied to the ream.   Given the scenario for synchronizing audio and video streams, Each presentation unit for a video stream that is to be played is typically used for NTSC video playback. Video information presented within a frame time of, for example, 33 milliseconds. voice The stream typically has samples with varying edges from presentation unit to presentation unit. , May be divided into fixed frames of presentation time. Audio and video are interleaved In the stored method, such fixed time units are Set as time, ie 33 ms.   In this synchronization scenario, the stream interpreter uses each stream pipe, Therefore, a separate presentation unit for each stream in the stream group Hold a counter. The interpreter is round-robin, that is, one is , Then the other, and in a repeating manner of this, two stream Consume the presentation unit from the game. The important thing is that each presentation unit for each stream is For a set or token, regardless of the other stream, the corresponding reference time Independent presentation synchronization is determined on an inter-base basis. This reference time The base is the start time of the presentation unit consumption process for the corresponding stream. Indicates the current real time for. The stream counter of each stream pipe corresponds Indicates the number of presentation units already consumed in the stream. Suggest to this count Multiplying the (fixed) duration of each of the indicated units yields the counted units. The actual time spent to show is identified. This real time product is the current reference time When the following condition is met, the next presentation unit is released and presented.   The stream interpreter is provided in the appendix D pseudocode. Consumption of each successive presentation unit during the presentation process cycle based on the indicator decision method And initialize the presentation. This method implies that the stream interpreter The process rate of the interpreter is extremely close to the nominal presentation rate of the corresponding stream. Suppose that they are planned to be close to each other. This method can be Based on the number of presentation units consumed compared to the amount of time required to present , So to keep these counts when the presentation unit is consumed Requires the use of a counter to.Base-level explicit timing synchronization   As mentioned above, the explicit timing method is The encryption is based on the time stamp embedded in the token of the corresponding stream itself. Good. The time stamp represents the time relative to the reference time base and corresponds to this time. An audio or video presentation frame is consumed and presented. The time base is also For example, can be an external clock or embed one of the streams to be synchronized It can be generated from an embedded time base. The periodicity of the timestamp is flexible in itself Yes, and can vary depending on specific synchronization requirements. The timestamp is, as mentioned above, During capture and compression operations, or at a later stage, for example during the editing process, Embedded in the game. Separate from the process of embedding the time stamp in the stream In addition, the stamp is streamed during the playback process to make consumption and presentation decisions. Used by the I / O manager and interpreter. Stream interface The interpreter maintains a presentation unit counter in the implicit timing method, but this Not maintained by the way. Instead, an embedded timestamp in the stream Provide equivalent information.   The timestamp for the presentation frame token is the time stamp for that presentation unit. It consists of two 32-bit integers representing the presentation time and the presentation duration. Presentation time And presentation duration is expressed in milliseconds. All presentation units have the same duration If so, the presentation duration may be omitted.   With this method of synchronization, the interpreter uses the embedded time of each presentation token. Stamp this token is processed When reading, determine the presentation time and duration for each successive presentation unit. Set. The interpreter is the decision method given in the pseudo-code of Appendix E Based on the law, it determines the consumption and presentation of each presentation unit of each stream. This The stream interpreter determines how the process rate corresponds to Based on the assumption that it is planned to be very close to the nominal presentation rate of the stream Good. This method is based on the reference time and the presentation time embedded in each presentation unit. And based on comparison with presentation duration. The stamp presentation time of the presentation unit is the standard time In the meantime, this presentation unit is consumed for presentation.   In addition to determining the appropriate time to release consecutive presentation units, Both implicit and explicit timing methods are available at the appropriate release time for these units. If the time period has elapsed, the presentation unit is deleted. For example, in the implicit timing method , The time cow for which the product of processed units and unit duration is currently maintained When the number of consecutive units is exceeded, the next consecutive unit is not presented and is deleted. Similarly, Ming In the presentation timing method, the current presentation time is when the presentation unit's time stamp is presented. Beyond that time, this unit will be deleted without being presented. In this way, uni Stream arrives for display at a later time than expected, even if the stream Synchronization is maintained. Appendix D and E have this presentation unit removal machine The corresponding pseudo code for Noh is shown.Flow control level Implicit timing synchronization   The flow control synchronization method adds to the base level synchronization method to consume and Recovery from instantaneous computational and input / output source variations during the indicated process cycle. The base level method is that the stream I / O manager is the stream interpreter. Located in the previous stage, the stream pipe should be emptied or not run dry. Based on the assumption that Flow control synchronization is a virtual presentation unit based method Use to prevent this condition.   The virtual presentation unit is supported by the underlying digital hardware subsystem Live with the default presentation for the duration of the presentation unit, while at the same time Maintaining a consistent internal state, which causes the stream pipe to temporarily empty However, it is possible to provide continuous processing of the stream that continues to be presented. Temporary The idea presentation unit can be implemented in various embodiments. For example, for a moving image JPEG image Playback of the virtual presentation unit preferably re-suggests the most recent video frame. Corresponding to showing. In the case of audio streams, virtual presentation units are preferred. Or rather, a presentation unit consisting of a null unit, a null sample that represents silence. Correspond to The same is applicable to other virtual presentation units.   A presentation program that synchronizes stream flows using the flow control implicit timing method. Stream I / O manager and stream interpreter during the process cycle Performs the same operations as described above in the base level method. As mentioned above , An interpreter is provided for each stream in the presented stream group. It keeps a separate presentation unit counter, and has already consumed presentation units for each stream. Memorize the number of By multiplying this count by the duration of each presentation unit And the next presentation unit in the sequence is presented when the reference time is met. Time is specified. The stream interpreter is a pseudo of Appendix F. Determine consumption and presentation of each presentation unit based on the decision method given in the code I do. This method is a process where the interpreter is close to the nominal stream presentation rate. Suppose that the rate is planned. In this method, the presentation It is not possible to get a sickness, and the presentation unit count is based on the reference time and the presentation unit count. When the interpreter notices that knitting is needed, the virtual Presentation units are created and consumed and displayed.Flow control level explicit timing synchronization   A presentation process using an explicit timing synchronization mechanism with flow control capabilities. Each presentation token of the stream group presented during the cycle is And assuming it has its own embedded timestamp for duration Is done. Stream-in as in explicit timing methods without flow control The tar printer examines each embedded time stamp and checks the stream I / O manager. Of the corresponding presentation unit in the stream pipe set by the user Plan To determine. The consumption policy is the decision method given in the appendix G pseudo code. It is decided based on the law. This method, like the other methods, It is assumed that the process rate of the printer is close to the nominal presentation rate of the corresponding stream. You. This way, no other presentation unit is available from the stream pipe, Also, if it is determined that a unit should be presented, the default presentation duration A virtual presentation unit is generated based on the Is done.   In addition, the proposed method is used for both implicit and explicit timing flow control methods. The ability to jump over indicated units is provided. This ability was previously unavailable Called whenever the presentation unit that was there was later available. With the explicit timing method, the time stamp of the unit that becomes available later is tentative. The reference time after the presentation of the memory presentation unit is not met, so this unit Are not presented and are ignored. Not available with implicit timing method Presenting a virtual presentation unit instead of a presentation unit Increment the presentation unit counter as well as the unit. Unavailable unit The presentation unit count will be counted and the fixed presentation unit when It is advanced so that the product of the unit duration and the unit duration does not allow presentation of the unit.   The four synchronization pro- cesses described above and in Appendix D-G. Encoding the process into the appropriate instructions to implement the synchronization method is a C program. It is understandable to those of ordinary skill in the art of engineering.Self-simultaneous characteristics   The four self-synchronization methods described above are some of the methods of digital image management of the present invention. Provides a decisive advantage. Self-synchronization is an operation that has a common stream group. It has the ability to dynamically combine separately stored streams. Therefore , For example, audio and video streams are stored and stored in separate file containers. Dynamically grouped and synchronized presentations during calls from storage devices It is. As mentioned above, this synchronization of the constituent audio and video streams More, for example, the ability to dubb video into audio, and synchronize still video with audio Function is provided. In addition, you can use the stream synchronization method to Dynamically stream segments from container Can be connected. In the case of explicit self-synchronization, the stream I / O manager The first presentation unit in the ream segment will be opened in the new stream segment. Mark with a marker that indicates the beginning. The stream interpreter then makes this presentation unit. When consuming a stream, the interpreter uses a reference time base for the corresponding stream. Reinitialize the source.   Self-sync also plays synchronized audio and video streams Audio and video hardware used for It has the ability to adapt to the clock rate distortion of the wear. For example, 11, 22 , Or audio stream recorded at 33KHz is correct for accurate audio playback It must be played at the sampling rate. Similarly, record at 30 frames per second. The recorded video stream must be played at the same rate. Therefore, The audio and video hardware that play these streams each have a corresponding You must use a clock that meets the specific playback rate requirements of the stream. Yes. Distortion of clock speed causes movement of the playback stream, and thus distortion If only one is uncorrected, it breaks the stream synchronization. Self-synchronization is voice And a reference time base for checking the video time base Realize the correction. Time-based for a predetermined match with the reference time-based If distortion is detected in one, the consumption rate of the stream is adjusted to the presentation rate if necessary. Adjusted to drop the knit on a regular basis, which allows the reference time base and other Maintain synchronization for the stream.   The self-synchronization method provides the ability to vary the original presentation rate of the stream. You. For example, a video stream captured in PAL format based on 25 frames per second. Reams are in NTSC format, which is 30 frames per second, with some loss of fidelity Can be played. Generally, streams are related to the rate at which they were captured. Instead, it can be played at the rate of the order. In reality, in video playback, the nominal To speed up the presentation rate It is often desirable to slow it down. Using the self-synchronization method, for example , Simply by advancing the reference time base to twice the real time rate, The rate can be increased by a factor of two. On the contrary, the reference time base is half the real time rate. You can loosen the presentation in half by advancing at the minute rate. In such a case, All time elapsed for presentation is, of course, for presentations made at the nominal rate. Half or twice the elapsed time of.Stream normalizability   A measurable stream is a variable data rate under computer control. A stream that can be played back at the overall nominal presentation rate that it has. Of course However, fluctuations in data rate may affect stream quality, fidelity, or presentation rate. It can give a sound. Combining stream normalizability and stream self-synchronization And powerful for flexible presentation of audio and video stream groups. A control mechanism is provided.   As mentioned above, due to the normalizability, the DVMS will utilize the stream rate utility. Computer system source user by adjusting for availability. It is possible to optimize the utility. For audio and video streams In the stream interpreter, the audio stream is higher than the video stream Give priority, which consumes the audio presentation unit at the nominal audio presentation rate But the video unit It can be programmed to consume at the available presentation rates. This available The offer rate is determined by the available computational resources of the given computer system. It is. Different computer systems with different performance characteristics perform presentation operations In order to require different amounts of time. These operations include compression, formatting Transformation and output device mapping are included. In particular, compressed motion JPEG Video streams are presented within an IBM-PC compatible personal computer system Previously by digital hardware subsystem, Huffman decoding, DCT compression, R Must convert to GB color space and map to 256-color VGA palette Absent. Different computer systems may differ in order to perform these tasks. It takes a lot of time. Therefore, the management system of the present invention uses the stream flow record. Matches any computer performance characteristics by adjusting the scale of the console And provide utility availability on that computer.   Most importantly, the digital video management system stream standardization of the present invention is possible Comprehensive distribution of digital streams across packet networks The ability to actively manage. DVMS is a client-server session Management protocol method for streaming and storage, access over a stream LAN or WAN. A network that provides a management protocol method for accessing, searching, and presenting This embodiment is utilized in this embodiment. This will cause the system to On-demand search and playback of streams, and across packet networks Provides multicast live stream injection and tapping. Managed Stored digital streams are stored in regular computer files on the file server Can be generated or generated from a live analog source and can be accessed across a LAN or WAN. Can be made accessible. Such access will be stored in the stored file, as described above. On-demand as in search and presentation from It can be on-schedule as in injection and tapping from flannel. The management protocol method provided by DVMS is detailed below.   Referring to FIG. 9, in the case of a network, the local DVMS manager 20 Located somewhere in the network via the management system remote DVMS manager 82 Access the digital media stream. The local DVMS manager will Ant operating environment, while the remote DVMS manager provides the network operating environment. provide. The local DVMS manager 20 and the remote DVMS manager 82 are By a client of a computer connected to the network through Transmits control messages and digital media data streams when required .Remote DVMS manager   The remote DVMS manager 82 has four independent modules, namely the remote stream. Controller 84, remote stream input / output Force (I / O) manager 86, remote network stream I / O manager 88, and Digital media stream via local network stream I / O manager 90 Manage network control of the network.   In the case of this DVMS network, the client computers in the network The local DVMS manager 20 that resides locally on the Roller 24, local stream I / O manager 26, and local stream I / O manager 26. It has an interpreter 28. Remote DVMS Manager Local Network Story The system I / O manager 90 locally and directly connects to the local DVMS manager.   The remote stream controller 84 is a remote storage device or an access device in a network. It is located at a point, for example, a video server. This controller is stored remotely Managed streams, eg video files, which allows local DVMS management For on-demand access using the local stream controller module Make the video file available in case. Client server session management pro Tokor controls this access. The remote stream controller is also described below. As a remote DVMS manager from the local DVMS manager for feedback control Connection to the charger.   The remote stream I / O manager 86 is also located on the remote server and is responsible for downloading streams. Retrieving or storing from a storage container in the remote storage server dynamically. Stored stream information This module provides efficient access to information and handling of file formats. Provided by Le. Therefore, the remote stream I / O manager is a standalone Local DVMS Manager Streams I / O Money for Loan Computers The same task that is performed by the jar, that is, the stored stream Translation between presentation and corresponding dynamic computer-based token presentation Perform a task that includes.   The remote network stream I / O manager 88 provided at the remote server -Controls the transmission of streams across the network with the local DVMS manager I do. A communication session is started by this local DVMS manager. This biography Sending is managed by a remote network stream I / O manager 88 and a local DVNMS. Local network stream I / O Stream exchanges with the Netger 90 for clients in the network including. The stream transfer protocol controls this transmission. Local network Stream I / O Manager 90 receives and receives streams from the network. Send them to the local DVMS stream interpreter 28 during the playback process. Opposition To receive, record and stream streams from the local stream interpreter. And transmit them across the network during the storage process.   The DVMS of the present invention includes a local DVMS manager module and a remote DVMS manager as described above. Interaction with the charger module and Provides a protocol for managing aging. In particular, four classes of protocols , Ie, stream group naming and stream server or Access protocol for access from Jector, stream read-ahead And transport protocols and schedules that provide stream separation and priority Video streams, for example video streams, to the selected network class. Injection / tap protocol that provides the ability to broadcast to clients and A feedback protocol that provides management of available computing resources and communication bandwidth Is provided.   When the DVMS is configured in a network environment, it will The Tastream file server is based on standard network advertising protocols, Advertise stream groups that are controlled within those domains. For example, Nove llR NetwareTMIn the environment, the server is the service advertisement protocol (S Advertising based on AP). Each video server is Responsible for Na's namespace.   As shown in FIG. 9, computers (clients) connected in the network ) An application running on top of a stream group container by name When you open and access the contents of the container, DVMS will use the local DVMS manager Initialize the corresponding local stream controller 24 to Access groups. Next, the local The stream controller is the stream that the application wants to access. The appropriate remote space based on the system group container name and the remote server's advertisement. Set up a client-server session with the stream controller 82. Low The Cull Stream Controller allows many stream groups during a single session. Access to the container. This capability is used by the remote DVMS manager Obtained by the name service architecture. This way the container The domain of the name is accessed via a single access call, which allows Many containers in the domain can be accessed simultaneously.   The local stream controller 24 then connects to the remote DVMS manager's local network. The network workstream I / O manager 90 should be initialized to the appropriate remote A stream read ahead operation is initiated with the remote stream controller 84. next , This remote stream controller has a corresponding remote stream I / O manager 86 and remote network stream I / O manager 88 to initialize and Handles retrieval and transmission of constituent streams within the accessed stream group .   The stream read ahead operation is performed when the presentation of the stream group is started. Used to reduce the latency perceived by the client. story Searching, transmitting, and scaling requires a finite amount of time, which the client Perceive as delay. The read-ahead operation does not Ream I / O Manager, Remote Network Stream I / O Manager, and Raw Cull Network Stream I / O Manager allows clients to submit streams. At the very beginning of the client-server session, even before requesting Search, transmit, and scale streams. With this method, the stream is Whenever the user identifies the start of a presentation, the It is ready for immediate consumption by the Calstream interpreter and This eliminates or minimizes possible presentation delays.   Next, referring to FIG. 10, a client of the network selects a specific stream group. The following steps are implemented when requesting access to a group. Initial from request And based on network server stream group advertisements Then, a suitable remote stream I / O manager 86 , Audio and video streams to the appropriate stream containing the requested stream group. Call from the file storage device 30. Then the manager is called if necessary Separated streams, which results in separate audio and video presentation unit streams. Generate a ream with one pipe for each presentation unit token stream Enclose the corresponding stream descriptor token in a separate stream pipe 87. Let   Remote network stream I / O manager 88 Spend these presentation unit tokens Assemble the transmission packets based on the stream and release them to get the DVMS stream. Corresponding local transports across network 80 based on Directly to the network stream I / O manager 90. Specific used The transport protocol is set by the network environment. For example, NovellRNet In networks, the Netware SPX protocol is used for stream data transport. It is. The local network stream I / O manager 90 uses the transmitted presentation user. As soon as the knit is received, the presentation unit is separated into separate streams for each stream. In the local pipe interpreter 28. Consumed by the client computer's digital media hardware subsystem Used by Tem 34.   Referring to Figure 11A, which illustrates the remote DVMS function in more detail, once initialization has taken place, the remote Remote stream controller 84 is responsible for the operation of each active module of the manager. By performing the steps 130 and 136, the remote stream I / O manager 86 and the remote network can be Initializes the workstream I / O manager 88. Also, for two managers The requested stream group is identified 132 for access. Specific The controlled stream group control 134 is provided throughout the duration of the manager's function. Provided.   The remote stream controller 84 also reports the result of the stream group request. Client / server sessions between local and remote DVMS systems Provides management 138 of. Information provided by the local DVMS manager that requested the stream group Based on the remote stream controller, the desired rate from the local DVMS Receive 140 the value. This rate value indicates the rate at which the stream is presented. You. This will be described in detail below. The remote stream controller Ream I / O manager 86 and remote network stream I / O manager 88 This rate is identified 142 to each, and each receives 144 this rate.   The remote stream I / O manager 86 uses the audio from the appropriate stream container 30. And search, separate, and scale 146 the video streams. Stream is If they are not interleaved and stored separately, then the streams are If it can be scaled, while the streams are interleaved, it will be detailed later. So that the remote network stream I / O manager 88 can later reference the stream. Become   As described above with reference to FIG. 7, the remote stream I / O manager is a storage device. Stream talk corresponding to the stream presentation unit frame called from 148 to create a remote network stream via the individual stream pipes 32. Enqueue 150 of stream tokens to send to the Ream I / O Manager.   The remote network stream I / O manager 88 talks to the stream pipe Perform Kun's dequeue 152 and, if necessary, token normalization 154. Next Kuhn is the transmission packet Formatted 156 for release and released to the network for transmission.   Also, referring to FIG. 12, the packet format process 156 is implemented as follows. Will be revealed. Each token 114 in token stream 112 is encoded in buffer 118. The stream was originally interleaved in storage. Even if each buffer concatenates it with tokens from only one stream Media frame data. Then the token is the corresponding medium from the buffer Keeps each token and corresponding media data concatenated with the data The packets 120 are sequentially aligned in such a manner. This concatenation is Storage format and storage along with the fact that The match of the frames need not be stored in the transmitted packet during transmission.   This packet format method is based on the conventional packet format method of the prior art. Offers advantages over the law. In conventional packet protocols, stored media data The data format is typically interleaved and used for transmission packet format. Saved on the mat. Therefore, with this method, the audio and video streams are Sequence of interleaved headers, audio frames, and video frames. Packets transmitted over the network and thus interleaved. The specific syntax for storing the reame is duplicated in the packet format.   Conversely, according to the packet format scheme of the present invention, stream separation and And by distinctly formatting the packets of each stream, Each stream and presentation unit independent of other streams and presentation units. The opportunity to examine, process, and make transmission decisions regarding It will be easier. As a result, the local DVMS manager can To make an independent presentation decision regarding other tokens in the corresponding stream. It makes it possible and makes these decisions "on the fly". This Features allow streams to be retrieved, processed, and transmitted throughout the network. In doing so, real-time scaling and network load adjustment is achieved. Conventional technology Since the operation scheme does not have an analog function, synchronization according to the features of the present invention, No scaling and rate control can be realized.   Referring to FIG. 11B, the stream group is once transmitted through the network. Then the local DVMS manager processes the stream group for presentation. I do. The local stream controller 24 and the remote stream controller 84 Manages client / server session communication for 158 and also The active controller example 160, 162, and This is the Local Network Stream I / O Manager 90 and Local Stream Initialize the interpreter 28. The local stream controller is involved Stream grouping 164 Network stream I / O manager 90 and stream interpreter 28 When processing the group, control 166 of the group is performed.   The local network stream I / O manager 90 168 packet, assemble the presentation unit as received, then , Generate a stream token 170 from the received packet and Enqueue 172 on the pipe. Stream interpreter 28 is a stream pipe Dequeue 176 tokens from the Set standardization 176. Then stream the streams using the synchronization scheme described above. 178 and send it to the digital hardware subsystem for presentation. This har The function of the hardware is as described above with reference to FIG.   The reverse process is used, that is, as shown in Figures 11A and 11B. When recording a stream from a client and storing it on a remote stream server, the The Talstream hardware subsystem is a local stream interpreter 28 Stream data to the The stream interpreter generates 180 corresponding timestamps for synchronization and Used for standardization. After that, the stream token is generated 182 and the stream Enqueue 184 while playing.   The local network stream I / O manager is a stream from a pipe. Dequeue 186 tokens, described below Each stream according to its playback rate, recording rate and storage format. The standard is then 188. Then packets are formed and paired via the network. Transmit 190 to the remote server point where the corresponding remote DVMS exists.   Then, the remote network stream I / O manager 88 sends the transmitted packet. Received 192 and generate a stream token 194 based on this packet. U. The token is then enqueued 196 into the stream pipe and sent to the remote stream. It is consumed by the I / O manager. The remote stream I / O manager is a stream stream Dequeue 198 tokens from the ip and scale 200 the stream if necessary. U. Finally, the remote stream I / O manager interleaves the stream. Format, interleave if necessary and remember the appropriate stream on the server. Store 202 in the room container.   FIGS. 11A and 11B show that the DVMS network of the present invention is a stand-alone DV. It is shown to be on an elegant and efficient extension of the MS configuration. Each processing unit This extension is possible as a result of the modular design of the. That is, The details of packet transport are transparent to the remote stream I / O manager and stand Works like the standalone Stream I / O Manager. Similarly, the local strike The presentation unit token stream supplied to the Ream interpreter is special for transmission. It does not contain transmission-specific formats.   Therefore, this local DVMS manager is Add remote network stream I / O manager when used in Remote DVMS manager, including the corresponding remote stream I / O manager. Local DVMS, including a corresponding local stream interpreter, and Implement a local network stream I / O manager from a remote DVMS manager. It can be easily reconfigured to reveal. Utilizing this modularity, DVMS features Based on local and standalone stream scenarios and Remote / Programming without concern for functional differences from network stream scenarios Application is possible.   Appendixes H, I, J and K use C language pseudo code as a whole Client-server session control and DVMS network of the present invention. In addition to the remotes shown in appendix A, B and C And an example of configuring a local stream processing technique. Those of ordinary skill in the C language Understanding the coding from these pseudo-code processes to the corresponding code, if any Could be Also, as those skilled in the art will appreciate, these processes can be standardized. Similar functions are provided by hardware-based configuration using the conventional design technology I can do it.Scalable stream rate control   The network implementation of DVMS of the present invention allows remote and local DVMS management. Work together to stream streams through the network during stream transmission. Low rate control To do. As mentioned earlier, this feature is especially useful when dealing with audio and video streams. By prioritizing audio stream rates over video stream rates Effective in absorbing fluctuations in work utility availability It is a target.   This priority is due to the visibility of human motion, the display quality and the frame of the presented video. It is assumed that the rate fluctuation is highly tolerant. Typically, the video presentation Humans perceive motion when the speed exceeds 15 frames per second. Also, the video presentation rate Substantially unnoticed is the instantaneous and smooth variation of. But human The audibility is quite unacceptable for variations in audio presentation quality or rate. Typical Human beings perceive noise when a constant speech presentation rate is not maintained A "click" is perceived when a short silence period is inserted in the stream. Therefore, the DVMS system prioritizes audio streams over video streams. this Audio over video has priority over audio and video streams in the network. Expanded for all data flows that start with a search from a memory container and end with a presentation You.   Stream rate control in the network based on this voice priority automatically It may be started, or may be started in response to a direct request from the user. Each type of control request is described in turn below. However, the remote DVMS manager Reacts to type as well.   Referring again to FIG. 11A, the remote stream controller 84 in the network is Corresponding remote stream I / O manager 86 and remote network stream I / O manager. What the nominal offer rate (the rate at which the stream is "normally" presented) to the Nager 88 Gives an indication as to whether to actually retrieve and transmit the stream in percent You. The remote stream controller is connected to the local stream controller 24. Receive 140 the desired rate value for network communication and This path is required for the manager 86 and remote network stream I / O manager 88. Specify 142. Remote Stream I / O Manager 86 and Remote Networks Each of the stream I / O managers 88 receives 144 the rate value.   Stream rate control mechanism depends on the stream access scenario , Remote Stream I / O Manager or Remote Network Stream I / O Managed Performed by the user. As mentioned above, the requested audio and video streams are Interleaved when memorized, eg in the Intel DVI AVSS file format The remote stream I / O manager will stream the stream in its interleaved format. Search and split streams into separate streams and corresponding presentation unit talk Generate The remote stream I / O manager, in this scenario, It does not have the ability to operate the stream separately. Because the stream is interleaved This is because the search is performed in the saved state. In this case, stream is streamed after separation. Ream pie Remote network stream I / O manager that gets Control as before it was configured for stream packet network transmission. .   If the streams to be searched are stored individually, the remote stream I / O manager The rater will search the rate of the stream for each of them separately retrieved and corresponding It may be controlled when the kun is generated. In this case, the remote network stream The I / O manager's rate control feature is not needed and the stream is It does not further change the controller rate before it was transmitted.   Rate control for non-interleaved streams is achieved by remote stream I / O. Provided by the manager during the reference process 146. In this case, the remote strike The stream I / O manager skips the appropriate stream frame and Retrieving stream frames from a storage container while realizing a ream rate . Stream frames that are skipped are based on the specific pressure applied to the stream. It is decided based on reduction technology. The remote stream I / O manager is a virtual presentation unit. Stream to the skipped stream frame Maintain sequence continuity.   As described above with respect to the flow control synchronization scheme, the virtual presentation unit Stream unit sequence even when sequential units are not available Some substitution media data information for keeping the internal state of the can constant, Have with presentation unit. Where the transmission stream of the stream is the reference In the case of scaling where a virtual unit is used to Virtual units are additionally used to reduce the amount of data.   Therefore, the virtual video presentation unit here is a specified presentation period. And a time or timestamp but no frame presentation information. Have a presentation unit. Therefore, the remote stream I / O manager is When assigning the display unit to the skipped stream frame, the virtual presentation unit Packets containing packets are shorter than if the skipped frames were included. And transmitted faster. Local stream interpreter and digital presentation When a subsystem receives and processes a null video unit, that unit Is interpreted as an indication that represents the most recently presented frame. This In this way, the presentation subsystem uses the default video presentation data to Data is maintained without requiring it to be received via network transmission. You.   Alternatively, one should use an appropriate compression technique, as will be appreciated by those skilled in the compression technique. By including a presentation unit that is not presented by substituting null information Substitute partial media information instead of increasing or decreasing the presentation stream transmission rate It is also possible.   Rate control for interleaved streams Network stream I / O when a stream token is received from the network pipe. It is realized by O Manager. Here, the remote network stream I / O manager The stream token is used as a criterion by which the stream token is processed to form a transmission packet. Convert to 154. This is a remote network stream I / O manager with proper talk Virtual presentation unit token, depending on the compression technique used. To the specified stream rate by substituting It is realized by processing the stream using the chime.   There are common and important situations in the storage of this interleaved stream. The remote network stream I / O manager Are characterized by a specific process cycle and process period Can be kicked. During each process cycle, the remote network stream I / O manager One presentation unit is processed and the next sequential presentation unit is transmitted. Whether or not it should be decided based on the transmission decision scheme. Related to synchronization technology Similar to the process decision scheme described above, the transmission decision scheme is It is realized on the basis of the timing technology. If the stream presentation unit is filled If the transmission decision scheme contains an embedded time stamp, the Based on the actual count, otherwise an implicit timing count is used.   Which agent provides the standardization function However, only the video stream is standardized, and the audio stream presentation frame and Khun skips any audio presentation frame at full nominal presentation rate Processed without incident. Saving this voice presentation rate inevitably results in voice stream Priority over video streams.   The standardization function is used for any frame or stream group as described above. Depends on the compression technique used. For example, if keyframe type compression technology is used, the key A frame is a stream of all subsequent non-keys subordinate to that keyframe. Contains information needed for frame decompression and can be independently selected It is a frame. Dependent or non-keyframes cannot be selected independently. Mo In the JPEG format, all frames in the stream are key frames. Based on Una scheme. Only keyframes are skipped during normalization operation. , All non-keyframes associated with that keyframe are also skipped. afterwards A null frame is assigned to the keyframe and all corresponding non-keyframes. You.   Appendices L and M are implicit timing rate control schemes and It is a C language pseudo code that implements an explicit timing rate control scheme. The above Like synchronization technology, the implicit timing rate control scheme is based on counting technology. Therefore, embedded timecode is not required in the stream presentation frame. Explicit Control scheme explicitly determines the presentation and duration of a given frame For Time Stan It consists of using Skipped streams in both configurations A virtual presentation unit is generated for the frame.   Also, in both configurations, skipped frames are available later. If they do, they are identified and skipped, rather than presented. To be deleted. This presentation unit deletion function is the same as that used in the synchronization scheme. So keep the current sequential stream progress. Appendix L And M are pseudo-codes for realizing this presentation unit deletion function.Adaptive load balancing   The DVMS of the present invention automatically loads the packet network that realizes the system. It has the ability to sense dynamically and dynamically. Based on the sensed load, the A stream rate control mechanism is used by the system to Network utility is provided by supporting load and adaptive balancing. Optimize the availability of   Referring to FIG. 11B, in this load balancing scheme, the local net Workstream I / O Manager 90 is currently using this manager and local streams. Monitor the stream pipe 32 that is transmitting the stream to and from the interpreter 28. The average queue size or presentation unit for each pipe is Monitor changes in token availability. Mean queue size fluctuates significantly Local network Streamstream I / O Manager is the direction of change; To detect if Then notify the local stream controller 24 of the change 20 8 and based on this change, the new stream presentation token rate to be transmitted Request as a percentage of the nominal offer rate. And the local stream The controller transmits the above request to the remote stream controller 84, and The remote controller 84 is a remote stream I / O manager 86 and a remote network. The stream presentation unit rate is requested to the stream I / O manager 88 Instruct you to make adjustments.   The request rate is based on the average queue size, as in the scheme below. It is based on Queue size increases significantly beyond a given availability cap Sometimes the requested rate is increased. Increased usability can be faster It is shown that. On the contrary, the queue size exceeds the predetermined lower availability limit and becomes significant. The required rate is reduced when the rate decreases. The decrease in usability is due to the current Rate is not possible, indicating that lower rates are preferred.   Or, as long as the local stream controller 24 can accept 204, May specify a desired stream presentation rate. Local stream control The controller sends the request to the remote stream controller for realization.   Stream frames are streamed after being recorded via the local DVMS manager. Inverse corresponding to the memory frame being stored In the process, the remote stream I / O manager bases the stream on before storage. By normalizing 200, the stream is reconstructed so that it does not contain null frames. To achieve. This feature is also supported by the local network stream I / O manager. Can also be achieved by a scaling process 188 that terminates before the stream is transmitted. Can be   The DVMS of the present invention has been described in particular detail with reference to the preferred embodiments. Other examples It is also within the scope of the present invention. For example, the DVMS of the present invention uses audio and video streams. Although it has been described as a scheme for managing the media, various media data access Other types of media data streams accessed from the point, eg PB The X server is also in the claims. Install this DVMS on your computer system or C programming language when implemented as software on network Other programming languages may be used by those of ordinary skill in the programming arts. Obviously. It will also be apparent to those skilled in the digital hardware design arts as well. As you can see, this DVMS is completely hardware configured using standard design techniques. You may

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI H04N 7/173 9466−5K H04L 11/20 102A (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AT,AU,BB,BG,BR,BY, CA,CH,CZ,DE,DK,ES,FI,GB,H U,JP,KP,KR,KZ,LK,LU,MG,MN ,MW,NL,NO,NZ,PL,PT,RO,RU, SD,SE,SK,UA,VN (72)発明者 ロマノ,パスケル アメリカ合衆国 マサチューセッツ 02113,ボストン,ナンバー 101,ウィゲ ット ストリート 19 (72)発明者 クレイマン,ジェフリー エル. アメリカ合衆国 マサチューセッツ 02173,レキシントン,ベドフォード ス トリート 343 【要約の続き】 の一部とそれ固有のメディアデータとから構成されてい る。アセンブルされたパケットにおけるすべての提示記 述子およびメディアデータは、共通のタイプのメディア データから構成される。アセンブルされたパケットはそ の後解放されて、特定の提示ユニットシーケンスの提示 を要求するクライアント処理ノードへとネットワークを 介して伝送される。─────────────────────────────────────────────────── ─── Continuation of front page (51) Int.Cl. 6 Identification code Internal reference number FI H04N 7/173 9466-5K H04L 11/20 102A (81) Designated country EP (AT, BE, CH, DE, DK) , ES, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE), OA (BF, BJ, CF, CG, CI, CM, GA, GN, ML, MR, NE, SN) , TD, TG), AT, AU, BB, BG, BR, BY, CA, CH, CZ, DE, DK, ES, FI, GB, HU, JP, KP, KR, KZ, LK, LU, MG , MN, MW, NL, NO, NZ, PL, PT, RO, RU, SD, SE, SK, UA, VN (72) Inventor Romano, Paskel USA Sachusetts 02113, Boston, No. 101, Wiget Street 19 (72) Inventor Clayman, Jeffrey El. United States Massachusetts 02173, Lexington, Bedford Street 343. It is configured. All presentation descriptors and media data in the assembled packet consist of a common type of media data. The assembled packet is then released and transmitted over the network to the client processing node requesting the presentation of a particular presentation unit sequence.

Claims (1)

【特許請求の範囲】 1.提示ユニットのシーケンスで構成されるディジタル化連続時間ベースメディ アデータのコンピュータ処理のタイミングを制御するコンピュータをベースにし たメディアデータプロセッサであって、該ユニットのそれぞれが該メディアデー タのコンピュータ提示中の所定の提示期間によって特徴づけられ、 該メディアデータ提示ユニットの提示処理の開始時間を示し、該メディアデー タ提示ユニットシーケンスが提示用に処理されるとき、現在の提示時間を維持す る参照クロックと、 該提示ユニットが提示用に処理された後、該提示ユニットシーケンス内の各提 示ユニットをカウントし、現在の提示ユニットカウントを維持するカウンタと、 該参照クロックおよび該カウンタに接続され、該所定の提示時間でプログラム されるコンパレータであって、各提示ユニットが提示用に処理された後、該カウ ンタによって特定される該提示ユニット期間と該現在の提示ユニットカウントと の積と、該参照クロックによって特定される該現在の提示時間とを比較し、該比 較に基づいて、該積が該現在の提示時間カウントと一致する場合には、提示用に 処理される次のシーケンシャル提示ユニット発し、該積が該現在の提示時間カウ ントを越える場合には、該シーケンス内の次のシーケンシャル提示記述子を削除 する、コンパレータと、 を備えたメディアデータプロセッサ。 2.前記メディアデータ提示ユニットシーケンスが、複数の内符号化(intracod ed)映像フレームを含む映像フレームシーケンスを有する、請求項1に記載のメ ディアデータ。 3.前記映像フレームシーケンスの各フレームが、内符号化映像フレームを有す る、請求項2に記載のメディアデータプロセッサ。 4.前記映像フレームシーケンスが、モーションJPEG映像シーケンスを有する、 請求項3に記載のメディアデータプロセッサ。 5.前記複数の内符号化映像フレームのそれぞれが、キーフレームを有し、複数 の対応する非キーフレームによって後続され、該キーフレームのそれぞれが、該 後続の対応する非キーフレームの提示に必要なメディアデータ情報を有する、請 求項2に記載のメディアデータプロセッサ。 6.提示ユニットが提示用に発せられなければならないという前記コンパレータ からの指示を受け、処理される前記提示ユニットシーケンス内における次の提示 ユニットの入手性を決定し、該入手性に基づいて、次の提示ユニットが得られな い場合には、該次の提示ユニットが得られるまで、次の提示ユニットの代わりに 、デフォルト提示ユニットとして提示される前記所定の提示期間の仮想提示ユニ ットを生成し発する、該コンパレータに接続されるフローコントローラをさらに 備えた、請求項1に記載のメディアデータプロセッサ。 7.前記フローコントローラが、予め得られない提示ユニッ トを、該ユニットが後に得られるときに、モニタおよび識別し、該後に得られる ユニットの識別に応じて、該ユニットが提示用に発せられるのを抑制し、それに よって該後に得られるユニットが提示されない、請求項6に記載のメディアデー タプロセツサ。 8.前記メディアデータ提示ユニットシーケンスが、モーションJPEG映像シーケ ンスを有し、該提示ユニットが映像フレームを有し、前記仮想提示ユニットのそ れぞれが最も最近提示された映像フレームを有する、請求項6に記載のメディア データプロセッサ。 9.前記メディアデータ提示ユニットシーケンスが音声シーケンスを有する、請 求項1に記載のメディアデータプロセッサ。 10.前記クロックが、複数のメディアデータ提示ユニットシーケンスの提示処 理の開始時間を指示するように構成され、該開始時間が該複数のシーケンスに共 通であり、前記メディアデータシーケンスが提示用に処理されるとき、現在の提 示時間を維持し、 前記提示ユニットが提示用に処理された後、該複数の提示ユニットシーケンス 内の該提示ユニットのそれぞれをカウントし、該提示ユニットシーケンスのそれ ぞれに対する個別の現在の提示ユニットカウントを維持するカウンタと、 該参照クロックおよび該カウンタに接続され、該所定の提示期間でプログラム されるコンパレータであって、該複数の 提示ユニットシーケンスのそれぞれについて、該シーケンスからの該提示ユニッ トのそれぞれが提示用に処理された後、該カウンタによって特定される、該提示 ユニット期間と該シーケンスの該現在の提示ユニットカウントとの積と、該参照 クロックによって特定される該現在の提示時間とを比較し、該比較に基づいて、 該積が該現在の提示時間カウントと一致する場合には、提示用に処理される該提 示ユニットシーケンス内の次のシーケンシャル提示ユニットを発し、該積が該現 在の提示時間カウントを越える場合には、該提示ユニットシーケンス内の次のシ ーケンシャル提示ユニットを削除し、それによって、該複数のメディアデータ提 示ユニットシーケンスが同時に同期提示されるように同期処理される、コンパレ ータと、 を備えた請求項1に記載のメディアデータプロセッサ。 11.前記複数のメディアデータ提示ユニットシーケンスが内符号化映像フレー ムシーケンスおよび音声シーケンスを有する、請求項10に記載のメディアデー タプロセッサ。 12.提示ユニットのシーケンスで構成されるディジタル化連続時間ベースメデ ィアデータのコンピュータ提示を制御するコンピュータをベースにしたメディア データプロセッサであって、該ユニットのそれぞれが該メディアデータのコンピ ュータ提示中の所定の提示期間および提示時間によって特徴づけられ、さらに個 別のメディアデータタイプとして特徴づけられ、 所定の提示ユニットシーケンスのコンピュータ提示に対するリクエストに応答 して、対応するメディアデータアクセス位置からメディアデータを検索し、該検 索されたメディアデータにおける各提示ユニットの該メディアデータタイプを決 定し、該提示ユニットに対する該メディアデータタイプ決定に基づいて、特定の メディアデータ提示ユニットシーケンスに該検索された提示ユニットのそれぞれ を指定し、該特定された提示ユニットシーケンスのそれぞれに対する提示記述子 のシーケンスを構築し、該提示記述子のそれぞれは、該シーケンスにおける1つ の指定された提示ユニットに対する提示ユニットメディアデータを有し、該構築 されたシーケンス内のすべての提示記述子は、共通のメディアデータタイプであ り、該検索されたメディアデータに基づいて、該提示記述子のそれぞれと対応す る提示期間および提示時間とを関連づけ、該構築されたシーケンスのそれぞれに おける該提示記述子を連結し、該シーケンスのそれぞれにおける該提示ユニット のプログレッションを確立する、メディアデータ入力マネージャと、 該構築された提示記述子シーケンスを1度に1個の記述子ずつ該メディアデー タ入力マネージャから受け取り、提示用の該シーケンスを1度に1個の提示ユニ ットずつ発し、該提示ユニットシーケンスの提示処理の開始時間を示し、該シー ケンスが提示用に処理されるとき、現在の提示時間を維持し、該ユニットが発せ られ提示用に処理された後、該シーケンス 内の各ユニットをカウントし、各シーケンスに対する個別の現在の提示ユニット カウントを維持し、該提示ユニットシーケンスのそれぞれについて、該シーケン スからの各ユニットが提示用に処理された後、該シーケンスの該提示ユニット期 間と該現在の提示ユニット時間との積と、該現在維持されている提示時間とを比 較し、該比較に基づいて、該積が該現在維持されている提示時間カウントと一致 したときに、該シーケンス内の次のシーケンシャル提示ユニットを提示処理用に 発し、該積が該現在維持されている提示時間カウントを越えるときには、該提示 ユニットシーケンス内の次のシーケンシャル提示ユニットを削除し、該データ入 力マネージャに接続されているメディアデータインタプリタと、 を備えたメディアデータプロセッサ。 13.前記メディアデータアクセス位置がコンピュータ記憶位置を有する、請求 項12に記載のメディアデータプロセッサ。 14.前記メディアデータ入力マネージャおよび前記メディアデータインタプリ タを開始し、提示される前記提示ユニットシーケンスを該メディアデータ入力マ ネージャおよび該メディアデータインタプリタに特定し、ユーザ仕様に応じてシ ーケンス提示の開始および終了を制御する、提示ユニットシーケンスコントロー ラをさらに備えた、請求項13に記載のメディアデータプロセッサ。 15.前記特定されたメディアデータ提示ユニットシーケン スが、複数の内符号化映像フレームを有する映像フレームシーケンスを備えた、 請求項13に記載のメディアデータプロセッサ。 16.前記映像フレームシーケンスの各フレームが内符号化映像フレームを有す る、請求項15に記載のメディアデータプロセッサ。 17.前記映像フレームシーケンスがモーションJPEG映像シーケンスを有する、 請求項16に記載のメディアデータプロセッサ。 18.前記複数の内符号化映像フレームのそれぞれが、キーフレームを有し、複 数の対応する非キーフレームで後続され、該キーフレームのそれぞれが該後続の 対応する非キーフレームの提示に必要なメディアデータ情報を有する、請求項1 5に記載のメディアデータプロセッサ。 19.前記特定されたメディアデータ提示ユニットシーケンスが、モーションJP EG映像シーケンスおよび音声シーケンスを有する、請求項16に記載のメディア データプロセッサ。 20.前記メディアデータインタプリタが、さらに、特定された提示ユニットシ ーケンスのそれぞれについて、前記比較に基づいて、次の提示ユニットが提示用 に発せられなければならないときに、次の提示記述子の入手性を決定し、該入手 性に基づいて、該シーケンスにおける次の提示ユニットが提示用に得られない度 に、該次の提示ユニットが得られるまで、デフォルト提示ユニットとして提示さ れる前記所定の提示期 間の仮想提示ユニットを生成し発する、請求項14に記載のメディアプロセッサ 。 21.前記ローカルメディアデータインタプリタが、予め得られない提示ユニッ トを、前記記述子が後に得られるときに、モニタおよび識別し、該後に得られる 記述子の識別に応じて、該後に得られる提示ユニットが提示用に発せられるのを 抑制するように構成され、それによって該後に得られる提示ユニットが提示され ない、請求項20に記載のメディアプロセッサ。 22.前記複数のメディアデータ提示ユニットシーケンスが、映像フレームの内 符号化映像シーケンスおよび音声サンプルの音声シーケンスを有し、各仮想映像 提示ユニットが、最も最近提示された映像フレームを有し、該仮想音声提示ユニ ットがサイレント音声サンプルを有する、請求項20に記載のメディアデータプ ロセッサ。 23.前記メディアデータ入力マネージャによって検索された前記メディアデー タが、前記所定の提示ユニットシーケンス用提示ユニットで構成される記憶提示 ユニットシーケンスを有し、該特定の提示ユニットシーケンスの提示ユニットが 、交互にインターリーブされ、該記憶提示ユニットシーケンスを構成する、請求 項12に記載のメディアデータプロセッサ。 24.前記メディアデータ入力マネージャによって検索された前記メディアデー タが、複数の記憶提示ユニットシーケンスを有し、該記憶提示ユニットシーケン スのそれぞれが、特 定の提示ユニットシーケンス用提示ユニットで構成され、記憶提示ユニットシー ケンス内のすべての提示ユニットが共通メディアデータタイプである、請求項1 2に記載のメディアデータプロセッサ。 25.前記メディアデータインタプリタによって示される提示処理の前記開始時 間が、前記特定の提示ユニットシーケンスのすべてに共通であり、それによって 、該特定の提示ユニットシーケンスが同時同期提示されるように同期処理される 、請求項24に記載のメディアデータプロセッサ。 26.前記特定の提示ユニットシーケンスが、内符号化映像フレームの映像提示 ユニットシーケンスおよび音声サンプルの音声提示ユニットシーケンスを有し、 前記メディアデータインタプリタが、次の提示ユニットが提示用に得られない度 に、該次の提示ユニットが得られるまで、デフォルト提示ユニットとして提示さ れる仮想映像フレームを生成および発することによって、映像提示ユニットより も音声提示ユニットを優先させ、前記仮想映像フレームが最も最近提示された映 像フレームを有する、請求項25に記載のメディアデータプロセッサ。 27.前記検索されたメディアデータ提示ユニットが、記憶内符号化で符号化さ れ、圧縮され、前記プロセッサが、前記提示ユニットを復号化し、該提示ユニッ トを解凍し、前記ディジタル化された提示ユニットを提示用の対応アナログ提示 に変換する提示システムをさらに有する、請求項14のメデ ィアデータプロセッサ。 28.前記メディアデータインタプリタが、前記特定の提示シーケンスの提示ユ ニットがそれぞれ、前記特定の提示期間とは異なる提示期間に提示されるように 、所定時間レートで前記現在の提示時間を維持する、請求項12に記載のメディ アデータプロセッサ。 29.前記メディアデータインタプリタモニタが、前記特定の提示ユニットシー ケンスのそれぞれに対して、提示用に発せられた該シーケンス内の前記提示記述 子の実際の提示レートをモニタし、該実際の提示レートと所定の正常な提示レー トとを比較し、該比較に基づいて、該モニタされた提示レートが該所定の提示レ ートよりも大きい度に、デフォルト提示ユニットとして提示される前記所定の提 示期間の実際の提示ユニットを生成および発し、該比較に基づいて、該モニタさ れた提示レートが該所定の提示レートよりも小さい度に、提示ユニットをスキッ プする、請求項12に記載のメディアデータプロセッサ。[Claims] 1. Digitized continuous-time based media consisting of a sequence of presentation units Based on a computer that controls the timing of computer processing of data A media data processor, wherein each of the units Characterized by a given presentation period during computer presentation of   Indicates the start time of the presentation process of the media data presentation unit, Maintain the current presentation time when the presentation unit sequence is processed for presentation. Reference clock,   After the presentation unit has been processed for presentation, each presentation in the presentation unit sequence is A counter that counts the indicated units and maintains the current presented unit count;   Program at the predetermined presentation time, connected to the reference clock and the counter Comparing each presentation unit after the presentation unit has been processed for presentation. The presenting unit period and the current presenting unit count specified by And the current presentation time specified by the reference clock, and the ratio Based on the comparison, if the product matches the current presentation time count, then for presentation Emits the next sequential presentation unit being processed and the product is the current presentation time count. The next sequential presentation descriptor in the sequence, Yes, with a comparator,   Media data processor with. 2. The media data presentation unit sequence has a plurality of intra-codings (intracod ed) The method of claim 1 having a video frame sequence that includes video frames. Deer data. 3. Each frame of the video frame sequence has an intra-coded video frame The media data processor of claim 2, wherein the media data processor comprises: 4. The video frame sequence comprises a motion JPEG video sequence, The media data processor according to claim 3. 5. Each of the plurality of intra-coded video frames has a key frame, Of the corresponding non-keyframes, each of the keyframes A contract that has the media data information necessary for the presentation of the corresponding subsequent non-keyframes. The media data processor according to claim 2. 6. Said comparator in which a presentation unit has to be emitted for presentation The next presentation in the sequence of presentation units to be processed upon receipt of instructions from The availability of a unit is determined and, based on the availability, the next presentation unit is not available. If it is not, the next presentation unit will be replaced instead of the next presentation unit. , A virtual presentation unit of the predetermined presentation period presented as a default presentation unit. A flow controller connected to the comparator for generating and emitting The media data processor of claim 1, comprising. 7. The flow controller has a presentation unit that cannot be obtained in advance. Monitor and identify when the unit is later obtained and later obtained Depending on the identity of the unit, suppress it from being emitted for presentation, and Therefore, the media day according to claim 6, wherein the unit obtained after that is not presented. Tap processor. 8. The sequence of the media data presentation unit is a motion JPEG video sequence. Of the virtual presentation unit, the presentation unit having a video frame, 7. The media of claim 6, each having a video frame most recently presented. Data processor. 9. The media data presentation unit sequence comprises an audio sequence, The media data processor according to claim 1. 10. The clock is a presentation process for a plurality of media data presentation unit sequences. Configured to indicate the start time of the process, the start time being shared by the plurality of sequences. Current, when the media data sequence is processed for presentation, Keep the indicated time,   The plurality of presentation unit sequences after the presentation unit has been processed for presentation Counting each of the presentation units in the A counter that maintains a separate current presentation unit count for each,   A program connected to the reference clock and the counter for the predetermined presentation period Comparing the plurality of For each presentation unit sequence, the presentation unit from the sequence. The presentation identified by the counter after each of the presentations has been processed for presentation The product of the unit period and the current presented unit count of the sequence, and the reference Comparing the current presentation time specified by the clock, and based on the comparison, If the product matches the current presentation time count, the proposal processed for presentation. Emits the next sequential presentation unit in the presentation unit sequence and the product If the current presentation time count is exceeded, then the next sequence in the presentation unit sequence. Remove the sequential presentation unit, thereby The display unit sequence is synchronized so that it is presented synchronously at the same time. Data,   The media data processor of claim 1, comprising: 11. The plurality of media data presentation unit sequences are intra-coded video frames. 11. A media day according to claim 10, comprising a video sequence and a voice sequence. Processor. 12. Digitized continuous-time based media consisting of a sequence of presentation units Computer-based media controlling the computer presentation of wireless data A data processor, wherein each of the units is a compilation of the media data. Characterized by a given presentation period and presentation time during presentation, Characterized as another media data type,   Responds to requests for computer presentation of a given presentation unit sequence Search the media data from the corresponding media data access position, Determine the media data type of each presentation unit in the retrieved media data Based on the media data type determination for the presentation unit, Each of the retrieved presentation units in the media data presentation unit sequence And a presentation descriptor for each of the identified presentation unit sequences , Each of the presentation descriptors is one in the sequence. Having presentation unit media data for a specified presentation unit of the All presentation descriptors in the specified sequence are of a common media data type. Corresponding to each of the presentation descriptors based on the retrieved media data. Associated presentation time and presentation time to each of the constructed sequences. Concatenate the presentation descriptors in the presentation unit in each of the sequences Media data entry manager, which establishes the progression of   The constructed presentation descriptor sequence is added to the media data, one descriptor at a time. From the data input manager and presents the sequence for presentation, one presentation unit at a time. The presentation unit sequence to indicate the start time of the presentation processing of the presentation unit sequence, When the can is processed for presentation, the current presentation time is maintained and the unit Sequence after being processed for presentation Counts each unit within and presents a separate current presentation unit for each sequence Maintain a count and for each of the presentation unit sequences, the sequence After each unit from the stream has been processed for presentation, the presentation unit period of the sequence. The product of the current time and the current presentation unit time and the currently maintained presentation time. And, based on the comparison, the product matches the currently maintained presentation time count The next sequential presentation unit in the sequence for presentation processing. And the product exceeds the currently maintained presentation time count, the presentation Delete the next sequential presentation unit in the unit sequence and enter the data A media data interpreter connected to the force manager,   Media data processor with. 13. The media data access location comprises a computer storage location Item 13. The media data processor according to item 12. 14. The media data input manager and the media data interpreter The media data input matrix to start the presentation unit sequence presented. Specific to the media and the media data interpreter, and the system according to user specifications. Sequence control, which controls the start and end of sequence presentation 14. The media data processor of claim 13, further comprising: 15. The specified media data presentation unit sequence Comprises a video frame sequence having a plurality of intra-coded video frames, The media data processor according to claim 13. 16. Each frame of the video frame sequence has an intra-coded video frame The media data processor of claim 15, wherein the media data processor comprises: 17. The video frame sequence comprises a motion JPEG video sequence, A media data processor according to claim 16. 18. Each of the plurality of intra-coded video frames has a key frame, Followed by a number of corresponding non-keyframes, each of the keyframes 2. Having media data information required for presentation of corresponding non-keyframes. 5. The media data processor according to item 5. 19. The specified media data presentation unit sequence is motion JP 17. The media of claim 16, having an EG video sequence and an audio sequence. Data processor. 20. The media data interpreter is further provided with a specified presentation unit system. For each of the sequences, the next presentation unit is for presentation based on the comparison Determine the availability of the next presentation descriptor when it must be issued to The degree to which the next presentation unit in the sequence is not available for presentation, based on gender. Will be presented as the default presentation unit until the next presentation unit is obtained. The specified presentation period 15. The media processor of claim 14, generating and emitting a virtual presentation unit between. . 21. The local media data interpreter does not have a presentation unit that cannot be obtained in advance. Monitor and identify when the descriptor is obtained later, and obtain it later Depending on the identification of the descriptor, the subsequently presented presentation unit may be emitted for presentation. Is configured to suppress, thereby presenting the subsequently presented presentation unit 21. The media processor of claim 20, which is absent. 22. The plurality of media data presentation unit sequences are included in a video frame. Each virtual video has an encoded video sequence and an audio sequence of audio samples. The presentation unit has the most recently presented video frame, and the virtual audio presentation unit 21. The media data source according to claim 20, wherein the set includes silent audio samples. Rosessa. 23. The media data retrieved by the media data entry manager Is a memory presentation composed of the presentation unit for the predetermined presentation unit sequence. A presentation sequence of the particular presentation unit sequence , Alternatingly interleaved to form the memory presentation unit sequence, Item 13. The media data processor according to item 12. 24. The media data retrieved by the media data entry manager Has a plurality of memory presentation unit sequences, the memory presentation unit sequence Each of the The presentation unit consists of a presentation unit for sequence and a memory presentation unit. 2. All presentation units in a can are a common media data type. 2. The media data processor according to 2. 25. At the start of the presentation process indicated by the media data interpreter Is common to all of the particular presentation unit sequences, and , The specific presentation unit sequences are synchronized so that they are presented simultaneously in synchronization 25. The media data processor of claim 24. 26. The specific presentation unit sequence is a video presentation of an intra-coded video frame. Having a unit sequence and an audio presentation unit sequence of audio samples, When the media data interpreter fails to get the next presentation unit for presentation Will be presented as the default presentation unit until the next presentation unit is obtained. The video presentation unit generates and emits a virtual video frame Also gives priority to the audio presentation unit, and the virtual video frame is displayed most recently. The media data processor of claim 25, comprising image frames. 27. The retrieved media data presentation unit is encoded with intra-memory encoding. And compressed, the processor decodes the presentation unit and presents the presentation unit. Corresponding analog presentation for decompressing the digitized presentation unit and presenting the digitized presentation unit 15. The method of claim 14, further comprising a presentation system for converting to. Ear data processor. 28. The media data interpreter presents a presentation user of the particular presentation sequence. Each knit is presented in a presentation period different from the specific presentation period. 13. The media of claim 12, maintaining the current presentation time at a predetermined time rate. A data processor. 29. If the media data interpreter monitor is For each of the cans, the presentation description in the sequence issued for presentation The actual presentation rate of the child is monitored, and the actual presentation rate and a predetermined normal presentation rate are monitored. And the monitored presentation rate is based on the comparison. Each time it is larger than the default Generates and emits the actual presentation unit for the indicated period and based on the comparison, the monitored Each time the offered presentation rate is less than the predetermined presentation rate, the presentation unit is skipped. 13. The media data processor of claim 12, wherein
JP6518182A 1993-02-03 1994-02-02 Multimedia distribution system Pending JPH09511623A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/013,009 US5719786A (en) 1993-02-03 1993-02-03 Digital media data stream network management system
US08/013,009 1993-02-03
US16440793A 1993-12-08 1993-12-08
US08/164,407 1993-12-08
PCT/US1994/001177 WO1994018776A2 (en) 1993-02-03 1994-02-02 Multimedia distribution system

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2001112046A Division JP3523217B2 (en) 1993-02-03 2001-04-10 Media data processor
JP2001112047A Division JP3523218B2 (en) 1993-02-03 2001-04-10 Media data processor

Publications (1)

Publication Number Publication Date
JPH09511623A true JPH09511623A (en) 1997-11-18

Family

ID=26684310

Family Applications (4)

Application Number Title Priority Date Filing Date
JP6518182A Pending JPH09511623A (en) 1993-02-03 1994-02-02 Multimedia distribution system
JP6518178A Expired - Lifetime JP2846956B2 (en) 1993-02-03 1994-02-02 Flow control by evaluating network load
JP2001112047A Expired - Lifetime JP3523218B2 (en) 1993-02-03 2001-04-10 Media data processor
JP2001112046A Expired - Lifetime JP3523217B2 (en) 1993-02-03 2001-04-10 Media data processor

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP6518178A Expired - Lifetime JP2846956B2 (en) 1993-02-03 1994-02-02 Flow control by evaluating network load
JP2001112047A Expired - Lifetime JP3523218B2 (en) 1993-02-03 2001-04-10 Media data processor
JP2001112046A Expired - Lifetime JP3523217B2 (en) 1993-02-03 2001-04-10 Media data processor

Country Status (7)

Country Link
EP (2) EP0682833B1 (en)
JP (4) JPH09511623A (en)
AT (2) ATE158909T1 (en)
AU (2) AU6695594A (en)
CA (2) CA2155354C (en)
DE (2) DE69405976T2 (en)
WO (2) WO1994018776A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511891A (en) * 1993-03-31 1996-12-10 カレイダ ラブズ インコーポレイテッド Synchronous clock and media player

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG34287A1 (en) 1994-10-28 1996-12-06 Hitachi Ltd Input-output circuit recording apparatus and reproduction apparatus for digital video signal
US6163644A (en) * 1995-04-27 2000-12-19 Hitachi, Ltd. Method and apparatus for receiving and/or reproducing digital signal
IL115263A (en) * 1995-09-12 1999-04-11 Vocaltec Ltd System and method for distributing multi-media presentations in a computer network
JP2842831B2 (en) * 1996-03-27 1999-01-06 日本電気エンジニアリング株式会社 Data packet transmission apparatus and method
US5991836A (en) * 1997-05-02 1999-11-23 Network Computing Devices, Inc. System for communicating real time data between client device and server utilizing the client device estimating data consumption amount by the server
US9118387B2 (en) 1997-11-03 2015-08-25 Qualcomm Incorporated Pilot reference transmission for a wireless communication system
US7184426B2 (en) 2002-12-12 2007-02-27 Qualcomm, Incorporated Method and apparatus for burst pilot for a time division multiplex system
US6574211B2 (en) 1997-11-03 2003-06-03 Qualcomm Incorporated Method and apparatus for high rate packet data transmission
DE19853665B4 (en) 1998-11-20 2005-06-30 Siemens Ag Vehicle communication system and method for exchanging data in a motor vehicle
JP4008162B2 (en) 1999-08-18 2007-11-14 富士通株式会社 Communication method and communication apparatus
WO2002033927A2 (en) * 2000-10-20 2002-04-25 Eyeball.Com Network Inc. Network virtual games
US7068683B1 (en) 2000-10-25 2006-06-27 Qualcomm, Incorporated Method and apparatus for high rate packet data and low delay data transmissions
US6973098B1 (en) 2000-10-25 2005-12-06 Qualcomm, Incorporated Method and apparatus for determining a data rate in a high rate packet data wireless communications system
US7683903B2 (en) 2001-12-11 2010-03-23 Enounce, Inc. Management of presentation time in a digital media presentation system with variable rate presentation capability
GB2372676A (en) * 2001-02-21 2002-08-28 Ericsson Telefon Ab L M Preventing overload in a telecommunications system
JP3703759B2 (en) * 2001-11-30 2005-10-05 株式会社東芝 Method for controlling mobile terminal and mobile terminal
DE10354556B4 (en) 2002-11-25 2008-10-09 Samsung Electronics Co., Ltd., Suwon Apparatus and method for displaying images in a mobile terminal
JP4789401B2 (en) 2003-06-25 2011-10-12 トヨタ自動車株式会社 Content distribution system
US7882510B2 (en) 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
US7881335B2 (en) 2007-04-30 2011-02-01 Sharp Laboratories Of America, Inc. Client-side bandwidth allocation for continuous and discrete media
US8811200B2 (en) 2009-09-22 2014-08-19 Qualcomm Incorporated Physical layer metrics to support adaptive station-dependent channel state information feedback rate in multi-user communication systems
US8082313B2 (en) 2009-10-26 2011-12-20 International Business Machines Corporation Efficient utilization of read-ahead buffer by partitioning read-ahead buffer in correspondence with selectors
JP5660983B2 (en) 2011-06-28 2015-01-28 トヨタ自動車株式会社 Content distribution system
US10990289B2 (en) 2018-09-28 2021-04-27 Seagate Technology Llc Data storage systems using time-based read ahead
US10990402B1 (en) 2019-12-18 2021-04-27 Red Hat, Inc. Adaptive consumer buffer
US11595457B2 (en) * 2021-04-05 2023-02-28 Arris Enterprises Llc System and method for dynamic adjustment of content streaming rates

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067074A (en) * 1989-10-27 1991-11-19 At&T Bell Laboratories Control of overload in communications networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08511891A (en) * 1993-03-31 1996-12-10 カレイダ ラブズ インコーポレイテッド Synchronous clock and media player

Also Published As

Publication number Publication date
DE69406650D1 (en) 1997-12-11
JP2002033771A (en) 2002-01-31
JPH08509847A (en) 1996-10-15
CA2155353A1 (en) 1994-08-18
ATE160066T1 (en) 1997-11-15
DE69405976T2 (en) 1998-01-29
CA2155353C (en) 2000-10-24
JP2846956B2 (en) 1999-01-13
ATE158909T1 (en) 1997-10-15
CA2155354A1 (en) 1994-08-18
DE69406650T2 (en) 1998-03-05
AU6695594A (en) 1994-08-29
JP3523218B2 (en) 2004-04-26
AU6132194A (en) 1994-08-29
CA2155354C (en) 2001-04-17
EP0683951B1 (en) 1997-11-05
JP2002033998A (en) 2002-01-31
JP3523217B2 (en) 2004-04-26
WO1994018771A1 (en) 1994-08-18
WO1994018776A3 (en) 1994-10-13
WO1994018776A2 (en) 1994-08-18
EP0682833B1 (en) 1997-10-01
DE69405976D1 (en) 1997-11-06
EP0682833A1 (en) 1995-11-22
EP0683951A1 (en) 1995-11-29

Similar Documents

Publication Publication Date Title
JPH09511623A (en) Multimedia distribution system
US5719786A (en) Digital media data stream network management system
US6487564B1 (en) Multimedia playing apparatus utilizing synchronization of scenario-defined processing time points with playing of finite-time monomedia item
US7085842B2 (en) Line navigation conferencing system
US7237254B1 (en) Seamless switching between different playback speeds of time-scale modified data streams
US5995091A (en) System and method for streaming multimedia data
US5737531A (en) System for synchronizing by transmitting control packet to omit blocks from transmission, and transmitting second control packet when the timing difference exceeds second predetermined threshold
US5664226A (en) System for merging plurality of atomic data elements into single synchronized file by assigning ouput rate to each channel in response to presentation time duration
US6349286B2 (en) System and method for automatic synchronization for multimedia presentations
US20090106288A1 (en) Method and system for supporting media data of various coding formats
US20020122656A1 (en) Method and apparatus for recording broadcast data
JP2003114845A (en) Media conversion method and media conversion device
JP2012213198A (en) Dynamic media serving infrastructure
JP2002344880A (en) Contents distribution system
JPH10507056A (en) File server for distribution of multimedia files
England et al. Rave: Real-time services for the web
US20020095613A1 (en) Synchronizing motion and time-based data for transfer between a server and a client
JP2002502169A (en) Method and system for client-server interaction in conversational communication
US20190387271A1 (en) Image processing apparatus, image processing method, and program
US7890651B2 (en) Sending content from multiple content servers to clients at time reference points
JP7256173B2 (en) Information processing device, information processing device and program
GB2499040B (en) Methods and systems for providing file data for a media file
JP2002199370A (en) Video/sound distributing device and video/sound file analyzing method
JP6258897B2 (en) Content acquisition device, content acquisition method, metadata distribution device, and metadata distribution method
Steinmetz et al. Synchronization