DE69522697T2 - Verfahren und vorrichtung zur programmierbaren ton-/videosynchronisierung für multimediasysteme - Google Patents
Verfahren und vorrichtung zur programmierbaren ton-/videosynchronisierung für multimediasystemeInfo
- Publication number
- DE69522697T2 DE69522697T2 DE69522697T DE69522697T DE69522697T2 DE 69522697 T2 DE69522697 T2 DE 69522697T2 DE 69522697 T DE69522697 T DE 69522697T DE 69522697 T DE69522697 T DE 69522697T DE 69522697 T2 DE69522697 T2 DE 69522697T2
- Authority
- DE
- Germany
- Prior art keywords
- video
- audio
- data
- vpts
- apts
- 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 abstract description 16
- 230000005236 sound signal Effects 0.000 claims abstract description 52
- 230000006837 decompression Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 239000000872 buffer Substances 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- MJUVRTYWUMPBTR-MRXNPFEDSA-N 1-(2,2-difluoro-1,3-benzodioxol-5-yl)-n-[1-[(2r)-2,3-dihydroxypropyl]-6-fluoro-2-(1-hydroxy-2-methylpropan-2-yl)indol-5-yl]cyclopropane-1-carboxamide Chemical compound FC=1C=C2N(C[C@@H](O)CO)C(C(C)(CO)C)=CC2=CC=1NC(=O)C1(C=2C=C3OC(F)(F)OC3=CC=2)CC1 MJUVRTYWUMPBTR-MRXNPFEDSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8211—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal
- H04N9/8216—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal using time division multiplex
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- 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
-
- 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/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3027—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
-
- 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/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3027—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
- G11B27/3036—Time code signal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
- H04N19/427—Display on the fly, e.g. simultaneous writing to and reading from decoding memory
-
- 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
- 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/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43072—Synchronising 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
-
- 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/434—Disassembling 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/4343—Extraction or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/806—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
- H04N9/8063—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
-
- 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
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/213—Read-only discs
-
- 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
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2545—CDs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/775—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/87—Regeneration of colour television signals
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Circuits Of Receivers In General (AREA)
Description
- Die Erfindung betrifft allgemein das Gebiet der Multimedia-Systeme. Die Erfindung betrifft insbesondere ein Synchronisationsverfahren und eine Schaltung für einen Multimedia PC, bei dem die Schaltung eine Synchronisation zwischen einer Audio-Wiedergabe und einer Videodarstellung bewirkt. Die Erfindung ist insbesondere für die Daten- Komprimierung und Dekomprimierung nach den MPEG (Motion Picture Expert Group) I und II- Standards geeignet.
- Personalcomputer sind im allgemeinen so ausgelegt, dass auf ihnen Multimedia-Programmanwendungen laufen können, die Audio- und Video-Informationen enthalten. Es haben sich mehrere Multimedia-Spezifikations-Komitees gebildet und Standards zum Codieren/Komprimieren und Decodieren/Dekomprimieren von Audio- und Video-Informationen vorgeschlagen. Die Standards MPEG I und II, die von der Motion Picture Expert Group aufgestellt wurden, sind die am meisten akzeptierten internationalen Standards auf dem Gebiet der Multimedia PC Programmanwendungen. Andere Standards sind JPEG und Motion JPEG, die von der Joint Photographic Expert Group aufgestellt wurden. Fig. I A zeigt ein MPEG Audio- und Video-Decodiersystem 120, mit dem Video- und/oder Audiodaten, die nach dem MPEG-Algorithmus komprimiert und codiert sind, decodiert werden können. Der Systemdecoder 110 liest den codierten MPEG Datenstrom 101, der verschachtelte komprimierte Video- und/oder Audiodaten enthalten kann; und erzeugt Zeittaktinformationen wie ein VPTS- (video presentation time stamp), ein SCR- (system clock reference) und APTS- (audio presentation time stamp) Signal. Der Video-Decoder 111 decodiert und dekomprimiert den Video-Datenstrom 102 und erzeugt ein decodiertes/dekomprimiertes Videosignal 107. Der Audio-Decoder 112 decodiert und dekomprimiert den Audio-Datenstrom 103 und erzeugt ein decodiertes/dekomprimiertes Audiosignal 108. Das decodierte/dekomprimierte Videosignal 107 wird einem PC Monitor oder einem anderen Display zugeführt, während das decodierte/dekomprimierte Audiosignal 108 einem Lautsprecher oder einer anderen Einrichtung zur Erzeugung von Audiosignalen (nicht dargestellt) zugeführt wird.
- Fig. 1B, die der Seite 49 der ISO/IEC 11172-1: 1993(E) der International Standard Specification für MPEG entnommen wurde, die durch Bezugnahme zum Bestandteil dieser Offenbarung gemacht werden soll, zeigt ein detailliertes Diagramm der Art und Weise, wie der Datenstrom von codierten/komprimierten Daten unter Verwendung von Paketen eingekapselt und übertragen werden kann. Der Datenstrom kann verschiedene Schichten wie zum Beispiel eine ISO-Schicht und eine Pack-Schicht haben. In der ISO- Schicht wird eine Reihe von Paketen 161 übertragen, bis ein ISO-Endcode 164 erreicht ist. Jedes Paket 161 kann so definiert sein, dass es einen Pack-Startcode 162 und Pack- Daten 163 aufweist. In der Pack-Schicht kann jedes Paket 161 so definiert sein, dass es einen Pack-Startcode 162, eine Systemtakt-Referenz 117, einen System-Vorsatz (Header) 180 und Datenpakete 165 bis 168 aufweist. Die Ellipsen 167 bezeichnen eine Anzahl von Paketen. Die Systemtakt-Referenz 117 kann weiterhin so definiert sein, dass sie ein Bitmuster 0010, drei Bits von X 185, Bitmuster von 1, 15 Bits von Y 186, Bitmuster 1, 15 Bits von Z 187, Bitmuster 11, Multiplexerrate 188 und Bitmuster 1 ist. Die 3 Bits von X 185, die 15 Bits von Y 186 und die 15 Bits von Z 187 ergeben zusammen ein 33 Bit-Muster, das die Systemtakt-Referenz (SCR) darstellt. Die Systemtakt-Referenz stellt die in Bezug genommene Systemzeit dar. Die Multiplexerrate 188 bestimmt, wie häufig Audiopakete zwischen Videopakete verschachtelt werden. Jedes der Pakete 165 bis 168 kann in ähnlicher Weise dargestellt werden wie das Paket 166. Das Paket 166 hat einen 3-Byte Paket-Startcode-Präfix 170A, einen 1-Byte-Strom ID 170B, eine 2-Byte Paketlänge 171, h-Bytes andere Vorsatz-Daten 172 und N-Bytes Paketdaten 173. Die N-Bytes Paketdaten 173 können Audio- oder Videodaten sein. Im Falle der Anwendung eines Komprimier/Codier-Verfahrens, wie zum Beispiel MPEG I, MPEG II oder JPEG sind die Datenpakete in geeigneter Weise codiert. Die h-Bytes der anderen Vorsatz-Daten 172 können zwischen 1 und 16 Füll-Bytes 140, Code-Bits 01 141, ein die Standard-Puffer-Skalierung kennzeichnendes Bit 142, 13 die Standard-Puffergröße anzeigende Bits 143 und 1, 5 oder 10 Bytes Zeitstempel-Informationen 150 aufweisen, die jeweils nichts, einen Darstellungs-Zeitstempel (PTS - presentation time stamp) bzw. einen PTS mit einem Decodier-Zeitstempel (DTS - decoding time stamp) repräsentieren. Der Darstellungs-Zeitstempel kann ein Audio-Darstellungs-Zeitstempel (APTS) sein, wenn die folgenden Datenpakete 173 Audioinformationen enthalten. Alternativ dazu kann er auch ein Video-Darstellungs-Zeitstempel (VPTS) sein, wenn die folgenden Datenpakete 173 Videoinformationen enthalten. In beiden Fällen können die APTS- oder VPTS-Zeitstempel durch 5 Bytes oder 33 Bits mit Informationen mit 7 nicht verwendeten Bits dargestellt werden.
- Fig. 3A zeigt ein vereinfachtes Beispiel 315 für einen codierten/komprimierten Datenstrom 101 im Vergleich zu Fig. 1B. Ein solcher codierter/komprimierter Datenstrom kann eine Mehrzahl von codierten/komprimierten Video-Datenpaketen oder -Blöcken und eine Mehrzahl von codierten/komprimierten Audio-Datenpaketen oder -Blöcken enthalten. Mit MPEG werden die Video-Pakete auf der Grundlage von Video-Rahmen, die auch als Bilder bezeichnet werden, codiert/komprimiert. Es können 3 Arten von Video-Rahmen verwendet werden. Ein Intraframe oder I-Rahmen oder -Bild ist ein Rahmen von Videodaten, der unter Verwendung von Informationen über sich selbst codiert ist. Es wird nur ein gegebener nicht komprimierter Video-Rahmen zu einem I-Rahmen aus codierten/komprimierten Videodaten codiert/komprimiert. Ein Vorhersage-Rahmen oder P-Rahmen oder -Bild ist ein Rahmen, der unter Verwendung einer Bewegungskompensierten Vorhersage anhand eines vorhergehenden Bezugsrahmens codiert/komprimiert wird. Ein zuvor codierter/komprimierter Rahmen wie zum Beispiel ein I- oder P-Rahmen wird verwendet, um einen gegenwärtigen, nicht komprimierten Rahmen aus Videodaten zu einem P-Rahmen aus codierten komprimierten Videodaten zu codieren/komprimieren. Ein bidirektionaler Rahmen oder B-Rahmen oder -Bild ist ein Rahmen, der unter Verwendung einer Bewegungskompensierten Vorhersage anhand eines vorherigen und eines zukünftigen Bezugsrahmens oder eines vorherigen oder eines zukünftigen Bezugsrahmens von Videodaten codiert/komprimiert wird. Ein Bezugsrahmen kann entweder ein I-Rahmen oder ein P-Rahmen sein. B-Rahmen werden im allgemeinen zwischen I- oder P-Rahmen oder Kombinationen oder in dem Fall einer schnellen Bewegung in ein Bild über Rahmen eingesetzt. Die Bewegungskompensation betrifft die Anwendung von Bewegungsvektoren zwischen einem Rahmen und einem nächsten Rahmen, um die Effizienz der Vorhersage von Pixelwerten für die Codierung/Komprimierung und Decodierung/Dekomprimierung zu verbessern. Bei dem Verfahren der Vorhersage werden die Bewegungsvektoren zur Erzeugung von Offset- Werten und Fehlerdaten verwendet, die sich auf einen vorhergehenden oder einen zukünftigen Rahmen aus Videodaten mit decodierten Pixelwerten beziehen, die mit den Fehlerdaten zum Komprimieren/Codieren oder Dekomprimieren/Decodieren eines gegebenen Rahmens von Videodaten verwendet werden können. Da das Datenvolumen, das zur Wiedergabe eines Bildes erforderlich ist, das eine Bewegung enthalten und verschiedene Auflösungen und Rahmenraten haben kann, größer ist, als das zur Wiedergabe von Audioklängen erforderliche Datenvolumen, treten die Video-Datenpakete wie sie z. B. mit den Bezugsziffern 303 bis 305 bezeichnet sind, in dem MPEG-Datenstrom häufiger auf, als die Audiodaten-Pakete, wie sie zum Beispiel das mit der Bezugsziffer 311 bezeichnet sind. Die nicht so häufige Verschachtelung von Audio-Datenpaketen zwischen die Video-Datenpakete kann dazu führen, dass ein Bildrahmen wiedergegeben wird, bevor oder nachdem das Audiosignal wiedergegeben worden ist. Zur Erleichterung der Synchronisation von Audio- und Videodaten werden Zeitstempel in den codierten/komprimierten Datenstrom eingebracht. Die Video-Präsentations-Zeitstempel 300 bis 302 sind in verschiedenen Intervallen 306 bis 308 eines gegebenen System-Zeittaktes 316 vorgesehen. Die Audio-Präsentations-Zeitstempel, von denen einer beispielhaft mit der Bezugsziffer 310 bezeichnet ist, sind ebenfalls an verschiedenen Intervallen 312 des MPEG Datenstroms vorgesehen. Zusätzlich befindet sich eine Systemtakt-Referenz (SCR) 317 an verschiedenen Intervallen 318. Alle diese SCR-, VPTS- und APTS- Signale sind 33 Bit Werte und stellen einen Zeitwert dar. In dem MPEG Standard wird empfohlen, dass der MPEG Decoder den 33 Bit VPTS als Startzeit der Videowiedergabe-Sequenz und den 33 Bit APTS als Startzeit der Audiowiedergabe-Sequenz verwendet. Die APTS- und VPTS-Signale können zusammen als Präsentations-Zeitstempel (PTS) bezeichnet werden. Der MPEG Standard erfordert, dass ein APTS-, VPTS- und SCR-Signal in dem Bitstrom mindestens einmal alle 0,7 Sekunden auftritt.
- Gemäß dem Stand der Technik ist die 33 Bit Systemtakt-Referenz (5CR) als Referenzzeit sowohl für die Video- als auch für die Audio-Wiedergabe verwendet worden, um die Abweichung zwischen der Video- und der Audio-Wiedergabe zu minimieren. Die SCR wurde in einen Zähler geladen, der als Systemzähler bezeichnet wird, und mit einem 90 kHz Systemtakt (SCLK) inkrementiert. Der Ausgang des Systemzählers wurde mit dem VPTS in dem Video-Decoder 111 und mit dem APTS in dem Audio-Decoder 112 verglichen, um zu bestimmen, wie stark die Audio- oder Video-Wiedergabe die Synchronität verlassen hatte. Wenn ein Schwellwert erreicht war, sprang das Videosignal in eine korrekte Synchronität mit dem Audiosignal. Somit wurde die SCR verwendet, um die Video-Wiedergabe mit der Audio-Wiedergabe wieder zu synchronisieren. In manchen Decodiersystemen wird ein Videotakt oder ein Decodiertakt ohne Bezug auf die SCR erzeugt und nicht verriegelt oder korrigiert, so dass eine Zeitverschiebung (Voreilung oder Verzögerung) in dem zusammengesetzten VPTS auftreten kann, die von dem Video- oder dem Decodier-Takt abgeleitet ist. Diese Zeitverschiebung kann in einer Sekunde oder 90.000 Systemtakt-Zyklen Zeitfehler in der Größenordnung von 50 Teilen pro Million verursachen. Dies ist äquivalent mit den zusammengesetzten VPTS- Werten, die sich von den tatsächlichen VPTS-Werten um 44 bis 67 usek unterscheiden. Bei Systemen, bei denen keine Korrektur von unssynchronisierten Zuständen vorgenommen wird, kann sich der Zeitfehler akkumulieren und dazu führen, dass das Videobild alle fünf bis sechs Minuten mit einem Rahmen gegenüber der Audiowiedergabe vor- oder nacheilt. Das Voreilen oder Nacheilen des Rahmens kann sich auch über größere Zeitperioden akkumulieren, wenn die Videowiedergabe und die Audiowiedergabe nicht gelegentlich erneut synchronisiert werden.
- In der am 13. April 1994 veröffentlichten europäischen Patentanmeldung EP 0 591 944 A2 wird ein synchrones Komprimierungs- und Rekonstruktionssystem beschrieben, bei dem codierte Audio- und Videodaten in einem Speicher gespeichert und dann zur Trennung der Video- und Audioströme an eine Synchronisations-Steuereinrichtungen ausgegeben werden.
- In der am 22. Juni 1994 veröffentlichten europäischen Patentanmeldung EP 0 602 943 A2 wird eine Vorrichtung zum Reproduzieren von gemultiplexten Daten von einem Aufzeichnungsmedium beschrieben. Die Videodaten werden aus einer Multiplex-Form mit Videodaten, Referenz-Zeitdaten und Video-Zeitdaten reproduziert. Referenz-Zeitdaten werden von den Multiplex-Daten getrennt und zum Erzeugen von Zeittakt-Daten verwendet. Videodaten und Video-Zeitdaten werden temporär in einem Video-Puffer gespeichert, wobei ein Video-Zeitdaten-Extraktor mit einem Ausgang des Video-Puffers verbunden ist, um Video-Zeitdaten aus dem Inhalt des Video-Puffers zu extrahieren.
- In der am 23. August 1995 veröffentlichten europäischen Patentanmeldung EP 0 668 700 A2 wird ein Audio/Video-Decodiersystem beschrieben, das ähnlich dem in der Fig. 1A dargestellten System ist. In dieser Anmeldung sind getrennte Audio- und Video- Decodierer vorgesehen, die unter Verwendung einer Systemtakt-Referenz (SCR) und von Audio- und Video-Zeitstempeln synchronisiert sind. Jeder Decoder ist unter Verwendung des System-Referenztaktes auf seinen individuellen Audio- oder Video-Zeitstempel synchronisiert.
- In der am 12. April 1995 veröffentlichten europäischen Patentanmeldung EP 0 648 056 A2 wird eine Audio/Video-Synchronisation in einem digitalen Übertragungssystem beschrieben. Diese Druckschrift offenbart eine Steuereinrichtung, die Rahmen von einer oder der anderen Video- und Audio-Informationskomponente überspringen oder wiederholen kann. Es wird ein Überspringen/Wiederholen von Audiosignalen erläutert. Diese Druckschrift beschreibt den Vergleich von Zeitstempel-Werten mit einer kontinuierlichen Zeitbasis.
- Die Erfindung betrifft ein Multimedia-System gemäß Anspruch 1 mit bevorzugten Ausführungsformen gemäß den Unteransprüchen. Ein solches Multimedia-System umfasst ein Audio/Video-Dekodierer/Dekomprimierer zum Decodieren/Dekomprimieren eines codierten/komprimierten Audio/Video-Datenstroms, um Videobilder zur Wiedergabe auf einer Anzeigeeinrichtung und Audiosignale zur akustischen Reproduktion zu erzeugen. Das Multimedia-System umfasst ein integriertes System und einen Video-Decoder mit einer Audio/Video-Synchronisationsschaltung, mit der die Wiedergabe von Videobildern und die Audio-Wiedergabe im wesentlichen synchronisiert werden. Es wird ein Verfahren beschrieben, mit dem eine fehlende Synchronisation zwischen der Audio- Wiedergabe und der Wiedergabe von Videobildern erfasst werden kann.
- Ein Teil eines Multimedia-Systems codiert/komprimiert Audioklänge und Videobilder zu einem codierten/komprimierten Bitstrom, der Zeitinformationen, codierte/komprimierte Pakete aus Videodaten und codierte/komprimierte Pakete aus Audiodaten enthält. Der codierte/komprimierte Bitstrom kann auf einer CD-ROM oder einer anderen Speichereinrichtung für eine spätere Reproduktion aufgezeichnet oder direkt zu dem Reproduktionsteil des Multimedia-Systems übertragen werden, um die Videobilder und die Audiodaten sofort wiederzugeben.
- Der Reproduktionsteil des Multimedia-Systems kann eine Leseeinrichtung für einen Nur-Lese-CD-Speicher, eine Prozessorschaltung, eine Audio/Video-Decodierschaltung, Lautsprecher für die akustische Wiedergabe und eine oder mehrere Displayeinrichtungen zur Wiedergabe von Bildern umfassen, die mit der akustischen Wiedergabe korrespondieren können.
- Die Audio/Video-Decodierschaltung kann eine integrierte Schaltung enthalten, die einen System-Decoder, einen Video-Decoder, FIFO-Puffer, eine Speicher-Schnittstelleneinrichtung und eine Audio/Video-Synchronisationsschaltung umfasst. Die Audio/Video-Synchronisationsschaltung erfasst einen nicht synchronisierten Zustand zwischen Audio- und Videosignalen und bewirkt dann, dass entweder Video-Rahmen oder Teile davon übersprungen oder wiederholt werden, um die Videodarstellung von Bildern mit der Audiowiedergabe zu synchronisieren. Alternativ dazu kann die Audio/Video-Synchronisationsschaltung auch bewirken, dass Audiodaten oder Teile davon übersprungen oder verzögert werden, um die Audio-Wiedergabe mit der Darstellung von Videobildern zu synchronisieren.
- Das Verfahren, mit dem ein nicht synchronisierter Zustand zwischen Audio- und Videosignalen erfasst wird, umfasst ein Bestimmen einer Zeitdifferenz zwischen dem Empfang eines Video-Zeitwertes und eines Audio-Zeitwertes innerhalb des codierten/komprimierten Audio/Video-Datenstroms, ein Addieren der Zeitdifferenz zu dem Video-Zeitwert, um einen korrigierten Video-Zeitwert zu erzeugen, sowie ein Vergleichen des korrigierten Video-Zeitwertes mit dem Audio-Zeitwert, um zu bestimmen, ob die Audiowiedergabe gegenüber der Videodarstellung mit einem Führungs-Schwellwert voreilt oder ob die Audiowiedergabe gegenüber der Videodarstellung mit einem Verzögerungs-Schwellwert nacheilt.
- Ein alternatives Verfahren umfasst ein Bestimmen einer Zeitdifferenz zwischen dem Empfang eines Audio-Zeitwertes und eines Video-Zeitwertes innerhalb des codierten/komprimierten Audio/Video-Datenstroms, ein Addieren der Zeitdifferenz zu dem Audio-Zeitwert, um einen korrigierten Audio-Zeitwert zu erzeugen, sowie ein Vergleichen des korrigierten Audio-Zeitwertes mit dem Video-Zeitwert, um zu bestimmen, ob die Videodarstellung gegenüber der Audiowiedergabe mit einem Führungs-Schwellwert voreilt oder ob die Videodarstellung gegenüber der Audiowiedergabe mit einem Verzögerungs-Schwellwert nacheilt.
- Eine Aufgabe, die der Erfindung zugrundeliegt, besteht darin, eine verbesserte Audio- und Video-Synchronisation zu schaffen.
- Weiterhin sollen mit der Erfindung die Kosten eines Multimedia-Systems durch Verminderung der Anzahl und Größe der Schaltungen, die zur Durchführung der Audio/Video-Synchronisation erforderlich sind, reduziert werden.
- Mit der Erfindung soll auch eine flexible Synchronisationsvorrichtung in einem Multimedia-System geschaffen werden, die an unterschiedliche Medien mit unterschiedlichen Synchronisationsanforderungen, die durch das Multimedia-System mit verschiedenen Rahmenraten und Taktraten empfangen werden können, angepasst werden kann.
- Schließlich soll mit der Erfindung auch eine flexible Vorrichtung in einem Multimedia- System mit einer auswählbaren Auflösung für die Genauigkeit der Synchronisation geschaffen werden.
- Fig. 1A zeigt ein bekanntes Blockschaltbild eines MPEG Decodiersystems.
- Fig. 1B zeigt ein bekanntes codiertes Datenstrom-Format für die serielle Übertragung von Audio- und Videodaten.
- Fig. 2 zeigt ein Blockschaltbild eines MPEG Decodiersystems mit einer Schaltung und einem Algorithmus gemäß der Erfindung.
- Fig. 3A zeigt ein vereinfachtes Wellenform-Diagramm und einen System-Zeittakt für den MPEG-Datenstrom gemäß Fig. 1B.
- Fig. 3B zeigt eine Re-Synchronisation eines führenden Videorahmens mit den Audiodaten.
- Fig. 3C zeigt eine Re-Synchronisation eines nacheilenden Videorahmens mit den Audiodaten.
- Fig. 4A zeigt ein vereinfachtes Blockschaltbild des Logikteils der bevorzugten Ausführungsform der Erfindung.
- Fig. 4B zeigt ein vereinfachtes Blockschaltbild des Logikteils einer zweiten Ausführungsform der Erfindung.
- Fig. 5A zeigt ein detailliertes Blockschaltbild der logischen Schaltung der bevorzugten Ausführungsform der Erfindung.
- Fig. 5B zeigt ein detailliertes Blockschaltbild der logischen Schaltung einer zweiten Ausführungsform der Erfindung.
- Fig. 6 zeigt ein vereinfachtes Systemdiagramm der Anwendung der Erfindung in einem Multimedia-Computersystem.
- Fig. 7A-7C zeigt optionale Konfigurationen der Erfindung zur Kombination von Grafiken und codierter Datenübertragung.
- Fig. 8 zeigt ein Blockschaltbild der Funktionalität und Steuerung eines Rahmen-Pufferspeichers zum Speichern von codierten/komprimierten Audio- und Videodaten und decodierten/dekomprimierten Videodaten gemäß der Erfindung.
- Fig. 9 zeigt eine binäre Tabelle von ausgewählten Offset-Werten und der entsprechenden Zeit für jedes Bit zur Bestimmung des Abtrennens.
- Bei dem in Fig. 1A gezeigten Standes der Technik wurde der Video-Präsentations- Zeitstempel 104 mit der SCR 105 verglichen, um die Zeitverschiebung zu bestimmen. Gemäß den Fig. 2 und 4A-B wird bei der Erfindung der VPTS (104 oder 403) mit dem APTS (106 oder 402) verglichen, um die Zeitverschiebung zu bestimmen und den Videorahmen korrekt an die Audiowiedergabe anzupassen. Um diesen Vergleich durchzuführen, kann eine monolithische integrierte Schaltung, die im folgenden als "Vidsyst" (Video-System-) Decoder bezeichnet wird, den Algorithmus und die Schaltkreise gemäß der Erfindung enthalten.
- Fig. 2 zeigt ein vereinfachtes Blockschaltbild eines MPEG Audio/Video-Decodiersystems, das den Vidsyst-Decoder 221 enthält. Der Vidsyst-Decoder 221 enthält einen System-Decoder 210, der den MPEG Datenstrom 101 empfängt und durch eine Parser- Funktion die Video-Datenpakete von den Audio-Datenpaketen ebenso wie die Zeittakt- Informationen (VPTS 104, SCR 105, APTS 106) von den Datenpaketen trennt. Die Video-Datenpakete werden als Video-Datenstrom 202 zu dem Video-Decoder 211 gesendet. Die durch den System-Decoder 210 mit der Parser-Funktion aus dem MPEG Datenstrom 101 getrennte Zeittakt-Information (VPTS 104, SCR 105, APTS 106) wird intern zu dem Video-Decoder 211 sowie extern von dem Vidsyst-Decoder 221 zu dem Audio- Decoder 212 gesendet. Die Video-Datenpakete in dem Video-Datenstrom 202 werden in dem Video-Decoder 211 decodiert und dekomprimiert, um decodierte/dekomprimierte Videodaten 107 zu erzeugen. Innerhalb des Video-Decoders 211 des Vidsyst-Decoders 221 befindet sich eine A/V Sync-Schaltung (nicht dargestellt), die den VPTS mit dem APTS vergleicht, um die Zeitverschiebung zu bestimmen.
- Die A/V Sync-Schaltung steuert ferner die Erzeugung des decodierten/dekomprimierten Videosignals zum Resynchronisieren des mit der Audio-Wiedergabe dargestellten Videobildes, wenn die Zeitverschiebung vorbestimmte Grenzen überschreitet. Die durch den System-Decoder 210 in dem Vidsyst-Decoder 221 durch die Parser-Funktion getrennten Audio-Datenpakete werden extern als ein Audio-Datenstrom 203 zu dem Audio-Decoder 212 gesendet. Der Audio-Decoder 212 kann ebenfalls eine monolithische integrierte Schaltung wie zum Beispiel ein DSP-Chip oder ein spezieller Audio-Decoder wie z. B. vom Typ C54920 sein, der von Crystal Semiconductor hergestellt wird. Der Audio-Decoder 212 benötigt keine Synchronisation, da die gesamte Synchronisation durch den Vidsyst-Decoder 221 ausgeführt werden kann. Bei anderen Anwendungen können sich jedoch die Schaltkreise gemäß der Erfindung in dem Audio-Decoder 212 befinden.
- Die Fig. 3B und 3C zeigen, wie die Videodarstellung mit der Erfindung auf die Audio-Wiedergabe resynchronisiert wird. Gemäß Fig. 3B ist die Videodarstellung über der Zeit durch die Sequenz von Video-Datenrahmen (0) 320A bis Video-Datenrahmen (N+1) 320(N+1) angegeben. Die Audio-Wiedergabe über der Zeit ist in Form einer Sequenz von Audiodaten (0) 330A bis Audiodaten (N+1) 330(N+1) dargestellt. In Fig. 3C ist die Darstellung ähnlich. In Fig. 3B führt der Video-Datenrahmen gegenüber den Audiodaten, so dass zur Resynchronisierung des Video-Datenrahmens mit den Audiodaten ein Video-Datenrahmen wiederholt wird, um den Audiodaten ein Aufholen zu ermöglichen. Es sei angenommen, dass zu Beginn der Video-Datenrahmen (0) 320A und die Audiodaten (0) 330A vollständig synchronisiert sind. Nach einer gewissen Zeit führt der Video-Datenrahmen(K) 320K gegenüber den Audiodaten(K) 330K. Wenn ein Führungs-Schwellwert wie zum Beispiel ein ganzer oder ein halber Rahmen erreicht ist, bewirkt die A/V Sync-Schaltung, dass der Videorahmen (bzw. der halbe Videorahmen) wiederholt wird. In Fig. 3B wird ein Ein-Rahmen-Führungs-Schwellwert erreicht, bei dem der Video-Datenrahmen(M) 320M gegenüber den Audiodaten(M) 330M mit einem Rahmen führt, so dass der nächste Video-Datenrahmen(N) 320N in der Video-Darstellung wiederholt wird, wie es durch den wiederholten Video-Rahmen 322 angedeutet ist. Auf diese Weise wird der Video-Datenrahmen(N) 320N mit den Audiodaten(N) 330N resynchronisiert.
- In der Darstellung der Fig. 3C läuft der Video-Datenrahmen den Audiodaten hinterher, so dass zur Resynchronisation des Video-Datenrahmens mit den Audiodaten ein Video- Datenrahmen übersprungen wird. Zunächst sind der Video-Datenrahmen(0) 321A und die Audiodaten(0) 331 A vollständig synchronisiert. Nach einer gewissen Zeit läuft der Video-Datenrahmen(J) 321J den Audiodaten(J) 331J hinterher. Wenn eine Verzögerungs-Schwellwert wie zum Beispiel ein ganzer oder ein halber Rahmen erreichen ist, bewirkt die A/V Sync-Schaltung, dass ein Video-Rahmen (bzw. ein halber Videorahmen) übersprungen wird. In Fig. 3C wird ein Ein-Rahmen-Verzögerungs-Schwellwert erreicht, bei dem der Video-Datenrahmen(L) 320L den Audiodaten(N) 331N mit einem Rahmen hinterherläuft, so dass der Video-Datenrahmen(M) (nicht dargestellt) in der Video-Darstellung übersprungen wird, wie es durch den übersprungenen Video-Rahmen 323 angedeutet ist. Anstelle des Video-Datenrahmens(M) wird der Video-Datenrahmen(N) 321N dargestellt, wenn die Audiodaten(N) 331N wiedergegeben werden. Auf diese Weise wird der Video-Datenrahmen(N) 321N mit den Audiodaten(N) 331N resynchronisiert.
- Die Fig. 3B und 3C zeigen das Wiederholen oder Überspringen eines ganzen Rahmens. Das Wiederholen eines halben Rahmens kann erfordern, dass die obere Hälfte eines Rahmens unverändert gehalten wird, während die untere Hälfte des Rahmens mit dem entsprechenden Teil eines neuen Rahmens von Daten aktualisiert wird. Das Überspringen eines halben Rahmens kann erfordern, dass die untere Hälfte des Rahmens mit der entsprechenden Hälfte des gegenwärtigen Rahmens von Daten aktualisiert wird, während die obere Hälfte des Rahmens mit dem entsprechenden Teil eines nächsten Rahmens von Daten aktualisiert wird. Die Fig. 3B und 3C stellen nur Beispiele für das Überspringen und Wiederholen eines einzelnen Video-Datenrahmens dar, da auch mehrere Rahmen übersprungen oder wiederholt werden können. Wenn die Audio- und Videodaten die Synchronität mit mehr als einem Rahmen verlassen haben, kann es wünschenswert sein, mehrere Rahmen zu überspringen oder zu wiederholen. Bei bestimmten Anwendungen kann ein Benutzer bestimmen, dass ein Video-Datenrahmen eingefroren oder wiederholt wird, während die Audiodaten kontinuierlich reproduziert werden und hörbar sind. In einem anderen Fall kann es möglich sein, dass ein Benutzer durch Überspringen mehrerer Rahmen schnell vorlaufen oder eine Unterbrechung haben möchte und schrittweise durch eine Anzahl von Video-Datenrahmen geht. In einem anderen Fall kann es wünschenswert sein, die Audiodaten stumm zu schalten und dann die Videodaten mit der Audio-Spur zu resynchronisieren, nachdem ein gewünschter Video- Datenrahmen gefunden wurde, mit dem die normale Wiedergabe gestartet werden soll.
- Die Fig. 3B und 3C zeigen nur die Videodarstellung von Bildern, die übersprungen oder wiederholt wurden. Zum Überspringen von Rahmen von Videodarstellungen von Bildern wird bevorzugt, dass codierte/komprimierte Video-Datenrahmen übersprungen werden, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren. Zur Wiederholung von Rahmen von Videodarstellungen von Bildern wird bevorzugt, dass die decodierten/dekomprimierten Video-Datenrahmen wiederholt werden, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren. Alternativ dazu können Pakete von Audiodaten übersprungen oder verzögert werden, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren.
- Durch das Überspringen von codierten/komprimierten Rahmen von Videodaten oder das Verzögern von codierten/komprimierten Paketen von Audiodaten vor dem Decodieren/Dekomprimieren wird der Speicher wesentlich effizienter ausgenutzt, und die Resynchronisation kann wesentlich effektiver sein. Das Überspringen von decodierten/dekomprimierten Rahmen von Videodaten erfordert einen größeren Speicher und ist weniger effektiv bei der Resynchronisation. Das Wiederholen von codierten/komprimierten oder decodierten/dekomprimierten Audio-Datenpaketen kann in stärkerem Maße akustisch wahrgenommen werden, als eine Verzögerung von codierten/komprimierten Paketen von Audiodaten oder decodierten/dekomprimierten Audio-Datenpaketen. Für codierte/komprimierte Videodaten erfordert ein Rahmen vom I-Typ etwa 20K Bytes Speicher, ein Rahmen vom P-Typ etwa 10 Bytes und ein Rahmen vom B-Typ etwa 3 Bytes Speicher.
- Ein Erforderniss der MPEG Decodierung kann die Art der codierten/komprimierten Rahmen von Videodaten, die übersprungen werden können, begrenzen. Die Fähigkeit, Rahmen vom Typ P aus dem vorherigen Rahmen vom Typ I zu decodieren/dekomprimieren, erfordert normalerweise, dass nur Rahmen vom Typ B übersprungen werden, mit der Ausnahme des letzten Rahmens vom Typ P, der unmittelbar einem Rahmen vom Typ I vorangeht.
- Es sei zum Beispiel der codierte/komprimierte Datenstrom mit der folgenden Rahmensequenz betrachtet: I&sub1;B&sub2;B&sub3;P&sub4;B&sub5;P&sub6;B&sub7;P&sub8;B&sub9;B&sub1;&sub0;P&sub1;&sub1;...Pn-3Bn-2Pn-1In, wobei B einen codierten Rahmen vom Typ B, P einen codierten Rahmen vom Typ P und I einen codierten Rahmen von Videodaten vom Typ I bezeichnet. Um einen Vorhersage- oder P-Rahmen zu decodieren, kann es erforderlich sein, zunächst einen I-Rahmen zu decodieren. Somit kann P&sub4; erfordern, dass zunächst I decodiert wird, so dass der codierte/komprimierte I&sub1; Rahmen durch die Hardware nicht übersprungen werden darf. In ähnlicher Weise kann es möglich sein, dass der Rahmen P&sub6; erfordert, dass P&sub4; verfügbar ist, um den Rahmen P&sub6; zu decodieren/dekomprimieren. Somit darf P&sub4; nicht übersprungen werden. Da der Rahmen B&sub3; sowohl P&sub4; als auch I&sub1; erfordert, werden die Rahmen vom Typ B während der Codierung zwischen Rahmen vom Typ I und Typ P oder eine Kombination eingefügt und sind somit zur genauen Reproduktion eines Bildes nicht erforderlich. Die letzten Rahmen vom Typ P vor einem Rahmen vom Typ I, bei dem Beispiel Pn-1, können ebenfalls übersprungen werden. Kein späterer Rahmen erfordert zu seiner Decodierung/Dekomprimierung, dass Pn-1 verfügbar ist.
- Eine Hardware, mit der die decodierten/dekomprimierten Rahmen übersprungen werden, hat diese Einschränkung möglicherweise nicht, kann jedoch einen größeren Speicher erfordern. Software-Verfahren, mit denen die codierten/komprimierten Rahmen übersprungen werden, haben diese Einschränkung möglicherweise ebenfalls nicht, da mit der Software eine vor-Decodierung vorgenommen werden kann, um den Rahmentyp zu bestimmen. Software-Verfahren arbeiten jedoch nicht in Echtzeit wie Hardware-Verfahrern.
- Bei der Synchronisation der Video- und Audiodaten kann es wünschenswert sein, eine Rahmen-Synchronisationsauflösung von plus oder minus einem halben Rahmen oder einem mehrfachen davon zu erzielen. Auf diese Weise wird bei der Decodierung von codierten/komprimierten Daten mit einer Zeitverschiebung von einem halben Rahmen eine gut synchronisierte Reproduktion der Videobilder und der Audio-Wiedergabe erzielt. Zum Zwecke der Erläuterung wird die Arbeitsweise der Erfindung unter Anwendung des MPEG I Kompressions/Codier-Standards beschrieben. Es sei darauf hingewiesen, dass die Erfindung auch so modifiziert werden kann, dass sie andere Kompressions/Codier-Standards wie MPEG II und Bewegungs-JPEG unterstützt.
- Zum Komprimieren/Decodieren des MPEG codierten/komprimierten Bitstroms empfiehlt der MPEG Standard eine 90 kHz Taktfrequenz als System-Referenztakt (SCLK) für alle Decoder-Schaltkreise. Eine System-Referenz-Taktfrequenz von 90 kHz ist mit einer Taktperiode von 11,11 us äquivalent. Die Rate der Videodarstellung oder die Rahmenrate, die beide die Anzahl von Bildrahmen während einer Zeitperiode bezeichnen, die auf einem Monitor oder ähnlichem dargestellt werden, kann variieren. Eine Rahmenrate von 60 Rahmen pro Sekunde (fps) wird im allgemeinen als eine Echtzeit-Darstellung bezeichnet, da das menschliche Auge auf Grund seiner mittelnden Eigenschaften die Darstellung als gleichmäßige und normale Bewegung und nicht als flackernde Bewegung wahrnimmt. Eine Rahmenrate von 30 Rahmen pro Sekunde erfordert weniger Daten als eine Rahmenrate von 60 Rahmen pro Sekunde, die auf einem Bildschirm dargestellt werden, sie zeigt jedoch eine nicht so gleichmäßige und normale Bewegung, sondern erscheint etwas flackernd. Eine Rahmenrate von 30 Rahmen pro Sekunde wird für CD-ROM- und Multimedia-Anwendungen als ideal angesehen, da sie einen Kompromiß zwischen den Anforderungen an die Daten und der Bildqualität darstellt. Eine Rahmenrate von 30 Bildern pro Sekunde ist äquivalent zu der Darstellung eines Bildrahmens für etwa 33,33 ms auf einer Darstellungseinrichtung. Für eine Synchronisationsauflösung von einem halben Rahmen kann eine zulässige Zeitverschiebung näherungsweise die Hälfte von 33,33 ms oder 16,67 ms betragen. Während der Zeitperiode von 16,67 ms durchläuft der Systemtakt (SCLK) etwa 1500 Zyklen. Eine Auflösung von einer halben Rahmen-Synchronisation kann somit eine Zeitverschiebung von weniger als 1500 SCLK Taktzyklen erfordern. Wenn eine Auflösung von einer halben Rahmen-Synchronisation für eine Rahmenrate von 60 Rahmen pro Sekunde gewünscht wird, sollte aus ähnlichen Gründen die Zeitverschiebung näherungsweise 750 SCLK Taktzyklen betragen. Wenn die Auflösung für 30 Rahmen pro Sekunde 2,5 Rahmen ist, sollte die zulässige Zeitverschiebung das fünffache der Zeitverschiebung eines halben Rahmens von 1500 SCLK Taktzyklen oder 7500 SCLK Taktzyklen betragen. Wenn die Auflösung für 30 Rahmen pro Sekunde ein Rahmen ist, kann in ähnlicher Weise die zulässige Verschiebung das Doppelte des halben Rahmens von 1500 SCLK Taktzyklen betragen, was 3000 SLK Taktzyklen entspricht. In entsprechender Weise sind 3 Rahmen einer Zeitverschiebung für 30 Rahmen pro Sekunde äquivalent zu 9000 SCLK Taktzyklen. Zusammengefasst kann die Zeitverschiebung für 30 Rahmen pro Sekunde bei einem halben Rahmen, einem Rahmen, 2,5 Rahmen und 3 Rahmen jeweils 1500, 3000, 7500 beziehungsweise 9000 SCLK Taktzyklen betragen. Für 60 Rahmen pro Sekunde kann eine Zeitverschiebung von einem halben Rahmen, einem Rahmen, 2,5 Rahmen und 30 Rahmen jeweils 750, 1500, 3750 beziehungsweise 4500 SCLK Taktzyklen betragen. Bei der Erfindung kann der Systemtakt (SCLK) zum Bestimmen der Zeitverschiebung verwendet werden.
- Erfindungsgemäß kann die Differenz zwischen dem VPTS und dem APTS verwendet werden, um einen außerhalb der Synchronisation liegenden Zustand zu bestimmen. In Fig. 3A bezeichnet die Linie 316 der System-Taktzeit die inkrementalen Taktzyklen des Systemtaktes SCLK. Der MPEG Bitstrom 315 stellt ein Beispiel für einen MPEG Bitstrom dar. Das Auftreten des VPTS (306 bis 308), des APTS 312 und der SCR 318- Zeitinformationen in dem MPEG Bitstrom 315 fällt mit einer gegebenen Taktzyklus- Anzahl des SCLK zusammen. Wie in der Fig. 3A zu erkennen ist, kann beim Auftreten des VPTS 308 eine Latenz seit dem Auftreten des APTS 312 bestehen. Die Anzahl von SCLK Taktzyklen für die Latenz zwischen dem Empfang des VPTS 307 und des APTS 312 hat einen Wert N 314. Die Anzahl von SCLK Taktzyklen für die Latenz zwischen dem Empfang des APTS 312 und des VPTS 308 hat einen Wert M 313.
- Es seien die Fig. 3A und 4A betrachtet, in denen zum Beispiel ein Zähler 411 den Wert M 313 zählt und in ein Register 412 eventuell der Wert des VPTS 308 gespeichert wird. Beim Auftreten des APTS 312 zählt der Zähler 411 die Anzahl von SCLK Taktzyklen, die auftreten, bevor der VPTS 308 empfangen wird. Auf diese Weise stellt die Anzahl von durch den Zähler 411 gezählten Zählwerten den Wert von M 313 dar. Der Wert von N kann in ähnlicher Weise mit der in Fig. 4A gezeigten Schaltung gezählt werden.
- APTS und VPTS sind 33 Bit Zeitstempelwerte. Somit kann der APTS 312 zum Beispiel einen' Zeitstempelwert von 2 um, 6 min. 5.110 sec und der VPTS 308 einen Zeitstempelwert von 2 um, 6 min. 5.290 sec haben. Wenn man diese zwei Zeitstempelwerte vergleicht, so sieht man, dass der VPTS 308 einen späteren Zeitwert hat als der APTS 312. Um in geeigneter Weise vergleichen zu können, ob das Videosignal gegenüber dem Audiosignal vor- oder nacheilt, muss der APTS auf den später auftretenden VPTS normalisiert oder korrigiert werden. Somit muss der Wert M der Latenz zu dem APTS addiert werden, um den gleichen Rahmen als Referenz zu erhalten. Es sei darauf hingewiesen, dass ein Schwellwert der Zeitverschiebung von einer halben Rahmen-Zeit bei 30 Rahmen pro Sekunde näherungsweise 16,67 ms oder 0,01667 Sekunden beträgt.
- Für einen ersten Fall sein angenommen, dass M einen Zeitwert von 0,166 sek hat. Addiert man M zu dem APTS-Wert, so ergibt sich als normalisierter APTS-Wert: (APTS + M) = 2 um, 6 min. 5,176 sek. Vergleicht man die Summe des normalisierten APTS- Wertes mit dem VPTS-Wert von 2 um, 6 min. 5.290 sek, so sieht man, dass das Videosignal gegenüber dem Audiosignal mit 0,114 sek führt (d. h. VPTS - (APTS + M) = 0,114 sek). Dies bedeutet, dass der VPTS um 0,114 sek größer ist als der normalisierte APTS (APTS + M). Bei der Wiedergabe auf einem Multimedia-System wird der Betrachter einen älteren Video-Rahmen sehen und die Audio-Signale hören, die zu einem früheren Video-Rahmen gehören, so dass die Video = Darstellung der Bilder gegenüber der Audio-Wiedergabe voreilt, wie es durch den Rahmen 320 N und den Rahmen 330 M in Fig. 3B dargestellt ist. Anders ausgedrückt eilt das Autosignal dem Videosignal hinterher, wobei es jedoch vorgezogen wird, die Audiodaten als Referenz-Rahmen zu verwenden. Folglich muss das Videosignal verlangsamt oder angehalten und ein Video- Rahmen wiederholt werden, so dass die Audiodaten aufholen und sich an den gegebenen Video-Rahmen anpassen können.
- Für einen zweiten Fall sein angenommen, dass M einen Zeitwert von 0,333 sek hat, so dass (APTS + M) = 2 um, 6 min. 5.443 sek. Vergleicht man den normalisierten APTS mit dem VPTS Wert von 2 um, 6 min. 5.290 sek nach Berechnung von (APTS + M)- VPTS, so ergibt sich ein Wert von 0,153 sek. Da der Wert von (APTS + M) einen späteren Zeitstempel als VPTS hat, eilt das Videosignal dem Audiosignal hinterher. Bei der Wiedergabe auf einem Multimedia-System wird der Benutzer einen früheren Video- Rahmen sehen und die Audio-Signale eines späteren Video-Rahmens hören, wie es in Fig. 3C durch den Rahmen 321L und den Rahmen 331M angedeutet ist. Somit ist anzustreben, die Video-Rahmen zu überspringen, um diese zu "altern" und im wesentlichen an die Audio-Signale anzupassen.
- Der Wert von N normalisiert in ähnlicher Weise den vorhergehenden VPTS 307, um einen Vergleich von (VPTS + N) mit dem folgenden APTS 312 zu ermöglichen. In dem Fall, in dem das Videosignal dem Audiosignal nacheilt und einen Schwellwert einer Zeitverschiebung überschreitet, kann es wünschenswert sein, die Wiedergabe des Videosignals durch Überspringen von Rahmen von Videodaten oder Teilen davon an das Audiosignal anzupassen.
- Die Verwendung von ganzen Rahmen zum Überspringen oder Wiederholen wird zur Reduzierung der Komplexität der Schaltung im allgemeinen bevorzugt, da eine nur mit Teilen eines Rahmens führende oder nacheilende Videodarstellung gegenüber der Audio-Wiedergabe möglicherweise nicht erkennbar ist.
- Somit wird also eine Berechnung von VPTS-(APTS + M) durchgeführt, wenn VPTS größer als der normalisierte APTS-Wert ist. Entsprechend wird eine Berechnung von (APTS + M)-VPTS vorgenommen, wenn VPTS kleiner ist als der normalisierte APTS- Wert. In den Fällen, in denen N verwendet wird, wird in entsprechender Weise eine Berechnung von APTS-(VPTS + N) durchgeführt, wenn APTS größer ist als der normalisierte VPTS-Wert. Weiterhin wird (VPTS + N)-APTS berechnet, wenn APTS kleiner ist als der normalisierte VPTS-Wert. In allen Fällen kann es wünschenswert sein, nach der Bestimmung des Ergebnisses dieser zwei Berechnungen zu ermitteln, mit wie vielen Rahmen oder Teilen von Rahmen die Videodarstellung gegenüber der Audio-Wiedergabe führt oder nacheilt. Die Anzahl von Rahmen kann durch einen Vergleich der Ergebnisse der Berechnungen mit vorbestimmten Schwellwerten der Zeitverschiebung bestimmt werden. Ein Schwellwert der Zeitverschiebung kann eine Rahmenzeit oder einen Teil davon in der Anzahl von SCLK Taktzyklen innerhalb einer gegebenen Anzahl von Rahmen oder Teilen davon für eine gegebene Darstellungsrate sein. Insbesondere können Schwellwerte von Zeitverschiebungen von plus oder minus einer halben Rahmenzeit, einer Rahmenzeit, 2,5 Rahmenzeiten und drei Rahmenzeiten interessant sein. Wie bereits oben erläutert wurde, entspricht eine halbe Rahmenzeit 1500 SCLK Taktzyklen, eine Rahmenzeit 3000 SCLK Taktzyklen, 2,5 Rahmenzeiten 7500 SCLK Taktzyklen und drei Rahmenzeiten 9000 SCLK Taktzyklen bei einer Darstellungsrate von 30 Rahmen pro Sekunde. Für eine Darstellungsrate von 60 Rahmen pro Sekunde können diese Schwellwerte der Zeitverschiebung halbiert werden, so dass sich 750, 1500, 3750 bzw. 4500 SCLK Taktzyklen ergeben. Es sei darauf hingewiesen, dass natürlich auch andere Schwellwerte gewählt werden können, ohne den Gegenstand der Erfindung zu verlassen.
- Fig. 4A zeigt ein funktionales Blockschaltbild von Schaltkreisen zur Durchführung der Berechnungen von VPTS-(APTS + M), wenn VPTS größer ist als (APTS + M) und von (APTS + M)-VPTS, wenn VPTS kleiner ist als (APTS + M), sowie zum Vergleich der Ergebnisse mit verschiedenen Schwellwerten der Zeitverschiebung. Fig. 4B zeigt ein funktionales Blockschaltbild von Schaltkreisen zur Durchführung der Berechnungen von APTS-(VPTS + N), wenn APTS größer ist als (VPTS + N) und von (VPTS + N)- APTS, wenn APTS kleiner ist als (VPTS + N). Beim Vergleich der Schwellwerte der Zeitverschiebung mit den Ergebnissen dieser Berechnungen sollten die gröberen Rahmenzeit-Auflösungen (Schwellwerte der Zeitverschiebung) wie plus und minus drei Rahmenzeiten zuerst und die feinste Rahmenzeit-Auflösung (Schwellwerte der Zeitverschiebung) wie plus und minus eine halbe Rahmenzeit als letztes berechnet werden. Wenn gemäß Fig. 4A ein APTS in dem codierten/komprimierten Datenstrom erfasst wird, wird der STC Zähler 411 gesetzt und mit einem binären Wert geladen, der den an dem Zähler-Eingang 402 detektierten APTS darstellt. In Abhängigkeit davon, wie der STC Zähler 411 zählt, wird die SCLK Taktfrequenz geteilt. Unter der Annahme, dass der STC Zähler 411 mit dem Wert 1 zählt, so dass die SCLK Frequenz von 90 kHz auf der Leitung 401 in dem Frequenzteiler 410 durch 1 geteilt wird, wird die gleiche Frequenz an dem Zähler-Takteingang 404 erzeugt. Wenn der STC Zähler 411 inkrementiert wird, wird der Wert für M erzeugt. Beim Erreichen einer VPTS wird die Erzeugung von M für den erfassten VPTS abgeschlossen, und am Zähler-Ausgang 405 liegt das Ergebnis der Berechnung von (APTS + M) an. Wenn ein VPTS in dem codierten/komprimierten Datenstrom erfasst wird, wird das Register 412 mit dem binären Wert geladen, der den detektierten VPTS an dem Register-Eingang 403 darstellt. Der Subtrahierer 413 berechnet (APTS + M)-VPTS aus dem Wert von (APTS + M) an dem Subtrahierer-Eingang 405 und dem Wert von VPTS an dem Subtrahierer-Eingang 406. Die von dem Subtrahierer 413 auf den Bus 407 ausgegebenen Ergebnisse werden mit dem Komparator 414 zu geeigneten Zeiten durch das Komparator-Aktivierungs-Eingangssignal 420 mit dem über den Bus 409 zugeführten Schwellwert der Zeitverschiebung verglichen. Wie bereits oben erläutert wurde, werden zunächst die groben Zeitverschiebungs- Schwellwerte verglichen, so dass die folgende Sequenz von Gleichungen durch den Komparator 414 für eine Darstellungsrate von 30 Rahmen pro Sekunde ausgeführt wird. Wenn:
- [A] (APTS + M)-VPTS < -9000
- so führt das Videosignal gegenüber dem Audiosignal mit mindestens 3 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [B] (APTS + M)-VPTS > 9000
- ist, so läuft das Videosignal dem Audiosignal mit mindestens 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [C] (APTS + M)-VPTS < -7500
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [D] (APTS + M)-VPTS > 7500
- ist, so läuft das Videosignal dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [E] (APTS + M)-VPTS < -3000
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [F] (APTS + M)-VPTS > 3000
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [G] (APTS + M)-VPTS < -1500
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [H] (APTS + M)-VPTS > 1500
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt oder das Verfahren wird beendet, wenn es keine weiteren feineren Auflösungsschritte gibt und die tatsächliche Zeitverschiebung geringer ist, als die letzte abgefragte Rahmenzeit plus oder minus einem halben Rahmen.
- Für eine Darstellungsrate von 60 Rahmen pro Sekunde werden die Zeit-Schwellwerte halbiert, und die gleichen Ergebnisse werden bestimmt. Zum Beispiel wird Gleichung A wie folgt modifiziert:
- [A'] (APTS + M)-VPTS < -4500.
- Allgemein können die Gleichungen Ihr die Darstellung in Fig. 4A wie folgt ausgedrückt werden:
- [I] (APTS + M)-VPTS < Schwellwert der Zeitverschiebung.
- Im Falle der Fig. 4B wird diese Gleichung wie folgt modifiziert:
- [II] (VPTS + M)-APTS < Schwellwert der Zeitverschiebung.
- In Abhängigkeit von den Ergebnissen dieser Berechnungen kann die Audio-Wiedergabe und die Videodarstellung der Bilder durch Wiederholen oder Überspringen von Videorahmen oder Teilen davon oder durch Überspringen oder Verzögern von Audio-Datenpaketen oder Teilen davon wieder synchronisiert werden. Ein Mensch ist jedoch relativ empfindlich gegenüber der Wahrnehmung von übersprungenen oder wiederholten Audiodaten.
- Bei der Steuerung der Synchronisation von Audio- und Videodaten hat sich gezeigt, dass ein Schwellwert der Zeitverschiebung von plus oder minus einem halben Rahmen dazu führen kann, dass eine Schaltung oszilliert und ständig Rahmen oder Teile davon wiederholt oder überspringt. Aus diesem Grund wird eine Auflösung der Zeitverschiebung von einem Rahmen als kleinste Rahmen-Zeitauflösung im allgemeinen bevorzugt. Die bei den obigen Berechnungen verwendete Auflösung der Zeitverschiebung ist beim Überspringen und Wiederholen von Rahmen oder Teilen davon (wie zum Beispiel einem halben Rahmen) während der Darstellung von Videobildern und der Audio-Wiedergabe nicht die gleiche.
- Wenn gemäß Fig. 4B ein VPTS in dem codierten/komprimierten Datenstrom erfasst wird, wird der STC Zähler 411 gesetzt und mit einem binären Wert geladen, der den an dem Zähler-Eingang 403 detektierten VPTS darstellt. In Abhängigkeit davon, wie der STC Zähler 411 zählt, wird die SCLK Taktfrequenz geteilt. Unter der Annahme, dass der STC Zähler 411 mit dem Wert 1 zählt, so dass die SCLK Frequenz von 90 kHz auf der Leitung 401 in dem Frequenzteiler 410 durch 1 geteilt wird, wird die gleiche Frequenz an dem Zähler-Takteingang 404 erzeugt. Wenn der STC Zähler 411 inkrementiert wird, wird der Wert für N erzeugt. Beim Erreichen eines APTS wird die Erzeugung von N für den erfassten APTS abgeschlossen, und am Zähler-Ausgang 405 liegt das Ergebnis der Berechnung von (VPTS + N) an. Wenn ein APTS in dem codierten/komprimierten Datenstrom erfasst wird, wird das Register 412 mit dem binären Wert geladen, der den detektierten APTS an dem Register-Eingang 402 darstellt. Der Subtrahierer 413 berechnet (VPTS + N)-APTS aus dem Wert von (VPTS + N) an dem Subtrahierer-Eingang 405 und dem Wert von APTS an dem Subtrahierer-Eingang 406. Die von dem Subtrahierer 413 auf den Bus 407 ausgegebenen Ergebnisse werden mit dem Komparator 414 zu geeigneten Zeiten durch das Komparator-Aktivierungs-Eingangssignal 420 mit dem über den Bus 409 zugeführten Schwellwert der Zeitverschiebung verglichen. Wie bereits oben erläutert wurde, werden zunächst die groben Zeitverschiebungs- Schwellwerte verglichen, so dass die folgende Sequenz von Gleichungen durch den Komparator 414 für eine Darstellungsrate von 30 Rahmen pro Sekunde ausgeführt wird. Wenn:
- [K] (VPTS + N)-APTS < -9000
- so läuft das Videosignal dem Audiosignal mit mindestens 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn andernfalls
- [L] (VPTS + N)-APTS > 9000
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens 3 Rahmen, und Videorahmen werden wiederholt. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [M] (VPTS + N)-APTS < -7500
- ist, so läuft das Videosignal dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn andernfalls
- [N] (VPTS + N)-APTS > 7500
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen, und Videorahmen werden wiederholt. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [O] (VPTS + N)-APTS < -3000
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn andernfalls
- [P] (VPTS + N)-APTS > 3000
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen, und Videorahmen werden wiederholt. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [Q] (VPTS + N)-APTS < -1500
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen hinterher, und Videorahmen werden übersprungen. Wenn andernfalls
- [R] (VPTS + N)-APTS > 1500
- ist, so führt das Videosignal gegenüber dem Audiosignalen mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen, und Videorahmen werden wiederholt. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt oder das Verfahren wird beendet, wenn es keine weiteren feineren Auflösungsschritte gibt und die tatsächliche Zeitverschiebung geringer ist, als die letzte abgefragte Rahmenzeit plus oder minus einem halben Rahmen.
- Wie bereits oben im Zusammenhang mit den Fig. 4A und 4B erläutert wurde, wird die SCLK Taktfrequenz in Abhängigkeit davon, wie der STC Zähler 411 zählt, geteilt. Wenn der STC Zähler 411 mit einer Untersetzung von 2 zählt, wird die SCLK Frequenz von 90 kHz auf der Leitung 401 mit dem Frequenzteiler 410 durch zwei geteilt, so dass für den Zähler-Takteingang 404 eine gegenüber der SCLK halbe Frequenz erzeugt wird. Wenn der STC Zähler 411 mit einer Untersetzung von 128 zählt, wird die SCLK Frequenz von 90 kHz auf der Leitung 401 durch 128 oder 2 m, wobei m = 7 ist, dividiert, und der Frequenzteiler 410 erzeugt den 1/128 Teil der SCLK Frequenz für den Zähler- Takteingang 404.
- Um die Funktionalität der Erfindung in einer tatsächlichen Hardware zu implementieren, sind eine Anzahl von wünschenswerten Änderungen an der in den Fig. 4A und 4B gezeigten A/Y Sync-Schaltung durchzuführen, so dass diese in Form einer einzigen monolithischen integrierten Schaltung arbeiten kann. Da eine System-Latenz auftritt, die durch die zum Dekomprimieren und Decodieren der codierten/komprimierten Daten zu decodierten und dekomprimierten Video- und Audiodaten erforderliche Zeit, die Zeit zur Darstellung des Bildes auf einem Bildschirm und die Zeit zur Wiedergabe der Audiodaten verursacht wird, müssen die Differenzen zwischen den System-Latenzen für die Audio- und die Videosignale berücksichtigt werden. Somit muss der VPTS oder der APTS im Hinblick auf die System-Latenz durch Addition oder Subtraktion eines Rahmen-Zeitwertes von dem VPTS oder dem APTS korrigiert werden. Dies kann wie folgt ausgedrückt werden:
- [III] VPTS' = VPTS + AVLATENZ
- wobei AVLATENZ = VLATENZ - ALATENZ ist.
- Alternativ dazu kann die APTS wie folgt korrigiert werden:
- [IV] APTS' = APTS + VALATENZ
- wobei VALATENZ = ALATENZ - VLATENZ ist.
- Somit können verschiedene Werte von AVLATENZ und VALATENZ für verschiedene Systeme in ein Register geladen und entweder zu APTS oder VPTS addiert werden, um die korrigierten Werte APTS oder APTS' oder die korrigierten Werte VPTS oder VPTS' zu erhalten. AVLATENZ und VALATENZ können beide als AVLATENZ oder einfach als System-Latenz bezeichnet werden. Durch Umformulieren und Umstellen der obigen Gleichungen (A) bis (H) ergibt sich für eine Darstellungsrate von 30 Rahmen pro Sekunde: Wenn:
- [1a] (APTS + M) - (VPTS' - 9000) < 0
- so führt das Videosignal gegenüber dem Audiosignal mit mindestens 3 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [2a] (VPTS' + 9000) - (APTS + M) < 0
- ist, so läuft das Videosignal dem Audiosignal mit mindestens 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [3a] (APTS + M) - (VPTS' - 7500) < 0
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [4a] (VPTS' + 7500) - (APTS + M) < 0
- ist, so läuft das Videosignal dem Audiosignal mit mindestens 2,5 Rahmen, jedoch nicht mehr als mit 3 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [Sa] (APTS + M) - (VPTS' - 3000) < 0
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [6a] (VPTS' + 3000) - (APTS + M) < 0
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 2,5 Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt. Wenn
- [7a] (APTS + M) - (VPTS' - 1500) < 0
- ist, so führt das Videosignal gegenüber dem Audiosignal mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen, und Videorahmen werden wiederholt. Wenn andernfalls
- [8a] (VPTS' + 1500) - (APTS + M) < 0
- ist, so läuft das Videosignal dem Audiosignal mit mindestens einem halben Rahmen, jedoch nicht mehr als mit einem Rahmen hinterher, und Videorahmen werden übersprungen. Wenn dies nicht der Fall ist, werden die nächst feineren Auflösungsschritte durchgeführt oder das Verfahren wird beendet, wenn es keine weiteren feineren Auflösungsschritte gibt und die tatsächliche Zeitverschiebung geringer ist, als die letzte abgefragte Rahmenzeit plus oder minus einem halben Rahmen.
- Für eine Darstellungsrate von 60 Rahmen pro Sekunde wird nicht nur der Zeit-Schwellwert halbiert, sondern auch die durch den Wert AVLATENZ dargestellte Latenz. Somit wird APTS zu APTS" und VPTS zu VPTS" korrigiert. Die Gleichungen [1a] bis [8a] werden deshalb gemäß folgender Gleichungen [1b] bis [8b] modifiziert:
- [1b] (APTS + M) - (VPTS" - 4500) < 0
- [2b] (VPTS" + 4500) - (APTS + M) < 0
- [3b] (APTS + M) - (VPTS" - 3750) < 0
- [4b] (VPTS" + 3750) - (APTS + M) < 0
- [5b] (APTS + M) - (VPTS" - 1500) < 0
- [6b] (VPTS" + 1500) - (APTS + M) < 0
- [7b] (APTS + M) - (VPTS" - 750) < 0
- [8b] (VPTS" + 750) - (APTS + M) < 0
- Es sei darauf hingewiesen, dass sich aufgrund der Änderungen der Darstellungsrate die Zeitverschiebungs-Schwellwerte und die VPTS'- und APTS'-Werte in den Gleichungen (1b) bis (8b) verändert haben. Um die Größe der Schaltung zu reduzieren, können die Schwellwerte der Zeitverschiebung gegenüber den genauen dezimalen Werten auf binäre Werte gerundet werden, die hier als Offset-Werte bezeichnet werden sollen.
- Da die Zeitstempel-Werte eine Breite von 33 Bit haben, hat der Zähler und der Subtrahierer ebenfalls eine Breite von 33 Bit. Dies kann in einer integrierten Schaltung unerwünscht sein, da es dazu führt, dass die Größe der Schaltung und der Bedarf an Siliziumfläche zunimmt. Statt dessen wird im allgemeinen angestrebt, die 33 Bit Werte auf eine Breite zu beschränken, die besser handhabbar ist. In diesem Zusammenhang sei daran erinnert, dass die bevorzugte, durch den MPEG Standard empfohlene System- Taktfrequenz bei 90 kHz oder einer Periode von 11,11 us liegt. Wenn somit das oben beschriebene System gemäß Fig. 4A verwendet wird, bei dem der Frequenzteiler durch 1 teilt (2 m = 1 mit m = 0), so stellt jeder Zählwert des Zählers 11,11 us dar. Somit stellt auch das Bit mit der geringsten Wertigkeit (LSB) der APTS- und VPTS-Zeitstempelwerte 11,11 us dar. Das zweite LSB repräsentiert 22,22 us, das dritte LSB 44,44 us, das vierte LSB 88,88 us usw.. Es sei daran erinnert, dass für 30 Rahmen pro Sekunde eine halbe Rahmenzeit 1500 SCLK Taktzyklen aufweist, was näherungsweise 16,67 ms entspricht, während eine Rahmenzeit 3000 SCLK Taktzyklen oder 33,33 ms und 2,5 Rahmenzeiten 7500 SCLK Taktzyklen oder 83,33 ms entsprechen. Fig. 9 zeigt für die unteren 18 Bits von 33 Bit Zeitstempeln bestimmte Muster von Zeitwerten, die interessant sind.
- Für die Zeitverschiebungs-Schwellwerte von einer halben, einer, zweieinhalb sowie drei Rahmenzeiten sind die Offset-Vergleichswerte von plus und minus 1536, 3072, 7680 und 9216 gute Näherungen. Die Auswahl dieser Werte ermöglicht eine Beschränkung (Abschneiden) der Breite der Offset-Vergleichswerte auf die Bits 9 bis 13, da alle anderen oberen und unteren Bits 0 sind. Somit brauchen bei der Auslegung der Erfindung nur fünf Bit breite Werte und fünf Bit breite Speicherregister für den Offset-Vergleich benutzt werden. Dadurch werden die Gleichungen [1a] bis [8a] gemäß folgender Gleichungen [9a] bis [16a] geändert:
- [9a] (APTS + M) - (VPTS' - 9216) < 0
- [10a] (VPTS' + 9216) - (APTS + M) < 0
- [11a] (APTS + M) - (VPTS' - 7680) < 0
- [12a] (VPTS' + 7680) - (APTS + M) < 0
- [13a] (APTS + M) - (VPTS' - 3072) < 0
- [14a] (VPTS' + 3072) - (APTS + M) < 0
- [15a] (APTS + M) - (VPTS' - 1536) < 0
- [16a] (VPTS' + 1536) - (APTS + M) < 0
- Bei einer Darstellungsrate von 60 Rahmen pro Sekunde sind die korrigierten Zeitverschiebungs-Werte für eine halbe, eine, zweieinhalb und drei Rahmenzeiten jeweils plus und minus 750, 1500, 3750 bzw. 4500. Auf der Grundlage der obengenannten Tabelle können stattdessen die Werte von plus und minus 768, 1536, 3840 und 4608 verwendet werden, um die Anzahl der erforderlichen Bits zu begrenzen. Es sei darauf hingewiesen, dass 768 aus 1536 durch Dividieren durch zwei gewonnen werden kann, wodurch nur der Wert für 1536 um ein Bit in Richtung auf das LSB verschoben wird. Auf diese Weise können auch andere Werte erhalten werden, auch um die Breite der Offset-Werte auf fünf Bit konstant zu halten. Bei einer Darstellungsrate von einem mehrfachen oder einem Teil von zwei gegenüber der Darstellungsrate von 30 Rahmen pro Sekunde wird vorzugsweise ein Frequenzteiler mit den Gleichungen [9a] bis [16a] verwendet. Die für 60 Rahmen pro Sekunde gegenüber den Gleichungen [1b] bis [8b] modifizierten Gleichungen lauten wie folgt:
- [9b] (APTS + M) - (VPTS" - 4608) < 0
- [10b] (VPTS" + 4608) - (APTS + M) < 0
- [11b] (APTS + M) - (VPTS" - 3840) < 0
- [12b] (VPTS" + 3840) - (APTS + M) < 0
- [13b] (APTS + M) - (VPTS" - 1536) < 0
- [14b] (VPTS" + 1536) - (APTS + M) < 0
- [15b] (APTS + M) - (VPTS" - 768) < 0
- [16b] (VPTS" + 768) - (APTS + M) < 0
- Dieses Verfahren kann zur Erzeugung von Gleichungen und Werten für 15 Rahmen pro Sekunde aus den Gleichungen für 30 Rahmen pro Sekunde verwendet werden, indem die Offset-Werte verdoppelt werden. Dies wird durch ein Verschieben eines Offset-Wertes für 30 Rahmen pro Sekunde um ein Bit in Richtung auf das MSB erreicht. Anstelle der Verschiebung des Offset-Wertes kann alternativ eine Division des Systemtaktes mit einem variablen Frequenzteiler unter Verwendung der Gleichungen [9a] bis [16a] für eine geeignete Darstellungsrate erfolgen. Die Gleichungen für 15 Rahmen pro Sekunde ergeben sich durch Modifikation der Gleichungen [9a] bis [16a] wie folgt:
- [9c] (APTS + M) - (VPTS''' - 18452) < 0
- [10c] (VPTS''' + 18452) - (APTS + M) < 0
- [11c] (APTS + M) - (VPTS''' - 15360) < 0
- [12c] (VPTS''' + 15360) - (APTS + M) < 0
- [13c] (APTS + M) - (VPTS''' - 6144) < 0
- [14c] (VPTS''' + 6144) - (APTS + M) < 0
- [15c] (APTS + M) - (VPTS''' - 3072) < 0
- [16c] (VPTS''' + 3072) - (APTS + M) < 0
- Die VPTS-Werte sind in den obigen Gleichungen [9c] bis [16c] im Hinblick auf eine geeignete Latenz für eine Darstellungsrate von 15 Rahmen pro Sekunde auf VPTS'''- Werte korrigiert. Alternativ dazu könnten auch die APTS-Werte auf APTS'''-Werte korrigiert werden. Es sei darauf hingewiesen, dass die Offset-Werte in den Gleichungen [9c] bis [16c] das Doppelte von denjenigen in den Gleichungen [9a] bis [16a] sind und dass die Offset-Werte in den Gleichung [9b] bis [16b] die Hälfte von denjenigen in den Gleichungen [9a] bis [16a] sind. Durch Verwendung von Offset-Zahlen, die für eine Darstellungsrate von 30 Rahmen pro Sekunde gewählt sind, können somit andere Offset-Zahlen für Darstellungsraten erzeugt werden, die ein Vielfaches oder ein Teil von 2 sind, indem Bits des Offset-Wertes nach links oder rechts verschoben werden. Wenn die Darstellungsrate nicht ein Vielfaches oder ein Teil von 2 von 30 Rahmen pro Sekunde ist, müssen andere Offset-Zahlen in die A/V Sync-Schaltung geladen werden. Alternativ dazu können durch Veränderung der Division der Frequenz des SCLK andere Darstellungsraten durch einen einzigen Satz von Gleichungen wie zum Beispiel die Gleichungen [9a] bis [16a] unterstützt werden.
- Für die in Fig. 4A gezeigte Logik und die Gleichungen [A] bis [H], in denen der VPTS-Wert von einem inkrementierten APTS-Wert subtrahiert wird, sind die Gleichungen [9a] bis [16a], [9b] bis [16b] und [9c] bis [16c] anwendbar. Für die in Fig. 4B gezeigte Logik und die Gleichungen [K] bis [R], in denen der APTS-Wert von einem inkrementierten VPTS-Wert subtrahiert wird, können die Gleichungen [9a] bis [16a], [9b] bis [16b] und [9c] bis [16c] modifiziert werden, so dass sich jeweils die Gleichungen [17a] bis [24a], [17b] bis [24b] und [17c] bis [24c] ergeben.
- Für eine Darstellungsrate von 30 Rahmen pro Sekunde ergibt sich:
- [17a] (VPTS + N) - (APTS' - 9216) < 0
- [18a] (APTS' + 9216) - (VPTS + N) < 0
- [19a] (VPTS + N) - (APTS' - 7680) < 0
- [20a] (APTS' + 7680) - (APTS + N) < 0
- [21a] (VPTS + N) - (APTS' - 3072) < 0
- [22a] (APTS' + 3072) - (VPTS + N) < 0
- [23a] (VPTS + N) - (APTS' - 1536) < 0
- [24a] (APTS' + 1536) - (VPTS + N) < 0
- Für eine Darstellungsrate von 60 Rahmen pro Sekunde ergibt sich:
- [17b] (VPTS + N) - (APTS" - 4608) < 0
- [18b] (APTS" + 4608) - (VPTS + N) < 0
- [19b] (VPTS + N) - (APTS" - 3840) < 0
- [20b] (APTS" + 3840) - (APTS + N) < 0
- [21b] (VPTS + N) - (APTS" - 1536) < 0
- [22b] (APTS" + 1536) - (VPTS + N) < 0
- [23b] (VPTS + N) - (APTS" - 768) < 0
- [24b] (APTS" + 768) - (VPTS + N) < 0
- Für eine Darstellungsrate von 15 Rahmen pro Sekunde ergibt sich:
- [17c] (VPTS + N) - (APTS''' - 18452) < 0
- [18c] (APTS''' + 18452) - (VPTS + N) < 0
- [19c] (VPTS + N) - (APTS''' - 15360) < 0
- [20c] (APTS''' + 15360) - (APTS + N) < 0
- [21c] (VPTS + N) - (APTS''' - 6144) < 0
- [22c] (APTS''' + 6144) - (VPTS + N) < 0
- [23c] (VPTS + N) - (APTS''' - 3072) < 0
- [24c] (APTS''' + 3072) - (VPTS + N) < 0
- Fig. 5A zeigt eine A/V Sync-Schaltung, die in der Funktionalität ähnlich ist wie die in Fig. 4A gezeigte Schaltung und die vier der acht Gleichungen [9a] bis [16a] anwenden kann. Fig. 5B zeigt eine A/V Sync-Schaltung, die in der Funktionalität ähnlich ist wie die in Fig. 4B gezeigte Schaltung und die vier der acht Gleichungen [17a] bis [24a] anwenden kann. Die Arbeitsweise der Schaltung gemäß Fig. 5B ist ähnlich der Arbeitsweise der Schaltung der Fig. 5A. Somit ist vieles von dem, was nachfolgend erläutert wird, auf beide Schaltungen anwendbar. Zwei Offset-Werte und ein A/V-Latenz-Wert werden beim Empfang eines Ladewert-Signals am Eingang 517 vom Eingang 543 in ein Register 577 geladen. Wenn zum Ermitteln der Offset-Werte die Zeitverschiebungs- Schwellwerte abgeschnitten oder gerundet werden, kann die Datenbus-Breite für die übrige Hardware in Fig. 5A reduziert werden, wenn diese mit dem Frequenzteiler 510 kombiniert wird. Durch den Multiplexer 566 kann ein Verschieben nach links oder rechts vorgenommen werden, um ein Vielfaches oder ein Teil von zwei der gespeicherten Offset-Werte zu erhalten. Der Frequenzteiler 510 wird vorzugsweise verwendet, um ein Vielfaches des Offset-Wertes für die 30 Rahmen pro Sekunde-Gleichungen zu erhalten und das Abschneiden zu unterstützen, das mit Bezug auf den Frequenzteiler 410 in Fig. 4A bereits kurz erläutert wurde. Die Fig. 9 und 5A zeigen den Vorteil der Anwendung des Frequenzteilers in Kombination mit den abgeschnittenen korrigierten Zeitverschiebungs-Schwellwerten, die als Offset-Werte bezeichnet werden. Auch wenn bereits erläutert wurde, dass die APTS- und VPTS-Werte 33 Bit Werte sind, sind zur Bestimmung des gewünschten maximalen Zeitverschiebungsbereiches nicht alle signifikantesten Bits (MSBs) des APTS und VPTS erforderlich. Das zweite MSB stellt zum Beispiel 231 · 11,11 us dar, was 6.625 Stunden entspricht, während das erste MSB AM oder PM anzeigt. Es braucht nicht davon ausgegangen zu werden, dass die Audio-Wiedergabe so weit außerhalb der Synchronisation mit der Video-Wiedergabe liegt. Es kann vielmehr davon ausgegangen werden, dass die Audio- und die Video-Signale in einem Bereich zwischen 0 und 3 Sekunden außerhalb der Synchronität liegen, wobei dieser Bereich durch Bits 18 bis 0 dargestellt werden kann.
- Somit können also die Bits 32 bis 19 sowohl von den APTS-, als auch von den VPTS- Werten abgeschnitten werden. Da weiterhin eine Resynchronisation für einen Zeitwert von weniger als 1,42 ms, was weniger als ein Zehntel eines Rahmens bei 60 Rahmen pro Sekunde ist, nicht zu erwarten ist, können die Bits 6 bis 0 der APTS- und VPTS- Werte ebenfalls abgeschnitten werden. Der gewünschte Bereich von Bits, der für die APTS- und VPTS-Werte zu analysieren ist, liegt somit zwischen 18 und 7.
- In Fig. 5A ist zu erkennen, dass der abgeschnittene APTS [18:7] auf dem Bus 502 dem Zähler 511 und der abgeschnittene VPTS [18:7] auf dem Bus 503 dem Register 512 zugeführt wird. Aufgrund des Abschneidens muss der Zähler 511 in entsprechend an das Abschneiden sowie die geeignete Darstellungsrate und die gegebenen Offset-Werte angepasster Weise zählen. Wenn man nur das Abschneiden berücksichtigt, sollte der Zähler mit Zählwerten von 2&sup7; (128) zählen. Somit würde der wählbaren Frequenzteiler 510 die SCLK Frequenz durch 128 teilen, um den geeigneten Inkrementations-Eingang für den Zähler 511 auf der Leitung 504 zu erzeugen. Auf diese Weise ermöglicht das Abschneiden der Breiten von VPTS, APTS und der korrigierten Zeitverschiebungs- Schwellwerte die Verwendung von kleineren Zählern, Addierern, Registern, Bussen und anderer Hardware, so dass eine A/V Sync-Schaltung mit relativ geringem Verschaltungsaufwand realisiert werden kann.
- Zur weiteren Reduzierung des durch die A/V Sync-Schaltung beanspruchten Verschaltungsaufwandes wird in Fig. 5A ein einziger Addierer/Subtrahierer verwendet, um die Gleichungen [9a] bis [16a], [9b] bis [16b] und [9c] bis [16c] oder andere ähnliche Gleichungen zur Bestimmung des Überschreitens eines Schwellwertes durch die Zeitverschiebung auszuführen. Wenn das Ergebnis der Berechnung von einer der Gleichungen durch den Addierer/Subtrahierer in Fig. 5A zu einer Überlauf-Bedingung führt, die einen negativen Werte anzeigt, so ist die Gleichung erfüllt. Da APTS, VPTS und die korrigierten Zeitverschiebungs-Werte abgeschnitten wurden, benötigt der Addierer/Subtrahierer 513 nur 12 Bits. Natürlich kann es auch erwünscht sein, dass keine oder andere Bits abgeschnitten werden, so dass sich für APTS, VPTS und die korrigierten Zeitverschiebungs-Werte unterschiedliche Datenbreiten ergeben und somit die Addierer/Subtrahierer, ebenso wie andere Schaltkreise, unterschiedliche Größen erfordern.
- Im folgenden soll nun die Arbeitsweise der A/V Sync-Schaltung gemäß Fig. 5A im Detail beschrieben werden, wobei eine Darstellungsrate von 30 Rahmen pro Sekunde, Zeitverschiebungs-Schwellwerte von plus und minus eins und drei Rahmenzeiten angenommen werden, wobei die Gleichungen [9a] bis [10a] und [13a] bis [14a] anwendbar sind. Das System wird beim Empfang entweder eines Software-Reset oder eines Reset von dem Parser in dem System-Decoder zunächst zurückgesetzt. Das System kann auch zurückgesetzt werden, wenn eine der sich ergebenden Gleichungen [9a] bis [10a] und [13a] bis [14a] erfüllt ist. In dem Fall, in dem die Audio- und Videosignale um mehr Rahmen außerhalb der Synchronität liegen, als rechtzeitig angepasst werden können, wird eine Unterbrechungsanforderung an die Software gesendet, so dass die Software die Resynchronisierung durchführen kann. In dem Fall, in dem die Audio- und Videosignale außerhalb der Synchronität liegen und es gewünscht wird, einen Videorahmen zu überspringen, jedoch ein Rahmen vom B-Typ während einer vorbestimmten Zeitperiode nicht in dem komprimierten Videodatenstrom gefunden wurde, kann ebenfalls eine Unterbrechungsanforderung an die Software gesendet werden, so dass die Software ein Überspringen eines Videorahmens oder mehrerer Rahmen zur Synchronisierung der Audio- und Videosignale bewirken kann. In jedem Fall setzt die Reset-Logik 552 die Zustandsmaschine 553 bei einem Reset-Zustand in den IDLE-Status Null (50) 520 zurück. Der wählbare Frequenzteiler 410 teilt den Systemtakt, um dem Abschneiden und einer unterschiedlichen Rahmenrate Rechnung zu tragen. Wenn das Register 557 mit den Werten für eine 30 fps (Rahmen pro Sekunde) -Darstellungsrate gemäß der Darstellung in den Gleichungen [9a] bis [10a] und [13a] bis [14a] geladen ist und der tatsächlich empfangene komprimierte Bitstrom an die Darstellungsrate von 30 fps angepasst ist, teilt der Frequenzteiler durch 2&sup7; (128), um nur dem Abschneiden Rechnung zu tragen. Wenn jedoch das Register mit den Werten für die Gleichungen [9a] bis [10a] und [13a] bis [14a] geladen ist und der tatsächlich empfangene komprimierte Bitstrom 60 Rahmen pro Sekunde (fps) beträgt, teilt der wählbare Frequenzteiler 510 durch 26 (64), so dass der Zähler 511 schneller zählen kann. Eine Änderung der Teilung des wählbaren Frequenzteilers 510 von 2&sup7; (128) auf 2&sup6; (64) hat die äquivalente Wirkung einer Teilung der in dem Register 557 gespeicherten Offset-Werte durch die Hälfte, so dass die Gleichungen [9b] bis [10b] und [13b] bis [14b] wirksam in der Schaltung gemäß Fig. 5A verwendet werden können. Wenn der komprimierte Bitstrom eine Darstellungsrate von 15 fps beinhaltet, so teilt in ähnlicher Weise der Teiler durch 256 oder 2&sup8;, um die Wirkung einer Multiplikation der in dem Register 557 gespeicherten Offset- Werte mit 2 zu erreichen, so dass die Gleichungen [9c] bis [10c] und [13c] bis [14c] angewendet werden können.
- Das System liest während des Zustandes Null (S0) 520 die geeigneten Offset-Werte und den Latenz-Wert in das Register 557 ein. Es sei angenommen, dass die Zeitverschiebung geprüft wird, um festzustellen, ob diese die bevorzugten Zeitverschiebungs- Schwellwerte von plus und minus einer Rahmenzeit und plus und minus drei Rahmenzeiten überschreitet. Die Reihenfolge der Sequenz der Gleichungen wird geringfügig modifiziert, da es sinnvoll sein kann, zunächst zu wissen, ob codierte/komprimierte Videorahmen übersprungen werden müssen und dann zu erfahren, ob ein decodierter/dekomprimierter Videorahmen wiederholt werden muss. Somit ist die Reihenfolge der Berechnung der Gleichungen für eine nominale Darstellungsrate von 30 Rahmen pro Sekunde, wobei VPTS durch den AVLATENZ-Wert modifiziert ist und VPTS' darstellt, wie folgt:
- [10a] (VPTS' + 9216) - (APTS + M) < 0
- [9a] (APTS + M) - (VPTS' - 9216) < 0
- [14a] (VPTS' + 3072) - (APTS + M) < 0
- [13a] (APTS + M) - (VPTS' - 3072) < 0
- Die Offset-Werte, die abgeschnittene Werte sind, werden parallel mit dem AVLATENZ- Wert aus den Bits [19:0] auf dem Bus 543 in das Register 577 geladen. Zum Beispiel kann der durch das binäre Muster 10010 der Bits [13:9] aus Fig. 9 dargestellte Offset- Wert 9216 in die ersten fünf Bits [9:5] des Registers 557 geladen werden, die mit OV1 bezeichnet sind. Der durch das binäre Muster 001100 der Bits [13:9] in Fig. 9 dargestellte Offset-Wert 3072 kann gleichzeitig in die fünf Bits [14:10] des Registers 557 geladen werden, die mit OV2 bezeichnet sind. Der AVLATENZ-Wert kann gleichzeitig in die fünf Bits [4:0] des Registers 557 geladen werden, die mit AVL bezeichnet sind. Die A/V Sync-Schaltung kann in dem Zustand 0 (520) auf den Empfang eines ersten APTS- Wertes aus dem komprimierten Datenstrom warten. Beim Auftreten des APTS wie zum Beispiel des APTS 312 in Fig. 3A kann die A/V Sync-Schaltung gemäß Fig. 5A den Zähler 511 auf den abgeschnittenen APTS-Wert initialisieren, der auf dem Bus 502 verfügbar ist. Der SCLK führt 2m Taktzyklen aus, bevor der wählbare Frequenzteiler 510 dem Zähler 511 erlaubt, von dem initialisierten APTS-Wert zu inkrementieren. In diesem Fall inkrementiert der Frequenzteiler 510 den Zähler 511, nachdem 128 SCLK Taktzyklen gezählt worden sind. Der Zähler 511 inkrementiert kontinuierlich und wird durch das LDPTS 1 Signal 515 auf einen neuen APTS-Wert re-initialisiert, nachdem der Empfang des neuen APTS-Wertes in dem komprimierten Datenstrom durch das Register 581 gespeichert worden ist. Nachdem der Zähler 511 eine Anzahl von Malen inkrementiert worden ist, wird in dem komprimierten Datenstrom ein VPTS empfangen, wie zum Beispiel der VPTS 308 in Fig. 3A, der bewirkt, dass die Zustandsmaschine 553 in den Zustand 1 (S1) 521 springt.
- Während des Zustandes 1 wird ein abgeschnittener VPTS-Wert durch den Multiplexer 559 gewählt, um in das Register 512 geladen zu werden. Der nächste Schritt dient zur Korrektur des VPTS zu VPTS' mit Gleichung 3, die wie folgt lautet:
- [III] VPTS' = VPTS + AVLATENZ.
- Ein Chip-Takt 518 inkrementiert die Zustandsmaschine 553 in den nächsten Zustand, d. h. den Zustand 2 (S2) 522, um die Gleichung [III] auszuführen. Während des Zustandes S2 wird der in den Bits [4:0] des Registers 517 gespeicherte AVLATENZ-Wert ausgewählt, um durch den Multiplexer 556 auf die Bits 6 bis 2, Y[6: 2] 535 des Bus Y[12:0] 537 geführt zu werden. Die übrigen Bits, die mit 12 bis 7 und 1 bis 0, Y[12:7, 1:0] 536 des Bus Y[12:0] 537 numeriert sind, werden auf Massepotential geführt, um die Bits 12 bis 7 und 1 bis 0 auf einen logischen 0-Pegel zu setzen.
- Während der Zustände 2, 3, 5, 7 und 9 wählt das Signal 531 (S2, S3, S5, S7, S9) den Bus Y[12:0] 537, um durch den Multiplexer 558 auf dem Bus 505 als Eingang A des Addierers/Subtrahierers 513 zu laufen. Das Signal 531 (S2, S3, S5, S7, S9) wählt auch den Bus R[12:0] 540, um während der Zustände 2, 3, 5, 7 und 9 durch den Multiplexer 554 und in den Eingang B des Addierers/Subtrahierers 513 zu gelangen. Das Register 512 führt den abgeschnittenen Wert von VPTS, VPTS[18:7], der in diesem gespeichert ist, auf die Bits 11 bis 0, R[11: 0] 538 des Bus R[12:0] 540. Während des Zustandes 2 wird der abgeschnittene Werte von VPTS durch den Multiplexer 554 und in den Eingang B auf dem Bus 506 des Addierers/Subtrahierers 513 geführt. Der Addierer/Subtrahierer ist ein Addierer mit der Fähigkeit zur Durchführung einer Subtraktion unter Verwendung einer Zweier-Komplement-Addition und der Fähigkeit zur Verschiebung des Eingangs A auf den Eingang B und umgekehrt. Während des Zustandes 2 führt der Addierer/Subtrahierer 513 (AVLATENZ + VPTS) aus und treibt den Bus SUM[12:0] 507 mit dem VPTS'-Wert. Der Ausgang SUM[12: 0] des Addierers/Subtrahierers 513 ist während des Zustandes 2 in dem Register 512 und während der Zustände 3, 5, 7 und 9 in dem Register 555 gespeichert. Somit ist während des Zustandes 2 das Ergebnis von (AVLATENZ + VPTS) = VPTS' in dem Register 512 gespeichert. Als nächstes springt die Zustandsmaschine 553 zu dem Zustand 3 (53) 523.
- Während des Zustandes 3 (S3) 523 wird der erste Schritt bei der Berechnung der Gleichung [10a] (VPTS' + 9216) - (APTS + M) < 0 durchgeführt, um zu bestimmen, ob das Videosignal gegenüber dem Audiosignal um mehr als 3 Rahmenzeiten hinterherläuft. Der Wert von (VPTS' + 9216) wird erzeugt, während der Zähler den Wert von (APTS + M) hält. Während der Zustände 3 und 5 wählt das Signal 565 (S3, S5) den Offset-Wert OV1, um diesen durch den Multiplexer 556 und auf die Bits 2 bis 6 von Y[12:0] des Bus 537 zu führen. Das Signal 531 wählt Y[12: 0] Bus 537, um dieses durch den Multiplexer 558 auf den Bus 505 und in den Eingang A des Addierers/Subtrahierers 513 zu führen. Der Wert von VPTS', der in dem Register 512 gespeichert ist, wird durch das Signal 531 gewählt, um diesen durch den Multiplexer 554 auf dem Bus 506 und in den Eingang des Addierers/Subtrahierers zu führen. Steuersignale 560-562 des Addierers/Subtrahierers bewirken, dass der Addierer/ Subtrahierer die Funktion A + B ausführt. Anschließend ermittelt der Addierer/Subtrahierer 513 (9216 + VPTS') und gibt das Ergebnis auf SUM[12: 0] Bus 507 aus. Die Ergebnisse auf SUM[12:0] Bus 507 werden während der Zustände 3, 5, 7 und 9 durch den Chip-Takt 518 und das Signal 567 (S3, S5, S7, S9) in dem Register 555 gespeichert. Das Chip-Taktsignal bewirkt auch, dass die Zustandsmaschine auf den nächsten Zustand, nämlich dem Zustand 4 springt.
- Während des Zustandes 4 (54) 524 wird der letzte Schritt der Berechnung der Gleichung [10a] (VPTS' + 9216) - (APTS + M) < 0 durchgeführt. Während der Zustände 4, 6, 8 und 10 wählt das Signal 531 den Ausgang des Zählers 511, um diesen durch den Multiplexer 558 auf den Bus 505 zu führen, der an dem Eingang A des Addierers/Subtrahierers 513 anliegt. Der Ausgang des Zählers 511 scheint während der Berechnungen der Gleichungen konstant zu sein, da der Zähler durch den Ausgang des wählbaren Frequenzteilers 510 inkrementiert wird, während der Rest der A/V Sync-Schaltung in Fig. 5A bei der Frequenz des Systemtaktes arbeitet. Somit sollte der Zähler-Ausgang 544 gegenüber seinem Wert nach dem Empfang des VPTS nicht inkrementiert worden sein.
- Während der Zustände 4, 6, 8 und 10 wählt das Signal 531 den Ausgang von dem Register 555, um diesen durch den Multiplexer 554 auf dem Bus 506 und in den Eingang B des Addierers/Subtrahierers 513 zu führen. Während des Zustandes 4 wird der Wert (9216 '+ VPTS') als Eingang B in den Addierer/Subtrahierer 513 und der Wert (APTS + M) als Eingang A in den Addierer/Subtrahierer 513 eingegeben. Die Addierer/Subtrahierer-Steuersignale 560-562 wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation B-A. Ein SWAP-Signal 561 ist aktiv, um die Eingänge A und B zu verschieben. Weiterhin ist ein COMPB-Signal 562 aktiv, so dass der Addierer/Subtrahierer 513 (APTS + M) in seine Zweier-Komplement-Form komplementiert und konvertiert, wobei das SUB-Signal 560 an dem Übertrags-Eingang des Addierers/Subtrahierers 513 anliegt. Der Addierer/Subtrahierer 513 addiert anschließend (VPTS' + 9216) zu -(APTS + M).
- Wenn der Überlauf-Ausgang 549 des Addierers/Subtrahierers 513 während des Zustandes 4 eine Überlauf-Bedingung anzeigt, ist Gleichung [10a] erfüllt und die Darstellung von Videobildern läuft der Audio-Wiedergabe um mindestens drei Rahmen hinterher, so dass Videorahmen oder Teile davon übersprungen werden können, um die letzte Audio- Wiedergabezeit wieder einzufangen. Wenn die Berechnung nicht zu einer Überlauf-Bedingung führt, springt die Zustandsmaschine zu dem Zustand 5(S5) 525. Der Überlauf- Ausgang 549 wird während des Zustandes 4 in dem D-Flip-Flop 572, während des Zustandes 6 in dem D-Flip-Flop 574, während des Zustandes 8 in dem D-Flip-Flop 576 und während des Zustandes 10 in dem D-Flip-Flop 578 gespeichert. Im Falle einer Überlauf-Bedingung beaufschlagt der Steuersignal-Ausgang SKIP MULT 545 andere Schaltkreise (nicht gezeigt), so dass mehrfach Rahmen von Videobildern übersprungen werden, wie zum Beispiel drei Rahmen, um die Videobilder im wesentlichen an die Audio-Wiedergabe anzupassen. Alternativ dazu kann der Steuersignal-Ausgang 545 auch bewirken, dass die Audio-Wiedergabe um eine Anzahl von Rahmen verzögert wird, während die Videodarstellung der Bilder aufholen kann. Diese letztgenannte Technik wird im allgemeinen jedoch nicht bevorzugt, da Änderungen in der Audio-Wiedergabe für ein menschliches Ohr wesentlich leichter wahrnehmbar sind, als Änderungen der Videobilder für das menschliche Auge. Weiterhin ist zu berücksichtigen, dass der Überlauf-Ausgang 549 bewirkt, dass die Zustandsmaschine 553 durch die Reset-Logik 552 zurückgesetzt wird, wenn die Überlauf-Bedingung vorhanden ist. Wenn einmal eine der Gleichungen [9a], [10a], [13a] oder [14a] erfüllt worden ist, braucht die A/ V Sync- Schaltung gemäß Fig. 5A nicht mehr die gesamte Sequenz von Berechnungen durchzuführen. Es sei daran erinnert, dass wenn die Berechnung von (VPTS' + 9216) - (APTS + M) nicht zu einer Überlauf-Bedingung führt, dann die Zustandsmaschine 553 zu dem Zustand S springt.
- Während des Zustandes 5 (S5) 523 wird mit der Berechnung der Gleichung [9a] (APTS + M) - (VPTS' - 9216) < 0 begonnen, um zu bestimmen, ob das Videosignal mit mehr als drei Rahmenzeiten gegenüber dem Audiosignal führt. Der Zustand 5 erzeugt (VPTS' -9216). Das Steuersignal 565 (S3, S5) wählt während des Zustandes 5 einen in OV1 gespeicherten Offset-Wert zum Führen durch den Multiplexer 556 und auf die Bits 6 bis 2 des Bus Y[12:0] 537. Ein Steuersignal 531 wählt während des Zustandes 5 den Bus Y[12:0] 537 zum Führen durch den Multiplexer 558 und in den Eingang A des Addierers/Subtrahierers 513. Das Steuersignal 531 wählt ferner während des Zustandes 5 den Bus R[12: 0], der den abgeschnittenen VPTS auf den Bits 11 bis 0 aufweist, zum Führen durch den Multiplexer 554 und in den Eingang B des Addierers/Subtrahierers 513. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation B-A. Das SWAP-Signal 561 ist aktiv, um die A und B Eingänge zu verschieben. Weiterhin ist das COMPB-Signal 562 aktiv, so dass der Addierer/Subtrahierer 513 (9216) in seine Zweier-Komplement-Form komplementiert und konvertiert und das SUB-Signal 560 an dem Übertrags-Eingang des Addierers/ Subtrahierers 513 addiert. Somit führt der Addierer/Subtrahierer 513 die Addition von (VPTS + -9216) aus, für die das Ergebnis auf dem Bus 507 während des Zustandes 5 in dem Register 555 gespeichert wird. Die Zustandsmaschine springt dann zu dem Zustand 6.
- Während des Zustandes 6 (S6) 526 wird die Berechnung der Gleichung [9a] (APTS + M) - (VPTS' - 9216) < 0 abgeschlossen. Der Wert von (VPTS + -9216) wird von (APTS + M) subtrahiert. Die Signalleitung 531 wählt während des Zustandes 6 den Zähler- Ausgangsbus 544 zur Führung durch den Multiplexer 558 auf dem Bus 505, der an dem Eingang A des Addierers/Subtrahierers 513 anliegt. Die Signalleitung 531 wählt auch den Ausgang von den Register 555 auf dem Bus 541 zur Führung durch den Multiplexer 554 und auf den Bus 506 sowie in den Eingang B des Addierers/Subtrahierers 513. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführungen der Operation B-A. Das SWAP-Signal 561 ist aktiv, um die Eingänge A und B zu verschieben. Weiterhin ist das COMPB-Signal 562 aktiv, so dass der Addierer/Subtrahierer 513 (VPTS' + -9216) in seine Zweier-Komplement-Form komplementiert und konvertiert und das SUB-Signal 560 an dem Übertrags-Eingang des Addierers/Subtrahierers 513 addiert. Der Addierer/Subtrahierer 513 führt die Addition von -(VPTS' + -9216) zu (APTS + N) durch. Wenn durch die Addition von -(VPTS' + -9216) und (APTS + N) eine Überlauf-Bedingung verursacht wird, ist die Gleichung [9a] erfüllt und das Videosignal führt gegenüber dem Audiosignal mit mindestens 3 Rahmen. Wenn keine Überlauf-Bedingung vorliegt, kann die Zustandsmaschine zu dem Zustand 7 springen.
- Im Falle einer Überlauf-Bedingung wird der Überlauf-Ausgang 549 während des Zustandes 6 in dem D-Flip-Flop 574 gespeichert. Ein Steuersignal-Ausgang RPTMULT 546 wird erzeugt, um anderen Schaltkreisen (nicht dargestellt) zu signalisieren, mehrere Rahmen oder Videobilder, wie zum Beispiel drei Rahmen, zu wiederholen, so dass das Videobild konstant gehalten wird und das Audiosignal das Videosignal einholen kann. Alternativ dazu kann der Steuersignal-Ausgang 545 bewirken, dass die Audio-Wiedergabe mit einer Anzahl von Rahmen oder Datenpaketen übersprungen wird, um die Videodarstellung der Bilder einzuholen. Das Überspringen von Audiodaten ist im allgemeinen jedoch nicht zu bevorzugen. Weiterhin wird im Falle einer Überlauf-Bedingung die Zustandsmaschine 553 auf den Zustand 0 zurückgesetzt. Es sei daran erinnert, dass wenn die Berechnung von (APTS + M) - (VPTS' - 9216) nicht zu einer Überlauf-Bedingung führt, die Zustandsmaschine dann zu dem Zustand 7 springt.
- Während des Zustandes 7 (7) 525 wird mit der Berechnung der Gleichung [14a] (VPTS' + 3072) - (APTS + M) < 0 begonnen, um zu bestimmen, ob das Videosignal mit mehr als einer Rahmenzeit dem Audiosignal nacheilt. Während des Zustandes 7 wird der Wert von (VPTS' +3072) erzeugt. Während der Zustände 7 und 9 wird der Offset-Wert OV2 aus dem Register 557 durch das Signal 569 (S7, S9) gewählt, um durch den Multiplexer 556 auf die Bits 6 bis 2 des Bus Y[12:0] 537 geführt zu werden. Das Signal 531 wählt den Bus Y[12:0] 537 zum Führen durch den Multiplexer 558 auf den Bus 505 und in den Eingang A des Addierers/Subtrahierers 513. Die Signalleitung 531 wählt während des Zustandes 7 auch den Bus R[12:0] 540, auf dem auf den Bits 11 bis 0 der in dem Register 512 gespeicherte VPTS-Wert verfügbar ist, um diesen mit dem Bus 506 als Eingang B des Addierers/Subtrahierers 513 zu verbinden. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation A + B. Das SWAP-Signal 561, das COMPB-Signal 562 und das SUB- Signal 560 sind inaktiv, so dass der Addierer/Subtrahierer 513 die Addition von (VPTS' + 3072) durchführen kann. Der sich auf dem Bus 507 ergebende Ausgang wird während des Zustandes 7 durch das Signal 567 und den Chip-Takt 518 in dem Register 555 gespeichert. Der Chip-Takt 518 bewirkt auch, dass die Zustandsmaschine zu dem Zustand 8 springt.
- Während des Zustandes 8 (S8) 528 wird die Berechnung der Gleichung [14a] (VPTS' + 3072) - (APTS + M) abgeschossen. Der Wert von (APTS + M) in dem Zähler 511 wird von dem in dem Register 555 gespeicherten Wert von (VPTS' +3072) subtrahiert. Während des Zustandes 8 wählt das Signal 531 den Zählerausgang auf dem Bus 544, um diesen durch den Multiplexer 558 auf den Bus 505 und in den Eingang A des Addierers/Subtrahierers 513 zu führen. Während des Zustandes 8 wählt das Signal 531 auch den Ausgang von dem Register 555 auf den Bus 541, um diesen durch den Multiplexer 554 auf den Bus 506 als Eingang B des Addierers/Subtrahierers 513 zu führen. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation B-A. Das SWAP-Signal 561 ist aktiv, um die A- und B- Eingänge zu verschieben. Das COMPB-Signal 562 ist aktiv, so dass der Addierer/Subtrahierer 513 (APTS + M) in seine Zweier-Komplement-Form komplementiert und konvertiert und das SUB-Signal 560 an dem Übertrags-Eingang des Addierers/Subtrahierers 513 addiert. Der Addierer/Subtrahierer addiert dann (VPTS' +3072) zu -(APTS + M).
- Wenn sich aus der Addition von (VPTS' +3072) zu -(APTS + M) eine Überlauf-Bedingung ergibt, so ist die Gleichung [14a] erfüllt und das Videosignal ist gegenüber dem Audiosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit drei Rahmen verzögert. Wenn keine Überlauf-Bedingung auftritt, springt die Zustandsmaschine zu dem Zustand 9.
- Wenn eine Überlauf-Bedingung auftritt, wird der Überlauf-Ausgang 549 während des Zustandes 8 in dem D-Flip-Flop 576 gespeichert, das einen Steuersignal-Ausgang 547 erzeugt, der anderen Schaltkreisen (nicht dargestellt) signalisiert, einen Rahmen oder einen Teil davon eines Videobildes zu überspringen. Alternativ dazu kann der Steuersignal-Ausgang 547 auch bewirken, dass die Audio-Wiedergabe um einen Rahmen der Audiodaten oder einen Teil davon verzögert wird, so dass die Videodarstellung von Bildern aufholen kann. Dies wird im allgemeinen jedoch nicht bevorzugt. Im Falle eines Überlaufes kann die Zustandsmaschine auf den Zustand Null zurückgesetzt werden, da weitere Berechnungen nicht notwendig sind. Wenn jedoch eine Überlauf-Bedingung nach den Berechnungen der Gleichung [14a] auftritt, springt die Zustandsmaschine 513 zu dem Zustand 9.
- Während des Zustandes 9 (59) 529 wird mit der Berechnung der Gleichung [13a] (APTS + M) - (VPTS' - 3072) < 0 begonnen, um festzustellen, ob das Videosignal gegenüber dem Audiosignal mit mehr als einer Rahmenzeit führt. Während des Zustandes 9 wird der abgeschnittene Offset-Wert OV2 durch das Signal 569 aus dem Register 557 gewählt, um durch den Multiplexer 556 auf die Bits 6 bis 2 des Bus Y[12:0] 537 geführt zu werden. Das Signal 531 wählt den Bus Y[12:0] 537 zur Führung durch den Multiplexer 558 auf den Bus 505 und wird in den Eingang A des Addierers/Subtrahierers 513 eingegeben. Das Signal 531 wählt während des Zustandes 9 auch den Bus R[12:0] 540, auf dem auf den Bits 11 bis 0 der in dem Register 512 gespeicherte VPTS- Wert verfügbar ist, um diesen durch den Multiplexer 554 und auf den Bus 506 als Eingang B des Addierers/Subtrahierers 513 zu führen. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation B-A. Das SWAP-Signal 561 ist zur Verschiebung der A- und B- Eingänge aktiv. Das COMPB-Signal 562 ist aktiv, so dass der Addierer/Subtrahierer 513 (3072) in seine Zweier-Komplement-Form komplementiert und konvertiert und das Signal 560 an dem Übertrags-Eingang des Addierers/Subtrahierers 513 addiert. Somit führt der Addierer/Subtrahierer 513 die Addition von (VPTS + -3072) aus, deren Ergebnis auf dem Bus 507 in dem Register 555 während des Zustandes 9 durch den Chip-Takt 518 und das Signal 567 gespeichert wird. Der Chip-Takt 518 bewirkt auch, dass die Zustandsmaschine 553 in den Zustand 10 springt.
- Während des Zustandes 10 wird die Berechnung der Gleichung [13a] (APTS + M) - (VPTS' - 3072) abgeschlossen. Der Wert von (VPTS' - 3072), der gegenwärtig in dem Register 55 gespeichert ist, wird von (APTS + M) subtrahiert. Während des Zustandes 10 wählt das Signal 531 den Ausgang des Zählers 511 auf dem Bus 544 zur Führung durch den Multiplexer 558 auf den Bus 505 und in den Eingang A des Addierers/Subtrahierers S 13. Die Signalleitung 531 wählt während des Zustandes 10 den Register- Ausgang auf dem Bus 541 zur Führung durch den Multiplexer 554 auf den Bus 506 als Eingang B des Addierers/Subtrahierers 513. Die Steuersignale 560-562 des Addierers/Subtrahierers wählen den Addierer/Subtrahierer 513 zur Durchführung der Operation B-A. Das SWAP-Signal 561 ist zur Verschiebung der A- und B-Eingänge aktiv. Das COMPB-Signal 562 ist aktiv, so dass der Addierer/Subtrahierer 513 (VPTS' + - 3072) in seine Zweier-Komplement-Form komplementiert und konvertiert und das SUB-Signal 560 an dem Übertrags-Eingang des Addierers/Subtrahierers 513 addiert.
- Der Addierer/Subtrahierer 513 führt die Addition von -(VPTS' + -3072) zu (APTS + N) durch.
- Wenn sich aus der Addition von -(VPTS' + -3072) zu (APTS + N) eine Überlauf-Bedingung ergibt, ist die Gleichung [13a] erfüllt und das Audiosignal führt gegenüber dem Videosignal mit mindestens einem Rahmen, jedoch nicht mehr als mit 3 Rahmen. Wenn keine Überlauf-Bedingung existiert, springt die Zustandsmaschine zu dem Leerlauf-Zustand; das heißt dem Zustand 0.
- Im Falle einer Überlauf-Bedingung wird der Überlauf-Ausgang 549 während des Zustandes 10 in dem D-Flip-Flop 578 gespeichert, das einen Steuersignal-Ausgang 548 erzeugt, der anderen Schalterkreisen (nicht gezeigt) signalisiert, einen Rahmen oder einen Teil davon eines Videobildes zu wiederholen, so dass das Audiosignal aufholen kann. Alternativ dazu kann der Steuersignal-Ausgang 548 bewirken, dass die Audio-Wiedergabe um einen Rahmen oder einen Teil davon der Audiodaten übersprungen wird, um die Videodarstellung der Bilder anzupassen. Dies wird im allgemeinen jedoch nicht bevorzugt. Die Zustandsmaschine wird durch die Uberlauf-Bedingung auf den Zustand 0 zurückgesetzt, da eine weitere Berechnung nicht notwendig ist. Wenn nach der Durchführung der Berechnung der Gleichung [13a] eine Überlauf-Bedingung auftritt, geht die Zustandsmaschine in den Zustand 0 über, da die aktuelle Zeitverschiebung kleiner ist, als diejenige, die mit den Gleichungen [12a], [11a], [14a] und [13a] geprüft wurde.
- Auch wenn die A/V Sync-Schaltung gemäß Fig. 5A in dem obigen Beispiel in bestimmten Details unter Anwendung von nur vier Gleichungen und zwei Offset-Werten beschrieben wurde, können zusätzliche Gleichungen und Offset-Werte durch Hinzufügen von zusätzlichen Registern und Bereitstellen von zusätzlichen Zuständen in der Zustandsmaschine aufgenommen werden, oder es können andere Gleichungen berechnet werden, oder die genannten Gleichungen können in anderer Weise ausgeführt werden. Weitere Modifikationen ergeben sich für einen einschlägigen Fachmann. Eine interessante Modifikation ist in Fig. 5B gezeigt. Fig. 5B zeigt eine zweite A/V Sync-Schaltung, die einen außerhalb einer Synchronisation liegenden Zustand in einer geringfügig anderen Weise bestimmt als die Schaltung gemäß Fig. 5A. Es sei darauf hingewiesen, dass der abgeschnittene Wert von VPTS in den Zähler 511 eingegeben und der abgeschnittene Wert von APTS in das Register 512 eingegeben wird. Bei der Erläuterung der Fig. 5A wurden die Gleichungen [12a], [11a], [14a] und [13a] verwendet. Für die Fig. 5B können die Gleichungen [20a]-[19a] und [22a]-[21 a] für eine und drei Rahmenzeiten verwendet werden. Die A/V Sync-Schaltung gemäß Fig. 5B arbeitet in ähnlicher Weise wie die A/V Sync-Schaltung gemäß Fig. 5A. Für jedes Auftreten eines VPTS in dem codierten Videostrom, wie zum Beispiel 306 bis 308 in Fig. 3A, wird der Zähler 510 mit einem den VPTS-Wert darstellenden binären Wert erneut geladen. Der Zähler 510 wird durch den SCLK inkrementiert. Beim Auftreten des APTS in dem codierten Datenstrom, wie zum Beispiel bei 312 in Fig. 3A, wird der den APTS darstellende binäre Wert in dem Register 512 gespeichert, so dass die Korrektur im Hinblick auf die Latenz und die Berechnungen der Gleichungen vorgenommen werden können. Darüberhinaus ist die Funktion und Arbeitsweise der Schaltung in Fig. 5B ähnlich bzw. entsprechend der oben erläuterten Schaltung gemäß Fig. 5A.
- Fig. 8 zeigt einen Teil eines beispielhaften Multimedia-Systems wie es in Fig. 6 dargestellt ist. Der Speicher 691 ist mit der Speicher-Steuereinheit 829 und dem FIFO 641 des "Vidsyst"-Decoders 619 verbunden. Der Video-Decoder 621 und der System-Decoder 622 sind in dem "Vidsyst"-Decoder 619 enthalten. Die A/V Sync-Schaltung 620, die im Detail in den Fig. 5A und B dargestellt ist, ist in dem "Vidsyst"-Decoder 619 enthalten.
- Der Speicher 691 speichert die codierten/komprimierten Audiodaten und die codierten/komprimierten Videodaten, die von einem Host-Prozessor (nicht gezeigt) empfangen wurden, temporär in einem Speicherteil 870. Der Speicherteil 870 ist groß genug, um eine Anzahl von MPEG codierten Videorahmen und eine Anzahl von MPEG codierten Audio-Datenpaketen zu speichern. Codierte/komprimierte Audiodaten können zu einer geeigneten Zeit durch den Vidsyst-Decoder 619 aus dem Speicherteil 870 ausgelesen werden, um diese über den FIFO 641 und einen Audio-Steuerungs-FIFO 830 zu dem Audio-Decoder 627 zu senden. Codierte/komprimierte Videodaten können zu einer geeigneten Zeit durch den Vidsyst-Decoder 619 aus dem Speicherteil 870 ausgelesen werden, um die codierten/komprimierten Videodaten zu decodierten/dekomprimierten Videodaten zu decodieren und zu dekomprimieren, die dann vorübergehend in einen Speicher 961 zurückgespeichert werden können. Der Speicher 961 speichert temporär einen Rahmen von decodierten/dekomprimierten Videodaten in jeweils einem Speicherteil 871 bis 874.
- Die Speicher-Steuereinheit 829 befiehlt der Speicher-Steuerlogik 875, Daten aus den und in die adressierbaren Speicherstellen in dem Speicher 691 zu lesen bzw. zu schreiben. Die Speicher-Steuerlogik 875 in dem Speicher 691 kann adressierbare Speicherstellen in dem Speicher 691 über den Datenbus 824 mit dem "Vidsyst"-Decoder 619 und dem FIFO 641 verbinden.
- Wie bereits oben beschrieben wurde, kann in Abhängigkeit von den Ergebnissen der Berechnungen, die durch die A/V Sync-Schaltung 620 zur Erfassung eines außerhalb einer Synchronität liegenden Zustandes durchgeführt werden, die Audio-Wiedergabe und die Videodarstellung von Bildern resynchronisiert werden, indem Videorahmen oder Teile davon wiederholt oder übersprungen werden, oder indem Audio-Datenpakete oder Teile davon übersprungen oder verzögert werden.
- Zum Überspringen von Rahmen der Videodarstellung von Bildern wird im allgemeinen bevorzugt, die codierten/komprimierten Videodaten-Rahmen zu überspringen, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren. Zum Wiederholen von Rahmen der Videodarstellung von Bildern wird im allgemeinen bevorzugt, die decodierten/dekomprimierten Videodaten-Rahmen zu wiederholen, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren. Alternativ dazu können auch Pakete von codierten/komprimierten Audiodaten übersprungen oder verzögert werden, um die Videodarstellung mit der Audio-Wiedergabe zu resynchronisieren.
- Zum Überspringen von codierten/komprimierten Videodaten-Rahmen muss ein geeigneter Typ eines Rahmens erfasst werden. Da der System-Decoder 622 den codierten/komprimierten Bitstrom mit einer Parser-Funktion in codierte/komprimierte Videodaten, codierte/komprimierte Audiodaten und Zeittakt-Informationen zerlegt, signalisiert dieser die Art des Videorahmens, wie zum Beispiel I-Typ, P-Typ oder B-Typ, über Signalleitungen 881 an die Speicher-Steuereinheit 829. Somit kennt die Speicher- Steuereinheit 829 die Art der codierten Videorahmen und die Adressen, unter denen jeder Typ in dem Adressraum der adressierbaren Speicherstellen in dem Speicher 691 gefunden werden kann. Nach dem Empfang eines Signals von der A/V Sync-Schaltung 620, wie zum Beispiel der Signale 545 bis 548 in den Fig. 5A-B, die einen außerhalb einer Synchronität liegenden Zustand anzeigen, bestimmt die Speicher-Steuereinheit 829, ob ein geeigneter Typ eines codierten/komprimierten Videorahmens in dem Speicher 691 vorhanden ist, der übersprungen werden kann. Wenn die Speicher-Steuereinheit 829 einen Typ kennt, der übersprungen werden kann, modifiziert diese die dem Speicher 691 zugeführte Adressen-Sequenz, um den gewünschten codierten/komprimierten Rahmen zu überspringen. Die Modifikation der Adresssequenz kann so einfach sein, wie die Auswahl einer anderen Startadresse. Es sei jedoch darauf hingewiesen, dass auch andere Modifikationen einer gegebenen Adressen-Sequenz zu einem gewünschten Überspringen eines gespeicherten codierten/komprimierten Rahmens führen kann.
- Wenn der Speicher-Steuereinheit 829 bekannt ist, dass in dem Speicher 691 keine Arten von codierten Rahmen vorhanden sind, die übersprungen werden können, sucht diese Einheit in dem empfangenen codierten/komprimierten Bitstrom während dieser durch den System-Decoder 622 der Parser-Funktion unterworfen wird, nach einem Typ, der übersprungen werden kann. Wenn nach einer vorbestimmten Zeit kein Typ eines codierten/komprimierten Rahmens in dem codierten/komprimierten Bitstrom gefunden wird, der übersprungen werden kann, signalisiert die Speicher-Steuereinheit über eine Signalleitung 850 eine Anforderung für einen Interrupt, so dass die Software die Synchronisation ausführt.
- Zum Wiederholen von decodierten/dekomprimierten Videodaten-Rahmen befiehlt die Speicher-Steuereinheit 829 dem Speicher 691 lediglich, eine Sequenz von Speicheradressen für adressierbare Speicherstellen in dem Speicher 691, die den gleichen Rahmen von Videodaten enthalten, zu wiederholen. Der ausgewählte zu wiederholende decodierte/dekomprimierte Videodaten-Rahmen wird ein zweites Mal aus dem Speicher 691 ausgelesen und über den FIFO 641 zu dem Video-Decoder 621 übertragen.
- Zum Überspringen von codierten/komprimierten Audiodaten kann die Speicher-Steuereinheit 82 selektiv eine Sequenz von Speicheradressen überspringen oder periodisch Speicheradressen überspringen, so dass die codierten/komprimierten Audiodaten in stärkerem Maße gleichmäßig übersprungen werden. Das Überspringen einer Sequenz von Adressen von codierten/komprimierten Audiodaten erfolgt in ähnlicher Weise wie das Überspringen einer Sequenz von Adressen von codierten/komprimierten Videodaten gemäß obiger Beschreibung. Die Audio-Steuereinheit/FIFO 830 erhöht vorzugsweise die Geschwindigkeit der Erzeugung der decodierten/dekomprimierten Audiodaten durch den Audio-Decoder 627, um die Videodarstellung von Bildern mit der Audio-Wiedergabe zu synchronisieren. Das Beschleunigen der Erzeugung von decodierten/dekomprimierten Audiodaten ist im allgemeinen für einen Menschen weniger wahrnehmbar als das Überspringen von codierten/komprimierten Audiodaten. Die Audio-Steuereinheit/FIFO 830 kann häufiger codiertelkomprimierte Audiodaten aus dem Speicher 691 abrufen und diese schneller dem Audio-Decoder 627 zuführen, um die Erzeugung von decodierten/dekomprimierten Audiodaten zu beschleunigen.
- Zur Verzögerung der codierten/komprimierten Audiodaten ruft die Audio-Steuereinheit/FIFO 830 die codierten/komprimierten Audiodaten aus dem Speicher 691 weniger häufig ab und führt die codierten/komprimierten Audiodaten dem Audio-Decoder 627 etwas langsamer zu, so dass dieser die Erzeugung von decodierten/dekomprimierten Audiodaten verlangsamt.
- Eine beispielhafte Multimedia-Anwendung der Erfindung ist in Fig. 6 gezeigt. Ein digitales Multimedia-System 600, wie zum Beispiel ein Multimedia-Computer, hat eine Haupt-Systemplatine 610, die intern mit einer CDROM-Leseeinrichtung 611 und einem Audio/Video-Decoder 612 verbunden ist. Das digitale Multimedia-System 600 kann extern mit einem Codiersystem verbunden sein, das eine Bildquelle 601 und einen Codierer 602 enthalten kann und das mit einer externen Darstellungseinrichtung wie zum Beispiel einem digitalen Display 605, einem Monitor 606 oder einem Fernseher 607 verbunden sein kann. Zunächst wird eine Codierung von Daten einer Quelle vorgenommen, die Bilddaten erzeugt. Beispiele für Quellen, die Bilddaten zur Verfügung stellen, sind Video-Kameras für Bewegtbilder, ein TV Monitor, ein Computer, ein Scanner und eine Kamera für Standbilder. Unabhängig von der Quelle werden die Bilddaten auf einem Bus 635 einem Codierer 602 zugeführt. Gemäß Fig. 6 wird ein Bild 603 von der Bildquelle 601, wie zum Beispiel einer Video-Kamera, gelesen und in einen Strom von Daten auf dem Bus 635 konvertiert, die durch den Codierer 602 decodiert werden. In Abhängigkeit von der Art des verwendeten Standards kann der Codierer 602 ein MPEG I Codierer, ein MPEG II Codierer, ein JPEG Codierer oder ein anderer Codierer sein, der codierte/komprimierte Daten erzeugt. Nachdem die Bilddaten codiert worden sind, können sie von dem Codierer 602 entweder direkt dem Prozessor zugeführt oder auf eine CD-ROM (compact disk read only memory) 604 geschrieben werden. Wenn die Daten auf einer CD-ROM 604 gespeichert sind, muss eine solche Scheibe in eine CD- ROM-Leseeinrichtung 611 eingeführt werden, um die von dem Codierer 602 aufgezeichneten codierten/komprimierten Daten zu dem Prozessor 613 zu führen.
- Der Prozessor 613 kann ein Standard-Mikroprozessor wie zum Beispiel ein Intel 80486 oder ein anderer Prozessor sein. Der Prozessor 613 kann die codierten/komprimierten Daten entweder in dem System-Speicher 614 für ein späteres Auslesen und Übertragen auf den Systembus 615 speichern oder er kann die codierten/komprimierten Daten direkt auf den Systembus 615 übertragen. Der Systembus 61 S kann ein ISA Bus, ein PCI Bus, ein anderer Standard-Computerbus oder ein anderer Bus sein. Der codierte/komprimierte Datenstrom auf dem Systembus 615 ist mit einem Audio/Video-Decoder-System 612 gekoppelt. Der codierte/komprimierte Datenstrom auf dem Systembus 615 ist mit dem Vidsyst-Decoder 619 verbunden. Innerhalb des Vidsyst-Decoders 619 unterwirft der System-Decoder 622 die codierten/komprimierten Daten einer Parser-Funktion und erzeugt codierte/komprimierte Videodaten, codierte/komprimierte Audiodaten und Zeittakt-Steuersignale. Der System-Decoder 622 ist mit der Audio/Video Sync-Schaltung 620 verbunden, um die Zeittakt-Steuersignale zu übertragen. Der System-Decoder 622 kann zur Übertragung der codierten/komprimierten Audiodaten entweder direkt mit einem Audio-Decoder 627 verbunden sein, oder er kann über den FIFO 641 und einen Speicher 691 zur temporären Speicherung von Rahmen der codierten/komprimierten Audiodaten vor deren Übertragung zu dem Audio-Decoder 627, indirekt mit dem Audio-Decoder 627 verbunden sein. Der System-Decoder 622 kann ebenfalls direkt mit einem Video-Decoder 621 verbunden sein, dem die codierten/komprimierten Videodaten übertragen werden. Alternativ dazu kann der System-Decoder 622 über einen FIFO 642 und einen Speicher 691 zur temporären Speicherung von Rahmen der codierten/komprimierten Videodaten vor deren Übertragung zu dem Video-Decoder 621, indirekt mit dem Video-Decoder 621 verbunden sein. In jedem Fall stellen die Steuersignale 631 für den FIFO 641, die Steuersignale 630 für den FIFO 642 und die Steuersignale für den Speicher 691 die Fähigkeit zum Überspringen oder Wiederholen von Rahmen oder Teilen davon von codierten/komprimierten Videodaten, von Paketen oder Teilen davon von codierten/komprimierten Audiodaten oder von Rahmen oder Teilen davon von decodierten/dekomprimierten Videodaten zur Verfügung.
- Wenn die Notwendigkeit besteht, mehr als eine Anzahl von vorbestimmten Rahmen in dem Speicher 691 oder dem FIFO 642 zu überspringen, kann durch den Vidsyst-Decoder 619 ein Interrupt-Signal erzeugt werden, um den MPEG-Bitstrom vom Beginn der Sequenz-Schicht erneut zu starten und den Audio/Video-Datenstrom wieder auszurichten. Wenn die Notwendigkeit besteht, mehr als eine Anzahl von vorbestimmten Rahmen zu wiederholen, kann ebenfalls ein Interrupt-Signal erzeugt werden, um den MPEG-Bitstrom vom Beginn der Sequenzschicht erneut zu starten und den Audio/Video-Datenstrom wieder auszurichten. Im Falle der Fig. 5A kann entweder ein mehrfaches "Wiederholen" -Signal 546 oder ein mehrfaches "Überspringen" -Signal 545 eine Interrupt- Anforderung erzeugen, die zu der CPU 613 gesendet wird. Andere Steuersignale für den FIFO 641 und 642 sowie den Speicher 691 werden von der Steuereinheit 62 erzeugt, die nicht dargestellt sind.
- Der Video-Decoder 621 in dem Vidsyst-Decoder 619 dient zum Dekomprimieren/Decodieren der codierten/komprimierten Videodaten zu einem decodierten/dekomprimierten Video-Datenstrom, der auf dem Bus 626 zur Verfügung gestellt wird. Die Grafik-Steuereinheit 625 empfängt den decodierten/dekomprimierten Video-Datenstrom und schreibt in Verbindung mit dem Video-Bildspeicher 624 ein Bild auf entweder das digitale Display 605 oder den CRT-Video-Monitor 606.
- Der Codierer/Dekodierer (Codec) 628 empfängt den decodierten/dekomprimierten Video-Datenstrom und wandelt diesen in ein Datenformat wie zum Beispiel YUV oder RGB um, das mit einem Fernseher 607 kompatibel ist. Der Codec 628 würde den decodierten/dekomprimierten Video-Datenstrom im vorliegenden Fall in ein NTSC- oder PAL-Format zur Wiedergabe auf einem Fernseher umwandeln, wobei zukünftige andere Format-Umwandlungen natürlich auch vorgenommen werden können.
- Der Audio-Decoder 627 decodiert/dekomprimiert den codierten/komprimierten Audio- Datenstrom zu decodierten/dekomprimierten analogen Audiosignalen, die zu einem analogen Verstärker (nicht gezeigt) oder direkt zu Lautsprechern 608 geführt werden. Alternativ dazu kann der Audio-Decoder 627 den codierten/komprimierten Audio-Datenstrom zu einem decodierten und dekomprimierten digitalen Audio-Datenstrom decodieren bzw. dekomprimieren, der über die Busse 609 einem digitalen Verstärker (nicht gezeigt) zugeführt wird.
- Die Audio/Video Sync-Schaltung 620, die oben mit Bezug auf Fig. 5A beschrieben wurde, empfängt die Zeittakt-Informationen (VPTS, APTS, SCR), die durch den System-Decoder 622 unter Anwendung einer Parser-Funktion aus dem codierten/komprimierten Bitstrom gewonnen werden. Als Antwort auf die Zeittakt-Informationen erzeugt die Audio/Video Sync-Schaltung 620 indirekt oder direkt Steuersignale für die FIFOs 641, 642, den Speicher 691 und den Video-Decoder 621, so dass ein oder mehrere Rahmen oder Teile davon der codierten/komprimierten oder decodierten/dekomprimierten Audio- oder Videodaten übersprungen oder wiederholt werden. Zum Wiederholen von Video-Rahmen oder Teilen davon bewirkt die Audio/Video Sync-Schaltung 620, dass der Video-Decoder 621 den gleichen Ausgang für eine gegebene Zeitperiode durch Steuersignal-Busse 630, 632 erzeugt. Zum Überspringen von Video-Rahmen oder Teilen davon bewirkt Audio/Video Sync-Schaltung 62, dass der FIFO 642 und der Speicher 691 eine vorbestimmte Anzahl von Adressen überspringt, um den geeigneten codierten/komprimierten Bitstrom an den Video-Decoder 621 anzulegen.
- Zum Überspringen von Audiodaten oder Teilen davon bewirkt in ähnlicher Weise die Audio/Video Sync-Schaltung 620, dass der FIFO 641 und der Speicher 691 eine vorbestimmte Anzahl von Adressen überspringen, um den geeigneten codierten/komprimierten Bitstrom für den Video-Decoder 621 zu erzeugen.
- Das Video-Basis-Betriebssystem (VBIOS - video basic input/output operating system) 623 initialisiert die Grafik-Steuereinheit 625 und den Vidsyst-Decoder 619. Das VBIOS 623 kann Softwarecodierte Befehle für den Vidsyst-Decoder 619 und die Grafik-Steuereinheit 625 enthalten. Die Befehle für den Vidsyst-Decoder 619 führen bestimmte Anweisumgen für die codierten/komprimierten Daten im Hinblick auf ein Einfrieren, Schrittschalten, Schnellvorlauf usw. durch, wie es in ähnlicher Weise von VHS-Videorecordern bekannt ist. Diese Befehle können auch bewirken, dass die Audio/Video Sync-Schaltung 620 Steuersignale erzeugt, die ferner bewirken, dass die FIFOs 642, 641 und der Video-Decoder 621 sowie der Audio-Decoder 627 eine Kombination von Rahmen von Video- oder Audiodaten oder Teile davon überspringen oder wiederholen.
- Fig. 6 zeigt ein Verfahren, wie Grafikdaten und codierte Daten einen Bus 615 und Display-Einrichtungen 605 bis 607 teilen. In diesem Fall hat die Grafik-Steuereinheit 625 einen internen Multiplexer (nicht gezeigt), um den decodierten/dekomprimierten Video- Datenstrom auf dem Bus 626 und die Grafikdaten auf dem Bus 615, die auf dem gleichen Display-Monitor 606 oder dem digitalen Display 605 wiederzugeben sind, zu kombinieren. In diesem Fall können die Grafikdaten ein Hintergrund-Fenster und andere Fenster auf der Darstellung erzeugen, während die decodierten/dekomprimierten Daten in einem anderen Fenster auf dem gleichen Display dargestellt werden würden. Der TV-Monitor kann beide Datentypen auch auf einem Display kombinieren.
- Fig. 7A zeigt ein vereinfachtes Blockschaltbild der Schaltung gemäß Fig. 6. In den Fig. 6 und 7A kann der Bus 615 zwischen den von dem Bus 615 in den Vidsyst-Decoder 619 übertragenen codierten Daten und den von dem Bus 615 in die Grafik-Steuereinheit 625 übertragenen Grafikdaten zeitlich gemultiplexed werden. In Fig. 7A und in Fig. 6 enthält die Grafik-Steuereinheit 625 einen internen Multiplexer, mit dem die Grafikdaten und die decodierten/dekomprimierten Videodaten auf die gleiche Display- Einrichtung gemultiplexed werden.
- Fig. 7B zeigt eine weitere Alternative zur Wiedergabe von Grafikdaten und decodierten/dekomprimierten Videodaten auf der gleichen Display-Einrichtung. In diesem Fall verschachtelt der Bus 615 die codierten Daten, Grafikdaten und decodierte/dekomprimierte Videodaten, die aus den codierten Daten erzeugt werden, zeitlich ineinander. Die codierten Daten werden auf den Bus 615 geführt und durch den Vidsyst-Decoder 719 empfangen, der einen bidirektionalen Anschluss aufweist. Der Vidsyst-Decoder 619 decodiert/dekomprimiert die codierten Daten und führt die decodierten/dekomprimierten Daten zurück auf den Bus 615. Die Grafik-Steuereinheit 625 empfängt sowohl die Grafikdaten, als auch die decodierten/dekomprimierten Daten, so dass diese intern verschachtelt (gemultiplexed) werden können, um sie nahezu simultan auf dem digitalen Display 605, dem Monitor 606 oder einem TV-Bildschirm 607 wiederzugeben. In diesem Fall enthält die Grafik-Steuereinheit 625 weitere Schaltkreise, um die zwei Datentypen nicht nur in geeigneter Weise zu verschachteln, sondern auch die Grafikdaten und die decodierten/dekomprimierten Videodaten in ein Signal zur Wiedergabe auf dem TV-Bildschirm 607 zu konvertieren.
- Fig. 7C zeigt eine weitere Alternative zur Wiedergabe von Grafikdaten und decodierten/dekomprimierten Videodaten auf der gleichen Anzeigeeinrichtung unter Verwendung externer Komponenten. In ähnlicher Weise wie in Fig. 7A werden auf dem Bus 615 codierte Daten und Grafikdaten zeitlich miteinander verschachtelt. Der Vidsyst-Decoder 619 empfängt die codierten Daten von dem Bus 615 und erzeugt einen decodierten/dekomprimierten Video-Datenstrom, der in Form von Pixeldaten mit einem Multiplexer 701 selektiv zu dem digitalen Display 605, als analoges Signal über einen Digital/Analog-Wandler 704 und einen Multiplexer 702 selektiv zu dem Monitor 606, sowie als NTSC- oder PAL-Signal über den NTSC/PAL-Codec 628 und einen Multiplexer 703 selektiv zu dem TV-Bildschirm 607 geführt wird. Die Grafik-Steuereinheit 726 empfängt Grafikdaten von dem Bus 615 und erzeugt Pixeldaten für das digitale Display 605, ein analoges Grafiksignal für den Monitor 606, ein NTSC/PAL-Signal für den TV-Bildschirm 607, Zeittakt/Steuersignale für die Displays 605 bis 607 und Multiplexer-Steuersignale für die Multiplexer 701 bis 703. Unter Anwendung der Multiplexer 701 bis 703 erzeugt die Grafik-Steuereinheit 626 in geeigneter Weise die Multiplexer-Steuersignale und bewirkt dadurch eine Zeitsteuerung, wenn die Grafikdaten und die decodierten/dekomprimierten Videodaten von dem Vidsyst-Decoder 619 auf einem der Displays 605 bis 607 wiedergegeben werden. Die internen Multiplexer in den Grafik-Steuereinheiten 625 und 725 arbeiten in ähnlicher Weise wie die externen Multiplexer 701 bis 703.
- Es wurde die bevorzugte Ausführungsform und verschiedene alternative Ausführungsformen der Erfindung im Detail beschrieben. Für einen Fachmann ist es jedoch klar, dass verschiedene Änderungen an diesen Ausführungsformen vorgenommen werden können, ohne den Schutzumfang der Erfindung zu verlassen.
Claims (9)
1. Multimedia-System mit einer Audio/Video-Decodier-/Dekomprimier-Schaltung
(220) zum Decodieren eines codierten/komprimierten Datenstroms (101), wobei die
Audio/Video-Decodier-/Dekomprimier-Schaltung umfasst:
einen Parser (210) zum Trennen des codierten/komprimierten Datenstroms (101) in
codierte/komprimierte Audiodaten (203), codierte/komprimierte Videodaten (202), einen
Audio-Zeitwert (106) sowie einen Video-Zeitwert (104);
einen Speicher (691) mit einem adressierbaren Speicherbereich, der mit dem Parser
(210) verbunden ist, der den adressierbaren Speicherbereich adressiert, um die
codierten/komprimierten Audiodaten (203), die codierten/komprimierten Videodaten (202)
und die decodierten/dekomprimierten Videodaten (107) selektiv in dem adressierbaren
Speicherbereich zu speichern und aus dem adressierbaren Speicherbereich auszulesen;
einen ersten, mit dem Speicher (691) verbundenen Decoder (621) zum Decodieren der
codierten/komprimierten Videodaten (202) und zum Erzeugen der
decodierten/dekomprimierten Videodaten (107); und
einen Synchronisator (620), der mit dem ersten Decoder (621) und dem Speicher (691)
verbunden ist, mit
Mitteln zum Vergleichen (414) des Video-Zeitwertes (104) mit dem Audio-Zeitwert
(106) und zum Bestimmen, wann die Differenz zwischen dem Video-Zeitwert (104) und
dem Audio-Zeitwert (106) einen vorbestimmten Schwellwert überschreitet,
dadurch gekennzeichnet, dass der Synchronisator (620) weiterhin Mittel (829) umfasst,
die mit dem ersten Decoder (621), dem Mittel zum Vergleichen (414) und dem Speicher
(691) verbunden sind, zum Steuern der Erzeugung der decodierten/dekomprimierten
Videodaten (107) durch den ersten Decoder (621), der für die Adressierung des
adressierbaren Speicherbereiches durch den Speicher (691) arbeitet, wenn das Ergebnis des
Vergleiches einen vorbestimmten Schwellwert überschreitet, um die Audio-Wiedergabe
und die Video-Darstellung zu synchronisieren.
2. Multimedia-System nach Anspruch 1, bei dem der Synchronisator umfasst:
Mittel zum Betreiben der Adressierung des adressierbaren Speicherbereiches, der die
decodierten/dekomprimierten Videodaten (107) enthält, durch den Speicher (691) durch
Wiederholen einer Folge von Adressen.
3. Multimedia-System nach Anspruch 1, bei dem der Synchronisator (620) umfasst:
Mittel zum Betreiben der Adressierung des adressierbaren Speicherbereiches, der die
codierten/komprimierten Videodaten (202) enthält, durch den Speicher (691) durch
Überspringen einer Folge von Adressen.
4. Multimedia-System nach Anspruch 1,
mit einem zweiten, mit dem Speicher (691) verbundenen Decoder (627) zum
Decodieren der codierten/komprimierten Audiodaten (203) zu decodierten/dekomprimierten
Audiodaten (108).
5. Multimedia-System nach Anspruch 1,
mit einer Grafik-Steuereinheit (625), die mit dem ersten Decoder (621) und einem
Video-Monitor (606) verbunden ist, zum Darstellen der decodierten/dekomprimierten
Videodaten (107) als Bild auf dem Video-Monitor (606).
6. Multimedia-System nach Anspruch 1,
mit einer Grafik-Steuereinheit (625), die mit dem ersten Decoder (621) und einem
digitalen Display (605) verbunden ist, zum Darstellen der decodierten/dekomprimierten
Videodaten (107) als Bild auf dem digitalen Display (605).
7. Multimedia-System nach Anspruch 1,
mit einem Codierer/Decodierer (628) für ein Fernsehsignal, der mit dem ersten Decoder
(621) und einem Fernsehbildschirm (607) verbunden ist, zum Erzeugen von
Fernsehdaten aus den decodierten/dekomprimierten Videodaten (107) und zum Darstellen der
Fernsehdaten als Bild auf dem Fernsehbildschirm (607).
8. Multimedia-System nach Anspruch 4,
mit einem Digital-/Analogwandler, der mit dem zweiten Decoder (627) verbunden ist,
zum Erzeugen eines analogen Audiosignals aus den decodierten/dekomprimierten
Audiodaten (108).
9. Multimedia-System nach Anspruch 8,
mit einem Audioverstärker, der mit dem Digital-/Analogwandler verbunden ist, zum
Verstärken der Größe des analogen Audiosignals.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/316,015 US5594660A (en) | 1994-09-30 | 1994-09-30 | Programmable audio-video synchronization method and apparatus for multimedia systems |
PCT/US1995/012476 WO1996010889A1 (en) | 1994-09-30 | 1995-09-29 | Programmable audio-video synchronization method and apparatus for multimedia systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69522697D1 DE69522697D1 (de) | 2001-10-18 |
DE69522697T2 true DE69522697T2 (de) | 2002-07-11 |
Family
ID=23227097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69522697T Expired - Lifetime DE69522697T2 (de) | 1994-09-30 | 1995-09-29 | Verfahren und vorrichtung zur programmierbaren ton-/videosynchronisierung für multimediasysteme |
Country Status (7)
Country | Link |
---|---|
US (1) | US5594660A (de) |
EP (1) | EP0783824B1 (de) |
JP (1) | JP4066058B2 (de) |
KR (1) | KR970706699A (de) |
AT (1) | ATE205657T1 (de) |
DE (1) | DE69522697T2 (de) |
WO (1) | WO1996010889A1 (de) |
Families Citing this family (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09501275A (ja) | 1993-04-16 | 1997-02-04 | アヴィッド・テクノロジー・インコーポレーテッド | 画像データストリームをこれに対応する音声データストリームと同期させる方法及び装置 |
KR960003651B1 (ko) * | 1993-12-24 | 1996-03-21 | 재단법인 한국전자통신연구소 | 고속 로컬버스용 통합 멀티미디어 보드회로 |
US5598352A (en) * | 1994-09-30 | 1997-01-28 | Cirrus Logic, Inc. | Method and apparatus for audio and video synchronizing in MPEG playback systems |
US5764918A (en) * | 1995-01-23 | 1998-06-09 | Poulter; Vernon C. | Communications node for transmitting data files over telephone networks |
KR960036641A (ko) * | 1995-03-21 | 1996-10-28 | 김광호 | 저속의 비디오비트열을 복호하는 고속용 복호화장치 |
KR0152916B1 (ko) * | 1995-04-11 | 1998-10-15 | 문정환 | 데이타 동기화장치 및 방법 |
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 |
US6122668A (en) * | 1995-11-02 | 2000-09-19 | Starlight Networks | Synchronization of audio and video signals in a live multicast in a LAN |
US5784572A (en) * | 1995-12-29 | 1998-07-21 | Lsi Logic Corporation | Method and apparatus for compressing video and voice signals according to different standards |
US5715176A (en) * | 1996-01-23 | 1998-02-03 | International Business Machines Corporation | Method and system for locating a frame position in an MPEG data stream |
US6041345A (en) * | 1996-03-08 | 2000-03-21 | Microsoft Corporation | Active stream format for holding multiple media streams |
US5844575A (en) * | 1996-06-27 | 1998-12-01 | Intel Corporation | Video compression interface |
US6002441A (en) * | 1996-10-28 | 1999-12-14 | National Semiconductor Corporation | Audio/video subprocessor method and structure |
JPH10136380A (ja) * | 1996-10-31 | 1998-05-22 | Matsushita Electric Ind Co Ltd | 動画像符号化装置、および方法 |
US7929197B2 (en) | 1996-11-05 | 2011-04-19 | Qualcomm Mems Technologies, Inc. | System and method for a MEMS device |
US5951646A (en) * | 1996-11-25 | 1999-09-14 | America Online, Inc. | System and method for scheduling and processing image and sound data |
EP2175659B1 (de) | 1996-12-04 | 2012-11-14 | Panasonic Corporation | Optische Platte für hochauflösende und dreidimensionale Videoaufzeichnung, Wiedergabegerät für optische Platten, und Aufzeichnungsgerät für optische Platten |
US5951690A (en) * | 1996-12-09 | 1999-09-14 | Stmicroelectronics, Inc. | Synchronizing an audio-visual stream synchronized to a clock with a video display that is synchronized to a different clock |
US6008777A (en) * | 1997-03-07 | 1999-12-28 | Intel Corporation | Wireless connectivity between a personal computer and a television |
US6209028B1 (en) | 1997-03-21 | 2001-03-27 | Walker Digital, Llc | System and method for supplying supplemental audio information for broadcast television programs |
US6803964B1 (en) * | 1997-03-21 | 2004-10-12 | International Business Machines Corporation | Method and apparatus for processing digital 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 |
US6310652B1 (en) * | 1997-05-02 | 2001-10-30 | Texas Instruments Incorporated | Fine-grained synchronization of a decompressed audio stream by skipping or repeating a variable number of samples from a frame |
EP0880246A3 (de) * | 1997-05-15 | 1999-12-01 | Matsushita Electric Industrial Co., Ltd. | Dekoder für komprimierte Signale und Dekoder für Audiosignale |
US6034731A (en) * | 1997-08-13 | 2000-03-07 | Sarnoff Corporation | MPEG frame processing method and apparatus |
JPH1168576A (ja) * | 1997-08-22 | 1999-03-09 | Hitachi Ltd | データ伸張装置 |
KR100321020B1 (ko) * | 1997-08-29 | 2002-01-18 | 모리시타 요이찌 | 고해상도 및 일반 영상 기록용 광디스크, 광디스크 재생장치, 광디스크 기록 장치 및 재생 제어 정보 생성 장치 |
US6195403B1 (en) | 1997-09-26 | 2001-02-27 | International Business Machines Corporation | Pulse generator for a voltage controlled oscillator |
US6078594A (en) * | 1997-09-26 | 2000-06-20 | International Business Machines Corporation | Protocol and procedure for automated channel change in an MPEG-2 compliant datastream |
US6356567B2 (en) | 1997-09-26 | 2002-03-12 | International Business Machines Corporation | Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream |
US6229801B1 (en) | 1997-09-26 | 2001-05-08 | International Business Machines Corporation | Delivery of MPEG2 compliant table data |
US6088357A (en) * | 1997-09-26 | 2000-07-11 | International Business Machines Corporation | Auxiliary transport assist processor especially for an MPEG-2 compliant decoder |
US6091772A (en) * | 1997-09-26 | 2000-07-18 | International Business Machines, Corporation | Black based filtering of MPEG-2 compliant table sections |
US6275507B1 (en) * | 1997-09-26 | 2001-08-14 | International Business Machines Corporation | Transport demultiplexor for an MPEG-2 compliant data stream |
US6072771A (en) * | 1997-09-26 | 2000-06-06 | International Business Machines Corporation | Detection of errors in table data |
US6181706B1 (en) | 1997-09-26 | 2001-01-30 | International Business Machines Corporation | Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register |
US6115422A (en) * | 1997-09-26 | 2000-09-05 | International Business Machines Corporation | Protocol and procedure for time base change in an MPEG-2 compliant datastream |
US6061747A (en) * | 1997-10-16 | 2000-05-09 | Lsi Logic Corporation | System for sending data from-and-to a computer monitor using a high speed serial line |
US6085257A (en) * | 1997-10-16 | 2000-07-04 | Lsi Logic Corporation | Enhanced receiving chip for a computer monitor |
JPH11136671A (ja) * | 1997-10-31 | 1999-05-21 | Fujitsu Ltd | 動画像復号方法及び装置並びに動画像再生装置 |
JP3063841B2 (ja) * | 1997-11-26 | 2000-07-12 | 日本電気株式会社 | オーディオ・ビデオ同期再生装置 |
KR100301826B1 (ko) * | 1997-12-29 | 2001-10-27 | 구자홍 | 비디오디코더 |
US6081299A (en) * | 1998-02-20 | 2000-06-27 | International Business Machines Corporation | Methods and systems for encoding real time multimedia data |
US6205223B1 (en) * | 1998-03-13 | 2001-03-20 | Cirrus Logic, Inc. | Input data format autodetection systems and methods |
US6249319B1 (en) * | 1998-03-30 | 2001-06-19 | International Business Machines Corporation | Method and apparatus for finding a correct synchronization point within a data stream |
US8306170B2 (en) * | 1998-03-31 | 2012-11-06 | International Business Machines Corporation | Digital audio/video clock recovery algorithm |
WO1999052006A2 (en) | 1998-04-08 | 1999-10-14 | Etalon, Inc. | Interferometric modulation of radiation |
US8928967B2 (en) | 1998-04-08 | 2015-01-06 | Qualcomm Mems Technologies, Inc. | Method and device for modulating light |
US6697632B1 (en) | 1998-05-07 | 2004-02-24 | Sharp Laboratories Of America, Inc. | Multi-media coordinated delivery system and method |
US6334026B1 (en) * | 1998-06-26 | 2001-12-25 | Lsi Logic Corporation | On-screen display format reduces memory bandwidth for time-constrained on-screen display systems |
US6016166A (en) * | 1998-08-31 | 2000-01-18 | Lucent Technologies Inc. | Method and apparatus for adaptive synchronization of digital video and audio playback in a multimedia playback system |
US6349286B2 (en) * | 1998-09-03 | 2002-02-19 | Siemens Information And Communications Network, Inc. | System and method for automatic synchronization for multimedia presentations |
US6509932B1 (en) * | 1998-10-20 | 2003-01-21 | Divio, Inc. | Method and apparatus for providing audio in a digital video system |
US11109114B2 (en) | 2001-04-18 | 2021-08-31 | Grass Valley Canada | Advertisement management method, system, and computer program product |
CN1182716C (zh) * | 1999-05-20 | 2004-12-29 | 皇家菲利浦电子有限公司 | 发送和接收编码图像的方法及其装置 |
US7594166B1 (en) * | 1999-05-20 | 2009-09-22 | Microsoft Corporation | Dynamic web page behaviors |
CA2313979C (en) * | 1999-07-21 | 2012-06-12 | Thomson Licensing Sa | Synchronizing apparatus for a compressed audio/video signal receiver |
WO2003007049A1 (en) | 1999-10-05 | 2003-01-23 | Iridigm Display Corporation | Photonic mems and structures |
US8429699B2 (en) | 1999-12-14 | 2013-04-23 | Arturo A. Rodriguez | Systems and methods for resource-adaptive processing of scaled video and graphics |
GB0000874D0 (en) | 2000-01-14 | 2000-03-08 | Koninkl Philips Electronics Nv | Latency handling for interconnected devices |
US6883135B1 (en) * | 2000-01-28 | 2005-04-19 | Microsoft Corporation | Proxy server using a statistical model |
US6778493B1 (en) | 2000-02-07 | 2004-08-17 | Sharp Laboratories Of America, Inc. | Real-time media content synchronization and transmission in packet network apparatus and method |
SE0001616L (sv) * | 2000-05-03 | 2001-11-04 | Nokia Corp | Push-sätt och -system |
SE517245C2 (sv) * | 2000-09-14 | 2002-05-14 | Ericsson Telefon Ab L M | Synkronisering av audio- och videosignaler |
JP3556163B2 (ja) * | 2000-09-25 | 2004-08-18 | 富士通日立プラズマディスプレイ株式会社 | 表示装置 |
FR2815805B1 (fr) * | 2000-10-23 | 2005-09-02 | Telediffusion De France Tdf | Procede de synchronisation de signaux numeriques |
ITTO20010525A1 (it) * | 2001-06-01 | 2002-12-01 | Telecom Italia Lab Spa | Procedimento di trasmissione, ad esempio per la trasmissione ripartita di flussi audiovisivi o multimediali, sistema di trasmissione, trasme |
CN1278549C (zh) * | 2001-10-18 | 2006-10-04 | 松下电器产业株式会社 | 声像再现装置和声像再现方法 |
US9497452B2 (en) * | 2002-01-22 | 2016-11-15 | Broadcom Corporation | System and method of transmission and reception of video using compressed differential time stamps |
KR100423129B1 (ko) * | 2002-02-08 | 2004-03-16 | 주식회사 휴맥스 | 디지털 방송수신기에서의 출력 타이밍 조절방법 |
US7007031B2 (en) * | 2002-04-01 | 2006-02-28 | Broadcom Corporation | Memory system for video decoding system |
US7333519B2 (en) * | 2002-04-23 | 2008-02-19 | Gateway Inc. | Method of manually fine tuning audio synchronization of a home network |
GB0209674D0 (en) * | 2002-04-27 | 2002-06-05 | Pace Micro Tech Plc | Method of data synchronisation |
JP3857611B2 (ja) * | 2002-05-20 | 2006-12-13 | 富士通株式会社 | データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置 |
US20040047611A1 (en) * | 2002-09-06 | 2004-03-11 | Funai Electric Co., Ltd. | Optical disc apparatus |
JP3731658B2 (ja) * | 2002-09-06 | 2006-01-05 | 船井電機株式会社 | 光ディスク再生装置 |
KR20040023082A (ko) * | 2002-09-10 | 2004-03-18 | 엘지전자 주식회사 | 광디스크 장치에서의 정지영상 디스플레이방법 |
KR100469278B1 (ko) * | 2002-12-26 | 2005-02-02 | 엘지전자 주식회사 | Dtv 시스템의 디코더 asic |
FR2850817B1 (fr) * | 2003-01-31 | 2005-06-03 | Cit Alcatel | Dispositif de traitement de donnees audio et video pour une communication multimedia via un reseau local etabli au sein d'un reseau asynchrone |
US8290353B2 (en) | 2003-02-27 | 2012-10-16 | Panasonic Corporation | Data processing device and method |
US6784811B1 (en) * | 2003-03-31 | 2004-08-31 | Scopus Network Technologies Ltd. | System and a method for an ultra-low delay MPEG-syntax video codec |
US20040255338A1 (en) * | 2003-06-13 | 2004-12-16 | Apple Computer, Inc. | Interface for sending synchronized audio and video data |
JP3883986B2 (ja) * | 2003-06-17 | 2007-02-21 | 三洋電機株式会社 | デジタルテレビ放送受信機 |
EP1511204A3 (de) * | 2003-08-28 | 2005-10-05 | Sony Deutschland GmbH | Verfahren zur Synchronisierung packetbasierter digitaler Datenströme |
JP4612906B2 (ja) * | 2003-09-12 | 2011-01-12 | キヤノン株式会社 | シーケンスを送信する方法、装置、及びコンピュータ・プログラム |
US7570304B1 (en) * | 2003-11-21 | 2009-08-04 | Sigma Designs, Inc. | Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data |
US7584221B2 (en) * | 2004-03-18 | 2009-09-01 | Microsoft Corporation | Field weighting in text searching |
JP4096915B2 (ja) * | 2004-06-01 | 2008-06-04 | 株式会社日立製作所 | デジタル情報再生装置及び方法 |
KR100608056B1 (ko) * | 2004-06-05 | 2006-08-02 | 삼성전자주식회사 | 멀티미디어 컨텐츠 재생 장치, 재생 방법, 생성 장치,생성 방법, 및 그 멀티미디어 컨텐츠를 저장한 저장 매체 |
JP4606070B2 (ja) * | 2004-06-11 | 2011-01-05 | ソニー株式会社 | データ処理装置およびデータ処理方法、プログラムおよびプログラム記録媒体、並びにデータ記録媒体 |
KR100621581B1 (ko) * | 2004-07-15 | 2006-09-13 | 삼성전자주식회사 | 기초 계층을 포함하는 비트스트림을 프리디코딩,디코딩하는 방법, 및 장치 |
US9197857B2 (en) * | 2004-09-24 | 2015-11-24 | Cisco Technology, Inc. | IP-based stream splicing with content-specific splice points |
US8966551B2 (en) | 2007-11-01 | 2015-02-24 | Cisco Technology, Inc. | Locating points of interest using references to media frames within a packet flow |
US8878825B2 (en) | 2004-09-27 | 2014-11-04 | Qualcomm Mems Technologies, Inc. | System and method for providing a variable refresh rate of an interferometric modulator display |
US7679627B2 (en) * | 2004-09-27 | 2010-03-16 | Qualcomm Mems Technologies, Inc. | Controller and driver features for bi-stable display |
US7606793B2 (en) * | 2004-09-27 | 2009-10-20 | Microsoft Corporation | System and method for scoping searches using index keys |
US7827181B2 (en) * | 2004-09-30 | 2010-11-02 | Microsoft Corporation | Click distance determination |
US7761448B2 (en) * | 2004-09-30 | 2010-07-20 | Microsoft Corporation | System and method for ranking search results using click distance |
US7739277B2 (en) * | 2004-09-30 | 2010-06-15 | Microsoft Corporation | System and method for incorporating anchor text into ranking search results |
US7716198B2 (en) * | 2004-12-21 | 2010-05-11 | Microsoft Corporation | Ranking search results using feature extraction |
GB0428155D0 (en) * | 2004-12-22 | 2005-01-26 | British Telecomm | Buffer underflow prevention |
GB0428160D0 (en) * | 2004-12-22 | 2005-01-26 | British Telecomm | Variable bit rate processing |
US20060200460A1 (en) * | 2005-03-03 | 2006-09-07 | Microsoft Corporation | System and method for ranking search results using file types |
US7792833B2 (en) * | 2005-03-03 | 2010-09-07 | Microsoft Corporation | Ranking search results using language types |
US7612832B2 (en) * | 2005-03-29 | 2009-11-03 | Microsoft Corporation | Method and system for video clip compression |
KR20060105890A (ko) * | 2005-03-31 | 2006-10-12 | 삼성전자주식회사 | 디지털 방송 수신 장치 및 그 장치에서의 동기화 처리 방법 |
US7996699B2 (en) | 2005-04-11 | 2011-08-09 | Graphics Properties Holdings, Inc. | System and method for synchronizing multiple media devices |
KR100728679B1 (ko) * | 2005-04-29 | 2007-06-15 | 엘지전자 주식회사 | 자막싱크 보정기능이 구비된 이동통신 단말기 및 동작방법 |
US20060253279A1 (en) * | 2005-05-04 | 2006-11-09 | Sung Chih-Ta S | Method and apparatus of wireless audio playback system |
US7599917B2 (en) * | 2005-08-15 | 2009-10-06 | Microsoft Corporation | Ranking search results using biased click distance |
US8095565B2 (en) | 2005-12-05 | 2012-01-10 | Microsoft Corporation | Metadata driven user interface |
US7916980B2 (en) | 2006-01-13 | 2011-03-29 | Qualcomm Mems Technologies, Inc. | Interconnect structure for MEMS device |
US8306391B2 (en) | 2006-05-08 | 2012-11-06 | Thomson Licensing | Method for resuming content reproduction across devices |
US8379735B2 (en) * | 2006-05-15 | 2013-02-19 | Microsoft Corporation | Automatic video glitch detection and audio-video synchronization assessment |
US9420332B2 (en) * | 2006-07-06 | 2016-08-16 | Qualcomm Incorporated | Clock compensation techniques for audio decoding |
US20080031593A1 (en) * | 2006-08-07 | 2008-02-07 | Shih-Fang Chuang | Multi-layer structure unit for recording audio/video frame data and its operation method |
JP4775208B2 (ja) * | 2006-09-21 | 2011-09-21 | ソニー株式会社 | 再生方法、再生プログラムおよび再生装置 |
US20080085124A1 (en) * | 2006-10-10 | 2008-04-10 | Lsi Logic Corporation | Clock generation with minimum number of crystals in a multimedia system |
US8576922B2 (en) | 2007-06-10 | 2013-11-05 | Apple Inc. | Capturing media in synchronized fashion |
US20090106221A1 (en) * | 2007-10-18 | 2009-04-23 | Microsoft Corporation | Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features |
US7840569B2 (en) * | 2007-10-18 | 2010-11-23 | Microsoft Corporation | Enterprise relevancy ranking using a neural network |
US9348912B2 (en) * | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
JP5106039B2 (ja) * | 2007-10-24 | 2012-12-26 | パナソニック株式会社 | 画像音声同期再生装置 |
WO2009076723A1 (en) * | 2007-12-19 | 2009-06-25 | Colin Simon | Device and method for synchronisation of digital video and audio streams to media presentation devices |
US8812493B2 (en) * | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
US8965026B2 (en) * | 2011-06-10 | 2015-02-24 | Canopy Co. | Method and apparatus for remote capture of audio in a handheld device |
US8793706B2 (en) | 2010-12-16 | 2014-07-29 | Microsoft Corporation | Metadata-based eventing supporting operations on data |
US9398322B2 (en) | 2011-04-27 | 2016-07-19 | Time Warner Cable Enterprises Llc | Multi-lingual audio streaming |
SG2014008775A (en) | 2011-08-16 | 2014-04-28 | Destiny Software Productions Inc | Script-based video rendering |
US9282360B2 (en) * | 2012-01-24 | 2016-03-08 | Spencer Shanson | System and method for maintaining integrity of audio data in a multiplexed audio/video stream over a low-latency network connection |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US9998750B2 (en) | 2013-03-15 | 2018-06-12 | Cisco Technology, Inc. | Systems and methods for guided conversion of video from a first to a second compression format |
CN104581202B (zh) | 2013-10-25 | 2018-04-27 | 腾讯科技(北京)有限公司 | 音视频同步方法与系统及编码装置和解码装置 |
CN103747316B (zh) * | 2013-12-23 | 2018-04-06 | 乐视致新电子科技(天津)有限公司 | 一种音视频同步方法和电子设备 |
CN106658065B (zh) * | 2015-10-30 | 2021-10-22 | 中兴通讯股份有限公司 | 音视频同步方法、装置及系统 |
CN105657512A (zh) * | 2016-01-29 | 2016-06-08 | 四川长虹电器股份有限公司 | 一种数字视频音画失步监测方法 |
US10158905B2 (en) | 2016-09-14 | 2018-12-18 | Dts, Inc. | Systems and methods for wirelessly transmitting audio synchronously with rendering of video |
US10063907B1 (en) * | 2017-06-06 | 2018-08-28 | Polycom, Inc. | Differential audio-video synchronization |
CN108235099B (zh) * | 2018-01-12 | 2021-06-15 | 瑞声科技(新加坡)有限公司 | 一种媒体与振动的同步播放方法及其装置 |
TWI743774B (zh) * | 2019-07-18 | 2021-10-21 | 瑞昱半導體股份有限公司 | 音訊與視訊同步方法與相關的裝置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3732111A1 (de) * | 1987-09-24 | 1989-04-06 | Bosch Gmbh Robert | Verfahren zur laufzeitanpassung von video- und audiosignalen an ein referenzsignal |
EP0418396B1 (de) * | 1989-03-16 | 1998-06-03 | Fujitsu Limited | Video/audiomultiplexübertragungssystem |
JP2865782B2 (ja) * | 1990-03-16 | 1999-03-08 | 富士通株式会社 | 非同期伝送用codec装置 |
CA2062200A1 (en) * | 1991-03-15 | 1992-09-16 | Stephen C. Purcell | Decompression processor for video applications |
US5347322A (en) * | 1991-07-09 | 1994-09-13 | Rebo Research | Video storage and synchronization |
US5375068A (en) * | 1992-06-03 | 1994-12-20 | Digital Equipment Corporation | Video teleconferencing for networked workstations |
US5287182A (en) * | 1992-07-02 | 1994-02-15 | At&T Bell Laboratories | Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks |
CA2107727C (en) * | 1992-10-07 | 1999-06-01 | Hiroaki Ueda | Synchronous compression and reconstruction system |
EP0598295B1 (de) * | 1992-11-17 | 1998-10-14 | Matsushita Electric Industrial Co., Ltd. | Video- und Audiosignalmultiplex- und -trennvorrichtungen |
JP3255308B2 (ja) * | 1992-12-18 | 2002-02-12 | ソニー株式会社 | データ再生装置 |
US5396497A (en) * | 1993-02-26 | 1995-03-07 | Sony Corporation | Synchronization of audio/video information |
US5381181A (en) * | 1993-05-13 | 1995-01-10 | Thomson Consumer Electronics, Inc. | Clock recovery apparatus as for a compressed video signal |
US5351092A (en) * | 1993-07-23 | 1994-09-27 | The Grass Valley Group, Inc. | Synchronization of digital audio with digital video |
US5467139A (en) * | 1993-09-30 | 1995-11-14 | Thomson Consumer Electronics, Inc. | Muting apparatus for a compressed audio/video signal receiver |
US5430485A (en) * | 1993-09-30 | 1995-07-04 | Thomson Consumer Electronics, Inc. | Audio/video synchronization in a digital transmission system |
-
1994
- 1994-09-30 US US08/316,015 patent/US5594660A/en not_active Expired - Lifetime
-
1995
- 1995-09-29 DE DE69522697T patent/DE69522697T2/de not_active Expired - Lifetime
- 1995-09-29 WO PCT/US1995/012476 patent/WO1996010889A1/en active IP Right Grant
- 1995-09-29 AT AT95935676T patent/ATE205657T1/de not_active IP Right Cessation
- 1995-09-29 EP EP95935676A patent/EP0783824B1/de not_active Expired - Lifetime
- 1995-09-29 JP JP51203996A patent/JP4066058B2/ja not_active Expired - Lifetime
-
1997
- 1997-03-31 KR KR1019970702110A patent/KR970706699A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP0783824B1 (de) | 2001-09-12 |
WO1996010889A1 (en) | 1996-04-11 |
US5594660A (en) | 1997-01-14 |
JPH10507597A (ja) | 1998-07-21 |
KR970706699A (ko) | 1997-11-03 |
ATE205657T1 (de) | 2001-09-15 |
JP4066058B2 (ja) | 2008-03-26 |
DE69522697D1 (de) | 2001-10-18 |
EP0783824A1 (de) | 1997-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69522697T2 (de) | Verfahren und vorrichtung zur programmierbaren ton-/videosynchronisierung für multimediasysteme | |
JP3864346B2 (ja) | Mpeg再生システムにおいてオーディオとビデオを同期するための方法及び装置 | |
US5596420A (en) | Auto latency correction method and apparatus for MPEG playback system | |
US6058141A (en) | Varied frame rate video | |
DE69512445T2 (de) | Audio-Video Dekodierungssystem und Verfahren | |
DE69529314T2 (de) | Digitale Aufnahme- und Wiedergabevorrichtung | |
DE69830752T2 (de) | Verfahren und Anlage zur Aufnahme vielfachprotokoll-komprimierter Ton- und Videodaten | |
DE69428830T2 (de) | Datendemultiplexer | |
DE69512548T2 (de) | Verfahren und Vorrichtung zur Vermeidung von wiederholenden Zufallsfehlern in Transformationskoeffizienten von Bewegtbildsignalen | |
DE69535553T2 (de) | Videokompression | |
DE69327031T2 (de) | Editiergerät für kodierte Videodaten und Dekodiergerät für editierte kodierte Videodaten | |
DE602004000879T2 (de) | Bildwiedergabegerät | |
DE69417795T2 (de) | Synchronisierung von Ton-und Videoinformation | |
DE69629921T2 (de) | Trickwiedergabesteuerung für vorkodiertes video | |
AU683056B2 (en) | Adaptive video decompression | |
DE60103510T2 (de) | Verfahren und vorrichtung zur gleichzeitigen aufnahme und wiedergabe von zwei verschiedenen videoprogrammen | |
DE69807866T2 (de) | Video- und audiosignalverarbeitung | |
DE69734548T2 (de) | Verfahren und Vorrichtung zur magnetischen Wiedergabe | |
US6122020A (en) | Frame combining apparatus | |
DE69518138T2 (de) | Vorrichtung und Verfahren zur Kodierung und/oder Dekodierung von Daten | |
US6577256B2 (en) | Image-coding apparatus and image-coding method, data-coding apparatus and data-coding method, data-recording apparatus and data-recording medium | |
DE69510127T2 (de) | Vorrichtung zum Aufnehmen und Wiedergeben eines komprimierten Fernsehsignals | |
DE102005035216A1 (de) | Playback-Vorrichtung zur Synchronisation eines Playback eines Video-Signalanteils und eines Audio-Signalanteils eines AV-Signals und Verfahren dafür | |
US7006570B2 (en) | Video signal coding method and video signal encoder | |
DE10323189B4 (de) | Manipulationsanordnung und Verfahren zur Manipulation für MPEG-2 Datenströme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |