WO1997001247A1 - Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung - Google Patents

Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung Download PDF

Info

Publication number
WO1997001247A1
WO1997001247A1 PCT/DE1996/000690 DE9600690W WO9701247A1 WO 1997001247 A1 WO1997001247 A1 WO 1997001247A1 DE 9600690 W DE9600690 W DE 9600690W WO 9701247 A1 WO9701247 A1 WO 9701247A1
Authority
WO
WIPO (PCT)
Prior art keywords
macroblocks
image
image data
decoded
class
Prior art date
Application number
PCT/DE1996/000690
Other languages
English (en)
French (fr)
Inventor
Ralf Fischer
Gunnar Nitsche
Original Assignee
Robert Bosch Gmbh
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 Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Priority to US08/983,219 priority Critical patent/US6198849B1/en
Priority to DE59604124T priority patent/DE59604124D1/de
Priority to JP50350397A priority patent/JP4008028B2/ja
Priority to EP96909068A priority patent/EP0834233B1/de
Publication of WO1997001247A1 publication Critical patent/WO1997001247A1/de

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • H04N7/54Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
    • 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

Definitions

  • the method according to the invention is based on a method according to the type of the main claim.
  • a video coding standard has already been proposed by the International Telecommunication Union, which is intended for the wired transmission of video images with a transmission rate of up to 64 kbit / s.
  • the standard has the title "Draft Recommendation H.263" and comes from Study Group 15, Working Party 15/1, Document LBC-95, April 7, 1995. This document contains the essential information on the source coding of the
  • Video signals for syntax and semantics in the transmission of the data, as well as for decoding the data in the receiver included.
  • the method according to the invention with the characterizing features of the main claim has the advantage that the quality of the transmitted video images is improved, in particular when the image data is transmitted via data channels, in which transmission errors can increasingly occur. Due to the fact that those image data which have a fixed word width are combined in a special class and are transmitted consecutively one after the other, not all subsequent information of the transmitted class is lost after a transmission error has occurred. The following information words can be evaluated correctly without being influenced. This leads to an improvement in the image quality after a transmission error has occurred.
  • the selection of the macroblocks to be decoded forward and the selection of the macroblocks to be decoded backwards are made such that neighboring macroblocks are decoded from different sides. This ensures that the macroblocks to be decoded differently are distributed as evenly as possible over the entire image, so that an error that occurs in one of the two groups of macroblocks is not so easily recognizable in the image.
  • the macroblocks to be decoded in the same way are inserted into the stream of image data in a certain order, so that first those macroblocks that are positioned in the center of the image can be decoded and lastly those that are in the edge regions of the image are positioned. This ensures that the particularly important parts of the picture in the center of the picture are always decoded first. If a transmission error then occurs, less and less important image information is lost in the peripheral areas.
  • a particularly favorable sequence for the transmission of the image data of the macroblocks to be decoded in the same way is the spiral form specified in claim 6.
  • the image data is provided with a parity bit, so that an error detection during the transmission of these words becomes easier.
  • the image data of the class HEADER and ADMIN + DC-INTRA namely the quantization words GQUANT and the DC-INTRA coefficients of the discrete cosine transformation, are particularly important here.
  • Another advantage is that when transmitting coded image data, such as the MCBPC codes for the
  • Chrominance information in the image of the class ADMIN + DC-INTRA and the MVD codes for the motion vectors of the class MV as the shortest code is a two-digit binary number instead of a one-digit number, as used in the proposed standard H.263. This also makes it easier to identify errors for these frequently used codes.
  • FIG. 1 shows some areas of application for the method according to the invention, video images being transmitted wirelessly;
  • Figure 2 shows the general class structure of an encoded video image;
  • FIG. 3 shows a special class structure of an encoded video picture for the described invention;
  • Figure 4 shows a special structure of the Class "HEADER" for the described invention;
  • FIG. 5 shows a special structure of the class ADMIN + DC-INTRA for the described invention;
  • Figure 6 shows a structure of class MV for the described invention;
  • FIG. 7 shows a structure of the AC-LOW class for the described invention;
  • FIG. 8 shows a structure of the AC-HIGH class for the described invention;
  • FIG. 9 shows a very simplified video image consisting of only four macro blocks;
  • FIG. 10 shows an example of a bit stream of class MV for the image according to FIG. 9 to explain the principle of the forward
  • FIG. 11 shows an image consisting of 99 macroblocks with a division of the macroblocks into macroblocks to be decoded forwards / backwards and a drawn spiral
  • FIG. 12 shows an example of a bit stream of the class AC-LOW for the image according to FIG. 11
  • 13 shows an example of a structogram for a program for decoding a bit stream of a class in the event that no bit error occurs
  • FIG. 14 shows an example of a structogram for a program for decoding a bit stream of the class MV taking into account bit errors.
  • the method according to the invention is to be used in the transmission of image data.
  • a mobile radio channel is intended as the transmission channel.
  • a maximum transmission rate of 64 kBIT / s is possible.
  • the image resolution cannot be as large as e.g. B. in conventional television pictures.
  • Figure 1 shows some applications of such image transfers.
  • Figure la shows z. Legs
  • FIG lb shows the application Transfer of image data between two mobile video phones.
  • Figure lc shows the application of personal verification using a mobile video phone.
  • Figure ld shows the application of message transmission to a mobile videophone.
  • Figure le shows the use of a video phone in a motor vehicle workshop for the purpose of maintenance work.
  • repair instructions can be transmitted from a central station to a mobile receiving device.
  • the claimed methods are then implemented in the end devices (video telephone, video image receiver, video image camera, etc.).
  • Figure 2 shows a general class structure for a coded picture.
  • PSC Picture Start Code
  • LIÜ ! - LIDJJ are picture start codes.
  • Length information for the following information INFOx - INFO N Length information for the following information INFOx - INFO N.
  • the rectangular fields in Figure 1 have a fixed defined length, while the oval parts in Figure 1 have a variable length.
  • the class structure shown in Figure 3 is proposed.
  • PSC in turn designates an initial code word of an image.
  • the information of the class HEADER is then transferred. This is followed by length information LID for the subsequent ADMIN + DC-INTRA class. This is followed by the data of the ADMIN + DC-INTRA class.
  • Length information for the subsequent MV class then follows.
  • the data of the MV class are then transferred.
  • Length information LID for the subsequent AC-LOW class follows, followed by the data for the AC-LOW class.
  • LID for the subsequent AC-HIGH class are transmitted.
  • the transfer is the Image data of a video image is ended and a new video image can be transmitted.
  • Figure 4 shows the structure of the HEADER class. This class transmits image data that are either valid for the entire transmitted image or that contain information that applies to certain macroblocks of the image.
  • TR Temporal Reference
  • TR denotes a data field that contains a code that provides information about how many images based on the last image transmitted may not have been transmitted.
  • PTYPE Physical Type
  • bit field has a length of 11 bits. The meaning of the individual bits of this code can be found in the H.263 standard.
  • FIG. 4 Designates quantization information, which indicate the quantization with which certain parts of the image have been quantized.
  • Figure 4 shows five quantization values GQUANT1 - GQUANT5.
  • the transfer of several quantization values per image has the advantage that if, for the transfer of the quantization information GQUANT1 z. B. a transmission error occurs, all image parts are not automatically quantized incorrectly, since the quantization information GQUANT2 - GQUANT5 is subsequently transmitted and, if no error occurs here, proper quantization of the corresponding image data can take place.
  • Figure 5 shows the class ADMIN + DC-INTRA according to the invention.
  • the picture information DQUANT and INTRADC transferred.
  • the information DQUANT indicates whether the corresponding macroblock was quantized with a different quantization value than the corresponding GQUANT value that was previously transmitted.
  • the INTRADC values arise in addition to the AC coefficients for the discrete
  • macroblocks are coded either inter or intra.
  • Inter-coding means that there is a motion estimate for this macroblock and motion vectors MV are transmitted.
  • INTRA means that no motion estimation has been made for the corresponding macroblock and that DQUANT and INTRADC values or AC coefficients are transmitted instead.
  • the various information mentioned is known from the H.263 standard.
  • the functioning of the discrete cosine transformation and the quantization is also well known from the prior art.
  • MCBPC Micro Block Type & Coded Block Pattern
  • CBPY Coded Block Pattern for Chrominance
  • the code "1" proposed in the H.263 standard is not used, but instead the code "10". This ensures that when a bit error occurs, in which a 0 is incorrectly transmitted by a 1, a valid code cannot be easily recognized. Two bit errors would then have to occur one after the other, so that a valid "10" code arises which would not be recognized as an error.
  • Figure 6 shows the MV (Motion Vector) class.
  • MV Motion Vector
  • FIG 7 shows the AC-LOW class.
  • the AC coefficients of the discrete cosine transformation for the inter-coded macroblocks are transmitted one after the other. In doing so here, however, only the AC coefficients for the lower frequencies in the image are transmitted. Like the code words for the motion vectors (MV), these coefficients are of variable length. An example table of such code words is available in the H.263 standard.
  • Figure 8 shows the AC-HIGH class. There the corresponding AC coefficients of the discrete cosine transformation for the individual blocks of the corresponding macroblock are transmitted one after the other. These AC coefficients correspond to the higher frequencies of the transmitted image. However, they are less important for image quality than the AC-LOW coefficients.
  • another class could also be added here, e.g. B. contains the coefficients for the middle frequencies in the picture.
  • FIG. 9 shows a very simplified video image with only four macroblocks.
  • the macroblocks are numbered 0-3.
  • the hatched macro blocks 0 and 3 are decoded forward in the receiver station.
  • macroblocks 1 and 2 are decoded backwards.
  • FIG. 10 The bit stream is shown there, which arises when the class MV is transmitted for the macroblocks of the image in FIG. 9.
  • Motion vector the vector with the coordinates (-8; 24) transmitted.
  • Table 8 in the H.263 standard the binary code 0000 0011 001 corresponds.
  • macroblock 1 the motion vector with the coordinates (-7; 25) is transmitted.
  • the binary code 0000 0011 101 corresponds to this motion vector.
  • the motion vector with the coordinates (-8; 23, 5) is transmitted for the macroblock. According to the table mentioned, this vector corresponds to code 0000 0010 111.
  • the motion vector (-7; 25) is transmitted. This corresponds to the Code 0000 0011 101.
  • the codes for macroblock 0 and macroblock 3 are transmitted forward decoded. This results in the bit stream in the left part of FIG. 10.
  • the code word for macro block 0 is transmitted first, and the code word for macro block 3 is then transmitted directly thereafter.
  • the code words for macroblocks 1 and 2 are transmitted backwards decoded. That is, that the code words for the corresponding macroblocks are read from right to left. First the code word for macroblock 2 and then the code word for
  • Transfer macroblock 1 The bit stream according to the right part of FIG. 10 results.
  • FIG. 11 shows the division of a video image into 99 macro blocks.
  • the macroblocks are numbered from 0 to 98. This also corresponds to the division of a video image into macro blocks in accordance with the H.263 standard. According to the invention, half of the macroblocks of the picture are decoded forward and the other half of the macroblocks decoded backwards. The shaded ones
  • Macroblocks are decoded forward and the unshaded macroblocks are decoded backwards.
  • another division of the macroblocks into macroblocks to be decoded forward and backward is also possible within the scope of the invention.
  • the division is selected such that neighboring macroblocks are to be decoded differently.
  • the result is a checkerboard-like pattern.
  • a spiral is shown in FIG. 11. This spiral determines the order in which the image information of the individual macroblocks is transmitted one after the other. This process is explained below with reference to FIG. 12.
  • FIG. 12 shows the transmission of the image information for the AC-LOW or AC-HIGH class.
  • the macroblock level transmit all AC coefficients for the macroblocks of the image one after the other.
  • the picture shows the order in which the information for the macroblocks is transferred.
  • the macro blocks to be decoded forward are transmitted one after the other.
  • the spiral of FIG. 11 specifies which macroblocks to be decoded forward are transmitted first. First of all, the macro block with the number 50 is transmitted. Then the macro block with the number 60 follows, then the macro block with the number 48, etc. Finally, the macro blocks with the numbers 44, 22 and 0 are transmitted. This sequence is chosen because, in general, the parts of the image in the center of the video image are of the greatest importance for a video image. If e.g. B.
  • the speaker appears in the picture, the head and shoulder of the speaker will appear mainly in the center of the picture. If a transmission error occurs in the course of the transmission, which is also recognized by the decoder in the receiver station, the following information must be identified as incorrect for the subsequent macroblocks, since the transmitted code words have different lengths and therefore not after an error has occurred can be evaluated more correctly.
  • the specified sequence ensures that the most important parts of the picture are always decoded first and are not declared as faulty after an error has occurred.
  • the sequence of those macroblocks which are to be decoded backwards is given. In terms of time, the macroblocks from the edge areas are first transmitted and then the most important macroblocks in the center.
  • the block 48 to be decoded forward is shown in FIG. 12 more finely divided into the blocks with the numbers 0-5.
  • the individual macroblocks are divided into six further blocks according to the H.263 standard.
  • Blocks 0-3 contain the luminance information and blocks 4 and 5 contain the chrominance information.
  • the corresponding code words for the AC coefficients are transmitted in each of the blocks 0-5.
  • the order of the transmission of the code words from right to left is to be read for the macro block 37, so that again the code words for block 0 and finally the code words for block 5 can be decoded.
  • the code words are mirrored accordingly, as indicated in FIG. 10.
  • FIG. 13 shows a general structure diagram for a program which controls the decoding of the transmitted image information within a class.
  • Reference number 10 denotes a program step in which the length information LID is read in before the transmission of a class.
  • program step 11 a macro block counter is then set to the value 0.
  • query 12 it is checked whether the macro block counter is smaller than the maximum number of macro blocks of an image. If this is the case, it is subsequently checked in query 13 whether the
  • Macroblock counter has already reached half the number of maximum macroblocks. If this is the case, the subsequent macroblocks are decoded backwards in step 14. If this is not yet the case, the subsequent macroblocks are decoded forward. This then happens in program step 15. Then the macro block counter is incremented. This is done in program step 16. After that, the procedure for query 12 is repeated. If query 12 finally recognizes that the macroblock counter has reached the value of the maximum number of macroblocks, the decoding of the image data of the next class continues. This is then done in program step 17.
  • the structure diagram presented in FIG. 13 is provided in the event that no transmission errors occur during the decoding. The program is processed by a suitable microprocessor.
  • FIG. 14 A further structogram is now shown in FIG. 14, which also contains error handling measures if a
  • Reference number 20 again denotes a program step in which length information for the transmitted class is read in and evaluated.
  • program step 21 a macro block counter mb_count is set to the value 0.
  • an up counter forw_count is set to the value 0 and a back counter backw_count to the value LID-1 read out in the LID field.
  • query 22 there follows again a query as to whether the macroblock counter has already reached the maximum value of the macroblocks. To this
  • the query then takes place as to whether the macroblock counter already corresponds to half the value of the maximum number of macroblocks. If this is not yet the case, the next macroblock is decoded forward in program step 24. Subsequently, query 25 asks whether an error has been detected. If this is the case, in the subsequent program step 26 all macroblocks still to be decoded forward are marked as faulty. This is possible because the macroblock counter always indicates how many macroblocks have already been decoded and the length information shows from the start how many macroblocks can be decoded forward in total. In program step 27 the macro block counter is then set to half the value of the maximum number of macro blocks -1. If no error was detected in query 25, program steps 26 and 27 are skipped.
  • step 29 If it was found in query 23 that the macroblock counter has already reached half the value of the maximum number of macroblocks, the subsequent macroblocks are decoded backwards. This is done in program step 29. Query 30 then asks again whether an error has been detected. If this is the case, in program step 31 all macroblocks of the group which have not yet been decoded and which have the macroblocks to be decoded backwards are identified as faulty. Then, in step 32, the decoding of the information of the next class is started. If no error was detected in query 30, query 28 follows. This query checks whether the up counter has now reached a count that is greater than the count of the down counter.
  • the up counter in program step 24 is incremented after the decoding of a macro block and the down counter 29 is decremented after the decoding of a macro block to be decoded backwards.
  • the macro block counter is incremented in the subsequent program step 31 and it can then be continued with query 22. If, instead, it was recognized in query 28 that the up counter has a smaller count than the down counter, then there must be an error in any case that has not been recognized, and all the remaining macroblocks that are going backward will decode are marked as incorrect.
  • the next step is then to decode the information of the next class in program step 35. Even if it is recognized in query 22 that the macroblock counter has a greater count than the maximum possible number of
  • Macroblocks will continue decoding next class information. This is done in program step 36.
  • Exceptions are the first class (HEADER), the length of which can be constant, so that no length information LID has to be transmitted, as well as the last class.
  • the length information of the last class can also be omitted, since it is always possible to decode until the next start code.
  • Bit errors on the transmission channel can lead to a wide variety of symbol errors.
  • Common to all classes is e.g. B. a shift in the boundary between
  • the method according to the invention is not limited to the embodiment described here. It must e.g. B. not necessarily half of the macroblocks are decoded forward and the other half of the macroblocks are decoded backwards. It can also e.g. B. a division decoded two thirds forward and one third decoded backwards or the like. Instead of transmitting five global quantization values for one image, it is also possible to use a different number, e.g. B. 3 or even more than 5 quantization values.

Abstract

Es wird ein Verfahren zur Erzeugung eines Stroms von Bilddaten vorgeschlagen, der über einen Datenkanal, insbesondere Mobilfunkkanal, übertragen werden soll. Dabei sind die Bilder in eine Anzahl von Makroblöcken eingeteilt. Außerdem sind die Bildinformationen in Klassen gleichartiger Informationen eingeteilt. Die Bilddaten mindestens eines Teils der Klassen werden makroblockweise in den Strom eingefügt. In Abwandlung von dem vorgeschlagenen Standard H.263 werden die Bilddaten pro Makroblock, die eine feste Länge aufweisen, insbesondere die DQUANT- und INTRADC-Werte in einer dafür vorgesehenen Klasse (ADMIN + DC-INTRA) zusammengefaßt und hintereinander in den Strom eingefügt, ohne daß dazwischen Bilddaten mit variabler Länge übertragen werden. Weiterhin wird ein Verfahren zur Auswertung eines Stroms von Bilddaten vorgeschlagen. Dabei wird eine erste Anzahl von codierten Makroblöcken von der Seite der zuerst übertragenen Bits der Bilddaten her decodiert und eine zweite Anzahl von codierten Makroblöcken wird von der Seite der zuletzt übertragenen Bits der Klasse her decodiert.

Description

VERFAHREN ZUR ERZEUGUNG UND ZUR AUSWERTUNG EINES STROMS VON BILDDATEN FÜR VIDEOÜBERTRAGUNG.
Stroms von Bilddaten
Stand der Technik
Das erfindungsgemäße Verfahren geht aus von einem Verfahren nach der Gattung des Hauptanspruchs. Es wurde bereits ein Videocodierungsstandard von der International Telecommunication Union vorgeschlagen, der für die leitungsgebundene Übertragung von Videobildern mit einer Übertragungsrate von bis zu 64 kBit/s vorgesehen ist. Der Standard hat den Titel "Draft Recommendation H.263" und stammt von der Study Group 15, Working Party 15/1, Document LBC-95, 7. April 1995. In diesem Dokument sind die wesentlichen Informationen zur Quellencodierung der
Videosignale, zur Syntax und Semantik bei der Übertragung der Daten, sowie zur Decodierung der Daten im Empfänger enthalten.
Es hat sich aber herausgestellt, daß der Standard für eine Übertragung der Videobilder über fehleranfällige Mobilfunknetze nicht unbedingt geeignet ist, da die Qualität der übertragenen Videobilder aufgrund der vorkommenden Übertragungsfehler nicht ausreichend ist. Zur Lösung dieses Problems werden in der hier vorgestellten Erfindung verschiedene Abwandlungen des bereits bekannten H.263-Standards vorgeschlagen. In der Beschreibung werden häufig Begriffe verwendet, die alle aus dem bekannten Standard H.263 bekannt sind. Es wird diesbezüglich deshalb nochmals ausdrücklich auf das erwähnte Dokument Bezug genommen.
Vorteile der Erfindung
Das erfindungsgemäße Verfahren mit den kennzeichnenden Merkmalen des Hauptanspruchs hat demgegenüber den Vorteil, daß die Qualität der übertragenen Videobilder, insbesondere bei Übertragung der Bilddaten über Datenkanäle, in denen vermehrt Übertragungsfehler auftreten können, verbessert ist. Dadurch, daß diejenigen Bilddaten, die eine feste Wortbreite aufweisen in einer besonderen Klasse zusammengefaßt werden und zusammenhängend hintereinander übertragen werden, geht nach einem aufgetretenem Übertragungsfehler nicht sämtliche nachfolgende Information der übertragenen Klasse verloren. Die nachfolgenden Informationsworte können unbeeinflußt korrekt ausgewertet werden. Dies führt zu einer Verbesserung der Bildqualität nach einem aufgetretenen Übertragungsfehler.
Durch die in den Unteransprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im Hauptanspruch angegebenen Verfahrenε möglich. Dadurch, daß die codierten Bilddaten der Makroblöcke in den Strom von Bilddaten so eingefügt werden, daß in der Empfängerstation eine Anzahl von codierten Makroblöcken vorwärts decodierbar ist, während eine zweite Anzahl von codierten Makroblöcken rückwärts decodiert ist, ist es möglich, daß nach einem aufgetretenen und erkannten Übertragungsfehler trotzdem noch eine Anzahl von codierten Makroblöcken richtig decodiert werden können. Dies ergibt sich daraus, daß die Makroblöcke in zwei Gruppen eingeteilt sind und daß nach der Übertragung der codierten Daten der Makroblöcke in der Empfängerstation ein sehr breites binäres Wort vorliegt, daß aus den Daten beider Gruppen besteht, jedoch von beiden Seiten her decodiert wird. Tritt bei der Decodierung der einen Gruppe ein Fehler auf, so müssen nur die restlichen Daten der gleichen Gruppe von Makroblδcken verworfen werden. Die andere Gruppe, d. h. die Gruppe von Makroblöcken, die von der anderen Seite her decodiert wird, kann noch korrekt decodiert werden. Im Resultat sind nach einem aufgetretenen Übertragungsfehler wesentlich weniger Bildbereiche gegenüber dem vorhergehenden Videobild nicht aktualisiert, als bei einheitlicher Decodierung des gesamten übertragenen Binärwortes von einer einzigen Seite her.
Weiterhin vorteilhaft ist, wenn die Auswahl der vorwärts zu decodierenden Makroblöcke und die Auswahl der rückwärts zu decodierenden Makroblöcke so getroffen wird, daß benachbarte Makroblöcke jeweils von unterschiedlichen Seiten her decodiert werden. Dadurch ist eine möglichst gleichmäßige Verteilung der jeweils unterschiedlich zu decodierenden Makroblöcke über das ganze Bild gewährleistet, so daß ein auftretender Fehler in einer der beiden Gruppen von Makroblöcken nicht so leicht im Bild erkennbar ist.
Weiterhin vorteilhaft ist, wenn die gleichartig zu decodierenden Makroblöcke in einer bestimmten Reihenfolge in den Strom von Bilddaten eingefügt werden, so daß jeweils zuerst diejenigen Makroblöcke, die im Zentrum des Bildes positioniert sind, decodiert werden können und zuletzt diejenigen, die in den Randbereichen des Bildes positioniert sind. Dadurch wird erreicht, daß immer die besonders wichtigen Bildteile im Zentrum des Bildes zuerst decodiert werden. Wenn dann ein Übertragungsfehler auftritt, gehen dadurch immer nur weniger wichtige Bildinformationen in den Randbereichen verloren. Eine besonders günstige Reihenfolge für die Übertragung der Bilddaten der gleichartig zu decodierenden Makroblöcke ist die in Anspruch 6 angegebene Spiralform.
Weiterhin vorteilhaft ist, daß die Bilddaten, deren Wortlänge von vornherein festgelegt ist, mit einem Paritätsbit versehen werden, so daß eine Fehlererkennung bei der Übertragung dieser Worte leichter möglich wird. Hier sind insbesondere die Bilddaten der Klasse HEADER und ADMIN + DC-INTRA, nämlich die Quantisierungsworte GQUANT und die DC-INTRA-Koeffizienten der diskreten Cosinustransformation wichtig.
Weiterhin vorteilhaft ist, daß bei der Übertragung von codierten Bilddaten, wie den MCBPC-Codes für die
Chrominanzinformation im Bild der Klasse ADMIN + DC-INTRA und den MVD-Codes für die Bewegungsvektoren der Klasse MV als kürzester Code eine zweistellige Binärzahl, statt einer einstelligen, wie beim vorgeschlagenen Standard H.263 verwendet wird. Hierdurch wird die Fehlererkennung auch für diese häufig verwendeten Codes erleichtert.
Ein vorteilhaftes Verfahren zur Auswertung eines Stroms von Bilddaten ist in den Ansprüchen 9 und 10 angegeben.
Zeichnung
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird in der nachfolgenden Beschreibung näher erläutert. Es zeigen Figur 1 einige Einsatzgebiete für das erfindungsgemäße Verfahren, wobei Videobilder drahtlos übertragen werden; Figur 2 die allgemeine Klassenstruktur eines codierten Videobildes; Figur 3 eine spezielle Klassenstruktur eines codierten Videobildes für die beschriebene Erfindung; Figur 4 eine spezielle Struktur der Klasse "HEADER" für die beschriebene Erfindung; Figur 5 eine spezielle Struktur der Klasse ADMIN + DC-INTRA für die beschriebene Erfindung; Figur 6 eine Struktur der Klasse MV für die beschriebene Erfindung; Figur 7 eine Struktur der Klasse AC-LOW für die beschriebene Erfindung; Figur 8 eine Struktur der Klasse AC-HIGH für die beschriebene Erfindung; Figur 9 ein sehr vereinfachtes Videobild bestehend aus lediglich vier Makroblöcken; Figur 10 ein Beispiel für einen Bitstrom der Klasse MV für das Bild nach Figur 9 zur Erläuterung des Prinzips der Vorwärts-
/Rückwärts-Decodierung; Figur 11 ein Bild bestehend aus 99 Makroblöcken mit einer Einteilung der Makroblöcke in vorwärts-/rückwärts zu decodierende Makroblöcke und einer eingezeichneten Spirale; Figur 12 ein Beispiel für einen Bitstrom der Klasse AC-LOW für das Bild nach Figur 11; Figur 13 ein Beispiel für ein Struktogramm für ein Programm zur Decodierung eines Bitstroms einer Klasse für den Fall, daß kein Bitfehler auftritt und Figur 14 ein Beispiel für ein Struktogramm für ein Programm zur Decodierung eines Bitstroms der Klasse MV mit Berücksichtigung von Bitfehlern.
Beschreibung der Erfindung
Das erfindungsgemäße Verfahren soll bei der Übertragung von Bilddaten eingesetzt werden. Als Übertragungskanal ist dabei insbesondere an einen Mobilfunkkanal gedacht. Bei derartigen
Kanälen ist die Übertragungsrate sehr stark begrenzt.
Maximal kommt eine Übertragungsrate von 64 kBIT/s in Frage.
Die Bildauflösung kann bei solchen Übertragungsraten nicht so groß sein, wie z. B. bei herkömmlichen Fernsehbildern.
Bild 1 zeigt einige Anwendungen derartiger Bildübertragungen. Figur la zeigt z. B. eine
Videoüberwachungsanlage, die zur Absicherung von gefährdeten Gebäuden eingesetzt wird. Figur lb zeigt als Anwendung die Übertragung von Bilddaten zwischen zwei mobilen Bildtelefonen. Figur lc zeigt die Anwendung der Personenüberprüfung mit Hilfe eines mobilen Bildtelefons. Figur ld zeigt die Anwendung der Nachrichtenübertragung zu einem mobilen Bildtelefon. Figur le zeigt den Einsatz eines Bildtelefons in einer Kraftfahrzeugwerkstatt zu dem Zweck von Wartungsarbeiten. Hier können von einer zentralen Station Reparaturanleitungen zu einem mobilen Empfangsgerät übermittelt werden. Die beanspruchten Verfahren sind dann jeweils in den Endgeräten (Bildtelefon, Videobildempfänger, Videobildkamera, usw. realisiert) .
Im Bild 2 ist eine allgemeine Klassenstruktur für ein codiertes Bild vorgestellt. Mit PSC (Picture Start Code) ist ein Bildanfangscode bezeichnet. Mit LIÜ! - LIDJJ sind
Längeninformationen für die nachfolgenden Informationen INFOx - INFON bezeichnet. Die rechteckigen Felder in Bild 1 besitzen eine feste definierte Länge, währenddessen die ovalen Teile von Bild 1 eine variable Länge aufweisen.
Erfindungsgemäß wird die in Bild 3 dargestellte Klassenstruktur vorgeschlagen. Mit PSC ist wiederum ein Anfangscodewort eines Bildes bezeichnet. Anschließend werden die Informationen der Klasse HEADER übertragen. Danach folgt eine Längeninformation LID für die nachfolgende ADMIN + DC-INTRA-Klasse. Danach folgen die Daten der ADMIN + DC-INTRA-Klasse. Es folgt dann wieder eine Längeninformation für die nachfolgende MV-Klasse. Die Daten der MV-Klasse werden daraufhin übertragen. Jetzt folgt wieder eine Längeninformation LID für die nachfolgende AC-LOW-Klasse gefolgt von den Daten für die AC-LOW-Klasse. Schließlich folgt eine weitere Längeninformation LID für die nachfolgende AC-HIGH-Klasse. Zum Schluß werden die Daten der AC-HIGH-Klasse übertragen. Danach ist die Übertragung der Bilddaten eines Videobildes beendet und es kann ein neues Videobild übertragen werden.
Nachfolgend werden die einzelnen Klassen und deren Strukturen bei der Datenübertragung genauer erläutert.
Eingie Klassen sind bereits aus dem H.263-Standard bekannt. Bild 4 zeigt die Struktur der Klasse HEADER. In dieser Klasse werden Bilddaten übermittelt, die entweder für das gesamte übertragene Bild gültig sind oder aber Informationen enthalten, die für bestimmte Makroblöcke des Bildes gelten. Mit TR (Temporal Reference) ist ein Datenfeld bezeichnet, das einen Code beinhaltet, der darüber Auskunft gibt, wieviel Bilder ausgehend von dem zuletzt übertragenen Bild ggf. nicht übertragen worden sind.
Mit PTYPE (Picture Type) ist eine Information bezeichnet, die für das gesamte Bild Gültigkeit hat. Das Bitfeld hat im H.263-Standard eine Länge von 11 Bits. Die Bedeutung der einzelnen Bits dieses Codes kann dem H.263-Standard entnommen werden. Mit GQUANT1 - GQUANT5 sind
Quantisierungsinformationen bezeichnet, die angeben, mit welcher Quantisierung bestimmte Bildteile quantisiert worden sind. In Bild 4 sind beispielsweise fünf Quantisierwerte GQUANT1 - GQUANT5 angegeben. Die Übertragung mehrerer Quantisierwerte pro Bild hat den Vorteil, daß wenn bei der Übertragung der Quantisierungsinformation GQUANT1 z. B. ein Übertragungsfehler auftritt, nicht automatisch sämtliche Bildteile falsch quantisiert werden, da nachfolgend noch die Quantisierungsinformation GQUANT2 - GQUANT5 übermittelt werden und insofern, wenn hier kein Fehler auftritt, eine ordnungsgemäße Quantisierung der entsprechenden Bilddaten stattfinden kann.
In Bild 5 ist die erfindungsgemäße Klasse ADMIN + DC-INTRA dargestellt. In dieser Klasse werden die Bildinformationen DQUANT und INTRADC übertragen. Die Information DQUANT gibt an, ob der entsprechende Makroblock mit einem anderen Quantisierwert quantisiert wurde als der entsprechende GQUANT-Wert, der zuvor übertragen wurde. Die INTRADC-Werte entstehen neben den AC-Koeffizienten bei der diskreten
Kosinustransformation für den entsprechenden Makroblock. Sowohl die DQUANT-Werte als auch die INTRADC-Werte haben eine feste Wortlänge. Erfindungsgemäß werden sämtliche DQUANT und INTRADC-Werte aller Makroblöcke hintereinander übertragen. Eine Vermischung von Informationen mit variabler Länge mit Informationen mit fester Länge ist dann nicht mehr gegeben und ein auftretender Fehler in einer Information mit variabler Länge führt nicht mehr unbedingt zum Verlust von Informationen mit fester Länge. COD (Coded Macroblock Indication) bezeichnet ein Bitfeld, das angibt, ob der nachfolgende Makroblock überhaupt codiert übertragen wurde, oder ob nicht viel mehr die Daten dieses Makroblocks vom vorhergehenden Bild übernommen werden sollen.
Bekanntlich werden Makroblöcke entweder Inter oder Intra codiert. Eine Inter-Codierung bedeutet, daß für diesen Makroblock eine BewegungsSchätzung vorliegt und Bewegungsvektoren MV übertragen werden. INTRA bedeutet, daß für den entsprechenden Makroblock keine BewegungsSchätzung vorgenommen wurde und statt dessen DQUANT- und INTRADC-Werte bzw. AC-Koeffizienten übertragen werden. Die genannten unterschiedlichen Informationen sind aus dem H.263-Standard bekannt. Auch die Funktionsweise der diskreten Kosinustransformation sowie der Quantisierung ist aus dem Stand der Technik hinlänglich bekannt. Diesbezüglich wird auch auf den Artikel "Bildverarbeitung und Bildkompression für die digitale HDTV-Magnetbandaufzeichnung und für den digitalen TV/HDTV Rundfunk" in dem Buch "Kommunikationstechnik, Trends und Entwicklungen", Herausgeber Karl Dietrich Abel, Seiten 69ff., VISTAS-Verlag 1994 verwiesen.
Vor der Übertragung der DQUANT- und INTRADC-Werte werden die Administrationsinformationen MCBPC und CBPY übertragen. Mit MCBPC (Macro Block Type & Coded Block Pattern) ist ein Code bezeichnet, der angibt, welche der Blöcke eines Makroblockes DQUANT-Werte bzw. INTRADC-Werte enthalten. Bezüglich dessen Bedeutung wird auch auf den H.263-Standard verwiesen. Die Information CBPY (Coded Block Pattern for Chrominance) gibt an, ob bestimmte DCT-Koeffizienten für die Y-Blöcke eines Makroblocks folgen. Auch diesbezüglich wird auf den H.263-Standard verwiesen.
Bei der Übertragung der MCBPC-Codes wird nicht der in dem H.263-Standard vorgeschlagene Code "1" verwendet, sondern statt dessen der Code "10". Dadurch wird erreicht, daß beim Auftreten eines Bitfehlers, bei dem eine 0 fehlerhaft durch eine 1 übertragen wird, nicht so leicht ein gültiger Code erkannt werden kann. Es müßten dann schon zwei Bitfehler nacheinander auftreten, damit ein gültiger "10"-Code entsteht, der nicht als Fehler erkannt werden würde.
Bild 6 zeigt die Klasse MV (Motion Vector) . In dieser Klasse werden erfindungsgemäß zusammengefaßt alle Bewegungsvektoren aller Makroblöcke absolut übertragen. Es findet keine Vektorprediktion nach dem H.263-Standard statt. Dadurch wird einer Fehlerfortpflanzung entgegengewirkt. Bei der Übertragung der Bewegungsvektoren wird ebenfalls nicht der in dem Standard H.263 vorgeschlagene binäre Code "1" verwendet, sondern statt dessen der Code "10".
Bild 7 zeigt die Klasse AC-LOW. Hier werden hintereinander die AC-Koeffizienten der diskreten Kosinustransformation für die Inter-codierten Makroblöcke übertragen. Dabei werden hier allerdings nur die AC-Koeffizienten für die niederen Frequenzen im Bild übertragen. Diese Koeffizienten weisen ebenfalls wie die Codewörter für die Bewegungsvektoren (MV) eine variable Länge auf. Eine beispielhafte Tabelle von solchen Codewörtern ist im H.263-Standard vorhanden. Bild 8 zeigt dann schließlich die Klasse AC-HIGH. Dort werden die entsprechenden AC-Koeffizienten der diskreten Kosinustransformation für die einzelnen Blöcke des entsprechenden Makroblocks hintereinander übertragen. Diese AC-Koeffizienten entsprechen den höheren Frequenzen des übertragenen Bildes. Sie sind jedoch für die Bildqualität weniger wichtig als die AC-LOW-Koeffizienten. Natürlich könnte auch eine weitere Klasse hier noch hinzugefügt werden, die z. B. die Koeffizienten für die mittleren Frequenzen im Bild beinhaltet.
Figur 9 zeigt ein sehr vereinfachtes Videobild mit nur lediglich vier Makroblδcken. Die Makroblöcke sind von 0 - 3 numeriert. Die schraffierten Makroblöcke 0 und 3 werden in der Empfängerstation vorwärts decodiert. Dagegen werden die Makroblöcke 1 und 2 rückwärts decodiert. Zur Erläuterung der Vorwärts- und Rückwärtsdecodierung wird auf Figur 10 verwiesen. Dort ist der Bitstrom dargestellt, der bei der Übertragung der Klasse MV für die Makroblöcke des Bildes in Figur 9 entsteht. Für den Makroblock 0 wird dabei als
Bewegungsvektor der Vektor mit den Koordinaten (-8; 24) übertragen. Dem entspricht nach der Tabelle 8 in dem H.263-Standard der binäre Code 0000 0011 001. Für den Makroblock 1 wird der Bewegungsvektor mit den Koordinaten (-7; 25) übertragen. Diesem Bewegungsvektor entspricht der binäre Code 0000 0011 101. Für den Makroblock wird der Bewegungsvektor mit den Koordinaten (-8; 23, 5) übertragen. Dieser Vektor entspricht nach der genannten Tabelle der Code 0000 0010 111. Für den Makroblock mit der Nummer 3 wird der Bewegungsvektor (-7; 25) übertragen. Diesem entspricht der Code 0000 0011 101. Die Codes für den Makroblock 0 und den Makroblock 3 werden vorwärts decodiert übertragen. Dadurch ergibt sich der Bitstrom im linken Teil der Figur 10. Zuerst wird dabei das Codewort für den Makroblock 0 und direkt anschließend das Codewort für den Makroblock 3 übertragen. Die Codewörter für die Makroblöcke 1 und 2 werden rückwärts decodiert übertragen. D. h. , daß die Codewörter für die entsprechenden Makroblöcke von rechts nach links gelesen übertragen werden. Zuerst wird dabei das Codewort für den Makroblock 2 und anschließend das Codewort für den
Makroblock 1 übertragen. Es ergibt sich der Bitstrom gemäß dem rechten Teil von Figur 10.
In Figur 11 ist die Einteilung eines Videobildes in 99 Makroblöcke dargestellt. Die Makroblöcke sind von 0 - 98 durchnumeriert. Dies entspricht auch der Einteilung eines Videobildes in Makroblöcke gemäß dem Standard H.263. Erfindungsgemäß wird eine Hälfte der Makroblöcke des Bildes vorwärts decodiert und die andere Hälfte der Makroblöcke rückwärts decodiert. Die schattiert dargestellten
Makroblöcke werden vorwärts decodiert und die unschattiert dargestellten Makroblöcke werden rückwärts decodiert. Natürlich ist im Rahmen der Erfindung auch eine andere Einteilung der Makroblδcke in vorwärts und rückwärts zu decodierende Makroblöcke möglich. Die Einteilung ist im Ausführungsbeispiel der Figur 11 so gewählt, daß jeweils benachbarte Makroblöcke unterschiedlich zu decodieren sind. Es ergibt sich ein schachbrettartiges Muster. Zusätzlich ist in Figur 11 noch eine Spirale eingezeichnet. Diese Spirale legt fest, in welcher Reihenfolge die Bildinformationen der einzelnen Makroblöcke hintereinander übertragen werden. Dieser Vorgang wird nachfolgend anhand der Figur 12 erläutert. In Figur 12 ist die Übertragung der Bildinformation für die Klasse AC-LOW oder AC-HIGH dargestellt. In der Makroblockebene betrachtet, werden sämtliche AC-Koeffizienten für die Makroblöcke des Bildes nacheinander übertragen. Im Bild ist dabei angegeben, in welcher Reihenfolge die Informationen für die Makroblöcke übertragen werden. Im ersten Teil von Figur 12 werden die vorwärts zu decodierenden Makroblöcke hintereinander übertragen. Durch die Spirale der Figur 11 ist vorgegeben, welche vorwärts zu decodierenden Makroblöcke zuerst übertragen werden. Zuallererst wird der Makroblock mit der Nummer 50 übertragen. Anschließend schließt sich der Makroblock mit der Nummer 60 an, danach der Makroblock mit der Nummer 48, usw. Zuletzt werden die Makroblöcke mit den Nummern 44, 22 und 0 übertragen. Diese Reihenfolge ist deshalb gewählt, weil im allgemeinen bei einem Videobild die Bildteile im Zentrum des Videobildes die größte Bedeutung haben. Wenn z. B. bei einem Bildtelefon der Sprecher im Bild erscheint, so werden Kopf und Schulter des Sprechers vorwiegend im Zentrum des Bildes erscheinen. Tritt jetzt im Verlauf der Übertragung ein Übertragungsfehler auf, der auch von dem Decoder in der Empfängerstation erkannt wird, so müssen die nachfolgenden Informationen für die darauffolgenden Makroblöcke als fehlerhaft gekennzeichnet werden, da ja die übertragenen Codewörter unterschiedliche Länge aufweisen und deshalb nach einem aufgetretenen Fehler nicht mehr richtig ausgewertet werden können. Durch die festgelegte Reihenfolge ist jedoch sichergestellt, daß immer die wichtigsten Bildteile zuerst decodiert werden und nach einem aufgetretenen Fehler nicht als fehlerhaft deklariert werden. Im zweiten Teil von Figur 12 ist die Reihenfolge derjenigen Makroblöcke angegeben, die rückwärts zu decodieren sind. Es werden zeitlich gesehen die Makroblöcke aus den Randbereichen zuerst übertragen und dann zum Schluß die wichtigsten Makroblöcke im Zentrum. Nachdem alle Daten der ganzen Makroblöcke empfangen worden sind, kann dann die Decodierung dieser rückwärts zu decodierenden Makroblöcke von rechts nach links stattfinden. Dann ist gewährleistet, daß zuerst die wichtigsten Makroblöcke 49, 61, 59, usw. decodiert werden, hingegen am Schluß die weniger wichtigen Makroblöcke 55, 33, 11.
Der vorwärts zu decodierende Block 48 ist in Figur 12 feiner unterteilt dargestellt in die Blöcke mit den Nummern 0 - 5. Bekanntlich sind ja die einzelnen Makroblδcke nach dem Standard H.263 in sechs weitere Blöcke unterteilt. Dabei enthalten die Blöcke 0 - 3 die Luminanzinformationen und die Blöcke 4 und 5 die Chrominanzinformationen. In jedem der Blöcke 0 - 5 werden die entsprechenden Codewörter für die AC-Koeffizienten übertragen.
Gemäß des zweiten Teils von Figur 12 ist für den Makroblock 37 die Reihenfolge der Übertragung der Codewörter von rechts nach links zu lesen, so daß wiederum zuerst die Codewörter für den Block 0 und zuletzt die Codewörter für den Block 5 decodiert werden können. Die Codewörter sind entsprechend gespiegelt, wie in Figur 10 angegeben.
Figur 13 zeigt ein allgemeines Struktogramm für ein Programm, das die Decodierung der übertragenen Bildinformation innerhalb einer Klasse steuert. Mit der Bezugszahl 10 ist ein Programmschritt bezeichnet, in dem die Längeninformation LID vor der Übertragung einer Klasse eingelesen wird. Im Programmschritt 11 wird dann ein Makroblockzähler auf den Wert 0 gesetzt. In Abfrage 12 wird überprüft, ob der Makroblockzähler kleiner als die maximale Anzahl der Makroblöcke eines Bildes ist. Wenn dies der Fall ist, wird nachfolgend in Abfrage 13 überprüft, ob der
Makroblockzähler den Wert der halben Anzahl der maximalen Makroblöcke bereits erreicht hat. Ist dies der Fall, werden die nachfolgenden Makroblöcke im Schritt 14 rückwärts decodiert. Ist dies noch nicht der Fall, so werden die nachfolgenden Makroblöcke noch vorwärts decodiert. Dies geschieht dann im Programmschritt 15. Anschließend wird der Makroblockzähler inkrementiert. Dies geschieht im Programmschritt 16. Danach wird zu Abfrage 12 wiederholt übergegangen. Wird in Abfrage 12 schließlich erkannt, daß der Makroblockzähler den Wert der maximalen Anzahl von Makroblöcken erreicht hat, wird mit der Decodierung der Bilddaten der nächsten Klasse fortgeführt. Dies geschieht dann im Programmschritt 17. Das vorgestellte Struktogramm von Figur 13 ist für den Fall vorgesehen, daß keine Übertragungsfehler während der Decodierung auftreten. Das Programm wird von einem geeigneten Mikroprozessor abgearbeitet.
In Figur 14 ist jetzt ein weiteres Struktogramm dargestellt, das auch Fehlerbehandlungsmaßnahmen enthält, wenn ein
Übertragungsfehler erkannt wurde. Mit der Bezugszahl 20 ist wieder ein Programmschritt bezeichnet, in dem Längeninformationen für die übertragede Klasse eingelesen und ausgewertet werden. Im Programmschritt 21 wird ein Makroblockzähler mb_count auf den Wert 0 gesetzt. Weiterhin wird ein Vorwärtszähler forw_count auf den Wert 0 gesetzt und ein Rückwärtszähler backw_count auf den in dem LID-Feld ausgelesenen Wert LID-1. Es folgt dann in Abfrage 22 wiederum eine Abfrage, ob der Makroblockzähler den maximalen Wert der Makroblöcke bereits erreicht hat. Zu diesem
Zeitpunkt wird dies noch nicht der Fall sein. Es findet dann in der nachfolgenden Abfrage 23 die Abfrage statt, ob der Makroblockzähler dem halben Wert der maximalen Anzahl von Makroblöcken bereits entspricht. Ist dies noch nicht der Fall, so wird im Programmschritt 24 der nächste Makroblock vorwärts decodiert. Anschließend wird in Abfrage 25 abgefragt, ob ein Fehler erkannt worden ist. Wenn dies der Fall ist, werden im nachfolgenden Programmschritt 26 alle noch vorwärts zu decodierenden Makroblöcke als fehlerhaft markiert. Dies ist möglich, weil der Makroblockzähler immer angibt, wieviel Makroblöcke bereits decodiert wurden und von vornherein in der Längeninformation entnehmbar ist, wieviel Makroblöcke insgesamt vorwärts zu decodieren sind. Im Programmschritt 27 wird dann der Makroblockzähler auf den halben Wert der maximalen Anzahl von Makroblöcken -1 gesetzt. Wurde in Abfrage 25 kein Fehler erkannt, so werden die Programmschritte 26 und 27 übergegangen.
Wurde in Abfrage 23 festgestellt, daß der Makroblockzähler den halben Wert der maximalen Anzahl von Makroblöcken bereits erreicht, so werden die nachfolgenden Makroblöcke rückwärts decodiert. Dies geschieht im Programmschritt 29. In Abfrage 30 wird dann erneut abgefragt, ob ein Fehler erkannt worden ist. Wenn dies der Fall ist, werden im Programmschritt 31 alle noch nicht decodierten Makroblöcke der Gruppe mit den rückwärts zu decodierenden Makroblöcken als fehlerhaft gekennzeichnet. Anschließend wird im Programmschritt 32 mit der Decodierung der Informationen der nächsten Klasse begonnen. Wurde in Abfrage 30 kein Fehler erkannt, folgt nachfolgend die Abfrage 28. In dieser Abfrage wird überprüft, ob der Vorwärtszähler mittlerweile einen Zählerstand erreicht hat, der größer ist, als der Zählerstand des RückwärtsZählers. Natürlich setzt dies voraus, daß der Vorwärtszähler im Programmschritt 24 nach der Decodierung eines Makroblocks jeweils inkrementiert wird und der RückwärtsZählers 29 nach der Decodierung eines rückwärts zu decodierenden Makroblockes dekrementiert wird. Wenn die Bedingung in Abfrage 28 erfüllt ist, wird im nachfolgenden Programmschritt 31 der Makroblockzähler inkrementiert und es kann anschließend mit Abfrage 22 fortgeführt werden. Wurde statt dessen in Abfrage 28 erkannt, daß der VorwärtsZähler einen kleineren Zählerstand alε der Rückwärtszähler aufweist, so muß in jedem Fall ein Fehler vorliegen, der nicht erkannt worden ist, und es werden alle verbleibenden Makroblöcke, die rückwärts zu decodieren sind, als fehlerhaft markiert. Es wird dann mit der Decodierung der Informationen der nächsten Klasse im Programmschritt 35 fortgefahren. Auch wenn in Abfrage 22 erkannt wird, daß der Makroblockzähler einen größeren Zählerstand aufweist, als die maximal mögliche Anzahl von
Makroblöcken, wird mit der Decodierung der Informationen der nächsten Klasse fortgefahren. Dies geschieht im Programmschritt 36.
Das prinzipielle Decodierschema ist demnach durch folgende drei Stufen gekennzeichnet:
1. Die Klasseninformation entsprechend der Angabe in dem LID-Feld einlesen und auswerten;
2. Vorwärtsdecodierung bis die Hälfte der Makroblöcke decodiert ist;
3. Rückwärtsdecodierung der zweiten Hälfte.
Ausnahmen bilden die erste Klasse (HEADER) , deren Länge konstant sein kann, so daß keine Längeninformation LID mitübertragen werden muß, sowie die letzte Klaεse. Die Längeninformation der letzten Klasse kann ebenfalls entfallen, da immer bis zum nächsten Bildanfangscode decodiert werden kann.
Durch Bitfehler auf dem Übertragungskanal kann es zu verschiedensten Symbolfehlern kommen. Allen Klassen gemeinsam ist z. B. eine Verschiebung der Grenze zwischen
Vorwärts- und Rückwärtsdecodierung durch Fehler und dadurch eine Decodierung über diese Grenze hinaus bzw. eine zu kurze Decodierung einer Hälfte. Ein solcher Fehler kann durch den Einsatz der erwähnten Vorwärts-/Rückwärtszähler erkannt werden. Am Anfang wird der Vorwärtεzähler zu 0 und der Rückwärtszähler zu der maximalen Bitanzahl in dieser Klasse -1 gesetzt (LID-1) . Überschneiden sich die beiden Zähler nach der Decodierung beider Hälften, liegt ein Fehler vor und die weitere Decodierung wird abgebrochen. Zudem kann rückwirkend eine bestimmte Zahl der letzten decodierten Symbole beider Hälften ignoriert werden.
Wird ein Fehler innerhalb der Vorwärtshälfte erkannt, werden von der aktuellen Position an bis zum Ende der Hälfte alle Makroblöcke bzw. Symbole der Makroblöcke als fehlerhaft gekennzeichnet, ebenso kann rückwirkend eine bestimmte Zahl bereits decodierter Makroblöcke/Symbole verworfen werden. Danach erfolgt eine Umschaltung in die Decodierung der Rückwärtshälfte. Bei einem Fehler in der Rückwärtshälfte wird nach einer Kennzeichnung der verbleibenden
Makroblöcke/Symbole die Decodierung der Klasse abgebrochen.
Alle als fehlerhaft gekennzeichneten Makroblöcke werden in der Empfängerstation durch die entsprechenden Makroblöcke des vorhergehenden Bildes ersetzt. Sind nur Teilinhalte eines Makroblockes als fehlerhaft erkannt worden, so ist klassenabhängig folgendes Vorgehen möglich. Diesbezüglich wird auf die nachfolgende Tabelle verwiesen.
Das erfindungsgemäße Verfahren ist nicht auf die hier beschriebene Ausführungsform beschränkt. Es muß z. B. nicht unbedingt die Hälfte der Makroblöcke vorwärts decodiert werden und die andere Hälfte der Makroblöcke rückwärts decodiert werden. Es kann auch z. B. eine Einteilung zwei Drittel vorwärts decodiert und ein Drittel rückwärts decodiert oder Ähnliches gewählt werden. Statt fünf globale Quantisierwerte für ein Bild zu übertragen, ist es ebenfalls möglich eine andere Anzahl zu verwenden, z. B. 3 oder auch noch mehr als 5 Quantisierungεwerte.

Claims

Ansprüche
1. Verfahren zur Erzeugung eines Stroms von Bilddaten, die über einen Datenkanal, insbesondere Mobilfunkkanal, übertragbar sind, wobei ein Bild in eine Anzahl von Makroblöcken eingeteilt ist und die Bildinformationen in Klassen gleichartiger Informationen eingeteilt sind, wobei die Bilddaten mindestens eines Teils der Klassen makroblockweise zusammengefaßt werden, dadurch gekennzeichnet, daß diejenigen Bilddaten, die alle eine feste Wortbreite aufweisen, in einer eigenen Klasse (ADMIN + DC-INTRA) zusammengefaßt werden und für alle
Makroblöcke aneinandergereiht werden, ohne daß zwischendrin Bilddaten mit variabler Wortbreite eingefügt werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß in den Strom von Bilddaten als Bildinformation eines Bildes eine globale Quantisierungsinformation (GQUANT) mehr als einmal, insbesondere für verschiedene Bereiche des Bildes, eingefügt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Bilddaten mindestens eines Teils der Klassen makroblockweise codiert werden und daß die codierten Bilddaten so in den Strom von Bilddaten für die jeweilge Klasεe eingefügt werden, daß in einer Empfängerstation eine erste Anzahl der codierten Makroblöcke von der Seite der zuerst übertragenen Bits der Bilddaten dieser Klasse her decodierbar sind und daß eine zweite Anzahl der codierten Makroblöcke von der Seite der zuletzt übertragenen Bits der Bilddaten der Klasse her decodierbar sind.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß die Auswahl der Makroblöcke, die von der Seite der zuerst übertragenen Bits der Bilddaten her decodierbar sind und derjenigen Makroblöcke, die von der Seite der zuletzt übertragenen Bits der Bilddaten her decodierbar sind, so getroffen wird, daß benachbarte Makroblöcke jeweils von unterschiedlichen Seiten her decodiert sind.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die gleichartig zu decodierenden Makroblöcke in einer solchen Reihenfolge in den Strom von Bilddaten eingefügt werden, daß jeweils zuerst diejenigen Makroblöcke, die im Zentrum des Bildes positioniert sind, decodierbar sind und zuletzt die Makroblöcke, die in den Randbereichen des Bildes positioniert sind, decodierbar sind.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Reihenfolge der Einfügung der Bilddaten der gleichartig zu decodierenden Makroblöcke in den Strom von Bilddaten durch eine Spirale vorgegeben ist, die im Zentrum des Bildes beginnt und von dort ausgehend sich über alle Bereiche des Bildes erstreckt, wobei die Randbereiche des Bildes zuletzt erfaßt werden.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß zur Erleichterung der Fehlererkennung bei der Übertragung von Bilddaten mit fester Wortbreite, die in der eigenen Klasse (ADMIN + DC-INTRA) zusammengefaßt sind, jeweils ein Paritätsbit pro Datenwort (INTRADC, DQUANT) hinzugefügt wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß bei der Codierung von Bilddaten, inεbesondere den Bilddaten mit variabler Wortbreite, wie den MCBPC-Codeε und/oder den MVD-Codes, als kürzester Code eine zweistellige Binärzahl, insbesondere (10) verwendet wird.
9. Verfahren zur Auswertung eines nach einem der Ansprüche 3 biε 8 erzeugten Stroms von Bilddaten, wobei die
Bildinformationen eines Bildes in Klassen gleichartiger Informationen eingeteilt sind und das Bild in Makroblöcke eingeteilt ist, wobei die Bilddaten mindestenε eineε Teils der Klassen makroblockweise codiert sind, dadurch gekennzeichnet, daß eine erste Anzahl der codierten
Makroblöcke von der Seite der zuerst übertragenen Bits der Bilddaten dieser Klasse her decodiert wird und daß eine zweite Anzahl der codierten Makroblöcke von der Seite der zuletzt übertragenen Bits der Bilddaten der Klaεse her decodiert wird.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß diejenigen Makroblöcke, die von der gleichen Seite her decodiert werden, in einer εolchen Reihenfolge decodiert werden, daß jeweils zuerεt diejenigen Makroblöcke, die im Zentrum des Bildes positioniert sind, decodiert werden und zuletzt die Makroblöcke, die in den Randbereichen des Bildes poεitioniert εind, decodiert werden.
PCT/DE1996/000690 1995-06-20 1996-04-20 Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung WO1997001247A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US08/983,219 US6198849B1 (en) 1995-06-20 1996-04-20 Process for producing and evaluating a video data stream for video transmission
DE59604124T DE59604124D1 (de) 1995-06-20 1996-04-20 Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung
JP50350397A JP4008028B2 (ja) 1995-06-20 1996-04-20 画像伝送用の画像データストリームの形成方法及び画像データストリームの伝送誤差を検出する方法
EP96909068A EP0834233B1 (de) 1995-06-20 1996-04-20 Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19521992.9 1995-06-20
DE19521992A DE19521992A1 (de) 1995-06-20 1995-06-20 Verfahren zur Erzeugung eines Stroms von Bilddaten für die Übertragung eines Bildes und Verfahren zur Auswertung eines Stroms von Bilddaten

Publications (1)

Publication Number Publication Date
WO1997001247A1 true WO1997001247A1 (de) 1997-01-09

Family

ID=7764561

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1996/000690 WO1997001247A1 (de) 1995-06-20 1996-04-20 Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung

Country Status (5)

Country Link
US (1) US6198849B1 (de)
EP (1) EP0834233B1 (de)
JP (1) JP4008028B2 (de)
DE (2) DE19521992A1 (de)
WO (1) WO1997001247A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644576B1 (ko) * 1999-10-19 2006-11-13 삼성전자주식회사 디지털 비디오 코딩 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19614701A1 (de) * 1996-04-15 1997-10-16 Bosch Gmbh Robert Verfahren zur Übertragung von codierten Daten
US6594398B1 (en) * 1998-03-06 2003-07-15 Divio, Inc. Method and apparatus for run-length encoding video data
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
US6792148B1 (en) * 1999-10-18 2004-09-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for providing a camera accessory with compression
US8238442B2 (en) 2006-08-25 2012-08-07 Sony Computer Entertainment Inc. Methods and apparatus for concealing corrupted blocks of video data
US8699561B2 (en) * 2006-08-25 2014-04-15 Sony Computer Entertainment Inc. System and methods for detecting and handling errors in a multi-threaded video data decoder
US9912930B2 (en) * 2013-03-11 2018-03-06 Sony Corporation Processing video signals based on user focus on a particular portion of a video display
US10694205B2 (en) * 2017-12-18 2020-06-23 Google Llc Entropy coding of motion vectors using categories of transform blocks
EP3824039A1 (de) 2018-07-18 2021-05-26 Sika Technology Ag Verfahren zur verstärkung von metallstrukturen mithilfe von gehärteten 2c-epoxidklebstoffen

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972260A (en) * 1988-08-22 1990-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus for coding a moving-picture signal
EP0453229A2 (de) * 1990-04-17 1991-10-23 Matsushita Electric Industrial Co., Ltd. Verfahren zur Übertragung von Kodes mit variabler Länge
EP0512623A2 (de) * 1991-05-10 1992-11-11 Koninklijke Philips Electronics N.V. Fernsehsystem zum Übertragen von Bildsignalen in einem digitalen Format
EP0540350A2 (de) * 1991-10-31 1993-05-05 Sony Corporation Verfahren und Vorrichtung zur variablen Längenkodierung
EP0554871A2 (de) * 1992-02-04 1993-08-11 Sony Corporation Vorrichtung und Verfahren zur Kodierung eines digitalen Bildsignals
EP0609017A2 (de) * 1993-01-29 1994-08-03 AT&T Corp. Übertragungsschema für kodierte Blöcke von Bildsignalen mit verschiedenen Übertragungsraten

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187852B2 (ja) * 1991-02-08 2001-07-16 ソニー株式会社 高能率符号化方法
DE69211969T2 (de) 1991-12-09 1997-01-09 Yokogawa Electric Corp Verteiltes Steuersystem
US5591956A (en) * 1995-05-15 1997-01-07 Welch Allyn, Inc. Two dimensional data encoding structure and symbology for use with optical readers
DE4408163A1 (de) * 1994-03-11 1995-09-14 Bosch Gmbh Robert Verfahren zum Übertragen von Daten
US6356663B1 (en) * 1994-09-09 2002-03-12 Intel Corporation Processing image signals using spatial decomposition
ATE187824T1 (de) 1994-10-24 2000-01-15 Fisher Rosemount Systems Inc Vorrichtung, die einen zugang zu feldgeräten in einem verteilten steuerungssystem gestattet
KR0171118B1 (ko) * 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
US5917948A (en) * 1996-05-06 1999-06-29 Holtz; Klaus Image compression with serial tree networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972260A (en) * 1988-08-22 1990-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus for coding a moving-picture signal
EP0453229A2 (de) * 1990-04-17 1991-10-23 Matsushita Electric Industrial Co., Ltd. Verfahren zur Übertragung von Kodes mit variabler Länge
EP0512623A2 (de) * 1991-05-10 1992-11-11 Koninklijke Philips Electronics N.V. Fernsehsystem zum Übertragen von Bildsignalen in einem digitalen Format
EP0540350A2 (de) * 1991-10-31 1993-05-05 Sony Corporation Verfahren und Vorrichtung zur variablen Längenkodierung
EP0554871A2 (de) * 1992-02-04 1993-08-11 Sony Corporation Vorrichtung und Verfahren zur Kodierung eines digitalen Bildsignals
EP0609017A2 (de) * 1993-01-29 1994-08-03 AT&T Corp. Übertragungsschema für kodierte Blöcke von Bildsignalen mit verschiedenen Übertragungsraten

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KAUFF ET AL.: "A DCT Coding Scheme for Digital HDTV Recording", SIGNAL PROCESSING OF HDTV, III, 4 September 1991 (1991-09-04), TORINO, IT, pages 33 - 41, XP000379936 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644576B1 (ko) * 1999-10-19 2006-11-13 삼성전자주식회사 디지털 비디오 코딩 방법 및 장치

Also Published As

Publication number Publication date
JP4008028B2 (ja) 2007-11-14
EP0834233B1 (de) 2000-01-05
DE59604124D1 (de) 2000-02-10
JPH11508100A (ja) 1999-07-13
US6198849B1 (en) 2001-03-06
DE19521992A1 (de) 1997-01-02
EP0834233A1 (de) 1998-04-08

Similar Documents

Publication Publication Date Title
DE69917971T2 (de) Verfahren und Vorrichtung zur Verarbeitung von komprimierten Videodatenströmen
DE69233530T2 (de) Kodierer und Dekodierer
DE69333818T2 (de) Verfahren und Vorrichtung zur Bilddatenkodierung
DE69632231T2 (de) Kodierung und Dekodierung von Bewegtbildern
DE19635116C2 (de) Verfahren zur Videokommunikation
DE60020243T2 (de) Videokodierung
DE69632391T2 (de) Verfahren und gerät zur fehlerkontrolle bei der videokompression
DE60028942T2 (de) Videokodierung
DE69630173T2 (de) Übertragungssystem und -einrichtung für sich bewegende Bilder
DE69637067T2 (de) System zur variablen Längendekodierung
DE69535627T2 (de) Editiervorrichtung für videosignale
DE69806297T3 (de) Bilddekodiergerät
DE19541457C1 (de) Verfahren zur Codierung eines Videodatenstroms einer aus Bildblöcken bestehenden Videosequenz
DE102006057983A1 (de) Verfahren zur Vidoecodierung einer Folge digitalisierter Bilder
EP0698316B1 (de) Verfahren zum Übertragen von Bildern mit ungleichem Fehlerschutz
EP0834233B1 (de) Verfahren zur erzeugung und zur auswertung eines stroms von bilddaten für videoübertragung
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE69834681T2 (de) Verfahren und Vorrichtung zur Dekodierung komprimierter Bewegtbilddaten
DE69828144T2 (de) Verfahren und vorrichtung zur videocodierung und -decodierung
EP0821531B1 (de) Codierung und Decodierung von Trickfilmen
EP0802635B1 (de) Verfahren zur Übertragung von codierten Daten
EP1829378B1 (de) Bildencodierverfahren, sowie dazugehöriges bilddecodierverfahren, encodiervorrichtung und decodiervorrichtung
DE3726601C2 (de)
DE60316537T2 (de) Verfahren zur Dekodierung von Kodes variabler Länge sowie entsprechender Empfänger
WO1999009749A1 (de) Verfahren zur aufbereitung eines datenstromes für die objektbasierte codierung von bewegtbildfolgen

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1996909068

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 08983219

Country of ref document: US

ENP Entry into the national phase

Ref country code: JP

Ref document number: 1997 503503

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1996909068

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1996909068

Country of ref document: EP