DE69034016T2 - Vorrichtung und Verfahren zur Wiedergabe von digitalen Mediendaten - Google Patents

Vorrichtung und Verfahren zur Wiedergabe von digitalen Mediendaten

Info

Publication number
DE69034016T2
DE69034016T2 DE69034016T DE69034016T DE69034016T2 DE 69034016 T2 DE69034016 T2 DE 69034016T2 DE 69034016 T DE69034016 T DE 69034016T DE 69034016 T DE69034016 T DE 69034016T DE 69034016 T2 DE69034016 T2 DE 69034016T2
Authority
DE
Germany
Prior art keywords
data
video
audio
media
media data
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 - Fee Related
Application number
DE69034016T
Other languages
English (en)
Other versions
DE69034016D1 (de
Inventor
Eric C. Peters
Stanley Rabinowitz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avid Technology Inc
Original Assignee
Avid Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avid Technology Inc filed Critical Avid Technology Inc
Publication of DE69034016D1 publication Critical patent/DE69034016D1/de
Application granted granted Critical
Publication of DE69034016T2 publication Critical patent/DE69034016T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • H04N5/937Regeneration of the television signal or of selected parts thereof by assembling picture element blocks in an intermediate store
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/802Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving processing of the sound signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Pipeline Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Television Systems (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

  • Die Erfindung bezieht sich auf das Abspielen digitalisierter Mediendaten, d. h. digitalisierter Audio- und Videodaten.
  • Die nichtlinearen Mediendaten sind Audio- und Videodaten, die auf einem linearen Medium, z. B. einer VHS-Videobandkassette, aufgezeichnet und in digitalisierter Form in einer Computer-Speichervorrichtung, z. B. einem Festplattenlaufwerk, gespeichert sind. Typischerweise sind die linearen Audiodaten mit einem "Impuls" aufgezeichnet, der gleich der Geschwindigkeit ist, mit der die linearen Videodaten aufgezeichnet werden. Das heißt, falls die Videodaten mit 30 Rahmen pro Sekunde (fps) aufgezeichnet werden, werden die begleitenden Audiodaten ebenso mit 30 fps aufgezeichnet. Dies ist offensichtlich der Fall, wenn die Audio- und Videodaten gleichzeitig auf einem einzelnen Medium aufgezeichnet werden, z. B. einer einzelnen Videobandkassette. Die Aufzeichnung der Audiodaten kann jedoch von der Aufzeichnung der Videodaten getrennt erfolgen, die Tonspur kann z. B. in London aufgezeichnet werden, während ein Filmausschnitt an einem Ort in der Wüste Sahara gedreht werden kann, wobei in diesem Fall die Geschwindigkeit der Aufzeichnung des Videos und des Audios gleich sein kann oder nicht. Außerdem können sich die Standardgeschwindigkeiten für das Drehen von Video und das Aufzeichnen von Audio von Land zu Land verändern. Die Standardgeschwindigkeit für das Aufzeichnen von Video beträgt z. B. in den Vereinigten Staaten 30 fps, während die Standardgeschwindigkeit in Europa 24 fps beträgt. Gleichermaßen beträgt der Standard der Audio-Abtastrate 22 kHz, es werden aber ebenfalls 44 kHz verwendet. Folglich müssen in den Fällen, in denen die Geschwindigkeiten verschieden sind, die zwei Aufzeichnungen (die oft als die Medien-"Kanäle" bezeichnet werden), effektiv kombiniert und angezeigt werden, so dass es keine sichtbaren oder hörbaren Lücken oder Überlappungen gibt.
  • Wie oben angemerkt ist, kann sich die Geschwindigkeit, mit der die Videodaten aufgezeichnet und angezeigt werden, verändern, z. B. von 30 fps zu 24 fps. Die Videodaten aus verschiedenen Ländern können jedoch erfolgreich zusammen bearbeitet und mit einer einzelnen Geschwindigkeit abgespielt werden, weil das menschliche Auge feine Variationen in der Anzahl der Rahmen pro Sekunde nicht erfassen kann. Das menschliche Ohr jedoch kann selbst feine Variationen in der Geschwindigkeit erfassen, mit der die Audiodaten abgespielt werden. Diese Variationen erscheinen als hörbares Knacken, Ruhe oder andere Verzerrungen.
  • Mit der Zeit führen die Unterschiede in der Geschwindigkeit, mit der die Videodaten angezeigt und die Audiodaten abgespielt werden, zu sichtbar und hörbar fehlangepassten Video- und Audiodaten.
  • Um die Anzeige der digitalisierten Audio- und Videodaten ungeachtet der Geschwindigkeit zu synchronisieren, mit der die Daten auf ihrem linearen Medium aufgezeichnet worden sind, werden, wie im Folgenden in der ausführlichen Beschreibung erklärt ist, die Videodaten mit einer konstanten Geschwindigkeit abgespielt, z. B. durch die Audiogeschwindigkeit synchronisiert. Die bevorzugte Ausführungsform enthält eine Mediendatei-Datenbank (MFD), die eine Anzahl von Mediendateien enthält, von denen jede entweder digitalisierte Audio- oder digitalisierte Videomediendaten enthält. Das System enthält außerdem ein Betrachtermodul, das die Operationen zum Übertragen der Mediendaten von den Mediendateien in eine Anzahl von Ringpuffern (die vorzugsweise durch Software definiert sind) synchronisiert. Jeder Ringpuffer ist einem Medienkanal zugeordnet, der angezeigt wird. Es gibt z. B. einen Ringpuffer, der die Mediendaten für den Videokanal enthält, einen Ringpuffer, der die Mediendaten für einen ersten Audiokanal enthält, und einen Ringpuffer, der die Mediendaten für einen zweiten Audiokanal enthält. Die zwei Audiokanäle sind für Stereo. Das Betrachtermodul synchronisiert außerdem die Aufrufe für eine Videobeschleunigerkarte und eine Soundbeschleunigerkarte, so dass die Videodaten und die Audiodaten, die auf einem linearen Medium mit verschiedenen Impulsraten aufgezeichnet worden sind, mit einer konstanten Rate ohne sichtbare oder hörbaren Lücken oder Überlappungen angezeigt werden.
  • Ein Verfahren des "Einspeicherns" der Daten in den Speicherpuffern, insbesondere den Ringpuffern, wird verwendet, um die Pufferbelastung zu koordinieren, um die effiziente Verwendung der Betriebsmittel des Betrachtermoduls zu fördern, indem dem Betrachter nicht erlaubt wird, übermäßige Datenmengen zu irgendeinem Zeitpunkt zu lesen, d. h., um nur ausreichend Daten in irgendeinen Ringpuffer zu lesen, so dass der Umfang der Daten in dem Ringpuffer etwa zum Umfang der Daten in den anderen Ringpuffern äquivalent ist.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Vorrichtung geschaffen, wie sie im Anspruch 1 dargelegt ist.
  • In einem zweiten und alternativen Aspekt der Erfindung wird ein Verfahren ge schaffen, wie es im Anspruch 15 dargelegt ist.
  • Andere Vorteile und Merkmale werden offensichtlich werden.
  • Die Erfindung wird im Folgenden ausführlicher lediglich beispielhaft unter Bezugnahme auf die beigefügte Zeichnung beschrieben, worin:
  • Fig. 1 ein Blockschaltplan der Komponenten einer Ausführungsform der Vorrichtung ist, die gemäß der vorliegenden Erfindung konstruiert ist;
  • Fig. 2 ein Ablaufplan des allgemeinen Betriebs des Systems nach Fig. 1 ist; und
  • Fig. 3 ein Ablaufplan des spezifischen Betriebs der PLAY_AV-Prozedur des Systems ist.
  • In Fig. 1 enthält eine Ausführungsform der Vorrichtung gemäß dieser Erfindung, die im Folgenden als ein Pipelinesystem 10 bezeichnet wird, eine Mediendatei- Datenbank (MFD) 12, die eine Anzahl von Mediendateien 14a-14n enthält. Jede Mediendatei 14 enthält entweder digitalisierte Audio- oder digitalisierte Videomediendaten, wobei sie in Abschnitte unterteilt ist, die als "Rahmen" bezeichnet werden. In der hier beschriebenen Ausführungsform wird ein Rahmen der Videodaten als zum Standard-US-Videorahmen äquivalent betrachtet, d. h., einem Videorahmen, der für 1/30 einer Sekunde angezeigt wird, ungeachtet ob er mit 30 fps oder irgendeiner anderen Geschwindigkeit aufgezeichnet worden ist. Ähnlich ist ein Rahmen der Audiodaten (der außerdem als ein "Audiopuffer" bezeichnet wird), standardisiert, so dass er aus 735 Audioabtastwerten besteht, die in der Zeit abgespielt werden, die einem Videorahmen äquivalent ist, d. h. 1/30 einer Sekunde.
  • Das Pipelinesystem 10 enthält außerdem ein Betrachtermodul 16, das die Übertragung der Mediendaten von den Mediendateien 14 in die drei Ringpuffer 18a-18c synchronisiert, die die Daten oder die Zeiger auf die Daten speichern, bevor sie angezeigt werden. Für die Zweckmäßigkeit werden die Begriffe "Betrachten" und "Anzeigen" hierin sowohl in Bezug auf das Audio als auch in Bezug auf das Video verwendet, wobei sie als "Abspielen" bedeutend verstanden werden sollten, wenn sie sich auf das Audio beziehen. Jeder Ringpuffer ist einem Medienkanal zugeordnet. Das heißt, der Ringpuffer 18a enthält die Mediendaten für den Videokanal, der Ringpuffer 18b enthält die Mediendaten für den Audiokanal 1 und der Ringpuffer 18c enthält die Mediendaten für den Audiokanal 2. Auf ein Signal vom Betrachtermodul wird ein Zeiger auf einen Rahmen der Videodaten im Ringpuffer 18a zu einer herkömmlichen Videobeschleunigerkarte 20 übertragen, vorzugsweise das TRUEVISION®-Modell NuVista, das die Videodaten auf einem Monitor 22 anzeigt. Gleichermaßen wird auf ein Signal vom Betrachtermodul 16 ein Zeiger auf einen Rahmen der Audiodaten in den Ringpuffern 18b und 18c zu einer herkömmlichen Soundbeschleunigerkarte 24 übertragen, vorzugsweise das DIGIDESIGN®-Modell SOUND ACCELERATOR, das die Audiodaten durch den Monitor 22 abspielt. Der Betrieb des Systems und der Synchronisation des Anzeigens der Videodaten und des Abspielens der Audiodaten ist im Folgenden in Bezug auf Fig. 2 beschrieben.
  • In Fig. 2 ist der Betrieb des Pipelinesystems 10 (Fig. 1) in Form eines Ablaufplans gezeigt. Kurz, weil Zeit erforderlich ist, um die Daten aus den Mediendateien zu lesen, und weil typischerweise alle Daten nicht zu irgendeinem Zeitpunkt in den Speicher passen werden, führt die Pipeline eine Echtzeit-"Jonglierdarbietung" auf, um aus den Dateien zu dem genauen Zeitpunkt zu lesen, zu dem die Daten erforderlich sind, und zwar in einer derartigen Weise, um das Anzeigen der Daten in einem im Wesentlichen ununterbrochenen Fluss nicht zu stören. Um dies auszuführen, bestimmt das Betrachtermodul, welcher Kanal, d. h. welcher Ringpuffer 18, die wenigsten Daten enthält (Schritt 100), liest die Daten aus einer Mediendatei 14 in den Ringpuffer (Schritt 102) und meldet dem Soundbeschleuniger 24, die nächsten Rahmen der in den Ringpuffern 18b und 18c gefundenen Audiodaten abzuspielen (Schritt 104). Das Betrachtermodul 16 wartet dann auf eine Unterbrechung vom Soundbeschleuniger 24 (Schritt 106), die anzeigt, dass es Zeit ist, den nächsten Rahmen der Videodaten anzuzeigen. Sobald das Betrachtermodul 16 die Unterbrechung vom Soundbeschleuniger 24 empfängt, meldet es dem Videobeschleuniger 20, den nächsten im Puffer 18a gefundenen Videorahmen abzuspielen (Schritt 108). In dieser Weise werden die Rahmen der Videodaten durch die Rahmen der Audiodaten synchronisiert. Das heißt, am Ende von jeweils 735 Audioabtastwerten wird ein neuer Videorahmen angezeigt. Folglich werden sichtbare und hörbare Abweichungen zwischen der Anzeige der Video- und Audiodaten merklich verringert, falls nicht beseitigt.
  • Im Allgemeinen fördert das "Einspeicherns" der Daten in den Ringpuffern 18 die effiziente Verwendung der Betriebsmittel des Betrachtermoduls, indem dem Betrachter nicht erlaubt wird, übermäßige Datenmengen zu irgendeinem Zeitpunkt zu lesen, d. h., um nur ausreichend Daten in irgendeinen Ringpuffer zu lesen, so dass der Umfang der Daten in dem Ringpuffer etwa zum Umfang der Daten in den anderen Ringpuffern äquivalent ist (siehe die Schritte 254, 260 und 266 in Fig. 3). Der Prozess des Einspeicherns fördert außerdem die effiziente Verwendung des Dateisystems (die Platten, auf denen die Medien gespeichert sind), indem große effiziente Lesevorgänge von der Platte erlaubt werden, wenn Zeit verfügbar ist.
  • In Fig. 3 ist die Prozedur PLAY_AV in Form eines Ablaufplans gezeigt. Der Zweck von PLAY_AV besteht darin, die Ringpuffer unter Verwendung des oben erörterten Verfahrens des Einspeicherns zu füllen und eine Folge von Rahmen oder einen "Ausschnitt" der Video- und Audiodaten in einer derartigen Weise abzuspielen, dass die Videodaten durch die Audiodaten synchronisiert werden, wie oben erörtert ist.
  • Bevor PLAY_AV aufgerufen wird, lädt das System alle Ringpuffer mit Daten vor. Dies verbessert die Effizienz beträchtlich, weil dies ausgeführt werden kann, bevor die zeitkritischen Operationen auftreten.
  • Zuerst führt PLAY_AV eine Fehlerprüfung durch, d. h., es bestimmt, ob die Anzahl der abzuspielenden Rahmen null ist (Schritt 200). Wenn die Anzahl der anzuzeigenden Rahmen nicht null ist, dann führt PLAY_AV weitere Fehlerprüfungen durch, sie bestimmt z. B., dass die Audiofähigkeit des Monitors 22 initialisiert ist (durch das Überprüfen des Wertes der Booleschen Variable AUDIO_INIT_DONE), und dass die Audiodaten zu verwenden sind, um die Videodaten zu synchronisieren (durch das Überprüfen des Wertes der Booleschen Variable SOUND_SYNC) (Schritt 202). Falls es keine Fehler gibt (Schritt 202) bestimmt PLAY_AV dann als nächstes, welche Audiokanäle sich in Gebrauch befinden (Schritt 204), d. h., aus welchem der Ringpuffer 18 die Audiodaten gelesen werden. Es wird angemerkt, dass die hier beschriebene Ausführungsform zwei Audiodatenkanäle verwendet, d. h. den Audiokanal 1 und den Audiokanal 2. Zusätzliche Kanäle und folglich zusätzliche Puffer sind selbstverständlich möglich. Weniger Kanäle (d. h. 1) sind außerdem erlaubt.
  • Nachdem PLAY_AV bestimmt hat, welche Kanäle sich in Gebrauch befinden, initialisiert PLAY_AV als Nächstes die Variable für die Rahmen der Audio- und Videodaten, die anzuzeigen sind (Schritt 206), d. h., sie weist einen Wert von 0 den Variable "nextAudio1", "nextAudio2" und "nextVideo" zu. Außerdem initialisiert PLAY_AV die Dateiende-Markierung für die Videodaten ("videoEOF") auf FALSCH (Schritt 208), wobei sie außerdem die Dateiende-Markierungen für die Audiodaten ("audio1EOF" und "audio2EOF") initialisiert (Schritt 220). Wenn spezifisch der Audiokanal 1 verwendet wird (Schritt 204) und soundsync WAHR ist (Schritt 202), dann ist audio1EOF gleich FALSCH. Ansonsten ist audiolEOF gleich WAHR. Gleichermaßen ist, wenn der Audiokanal 2 verwendet wird (Schritt 204) und soundsync WAHR ist (Schritt 202), dann audio2EOF gleich FALSCH. Ansonsten ist audio2EOF gleich WAHR.
  • Sobald PLAY_AV bestimmt hat, aus welchen Kanälen sie die Daten lesen wird (Schritte 204-210), beginnt sie eine unendliche Schleife (solange WAHR gilt), um die Mediendaten zu lesen, zu übertragen und anzuzeigen. PLAY_AV verlässt die Schleife nicht, bis der Ausschnitt ausgeschöpft ist, d. h. es keine weiteren anzuzeigenden Rahmen gibt. Am Anfang jedes Durchgangs durch die Schleife initialisiert PLAY_AV einige Variable, einschließlich der maximalen Anzahl von Bytes, die sie lesen wird ("max_read") und der Anzahl der noch abzuspielenden Bytes des Audiokanals 1 und des Audiokanals 2 ("AbytesUnplayed1" und "AbytesUnplayed2") (Schritt 212). Außerdem initialisiert PLAY_AV einige Variable, die Anzeigen, ob sie "warten", einen "kritischen" Lesevorgang ausführen oder einen "effizienten" Lesevorgang ausführen sollte (Schritt 214) (von denen jeder im Folgenden ausführlicher beschrieben ist), wobei sie außerdem eine Variable "fewest_buffers" auf MAX_LONG initialisiert (Schritt 216), d. h., eine Zahl, die weit größer als die Anzahl der Bytes in einem Ringpuffer ist.
  • Nachdem PLAY_AV die Schleifenvariable initialisiert hat, bestimmt PLAY_AV als nächstes, welcher der Ringpuffer den geringsten Umfang an Daten enthält, d. h. welcher Ringpuffer weniger Bytes frei hat. PLAY_AV beginnt durch das Überprüfen des Ringpuffers 18b (des Audiokanals 1), wie im Folgenden beschrieben ist.
  • Um zu bestimmen, was der Zustand des Ringpuffers 18b (des Audiokanals 1) ist, bestimmt PLAY_AV, ob audio1EOF FALSCH ist und der Ringpuffer 18b wenigstens 735 Bytes frei hat (Schritt 218). Falls das so ist, geht PLAY_AV weiter, um zu bestimmen, ob die Anzahl der freien Bytes im Ringpuffer 18b kleiner als fewest_buffers ist (Schritt 220) (dies ist anfangs immer wahr, weil oben fewest_buffers MAX_LONG zugewiesen worden ist). Der action-Variable wird dann ein Wert von "read_AUDIO1" zugewiesen (Schritt 222). Der critical-Variable wird ein Wert von WAHR zugewiesen, falls fewest_buffers kleiner als eine vorgegebene Zahl (AUDIO_ALERT_BUFS) ist, wobei ihr ansonsten ein Wert von FALSCH zugewiesen wird (Schritt 224). Der efficient-Variable wird ein Wert von WAHR zugewiesen, falls die Anzahl der freien Bytes im Ringpuffer 18b größer als oder gleich einer vorgegebenen Zahl (EFFICIENT_AUDIO_BYTES) ist, und falls die Größe des nächsten Audiorahmens mal der typischen Audiorahmengröße größer als oder gleich EFFICIENT_AUDIO_BYTES ist (Schritt 226). Ansonsten wird der Variable efficient ein Wert von FALSCH zugewiesen.
  • Um zu bestimmen, was der Zustand des Ringpuffers 18c (des Audiokanals 2) ist, bestimmt PLAY_AV, ob audio2EOF FALSCH ist und der Ringpuffer 18c wenigstens 735 Bytes frei hat (Schritt 228). Falls das so ist, geht PLAY_AV weiter, um zu bestimmen, ob die Anzahl der freien Bytes im Ringpuffer 18c kleiner als fewest_buffers ist (Schritt 230) (d. h., ob der Ringpuffer 18c weniger Bytes als Ringpuffer 18b besitzt, wie oben bestimmt worden ist). Falls der Ringpuffer 18c in der Tat weniger Bytes enthält, wird der action-Variable ein Wert von "read_AUDIO2" zugewiesen (Schritt 232). Der critical-Variable wird ein Wert von WAHR zugewiesen, falls fewest_buffers kleiner als eine vorgegebene Zahl (AUDIO_ALERT_BUFS) ist, wobei ihr ansonsten ein Wert von FALSCH zugewiesen wird (Schritt 234). Der efficient-Variable wird ein Wert von WAHR zugewiesen, falls die Anzahl der freien Bytes im Ringpuffer 18c größer als oder gleich einer vorgegebenen Zahl (EFFICIENT_AUDIO_BYTES) ist, und falls die Größe des nächsten Audiorahmens mal der typischen Audiorahmengröße größer als oder gleich EFFICIENT_AUDIO_BYTES ist (Schritt 236). Ansonsten wird der efficient- Variable ein Wert von FALSCH zugewiesen.
  • Um schließlich zu bestimmen, was der Zustand des Ringpuffers 18a (des Videokanals) ist, bestimmt PLAY_AV, ob videoEOF FALSCH ist und der Ringpuffer 18c wenigstens 1 Byte frei hat (Schritt 238). Falls das so ist, geht PLAY_AV weiter, um zu bestimmen, ob die Anzahl der freien Bytes im Ringpuffer 18a kleiner als fewest_buffers ist (Schritt 240) (d. h., ob der Ringpuffer 18a weniger Bytes als der Ringpuffer 18c besitzt, wie oben bestimmt worden ist). Falls der Ringpuffer 18a in der Tat weniger Bytes enthält, wird der action-Variable ein Wert von "read_VIDEO" zugewiesen (Schritt 242). Der critical-Variable wird ein Wert von WAHR zugewiesen, falls fewest_buffers kleiner als eine vorgegebene Zahl (VI- DEO_ALERT_BUFS) ist, wobei ihr ansonsten ein Wert von FALSCH zugewiesen wird (Schritt 244). Der efficient-Variable wird ein Wert von WAHR zugewiesen, falls die Anzahl der freien Bytes im Ringpuffer 18a größer als oder gleich einer vorgegebenen Zahl (EFFICIENT_VIDEO_BUFS) ist, und falls die Größe des nächsten Videorahmens größer als oder gleich EFFICIENT_AUDIO_BUFS ist (Schritt 246). Ansonsten wird der efficient-Variable ein Wert von FALSCH zugewiesen.
  • Nachdem PLAY_AV in den Schritten 218-246 bestimmt hat, welcher Kanal und folglich welcher Ringpuffer die wenigsten Bytes besitzt und deshalb gefüllt werden sollte, führt PLAY_AV abhängig von den den critical- und efficient-Variable zugewiesen Werten entweder eine kritische Leseoperation oder eine effiziente Leseoperation aus. Außerdem hängt die Ausführung der effizienten Leseoperation weiter von zwei Faktoren ab: 1) ob es einen bevorstehenden Übergang zwischen Ausschnitten gibt, d. h. das Ende des aktuellen Ausschnitts nahe ist und der Betrachter 16 bald die Daten aus einer anderen Mediendatei 14 abrufen werden muss; und 2) ob der Betrachter zu einem Ende des Ringpuffers kommt, aus dem er liest. Falls irgendeiner dieser Faktoren wahr ist, ist die efficient-Variable außerdem war. Falls die critical- und efficient-Variable beide FALSCH sind (Schritt 248), weist folglich PLAY_AV den Wert von "wait" der action-Variable zu und überprüft einige andere Bedingungen, um zu bestimmen, ob der action-Variable irgendein anderer Wert zugewiesen werden sollte (Schritt 250). (Die Bedingungen sind im Folgenden für die Leichtigkeit des Verständnisses in Boolescher Schreibweise wiedergegeben.)
  • Abhängig vom Ergebnis der obigen Analyse besitzt die action-Variable einen der drei Werte: read_VIDEO, read_AUDIO1 oder read_AUDIO2. Im Fall von read_VIDEO weist PLAY_AV der Variable "vidTrigger" eine Anzahl der Bytes zu, die aus der Mediendatei 14 zu lesen sind (Schritt 252). Falls diese Anzahl jedoch die Anzahl überschreitet, die notwendig ist, um der Anzahl der Bytes zu entsprechen, die in den Audiokanälen enthalten ist, stellt PLAY_AV diese Zahl nach unten ein (Schritt 254), so dass die Betrachterbetriebsmittel nicht durch das Lesen einer übermäßigen Menge von Videodaten blockiert werden. (Siehe die obige Erörterung des Einspeicherns.) Schließlich ruft PLAY_AV die Videobytes aus der Mediendatei ab und überträgt sie zum Ringpuffer 18a (Schritt 256).
  • Im Fall von read_AUDIO1 weist PLAY_AV der Variable max_read eine Anzahl der Bytes zu, die aus der Mediendatei 14 zu lesen sind (258). Falls diese Anzahl jedoch die Anzahl der Bytes überschreitet, die im Audiokanal 2 enthalten ist, stellt PLAY_AV die Zahl nach unten ein (Schritt 260), so dass die Betrachterbetriebsmittel nicht durch das Lesen einer übermäßigen Menge von Audiodaten blockiert werden. Schließlich ruft PLAY_AV die Audiobytes aus der Mediendatei 14 ab und überträgt sie zum Ringpuffer 18b (Schritt 262).
  • Im Fall von read_AUDIO2 weist PLAY_AV der Variable max_read eine Anzahl der Bytes zu, die aus der Mediendatei 14 zu lesen sind (Schritt 264). Falls diese Anzahl jedoch die Anzahl der Bytes überschreitet, die im Audiokanal 1 enthalten ist, stellt PLAY_AV die Zahl nach unten ein (Schritt 266), so dass die Betrachterbetriebsmittel nicht durch das Lesen einer übermäßigen Menge von Audiodaten blockiert werden. Schließlich ruft PLAY_AV die Audiobytes aus der Mediendatei 14 ab und überträgt sie zum Ringpuffer 18c (Schritt 268).
  • Nachdem PLAY_AV bestimmt hat, in welchen Ringpuffer die Daten zu lesen sind, und dies ausgeführt hat (die Schritte 218-268), überprüft PLAY_AV als Nächstes einige Bedingungen, die bewirken könnten, die Anzeige anzuhalten (Schritt 270), z. B. der Betrachter hat das Ende der Datei für die Videodaten erreicht, der Betrachter hat das Ende der Datei für die audio1- oder audio2-Daten erreicht oder der Anwender hat die Anzeige unterbrochen. Schließlich wählt PLAY_AV den aktuellen Rahmen aus einem der ring buffers (Schritt 272) und sendet abhängig davon, ob der Rahmen Video oder Audio ist, einen Zeiger auf den Rahmen an die geeignete Hardware (Schritt 274), d. h., die Videobeschleunigerkarte 22 oder die Soundbeschleunigerkarte 24. Die Hardware spielt den Rahmen ab (Schritt 276) und unterbricht dann die Software (Schritt 278), d. h. PLAY_AV, die dann den obenbeschriebenen Prozess wiederholt.
  • Um zu sichern, dass Audio und Video in Synchronisation bleiben, ist es wesent lieh, dass das System die richtige Anzahl von Audiobytes der Daten liest, die dem Videorahmen entspricht, der abgespielt wird. Dies ist besonders wichtig, wenn die Audiospur unabhängig von der Videospur digitalisiert worden ist. Um die Synchronisation zu sichern, speichert das System, wenn irgendwelches Audio digitalisiert wird, außerhalb in der Audiomediendatei die Anzahl der Videorahmen, die diesem Audio zugeordnet sind. Später, wenn eine Anforderung eine bestimmte Anzahl der Rahmen des Audio ausgeführt wird, kann dann das System ein Verhältnis für die ursprüngliche Anzahl der Videorahmen und Audiobytes bilden, um die richtige Anzahl der Audiobytes festzustellen, die notwendig sind, um mit der Anzahl der Videorahmen in der aktuellen Anforderung übereinzustimmen.
  • Um die Effizienz zu sichern, wenn Video abgespielt wird, das mit weniger als 30 Rahmen pro Sekunde erfasst worden ist, speichert das System eine Erfassungsmaske mit jeder Videomediendatei, die mit dieser niedrigeren Rate erfasst worden ist. Die Erfassungsmaske besteht aus einer Folge von 0en und 1en. Es gibt m Eins-Bits und eine Gesamtzahl von insgesamt n Bits, um anzuzeigen, dass nur m Videorahmen aus jedem n vorhanden sind. Wenn dieses Video abgespielt wird, dreht das System diese Erfassungsmaske nacheinander ein Bit nach links. Falls das höherwertige Bit eine 1 ist, bedeutet dies, dass dies ein neuer Rahmen ist, der abgespielt wird. Falls das Bit eine 0 ist, bedeutet dies, dass dies ein wiederholter Rahmen ist, der nicht abgespielt werden muss. Die Erfassungsmaske endet immer mit einer 1, so dass, wenn sie in ein Wort mit nur Den verschoben wird, die Erfassungsmaske neu geladen wird.
  • Der beigefügte Anhang verkörpert das Betrachtermodul 16 nach Fig. 1. Die verwendete Programmiersprache und der verwendete Kompilierer sind THINK C, Version 3.01, von der Symantec Corporation, während der verwendete Computer der Macintosh II ist, der unter dem Mac OS, Version 6.0.2, läuft.
  • Teile der Offenbarung dieses Patentdokuments einschließlich des Anhangs enthalten Material, dass Gegenstand das Schutzes des Urheberrechts ist, und für das das Urheberrecht beansprucht wird. Der Eigentümer des Urheberrechts hat keinen Einwand gegen die Faksimile-Wiedergabe des Patentdokuments durch jedermann, wie es in den Akten des Patentamts erscheint, aber ansonsten sind alle Rechte am Urheberrecht vorbehalten, z. B. einschließlich des Rechts aber nicht eingeschränkt auf das Recht, die Software in ein Computer-System zu laden.
  • Weiterer Aspekte und bevorzugte Merkmale sind im Folgenden umrissen. Die Merkmale der beigefügten abhängigen Ansprüche können mutatis mutantis auf die im Folgenden ausführlich beschriebenen Aspekte angewendet werden.
  • Ein weiterer Aspekt schafft ein Medienpipelinesystem für das Abspielen (Anzeigen) digitalisierten Audios und Videos, das Folgendes umfasst:
  • eine Mediendatei-Datenbank, die eine Vielzahl von Mediendateien akzeptiert und verfügbar macht, wobei wenigstens eine der Mediendateien digitalisierte Audiomediendaten besitzt und wenigstens eine weitere der Mediendateien Videomediendaten besitzt, wobei die Mediendateien in eine Vielzahl von Frames bzw. Rahmen unterteilt sind;
  • einen Speicherpuffer, der vorzugsweise als mehrere Ringpuffer organisiert ist;
  • ein Betrachtermodul, das die Prozeduren enthält, um die Übertragung der Mediendateien aus den Mediendateien in die mehreren Ringpuffer zu synchronisieren, wobei die Ringpuffer die Mediendaten speichern, bevor sie angezeigt werden;
  • einen Videobeschleuniger, der angeschlossen ist, um die Ausgabe von wenigstens einem der Ringpuffer zu empfangen, um eine Videoanzeigeausgabe zu erzeugen; und
  • einen Soundbeschleuniger, der angeschlossen ist, um eine Ausgabe von wenigstens einem der Ringpuffer zu empfangen, um eine Audioausgabe zu erzeugen.
  • Das System kann ferner einen Controller umfassen, um dem Soundbeschleuniger zu meiden, das Abspielen eines Teils der Mediendateien zu beginnen, die in einem Ringpuffer gefunden werden, der Audiodaten enthält, wobei der Soundbeschleuniger nach dem Abspielen dieses Teils ein Ausgangssignal erzeugt, wobei der Controller auf dieses Ausgangssignal des Soundbeschleunigers anspricht, um dem Videobeschleuniger zu melden, das Anzeigen des Teils der Mediendateien zu beginnen, die in einem Ringpuffer gespeichert sind, der die Videodaten enthält.
  • Die Ringpuffer können (bevor das Abspielen beginnt) mit den Daten vorgeladen werden, um die Effizienz zu vergrößern.
  • Das System kann ferner durch eine Menge von Erfassungsmasken verbessert werden, die verwendet werden, um das Material effizient wiederzugeben, das mit weniger als 30 Rahmen pro Sekunde erfasst worden ist.
  • Ein noch weiterer Aspekt schafft ein Verfahren zum Anzeigen digitalisierter Mediendaten auf einem Monitor, das die folgenden Schritte umfasst:
  • die Mediendaten werden von einer Vielzahl von Mediendateien und einer Vielzahl von Ringpuffern gespeichert, wobei wenigstens eine bzw. einer von diesen Videomediendaten enthält und wenigstens eine bzw. einer von diesen Audiomediendaten enthält;
  • welcher der Ringpuffer die wenigsten Mediendaten enthält, wird bestimmt;
  • die Mediendateien aus einer der Mediendateien werden in den Ringpuffer gelesen, der die wenigsten Mediendaten besitzt;
  • einer Soundbeschleunigerkarte wird gemeldet, die einen Teil der in einem der Audioringpuffer gefundenen Mediendaten abspielt;
  • auf eine Unterbrechung von der Soundbeschleunigerkarte wird gewartet;
  • einer Videobeschleunigerkarte wird gemeldet, die einen Teil der in einem der Videoringpuffer gefundenen Mediendaten abspielt.
  • Ein weiterer Aspekt schafft ein Verfahren zum Abspielen digitalisierter Mediendaten auf einem Monitor, das Verfahren umfasst die Schritte: digitalisierte Mediendaten werden in einer Vielzahl von Mediendateien und in einer Vielzahl von Ringpuffern gespeichert, wobei wenigstens eine der Mediendateien Videomediendaten enthält und wenigstens eine der Mediendateien Audiomediendaten enthält; wenigstens einer der Ringpuffer wird identifiziert, der wenigstens etwa den geringsten Umfang der Mediendaten enthält; die Mediendaten aus der wenigstens einen der Mediendateien werden in wenigstens einen der Ringpuffer gelesen, der als wenigstens etwa den geringsten Umfang der Mediendaten enthalten identifiziert worden ist; einem Soundgenerator wird gemeldet, wenigstens einen Teil der Audiomediendaten abzuspielen, die in wenigstens einem der Ringpuffer gespeichert sind; auf ein Unterbrechungssignal vom Soundgenerator wird gewartet; wobei nach dem Empfang einer derartigen Unterbrechung einem Videoanzeigegenerator gemeldet wird, wenigstens einen Teil der Videomediendaten abzuspielen, die in wenigstens einem der Ringpuffer gespeichert sind.
  • Es wird ferner eine Vorrichtung zum Abspielen digitalisierter Medien geschaffen, dadurch gekennzeichnet, dass sie umfasst: eine Mediendatei-Datenbank, die angepasst ist, um eine Vielzahl von Mediendateien zu akzeptieren und anschließend verfügbar zu machen, wobei wenigstens eine der Mediendateien digitali sierte Audiomediendaten enthält und wenigstens eine der Mediendateien digitalisierte Videomediendaten enthält, wobei die Mediendateien in einer Vielzahl von Frames bzw. Rahmen organisiert sind; einen Pufferspeicher, der angepasst ist, um die digitalisierten Video- und Audiodaten zu speichern, wobei er einen Eingang, der für das operative Empfangen dieser Daten angepasst ist, und einen Ausgang für das Bereitstellen derartiger Daten aus dem Speicher besitzt; ein Betrachtermodul, das Synchronisationsmittel umfasst, die angepasst sind, um eine Übertragung der Mediendateien von den Mediendateien in der Datenbank in den Pufferspeicher operativ zu synchronisieren; einen Videoanzeigegenerator, der mit dem Pufferspeicherausgang verbunden ist, um operativ eine Videoanzeigeausgabe zu erzeugen; und einen Soundgenerator, der mit dem Pufferspeicherausgang verbunden ist, um operativ eine Audioausgabe zu erzeugen.
  • Ein weiterer Aspekt schafft ein Verfahren zum Abspielen digitalisierter Mediendaten, das die folgenden Schritte umfasst: digitalisierte Mediendaten werden von einer Vielzahl von Mediendateien und in einer Vielzahl von Pufferspeichern gespeichert, wobei wenigstens eine Mediendatei Videomediendaten enthält und wenigstens eine Mediendatei Audiomediendaten enthält; wenigstens einer der Pufferspeicher wird als im Wesentlichen den geringsten Umfang der Mediendaten enthaltend identifiziert; die Mediendaten werden aus wenigstens einer Mediendatei in den auf diese Weise identifizierten Pufferspeicher gelesen; die in wenigstens einem Pufferspeicher gespeicherten Mediendaten werden abgespielt; und die in wenigstens einem der Pufferspeicher gespeicherten Videomediendaten werden abgespielt.
  • Quellencodeanhang
  • Anmelder: Eric C. Peters u. a.
  • Titel: Medienpipelinesystem

Claims (20)

1. Apparat zum Abspielen digitalisierter Medien, der folgendes umfasst:
eine Mediendatei-Datenbank, die angepasst ist, um eine Vielzahl von Mediendateien zu akzeptieren und verfügbar zu machen, wobei wenigstens eine der Mediendateien digitalisierte Audiomediendaten enthält und wenigstens eine der Mediendateien digitalisierte Videomediendaten enthält, wobei die Mediendateien in einer Vielzahl von Frames bzw. Rahmen organisiert sind;
eine Vielzahl von Speicherpuffem;
einen Videoanzeigegenerator, der angeschlossen ist, um eine Ausgabe wenigstens einer der Speicherpuffer zum Erzeugen einer Videoanzeigenausgabe zu empfangen;
einen Geräuschgenerator bzw. Soundgenerator, der angeschlossen ist, um eine Ausgabe von wenigstens einem der Speicherpuffem zum Erzeugen einer Audioausgabe zu empfangen; gekennzeichnet durch
ein Betrachtermodul, das Mittel umfasst, um eine Übertragung von Mediendaten von den Mediendateien in die Speicherpuffer zu steuern, und zwar basierend auf einer Speicherpufferbelegung, und um eine Ausgabeoperation des Videoanzeigengenerators und des Soundgenerators zu synchronisieren.
2. Apparat nach Anspruch 1, bei welchem die Speicherpuffer Ringpuffer umfassen.
3. Apparat gemäß einem vorhergehenden Anspruch, bei welchem die Puffer in Software definiert sind.
4. Apparat nach einem vorhergehenden Anspruch, der weiter dadurch gekennzeichnet ist, dass wenigstens ein erster Speicherpuffer angeordnet ist, um nur Audiomediendaten zu emp fangen und zu speichern und wenigstens ein zweiter Speicherpuffer angeordnet ist, um nur Videomediendaten zu empfangen und zu speichern.
5. Apparat nach Anspruch 4, der weiter dadurch gekennzeichnet ist, dass wenigstens zwei Puffer angeordnet sind, um nur Audiomediendaten zu empfangen und zu speichern.
6. Apparat nach einem vorhergehenden Anspruch, bei welchem eine Anzeige der Videodaten durch die Audiodaten synchronisiert ist.
7. Apparat nach einem vorhergehenden Anspruch, der ein Mittel enthält, um eine kritische Leseoperation auszuführen, wenn der Umfang an Daten in einem Speicherpuffer weniger als ein vordefiniertes Minimum ist.
8. Apparat nach Anspruch 7, der weiter ein Mittel enthält, um eine effiziente Leseoperation auszuführen, wenn der Umfang an Daten in einem Speicherpuffer oberhalb des Minimums ist.
9. Apparat nach einem vorhergehenden Anspruch, der ein Mittel enthält, um zu warten, bevor eine Leseoperation von den Mediendateien ausgeführt wird, wenn der Umfang an Daten in den Speicherpuffem oberhalb eines vordefinierten Schwellenwerts ist.
10. Apparat nach einem vorhergehenden Anspruch, bei welchem der Speicherpufferzustand irgendeinem von: kritisch; effizient; nicht kritisch und nicht effizient enthält.
11. Apparat nach einem vorhergehenden Anspruch, der weiter gekennzeichnet ist durch Mittel, um den Speicherpuffer mit Audio- und Videomediendaten vorzuladen.
12. Apparat nach einem vorhergehenden Anspruch, der weiter dadurch gekennzeichnet ist, dass das Betrachtermodul weiter ein Identifikationsmittel umfasst, das angepasst ist, um wenigstens einen Speicherpuffer so zu identifizieren, dass er den geringsten Umfang an Mediendaten enthält und das weiter angepasst ist, um Mediendaten zu wenigstens einem Speicherpuffer, der so identifiziert ist, zu übertragen.
13. Apparat nach einem vorhergehenden Anspruch, der weiter dadurch gekennzeichnet ist, dass das Betrachtermodul einen Datenübertragungskoordinator enthält, um die Übertragung von Daten zu der Vielzahl von Speicherpuffem durchzuführen, so dass zu jeder Zeit der Umfang an Daten in einem Puffer ungefähr gleich dem Umfang an Daten in wenigstens einem anderen Speicherpuffer ist.
14. Apparat nach einem vorhergehenden Anspruch, der weiter dadurch gekennzeichnet ist, dass das Betrachtermodul einen Übertragungskoordinator enthält, der angepasst ist, um Mediendaten zu wenigstens einem Speicherpuffer zu übertragen, und zwar ungeachtet wenigstens einer anderen Bedingung, wenn der Inhalt des Speicherpuffers unterhalb eines vorbestimmten minimalen Umfangs ist.
15. Verfahren zum Abspielen digitalisierter Mediendaten auf einem Monitor, wobei das Verfahren die folgenden Schritte umfasst:
digitalisierte Mediendaten werden von einer Vielzahl von Mediendateien in eine Vielzahl von Speicherpuffem gespeichert, wobei wenigstens eine der Mediendateien Videomediendaten enthalten und wenigstens eine der Mediendateien Audiomediendaten enthalten;
eine Videoausgabe von einem Videoanzeigegenerator wird erzeugt, der eine Ausgabe wenigstens einer der Speicherpuffer erhält;
eine Audioausgabe von einem Geräuschgenerator bzw. Soundgenerator wird erzeugt, der eine Ausgabe von wenigstens einem der Speicherpuffer erhält; dadurch gekennzeichnet,
eine Übertragung von Mediendaten von den Mediendateien in die Speicherpuffer wird basierend auf einer Speicherpufferbelegung gesteuert und eine Ausgabeoperation des Videoanzeigengenerators und des Geräuschgenerators wird synchronisiert.
16. Verfahren nach Anspruch 15, bei welchem eine Anzeige durch den Video generator synchronisiert wird, indem auf eine Unterbrechung bzw. einen Interrupt von dem Soundgenerator gewartet wird.
17. Verfahren nach Anspruch 15 oder 16, das weiter den Schritt umfasst, wonach eine kritische Leseoperation ausgeführt wird, wenn der Umfang an Mediendaten, der in wenigstens einem Speicherpuffer gespeichert ist, weniger als ein vorbestimmter minimaler Umfang ist.
18. Verfahren nach einem der Ansprüche 15 bis 17, das weiter den Schritt umfasst, wonach eine effiziente Leseoperation ausgeführt wird, wenn der Umfang an Mediendaten, die in wenigstens einem Speicherpuffer gespeichert sind, größer als ein vorbestimmter Umfang ist.
19. Verfahren nach einem der Ansprüche 15 bis 18, das weiter den Schritt umfasst, wonach eine erste Menge an Audiomediendaten bestimmt wird, die korrekt mit einem zweiten Umfang an Videomediendaten zu synchronisieren ist, indem ein Abschnitt mit einem dritten Umfang an Videomediendaten verwendet wird, der mit dem ersten Umfang von Audiomediendaten in Zusammenhang stand, wenn der erste Umfang digitalisiert wurde.
20. Verfahren nach einem der Ansprüche 15 bis 19, bei welchem wenigstens ein Speicherpuffer vorgeladen ist.
DE69034016T 1989-12-22 1990-12-19 Vorrichtung und Verfahren zur Wiedergabe von digitalen Mediendaten Expired - Fee Related DE69034016T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/455,567 US5045940A (en) 1989-12-22 1989-12-22 Video/audio transmission systsem and method

Publications (2)

Publication Number Publication Date
DE69034016D1 DE69034016D1 (de) 2002-12-12
DE69034016T2 true DE69034016T2 (de) 2003-07-17

Family

ID=23809361

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69034016T Expired - Fee Related DE69034016T2 (de) 1989-12-22 1990-12-19 Vorrichtung und Verfahren zur Wiedergabe von digitalen Mediendaten

Country Status (10)

Country Link
US (2) US5045940A (de)
EP (3) EP0506877A4 (de)
JP (1) JP3168003B2 (de)
KR (1) KR920704509A (de)
AT (1) ATE227488T1 (de)
AU (3) AU652733B2 (de)
CA (1) CA2071975C (de)
DE (1) DE69034016T2 (de)
MC (1) MC2215A1 (de)
WO (1) WO1991010323A1 (de)

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253275A (en) 1991-01-07 1993-10-12 H. Lee Browne Audio and video transmission and receiving system
US5262964A (en) * 1991-04-10 1993-11-16 International Business Machines Corporation Method and apparatus for variable playback speed of multimedia data interchange within a data processing system
US5528281A (en) * 1991-09-27 1996-06-18 Bell Atlantic Network Services Method and system for accessing multimedia data over public switched telephone network
US5790174A (en) * 1991-09-27 1998-08-04 Bell Atlantic Network Services, Inc. PSTN architecture for video-on-demand services
GB2280778B (en) * 1992-04-10 1996-12-04 Avid Technology Inc Digital audio workstation providing digital storage and display of video information
US6678461B1 (en) 1992-04-10 2004-01-13 Avid Technology, Inc. Media recorder for capture and playback of live and prerecorded audio and/or video information
US5715018A (en) * 1992-04-10 1998-02-03 Avid Technology, Inc. Digital advertisement insertion system
CA2139420C (en) * 1992-07-01 2000-12-12 Eric C. Peters Electronic film editing system using both film and videotape format
US6357047B1 (en) 1997-06-30 2002-03-12 Avid Technology, Inc. Media pipeline with multichannel video processing and playback
CN1125031A (zh) * 1993-04-16 1996-06-19 数据翻译公司 采用可变量化的自适应视频压缩
US6006020A (en) * 1993-04-16 1999-12-21 Media 100 Inc. Video peripheral circuitry exercising bus master control over a bus of a host computer
US5812216A (en) 1994-04-19 1998-09-22 Avid Technology, Inc. Method and apparatus for creating motion picture transitions according to non-linear light response
AU683056B2 (en) * 1993-04-16 1997-10-30 Media 100 Inc. Adaptive video decompression
AU683254B2 (en) * 1993-04-16 1997-11-06 Media 100 Inc. Displaying a subsampled video image on a computer display
WO1994024626A1 (en) * 1993-04-16 1994-10-27 Data Translation, Inc. Video peripheral for a computer
US5506932A (en) * 1993-04-16 1996-04-09 Data Translation, Inc. Synchronizing digital audio to digital video
GB9307894D0 (en) * 1993-04-16 1993-06-02 Avid Technology Inc Multichannel digital image compression and processing
US5644364A (en) * 1993-04-16 1997-07-01 Avid Technology, Inc. Media pipeline with multichannel video processing and playback
JPH09501275A (ja) 1993-04-16 1997-02-04 アヴィッド・テクノロジー・インコーポレーテッド 画像データストリームをこれに対応する音声データストリームと同期させる方法及び装置
US5592399A (en) * 1993-05-26 1997-01-07 Intel Corporation Pipelined video encoder architecture
US5551016A (en) * 1993-07-01 1996-08-27 Queen's University At Kingston Monitoring system and interface apparatus therefor
US5463565A (en) * 1993-10-29 1995-10-31 Time Warner Entertainment Co., L.P. Data block format for software carrier and player therefor
US5535137A (en) * 1994-02-14 1996-07-09 Sony Corporation Of Japan Random access audio/video processor with compressed video resampling to allow higher bandwidth throughput
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
TW401670B (en) * 1994-08-08 2000-08-11 Symbios Logic Inc Movie-on-demand disk storage loop architecture
US5613032A (en) * 1994-09-02 1997-03-18 Bell Communications Research, Inc. System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved
JP3548245B2 (ja) * 1994-10-04 2004-07-28 キヤノン株式会社 情報記録再生装置、情報再生装置、及び情報再生方法
US5999406A (en) * 1995-02-23 1999-12-07 Avid Technology, Inc. Dockable electronic equipment container
US6977673B1 (en) 1995-02-23 2005-12-20 Avid Technology, Inc. Portable moving picture recording device including switching control for multiple data flow configurations
US7623754B1 (en) 1995-02-23 2009-11-24 Avid Technology, Inc. Motion picture recording device using digital, computer-readable non-linear media
US7532807B2 (en) * 1995-04-07 2009-05-12 Avid Technology, Inc. Combined editing system and digital moving picture recording system
US5784095A (en) * 1995-07-14 1998-07-21 General Instrument Corporation Digital audio system with video output program guide
US6807676B1 (en) 1995-07-14 2004-10-19 General Instrument Corporation Methods of formatting data to maximize the readability and the amount of song identification information displayed on a limited number of lines
US5761537A (en) * 1995-09-29 1998-06-02 Intel Corporation Method and apparatus for integrating three dimensional sound into a computer system having a stereo audio circuit
US6836295B1 (en) 1995-12-07 2004-12-28 J. Carl Cooper Audio to video timing measurement for MPEG type television systems
KR100207687B1 (ko) * 1995-12-09 1999-07-15 윤종용 앰펙(mpeg) 시스템 복호기 및 오디오/비디오 동기 방법
FI107106B (fi) * 1996-06-13 2001-05-31 Ville Juhana Ollikainen Hajautettuun tietoa välittävään rakenteeseen perustuva tiedostopalvelin
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
US6212208B1 (en) * 1996-11-11 2001-04-03 Matsushita Electric Industrial Co., Ltd. Method for coding and multiplexing multimedia data, apparatus for coding and multiplexing multimedia data, record media containing program for coding and multiplexing multimedia 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
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
US6463444B1 (en) 1997-08-14 2002-10-08 Virage, Inc. Video cataloger system with extensibility
US6567980B1 (en) 1997-08-14 2003-05-20 Virage, Inc. Video cataloger system with hyperlinked output
US7295752B1 (en) 1997-08-14 2007-11-13 Virage, Inc. Video cataloger system with audio track extraction
US6360234B2 (en) 1997-08-14 2002-03-19 Virage, Inc. Video cataloger system with synchronized encoders
US6961801B1 (en) 1998-04-03 2005-11-01 Avid Technology, Inc. Method and apparatus for accessing video data in memory across flow-controlled interconnects
US6763523B1 (en) 1998-04-03 2004-07-13 Avid Technology, Inc. Intelligent transfer of multimedia data files from an editing system to a playback device
US6426778B1 (en) * 1998-04-03 2002-07-30 Avid Technology, Inc. System and method for providing interactive components in motion video
US20030133448A1 (en) * 1998-04-03 2003-07-17 Craig R. Frink Packet protocol for encoding and decoding video data and data flow signals and devices for implementing the packet protocol
US6833865B1 (en) * 1998-09-01 2004-12-21 Virage, Inc. Embedded metadata engines in digital capture devices
US6766357B1 (en) 1999-04-15 2004-07-20 Avid Technology, Inc. Apparatus and method for efficient transfer of multimedia data for playback
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
US7343617B1 (en) 2000-02-29 2008-03-11 Goldpocket Interactive, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast
US7120924B1 (en) 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast
US7725812B1 (en) 2000-03-31 2010-05-25 Avid Technology, Inc. Authoring system for combining temporal and nontemporal digital media
US7260564B1 (en) 2000-04-07 2007-08-21 Virage, Inc. Network video guide and spidering
US7962948B1 (en) 2000-04-07 2011-06-14 Virage, Inc. Video-enabled community building
US7222163B1 (en) 2000-04-07 2007-05-22 Virage, Inc. System and method for hosting of video content over a network
US8171509B1 (en) 2000-04-07 2012-05-01 Virage, Inc. System and method for applying a database to video multimedia
US7555557B2 (en) * 2000-04-07 2009-06-30 Avid Technology, Inc. Review and approval system
US6816835B2 (en) * 2000-06-15 2004-11-09 Sharp Kabushiki Kaisha Electronic mail system and device
US7930624B2 (en) * 2001-04-20 2011-04-19 Avid Technology, Inc. Editing time-based media with enhanced content
US20020188628A1 (en) * 2001-04-20 2002-12-12 Brian Cooper Editing interactive content with time-based media
CN100541472C (zh) * 2001-10-31 2009-09-16 汤姆森特许公司 用于本地视频服务器的许可控制系统
US9330060B1 (en) * 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US8660182B2 (en) * 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US7760918B2 (en) * 2003-08-06 2010-07-20 Zinayida Bezvershenko Identification of a person based on ultra-sound scan analyses of hand bone geometry
CA2438220C (en) * 2003-08-06 2011-11-08 Click-Into Inc. Identification of a person based on ultra-sound scan analyses of hand bone geometry
US8423597B1 (en) 2003-08-29 2013-04-16 Nvidia Corporation Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7631119B2 (en) 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
US7620753B1 (en) 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer
US7792024B1 (en) 2005-03-18 2010-09-07 Apple Inc. IO latency reduction
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
US8660380B2 (en) * 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
US8756482B2 (en) * 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US20080291209A1 (en) * 2007-05-25 2008-11-27 Nvidia Corporation Encoding Multi-media Signals
US9118927B2 (en) * 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8873625B2 (en) * 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
US8666181B2 (en) * 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US8559793B2 (en) 2011-05-26 2013-10-15 Avid Technology, Inc. Synchronous data tracks in a media editing system
US9798698B2 (en) 2012-08-13 2017-10-24 Nvidia Corporation System and method for multi-color dilu preconditioner
US9210204B2 (en) 2013-10-31 2015-12-08 At&T Intellectual Property I, Lp Synchronizing media presentation at multiple devices
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609227A (en) * 1968-09-09 1971-09-28 Ampex Random access audio/video information retrieval system
US4536836A (en) * 1981-11-27 1985-08-20 Storage Technology Corporation Detection of sequential data stream
US4667286A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for transferring data between a disk and a central processing unit
US4698664A (en) * 1985-03-04 1987-10-06 Apert-Herzog Corporation Audio-visual monitoring system
FR2611942B1 (fr) * 1987-02-25 1991-11-29 France Etat Serveur a large bande, en particulier pour la transmission de musique ou d'images
US4882743A (en) * 1988-08-01 1989-11-21 American Telephone And Telegraph Multi-location video conference system
US4949169A (en) * 1989-10-27 1990-08-14 International Business Machines Corporation Audio-video data interface for a high speed communication link in a video-graphics display window environment

Also Published As

Publication number Publication date
EP0506877A4 (en) 1993-07-14
AU652733B2 (en) 1994-09-08
AU7057796A (en) 1997-01-16
AU7143391A (en) 1991-07-24
EP0830026A3 (de) 1999-02-10
KR920704509A (ko) 1992-12-19
EP0830026A2 (de) 1998-03-18
DE69034016D1 (de) 2002-12-12
WO1991010323A1 (en) 1991-07-11
EP0506877A1 (de) 1992-10-07
USRE40107E1 (en) 2008-02-26
EP0830026B1 (de) 2002-11-06
CA2071975A1 (en) 1991-06-23
AU670875B2 (en) 1996-08-01
AU6603894A (en) 1994-09-22
AU685712B2 (en) 1998-01-22
JP3168003B2 (ja) 2001-05-21
EP1278379A2 (de) 2003-01-22
JPH05502989A (ja) 1993-05-20
CA2071975C (en) 1996-04-30
EP1278379A3 (de) 2003-02-26
MC2215A1 (fr) 1992-11-26
ATE227488T1 (de) 2002-11-15
US5045940A (en) 1991-09-03

Similar Documents

Publication Publication Date Title
DE69034016T2 (de) Vorrichtung und Verfahren zur Wiedergabe von digitalen Mediendaten
DE3788038T2 (de) Informationsschnittgerät.
DE69117081T2 (de) Vorrichtung zur automatischen Erkennung von Werbungsinformation
DE69618684T2 (de) Ausgabesteuerungssystem für umschaltbare Torkanäle
DE69527401T2 (de) Aufzeichnung und wiedergabe eines mpeg-informationssignals auf einen/von einem aufzeichnungsträger
DE69632664T2 (de) Dekodierung von Informationsseiten, die Titelinformation und Seitendaten umfassen
DE69109346T2 (de) Übertragungssystem für digitalisierte Fernsehbilder.
DE69121542T2 (de) System zur Verteilung von Videosendungen
DE60116537T2 (de) Datenaufzeichnungsverfahren und Datenaufzeichnungsgerät
DE69528091T2 (de) Verfahren und Vorrichtung zum Aufzeichnen und Wiedergeben von komprimierten Videodaten
DE3782512T2 (de) Bearbeiten von zeitkodedaten in einem aufgezeichneten digitalen videosignal.
DE69619091T2 (de) Verfahren zur videoinformationsübertragung sowie informationsträger, videoinformationsempfangs- und -übertragungsvorrichtung
DE3146964A1 (de) "wendelabtastformat fuer bandaufzeichnungen zur erweiterung eines nicht in der spur erfolgenden wiedergabebetriebes und aufzeichnungs- und/oder wiedergabeeinrichtung hierfuer"
DE69226732T2 (de) Optisches Aufzeichnungsgerät
DE3786147T2 (de) Verfahren zum Aufzeichnen von synchronisierter Audio- und Videoinformation.
DE69305077T2 (de) Dynamischer lader
DE69535547T2 (de) Aufzeichnungs- und Wiedergabegerät für digitale Audio- und Videosignale
DE3016059C2 (de) Bandstellensucheinrichtung für ein magnetisches Aufnahme- und Wiedergabegerät
DE3779791T2 (de) Video-aufzeichnungsaenderungs- und -bearbeitungssysteme.
DE3751343T2 (de) Aufzeichnung und Wiedergabe eines Zeitkodesignals zusammen mit digitalen Video- und Tonsignalen.
DE69910360T2 (de) Audioinformationsverarbeitungsverfahren und -vorrichtung unter Verwendung von zeitangepassten kodierten Audioinformationsblöcken in Audio/Videoanwendungen zum Erleichtern von Tonumschaltung
DE69423540T2 (de) Gerät zur Aufzeichnung von digitalen Signalen
DE69033249T2 (de) Videosignalaufzeichnungs- und Wiedergabegerät
DE3223059A1 (de) System fuer die herstellung von selbstgestalteten audiokassetten, videokassetten und aehnlichen
DE69225257T2 (de) Aufzeichnungsgerät und Aufzeichnungs-/Wiedergabesystem

Legal Events

Date Code Title Description
8339 Ceased/non-payment of the annual fee