DE69633552T2 - Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information - Google Patents
Verfahren und vorrichtung zum bildgenauen zugriff auf digitale audiovisuelle information Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 92
- 238000003384 imaging method Methods 0.000 title 1
- 230000005540 biological transmission Effects 0.000 claims description 40
- 238000012546 transfer Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 30
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 6
- 238000012508 change request Methods 0.000 claims 10
- 238000004590 computer program Methods 0.000 claims 2
- 238000010276 construction Methods 0.000 claims 1
- 238000011835 investigation Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 10
- 230000002452 interceptive effect Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/23805—Controlling the feeding rate to the network, e.g. by controlling the video pump
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44004—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
- G11B2020/00072—Time or data compression or expansion the compressed signal including a video signal
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/40—Combinations of multiple record carriers
- G11B2220/41—Flat 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/415—Redundant array of inexpensive disks [RAID] systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data 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 in1a 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 Bild20 weg zeigt. Die Bilder26 und34 repräsentieren P-Bilder. Ein P-Bild hängt vom vorangehenden I- oder P-Bild ab. Folglich zeigt ein Pfeil36 von dem P-Bild26 auf das I-Bild20 , während ein Pfeil38 von dem P-Bild34 auf das P-Bild26 zeigt. - Die Bilder
22 ,24 ,28 ,30 und32 repräsentieren B-Bilder. B-Bilder hängen von den vorangehenden und von den nachfolgenden I- oder P-Bilder ab. Folglich zeigen ein Pfeil40 von jedem Bild22 ,24 ,28 ,30 und32 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 in3a 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 in4a 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 von5 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 Übermittlungssystem100 für audio-visuelle Informationen gemäss einem Ausführungsbeispiel der Erfindung zeigt. Das Übermittlungssystem100 für audio-visuelle Informationen enthält mehrere Clients (1 – n)160 ,170 und180 . Die Clients (1 – n)160 ,170 und180 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 und180 vorgeschaltete Umsetzerboxen sein, die mit einem Wiedergabegerät wie etwa einem Fernsehgerät gekoppelt sind. - Wie in
1b gezeigt ist, enthält das Übermittlungssystem100 für audio-visuelle Informationen außerdem einen Strom-Server110 , der mit einem Steuernetz120 gekoppelt ist. Das Steuernetz120 kann ein beliebiges Netz sein, das eine Kommunikation zwischen zwei oder mehreren Geräten ermöglicht. Beispielsweise kann das Steuernetz120 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 und180 , die ebenfalls an das Steuernetz120 gekoppelt sind, kommunizieren mit dem Strom-Server110 über das Steuernetz120 . Beispielsweise können die Clients160 ,170 und180 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 Videopumpe130 , eine Massenspeichervorrichtung140 und ein Netz150 mit einer hohen Bandbreite. Die Videopumpe130 ist mit dem Strom-Server110 gekoppelt und empfängt von diesem Befehle. Die Videopumpe130 ist mit der Massenspeichervorrichtung140 gekoppelt, so daß die Videopumpe130 Daten in der Massenspeichervorrichtung140 speichert und Daten aus derselben wiedergewinnt. Die Massenspeichervorrichtung140 kann irgendeine Art von Gerät oder Geräten sein, die zur Speicherung großer Datenmengen verwendet werden. Beispielsweise kann die Massenspeichervorrichtung140 eine magnetische Speichervorrichtung oder eine optische Speichervorrichtung sein. Unter der Massenspeichervorrichtung140 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 Netze120 und150 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 und180 Informationen von der Videopumpe130 über das Netz150 mit hoher Bandbreite. Das Netz150 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 Netz150 mit hoher Bandbreite eine Schaltung im asynchronen Übertragungsmodus (ATM) oder eine Stammleitung wie etwa eine T1- oder E1-Leitung sein. Außerdem kann das Netz150 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 Videopumpe130 bei einem minimalen Overhead die Übertragung großer Datenmengen aus der Massenspeichervorrichtung140 über das Netz150 mit hoher Bandbreite an die Clients (1 – n)160 ,170 und180 . Ferner ermöglicht das Übermittlungssystem100 für audio-visuelle Informationen den Clients (1 – n)160 ,170 und180 die Übertragung von Anforderungen an den Strom-Server110 über das Steuernetz120 unter Verwendung eines Standard-Netzprotokolls. In einer bevorzugten Ausführungsform wird das zugrundeliegende Protokoll sowohl für das Netz150 mit hoher Bandbreite als auch das Steuernetz120 verwendet. Der Strom-Server110 kann aus einem einzelnen Computersystem oder aus mehreren, als Server konfigurierten Rechnern bestehen. Ähnlich kann die Videopumpe130 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 oder180 eine Anforderung an den Strom-Server110 . In Antwort auf die Anforderung überträgt der Strom-Server110 Befehle an die Videopumpe130 , 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 Videopumpe130 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-Server110 außerdem "Vorspanndaten" an die Videopumpe130 und fordert die Videopumpe130 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 Videopumpe130 die digitalen audio-visuellen Daten ausgehend vom spezifizierten Ort in der spezifizierten digitalen audiovisuellen Datei auf der Massenspeichervorrichtung140 wiederzugewinnen. Zum Zweck der Erläuterung wird angenommen, daß das System100 audio-visuelle Informationen gemäß einem oder mehrerer der MPEG-Formate liefert. Somit gewinnt die Videopumpe130 die audio-visuellen Daten aus einer MPEG-Datei104 auf der Massenspeichervorrichtung140 wieder. - Die Videopumpe
130 überträgt die Vorspanndaten an den Client und unmittelbar darauf die aus der Massenspeichervorrichtung140 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-Datei104 wiedergewonnen, weshalb sie eine Reihe von MPEG-konformen Paketen bilden. Die Videopumpe130 überträgt diese Pakete an den anfordernden Client über das Netz150 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 Etikettdateigenerator112 . Der Etikettdateigenerator112 erzeugt aus der MPEG-Datei104 eine Etikettdatei106 . Für den gespeicherten MPEG-Inhalt wird der Etikettdateierzeugungsvorgang durch den Etikettdateigenerator112 "off-line" (d. h. vor einer Client-Anforderung von MPEG-Daten aus der MPEG-Datei104 ) 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 Etikettdateigenerator112 die Etikettdatei106 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-Server110 und die Videopumpe130 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 Etikettdateigenerator112 ist beispielsweise als selbständige Einheit gezeigt. Jedoch kann der Etikettdateigenerator112 in einer Ausführungsform in einem MPEG-Codierer enthalten sein. Ein solcher MPEG-Codierer würde die in der Etikettdatei106 enthaltenen Informationen gleichzeitig mit der Erzeugung der in der MPEG-Datei104 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-Server110 zur Implementierung von Schnellvorlauf-, Schnellrücklauf-, Langsamvorlauf-, Langsamrücklauf- und Suchoperationen verwendet werden. Die Verwendung der Etikettdatei106 zur Durchführung dieser Operationen wird weiter unten näher beschrieben. Die Etikettdatei106 enthält allgemeine Informationen über die MPEG-Datei104 und spezifische Informationen über die einzelnen Videobilder in der MPEG-Datei104 . Bevor die Inhalte der Etikettdatei106 näher besprochen werden, soll mit Bezug auf2a die allgemeine Struktur der MPEG-Datei104 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-Transportdatei104 näher. Die Daten in der MPEG-Datei104 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-Datei104 aus einer Sequenz von PES-Paketen. In der Transportschicht besteht die MPEG-Datei104 aus einer Sequenz von Transportpaketen. In der Videoschicht besteht die MPEG-Datei104 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 Kopfsatz248 , gefolgt von einer Sequenz von Transportpaketen251 –262 . Die PES-Paketgrenzen stimmen mit den gültigen Transportpaketgrenzen überein. Jedes Transportpaket enthält ausschließlich einen Datentyp. Im gezeigten Beispiel enthalten die Transportpakete251 ,256 ,258 ,259 ,260 und262 Videodaten. Die Transportpakete252 ,257 und261 enthalten Audiodaten. Das Transportpaket253 enthält Steuerdaten. Das Transportpaket254 enthält Zeitsteuerungsdaten. Das Transportpaket255 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 PID100 enthaltene Datentyp durch Untersuchen desjenigen Eintrags bestimmt, der mit der PID100 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 Klammern270 angegeben angeordnet. Genauer, die Bilddaten für das Bild "F" befinden sich zwischen dem Punkt280 in dem Videopaket251 und dem Ende des Videopakets251 , in dem Videopaket256 und zwischen dem Beginn des Videopakets258 und dem Punkt282 im Videopaket258 . Deshalb repräsentieren die Punkte280 und282 die Grenzen für das Bildpaket für das Bild "F". Die Bilddaten für ein zweites Videobild "G" sind wie durch die Klammern272 angegeben angeordnet. Die Grenzen für das Bildpaket für das Bild "G" sind durch die Klammern276 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 Etikettdatei106 beschrieben. In2b enthält die Etikettdatei106 einen Dateityp-Bezeichner202 , einen Längenindikator204 , einen Bitrate-Indikator206 , einen Spieldauer-Indikator208 , einen Bildnummer-Indikator210 , Stromzugriffsinformationen212 und eine anfängliche MPEG-Zeitverschiebung213 . Der Dateityp-Bezeichner202 gibt den physischen Umbruch (physical wrapping) in der MPEG-Datei104 an. Beispielsweise gibt der Dateityp-Bezeichner202 an, ob die MPEG-Datei104 eine MPEG-2- oder eine MPEG-1-Datei ist. - Der Längenindikator
204 gibt die Länge der MPEG-Datei104 an. Der Bitrate-Indikator206 gibt die Bitrate an, mit der die Inhalte der MPEG-Datei104 während des Playbacks an einen Client gesendet werden. Der Spieldauer-Indikator208 spezifiziert in Millisekunden die zum Abspielen der gesamten Inhalte der MPEG-Datei104 während eines normalen Playbackvorgangs erforderliche Zeit. Der Bildnummer-Indikator210 gibt die Gesamtzahl der in der MPEG-Datei104 dargestellten Bilder an. - Die Stromzugriffsinformationen
212 sind Informationen, die zum Zugriff auf die in der MPEG-Datei104 gespeicherten Video- und Audioströme erforderlich sind. Die Stromzugriffsinformationen212 enthalten eine Video-Elementarstrom-ID und eine Audio-Elementarstrom-ID. Für MPEG-2- Dateien enthalten die Stromzugriffsinformationen212 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-Datei104 . 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 Etiketteintrag214 die in der Tabelle 1 angegebenen Informationen. - Bezüglich des Zustands der Videozustandsmaschine enthält der Etiketteintrag
214 die in der Tabelle 2 angegebenen Informationen. - Bezüglich des Zustands der Transportschicht-Zustandsmaschine enthält der Etiketteintrag
214 die in der Tabelle 3 angegebenen Informationen. - Beispielsweise sei angenommen, daß sich der Eintrag
214 auf das Bild "F" von2a bezöge. Die dem Bild "F" zugeordnete Größe220 entspräche dann den durch die Klammern274 eingefaßten Bits. Die Anzahl222 von Nichtvideopaketen wäre 5 (Pakete252 ,253 ,254 ,255 und257 ). Die Anzahl224 von Stopfbitpaketen wäre gleich 1 (Paket255 ). Die Startposition226 entspräche dem Abstand zwischen dem Beginn der MPEG-Datei104 und dem Punkt280 . Die Startverschiebung234 entspräche dem Abstand zwischen dem Beginn des Pakets251 und dem Punkt280 . Die Endverschiebung236 entspräche dem Abstand zwischen dem Punkt282 und dem Ende des Pakets258 . -
2c zeigt die von jedem Bild in einer MPEG-1-Datei erzeugten Etikettinformationen. In2c enthält der Eintrag214 Daten, die den Zustand der drei Zustandsmaschinen, einer Systemzustandsmaschine, einer Packzustandsmaschine und einer Videozustandsmaschine, angeben. Insbesondere enthält der Etiketteintrag214 die in der Tabelle 4 gezeigten Informationen. - 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 Etikettdatei106 zur Durchführung von Suchvorgängen beschrieben werden. Wenn ein Client einen Suchlauf ausführen will, überträgt er eine Suchlaufanforderung an den Strom-Server110 . 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-Server110 die Etikettdatei106 , 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 Etikettdatei106 gespeicherten Informationen228 für den Zeitwert und232 für den Bildtyp untersucht werden. - Wenn das Zielbild bestimmt ist, bestimmt der Strom-Server
110 die Position innerhalb der MPEG-Datei104 derjenigen Bilddaten, die dem Zielbild (der "Zielposition") entsprechen. Der Strom-Server110 führt dieses Bestimmen durch, indem er die Startposition226 , die in demjenigen Eintrag in der Etikettdatei106 gespeichert ist, die der Zielposition entspricht, ausliest. Kennzeichnend ist, daß alle durch den Strom-Server110 ausgeführten Operationen ausgeführt werden, ohne auf die MPEG-Datei104 zugreifen zu müssen. Dadurch können der Strom-Server110 und die Videopumpe130 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 Etikettdateigenerator112 und die Videopumpe130 , wie beschrieben wurde, Daten aus der MPEG-Datei104 auslesen, die sich auf der Massenspeichervorrichtung140 befindet, wobei angenommen wird, daß der Strom-Server110 Daten aus der Etikettdatei106 ausliest, die auf der Massenspeichervorrichtung140 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 Etikettdatei106 in einem Cachespeicher gespeichert, um die Anzahl der vom Strom-Server110 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 Videopumpe130 , um diese anzuweisen, von der momentanen Position in der MPEG-Datei zur Zielposition überzugehen. Für einen Suchlauf enthalten die vom Strom-Server110 erzeugten Befehle typischerweise einen Einfügbefehl und einen Abspielbefehl. Der Einfügbefehl weist die Videopumpe130 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 Videopumpe130 an, mit der Übertragung von Daten zu beginnen, wobei innerhalb der MPEG-Datei104 an der Zielposition begonnen wird. Die Videopumpe130 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-Server110 an die Videopumpe130 in Antwort auf eine Suchanforderung von einem Client gesendeten Befehle. Im gezeigten Beispiel überträgt der Strom-Server110 zwei Befehle302 an die Videopumpe130 . Der erste Befehl ist ein Einfügbefehl, der die Videopumpe130 anweist, "VORSPANN DATEN" in den MPEG-Datenstrom, den die Videopumpe130 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 Videopumpe130 in Antwort auf die vom Strom-Server110 übertragenen "Einfüg"- und "Abspiel"-Befehle an einen Client (z. B. den Client160 ) gesendet werden. Zum Zeitpunkt, zu dem die Videopumpe130 den Einfügbefehl empfängt, sendet sie MPEG-Daten ausgehend von irgendeiner Position (der momentanen Position) in der MPEG-Datei. Der Block320 repräsentiert Informationen, die vor der momentanen Position von der Videopumpe130 übertragen worden sind. Mit dem Empfang des Einfügbefehls unterbricht die Videopumpe130 das Senden des momentanen Transportpakets, beendet die Übertragung von Daten an der momentanen Position und überträgt die Vorspanndaten322 . Nach der Übertragung der Vorspanndaten322 an den Client antwortet die Videopumpe130 auf den Abspielbefehl. Genauer, die Videopumpe130 beginnt die Übertragung von Daten324 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 Videopumpe130 einfach von einem Punkt in der MPEG-Datei104 zu einem anderen Punkt springt, gehen Packungsinformation verloren und sind die Clients nicht in der Lage, die Daten korrekt zu decodieren. Wenn beispielsweise die Videopumpe130 einfach mit der Übertragung von Daten am Punkt280 in2a beginnt, werden der PES-Kopfsatz248 für das PES-Paket250 und der Kopfsatz für das Transportpaket251 ü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. - Die Informationen für das Verwerfen betreffend wird angenommen, daß das Zielvideobild eines Suchlaufs dasjenige Videobild ist, daß sich zwischen den Punkten
280 und282 in2a befindet. Die Informationen für das Verwerfen, die in dem in Antwort auf den Suchlauf erzeugten Einfügbefehl enthalten sind, können die Videopumpe130 anweisen, alle Nichtvideopakete, die sich zwischen den Punkten280 und282 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 Videopakets251 entfernt ist. Wenn die für den Übergang zum Punkt280 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 Punkt280 und dem Ende des Videopakets251 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-Datei104 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-Datei104 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ätsmerker230 in der Etikettdatei106 , 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-Datei104 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-Server110 erfaßt, wenn ein Suchlauf einen solchen Überlauf bewirkt, indem er die in der Etikettdatei106 gespeicherten Zeitsteuerungspufferinformationen238 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 Etikettdatei106 enthaltenen Informationen. Genauer, der Strom-Server110 bestimmt aus den Informationen in der Etikettdatei106 , welche Bilder angezeigt werden sollen, um die spezifizierte Wiedergabegeschwindigkeit zu bewirken. Der vom Strom-Server110 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-Server110 würde dann eine Reihe von Abspielkommandos an die Videopumpe130 ü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 Netzes150 unbegrenzt ist. Jedoch ist die Bandbreite des Netzes150 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 Videopumpe130 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-Server110 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-Server110 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-Server110 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-Server110 Einfügbefehle, um die Videopumpe130 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-Server110 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-Server110 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 Videopumpe130 , 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-Server110 Vorspanndaten erzeugen, einen Einfügbefehl an die Videopumpe130 übertragen, damit diese die Vorspanndaten in den Datenstrom einfügt, und einen Abspielbefehl an die Videopumpe130 ü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 in2a gezeigten Punkte280 und282 wären. Der Strom-Server110 würde der Videopumpe130 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 Punkten280 und282 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 Punkt282 und dem Ende des Videopakets258 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 Videopumpe130 , damit diese die Nachspanndaten in den MPEG-Datenstrom einfügt. Folglich treten während eines Schnellvorlaufs die vom Strom-Server110 an die Videopumpe130 gesendeten Befehle auf, wie dies in4a gezeigt ist. In4a besitzt ein Strom-Server110 somit drei anzuzeigende ausgewählte Bilder: bild_1, bild_2, bild_3. Nach Auswahl von bild_1 überträgt der Strom-Server110 drei Befehle402 an die Videopumpe130 . Die drei Befehle402 umfassen einen ersten Einfügbefehl408 , einen Abspielbefehl410 und einen zweiten Einfügbefehl412 . - Der erste Einfügbefehl
408 weist die Videopumpe130 an, Vorspanndaten "VORSPANN_DATEN_1" an einen Client zu übertragen. Der Abspielbefehl410 weist die Videopumpe130 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ügbefehl412 weist die Videopumpe130 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 Videopumpe130 , 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- Server110 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-Server110 und streicht aus dem MPEG-Datenstrom jene Nichtvideopakete, die vom Strom-Server110 angegeben werden. Folglich enthalten die von der Videopumpe130 in Antwort auf einen Abspielbefehl410 gesendeten Informationen typischerweise nicht alle Daten, die sich zwischen START_POS_1 und START_POS_2 befinden. - Wiederum in
4a hat der Strom-Server110 drei Befehle404 übertragen, um die Videopumpe130 zu veranlassen, ein Segment für bild_2 zu übertragen, und drei Befehle406 übertragen, um die Videopumpe130 zu veranlassen, ein Segment für bild_3 zu übertragen. Der Strom-Server110 setzt mit der Übertragung von Befehlen in dieser Weise fort, um die Videopumpe130 zu veranlassen, Segmente für jedes Bild, das sie während des Schnellvorlaufvorgangs zur Anzeige auswählt, zu übertragen. -
4b zeigt die von der Videopumpe130 in Antwort auf die obenbeschriebenen Befehle übertragenen Daten. Genauer, in Antwort auf den ersten Einfügbefehl408 überträgt die Videopumpe130 VORSPANN_DATEN_1450 an den Client160 . In Antwort auf den Abspielbefehl410 überträgt die Videopumpe130 die sich zwischen START_POS_1 und END_POS_1 befindenden Daten. Diese Daten, die als DATEN_1452 gezeigt sind, enthalten die Bilddaten von bild_1. In Antwort auf den zweiten Einfügbefehl412 überträgt die Videopumpe130 NACHSPANN_DATEN_1 an den Client160 . Das Segment, das aus VORSPANN_DATEN_1, DATEN_1 und NACHSPANN_DATEN_1 besteht, befördert die Bilddaten von bild_1 an den Client160 , 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 Videopumpe130 ü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 Sekunde45 Befehle übertragen, was die Datenübermittlung innerhalb des Servers stark belastet. In der bevorzugten Ausführungsform werden die Befehle vom Strom-Server110 an die Videopumpe130 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 Videopumpe130 in Antwort auf Befehle, die vom Strom-Server110 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-Server110 veranlaßt wird, Verzögerungszeitstempel in die Vorspanndaten, die er an die Videopumpe130 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-Server110 und der Videopumpe130 . Wenn die geforderte Geschwindigkeit jedoch nicht verfügbar ist, bestimmt der Strom-Server110 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 Videopumpe130 einen MPEG-Datenstrom an die Clients sendet. Der Strom-Server110 schickt die Antworten auf die Abfragen an den Client, indem er die Videopumpe130 veranlaßt, die Antworten in den an den Client gesendeten MPEG-Datenstrom einzufügen. Dieser Prozeß wird dadurch erschwert, daß der Kommunikationskanal zwischen der Videopumpe130 und jedem Client durch den MPEG-Datenstrom, den die Videopumpe130 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 Videopumpe130 , 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-Server110 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-Server110 teilt der Videopumpe130 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 Videopumpe130 übertragene MPEG-Datenstrom geht vor der Ankunft beim Client durch einen nachgeschalteten Manager131 . Der nachgeschaltete Manager ersetzt die Stopfbitpakete durch Datenpakete, die die durch den Strom-Server110 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 Videopumpe130 empfängt die Zeitstempelinformationen vom Strom-Server110 , der den Zeitstempel aus der Etikettdatei106 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 Mehrplattensystem700 betrachtet. Das System700 umfaßt N + 1 Plattenlaufwerke. Eine MPEG-Datei ist auf N von N + 1 Platten gespeichert. Die MPEG-Datei ist in Abschnitte750 ,752 ,754 und756 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öcke710 ,712 und714 , die auf den Platten702 ,704 bzw.706 gespeichert sind. Der zweite Abschnitt752 enthält die Blöcke716 ,718 und720 , die auf den Platten702 ,704 bzw.706 gespeichert sind. Der dritte Abschnitt754 enthält die Blöcke722 ,724 und726 , die auf den Platten702 ,704 bzw.706 gespeichert sind. Der vierte Abschnitt756 enthält die Blöcke728 ,730 und732 , die auf den Platten702 ,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üfbits734 dem Abschnitt750 und werden erzeugt, indem über alle Blöcke im ersten Abschnitt750 eine Exklusiv-ODER-Verknüpfung ausgeführt wird. Ähnlich sind die Prüfbits736 ,738 und740 Produkte eines Exklusiv-ODER, das über alle Blöcke in den Abschnitt752 ,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 Platte704 zu funktionieren aufhört, können die Inhalte des Blocks712 auf der Grundlage der restlichen Blöcke im Abschnitt750 und der dem Abschnitt750 zugeordneten Prüfbits734 rekonstruiert werden. Ähnlich kann der Block780 auf der Grundlage der restlichen Blöcke im Abschnitt752 und der dem Abschnitt752 zugeordneten Prüfbits736 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 Abschnitt752 befindet. Wenn die MPEG-Datei auf einer abschnittsweisen Grundlage ausgelesen und verarbeitet wird (für RAID gefordert), müssen alle Blöcke im Abschnitt752 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 Abschnitt752 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 Videopumpe130 lediglich die Daten, die in den Befehlen, die sie vom Strom-Server110 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-Server110 , 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 und6 wird der Mechanismus für nichtinteraktives MPEG-Editieren beschrieben. - In
5 ist ein MPEG-Editor502 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 Befehlsdatei504 , die Editierbefehle enthält. Die in der Befehlsdatei504 enthaltenen Befehle umfassen Parameter zum Spezifizieren von "Scheiben" aus bereits existierenden MPEG-Dateien. Beispielsweise kann jeder Befehl in der Befehlsdatei504 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 auf6 beschrieben werden. Im Schritt600 liest der MPEG-Editor502 einen Befehl in der Befehlsdatei504 . Vorzugsweise werden die Befehle in derselben Reihenfolge, wie sie in der Befehlsdatei504 auftreten, gelesen. - Deshalb liest der MPEG-Editor
502 den ersten Befehl in der Befehlsdatei504 , zu dem Zeitpunkt, zu dem der Schritt600 ausgeführt wird. - Im Schritt
602 bestimmt der MPEG-Editor502 , ob der Befehl eine einfache Wiedergabegeschwindigkeit spezifiziert. Wenn eine von der einfachen Geschwindigkeit verschiedene Wiedergabegeschwindigkeit spezifiziert ist, geht die Steuerung zum Schritt604 über. Die Schritte604 und608 sind zu den vom Strom-Server110 und der Videopumpe130 während eines Playbackvorgangs mit spezifizierter Geschwindigkeit ausgeführten Schritten analog. Genauer, im Schritt604 wählt der MPEG-Editor502 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 (Schritt606 ), die die Bilddaten entsprechend den ausgewählten Bildern in MPEG-konforme Pakete packen. Diese Segmente werden nacheinander gespeichert, um einen Abschnitt einer editierten MPEG-Datei510 zu erzeugen. Die Steuerung geht dann zum Schritt612 ü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 Schritt614 über. In den Schritten614 und616 führt der MPEG-Editor502 eine Operation aus, die zu dem obenbeschriebenen Suchlauf analog ist. Genauer, der Editor502 vergleicht die spezifizierte Startposition mit den in der Etikettdatei106 enthaltenen Zeitstempelinformationen, um die Position eines Zielbildes zu bestimmen. Der MPEG-Editor502 erzeugt dann Vorspanndaten (Schritt614 ), um den Übergang zum spezifizierten Bild auszuführen. Nach der Erzeugung der Vorspanndaten kopiert der MPEG-Editor502 Daten aus der spezifizierten MPEG-Datei in die editierte MPEG-Datei502 , wobei mit dem Beginn des Zielbildes begonnen wird (Schritt616 ). - Sobald die Daten zwischen Start_Pos und End_Pos in die editierte MPEG-Datei
510 kopiert sind, bestimmt der MPEG-Editor502 , ob die Scheibe am Ende der spezifizierten MPEG-Datei endet (Schritt610 ). Wenn die Scheibe am Ende der spezifizierten MPEG-Datei abschließt, endet die Scheibe an einer Paketgrenze. Andernfalls werden Nachspanndaten erzeugt (Schritt618 ), um das momentane Paket zu vervollständigen (Schritt618 ). Die Steuerung geht dann zum Schritt612 ü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 Befehlsdatei504 verarbeitet worden sind, entspricht die editierte MPEG-Datei510 einer MPEG-konformen Datei, die die durch die Befehle in der Befehlsdatei504 spezifizierten Scheiben enthält. Wichtig ist, daß die editierte MPEG-Datei510 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 Speichervorrichtung140 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 Videopumpe130 aufgeteilt. Die verteilte Art dieser Architektur wird dadurch verstärkt, daß die Videopumpe130 keinen Zugriff auf die Etikettdatei106 fordert und der Strom-Server110 keinen Zugriff auf die MPEG-Datei104 fordert. Folglich können der Strom-Server110 und die Videopumpe in verschiedenen Abschnitten des Netzes arbeiten, ohne die Effizienz des Systems100 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 4, bei dem die zweite Wiedergaberate negativ bezüglich der ersten Wiedergaberate ist.
- Verfahren nach Anspruch 1, bei dem die Schritte des Auswählens, Konstruierens und Übertragens parallel ausgeführt werden.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Verfahren nach Anspruch 21, welches ferner aufweist: Überspringen eines Rahmens, der Informationen erfordert, die bereits übersprungen wurden.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Vorrichtung nach Anspruch 32, bei dem die zweite Wiedergaberate negativ bezüglich der ersten Wiedergaberate ist.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Vorrichtung nach Anspruch 49, welche ferner aufweist: eine Einrichtung, die angepasst ist zum Überspringen eines Rahmens, der Informationen erfordert, die bereits übersprungen wurden.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1995
- 1995-07-14 US US08/502,480 patent/US5659539A/en not_active Expired - Lifetime
-
1996
- 1996-07-12 EP EP96923772A patent/EP0781490B1/de not_active Expired - Lifetime
- 1996-07-12 DE DE69621468T patent/DE69621468T2/de not_active Expired - Lifetime
- 1996-07-12 DE DE69633552T patent/DE69633552T2/de not_active Expired - Lifetime
- 1996-07-12 EP EP99116355A patent/EP0963118B1/de not_active Expired - Lifetime
- 1996-07-12 DE DE69633578T patent/DE69633578T2/de not_active Expired - Lifetime
- 1996-07-12 EP EP04018619A patent/EP1487213B8/de not_active Expired - Lifetime
- 1996-07-12 EP EP10171702A patent/EP2265015A1/de not_active Withdrawn
- 1996-07-12 CA CA002197323A patent/CA2197323C/en not_active Expired - Lifetime
- 1996-07-12 EP EP99116353A patent/EP0963117B1/de not_active Expired - Lifetime
- 1996-07-12 DE DE69633641T patent/DE69633641T2/de not_active Expired - Lifetime
- 1996-07-12 WO PCT/US1996/011662 patent/WO1997004596A2/en active IP Right Grant
- 1996-07-12 DE DE69637127T patent/DE69637127T2/de not_active Expired - Lifetime
- 1996-07-12 EP EP99116354A patent/EP0964578B1/de not_active Expired - Lifetime
- 1996-07-12 EP EP04018618A patent/EP1478182B1/de not_active Expired - Lifetime
-
1997
- 1997-05-21 US US08/859,860 patent/US5864682A/en not_active Expired - Lifetime
-
2000
- 2000-06-08 HK HK00103443A patent/HK1024799A1/xx not_active IP Right Cessation
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 |