DE19855501A1 - Video coding / decoding method in a fault-tolerant mode and associated device - Google Patents
Video coding / decoding method in a fault-tolerant mode and associated deviceInfo
- Publication number
- DE19855501A1 DE19855501A1 DE19855501A DE19855501A DE19855501A1 DE 19855501 A1 DE19855501 A1 DE 19855501A1 DE 19855501 A DE19855501 A DE 19855501A DE 19855501 A DE19855501 A DE 19855501A DE 19855501 A1 DE19855501 A1 DE 19855501A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- variable length
- bit area
- area
- areas
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/69—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/66—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Video-Ko dier/Dekodier-(CODEC)-Verfahren und eine zugehörige Vorrich tung und insbesondere auf ein CODEC-Verfahren in einer feh lertoleranten Betriebsart und auf eine zugehörige Vorrich tung. Die vorliegende Erfindung basiert auch auf der vorläu figen US-Patentanmeldung Nr. 60/067,013 mit dem Titel "Video CODEC Method in Error Resilient Mode" des vorstehenden Anmel ders.The present invention relates to a video knockout the decoding (CODEC) method and an associated device tion and in particular to a CODEC process in a tolerant operating mode and an associated device tung. The present invention is also based on the preliminary figen US Patent Application No. 60 / 067,013 entitled "Video CODEC Method in Error Resilient Mode "of the previous application otherwise.
Im allgemeinen kann in einem Fall, in dem ein Fehler in einem Kanal vorhanden ist, eine CODEC diesen Fehler des Kanals nicht bewältigen, wenn sie alle Rahmen in Bitströme kodiert. Das kommt daher, weil die Bitströme kein Entscheidungselement für die Bestimmung haben, ob sie das Fehlergebiet wiederher stellen oder verwerfen sollen. Somit ist es schwierig zu ent scheiden, ob ein gewisser Teil eines Rahmens einen Bitverlust durch einen Fehler aufweist oder ob der gesamte Rahmen einen Fehler hat, so daß ein Problem darin besteht, daß ein Start punkt des Bitstromes im nächsten Rahmen gesucht werden soll te, indem der kodierte Bitstrom des gesamten Rahmens igno riert wird. In einer konventionellen CODEC wird eine zusätz liche Vorrichtung als Entscheidungselement verwendet, um ein solches Problem zu lösen. Als Beispiel wird gemäß der CODEC, die in der H.263 Norm definiert ist, ein Bildstarktkode (PSC) verwendet, und wenn ein Fehler nach dieser Feldinformation erkannt wird, so wird das Gebiet, das auf den PSC folgt, ignoriert, und es wird dann der nächste PSC gesucht. Weiter hin wird eine Gruppe eines Blockstartkodes (GBSC), die den Start der Gruppe des Blocks (GOB) anzeigt, verwendet, und wenn ein Fehler nach dieser Information erkannt wird, so wird nur der entsprechende GBSC ignoriert, und die nächste GOB dann gesucht, um somit die Menge des ignorierten Gebietes zu vermindern.In general, in a case where there is an error in one Channel is present, a CODEC this error of the channel cannot cope if it encodes all frames into bitstreams. This is because the bitstreams are not a decision element for determining whether to restore the fault area put or discard. So it is difficult to ent divide whether a certain part of a frame has a bit loss due to an error or whether the entire frame Has errors so one problem is that a start point of the bit stream in the next frame te by ignoring the encoded bit stream of the entire frame is riert. In a conventional CODEC, an additional Liche device used as a decision element to a to solve such problem. As an example, according to CODEC, which is defined in the H.263 standard, an image star code (PSC) used and if an error after this field information is recognized, the area that follows the PSC, ignored and the next PSC is then searched for. Next towards a group of block start code (GBSC) that the Start of group of block (GOB) indicates used, and if an error is recognized based on this information, then only the corresponding GBSC is ignored, and the next GOB then searched to increase the amount of ignored area Reduce.
Fig. 1 zeigt ein Beispiel eines Videodatenpakets, das durch, eine konventionelle CODEC in einer fehlertoleranten Betriebs art erzeugt wurde. Das Videodatenpaket der Fig. 1 ist ein Beispiel des Videodatenpakets, das in der MPEG-4 CODEC er zeugt wurde. Bezieht man sich auf dieses Paket, so werden in der konventionellen fehlertoleranten CODEC Daten in Bewe gungsdaten und Texturdaten für die Kodierung unterteilt. Die Bewegungsdaten bestehen aus einem Makroblockidentifikations- (COD)-Bit, das anzeigt, ob eine Kodierung durchgeführt wird oder nicht, einem Makroblockmusterchrominanz-(MCBPC)-Bit, das die Chrominanz jedes Makroblocks anzeigt, und einem Bewe gungsvektor, und die Texturdaten bestehen aus kodierten Blockmusterluminanz-(CBPY)-Daten, Datenquantisier-(DQUANT)-Daten und Daten einer diskreten Kosinustransformation (DCT). Solche Bewegungsdaten und Texturdaten werden durch einen Be wegungsmarkierer (MM) unterteilt. Die DCT-Daten werden auch durch eine reversible variable Längenkodierung (RVLC) ko diert. Fig. 1 shows an example of a video data packet that was generated by a conventional CODEC in a fault-tolerant mode. The video data packet of Fig. 1 is an example of the video data packet that was generated in the MPEG-4 CODEC. If one refers to this package, the conventional fault-tolerant CODEC data is divided into movement data and texture data for coding. The motion data consists of a macro block identification (COD) bit indicating whether coding is being performed or not, a macro block pattern chrominance (MCBPC) bit indicating the chrominance of each macro block and a motion vector, and the texture data consists of encoded block pattern luminance (CBPY) data, data quantization (DQUANT) data and discrete cosine transform (DCT) data. Such motion data and texture data are divided by a motion marker (MM). The DCT data are also encoded by reversible variable length coding (RVLC).
Das Dekodierverfahren des Bitstromes, der in der obigen Art kodiert wurde, wird beschrieben. Zuerst wird eine Wiedersyn chronisiermarkierung RM im Bitstrom gesucht. Wenn eine RM ge funden wird, so wird die Information bis zur nächsten RM als ein Paket angesehen. Ein Bewegungsvektordatenteil (MVDP), der aus Bewegungsvektoren besteht, weist nur vorhergesagte Bewe gungsvektoren auf, so daß es nur möglich ist, einen tatsäch lichen Bewegungsvektor zu verwenden, wenn der vorher deko dierte Bewegungsvektor existiert. Somit wird, wenn ein Fehler aus dem MVDP des Bitstromes erkannt wird, das entsprechende ganze Paket ignoriert, und es wird eine RM, die dem nächsten Paket entspricht, für das Dekodieren gesucht, was somit einen Verlust einer großen Menge von Information bewirkt.The decoding process of the bit stream, which is described in the above Art has been encoded is described. First is a re-sync Chronismarking RM sought in the bit stream. If an RM ge is found, the information is stored until the next RM viewed a package. A motion vector data part (MVDP) that consists of motion vectors, only shows predicted moves tion vectors, so that it is only possible to get an actual Lichen motion vector to use if the previously deco dated motion vector exists. Thus, if an error the corresponding one is recognized from the MVDP of the bit stream whole packet is ignored and there will be one RM that the next Package corresponds to searched for decoding, which is therefore a Loss of a large amount of information.
Um die obigen Probleme zu lösen, besteht eine erste Aufgabe der vorliegenden Erfindung, ein Video-Kodier-Dekodier- (CODEC)-Verfahren in einer fehlertoleranten Betriebsart zu liefern.To solve the above problems, there is a first task of the present invention, a video encoding-decoding (CODEC) procedure in a fault-tolerant operating mode deliver.
Eine zweite Aufgabe der vorliegenden Erfindung besteht darin, ein vom Computer lesbares Medium zu liefern, auf dem ein Com puterprogramm für das Video-CODEC-Verfahren in einer fehler toleranten Betriebsart ausgebildet ist.A second object of the present invention is to deliver a computer-readable medium on which a Com Computer program for the video CODEC process in one error tolerant operating mode.
Eine dritte Aufgabe der vorliegenden Erfindung besteht darin, eine Video-CODEC-Vorrichtung in einer fehlertoleranten Be triebsart zu liefern, um das Video-CODEC-Verfahren zu erzie len.A third object of the present invention is a video CODEC device in a fault tolerant loading drive mode to provide the video CODEC process len.
Um die erste Aufgabe zu lösen, wird somit eine Video-CODEC geliefert, die folgende Schritte aufweist: (a) Aufteilen ei nes Kopfdatenteil-(HDP)-Bitgebietes, eine Bewegungsvektorda tenteil-(MVDP)-Bitgebietes und eines Bitgebietes des Daten teiles einer diskreten Kosinustransformation (DDP) aus jedem Makroblock der Videodaten in einer fehlertoleranten Betriebs art; (b) Durchführen einer variablen Längenkodierung der auf geteilten Bitgebiete; (c) Durchführen einer reversiblen va riablen Längenkodierung der Bitgebiete, die aus den gemäß der variablen Längenkodierung kodierten Bitgebieten gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden; und (d) Einschieben von Markierungen in die gemäß der variablen Längenkodierung oder der reversiblen variablen Län genkodierung kodierten Bitgebiete.To solve the first task, a video CODEC supplied, which comprises the following steps: (a) dividing egg header part (HDP) bit area, a motion vector part (MVDP) bit area and a bit area of the data part of a discrete cosine transform (DDP) from each Macroblock of video data in a fault-tolerant mode kind; (b) performing variable length encoding on divided bit areas; (c) performing a reversible va Variable length coding of the bit areas, which are derived from the according to the variable length coding encoded bit areas according to a predetermined priority selected for recovery were; and (d) inserting markings into the according to the variable length coding or the reversible variable length gene coding coded bit areas.
Um die zweite Aufgabe zu lösen, wird ein von einem Computer lesbares Medium, auf dem ein Computerprogramm für das Ausfüh ren des Video-CODEC-Verfahrens untergebracht ist, geliefert, wobei das Verfahren folgende Schritte umfaßt: (a) Aufteilen eines Kopfdatenteil-(HDP)-Bitgebietes, eines Bewegungsvektor datenteil-(MVDP)-Bitgebietes und eines Bitgebietes eines Da tenteiles eines diskreten Kosinustransformation (DDP) von je dem Makroblock der Videodaten in einer fehlertoleranten Be triebsart; (b) Durchführen einer variablen Längenkodierung der aufgeteilten Bitgebiete; (c) Durchführen einer reversi blen variablen Längenkodierung der Bitgebiete, die aus den einer variablen Längenkodierung unterworfenen Bitgebieten ge mäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden; und (d) Einschieben von Markierungen in die Bitgebiete der variablen Längenkodierung oder der rever siblen variablen Längenkodierung.To solve the second task, one is from a computer readable medium on which a computer program for the execution video CODEC process is delivered, the method comprising the steps of: (a) splitting a header part (HDP) bit area, a motion vector data part (MVDP) bit area and a bit area of a Da part of a discrete cosine transformation (DDP) of each the macroblock of the video data in a fault-tolerant loading mode of operation; (b) performing variable length coding the divided bit areas; (c) performing a reversi variable length coding of the bit areas resulting from the bit areas subject to variable length coding according to a predetermined priority for recovery have been selected; and (d) inserting marks into the bit areas of the variable length coding or the rever sible variable length coding.
Um die dritte Aufgabe zu lösen, wird eine Video-CODEC-Vor richtung bereitgestellt, die folgendes umfaßt eine Auftei lungseinheit für das Aufteilen eines Kopfdatenteil-(HDP)-Bit gebietes, eines Bewegungsvektordatenteil-(MVDP)-Bitgebietes und von Bitgebieten eines Datenteiles einer diskreten Kosi nustransformation (DDP) jedes Makroblocks der Videodaten in einer fehlertoleranten Betriebsart; eine Einheit der varia blen Längenkodierung für die variablen Längenkodierung der aufgeteilten Bitgebiete, eine Kodiereinheit der reversiblen variablen Längenkodierung für die Durchführung der reversi blen variablen Längenkodierung der Bitgebiete, die aus den der variablen Längenkodierung unterworfenen Bitgebiete gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausge wählt wurden, und einer Markierungseinschiebeeinheit für das Einschieben von Markierungen in die Bitgebiete der variablen Längenkodierung oder der reversiblen variablen Längenkodie rung.To solve the third task, a video CODEC-Vor direction provided, the following comprises a division unit for dividing a header part (HDP) bit area, a motion vector data (MVDP) bit area and bit areas of a data part of a discrete Kosi nustransformation (DDP) of each macroblock of the video data in a fault-tolerant operating mode; a unit of the varia blen length coding for the variable length coding of the divided bit areas, a coding unit of the reversible variable length coding for the implementation of the reversi variable length coding of the bit areas resulting from the bit areas subjected to the variable length coding a predetermined priority for recovery were selected, and a marker insertion unit for the Insertion of marks in the bit areas of the variable Length coding or the reversible variable length code tion.
Die obigen Aufgaben und Vorteile der vorliegenden Erfindung werden deutlicher durch eine detaillierte Beschreibung bevor zugter Ausführungsformen unter Bezug auf die angefügten Zeichnungen:The above objects and advantages of the present invention be made clearer by a detailed description before embodiments with reference to the attached Drawings:
Fig. 1 zeigt ein Beispiel eines Videodatenpakets, das während einer konventionellen Kodierung-Dekodierung (CODEC) in einer fehlertoleranten, Betriebsart erzeugt wurde; Fig. 1 shows an example of a video data packet which has been generated during a conventional coding-decoding (CODEC) in a fault tolerant mode of operation;
Fig. 2 ist ein Flußdiagramm, das die Hauptschritte eines Vi deo-CODEC-Verfahrens in einer fehlertoleranten Betriebsart gemäß einer bevorzugten Ausführungsform der vorliegenden Er findung zeigt Fig. 2 is a flow chart of the present showing the main steps of a vi deo CODEC method in a fault tolerant mode of operation according to a preferred embodiment of the invention
Fig. 3 ist ein Blockdiagramm einer Video-CODEC-Vorrichtung in einer fehlertoleranten Betriebsart gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung; und Fig. 3 is a block diagram of a video CODEC device in a fault-tolerant mode of operation according to a preferred embodiment of the present invention; and
Fig. 4 zeigt ein Beispiel eines Videodatenpakets, das durch das fehlertolerante Video-CODEC-Verfahren gemäß der vorlie genden Erfindung erzeugt wurde. Fig. 4 shows an example of a video data packet, which was generated by the fault-tolerant video CODEC method according to the vorlie invention.
Man betrachte Fig. 2, in der die Hauptschritte eines Video- Kodier-Dekodier-(CODEC)-Verfahrens in einer fehlertoleranten Betriebsart gemäß einer bevorzugten Ausführungsform der vor liegenden Erfindung dargestellt sind, wobei das Video-CODEC- Verfahren einen Aufteilungsschritt 20, einen variablen Längen kodierungsschritt 22, einen reversiblen variablen Längenko dierschritt 24, der für jede der ausgewählten Bitgebiete durchgeführt wird, und einen Markierungseinschiebeschritt 26 umfaßt.Consider Fig. 2, in which the main steps of a video coding decoding (CODEC) process in a fault tolerant mode of a preferred embodiment of the invention are shown before lying in accordance with, the video CODEC method a division step 20, a variable Length coding step 22 , a reversible variable Längenko coding step 24 , which is carried out for each of the selected bit regions, and a marker insertion step 26 .
Im Schritt 20 wird eine Kopfdatenteil-(HDP)-Bitgebiet durch Aufteilen der Kopfdaten gebildet. In einer ähnlichen Weise werden ein Bewegungsvektordatenteil-(MVDP)-Bitgebiet und ein Bitgebiet eines Datenteiles (DDP) einer diskreten Kosinus transformation (DCT) durch das Aufteilen der Bewegungsvek tordaten beziehungsweise der DCT-Daten gebildet.In step 20 , a header data part (HDP) bit area is formed by dividing the header data. In a similar manner, a motion vector data part (MVDP) bit area and a bit area of a data part (DDP) of a discrete cosine transformation (DCT) are formed by dividing the motion vector data and the DCT data, respectively.
Die Kopfdaten umfassen Information über den Kodierstatus des aktuellen Makroblocks. Das heißt, die Kopfdaten geben an, ob der aktuelle Makroblock ein Innenmakroblock ist, in welchem der Inhalt des aktuellen Rahmens so kodiert wird, wie er ist, oder ein Zwischenmakroblock, in welchem der Unterschied ge genüber einem vorherigen Makroblock kodiert wird. Somit würde sich, wenn ein Fehler in den Kopfdaten auftritt, ein sehr kritischer Informationsverlust ergeben.The header data comprise information about the coding status of the current macroblocks. That is, the header data indicate whether the current macroblock is an inside macroblock in which the content of the current frame is encoded as it is, or an intermediate macroblock in which the difference is ge compared to a previous macroblock. So would when an error occurs in the header data, a very result in critical loss of information.
Somit müssen aufgrund der Bedeutung der Kopfdaten, die Kopf daten zuerst wiedergewonnen werden. Aus diesem Grund kann ein Makroblockidentifikations-(COD)-Bit, das anzeigt, ob eine Ko dierung durchgeführt wird oder nicht, und ein Makroblockmu sterchrominanz-(MCBPC)-Bit in einem Informationsbit (COD + MDBPC) für die Aufteilung kombiniert werden. Diese Kombina tion für die Aufteilung wird aus den folgenden Gründen bevor zugt. In der H.263-Norm wird 1 Bit für das COD-Bit verwendet, und eine variabler Längenkode wird für das MCBPC-Bit der Kopfdaten verwendet. Da jedoch das COD-Bit sowohl den Wert 0 als auch 1 aufweisen kann, ist es schwierig zu beurteilen, ob das COD-Bit einen Fehler aufweist. Auch in dem Fall, in dem daß MCBPC-Bit, das einen variablen Längenkode verwendet, ei nen Fehler aufweist, ist es sehr wahrscheinlich, daß das feh lerhafte Bit in einer variablen Längenkodiertabelle exi stiert, so daß der Erkennen des Fehlers schwierig ist. Somit werden in dieser Ausführungsform das COD-Bit und das MCBPC-Bit für eine Aufteilung kombiniert, und das kombinierte Bit gebiet wird einer reversiblen variablen Längenkodierung un terzogen, um somit einfach die Änderung des Bits zu erkennen. Beispielsweise kann im Falle der Daten 0110, ein Fehler wie 0101 oder 1001 erkannt werden, so daß die Wahrscheinlichkeit der Verwendung fehlerhafter Information vermindert wird. Wei terhin wird, da die reversible variable Längenkodierung durchgeführt wird, eine rückwärtige Wiedergewinnung ebenso möglich. Das HDP-Bitgebiet kann jedoch durch das Aufteilen ohne eine Kombination der Bits errichtet werden.Therefore, due to the importance of the header data, the header data to be recovered first. Because of this, a Macroblock Identification (COD) bit indicating whether a Ko is performed or not, and a macroblock must sterchrominance (MCBPC) bit in an information bit (COD + MDBPC) can be combined for the division. This Kombina tion for the split is due for the following reasons moves. In the H.263 standard, 1 bit is used for the COD bit, and a variable length code is used for the MCBPC bit Header data used. However, since the COD bit is both 0 as well as 1, it is difficult to judge whether the COD bit has an error. Even in the case where that MCBPC bit using a variable length code ei If there is an error, it is very likely that the fault lerable bits in a variable length coding table exi bulls, so that the detection of the error is difficult. Consequently in this embodiment, the COD bit and the MCBPC bit combined for a split, and the combined bit A reversible variable length coding is used in order to easily recognize the change in the bit. For example, in the case of data 0110, an error such as 0101 or 1001 can be detected, making the probability the use of incorrect information is reduced. Wei thereafter, because the reversible variable length coding backward recovery is performed as well possible. However, the HDP bit area can be divided can be built without a combination of the bits.
Der Schritt 20 wird ebenso in Makroblockeinheiten durchge führt, so daß bevorzugt der Schritt des Einschiebens eines ersten Makroblockindex-(FMBI)-Bitgebietes, das die Seriennum mer des ersten Makroblocks in jedem Paket anzeigt, auf das für eine Dekodierung Bezug genommen wird, eingeschlossen wird. Vorzugsweise umfaßt der Schritt 20 auch das Einschieben eines letzten absoluten Bewegungsvektor-(LAAV)-Bits, das die absolute Bewegungsvektorinformation einschließt, und nicht einen vorhergesagten Bewegungsvektor, nach dem MVDP-Bitge biet. Vorzugsweise umfaßt der Schritt 20 weiter den Schritt des Einschiebens eines Paketnummern-(PN)-Bitgebietes als zu sätzliche Information, die eine Seriennummer des Pakets an zeigt.Step 20 is also performed in macroblock units, so that preferably the step of inserting a first macroblock index (FMBI) bit area indicating the serial number of the first macroblock in each packet referred to for decoding is included . Preferably, step 20 also includes inserting a last absolute motion vector (LAAV) bit, which includes the absolute motion vector information, rather than a predicted motion vector, according to the MVDP bitge. Preferably, step 20 further includes the step of inserting a packet number (PN) bit area as additional information indicating a serial number of the packet.
Im variablen Längenkodierungsschritt 22 wird die variable Längenkodierung auf dem HDP-Bitgebiet, dem MVDP-Bitgebiet und dem DDP-Bitgebiet durchgeführt. Auch die PN und LAMV-Bitge biete sind variabel längenkodiert.In the variable length coding step 22 , the variable length coding is carried out on the HDP bit area, the MVDP bit area and the DDP bit area. The PN and LAMV bit areas are also variable length coded.
Im Schritt 24 der reversiblen variablen Längenkodierung wird eine reversible variable Längenkodierung auf den Bitgebieten variabler Längenkodierung, die gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden, durchge führt. Das heißt, wenn ein Informationsverlust während der Dekodierung auftritt, so wird die reversible variable Längen kodierung mit der wichtigen Information des gesamten Pakets oder Makroblocks, die verloren sein mag, durchgeführt. Der Grund für die Priorität wird im Detail beschrieben. Als er stes geben, wie oben beschrieben, die Kopfdaten an, ob der aktuelle Makroblock ein Zwischenmakroblock ist, in welchem der Inhalt des aktuellen Rahmens kodiert ist, wie er ist, oder ein Innenmakroblock, in welchem die Differenz gegenüber einem vorhergehenden Makroblock kodiert wird. Nahezu voll ständige Makroblöcke sind aus Zwischenmakroblöcken aufgebaut, um die Wirksamkeit der Komprimierung zu erhöhen. Wenn ein Fehler im HDP des Zwischenmakroblocks auftritt, so können so wohl der MVDP als auch der DDP nicht verwendet werden. Auch wenn ein Fehler im MVDP auftritt, ist es nicht möglich, den DDP zu verwenden. Somit ist jeder Datenteil in der Sequenz des HDP, des MVDP und des DDP wichtig. Das heißt, die,Priori tät existiert innerhalb des Makroblocks gemäß einer solchen Wichtigkeit, und eine Wiedergewinnung gemäß der Priorität wird gefordert. Hier werden bei einer selektiv reversiblen variablen Längenkodierung gemäß der Priorität durch eine be grenzte Kanalkapazität nicht alle Daten betrachtet, während die reversible variable Längenkodierung die Zahl der Bits verglichen mit der variablen Längenkodierung erhöht. Im Vi deo-CODEC-Verfahren gemäß der vorliegenden Erfindung, das in Fig. 2 nicht gezeigt ist, wird die Information der Kanalei genschaften, wie die Kapazität, der Fehlerstatus und der Grad der Verstopfung, durch einen Rückwärtskanal empfangen, um die Kanaleigenschaften zu identifizieren. Im Identifizierungs schritt der Kanaleigenschaft wird vorzugsweise, wenn ein ge eigneter Kanalstatus vorliegt, eine vorbestimmtes Bitgebiet, das eine niedrige Priorität hat, beispielsweise ein DDP-Bit gebiet, reversibel variabel längenkodiert, ansonsten wird das Bitgebiet nur variabel längenkodiert, um somit die Kanalei genschaften als auch die ansteigende Fehlertoleranz zu erfül len. Alternativ kann im Kanaleigenschaftenidentifizie rungsschritt, wenn ein geeigneter Kanalstatus nicht vorliegt, zusätzliche Information in ein Bitgebiet, das eine niedrigere Priorität aufweist, wie ein DDT-Bitgebiet, eingeschoben wer den, um für die Dekodierung darauf Bezug zu nehmen. Nachfol gend wird die Verwendung zusätzlicher Information im Detail beschrieben. Zuerst ist es möglich, zusätzlich die Informa tion des HDP in das DDP zu schieben. Dies ist für den Fall, wenn ein Fehler im HDP mit Priorität auftaucht, nicht im MVDP und dem DDP, der verwirklicht werden kann. Durch das Plazie ren des HDP hinter dem DDP kann das aktuelle Datenpaket wie dergewonnen werden, ohne verworfen zu werden. Als zweites ist es möglich, eine CRC (Abkürzung für zyklische Redundanzprü fung) als zusätzliche Information in das DDP zu übertragen. Beispielsweise wird im DDP-Bitgebiet ein 8-Bit Kode fester Länge als Gleichstrom-(DC)-Wert verwendet, und es wird ein Kode variabler Länge als Wechselstrom-(AC)-Wert verwendet. Relativ gesehen ist es schwierig, einen Fehler aus einem 8-Bit Kode fester Länge zu erkennen. Um das Erkennen eines Feh lers zu unterstützen, wird der CRC zum 8-Bit Kode fester Länge hinzugefügt, um somit die Wiedergewinnungseigenschaften zu verbessern. Ebenso wird ein anderer Kode fester Länge, beispielsweise ein Quantisierteil (QP), der einen Quantisier wert anzeigt, als auch der 8-Bit Kode fester Länge verwendet, um den CRC zu erhalten. Das heißt, durch das Addieren des CRC zu einem Kode fester Länge des DDP können die Fehlerwiederge winnungseigenschaften während der Dekodierung verbessert wer den. Das heißt, die zusätzliche Information der obigen beiden Fälle dient zur Unterstützung der Wiedergewinnung des fehler haften Gebietes des aktuellen Pakets, oder zur Erkennung des Gebietes, das anders ist, um Fehler darin zu erkennen. In dieser Ausführungsform des Video-CODEC-Verfahrens in einer fehlertoleranten Betriebsart werden auch unterschiedliche RVLC-Tabellen gemäß den Kanaleigenschaften im Kanaleigen schaftenidentifizierungsschritt für den RVLC verwendet, so daß die Fehlererkennung wirksamer wird.In step 24 of the reversible variable length coding, a reversible variable length coding is carried out on the bit areas of variable length coding which have been selected according to a predetermined priority for the recovery. That is, if there is a loss of information during decoding, the reversible variable length encoding is performed with the important information of the entire packet or macroblock that may be lost. The reason for the priority is described in detail. First, as described above, the header data indicates whether the current macroblock is an intermediate macroblock in which the content of the current frame is encoded as it is, or an inside macroblock in which the difference from a previous macroblock is encoded. Almost full macroblocks are built from intermediate macroblocks to increase the effectiveness of the compression. If an error occurs in the HDP of the intermediate macroblock, the MVDP and the DDP cannot be used. Even if an error occurs in the MVDP, it is not possible to use the DDP. Thus, each piece of data is important in the sequence of the HDP, MVDP and DDP. That is, the priority exists within the macroblock according to such importance, and recovery according to the priority is required. Here, with a selectively reversible variable length coding according to the priority due to a limited channel capacity, not all data are considered, while the reversible variable length coding increases the number of bits compared to the variable length coding. In the video de CODEC method according to the present invention, which is not shown in FIG. 2, the information of the channel properties, such as capacity, error status and degree of congestion, is received by a reverse channel to identify the channel properties . In the identification step of the channel property, if a suitable channel status is present, a predetermined bit area, which has a low priority, for example a DDP bit area, is reversibly variable-length coded, otherwise the bit area is only variably length-coded, so that the channel properties as also to meet the increasing fault tolerance. Alternatively, in the channel property identification step, if an appropriate channel status is not present, additional information may be inserted into a bit area having a lower priority, such as a DDT bit area, to refer to for decoding. The use of additional information is described in detail below. First of all, it is possible to push the information from the HDP into the DDP. This is the case if an error occurs in the HDP with priority, not in the MVDP and the DDP that can be realized. By placing the HDP behind the DDP, the current data packet can be retrieved without being discarded. Secondly, it is possible to transfer a CRC (abbreviation for cyclical redundancy check) as additional information into the DDP. For example, in the DDP bit area, an 8-bit fixed length code is used as a direct current (DC) value, and a variable length code is used as an alternating current (AC) value. Relatively speaking, it is difficult to identify an error from an 8-bit code of fixed length. To aid in the detection of an error, the CRC is added to the 8-bit fixed length code, thus improving the recovery properties. Another fixed-length code, for example a quantizing part (QP) that indicates a quantizing value, and the 8-bit fixed-length code are also used to obtain the CRC. That is, by adding the CRC to a fixed length code of the DDP, the error recovery properties can be improved during decoding. That is, the additional information of the above two cases is used to help recover the defective area of the current package, or to identify the area that is different to detect errors therein. In this embodiment of the video CODEC method in a fault-tolerant operating mode, different RVLC tables are also used for the RVLC according to the channel properties in the channel property identification step, so that the error detection becomes more effective.
Im Markierungseinschubschritt 26 wird ein Neusynchronisati onsmarkierer (RM) für das Identifizieren von Paketen, und ein Kopfmarkierer (HM) als Informationsbit für das Identifizieren eines HDP und eines MVDP eingeschoben. Es wird auch ein Bewe gungsmarkierer (MM) für das Identifizieren des MVDP und des DDP eingeschoben. Vorzugsweise ist der HM aus Kodeworten auf gebaut, die nicht für die Kodierung des HDP verwendet werden, so daß sie während der Dekodierung unterscheidbar sind.In the marker insertion step 26 , a resynchronization marker (RM) for the identification of packets and a header marker (HM) are inserted as an information bit for the identification of an HDP and an MVDP. A motion marker (MM) is also inserted for identifying the MVDP and the DDP. The HM is preferably constructed from code words which are not used for coding the HDP, so that they can be distinguished during decoding.
Fig. 3 zeigt eine Video-CODEC-Vorrichtung in einer fehlerto leranten Betriebsart gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung für das Erreichen des obigen Vi deo-CODEC-Verfahrens. Betrachtet man Fig. 3, so umfaßt die Video-CODEC-Vorrichtung eine Aufteilungseinheit 30, eine va riable Längenkodiereinheit 32, eine reversible variable Län genkodiereinheit 34 für das reversible variable Längenkodie ren der variabel längenkodierten Bitgebiete, die gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden, eine Kanalidentifiziereinheit 36 für das Identifizie ren der Kanaleigenschaften durch das Empfangen von Informa tion über die Kanaleigenschaften, wie die Kapazität, den Feh lerstatus und den Grad der Verstopfung, beispielsweise durch einen (nicht gezeigten) Rückwärtskanal, und eine Markierer einschubeinheit 38 für das Einschieben eines Markierers in das variabel längenkodierte oder das reversibel variabel län genkodierte Bitgebiet. Fig. 3 shows a video CODEC device in a fehlerto leranten mode in accordance with a preferred embodiment of the present invention for achieving the above Vi deo CODEC method. Looking at Fig. 3, the video CODEC device includes a partitioning unit 30 , a variable length coding unit 32 , a reversible variable length coding unit 34 for reversible variable length coding of the variable length coded bit areas selected according to a predetermined priority for retrieval , a channel identification unit 36 for identifying the channel properties by receiving information about the channel properties such as capacity, error status and degree of congestion, for example by a reverse channel (not shown), and a marker inserting unit 38 for that Inserting a marker into the variable length-coded or the reversibly variable length-coded bit area.
Die Aufteilungseinheit 30 empfängt Videodaten und Aufteilun gen eines HDP-Bitgebietes, eines MVDP-Bitgebietes und eines DDP-Bitgebietes von jedem Makroblock der Videodaten in einer fehlertoleranten Betriebsart, wie das unter Bezug auf Fig. 2 beschrieben wurden. Die Aufteilungseinheit 30 bildet vorzugs weise auch das HDP-Bitgebiet durch Kombination einer vorbe stimmten Anzahl von Bitgebieten, die eine höhere Priorität für die Wiedergewinnung haben, beispielsweise ein COD-Bit und ein MCBPC-Bit, in ein Informationsbit (COD + MCBPC) während des Aufteilens.The splitting unit 30 receives video data and splits of an HDP bit area, an MVDP bit area and a DDP bit area from each macroblock of the video data in a fault-tolerant mode as described with reference to FIG. 2. The division unit 30 also preferably forms the HDP bit area by combining a predetermined number of bit areas which have a higher priority for the recovery, for example a COD bit and an MCBPC bit, into an information bit (COD + MCBPC) during the Splitting.
Die variable Längenkodiereinheit 32 empfängt die unterglie derten Bitgebiete und führt eine variable Längenkodierung durch, und die reversible variable Längenkodiereinheit 34 führt die reversible variable Längenkodierung auf den Bitge bieten durch, die aus den variabel längenkodierten Bitgebie ten gemäß einer vorbestimmten Priorität für die Wiedergewin nung ausgewählt wurden, beispielsweise gemäß der Wahrschein lichkeit des Verlustes im gesamten Paket oder dem Makroblock während der Dekodierung, was zu guten Fehlerwiedergewin nungseigenschaften führt. Die reversible variable Längenko dierung erhöht jedoch die Zahl der Bits verglichen mit der variablen Längenkodierung, so daß bevorzugt wird, die rever sible variable Längenkodierung nur auf den Bitgebieten durch zuführen, die gemäß der Priorität für die Wiedergewinnung ausgewählt wurden, wobei die begrenzte Kanalkapazität berück sichtigt wird. The variable length coding unit 32 receives the subdivided bit areas and performs variable length coding, and the reversible variable length coding unit 34 performs the reversible variable length coding on the bit areas selected from the variable length-coded bit areas according to a predetermined priority for the recovery , for example according to the probability of loss in the whole packet or the macroblock during decoding, which leads to good error recovery properties. However, the reversible variable length coding increases the number of bits compared to the variable length coding, so that it is preferable to perform the reversible variable length coding only on the bit areas selected according to the priority for the recovery, taking into account the limited channel capacity becomes.
Zu diesem Zweck steuert die Kanaleigenschaftenidentifizier einheit 36 die variable Längenkodiereinheit 32 und die rever sible variable Längenkodiereinheit 34, so daß wenn ein geeig neter Kanalzustand existiert (nicht existiert), wobei ein Bitgebiet, das eine niedrige Priorität hat, wie ein DDP-Bit gebiet, reversibel variabel längenkodiert wird, und ansonsten das Bitgebiet variabel längenkodiert wird. Alternativ kann ferner eine zusätzlich (nicht gezeigte) Informationseinschu beinheit eingeschlossen sein, um eine zusätzliche Information in ein Bitgebiet einzuschieben, das eine niedrige Priorität hat, wie das DDP-Bitgebiet, wenn die Kanaleigenschafteniden tifizierungseinheit 36 bestimmt, daß ein geeigneter Kanalzu stand existiert (nicht existiert). Vorzugsweise führt, wenn die Kanaleigenschaftenidentifizierungseinheit 36 bestimmt, daß ein geeigneter Kanalzustand existiert (nicht existiert), die reversible Variablenlängenkodiereinheit 34 die reversible variable Längenkodierung unter Verwendung verschiedener Ko diertabellen durch, um denselben Effekt, wie er unter Bezug auf Fig. 2 beschrieben wurde, zu erreichen.For this purpose, the channel property identification unit 36 controls the variable length coding unit 32 and the reversible variable length coding unit 34 so that when a suitable channel state exists (does not exist), a bit area having a low priority, such as a DDP bit, is reversibly variable length encoded, and otherwise the bit area is variable length encoded. Alternatively, an additional information insertion unit (not shown) may also be included to insert additional information into a low priority bit area, such as the DDP bit area, if the channel property identification unit 36 determines that an appropriate channel condition exists (not exists). Preferably, leads when the channel characteristics identification unit 36 determines that a suitable channel condition exists (does not exist), the reversible Variablenlängenkodiereinheit 34, the reversible variable length coding using different Ko decoding tables through to the same effect as that described with reference to FIG. 2, to to reach.
Die CODEC-Vorrichtung gemäß der vorliegenden Erfindung kann ferner eine (nicht gezeigte) FBMI-Bitgebietseinschubeinheit für das Einschieben einer FMBI, die eine Seriennummer des er sten Makroblocks jedes Pakets anzeigt, umfassen, um so den selben Effekt zu erreichen, wie er unter Bezug auf Fig. 2 be schrieben wurde, und die reversible variable Längenkodierein heit 34 kann die reversible variable Längenkodierung auf ei nem LAMV-Bitgebiet durchführen. Vorzugsweise umfaßt die Vi deo-CODEC-Vorrichtung eine (nicht gezeigte) Einheit für das Einschieben des LAMV-Bitgebietes, das eine absolute Bewe gungsvektorinformation hinter dem MVDP-Bitgebiet einschließt.The CODEC device according to the present invention may further include an FBMI bit area inserting unit (not shown) for inserting an FMBI indicating a serial number of the first macroblock of each packet so as to achieve the same effect as with reference to FIG Fig. 2 be written, and the reversible variable length coding unit 34 can perform the reversible variable length coding on a LAMV bit area. Preferably, the video de CODEC device includes a LAMV bit area inserting unit (not shown) which includes absolute motion vector information behind the MVDP bit area.
Die Markierereinschubeinheit 38 schiebt auch einen Neusyn chronisationsmarkierer (RM) für eine Trennung in Pakete, ei nen Kopfmarkierer (HM), der aus Kodeworten besteht, die nicht verwendet werden, um das HDP-Bitgebiet zu kodieren, als ein Informationsbit für das Aufteilen des HDP und des MVDP, und einen Bewegungsmarkierer (MM) für das Aufteilens des MVDP und des DCT ein. Hier besteht der HM aus Kodeworten, die nicht verwendet werden, um den HDP zu kodieren, so daß sie während des Dekodierens unterschieden werden können.The marker insert unit 38 also pushes a resynchronization marker (RM) for separation into packets, a header marker (HM) consisting of code words that are not used to encode the HDP bit area, as an information bit for dividing the HDP and the MVDP, and a motion marker (MM) for dividing the MVDP and the DCT. Here the HM consists of code words that are not used to encode the HDP so that they can be distinguished during decoding.
Fig. 4 zeigt ein Beispiel eines Videodatenpakets, das man durch das Video-CODEC-Verfahren gemäß der vorliegenden Erfin dung erhält. Betrachtet man Fig. 4, so umfaßt das Videodaten paket, das durch das Video-CODEC-Verfahren erzeugt wurde, ein RM-Bitgebiet, ein PN-Bitgebiet, ein FMBI-Bitgebiet, ein HDP-Bitgebiet, ein HM-Bitgebiet, ein MVDP-Bitgebiet, ein LAMV-Bitgebiet, ein MM-Bitgebiet und ein DDP-Bitgebiet. Im Video datenpaket, das solche Bitgebiete einschließt, bezeichnet das RM-Bit den Start des Videodatenpakets, so daß der Startpunkt eines Pakets für die Dekodierung gefunden werden kann, wie das im Stand der Technik beschrieben ist. Das PN bezeichnet eine Seriennummer jedes Pakets und kann als zusätzliche In formation verwendet werden, und das FMBI-Bit bezeichnet eine Seriennummer des ersten Makroblocks jedes Pakets. In dieser Ausführungsform wird das HDP-Bit durch die Kombination eines COD-Bits und eines MCBPC-Bits, das in der MPEG-4 oder H-236 Norm definiert wurde, in ein Informationsbit (COD + MCBPC) und dem anschließenden Durchführen der reversiblen variablen Län genkodierung auf dem kombinierten Bit erhalten. Auch das HM-Bit als ein Informationsbit für das Aufteilen des HDP und des MVDP besteht aus Kodeworten, die nicht verwendet werden, um das HDP-Bit zu kodieren. Das MVDP-Bit wird erhalten durch das Durchführen der reversiblen variablen Längenkodierung auf der Information, die durch die Bewegungsvektorvorhersage erzeugt wurde. Im DDP-Bitgebiet, das Information über die diskrete Kosinustransformation (DCT) enthält, werden ein kodiertes Blockmusterluminanz-(COBY)-Bit, dem Datenquantisier-(DQUANT)-Bit und ein DCT-Koeffizient kodiert. Auch wird es bevorzugt, diese Information, die für die Fehleridentifikation und die Wiedergewinnung während des Dekodierens und die Information, die im aktuellen Paket verwendet wird, in das DDP-Bit einzu schieben. Ein solches Einschieben von Information kann in Ab hängigkeit von den Kanaleigenschaften ausgewählt angewandt werden. Das MM-Bit dient für das Aufteilen des MVDP-Bits und des DDP-Bits. Fig. 4 shows an example of a video data packet obtained by the video CODEC method according to the present invention. Referring to FIG. 4 so comprises video data packet, the method video CODEC generated by the a RM-bit area, a PN-bit area, a FMBI-bit area, an HDP-bit area, a HM-bit area, a MVDP Bit area, a LAMV bit area, an MM bit area and a DDP bit area. In the video data packet, which includes such bit areas, the RM bit denotes the start of the video data packet, so that the start point of a packet for decoding can be found, as is described in the prior art. The PN denotes a serial number of each packet and can be used as additional information, and the FMBI bit denotes a serial number of the first macro block of each packet. In this embodiment, the HDP bit is converted into an information bit (COD + MCBPC) by the combination of a COD bit and an MCBPC bit defined in the MPEG-4 or H-236 standard and then performing the reversible variable Received length coding on the combined bit. The HM bit as an information bit for dividing the HDP and the MVDP also consists of code words which are not used to code the HDP bit. The MVDP bit is obtained by performing the reversible variable length coding on the information generated by the motion vector prediction. A coded block pattern luminance (COBY) bit, the data quantizer (DQUANT) bit, and a DCT coefficient are encoded in the DDP bit area containing discrete cosine transform (DCT) information. It is also preferred to insert this information, for error identification and recovery during decoding, and the information used in the current packet into the DDP bit. Such insertion of information can be applied depending on the channel properties selected. The MM bit is used to split the MVDP bit and the DDP bit.
Das Dekodierverfahren für das Videodatenpaket, das wie oben kodiert wurde, wird beschrieben. Als erstes wird, wenn ein RM im empfangenen Bitstrom gefunden wird, der Bitstrom zwischen dem gefundenen RM und dem nächsten RM als ein Paket angese hen, wie das im Stand der Technik beschrieben ist. Wenn ein Fehler im HDP-Bit auftritt kann das HDP-Bit rückwärts genauso gut wie vorwärts dekodiert werden, da das HDP reversibel va riabel längenkodiert wurde. Beispielsweise kann das HDP-Bit durch die Verwendung des PN und des FMBI des nächsten Pakets wieder gewonnen werden. Das heißt, da die Makroblocknummer des aktuellen Pakets dem Wert entspricht, den man durch das Vermindern des FMBI des nächsten Pakets um 1 erhält, kann das HP-Bit bis zum vorherigen Gebiet des fälschlichen Makroblock gebietes durch eine Rückwärtskodierung wiedergewonnen werden. Auch wird das MVDP-Bit dekodiert, bis MM gefunden wird, um somit den Bewegungsvektor durch Vorhersage zu dekodieren. Wenn ein Fehler während eines solchen Dekodierverfahrens auf tritt, ist auch die Dekodierung in Rückwärtsrichtung möglich, da das MVDP einer reversiblen variablen Längenkodierung un terworfen wurde. Im Vergleich dazu existiert in einem Deko dierverfahren für ein Videodatenpaket, das durch das konven tionelle CODEC-Verfahren kodiert wurde, nur der vorhergesagte Bewegungsvektor im MVDP-Bit, so daß es möglich ist, einen tatsächlichen Bewegungsvektor nur dann zu verwenden, wenn der vorher dekodierte Bewegungsvektor existiert. Im Video-CODEC- Verfahren gemäß der vorliegenden Erfindung ist der letzte Be wegungsvektor LAMV als ein absoluter Bewegungsvektor nicht als ein vorhergesagter Bewegungsvektor reversibel variabel längenkodiert, um gesendet zu werden. Somit wird im Falle der reversiblen variablen Längendekodierung, die den LAMV verwen det, dieser unabhängig vom vorherigen Bewegungsvektor. Auch in dem Fall, in dem ein Fehler im DDP-Bitgebiet auftritt, wenn das DDP-Bitgebiet variabel längenkodiert wurde, muß das Paket verworfen werden. Wenn jedoch das DDP-Bitgebiet rever sibel variabel längenkodiert wurde, so ist die Dekodierung in einer Rückwärtsrichtung möglich, was eine erhöhte Toleranz gegenüber Kanalfehlern liefert. Auch in dem Falle, bei dem zusätzliche Information, die für die Wiedergewinnung notwen dig ist, im DDP-Bitgebiet kodiert wird, kann eine solche zu sätzliche Information für die Dekodierung verwendet werden.The decoding method for the video data packet, as above has been encoded is described. First, when an RM is found in the received bit stream, the bit stream between the found RM and the next RM as a package hen as described in the prior art. When a Failure in the HDP bit occurs, the HDP bit can reverse as well can be decoded as well as forward, since the HDP is reversible length-coded. For example, the HDP bit by using the PN and FMBI of the next package be won again. That is, since the macro block number of the current package corresponds to the value that can be obtained from the This can decrease the FMBI of the next packet received by 1 HP bit to the previous area of the fake macroblock area can be recovered by reverse coding. The MVDP bit is also decoded until MM is found to thus decoding the motion vector by prediction. If an error occurs during such a decoding process occurs, decoding in the reverse direction is also possible, since the MVDP is a reversible variable length coding was thrown. In comparison there exists in a decoration dierverfahren for a video data packet that through the conven tional CODEC method was coded, only the predicted one Motion vector in the MVDP bit so that it is possible to get one use the actual motion vector only if the previously decoded motion vector exists. In the video CODEC The method according to the present invention is the last one motion vector LAMV as an absolute motion vector not reversibly variable as a predicted motion vector length coded to be sent. Thus, in the case of reversible variable length decoding using the LAMV det, this is independent of the previous motion vector. Also in the event that an error occurs in the DDP bit area, if the DDP bit area has been variable length encoded, the Package discarded. However, if the DDP bit area is reversed has been variably length-coded, the decoding is in a reverse direction possible, which is an increased tolerance against channel errors. Even in the case where additional information necessary for recovery dig is encoded in the DDP bit area, such can be too additional information can be used for decoding.
Die Erfindung kann in einem digitalen Universalrechner ver wirklicht werden, der ein Programm von einem vom Computer verwendbaren Medium ablaufen läßt, das in nicht ausschließen der Weise ein Speichermedium, wie ein magnetisches Speicher medium (beispielsweise ROMs, Disketten, Festplatten, etc.), ein optisch lesbares Medium (beispielsweise CD-ROMs, DVDs, etc.) und Trägerwellen (beispielsweise Übertragungen über das Internet) einschließt. Somit kann die vorliegende Erfindung als ein vom Computer verwendbares Medium ausgeführt werden, das eine von einem Computer lesbare Programmkodeeinheit, die auf ihm für eine Video-CODEC ausgebildet ist, umfaßt, wobei die vom Computer lesbare Programmkodevorrichtung im vom Com puter verwendbaren Medium folgendes umfaßt: eine vom Computer lesbare Programmkodevorrichtung für das Untergliedern eines HDP-Bitgebietes, eines MVDP-Bitgebietes und eines DDP-Bitge bietes von jedem Makroblock der Videodaten in einer fehlerto leranten Art; eine vom Computer lesbare Programmkodevorrich tung für die variable Längenkodierung der untergliederten Bitgebiete; eine vom Computer lesbare Programmkodevorrichtung für das reversible variable Längenkodieren der Bitgebiete, die aus den variabel längenkodierten Bitgebieten gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden; und eine vom Computer lesbare Programmkodevorrichtung für das Einschieben von Markierern in die variabel längenko dierten oder reversibel variabel längenkodierten Bitgebiete. Ein funktionelles Programm, ein Kode und Kodesegmente, die verwendet werden, um die vorliegende Erfindung zu implemen tieren, können von einem erfahrenen Computerprogrammierer aus der Beschreibung der hier enthaltenen Erfindung abgeleitet werden. The invention can ver in a digital universal computer become a reality of a program from a computer usable medium expires, which does not rule out in the way a storage medium, such as magnetic storage medium (e.g. ROMs, floppy disks, hard drives, etc.), an optically readable medium (e.g. CD-ROMs, DVDs, etc.) and carrier waves (e.g. transmissions over the Internet). Thus the present invention can run as a medium that can be used by the computer, the one computer readable program code unit, the trained on it for a video CODEC, including the computer readable program code device in the Com medium usable on the computer includes: one from the computer Readable program code device for dividing a HDP bit area, an MVDP bit area and a DDP bitge offers each macroblock of video data in one error learning type; a program code readable from the computer device for variable length coding of the subdivided Bit domains; a computer readable program code device for reversible variable length coding of the bit areas, the from the variable length-coded bit areas according to a predetermined priority selected for recovery were; and a computer readable program code device for inserting markers in the variable length dated or reversibly variable length-coded bit areas. A functional program, a code and code segments that can be used to implement the present invention animals can be done by an experienced computer programmer derived from the description of the invention contained herein become.
Wie oben beschrieben wurde, kann das CODEC-Verfahren gemäß der vorliegenden Erfindung eine erhöhte Toleranz gegenüber Kanalfehlern liefern, so daß die Übertragungen unter Bedin gungen, in welchen Fehler ein ernsthaftes Problem sind, wie beispielsweise in einem drahtlosen Kommunikationskanal, weni ger durch Fehler beeinträchtigt werden.As described above, the CODEC method can be performed according to tolerance of the present invention Deliver channel errors, so that the transmissions under Bedin in which mistakes are a serious problem, how for example in a wireless communication channel, weni are affected by errors.
Obwohl spezielle Ausdrücke in der obigen Ausführungsform ba sierend auf den MPEG-4-Visual- und H.263 Normen verwendet wurden, wie RM, PN, FMBI, HDP, HM, MVDP, MM und DDP, so wer den sie nur in einem allgemeinen und beschreibenden Sinn ver wendet und sollen keine Einschränkung darstellen. So kann das Video-CODEC-Verfahren der vorliegenden Erfindung auf alle Vi deo-CODECs angewandt werden, die andere Bitgebiete verwenden, die gleich sind den Bitgebieten, die durch die obigen spezi ellen Ausdrücke beschrieben werden.Although specific terms in the above embodiment ba based on the MPEG-4 visual and H.263 standards were like RM, PN, FMBI, HDP, HM, MVDP, MM and DDP, so who which they only use in a general and descriptive sense applies and should not constitute a restriction. So it can Video CODEC method of the present invention on all Vi deo-CODECs are used that use other bit areas, which are the same as the bit areas defined by the above speci Expressions are described.
Claims (29)
- (a) Untergliedern eines Kopfdatenteil-(HDP)-Bitgebietes, eines Bewegungsvektordatenteil-(MVDP)-Bitgebietes und eines Datenteil-(DDP)-Bitgebietes einer diskreten Kosinustransfor mation jedes Makroblocks der Videodaten in einer fehlertole ranten Art;
- (b) variable Längenkodierung der untergliederten Bitge biete;
- (c) reversible variable Längenkodierung der Bitgebiete, die aus den variabel längenkodierten Bitgebieten gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden; und
- (d) Einschieben von Markierern in die variabel längenko dierten oder reversibel variabel längenkodierten Bitgebiete.
- (a) subdividing a header data part (HDP) bit area, a motion vector data part (MVDP) bit area and a data part (DDP) bit area of a discrete cosine transformation of each macroblock of the video data in an error tolerant manner;
- (b) variable length coding of the subdivided bit regions;
- (c) reversible variable length encoding of the bit areas selected from the variable length encoded bit areas according to a predetermined priority for recovery; and
- (d) inserting markers into the variable length-coded or reversibly variable-length-coded bit areas.
- (d1) Einschieben eines Neusynchronisationsmarkierers (RM) für das Untergliedern jedes Pakets;
- (d2) Einschieben eines Kopfmarkierers (MM) als ein In formationsbit für das Aufteilen der HDP und MVDP-Bitgebiete, der aus Kodeworte besteht, die nicht verwendet werden, um das HDP-Bitgebiet zu kodieren; und
- (d3) Einschieben eines Bewegungsmarkierers (MM) für das Untergliedern der MVDP und DDP-Bitgebiete.
- (d1) inserting a resynchronization marker (RM) for dividing each packet;
- (d2) inserting a head marker (MM) as an information bit for dividing the HDP and MVDP bit areas, which consists of code words that are not used to code the HDP bit area; and
- (d3) Insert a motion marker (MM) for the subdivision of the MVDP and DDP bit areas.
Identifizieren von Kanaleigenschaften; und
Einschieben einer zusätzlichen Information in ein vorbe stimmtes Bitgebiet, das eine niedrige Priorität hat, wenn im Schritt der Identifizierung der Kanaleigenschaften bestimmt wird, daß ein geeigneter Kanalzustand vorliegt.12. The method of claim 1, further comprising the steps of:
Identify channel properties; and
Inserting additional information into a predetermined bit area which has a low priority if it is determined in the step of identifying the channel properties that a suitable channel state is present.
- (a) Untergliedern eines Kopfdatenteil-(HDP)-Bitgebietes, eines Bewegungsvektordatenteil-(MVDP)-Bitgebietes und eines Datenteil-(DDP)-Bitgebietes einer diskreten Kosinustransfor mation jedes Makroblocks der Videodaten in einer fehlertole ranten Art;
- (b) variable Längenkodierung der untergliederten Bitge biete;
- (c) reversible variable Längenkodierung der Bitgebiete, die aus den variabel längenkodierten Bitgebieten gemäß einer vorbestimmten Priorität für die Wiedergewinnung ausgewählt wurden; und
- (d) Einschieben von Markierern in die variabel längenko dierten oder reversibel variabel längenkodierten Bitgebiete.
- (a) subdividing a header data part (HDP) bit area, a motion vector data part (MVDP) bit area and a data part (DDP) bit area of a discrete cosine transformation of each macroblock of the video data in an error tolerant manner;
- (b) variable length coding of the subdivided bit regions;
- (c) reversible variable length encoding of the bit areas selected from the variable length encoded bit areas according to a predetermined priority for recovery; and
- (d) inserting markers into the variable length-coded or reversibly variable-length-coded bit areas.
eine Untergliederungseinheit für das Untergliedern eines Kopfdatenteil-(HDP)-Bitgebietes, eines Bewegungsvektordaten teil-(MVDP)-Bitgebietes und der Datenteil-(DDP)-Bitgebiete einer diskreten Kosinustransformation jedes Makroblocks der Videodaten in einer fehlertoleranten Art;
eine variable Längenkodiereinheit für eine variable Län genkodierung der untergliederten Bitgebiete;
eine reversible variable Längenkodiereinheit für das re versible variabel Längenkodieren der Bitgebiete, die aus den variabel längenkodierten Bitgebieten gemäß einer vorbestimm ten Priorität für die Wiedergewinnung ausgewählt wurden; und
eine Markierereinschubeinheit für das Einschieben von Markierern in die variabel längenkodierten oder reversibel variabel längenkodierten Bitgebiete.16. A video encoding-decoding (CODEC) device for encoding video data to generate a video data packet and for decoding the packet, comprising:
a subdivision unit for subdividing a header data part (HDP) bit area, a motion vector data part (MVDP) bit area and the data part (DDP) bit areas of a discrete cosine transformation of each macroblock of the video data in an error-tolerant manner;
a variable length coding unit for variable length coding of the subdivided bit areas;
a reversible variable length coding unit for reversible variable length coding of the bit areas selected from the variable length-coded bit areas according to a predetermined priority for the recovery; and
a marker insert unit for inserting markers into the variable length-coded or reversibly variable-length-coded bit areas.
eine Kanaleigenschaftsidentifizierungseinheit für das Identifizieren der Kanaleigenschaften; und
eine zusätzliche Informationseinschubeinheit für das Einschieben einer zusätzlichen Information in ein vorbestimm tes Bitgebiet, das eine niedrige Priorität hat, wenn in der Kanaleigenschaftsidentifizierungseinheit bestimmt wird, daß ein geeigneter Kanalzustand vorliegt.27. The apparatus of claim 16, further comprising:
a channel property identification unit for identifying the channel properties; and
an additional information insertion unit for inserting additional information into a predetermined bit area which has a low priority when it is determined in the channel property identification unit that an appropriate channel condition is present.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6701397P | 1997-12-01 | 1997-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19855501A1 true DE19855501A1 (en) | 1999-06-10 |
DE19855501C2 DE19855501C2 (en) | 2003-12-11 |
Family
ID=22073165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19855501A Expired - Lifetime DE19855501C2 (en) | 1997-12-01 | 1998-12-01 | Video coding / decoding method, computer-readable medium and video coding / decoding device |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP3262761B2 (en) |
KR (1) | KR100313870B1 (en) |
CN (2) | CN1182723C (en) |
DE (1) | DE19855501C2 (en) |
GB (1) | GB2332116B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10033110B4 (en) * | 2000-07-07 | 2005-06-16 | Siemens Ag | Method, and system for transmitting digitized moving pictures from a transmitter to a receiver and associated decoder |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1075148A3 (en) * | 1999-08-02 | 2005-08-24 | Texas Instruments Incorporated | Error resistant video coding using reversible variable length codes (RVLCs) |
KR100357266B1 (en) | 2000-12-06 | 2002-10-19 | 엘지전자 주식회사 | A method for video coding and transmitting using data partitioning method |
EP1345451A1 (en) * | 2002-03-15 | 2003-09-17 | BRITISH TELECOMMUNICATIONS public limited company | Video processing |
KR100441604B1 (en) * | 2002-03-19 | 2004-07-23 | 삼성전자주식회사 | Apparatus and method for transmitting packet for multimedia streaming service |
US7269288B2 (en) * | 2003-07-30 | 2007-09-11 | Mediatek Inc. | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof |
KR20050026661A (en) | 2003-09-09 | 2005-03-15 | 엘지전자 주식회사 | Motion vector selection method for resolution down-sampling of motion video |
HUE061470T2 (en) | 2011-06-28 | 2023-07-28 | Lg Electronics Inc | Method for deriving a motion vector for video decoding and video encoding |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8728397D0 (en) * | 1987-12-04 | 1988-01-13 | Shell Int Research | Preparation of phenyl ureas |
JPH02151190A (en) * | 1988-12-02 | 1990-06-11 | Hitachi Ltd | Interframe coding device |
JP2697479B2 (en) * | 1992-04-17 | 1998-01-14 | 国際電信電話株式会社 | Reversible variable length coding |
JPH09182073A (en) * | 1995-03-15 | 1997-07-11 | Toshiba Corp | Moving image encoding and decoding device |
JP2848326B2 (en) * | 1996-03-28 | 1999-01-20 | 日本電気株式会社 | MPEG encoded image decoding device |
-
1998
- 1998-12-01 CN CNB981230369A patent/CN1182723C/en not_active Expired - Lifetime
- 1998-12-01 DE DE19855501A patent/DE19855501C2/en not_active Expired - Lifetime
- 1998-12-01 JP JP34219298A patent/JP3262761B2/en not_active Expired - Lifetime
- 1998-12-01 CN CNB2004100549532A patent/CN1294759C/en not_active Expired - Lifetime
- 1998-12-01 GB GB9826265A patent/GB2332116B/en not_active Expired - Lifetime
- 1998-12-01 KR KR1019980052332A patent/KR100313870B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10033110B4 (en) * | 2000-07-07 | 2005-06-16 | Siemens Ag | Method, and system for transmitting digitized moving pictures from a transmitter to a receiver and associated decoder |
Also Published As
Publication number | Publication date |
---|---|
GB2332116A (en) | 1999-06-09 |
JPH11262010A (en) | 1999-09-24 |
GB2332116B (en) | 1999-10-20 |
KR100313870B1 (en) | 2001-12-12 |
CN1182723C (en) | 2004-12-29 |
CN1294759C (en) | 2007-01-10 |
DE19855501C2 (en) | 2003-12-11 |
GB9826265D0 (en) | 1999-01-20 |
CN1561110A (en) | 2005-01-05 |
CN1238644A (en) | 1999-12-15 |
KR19990066826A (en) | 1999-08-16 |
JP3262761B2 (en) | 2002-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69327375T2 (en) | Method and device for restoring image data | |
DE69624276T2 (en) | System and method for variable length coding of moving images | |
DE69535569T2 (en) | Synchronization recovery method and variable length decoding apparatus | |
DE69738502T2 (en) | METHOD AND SYSTEM FOR HIDING DATA | |
DE69726670T2 (en) | Image coder, image decoder and image transmission system | |
DE69424118T2 (en) | Method and device for data reception | |
DE69817137T2 (en) | Image processing for electronic watermarking | |
DE69328656T2 (en) | Image data processing | |
DE69625945T2 (en) | Hierarchical image encoder and decoder | |
DE69910805T2 (en) | Image data processing method, image data structure | |
DE69227402T2 (en) | Signal processing device with high efficiency and reducing the influence of error propagation | |
DE69834969T2 (en) | System for electronic watermarks | |
DE69827173T2 (en) | Image decoding method and apparatus | |
DE69810669T2 (en) | Process for computationally graceful degradation in an audio-visual compression system | |
DE60020243T2 (en) | VIDEO CODING | |
DE69836893T2 (en) | Moving image composition system | |
DE69636152T2 (en) | Device for decoding a digital signal | |
DE69827723T2 (en) | Watermark embedding method and system | |
DE19952683A1 (en) | Device and method for sending and receiving video data | |
DD298980A5 (en) | DIGITAL SIGNAL PROCESSING SYSTEM | |
DE69728757T2 (en) | Method and apparatus for coding an object using a contour motion estimation technique | |
DE19952684B4 (en) | Method for video coding and video decoding | |
DE69837497T2 (en) | METHOD AND DEVICE FOR CODING A VIDEO SIGNAL | |
DE60022482T2 (en) | MOVEMENT DECODING DEVICE AND METHOD | |
DE19752885C2 (en) | Device and method for detecting and masking video data errors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8304 | Grant after examination procedure | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |