Beschreibungdescription
Verfahren und Anordnung zur Codierung von Nutzdaten, Verfahren und Anordnung zur Decodierung von codierten Nutzdaten so- wie Computerprogramm-ErZeugnisse und computerlesbare SpeichermedienMethod and arrangement for coding user data, method and arrangement for decoding coded user data, as well as computer program certificates and computer-readable storage media
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Codierung von Nutzdaten, ein Verfahren und eine Anordnung zur Decodierung codierter Nutzdaten sowie entsprechende Computerprogramm-Erzeugnisse und computerlesbare Speichermedien.The invention relates to a method and an arrangement for coding user data, a method and an arrangement for decoding coded user data, and corresponding computer program products and computer-readable storage media.
Aus [1] ist ein Verfahren zur Kanalcodierung komprimierter digitaler Nutzdaten bekannt. Aufgabe einer solchen Kanalco- dierung ist die sichere Übertragung der komprimierten Nutzdaten. Zur Gewährleistung dieser Aufgabe sind verschiedene Mechanismen zum Fehlerschutz, das heißt zur Fehlererkennung und/oder Fehlerkorrektur bekannt. Grundlage eines solchen Verfahrens zur Fehlererkennung ist üblicherweise eine vorgeb- bare Anzahl von Redundanzdaten (Redundanzbits), die den zu codierenden komprimierten Nutzdaten (Nutzdatenbits) hinzugefügt werden. Auf der Grundlage der Redundanzdaten erfolgt die Fehlererkennung bzw. Fehlerkorrektur. Die erforderlicher Redundanz kann insbesondere bei einem fehleranfälligen Kanal, der zur Übertragung der kanalcodierten Daten verwendet wird, bis zu 50 % und mehr der zu übertragenden Nutzdaten umfassen, so daß die Bandbreite, die zur Übertragung der komprimierten Nutzdaten zur Verfügung steht, auf Kosten der erreichbaren Qualität der der durch die Nutzdaten repräsentierten Informa- tion reduziert wird.A method for channel coding of compressed digital user data is known from [1]. The task of such channel coding is the secure transmission of the compressed user data. Various mechanisms for error protection, that is, for error detection and / or error correction, are known to ensure this task. The basis of such a method for error detection is usually a predeterminable number of redundancy data (redundancy bits) which are added to the compressed useful data (useful data bits) to be coded. The error detection or error correction takes place on the basis of the redundancy data. The redundancy required, in particular in the case of an error-prone channel which is used to transmit the channel-coded data, can comprise up to 50% and more of the useful data to be transmitted, so that the bandwidth which is available for the transmission of the compressed useful data is at the expense of those which can be achieved Quality of the information represented by the user data is reduced.
Aus [2] ist ein Verfahren zur Quellcodierung bekannt. Die Quellcodierung dient üblicherweise zur Kompression zu übertragender Nutzdaten, die beispielsweise • Videodaten,A method for source coding is known from [2]. The source coding is usually used to compress useful data to be transmitted, for example: video data,
• Audiodaten,• audio data,
• textuelle Daten, oder
• Standbilddaten umfassen können.• textual data, or • Can include still image data.
Das in [2] beschriebene Quellcodierungsverfahren ist ein hy- brides Codierungsverfahren zur Komprimierung von Bewegtbilddaten, das heißt zur Komprimierung eines Videodatenstroms.The source coding method described in [2] is a hybrid coding method for compressing moving image data, that is to say for compressing a video data stream.
Der Videodatenstrom bildet in [2] die Nutzdaten. Es ist bekannt, daß oftmals auch im Rahmen einer Quellcodierung ein gewisser Fehlerschutz für die komprimierten Nutzdaten erreicht wird, das heißt, die Quellcodierung weist eine "spezifische Fehleranfälligkeit" auf.The video data stream forms the user data in [2]. It is known that a certain level of error protection for the compressed useful data is often also achieved in the context of source coding, that is to say that the source coding has a “specific error susceptibility”.
Ausgehend von dieser Erkenntnis ist ein Bestreben, ein mög- liehst optimiertes Verhältnis zwischen dem Fehlerschutz im Rahmen der Kanalcodierung und dem Fehlerschutz im Rahmen der Quellcodierung zu ermitteln.On the basis of this knowledge, an effort must be made to determine the best possible relationship between the error protection as part of the channel coding and the error protection as part of the source coding.
Hierzu ist es bekannt, eine kombinierte Kanalcodierung und Quellcodierung einzusetzen (vgl. [3] und [4]). Bei diesen bekannten Verfahren wird für ein fest vorgegebenes Quellcoder- /Kanalcoder-Paar ein Verhältnis von Nutzdatenrate zu Redundanzdatenrate zu optimieren, so daß die Quellcodierung eine möglichst gute Qualität erreicht.For this purpose it is known to use a combined channel coding and source coding (cf. [3] and [4]). In these known methods, a ratio of useful data rate to redundancy data rate is optimized for a fixedly specified source encoder / channel encoder pair, so that the source coding achieves the best possible quality.
Nachteilig an einer solchen kombinierten Kanalcodierung und Quellcodierung ist jedoch darin zu sehen, daß aufgrund der fest definierten Vorgabe von Quellcoder-/Kanalcoder-Paar eine erhebliche Inflexibilität bei der Gesamtcodierung der Nutzda- ten entsteht, die zu einer insgesamt relativ schlechten Lösung im Rahmen der Bestimmung eines Verhältnisses zwischen Kanalfehlerschutz und Quellfehlerschutz, also Nutzdatenrate zu Redundanzdatenrate führt.A disadvantage of such a combined channel coding and source coding, however, can be seen in the fact that due to the firmly defined specification of the source encoder / channel encoder pair, there is considerable inflexibility in the overall coding of the user data, which results in an overall relatively poor solution in the context of the determination a relationship between channel error protection and source error protection, i.e. user data rate leads to redundancy data rate.
Aus [5] ist es bekannt, für eine bestimmte Art einer Szene, beispielsweise für verschiedene Anwendungen (Internet- Anwendungen, Homeshopping, Werbevideos) und für eine bestimm-
te Art eines Qullcodierungsverfahrens eine sogenannte Rate- Error-Distortion (RED) , die im weiteren als Fehlerrate- Verzerrungs-Funktion bezeichnet wird, zu ermitteln. Die Feh- lerrate-Verzerrungs-Funktion beschreibt eine durch das Quellcodierungsverfahren erreichbare subjektive "Qualität" der zu codierenden Nutzdaten in Abhängigkeit sowohl einer Datenrate (bit/sec) und einer Fehlerrate des zur Verfügung stehenden Kanals (Fehler/bit) .From [5] it is known for a certain type of scene, for example for different applications (Internet applications, home shopping, advertising videos) and for a specific te kind of a Qullcodingverfahren to determine a so-called Rate Error Distortion (RED), which is hereinafter referred to as error rate distortion function. The error rate distortion function describes a subjective "quality" of the user data to be encoded, which can be achieved by the source coding method, depending on both a data rate (bit / sec) and an error rate of the available channel (error / bit).
In [6] ist beschrieben, wie ermittelt werden kann, welche Abhängigkeit der Kanalfehler von der Nutzdatenrate bei vorgegebener konstanter Kanalrate für ein spezifisches, vorgegebenes Kanalcodierungsverfahren aufweist .[6] describes how it can be determined which dependency the channel error has on the user data rate at a predetermined constant channel rate for a specific, predetermined channel coding method.
In [7] sind verschiedene Verfahren zur Fehlerverschleierung angegeben (Error-Concealment) .[7] specifies various methods for concealing errors (error concealment).
Somit liegt der Erfindung das Problem zugrunde, ein Verfahren und eine Anordnung zur Codierung von Nutzdaten sowie ein Ver- fahren und eine Anordnung zur Decodierung codierter Nutzdaten sowie entsprechende Computerprogramm-Erzeugnisse und computerlesbare Speichermedien anzugeben, mit denen bei gleichbleibendem Fehlerschutz für die Nutzdaten ein verbessertes Verhältnis von Nutzdatenrate zu Redundanzdatenrate erreicht wird.The invention is therefore based on the problem of specifying a method and an arrangement for coding user data, as well as a method and an arrangement for decoding coded user data, as well as corresponding computer program products and computer-readable storage media, with which an improved relationship for the user data while maintaining error protection from user data rate to redundancy data rate is achieved.
Das Problem wird durch die Verfahren, Anordnungen, Computerprogramm-Erzeugnisse und computerlesbaren Speichermedien gemäß den Merkmalen der unabhängigen Patentansprüche gelöst.The problem is solved by the methods, arrangements, computer program products and computer-readable storage media according to the features of the independent claims.
Bei einem Verfahren zur Codierung von Nutzdaten werden die Nutzdaten gemäß einem ersten Codierungsverfahren codiert. Dem ersten Codierungsverfahren ist mindestens ein vorgegebener Fehlerparameter zugeordnet, mit dem eine Fehleranfälligkeit des ersten Codierungsverfahrens beschrieben wird. Die codierten Nutzdaten werden gemäß einem zweiten Codierungsverfahren codiert. Gemäß dem zweiten Codierungsverfahren werden zu den
codierten Nutzdaten Redundanzdaten gebildet, die zur Fehlererkennung eingesetzt werden können. Das Verhältnis der Redundanzdaten zu den codierten Nutzdaten wird abhängig von den Fehlerparametern bestimmt. Das bestimmte Verhältnis der Redundanzdaten zu den codierten Nutzdaten wird im Rahmen des zweiten Codierungsverfahrens eingesetzt zur Codierung der codierten Nutzdaten.In a method for coding user data, the user data are coded in accordance with a first coding method. The first coding method is assigned at least one predefined error parameter, which describes a susceptibility of the first coding method to errors. The coded user data are coded in accordance with a second coding method. According to the second coding method, the encoded useful data, redundancy data is formed which can be used for error detection. The ratio of the redundancy data to the coded user data is determined depending on the error parameters. The determined ratio of the redundancy data to the coded user data is used in the context of the second coding method for coding the coded user data.
Bei einem Verfahren zur Decodierung von gemäß einem zweiten Codierungsverfahren codierten Nutzdaten werden diese gemäß einem zweiten Decodierungsverfahren decodiert, wobei sich ein zur Decodierung gemäß dem zweiten Decodierungsverfahren eingesetztes Verhältnis von Redundanzdaten zu komprimierten Nutzdaten abhängig von mindestens einem vorgegebenen Fehler- parameter ergibt. Mit dem Fehlerparameter wird eine Fehleranfälligkeit eines zur Codierung von Nutzdaten verwendeten ersten Codierungsverfahren beschrieben. Die gemäß dem zweiten Decodierungsverfahren decodierten Nutzdaten werden gemäß einem ersten Decodierungsverfahren decodiert.In a method for decoding user data encoded according to a second encoding method, they are decoded according to a second decoding method, which results in a ratio of redundancy data to compressed useful data used for decoding according to at least one predefined error parameter. The error parameter describes a susceptibility to errors of a first coding method used for coding user data. The user data decoded according to the second decoding method are decoded according to a first decoding method.
Eine Anordnung zu Codierung von Nutzdaten weist einen Prozessor auf, der derart eingerichtet ist, daß folgende Schritte durchführbar sind:An arrangement for coding user data has a processor which is set up in such a way that the following steps can be carried out:
• Die Nutzdaten werden gemäß einem ersten Codierungsverfahren codiert,The user data are encoded according to a first coding method,
• dem ersten Codierungsverfahren ist mindestens ein vorgegebener Fehlerparameter zugeordnet, mit dem eine Fehleranfälligkeit des ersten Codierungsverfahrens beschrieben wird,At least one predefined error parameter is assigned to the first coding method, with which a susceptibility to errors of the first coding method is described,
• gemäß einem zweiten Codierungsverfahren werden die codier- ten Nutzdaten codiert,According to a second coding method, the coded user data are coded,
• gemäß dem zweiten Codierungsverfahren werden zu den codierten Nutzdaten Redundanzdaten zur Fehlererkennung gebildet,According to the second coding method, redundancy data for error detection are formed for the coded user data,
• wobei ein im Rahmen des zweiten Codierungsverfahrens eingesetztes Verhältnis von Redundanzdaten zu den codierten Nutzdaten abhängig von dem Fehlerparameter bestimmt wird.
Eine Anordnung zur Decodierung von gemäß einem zweiten Decodierungsverfahren codierten Nutzdaten weist einen Prozessor auf, der derart eingerichtet ist, daß folgende Schritte durchführbar sind: • Die gemäß dem zweiten Codierungsverfahren codierten Nutzdaten werden gemäß einem zweiten Decodierungsverfahren decodiert,• a ratio of redundancy data to the coded user data used in the context of the second coding method being determined as a function of the error parameter. An arrangement for decoding user data coded according to a second decoding method has a processor which is set up in such a way that the following steps can be carried out: The user data coded according to the second coding method are decoded according to a second decoding method,
• wobei sich ein zur Decodierung gemäß dem zweiten Decodierungsverfahren eingesetztes Verhältnis von Redundanzdaten zu komprimierten Nutzdaten abhängig von mindestens einem vorgegebenen Fehlerparameter ergibt,A ratio of redundancy data to compressed useful data used for decoding according to the second decoding method is dependent on at least one predefined error parameter,
• mit dem Fehlerparameter wird eine Fehleranfälligkeit eines zur Codierung von Nutzdaten verwendeten ersten Codierungsverfahrens beschrieben, • die gemäß dem zweiten Decodierungsverfahren decodierten• The error parameter describes a susceptibility to errors of a first coding method used for coding user data, • The ones decoded according to the second decoding method
Nutzdaten werden gemäß einem ersten Decodierungsverfahren decodiert.User data are decoded according to a first decoding method.
Ein Computerprogramm-Erzeugnis umfaßt ein computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchzuführen zur Codierung von Nutzdaten:A computer program product comprises a computer-readable storage medium on which a program is stored which, after it has been loaded into a memory of the computer, enables a computer to carry out the following steps for coding useful data:
• Die Nutzdaten werden gemäß einem ersten Codierungsverfahren codiert,The user data are encoded according to a first coding method,
• dem ersten Codierungsverfahren ist mindestens ein vorgegebener Fehlerparameter zugeordnet, mit dem eine Fehleranfälligkeit des ersten Codierungsverfahrens beschrieben wird,At least one predefined error parameter is assigned to the first coding method, with which a susceptibility to errors of the first coding method is described,
• gemäß einem zweiten Codierungsverfahren werden die codier- ten Nutzdaten codiert,According to a second coding method, the coded user data are coded,
• gemäß dem zweiten Codierungsverfahren werden zu den codierten Nutzdaten Redundanzdaten zur Fehlererkennung gebildet,According to the second coding method, redundancy data for error detection are formed for the coded user data,
• wobei ein im Rahmen des zweiten Codierungsverfahrens eingesetztes Verhältnis von Redundanzdaten zu den codierten Nutzdaten abhängig von dem Fehlerparameter bestimmt wird.
Ein weiteres Computerprogramm-Erzeugnis umfaßt ein computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchführen zur Decodierung gemäß einem zweiten Codierungsverfahren codierten Nutzdaten:• a ratio of redundancy data to the coded user data used in the context of the second coding method being determined as a function of the error parameter. A further computer program product comprises a computer-readable storage medium on which a program is stored which, after it has been loaded into a memory of the computer, enables a computer to carry out the following steps for decoding user data coded according to a second coding method:
• Die gemäß dem zweiten Codierungsverfahren codierten Nutzdaten werden gemäß einem zweiten Decodierungsverfahren decodiert, • wobei sich ein zur Decodierung gemäß dem zweiten Decodierungsverfahren eingesetztes Verhältnis von Redundanzdaten zu komprimierten Nutzdaten abhängig von mindestens einem vorgegebenen Fehlerparameter ergibt,The user data encoded in accordance with the second coding method are decoded in accordance with a second decoding method, wherein a ratio of redundancy data to compressed user data used for decoding in accordance with the second decoding method results as a function of at least one predefined error parameter.
• mit dem Fehlerparameter wird eine Fehleranfälligkeit eines zur Codierung von Nutzdaten verwendeten ersten Codierungsverfahrens beschrieben,The error parameter describes an error susceptibility of a first coding method used for coding user data,
• die gemäß dem zweiten Decodierungsverfahren decodierten Nutzdaten werden gemäß einem ersten Decodierungsverfahren decodiert.The user data decoded according to the second decoding method are decoded according to a first decoding method.
Auf einem computerlesbaren Speichermedium ist ein Programm gespeichert, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchzuführen zur Codierung von Nutzdaten: • Die Nutzdaten werden gemäß einem ersten Codierungsverfahren codiert,A program is stored on a computer-readable storage medium which, after it has been loaded into a memory of the computer, enables a computer to carry out the following steps for coding useful data: The useful data are coded in accordance with a first coding method,
• dem ersten Codierungsverfahren ist mindestens ein vorgegebener Fehlerparameter zugeordnet, mit dem eine Fehleranfälligkeit des ersten Codierungsverfahrens beschrieben wird, • gemäß einem zweiten Codierungsverfahren werden die codierten Nutzdaten codiert,At least one predefined error parameter is assigned to the first coding method, with which an error susceptibility of the first coding method is described, according to a second coding method the coded user data are coded,
• gemäß dem zweiten Codierungsverfahren werden zu den codierten Nutzdaten Redundanzdaten zur Fehlererkennung gebildet,According to the second coding method, redundancy data for error detection are formed for the coded user data,
• wobei ein im Rahmen des zweiten Codierungsverfahrens einge- setztes Verhältnis von Redundanzdaten zu den codierten• a ratio of redundancy data to the coded used in the context of the second coding method
Nutzdaten abhängig von dem Fehlerparameter bestimmt wird.
Auf einem computerlesbaren Speichermedium ist ein Programm gespeichert, das es einem Computer ermöglicht, nachdem es in einen Speicher des Computers geladen worden ist, folgende Schritte durchzuführen zur Decodierung gemäß einem zweiten Codierungsverfahren codierten Nutzdaten:User data is determined depending on the error parameter. A program is stored on a computer-readable storage medium which, after it has been loaded into a memory of the computer, enables a computer to carry out the following steps for decoding user data coded in accordance with a second coding method:
• Die gemäß dem zweiten Codierungsverfahren codierten Nutzdaten werden gemäß einem zweiten Decodierungsverfahren decodiert,The user data coded according to the second coding method are decoded according to a second decoding method,
• wobei sich ein zur Decodierung gemäß dem zweiten Decodie- rungsverfahren eingesetztes Verhältnis von Redundanzdaten zu komprimierten Nutzdaten abhängig von mindestens einem vorgegebenen Fehlerparameter ergibt,A ratio of redundancy data to compressed useful data used for decoding according to the second decoding method is dependent on at least one predefined error parameter,
• mit dem Fehlerparameter wird eine Fehleranfälligkeit eines zur Codierung von Nutzdaten verwendeten ersten Codierungs- Verfahrens beschrieben,The error parameter describes an error susceptibility of a first coding method used for coding user data,
• die gemäß dem zweiten Decodierungsverfahren decodierten Nutzdaten werden gemäß einem ersten Decodierungsverfahren decodiert.The user data decoded according to the second decoding method are decoded according to a first decoding method.
Durch die Erfindung wird das Verhältnis der erforderlichenBy the invention the ratio of the required
Redundanzdatenrate zu der Nutzdatenrate gegenüber den bekannten Verfahren erheblich verbessert. Ferner wird die Flexibilität bei der Auswahl von Kanalcodierungsverfahren und Quellcodierungsverfahren erheblich erhöht. Auf diese Weise wird die für die Übertragung der Nutzdaten zur Verfügung stehende Bandbreite vergrößert bzw. die Qualität der mit den Nutzdaten beschriebenen Inhalte, beispielsweise die Qualität eines zu codierenden Bildes oder eines zu codierenden Videodatenstroms, erheblich verbessert.Redundancy data rate to the user data rate significantly improved compared to the known methods. Furthermore, the flexibility in the selection of channel coding methods and source coding methods is considerably increased. In this way, the bandwidth available for the transmission of the user data is increased or the quality of the contents described with the user data, for example the quality of an image to be encoded or a video data stream to be encoded, is considerably improved.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Preferred developments of the invention result from the dependent claims.
Die im weiteren beschriebenen Ausgestaltungen gelten sowohl für die Verfahren, die Anordnungen als auch die Computerpro- gramm-Erzeugniss und die computerlesbaren Speichermedien.
In einer Weiterbildung wird als erstes Codierungsverfahren ein Quellcodierungsverfahren eingesetzt und die Nutzdaten werden gemäß dem Quellcodierungsverfahren komprimiert. Als zweites Codierungsverfahren wird in diesem Fall ein Kanalcodierungsverfahren eingesetzt und die komprimierten Nutzdaten werden gemäß den Kanalcodierungsverfahren kanalcodiert.The configurations described below apply both to the methods, the arrangements and also the computer program product and the computer-readable storage media. In a further development, a source coding method is used as the first coding method and the user data are compressed in accordance with the source coding method. In this case, a channel coding method is used as the second coding method and the compressed useful data are channel-coded in accordance with the channel coding method.
Dem ersten Codierungsverfahren können mehrere Fehlerparameter zugeordnet werden.Several error parameters can be assigned to the first coding method.
In einer weiteren Ausgestaltung ist es vorgesehen, daß der Fehlerparameter mittels einer Fehlerrate-Verzerrungs-Funktion beschrieben wird.In a further embodiment it is provided that the error parameter is described by means of an error rate distortion function.
Die Verzerrung innerhalb der Fehlerrate-Verzerrungs-Funktion kann mit einem Signal-Rausch-Verhältnis beschrieben werden.The distortion within the error rate-distortion function can be described with a signal-to-noise ratio.
In einer Ausgestaltung ist es vorgesehen, daß der Fehlerparameter abhängig von dem Inhalt der Nutzdaten bestimmt wird. Auf diese Weise wird eine kontextabhängige weitere Optimierung der erreichbaren Qualität der zu übertragenden Nutzdaten erreicht.In one embodiment it is provided that the error parameter is determined depending on the content of the user data. In this way, a context-dependent further optimization of the achievable quality of the user data to be transmitted is achieved.
Der Inhalt der Nutzdaten kann aus den Nutzdaten bestimmt wer- den und abhängig von dem Inhalt der Nutzdaten kann aus einer vorgegebenen Menge von Fehlerparametern ein Satz von Fehlerparametern ausgewählt werden, der im Rahmen der Codierung eingesetzt wird. Durch diese Weiterbildung wird die Flexibilität weiter erhöht.The content of the user data can be determined from the user data and, depending on the content of the user data, a set of error parameters can be selected from a predetermined set of error parameters, which is used in the context of the coding. This further training increases flexibility.
Die Redundanzdaten können Daten zur Fehlerkorrektur enthalten.The redundancy data can contain data for error correction.
In einer weiteren Ausgestaltung ergibt sich das Verhältnis aus dem Minimum einer Gesamtfunktion, die sich bestimmt aus einer Kanalfehlerfunktion und dem Fehlerparameter. Diese Weiterbildung verbessert das erreichbare Verhältnis hinsichtlich
der Optimierung der erforderlichen Redundanzdatenrate zu der Nutzdatenrate .In a further embodiment, the ratio results from the minimum of an overall function, which is determined from a channel error function and the error parameter. This training improves the achievable relationship in terms the optimization of the required redundancy data rate to the user data rate.
Die Kanalfehlerfunktion kann eine Abhängigkeit auftretender Kanalfehler von der Nutzdatenrate bei einer vorgegebenen Kanalrate beschreiben.The channel error function can describe a dependency of occurring channel errors on the user data rate at a predetermined channel rate.
Die Nutzdaten können zumindest eine Art folgender Nutzdatenarten enthalten: • Audiodaten;The user data can contain at least one type of the following types of user data: • audio data;
• textuelle Daten;• textual data;
• Videodaten;• video data;
• Standbilddaten.• Still image data.
Die Kanalcodierung kann unterschiedlich für verschiedene vorgegebene Prioritätsklassen der zu übertragenden Nutzdaten erfolgen. Auf diese Weise wird eine weitere Flexibilisierung der Codierung erreicht, wobei eine unterschiedliche, vorgegebene Priorisierung unterschiedlicher Arten von zu übertragen- den Nutzdaten berücksichtigt werden kann.The channel coding can be done differently for different predetermined priority classes of the user data to be transmitted. In this way, a further flexibility of the coding is achieved, wherein a different, predetermined prioritization of different types of user data to be transmitted can be taken into account.
Die Erfindung wird bevorzugt eingesetzt zur Übertragung der Nutzdaten im Internet/Intranet. Sie eignet sich auch zur Übertragung der Nutzdaten in einem Mobilfunknetz. Ferner kann sie vorteilhaft eingesetzt werden zur Übertragung von Videodaten in einem Videotelefon.The invention is preferably used for the transmission of the user data in the Internet / intranet. It is also suitable for the transmission of user data in a cellular network. Furthermore, it can be used advantageously for the transmission of video data in a video telephone.
Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im weiteren näher erläutert.Embodiments of the invention are shown in the figures and are explained in more detail below.
Es zeigenShow it
Figur 1 eine Skizze, in der die einzelnen Verfahrensschritte des ersten Ausführungsbeispiels dargestellt sind; Figur 2 eine Anordnung zweier Rechner, einer Kamera und eines Bildschirms, mit denen die Codierung, die Übertragung
sowie die Decodierung und die Darstellung der Bilddaten erfolgen; Figuren 3a und 3b eine Skizze, einer Fehlerrate-Verzerrungs- Funktion (vgl. Figur 3a), und einer Kanalfehlerfunk- tion (vgl. Figur 3b).Figure 1 is a sketch showing the individual method steps of the first embodiment; Figure 2 shows an arrangement of two computers, a camera and a screen with which the coding, the transmission as well as the decoding and the display of the image data; FIGS. 3a and 3b show a sketch, an error rate distortion function (see FIG. 3a), and a channel error function (see FIG. 3b).
In Fig.2 ist eine Anordnung dargestellt mit zwei Rechnern 202, 208 und einer Kamera 201.2 shows an arrangement with two computers 202, 208 and a camera 201.
Eine Kamera 201 ist mit einem ersten Rechner 202 über eineA camera 201 is connected to a first computer 202 via a
Leitung 219 verbunden. Die Kamera 201 übermittelt aufgenommene Bilder 204 an den ersten Rechner 202. Der erste Rechner 202 verfügt über einen ersten Prozessor 203, der über einen Bus 218 mit einem Bildspeicher 205 verbunden ist. Mit dem er- sten Prozessor 203 des ersten Rechners 202 wird ein Verfahren zur Bildcodierung durchgeführt. Auf diese Art codierte Bilddaten 206 werden von dem ersten Rechner 202 über eine Kommunikationsverbindung 207, vorzugsweise eine Leitung oder eine Funkstrecke, zu einem zweiten Rechner 208 übertragen. Der zweite Rechner 208 enthält einen zweiten Prozessor 209, der über einen Bus 210 mit einem Bildspeicher 211 verbunden ist. Mit dem zweiten Prozessor 209 wird ein Verfahren zur Bildde- codierung durchgeführt.Line 219 connected. The camera 201 transmits captured images 204 to the first computer 202. The first computer 202 has a first processor 203 which is connected to an image memory 205 via a bus 218. A method for image coding is carried out with the first processor 203 of the first computer 202. Image data 206 encoded in this way is transmitted from the first computer 202 to a second computer 208 via a communication link 207, preferably a line or a radio link. The second computer 208 contains a second processor 209, which is connected to an image memory 211 via a bus 210. A method for image decoding is carried out with the second processor 209.
Sowohl der erste Rechner 202 als auch der zweite Rechner 208 verfügen jeweils über einen Bildschirm 212 bzw. 213, auf dem die Bilddaten 204 visualisiert werden, wobei die Visualisierung auf dem Bildschirm 212 des ersten Rechners 202 üblicherweise nur zu Kontrollzwecken erfolgt. Zur Bedienung sowohl des ersten Rechners 202 als auch des zweiten Rechners 208 sind jeweils Eingabeeinheiten vorgesehen, vorzugsweise eine Tastatur 214 bzw. 215, sowie eine Computermaus 216 bzw. 217.Both the first computer 202 and the second computer 208 each have a screen 212 or 213 on which the image data 204 are visualized, the visualization on the screen 212 of the first computer 202 usually being carried out only for control purposes. Input units are provided for operating both the first computer 202 and the second computer 208, preferably a keyboard 214 or 215, and a computer mouse 216 or 217.
Die Bilddaten 204, die von der Kamera 201 über die Leitung 219 zu dem ersten Rechner 202 übertragen werden, sind Daten im Zeitbereich, während die Daten 206, die von dem ersten Rechner 202 zu dem zweiten Rechner 208 über die Kommunikati-
onsverbindung 207 übertragen werden, Bilddaten im Spektralbereich sind.The image data 204, which are transmitted from the camera 201 to the first computer 202 via the line 219, are data in the time domain, while the data 206 which are transmitted from the first computer 202 to the second computer 208 via the communication ons connection 207 are transmitted, image data are in the spectral range.
Auf dem Bildschirm 213 werden die decodierten Bilddaten dar- gestellt.The decoded image data are displayed on the screen 213.
Erstes AusführungsbeispielFirst embodiment
In Fig.l ist dargestellt, daß in einem ersten SchrittIn Fig.l it is shown that in a first step
(Schritt 101) ein Bild bzw. ein Videodatenstrom, d.h. eine Folge von Bildern, mit einer Kamera aufgenommen wird und digitalisiert wird.(Step 101) an image or a video data stream, i.e. a sequence of images taken with a camera and digitized.
Fig.l zeigt weiterhin eine erste Schicht 102 und eine zweite Schicht 103. In der ersten Schicht erfolgt unter anderem die Quellcodierung des digitalisierten Bildes, in der zweiten Schicht 103 unter anderem die Kanalcodierung des komprimierten Bildes.Fig.l also shows a first layer 102 and a second layer 103. In the first layer, among other things, the source coding of the digitized image takes place, in the second layer 103, among other things, the channel coding of the compressed image.
Die digitalisierten Bilder stellen die Nutzdaten dar, die im Rahmen des Ausführungsbeispiels codiert und übertragen werden sollen.The digitized images represent the useful data that are to be encoded and transmitted in the context of the exemplary embodiment.
Die erste Schicht 102 und die zweite Schicht 103 kommunizieren in Analogie zu dem OSI-Schichtmodell über eine Kommunikationsschnittstelle 104 über die von der zweiten Schicht 103 der ersten Schicht 102 vorgegebene Dienste zur Verfügung gestellt werden. Von der ersten Schicht 102 werden über die Kommunikationsschnittstelle 104 der zweiten Schicht 103 die zu verarbeitenden Daten zur Verfügung gestellt.The first layer 102 and the second layer 103 communicate in analogy to the OSI layer model via a communication interface 104 via which the services specified by the second layer 103 are made available to the first layer 102. The data to be processed are made available by the first layer 102 via the communication interface 104 of the second layer 103.
In einem weiteren Schritt (Schritt 105) wird der Inhalt des aufgenommenen Bildes analysiert.In a further step (step 105) the content of the captured image is analyzed.
Im Rahmen der Analyse des Bildinhalts wird bestimmt, ob es sich bei der aufgenommenen Folge von Bildern um eine Art aus
einer Menge vorgegebener Arten verschiedener Referenzszenen handelt. Dabei wird überprüft, ob der Bildinhalt einer typischen Anwendung, z.B. in der Videotelefonie, entspricht, d.h. ob sich beispielsweise in dem Bildvordergrund ein körperför- miges Objekt befindet und ein unbewegter Bildhintergrund in dem Bild enthalten ist. Weitere spezielle Anwendungen (Referenzszenen) können sein:As part of the analysis of the image content, it is determined whether the recorded sequence of images is a type a set of specified types of different reference scenes. It is checked whether the image content corresponds to a typical application, for example in video telephony, that is to say whether there is a body-shaped object in the foreground of the image, for example, and whether an immovable image background is contained in the image. Other special applications (reference scenes) can be:
• Internet-Anwendungen,• Internet applications,
• Homeshopping, • spezielle Werbevideos.• home shopping, • special promotional videos.
In einem Speicher 106 sind für unterschiedliche Arten von Referenzszenen, das heißt für unterschiedliche Arten eines Bildinhaltes verschiedene Fehlerrate-Verzerrungs-Funktionen REDI, RED2 ..., REDi, ..., REDn gespeichert. Die Erstellung der Fehlerrate-Verzerrungs-Funktion für die jeweilige Referenzszene erfolgt gemäß dem in [5] beschriebenen Verfahren.Different error rate distortion functions REDI, RED2 ..., REDi, ..., REDn are stored in a memory 106 for different types of reference scenes, that is to say for different types of image content. The error rate distortion function for the respective reference scene is created in accordance with the method described in [5].
Somit sind in dem Speicher 106 eine Vielzahl von Fehlerrate- Verzerrungs-Funktionen REDI, RED2 ..., REDi, ..., REDn gespeichert.Thus, a plurality of error rate distortion functions REDI, RED2 ..., REDi, ..., REDn are stored in the memory 106.
Ist eine von den vorgegebenen Arten des Bildinhaltes ermittelt worden, so wird die der entsprechenden Referenzszene zu- geordnete Fehlerrate-Verzerrungs-Funktion REDi 109 ausgewählt (Schritt 107) .If one of the specified types of image content has been determined, the error rate distortion function REDi 109 assigned to the corresponding reference scene is selected (step 107).
In einem weiteren Schritt (Schritt 108) erfolgt eine Quellcodierung, d.h. eine Komprimierung der Bilddaten gemäß dem in [2] beschriebenen Verfahren.In a further step (step 108) source coding takes place, i.e. compression of the image data according to the method described in [2].
Durch die Quellcodierung gebildete komprimierte Bilddaten 110 sowie die ausgewählte Fehlerrate-Verzerrungs-Funktion 109 werden von der ersten Schicht 102 über die Kommunikations- schnittsteile 104 der zweiten Schicht 103 zugeführt.
In der zweiten Schicht 103 wird abhängig von der empfangenen Fehlerrate-Verzerrungs-Funktion 109 ein optimiertes Verhältnis der erforderlichen Redundanzrate zu der Nutzdatenrate abhängig von der Fehlerrate-Verzerrungs-Funktion 109 ermittelt (Schritt 111) .Compressed image data 110 formed by the source coding and the selected error rate distortion function 109 are fed from the first layer 102 to the second layer 103 via the communication interfaces 104. In the second layer 103, an optimized ratio of the required redundancy rate to the useful data rate is determined depending on the error rate distortion function 109 as a function of the received error rate distortion function 109 (step 111).
Gemäß dem ermittelten Verhältnis der Redundanzdatenrate zu der Nutzdatenrate erfolgt in einem weiteren SchrittIn a further step, the ratio of the redundancy data rate to the user data rate is determined
(Schritt 112) die Kanalcodierung der komprimierten Bilddaten.(Step 112) the channel coding of the compressed image data.
Diese Vorgehensweise wird im weiteren anhand der Fig.3a und Fig.3b näher erläutert.This procedure is explained in more detail below with the aid of FIGS. 3a and 3b.
Fig.3a zeigt eine Fehlerrate-Verzerrungs-Funktion 300. Die Fehlerrate-Verzerrungs-Funktion 300 beschreibt eine Verzerrung 301 als Qualitätsmaß in Abhängigkeit einer Nutzdatenrate (bit/sec) und einer Fehlerrate 303 des jeweiligen Kanals (Fehler/bit) .3a shows an error rate distortion function 300. The error rate distortion function 300 describes a distortion 301 as a quality measure as a function of a user data rate (bit / sec) and an error rate 303 of the respective channel (error / bit).
Die vertikale Achse gibt in Fig.3a die Bildverzerrung an, die abhängig von der Nutzdatenrate 302 und der Fehlerrate 303 in dem jeweiligen Bild zu erwarten ist. Je niedriger die Nutzdatenrate 302 und je höher die Fehlerrate 303, desto größer ist die Bildverzerrung 301. Die Fehlerrate-Verzerrungs-Funktion 300 wird in der ersten Schicht 102 ermittelt und über dieIn Figure 3a, the vertical axis indicates the image distortion that is to be expected depending on the user data rate 302 and the error rate 303 in the respective image. The lower the user data rate 302 and the higher the error rate 303, the greater the image distortion 301. The error rate distortion function 300 is determined in the first layer 102 and via the
Kommunikationsschnittstelle 104 der zweiten Schicht 103 übermittelt (in Fig.3a symbolisiert durch Pfeil 310) .Communication interface 104 of the second layer 103 transmitted (symbolized by arrow 310 in FIG. 3a).
In der zweiten Schicht 103 sind verschiedene Kanalcodierungs- verfahren, d.h. unterschiedliche Verhältnisse von Redundanzdatenrate zu Nutzdatenrate gespeichert. Ferner ist gespeichert eine Kanalfehlerfunktion 320, mit der eine spezielle Abhängigkeit von Kanalfehlern (Fehlerrate 321) von der Nutzdatenrate 322 bei vorgegebener konstanter Kanalrate gespei- chert. Die Kanalfehlerfunktion 320 wird gemäß dem in [6] beschriebenen Verfahren für jedes speziell verfügbare Kanalcodierungsverfahren bestimmt und gespeichert.
Anhand der Fehlerrate-Verzerrungs-Funktion 300 und der Kanalfehlerfunktion 320 wird, wie im weiteren beschrieben, das optimierte Verhältnis der Redundanzdatenrate zu Nutzdatenrate ermittelt:Different channel coding methods, ie different ratios of redundancy data rate to user data rate, are stored in the second layer 103. A channel error function 320 is also stored, with which a special dependency of channel errors (error rate 321) on the user data rate 322 is stored at a predetermined constant channel rate. The channel error function 320 is determined and stored in accordance with the method described in [6] for each channel coding method available in particular. The optimized ratio of the redundancy data rate to the user data rate is determined on the basis of the error rate distortion function 300 and the channel error function 320, as described below:
Angenommen, die Fehlerrate-Verzerrungs-Funktion 300 wird in ihrem Verhalten durch folgende Funktion beschrieben:Assume that the error rate distortion function 300 is described in its behavior by the following function:
Verzerrung (Nutzdatenrate, Fehlerrate) . (1)Distortion (user data rate, error rate). (1)
Die Fehlerrate-Verzerrungs-Funktion 300 wird der zweiten Schicht 104 übermittelt. Ferner wird angenommen, daß die Kanalfehlerfunktion 320 gebildet wird durch folgenden Ausdruck:The error rate distortion function 300 is transmitted to the second layer 104. It is also assumed that the channel error function 320 is formed by the following expression:
Fehlerrate (Kanalrate, Nutzdatenrate) . (2)Error rate (channel rate, user data rate). (2)
Vereinfachend wird in diesem Ausführungsbeispiel angenommen, daß der Wert der Kanalrate konstant ist. Die Nutzdatenrate wird in der oben genannten Funktion variiert.To simplify matters, it is assumed in this exemplary embodiment that the value of the channel rate is constant. The user data rate is varied in the above function.
Durch Einsetzen ergibt sich:By inserting:
Verzerrung (Nutzdatenrate, Fehlerrate (Kanalrate, Nutzdaten- rate) ) . (3)Distortion (user data rate, error rate (channel rate, user data rate)). (3)
Zur Ermittlung des optimierten Verhältnisses wird unter Variation der Nutzdatenrate das Minimum der Funktion (3) bestimmt. Die auf diese Weise ermittelte Nutzdatenrate stellt diejenige Nutzdatenrate dar, mit der mit dem Quellcodierungsverfahren eine optimierte Qualität erreicht.To determine the optimized ratio, the minimum of function (3) is determined by varying the user data rate. The user data rate determined in this way represents the user data rate with which the source coding method achieves an optimized quality.
Zweites Ausführungsbeispiel:Second embodiment:
Gemäß einem zweiten Ausführungsbeispiel werden die Nutzdaten in unterschiedliche Prioritätsklassen gruppiert, für die je-
weils ein unterschiedlicher Fehlerschutzmechanismus vorgesehen ist.According to a second exemplary embodiment, the user data are grouped into different priority classes for which because a different error protection mechanism is provided.
In einer ersten Prioritätsklasse 401 (vgl. Fig.4) wird die Redundanzdatenrate derart hoch gewählt, daß die Fehlerrate zu vernachlässigen ist. Für eine zweite Prioritätsklasse 402 wird eine variable Redundanzdatenrate gewählt.In a first priority class 401 (see FIG. 4), the redundancy data rate is chosen to be so high that the error rate is negligible. A variable redundancy data rate is selected for a second priority class 402.
Das zweite Ausführungsbeispiel entspricht im wesentlichen dem ersten Ausführungsbeispiel mit dem Unterschied, daß jeweils noch für die Nutzdaten die entsprechende Prioritätsklasse bei demstimmt wird und in der Signalisierungsinformation 121 nunmehr eine dreidimensionale Tabelle an die zweite Anordnung 130 übertragen wird, die die Bildverzerrung in Abhängigkeit der Kanalrate und der verschieden geschützten Nutzdatenraten beschreibt .The second exemplary embodiment essentially corresponds to the first exemplary embodiment with the difference that the corresponding priority class is still voted for the useful data and in the signaling information 121 a three-dimensional table is now transmitted to the second arrangement 130, which shows the image distortion as a function of the channel rate and which describes differently protected user data rates.
Die Fehlerrate-Verzerrungs-Funktion wird in diesem Fall beschrieben durch folgende Funktion:The error rate distortion function is described in this case by the following function:
Verzerrung (Nutzdatenrate 1, Nutzdatenrate 2, Fehlerrate) . (4)Distortion (user data rate 1, user data rate 2, error rate). (4)
Die Kanalfehlerfunktion wird beschrieben gemäß:The channel error function is described according to:
Fehlerrate (Kanalrate, Nutzdatenrate 1, Nutzdatenrate 2) . (5)Error rate (channel rate, user data rate 1, user data rate 2). (5)
Durch Einsetzen der Vorschrift (5) in Vorschrift (4) ergibt sich:By inserting regulation (5) into regulation (4), the following results:
Verzerrung (Nutzdatenrate 1, Nutzdatenrate 2, Fehlerrate (Kanalrate, Nutzdatenrate 1, Nutzdatenrate 2)). (6)Distortion (user data rate 1, user data rate 2, error rate (channel rate, user data rate 1, user data rate 2)). (6)
Die Bestimmung des optimierten Verhältnisses erfolgt nun unter Variation von Nutzdatenrate 1 und Nutzdatenrate 2 durch Minimierung der Vorschrift (6) .
In einer weiteren alternativen Ausführungsform ist es vorgesehen, für den Fall, daß ein Fehlerverschleierungsverfahren eingesetzt wird, dies im Rahmen der Fehlerraten-Verzerrungs- Funktion zu berücksichtigen.
The optimized ratio is now determined by varying the user data rate 1 and user data rate 2 by minimizing the rule (6). In a further alternative embodiment, it is provided that in the event that an error concealment method is used, this should be taken into account as part of the error rate distortion function.
In diesem Dokument sind folgende Veröffentlichungen zitiert:The following publications are cited in this document:
[1] B. Friedrichs, Kanalcodierung, ISBN 3-540-58232, Springer Verlag, S. 1 - 30, 70 - 105, 1996[1] B. Friedrichs, Kanalcodierung, ISBN 3-540-58232, Springer Verlag, pp. 1 - 30, 70 - 105, 1996
[2] D. Le Gall, MPEG: A Video Compression Standard for Multimedia Applications, Communications of the ACM, Vol. 34, No. 4, S. 47 - 58, April 1991[2] D. Le Gall, MPEG: A Video Compression Standard for Multimedia Applications, Communications of the ACM, vol. 34, no. 4, pp. 47-58, April 1991
[3] M. Bystrom, V. Parthasarathy, J.W. Modestino, Hybride Error Concealment Schemes for Broadcast Video Transmission Over ATM Networks, IEEE Transactions on Circuits and Systems for Video Technologies, 1997[3] M. Bystrom, V. Parthasarathy, J.W. Modestino, Hybrid Error Concealment Schemes for Broadcast Video Transmission Over ATM Networks, IEEE Transactions on Circuits and Systems for Video Technologies, 1997
[4] The ATM Forum - Technical Committee - Traffic Management Specification - Version 4.0, Kapitel 3: ATM Layer Quality of Service, erhältlich im Internet am 30.4.1999 unter der Adresse: ftp : //ftp . atmforum.com/pub/approved-specs/af-tm- 0056.000.pdf[4] The ATM Forum - Technical Committee - Traffic Management Specification - Version 4.0, Chapter 3: ATM Layer Quality of Service, available on April 30, 1999 at the address: ftp: // ftp. atmforum.com/pub/approved-specs/af-tm- 0056.000.pdf
[5] Shu Lin and Daniel J. Costello, Jr., Error Control[5] Shu Lin and Daniel J. Costello, Jr., Error Control
Coding: Fundamentals and Applications, Prentice-Hall Series in Computer Applications in Electrical Engi- neering, Franklin F. KuoCoding: Fundamentals and Applications, Prentice-Hall Series in Computer Applications in Electrical Engineering, Franklin F. Kuo
[6] The ATM Forum - Technical Committee - Traffic Management Specification - Version 4.0, Kapitel 3: ATM Layer Quality of Service, erhältlich im Internet am 30.4.1999 unter der Adresse: ftp: //ftp . atmforum. com/pub/approved-specs/af-tm- 0056.000.pdf[6] The ATM Forum - Technical Committee - Traffic Management Specification - Version 4.0, Chapter 3: ATM Layer Quality of Service, available on the Internet on April 30, 1999 at the address: ftp: // ftp. atmforum. com / pub / approved-specs / af-tm- 0056.000.pdf
[7] M. Bystrom, V. Parthasarathy, J.W. Modestino, Hybride Error Concealment Schemes for Broadcast Video[7] M. Bystrom, V. Parthasarathy, J.W. Modestino, Hybrid Error Concealment Schemes for Broadcast Video
Transmission Over ATM Networks, IEEE Transactions on Circuits and Systems for Video Technologies, 1997
Transmission Over ATM Networks, IEEE Transactions on Circuits and Systems for Video Technologies, 1997