DE102005012668B4 - Frame error detection and correction method for digital video - Google Patents
Frame error detection and correction method for digital video Download PDFInfo
- Publication number
- DE102005012668B4 DE102005012668B4 DE200510012668 DE102005012668A DE102005012668B4 DE 102005012668 B4 DE102005012668 B4 DE 102005012668B4 DE 200510012668 DE200510012668 DE 200510012668 DE 102005012668 A DE102005012668 A DE 102005012668A DE 102005012668 B4 DE102005012668 B4 DE 102005012668B4
- Authority
- DE
- Germany
- Prior art keywords
- frames
- video
- frame
- stream
- audio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
Abstract
Verfahren zur Erkennung fehlender Rahmen in Audio- und Videodatenströmen, die für die Übertragung oder die Speicherung zu einem Systemstrom gebunden sind und in einem Format der MPEG-Protokollfamilie oder verwandter Formate vorliegen, so wie zur Reparatur eines solchen durch fehlende Rahmen beschädigten und aus Video- und Audiodatenströmen gebundenen Datenstroms, dadurch gekennzeichnet, dass zur Erkennung fehlender Rahmen a) die für alle Rahmen eines Datenstroms gleiche Abspieldauer der Rahmen der zu untersuchenden Datenströme aus den Steuerparametern des jeweiligen Datenstroms berechnet wird, wozu bei Videorahmen deren Abspieldauer aus der im Feld „FRAME RATE” im „SEQUENCE HEADER” des dazugehörenden Videodatenstroms kodierten Framerate berechnet wird, und wozu bei Audiorahmen deren Abspieldauer unter Verwendung der dem Audiokodierungsformat des Datenstroms fest zugeordneten Framerate berechnet wird, dazu kann das Audiokodierungsformat ermittelt werden, in dem abgeprüft wird, ob der Wert des Feldes „STREAM-ID” und, wo erforderlich der Wert des Feldes „SUBSTREAM-ID” im „PACKETIZED ELEMENTARY STREAM” sich innerhalb...Method for detecting missing frames in audio and video data streams that are bound to a system stream for transmission or storage and are in a format of the MPEG protocol family or related formats, as well as for repairing one damaged by missing frames and made from video and audio data streams bound data stream, characterized in that for the detection of missing frames a) the same playback duration for all frames of a data stream of the frames of the data streams to be examined is calculated from the control parameters of the respective data stream, including the playback time in the field "FRAME RATE ”In the“ SEQUENCE HEADER ”of the associated video data stream encoded frame rate is calculated, and for which purpose the playback time for audio frames is calculated using the frame rate permanently assigned to the audio coding format of the data stream rt of the "STREAM-ID" field and, where necessary, the value of the "SUBSTREAM-ID" field in the "PACKETIZED ELEMENTARY STREAM" is within ...
Description
Diese Erfindung betrifft ein Verfahren zur in Echtzeit erfolgenden oder zur nachträglichen Detektion von Abschnitten, in denen bei der digitalen Aufzeichnung oder Übertragung von Bild- oder/und Tonsequenzen mittels digitaler, komprimierter Videosystemströme, bestehend aus miteinander verbundenen Bewegtbild- und Tonspuren Teile dieser Sequenzen verloren gegangen sind. Diese Erfindung betrifft weiterhin ein Verfahren zur Verbesserung derartiger digitaler Videosystemströme bei denen verlorene Bild- oder/und Tonsequenzen festgestellt werden.This invention relates to a method of real-time or retrospective detection of portions in which portions of these sequences have been lost in the digital recording or transmission of video and / or audio sequences using digital compressed video system streams consisting of interlinked motion picture and sound tracks are. This invention further relates to a method for improving such digital video system streams in which lost picture or / and sound sequences are detected.
Die digitale Aufzeichnung von Videodaten einschließlich der dazu gehörenden Audiodaten erzeugt große Datenmengen. Die zu deren Speicherung für Produkte der Unterhaltungselektronik zur Verfügung stehenden Massenspeicher (z. B. Festplatte oder optische Medien wie DVD) verfügen in der Regel weder über eine ausreichende Zugriffsgeschwindigkeit, noch über die notwendige Speicherdichte, um eine unkomprimierte Speicherung von digitalen Videodaten und ggf. auch der dazu gehörenden Audiodaten bei einer ausreichenden Auflösung zu erlauben. Daher müssen digital aufgezeichnete Videodaten komprimiert werden, bevor sie gespeichert oder übertragen werden. Dieses Komprimieren sowohl von Video- als auch von Audiodaten bezeichnet man als Encodieren. International standardisiert für diesen Zweck wurden die Protokolle und Formate der Motion Pictures Expert Group (MPEG, z. B. MPEG 1, MPEG 2, oder MPEG 4). Industriestandards, die von diesen Protokollen mit nur geringen Änderungen abgeleitet wurden, sind z. B. DivX (basierend auf MPEG 4) oder das DVD-Whitebook (Standard für DVD's, basierend auf MPEG 2). Größere Unterschiede bestehen z. B. zu Quicktime und MJPEG, obwohl auch diese Formate teilweise auf den MPEG-Standards beruhen oder im Rahmen der Produktverbesserung Eigenschaften der MPEG-Standards implementiert haben. Die Bezeichnungen der genannten Standards oder Industriestandards sind teilweise eingetragene Warenzeichen.The digital recording of video data including the associated audio data generates large amounts of data. The mass storage devices available for their storage for consumer electronics products (eg hard disk or optical media such as DVDs) usually have neither sufficient access speed nor the necessary storage density to allow uncompressed storage of digital video data and, if necessary, allow the associated audio data at a sufficient resolution. Therefore, digitally recorded video data must be compressed before being stored or transmitted. This compression of both video and audio data is called encoding. Internationally standardized for this purpose were the protocols and formats of the Motion Pictures Expert Group (MPEG, eg MPEG 1, MPEG 2, or MPEG 4). Industry standards derived from these protocols with only minor changes are e.g. DivX (based on MPEG 4) or the DVD Whitebook (standard for DVD's based on MPEG 2). Larger differences exist z. To Quicktime and MJPEG, although these formats are partly based on the MPEG standards or implemented as part of the product improvement properties of the MPEG standards. The names of the said standards or industry standards are partially registered trademarks.
Kern der Videodatenformate ist das Kompressionsverfahren. Daneben legen die Videodatenformate auch fest, wie die zu einem Video gehörenden Bild- und Audiodaten in einer Datei (für das Abspeichern) oder in einem Datenstrom (für die Übertragung) miteinander verbunden (gemultiplext) werden, und definieren zusätzliche Steuerinformationen.The core of the video data formats is the compression method. In addition, the video data formats also determine how the video and audio data associated with a video are interconnected (multiplexed) in a file (for storage) or in a data stream (for transmission), and define additional control information.
Bei den MPEG Formaten und den meisten anderen digitalen Videoformaten werden die Video- und Audiodaten zunächst voneinander getrennt als eigene Video- und Audiodatenströme digitalisiert bzw. digital aufgezeichnet (oder bei Hardwareencodern zumindest zwischengespeichert) und encodiert. Beim Encodieren werden der Video- und der Audiodatenstrom wiederum in einzelne Abschnitte, die als Rahmen (engl. Frames) bezeichnet werden, unterteilt. Dabei entspricht ein Videoframe in der Regel einem Bild des Films, der als Video aufgezeichnet wurde, während ein Audioframe einer Tonsequenz fester Länge entspricht. Die Dauer der in einem Audioframe enthaltenen Tonsequenz ist je nach dem verwendeten Audioformat unterschiedlich, sie bewegt sich jedoch in der Regel im zweistelligen Millisekundenbereich.In the MPEG formats and most other digital video formats, the video and audio data are first separated from each other as their own video and audio data streams digitized or digitally recorded (or at least cached in hardware encoders) and encoded. When encoding, the video and audio streams are subdivided into separate sections called frames. A video frame is usually an image of the movie that was recorded as video, while an audio frame is a fixed length sound sequence. The duration of the audio sequence contained in an audio frame differs depending on the audio format used, but it usually ranges in the tens of milliseconds.
Innerhalb des Frames sind die Audio- und Videorohdaten in komprimierter Form enthalten. Ist die Komprimierung mit konstanter Datenrate erfolgt, hat der Frame eine feste Länge, die aus der in seinem Header enthaltenen Datenrate berechnet werden kann. Ist die Komprimierung mit variabler Datenrate erfolgt, hat der Frame eine variable Länge. In diesem Fall kann die Erkennung des Beginns eines Frames mit den im Header enthaltenen Daten erfolgen. So beginnt beispielsweise der in
Bevor das digitale Video auf einem Massenspeicher abgespeichert, terrestrisch oder per Satellit ausgestrahlt, oder über ein Übertragungsmedium wie z. B. das Internet oder ein Netzwerk übertragen wird, müssen die Frames der Audio- und Videodatenströme wieder zusammengebunden werden. Dieses Zusammenbinden der Datenströme nennt man Multiplexen. Beim Multiplexen werden auch zusätzliche Steuerinformationen, wie z. B. der Abspielzeitpunkt eines Rahmens erzeugt und dem Datenstrom hinzugefügt. Das Ergebnis des Multiplexen ist ein so genannter Systemstrom (System Stream), dieser wird hier auch als gebundenes digitales Video, gebundener Datenstrom oder gebundenes Video bezeichnet.Before the digital video is stored on a mass storage device, broadcast terrestrially or by satellite, or via a transmission medium such. As the Internet or a network is transmitted, the frames of the audio and video streams must be tied back together. This binding of data streams is called multiplexing. When multiplexing additional control information, such. B. the playback time of a frame and added to the data stream. The result of the multiplexing is a so-called System Stream, which is also referred to here as bound digital video, bound data stream or bound video.
Das zum Multiplexen angewandte Verfahren arbeitet bei den MPEG-Formaten oder den davon abgeleiteten Formaten, unabhängig davon, für welches Übertragungs- oder Speichermedium das Video gemultiplext wird, prinzipiell auf die gleiche Weise. Bei den einzelnen Parametern dieses Verfahrens können jedoch, je nach dem, für welches Übertragungs- oder Speichermedium das Video gemultiplext wird, große Unterschiede auftreten. So ist z. B. bei DVD-Video nur ein Videodatenstrom erlaubt, während bei dem für die terrestrische Übertragung von digitalem Fernsehen verwendeten DVB-T-Format in der Regel vier Videodatenströme gemultiplext werden.The method used for multiplexing operates in principle in the same way in the MPEG formats or the formats derived therefrom, regardless of which transmission or storage medium the video is multiplexed for. However, depending on which transmission or storage medium the video is multiplexed for, the individual parameters of this method may be large Differences occur. So z. For example, in DVD-Video, only one video stream is allowed, while in the DVB-T format used for the terrestrial transmission of digital television, four video streams are typically multiplexed.
Beim Multiplexen werden die einzelnen Video- und Audiodatenströme, aus denen der Systemstrom bestehen soll, zunächst in Pakete gleicher Größe zerteilt. Die Größe der Pakete kann, je nach Übertragungs- oder Speichermedium aus bestimmten zulässigen Werten gewählt sein. Jedem Paket wird ein so genannter „Packet Header” vorangestellt, auf den ein „Packetetized Elementary Stream Header” (PES-Header) folgt. Hinter diesen beiden Header werden Daten des Video- oder Audiodatenstroms eingefügt, bis das Paket voll ist. Dann beginnt ein neues Paket. Um die Hardware-Anforderungen an das für die Ausgabe digitaler Videos verwendete Gerät zu begrenzen, werden die Pakete der verschiedenen zusammenzubindenden Datenströme abwechselnd in einem ihrer Datenrate entsprechenden Verhältnis in den beim Multiplexen erzeugten Datenstrom geschrieben. Dadurch kann das Multiplexen auch z. B. in Hardwareencodern in einem Schritt mit dem Encodieren und in Echtzeit erfolgen. Für die Erkennung der beim Multiplexen erzeugten Header wird die von den Videodatenströmen bekannte Synchronisationsbitfolge 0x000001 verwendet.In multiplexing, the individual video and audio streams that make up the system stream are first split into packets of the same size. The size of the packets may be selected from certain allowable values depending on the transmission or storage medium. Each packet is preceded by a so-called "packet header", followed by a packetized elementary stream header (PES header). Behind these two headers, data from the video or audio stream is inserted until the packet is full. Then a new package begins. In order to limit the hardware requirements of the device used for digital video output, the packets of the various data streams to be merged are alternately written in a ratio corresponding to their data rate in the multiplexed data stream. As a result, the multiplexing z. B. in hardware encoder encoders in one step with the encoding and done in real time. For the recognition of the headers generated in the multiplexing, the synchronization bit sequence 0x000001 known from the video data streams is used.
Beim Packet Header folgt auf die 24 Bit langen Synchronisationsbitfolge (0x000001) das Identifikationsbyte des Packet Headers (0xBA). Der Packet Header (
Nach dem Pack Header folgt ein „Packetetized Elementary Stream Header” (PES-Header,
Im Packetetized Elementary Stream Header sind eine Reihe von Feldern zulässig. Welches davon tatsächlich vorhanden ist, entscheiden die Bits in einem 32 Bit langen Bitfeld, das als „PES-Header Extension” bezeichnet wird. Dieses Bitfeld folgt direkt auf die Stream-ID.The Packetized Elementary Stream Header allows a number of fields. Which of them actually exists is decided by the bits in a 32-bit bit field called "PES header extension". This bit field directly follows the stream ID.
Für das Verständnis des erfindungsgemäßen Verfahrens ist nur das Feld „PRESENTATION TIME STAMP” (PTS) des PES-Headers wichtig. Es ist vorhanden, wenn das 7. Bit der „PES-Header Extension” den Wert 1 hat. In diesem Fall folgt der PTS direkt auf die PES-Header Extension. Der PTS gibt die Zeit in Millisekunden an, bei der, gemessen vom Start des Videos, ein Abspielgerät mit der Wiedergabe des ersten Rahmens in dem Paket, dem dieser PES-Header vorangeht, beginnen soll.For the understanding of the method according to the invention only the field "PRESENTATION TIME STAMP" (PTS) of the PES header is important. It is present if the 7th bit of the "PES header extension" has the
Der Aufbau des PES-Headers kann, so weit er für das erfindungsgemäße Verfahren erforderlich ist,
Der Erfindung liegt folgende Problematik zu Grunde:
Die MPEG-Formate sind insofern durchgängig, als die Video- und Audiodatenströme auf jedem möglichen Übertragungs- oder Speichermedium in der gleichen Form vorliegen können, so weit man nicht innerhalb dieser Formatfamilie in ein anderes Format wechselt. Dagegen unterscheiden sich die Systemströme je nach dem Medium, für das sie geschaffen wurden, in Bezug auf die bei dem Binden hinzugefügten Informationen häufig erheblich.The invention is based on the following problem:
The MPEG formats are consistent in that the video and audio data streams can be in the same form on any possible transmission or storage medium, as long as one does not change to another format within that format family. On the other hand, system flows, depending on the medium for which they were created, often differ significantly in terms of the information added in the binding.
Nimmt man beispielsweise ein digitales Video mit einer TV-Tuner-Karte und einem PC auf, so wird ein Programm-Stream erzeugt. Um diese Aufnahme für die spätere Archivierung auf DVD zu brennen, muss er zumindest neu gebunden werden, da das bei DVD's für den Systemstrom verwendete Format (VOB – Video OBject) sich von dem des Program Streams unterscheidet. Da gegen sind die in den verschiedenen Systemströmen gebundenen Video- und Audiodatenströme zueinander kompatibel. Somit muss man sie theoretisch nicht mehr encodieren, zumindest, wenn man bereits bei den Einstellungen für die Aufnahme bestimmte Randbedingungen (z. B. unterstützen DVD's nur wenige Auflösungen) beachtet hat. Dies ist besonders deshalb vorteilhaft, da die MPEG-Formate verlustbehaftete Kompressionsverfahren verwenden, so dass es bei jedem neuen Encodieren des Video- und Audiodatenstroms zu einem Qualitätsverlust kommt.Take, for example, a digital video with a TV tuner card and a PC, so a program stream is generated. In order to burn this recording to DVD for later archival, it has to be re-bound at least because the format (VOB - Video OBject) used for DVD's for the system stream differs from that of the program stream. In contrast, the video and audio streams tied in the various system streams are compatible with each other. So theoretically you do not have to encode them anymore, at least, if you already have the Settings for recording certain boundary conditions (eg DVD's support only a few resolutions). This is particularly advantageous because the MPEG formats use lossy compression techniques so that quality loss occurs each time the video and audio data streams are re-encoded.
Besonders beim MPEG-2-Format gibt es eine ganze Reihe von Anwendungsfällen, in denen eine solche Formatwandlung des Systemstroms durch erneutes Multiplexen erforderlich wird, und bei der die Video- und Audiodatenströme nicht unbedingt neu encodiert werden müssen. Da das MPEG-2-Format besonders häufig verwendet wird, besitzt es entsprechend viele Derivate. Ein weiteres Beispiel für die Notwendigkeit einer solchen Formatwandlung ist es, eine digital im DVB-S oder DVB-T-Format ausgestrahlte Fernsehsendung auf einer DVD zu archivieren. Wenn man ein Video, das man z. B. als Transport-Stream auf einem DVB-Receiver mit eingebauter Festplatte empfangen hat, auf DVD brennen will, ist auf Grund der zusätzlichen Navigationsdaten, die die DVD im Private Stream 2 (Stream-ID 0xBF) benötigt, grundsätzlich ein neues Multiplexen so wie das Generieren zusätzlicher Steuerinformationen erforderlich.Especially in the MPEG-2 format, there are a whole range of applications in which such format conversion of the system stream by re-multiplexing is required, and in which the video and audio data streams do not necessarily need to be re-encoded. Since the MPEG-2 format is used very frequently, it has a corresponding number of derivatives. Another example of the need for such format conversion is to archive a TV program broadcast digitally in DVB-S or DVB-T format on a DVD. If you have a video that you z. B. as a transport stream on a DVB receiver with built-in hard disk has to burn to DVD, is due to the additional navigation data, which requires the DVD in Private Stream 2 (Stream ID 0xBF), basically a new multiplexing as well generating additional control information required.
Wird das Video auf dem PC aufgezeichnet (z. B. mit einer analogen TV-Karte) und dort weiterverarbeitet, erfolgt das Encodieren, Schneiden und, wenn es auf DVD gebrannt werden soll, das Gestalten der Menüs und das Brennen häufig mit unterschiedlichen Programmen. Diese Programme führen jeweils intern ein Demultiplexen des Systemstromes durch und Multiplexen ihn nach der Weiterverarbeitung wieder. Einige dieser Programme können sogar keine aus Video- und Audiodatenströmen gebundenen Systemströme verarbeiten. In diesem Fall muss das Video vor der Weiterverarbeitung gedemultiplext und zur anschließenden Speicherung wieder gemultiplext werden. Das einzige dem Autor bekannte Programm, das hiervon abweicht, ist eine auf einen externen Hardware-Encoder angewiesene Version eines Videoschnittprogramms.If the video is recorded on the PC (eg with an analog TV card) and further processed there, the encoding, cutting and, if it is to be burned to DVD, the menus and the burning often with different programs. Each of these programs internally demultiplexes the system stream and multiplexes it again after further processing. Some of these programs can not even handle system streams tied from video and audio streams. In this case, the video must be demultiplexed before further processing and be multiplexed again for subsequent storage. The only program known to the author that deviates from this is a version of a video editing program that relies on an external hardware encoder.
So lange in den Audio- und Videostreams, die im Ausgangsvideo enthalten sind, keine Frames fehlen, ist dieses Demultiplexen mit anschließendem erneuten Multiplexen problemlos. Fehlen aber in einem der Datenströme Frames, sind nach dem Demultiplexen mit anschließendem erneuten Multiplexen Audio und Video für einen Teil des Videos nicht mehr Synchron. Bereits eine Differenz von weniger als einer halben Sekunde fallt dabei stark störend auf.As long as there are no frames missing from the audio and video streams included in the source video, demultiplexing followed by retransmissions is easy. However, if frames are missing in one of the streams, then after demultiplexing followed by retransmission, audio and video are no longer synchronous for a portion of the video. Already a difference of less than half a second is very disturbing.
Ursache dafür ist, dass sämtliche Informationen über den Zeitpunkt, an dem mit dem Abspielen eines Frames gestartet werden soll, nur in den Packet Headern und den PES-Headern des gemultiplexten Videos enthalten sind. Wird ein Video mit fehlenden Frames abgespielt, wartet das Abspielprogramm oder -gerät, bis der Zeitpunkt für das Abspielen des nächsten, wieder vorhandenen Frames erreicht ist. Bis dahin bleibt das Bild kurz stehen, oder der Ton ist kurzzeitig stumm. This is because all information about when to start playing a frame is only included in the packet headers and PES headers of the multiplexed video. If a video is played with missing frames, the player or player waits until the time for the next frame to be played back is reached. Until then, the picture will stop short, or the sound will be muted for a short time.
Beim Demultiplexen werden diese Zeitmarken bzw. Synchronisationsinformationen entfernt, so dass sie bei einem erneuten Multiplexen nicht mehr richtig gebildet werden können. Statt dessen errechnet der Multiplexer die Zeitmarken aus der Anzahl der von ihm gezählten Frames und einigen anderen Parameter wie z. B. der Framerate. Dadurch kann das Video nach dem erneuten Multiplexen nicht mehr synchron angezeigt werden, wenn Frames verloren gegangen sind.In demultiplexing, these timestamps or synchronization information are removed so that they can no longer be properly formed upon re-multiplexing. Instead, the multiplexer calculates the timestamps from the number of frames it counts and some other parameters, such as the number of frames. B. the frame rate. This will cause the video to become out of sync after retuning if frames are lost.
Leider ist das Fehlen von Frames sehr häufig. Im folgenden werden einige mögliche Ursachen für einen Verlust von Frames beschrieben. Erschwert wird dieses Problem dadurch, dass in einem Video die Videodaten erheblich mehr Bandbreite als Audiodaten benötigen, so dass die Wahrscheinlichkeit für den Verlust von Videoframes sehr viel höher ist, als die für den Verlust von Audioframes. Kommt es zu einem Verlust von Frames, wird dieser Effekt noch dadurch verstärkt, dass Video- und Audioframes in der Regel unterschiedlich lang sind.Unfortunately, the lack of frames is very common. The following are some possible causes for loss of frames. This problem is aggravated by the fact that in a video the video data requires considerably more bandwidth than audio data, so that the likelihood of losing video frames is much higher than that for the loss of audio frames. If there is a loss of frames, this effect is exacerbated by the fact that video and audio frames are usually of different lengths.
Eine Komprimierung in ein digitales Video in einem MPEG-Format in Echtzeit ist erforderlich, wenn Videos von einer analogen Quelle (analoger Videorecorder, analoges Kabelfernsehen, analoges terrestrisches Fernsehen) digitalisiert werden sollen. Für die Komprimierung von Videos in Echtzeit wird eine besonders hohe Rechenleistung benötigt. Darüber hinaus ist die Rechenzeit, die für das Komprimieren einer Bildfolge des Videos nötig ist, stark vom Bildinhalt abhängig, so dass es selbst mit den leistungsfähigsten verfügbaren Prozessoren nicht ausgeschlossen werden kann, dass einzelne Bilder nicht komprimiert werden können, bevor das nächste Bild empfangen wird. In diesem Fall können Frames, in der Regel zumeist Videoframes verworfen werden.Real-time compression into digital video in MPEG format is required when digitizing video from an analog source (analog VCR, analog cable TV, analog terrestrial television). Compressing videos in real time requires extra computing power. Moreover, the computation time required to compress an image sequence of the video is highly dependent on the image content, so that it can not be ruled out even with the most powerful processors available that individual images can not be compressed before the next image is received , In this case, frames, usually video frames, can usually be discarded.
Wird ein analoges Fernsehsignal per terrestrischer Antenne oder Satellitenschüssel empfangen, können Störeinflüsse, wie z. B. leicht zeitversetzte Reflexionen am Erdboden oder an Hindernissen, Störsignale, und Wettereinflüsse, für die besonders der Satellitenempfang empfindlich ist, die Bildqualität beeinflussen. Bei zwei weit verbreiteten, vom Erfinder untersuchten TV-Decoder-Analog-Digitalwandler-Chips werden Takt und Synchronisationsinformationen (z. B. Starts der Generierung des nächsten Bildes/Frames bei der Austastlücke) aus dem Videoeingangssignal generiert. Dies ist auch notwendig, da bei Verwendung einer eigenen Zeitbasis bereits bei minimaler Abweichung von der Zeitbasis des Fernsehsignals ein durchlaufendes Bild entsteht. Es führt aber auch dazu, dass, weil z. B. die Austastlücke nicht sauber erkannt wird, Frames im von der Digitalisierung erzeugten Ausgangsdatenstrom fehlen können, oder Frames verworfen werden, weil kein Takt für die Abtastung des Signals gebildet werden konnte. Dieses Verhalten kann anhand der Datenblätter dieser Schaltkreise (z. B. Conextant Bt829 und Philips SAA7113) nachvollzogen werden, und hat sich bei Tests des Erfinders mit dem SAA7113 bestätigt. Die Datenblätter waren zum Zeitpunkt des Schreibens dieses Patentantrages auf den Webseiten der jeweiligen Hersteller veröffentlicht.If an analog television signal is received via terrestrial antenna or satellite dish, interference, such. B. slightly delayed reflections on the ground or on obstacles, interference signals, and weather, for which especially the satellite reception is sensitive affect the image quality. In two widespread TV decoder analog-to-digital converter chips under study by the inventor, clock and synchronization information (eg, start-up generation of the next frame at the blanking interval) is generated from the video input signal. This is also necessary because using a separate time base already with minimal deviation from the Time base of the television signal is a continuous picture. But it also leads to that, because z. B. the blanking interval is not detected clean, frames may be missing in the output data stream generated by the digitization, or frames are discarded because no clock could be formed for the sampling of the signal. This behavior can be understood from the datasheets of these circuits (eg Conextant Bt829 and Philips SAA7113) and has been confirmed by the inventor's tests with the SAA7113. The data sheets were published on the websites of the respective manufacturers at the time of writing of this patent application.
Der o. g. Effekt wird dadurch verschärft, dass die Videodecoder das Audiosignal nicht selbst weiterverarbeiten, sondern nur ein analoges Basisbandaudiosignal erzeugen, das entweder von der Soundkarte eines PC's aufgezeichnet wird, oder bei Hardwareencodern und Standalone-Geräten mit einem spezialisierten Audiodecoderchip (teilweise auch mit der CPU dieser Geräte) digitalisiert wird. Dies führt häufig dazu, dass in dem Audiosignal und dem Videosignal eine unterschiedliche Anzahl von Frames fehlen.The o. G. The effect is exacerbated by the fact that the video decoders do not process the audio signal themselves, but only produce an analog baseband audio signal that is either recorded by the sound card of a PC or hardware coders and standalone devices with a specialized audio decoder chip (sometimes also with the CPU of these devices ) is digitized. This often results in missing a different number of frames in the audio signal and the video signal.
Eine weitere Quelle für Störungen im analogen Eingangssignal, die wie oben beschrieben zu verlorenen Frames führt, können Gleichlaufschwankungen oder mechanische Beschädigungen des Magnetbandes bei einem analogen Videorecorder sein. Diese führen in der Regel dazu, dass das Ausgangssignal kurzzeitig ausfällt. Auch wenn auf einer Videokassette, die digitalisiert werden soll, Stellen vorhanden sind, an denen die Aufnahme einsetzt oder endet, kann es beim Abspielen über diese Stellen hinaus zu Störungen im Videosignal des Rekorders kommen. Die bereits beschriebene Eigenart der Videodigitalisierer-Chips führt dann in Folge dieser Störungen häufig zu einem Frameverlust, da vom Digitalisierungs-Schaltkreis mit dem fehlenden Video- oder Audiosignal auch kein Takt für die Aufzeichnung gebildet werden kann und keine Austastlücke erkannt wird, die die Erzeugung eines neuen Videoframes anstoßen würde. Diese Problematik wird verschärft dadurch, dass der Videokopf und der Audiokopf bei analogen Videorekordern des marktbeherrschenden VHS-Systems versetzt angebracht sind, so dass die Frameverluste im Audio und im Video sogar an unterschiedlichen Stellen auftreten und auch nicht die gleiche Dauer haben.Another source of interference in the analog input signal that results in lost frames as described above may be jitter or mechanical damage to the magnetic tape in an analog VTR. These usually lead to the output signal temporarily failing. Even if on a video cassette to be digitized, there are places where recording begins or ends, it may interfere with the video signal of the recorder when playing beyond these locations. The already described peculiarity of video digitiser chips then often results in a loss of frame as a result of these disturbances, since the digitization circuit with the missing video or audio signal and no clock for the recording can be formed and no blanking interval is detected, the generation of a new video frames would kick off. This problem is exacerbated by the fact that the video head and the audio head are placed offset in analog VCRs of the dominant VHS system, so that the frame losses in audio and video even occur in different places and not have the same duration.
Auch bei dem Empfang von digitalen Quellen können Frames durch Störungen während der Übertragung verloren gehen, z. B. wenn digitales Fernsehen per Antenne vom Satellit (DVB-S) und in einigen Regionen mittlerweile auch terrestrisch empfangen (DVB-T) wird. Die für den analogen Fernsehempfang beschriebenen Störungen des Übertragungsweges gelten jedoch auch für die digitale Übertragung. So lange die Störungen so gering sind, dass sie bei der Demodulation im Empfänger keine Bitfehler verursachen, wird die Empfangsqualität nicht beeinträchtigt. Im Grenzbereich werden einzelne Makroblöcke des Bildes gestört, dann kommt es zu Klötzchenbildung. Überschreiten die Störungen ein bestimmtes Maß, ist der Empfang gänzlich gestört, oder es gehen einzelne Frames verloren, wobei ein Verlust von Audioframes weniger wahrscheinlich als der Verlust von Videoframes ist.Even when receiving digital sources, frames may be lost due to interference during transmission, e.g. B. when digital television via antenna from the satellite (DVB-S) and in some regions now also terrestrial receive (DVB-T). However, the disturbances of the transmission path described for the analogue television reception also apply to the digital transmission. As long as the disturbances are so small that they do not cause any bit errors in the demodulation in the receiver, the reception quality is not affected. In the border area individual macroblocks of the image are disturbed, then it comes to block formation. If the interference exceeds a certain level, the reception is completely disturbed or individual frames are lost, with a loss of audio frames being less likely than the loss of video frames.
Der Verlust von Frames tritt, wie bereits aufgezeigt, recht häufig auf, und kann viele Ursachen haben. Am häufigsten tritt er auf, wenn Videos von analogen Quellen digitalisiert werden, und das Videosignal dieser Quellen eine unzureichende Qualität hat.The loss of frames occurs quite often, as already pointed out, and can have many causes. Most commonly, it occurs when videos from digital sources are digitized, and the video signal from these sources is inferior in quality.
Digitale Videoaufzeichnungsgeräte (z. B. PC's mit TV-Tuner-Karte, DVD-Rekorder), die Videos in einem Format der MPEG-Protokollfamilie aufzeichnen, zeichnen diese in der Regel als Systemströme auf. Da in den Systemströmen auch Synchronisationsinformationen enthalten sind, die mit Hilfe der von dem empfangenen Videosignal unabhängigen Zeitbasis des Aufzeichnungsgerätes gebildet werden, wirken sich verlorene Frames zunächst nicht aus.Digital video recorders (eg, PC's with TV tuner card, DVD recorder) recording videos in MPEG protocol family format typically record them as system streams. Since the system streams also contain synchronization information which is formed with the aid of the time base of the recording device independent of the received video signal, lost frames initially have no effect.
Bei der Weiterverarbeitung z. B. durch das Schneiden des Videos oder durch das Brennen des Videos auf DVD gehen diese Synchronisationsinformationen in der Regel verloren. Zusätzlich dazu ist die gesamte Abspieldauer der in den Audiodatenströmen verlorenen Frames fast immer unterschiedlich zu der gesamten Abspieldauer der in den Videodatenströmen verlorenen Frames, wenn bei der Aufzeichnung oder Übertragung digitaler Videos Frames verloren gegangen sind. Dies hat zur Folge, dass bei der Weiterverarbeitung Ton und Bild für den gesamten Rest des Videos asynchron sind. Daher ist es notwendig, vor der Weiterverarbeitung digitaler Videos die Position verlorener Frames zu ermitteln und diese dann zu ersetzen.For further processing z. For example, by cutting the video or burning the video to DVD, this synchronization information is usually lost. In addition, the total playing time of the frames lost in the audio data streams is almost always different from the total playing time of the frames lost in the video data streams when frames have been lost in the recording or transmission of digital video. As a result, audio and video are asynchronous for the rest of the video in further processing. Therefore, it is necessary to determine the position of lost frames prior to processing digital video and then replace them.
Ein zum Stand der Technik gehörendes Verfahren zum Ersetzen fehlender Frames kommt in digitalen Videostreaming-Anwendungen wie z. B. Videoüberwachungsanlagen oder Videokonferenzsystemen zur Anwendung. Beim Videostreaming werden den MPEG-Systemströmen vom Sender mittels Realtime Transport Protocoll (RTP) Sequenznummern hinzugefügt. Weiterhin erzeugt der Videostreaming-Empfänger eine automatische Wiederholungsanforderung an den Sender, wenn der Empfänger z. B. bei fehlenden Sequenznummern den Verlust eines Paketes feststellt. Weiterbildungen dieses Verfahrens, die die Menge der im Fehlerfall zu wiederholenden Daten durch geeignet gewählte Prioritäten für die unterschiedlichen Rahmenarten (z. B. I-, P- oder B-Frames) begrenzen sollen, sind in
- – ein Rückkanal benötigt wird, über den das Widerholen von Daten angefordert werden kann,
- – sowohl Sender als auch Empfänger das Verfahren unterstützen müssen,
- – zur Übertragung ein Verbindungsorientiertes Protokoll wie z. B. TCP/IP benötigt wird,
- – vor oder nach der Übertragung entstandene Fehler nicht beseitigt werden können, und
- – selbst bei während der Übertragung entstandenen Fehlern keine nachträgliche Korrektur möglich ist.
- - a return channel is required, via which the retrieval of data can be requested,
- Both transmitter and receiver must support the procedure,
- - For transmission a connection-oriented protocol such. B. TCP / IP is required,
- - errors arising before or after transmission can not be eliminated, and
- - no subsequent correction is possible even if errors occur during transmission.
Dadurch sind diese o. g. Verfahren für Empfangsgeräte des digitalen terrestrischen Fernsehens oder des digitalen Satellitenfernsehens eben so wenig wie für die nachträgliche Korrektur gespeicherter digitaler Videos oder das Digitalisieren und anschließende Komprimieren analoger Videosignale geeignet.As a result, these o. G. Procedure for receivers of digital terrestrial television or digital satellite television just as little as for the subsequent correction of stored digital video or the digitizing and subsequent compression of analog video signals suitable.
Ein weiteres bekanntes Verfahren zum Ersetzen verlorener Frames wird in
Dieses Verfahren hat den Nachteil, dass:
- – ein bei der MPEG-Komprimierung systembedingter Qualitätsverlust durch die De- und anschließende Encodierung entsteht,
- – die De- und anschließende Encodierung einen enormen Aufwand verursacht,
- – die Notwendigkeit besteht, für die Erzeugung der Zwischenbilder auf das Ende der Übertragung eines auf sie folgenden fehlerfreien Bildes zu warten,
- – eine subjektiv störende Wirkung entsteht, wenn sich im korrigierten Video im Bereich zwischen dem letzten Frame vor den verlorenen Frames und dem ersten Frame nach den verlorenen Frames ein Schnitt oder ein Szenenwechsel befunden hatte,
- – Erkennung und Ersetzung fehlender Audioframes nicht behandelt werden, und
- – es auf Grund der bei diesem Verfahren getroffenen Annahme, dass fehlende Frames in regelmäßigen Abständen auftreten, unmöglich ist, zufällige Störungen zu erkennen und zu korrigieren.
- - a system-related quality loss due to the decoding and subsequent encoding occurs during MPEG compression,
- - the de- and subsequent encoding causes a huge effort,
- There is a need to wait for the transmission of an error-free image following for the generation of the intermediate images,
- A subjectively disturbing effect arises if the corrected video had a section or a scene change in the area between the last frame before the lost frames and the first frame after the lost frames,
- - Detection and replacement of missing audio frames can not be handled, and
- - It is impossible to detect and correct random disturbances due to the assumption made in this procedure that missing frames occur at regular intervals.
Aus der
Der Erfindung liegt daher das Problem zu Grunde,
ein Verfahren zu finden, mit dem während der Aufzeichnung oder nachträglich erkannt werden kann, wann ein Systemstrom nicht weiterverarbeitet werden kann, weil in ihm Frames verloren gegangen sind.The invention is therefore based on the problem
to find a method that can be used to detect during recording or later, when a system stream can not be further processed, because frames have been lost in it.
Ferner liegt dem erfindungsgemäßen Verfahrens die Aufgabe zu Grunde, verlorene Frames in die Audio- und Videodatenströme von Sytemströmen nachträglich oder in Echtzeit einzufügen oder deren nachteilige Auswirkungen bei der Weiterverarbeitung, insbesondere die Verschiebung von Bild und Ton, nachträglich zu korrigieren, oder den Verlust von Frames ganz zu verhindern.Furthermore, the method according to the invention is based on the task of inserting lost frames into the audio and video data streams of system streams later or in real time or of subsequently correcting their adverse effects in further processing, in particular the shift of picture and sound, or the loss of frames to prevent completely.
Des weiteren soll das erfindungsgemäße Verfahren auf alle Formate, in denen digitale Videos der MPEG-Protokollfamilie vorliegen können, anwendbar sein, unabhängig davon, auf welchem Medium das digitale Video gespeichert ist, oder über welches Medium und mit welchem Protokoll es übertragen wird Zusätzlich sollen vom erfindungsgemäßen Verfahren die o. g. Nachteile der zum Stand der Technik gehörenden Verfahren zum Ersetzen fehlender Frames in Videodatenströmen vermieden werden.Furthermore, the method according to the invention should be applicable to all formats in which digital video of the MPEG protocol family may be present, regardless of which medium the digital video is stored on or via which medium and with which protocol it is transmitted inventive method the above Disadvantages of the prior art method of replacing missing frames in video streams are avoided.
Gelöst wird diese Aufgabe erfindungsgemäß durch ein im folgenden als Rahmenfehlerkorrekturverfahren bezeichnetes Verfahren, das die kennzeichnenden Merkmale des Anspruchs 1 aufweist. Danach wird ein gespeichertes oder empfangenes, als Systemstrom und in einem Format der MPEG-Protokollfamilie oder einem damit verwandten Format vorliegendes digitales Video durch Vergleich der jedem Frame zugeordneten Synchronisierungsinformationen mit der Summe der Abspielzeiten aller vor diesem Frame aufgetretenen Frames des selben Datenstroms auf fehlende Frames untersucht.This object is achieved according to the invention by a method hereinafter referred to as a frame error correction method having the characterizing features of
Bei dem erfindungsgemäßen Verfahren wird das digitale Video vorzugsweise als Datenstrom behandelt und seriell eingelesen und ausgewertet. Die Patentansprüche sind jedoch nicht auf diese serielle Verarbeitung beschränkt. Durch eine serielle Verarbeitung entsteht der Vorteil, dass das erfindungsgemäße Verfahren unabhängig davon, ob das Video als Datei gespeichert vorliegt, von einem Netzwerk empfangen oder per Rundfunk übertragen wird, immer in der gleichen Weise verwendet werden kann.In the method according to the invention, the digital video is preferably treated as a data stream and read in and evaluated serially. The claims are not on this serial Processing limited. The advantage of serial processing is that the method according to the invention can always be used in the same way, regardless of whether the video is stored as a file, is received by a network or transmitted by broadcasting.
Bei der folgenden Beschreibung der Merkmale des erfindungsgemäßen Verfahrens wird auf die Beschreibung der Funktion, Datenstruktur und Nomenklatur der MPEG-Protokollfamilie Bezug genommen. Dabei werden Datenströme oder Dateien, die aus mindestens einem Video- und optional einem oder mehreren jedem Videodatenstrom zugeordneten Audiodatenströmen zusammengebunden und in einem Format der MPEG-Protokollfamilie kodiert sind, als digitales Video bezeichnet.In the following description of the features of the method according to the invention, reference will be made to the description of the function, data structure and nomenclature of the MPEG protocol family. In this case, data streams or files which are bound together from at least one video and optionally one or more audio data streams assigned to each video data stream and encoded in a format of the MPEG protocol family are referred to as digital video.
Entsprechend der vorhergehenden Beschreibung kann bei digitalen Videos in einem MPEG-Format davon ausgegangen werden, dass der Beginn eines Frames bei einem Videodatenstrom mit Hilfe des Picture Headers identifiziert werden kann. Bei mit konstanter Bitrate encodierten Audiodatenströmen kann die Anfangsposition des Frames anhand der festen Länge des Frames berechnet werden, ansonsten kann sie ebenfalls anhand ihres Headers und der darin enthaltenen, vom Kompressionsverfahren abhängigen Synchronisationsbitfolge identifiziert werden. Der Frame- oder Picture-Header ist Teil seines Video- und Audiodatenstroms und somit in den Paketen des digitalen Videos verpackt. Den Frames können in Folge dessen die Informationen des Packet-Headers und des Packetized Elementary Stream Headers (PES-Header) des Paketes, in denen der Header des Frames beginnt, eindeutig zugeordnet werden.According to the above description, in the case of digital video in an MPEG format, it can be considered that the start of a frame in a video stream can be identified by the use of the picture header. For constant bit rate encoded audio data streams, the starting position of the frame may be calculated from the fixed length of the frame, otherwise it may also be identified by its header and the compression bit sequence dependent synchronization bit sequence. The frame or picture header is part of its video and audio stream and thus packaged in the packets of the digital video. As a result, the frames can be uniquely assigned the packet header and packetized elementary stream header (PES header) information of the packet in which the header of the frame begins.
Ein kennzeichnendes Merkmal des erfindungsgemäßen Verfahrens ist es, die einzelnen in einem digitalen Video enthaltenen Pakete zu identifizieren und in der Reihenfolge, in der sie gespeichert sind oder übertragen werden, zu verarbeiten. Die Stream-ID aus dem PES-Header (siehe
Kennzeichnendes Merkmal des erfindungsgemäßen Verfahrens ist es weiterhin, dass aus den Headern des Paketes der Zeitstempel des Paketes ermittelt und in dem Registersatz oder Speicherbereich zwischengespeichert wird, der dem Datenstrom des Paketes zugeordnet ist. Als Zeitstempel des Paketes wird im folgenden der Zeitpunkt bezeichnet, zu dem mit dem Abspielen des Frames, dessen Daten in dem Paket enthalten sind, begonnen werden soll. Ist in einem Paket mehr als ein Frame vorhanden, so ist unter dem Zeitstempel der Zeitpunkt zu verstehen, zu dem mit dem Abspielen des ersten in dem Paket beginnenden Frames begonnen werden soll.Characteristic feature of the method according to the invention is further that from the headers of the packet, the timestamp of the packet is determined and buffered in the register set or memory area, which is associated with the data stream of the packet. In the following, the time stamp of the packet is the time at which the playback of the frame whose data is contained in the packet should be started. If more than one frame is present in a packet, then the time stamp is to be understood as the point in time at which the playback of the first frame starting in the packet should begin.
Der Zeitstempel des Pakets wird dabei aus den Synchronisationsinformationen in den Feldern „PRESENTATION TIME STAMP” (im „PACKETIZED ELEMENTARM STREAM” Header), „SYSTEM CLOCK REFERENCE” (aus dem „PACKET HEADER”) berechnet. Es kann auch ein optionaler Plausibilitätsvergleich zwischen diesen beiden Werten durchgeführt werden, und der plausiblere Wert übernommen werden.The timestamp of the packet is calculated from the synchronization information in the fields "PRESENTATION TIME STAMP" (in the "PACKETIZED ELEMENTARM STREAM" header), "SYSTEM CLOCK REFERENCE" (from the "PACKET HEADER"). An optional plausibility comparison between these two values can also be carried out and the more plausible value accepted.
Ein weiteres kennzeichnendes Merkmal des erfindungsgemäßen Verfahrens ist die Untersuchung des Inhalts der Pakete der zu untersuchenden Datenströme. Würde man den Inhalt dieser Pakete unter Beibehaltung ihrer Reihenfolge zusammensetzen, könnte man den darin enthaltenen Datenstrom zurückgewinnen. Dieser so gebildete Datenstrom ist nach den Header von Frames und bei Videoframes zusätzlich nach GOP-Headern (
Ebenfalls benötigt für das erfindungsgemäße Verfahren wird die Abspieldauer der einzelnen Frames des Datenstroms. Bei den Audiodatenströmen hat die Abspieldauer jedes Frames einen festen Wert, der bei den einzelnen Audioformaten unterschiedlich ist. Um die Abspieldauer des gerade untersuchten Frames zu ermitteln, reicht es aus, das Audioformat, in dem der dazu gehörende Datenstrom vorliegt, zu bestimmen und die ihm zugeordnete Framerate in einem Register zu speichern. Um das Audioformat zu bestimmen, kann die Stream-ID herangezogen werden, ggf. müssen auch Informationen über Subformate (z. B. bei den MPEG-originären Audioformaten) aus dem Header des Audioframes ausgewertet werden. Bei Videodatenströmen sind dagegen mehrere unterschiedliche Bildwiderholraten möglich, die in verschiedenen Headern codiert sind. Die Bildwiederholrate des Videodatenstroms kann z. B. aus dem Sequence Header, der in
Bei dieser Suche muss auch berücksichtigt werden, dass ein Frame-, Picture-, Sequence- oder GOP-Header auf 2 Pakete verteilt sein kann. Daher ist als Mindestanforderung an die für das erfindungsgemäße Verfahren verwendete Vorrichtung zu fordern, dass für jeden zu überprüfenden Video- oder Audiodatenstrom mindestens ein Schieberegister von der Länge des größten der für das Verfahren auszuwertenden Header im jeweiligen Datenstroms vorhanden ist. In dieses Register werden die sequenziell aus dem Paket gelesenen Daten hinein geschoben. Die Auswahl des Registersatzes des Datenstroms erfolgt dabei gesteuert durch durch die Stream-ID aus dem PES-Header des Pakets, in dem der Frame beginnt. Nach jeder Schiebeoperation ist zu überprüfen, ob der Anfang dieses Registers die Kennung eines Frame-Headers enthält. Bei Videodatenströmen ist darüber hinaus zu prüfen, ob der Anfang dieses Registers die Kennung eines GOP-Headers oder eines Sequence-Headers enthält. Optional kann auch ein Puffer vorgesehen werden, in dem mindestens 2 Pakete jedes zu untersuchenden Datenstroms zwischengespeichert werden können, und in diesem Puffer nach dem Framestart und ggf. nach dem Beginn eines GOP-Headers oder eines Sequence-Headers zu suchen. Bei Audioframes, die mit konstanter Bitrate kodiert sind, ist es möglich (bei PCM nötig), den Framestart aus der Framegröße zu berechnen, wobei sich die Größe eines Frames wiederum aus der Bitrate ergibt.In this search, it must also be taken into account that a frame, picture, sequence or GOP header can be distributed over 2 packets. Therefore, the minimum requirement for the device used for the method according to the invention is that at least one shift register of the length of the largest of the headers to be evaluated for the method be present in the respective data stream for each video or audio data stream to be checked. In this register are the sequentially read from the package read data. The selection of the register set of the data stream is thereby controlled by the stream ID from the PES header of the packet in which the frame begins. After each shift operation, check whether the beginning of this register contains the ID of a frame header. For video data streams, it must also be checked whether the beginning of this register contains the identifier of a GOP header or a sequence header. Optionally, a buffer can be provided in which at least 2 packets of each data stream to be examined can be buffered, and search in this buffer for the start of the frame and possibly after the beginning of a GOP header or a sequence header. For audio frames that are coded with constant bit rate, it is possible (with PCM necessary) to calculate the frame start from the frame size, whereby the size of a frame results from the bit rate.
Beim Auffinden des Beginns eines Frames sind die folgenden für das erfindungsgemäße Verfahren kennzeichnenden Operationen durchzuführen:
- • Der Zähler für die Anzahl der Frames des Datenstrom ist zu erhöhen.
- • Bei Videodatenströmen ist zusätzlich der Zähler für die Anzahl der Frames des GOP ist zu erhöhen.
- • Bei Videodatenströmen muss das Feld „TEMPORAL SEQUENCE NUMBER” aus dem Picture Header gelesen und im dem gerade untersuchten Datenstrom zugeordneten Registersatz oder Kontext zwischengespeichert werden. Dieses Feld wird benötigt, um die wegen der innerhalb eines GOP möglicherweise von der Übertragungs- oder Aufzeichnungsreihenfolge abweichenden Abspielreihenfolge erforderliche Korrektur der Zeitberechnung aus der Framezahl vorzunehmen.
- • In den meisten Fällen beginnt das erste Frame eines jeden Datenstroms des digitalen Videos mit einem Offset. Dieser Offset dient dazu, Abspielgeräten oder Programmen die Zeit zu geben, sich zu initialisieren. Der Offset wird dadurch realisiert, dass dem ersten Frame jedes Datenstroms mittels der Synchronisationsinformationen in dem Packet- und PES-Header ein Zeitstempel zugeordnet wird, der größer
als 0 ist. Ein sinnvoller Wert für diesen Offset sind 300 Millisekunden. Da es Multiplexer gibt, bei denen dieser Wert eingestellt werden kann, hängt es letztendlich von der Person, die das digitale Video erstellt hat, ab, welcher Wert vorgegeben ist. Der Offset der zu untersuchenden Datenströme wird in den dem Datenstrom zugeordneten Registersatz oder Kontext geschrieben. Das Ermitteln des Offsets erfolgt, wenn der Beginn des ersten Frames eines Video- oder Audiodatenstromes detektiert wurde. Zu diesem Zeitpunkt entspricht der Offset des Datenstroms dem Zeitstempel des Paketes, in dem das erste Frame beginnt. Der Offset kann für jeden Datenstrom unterschiedlich sein. Daher ist für jeden zu untersuchenden Video- und Audiodatenstrom eine Speicherzelle erforderlich, in der der Offset des jeweiligen Datenstroms gemerkt wird. - • Die Prüfung, ob vor dem Frame, dessen Header gerade ausgewertet wird, Frames verloren gegangen sind, ist entsprechend dem erfindungsgemäßen Verfahren beim Auftreten jedes neuen Frame-Headers auszufahren, wenn es sich um den ersten Frame-Header in dem Paket handelt. Dieses Verfahren wird im Anschluss an die Beschreibung der auf einen GOP-Header und einen Sequence-Header anzuwendenden Operationen beschrieben. Abhängig vom Ergebnis dieser Prüfung können weitere Operationen ausgeführt werden.
- • Increase the counter for the number of frames of the data stream.
- • For video data streams, the counter for the number of frames of the GOP must also be increased.
- • For video streams, the "TEMPORAL SEQUENCE NUMBER" field must be read from the Picture Header and cached in the register set or context associated with the data stream being examined. This field is needed to correct for the time calculation from frame number required because of the play order that may be different within a GOP from the transfer or record order.
- • In most cases, the first frame of each stream of digital video begins with an offset. This offset is used to give players or programs the time to initialize. The offset is realized by assigning to the first frame of each data stream, by means of the synchronization information in the packet and PES headers, a time stamp which is greater than zero. A reasonable value for this offset is 300 milliseconds. Since there are multiplexers where this value can be set, it ultimately depends on the person who made the digital video, which value is given. The offset of the data streams to be examined is written in the register set or context associated with the data stream. The determination of the offset takes place when the beginning of the first frame of a video or audio data stream has been detected. At this time, the offset of the data stream corresponds to the timestamp of the packet in which the first frame begins. The offset can be different for each data stream. Therefore, a memory cell is required for each video and audio data stream to be examined, in which the offset of the respective data stream is noted.
- The check whether frames have been lost before the frame whose header is being evaluated has to be extended according to the inventive method upon the occurrence of each new frame header, if it is the first frame header in the packet. This method will be described following the description of the operations to be applied to a GOP header and a sequence header. Depending on the result of this check, further operations may be performed.
In den Videodatenströmen der MPEG-Protokollfamilie werden Frames zu Gruppen zusammengefasst, die als GOP (Group of Pictures) bezeichnet werden. Innerhalb eines GOP ist es zulässig, die Frames in einer anderen Reihenfolge abzuspeichern oder zu übertragen, als die Reihenfolge, in der sie angezeigt werden sollen. Diese Besonderheit von Videodatenströmen muss für das erfindungsgemäße Verfahren berücksichtigt werden. Wie im weiteren Verlauf dieser Beschreibung noch näher erläutert, vergleicht das erfindungsgemäße Verfahren die aus der aufsummierten Laufzeit der bisher im Datenstrom aufgetretenen Frames gebildete Laufzeit mit dem Zeitstempel des gerade geprüften Frames. Bei Videodatenströmen muss diese aufsummierte Laufzeit um einen aus der Abspielposition des Frames innerhalb des GOP berechneten Wert korrigiert werden, bevor der Vergleich mit dem Zeitstempel des Frames erfolgen kann.In the MPEG family of video streams, frames are grouped into groups called GOP (Group of Pictures). Within a GOP, it is permissible to save or transfer the frames in a different order than the order in which they should be displayed. This peculiarity of video data streams must be taken into account for the method according to the invention. As will be explained in more detail in the further course of this description, the inventive method compares the runtime formed from the accumulated running time of the frames previously encountered in the data stream with the time stamp of the frame being tested. For video data streams, this summed runtime must be corrected by a value calculated from the playhead position of the frame within the GOP before the comparison can be made with the timestamp of the frame.
Um den sich aus der Abspielreihenfolge von Videoframes ergebenden Korrekturwert später zu bestimmen, muss die Übertragungs- bzw. Speicherposition des Frames innerhalb des GOP so wie seine Abspielposition bekannt sein. Es können verschiedene Verfahren zu diesem Zweck eingesetzt werden. Am einfachsten ist es, am Beginn jedes GOP einen Zähler zu starten, der bei jedem Picture-Header, dies ist der Frame-Header bei Videodatenströmen, um 1 erhöht wird. Dieser Zähler muss für jeden Videodatenstrom der auf fehlende Frames untersucht wird, einmal vorhanden sein. Der Beginn eines GOP wird in den Videodatenströmen durch den GOP-Header gekennzeichnet. Der GOP-Header wird in
Beim Auffinden des Beginns eines GOPs in einem Videodatenstrom sind die folgenden Operationen durchzuführen:
- • Der Zähler für die Anzahl der Frames des GOP ist zurückzusetzen.
- • The counter for the number of frames of the GOP must be reset.
Der Sequence-Header wird in
Beim Auffinden des Beginns eines Sequence-Headers in einem Videodatenstrom sind die folgenden Operationen durchzuführen:
- • Aus den Codes für die Bildrate des Videodatenstromes im Feld Framerate des Sequence Headers ist gemäß der Tabelle in
5 die Anzahl der pro Sekunde abzuspielenden Bilder zu ermitteln, aus der wiederum die Abspieldauer eines Bildes ermittelt werden kann.
- • From the frame rate codes of the video stream in the Frame Rate field of the Sequence Header, refer to the table in
5 determine the number of images to be played per second, from which in turn the playing time of an image can be determined.
Mit den wie oben beschrieben beim sequenziellen Einlesen der Datenströme aus den verschiedenen Headern gewonnen Informationen kann am Ende jedes ersten Frame-Headers in einem Paket das erfindungsgemäße Verfahren zur Überprüfung auf fehlende Pakete ausgeführt werden. Zu diesem Zeitpunkt stehen die folgenden Informationen für den gerade untersuchten Frame zur Verfügung:
- TF:
- Abspielstartzeitpunkt (Zeitstempel) des Frames (aus dem Feld SCR des Packet-Headers oder aus dem Feld PTS des PES-Header des Paketes berechnet, in den der Beginn des Frames fällt),
- Fps:
- Framerate bei Audiodatenströmen (abhängig von der Codierung des Datenstroms) oder Bildrate (aus dem Sequence-Header)
- TOffs:
- Der Offset (Abspielstartzeitpunkt/Zeitstempel TF) des ersten Frames des Datenstroms
- NF:
- Die Anzahl der bisher aufgetretenen Frame-Header einschließlich des Headers des gerade ausgewerteten Frames
- T F :
- Playback start time (timestamp) of the frame (calculated from the field SCR of the packet header or from the field PTS of the PES header of the packet in which the beginning of the frame falls),
- fps:
- Frame rate for audio data streams (depending on the encoding of the data stream) or frame rate (from the sequence header)
- T Offs :
- The offset (playback start time / time stamp T F ) of the first frame of the data stream
- N F :
- The number of frame headers that have occurred so far, including the header of the currently evaluated frame
Bei Videoframes stehen darüber hinaus die folgenden Informationen zur Verfügung:
- TSN:
- Abspielposition des aktuell bearbeiteten Frames im GOP (aus dem Picture Header des gerade ausgewerteten Frames entnommener Parameter Temporal Sequence Number)
- NGOP:
- Die Anzahl der bisher in dem aktuellen GOP gezählten Frames.
- TSN:
- Play position of the currently edited frame in the GOP (parameter Temporal Sequence Number taken from the Picture Header of the currently evaluated frame)
- N GOP :
- The number of frames counted in the current GOP so far.
Mit diesen Informationen kann mm die Überprüfung erfolgen. Dazu wird die Zeit berechnet, die benötigt worden wäre, um alle bisher aufgetretenen Frames des Datenstromes hintereinander abzuspielen. Diese Zeit wird im folgenden als
- TR:
- Rohzeit
- T R :
- Rohzeit
Bei Videoframes muss die Position des Frames im GOP berücksichtigt werden. Hier berechnet sich die Rohzeit wie folgt:
Nun kann überprüft werden, ob vor der Position des Frames, der gerade überprüft wird, Frames verloren gegangen sind. Dies ist der Fall, wenn die Rohzeit TR größer ist als die Abspielstartzeit TF, die für diesen Frame aus dem Packet-Header oder PES-Header des Paketes berechnet wurde, in den der Beginn des Frames fällt.Now it can be checked if frames have been lost in front of the position of the frame being checked. This is the case if the raw time T R is greater than the play start time T F calculated for that frame from the packet header or PES header of the packet in which the beginning of the frame falls.
Die o. g. Beschreibung des erfindungsgemäßen Verfahrens wird in Form eines Flussdiagramms in
Damit das erfindungsgemäße Verfahren auch dann noch anwendbar ist, wenn mehr als ein Frame verloren gegangen ist, wird ermittelt, wie viele Frames vor dem gerade untersuchten Frame verloren gegangen sind. Dies ist erforderlich, da Störungen, die die korrekte Digitalisierung oder Übertragung verhindern, durchaus auch dazu führen können, dass mehrere Frames verloren gehen.So that the method according to the invention is still applicable even if more than one frame has been lost, it is determined how many frames have been lost before the frame just examined. This is necessary because disturbances that prevent proper digitization or transmission can also result in multiple frames being lost.
Die Anzahl NV der fehlenden Frames kann für Audiodatenströme mit der Formel
Es ist erforderlich, bei Feststellung eines oder mehrerer fehlender Frames den Offset des Datenstroms um die Abspielzeit der verlorenen Frames zu erhöhen, oder den für die Berechnung der Rohzeit herangezogenen Offset des Datenstroms um die Abspieldauer der verlorenen Frames zu erhöhen, um nach der Erkennung des ersten Frames, vor dem ein einzelnes Frame oder ein Block von Frames verloren gegangen ist, auch noch weitere verlorene Frames zu erkennen. Würde man die Register des Verfahrens nach der Erkennung eines solchen Fehlers nicht korrigieren, würde bei jedem weiteren Frame ein Verlust von Frames erkannt werden. Diese Korrektur kann erfindungsgemäß durch Addieren der Anzahl der verlorenen Frames NV zu dem Zähler der bisher aufgetretenen Frames NF erfolgen. Diese Realisierung bedingt u. U. einen Rundungsfehler, ist jedoch insbesondere bei Integration des erfindungsgemäßen Verfahrens in eine Hardwarelösung sehr leicht zu realisieren. Alternativ dazu kann dieses Ziel ebenfalls erreicht werden, in dem das Register oder die Variable für den Offset des Datenstroms, in dem der Verlust von Frames entdeckt wurde, um die Abspieldauer der verlorenen Pakete erhöht werden. Auch damit erreicht man, dass ein Fortsetzen des Vergleichs möglich ist.It is necessary, upon detection of one or more missing frames to increase the offset of the data stream by the playing time of the lost frames, or increase the used for the calculation of the raw time offset of the data stream by the playing time of the lost frames after the detection of the first Frames in front of which a single frame or a block of frames has been lost, also detect other lost frames. If one did not correct the registers of the method after detecting such an error, a loss of frames would be detected every other frame. This correction can be made according to the invention by adding the number of lost frames N V to the counter of the previously occurred frames N F. This realization requires u. U. a rounding error, but is particularly easy to implement in particular when integrating the method according to the invention in a hardware solution. Alternatively, this goal can also be achieved by increasing the lost-packet playback period or offset variable in the data stream in which the loss of frames was detected. This also achieves that a continuation of the comparison is possible.
Nachdem wie oben beschrieben das Fehlen von Rahmen erkannt und die Anzahl der fehlenden Rahmen ermittelt wurde, ist es notwendig, die fehlenden Rahmen zu ersetzen, um z. B. den Verlust der Synchronisation zwischen Bild und Ton bei der Weiterverarbeitung von digitalen Videos, in deren Datenströmen Frames verloren gegangen sind, zu verhindern.After recognizing the lack of frames and determining the number of missing frames as described above, it is necessary to replace the missing frames to e.g. B. to prevent the loss of synchronization between image and sound in the processing of digital video in the data streams are lost frames.
Hierzu werden die Synchronisationsinformationen, die nur in den Packet- und PES-Headern des gebundenen Videos vorhanden sind, und bei der Weiterverarbeitung verloren gehen können, in die Video- und Audiodatenströme formatkonform z. B. als User Data eingefügt. Nach der Weiterverarbeitung des digitalen Videos ist dann noch eine Nachbearbeitung erforderlich, die die im Zuge der Weiterverarbeitung eventuell falsch gesetzten Synchronisationsinformationen mit Hilfe der in die Video- und Audiodatenströmen eingefügten Informationen korrigiert.For this purpose, the synchronization information, which is present only in the Packet and PES headers of the bound video, and can be lost during further processing, in the video and audio data streams format compliant z. B. inserted as user data. After the further processing of the digital video then a post-processing is required, which corrects the possibly incorrectly set in the course of processing synchronization information using the information inserted into the video and audio data streams.
Bei Videodatenströmen kann man z. B. ausnutzen, dass die MPEG-Formate das Einfügen von Benutzerdaten zulassen. Diese Benutzerdaten werden z. B. zum Einfügen der Information, mit welchem Encoder das Video komprimiert wurde, genutzt. Benutzer-Daten können in Videodatenströmen an jede Stelle außerhalb eines von einem MPEG-Header umschlossenen Bereichs geschrieben werden. Sie beginnen mit einem User Data Header. Der User Data Header besteht aus der 24 Bit langen Synchronisationsbitfolge (0x000001) und der 8 Bit langen Kennung des User Data Headers (0xB2). Bezüglich des Inhalts der Benutzerdaten gibt es nur die Einschränkung, dass diese die 24 Bit lange Synchronisationsbitfolge (0x000001) nicht enthalten darf da diese den Beginn des nächsten MPEG-Headers signalisiert, mit dem der Benutzerdatenblock endet. Um die Synchronisationsinformationen aus dem Paket-Headern des Systemstroms zu sichern, die bei der Weiterverarbeitung verloren gehen würden, kann man somit einen User Data Block erzeugen. Dabei reicht es aus, aus jedem Paket, in dem ein Picture-Header oder ein Frame-Header beginnt, die Inhalte der Felder PRESENTATION TIME STAMP im PES-Header oder/und SYSTEM CLOCK REFERENCE im Packet Header des Paketes, als Benutzerdaten einzufügen. Zusätzlich müssen diese beiden Werte für das vorhergehende Frame im Datenstrom gesichert werden, um später erkennen zu können, ob das Video geschnitten wurde. Zusätzlich ist eine Kennung erforderlich, an der dieser Benutzerdatenblock als ein von dem erfindungsgemäßen Verfahren erzeugten Datensatz erkannt werden kann. Für diese Kennung kann z. B. eine Zeichenkette verwendet werden, eine zusätzliche Checksumme über die Zeichenkette und die gesicherten Daten kann die Wahrscheinlichkeit der Erkennung erhöhen.For video streams can be z. B. exploit that the MPEG formats allow the insertion of user data. This user data is z. For example, to insert the information with which encoder the video was compressed, used. User data may be written in video streams to any location outside of an area enclosed by an MPEG header. They start with a user data header. The user data header consists of the 24-bit synchronization bit sequence (0x000001) and the 8-bit identifier of the user data header (0xB2). Concerning the content of the user data, there is only the restriction that it can not contain the 24-bit synchronization bit sequence (0x000001) since this signalizes the beginning of the next MPEG header with which the user data block ends. In order to save the synchronization information from the packet header of the system stream, which would be lost during further processing, you can thus generate a user data block. It suffices to insert the contents of the fields PRESENTATION TIME STAMP in the PES header or / and SYSTEM CLOCK REFERENCE in the packet header of each package in which a picture header or a frame header begins as user data. In addition, these two values for the previous frame must be saved in the data stream in order to be able to recognize later whether the video was cut. In addition, an identifier is required at which this user data block can be recognized as a data record generated by the method according to the invention. For this identifier can z. For example, if a string is used, an extra checksum over the string and the saved data may increase the likelihood of detection.
Zur Wiederherstellung der Synchronisation nach der Weiterverarbeitung des digitalen Videos in einem zweiten Schritt wird die Synchronisationsinformationen in den Feldern „PRESENTATION TIME STAMP” im „PACKETIZED ELEMENTARY STREAM” Header oder/und „SYSTEM CLOCK REFERENCE” aus dem „PACKET HEADER” eines jeden Paketes des bei der Weiterverarbeitung erzeugten Systemstroms unter Verwendung der vor der Weiterverarbeitung erzeugten Systeminformationscontainer wiederhergestellt. Bei dieser Weiterverarbeitung (z. B. das Authoring als DVD oder das Schneiden des Videos) werden in der Regel die Datenströme gedemultiplext und anschließend wieder gemultiplext. Dabei gehen in der Regel u. a. die beim erstmaligen Erzeugen des gebundenen Videos erzeugten Zeitstempel verloren. Wurden diese entsprechend dem erfindungsgemäßen Verfahren im Datenstrom als Wiederherstellungsinformationen gespeichert, können mit Ihnen die Felder PRESENTATION TIME STAMP im PES-Header oder/und SYSTEM CLOCK REFERENCE im Packet Header aller Pakete des Datenstroms, aus dem sie entnommen wurden, wiederhergestellt werden. Wird in einem Video- oder Audiodatenstrom ein Block mit Wiederherstellungsinformationen gefunden, werden in die Paketheader des Paketes, in dem dieser Block endet, die in diesem Block enthaltenen Werte für die Felder PRESENTATION TIME STAMP oder/und SYSTEM CLOCK REFERENCE geschrieben. Alle folgenden Paketheader des Datenstroms mit der gleichen Stream-ID werden in gleicher Weise korrigiert, bis der nächste Block mit Wiederherstellungsinformationen gefunden wird. Wurde das digitale Video geschnitten, muss dieser Wert jedoch korrigiert werden. Dies kann daran erkannt werden, wenn die gesicherte Synchronisationsinformation des letzten Frames im gerade bearbeiteten Frame sich von der Synchronisationsinformation, die für das vorhergehende Frame gesichert war, abweicht. Dann muss die Synchronisationsinformation, die in den weiterverarbeiteten Systemstrom geschrieben wird, um die Differenz zwischen diesen beiden Werten korrigiert werden.In order to restore synchronization after further processing of the digital video in a second step, the synchronization information in the fields "PRESENTATION TIME STAMP" in the "PACKETIZED ELEMENTARY STREAM" header or / and "SYSTEM CLOCK REFERENCE" from the "PACKET HEADER" of each packet of the system stream generated during further processing is restored using the system information containers generated prior to further processing. In this further processing (for example authoring as a DVD or editing the video), the data streams are generally demultiplexed and then multiplexed again. As a rule, among other things, the timestamps generated when the bound video is generated for the first time are lost. If these were stored in the data stream as recovery information according to the method of the invention, the PRESENTATION TIME STAMP fields in the PES header and / or SYSTEM CLOCK REFERENCE can be restored with you in the packet header of all packets in the data stream from which they were taken. Will be in a video or Audio stream found a block with recovery information is written to the packet headers of the packet in which this block ends, the values contained in this block for the fields PRESENTATION TIME STAMP or / and SYSTEM CLOCK REFERENCE. All subsequent packet headers of the stream with the same stream ID will be similarly corrected until the next block with recovery information is found. However, if the digital video has been edited, this value must be corrected. This can be recognized by the fact that the saved synchronization information of the last frame in the frame being processed deviates from the synchronization information that was saved for the previous frame. Then, the synchronization information written to the further processed system stream must be corrected for the difference between these two values.
Das Entfernen der in die Audio- und Videodatenströme eingefügten zusätzlichen Korrekturinformationen nach dem Binden bzw. Multiplexen des Videos ist sehr aufwändig. Dies gilt insbesondere, wenn das Video für das Brennen auf DVD gemultiplext wurde. In diesem Fall müssten die Navigationsparameter für die Menues der DVD so wie die Abspielmarken und Zeiger, die für den Suchlauf bzw. das Vor- und Rückwärts abspielen mit einem mehrfachen der normalen Geschwindigkeit erzeugt wurden, angepasst werden. Da die eingefügten Daten jedoch in MPEG-Formatkonformen Headern verpackt sind, die vom Abspielgerät oder -programm ignoriert werden, ist es auch nicht unbedingt nötig, sie zu entfernen.Removing the additional correction information inserted into the audio and video streams after binding or multiplexing the video is very expensive. This is especially true if the video has been multiplexed to DVD for burning. In this case, the navigation parameters for the menus of the DVD would have to be adjusted as well as the playheads and hands that were generated for the search or play backwards and forwards at a multiple of the normal speed. However, because the inserted data is packaged in MPEG format compliant headers that are ignored by the player or program, it is not absolutely necessary to remove them.
Sinnvoll ist es jedoch, diese Korrekturinformationen nur dann in den Datenstrom zu schreiben, wenn sich die Synchronisationsinformationen in dem PES- oder/und Packet Header ändern. Dies führt häufig dazu, dass deutlich weniger Overhead durch die Korrekturinformationen entsteht, da vor allem Hardware-Encoder in den Packet- oder PES-Header aller Frames, die zu einem GOP gehören, den gleichen Zeitstempel eintragen. Davon sind nicht nur die Videoframes betroffen. Auch alle Audioframes, die diesem GOP zeitlich zugeordnet sind, erhalten den Zeitstempel aus den Videoframes des GOP's.However, it makes sense to write this correction information into the data stream only if the synchronization information in the PES or / and packet header changes. This often results in significantly less overhead due to the correction information, since, in particular, hardware encoders enter the same time stamp in the packet or PES header of all frames that belong to a GOP. This not only affects the video frames. All audio frames assigned to this GOP also receive the time stamp from the video frames of the GOP.
Der Overhead durch die Korrekturdaten lässt sich noch weiter reduzieren, wenn das Einfügen der zusätzlichen Korrekturinformationen zur Reduzierung der Datenmenge nur dann erfolgt, wenn ein Frame aufgetreten ist, vor dem Frames verloren gegangen sind. Ob ein solches Frame vorliegt, kann mit dem erfindungsgemäßen Verfahren festgestellt werden.The overhead of the correction data can be further reduced if the insertion of the additional correction information to reduce the amount of data only occurs when a frame has occurred before frames have been lost. Whether such a frame is present can be determined by the method according to the invention.
Werden Korrekturinformationen nur vor Frame, vor denen Frames verloren gegangen sind, eingefügt, kann auch statt der absoluten Information (dem Zeitstempel des Frames) die Differenz zwischen dem tatsächlichen und dem erwarteten Zeitstempel in den zur späteren Korrektur eingefügten Block eingetragen werden. Bei der Nachbearbeitung nach dem Weiterverarbeiten des digitalen Videos muss dann der Zeitstempel der Frames des Datenstroms um den in den Datenstrom geschriebenen Korrekturwert erhöht werden. Dazu werden in den Paketheader des Paketes, in dem der Block mit den Korrekturinformationen endet, die in diesem Block enthaltenen Werte für die Felder PRESENTATION TIME STAMP oder/und SYSTEM CLOCK REFERENCE geschrieben. Alle folgenden Paketheader dieses Datenstroms werden in gleicher Weise korrigiert, bis der nächste Block mit Korrekturinformationen gefunden wird. In diesem Fall muss jedoch sicher gestellt werden, dass die eingefügten Korrekturdaten, sollte die Weiterverarbeitung ein Schneiden des Videos beinhalten, nicht gelöscht werden.If correction information is inserted only before the frame before which frames have been lost, then instead of the absolute information (the timestamp of the frame), the difference between the actual and the expected timestamp can also be entered in the block inserted for later correction. During the post-processing after the further processing of the digital video, the time stamp of the frames of the data stream must then be increased by the correction value written in the data stream. To do this, in the packet headers of the package in which the block with the correction information ends, the values for the fields PRESENTATION TIME STAMP or / and SYSTEM CLOCK REFERENCE contained in this block are written. All following packet headers of this data stream are corrected in the same way until the next block with correction information is found. In this case, however, it must be ensured that the inserted correction data, should the further processing include editing the video, not be deleted.
Eine weiteres Verfahren zur Korrektur verlorener Frames umfasst die Schritte:
- – anstatt jedes verlorenen Frames wird ein Frame, der vorzugsweise beim Anzeigen oder Abspielen nicht bemerkbar ist (z. B. ein stiller Audioframe oder ein B-Frame eines Videodatenstroms, in dem ein Standbild encodiert ist), in den Datenstrom eingefügt werden, wobei die eingefügten Frames während der Verarbeitung des zu überprüfenden Datenstroms unter Verwendung von aus diesem Datenstrom entnommenen Parameter erzeugt werden, oder
- – in der für das erfindungsgemäße Verfahren geschaffenen Vorrichtung wird mindestens ein Frame, der vorzugsweise beim Anzeigen nicht bemerkbarer ist, für jede für die von dieser Vorrichtung unterstützten Formate der Audio- und Videodatenströme zulässige Kombination von Parametern, die für das Encodieren relevant sind (wie z. B. Abtastfrequenz oder Auflösung), gespeichert sind, und dass aus diesen vorgehaltenen Frames der zu den Parameter des Datenstroms passende Frame anstatt eines jeden verlorenen Frames in diesen Datenstrom eingefügt.
- Instead of each lost frame, a frame which is preferably not noticeable in the display or playback (eg a silent audio frame or a B-frame of a video data stream in which a still picture is encoded) is inserted in the data stream inserted frames are generated during processing of the data stream to be checked using parameters taken from this data stream, or
- In the device provided for the method according to the invention, at least one frame, which is preferably not noticeable when displaying, is used for each combination of parameters which are relevant for the encoding (such as, for example), for the formats of the audio and video data streams supported by this device B. sampling frequency or resolution), are stored, and that from these retained frames of the frame corresponding to the parameters of the data stream instead of each lost frame inserted in this data stream.
Diese Schritte dienen ebenso dazu, den Verlust der Synchronisation zwischen Bild und Ton bei der Weiterverarbeitung von digitalen Videos, in deren Datenströmen Frames verloren gegangen sind, zu verhindern. Dieses Verfahren soll jedoch auch eingesetzt werden können, wenn eine Nachbearbeitung nach der Weiterverarbeitung nicht möglich ist. Dies kann z. B. der Fall sein, wenn die Weiterverarbeitung mit einem Authoring-Programm für eine DVD erfolgt, das das Zwischenspeichern der zum Brennen auf DVD bestimmten Dateien auf Festplatte nicht erlaubt, sondern die Daten direkt auf DVD brennt. Im Gegensatz zu dem zuvor beschriebenen Verfahren ist es hier auch möglich, im Rahmen der Weiterverarbeitung ein neues Encodieren durchzuführen (wovon jedoch wegen des damit verbundenen Qualitätsverlustes abgeraten werden muss).These steps also serve to prevent the loss of synchronization between image and sound in the further processing of digital video in which data streams have lost frames. However, this method should also be able to be used if post-processing is not possible after further processing. This can be z. For example, if the processing is done with an authoring program for a DVD, which does not allow the caching of the files destined for burning to DVD on hard disk, but burns the data directly to DVD. In contrast to the method described above, it is also possible to carry out a new encoding in the course of further processing (of which However, because of the associated loss of quality must be discouraged).
Gemäß den oben angeführten Schritten werden zur Erreichung dieses Ziels vorencodierte oder zur Laufzeit mit den Parametern des Datenstroms encodierte Frames in den Datenstrom eingefügt Bei Audiodatenströmen ist dies unproblematisch, da es bei den MPEG-Audiokomprimierungsformaten keine Abhängigkeit zwischen den einzelnen Paketen gibt. Das Vorhalten vorencodierter Frames im nicht flüchtigen Speicher der für die Ausführung des erfindungsgemäßen Verfahrens genutzten Vorrichtung bietet sich an, da es nur sehr wenige Parameter gibt, in denen Audio- und Videodatenströme variieren können.In accordance with the above steps, pre-encoded frames or frames encoded at runtime with the parameters of the data stream are inserted into the data stream to achieve this goal. This is not a problem for audio streams because there is no dependency between the individual packets in MPEG audio compression formats. The provision of pre-encoded frames in the non-volatile memory of the apparatus used to carry out the method according to the invention lends itself to the fact that there are very few parameters in which audio and video data streams can vary.
Bei Audiodatenströmen beeinflussen die Anzahl der vorzuencodierenden Frames nur die Abtastrate (zulässige Werte 32,441, 48 und 44,1 kHz) und die Datenrate (16 zulässige Werte). Berücksichtigt man nur die im Bereich der Unterhaltungselektronik anzutreffenden Varianten der MPEG-Audiokompressionsverfahren MPEG 1 Layer 1, MPEG 1 Layer 2, und MPEG 1 Layer 3, ergibt sich eine überschaubare Anzahl von Frames, die man vorkomprimieren muss. Ähnliches gilt für die Audiokompressionsverfahren, die bei den von den MPEG-Formaten abgeleiteten Industriestandards verwendet werden. Dazu gehören Dolby Digital, PCM und Digital Theatre Sound. So sind z. B. bei Dolby Digital die Abtastraten 32, 48 kHz und 44,1 kHz zulässig, so wie 38 verschiedene Werte für die Datenrate. Auf Grund dieser Eigenschaften ist mit dem Einfügen von vorkompilierten Frames wesentlich weniger Aufwand verbunden, als den ganzen oder Teile des Datenstroms neu zu komprimieren, da man es sich damit sparen kann, einen Encoder zu implementieren. Die Verarbeitungszeit wird auf diese Weise ebenfalls reduziert, dies reduziert wiederum ggf. die Anforderungen an die Leistungsfähigkeit der für das erfindungsgemäße Verfahren genutzten Vorrichtung.For audio data streams, the number of frames to be pre-encoded only affects the sampling rate (32.441, 48 and 44.1 kHz admissible values) and the data rate (16 permissible values). If one takes into account only the variants of the MPEG audio
Werden vorencodierte Frames eingefügt, sollten diese vom Betrachter/Zuhörer möglichst nicht bemerkbar sein. Dazu kann z. B. ein stiller Frame (d. h. eine Tonsequenz, in der kein Ton zu hören ist), oder eine Wiederholung des letzten Bildes, so dass das Bild einfriert, verwendet werden. Da im analogen Ausgangsmaterial Störungen, die beim Digitalisieren den Verlust von Frames verursachen, häufig als Bildaussetzer oder durchlaufende Streifen zu sehen sind, lässt sich so sogar häufig eine subjektive Verbesserung der Qualität gegenüber dem analogen Ausgangsmaterial erreichen. Es können jedoch auch andere Frames eingebunden werden, wie z. B. ein Störungssymbol, eine Fehlermeldung oder ein Signalton, um die Störung zu melden.If pre-encoded frames are inserted, they should not be noticeable to the observer / listener. This can z. For example, a silent frame (i.e., a sound sequence in which no sound is heard) or a repeat of the last image so that the image freezes are used. Since in the analogue source material disturbances which cause the loss of frames during digitalisation are frequently seen as picture dropouts or continuous stripes, a subjective improvement in the quality compared to the analogous starting material can even be achieved frequently. However, other frames can be included, such. For example, a fault icon, an error message, or a beep to report the problem.
Bei Videodatenströmen müssen ebenfalls nur wenige Frames vorkomprimiert werden, zumindest, wenn man sich auf die Auflösungen beschränkt, die DVD-Player unterstützen. Diese sind 728 × 576, 704 × 576, 352 × 576 und 352 × 288 bei PAL (in Europa u. a.) so wie 720 × 480, 704 × 480, 352 × 480 und 352 × 240 bei NTSC (in den USA u. a). Andere Parameter des Videodatenstroms, wie z. B. das Seitenverhältnis oder die Bildrate, haben keinen Einfluss auf die einzufügenden Frames. Die Auflösung des Videodatenstroms kann z. B. aus dem System-Header des zu korrigierenden Datenstroms gelesen werden.For video streams, too, only a few frames need to be pre-compressed, at least, if you restrict yourself to the resolutions that support DVD players. These are 728x576, 704x576, 352x576 and 352x288 at PAL (in Europe and others) such as 720x480, 704x480, 352x480 and 352x240 at NTSC (in the USA et al ). Other parameters of the video data stream, such as. As the aspect ratio or the frame rate, have no effect on the frames to be inserted. The resolution of the video data stream can, for. B. can be read from the system header of the data stream to be corrected.
Auf den ersten Blick problematisch erscheint dagegen, dass die Frames von Videodatenströmen voneinander abhängen, da in jedem GOP nur ein Bild, das I-Frame, vorhanden ist, das die gesamte Bildinformation enthält. Alle weiteren Bilder enthalten nur noch die Informationen, in denen sie sich vom I-Frame oder von anderen Bildern des GOP unterscheiden. Um ein fehlendes Bild zu ersetzen, ist es sinnvoll, sich zu darauf zu beschränken, das Bild einzufrieren. In diesem Fall kann man ein Bild einfügen, das sich gegenüber dem vorhergehenden Bild nicht ändert. Vergleicht man nun 2 Frames völlig unterschiedlicher, jedoch unter den gleichen Randbedingungen erzeugten Videos, die mit den gleichen Parametern und dem gleichen Encoder komprimiert wurden, und greift in jedem Video einen Abschnitt heraus, in dem sich nichts bewegt, stellt man fest, dass die von anderen Frames abhängenden Frames (B-Frames oder P-Frames) bei beiden Videos identisch sind. Man kann also bei unbewegten Sequenzen Frames aus einem Video herausnehmen und damit ein Frame in einer unbewegten Sequenz eines anderen Videos ersetzen, ohne dass sich etwas ändert, obwohl beide Videos völlig unterschiedliche Standbilder zeigen. Man kann mit dem herausgenommenen Frame sogar ein Frame in einer bewegten Sequenz ersetzen. In diesem Fall friert allerdings das Bild ein. Befindet sich das herausgenommene Frame an einer anderen Stelle im GOP, als das eingefügte, muss man ggf. den Verweis auf das Frame oder die Frames, zu denen das eingefügte Frame die Deltainformationen enthält, anpassen. Hierzu muss vor allem der Parameter Temporal Sequence Number in den Headern der Frames des GOP korrigiert werden.On the other hand, it seems problematic at first sight that the frames of video data streams depend on each other, since in each GOP only one picture, the I-frame, is present, which contains all the picture information. All other images contain only the information in which they differ from the I-frame or other images of the GOP. To replace a missing image, it makes sense to limit yourself to freezing the image. In this case, you can insert a picture that does not change from the previous picture. If you now compare 2 frames of completely different, but under the same conditions generated videos that were compressed with the same parameters and the same encoder, and takes in each video a section in which nothing moves, you will find that from frames other than frames (B-frames or P-frames) are identical on both videos. It is therefore possible to remove frames from a video in still sequences, thereby replacing a frame in a still sequence of another video without any changes, even though both videos show completely different still images. You can even replace a frame in a moving sequence with the removed frame. In this case, however, the picture freezes. If the removed frame is in a different location in the GOP than the inserted frame, you may need to adjust the reference to the frame or frames to which the inserted frame contains the delta information. In particular, the parameter Temporal Sequence Number in the headers of the frames of the GOP must be corrected.
Um fehlende Frames zu ersetzen, können also zusätzliche B- oder P-Frames, vorzugsweise B-Frames, in einen Videodatenstrom eingefügt werden, ohne andere Frames zu entfernen. Damit steigt allerdings die Anzahl der Frames im GOP und auch seine Zusammensetzung gegenüber anderen GOPs des Videos. Insbesondere, wenn das Ausgangsmaterial für eine DVD bestimmt ist, bei der ein GOP 15 bzw. 18 Frames (für PAL bzw. NTSC) haben muss, verletzt man damit u. U. die Spezifikationen. In der Praxis hat sich jedoch erwiesen, dass die getesteten Hardware- und Software-DVD-Player solche überlangen GOP's ohne Probleme abspielen konnten. Dafür, dass solche überlangen GOP's in bestimmten Grenzen unkritisch sind, spricht auch, dass am Markt Verleih- und Kauf-DVD's erhältlich sind, die die vom DVD-Whitebook vorgeschriebenen GOP-Längen nicht einhalten. Weiterhin hat ein getestetes kommerzielles DVD-Authoring-Programm, das die auf DVD zu brennenden Videodateien auf DVD-Konformität prüft, und nur neu encodiert, wenn die Videodatei bei dieser Prüfung durchfällt, Videodateien mit eingefügten B-Frames ohne neues Encodieren auf DVD gebrannt.Thus, to replace missing frames, additional B or P frames, preferably B frames, may be inserted into a video stream without removing other frames. However, this increases the number of frames in the GOP and its composition compared to other GOPs of the video. In particular, if the source material is intended for a DVD in which a GOP must have 15 or 18 frames (for PAL and NTSC, respectively), it will hurt u. U. the specifications. In practice, however, it has been proven that the tested hardware and software DVD players could play such extra-long GOP's without any problems. That such extra-long GOPs are not critical within certain limits, also speaks that on the market rental and purchase DVD's are available that do not comply with the prescribed by the DVD Whitebook GOP lengths. Further, a tested commercial DVD authoring program which checks the DVD files to be burned for DVD for DVD conformity, and only re-encodes if the video file fails in this test, burned video files with inserted B frames to DVD without re-encoding.
Die Vorteile des erfindungsgemäßen Verfahrens sind, dass es die Möglichkeiten zur Erkennung, ob ein Video fehlerhaft digitalisiert oder digital übertragen wurde, erweitert. Fehlende Frames in digitalen Videos sind ein häufig aufretender Fehler, der wie bereits eingangs beschrieben, eine ganze Reihe von Ursachen haben kann. Die persönliche Erfahrung des Antragstellers ist, dass bei der Digitalisierung von VHS-Videokassetten, wenn diese erst ein bestimmtes Alter erreicht haben, verlorene Frames nicht vermieden werden können, egal wie hochwertig die für die Digitalisierung eingesetzten Geräte sind und wie sorgfältig man vorgeht. Dazu kommt, dass sich bei herkömmlichem Vorgehen fehlende Frames erst dann bemerkbar machen, wenn man ein digitales Video weiterverarbeitet.The advantages of the method according to the invention are that it expands the possibilities for detecting whether a video has been incorrectly digitized or transmitted digitally. Missing frames in digital video are a common error that, as described earlier, can have a number of causes. Applicant's personal experience is that when digitizing VHS video cassettes, once they reach a certain age, lost frames can not be avoided, no matter how high-quality the devices used for digitization are and how careful they are. In addition, with conventional procedure, missing frames only become noticeable when one processes a digital video.
Insbesondere auf Grund der unterschiedlichen Längen von Video- und Audioframes führen Bedingungen, bei denen während der Digitalisierung Frames verloren gehen, nach einer Weiterverarbeitung fast immer zu einem Verlust der Synchronisation von Bild und Ton. Eine fehlende Synchronisation von Bild und Ton wirkt sich aber sehr störend aus.In particular, due to the different lengths of video and audio frames, conditions that lose frames during digitization almost always result in loss of synchronization of image and sound after further processing. A missing synchronization of picture and sound is very disturbing.
Während sich bei analogen Video eine Störung nur für kurze Zeit auswirkt, kann das selbe Video nach der Digitalisierung und Weiterverarbeitung unbrauchbar sein, da die verlorene Synchronisation zwischen Audio und Video an der Stelle beginnt, an der Frames fehlen, und sich bis zu seinem Ende fortsetzt. Besonders ärgerlich ist es, wenn man ein analoges Video erst digitalisiert hat, es dann löscht, und erst nach der anschließenden Weiterverarbeitung bemerkt, dass die Digitalisierung misslungen ist. Dies lässt sich mit dem erfindungsgemäßen Verfahren vermeiden.While interference in analog video is short lived, the same video may become unusable after digitizing and further processing, as the lost audio / video synchronization begins at the point where frames are missing and continues to its end , It is particularly annoying when you have digitized an analog video first, then deletes it, and only after the subsequent processing notes that the digitization has failed. This can be avoided with the method according to the invention.
Weiterhin hat das erfindungsgemäße Verfahren den Vorteil, dass sich mit ihm analoge Videos auch dann noch „retten” lassen, wenn keine fehlerfreie Digitalisierung mehr möglich ist.Furthermore, the inventive method has the advantage that can be with him analog video even "save" if no error-free digitization is possible.
Vorteilhafte Ausgestaltungen des erfindungsgemäßen VerfahrensAdvantageous embodiments of the method according to the invention
Eine vorteilhafte Ausgestaltung der Erfindung ist im Patentanspruch 2 angegeben. Der Weiterbildung der Erfindung nach diesem Patentanspruch liegt zu Grunde, dass das Verfahren in Patentanspruch 1, Merkmal β1 in Verbindung mit Merkmal β2.2 nur bei seiner Anwendung auf Audioframes vollständig standardkonform ist. Ziel des in Patentanspruch 2 beschriebenen Verfahrens ist es daher, auch fehlende Frames in Videodatenströmen standardkonform zu korrigieren. Im Patentanspruch 2 wird daher vorgeschlagen, dass zur Wiederherstellung der Synchronisation zwischen Bild und Ton eventuell fehlende Audioframes in den Audiodatenströmen eingefügt werden und an den Stellen, an denen Videoframes fehlen, die zu den fehlenden Videoframes synchronen Audioframes wieder entfernt werden. Da Audio- und Videoframes unterschiedlich lang sein können, muss ggf. noch die Anzahl der pro verlorenem Videoframe zu entfernenden Audioframes variiert werden, um zu erreichen, dass die Abspielzeiten der entfernten Audioframes und der verlorenen Videoframes etwa gleich lang sind.An advantageous embodiment of the invention is specified in
Eine weitere vorteilhafte Weiterbildung der Erfindung wird in dem Patentanspruch 3 genannt. Nach Patentanspruch 3 ist es sinnvoll, die für das erfindungsgemäße Verfahren eingesetzte Vorrichtung gleichzeitig zum Demultiplexen des digitalen Videos zu benutzen. Dies ist deshalb vorteilhaft, weil das erfindungsgemäße Verfahren die Suche nach den Frame und den Paketheadern so wie die datenstromweisen Betrachtung bei der Auswertung erfordert, und somit nur geringfügig ergänzt werden muss, um die Funktion eines Demultiplexers zu erfüllen. Weiterhin ist es wesentlich einfacher, fehlende Frames in einen Video- oder Audiodatenstrom einzufügen, als sie in ein gebundenes Video unter Berücksichtigung der sich in den Paketen ergebenden Änderungen einzubinden.A further advantageous embodiment of the invention is mentioned in the
Bei vielen im Rahmen der Weiterverarbeitung von digitalen Videos auftretenden Aufgaben wie z. B. dem Schneiden, dem Brennen auf DVD oder dem Encodieren muss der Systemstrom, als der das digitale Video in der Regel vorliegt, gedemultiplext werden. Daher ist es gemäß Patentanspruch 3 ebenfalls sinnvoll, das erfindungsgemäße Verfahren in eine solche Anwendung zu integrieren.For many in the processing of digital video occurring tasks such. For example, cutting, burning to DVD, or encoding must demultiplex the system stream as the digital video is typically present. Therefore, it is also useful according to
Nachfolgend wird die Erfindung anhand zweier Anwendungsfälle des näheren erläutert. Es zeigen:The invention will be explained with reference to two applications of the closer. Show it:
In der Unterhaltungselektronik hat sich bei den Endverbrauchern das VHS-System für die Aufzeichnung von Videoquellen wie z. B. Fernsehsendungen durchgesetzt. Zeitweise wurde dieses System auch von Hobbyfilmern verwendet. VHS ist zum Zeitpunkt der Stellung dieses Patentantrags seit ca. 30 Jahren auf dem Markt.In consumer electronics, the end user has the VHS system for recording video sources such. B. enforced television broadcasts. At times, this system was also used by amateur filmmakers. VHS has been on the market for about 30 years at the time of filing this patent application.
Bei VHS handelt es sich um ein analoges Videoaufzeichnungsverfahren, das nunmehr sukzessive durch digitale Videoaufzeichnungsverfahren ersetzt wird. Erste Händler haben VHS-Videorekorder bereits aus ihrem Sortiment genommen. Damit ergibt sich für Endverbraucher, die bespielte VHS-Kassetten besitzen, das Problem, dass für die darauf aufgezeichneten Videos in absehbarer Zeit keine Abspielgeräte mehr verfügbar sein werden. Besonders wenn auf diesen Kassetten persönliche Erinnerungen aufgezeichnet sind, besteht der Wunsch, deren Inhalte auf ein digitales Medium zu übertragen. Darüber hinaus Lässt die Qualität der auf Magnetbändern, wie sie bei VHS-Videokassetten zum Einsatz kommen, aufgezeichneten analogen Videos mit der Zeit nach. Da dies bei digital aufgezeichnet Videos nicht der Fall ist, entsteht durch diese Übertragung ein zusätzlicher Vorteil für den Verbraucher. Dadurch wird die Nachfrage nach Lösungen, die Verbraucher und Dienstleister beim Digitalisieren analoger Videos unterstützen, steigen.VHS is an analogue video recording method that is now gradually being replaced by digital video recording. First vendors have already removed VHS VCRs from their product range. This results for end users who have pre-recorded VHS tapes, the problem that for the recorded video in the foreseeable future, no players will be available more. Especially when personal memories are recorded on these cartridges, there is a desire to transfer their contents to a digital medium. It also reduces the quality of analog video recorded on magnetic tapes used with VHS video cassettes over time. Since this is not the case with digitally recorded videos, this transmission creates an additional benefit for the consumer. This will increase the demand for solutions that help consumers and service providers to digitize analog video.
Wie bereits an anderer Stelle in diesem Patentantrag geschildert, kann aus den Eigenschaften der zum Stand der Technik gehörenden und für das Abspielen analoger Videos und das Aufnehmen digitaler Videos eingesetzten Vorrichtungen geschlossen werden, dass die Digitalisierung von Videos ein Vorgang ist, bei dem kurzfristige Störungen des Ausgangsmaterials dazu führen können, dass nach der Weiterverarbeitung des digitalen Videos Ton und Bild nicht mehr synchron sind. Bereits ein geringer Zeitversatz von Bild und Ton wird jedoch als sehr störend empfunden.As already described elsewhere in this patent application, it can be inferred from the characteristics of the prior art devices used for playing analog video and recording digital video that video digitization is a process involving the short term disruption of video Output material can cause that after further processing of the digital video sound and picture are out of sync. However, even a slight time offset of image and sound is perceived as very disturbing.
Die in
Im ersten, in
Bei der Auswertung und Korrektur des aufgezeichneten Videos mit dem erfindungsgemäßen Verfahren wurde das in
Insgesamt wurden in Folge der Störungen im Übergangsbereich 19 Videoframes und 16 Audioframes nicht aufgezeichnet. Vor allem da die Abspieldauer der Audioframes 24 ms (sie wurden als MPEG I Layer 2 Audiodaten encodiert) und der Videoframes 40 ms (das Video lag als PAL-Signal mit 25 Bildern/s vor) beträgt, ergibt sich zwischen Audio und Video ein zeitlicher Versatz von 360 ms ab diesem Übergangsbereich. Dieser zeitliche Versatz wird jedoch erst nach dem Brennen auf DVD sicht- bzw. hörbar. Um dies optisch zu kontrollieren, wurden in Schritt 5) sowohl die aufgezeichnete als auch die mit dem Verfahren β des Patentanspruchs 1 erzeugte korrigierte Datei auf DVD gebrannt und anschließend betrachtet. Dabei wurde festgestellt, dass selbst dieser kurze Versatz von 360 ms in dem nicht korrigierten Video schon wahrnehmbar ist. Overall, 19 video frames and 16 audio frames were not recorded as a result of the transients in the transition area. Especially since the playback time of the audio frames is 24 ms (they were encoded as
Zur Korrektur des Systemstroms wurde das Verfahren β des Patentanspruchs 1, ausgewählt, weil es ein Ergebnis liefert, das nicht ganz konform zu den relativ engen Spezifikationen des DVD-Whitebooks ist, und daher in Versuchen abgeklärt werden musste, ob die damit erzeugten DVD's auch auf verschiedenen Typen von DVD-Playern lauffähig sind.For correcting the system current, the method β of
Im zweiten, in
Die Auswertung des für den zweiten Anwendungsfall digital aufgezeichneten Videos erfolgte wieder wie in
Bei näherer Betrachtung erkennt man, dass die TV-Tuner-Karte wegen des fehlenden Eingangssignals während der Zeit, in dem noch nichts abgespielt wird, Frames verliert. In dem Bereich, in dem sich das Bild beim Start des Abspielens stabilisiert, ist eine Häufung verlorener Frames zu beobachten. Insgesamt gehen 54 Videoframes und 40 Audioframes in der Einschaltphase verloren. Da zusätzlich zu der höheren Anzahl verlorener Videoframes die Abspieldauer der Audioframes 24 ms (sie sind als MPEG I Layer 2 Audiodaten encodiert) und der Videoframes 40 ms (das Video lag als PAL-Signal mit 25 Bildern/s vor) beträgt, ergibt sich zwischen Audio und Video ein zeitlicher Versatz von 1,200 s ab diesem Übergangsbereich. Dieser zeitliche Versatz wird jedoch erst nach dem Brennen auf DVD sicht- bzw. hörbar. Um dies optisch zu kontrollieren, wurden in
Die in Schritt 4 gebrannte DVD wurde mit insgesamt 4 kommerziellen und einem Open-Source DVD-Authoring-Programm erzeugt. Bei allen 5 auf diese Weise erstellten DVD's waren Video und Audio bei den nicht korrigierten Dateien asynchron. 3 der kommerziellen, getesteten Authoring-Programme hatten dabei die Eigenschaft, das Material grundsätzlich neu zu encodieren. Auch bei diesen Programmen waren Video und Audio bei den nicht korrigierten Dateien asynchron. Offenbar encodieren Sie für jedes Frame der Eingangsdatei ein Frame für die Ausgangsdatei, ohne sich um die Synchronisationsinformationen zu kümmern. Bei einem der getesteten Programme, das das Video grundsätzlich neu encodiert, hatte die nicht vorhandene Synchronisation zwischen Video und Audio bei einer der nicht korrigierten Dateien sogar dazu geführt, dass eine direkt dahinter aufgezeichnete, einwandfreie Datei ebenfalls die Synchronisation zwischen Bild und Ton verloren hatte.The DVD burned in
Die Qualität von analog aufgezeichnetes Videomaterial kann, besonders wenn die Aufzeichnungen schon einige Jahre alt sind, oder wenn auf einer Kassette mehrere Aufzeichnungen vorhanden sind, nicht ausreichend für eine Digitalisierung und anschließende digitale Weiterverarbeitung mit den zum Stand der Technik gehörenden Verfahren sein.The quality of analog recorded video material, especially if the recordings are already several years old, or if multiple recordings are present on a cassette, may not be sufficient for digitization and subsequent digital processing with the prior art methods.
Wie in den Beispielen aufgezeigt, berücksichtigen die auf dem Markt vorhandenen und dem Antragsteller bekannten Produkte zur Erstellung von DVD's die besondere Problematik verlorener Frames bei der digitalen Aufzeichnung von analogen Quellen mit geringer Qualität nicht ausreichend. Das erfindungsgemäße Verfahren bietet dagegen die Möglichkeit, solche Aufnahmen zu „retten”. Da auf dem Endverbrauchersektor analoge VHS-Videorekorder über ca. 30 Jahre den Markt für Videoaufzeichnungs- und wiedergabegeräte dominiert haben, und diese nunmehr durch digitale Techniken abgelöst werden, ist mit einer großen Anzahl von Videokassetten zu rechnen, für die von ihren Besitzerinnen oder Besitzern eine Digitalisierung beabsichtigt ist. Ein hoher Anteil davon wird inzwischen so stark gealtert sein, dass eine Aufbereitung ihrer Qualität z. B. mit dem erfindungsgemäßen Verfahren erforderlich sein dürfte.As shown in the examples, the DVD-making products available on the market and known to the applicant do not sufficiently take into account the particular problem of lost frames in the digital recording of low-quality analogue sources. By contrast, the method according to the invention offers the possibility of "saving" such recordings. As VHS video recorders in the consumer sector have dominated the video recording and reproducing market for more than 30 years and are now being replaced by digital techniques, a large number of videocassette tapes are expected for their owners or owners Digitization is intended. A high proportion of it will meanwhile have aged so much that a treatment of their quality z. B. may be required with the inventive method.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510012668 DE102005012668B4 (en) | 2005-03-17 | 2005-03-17 | Frame error detection and correction method for digital video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510012668 DE102005012668B4 (en) | 2005-03-17 | 2005-03-17 | Frame error detection and correction method for digital video |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102005012668A1 DE102005012668A1 (en) | 2010-05-20 |
DE102005012668B4 true DE102005012668B4 (en) | 2012-02-16 |
Family
ID=42104748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200510012668 Expired - Fee Related DE102005012668B4 (en) | 2005-03-17 | 2005-03-17 | Frame error detection and correction method for digital video |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005012668B4 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491610B (en) * | 2020-11-25 | 2023-06-20 | 云南电网有限责任公司电力科学研究院 | FT3 message anomaly simulation test method for direct current protection |
CN115171241B (en) * | 2022-06-30 | 2024-02-06 | 南京领行科技股份有限公司 | Video frame positioning method and device, electronic equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0618728A2 (en) * | 1993-02-26 | 1994-10-05 | Sony Corporation | Synchronization of audio/video information |
JPH10126772A (en) * | 1996-10-18 | 1998-05-15 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Dynamic image data transfer system |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
EP0905976A1 (en) * | 1997-03-17 | 1999-03-31 | Matsushita Electric Industrial Co., Ltd. | Method of processing, transmitting and receiving dynamic image data and apparatus therefor |
US6137920A (en) * | 1996-05-01 | 2000-10-24 | Hughes Electronics Corporation | Method and system for generating image frame sequences using morphing transformations |
US20030046711A1 (en) * | 2001-06-15 | 2003-03-06 | Chenglin Cui | Formatting a file for encoded frames and the formatter |
DE60020672T2 (en) * | 2000-03-02 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Method and apparatus for repeating the video data frames with priority levels |
-
2005
- 2005-03-17 DE DE200510012668 patent/DE102005012668B4/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0618728A2 (en) * | 1993-02-26 | 1994-10-05 | Sony Corporation | Synchronization of audio/video information |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US6137920A (en) * | 1996-05-01 | 2000-10-24 | Hughes Electronics Corporation | Method and system for generating image frame sequences using morphing transformations |
JPH10126772A (en) * | 1996-10-18 | 1998-05-15 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | Dynamic image data transfer system |
EP0905976A1 (en) * | 1997-03-17 | 1999-03-31 | Matsushita Electric Industrial Co., Ltd. | Method of processing, transmitting and receiving dynamic image data and apparatus therefor |
DE60020672T2 (en) * | 2000-03-02 | 2005-11-10 | Matsushita Electric Industrial Co., Ltd., Kadoma | Method and apparatus for repeating the video data frames with priority levels |
US20030046711A1 (en) * | 2001-06-15 | 2003-03-06 | Chenglin Cui | Formatting a file for encoded frames and the formatter |
Also Published As
Publication number | Publication date |
---|---|
DE102005012668A1 (en) | 2010-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60212379T2 (en) | METHOD AND DEVICE FOR DATA RECORDING | |
DE69934085T2 (en) | RASTER-BASED EDITING OF CODED AUDIOVISUAL SEQUENCES | |
DE60104013T2 (en) | TRANSCODING PROGRESSIVE-ENCODED I-SLICE RECORDED MPEG DATA TRENDS FOR TRICK MODES | |
DE60313613T2 (en) | ROBUST PROCEDURE TO GET AUDIO / VIDEO SYNCHRONIZATION IN MPEG DECODERS FOR PERSONAL VIDEO RECORDING APPLICATIONS | |
DE60102831T2 (en) | SYSTEM AND METHOD FOR PROCESSING MPEG STROEMES FOR INSERTING FILE INDEX | |
DE60223483T2 (en) | A method of recording a digital broadcast program and time based replay of a recorded broadcast program and associated apparatus | |
US8942539B2 (en) | Method of setting a system time clock at the start of an MPEG sequence | |
DE69535631T2 (en) | Recording and playing back digital data | |
JP3172635B2 (en) | Digital recording and playback device | |
DE69637127T2 (en) | Method and apparatus for grid accurate access to digital audiovisual information | |
JP5977760B2 (en) | Receiving device for receiving a plurality of real-time transmission streams, its transmitting device, and multimedia content reproducing method | |
DE69636337T2 (en) | SYSTEM FOR CHANGING CODED VIDEO FRAME | |
EP1867155B1 (en) | Method and arrangement for storing and playing back tv programmes | |
DE602004000879T2 (en) | Image display device | |
DE69535457T2 (en) | Data recording and playback | |
DE69633365T2 (en) | Method and device for recording data on a record carrier and method and device for reproducing the same, and a record carrier | |
DE60309914T2 (en) | ITV trick play via a digital interface | |
JP2009017283A (en) | Recording/reproducing apparatus, recording apparatus, reproducing apparatus, recording method, reproducing method and computer program | |
US20110075994A1 (en) | System and Method for Video Storage and Retrieval | |
US20090204630A1 (en) | Digital video apparatus and related method for generating index information | |
DE102005012668B4 (en) | Frame error detection and correction method for digital video | |
US20060210248A1 (en) | Information recording apparatus and information | |
JP4468497B2 (en) | Method and apparatus for reproducing original data of digitally encoded video film | |
US6128435A (en) | Good quality video for the internet at very low bandwidth | |
JP4286410B2 (en) | Recording / playback device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8122 | Nonbinding interest in granting licenses declared | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20120517 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20131001 |