DE102005012668B4 - Frame error detection and correction method for digital video - Google Patents

Frame error detection and correction method for digital video Download PDF

Info

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
Application number
DE200510012668
Other languages
German (de)
Other versions
DE102005012668A1 (en
Inventor
Auf Nichtnennung Antrag
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE200510012668 priority Critical patent/DE102005012668B4/en
Publication of DE102005012668A1 publication Critical patent/DE102005012668A1/en
Application granted granted Critical
Publication of DE102005012668B4 publication Critical patent/DE102005012668B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods 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 2 dargestellte Picture Header, das ist der Header eines Videoframes, mit einer 24 Bit langen Synchronisationsbitfolge (0x000001), gefolgt von dem Identifikationsbyte des Picture Headers (0x00). Das MPEG-Format stellt sicher, dass innerhalb des Datenstroms keine Bitfolge, die der Synchronisationsbitfolge gleicht, auftreten kann. Dadurch ist gewährleistet, dass man, wenn man innerhalb des Videodatenstroms nach einer Synchronisationsbitfolge sucht, den Beginn eines Headers findet. Die Header der Audiodatenströme verwenden ebenfalls eine Synchronisationsbitfolge, allerdings ist diese je nach Audiodatenformat unterschiedlich. So ist die Synchronisationsbitfolge bei dem Dolby-Digital-Audiodatenformat 16 Bit lang und hat den Wert 0x0B77.Within the frame, the audio and video raw data is contained in compressed form. If the compression was done at a constant data rate, the frame has a fixed length, which can be calculated from the data rate contained in its header. If the compression has been done with variable data rate, the frame has a variable length. In this case, the detection of the start of a frame can be done with the data contained in the header. For example, the in 2 represented Picture Header, which is the header of a video frame, with a 24-bit synchronization bit sequence (0x000001), followed by the identification byte of the Picture Header (0x00). The MPEG format ensures that no bit sequence similar to the synchronization bit string can occur within the data stream. This ensures that if one searches within the video data stream for a synchronization bit sequence, one finds the beginning of a header. The headers of the audio streams also use a sync bit string, but this is different depending on the audio data format. Thus, in the Dolby Digital audio data format, the synchronization bit string is 16 bits long and has the value 0x0B77.

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 (3) enthält u. a. die „SYSTEM CLOCK REFERENCE” (SCR). Wertet ein Abspielgerät dieses Feld aus, startet es die Wiedergabe des ersten Rahmens in diesem Paket erst, wenn ein beim Start des Videos gestarteter 27 MHz-Zähler den in der SCR enthaltenen Wert erreicht hat. Der SCR ist ein 48 Bit langes Feld, das gleich hinter dem Identifikationsbyte des Pack-Headers folgt. Das erste Byte des SCR-Feldes ist mit einer 0, weitere Bits des SCR-Feldes sind mit einer 1 vorbelegt, um sicherzustellen, dass innerhalb des Headers keine zweite Synchronisationsbitfolge auftreten kann. Der Wert des 27 MHz-Zählers wird durch 300 geteilt und in den vorderen Bereich des SCR geschrieben, der sich bei der Division ergebende Rest wird als 9 Bit lange Zahl ans Ende des SCR geschrieben. Der Aufbau des Packet Headers kann 3 entnommen werden.The packet header is followed by the identification byte of the packet header (0xBA) on the 24-bit synchronization bit string (0x000001). The packet header ( 3 ) contains among other things the "SYSTEM CLOCK REFERENCE" (SCR). If a player evaluates this field, it will not start playing the first frame in that packet until a 27 MHz counter started at the start of the video has reached the value contained in the SCR. The SCR is a 48-bit field that follows just after the identification byte of the pack header. The first byte of the SCR field is a 0, further bits of the SCR field are pre-assigned a 1 to ensure that no second sync bit sequence can occur within the header. The value of the 27 MHz counter is divided by 300 and written to the front of the SCR, the remainder resulting from the division being written as a 9-bit number at the end of the SCR. The structure of the packet header can 3 be removed.

Nach dem Pack Header folgt ein „Packetetized Elementary Stream Header” (PES-Header, 6). Dieser beginnt wieder mit der 24 Bit langen Synchronisationsbitfolge (0x000001). Anschließend folgt die 8 Bit lange Stream-ID. Zulässige Stream-ID's sind die Werte 0xBD bis 0xEF. Jeder in dem gebundenen Datenstrom enthaltene Datenstrom erhält eine eindeutige Stream-ID zugewiesen, an der er identifiziert werden kann. Die Stream-ID legt auch fest, wofür der Datenstrom genutzt wird. Dabei sind die Stream-ID's 0xE0 bis 0xEF für Videodatenströme und die Streams 0xC0 bis 0xDF für Audiodatenströme in einem der originären Audioformate der MPEG-Protokollfamilie reserviert. Weiterhin sind ein Padding-Datenstrom (Stream-ID 0xBE) zum Einfügen von Fülldaten und zwei private Datenströme (Stream-ID's 0xBD und 0xBF) zulässig. Bei DVD's wird beispielsweise der Private Datenstrom 0xBD für das Verpacken von Audiodaten in den nicht vom ursprünglichen MPEG-Standard unterstützten Audiodatenformaten DTS (Digital Theater Sound), AC3 (Dolby Digital) und PCM genutzt.The Pack Header is followed by a Packetetized Elementary Stream Header (PES header, 6 ). This starts again with the 24-bit synchronization bit sequence (0x000001). This is followed by the 8-bit stream ID. Permitted stream IDs are the values 0xBD to 0xEF. Each stream contained in the bound stream is assigned a unique stream ID at which it can be identified. The stream ID also determines what the data stream is used for. In this case, the stream IDs 0xE0 to 0xEF for video streams and the streams 0xC0 to 0xDF for audio streams are reserved in one of the original audio formats of the MPEG protocol family. Furthermore, a padding data stream (Stream-ID 0xBE) is allowed for inserting stuffing data and two private data streams (Stream-ID's 0xBD and 0xBF). For example, DVDs use Private Stream 0xBD to wrap audio data in DTS (Digital Theater Sound), AC3 (Dolby Digital), and PCM audio formats not supported by the original MPEG standard.

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 value 1. In this case, the PTS follows directly on the PES header extension. The PTS indicates the time in milliseconds at which, as measured by the start of the video, a player should begin playing the first frame in the packet that precedes this PES header.

Der Aufbau des PES-Headers kann, so weit er für das erfindungsgemäße Verfahren erforderlich ist, 6 entnommen werden.The structure of the PES header can, as far as it is required for the inventive method, 6 be removed.

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 US 5,768,527 ; JP 10 126772 A , EP 0905976 A1 und DE 600 20 672 T2 beschrieben. Bei Anwendung dieser Verfahren auf digitale Videos, die nicht mittels RTP übertragen werden, ist jedoch nachteilig, dass:

  • – 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.
One prior art technique for replacing missing frames is in digital video streaming applications, such as video streaming. As video surveillance systems or video conferencing systems for use. Video streaming is added to the MPEG system streams by the sender using real-time transport protocol (RTP) sequence numbers. Furthermore, the video streaming receiver generates an automatic repeat request to the sender when the receiver z. B. in case of missing sequence numbers the loss of a packet finds. Further developments of this method, the amount of data to be repeated in case of error by appropriately selected priorities for the different types of frames (z. I, P or B frames) are in US 5,768,527 ; JP 10 126772 A . EP 0905976 A1 and DE 600 20 672 T2 described. However, applying these methods to digital videos that are not transmitted by RTP has the disadvantage that:
  • - 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 US 6,137,920 offenbart. US 6,137,920 dient dazu, den Eindruck „hüpfender” Bilder bei der Videoübertragung über sehr schmalbandige Medien (z. B. analoge Modemstrecken) abzumildern. Dazu sollen nach dem Dekodieren des Datenstroms zusätzliche, durch ein kompliziertes, als „morphing” bezeichnetes Vefahren aus zwei hintereinander übertragenen Bildern berechnete Zwischenbilder in ein digitales VIDEO eingefügt werden. Weiterhin schlägt US 6,137,920 vor, durch Vergleich der Framerate des empfangenen Datenstroms mit einer vordefinierten Zielframerate zu entscheiden, wann neue Videoframes (Bilder) in den Datenstrom eingefügt werden müssen.Another known method for replacing lost frames is in US 6,137,920 disclosed. US 6,137,920 serves to mitigate the impression of "hopping" images during video transmission over very narrowband media (eg, analog modem links). For this purpose, after the decoding of the data stream, additional intermediate images calculated by means of a complicated process, referred to as "morphing", from two images transmitted one after the other are to be inserted into a digital VIDEO. Furthermore, US 6,137,920 suggests to decide by comparison of the frame rate of the received data stream with a predefined target frame rate when new video frames (pictures) must be inserted into the data stream.

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.
This method has the disadvantage that:
  • - 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 EP 0 618 728 A2 ist ein Verfahren bekannt, bei dem zur Behebung von Synchronisationsfehlern von Audio- und Videosignal auf Grund von fehlenden oder gestörten Videopaketen in einem Audio- und Videodatenstrom eine Erkennung und Korrektur vorgenommen werden kann, indem den einzelnen Paketen eine fortlaufende Nummer zugewiesen wird, so dass ein Fehlen eines Paketes bei der Decodierung erkannt werden kann.From the EP 0 618 728 A2 For example, a method is known in which, in order to correct for synchronization errors of audio and video signal due to missing or disturbed video packets in an audio and video data stream detection and correction can be made by the individual packets is assigned a sequential number, so that a Absence of a packet can be detected during decoding.

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 claim 1. Thereafter, a stored or received digital video present as a system stream and in a format of the MPEG protocol family or a related format is examined for missing frames by comparing the synchronization information associated with each frame with the sum of the playback times of all the frames of the same stream occurring prior to that frame ,

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 6) des Pakets ist daraufhin zu überprüfen, ob sie der Stream-ID eines auf fehlende Frames zu überprüfenden Video- oder Audiodatenstroms entspricht. Ist dies der Fall, ist für die weitere Verarbeitung des Paketes ein Registersatz oder ein Speicherbereich auszuwählen, in dem die von dem Verfahren für die Verarbeitung dieses Datenstroms benötigten Informationen zwischengespeichert werden.A characteristic feature of the method according to the invention is to identify the individual packets contained in a digital video and process them in the order in which they are stored or transmitted. The stream ID from the PES header (see 6 ) of the packet is to check whether it corresponds to the stream ID of a video or audio stream to be checked for missing frames. If this is the case, for the further processing of the packet a register set or a memory area is to be selected in which the information required by the method for processing this data stream is buffered.

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 (4) und nach Headern, die die Bildrate enthalten (z. B. Sequence-Header) zu durchsuchen.Another characteristic feature of the method according to the invention is the examination of the contents of the packets of the data streams to be examined. If one were to assemble the contents of these packages while maintaining their order, one could recover the data stream contained therein. This so formed data stream is after the headers of frames and for video frames additionally after GOP headers ( 4 ) and to search for headers containing the frame rate (for example, sequence headers).

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 5 dargestellt wird, ermittelt werden.Also needed for the inventive method is the playback time of the individual frames of the data stream. For the audio data streams, the playing time of each frame has a fixed value that is different for each audio format. In order to determine the playing time of the currently examined frame, it is sufficient to determine the audio format in which the associated data stream exists and to store the frame rate assigned to it in a register. In order to determine the audio format, the stream ID can be used, if necessary also information on subformats (eg in the case of the MPEG-original audio formats) must be evaluated from the header of the audio frame. With video data streams, however, several different frame rates are possible, which are coded in different headers. The refresh rate of the video stream can be z. For example, from the sequence header that is in 5 is shown determined.

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.
When locating the start of a frame, the following operations characteristic of the method according to the invention are to be carried out:
  • • 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 4 dargestellt. Er beginnt mit einer 24 Bit langen Synchronisationsbitfolge (0x000001), gefolgt von dem Identifikationsbyte des GOP Headers (0xB8). Der GOP-Header ist genau wie die Picture Header Teil des Videodatenstroms, er wird also nicht erst beim Multiplexen angelegt. Bei der Suche nach dem GOP-Header kann, abgesehen vom Wert des Identifikationsbytes, genau wie bei der Suche nach einem Picture Header (dieser dient bei Videodatenströmen als Frame Header) verfahren werden.In order to later determine the correction value resulting from the playing order of video frames, the transfer or storage position of the frame within the GOP must be known as well as its play position. Various methods can be used for this purpose. The easiest way is to start a counter at the beginning of each GOP, which is incremented by 1 for each picture header, which is the frame header for video streams. This counter must be present once for each video stream that is scanned for missing frames. The beginning of a GOP is indicated in the video streams by the GOP header. The GOP header is in 4 shown. It begins with a 24-bit synchronization bit string (0x000001), followed by the identification byte of the GOP header (0xB8). The GOP header is just like the picture header part of the video data stream, so it is not created until the multiplexing. When searching for the GOP header can, apart from the value of the identification byte, just as in the search for a picture header (this is used in video streams as a frame header) are moved.

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.
When locating the start of a GOP in a video stream, perform the following operations:
  • • The counter for the number of frames of the GOP must be reset.

Der Sequence-Header wird in 5 dargestellt. Er beginnt mit einer 24 Bit langen Synchronisationsbitfolge (0x000001), gefolgt von dem Identifikationsbyte des Sequence Headers (0xB3). Der Sequence-Header ist genau wie die Picture Header und der GOP-Header Teil des Videodatenstroms, er wird also nicht erst beim Multiplexen angelegt. Bei der Suche nach dem Sequence-Header kann, abgesehen vom Wert des Identifikationsbytes, genau wie bei der Suche nach einem Picture Header oder einem GOP-Header verfahren werden.The sequence header is in 5 shown. It begins with a 24-bit synchronization bit string (0x000001), followed by the identification byte of the sequence header (0xB3). The sequence header is just like the picture header and the GOP header part of the video data stream, so it is not created until the multiplexing. The search for the sequence header, apart from the value of the identification byte, can be used in the same way as for the search for a picture header or a GOP header.

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.
When locating the start of a sequence header in a video stream, perform the following operations:
  • • 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
With the information obtained from the various headers during sequential reading of the data streams as described above, the inventive method for checking for missing packets can be executed at the end of each first frame header in a packet. At this point, the following information is available for the frame being examined:
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.
For video frames, the following information is also available:
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
bezeichnet. Für Audiodatenströme kann sie wie folgt berechnet werden: TR = (NF/Fps) + TOffs With this information mm can be checked. For this purpose, the time is calculated, which would have been needed to play all previously occurred frames of the data stream in a row. This time will be referred to below
T R :
Rohzeit
designated. For audio data streams, it can be calculated as follows: T R = (N F / Fps) + T Offs

Bei Videoframes muss die Position des Frames im GOP berücksichtigt werden. Hier berechnet sich die Rohzeit wie folgt: TR = ((NF – NGOP + TSN)/Fps) + TOffs For video frames, the position of the frame in the GOP must be considered. Here the raw time is calculated as follows: T R = ((N F -N GOP + TSN) / Fps) + T Offs

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 7 für einen Videodatenstrom dargestellt. In 1 wird ein Flussdiagramm für die Anwendung des erfindungsgemäßen Verfahren auf einen Audiodatenstrom dargestellt.The above description of the method according to the invention is in the form of a flow chart in 7 for a video stream. In 1 a flow chart for the application of the method according to the invention to an audio data stream is shown.

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 NV = (TF – (NF/Fps) + TOffs)·Fps und durch Runden auf einen ganzzahligen Wert ermittelt werden. Bei Videoframes muss die Position des Frames im GOP berücksichtigt werden. Hier kann NV mit der Formel NV = (TF – ((NF – NGOP + TSN)/Fps) + TOffs)·Fps und durch Runden auf einen ganzzahligen Wert ermittelt werden.The number N V of the missing frames can be used for audio data streams with the formula N V = (T F - (N F / Fps) + T Offs ) · Fps and be determined by rounding to an integer value. For video frames, the position of the frame in the GOP must be considered. Here can N V with the formula N V = (T F - ((N F -N GOP + TSN) / Fps) + T Offs ) · Fps and be determined by rounding to an integer value.

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.
Another method for correcting lost frames comprises the steps:
  • 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 compression methods MPEG 1 Layer 1, MPEG 1 Layer 2, and MPEG 1 Layer 3 found in the field of consumer electronics, the result is a manageable number of frames which have to be precompressed. The same applies to the audio compression methods used in the industry standard derived from the MPEG formats. These include Dolby Digital, PCM and Digital Theater Sound. So z. For example, Dolby Digital allows sampling rates of 32, 48 kHz and 44.1 kHz, as well as 38 different data rate values. Because of these features, inserting precompiled frames requires significantly less effort than recompressing all or part of the data stream, saving you from implementing an encoder. The processing time is also reduced in this way, this in turn possibly reduces the requirements for the performance of the device used for the inventive method.

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 claim 2. The development of the invention according to this claim is based on the fact that the method in claim 1, feature β1 in conjunction with feature β2.2 is completely standard compliant only when applied to audio frames. The aim of the method described in claim 2 is therefore to correct also missing frames in video data streams standard compliant. In claim 2 it is therefore proposed that to restore the synchronization between image and sound possibly missing audio frames are inserted in the audio data streams and at the points where video frames are missing, the synchronous to the missing video frames audio frames are removed again. Since audio and video frames may be of different lengths, it may be necessary to vary the number of audio frames to be removed per video frame lost in order to make the playing times of the removed audio frames and the lost video frames approximately equal.

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 patent claim 3. According to claim 3, it makes sense to use the device used for the inventive method simultaneously for demultiplexing the digital video. This is advantageous because the method according to the invention requires the search for the frame and the packet headers as well as the streamwise consideration in the evaluation, and thus only has to be supplemented slightly in order to fulfill the function of a demultiplexer. Furthermore, it is much easier to insert missing frames into a video or audio stream than to include them in a bound video, taking into account the changes in the packets.

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 claim 3, to integrate the inventive method in such an application.

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:

8: Darstellung der Verwendung des erfindungsgemäßen Verfahrens zur Korrektur von Fehlern, die bei der Digitalisierung eines teilweise überspielten VHS-Videos entstanden sind 8th : Representation of the use of the method according to the invention for the correction of errors that have arisen during the digitization of a partially dubbed VHS video

9. Das Protokoll der Fehlerkorrektur des in 8 dargestellten Anwendungsfalls 9 , The protocol of the error correction of in 8th illustrated use case

10. Darstellung der Verwendung des erfindungsgemäßen Verfahrens zur Korrektur von Fehlern, die entstehen, wenn die Aufzeichnung bei einem digitalen Videoaufzeichnungsgerät gestartet wird, bevor mit dem Abspielen des zu digitalisierenden Videos begonnen wird. 10 , Presentation of the use of the method according to the invention for the correction of Errors that occur when recording is started on a digital video recorder before starting to play the video to be digitized.

11 Das Protokoll der Fehlerkorrektur des in 10 dargestellten Anwendungsfalls 11 The protocol of the error correction of in 10 illustrated use case

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 8 und 10 dargestellten Anwendungsfälle stellen zwei Situationen dar, in denen die Digitalisierung analoger Videos bei Verwendung der zum Stand der Technik gehörenden Verfahren zu einem u. U. qualitativ nicht mehr befriedigenden Ergebnis führt, und in denen das erfindungsgemäße Verfahren in Verbindung mit seinen Unteransprüchen zur Verbesserung des Ergebnisses eingesetzt werden kann. Beide Anwendungsfälle beschreiben Situationen, in denen das Ausgangssignal eines analogen Videoabspielgerätes so stark gestört wird, dass ein digitales Aufzeichnungsgerät es nicht mehr sauber dekodieren kann, und deshalb in dem von ihm erzeugten Ausgangsdatenstrom Frames verwirft. Solche Störungen können viele Ursachen haben, angefangen von bei einer durch Alterung schlechten Qualität des zu überspielenden Mediums. Die beiden ausgewählten Anwendungsfälle haben den Vorteil, dass sie reproduzierbar sind.In the 8th and 10 Applications shown represent two situations in which the digitization of analog video using the prior art associated with a u. U. qualitatively no longer satisfactory results, and in which the inventive method can be used in conjunction with its subclaims to improve the result. Both applications describe situations in which the output signal of an analog video player is disturbed so much that a digital recording device can no longer decode it cleanly and therefore rejects frames in the output data stream it generates. Such disorders can have many causes, ranging from poor quality of the media to be dubbed due to aging. The two selected use cases have the advantage that they are reproducible.

Im ersten, in 8 dargestellten Anwendungsfall wird demonstriert, welche Auswirkungen der Übergangsbereich am Ende einer neuen Aufnahme, mit der eine ältere, etwas längere Aufnahme überspielt wurde, auf die Digitalisierung eines Videos hat. Wird bei einem VHS-Videorekorder die Wiedergabe- am Ende einer Aufzeichnung fortgesetzt, wird ca. eine Sekunde lang ein gestörtes Videosignal ausgegeben, bevor die ältere Aufnahme störungsfrei ausgegeben wird. Auf die Ursache hierfür wurde bereits in dem Abschnitt über die Vorteile des erfindungsgemäßen Verfahrens eingegangen.In the first, in 8th In this case, it demonstrates how the transitional area affects the digitization of a video at the end of a new recording that has been dubbed an older, slightly longer recording. If playback is continued at the end of a recording on a VHS VCR, a disturbed video signal will be output for about one second before the older recording is output smoothly. The reason for this has already been discussed in the section on the advantages of the method according to the invention.

8 zeigt, wie die zur Auswertung dieses Anwendungsfalles verwendete Sequenz erzeugt wurde. In Schritt 1) wird eine längere Sequenz auf eine VHS-Videokassette aufgezeichnet. Dann wird die Kassette zurück gespult und anschließend in Schritt 2) der Anfang dieser Sequenz mit einer kürzeren Sequenz überspielt. Anschließend wird die Videokassette in Schritt 3) nochmals zurück gespult, abgespielt und digital im MPEG-2-Format aufgezeichnet. 8th shows how the sequence used to evaluate this use case was generated. In step 1) a longer sequence is recorded on a VHS video cassette. Then the cassette is spooled back and then in step 2) the beginning of this sequence is dubbed with a shorter sequence. Subsequently, the video cassette is rewound again in step 3), played back and recorded digitally in MPEG-2 format.

Bei der Auswertung und Korrektur des aufgezeichneten Videos mit dem erfindungsgemäßen Verfahren wurde das in 9 dargestellte Protokoll erzeugt. Parallel dazu wurde das digital aufgezeichnete Video mit einem Videoschnittprogramm Bild für Bild optisch ausgewertet. In diesem Fall endet die später aufgenommene Aufzeichnung nach 1 Minute, 1 Sekunde und 14 Frames a 40 ms (entspricht einer Laufzeit von 61.560 ms). Das Bild der älteren Aufzeichnung ist bei 1 Minute, 12 Sekunden und 18 Frames (entspricht einer Laufzeit von 72.720 ms) stabil. An dieser Stelle endet der Übergangsbereich. Gemäß Protokoll in 9 wurde von dem erfindungsgemäßen Verfahren das erste fehlende Videoframe nach 62.083 ms Laufzeit und das letzte fehlende Videoframe nach 72.766 ms entdeckt. Bei den in dem Protokoll ausgegebenen Laufzeiten handelt es sich um die vom digitalen Aufzeichnungsgerät (in diesem Fall eine TV-Tuner-Karte für PC's mit Hardware-Encoder) im PTS eingetragenen Wert. Von diesen Laufzeiten müssen noch 400 ms Offset und die Laufzeit der verlorenen Frames (in diesem Fall 40 ms pro Frame, da in PAL aufgezeichnet wurde) in Abzug gebracht werden. Am Ende der Aufzeichnung fehlt noch ein weiteres Videoframe, dass hier jedoch keine Rolle spielt.In the evaluation and correction of the recorded video with the method according to the invention, the in 9 generated log generated. At the same time, the digitally recorded video was visually evaluated image by image using a video editing program. In this case, the later recorded recording ends after 1 minute, 1 second and 14 frames a 40 ms (equivalent to a runtime of 61,560 ms). The image of the older recording is stable at 1 minute, 12 seconds and 18 frames (equivalent to a runtime of 72,720 ms). At this point the transition area ends. According to protocol in 9 was discovered by the inventive method, the first missing video frame after 62,083 ms runtime and the last missing video frame after 72,766 ms. The runtimes issued in the protocol are those entered in the PTS by the digital recorder (in this case a TV tuner card for PC's with hardware encoders). Of these runtimes, 400 ms offset and the lost frame time (in this case 40 ms per frame as recorded in PAL) have to be deducted. At the end of the recording is still missing another video frame, but that does not matter here.

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 MPEG I Layer 2 audio data) and the video frames 40 ms (the video was available as a PAL signal with 25 frames / s), there is a temporal difference between audio and video Offset of 360 ms from this transition range. However, this temporal offset only becomes visible or audible after burning to DVD. To optically control this, in step 5) both the recorded and the corrected file produced by the method β of claim 1 were burned to DVD and then viewed. It was found that even this short offset of 360 ms in the uncorrected video is already noticeable.

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 claim 1 was chosen because it provides a result that is not fully compliant with the relatively narrow specifications of the DVD-Whitebook and therefore had to be clarified in experiments as to whether the DVD's produced with it different types of DVD players are executable.

Im zweiten, in 10 dargestelltem Anwendungsfall wird demonstriert, welche Auswirkungen es haben kann, wenn in Schritt 1) die Aufnahme mit dem digitalen Aufnahmegerät gestartet wird, bevor in Schritt 2) das Abspielen des als Signalquelle verwendeten Abspielgerätes gestartet wird. In diesem Fall wurde ein VHS-Videorekorder als Signalquelle verwendet, dessen Antenneneingang nicht angeschlossen worden war. Daher hat der Videorekorder, so lange er nichts abgespielt hat, an seinem Ausgang ein Rauschsignal ausgegeben.In the second, in 10 In the illustrated application, it is demonstrated which effects it can have if the recording with the digital recording device is started in step 1) before the playback of the playback device used as the signal source is started in step 2). In this case, a VHS VCR was used as the signal source whose antenna input had not been connected. Therefore, as long as the VCR has not played anything, it has output a noise signal at its output.

Die Auswertung des für den zweiten Anwendungsfall digital aufgezeichneten Videos erfolgte wieder wie in 10 Schritt 3) dargestellt mit dem erfindungsgemäßen Verfahren nach Patentanspruch 1. Dabei wurde das in 11a bis 11c dargestellte Protokoll erzeugt. Parallel dazu wurde das digital aufgezeichnete Video mit einem Videoschnittprogramm Bild für Bild optisch ausgewertet. In diesem Fall setzt die Ausgabe des abgespielten Videos bei 28 Sekunden und 9 Frames a 40 ms ein (entspricht einer Laufzeit von 28.360 ms), das Bild ist nach weiteren 9 Frames (entspricht einer Laufzeit von 28.720 ms) störungsfrei. Gemäß Protokoll in 11a bis c wurde von dem erfindungsgemäßen Verfahren das erste fehlende Videoframe nach 521 ms Laufzeit und das letzte fehlende Videoframe nach 29.392 ms entdeckt. Bei den in dem Protokoll ausgegebenen Laufzeiten handelt es sich um die vom digitalen Aufzeichnungsgerät (in diesem Fall eine TV-Tuner-Karte für PC's mit Hardware-Encoder) im PTS eingetragenen Wert. Von diesen Laufzeiten müssen noch 400 ms Offset und die Laufzeit der verlorenen Frames (in diesem Fall 40 ms pro Frame, da in PAL aufgezeichnet wurde) in Abzug gebracht werden.The evaluation of the digitally recorded video for the second application was again as in 10 Step 3) shown with the method according to claim 1. It was in the 11a to 11c generated log generated. At the same time, the digitally recorded video was visually evaluated image by image using a video editing program. In this case, the output of the video played sets at 28 seconds and 9 frames a 40 ms (equivalent to a runtime of 28,360 ms), the picture is interference-free after another 9 frames (equivalent to a runtime of 28,720 ms). According to protocol in 11a to c, the first missing video frame after 521 ms runtime and the last missing video frame after 29.392 ms were discovered by the method according to the invention. The runtimes issued in the protocol are those entered in the PTS by the digital recorder (in this case a TV tuner card for PC's with hardware encoders). Of these runtimes, 400 ms offset and the lost frame time (in this case 40 ms per frame as recorded in PAL) have to be deducted.

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 10 Schritt 4) sowohl die digital aufgezeichnete als auch die mit dem Verfahren β des Patentanspruchs 1 erzeugte korrigierte Datei auf DVD gebrannt und anschließend betrachtet. Dabei wurde festgestellt, dass der Versatz von 1200 ms in dem nicht korrigierten Video stark störend wirkt.Looking closer, you can see that the TV tuner card loses frames because of the lack of input signal during the time nothing is playing. In the area in which the image stabilizes at the start of playback, an accumulation of lost frames is observed. In total, 54 video frames and 40 audio frames are lost in the switch-on phase. Since in addition to the higher number of video frames lost, the playing time of the audio frames is 24ms (they are encoded as MPEG I Layer 2 audio data) and the video frames are 40ms (the video was a PAL signal at 25fps) Audio and video a time offset of 1,200 s from this transitional area. However, this temporal offset only becomes visible or audible after burning to DVD. To visually control this, were in 10 Step 4) both the digitally recorded and the corrected file produced by the method β of claim 1 burned to DVD and then viewed. It was found that the offset of 1200 ms in the uncorrected video is very disturbing.

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 step 4 was created with a total of 4 commercial and one open-source DVD authoring program. For all 5 DVDs created in this way, video and audio were asynchronous on the uncorrected files. 3 of the commercial, tested authoring programs had the property to basically recode the material. Also with these programs, video and audio were asynchronous with the uncorrected files. Apparently you encode a frame for the source file for each frame of the input file, without worrying about the synchronization information. In one of the tested programs, which fundamentally re-encodes the video, the non-existent synchronization between video and audio in one of the uncorrected files had even meant that a directly recorded, flawless file also had lost the synchronization between image and sound.

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)

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 dem für das Audiokodierungsformat laut den Spezifikationen des vorliegenden Systemstromtyps reservierten Bereich befindet. b) in dem Systemstrom Pakete gesucht werden, die zu einem der zu untersuchenden Datenströme gehören und den Beginn eines oder mehrerer Rahmen enthalten, und c) in jedem zu untersuchenden Audio- und Videodatenstrom die Anzahl der Rahmen des Datenstroms beginnend mit dem Start so wie in jedem Videodatenstrom die Anzahl der Rahmen des Datenstroms beginnend mit dem Start des GOP gezählt wird, d) bei Audiorahmen anhand der bisher gezählten Rahmen und der aus dem Audiodatenformat ermittelten Dauer des Rahmens, bei Videorahmen anhand der bisher gezählten Rahmen, der Darstellungsposition des Bildes aus dem Feld „TEMPORAL SEQUENCE NUMBER” aus dem „Picture Header” und der Bildrate die im folgenden als Rohzeit bezeichnete Zeit ermittelt wird, zu der der Rahmen bei fortlaufender Ausgabe der vorhergehenden Rahmen ausgegeben würde, e) zu der Rohzeit des Rahmens der Offset seines Datenstroms addiert wird, wobei dieser Offset aus den Synchronisationsinformationen aus den Paketheadern des ersten Pakets des Systemstroms, in dem der erste Rahmen dieses Datenstroms beginnt, ermittelt wird, und wobei diese Synchronisationsinformationen aus dem Feld „PRESENTATION TIME STAMP” im „PACKETIZED ELEMENTARY STREAM” Header oder/und aus dem Feld „SYSTEM CLOCK REFERENCE” aus dem „PACKET HEADER” entnommen werden, und f) für jeden gefundenen Rahmen die Rohzeit des Rahmens plus Offset mit den Synchronisationsinformationen des Rahmens verglichen wird, wobei diese Synchronisationsinformationen aus dem „PRESENTATION TIME STAMP” oder/und der „SYSTEM CLOCK REFERENCE”, die wiederum dem ersten Paket des Systemstroms entnommen werden, in dem Daten des gerade untersuchten Rahmens enthalten sind, entnommen wird, und g) von einem oder mehreren fehlenden Rahmen vor dem untersuchten Rahmen ausgegangen wird, wenn Rohzeit plus Offset kleiner sind als der „PRESENTATION TIME STAMP” oder/und die „SYSTEM CLOCK REFERENCE” des ersten Paketes des aktuell betrachteten Rahmen plus einer Sicherheit, die kleiner oder gleich der Zeit für die Ausgabe eines Rahmen ist, und h) bei Feststellung eines oder mehrerer verlorener Rahmen vor dem betrachteten Rahmen die Anzahl der verlorenen Rahmen ermittelt wird, in dem die Differenz von aus den Synchronisationsinformationen ermitteltem Zeitstempel und der Summe aus Rohzeit und Offset durch die für den Datenstrom ermittelte Abspieldauer eines Rahmen geteilt und auf eine ganze Zahl gerundet wird, und i) bei Feststellung eines oder mehrerer fehlender Rahmen der Offset des Datenstroms um die Abspielzeit der verlorenen Rahmen erhöht wird, oder der für die Berechnung der Rohzeit herangezogene Offset des Datenstroms um die Abspieldauer der verlorenen Rahmen erhöht wird, wobei bei Erkennung eines oder mehrerer fehlender Rahmen in einem in dem Systemstrom vorhandenen Video- oder Audiodatenstrom wahlweise eines der nachfolgenden Korrekturverfahren α und β durchgeführt wird, wobei das Korrekturverfahren α die folgenden Schritte umfasst: α1) vor einer Weiterverarbeitung eines Systemstroms, bei dem die Synchronisationsinformationen des Systemstroms in den Feldern „PRESENTATION TIME STAMP” im „PACKETIZED ELEMENTARY STREAM” Header oder/und aus dem Feld „SYSTEM CLOCK REFERENCE” aus dem „PACKET HEADER” verloren gehen können, in den zu korrigierenden Video- oder Audiodatenstrom α1.1.1 vor jedem Rahmen des elementaren Datenstroms, oder α1.1.2 nur vor jedem Rahmen des elementaren Datenstroms, vor dem sich der Inhalt der Synchronisationsinformationen ändert, oder α1.1.3 nur vor jedem Rahmen des elementaren Datenstroms, vor dem ein oder mehrere verlorene Rahmen entdeckt wurden, α1.2. eine im folgenden als Systeminformationscontainer bezeichnete MPEG-formatkonforme Datenstruktur, die von Abspielgeräten oder -programmen ignoriert wird, wie z. B. ein User Data Feld, eingefügt wird, und in die mindestens eingetragen werden: α1.2.1 die Felder „PRESENTATION TIME STAMP” aus dem „PACKETIZED ELEMENTARY STREAM” Header oder/und das Feld „SYSTEM CLOCK REFERENCE” aus dem „PACKET HEADER” des Paketes des Systemstroms, in dem der Rahmen, der diesem Systeminformationscontainer zugeordnet ist, beginnt, und α1.2.2 ab dem Systeminformationscontainer des zweiten Rahmens des Datenstroms die Felder „PRESENTATION TIME STAMP” im „PACKETIZED ELEMENTARY STREAM” Header oder/und aus dem Feld „SYSTEM CLOCK REFERENCE” aus dem „PACKET HEADER” des Paketes des Systemstroms, in dem der Rahmen, der in diesem elementaren Datenstrom dem Rahmen vorausging, dem dieser Systeminformationscontainer zugeordnet ist, beginnt, und α1.2.3 wenn nur Rahmen, vor denen mindestens ein Rahmen verloren wurde, ein Systeminformationscontainer zugeordnet wird, muss im Systeminformationscontainer zusätzlich die Abspielzeit der Rahmen, die vor dem diesem Systeminformationscontainer zugeordneten Rahmen verloren wurden, eingetragen werden, und α2 in einem zweiten, erst nach der Weiterverarbeitung des digitalen Videos möglichen Schritt 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 werden, und wobei Korrekturverfahren β die folgenden Schritte umfasst: β1 die Encodierungsparameter des Datenstroms, aus den für diese Parameter im Datenstrom vorhanden Headern, einmalig, z. B. beim Erkennen des ersten derartigen Headers, gelesen und zwischengespeichert werden, und β2.1 anstatt jedes verlorenen Rahmens ein Rahmen, der vorzugsweise beim Anzeigen oder Abspielen nicht bemerkbar ist, unter Verwendung der zwischengespeicherten Encodierungsparameter durch Encodieren neu erzeugt und in den Datenstrom eingefügt wird, oder β2.2 in der für das erfindungsgemäße Verfahren geschaffenen Vorrichtung mindestens ein Rahmen, der vorzugsweise beim Anzeigen nicht bemerkbar 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, gespeichert ist; und dass aus diesen vorgehaltenen Rahmen derjenige Rahmen ausgewählt wird, dessen Parameter den zwischengespeicherten Encodierungsparametern des Datenstroms entsprechen, und anstatt eines jeden verlorenen Rahmen in diesen Datenstrom eingefügt wird.A method of detecting missing frames in audio and video streams bound for transmission or storage to a system stream and in a format of the MPEG protocol family or related formats, such as for repairing such damaged by missing frames and video frames. and audio data streams bound data stream, characterized in that for detecting missing frames a) the same for all frames of a data stream playing time of the frames of the data streams to be examined from the control parameters of the respective data stream is calculated, for which video frames whose playing time from the in the field "FRAME RATE Is calculated in the "SEQUENCE HEADER" of the associated video data stream encoded frame rate, and for which audio frame whose playback time is calculated using the audio encoding format of the data stream permanently assigned frame rate, this can be determined by the audio encoding format in which ft, whether the value of the field "STREAM-ID" and, where necessary, the value of the field "SUBSTREAM-ID" in the "PACKETIZED ELEMENTARY STREAM" is within the range reserved for the audio encoding format according to the specifications of the present system stream type. b) searching in the system stream packets belonging to one of the data streams to be examined and containing the beginning of one or more frames; and c) in each audio and video stream to be examined the number of frames of the data stream starting from the start as in d) in the case of audio frames on the basis of the previously counted frames and the duration of the frame determined from the audio data format, for video frames on the basis of the previously counted frames, the display position of the picture from the Field "TEMPORAL SEQUENCE NUMBER" from the "Picture Header" and the frame rate is determined the time referred to below as the raw time at which the frame would be output on continuous output of the previous frame, e) added to the raw time of the frame, the offset of its data stream which offset from the synchronization information from the packet headers of the first packet of the system stream in which the first frame of this data stream begins, and this synchronization information from the field "PRESENTATION TIME STAMP" in the "PACKETIZED ELEMENTARY STREAM" header or / and from the field "SYSTEM CLOCK REFERENCE" from the " PACKET HEADER ", and f) for each frame found, the raw frame plus offset is compared to the synchronization information of the frame, this synchronization information being from the" PRESENTATION TIME STAMP "and / or the" SYSTEM CLOCK REFERENCE "which in turn is the g) is preceded by one or more missing frames before the examined frame, if raw time plus offset are smaller than the "PRESENTATION TIME STAMP" or / and the "SYSTEM CLOCK REFERENCE" of the first packet of the currently considered frame p lus, a security that is less than or equal to the time for the output of a frame; and h) upon detection of one or more lost frames in front of the considered frame, the number of lost frames is determined, in which the difference of timestamps determined from the synchronization information and the sum of raw time and offset is divided by the playing time of a frame determined for the data stream and rounded to an integer, and i) on detection of one or more missing frames, the offset of the data stream is increased by the playing time of the lost frames, or If one or more missing frames are detected in a video or audio data stream present in the system stream, optionally one of the following correction methods α and β is performed, the correction method α the following sc This includes: α1) before further processing a system stream where the system stream synchronization information is lost in the "PESETTED TIME STAMP" fields in the "PACKETIZED ELEMENTARY STREAM" header or / and in the "SYSTEM CLOCK REFERENCE" field from the "PACKET HEADER" into the video or audio stream to be corrected α1.1.1 before each frame of the elementary data stream, or α1.1.2 only before each frame of the elementary data stream before which the content of the synchronization information changes, or α1.1.3 only before each frame of the elementary data stream, before one or more lost frames were discovered, α1.2. hereinafter referred to as system information container MPEG format compliant data structure that is ignored by players or programs such. For example, a User Data field is inserted, and in which at least: α1.2.1 the fields "PRESENTATION TIME STAMP" from the "PACKETIZED ELEMENTARY STREAM" header or / and the field "SYSTEM CLOCK REFERENCE" from the "PACKET HEADER "The packet of the system stream in which the frame associated with this system information container begins, and α1.2.2 starting from the system information container of the second frame of the stream the" PRESENTATION TIME STAMP "fields in the" PACKETIZED ELEMENTARY STREAM "header and / or The "SYSTEM CLOCK REFERENCE" field from the "PACKET HEADER" of the system stream packet, in which the frame that preceded the frame to which this system information container is assigned in this elementary data stream, begins, and .alpha.1.2.3 if only frames, against which at least In addition, if a frame is lost, a system information container is mapped to the system information container in addition to the playing time of the frames that are present α2 in a second step, which is only possible after further processing of the digital video, the synchronization information in the fields "PRESENTATION TIME STAMP" in the "PACKETIZED ELEMENTARY STREAM" header or / and "SYSTEM CLOCK REFERENCE "Are recovered from the" PACKET HEADER "of each packet of the system stream generated in the further processing using the system information containers generated prior to further processing, and wherein correction method β comprises the following steps: β1 the encoding parameters of the data stream present in the data stream for these parameters Headers, unique, z. For example, upon detection of the first such header, are read and latched, and β2.1, instead of each lost frame, a frame which is preferably not noticeable on display or play, is newly generated by encoding using the cached encoding parameters and inserted into the data stream , or β2.2 in the device provided for the method according to the invention at least one frame, which is preferably not noticeable when displaying, for each combination of parameters that is permissible for the encoding for the formats of the audio and video data streams supported by this device , is stored; and selecting, from these reserved frames, the frame whose parameters correspond to the cached encoding parameters of the data stream, and is inserted into this data stream instead of each lost frame. Verfahren zur Erkennung fehlender Rahmen in Audio- und Videodatenströmen und zur Korrektur dieser Datenströme nach Patentanspruch 1, dadurch gekennzeichnet, dass – in die Audiodatentröme des Systemstroms gemäß Merkmal β1, Merkmal β2.1 oder Merkmal β2.2 fehlende Audiorahmen eingefügt werden, und – aus den Audiodatenströmen des Systemstroms diejenigen Audiorahmen entfernt werden, deren Abspielzeitraum mit dem Abspielzeitraum fehlender Videorahmen überlappt, und – die Anzahl der aus dem Audiodatenstrom wegen verlorener Videorahmen entfernten Audiorahmen entweder am Beginn oder am Ende des Blocks der zu entfernenden Audiorahmen dergestalt reduziert wird, dass die Summe der Abspielzeiten der bisher aufgetretenen verlorenen Videorahmen von der Summe der Abspielzeiten der bisher entfernten Audiorahmen um maximal die Abspieldauer eines einzelnen Audio- oder Videorahmen abweicht.Method for detecting missing frames in audio and video data streams and for correcting these data streams according to claim 1, characterized, that Inserting missing audio frames into the audio streams of the system stream according to feature β1, feature β2.1 or feature β2.2, and The audio frames of the system stream are removed from those audio frames whose playback period overlaps with the playing period of missing video frames, and The number of audio frames removed from the audio data stream due to lost video frames is reduced either at the beginning or at the end of the block of audio frames to be removed so that the sum of the playing times of the previously lost video frames is equal to the sum of the playing times of the previously removed audio frames by a maximum of Playing time of a single audio or video frame is different. Verfahren zur Erkennung fehlender Rahmen in Audio- und Videodatenströmen und zur Korrektur dieser Datenströme nach Patentanspruch 1 oder 2, dadurch gekennzeichnet, dass es Teil eines Demultiplexers oder eines Authoring-Produkts für DVD's, oder eines Videoschnittprodukts für digitale Videos, oder eines Encoders, dessen Funktionsumfang ein Demultiplexen von Systemströmen erforderlich macht, ist.Method for detecting missing frames in audio and video data streams and for correcting these data streams according to claim 1 or 2, characterized in that it is part of a demultiplexer or an authoring product for DVD's, or a video editing product for digital video, or an encoder whose functionality Demultiplexing of system streams is required. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass der Systemstrom ein ”System Stream” gemäß den bekannten Standards ist, und einen ”Transport Stream”, einen ”Program Stream”, oder ein ”DVD-Video-Object” umfasst. Method according to one of the preceding claims, characterized in that the system stream is a "system stream" according to the known standards, and comprises a "transport stream", a "program stream", or a "DVD video object". Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass zur MPEG-Protokollfamilie insbesondere die Formate MPEG-1, MPEG-2 und MPEG-4 gehören.Method according to one of the preceding claims, characterized in that the MPEG protocol family in particular the formats MPEG-1, MPEG-2 and MPEG-4 belong. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass zur MPEG-Protokollfamilie insbesondere die Formate DivX, DVD-Whitebook, DVB-T, DVB-S und DVB-C verwandt sind.Method according to one of the preceding claims, characterized in that the MPEG protocol family in particular the formats DivX, DVD Whitebook, DVB-T, DVB-S and DVB-C are related. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Encodierparameter des Datenstroms bei einem Videodatenstrom die Auflösung beinhalten.Method according to one of the preceding claims, characterized in that the encoding parameters of the data stream in a video data stream include the resolution. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Encodierparameter des Datenstroms aus den für diese Parameter im Datenstrom vorhandenen Headern, bei einem Videodatenstrom insbesondere aus dem System Header entnommen werden.Method according to one of the preceding claims, characterized in that the encoding parameters of the data stream are taken from the headers present for these parameters in the data stream, in particular from the system header in the case of a video data stream. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass das einmalige Lesen und Zwischenspeichern der Encodierparameter des Datenstroms beim Erkennen des ersten geeigneten Headers im Datenstrom vorgenommen wird.Method according to one of the preceding claims, characterized in that the one-time reading and buffering of the encoding parameters of the data stream is carried out when recognizing the first suitable header in the data stream. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass der Rahmen, der vorzugsweise beim Anzeigen oder Abspielen nicht bemerkbar ist, ein stiller Audiorahmen oder ein B-Rahmen eines Videodatenstroms, in dem ein Standbild encodiert ist, ist.Method according to one of the preceding claims, characterized in that the frame, which is preferably not noticeable in the display or playback, a silent audio frame or a B-frame of a video data stream in which a still image is encoded is. Verfahren nach einem der vorgenannten Ansprüche, dadurch gekennzeichnet, dass die Parameter, die für das Encodieren relevant sind, insbesondere die Abtastfrequenz und die Auflösung umfassen.Method according to one of the preceding claims, characterized in that the parameters which are relevant for the encoding include in particular the sampling frequency and the resolution.
DE200510012668 2005-03-17 2005-03-17 Frame error detection and correction method for digital video Expired - Fee Related DE102005012668B4 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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