DE69633552T2 - Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information - Google Patents

Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information Download PDF

Info

Publication number
DE69633552T2
DE69633552T2 DE69633552T DE69633552T DE69633552T2 DE 69633552 T2 DE69633552 T2 DE 69633552T2 DE 69633552 T DE69633552 T DE 69633552T DE 69633552 T DE69633552 T DE 69633552T DE 69633552 T2 DE69633552 T2 DE 69633552T2
Authority
DE
Germany
Prior art keywords
frame
data
video
data stream
rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69633552T
Other languages
English (en)
Other versions
DE69633552D1 (de
Inventor
A. Mark PORTER
Dave Pawson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent SAS
NCube Corp
Original Assignee
Alcatel SA
NCube Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23998025&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69633552(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Alcatel SA, NCube Corp filed Critical Alcatel SA
Application granted granted Critical
Publication of DE69633552D1 publication Critical patent/DE69633552D1/de
Publication of DE69633552T2 publication Critical patent/DE69633552T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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
    • 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/8549Creating video summaries, e.g. movie trailer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • G11B2020/00072Time or data compression or expansion the compressed signal including a video signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Verarbeitung von audio-visuellen Informationen und insbesondere auf ein Verfahren und eine Vorrichtung zum Ermöglichen des nicht-sequentiellen Zugriffs auf audio-visuelle Informationen, die in einem digitalen Format gespeichert sind.
  • HINTERGRUND DER ERFINDUNG
  • In den letzten Jahren hat die Medienindustrie ihren Horizont über die herkömmlichen analogen Techniken hinaus erweitert. Tonteile, Photographien und selbst Spielfilme werden nun in einem digitalen Format aufgezeichnet oder in ein solches umgesetzt. Zur Unterstützung der Kompatibilität zwischen Produkten wurden in vielen der Medienkategorien Standardformate entwickelt.
  • MPEG ist ein weitverbreiteter Standard, der entwickelt wurde, um audio-visuelle Sequenzen zu speichern und den Client mit den digitalen Daten, die die audio-visuellen Sequenzen repräsentieren, zu versorgen. Zum Zweck der Erläuterung werden die MPEG-1- und MPEG-2-Formate betrachtet, um die Probleme zu erklären, die mit dem Verschaffen eines nichtsequentiellen Zugriffs auf audiovisuelle Informationen verbunden sind. Die von der vorliegenden Erfindung angewandten Techniken zur Lösung dieser Probleme werden ebenso im Zusammenhang mit MPEG beschrieben. Jedoch sind MPEG-1 und MPEG-2 selbstverständlich lediglich zwei Kontexte, in denen die Erfindung angewandt werden kann. Die Erfindung ist nicht auf ein bestimmtes digitales Format beschränkt.
  • Im MPEG-Format werden die Video- und Audioinformationen in einer binären Datei (einer "MPEG-Datei") gespeichert. Die Videoinformationen in der MPEG-Datei repräsentieren eine Sequenz von Videobildern. Zwischen diese Videoinformationen können Audioinformationen, die eine oder mehrere Tonspuren repräsentieren, gemischt sein. Die zur Repräsentation eines Videobildes in der MPEG-Datei verwendete Informationsmenge ist sowohl aufgrund des optischen Inhalts als auch aufgrund der zur digitalen Wiedergabe dieses Inhalts angewandten Techniken von Bild zu Bild sehr unterschiedlich. In einer typischen MPEG-Datei beträgt die Menge von digitalen Daten, die zur Codierung eines einzelnen Videobildes verwendet wird, zwischen 2 und 50 KByte.
  • Während des Playbacks werden die in der MPEG-Datei dargestellten audio-visuellen Informationen in einem Datenstrom (einem "MPEG-Datenstrom") an den Client geschickt. Ein MPEG-Datenstrom muß bestimmte, in den MPEG-Standards dargelegte Kriterien erfüllen. In MPEG-2 muß der MPEG-Datenstrom aus Paketen fester Größe bestehen. Insbesondere muß jedes Paket exakt 188 Byte lang sein. In MPEG-1 darf die Größe jedes Pakets variieren, wobei die typische Größe 2252 Byte beträgt. Jedes Paket enthält einen Kopfsatz, der Daten enthält, die die Inhalte des Pakets beschreiben. Da sich die zur Repräsentation eines jeden Bildes verwendete Datenmenge und die Größe der Pakete nicht ändern, besteht kein Zusammenhang zwischen den Paketgrenzen und den Grenzen der darin enthaltenen Videobildinformationen.
  • MPEG verwendet drei grundlegende Techniken zum Codieren von Videobildern. Die drei Techniken erzeugen drei Typen von Bilddaten: I-Bilddaten (I = inter = zwischen), P-Bilddaten (P = predicted = vorhergesagt) und B-Bilddaten (B = bidirektional = bidirektional).
  • I-Bilddaten enthalten sämtliche Informationen, die zum vollständigen Neuaufbau eines Bildes erforderlich sind. P-Bilddaten enthalten Informationen, die die Differenz zwischen einem Bild und dem den vorangehenden I-Bilddaten oder P-Bilddaten entsprechenden Bild repräsentieren. B-Bilddaten enthalten Informationen, die die relative Verschiebung zwischen vorangehenden I- oder P-Bilddaten repräsentieren und auf I- oder P-Bilddaten folgen. Diese digitalen Bildformate sind in den folgenden internationalen Standards genau beschrieben: ISO/IEC 13818-1, 2, 3 (MPEG-2) und ISO/IEC 11172-1, 2, 3 (MPEG-1). Dokumente, die diese Standards beschreiben (im folgenden als "MPEG-Spezifikationen" bezeichnet), können von ISO/IEC Copyright Office Case Postale 56, CH 1211, Genf 20, Schweiz bezogen werden.
  • Wie oben erläutert wurde, können Videobilder nicht aus P- und B-Bilddaten allein erzeugt werden. Um durch P-Bilddaten dargestellte Videobilder neu aufbauen zu können, sind die vorangehenden I- oder P-Bilddaten erforderlich. Somit läßt sich sagen, daß ein P-Bild vom vorangehenden I- oder P-Bild "abhängt". Um durch B-Bilddaten dargestellte Videobilder neu aufbauen zu können, sind die vorangehenden I- oder P-Bilddaten und die nachfolgenden I- oder P-Bilddaten erforderlich. Somit läßt sich sagen, daß B-Bilder von den vorangehenden und von den nachfolgenden I- oder P-Bilddaten abhängen.
  • Die obenbeschriebenen Abhängigkeiten sind in 1a gezeigt. Die Pfeile in 1a geben eine "Abhängigkeits"-Beziehung an. Genauer, wenn ein gegebenes Bild von einem anderen Bild abhängt, zeigt ein Pfeil von dem gegebenen Bild zu dem anderen Bild.
  • In dem gezeigten Beispiel repräsentiert das Bild 20 ein I-Bild. I-Bilder hängen nicht von anderen Bilder ab, weshalb kein Pfeil von dem Bild 20 weg zeigt. Die Bilder 26 und 34 repräsentieren P-Bilder. Ein P-Bild hängt vom vorangehenden I- oder P-Bild ab. Folglich zeigt ein Pfeil 36 von dem P-Bild 26 auf das I-Bild 20, während ein Pfeil 38 von dem P-Bild 34 auf das P-Bild 26 zeigt.
  • Die Bilder 22, 24, 28, 30 und 32 repräsentieren B-Bilder. B-Bilder hängen von den vorangehenden und von den nachfolgenden I- oder P-Bilder ab. Folglich zeigen ein Pfeil 40 von jedem Bild 22, 24, 28, 30 und 32 zu jedem I- oder P-Bild, das den einzelnen B-Bilder vorangeht, und zu jedem I- oder P-Bild, das den einzelnen B-Bilder nachfolgt.
  • Die Eigenschaften des obenbeschriebenen MPEG-Formats ermöglichen das Speichern einer großen Menge von audiovisuellen Informationen in einem relativ klein bemessenen digitalen Speicherraum. Jedoch lassen dieselben Eigenschaften nur schwerlich ein anderes als das streng sequentielle Abspielen des audio-visuellen Inhalts einer MPEG-Datei zu. Beispielsweise wäre es äußerst schwer, auf ein Videobild wahlfrei zuzugreifen, da die Daten für das Videobild in der Mitte eines MPEG-Pakets beginnen und in der Mitte eines anderen MPEG-Pakets enden können. Außerdem kann das Bild, wenn es durch P-Bilddaten repräsentiert wird, nicht neu aufgebaut werden, ohne die den P-Bilddaten unmittelbar vorangehenden I- und P-Bilder zu verarbeiten. Wenn das Bild durch B-Bilddaten repräsentiert wird, kann es nicht neu aufgebaut werden, ohne die den B-Bilddaten unmittelbar vorangehenden I- und P-Bilder und die den B-Bilddaten unmittelbar nachfolgenden I- und P-Bilder zu verarbeiten.
  • Erwartungsgemäß wünscht sich der Betrachter eines digitalen Videos von den Lieferanten eines digitalen Videos dieselbe Funktionalität, die er beim Anschauen von analo gen Videobändern auf Videorecordern gewöhnt ist. Beispielsweise will ein Betrachter innerhalb des Videos vorwärts und rückwärts springen können, das Video sowohl schnell vorwärts und schnell rückwärts als auch langsam vorwärts und langsam rückwärts laufen lassen und das Bild anhalten können. Jedoch waren MPEG-Video-Lieferanten aufgrund der Eigenschaften des MPEG-Videoformats nur in der Lage, teilweise Implementierungen dieser Merkmale anzubieten.
  • Einige MPEG-Lieferanten haben die Schnellvorlauffunktionalität eingebaut, indem sie Schnellvorlauf-MPEG-Dateien erzeugten. Eine Schnellvorlauf-MPEG-Datei wird erstellt, indem der Schnellvorlaufvorgang einer analogen Version einer audio-visuellen Sequenz im MPEG-Format aufgezeichnet wird. Sobald eine Schnellvorlauf-MPEG-Datei erzeugt worden ist, kann ein MPEG-Server während des Playbacks den Schnellvorlauf simulieren, indem sowohl aus der Normalgeschwindigkeits-MPEG-Datei als auch aus der Schnellvorlauf-MPEG-Datei ein MPEG-Datenstrom an einen Anwender übertragen wird. Genauer, der MPEG-Server schaltet in Antwort auf durch den Anwender erzeugte Schnellvorlauf- und Normalabspielbefehle zwischen dem Lesen aus der normalen MPEG-Datei und dem Lesen aus der Schnellvorlauf-MPEG-Datei um. Dieselbe Technik kann angewandt werden, um den Schnellrücklauf, die Vorwärtszeitlupe und die Rückwärtszeitlupe zu implementieren.
  • Die obenbeschriebene Implementierung einer separaten MPEG-Datei für den Schnellvorlauf weist zahlreiche Nachteile auf. Insbesondere erfordert die Implementierung einer separaten MPEG-Datei für jede Geschwindigkeit, die unterstützt wird, die Durchführung einer eigenen Analog-MPEG-Umsetzung. Dieser Nachteil wiegt schwer, da der Analog-MPEG-Umsetzungsprozeß komplex und kostenaufwendig ist. Ein zweiter Nachteil ist der, daß die Verwendung von Mehrfach-MPEG-Dateien den für eine bestimmte audiovisuelle Sequenz erforderlichen Speicherraums mehr als verdoppeln kann. Eine MPEG-Datei für Vorlauf mit doppelter Geschwindigkeit nimmt nahezu die halbe Größe der Normalgeschwindigkeits-MPEG-Datei ein. Eine MPEG-Datei für Zeitlupe mit halber Geschwindigkeit nimmt nahezu die zweifache Größe der Normalgeschwindigkeits-MPEG-Datei ein. Da ein typischer Film 2 bis 4 Gigabyte Plattenspeicher benötigt, sind die Kosten hoch.
  • Ein dritter Nachteil der Lösung mit der separaten MPEG-Datei ist der, daß für den Anwender nur die spezifisch codierten Playbackgeschwindigkeiten verfügbar sind. Die Technik unterstützt keine Geschwindigkeiten, die schneller oder langsamer als die spezifisch codierten Geschwindigkeiten sind oder dazwischen liegen. Ein vierter Nachteil ist der, daß die Lösung mit der separaten MPEG-Datei das Vorhandensein einer kompletten analogen Version der audio-visuellen Zielsequenz erfordert. Folglich kann die Technik nicht auf Live-Sendungen wie etwa Sportereignisse, die einem MPEG-Codierer und Anwendern in Echtzeit zugeleitet werden, angewandt werden.
  • Aus dem Vorhergehenden wird deutlich, daß das Schaffen eines Verfahrens und einer Vorrichtung zur sequentiellen Wiedergabe nichtsequentieller Bilder eines digitalen Videos wünschenswert ist. Es ist ferner wünschenswert, einen solchen nichtsequentiellen Zugriff in der Weise zu schaffen, daß keine Erzeugung und Verwendung von digitalen Mehrfach-Videodateien erforderlich ist. Es ist ferner wünschenswert, einen solchen Zugriff sowohl für Echtzeitsendungen als auch für den gespeicherten audio-visuellen Inhalt zu schaffen.
  • EP-A-0 545 323 offenbart ein Bewegtbild-Dekodiersystem, bei dem Vorwärts- und Rückwärtswiedergabe bei hoher Geschwindigkeit glatt ausgeführt werden, ohne die Betriebsgeschwindigkeit für das Dekodieren zu erhöhen. Wenn für ein Aufzeichnungsmedium mit bewegtbildkodierten Daten Hochgeschwindigkeitswiedergabe ausgewählt wird, so wird eine Dateninputrate so gesteuert, dass eine Geschwindigkeit zum Lesen von dem Aufzeichnungsmedium zu einem Puffer (22) erhöht wird. Bewegtbildkodierte Daten werden von dem Puffer (22) zu einer Demultiplex-Einrichtung (23) geholt. Die geholten Daten werden in Bilddaten von zu dekodierenden Rahmen und Bilddaten, die zu verwerfen sind, in einem konstanten Rahmenintervall getrennt. Nur die Bilddaten der Rahmen, die dekodiert werden sollen, werden an eine nachfolgende Stufe gesendet und mit einer Geschwindigkeit, die einer normalen Wiedergabe entspricht, dekodiert. Daher kann eine Hochgeschwindigkeitswidergabe in Vorwärts- und Rückwärtsrichtung ohne Erhöhung der Geschwindigkeit der Dekodieroperationen durchgeführt werden.
  • EP-A-0 633 694 offenbart ein System zum Verteilen von Videos, bei dem eine Vielzahl von Videos auf einer Massenspeichereinrichtung gespeichert werden. Jedes Video umfasst eine Vielzahl von Rahmen von digitalisierten Videodaten für die Wiedergabe auf einer Anzeigevorrichtung. Das System umfasst einen Speicherpuffer zum Speichern eines Segments eines ausgewählten Videos. Das Segment umfasst eine vorbestimmte Anzahl von Rahmen, die ein vorbestimmtes Zeitintervall des ausgewählten Videos repräsentieren. Zusätzlich umfasst der Speicherpuffer einen Schreibzeiger und einen Lesezeiger. Softwaregesteuerte Server sind vorgesehen, um das Schreiben und Lesen von Videodaten des ausgewählten Videos in und aus dem Speicherpuffer zu steuern, und zwar unabhängig, an Orten, die durch die Schreib- und Lesezeiger angegeben werden, um das ausgewählte Video an die Anzeigevorrichtung zu übertragen.
  • EP-A-0 605 115 offenbart ein System zum Übertragen von gespeicherten Programmen, wie Filmen oder Musikwerken, an Kunden über ein Verteilungsnetzwerk (112, 115, 114, 116) wie etwa ein Kabelfernsehsystem. Die Programme sind in komprimierter Form in einer Programmbibliothek (102) wie etwa einer Bandbibliothek gespeichert. Auf Empfang einer Anforderung (103) für ein Programm sendet ein Anforderungsprozessor (101) Steuernachrichten, welche veranlassen, dass ein Datenblock, der das angeforderte Programm enthält aus der Programmbibliothek (102) mit hoher Geschwindigkeit gelesen wird und in einem großen wahlfreien Zugriffsspeicher (DRAM) (111) in einem Server (100) gespeichert wird. Der Server sendet dann das Programm vom DRAM über das Verteilungssystem (112, 115, 114, 116) zu einem Kunden als Serie von digitalen Paketen. Jede Instanz des Sendens eines Programms wird durch ein separates Kommandowort gemanagt. Der Kunde kann solche Operationen wie "fast forward" durch Senden von Befehlsnachrichten anfordern, welche Zeiger in dem Befehlswort enden. Befehlsworte können kopiert werden, um mehrfache Audio- und/oder Video-Overlays simultan zu senden und können verbunden werden, um Programmsequenzen zu senden. Der Anforderungsprozessor (101), Server (100), die Programmbibliothek (102) und Schnittstellen zu Verbindungsnetzwerken können an unterschiedlichen Orten sein.
  • EP-A-0 396 062 offenbart ein Verfahren zum selektiven Verteilen von Videopräsentationen über ein Fernsehnetzwerk von einem zentralen Ort an individuelle entfernte Terminals, welches folgende Schritte aufweist:
    Initiieren eines Telefonanrufs von einem der entfernten Terminals, um eine Telefonleitungsverbindung mit dem zentralen Ort aufzubauen;
    auf den Aufbau der Verbindung hin, Übertragen eines Übertragungspfadsidentifikators von dem Terminal an den zentralen Ort mittels der Telefonverbindung, wobei der Übertragungspfad in dem Identifikator einen bestimmten Übertragungspfad in dem Netzwerk zum Übertragen von Videoinformationen von dem zentralen Ort an das entfernte Terminal identifiziert;
    Übertragen einer Auswahl für eine bestimmte Videopräsentation von dem entfernten Terminal an den zentralen Ort über die Telefonverbindung;
    Holen von Videodaten, die mit der ausgewählten Präsentation in Beziehung stehen, bei dem zentralen Ort, Kodieren der Videodaten mit einer Adresse, die mit dem Terminal und dem Übertragungspfad-Identifikator assoziiert ist; und
    Übertragen der kodierten Daten von dem zentralen Ort an das entfernte Terminal über den bestimmten Übertragungspfad. Die Erfindung betrifft auch ein System zum Implementieren des Verfahrens.
  • EP-A-0 653 884 offenbart ein interaktives Video-On-Demand-Netzwerk, welches auf eine Vielzahl von Benutzerstationen abzielt und einen Videoserver umfasst, welcher eine Vielzahl von verzögerten Instanzen eines Videosignals zur Übertragung an die anderen Benutzerstationen erzeugt, sowie eine Puffereinrichtung, an deren Eingang eine Ausgewählte dieser Instanzen angelegt wird und an deren Ausgang eine Version des angeforderten Videosignals durch die Benutzerstationen geliefert wird. Die Puffereinrichtung erzeugt die angeforderte Version unter Steuerung von Steuersignalen, die durch die Benutzerstationen ausgegeben werden und wählt die Instanz basierend auf der angeforderten Version aus. Fast forward und Zurückspulen werden erreicht durch Bewegen eines Lesezeigers innerhalb des Puffers, um einige der blockierten Informationen zu überspringen. Übertragung in den Speicher ist schneller als in Echtzeit, so dass Videodaten in dem Puffer für die Ausführung von fast forward und Rückspuloperationen zur Verfügung stehen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist in den unabhängigen Ansprüchen 1 und 21 definiert. Die abhängigen Ansprüche definieren besondere Ausführungsbeispiele der Erfindung.
  • Es wird ein Verfahren geschaffen, und zwar zum Abspielen einer audiovisuellen Arbeit bzw. eines audiovisuellen Werkes mit einer zweiten Wiedergaberate, welches bei einer ersten Wiedergaberate digital codiert wurde, sowie ein Verfahren zur Auswahl von Rahmen (Frames) zur Anzeige bei einer spezifizierten Wiedergaberate, beider zur Verwendung in einem digitalen Video-Übermittlungssystem. In beschriebenen Ausführungsbeispielen wird eine digitale Darstellung eines audio-visuellen Erzeugnisses wie etwa einer MPEG-Datei analysiert, um eine Etikettdatei zu erzeugen. Die Etikettdatei enthält Informationen über jedes einzelne Bild in dem audio-visuellen Erzeugnis.
  • Insbesondere enthält die Etikettdatei Zustandsinformationen über den Zustand einer oder mehrerer Zustandsmaschinen, die zur Decodierung der digitalen Darstellung verwendet werden. Die Zustandsinformationen hängen von der zur Codierung des audio-visuellen Erzeugnisses angewandten spezifischen Technik ab. Für MPEG-2-Dateien enthält die Etikettdatei beispielsweise Informationen über den Zustand der Programm-Elementarstrom-Zustandsmaschine, die Video-Zustandsmaschine und die Transportschicht-Zustandsmaschine.
  • Während der Wiedergabe des audio-visuellen Erzeugnisses werden von einer Videopumpe Daten aus der digitalen Darstellung an einen Decodierer gesendet. Gemäss einem Ausführungsbeispiel werden die Informationen in der Etikettdatei verwendet, um während der Wiedergabe des audio-visuellen Erzeugnisses den Suchlauf, den Schnellvorlauf, den Schnellrücklauf, den Langsamvorlauf und des Langsamrücklauf auszuführen.
  • Suchläufe werden ausgeführt, indem veranlaßt wird, daß die Videopumpe die Übertragung von Daten an der momentanen Position in der digitalen Darstellung unterbricht und mit der Übertragung von Daten an einer neuen Position in der digitalen Darstellung beginnt. Die Informationen in der Etikettdatei werden genau untersucht, um die neue Position, an der die Datenübertragung zu beginnen ist, zu bestimmen. Um sicherzustellen, daß der durch die Videopumpe übertragene Datenstrom die Konformität mit dem anwendbaren Videoformat bewahrt, werden von der Videopumpe vor dem Übertragen von Daten von der neuen Position ausgehend Vorspanndaten, die zugehörige Kopfsatzinformationen enthalten, übertragen.
  • Schnellvorlauf-, Schnellrücklauf-, Langsamvorlauf- und Langsamrücklaufvorgänge werden ausgeführt, indem anhand der in der Etikettdatei enthaltenen Informationen und die gewünschte Wiedergabegeschwindigkeit Videobilder ausgewählt werden und ein Datenstrom mit den die ausgewählten Videobilder repräsentierenden Daten erzeugt wird. Der Auswahlprozeß berücksichtigt eine Vielzahl von Faktoren einschließlich der Datenübertragungsrate des Kanals, über den die Daten zu senden sind, den Bildtyp der Bilder, eine Mindestauffüllrate (für Stopfbits) und die Möglichkeit eines Pufferüberlaufs im Decodierer. Vor und nach den Daten für ein einzelnes Bild werden Vorspann- und Nachspanndaten in den übertragenen Datenstrom eingefügt, um die Konformität mit dem vom Decodierer erwarteten Datenstromformat zu bewahren.
  • Ein Video-Editor wird zum Erzeugen einer neuen Videodatei aus zuvor vorhandenen Videodateien bereitgestellt. Der Video-Editor wählt Bilder aus den zuvor vorhandenen Videodateien anhand von Editierbefehlen und den Informationen in den Etikett-Dateien der vorexistierenden Videodateien aus. Die Darstellungsrate, die Startposition, die Endposition und die Quellendatei können für jede durch den Video-Editor zu erzeugende Sequenz getrennt spezifiziert werden. Der Video-Editor fügt zwischen die Videodaten vorzugsweise Vorspann- und Nachspanndaten ein, um sicherzustellen, daß die neue Videodatei mit dem gewünschten Format konform ist. Kennzeichnend ist, daß die durch dieses Verfahren erzeigten neuen Videodateien erzeugt werden, ohne eine zusätzliche Analog-Digital-Umsetzung durchführen zu müssen. Da keine Analog-Digital-Umsetzung durchgeführt wird, kann die neue Datei auch dann erzeugt werden, wenn kein Zugriff auf die ursprünglichen Aufzeichnungen der audio-visuellen Erzeugnisse besteht.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Die vorliegende Erfindung wird in den Figuren der begleitenden Zeichnung, in denen gleiche Bezugszeichen gleichartige Elemente bezeichnen, beispielhaft und keinesfalls einschränkend veranschaulicht, wobei in der Zeichnung:
  • 1a ein Diagramm ist, das die Abhängigkeiten zwischen verschiedenen Typen von Bildern in einem MPEG-Datenstrom zeigt;
  • 1b ein Blockschaltbild eines Übermittlungssystems für audio-visuelle Informationen gemäss einem Ausführungsbeispiel der Erfindung ist;
  • 2a die verschiedenen Schichten einer MPEG-Datei zeigt;
  • 2b die Inhalte einer Etikettdatei zeigt, die gemäss einem Ausführungsbeispiel der Erfindung erzeugt wurde;
  • 2c die von jedem Bild in einer MPEG-Datei erzeugten Etikettinformationen zeigt;
  • 3a die vom Strom-Server in Antwort auf eine Suchanforderung an die Videopumpe gesendeten Befehle gemäss einem Ausführungsbeispiel der Erfindung zeigt;
  • 3b die in Antwort auf die in 3a gezeigten Befehle von der Videopumpe für einen Client erzeugten Daten zeigt;
  • 4a die vom Strom-Server während eines in der Geschwindigkeit spezifizierten Playbackvorgangs an die Videopumpe gesendeten Befehle gemäss einem Ausführungsbeispiel der Erfindung zeigt;
  • 4b die in Antwort auf die in 4a gezeigten Befehle von der Videopumpe für einen Client erzeugten Daten zeigt;
  • 5 einen MPEG-Editor zeigt, der zur Ausführung eines erfindungsgemäßen nichtinteraktiven MPEG-Editierens gemäss einem Ausführungsbeispiel der Erfindung konfiguriert ist;
  • 6 ein Ablaufplan ist, der die Arbeitsweise des MPEG-Editors von 5 gemäß einer Ausführungsform der Erfindung zeigt; und
  • 7 ein Blockschaltplan ist, der ein Mehrplatten-MPEG-Playbacksystem gemäss einem Ausführungsbeispiel der Erfindung zeigt.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • In der folgenden Beschreibung werden die verschiedenen Merkmale der Erfindung unter Überschriften besprochen, die in der folgenden Reihenfolge auftreten:
    • I. Übersicht
    • II. Etikettdateierzeugung
    • III. Digitale Audio/Video-Dateistruktur
    • IV. Etikettdateiinhalte
    • V. Suchvorgänge
    • VI. Vorspanndaten
    • VII. Paketdiskontinuitäten
    • VIII. Pufferbeschränkungen
    • IX. Playbackvorgänge mit spezifizierter Geschwindigkeit
    • X. Bit-Budgetierung
    • XI. Bildtypeinschränkungen
    • XII. Nachspanndaten
    • XIII. Zeitlupenvorgänge
    • XIV. Rücklaufvorgänge
    • XV. Laufzeitkommunikation
    • XVI. Genaue Bildpositionierung
    • XVII. Plattenzugriffsbedingungen
    • XVIII. Playbackvorgänge mit variabler Geschwindigkeit
    • XIX. Nichtinteraktives digitales Audio/Video-Editieren
    • XX. Verteiltes System
  • I. Übersicht
  • 1b ist ein Blockschaltbild, das ein Übermittlungssystem 100 für audio-visuelle Informationen gemäss einem Ausführungsbeispiel der Erfindung zeigt. Das Übermittlungssystem 100 für audio-visuelle Informationen enthält mehrere Clients (1 – n) 160, 170 und 180. Die Clients (1 – n) 160, 170 und 180 repräsentieren im allgemeinen Vorrichtungen, die zur Decodierung audio-visueller Informationen, die in einem Strom von digitalen audiovisuellen Daten enthalten sind, konfiguriert sind. Beispielsweise können die Clients (1 – n) 160, 170 und 180 vorgeschaltete Umsetzerboxen sein, die mit einem Wiedergabegerät wie etwa einem Fernsehgerät gekoppelt sind.
  • Wie in 1b gezeigt ist, enthält das Übermittlungssystem 100 für audio-visuelle Informationen außerdem einen Strom-Server 110, der mit einem Steuernetz 120 gekoppelt ist. Das Steuernetz 120 kann ein beliebiges Netz sein, das eine Kommunikation zwischen zwei oder mehreren Geräten ermöglicht. Beispielsweise kann das Steuernetz 120 ein Netz mit hoher Bandbreite sein, eine X.25-Schaltung oder eine serielle EIA-232-(RS-232)-Leitung (EIA = Electronic Industry Association) sein.
  • Die Clients (1 – n) 160, 170 und 180, die ebenfalls an das Steuernetz 120 gekoppelt sind, kommunizieren mit dem Strom-Server 110 über das Steuernetz 120. Beispielsweise können die Clients 160, 170 und 180 Anforderungen zur Initiierung der Übertragung von audio-visuellen Datenströmen übertragen, Steuerinformationen, um das Playback von laufenden digitalen audio-visuellen Übertragungen zu beeinflussen, übertragen oder Abfragen von Informationen übertragen. Solche Abfragen können beispielsweise Anforderungen von Informationen darüber, welche audiovisuellen Datenströme momentan zum Betrieb verfügbar sind, enthalten.
  • Das Übermittlungssystem 100 für audio-visuelle Informationen enthält ferner eine Videopumpe 130, eine Massenspeichervorrichtung 140 und ein Netz 150 mit einer hohen Bandbreite. Die Videopumpe 130 ist mit dem Strom-Server 110 gekoppelt und empfängt von diesem Befehle. Die Videopumpe 130 ist mit der Massenspeichervorrichtung 140 gekoppelt, so daß die Videopumpe 130 Daten in der Massenspeichervorrichtung 140 speichert und Daten aus derselben wiedergewinnt. Die Massenspeichervorrichtung 140 kann irgendeine Art von Gerät oder Geräten sein, die zur Speicherung großer Datenmengen verwendet werden. Beispielsweise kann die Massenspeichervorrichtung 140 eine magnetische Speichervorrichtung oder eine optische Speichervorrichtung sein. Unter der Massenspeichervorrichtung 140 ist eine breite Kategorie von nichtflüchtigen Speichervorrichtungen zu verstehen, die zur Speicherung digitaler Daten verwendet werden, die dem Fachmann wohlbekannt sind und nicht weiter beschrieben werden. Obwohl die Netze 120 und 150 zum Zweck der Erläuterung als verschiedene Netze dargestellt sind, können diese auch als einzelnes Netz implementiert sein.
  • Neben der Kommunikation mit dem Strom-Server 110 empfangen die Clients (1 – n) 160, 170 und 180 Informationen von der Videopumpe 130 über das Netz 150 mit hoher Bandbreite. Das Netz 150 mit hoher Bandbreite kann irgendeine Art leitungsvermittelter Netzverbindung sein, die große Datenmengen übertragen kann. Eine leitungsvermittelte Netzverbindung ist so konfiguriert, daß der Bestimmungsort der Daten durch das zugrundeliegende Netz, anstatt durch das Übertragungsprotokoll garantiert ist. Beispielsweise kann das Netz 150 mit hoher Bandbreite eine Schaltung im asynchronen Übertragungsmodus (ATM) oder eine Stammleitung wie etwa eine T1- oder E1-Leitung sein. Außerdem kann das Netz 150 mit hoher Bandbreite einen Lichtwellenleiter, eine verdrillte Doppelleitung, ein Koaxialkabel oder ein drahtloses Kommunikationssystem wie etwa ein Mikrowellenkommunikationssystem verwenden.
  • Das Übermittlungssystem 100 für audio-visuelle Informationen der vorliegenden Erfindung ermöglicht einem Server wie etwa der Videopumpe 130 bei einem minimalen Overhead die Übertragung großer Datenmengen aus der Massenspeichervorrichtung 140 über das Netz 150 mit hoher Bandbreite an die Clients (1 – n) 160, 170 und 180. Ferner ermöglicht das Übermittlungssystem 100 für audio-visuelle Informationen den Clients (1 – n) 160, 170 und 180 die Übertragung von Anforderungen an den Strom-Server 110 über das Steuernetz 120 unter Verwendung eines Standard-Netzprotokolls. In einer bevorzugten Ausführungsform wird das zugrundeliegende Protokoll sowohl für das Netz 150 mit hoher Bandbreite als auch das Steuernetz 120 verwendet. Der Strom-Server 110 kann aus einem einzelnen Computersystem oder aus mehreren, als Server konfigurierten Rechnern bestehen. Ähnlich kann die Videopumpe 130 aus einer einzelnen Server-Einrichtung bestehen oder mehrere solcher Server umfassen.
  • Um aus einer bestimmten digitalen audio-visuellen Datei einen digitalen audio-visuellen Datenstrom zu empfangen, überträgt ein Client (1 – n) 160, 170 oder 180 eine Anforderung an den Strom-Server 110. In Antwort auf die Anforderung überträgt der Strom-Server 110 Befehle an die Videopumpe 130, um diese zu veranlassen, den angeforderten digitalen audio-visuellen Datenstrom an den Client, der den digitalen audio-visuellen Datenstrom angefordert hatte, zu übertragen.
  • Die vom Strom-Server 110 an die Videopumpe 130 gesendeten Befehle enthalten für die Client-Anforderung spezifische Steuerinformationen. Beispielsweise identifizieren die Steuerinformationen die gewünschte digitale audiovisuelle Datei, die Anfangsverschiebung der gewünschten Daten innerhalb der digitalen audio-visuellen Datei und die Adresse des Client. Um einen gültigen digitalen audiovisuellen Strom an der spezifizierten Verschiebung zu erzeugen, sendet der Strom-Server 110 außerdem "Vorspanndaten" an die Videopumpe 130 und fordert die Videopumpe 130 auf, die Vorspanndaten an den Client zu senden. Wie weiter unten genauer beschrieben wird, sind Vorspanndaten Daten, die den Client auf den Empfang digitaler audio-visueller Daten ausgehend vom spezifizierten Ort in der digitalen audio-visuellen Datei vorbereiten.
  • Nach dem Empfang der Befehle und der Steuerinformationen vom Strom-Server 110 beginnt die Videopumpe 130 die digitalen audio-visuellen Daten ausgehend vom spezifizierten Ort in der spezifizierten digitalen audiovisuellen Datei auf der Massenspeichervorrichtung 140 wiederzugewinnen. Zum Zweck der Erläuterung wird angenommen, daß das System 100 audio-visuelle Informationen gemäß einem oder mehrerer der MPEG-Formate liefert. Somit gewinnt die Videopumpe 130 die audio-visuellen Daten aus einer MPEG-Datei 104 auf der Massenspeichervorrichtung 140 wieder.
  • Die Videopumpe 130 überträgt die Vorspanndaten an den Client und unmittelbar darauf die aus der Massenspeichervorrichtung 140 wiedergewonnenen Daten, wobei an dem für den Client spezifizierten Ort begonnen wird. Die Vor spanndaten enthalten einen Paketkopfsatz, der, wenn diesem die MPEG-Daten, die an der spezifizierten Position angeordnet sind, folgen, ein MPEG-konformes Übertragungspaket erzeugt. Die Daten, die dem ersten Paket folgen, werden sequentiell aus der MPEG-Datei 104 wiedergewonnen, weshalb sie eine Reihe von MPEG-konformen Paketen bilden. Die Videopumpe 130 überträgt diese Pakete an den anfordernden Client über das Netz 150 mit hoher Bandbreite.
  • Der anfordernde Client empfängt den MPEG-Datenstrom, wobei mit den Vorspanndaten begonnen wird. Der Client decodiert den MPEG-Datenstrom, um die in dem MPEG-Datenstrom dargestellte audio-visuelle Sequenz zu reproduzieren.
  • II. Etikettdateierzeugung
  • Das System 100 enthält einen Etikettdateigenerator 112. Der Etikettdateigenerator 112 erzeugt aus der MPEG-Datei 104 eine Etikettdatei 106. Für den gespeicherten MPEG-Inhalt wird der Etikettdateierzeugungsvorgang durch den Etikettdateigenerator 112 "off-line" (d. h. vor einer Client-Anforderung von MPEG-Daten aus der MPEG-Datei 104) ausgeführt. Jedoch wird die Etikettdateierzeugung in bestimmten Fällen wie etwa bei einer Echtzeit-MPEG-Sendung während des Empfangs des MPEG-Datenstroms in Echtzeit ausgeführt. Folglich erzeugt der Etikettdateigenerator 112 die Etikettdatei 106 in der bevorzugten Ausführungsform in Echtzeit oder schneller. Die Geschwindigkeit der Etikettdateierzeugung kann durch Parallelisierung der Etikettdateioperation beschleunigt werden.
  • Der Etikettdateigenerator 112, der Strom-Server 110 und die Videopumpe 130 sind zum Zweck der Erläuterung als separate Funktionseinheiten gezeigt. Jedoch kann sich die spezielle Aufteilung der Funktionalität auf die Einheiten von einer Implementierung zur anderen unterscheiden. Die vorliegende Erfindung ist nicht begrenzt auf eine bestimmte Aufteilung der Funktionalität. Der Etikettdateigenerator 112 ist beispielsweise als selbständige Einheit gezeigt. Jedoch kann der Etikettdateigenerator 112 in einer Ausführungsform in einem MPEG-Codierer enthalten sein. Ein solcher MPEG-Codierer würde die in der Etikettdatei 106 enthaltenen Informationen gleichzeitig mit der Erzeugung der in der MPEG-Datei 104 enthaltenen Informationen erzeugen. Eine Implementierung, die den MPEG-Codierungsvorgang mit dem Etikettdatei-Erzeugungsvorgang kombiniert, kann dadurch, daß die Notwendigkeit, redundante Operationen ausführen zu müssen, entfällt, die Effizienz erhöhen. Ein solcher Zuwachs an Effizienz ist besonders nützlich, wenn audio-visuelle Sendungen in Echtzeit verarbeitet werden.
  • Die Etikettdatei 106 enthält Steuerinformationen, die vom Strom-Server 110 zur Implementierung von Schnellvorlauf-, Schnellrücklauf-, Langsamvorlauf-, Langsamrücklauf- und Suchoperationen verwendet werden. Die Verwendung der Etikettdatei 106 zur Durchführung dieser Operationen wird weiter unten näher beschrieben. Die Etikettdatei 106 enthält allgemeine Informationen über die MPEG-Datei 104 und spezifische Informationen über die einzelnen Videobilder in der MPEG-Datei 104. Bevor die Inhalte der Etikettdatei 106 näher besprochen werden, soll mit Bezug auf 2a die allgemeine Struktur der MPEG-Datei 104 beschrieben werden.
  • III. MPEG-Dateistruktur
  • Digitale audio-visuelle Speicherformate, ob komprimiert oder unkomprimiert, verwenden Zustandsmaschinen und Pakete verschiedenartiger Struktur. Die hier beschriebenen Techniken lassen sich auf alle solche Speicherformate anwenden. Obwohl die vorliegende Erfindung auf kein bestimmtes digitales audio-visuelles Format beschränkt ist, wird zum Zweck der Veranschaulichung die MPEG=2-Transportdateistruktur beschrieben.
  • 2a zeigt die Struktur einer MPEG-2-Transportdatei 104 näher. Die Daten in der MPEG-Datei 104 sind in drei Schichten gepackt: eine Programm-Elementarstrom-("PES")-Schicht, eine Transportschicht und eine Videoschicht. Diese Schichten sind in den MPEG-2-Spezifikationen näher beschrieben. In der PES-Schicht besteht die MPEG-Datei 104 aus einer Sequenz von PES-Paketen. In der Transportschicht besteht die MPEG-Datei 104 aus einer Sequenz von Transportpaketen. In der Videoschicht besteht die MPEG-Datei 104 aus einer Sequenz von Bildpaketen. Jedes Bildpaket enthält die Daten für ein Videobild.
  • Jedes PES-Paket besitzt einen Kopfsatz, der die Länge und die Inhalte des PES-Pakets identifiziert. Im gezeigten Beispiel enthält ein PES-Paket 250 einen Kopfsatz 248, gefolgt von einer Sequenz von Transportpaketen 251262. Die PES-Paketgrenzen stimmen mit den gültigen Transportpaketgrenzen überein. Jedes Transportpaket enthält ausschließlich einen Datentyp. Im gezeigten Beispiel enthalten die Transportpakete 251, 256, 258, 259, 260 und 262 Videodaten. Die Transportpakete 252, 257 und 261 enthalten Audiodaten. Das Transportpaket 253 enthält Steuerdaten. Das Transportpaket 254 enthält Zeitsteuerungsdaten. Das Transportpaket 255 ist ein Stopfbitpaket.
  • Jedes Transportpaket besitzt einen Kopfsatz. Der Kopfsatz enthält eine Programm-ID ("PID") für das Paket. PID 0 zugewiesene Pakete sind Steuerpakete. Beispielsweise kann das Paket 253 PID 0 zugewiesen sein. Auf weitere Pakete, die Steuerpakete enthalten, wird in den PID-0-Paketen verweisen. Genauer, PID-0-Steuerpakete enthalten Tabel len, die die Pakettypen der Pakete, die unmittelbar auf die PID-0-Steuerpakete folgen, angeben. Für alle Pakete, die keine PID-0-Steuerpakete sind, enthalten die Kopfsätze PID's, die als Zeiger auf die Tabelle dienen, die in demjenigen PID-0-Steuerpaket enthalten ist, das den Paketen unmittelbar vorangeht. Beispielsweise würde der in einem Paket mit einer PID 100 enthaltene Datentyp durch Untersuchen desjenigen Eintrags bestimmt, der mit der PID 100 in der Tabelle des PID-0-Steuerpakets, das dem Paket unmittelbar voraus geht, zusammenhängt.
  • In der Videoschicht ist die MPEG-Datei 104 gemäß den Grenzen der Bilddaten unterteilt. Wie oben erwähnt wurde, besteht kein Zusammenhang zwischen den Grenzen der Daten, die Videobilder repräsentieren, und den Transportpaketgrenzen. Im gezeigten Beispiel sind die Bilddaten für ein Videobild "F" wie durch die Klammern 270 angegeben angeordnet. Genauer, die Bilddaten für das Bild "F" befinden sich zwischen dem Punkt 280 in dem Videopaket 251 und dem Ende des Videopakets 251, in dem Videopaket 256 und zwischen dem Beginn des Videopakets 258 und dem Punkt 282 im Videopaket 258. Deshalb repräsentieren die Punkte 280 und 282 die Grenzen für das Bildpaket für das Bild "F". Die Bilddaten für ein zweites Videobild "G" sind wie durch die Klammern 272 angegeben angeordnet. Die Grenzen für das Bildpaket für das Bild "G" sind durch die Klammern 276 gekennzeichnet.
  • Zu den oben für MPEG-2-Transportströme beschriebenen Strukturen analoge Strukturen gibt auch in anderen digitalen audio-visuellen Speicherformaten einschließlich MPEG-1, Quicktime, AVI, Indeo, Cinepak, Proshare, HP.261 und der Fraktal-Formate. In der bevorzugten Ausführungsform werden Indikatoren für Video-Zugriffspunkte, Zeitstempel, Dateiorte usw. gespeichert, so daß vom selben Server auf mehrere digitale audio-visuelle Speicherfor mate zugegriffen werden kann, um Clients gleichzeitig eine Vielfalt an Speicherformaten anbieten zu können. Vorzugsweise sind alle diese formatspezifischen Informationen und Techniken in dem Etikettgenerator und dem Strom-Server enthalten. Alle anderen Elemente des Servers sind formatunabhängig.
  • IV. Etikettdateiinhalte
  • Nun werden in Zusammenhang mit 2b die Inhalte einer exemplarischen Etikettdatei 106 beschrieben. In 2b enthält die Etikettdatei 106 einen Dateityp-Bezeichner 202, einen Längenindikator 204, einen Bitrate-Indikator 206, einen Spieldauer-Indikator 208, einen Bildnummer-Indikator 210, Stromzugriffsinformationen 212 und eine anfängliche MPEG-Zeitverschiebung 213. Der Dateityp-Bezeichner 202 gibt den physischen Umbruch (physical wrapping) in der MPEG-Datei 104 an. Beispielsweise gibt der Dateityp-Bezeichner 202 an, ob die MPEG-Datei 104 eine MPEG-2- oder eine MPEG-1-Datei ist.
  • Der Längenindikator 204 gibt die Länge der MPEG-Datei 104 an. Der Bitrate-Indikator 206 gibt die Bitrate an, mit der die Inhalte der MPEG-Datei 104 während des Playbacks an einen Client gesendet werden. Der Spieldauer-Indikator 208 spezifiziert in Millisekunden die zum Abspielen der gesamten Inhalte der MPEG-Datei 104 während eines normalen Playbackvorgangs erforderliche Zeit. Der Bildnummer-Indikator 210 gibt die Gesamtzahl der in der MPEG-Datei 104 dargestellten Bilder an.
  • Die Stromzugriffsinformationen 212 sind Informationen, die zum Zugriff auf die in der MPEG-Datei 104 gespeicherten Video- und Audioströme erforderlich sind. Die Stromzugriffsinformationen 212 enthalten eine Video-Elementarstrom-ID und eine Audio-Elementarstrom-ID. Für MPEG-2- Dateien enthalten die Stromzugriffsinformationen 212 außerdem eine Video-PID und eine Audio-PID. Der Etikettdatei-Kopfsatz kann außerdem weitere Informationen enthalten, die zur Implementierung von Merkmalen, die sich von den oben angeführten unterscheiden, verwendet werden können.
  • Neben den obenbeschriebenen allgemeinen Informationen enthält die Etikettdatei 106 einen Eintrag für jedes Bild in der MPEG-Datei 104. Der Eintrag für ein Videobild enthält Informationen über den Zustand der verschiedenen MPEG-Schichten, die sich auf die Position der Daten, die das Bild repräsentieren, bezieht. Für eine MPEG-2-Datei enthält jeder Eintrag den Zustand der MPEG-2-Transportzustandsmaschine, den Zustand der Programm-Elementarstrom-Zustandsmaschine und den Zustand der Videozustandsmaschine. Für eine MPEG-1-Datei enthält jeder Eintrag den momentanen Zustand des Packsystem-MPEG-Stroms und den Zustand der Videozustandsmaschine.
  • Der Etikettdateieintrag 214 zeigt die für ein einzelnes MPEG-2-Videobild "F" gespeicherten Etikettinformationen näher. Bezüglich des Zustands der Programm-Elementarstrom-Zustandsmaschine enthält der Etiketteintrag 214 die in der Tabelle 1 angegebenen Informationen.
  • TABELLE 1
    Figure 00240001
  • Bezüglich des Zustands der Videozustandsmaschine enthält der Etiketteintrag 214 die in der Tabelle 2 angegebenen Informationen.
  • TABELLE 2
    Figure 00240002
  • Figure 00250001
  • Bezüglich des Zustands der Transportschicht-Zustandsmaschine enthält der Etiketteintrag 214 die in der Tabelle 3 angegebenen Informationen.
  • TABELLE 3
    Figure 00250002
  • Beispielsweise sei angenommen, daß sich der Eintrag 214 auf das Bild "F" von 2a bezöge. Die dem Bild "F" zugeordnete Größe 220 entspräche dann den durch die Klammern 274 eingefaßten Bits. Die Anzahl 222 von Nichtvideopaketen wäre 5 (Pakete 252, 253, 254, 255 und 257). Die Anzahl 224 von Stopfbitpaketen wäre gleich 1 (Paket 255). Die Startposition 226 entspräche dem Abstand zwischen dem Beginn der MPEG-Datei 104 und dem Punkt 280. Die Startverschiebung 234 entspräche dem Abstand zwischen dem Beginn des Pakets 251 und dem Punkt 280. Die Endverschiebung 236 entspräche dem Abstand zwischen dem Punkt 282 und dem Ende des Pakets 258.
  • 2c zeigt die von jedem Bild in einer MPEG-1-Datei erzeugten Etikettinformationen. In 2c enthält der Eintrag 214 Daten, die den Zustand der drei Zustandsmaschinen, einer Systemzustandsmaschine, einer Packzustandsmaschine und einer Videozustandsmaschine, angeben. Insbesondere enthält der Etiketteintrag 214 die in der Tabelle 4 gezeigten Informationen.
  • TABELLE 4
    Figure 00270001
  • Figure 00280001
  • Wie oben mit Bezug auf die MPEG-1- und MPEG-2-Formate erläutert wurde, enthalten die Etikettinformationen Daten, die den Zustand der relevanten Zustandsmaschinen am Beginn der Videobilder angeben. Jedoch unterscheiden sich die durch andere digitale audio-visuelle Formate verwendeten Zustandsmaschinen von den obenbeschriebenen Formaten, wie auch die im MPEG-1-Format verwendeten Zustandsmaschinen sich von jenen Formaten unterscheiden, die in MPEG-2 verwendet werden. Folglich unterscheiden sich die für jedes Bild des Videos gespeicherten spezifischen Etikettinformationen aufgrund des digitalen Audio/Video-Formats der Datei, zu der sie gehören.
  • V. Suchvorgänge
  • Nachdem die Inhalte der Etikettdatei 106 erläutert wurden, soll nun die Verwendung der Etikettdatei 106 zur Durchführung von Suchvorgängen beschrieben werden. Wenn ein Client einen Suchlauf ausführen will, überträgt er eine Suchlaufanforderung an den Strom-Server 110. Die Suchlaufanforderung kann beispielsweise spezifizieren, daß in der MPEG-Sequenz an eine Position, die fünf Minuten vor der momentanen Abspielposition liegt, vorgesprungen werden soll. In Antwort auf die Anforderung untersucht der Strom-Server 110 die Etikettdatei 106, um das I-Bild (das "Zielbild"), das fünf Minuten später abgespielt würde, wenn der Playbackvorgang mit normaler Geschwindigkeit vor sich ginge, zu bestimmen. Das Zielbild kann einfach bestimmt werden, indem die in der Etikettdatei 106 gespeicherten Informationen 228 für den Zeitwert und 232 für den Bildtyp untersucht werden.
  • Wenn das Zielbild bestimmt ist, bestimmt der Strom-Server 110 die Position innerhalb der MPEG-Datei 104 derjenigen Bilddaten, die dem Zielbild (der "Zielposition") entsprechen. Der Strom-Server 110 führt dieses Bestimmen durch, indem er die Startposition 226, die in demjenigen Eintrag in der Etikettdatei 106 gespeichert ist, die der Zielposition entspricht, ausliest. Kennzeichnend ist, daß alle durch den Strom-Server 110 ausgeführten Operationen ausgeführt werden, ohne auf die MPEG-Datei 104 zugreifen zu müssen. Dadurch können der Strom-Server 110 und die Videopumpe 130 auf verschiedene Server in dem Server-Komplex verteilt sein.
  • Zum Zweck der Erläuterung wird angenommen, daß verschiedene Komponenten des Systems 100 aus einem bestimmten Speichermedium Daten auslesen. Beispielsweise wird angenommen, daß der Etikettdateigenerator 112 und die Videopumpe 130, wie beschrieben wurde, Daten aus der MPEG-Datei 104 auslesen, die sich auf der Massenspeichervorrichtung 140 befindet, wobei angenommen wird, daß der Strom-Server 110 Daten aus der Etikettdatei 106 ausliest, die auf der Massenspeichervorrichtung 140 gespeichert ist. Wenn jedoch häufig auf Daten zugegriffen wird, werden diese typischerweise in einem schnelleren, temporären Speichermedium wie etwa einem dynamischen Speicher zwischengespeichert. Anstatt die Daten direkt aus dem langsameren Speicher auszulesen, lesen die Komponenten die Daten aus dem schnelleren temporären Speicher aus. In der bevorzugten Ausführungsform ist wenigstens ein Teil der Etikettdatei 106 in einem Cachespeicher gespeichert, um die Anzahl der vom Strom-Server 110 ausgeführten Plattenzugriffe zu verringern.
  • Sobald die Zielposition bestimmt worden ist, baut der Strom-Server 110 Vorspanndaten für die Übertragung auf. Wie oben erwähnt wurde, sind Vorspanndaten Daten, die vor einer Übertragung in den MPEG-Datenstrom eingefügt werden müssen, um sicherzustellen, daß der MPEG-Datenstrom MPEG-konform bleibt. Die Vorspanndaten werden weiter unten näher beschrieben.
  • Sobald der Strom-Server 110 die Vorspanndaten aufgebaut hat, überträgt er Befehle an die Videopumpe 130, um diese anzuweisen, von der momentanen Position in der MPEG-Datei zur Zielposition überzugehen. Für einen Suchlauf enthalten die vom Strom-Server 110 erzeugten Befehle typischerweise einen Einfügbefehl und einen Abspielbefehl. Der Einfügbefehl weist die Videopumpe 130 an, die Übertragung von MPEG-Daten an der momentanen Position zu beenden und die Vorspanndaten zu übertragen. Dieser Prozeß "fügt" tatsächlich die Vorspanndaten in den MPEG-Datenstrom "ein". Der Abspielbefehl weist die Videopumpe 130 an, mit der Übertragung von Daten zu beginnen, wobei innerhalb der MPEG-Datei 104 an der Zielposition begonnen wird. Die Videopumpe 130 fügt diese Daten byteweise ein, so daß der Client keine Grenzen zwischen den Vorspanndaten, den MPEG-Daten und den Nachspanndaten wahrnimmt.
  • 3a zeigt die vom Strom-Server 110 an die Videopumpe 130 in Antwort auf eine Suchanforderung von einem Client gesendeten Befehle. Im gezeigten Beispiel überträgt der Strom-Server 110 zwei Befehle 302 an die Videopumpe 130. Der erste Befehl ist ein Einfügbefehl, der die Videopumpe 130 anweist, "VORSPANN DATEN" in den MPEG-Datenstrom, den die Videopumpe 130 an den Client sendet, einzufügen.
  • Der zweite Befehl ist ein Abspielbefehl. Der Abspielbefehl weist die Videopumpe 130 an, Daten zu übertragen, wobei an der Position "START POS" begonnen wird. START POS ist die Position des ersten Bytes des Zielbildes in der MPEG-Datei.
  • In der bevorzugten Ausführungsform unterhält der "Abspiel"-Befehl einen "Startpositions"-Parameter und einen "Endpositions"-Parameter. In Antwort auf einen Abspielbefehl überträgt die Videopumpe 130 Daten aus der MPEG-Datei, wobei mit der Startposition begonnen wird, und setzt mit der Übertragung von Daten aus der MPEG-Datei fort, bis die spezifizierte Endposition erreicht ist. Bei einem Suchlauf wird angenommen, daß das Playback ausgehend von der Zielposition bis zum Ende der MPEG-Datei vor sich geht. Deshalb ist für Suchläufe nur der Startpositionsparameter des Abspielbefehls erforderlich.
  • 3b zeigt die Informationen, die von der Videopumpe 130 in Antwort auf die vom Strom-Server 110 übertragenen "Einfüg"- und "Abspiel"-Befehle an einen Client (z. B. den Client 160) gesendet werden. Zum Zeitpunkt, zu dem die Videopumpe 130 den Einfügbefehl empfängt, sendet sie MPEG-Daten ausgehend von irgendeiner Position (der momentanen Position) in der MPEG-Datei. Der Block 320 repräsentiert Informationen, die vor der momentanen Position von der Videopumpe 130 übertragen worden sind. Mit dem Empfang des Einfügbefehls unterbricht die Videopumpe 130 das Senden des momentanen Transportpakets, beendet die Übertragung von Daten an der momentanen Position und überträgt die Vorspanndaten 322. Nach der Übertragung der Vorspanndaten 322 an den Client antwortet die Videopumpe 130 auf den Abspielbefehl. Genauer, die Videopumpe 130 beginnt die Übertragung von Daten 324 an den Client, wobei am Zielort in der MPEG-Datei begonnen wird.
  • Während dieses Prozesses tritt keine Unterbrechung in dem von der Videopumpe 130 an den Client übertragenen MPEG-Datenstrom ein. Außerdem genügt der vom Client empfangene MPEG-Datenstrom vollkommen dem MPEG-Standard. Folglich nimmt der MPEG-Decodierer im Client nicht wahr, daß ein Suchlauf ausgeführt wird. Da die durch die oben besprochene Technik ausgeführten Suchläufe einen MPEG-konformen Datenstrom erzeugen, sind keine kundenspezifischen MPEG-Decodierer erforderlich.
  • VI. Vorspanndaten
  • Wie oben erwähnt wurde, sind MPEG-Daten in Schichten gepackt. Die Clients erwarten, daß der Datenstrom, den sie von der Videopumpe 130 empfangen, in solchen Schichten gepackt ist. Wenn die Videopumpe 130 einfach von einem Punkt in der MPEG-Datei 104 zu einem anderen Punkt springt, gehen Packungsinformation verloren und sind die Clients nicht in der Lage, die Daten korrekt zu decodieren. Wenn beispielsweise die Videopumpe 130 einfach mit der Übertragung von Daten am Punkt 280 in 2a beginnt, werden der PES-Kopfsatz 248 für das PES-Paket 250 und der Kopfsatz für das Transportpaket 251 überlesen. Diese Köpfe enthalten Daten, die angeben, wie die auf ihn folgenden Informationen zu decodieren sind. Folglich weiß der Client ohne die in diesen Köpfen enthaltenen Informationen nicht, wie er die nachfolgenden Daten zu decodieren hat.
  • Deshalb müssen für einen glatten Übergang vom momentanen Ort in der MPEG-Datei 104 zu einem neuen Ort Vorspanndaten aufgebaut und gesendet werden. Die Vorspanndaten enthalten Packungsinformationen darüber, wo Pakete für die Daten am neuen Ort beginnen. In der bevorzugten Ausführungsform enthalten die Vorspanndaten die in der Tabelle 5 beschriebenen Informationen.
  • TABELLE 5
    Figure 00330001
  • Figure 00340001
  • Die Informationen für das Verwerfen betreffend wird angenommen, daß das Zielvideobild eines Suchlaufs dasjenige Videobild ist, daß sich zwischen den Punkten 280 und 282 in 2a befindet. Die Informationen für das Verwerfen, die in dem in Antwort auf den Suchlauf erzeugten Einfügbefehl enthalten sind, können die Videopumpe 130 anweisen, alle Nichtvideopakete, die sich zwischen den Punkten 280 und 282 befinden, zu verwerfen. Gemäß einer Ausführungsform werden die Pakete durch ihre PID-Nummern identifiziert.
  • Die privaten Daten betreffend unterscheidet der zum Transport dieser Daten verwendete Mechanismus zwischen MPEG-1 und MPEG-2. Bei MPEG-1 werden in einem Packungspaket auf dem ISO/IEC-Privatdaten-1-Strom private Daten gesendet (siehe Abschnitt 2.4.4.2. in ISO 11172-1 für nähere Angaben). Bei MPEG-2 werden private Daten in einem Paket in der Video-PID, jedoch in einem Abschnitt des Anpassungsfeldes, der als Privatdaten gekennzeichnet ist (für nähere Angaben siehe Abschnitt 2.4.3.4 in ISO/IEC 13818-1), gesendet.
  • Da es vorkommen kann, daß Clients spezifische Informationen über den laufenden Vorgang benötigen (Suchen, Schnellvorlauf, Rücklauf, Bildvorlauf oder Bildrücklauf), was in dem digitalen audio-visuellen Speicherformat der Datei nicht codiert werden kann, werden private Daten verwendet. Wenn der Server weiß, daß kundenspezifische Informationen benötigt werden, legt er diese in einem Privatdaten-Mechanismus ab, der von dem audio-visuelle Speicherformat der Datei unterstützt wird. Somit bewahrt die Ausgabe an das Netz die Konformität mit dem geforderten Format. Dies ist dann notwendig, wenn das Netz Prüfungen ausführt, um sicherzustellen, daß keine verfälschten Daten übertragen werden. Da sich kundenspezifische Daten in privaten Daten befinden, werden diese nicht geprüft.
  • Das mögliche zusätzliche Stopfen betreffend, ist deshalb, weil Transportpakete im MPEG-2 eine feste Größe besitzen, ein zusätzliches Stopfbitpaket erforderlich, wenn die Vorspanndaten zu umfangreich sind, um in dasselbe Paket wie der erste Videodatenblock zu passen. Beispielsweise sei angenommen, daß der Punkt 280 zehn Bytes vom Anfang des Videopakets 251 entfernt ist. Wenn die für den Übergang zum Punkt 280 erforderlichen Vorspanndaten größer als zehn Bytes sind, passen die Vorspanndaten nicht in dasselbe Paket wie der erste Videodatenblock. Unter diesen Umständen werden die Vorspanndaten in einem Transportpaket gesendet, das durch Stopfen ergänzt wird. Ein zweites Transportpaket wird aufgebaut, um die Videodaten, die sich zwischen dem Punkt 280 und dem Ende des Videopakets 251 befinden, zu übertragen. Die ersten zehn Bytes in diesem zweiten Transportpaket werden durch Stopfen aufgefüllt.
  • Da MPEG-1-Pakete eine variable Größe besitzen, besteht diese Notwendigkeit für MPEG-1 nicht. Statt dessen wird die korrekte Paketgröße für die Vorspanndaten einfach berechnet.
  • VII. Paketdiskontinuitäten
  • In der ursprünglichen MPEG-Datei 104 besitzt jedes Paket einen zugeordneten Zeitstempel. Üblicherweise sind die Zeitstempel von Paketen, die innerhalb der MPEG-Datei 104 sequentiell angeordnet sind, sequentiell. Während der Playbackvorgänge spürt der Client die Zeitstempel auf, um die Integrität des MPEG-Datenstroms zu bestimmen. Wenn zwei sequentiell empfangene Pakete nichtsequentielle Zeitstempel haben, bestimmt der Client, daß eine Diskontinuität eingetreten ist. Wenn die Differenz zwischen zwei sequentiell empfangenen Zeitstempeln klein ist, kann der Client gewöhnlich die Diskontinuität kompensieren. Wenn die Differenz zwischen zwei sequentiell empfangenen Zeitstempeln jedoch zu groß ist, kann der Client sich selbst zurücksetzen oder eine andere Art von Wiederherstellungsoperation initiieren.
  • Wenn ein Suchlauf ausgeführt wird, empfängt der Client sequentiell Pakete, die innerhalb der MPEG-Datei 104 nichtsequentiell angeordnet sind. Da die Pakete innerhalb der MPEG-Datei 104 nichtsequentiell angeordnet sind, sind die den Paketen zugeordneten Zeitstempel nichtsequentiell. Wenn der durch den Suchlauf spezifizierte Sprung relativ groß ist, kann die Diskontinuität zwischen den Zeitstempeln so groß sein, daß sie den Client veranlaßt, das normale Playback zu beenden. Um diese Situation zu vermeiden, sind in den Vorspanndaten Daten enthalten, die den Client veranlassen, seinen Takt zurückzusetzen. Mit dem Empfang solcher Daten setzt der Client einfach seinen Takt anhand des in dem folgenden Paket enthaltenen Zeitstempels zurück.
  • Wie oben angemerkt wurde, sind die Zeitstempel von Paketen, die innerhalb einer MPEG-Datei sequentiell angeord net sind, typischerweise sequentiell. Jedoch ist es möglich, daß es sequentiell gespeicherte Pakete gibt, die keine sequentiellen Zeitstempel aufweisen. Wenn zwischen Paketen in der ursprünglichen MPEG-Datei eine große Diskontinuität auftritt, enthält die ursprüngliche MPEG-Datei selbst Daten, die den Client veranlassen, seinen Takt zurückzusetzen. Der Strom-Server 110 untersucht die Diskontinuitätsmerker 230 in der Etikettdatei 106, um zu bestimmen, ob ein bestimmter Suchlauf irgendwelche Pakete, die Daten enthalten, um den Takt des Client zurückzusetzen, überspringt. Wenn der Suchlauf irgend welche diskontinuierliche Pakete überspringt, werden den Vorspanndaten Daten hinzugefügt, die ein Rücksetzen des Taktes des Client veranlassen.
  • Obwohl bei MPEG-1 und MPEG-2 vom Konzept her derselbe Vorgang ausgeführt wird, ist der Mechanismus, durch den dieser Vorgang ausgeführt wird, unterschiedlich, da in MPEG-1 und MPEG-2 verschiedene Zeitsteuerungsmechanismen verwendet werden. Insbesondere wird in der MPEG-1-Ausführungsform der "Systemtaktverweis" (SCR = System Clock Reference) verwendet (siehe Abschnitt 2.4.2 in ISO/IEC 11172-1).
  • In der MPEG-2-Ausführungsform werden sowohl der "Programmtaktverweis" (PCR = Program Clock Reference) als auch der "Darstellungszeitstempel" (PTS = Presentation Time Stamp) verwendet (bezüglich der Definitionen des PCR bzw. des PTS siehe Abschnitte 2.4.2.1 und 2.4.3.6 in ISO/IEC 13818-1).
  • VIII. Pufferbeschränkungen
  • Der MPEG-Decodierer in jedem Client weist einen Puffer einer bestimmten beschränkten Größe auf. Typischerweise muß der Puffer groß genug sein, um Informationen aus zwei sequentiellen Bildern des Videos aufzunehmen. Somit können die Daten für das spätere Bild des Videos gleichzeitig mit den Daten für das vorangehende Bild des Videos geschrieben werden, während dieses vom Decodierer aus dem Puffer ausgelesen wird.
  • In vielen Clients wird die Größe des Puffers aufgrund der Annahme, daß der ankommende MPEG-Datenstrom niemals zwei sequentiell angeordnete große I-Bilder von Videodaten enthält, ausgewählt. Während des normalen Playbacks aus einer MPEG-konformen Datei erweist sich diese Annahme als wahr, da P- und B-Bilder zwischen aufeinanderfolgenden I-Bildern auftreten. Jedoch können Suchläufe einen Sprung von einem großen I-Bild, das sich an einem ersten Ort in der MPEG-Datei 104 befindet, zu einem zweiten I-Bild, das sich an einem zweiten Ort in der MPEG-Datei 104 befindet, verursachen. Wenn versucht wird, das zweite I-Bild in den Puffer zu schreiben, bevor das erste I-Bild vollständig aus dem Puffer ausgelesen ist, kann der Decodierer die Synchronisation verlieren oder anderweitig ausfallen. Der Strom-Server 110 erfaßt, wenn ein Suchlauf einen solchen Überlauf bewirkt, indem er die in der Etikettdatei 106 gespeicherten Zeitsteuerungspufferinformationen 238 untersucht.
  • Um einen solchen Pufferüberlauf zu verhindern, fügt der Strom-Server 110 Daten in die Vorspanndaten ein, die bewirken, daß die Ankunft des zweiten großen I-Bildes im Decodiererpuffer verzögert wird. Während das zweite I-Bild verzögert wird, besitzt der Client Zeit, um die Verarbeitung des ersten I-Bildes abzuschließen. Zum Zeitpunkt, zu dem die Daten für das zweite I-Bild ankommen, ist das erste I-Bild vollständig verarbeitet, so daß der Abschnitt des Puffers, der zur Aufnahme des vorangehenden I-Bildes verwendet wird, zur Aufnahme des zweiten I-Bildes verfügbar ist.
  • Gemäß einer Ausführungsform wird das zweite I-Bild verzögert, indem in dem Transportpaket-Kopfabschnitt der Vorspanndaten ein verzögerter Zeitstempel angeordnet wird. Der Transportpaket-Kopfabschnitt der Vorspanndaten dient als Kopfsatz für dasjenige Paket, das den Anfang des zweiten I-Bildes enthält (das "Übergangspaket"). Das Übergangspaket wird von einem Netzpuffer empfangen, der den Decodiererpuffer speist. Der Netzpuffer bestimmt anhand des Zeitstempels im Übergangspaket, wann die in dem Übergangspaket enthaltenen Videoinformationen an den Decodiererpuffer zu senden sind. Da der Zeitstempel eine Verzögerung zwischen dem Übergangspaket und dem vorangehenden Paket angibt, verzögert der Netzpuffer die Übertragung der Videoinformationen aus dem Übergangspaket in den Decodiererpuffer.
  • Gemäß einer alternativen Ausführungsform wird das zweite I-Bild verzögert, indem den Vorspanndaten vor den Daten, die als Überschrift für das Übergangspaket dienen, Stopfbitpakete hinzugefügt werden. Solche Stopfbitpakete kommen vor dem Übergangspaket beim Client an. Da der Client die Stopfbitpakete empfängt und verwirft, wird das erste I-Bild aus dem Decodiererpuffer gelesen. Wenn sämtliche Stopfbitpakete verarbeitet sind, ist das erste I-Bild vollständig aus dem Decodiererpuffer ausgelesen, weshalb dieser bereit ist, das zweite I-Bild zu empfangen.
  • IX. Playbackvorgänge mit spezifizierter Geschwindigkeit
  • Die meisten Videorecorder ermöglichen einem Betrachter, audio-visuelle Erzeugnisse auf analoger Basis bei Playbackgeschwindigkeiten anzusehen, die sich vom normalen Playback mit einfacher Vorlaufgeschwindigkeit unterscheiden. Beispielsweise sehen manche Videorecorder mehrere Geschwindigkeiten, den Schnellvorlauf, den Langsamvorlauf, den Schnellrücklauf und den Langsamrücklauf, vor. Die vorliegende Erfindung sieht eine ähnliche Funktionalität für die Betrachter von MPEG-codierten Erzeugnissen vor. In der bevorzugten Ausführungsform wird die Funktionalität von typischen Videorecordern insofern übertroffen, daß jede Geschwindigkeit für das Vorwärts- und Rückwärtsplayback unterstützt wird. Beispielsweise könnte ein Betrachter einen tausendmal schnelleren Vorlauf oder Rücklauf oder einen tausendmal langsameren Vorlauf oder Rücklauf wählen.
  • In der bevorzugten Ausführungsform umfassen die Prozesse, die zur Implementierung des Schnellvorlaufs, des Langsamvorlaufs, des Langsamrücklaufs und des Schnellrücklaufs ausgeführt werden, dieselben allgemeinen Schritte. Deshalb sollen zum Zweck der Erläuterung diese Schritte mit Bezug auf einen Schnellvorlauf beschrieben werden. Wenn der Schnellvorlauf erläutert worden ist, soll beschrieben werden, inwiefern sich die Zeitlupe und der Rücklauf vom Vorlauf unterscheidet.
  • Um einen Schnellvorlauf zu initiieren, überträgt ein Client eine Schnellvorlaufanforderung an den Strom-Server 110. In Ausführungsformen, die mehr als eine Schnellvorlaufgeschwindigkeit unterstützen, enthält die Schnellvorlaufanforderung Daten, die die Wiedergabegeschwindigkeit bezeichnen. Der Begriff "Wiedergabegeschwindigkeit", wie er hier verwendet wird, bezeichnet die Geschwindigkeit, mit der das audio-visuelle Erzeugnis einem Betrachter dargeboten wird.
  • Der Strom-Server 110 empfängt vom Client die Schnellvorlaufanforderung und untersucht in Antwort auf die Anforderung die in der Etikettdatei 106 enthaltenen Informationen. Genauer, der Strom-Server 110 bestimmt aus den Informationen in der Etikettdatei 106, welche Bilder angezeigt werden sollen, um die spezifizierte Wiedergabegeschwindigkeit zu bewirken. Der vom Strom-Server 110 ausgeführte Bildauswahlprozeß, muß verschiedene Bedingungen erfüllen, die weiter unten näher beschrieben werden.
  • X. Bit-Budgetierung
  • Das einfachste Verfahren zur Auswahl von Bildern während eines Schnellvorlaufvorgangs besteht darin, jedes N-te Bild auszuwählen, wobei N die spezifizierte Wiedergabegeschwindigkeit in bezug auf die normale Wiedergabegeschwindigkeit ist. Es sei beispielsweise angenommen, daß der Client einen fünfmal schnelleren Vorlaufvorgang anforderte. In Antwort auf eine solche Anforderung könnte der Strom-Server 110 jedes fünfte Bild zur Anzeige auswählen. Der Strom-Server 110 würde dann eine Reihe von Abspielkommandos an die Videopumpe 130 übertragen, um diese zu veranlassen, einen MPEG-Datenstrom zu übertragen, der Daten für jedes fünfte Bild enthält. Somit betrüge die Wiedergabegeschwindigkeit das Fünffache.
  • Der obenbeschriebene einfache Bildauswahlprozeß funktioniert nur, wenn sämtliche Bilder in der MPEG-Datei 104 im I-Bild-Format codiert sind und wenn außerdem sämtliche I-Bilder dieselbe Größe haben oder die Bandbreite des Netzes 150 unbegrenzt ist. Jedoch ist die Bandbreite des Netzes 150 nicht unbegrenzt, besitzen die I-Bilder nicht alle dieselbe Größe und, wie oben erläutert wurde, können die MPEG-Dateien außerdem Bilder enthalten, die in P-Bild- und B-Bild-Formaten codiert sind, die nicht unabhängig von Informationen von anderen Bildern decodiert werden.
  • Die Bandbreite zwischen der Videopumpe 130 und ihren Clients ist begrenzt. Beispielsweise kann der Videopumpe 130 ein 1,5- oder 2-Megabit-pro-Sekunde-Kanal für jeden MPEG-Datenstrom, den er zu einem Client überträgt, zugeteilt sein. Um festzustellen, ob die Auswahl eines bestimmten Bildes (des "fraglichen Bildes") die verfügbare Bandbreite überschreitet, bestimmt der Strom-Server 110 die Größe des Zeitfensters, das zum Senden des bestimmten Bildes verfügbar ist. Die Größe des Zeitfensters ist gleich (T2 – T1)/PR, wobei T1 der den zuvor ausgewähltem Bild zugeordnete Zeitwert ist, T2 der dem fraglichen Bild zugeordnete Zeitwert ist und PR die momentane Wiedergabegeschwindigkeit ist. Es sei beispielsweise angenommen, daß die dem zuvor ausgewählten Bild zugeordnete Zeit um eine Sekunde von der Zeit des fraglichen Bildes differiert. Es sei außerdem angenommen, daß die Wiedergabegeschwindigkeit das Zehnfache beträgt. Dann beträgt das Zeitfenster für das Senden des fraglichen Bildes (1 Sekunde)/10 oder 0,1 Sekunden.
  • Sobald der Strom-Server 110 das zum Senden der Daten für das fragliche Bild verfügbare Zeitfenster festgelegt hat, bestimmt er das momentane "Bit-Budget", indem er das Zeitfenster mit der Datenübertragungsrate des Kanals, über den der MPEG-Datenstrom an den Client gesendet wird, multipliziert. Wenn die anwendbare Datenübertragungsrate beispielsweise 2 Megabit pro Sekunde beträgt und das Zeitfenster 0,1 Sekunden beträgt, beträgt das momentane Bit-Budget 200 KBit. Der Strom-Server 110 liest dann die Bildgröße aus der Etikettinformation aus, um zu bestimmen, ob das fragliche Bild innerhalb des momentanen Bit-Budgets liegt. Wenn die Größe des fraglichen Bildes das momentane Bit-Budget übersteigt, wird das fragliche Bild nicht ausgewählt. Dies ist beispielsweise der Fall, wenn die Größe der Bilddaten für das fragliche Bild 50 KByte (400 KBit) beträgt und das Bit-Budget 200 KBit beträgt. Wenn andernfalls das fragliche Bild innerhalb des Bit-Budgets liegt, wird das fragliche Bild zum Senden ausge wählt. Wenn ein bestimmtes Bild nicht gesendet wird, ist es wahrscheinlich, daß ein zukünftiges Bild gesendet wird, da der unbenutzte Zeitraum (und somit Bits in dem Bit-Budget) von unbenutzten Bildern verwendet wird.
  • XI. Bildtypeinschränkungen
  • Wie oben erläutert wurde, kann kein Bild aus P-Bilddaten genau rekonstruiert werden, wenn das vorangehende I-Bild nicht decodiert wurde. Aus B-Bilddaten kann kein Bild nicht genau neu aufgebaut werden, wenn nicht die vorangehenden und nachfolgenden P- oder I-Bilddaten decodiert worden sind. Folglich ist der Strom-Server 110 in bezug auf die Auswahl von Bildern eingeschränkt.
  • Wenn die entsprechende Bandbreite verfügbar ist, kann jedes I-Bild ausgewählt werden. Gemäß einer Ausführungsform der Erfindung werden lediglich I-Bilder für die Auswahl berücksichtigt. Der Strom-Server 110 greift auf die Etikettinformationen zu, um den Bildtyp des fraglichen Bildes zu bestimmen. Wenn das fragliche Bild kein I-Bild ist, wird es automatisch überlesen, wobei sich der Strom-Server 110 an die Auswertung des nachfolgenden Bildes begibt. Bei manchen Playbackgeschwindigkeiten kann diese Technik zu einer unbenutzten Bandbreite führen. Dies bedeutet, daß die Übertragung eines jeden I-Bildes eine geringere Bandbreite als die verfügbare Bandbreite erfordert. Deshalb überträgt der Strom-Server 110 Einfügbefehle, um die Videopumpe 130 zu veranlassen, MPEG-Stopfbits zwischen der Übertragung von I-Bild-Informationen zu übertragen. In der bevorzugten Ausführungsform werden Stopfbitpakete als eine Komponente von Nachspanndaten gesendet, die weiter unten näher beschrieben werden.
  • Gemäß der bevorzugten Ausführungsform werden P- und B-Bilder im Bildauswahlprozeß nicht automatisch übersprungen. Statt dessen werden P- und B-Bilder für die Auswahl berücksichtigt, es sei denn, daß die Informationen, die sie benötigen, bereits übersprungen worden sind. Genauer, wenn vom Strom-Server 110 kein I-Bild ausgewählt wird, werden alle Bilder, die zwischen das überlesene I-Bild und das nachfolgende I-Bild fallen, überlesen. Außerdem werden dann, wenn kein P-Bild ausgewählt wird, die B- und P-Bilder, die zwischen das überlesene P-Bild und das nachfolgende I-Bild fallen, überlesen. Anhand dieser Regeln kann jede zusätzliche Bandbreite, die zwischen der Übertragung von I-Bildern verfügbar ist, mit P-Bild- und B-Bilddaten ausgefüllt werden. Im Ergebnis weist der sich ergebende MPEG-Datenstrom mehr Bilder pro Sekunde auf.
  • Gemäß einer nochmals weiteren Ausführungsform ist der Strom-Server 110 so programmiert, daß er einige I-Bilder selbst dann überspringt, wenn die Bandbreite, um diese zu senden, verfügbar ist. Beispielsweise kann der Strom-Server 110 jedes fünfte I-Bild überspringen, das andernfalls für die Auswahl qualifiziert wäre. Da I-Bilder wesentlich größer als P- und B-Bilder sind, können zahlreiche P- und B-Bilder in der durch Überspringen eines einzelnen I-Bildes verfügbar gemachten Bandbreite gesendet werden. Folglich besitzt der sich ergebende MPEG-Datenstrom mehr Bilder pro Sekunde, als es der Fall wäre, wenn alle kennzeichnenden I-Bilder ausgewählt würden.
  • In der bevorzugten Ausführungsform kann ein Client Parameter für den durch den Strom-Server 110 ausgeführten Auswahlprozeß spezifizieren. Beispielsweise kann der Client mehr Bilder pro Sekunde anfordern. In Antwort darauf überträgt der Strom-Server 110 mehr P- und B-Bilder im MPEG-Datenstrom, indem er die Anzahl von kennzeichnenden I-Bildern, die er überspringt, erhöht.
  • Zum anderen kann der Client ein kontinuierlicheres Bild anfordern. In Antwort darauf, überträgt der Strom-Server 110 einen höheren Prozentsatz von kennzeichnenden I-Bildern, was eine geringere Bandbreite zur Übertragung von P- und B-Bildern übrigläßt.
  • XII. Nachspanndaten
  • Wenn der Strom-Server 110 während eines Schnellvorlaufs die anzuzeigenden Bilder auswählt, überträgt er gleichzeitig Befehle an die Videopumpe 130, um diese zu veranlassen, einen MPEG-Videostrom zu senden, der die bereits ausgewählten Bilder enthält. Derjenige Teil des MPEG-Datenstroms, der zum Befördern von Daten für ein ausgewähltes Bild verwendet wird, wird hier als "Segment" bezeichnet. Um die Konformität mit den MPEG-Standards zu bewahren, enthalten Segmente Vorspanndaten, die vor der Übertragung der Bilddaten für die ausgewählten Videobilder gesendet werden. Der Prozeß der Erzeugung von Vorspanndaten wurde oben in Zusammenhang mit Suchläufen beschrieben.
  • Die Ausführung eines Schnellvorlaufs ist der Ausführung einer Reihe von Suchläufen, in denen jeder Suchlauf bewirkt, daß die Videopumpe 130 zu den Daten für das nächste ausgewählte Bild springt, ähnlich. Genauer, für jedes ausgewählte Bild muß der Strom-Server 110 Vorspanndaten erzeugen, einen Einfügbefehl an die Videopumpe 130 übertragen, damit diese die Vorspanndaten in den Datenstrom einfügt, und einen Abspielbefehl an die Videopumpe 130 übertragen, um diese zu veranlassen, Daten aus dem geeigneten Bild zu übertragen.
  • Schnellvorlaufvorgänge unterscheiden sich von Suchläufen darin, daß der Abspielbefehl eine Endposition sowie eine Startposition spezifiziert. Die Endposition ist der Ort innerhalb der MPEG-Datei 104 des letzten Bytes der Bilddaten für das ausgewählte Bild. Beispielsweise wird angenommen, daß die Bildgrenzen für ein ausgewähltes Bild F die in 2a gezeigten Punkte 280 und 282 wären. Der Strom-Server 110 würde der Videopumpe 130 einen Einfügbefehl senden, um diese zu veranlassen, Vorspanndaten an den Client zu senden, und einen Abspielbefehl senden, um diese zu veranlassen, die sich zwischen den Punkten 280 und 282 befindenden Videodaten an den Client zu senden.
  • Typischerweise stimmt die im Abspielbefehl spezifizierte Endposition (z. B. der Punkt 282) nicht mit einer Paketgrenze überein. Deshalb müssen zur Bewahrung der MPEG-Konformität nach der Übertragung der Bilddaten zusätzliche Informationen ("Nachspanndaten") in den Datenstrom eingefügt werden. Die Nachspanndaten enthalten die Stopfbits, die das Transportpaket, das das Ende des ausgewählten Bildes enthält, vervollständigen. Beispielsweise würden die Nachspanndaten, die nach dem Senden des Bildes F in den Datenstrom eingefügt werden, einen Länge mit Stopfbits enthalten, die gleich dem Abstand zwischen dem Punkt 282 und dem Ende des Videopakets 258 wäre. Unter bestimmten Bedingungen enthalten die Nachspanndaten auch Stopfbitpakete. Wie weiter unten beschrieben wird, hängt die Anzahl von Stopfbitpaketen, die in den Nachspanndaten gesendet werden, von der Größe der Bilddaten, der Wiedergabegeschwindigkeit, der Mindeststopfrate und der Anzahl von Stopfbitpaketen, die in den Bilddaten hinterlassen werden, ab. Somit besteht ein Segment aus Vorspanndaten, den Bilddaten eines ausgewählten Bildes und den Nachspanndaten.
  • Der Strom-Server 110 erzeugt die Nachspanndaten und überträgt einen Einfügbefehl an die Videopumpe 130, damit diese die Nachspanndaten in den MPEG-Datenstrom einfügt. Folglich treten während eines Schnellvorlaufs die vom Strom-Server 110 an die Videopumpe 130 gesendeten Befehle auf, wie dies in 4a gezeigt ist. In 4a besitzt ein Strom-Server 110 somit drei anzuzeigende ausgewählte Bilder: bild_1, bild_2, bild_3. Nach Auswahl von bild_1 überträgt der Strom-Server 110 drei Befehle 402 an die Videopumpe 130. Die drei Befehle 402 umfassen einen ersten Einfügbefehl 408, einen Abspielbefehl 410 und einen zweiten Einfügbefehl 412.
  • Der erste Einfügbefehl 408 weist die Videopumpe 130 an, Vorspanndaten "VORSPANN_DATEN_1" an einen Client zu übertragen. Der Abspielbefehl 410 weist die Videopumpe 130 an, die zwischen den Positionen START_POS_1 und END_POS_1 befindlichen Daten an den Client zu übertragen. Im gezeigten Beispiel wäre START_POS_1 die Position des ersten Bytes von bild_1, während END_POS_1 die Position des letzten Bytes von bild_1 wäre. Der zweite Einfügbefehl 412 weist die Videopumpe 130 an, Nachspanndaten "NACHSPANN_DATEN_1" an den Client zu übertragen. Die durch diese drei Befehle spezifizierten Daten bilden ein Segment für bild_1.
  • Wie oben erläutert wurde, können viele Transportpakete erforderlich sein, um die Bilddaten für ein einzelnes Videobild (z. B. bild_1) zu speichern. Andere Pakete, die keine Videoinformationen enthalten, wie etwa Stopfbitpakete, Zeitsteuerungspakete und Audiopakete können zwischen die Videopakete für das Videobild verschachtelt werden. In der bevorzugten Ausführungsform überträgt der Strom-Server 110 nicht nur die Grenzen jedes Bildes an die Videopumpe 130, sondern gibt auch an, was mit den Nichtvideopaketen innerhalb dieser Grenzen zu tun ist. Typischerweise werden die Audiopakete verworfen. Jedoch können die anderen Nichtvideopakete aufgrund verschiedener Faktoren gegebenenfalls zurückgehalten werden. Zur Aufrechterhaltung der Mindeststopfrate kann der Strom- Server 110 beispielsweise angeben, daß die Stopfbitpakete zu bewahren sind. Die Wichtigkeit der Aufrechterhaltung einer Mindeststopfrate wird weiter unten genauer besprochen.
  • Die Videopumpe 130 empfängt diese Informationen vom Strom-Server 110 und streicht aus dem MPEG-Datenstrom jene Nichtvideopakete, die vom Strom-Server 110 angegeben werden. Folglich enthalten die von der Videopumpe 130 in Antwort auf einen Abspielbefehl 410 gesendeten Informationen typischerweise nicht alle Daten, die sich zwischen START_POS_1 und START_POS_2 befinden.
  • Wiederum in 4a hat der Strom-Server 110 drei Befehle 404 übertragen, um die Videopumpe 130 zu veranlassen, ein Segment für bild_2 zu übertragen, und drei Befehle 406 übertragen, um die Videopumpe 130 zu veranlassen, ein Segment für bild_3 zu übertragen. Der Strom-Server 110 setzt mit der Übertragung von Befehlen in dieser Weise fort, um die Videopumpe 130 zu veranlassen, Segmente für jedes Bild, das sie während des Schnellvorlaufvorgangs zur Anzeige auswählt, zu übertragen.
  • 4b zeigt die von der Videopumpe 130 in Antwort auf die obenbeschriebenen Befehle übertragenen Daten. Genauer, in Antwort auf den ersten Einfügbefehl 408 überträgt die Videopumpe 130 VORSPANN_DATEN_1 450 an den Client 160. In Antwort auf den Abspielbefehl 410 überträgt die Videopumpe 130 die sich zwischen START_POS_1 und END_POS_1 befindenden Daten. Diese Daten, die als DATEN_1 452 gezeigt sind, enthalten die Bilddaten von bild_1. In Antwort auf den zweiten Einfügbefehl 412 überträgt die Videopumpe 130 NACHSPANN_DATEN_1 an den Client 160. Das Segment, das aus VORSPANN_DATEN_1, DATEN_1 und NACHSPANN_DATEN_1 besteht, befördert die Bilddaten von bild_1 an den Client 160, wobei die Konformität mit den MPEG-Standards bewahrt wird.
  • In der bevorzugten Ausführungsform werden diese Befehle zwischen dem Strom-Server 110 und der Videopumpe 130 über ein sehr schnelles Lightweight-Netz oder über einen gemeinsamen Speicher gesendet. Für einen typischen Strom, der 15 Bilder pro Sekunde für den Schnellvorlauf unterstützt, werden pro Sekunde 45 Befehle übertragen, was die Datenübermittlung innerhalb des Servers stark belastet. In der bevorzugten Ausführungsform werden die Befehle vom Strom-Server 110 an die Videopumpe 130 in Stapeln gesendet.
  • XIII. Zeitlupenvorgänge
  • Wie oben erläutert wurde, werden bei Playbackvorgängen, die die normale Playbackgeschwindigkeit überschreiten, Bilder selektiv übersprungen. Bei Playbackvorgängen, die langsamer als mit normaler Playbackgeschwindigkeit ablaufen, werden keine Bilder übersprungen. Statt dessen wählt der Strom-Server 110 jedes Bild aus. Schnellvorlaufvorgänge betreffend überträgt die Videopumpe 130 in Antwort auf Befehle, die vom Strom-Server 110 erzeugt werden, Segmente für jedes der ausgewählten Bilder. Die Nachspanndaten in den Segmenten enthalten Stopfbitpakete, die die Ankunft der nachfolgenden Segmente verzögern. Folglich kommen die Daten mit einer langsameren Geschwindigkeit als bei normalen Playbackvorgängen an und werden mit dieser langsameren Geschwindigkeit decodiert. Alternativ können die Zeitverzögerungen erzwungen werden, indem der Strom-Server 110 veranlaßt wird, Verzögerungszeitstempel in die Vorspanndaten, die er an die Videopumpe 130 sendet, einzufügen.
  • XIV. Rücklaufvorgänge
  • Rücklaufvorgänge werden in derselben Weise wie Schnell- und Langsamvorlaufvorgänge ausgeführt, mit der Ausnahme, daß für Rücklaufvorgänge (unabhängig davon, ob die Rücklaufvorgänge schnell oder langsam sind), nur I-Bilder ausgewählt werden. P- und B-Bilder werden automatisch übersprungen, da sie nicht decodiert werden können, es sei denn, daß Bilder, die ihnen in der ursprünglichen MPEG-Datei vorangehen, zuvor verarbeitet wurden. Jedoch werden während Rücklaufvorgängen die Bilder, von denen P- und B-Bilder abhängen, nach den P- und B-Bildern, die von diesen abhängen, verarbeitet.
  • Das Konzept des "Mehrfachstrom"-Schnellvorlaufs oder -Rücklaufs wurde oben erwähnt. Der Mehrfachstrom-Schnellvorlauf oder -Rücklauf wird von einem Speichern mehrerer Kopien des Films begleitet, wobei die Kopien bei verschiedenen Geschwindigkeiten aufgezeichnet worden sind.
  • In der bevorzugten Ausführungsform bestimmt der Strom-Server 110 dann, wenn ein Client eine bestimmte Schnellvorlauf- oder Rücklauf-Wiedergabegeschwindigkeit anfordert, ob er eine zuvor mit dieser Geschwindigkeit aufgezeichnete Datei hat. Wenn dies der Fall ist, spielt er die Datei ab. Dies ergibt für den Anwender mehr Bilder pro Sekunde und führt zu einer geringeren Rechen- und Kommunikationslast auf dem Strom-Server 110 und der Videopumpe 130. Wenn die geforderte Geschwindigkeit jedoch nicht verfügbar ist, bestimmt der Strom-Server 110 die beste Datei, aus der die einzelnen Bilder zu wählen sind, und verarbeitet diese Datei, wie oben beschrieben wurde. Die beste Datei ist diejenige, die bei der geforderten Wiedergabegeschwindigkeit die meisten wählbaren I-Bilder besitzt.
  • Die Integration von "Mehrfachstrom"- und "Einfachstrom"-Schnellvorlauf- und -Rücklaufoperationen ermöglicht somit Servern, das Finden eines Kompromisses zwischen dem Qualitätsniveau, den Plattenspeicheranforderungen und der Server-Rechen- und -Kommunikationslast, was einen großen Vorteil gegenüber der Anwendung von Mehrfachstrom-Operationen allein bietet.
  • XV. Laufzeitkommunikation
  • In der bevorzugten Ausführungsform ist der Strom-Server 110 so konfiguriert, daß er Antworten auf Abfragen, die durch die Clients erfolgen, empfängt und überträgt, wobei die Videopumpe 130 einen MPEG-Datenstrom an die Clients sendet. Der Strom-Server 110 schickt die Antworten auf die Abfragen an den Client, indem er die Videopumpe 130 veranlaßt, die Antworten in den an den Client gesendeten MPEG-Datenstrom einzufügen. Dieser Prozeß wird dadurch erschwert, daß der Kommunikationskanal zwischen der Videopumpe 130 und jedem Client durch den MPEG-Datenstrom, den die Videopumpe 130 sendet, vollständig belegt ist.
  • Jedoch sind manche Pakete in dem MPEG-Datenstrom lediglich Stopfbitpakete und tragen nicht zu der resultierenden audio-visuellen Anzeige bei. Um aus der durch diese Stopfbitpakete belegten Bandbreite einen Nutzen zu ziehen, veranlaßt der Strom-Server 110 die Videopumpe 130, diese Stopfbitpakete durch Datenpakete, die Antworten auf die Abfragen enthalten, zu ersetzen. Wenn die Datenpakete beim Client ankommen, stellt der MPEG-Decodierer im Client fest, daß die Datenpakete keine audio-visuellen Daten enthalten und leitet die Datenpakete an eine Anwendung höherer Ebene weiter. Die Anwendung höherer Ebene untersucht die Datenpakete und entnimmt den Datenpaketen sämtliche darin enthaltenen Informationen.
  • Während Schnellvorlauf- und Schnellrücklaufvorgängen geht die Fähigkeit des Strom-Servers 110, auf diese Weise mit dem Client zu kommunizieren verloren, wenn der Bildauswahlprozeß keinen Platz für Stopfbitpakete läßt, die durch Datenpakete ersetzt werden können. Deshalb wählt der Strom-Server 110 in einer Ausführungsform der Erfindung Bilder so aus, daß eine gewisse verfügbare Mindeststopfrate sichergestellt ist. Wenn die Auswahl eines Bildes dazu führt, daß die Stopfrate unter die spezifizierte Mindestrate fällt, wird das Bild übersprungen. Der Strom-Server 110 teilt der Videopumpe 130 außerdem mit, wo die erforderlichen Stopfbits einzufügen sind.
  • Gemäß einer Ausführungsform ersetzt die Videopumpe 130 die Stopfbitpakete nicht durch Datenpakete, sondern erzeugt die Stopfbitpakete aktuell. Der von der Videopumpe 130 übertragene MPEG-Datenstrom geht vor der Ankunft beim Client durch einen nachgeschalteten Manager 131. Der nachgeschaltete Manager ersetzt die Stopfbitpakete durch Datenpakete, die die durch den Strom-Server 110 erzeugten Antworten enthalten. Da der MPEG-Datenstrom eine Mindeststopfrate aufrechterhält, garantiert der nachgeschaltete Manager eine Mindestbandbreite zum Unterbringen von Datenpaketen im MPEG-Datenstrom.
  • XVI. Genaue Bildpositionierung
  • Für viele Anwendungen ist es wichtig, daß genau bestimmt werden kann, welches Bild vom Client zur einem gegebenen Zeitpunkt angezeigt wird. Beispielsweise kann ein Anwender das Playback eines MPEG-Films unterbrechen, ein Element auf dem Bildschirm auswählen und eine Menüoption anwählen wollen, die einen Befehl für das Element über das Netz absetzt. Wenn das momentan angezeigte Bild nicht genau identifiziert ist, kann das falsche Element angefordert werden.
  • Während des normalen Filmabspielens wird die genaue Bildpositionierung als Teil des normalen MPEG-Datenstroms codiert. Genauer, mit den Bilddaten im MPEG-Datenstrom sind Zeitstempel verschachtelt. Die Hardware im Client extrahiert diese Zeitinformationen. Üblicherweise folgen jedem Zeitstempel zahlreiche Bilder. Deshalb identifiziert der Client lediglich das momentan angezeigte Bild anhand der letzten Zeitinformation und der Anzahl von Bildern, die seit dem Empfang der letzten Zeitinformationen verarbeitet worden sind.
  • Während des Schnellvorlaufs und des Schnellrücklaufs kann die Identität von Bildern nicht durch im MPEG-Datenstrom enthaltene Zeitinformationen bestimmt werden. Beispielsweise könnte das dritte Bild nach einem bestimmten Zeitstempel, abhängig von der momentanen Playbackgeschwindigkeit und der Bildauswahltechnik, irgendeines von mehreren Bildern sein. Deshalb ist der Strom-Server 110 zur Gewährleistung einer genauen Bildpositionierung so konfiguriert, daß er vor jedem in dem MPEG-Datenstrom übertragenen Bild einen Zeitstempel einfügt. Die Videopumpe 130 empfängt die Zeitstempelinformationen vom Strom-Server 110, der den Zeitstempel aus der Etikettdatei 106 wiedergewinnt.
  • Viele Clients sind nicht in der Lage, mehr als eine bestimmte Anzahl von Zeitstempeln pro Sekunde zu decodieren, da die MPEG-Spezifikation von ihnen nicht verlangt, mehr als eine bestimmte Menge von Zeitstempeln pro Sekunde zu decodieren. Deshalb ist der vor jedem Bild eingefügte Zeitstempel in der bevorzugten Ausführungsform kein MPEG-Zeitstempel. Statt dessen werden Zeitstempel in Pakete eingesetzt, die als MPEG-"Privatdatenpakete" etikettiert sind. Wenn ein Client ein privates Datenpaket empfängt, stellt er fest, ob er die Daten in dem Paket erkennt. Clients die private Datenzeitstempel nicht unterstützen, verwerfen die Zeitstempel enthaltenden privaten Datenpakete einfach, weshalb sie keine perfekte genaue Bildpositionierung ausführen können. Solche Clients sind dennoch in der Lage, anhand der MPEG-Zeitstempel, die zufällig in dem MPEG-Datenstrom enthalten sind, eine annähernd genaue Bildpositionierung auszuführen. Clients, die Privatdaten-Zeitstempel unterstützen, extrahieren die Zeitstempel aus den privaten Datenpaketen, weshalb sie die Identität der Bilder, die den Zeitstempeln folgen, genau bestimmen können.
  • XVII. Plattenzugriffsbedinqungen
  • In manchen Video-Playbacksystemen kann eine einzelne MPEG-Datei zur Erhöhung der Fehlertoleranz des Systems in mehreren Plattenlaufwerken gespeichert sein. Beispielsweise sei das in 7 gezeigte Mehrplattensystem 700 betrachtet. Das System 700 umfaßt N + 1 Plattenlaufwerke. Eine MPEG-Datei ist auf N von N + 1 Platten gespeichert. Die MPEG-Datei ist in Abschnitte 750, 752, 754 und 756 unterteilt. Jeder Abschnitt ist in N Blöcke unterteilt, wobei N die Anzahl von Platten ist, die zur Speicherung der MPEG-Datei verwendet werden. Jede Platte speichert einen Block aus einem gegebenen Abschnitt.
  • Im gezeigten Beispiel enthält der erste Abschnitt 750 der MPEG-Datei die Blöcke 710, 712 und 714, die auf den Platten 702, 704 bzw. 706 gespeichert sind. Der zweite Abschnitt 752 enthält die Blöcke 716, 718 und 720, die auf den Platten 702, 704 bzw. 706 gespeichert sind. Der dritte Abschnitt 754 enthält die Blöcke 722, 724 und 726, die auf den Platten 702, 704 bzw. 706 gespeichert sind. Der vierte Abschnitt 756 enthält die Blöcke 728, 730 und 732, die auf den Platten 702, 704 bzw. 706 gespeichert sind.
  • Die Platte 708, die nicht zum Speichern der MPEG-Datei verwendet wird, wird verwendet, um Prüfbits zu speichern. Jede Prüfbitgruppe entspricht einem Abschnitt der MPEG-Datei und ist auf der Grundlage der verschiedenen Blöcke, die zu dem entsprechenden Abschnitt gehören, aufgebaut. Beispielsweise entsprechend die Prüfbits 734 dem Abschnitt 750 und werden erzeugt, indem über alle Blöcke im ersten Abschnitt 750 eine Exklusiv-ODER-Verknüpfung ausgeführt wird. Ähnlich sind die Prüfbits 736, 738 und 740 Produkte eines Exklusiv-ODER, das über alle Blöcke in den Abschnitt 752, 754 bzw. 756 ausgeführt wird.
  • Das System 700 besitzt insofern eine höhere Fehlertoleranz als ein Einfach-Plattensystem, daß dann, wenn eine Platte in dem System aufhört, korrekt zu arbeiten, die Inhalte der fehlerhaften Platte auf der Grundlage der Inhalte der restlichen Platten rekonstruiert werden können. Wenn beispielsweise die Platte 704 zu funktionieren aufhört, können die Inhalte des Blocks 712 auf der Grundlage der restlichen Blöcke im Abschnitt 750 und der dem Abschnitt 750 zugeordneten Prüfbits 734 rekonstruiert werden. Ähnlich kann der Block 780 auf der Grundlage der restlichen Blöcke im Abschnitt 752 und der dem Abschnitt 752 zugeordneten Prüfbits 736 aufgebaut werden. Diese Fehlererfassungs- und Korrekturtechnik ist allgemein als RAID (Redundant Array of Inexpensive Disks) bekannt.
  • Während eines Echtzeit-Playbacks unter Anwendung von RAID liest und verarbeitet eine Videopumpe die MPEG-Datei auf einer abschnittsweisen Grundlage, so daß sämtliche Informationen verfügbar sind, um von der Platte gelesene fehlerhafte Daten zu rekonstruieren. Während normaler Playbackvorgänge bleibt genügend Zeit um den zum Lesen eines vollständigen Abschnitts erforderlichen Plattenzugriff auszuführen, wobei die Daten aus dem vorangehenden Abschnitt in den MPEG-Datenstrom übertragen werden.
  • Jedoch werden während Schnellvorlauf- und Schnellrücklaufvorgängen nicht sämtliche Daten eines Abschnitts im MPEG-Datenstrom gesendet. Da weniger Daten gesendet werden, benötigt die Übertragung der Daten weniger Zeit. Folglich ist weniger Zeit zum Lesen und Verarbeiten des nachfolgenden Abschnitts verfügbar.
  • Beispielsweise wird angenommen, daß zur Anzeige während eines Schnellvorlaufvorgangs nur ein Bild X aus dem Abschnitt 750 ausgewählt wurde. Während der Zeit, die zur Übertragung des Segments für das Bild X benötigt wird, müssen die Daten für das nächste ausgewählte Bild Y ausgelesen und verarbeitet werden. Es wird angenommen, daß sich das nächste Bild Y im Abschnitt 752 befindet. Wenn die MPEG-Datei auf einer abschnittsweisen Grundlage ausgelesen und verarbeitet wird (für RAID gefordert), müssen alle Blöcke im Abschnitt 752 während der Übertragung des einzelnen Bildes X ausgelesen und verarbeitet werden. Selbst dann, wenn es möglich wäre, sämtliche Blöcke im Abschnitt 752 in der zugemessenen Zeit auszulesen und zu verarbeiten, wäre es dennoch wegen der Betriebsmittel, die bei der Durchführung der erforderlichen Plattenzugriffe benötigt werden, nicht vorteilhaft, so zu verfahren.
  • Angesichts des Obengesagten, verwendet die Videopumpe 130 während Schnellvorlauf- und Schnellrücklaufvorgängen kein RAID. Statt dessen liest, verarbeitet und überträgt die Videopumpe 130 lediglich die Daten, die in den Befehlen, die sie vom Strom-Server 110 empfängt, angegeben sind. Somit würden in dem oben angegebenen Beispiel lediglich die Bilddaten für das Bild Y während der Übertragung des Segments für das Bild X ausgelesen und verarbeitet. Durch Umgehen von RAID während Schnellvorlauf- und Schnellrücklaufvorgängen bleibt die Plattenbandbreite auf dem Niveau oder unter der während normalen Playbackvorgängen verwen deten Plattenbandbreite.
  • Da RAID während Echtzeit-Schnellvorlauf- und Schnellrücklaufvorgänge nicht verwendet wird, können während dieser Vorgänge keine fehlerhaften Daten rekonstruiert werden. Folglich verwirft die Videopumpe 130 dann, wenn sie erfaßt, daß die Daten für ein ausgewähltes Bild verfälscht oder nicht verfügbar sind, das gesamte Segment, das mit dem problematischen Bild verbunden ist. Somit werden dann, wenn die mit einem Bild zusammenhängenden Daten nicht gesendet werden können, weder die Vorspanndaten noch die Nachspanndaten für das bild gesendet. Dennoch werden Stopfbitpakete, die zusammen mit Vorspann- oder Nachspanndaten zu senden sind, gesendet.
  • Durch Senden von Daten in ganzen "Segmenten" wird die Konformität mit dem digitalen audio-visuellen Format aufrechterhalten. In einer Ausführungsform sendet die Videopumpe 130 Stopfbitpakete weiter, um die Zeile zu füllen und die korrekte Wiedergabegeschwindigkeit aufrechtzuerhalten. In der bevorzugten Ausführungsform ist dieses Verhalten vom Client wählbar.
  • XVIII. Playbackvorgänge mit variabler Geschwindigkeit
  • Wie oben erwähnt wurde, kann ein Client die Wiedergabegeschwindigkeit des audio-visuellen Erzeugnisses ändern, indem er an den Strom-Server 110 eine Anforderung zum Ändern der Geschwindigkeit überträgt. Typischerweise geben Clients Anforderungen zur Änderung der Geschwindigkeit in Antwort auf eine von einem Anwender empfangene Eingabe aus. Beispielsweise kann ein Anwender eine Schnellvorlauftaste auf einer Fernsteuerung drücken. Die Fernsteuerung überträgt ein Signal, das den Knopf, der gedrückt wurde, identifiziert. Der Client empfängt und decodiert das von der Fernsteuerung übertragene Signal, um zu bestimmen, daß der Schnellvorlaufknopf angefordert wurde. Der Client überträgt dann eine Anforderung zum Ändern der Geschwindigkeit an den Strom-Server 110, der eine Wiedergabegeschwindigkeit spezifiziert, die größer als die einfache Wiedergabegeschwindigkeit ist.
  • Gemäß einer Ausführungsform der Erfindung ist der Client so konfiguriert, daß er erfaßt, wenn der Anwender fortgesetzt den Schnellvorlaufknopf niederdrückt. Wenn der Anwender den Schnellvorlaufknopf länger als ein vorgegebenes Zeitintervall niederdrückt, überträgt der Client eine zweite Anforderung zum Ändern der Geschwindigkeit, die eine schnellere Wiedergabegeschwindigkeit als die zuvor angeforderte Wiedergabegeschwindigkeit bezeichnet. Wenn der Anwender den Schnellvorlaufknopf weiterhin niederdrückt, wird die Wiedergabegeschwindigkeit kontinuierlich erhöht. Ein anderer Knopf wie etwa der Rücklaufknopf, kann gedrückt werden, um die Wiedergabegeschwindigkeit schrittweise abzusenken. Der obenbeschriebene Prozeß erscheint für den Anwender als Schnellvorlaufvorgang mit variabler Geschwindigkeit. Jedoch besteht der Vorgang für den Strom-Server 110 in Wirklichkeit aus einer Folge unterschiedlicher Schnellvorlaufvorgänge. Dieser Prozeß der schrittweisen Geschwindigkeitseinstellung wurde mit Bezug auf Schnellvorlaufvorgänge beschrieben. Jedoch kann er gleichermaßen auf den Langsamvorlauf, den Langsamrücklauf und den Schnellrücklauf angewandt werden. Ferner können Geschwindigkeitsänderungen in Antwort darauf, wie oft ein bestimmter Knopf gedrückt wird, anstelle oder zusätzlich dazu, wie lange der Knopf gedrückt wird, ausgeführt werden. Zusätzlich kann eine Sichtanzeige der momentanen Wiedergabegeschwindigkeit wie etwa ein Pfeil, der eine Länge aufweist, die die Wiedergabegeschwindigkeit wiedergibt, auf dem Bildschirm angezeigt werden, wenn die Wiedergabegeschwindigkeit nicht gleich der einfachen Wiedergabegeschwindigkeit ist.
  • XIX. Nichtinteraktives digitales audio-visuelles Editieren
  • Durch Initiieren von Suchläufen und in der Geschwindigkeit spezifizierten Playbackvorgängen führt ein Anwender effektiv ein interaktives MPEG-Editieren aus. Dies bedeutet, daß der MPEG-Datenstrom, der in Antwort auf diese Vorgänge erzeugt wird, sich auf den Inhalt der ursprünglichen MPEG-Datei stützt, sich jedoch davon unterscheidet. Zusätzlich zu einer solchen interaktiven Präsentation des Inhalts sorgt die vorliegende Erfindung für einen Mechanismus für ein nichtinteraktives MPEG-Editieren. Während dem nichtinteraktiven MPEG-Editieren wird eine MPEG-Datei erzeugt, die sich auf eine oder mehrere zuvor existierende MPEG-Dateien stützt, sich jedoch von diesen unterscheidet. Mit Bezug auf die 5 und 6 wird der Mechanismus für nichtinteraktives MPEG-Editieren beschrieben.
  • In 5 ist ein MPEG-Editor 502 vorgesehen, der auf der Grundlage eines zuvor existierenden MPEG-Inhalts neue MPEG-Sequenzen erzeugt. Gemäß einem Ausführungsbeispiel liest der MPEG-Editor im Betrieb eine Befehlsdatei 504, die Editierbefehle enthält. Die in der Befehlsdatei 504 enthaltenen Befehle umfassen Parameter zum Spezifizieren von "Scheiben" aus bereits existierenden MPEG-Dateien. Beispielsweise kann jeder Befehl in der Befehlsdatei 504 das folgende Format haben:
    "Dateiname"[Start_Pos][End_Pos][Darstellungsrate]
  • In diesem exemplarischen Befehl repräsentiert der Parameter "Dateiname" eine bereits existierende MPEG-Datei. Die restlichen Parameter spezifizieren eine Scheibe aus der spezifizierten MPEG-Datei. Genauer, der Parameter Start_Pos repräsentiert die Position innerhalb der spezifizierten MPEG-Datei, an der die Scheibe beginnt. Wenn keine Start_Pos bezeichnet ist, wird angenommen, daß die Scheibe beim ersten Bild der spezifizierten MPEG-Datei beginnt. Der Parameter End_Pos repräsentiert die Position, an der die Scheibe endet. Wenn keine End_Pos bezeichnet ist, wird angenommen, daß die Scheibe am Ende der spezifizierten MPEG-Datei endet. Die Darstellungsrate repräsentiert die Wiedergabegeschwindigkeit der Scheibe in bezug auf die ursprüngliche MPEG-Datei. Wenn keine Wiedergabegeschwindigkeit spezifiziert ist, dann wird eine normale (d. h. einfache) Wiedergabegeschwindigkeit angenommen.
  • In der bevorzugten Ausführungsform sind die Parameter Start_Pos und End_Pos bezüglich der Zeit spezifiziert, da Zeitsteuerungsinformationen für einen Anwender typischerweise zugänglicher als Dateipositionsinformationen sind. Beispielsweise will ein Anwender eine Scheibe von zwei Minuten spezifizieren, die in einem bestimmten MPEG-Film nach zehn Minuten beginnt und nach zwölf Minuten endet. Der Anwender will typischerweise nicht die Dateiposition des ersten Bytes im Bild, das in dem Film nach zehn Minuten angezeigt wird, oder das letzte Byte im Bild, das nach zwölf Minuten in dem Film angezeigt wird, kennen. Wie weiter unten erläutert wird, bestimmt der MPEG-Editor 502 Dateipositionen, die spezifizierten Zeiten entsprechen, indem er die Etikettinformationen für die spezifizierte MPEG-Datei untersucht.
  • Die Arbeitsweise des MPEG-Editors 502 soll nun mit Bezug auf 6 beschrieben werden. Im Schritt 600 liest der MPEG-Editor 502 einen Befehl in der Befehlsdatei 504. Vorzugsweise werden die Befehle in derselben Reihenfolge, wie sie in der Befehlsdatei 504 auftreten, gelesen.
  • Deshalb liest der MPEG-Editor 502 den ersten Befehl in der Befehlsdatei 504, zu dem Zeitpunkt, zu dem der Schritt 600 ausgeführt wird.
  • Im Schritt 602 bestimmt der MPEG-Editor 502, ob der Befehl eine einfache Wiedergabegeschwindigkeit spezifiziert. Wenn eine von der einfachen Geschwindigkeit verschiedene Wiedergabegeschwindigkeit spezifiziert ist, geht die Steuerung zum Schritt 604 über. Die Schritte 604 und 608 sind zu den vom Strom-Server 110 und der Videopumpe 130 während eines Playbackvorgangs mit spezifizierter Geschwindigkeit ausgeführten Schritten analog. Genauer, im Schritt 604 wählt der MPEG-Editor 502 Bilder in der spezifizierten MPEG-Datei aus, die in die spezifizierte Zeitperiode (Start_Pos bis End_Pos) fallen. Die Bilder werden auf der Grundlage der spezifizierten Wiedergabegeschwindigkeit und der Zeitinformationen gemäß dem oben im einzelnen beschriebenen Auswahlprozeß ausgewählt. Sobald die Bilder ausgewählt sind, werden Segmente erzeugt (Schritt 606), die die Bilddaten entsprechend den ausgewählten Bildern in MPEG-konforme Pakete packen. Diese Segmente werden nacheinander gespeichert, um einen Abschnitt einer editierten MPEG-Datei 510 zu erzeugen. Die Steuerung geht dann zum Schritt 612 über, der entweder bewirkt, daß der nächste Befehle verarbeitet wird oder daß die Editieroperation endet, falls keine Befehle mehr zu verarbeiten sind.
  • Wenn eine einfache Wiedergabegeschwindigkeit spezifiziert wurde, geht die Steuerung vom Schritt 602 zum Schritt 614 über. In den Schritten 614 und 616 führt der MPEG-Editor 502 eine Operation aus, die zu dem obenbeschriebenen Suchlauf analog ist. Genauer, der Editor 502 vergleicht die spezifizierte Startposition mit den in der Etikettdatei 106 enthaltenen Zeitstempelinformationen, um die Position eines Zielbildes zu bestimmen. Der MPEG-Editor 502 erzeugt dann Vorspanndaten (Schritt 614), um den Übergang zum spezifizierten Bild auszuführen. Nach der Erzeugung der Vorspanndaten kopiert der MPEG-Editor 502 Daten aus der spezifizierten MPEG-Datei in die editierte MPEG-Datei 502, wobei mit dem Beginn des Zielbildes begonnen wird (Schritt 616).
  • Sobald die Daten zwischen Start_Pos und End_Pos in die editierte MPEG-Datei 510 kopiert sind, bestimmt der MPEG-Editor 502, ob die Scheibe am Ende der spezifizierten MPEG-Datei endet (Schritt 610). Wenn die Scheibe am Ende der spezifizierten MPEG-Datei abschließt, endet die Scheibe an einer Paketgrenze. Andernfalls werden Nachspanndaten erzeugt (Schritt 618), um das momentane Paket zu vervollständigen (Schritt 618). Die Steuerung geht dann zum Schritt 612 über, der entweder bewirkt, daß der nächste Befehl verarbeitet wird oder daß die Editoroperation endet, falls keine Befehle mehr zu verarbeiten sind.
  • Wenn vom MPEG-Editor 502 alle Befehle in der Befehlsdatei 504 verarbeitet worden sind, entspricht die editierte MPEG-Datei 510 einer MPEG-konformen Datei, die die durch die Befehle in der Befehlsdatei 504 spezifizierten Scheiben enthält. Wichtig ist, daß die editierte MPEG-Datei 510 erzeugt wird, ohne eine zusätzliche Analog-MPEG-Codierung ausführen zu müssen. Ferner kann das Editieren selbst dann ausgeführt werden, wenn kein Zugriff auf die analogen Versionen der ursprünglichen Erzeugnisse besteht. Wenn MPEG-Dateien in dieser Weise erzeugt werden, kann ein Anwender anhand des bereits existierenden MPEG-Inhalts schnell einmalige und ursprüngliche Filme erzeugen.
  • Typischerweise wird das nichtinteraktive MPEG-Editieren nicht in Echtzeit ausgeführt. Deshalb treffen manche der Zeitbedingungen, die für Echtzeitoperationen gelten, auf das nichtinteraktive MPEG-Editieren nicht zu. Beispielsweise wurde oben erklärt, daß aufgrund von Zeitbedingungen RAID-Fehlerkorrekturtechniken während der Schnellvorlauf- und Schnellrücklaufvorgänge nicht angewandt werden. Da für das nichtinteraktive MPEG-Editieren solche Zeitbedingungen nicht zutreffen, wird während der Schnellvorlauf- und Schnellrücklaufvorgänge, die zur Erzeugung der editierten MPEG-Datei 510 ausgeführt werden, RAID verwendet. Zum Zweck der Erläuterung sind die verschiedenen Datenverzeichnisse, die in dem Editierprozeß verwendet werden, als Dateien gezeigt, die auf einer Speichervorrichtung 140 gespeichert sind. Jedoch kann sich diese Form und dieser Ort der Daten von einer Implementierung zur anderen ändern. Beispielsweise können die verschiedenen Dateien auf separaten Speichervorrichtungen gespeichert sein. Ferner kann eine Anwenderschnittstelle vorgesehen sein, über die ein Anwender graphische Steuerungen betätigen kann, um die Parameter für eine Folge von Scheiben zu spezifizieren.
  • XX. Verteiltes System
  • Wie oben erläutert wurde, sind die während der Echtzeitübertragung von MPEG-Datenströmen ausgeführten Tasks auf den Strom-Server 110 und die Videopumpe 130 aufgeteilt. Die verteilte Art dieser Architektur wird dadurch verstärkt, daß die Videopumpe 130 keinen Zugriff auf die Etikettdatei 106 fordert und der Strom-Server 110 keinen Zugriff auf die MPEG-Datei 104 fordert. Folglich können der Strom-Server 110 und die Videopumpe in verschiedenen Abschnitten des Netzes arbeiten, ohne die Effizienz des Systems 100 zu beeinträchtigen.
  • In der vorhergehenden Beschreibung wurde die Erfindung mit Bezug auf ihre spezifischen Ausführungsformen beschrieben. Selbstverständlich kann diese jedoch verschie denen Modifikationen und Änderungen unterzogen werden, ohne vom Umfang der Erfindung abzuweichen. Die Beschreibung und die Zeichnung sind lediglich als erläuternd und keinesfalls als beschränkend anzusehen.

Claims (57)

  1. Verfahren zum Abspielen einer audiovisuellen Arbeit mit einer zweiten Wiedergaberate, welche in einen digitalen Datenstrom zur Wiedergabe bei einer ersten Wiedergaberate digital codiert wurde, wobei der digitale Datenstrom eine Sequenz von Videorahmendaten einschließt, wobei die Daten jedes Videorahmens in der Sequenz von Videorahmendaten einem Videorahmen in der audiovisuellen Arbeit entsprechen, wobei das Verfahren die folgenden computerimplementierten Schritte aufweist: Auswählen eines ersten Satzes von Videorahmen aus der audiovisuellen Arbeit basierend auf der zweiten Wiedergaberate; Konstruieren eines zweiten digitalen Datenstroms, der die Videorahmen einschließt, die jedem Videorahmen des ausgewählten Satzes von Videorahmen entsprechen; und Übertragen des zweiten digitalen Datenstroms zu einem Dekoder mit einer Datenübertragungsrate; wobei der Schritt des Auswählens des ausgewählten Satzes von Videorahmen das wiederholte Durchführen der folgenden Schritte einschließt: Bestimmen eines Bit-Budgets basierend auf einem ersten Zeitwert, der mit einem zuletzt ausgewählten Videorahmen assoziiert ist, einem zweiten Zeitwert, der mit einem momentanen Rahmen assoziiert ist, der zweiten Wiedergaberate und der Datenübertragungsrate, Ermitteln der Größe der Rahmendaten, die dem momentanen Rahmen entsprechen; falls die Größe der Rahmendaten, die dem momentanen Rahmen entsprechen, das Bit-Budget überschreitet, dann Nicht-Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen und Auswählen eines neuen Rahmens als neuer momentaner Rahmen; und falls die Größe der Rahmendaten, die dem momentanen Rahmen entsprechen, das Bit-Budget nicht überschreitet, dann Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Auswählens des ausgewählten Satzes von Videorahmen folgende Schritte einschließt: Bestimmen, ob die Auswahl des momentanen Rahmens dazu führen würde, dass der zweite digitale Datenstrom eine Auffüllrate (padding rate) haben würde, die geringer ist, als eine vorbestimmte Auffüllrate; und falls die Auswahl des momentanen Rahmens dazu führen würde, dass der zweite digitale Datenstrom eine Auffüllrate aufweist, die geringer ist, als die vorbestimmte Auffüllrate, dann Nicht-Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen.
  3. Verfahren nach Anspruch 2, welches ferner die folgenden Schritte aufweist: Empfangen einer Anfrage von einem Benutzer; Ermitteln einer Antwort auf die Anfrage, und Ersetzen von Auffülldaten in dem zweiten digitalen Datenstrom mit der Antwort auf die Anfrage.
  4. Verfahren nach Anspruch 1, bei dem die Sequenz von Videorahmendaten Videorahmendaten einschließt, aus denen der entsprechende Videorahmen konstruiert werden kann, und zwar ohne Bezugnahme auf irgendwelche anderen Videorahmendaten, sowie ferner Videorahmendaten, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, wobei der Schritt des Auswählens eins ausgewählten Satzes von Videorahmen einschließt: Nicht-Auswählen von irgendeinem Videorahmen, der den Videorahmendaten entspricht, aus denen der entsprechende Videorahmen nicht konstruiert werden kann ohne auf irgendeinen anderen Videorahmen Bezug zu nehmen, für den ausgewählten Satz.
  5. Verfahren nach Anspruch 1, bei dem die Sequenz von Videorahmendaten Videorahmendaten einschließt, aus denen der entsprechende Videorahmen ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, sowie Videorahmendaten, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, wobei der Schritt des Auswählens eines ausgewählten Satzes von Videorahmen einschließt; Auswählen von Videorahmen für den ausgewählten Satz, die Videorahmendaten entsprechen, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, dann und nur dann, wenn die Videorahmen, die den anderen Videorahmendaten entsprechen, auch für den ausgewählten Satz für Videorahmen ausgewählt wurden.
  6. Verfahren nach Anspruch 4, bei dem die zweite Wiedergaberate negativ bezüglich der ersten Wiedergaberate ist.
  7. Verfahren nach Anspruch 1, bei dem die Schritte des Auswählens, Konstruierens und Übertragens parallel ausgeführt werden.
  8. Verfahren nach Anspruch 1, bei dem der Schritt des Konstruierens des zweiten digitalen Datenstroms einschließt: Veranlassen des zweiten digitalen Datenstroms dazu, mit einem vorbestimmten Format übereinzustimmen, und zwar durch Einschließen von Präfixdaten in den zweiten digitalen Datenstrom vor sämtlichen Videorahmendaten, sowie durch Einfügen von Suffixdaten in den zweiten digitalen Datenstrom nach sämtlichen Videorahmendaten.
  9. Verfahren nach Anspruch 8, bei dem der Schritt des Konstruierens des zweiten digitalen Datenstroms einschließt: Einfügen von Verzögerungsdaten in den zweiten digitalen Datenstrom, falls die zweite Wiedergaberate langsamer ist als die erste Wiedergaberate, wobei die Verzögerungsdaten veranlassen, dass mehr Zeit zwischen dem Decodieren von sukzessiven Videorahmen, die in dem zweiten digitalen Datenstrom repräsentiert werden, vergeht als zwischen dem Decodieren von sukzessiven Video-rahmen in dem digitalen Datenstrom vergeht.
  10. Verfahren nach Anspruch 9, bei dem der Schritt des Einfügens von Verzögerungsdaten einschließt: Einfügen von Auffülldaten in den zweiten digitalen Datenstrom zwischen Rahmendaten, die sukzessiven Videorahmen entsprechen.
  11. Verfahren nach Anspruch 9, wobei der Schritt des Einfügens von Verzögerungsdaten einschließt: Einfügen von Decodier-Zeitstempeln in den zweiten digitalen Datenstrom, welche angeben, wann entsprechende Videorahmen, die in den zweiten digitalen Datenstrom repräsentiert werden, decodiert werden sollen.
  12. Verfahren nach Anspruch 1, bei dem der Schritt des Auswählens von einem Streamserver ausgeführt wird, der auf einem ersten Computer läuft und wobei die Schritte des Konstruierens und Übertragens von einer Videopumpe ausgeführt werden, die auf einem zweiten Computer läuft, wobei das Verfahren ferner folgenden Schritt aufweist: Übertragen einer Sequenz von Instruktionen von dem Streamserver zu der Videopumpe, welche angeben, wie die Videopumpe den zweiten digitalen Datenstrom konstruieren soll.
  13. Verfahren nach Anspruch 1, welches ferner folgende Schritte aufweist: Parsen des digitalen Datenstroms, um Etikettinformationen zu erzeugen, wobei die Etiketteinformationen für jeden in dem digitalen Datenstrom repräsentierten Rahmen einschließen: einen Ort der Rahmendaten, die den Rahmen repräsentieren, innerhalb des digitalen Datenstroms, eine Größe der Rahmendaten, die den Rahmen repräsentieren und einen Zeitwert, der angibt, wann der Rahmen während einer Aufführung der audiovisuellen Arbeit bei der ersten Wiedergaberate angezeigt werden soll; und Auswählen des ausgewählten Satzes von Videorahmen basierend auf der Etikettinformation.
  14. Verfahren nach Anspruch 13, bei dem der digitale Datenstrom in eine Mehrzahl von Pakete aufgeteilt ist, wobei der Schritt des Parsens folgende Schritte einschließt: für jeden Rahmen, der in dem digitalen Datenstrom repräsentiert wird, Erzeugen von Daten in der Etikettinformation, welche einen Offset zwischen einer Startgrenze der Rahmendaten für den Rahmen und einem Start des Pakets der Mehrzahl von Pakete, innerhalb der die Startgrenze liegt, angibt.
  15. Verfahren nach Anspruch 8, bei dem ein oder mehrere Nicht-Videopakete innerhalb einer Startgrenze und einer Endgrenze von Rahmendaten für einen gegebenen Rahmen innerhalb dem ausgewählten Satz von Videorahmen enthalten sind, wobei das Verfahren ferner folgenden Schritt aufweist: Entfernen von zumindest einem der ein oder mehreren Nicht-Videopakete aus den Rahmendaten für den gegebenen Rahmen vor dem Übertragen der Rahmendaten für den gegeben Rahmen in dem zweiten digitalen Datenstrom.
  16. Verfahren nach Anspruch 1, welches ferner folgende Schritte aufweist: Übertragen des digitalen Datenstroms an den Dekoder vor dem Empfangen einer Ratenänderungsanforderung von einem Benutzer; Empfangen der Ratenänderungsanforderung von dem Benutzer; und in Reaktion auf die Ratenänderungsanforderung von dem Benutzer, Beenden der Übertragung des digitalen Datenstroms an den Dekoder und Durchführen folgender Schritte: Auswählen des ausgewählten Satzes von Videorahmen, Konstruieren des zweiten digitalen Datenstroms und Übertragen des zweiten digitalen Datenstroms an den Dekoder.
  17. Verfahren nach Anspruch 16, bei dem die Ratenänderungsanforderung einschließt: Daten, welche die zweite Wiedergaberate identifizieren, wobei das Verfahren folgenden Schritt einschließt: Ermitteln der zweiten Wiedergaberate durch Lesen der Daten, die die zweite Wiedergaberate identifizieren, aus der Ratenänderungsanforderung.
  18. Verfahren nach Anspruch 16, bei dem der Schritt des Übertragens des digitalen Datenstroms einschließt: Lesen des digitalen Datenstroms von einer Vielzahl von Speichereinrichtungen, welche Fehlerkorrektur mittels eines redundanten Feldes billiger Laufwerke (RAID) verwenden, und wobei der Schritt des Übertragens des zweiten digitalen Datenstroms einschließt: Lesen von Rahmendaten für den ausgewählten Satz von Videorahmen aus der Mehrzahl von Speichereinrichtungen ohne die Verwendung von RAID-Fehlerkorrektur.
  19. Verfahren nach Anspruch 1, welches ferner folgende Schritte aufweist: Auswählen eines ausgewählten Datenstroms aus einer Mehrzahl von vorher erzeugten und gespeicherten digitalen Datenströmen, wobei jeder der Mehrzahl von digitalen Datenströmen die audiovisuelle Arbeit bei einer unterschiedlichen Wiedergaberate repräsentiert; falls der ausgewählte Datenstrom die audiovisuelle Arbeit bei einer zweiten Wiedergaberate repräsentiert, dann Übertragen von Daten aus dem ausgewählten ohne Durchführen des Schritts des Auswählens eines ausgewählten Satzes von Videorahmen und Konstruieren des zweiten digitalen Datenstroms; falls der ausgewählte Datenstrom nicht die audiovisuelle Arbeit bei der zweiten Wiedergaberate repräsentiert, dann Auswählen des ausgewählten Satzes von Videorahmen aus Rahmen, welche in dem ausgewählten Datenstrom repräsentiert werden; und Konstruieren des zweiten digitalen Datenstroms, um Rahmendaten aus dem ausgewählten Datenstrom einzuschließen.
  20. Verfahren nach Anspruch 19, wobei die Mehrzahl von digitalen Datenströmen eine Mehrzahl von Rahmentypen einschließen, welche einen ersten Rahmentypen einschließen, der all die Informationen enthält, die nötig sind, um einen Rahmen zu rekonstruieren, und der Schritt des Auswählens des ausgewählten Datenstroms basierend darauf ausgeführt wird, wieviele der Videorahmen in dem ausgewählten Satz von Videorahmen den ersten Rahmentypen aufweisen würden.
  21. Verfahren zum Auswählen von Rahmen für die Anzeige während einer Aufführung einer in einer digitalen Videodatei repräsentierten Arbeit bei einer spezifizierten Wiedergaberate, wobei die Aufführung erzeugt wird durch Decodieren eines Datenstroms, der aus der digitalen Videodatei erzeugt wird, welche über einen Kanal erhalten wird, der eine vorbestimmte Datenübertragungsrate aufweist, wobei das Verfahren die wiederholte Ausführung der folgenden Schritte aufweist: Auswählen eines ersten Rahmens, der durch Rahmendaten in der digitalen Videodatei repräsentiert wird, zur Anzeige, wobei der erste Rahmen mit einer ersten Zeit assoziiert ist; Inspizieren eines zweiten Rahmens, der durch Rahmendaten in der digitalen Videodatei repräsentiert wird, wobei der zweite Rahmen mit einer zweiten Zeit assoziiert ist; Ermitteln eins Bit-Budgets, basierend auf der Wiedergaberate, einer Zeitdifferenz zwischend er ersten Zeit und der zweiten Zeit und der vorbestimmten Datenübertragungsrate; Vergleichen des Bit-Budgets mit der Größe der Rahmendaten, die den zweiten Rahmen repräsentieren; falls die Größe der Rahmendaten das Bit-Budget übersteigt, dann Überspringen des zweiten Rahmens; und falls die Größe der Rahmendaten kleiner ist als das Bit-Budget, dann Auswählen des zweiten Rahmens für die Anzeige.
  22. Verfahren nach Anspruch 21, welches ferner aufweist: Überspringen eines Rahmens, der Informationen erfordert, die bereits übersprungen wurden.
  23. Verfahren nach Anspruch 21, bei dem digitale Videodatei eine MPEG-1- oder MPEG-2-Datei ist, welche I-Rahmen, P-Rahmen und B-Rahmen einschließt, wobei das Verfahren ferner folgende Schritte aufweist: Ermitteln, ob der zweite Rahmen ein I-Rahmen, P-Rahmen oder ein B-Rahmen ist; falls der zweite Rahmen ein P-Rahmen ist, dann Überspringen des zweiten Rahmens, wenn irgendwelche I-Rahmen oder P-Rahmen, die zwischen dem ersten Rahmen und dem zweiten Rahmen angeordnet sind, übersprungen wurden; und falls der zweite Rahmen ein B-Rahmen ist, dann Überspringen des zweiten Rahmens, falls irgendwelche I-Rahmen oder P-Rahmen, die zwischen dem ersten Rahmen und dem zweiten Rahmen angeordnet sind, übersprungen wurden.
  24. Verfahren nach Anspruch 21, welches ferner folgende Schritte aufweist: Ermitteln, ob das Auswählen des zweiten Rahmens dazu führen würde, dass der Datenstrom eine Auffüllrate aufweisen würde, die geringer ist als eine vorbestimmte Auffüllrate; und Überspringen des zweiten Rahmens, falls das Auswählen des zweiten Rahmens dazu führen würde, dass der Datenstrom eine Auffüllrate aufweisen würde, die kleiner ist, als die vorbestimmte Auffüllrate.
  25. Verfahren nach Anspruch 21, welches ferner folgenden Schritt aufweist: Auffinden von Daten, welche die ersten Zeit, die zweite Zeit und die Größe der Rahmendaten angeben, die den zweiten Rahmen repräsentieren, und zwar von einer Etikettdatei, die separat von der digitalen Videodatei geführt wird.
  26. Verfahren nach Anspruch 21, bei dem das Verfahren während der Aufführung der in der digitalen Videodatei repräsentierten Arbeit bei der spezifizierten Wiedergaberate in Echtzeit ausgeführt wird.
  27. Verfahren nach Anspruch 21, welches ferner folgende Schritte aufweist: Empfangen von Daten, welche eine Rate zum Überspringen eines bestimmten Typs von Rahmen repräsentiert; Ermitteln, ob der zweite Rahmen dem bestimmten Rahmentyp entspricht; und selbst wenn die Größe der Rahmendaten geringer ist als Bit-Budget, dann Überspringen des zweiten Rahmens, falls es nötig, um die Rate des Überspringens des bestimmten Rahmentyps aufrecht zu erhalten.
  28. Verfahren nach Anspruch 27, bei dem die digitale Videodatei eine MPEG-1- oder eine MPEG-2-Datei ist, wobei der Schritt des Empfangens von Daten, welche eine Rate zum Überspringen des bestimmten Rahmentyps repräsentiert, den Empfang von Daten einschließt, die eine Rate zum Überspringen von I-Rahmen repräsentieren; der Schritt des Ermittelns, ob der zweite Rahmen dem bestimmten Rahmentyp entspricht, die Ermittlung einschließt, ob der zweite Rahmen ein I-Rahmen ist; und der Schritt des Überspringens des zweiten Rahmens zur Aufrechterhaltung der Rate des Überspringens des bestimmten Rahmentyps falls nötig einschließt: Überspringen des zweiten des zweiten Rahmens falls nötig, um die Rate des Überspringens von I-Rahmen aufrecht zu erhalten.
  29. Vorrichtung zum Abspielen einer audiovisuellen Arbeit mit einer zweiten Wiedergaberate, welche in einen digitalen Datenstrom zur Wiedergabe bei einer ersten Wiedergaberate digital codiert wurde, wobei der digitale Datenstrom eine Sequenz von Videorahmendaten einschließt, wobei die Daten jedes Videorahmens in der Sequenz von Videorahmendaten einem Videorahmen in der audiovisuellen Arbeit entsprechen, wobei die Vorrichtung aufweist: eine Einrichtung, die angepasst ist zum Auswählen eines ersten Satzes von Videorahmen aus dem audiovisuellen basierend auf der zweiten Wiedergaberate; eine Einrichtung, die angepasst ist zum Konstruieren eines zweiten digitalen Datenstroms, der die Videorahmen einschließt, die jedem Videorahmen des ausgewählten Satzes von Videorahmen entsprechen; und eine Einrichtung, die angepasst ist zum Übertragen des zweiten digitalen Datenstroms zu einem Dekoder mit einer Datenübertragungsrate; wobei die Einrichtung, die angepasst ist zum Auswählen des ausgewählten Satzes von Videorahmen aufweist: eine Einrichtung, die angepasst ist zum Bestimmen eines Bit-Budgets basierend auf einem ersten Zeitwert, der mit einem zuletzt ausgewählten Videorahmen assoziiert ist, einem zweiten Zeitwert, der mit einem momentanen Rahmen assoziiert ist, der zweiten Wiedergaberate und der Datenübertragungsrate, eine Einrichtung, die angepasst ist zum Ermitteln der Größe der Rahmendaten, die dem momentanen Rahmen entsprechen; eine Einrichtung, die angepasst ist zum falls die Größe der Rahmendaten, die dem momentanen Rahmen entsprechen, das Bit-Budget überschreitet, dann Nicht-Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen und Auswählen eines neuen Rahmens als neuer momentaner Rahmen; und eine Einrichtung, die angepasst ist zum falls die Größe der Rahmendaten, die dem momentanen Rahmen entsprechen, das Bit-Budget nicht überschreitet, dann Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen.
  30. Vorrichtung nach Anspruch 29, wobei die Einrichtung, die angepasst ist zum Auswählen des ausgewählten Satzes von Videorahmen einschließt: eine Einrichtung, die angepasst ist zum Bestimmen, ob die Auswahl des momentanen Rahmens dazu führen würde, dass der zweite digitale Datenstrom eine Auffüllrate (padding rate) haben würde, die geringer ist, als eine vorbestimmte Auffüllrate; und eine Einrichtung, die angepasst ist zum falls die Auswahl des momentanen Rahmens dazu führen würde, dass der zweite digitale Datenstrom eine Auffüllrate aufweist, die geringer ist, als die vorbestimmte Auffüllrate, dann Nicht-Auswählen des momentanen Rahmens als Videorahmen in dem ausgewählten Satz von Videorahmen.
  31. Vorrichtung nach Anspruch 30, welcher ferner aufweist: eine Einrichtung, die angepasst ist zum Empfangen einer Anfrage von einem Benutzer; eine Einrichtung, die angepasst ist zum Ermitteln einer Antwort auf die Anfrage, und eine Einrichtung, die angepasst ist zum Ersetzen von Auffülldaten in dem zweiten digitalen Datenstrom mit der Antwort auf die Anfrage.
  32. Vorrichtung nach Anspruch 28, bei dem die Sequenz von Videorahmendaten Videorahmendaten einschließt, aus denen der entsprechende Videorahmen konstruiert werden kann, und zwar ohne Bezugnahme auf irgendwelche anderen Videorahmendaten, sowie ferner Videorahmendaten, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, wobei die Einrichtung, die angepasst ist zum Auswählens eins ausgewählten Satzes von Videorahmen einschließt: eine Einrichtung, die angepasst ist zum Nicht-Auswählen von irgendeinem Videorahmen, der den Videorahmendaten entspricht, aus denen der entsprechende Videorahmen nicht konstruiert werden kann ohne auf irgendeinen anderen Videorahmen Bezug zu nehmen, für den ausgewählten Satz.
  33. Vorrichtung nach Anspruch 28, bei dem die Sequenz von Videorahmendaten Videorahmendaten einschließt, aus denen der entsprechende Videorahmen ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, sowie Videorahmendaten, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, wobei die Einrichtung, die angepasst ist zum des Auswählens eines ausgewählten Satzes von Videorahmen einschließt: eine Einrichtung, die angepasst ist zum Auswählen von Videorahmen für den ausgewählten Satz, die Videorahmendaten entsprechen, aus denen der entsprechende Videorahmen nicht ohne Bezugnahme auf irgendwelche anderen Videorahmendaten konstruiert werden kann, dann und nur dann, wenn die Videorahmen, die den anderen Videorahmendaten entsprechen, auch für den ausgewählten Satz für Videorahmen ausgewählt wurden.
  34. Vorrichtung nach Anspruch 32, bei dem die zweite Wiedergaberate negativ bezüglich der ersten Wiedergaberate ist.
  35. Vorrichtung nach Anspruch 28, bei dem die Einrichtung, die angepasst ist zum Auswählen, Konstruieren und Übertragen das Auswählen, Konstruieren und Übertragen parallel ausführt.
  36. Vorrichtung nach Anspruch 28, bei dem die Einrichtung, die angepasst ist zum Konstruieren des zweiten digitalen Datenstroms einschließt: eine Einrichtung, die angepasst ist zum Veranlassen des zweiten digitalen Datenstroms dazu, mit einem vorbestimmten Format übereinzustimmen, und zwar durch Einschließen von Präfixdaten in den zweiten digitalen Datenstrom vor sämtlichen Videorahmendaten, sowie durch Einfügen von Suffixdaten in den zweiten digitalen Datenstrom nach sämtlichen Videorahmendaten.
  37. Vorrichtung nach Anspruch 36, bei dem die Einrichtung, die angepasst ist zum Konstruieren des zweiten digitalen Datenstroms einschließt: eine Einrichtung, die angepasst ist zum Einfügen von Verzögerungsdaten in den zweiten digitalen Datenstrom, falls die zweite Wiedergaberate langsamer ist als die erste Wiedergaberate, wobei die Verzögerungsdaten veranlassen, dass mehr Zeit zwischen dem Decodieren von sukzessiven Videorahmen, die in dem zweiten digitalen Datenstrom repräsentiert werden, vergeht als zwischen dem Decodieren von sukzessiven Videorahmen in dem digitalen Datenstrom vergeht.
  38. Vorrichtung nach Anspruch 37, bei dem die Einrichtung, die angepasst ist zum Einfügen von Verzögerungsdaten einschließt: eine Einrichtung, die angepasst ist zum Einfügen von Auffülldaten in den zweiten digitalen Datenstrom zwischen Rahmendaten, die sukzessiven Video-rahmen entsprechen.
  39. Vorrichtung nach Anspruch 37, wobei die Einrichtung, die angepasst ist zum Einfügen von Verzögerungsdaten einschließt: eine Einrichtung, die angepasst ist zum Einfügen von Decodier-Zeitstempeln in den zweiten digitalen Datenstrom, welche angeben, wann entsprechende Videorahmen, die in den zweiten digitalen Datenstrom repräsentiert werden, decodiert werden sollen. digitalen Datenstrom konstruieren soll.
  40. Vorrichtung nach Anspruch 28, bei dem die Einrichtung, die angepasst ist zum Auswählen einen Streamserver aufweist, der auf einem ersten Computer läuft und wobei die Einrichtung, die angepasst ist zum Konstruieren und Übertragen eine Videopumpe aufweist, die auf einem zweiten Computer läuft, wobei der Streamserver angepasst ist zum Übertragen einer Sequenz von Instruktionen von dem Streamserver zu der Videopumpe, welche angeben, wie die Videopumpe den zweiten digitalen Datenstrom konstruieren soll.
  41. Vorrichtung nach Anspruch 28, welche ferner aufweist: eine Einrichtung, die angepasst ist zum Parsen des digitalen Datenstroms, um Etikettinformationen zu erzeugen, wobei die Etiketteinformationen für jeden in dem digitalen Datenstrom repräsentierten Rahmen einschließen: einen Ort der Rahmendaten, die den Rahmen repräsentieren, innerhalb des digitalen Datenstroms, eine Größe der Rahmendaten, die den Rahmen repräsentieren und einen Zeitwert, der angibt, wann der Rahmen während einer Aufführung der audiovisuellen Arbeits bei der ersten Wiedergaberate angezeigt werden soll; und eine Einrichtung, die angepasst ist zum Auswählen des ausgewählten Satzes von Videorahmen basierend auf der Etikettinformation.
  42. Vorrichtung nach Anspruch 41, bei dem der digitale Datenstrom in eine Mehrzahl von Pakete aufgeteilt ist, wobei die Einrichtung, die angepasst ist zum Parsen einschließt: eine Einrichtung, die angepasst ist zum für jeden Rahmen, der in dem digitalen Datenstrom repräsentiert wird, Erzeugen von Daten in der Etikettinformation, welche einen Offset zwischen einer Startgrenze der Rahmendaten für den Rahmen und einem Start des Paktes der Mehrzahl von Pakete, innerhalb der die Startgrenze liegt, angibt.
  43. Vorrichtung nach Anspruch 36, bei dem ein oder mehrere Nicht-Videopakete innerhalb einer Startgrenze und einer Endgrenze von Rahmendaten für einen gegebenen Rahmen innerhalb dem ausgewählten Satz von Videorahmen enthalten sind, wobei die Vorrichtung ferner aufweist: eine Einrichtung, die angepasst ist zum Entfernen von zumindest einem der ein oder mehreren Nicht-Videopakete aus den Rahmendaten für den gegebenen Rahmen vor dem Übertragen der Rahmendaten für den gegeben Rahmen in dem zweiten digitalen Datenstrom.
  44. Vorrichtung nach Anspruch 28, welche ferner aufweist: eine Einrichtung, die angepasst ist zum Übertragen des digitalen Datenstroms an den Dekoder vor dem Empfangen einer Ratenänderungsanforderung von einem Benutzer; eine Einrichtung, die angepasst ist zum Empfangen der Ratenänderungsanforderung von dem Benutzer; und eine Einrichtung, die angepasst ist zum in Reaktion auf die Ratenänderungsanforderung von dem Benutzer, Beenden der Übertragung des digitalen Datenstroms an den Dekoder und Durchführen folgender Schritte: Auswählen des ausgewählten Satzes von Videorahmen, Konstruieren des zweiten digitalen Datenstroms und Übertragen des zweiten digitalen Datenstroms an den Dekoder.
  45. Vorrichtung nach Anspruch 44, bei der die Ratenänderungsanforderung einschließt: Daten, welche die zweite Wiedergaberate identifizieren, wobei die Vorrichtung einschließt: eine Einrichtung, die angepasst ist zum Ermitteln der zweiten Wiedergaberate durch Lesen der Daten, die die zweite Wiedergaberate identifizieren, aus der Ratenänderungsanforderung.
  46. Vorrichtung nach Anspruch 4, bei der die Einrichtung, die angepasst ist zum Übertragens des digitalen Datenstroms angepasst ist zum Lesen des digitalen Datenstroms von einer Vielzahl von Speichereinrichtungen, welche Fehlerkorrektur mittels eines redundanten Feldes billiger Laufwerke (RAID) verwenden, und wobei die Einrichtung, die angepasst ist zum Übertragen des zweiten digitalen Datenstroms angepasst ist zum Lesen von Rahmendaten für den ausgewählten Satz von Videorahmen aus der Mehrzahl von Speichereinrichtungen ohne die Verwendung von RAID-Fehlerkorrektur.
  47. Vorrichtung nach Anspruch 28, welche ferner aufweist: eine Einrichtung, die angepasst ist zum Auswählen eines ausgewählten Datenstroms aus einer Mehrzahl von vorher erzeugten und gespeicherten digitalen Datenströmen, wobei jeder der Mehrzahl von digitalen Datenströmen die audiovisuelle Arbeit bei einer unterschiedlichen Wiedergaberate repräsentiert; eine Einrichtung, die angepasst ist zum falls der ausgewählte Datenstrom die audiovisuelle Arbeit bei einer zweiten Wiedergaberate repräsentiert, dann Übertragen von Daten aus dem ausgewählten ohne Durchführen des Schritts des Auswählens eines ausgewählten Satzes von Videorahmen und Konstruieren des zweiten digitalen Datenstroms; eine Einrichtung, die angepasst ist zum falls der ausgewählte Datenstrom nicht die audiovisuelle Arbeit bei der zweiten Wiedergaberate repräsentiert, dann Auswählen des ausgewählten Satzes von Videorahmen aus Rahmen, welche in dem ausgewählten Datenstrom repräsentiert werden; und Konstruieren des zweiten digitalen Datenstroms, um Rahmendaten aus dem ausgewählten Datenstrom einzuschließen.
  48. Vorrichtung nach Anspruch 47, wobei die Mehrzahl von digitalen Datenströmen eine Mehrzahl von Rahmentypen einschließen, welche einen ersten Rahmentypen einschließen, der all die Informationen enthält, die nötig sind, um einen Rahmen zu rekonstruieren, und der Schritt des Auswählens des ausgewählten Datenstroms basierend darauf ausgeführt wird, wieviele der Videorahmen in dem ausgewählten Satz von Videorahmen den ersten Rahmentypen aufweisen würden.
  49. Vorrichtung zum Auswählen von Rahmen für die Anzeige während einer Aufführung einer in einer digitalen Videodatei repräsentierten Arbeits bei einer spezifizierten Wiedergaberate, wobei die Aufführung erzeugt wird durch Decodieren eines Datenstroms, der aus der digitalen Videodatei erzeugt wird, welche über einen Kanal erhalten wird, der eine vorbestimmte Datenübertragungsrate aufweist, wobei die Vorrichtung eine Einrichtung aufweist, die angepasst ist zur wiederholten Ausführung der folgenden Schritte: Auswählen eines ersten Rahmens, der durch Rahmendaten in der digitalen Videodatei repräsentiert wird, zur Anzeige, wobei der erste Rahmen mit einer ersten Zeit assoziiert ist; Inspizieren eines zweiten Rahmens, der durch Rahmendaten in der digitalen Videodatei repräsentiert wird, wobei der zweite Rahmen mit einer zweiten Zeit assoziiert ist; Ermitteln eins Bit-Budgets, basierend auf der Wiedergaberate, einer Zeitdifferenz zwischend er ersten Zeit und der zweiten Zeit und der vorbestimmten Datenübertragungsrate; Vergleichen des Bit-Budgets mit der Größe der Rahmendaten, die den zweiten Rahmen repräsentieren; falls die Größe der Rahmendaten das Bit-Budget übersteigt, dann Überspringen des zweiten Rahmens; und falls die Größe der Rahmendaten kleiner ist als das Bit-Budget, dann Auswählen des zweiten Rahmens für die Anzeige.
  50. Vorrichtung nach Anspruch 49, welche ferner aufweist: eine Einrichtung, die angepasst ist zum Überspringen eines Rahmens, der Informationen erfordert, die bereits übersprungen wurden.
  51. Vorrichtung nach Anspruch 49, bei dem digitale Videodatei eine MPEG-1- oder MPEG-2-Datei ist, welche I-Rahmen, P-Rahmen und B-Rahmen einschließt, wobei die Vorrichtung ferner aufweist: eine Einrichtung, die angepasst ist zum Ermitteln, ob der zweite Rahmen ein I-Rahmen, P-Rahmen oder ein B-Rahmen ist; eine Einrichtung, die angepasst ist zum falls der zweite Rahmen ein P-Rahmen ist, dann Überspringen des zweiten Rahmens, wenn irgendwelche I-Rahmen oder P-Rahmen, die zwischen dem ersten Rahmen und dem zweiten Rahmen angeordnet sind, übersprungen wurden; und eine Einrichtung, die angepasst ist zum falls der zweite Rahmen ein B-Rahmen ist, dann Überspringen des zweiten Rahmens, falls irgendwelche I-Rahmen oder P-Rahmen, die zwischen dem ersten Rahmen und dem zweiten Rahmen angeordnet sind, übersprungen wurden.
  52. Vorrichtung nach Anspruch 49, welches ferner aufweist: eine Einrichtung, die angepasst ist zum Ermitteln, ob das Auswählen des zweiten Rahmens dazu führen würde, dass der Datenstrom eine Auffüllrate aufweisen würde, die geringer ist als eine vorbestimmte Auffüllrate; und eine Einrichtung, die angepasst ist zum Überspringen des zweiten Rahmens, falls das Auswählen des zweiten Rahmens dazu führen würde, dass der Datenstrom eine Auffüllrate aufweisen würde, die kleiner ist, als die vorbestimmte Auffüllrate.
  53. Vorrichtung nach Anspruch 49, welches ferner aufweist: eine Einrichtung, die angepasst ist zum Auffinden von Daten, welche die erste Zeit, die zweite Zeit und die Größe der Rahmendaten angeben, die den zweiten Rahmen repräsentieren, und zwar von einer Etikettdatei, die separat von der digitalen Videodatei geführt wird.
  54. Vorrichtung nach Anspruch 49, bei der die Rahmenauswahl zur Anzeige während der Aufführung der in der digitalen Videodatei repräsentierten Arbeit bei der spezifizierten Wiedergaberate in Echtzeit ausgeführt wird.
  55. Vorrichtung Anspruch 49, welches ferner aufweist: eine Einrichtung, die angepasst ist zum Empfangen von Daten, welche eine Rate zum Überspringen eines bestimmten Typs von Rahmen repräsentiert; eine Einrichtung, die angepasst ist zum Ermitteln, ob der zweite Rahmen dem bestimmten Rahmentyp entspricht; und zum selbst wenn die Größe der Rahmendaten geringer ist als Bit-Budget, dann Überspringen des zweiten Rahmens, falls es nötig, um die Rate des Überspringens des bestimmten Rahmentyps aufrecht zu erhalten.
  56. Vorrichtung nach Anspruch 49, bei dem die digitale Videodatei eine MPEG-1- oder eine MPEG-2-Datei ist, wobei die Einrichtung, die angepasst ist zum Empfangen von Daten, welche eine Rate zum Überspringen des bestimmten Rahmentyps repräsentiert, eine Einrichtung, die angepasst ist zum Empfang von Daten einschließt, die eine Rate zum Überspringen von I-Rahmen repräsentieren; die Einrichtung, die angepasst ist zum Ermitteln, ob der zweite Rahmen dem bestimmten Rahmentyp entspricht, die eine Einrichtung, die angepasst ist zur Ermittlung einschließt, ob der zweite Rahmen ein I-Rahmen ist; und die Einrichtung, die angepasst ist zum Überspringen des zweiten Rahmens zur Aufrechterhaltung der Rate des Überspringens des bestimmten Rahmentyps einschließt: eine Einrichtung, die angepasst ist zum Überspringen des zweiten des zweiten Rahmens falls nötig, um die Rate des Überspringens von I-Rahmen aufrecht zu erhalten.
  57. Computerprogramm, welches Computerprogrammcode aufweist, um wenn ausgeführt einen Computer in die Lage zu versetzen, ein Verfahren nach einem der Ansprüche 1 bis 27 auszuführen.
DE69633552T 1995-07-14 1996-07-12 Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information Expired - Lifetime DE69633552T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US502480 1995-07-14
US08/502,480 US5659539A (en) 1995-07-14 1995-07-14 Method and apparatus for frame accurate access of digital audio-visual information
PCT/US1996/011662 WO1997004596A2 (en) 1995-07-14 1996-07-12 Method and apparatus for frame accurate access of digital audio-visual information

Publications (2)

Publication Number Publication Date
DE69633552D1 DE69633552D1 (de) 2004-11-11
DE69633552T2 true DE69633552T2 (de) 2005-10-27

Family

ID=23998025

Family Applications (5)

Application Number Title Priority Date Filing Date
DE69621468T Expired - Lifetime DE69621468T2 (de) 1995-07-14 1996-07-12 Verfahren zum Erzeugen eines digitalen Videodatenstroms, ausgehend von einem oder mehreren anderen digitalen Videodatenströmen
DE69633552T Expired - Lifetime DE69633552T2 (de) 1995-07-14 1996-07-12 Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information
DE69633578T Expired - Lifetime DE69633578T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information
DE69633641T Expired - Lifetime DE69633641T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum Ausführen einer Suchoperation während des Aufführens von digitalen audiovisuellen Informationen
DE69637127T Expired - Lifetime DE69637127T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69621468T Expired - Lifetime DE69621468T2 (de) 1995-07-14 1996-07-12 Verfahren zum Erzeugen eines digitalen Videodatenstroms, ausgehend von einem oder mehreren anderen digitalen Videodatenströmen

Family Applications After (3)

Application Number Title Priority Date Filing Date
DE69633578T Expired - Lifetime DE69633578T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information
DE69633641T Expired - Lifetime DE69633641T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum Ausführen einer Suchoperation während des Aufführens von digitalen audiovisuellen Informationen
DE69637127T Expired - Lifetime DE69637127T2 (de) 1995-07-14 1996-07-12 Verfahren und Vorrichtung zum rastergenauen Zugriff auf digitale audiovisuelle Information

Country Status (6)

Country Link
US (2) US5659539A (de)
EP (7) EP0781490B1 (de)
CA (1) CA2197323C (de)
DE (5) DE69621468T2 (de)
HK (1) HK1024799A1 (de)
WO (1) WO1997004596A2 (de)

Families Citing this family (359)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3146937B2 (ja) * 1995-07-13 2001-03-19 日本ビクター株式会社 高能率符号化された動画像情報から早送り,早戻し画像を再生する再生方法
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
US6138147A (en) * 1995-07-14 2000-10-24 Oracle Corporation Method and apparatus for implementing seamless playback of continuous media feeds
US7512698B1 (en) 1995-07-14 2009-03-31 Broadband Royalty Corporation Dynamic quality adjustment based on changing streaming constraints
US9832244B2 (en) * 1995-07-14 2017-11-28 Arris Enterprises Llc Dynamic quality adjustment based on changing streaming constraints
US6119154A (en) * 1995-07-14 2000-09-12 Oracle Corporation Method and apparatus for non-sequential access to an in-progress video feed
US6112226A (en) * 1995-07-14 2000-08-29 Oracle Corporation Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback
JP3894572B2 (ja) * 1995-07-21 2007-03-22 コニンクリユケ フィリップス エレクトロニクス エヌ.ブイ. 圧縮されたテレビジョン信号を送信及び受信する方法
US6049823A (en) * 1995-10-04 2000-04-11 Hwang; Ivan Chung-Shung Multi server, interactive, video-on-demand television system utilizing a direct-access-on-demand workgroup
US6339794B2 (en) * 1995-12-08 2002-01-15 Microsoft Corporation Wire protocol for a media server system
US6865610B2 (en) * 1995-12-08 2005-03-08 Microsoft Corporation Wire protocol for a media server system
US5959690A (en) * 1996-02-20 1999-09-28 Sas Institute, Inc. Method and apparatus for transitions and other special effects in digital motion video
JPH09271002A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp ビデオデータ配信方式
JP3972381B2 (ja) * 1996-04-12 2007-09-05 ソニー株式会社 情報転送装置及び情報転送方法
CA2201679A1 (en) * 1996-04-15 1997-10-15 Raju C. Bopardikar Video data storage
US6570587B1 (en) 1996-07-26 2003-05-27 Veon Ltd. System and method and linking information to a video
US5883670A (en) 1996-08-02 1999-03-16 Avid Technology, Inc. Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer
DE69725533T2 (de) * 1996-08-30 2004-05-19 Matsushita Electric Industrial Co., Ltd., Kadoma Digitales Rundfunksystem, digitale Rundfunkvorrichtung und Empfänger dafür
US5867230A (en) * 1996-09-06 1999-02-02 Motorola Inc. System, device, and method for streaming a multimedia file encoded at a variable bitrate
US5928330A (en) * 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US7055166B1 (en) * 1996-10-03 2006-05-30 Gotuit Media Corp. Apparatus and methods for broadcast monitoring
US7448062B1 (en) * 1996-10-18 2008-11-04 Microsoft Corporation Seamless playback of multiple clips of media data across a data network
US5951646A (en) * 1996-11-25 1999-09-14 America Online, Inc. System and method for scheduling and processing image and sound data
DE69638296D1 (de) * 1996-11-27 2011-01-05 Sony Europ Belgium Nv Vorrichtung zur Abgabe von Daten mit Mustererkennung
US6208655B1 (en) 1996-11-27 2001-03-27 Sony Europa, B.V., Method and apparatus for serving data
JP3653569B2 (ja) 1997-01-30 2005-05-25 マイクロソフト コーポレーション ビデオをオン・デマンドでレンダリングするvcrに似た機能
JPH10234033A (ja) * 1997-02-21 1998-09-02 Matsushita Electric Ind Co Ltd 動画像信号の復号方法および動画像信号の復号装置
US6067303A (en) * 1997-02-25 2000-05-23 International Business Machines Corporation Method and apparatus for detecting and controlling data stream splicing in ATM networks
JP3393143B2 (ja) * 1997-02-26 2003-04-07 三菱電機株式会社 ビデオデータ配信方法、ビデオデータ配信システム、並びに、そのビデオデータ配信方法
KR100302263B1 (ko) * 1997-03-25 2001-09-22 모리시타 요이찌 스트림 데이터 전송방법 및 시스템
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US7412533B1 (en) 1997-03-31 2008-08-12 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US7143177B1 (en) 1997-03-31 2006-11-28 West Corporation Providing a presentation on a network having a plurality of synchronized media types
EP1021917A4 (de) * 1997-03-31 2002-05-15 Broadband Associates Verfahren und system zur lieferung einer darstellung über ein netzwerk
US7490169B1 (en) 1997-03-31 2009-02-10 West Corporation Providing a presentation on a network having a plurality of synchronized media types
WO1998044717A2 (en) 1997-04-01 1998-10-08 Medic Interactive, Inc. System for automated generation of media programs from a database of media elements
US6359882B1 (en) 1997-04-01 2002-03-19 Yipes Communications, Inc. Method and apparatus for transmitting data
US6167083A (en) * 1997-04-04 2000-12-26 Avid Technology, Inc. Computer system and process for capture editing and playback of motion video compressed using interframe and intraframe techniques
US6230295B1 (en) * 1997-04-10 2001-05-08 Lsi Logic Corporation Bitstream assembler for comprehensive verification of circuits, devices, and systems
US5983022A (en) * 1997-04-10 1999-11-09 Lsi Logic Corporation System and method for using profiles to manage data streams for device verification
US6049830A (en) * 1997-05-13 2000-04-11 Sony Corporation Peripheral software download of a broadcast receiver
US5974032A (en) * 1997-05-19 1999-10-26 Motorola, Inc. Method and apparatus for adjusting data rate in a synchronous communication system
DE19720989A1 (de) * 1997-05-20 1998-11-26 Alsthom Cge Alcatel Server zum Anbieten eines Dienstes
US6029194A (en) * 1997-06-10 2000-02-22 Tektronix, Inc. Audio/video media server for distributed editing over networks
US6105083A (en) 1997-06-20 2000-08-15 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
US6266419B1 (en) * 1997-07-03 2001-07-24 At&T Corp. Custom character-coding compression for encoding and watermarking media content
US6360368B1 (en) * 1997-08-01 2002-03-19 Sun Microsystems, Inc. Method and apparatus for reducing overhead associated with content playback on a multiple channel digital media server having analog output
US6728965B1 (en) * 1997-08-20 2004-04-27 Next Level Communications, Inc. Channel changer for use in a switched digital video system
US6785733B1 (en) * 1997-09-05 2004-08-31 Hitachi, Ltd. Transport protocol conversion method and protocol conversion equipment
KR100593581B1 (ko) * 1997-10-17 2006-06-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터를 일정한 사이즈의 전송 패킷으로 캡슐화하는 방법
US6292837B1 (en) * 1997-10-30 2001-09-18 Daniel Miller Apparatus and method for non-sequential image data transmission and display
US6009386A (en) * 1997-11-28 1999-12-28 Nortel Networks Corporation Speech playback speed change using wavelet coding, preferably sub-band coding
EP0960494B1 (de) * 1997-12-16 2006-03-08 Koninklijke Philips Electronics N.V. Synchronisiation in einem atm über stm nachrichtenübertragungsnetzwerk
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6134243A (en) 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
FR2775404A1 (fr) * 1998-02-25 1999-08-27 Philips Electronics Nv Systeme interactif de distribution de signaux audio-video numeriques
US6108686A (en) * 1998-03-02 2000-08-22 Williams, Jr.; Henry R. Agent-based on-line information retrieval and viewing system
US6133938A (en) * 1998-03-14 2000-10-17 Sony Corporation Of Japan Descriptor mechanism for assuring indivisible execution of AV/C operations
US7031348B1 (en) * 1998-04-04 2006-04-18 Optibase, Ltd. Apparatus and method of splicing digital video streams
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
US7272298B1 (en) 1998-05-06 2007-09-18 Burst.Com, Inc. System and method for time-shifted program viewing
US6404711B1 (en) 1998-05-19 2002-06-11 Sony Corporation System including comparing a separated time stamp to a generated timing signal and controlling a timing signal on the basis of continuity of time stamps
JP2000013777A (ja) * 1998-06-26 2000-01-14 Matsushita Electric Ind Co Ltd 映像再生装置及び映像蓄積装置
US6850564B1 (en) * 1998-06-26 2005-02-01 Sarnoff Corporation Apparatus and method for dynamically controlling the frame rate of video streams
US6260108B1 (en) * 1998-07-02 2001-07-10 Lucent Technologies, Inc. System and method for modeling and optimizing I/O throughput of multiple disks on a bus
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6202210B1 (en) * 1998-08-21 2001-03-13 Sony Corporation Of Japan Method and system for collecting data over a 1394 network to support analysis of consumer behavior, marketing and customer support
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6622171B2 (en) * 1998-09-15 2003-09-16 Microsoft Corporation Multimedia timeline modification in networked client/server systems
US6912251B1 (en) * 1998-09-25 2005-06-28 Sarnoff Corporation Frame-accurate seamless splicing of information streams
US6097422A (en) * 1998-10-05 2000-08-01 Panasonic Technologies, Inc. Algorithm for fast forward and fast rewind of MPEG streams
US6487663B1 (en) * 1998-10-19 2002-11-26 Realnetworks, Inc. System and method for regulating the transmission of media data
US6934837B1 (en) 1998-10-19 2005-08-23 Realnetworks, Inc. System and method for regulating the transmission of media data
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6748421B1 (en) * 1998-12-23 2004-06-08 Canon Kabushiki Kaisha Method and system for conveying video messages
US6122660A (en) * 1999-02-22 2000-09-19 International Business Machines Corporation Method for distributing digital TV signal and selection of content
JP4292654B2 (ja) * 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
US6850691B1 (en) 1999-03-30 2005-02-01 Tivo, Inc. Automatic playback overshoot correction system
US6633339B1 (en) * 1999-03-31 2003-10-14 Matsushita Electric Industrial Co., Ltd. Method and device for seamless-decoding video stream including streams having different frame rates
US6604224B1 (en) * 1999-03-31 2003-08-05 Diva Systems Corporation Method of performing content integrity analysis of a data stream
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US8763053B1 (en) 1999-04-01 2014-06-24 Cox Communications, Inc. File system for a file server of a video-on-demand system
US6909743B1 (en) * 1999-04-14 2005-06-21 Sarnoff Corporation Method for generating and processing transition streams
EP1172002A1 (de) * 1999-04-16 2002-01-16 Nokia Corporation Interaktive echtzeitvideodienste
GB9909607D0 (en) * 1999-04-26 1999-06-23 Telemedia Systems Ltd Method of copying a media file
AU2641200A (en) * 1999-04-29 2000-11-02 Thomson Licensing S.A. Method an apparatus for controlling presentation of digital video data
US6625655B2 (en) * 1999-05-04 2003-09-23 Enounce, Incorporated Method and apparatus for providing continuous playback or distribution of audio and audio-visual streamed multimedia reveived over networks having non-deterministic delays
US6625656B2 (en) * 1999-05-04 2003-09-23 Enounce, Incorporated Method and apparatus for continuous playback or distribution of information including audio-visual streamed multimedia
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
US6934759B2 (en) * 1999-05-26 2005-08-23 Enounce, Inc. Method and apparatus for user-time-alignment for broadcast works
US7254175B2 (en) * 1999-07-02 2007-08-07 Crystalmedia Technology, Inc. Frame-accurate seamless splicing of information streams
US7313808B1 (en) 1999-07-08 2007-12-25 Microsoft Corporation Browsing continuous multimedia content
US7293280B1 (en) * 1999-07-08 2007-11-06 Microsoft Corporation Skimming continuous multimedia content
US6704328B1 (en) * 1999-07-26 2004-03-09 Nortel Networks, Limited Signalling scheme and messaging structure to support the smoothing of large bit rate transmissions
US6606660B1 (en) * 1999-08-31 2003-08-12 Accenture Llp Stream-based communication in a communication services patterns environment
DE60045248D1 (de) * 1999-09-20 2010-12-30 Tivo Inc Untertitel-etikettiersystem
US8341662B1 (en) 1999-09-30 2012-12-25 International Business Machine Corporation User-controlled selective overlay in a streaming media
US7010492B1 (en) 1999-09-30 2006-03-07 International Business Machines Corporation Method and apparatus for dynamic distribution of controlled and additional selective overlays in a streaming media
US7339993B1 (en) * 1999-10-01 2008-03-04 Vidiator Enterprises Inc. Methods for transforming streaming video data
IL132859A (en) * 1999-11-10 2008-07-08 Nds Ltd Data stream processing system
US6807550B1 (en) * 1999-12-01 2004-10-19 Microsoft Corporation Methods and systems for providing random access to structured media content
US6988276B2 (en) * 1999-12-14 2006-01-17 Koninklijke Philips Electronics N.V. In-house TV to TV channel peeking
US7149359B1 (en) 1999-12-16 2006-12-12 Microsoft Corporation Searching and recording media streams
US6928655B1 (en) * 1999-12-16 2005-08-09 Microsoft Corporation Live presentation searching
US7051110B2 (en) * 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
WO2001047273A1 (en) 1999-12-21 2001-06-28 Tivo, Inc. Intelligent system and methods of recommending media content items based on user preferences
SE517156C2 (sv) * 1999-12-28 2002-04-23 Global Ip Sound Ab System för överföring av ljud över paketförmedlade nät
US7269785B1 (en) * 1999-12-30 2007-09-11 Genesis Microchip Inc. Digital manipulation of video in digital video player
US7096481B1 (en) 2000-01-04 2006-08-22 Emc Corporation Preparation of metadata for splicing of encoded MPEG video and audio
WO2001056266A2 (en) * 2000-01-28 2001-08-02 Ibeam Broadcasting Corporation Method and apparatus for encoder-based distribution of live video and other streaming content
US6868440B1 (en) 2000-02-04 2005-03-15 Microsoft Corporation Multi-level skimming of multimedia content using playlists
US6763377B1 (en) 2000-03-03 2004-07-13 International Business Machines Corporation Asset management and scheduling graphical user interface for media streamer
US7117259B1 (en) 2000-03-03 2006-10-03 International Business Machines Corporation Server time window for multiple selectable servers in a graphical user interface
US6963910B1 (en) * 2000-03-03 2005-11-08 International Business Machines Corporation Graphical user interface for creating assets
US6593973B1 (en) * 2000-03-21 2003-07-15 Gateway, Inc. Method and apparatus for providing information in video transitions
US7237254B1 (en) 2000-03-29 2007-06-26 Microsoft Corporation Seamless switching between different playback speeds of time-scale modified data streams
US6985966B1 (en) 2000-03-29 2006-01-10 Microsoft Corporation Resynchronizing globally unsynchronized multimedia streams
US6970510B1 (en) * 2000-04-25 2005-11-29 Wee Susie J Method for downstream editing of compressed video
US6973130B1 (en) 2000-04-25 2005-12-06 Wee Susie J Compressed video signal including information for independently coded regions
KR20020091254A (ko) * 2000-05-02 2002-12-05 제너럴 인스트루먼트 코포레이션 암호화된 비디오 스트림의 개별 화상에 대한 랜덤억세스를 가능하게 하기 위한 방법 및 장치
US7302490B1 (en) * 2000-05-03 2007-11-27 Microsoft Corporation Media file format to support switching between multiple timeline-altered media streams
JP4538908B2 (ja) * 2000-06-14 2010-09-08 ソニー株式会社 データ変換装置及び方法
US6871006B1 (en) * 2000-06-30 2005-03-22 Emc Corporation Processing of MPEG encoded video for trick mode operation
US7068596B1 (en) 2000-07-07 2006-06-27 Nevco Technology, Inc. Interactive data transmission system having staged servers
US6892391B1 (en) 2000-07-13 2005-05-10 Stefan Jones Dynamic generation of video content for presentation by a media server
US20050193408A1 (en) * 2000-07-24 2005-09-01 Vivcom, Inc. Generating, transporting, processing, storing and presenting segmentation information for audio-visual programs
US7840691B1 (en) 2000-09-07 2010-11-23 Zamora Radio, Llc Personal broadcast server system for providing a customized broadcast
US20060015904A1 (en) 2000-09-08 2006-01-19 Dwight Marcus Method and apparatus for creation, distribution, assembly and verification of media
US9419844B2 (en) 2001-09-11 2016-08-16 Ntech Properties, Inc. Method and system for generation of media
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US7797276B1 (en) 2000-10-02 2010-09-14 Guang Yang Integrated database data editing system
JP4454821B2 (ja) * 2000-10-03 2010-04-21 キヤノン株式会社 伝送装置、伝送方法、および記憶媒体
WO2002031673A1 (en) * 2000-10-13 2002-04-18 Thin Multimedia, Inc. Method and apparatus for streaming video data
US7231132B1 (en) 2000-10-16 2007-06-12 Seachange International, Inc. Trick-mode processing for digital video
US20020091840A1 (en) * 2000-11-28 2002-07-11 Gregory Pulier Real-time optimization of streaming media from a plurality of media sources
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
US20020078042A1 (en) * 2000-12-19 2002-06-20 Telefonaktiebolaget L M Ericsson (Pub1) System and method for determining affinity relationships
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
GB0108354D0 (en) * 2001-04-03 2001-05-23 Thirdspace Living Ltd System and method for providing a user with access to a plurality of sevices and content from a broadband television service
US20070230921A1 (en) * 2001-04-05 2007-10-04 Barton James M Multimedia time warping system
EP1396150A1 (de) * 2001-04-25 2004-03-10 Koninklijke Philips Electronics N.V. Verfahren und vorrichtung zum kopieren und verarbeiten audiovisueller information
JP4667639B2 (ja) * 2001-05-10 2011-04-13 パナソニック株式会社 映像プロクシサーバ
CA2386303C (en) 2001-05-14 2005-07-05 At&T Corp. Method for content-based non-linear control of multimedia playback
US20060212442A1 (en) * 2001-05-16 2006-09-21 Pandora Media, Inc. Methods of Presenting and Providing Content to a User
US20060206478A1 (en) * 2001-05-16 2006-09-14 Pandora Media, Inc. Playlist generating methods
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
JP3867516B2 (ja) * 2001-05-17 2007-01-10 ソニー株式会社 ディジタル放送受信装置及び方法、情報処理装置及び方法、並びに、情報処理システム
US7106944B2 (en) * 2001-05-30 2006-09-12 Nokia Corporation System and method for jumping to a timepoint in a MPEG file
JP3952302B2 (ja) * 2001-06-22 2007-08-01 ノキア コーポレイション デジタルビデオ録画の自動インデックス作成システム
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
US20050044569A1 (en) * 2003-06-24 2005-02-24 Dwight Marcus Method and apparatus for efficient, entertaining information delivery
GB0117926D0 (en) * 2001-07-23 2001-09-12 Nds Ltd Method for random access to encrypted content
KR100424762B1 (ko) * 2001-09-06 2004-03-30 삼성전자주식회사 영상 데이터 제공 시스템 및 방법
US6921593B2 (en) * 2001-09-28 2005-07-26 Hewlett-Packard Development Company, L.P. Fuel additives for fuel cell
US6738980B2 (en) * 2001-11-15 2004-05-18 Industrial Technology Research Institute Methods and systems for video streaming with VCR functionality
US20090282444A1 (en) * 2001-12-04 2009-11-12 Vixs Systems, Inc. System and method for managing the presentation of video
US20030121047A1 (en) 2001-12-20 2003-06-26 Watson Paul T. System and method for content transmission network selection
US7613727B2 (en) * 2002-02-25 2009-11-03 Sont Corporation Method and apparatus for supporting advanced coding formats in media files
US20030163477A1 (en) * 2002-02-25 2003-08-28 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US20040167925A1 (en) * 2003-02-21 2004-08-26 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7764863B1 (en) * 2002-03-06 2010-07-27 Bigband Networks Inc. System and method for providing trick modes
KR20020057837A (ko) * 2002-03-29 2002-07-12 문의선 스트리밍 서비스 방법 및 장치
US7146322B2 (en) * 2002-04-16 2006-12-05 Sigmatel, Inc. Interleaving of information into compressed digital audio streams
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US7831990B2 (en) * 2002-04-29 2010-11-09 Sony Corporation Generic adaptation layer for JVT video
KR20040106414A (ko) * 2002-04-29 2004-12-17 소니 일렉트로닉스 인코포레이티드 미디어 파일에서 진보된 코딩 포맷의 지원
US7114173B2 (en) * 2002-05-03 2006-09-26 Aol Time Warner Interactive Video Group, Inc. Technique for synchronizing deliveries of information and entertainment in a communications network
US20030206596A1 (en) * 2002-05-03 2003-11-06 David Carver Multimedia content assembly
US7383565B1 (en) * 2002-05-07 2008-06-03 Unisys Corporation Directing process for use in sending trick-mode video streams with a high performance
US7337460B1 (en) * 2002-05-07 2008-02-26 Unisys Corporation Combining process for use in sending trick-mode video streams with a high performance
US7363647B1 (en) * 2002-05-07 2008-04-22 Unisys Corporation Mapping process for use in sending trick-mode video streams with a high performance
US7634532B2 (en) 2002-05-31 2009-12-15 Onkyo Corporation Network type content reproduction system
US20050216945A1 (en) * 2002-06-05 2005-09-29 Mitsuteru Kataoka Control content transmission method and streaming broadcasting system
GB0214444D0 (en) * 2002-06-21 2002-07-31 Thirdspace Living Ltd User interface system
FR2842690B1 (fr) * 2002-07-17 2004-10-08 Thomson Licensing Sa Procede et dispositif de transmission de donnees video pour la mise en oeuvre de modes speciaux
US20040066398A1 (en) * 2002-10-03 2004-04-08 Koninklijke Philips Electronics N.V System and method for removing, trimming and bookmarking images of an ultrasound image sequence
CA2504423C (en) * 2002-10-31 2011-10-18 Arizan Corporation Methods and apparatus for summarizing document content for mobile communication devices
US7926080B2 (en) 2002-11-07 2011-04-12 Microsoft Corporation Trick mode support for VOD with long intra-frame intervals
CN100380958C (zh) 2002-11-15 2008-04-09 索尼株式会社 发送装置、发送方法、再现装置、再现方法
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
JP3879122B2 (ja) * 2003-03-04 2007-02-07 ソニー株式会社 ディスク装置、ディスク記録方法、ディスク再生方法、記録媒体、並びにプログラム
US8832758B2 (en) * 2003-03-17 2014-09-09 Qwest Communications International Inc. Methods and systems for providing video on demand
US7320009B1 (en) 2003-03-28 2008-01-15 Novell, Inc. Methods and systems for file replication utilizing differences between versions of files
US7194188B2 (en) * 2003-04-02 2007-03-20 Oesterreicher Richard T System and method for facilitating fast-forwarding of first-run programs
JP4086718B2 (ja) * 2003-06-10 2008-05-14 キヤノン株式会社 情報処理方法及び情報処理装置
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
KR100523357B1 (ko) * 2003-07-09 2005-10-25 한국전자통신연구원 이더넷 기반 수동형 광네트워크의 보안서비스 제공을 위한키관리 장치 및 방법
US20050013589A1 (en) * 2003-07-14 2005-01-20 Microsoft Corporation Adding recording functionality to a media player
JP2005065122A (ja) * 2003-08-19 2005-03-10 Matsushita Electric Ind Co Ltd 動画像符号化装置および方法
EP2144440A1 (de) * 2003-10-02 2010-01-13 Tivo, Inc. Modifizieren von Werbung für Wiedergabe mit mehreren Geschwindigkeiten
US7725828B1 (en) * 2003-10-15 2010-05-25 Apple Inc. Application of speed effects to a video presentation
US20070058943A1 (en) * 2003-11-10 2007-03-15 Disclive, Inc. System, method and apparatus for rapid mass production of content-inclusive physical media
JP4114596B2 (ja) 2003-11-19 2008-07-09 オンキヨー株式会社 ネットワークavシステム
US20050177618A1 (en) * 2003-12-22 2005-08-11 Randy Zimler Methods, systems and storage medium for managing bandwidth of segmented content
US20050138655A1 (en) * 2003-12-22 2005-06-23 Randy Zimler Methods, systems and storage medium for managing digital rights of segmented content
WO2005076907A2 (en) * 2004-02-04 2005-08-25 Moving Records, Llc Recording, editing, encoding and immediately distributing a live performance
US8825702B2 (en) * 2004-02-24 2014-09-02 Oracle International Corporation Sending control information with database statement
AU2005221100A1 (en) 2004-03-09 2005-09-22 Christopher Ronald Halverson Digital ad insertion for video-on-demand
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US8028323B2 (en) 2004-05-05 2011-09-27 Dryden Enterprises, Llc Method and system for employing a first device to direct a networked audio device to obtain a media item
US9219729B2 (en) * 2004-05-19 2015-12-22 Philip Drope Multimedia network system with content importation, content exportation, and integrated content management
US7080173B2 (en) * 2004-05-27 2006-07-18 Microsoft Corporation Reducing information reception delays
US7792152B1 (en) * 2004-06-08 2010-09-07 Owlink Technology, Inc. Scheme for transmitting video and audio data of variable formats over a serial link of a fixed data rate
EP1779658B1 (de) * 2004-07-01 2012-12-26 OY Gamecluster Ltd Verfahren und einrichtung zum versorgen eines decoders mit daten
JP5281793B2 (ja) * 2004-07-07 2013-09-04 トムソン ライセンシング 冗長なビデオ・ストリームを用いた、dslを介したディジタル・ビデオ放送システムにおける高速チャンネル切替え
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
JP4843208B2 (ja) * 2004-09-30 2011-12-21 株式会社東芝 デジタルコンテンツ編集装置、デジタルコンテンツ編集方法、デジタルコンテンツ編集プログラムおよびデジタルコンテンツ編集プログラムを記録した記録媒体
DE102004050424B4 (de) * 2004-10-15 2010-04-15 Bosch Rexroth Ag Verfahren zur Übertragung von Daten in einem Kommunikationssystem
US20060090186A1 (en) * 2004-10-21 2006-04-27 Santangelo Bryan D Programming content capturing and processing system and method
US7797720B2 (en) * 2004-10-22 2010-09-14 Microsoft Corporation Advanced trick mode
CN101077006A (zh) 2004-11-19 2007-11-21 Tivo股份有限公司 用于先前播放内容的安全传输的方法和设备
EP1675399A3 (de) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Schnelle Kanalumschaltung für Digitalfernsehen
US20090064242A1 (en) * 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
JP2006236475A (ja) * 2005-02-24 2006-09-07 Toshiba Corp 符号化データ再生装置
US8078740B2 (en) 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US8442126B1 (en) 2005-06-14 2013-05-14 Apple Inc. Synchronizing audio and video content through buffer wrappers
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US7500175B2 (en) * 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US20070006078A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US8225392B2 (en) * 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US8055783B2 (en) * 2005-08-22 2011-11-08 Utc Fire & Security Americas Corporation, Inc. Systems and methods for media stream processing
US7792144B2 (en) * 2005-11-14 2010-09-07 Broadcom Corporation Processing data packets using navigational hardware assist
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US20070157267A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Techniques to improve time seek operations
CA2636289A1 (en) * 2006-01-04 2007-07-19 Audiovox Corporation Receiver and distribution unit for vehicle entertainment system
JP4564464B2 (ja) * 2006-01-05 2010-10-20 株式会社東芝 デジタルコンテンツ再生装置、方法およびプログラム
US7577980B2 (en) * 2006-01-19 2009-08-18 International Business Machines Corporation Bit-rate constrained trick play through stream switching and adaptive streaming
US20090307732A1 (en) * 2006-03-07 2009-12-10 Noam Cohen Personalized Insertion of Advertisements in Streaming Media
US20070213140A1 (en) * 2006-03-09 2007-09-13 Miller Larry D Golf putter and system incorporating that putter
US20070286600A1 (en) * 2006-06-09 2007-12-13 Owlink Technology, Inc. Universal IR Repeating over Optical Fiber
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US7826712B2 (en) * 2006-08-29 2010-11-02 Echostar Technologies Corporation Method and apparatus for receiving, storing, and presenting multimedia programming without indexing prior to storage
EP2071847A4 (de) * 2006-09-29 2011-02-23 Sony Corp Informationsverarbeitungseinrichtung und -verfahren und programm
US8161387B1 (en) * 2006-12-18 2012-04-17 At&T Intellectual Property I, L. P. Creation of a marked media module
CN101568475B (zh) * 2006-12-21 2013-07-24 利乐拉瓦尔集团及财务有限公司 包装层压板和制造该包装层压板的方法及包装容器
CA2616440C (en) * 2006-12-29 2015-02-17 Broadband Royalty Corporation Source optimized dynamic trickplay
CN100551043C (zh) * 2007-02-08 2009-10-14 华为技术有限公司 一种快进快退播放视频数据的方法和流媒体服务器
DK2119185T3 (en) * 2007-03-08 2015-09-28 Ericsson Telefon Ab L M Search and sync for using globalscenetid
US8312492B2 (en) 2007-03-19 2012-11-13 At&T Intellectual Property I, L.P. Systems and methods of providing modified media content
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
US9015179B2 (en) * 2007-05-07 2015-04-21 Oracle International Corporation Media content tags
CN101321265B (zh) * 2007-06-07 2011-03-16 中兴通讯股份有限公司 对等网络媒体点播跨帧播放方式的实现方法及系统
US8145704B2 (en) 2007-06-13 2012-03-27 Ntech Properties, Inc. Method and system for providing media programming
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US20090083811A1 (en) * 2007-09-26 2009-03-26 Verivue, Inc. Unicast Delivery of Multimedia Content
US8165450B2 (en) 2007-11-19 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for filtering content in a video stream using text data
US8165451B2 (en) 2007-11-20 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for displaying information regarding interstitials of a video stream
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US9015147B2 (en) * 2007-12-20 2015-04-21 Porto Technology, Llc System and method for generating dynamically filtered content results, including for audio and/or video channels
US8316015B2 (en) 2007-12-21 2012-11-20 Lemi Technology, Llc Tunersphere
US8117193B2 (en) * 2007-12-21 2012-02-14 Lemi Technology, Llc Tunersphere
US8799535B2 (en) * 2008-01-11 2014-08-05 Akamai Technologies, Inc. Storage of data utilizing scheduling queue locations associated with different data rates
US8364892B2 (en) * 2008-01-11 2013-01-29 Verivue, Inc. Asynchronous and distributed storage of data
US8261245B2 (en) * 2008-01-22 2012-09-04 International Business Machines Corporation Method and system for associating profiler data with a reference clock
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US20090222868A1 (en) * 2008-02-29 2009-09-03 At&T Knowledge Ventures, L.P. Service for providing shared multimedia content
CN101540881B (zh) * 2008-03-19 2011-04-13 华为技术有限公司 实现流媒体定位播放的方法、装置及系统
US8606085B2 (en) 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
US8156520B2 (en) 2008-05-30 2012-04-10 EchoStar Technologies, L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20090307741A1 (en) * 2008-06-09 2009-12-10 Echostar Technologies L.L.C. Methods and apparatus for dividing an audio/video stream into multiple segments using text data
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
EP2150059A1 (de) * 2008-07-31 2010-02-03 Vodtec BVBA Verfahren und entsprechende Vorrichtung zur Videoerzeugung
US8326075B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video encoding using adaptive loop filter
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8325796B2 (en) * 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8494899B2 (en) 2008-12-02 2013-07-23 Lemi Technology, Llc Dynamic talk radio program scheduling
US8588579B2 (en) 2008-12-24 2013-11-19 Echostar Technologies L.L.C. Methods and apparatus for filtering and inserting content into a presentation stream using signature data
US8510771B2 (en) 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8407735B2 (en) 2008-12-24 2013-03-26 Echostar Technologies L.L.C. Methods and apparatus for identifying segments of content in a presentation stream using signature data
CN101459693A (zh) * 2008-12-29 2009-06-17 中兴通讯股份有限公司 一种流媒体下载方法及系统
EP2374128B1 (de) * 2009-01-07 2014-07-02 Nds Limited Datenstromspeichersystem
US8743906B2 (en) * 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
US9906757B2 (en) * 2009-02-26 2018-02-27 Akamai Technologies, Inc. Deterministically skewing synchronized events for content streams
US9565397B2 (en) * 2009-02-26 2017-02-07 Akamai Technologies, Inc. Deterministically skewing transmission of content streams
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US20100269147A1 (en) * 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US7657337B1 (en) 2009-04-29 2010-02-02 Lemi Technology, Llc Skip feature for a broadcast or multicast media station
US8806047B2 (en) 2009-04-29 2014-08-12 Lemi Technology, Llc Skip feature for a broadcast or multicast media station
US9032299B2 (en) * 2009-04-30 2015-05-12 Apple Inc. Tool for grouping media clips for a media editing application
US9564173B2 (en) 2009-04-30 2017-02-07 Apple Inc. Media editing application for auditioning different types of media clips
US8631326B2 (en) * 2009-04-30 2014-01-14 Apple Inc. Segmented timeline for a media-editing application
US8881013B2 (en) * 2009-04-30 2014-11-04 Apple Inc. Tool for tracking versions of media sections in a composite presentation
US8359537B2 (en) 2009-04-30 2013-01-22 Apple Inc. Tool for navigating a composite presentation
US8549404B2 (en) 2009-04-30 2013-10-01 Apple Inc. Auditioning tools for a media editing application
US8701007B2 (en) * 2009-04-30 2014-04-15 Apple Inc. Edit visualizer for modifying and evaluating uncommitted media content
US8555169B2 (en) * 2009-04-30 2013-10-08 Apple Inc. Media clip auditioning used to evaluate uncommitted media content
US8522144B2 (en) * 2009-04-30 2013-08-27 Apple Inc. Media editing application with candidate clip management
US8437617B2 (en) 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
US9036092B2 (en) * 2013-06-24 2015-05-19 Broadcom Corporation Video channel change system
CN101651833B (zh) * 2009-09-10 2012-01-11 中兴通讯股份有限公司 一种i帧检索方法及装置
EP2302845B1 (de) 2009-09-23 2012-06-20 Google, Inc. Verfahren und Vorrichtung zur Bestimmung eines Jitterpuffer-Niveaus
US20110197224A1 (en) * 2010-02-09 2011-08-11 Echostar Global B.V. Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US9357244B2 (en) * 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
US8910046B2 (en) 2010-07-15 2014-12-09 Apple Inc. Media-editing application with anchored timeline
US8819557B2 (en) 2010-07-15 2014-08-26 Apple Inc. Media-editing application with a free-form space for organizing or compositing media clips
US8875025B2 (en) 2010-07-15 2014-10-28 Apple Inc. Media-editing application with media clips grouping capabilities
US8477050B1 (en) 2010-09-16 2013-07-02 Google Inc. Apparatus and method for encoding using signal fragments for redundant transmission of data
WO2012050832A1 (en) 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
US8472783B2 (en) 2010-11-30 2013-06-25 Echostar Technologies L.L.C. Systems and methods for digital video high accuracy fast forward, rewind and skip
US10057535B2 (en) 2010-12-09 2018-08-21 Comcast Cable Communications, Llc Data segment service
CN102137302A (zh) * 2010-12-09 2011-07-27 华为技术有限公司 流媒体视频内容的播放方法和装置
US20120198319A1 (en) 2011-01-28 2012-08-02 Giovanni Agnoli Media-Editing Application with Video Segmentation and Caching Capabilities
US9099161B2 (en) 2011-01-28 2015-08-04 Apple Inc. Media-editing application with multiple resolution modes
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
US9412414B2 (en) 2011-02-16 2016-08-09 Apple Inc. Spatial conform operation for a media-editing application
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
US8839110B2 (en) 2011-02-16 2014-09-16 Apple Inc. Rate conform operation for a media-editing application
US8966367B2 (en) 2011-02-16 2015-02-24 Apple Inc. Anchor override for a media-editing application with an anchored timeline
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US20120210219A1 (en) 2011-02-16 2012-08-16 Giovanni Agnoli Keywords and dynamic folder structures
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8744249B2 (en) 2011-06-17 2014-06-03 Apple Inc. Picture selection for video skimming
US8737820B2 (en) 2011-06-17 2014-05-27 Snapone, Inc. Systems and methods for recording content within digital video
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US20130073960A1 (en) 2011-09-20 2013-03-21 Aaron M. Eppolito Audio meters and parameter controls
US9536564B2 (en) 2011-09-20 2017-01-03 Apple Inc. Role-facilitated editing operations
US8886765B2 (en) 2011-10-31 2014-11-11 Motorola Mobility Llc System and method for predicitive trick play using adaptive video streaming
US9792955B2 (en) 2011-11-14 2017-10-17 Apple Inc. Automatic generation of multi-camera media clips
US9565476B2 (en) * 2011-12-02 2017-02-07 Netzyn, Inc. Video providing textual content system and method
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US20130147686A1 (en) * 2011-12-12 2013-06-13 John Clavin Connecting Head Mounted Displays To External Displays And Other Communication Networks
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
KR101917174B1 (ko) * 2012-02-24 2018-11-09 삼성전자주식회사 전자 장치 사이의 스트림 전송 방법 및 그 방법을 처리하는 전자 장치
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9131073B1 (en) 2012-03-02 2015-09-08 Google Inc. Motion estimation aided noise reduction
US9344729B1 (en) 2012-07-11 2016-05-17 Google Inc. Selective prediction signal filtering
US9014544B2 (en) 2012-12-19 2015-04-21 Apple Inc. User interface for retiming in a media authoring tool
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US20150067744A1 (en) * 2013-08-27 2015-03-05 Home Box Office, Inc. Providing responsive video previews during rewind and fast forward
CN105745930B (zh) * 2013-12-18 2019-04-02 英特尔公司 用于图像比特流处理的技术
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
US10102613B2 (en) 2014-09-25 2018-10-16 Google Llc Frequency-domain denoising
US10020001B2 (en) 2014-10-01 2018-07-10 Dolby International Ab Efficient DRC profile transmission
US11051075B2 (en) 2014-10-03 2021-06-29 Dish Network L.L.C. Systems and methods for providing bookmarking data
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
US10565258B2 (en) 2015-12-10 2020-02-18 Comcast Cable Communications, Llc Selecting and sharing content
CN105611390B (zh) * 2015-12-31 2019-01-29 宁波卡酷动画制作有限公司 一种对竖屏视频文件进行图文合成的方法及装置
CN105657538B (zh) * 2015-12-31 2019-01-08 杭州雅乐互动科技有限公司 一种通过移动终端对视频文件进行合成的方法及装置
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
CN110113621B (zh) * 2018-02-01 2023-03-03 腾讯科技(深圳)有限公司 媒体信息的播放方法和装置、存储介质、电子装置
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014125A (en) * 1989-05-05 1991-05-07 Cableshare, Inc. Television system for the interactive distribution of selectable video presentations
US5267351A (en) * 1989-12-22 1993-11-30 Avid Technology, Inc. Media storage and retrieval system
JP3449734B2 (ja) * 1991-08-20 2003-09-22 ソニー株式会社 情報再生装置および情報再生方法
GB9124337D0 (en) * 1991-11-15 1992-01-08 Philips Electronic Associated Method of storing user information items and apparatus for reproducing stored items
JP3161614B2 (ja) * 1991-11-30 2001-04-25 ソニー株式会社 動画像復号化装置
US5442389A (en) * 1992-12-28 1995-08-15 At&T Corp. Program server for interactive television system
US5513011A (en) * 1993-01-25 1996-04-30 Matsushita Electric Industrial Co., Ltd. Method and apparatus for recording or reproducing video data on or from storage media
WO1994023428A1 (en) * 1993-03-26 1994-10-13 Sony Corporation Disklike recording medium, apparatus for recording data on disk, and apparatus for reproducing data from disk
EP0625857B1 (de) * 1993-05-19 1998-06-24 ALCATEL BELL Naamloze Vennootschap Videoserver
DE69319329T2 (de) * 1993-05-19 1998-10-29 Alsthom Cge Alcatel Verfahren zur Speicherverwaltung eines Videoservers
CA2127347A1 (en) * 1993-07-07 1995-01-08 Donald F. Hooper Segmented video on-demand system
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
US5481542A (en) * 1993-11-10 1996-01-02 Scientific-Atlanta, Inc. Interactive information services control system
EP0653884A1 (de) * 1993-11-17 1995-05-17 BELL TELEPHONE MANUFACTURING COMPANY Naamloze Vennootschap Interaktives Netzwerk für Video auf Anfrage
DE69332379T2 (de) * 1993-11-23 2003-07-10 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Tintenwiedergabe
GB2287845B (en) * 1994-03-18 1998-03-25 Sony Uk Ltd Multichannel video data storage
US5521841A (en) * 1994-03-31 1996-05-28 Siemens Corporate Research, Inc. Browsing contents of a given video sequence
US5521630A (en) * 1994-04-04 1996-05-28 International Business Machines Corporation Frame sampling scheme for video scanning in a video-on-demand system
US5566174A (en) * 1994-04-08 1996-10-15 Philips Electronics North America Corporation MPEG information signal conversion system
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information

Also Published As

Publication number Publication date
EP1478182B1 (de) 2011-06-08
DE69633641D1 (de) 2004-11-18
EP0963117B1 (de) 2004-10-06
DE69621468D1 (de) 2002-07-04
EP1478182A1 (de) 2004-11-17
CA2197323A1 (en) 1997-02-06
DE69633641T2 (de) 2005-11-03
EP1487213B1 (de) 2007-06-06
EP0963117A1 (de) 1999-12-08
EP1478182A8 (de) 2005-02-02
WO1997004596A2 (en) 1997-02-06
EP0781490A1 (de) 1997-07-02
EP0964578A3 (de) 1999-12-22
DE69637127T2 (de) 2008-02-07
DE69621468T2 (de) 2002-12-05
CA2197323C (en) 2001-10-30
EP1487213A1 (de) 2004-12-15
DE69637127D1 (de) 2007-07-19
EP1487213B8 (de) 2007-07-18
WO1997004596A3 (en) 1997-04-17
EP0964578A2 (de) 1999-12-15
EP2265015A1 (de) 2010-12-22
EP0963118B1 (de) 2004-10-13
EP0781490B1 (de) 2004-10-06
US5864682A (en) 1999-01-26
EP0963118A1 (de) 1999-12-08
EP1478182A3 (de) 2005-03-16
US5659539A (en) 1997-08-19
EP0964578B1 (de) 2002-05-29
HK1024799A1 (en) 2000-10-20
DE69633578D1 (de) 2004-11-11
DE69633578T2 (de) 2005-11-17
DE69633552D1 (de) 2004-11-11

Similar Documents

Publication Publication Date Title
DE69633552T2 (de) Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information
DE69837726T2 (de) Verfahren und Vorrichtung zum Realisieren einer nahtlosen Wiedergabe von kontinuierlichen Medien-Zuführungen
DE69811386T2 (de) Verfahren und vorrichtung zur gleichzeitigen codierung und markierung von digitalen videodaten
DE69812994T2 (de) Verfahren und vorrichtung für nicht-sequentiellen zugang zu einem laufenden videoprogramm
DE60102831T2 (de) System und verfahren zur verarbeitung von mpeg-stroemen fuer die einfuegung von dateiindex
DE69934085T2 (de) Rastergenaue editierung kodierter audiovisueller sequenzen
DE69704942T2 (de) Multimediasystem mit verbesserten datenverwaltungsmechanismen
DE69727372T2 (de) System und verfahren zur erzeugung von trickwiedergabe-videodatenströmen aus einem komprimierten normalwiedergabe-videodatenstrom
DE69727100T2 (de) Vorrichtung und Verfahren zur Indexierung zwischen Videodatenfolgen mit Trick- und Normalwiedergabe in einem Videoverteilsystem
US7058721B1 (en) Dynamic quality adjustment based on changing streaming constraints
DE69935861T2 (de) Multimedia zeitverschiebungssystem
DE69900031T2 (de) Optische Scheibe, Vorrichtung und Verfahren zur Aufnahme auf einer optischen Scheibe
DE69736706T2 (de) Verfahren und gerät zum spleissen komprimierter datenflüsse
DE60130180T2 (de) Verfahren zur kodierung und dekodierung, aufzeichnungsmedium und programm
DE60111722T2 (de) Unterbrechung und fortsetzung von sendungen für erweitertes fernsehen
DE69528091T2 (de) Verfahren und Vorrichtung zum Aufzeichnen und Wiedergeben von komprimierten Videodaten
DE60223483T2 (de) Verfahren zum aufzeichenen eines digitalen Rundfunkprogramms und zeitbasierter Wiedergabe eines aufgezeichneten Rundfunkprogramms und zugehörige Vorrichtung
DE69527133T2 (de) Speichereinheit
DE60130104T2 (de) System und verfahren zur sofortigen wiederholung mit mehreren perspektiven
DE69517793T2 (de) Speichereinheit zur Aufzeichnung von Informationsdaten vorzugsweise von Video- und/oder Audiodaten
DE69518143T2 (de) System für Information auf Anfrage mit Mehrfachübertragung
DE69527276T2 (de) Informationsdienstsystem mit Archiv- und Abgabespeichereinheit
DE69517792T2 (de) Informationsdienstsystem mit Speichermedienverwaltung
CA2328238C (en) Method of preprocessing a digital data stream
Ghandeharizadeh et al. Scalable video browsing techniques for intranet video servers

Legal Events

Date Code Title Description
8364 No opposition during term of opposition