DE4343450A1 - Coder for segment-wise coding of input signal, esp. for video telephone - Google Patents

Coder for segment-wise coding of input signal, esp. for video telephone

Info

Publication number
DE4343450A1
DE4343450A1 DE4343450A DE4343450A DE4343450A1 DE 4343450 A1 DE4343450 A1 DE 4343450A1 DE 4343450 A DE4343450 A DE 4343450A DE 4343450 A DE4343450 A DE 4343450A DE 4343450 A1 DE4343450 A1 DE 4343450A1
Authority
DE
Germany
Prior art keywords
image
coding
coder
quantizer
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE4343450A
Other languages
German (de)
Inventor
Peter Dr Ing Vogel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Philips Intellectual Property and Standards GmbH
Original Assignee
Philips Patentverwaltung 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 Philips Patentverwaltung GmbH filed Critical Philips Patentverwaltung GmbH
Priority to DE4343450A priority Critical patent/DE4343450A1/en
Publication of DE4343450A1 publication Critical patent/DE4343450A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The coder includes a controllable quantiser (1c) and a buffer memory (6) in which quantized and VLC-coded data of the input signal (b) are intermediately stored. Components (2, 3, 4, 7) are provided which evaluate a one-off adjustment of the quantiser for a signal segment to be coded. The evaluation is performed such that the number of bits which are written into the buffer memory on the basis of the coding of the signal segment coincides as closely as possible with a predefined number.

Description

Die Erfindung betrifft einen Coder zur segmentweisen Co­ dierung eines Eingangssignales, mit einem steuerbaren Quantisierer und einem Pufferspeicher, in den quantisierte und VLC-codierte Daten des Eingangssignales zwischengespeichert werden.The invention relates to a coder for segmental co dation of an input signal, with a controllable Quantizer and a buffer memory in which quantized and VLC-coded data of the input signal be cached.

Derartige Coder werden zum Beispiel in Bildtelefonen ver­ wendet, die entsprechend dem CCITT-Standard H.261 aufge­ baut sind (vergleiche hierzu zum Beispiel: Draft Revision of Recommendation H.261: Video Codec for Audiovisual Ser­ vices at px64 kbit/s. Signal Processing: Image Communi­ cation 2 (1990), 221-239. Elsevier). Die angegebene Lite­ raturstelle wird im folgenden mit (I) zitiert werden.Such encoders are used, for example, in videophones applies the according to the CCITT standard H.261 are built (compare for example: Draft Revision of Recommendation H.261: Video Codec for Audiovisual Ser vices at px64 kbit / s. Signal Processing: Image Communi cation 2 (1990) 221-239. Elsevier). The specified lite will be cited below with (I).

Eine andere Anwendungsmöglichkeit ergibt sich bei der Codierung von Standbildern, soweit die Codierung entspre­ chend der CCITT-Empfehlung T.81 vorgenommen wird. Die Codierung eines Standbildes erfolgt danach in mehreren Schritten mit steigender Bildqualität, wobei in jedem Schritt das zuvor codierte und wieder decodierte Standbild als Prädiktionsbild verwendet wird. Die Empfehlung T.81 soll im folgenden mit (II) zitiert werden (Vgl. hierzu: International Standard DIS 1011918-1. CCITT Recommendation T.81. Digital Compression and Coding of Continuous-Tone Still Images. Part I: Requirements and Guidelines (JPEG)).Another application is the Coding of still images, as far as the coding corresponds according to the CCITT recommendation T.81. The A still image is then encoded in several Steps with increasing image quality, being in each Step the previously encoded and decoded still image is used as a prediction picture. Recommendation T.81 should be cited in the following with (II) (cf. International Standard DIS 1011918-1. CCITT Recommendation T.81. Digital Compression and Coding of Continuous-Tone Still images. Part I: Requirements and Guidelines (JPEG)).

Schließlich werden Coder mit den Eingangs aufgezählten Merkmalen auch bei der Audio-Codierung eingesetzt, wie zum Beispiel folgendes Dokument zeigt: Brandenburg, K. et al.:
Aspec: Adaptive spectral entropy coding of high quality music signals. An Audio Engineering Society preprint. Presented at the 90th Convention 1991 February 19-22 Pa­ ris. Preprint 3011 (A-4). Es soll im folgenden mit (III) zitiert werden.
Finally, encoders with the features listed above are also used in audio coding, as the following document shows, for example: Brandenburg, K. et al .:
Aspec: Adaptive spectral entropy coding of high quality music signals. An Audio Engineering Society preprint. Presented at the 90th Convention 1991 February 19-22 Pa ris. Preprint 3011 (A-4). In the following it should be cited with (III).

Die Erläuterung der vorliegenden Erfindung soll jedoch hauptsächlich anhand eines Videocoders erfolgen, der mit der H.261-Empfehlung kompatibel ist. Die Übertragung auf die anderen Anwendungsfälle ergibt sich dann ohne weiteres aus dieser speziellen Erläuterung.However, the explanation of the present invention is intended mainly using a video encoder that works with the H.261 recommendation is compatible. The transfer to the other use cases are then obvious from this particular explanation.

Einem Coder nach (I) werden die zu codierenden Videodaten bildweise zugeführt. Die Eingangs angedeuteten Signalseg­ mente sind im allgemeinen (s. jedoch weiter unten) die zu einem Videobild gehörenden Prädiktionsfehler im CIF-Format oder im QCIF-Format (vergleiche hierzu (I)).The video data to be encoded is a coder according to (I) fed imagewise. The signal segment indicated at the beginning elements are generally (see below, however) a prediction error belonging to a video image in CIF format or in QCIF format (see (I)).

Videodaten im CIF-Format werden nach (I) wiederum hierar­ chisch in weitere Teildaten gegliedert, nämlich in zwölf Blockgruppen (GOB′s). Jede Blockgruppe gliedert sich in dreiunddreißig Macroblöcke und jeder Macroblock in sechs Blöcke. Ein Block besteht entweder aus den 64 Luminanzwer­ ten (Y-Werte) eines quadratischen Bildausschnittes von 8 × 8 Bildpunkten oder aus 64 Werten einer der beiden Farb­ differenz-Komponenten (CB- oder CR-Werte) Diese Chromi­ nanzwerte ergeben sich aus einem Bildausschnitt von 16 × 16 Bildpunkten, der bezüglich der Chrominanz im Verhältnis 1 : 2 horizontal und vertikal unterabgetastet ist. Ein Ma­ croblock enthält sowohl Luminanz- als auch Chrominaz- Informationen eines Bildausschnittes von 16 × 16 Bildpunk­ ten.According to (I), video data in CIF format are again broken down hierarchically into further partial data, namely into twelve block groups (GOB's). Each block group is divided into thirty-three macro blocks and each macro block into six blocks. A block either consists of the 64 luminance values (Y values) of a square image section of 8 × 8 pixels or 64 values of one of the two color difference components (C B or C R values). These chrominance values result from a Image section of 16 × 16 pixels, which is horizontally and vertically subsampled in terms of chrominance in a ratio of 1: 2. A macro block contains both luminance and chrominaz information in an image section of 16 × 16 pixels.

Ein Coder nach (I) arbeitet in zwei Hauptbetriebsarten, nämlich im INTER-Modus oder im INTRA-Modus. Im INTER-Modus werden die Differenzen der Bildpunktdaten zwischen einem Eingangsbild (aktuelles Bild) und seinem decodierten und gegebenenfalls bewegungskompensierten Vorgängerbild (Prä­ diktionsbild) codiert. Im INTRA-Modus wird statt des Prä­ diktionsfehlers daß Eingangsbild ohne Bezugnahme auf das Vorgängerbild codiert.A encoder according to (I) works in two main operating modes, namely in INTER mode or in INTRA mode. In INTER mode the differences in the pixel data between one Input picture (current picture) and its decoded and possibly motion-compensated previous picture (Pre  diction picture) coded. In INTRA mode, instead of the pre diction error that input picture without reference to the Coded previous picture.

Die Codierung erfolgt blockweise. Die Blockdaten oder die Differenzen der Blockdaten werden einer zweidimensionalen diskreten Cosinus-Transformation unterworfen. Die dabei bestimmten Transformationskoeffzienten werden einem steu­ erbaren Quantisierer zugeführt, nach deren Quantisierung VCL-codiert und in einen Pufferspeicher eingeschrieben. Ferner wird in einem Rückkoppelungszweig des Coders das codierte Bild (blockweise) wieder decodiert, in einem Bildspeicher gespeichert und als Prädiktionsbild für das nächste Eingangsbild verwendet.The coding is done in blocks. The block data or the Differences in the block data become two-dimensional subjected to discrete cosine transformation. The one there certain transformation coefficients become taxable erable quantizers supplied, after their quantization VCL-encoded and written into a buffer memory. Furthermore, the in a feedback branch of the encoder encoded picture (block by block) decoded again in one Image memory stored and as a prediction image for the next input image used.

Der Quantisierer des Coders ist insofern steuerbar, als bei ihm die Quantisierungskennlinie eingestellt werden kann. Unterschiedliche Quantisierungskennlinien unter­ scheiden sich durch die Länge ihrer Quantisierungsinter­ valle. Innerhalb einer Quantisierungskennlinie ist die Länge der Quantisierungsintervalle (auch Schrittweite genannt) in der Regel gleich. Man erhält eine grobe Quan­ tisierung bei Kennlinien mit großer Schrittweite und eine feine Quantisierung bei Kennlinien mit kleiner Schritt­ weite. Wird grob quantisiert, wird also ein großer Quan­ tisierungsfehler in Kauf genommen, werden im allgemeinen weniger VLC-Daten in den Pufferspeicher eingeschrieben. Wird fein quantisiert, steigt im allgemeinen die Zahl der Bits, die in Form der VLC-Codeworte in den Pufferspeicher vor ihrer Übertragung zwischengespeichert werden.The quantizer of the encoder is controllable in that the quantization characteristic can be set with it can. Different quantization curves under differ by the length of their quantization inter valle. The is within a quantization curve Length of the quantization intervals (also step size usually called the same. You get a rough quan for characteristic curves with large increments and one fine quantization for characteristic curves with a small step wide. If it is roughly quantized, it becomes a large quan Acceptance errors are generally accepted less VLC data written into the buffer memory. If you quantize finely, the number of Bits in the form of VLC code words in the buffer memory be cached before transmission.

Entleert wird der Pufferspeicher mit zeitlich konstanter Bitrate, während das Füllen des Speichers mit hochgradig zeitabhängiger Bitrate erfolgen kann. Ob viele oder wenige Bits pro Sekunde in den Pufferspeicher eingeschrieben werden, hängt sowohl von der Einstellung des Quantisierers als auch von der Größe des Prädiktionsfehlers - also von den Bilddaten - ab.The buffer tank is emptied with a more constant time Bit rate while filling the memory with high time-dependent bit rate can take place. Many or few Bits written into the buffer memory per second  depends on both the setting of the quantizer as well as the size of the prediction error - i.e. of the image data - from.

Für welche Daten eines Videobildes welche Quantisierungs­ kennlinie zu verwenden ist, ist in (I) nicht vorgeschrie­ ben. Vorgeschrieben ist lediglich, daß innerhalb eines Macroblockes nur eine Quantisierungskennlinie zu verwenden ist, die Quantisierungskennlinie also höchstens von Macro­ block zu Macroblock geändert werden darf und daß für den DC-Koeffizienten im INTRA-Modus immer die gleiche Quanti­ sierungskennlinie verwendet werden soll. Die möglichen Quantisierungsschrittweiten sind die ganzen Zahlen 2, 4, 6, . . . bis 62.Which quantization for which data of a video image characteristic is not to be used in (I) ben. The only requirement is that within one Macroblockes to use only one quantization curve is the quantization characteristic of Macro at most block to Macroblock may be changed and that for the DC coefficients in INTRA mode always the same quanti characteristic curve should be used. The possible Quantization step sizes are the integers 2, 4, 6,. . . to 62.

Üblich ist eine Steuerung des Quantisierers in Abhängig­ keit vom Pufferfüllstand, wie zum Beispiel die EP 036 3 682 oder die EP 028 4 168 zeigt. Sinn einer sol­ chen Steuerung ist, einen Überlauf oder einen Leerlauf des Pufferspeichers zu vermeiden. Da inzwischen die Kapazität von Speichern kaum noch ein technisches Problem ist, also die Gefahr des Überlaufs und des damit verbundenen Infor­ mationsverlustes nicht mehr besteht, weil genügend große Speicher verwendet werden können, ist es dennoch wün­ schenswert, daß der Füllstand des Pufferspeichers einen maximalen Füllstand nicht überschreitet. Der Grund hierfür ist der, daß - ganz ausgeprägt bei niederen Übertragungs­ bitraten - der zeitliche Abstand zwischen dem Codieren eines Videobildes auf der Sendeseite und dem Decodieren und dem Aufbauen des gleichen Videobildes auf der Emp­ fangsseite unannehmbar groß wird. Dieser zeitliche Abstand muß zum Beispiel bei einem Dialog über Bildtelefone nahezu unmerklich für die Teilnehmer sein. Akzeptabel sind Zei­ ten, die im Bereich einer zehntel Sekunde liegen. Daher bleibt auch bei technisch fast grenzenloser Speicherkapa­ zität das Problem, den Füllstand des Pufferspeichers aus den dargelegten Gründen nicht über einen maximalen Füll­ stand hinausgehen zu lassen.Control of the quantizer is usually dependent buffer level, such as the EP 036 3 682 or EP 028 4 168 shows. Sense of a sol Chen control is an overflow or an idle of the Avoid buffer storage. Since now the capacity storage is hardly a technical problem anymore, so the risk of overflow and the associated information loss of mation no longer exists because it is sufficiently large Memory can be used, it is still wu it is worth it that the fill level of the buffer storage does not exceed the maximum fill level. The reason for that is that - quite pronounced with low transmission bit rates - the time interval between coding a video image on the transmission side and decoding and building the same video image on the emp start side becomes unacceptably large. This time interval For example, in a dialogue via videophones, almost be imperceptible to the participants. Time is acceptable that are in the range of a tenth of a second. Therefore remains with almost unlimited memory capa the problem, the level of the buffer storage  for the reasons given do not have a maximum fill stood to let go.

Die Steuerung des Quantisierers allein durch den Füllstand des Pufferspeichers (im folgenden Füllstandssteuerung genannt) führt in der Regel dazu, daß Macroblöcke, die zum gleichen Bild oder zur gleichen Bilddifferenz gehören, mit unterschiedlichen Quantisierungskennlinien quantisiert werden, da der Füllstand des Pufferspeicher während des Kodierens eines Bildes starken Schwankungen unterworfen sein kann.The control of the quantizer solely by the level of the buffer tank (in the following fill level control usually leads to macroblocks leading to the belong to the same picture or to the same picture difference, with different quantization characteristics be, because the filling level of the buffer storage during the Encoding an image is subject to strong fluctuations can be.

Der Wechsel von einer Quantisierungskennlinie zu einer anderen während der Codierung eines Bildes ist bei der Füllstandssteuerung in dem Sinne willkürlich, als dieser Wechsel ohne Rücksicht auf den Informationsgehalt der noch zu kodierenden Makroblöcke vorgenommen werden muß. So können für den Betrachter wichtige Bildteile grob quan­ tisiert werden und andere - weniger wichtige - wiederum unnötig fein. Mit anderen Worten: bei der Füllstandssteue­ rung wird die Bedeutung des Bildinhaltes für den Betrach­ ter außer acht gelassen. Die Füllstandssteuerung führt deshalb zu einer subjektiv wie auch objektiv unbefriedi­ genden Bildqualität.The change from a quantization curve to one another while encoding an image is at the Level control in the sense arbitrary than this Change regardless of the information content of the still to be encoded macro blocks must be made. In this way, important parts of the picture can be roughly quan be tized and others - less important - in turn unnecessarily fine. In other words: with level control the importance of the image content for the viewer disregarded. The level control leads therefore to a subjectively as well as objectively unsatisfied image quality.

Der Erfindung liegt die Aufgabe zugrunde, eine Steuerung des Quantisierers derart durchzuführen, daß sich die Qua­ lität der decodierten Bilder subjektiv und objektiv we­ sentlich verbessert.The invention has for its object a controller the quantizer so that the Qua subjectivity and objectivity of the decoded images considerably improved.

Diese Aufgabe wird bei einem eingangs erwähnten Coder durch Mittel gelöst, mit denen im Betriebsfall eine ein­ malige Einstellung des Quantisieres für ein zu codierendes Signalsegment derart geschätzt wird, daß die Anzahl der Bits, die aufgrund der Codierung dieses Signalsegmentes in den Pufferspeicher eingeschrieben werden, mit einer vor­ gegebenen Anzahl möglichst gut übereinstimmt.This task is done with a coder mentioned at the beginning solved by means with which a one in operation times setting the quantizer for one to be encoded Signal segment is estimated such that the number of Bits which, due to the coding of this signal segment in  the buffer memory are written with a before given number matches as closely as possible.

Im Falle der Bildcodierung bedeutet das, daß für das gesamte Bild (Signalsegment) - also für alle Macroblöcke eines Bildes - nur eine einzige Einstellung des Quantisie­ res verwendet wird, sofern die geschätze Einstellung unter den in (I) vorgesehenen Einstellungen vorkommt.In the case of image coding, this means that for the entire image (signal segment) - i.e. for all macroblocks of an image - just a single shot of the quantisie res is used, provided the estimated setting is under the settings provided in (I) occurs.

Bei dieser Maßnahme wird von der Erkenntnis Gebrauch ge­ macht, daß die Verwendung einer einzigen Quatisierungs­ kennlienie für alle Blöcke eines Bildes (im eingeschwunge­ nen Zustand - vergl. hierzu weiter unten) subjektiv und objektiv zur nahezu bestmöglichen Bildqualität führt. Auch das sogenannte "blocking" wird reduziert. Zwar ist eine Unterscheidung zwischen wichtigen und unwichtigen Teilen eines Bildes nicht vorgesehen, jedoch ist eindeutig der Fall ausgeschlossen, daß wichtige Teile grob und unwichti­ ge fein quantisiert werden.This measure uses knowledge makes use of a single quatization kennlienie for all blocks of a picture (in the steady state - see below) subjectively and objectively leads to almost the best possible image quality. Also the so-called "blocking" is reduced. There is one Differentiation between important and unimportant parts of an image is not provided, but is clearly the Case excluded that important parts are rough and unimportant can be finely quantized.

Anhand eines Ausführungsbeispieles soll die Erfindung nun in Verbindung mit den Figuren naher erläutert werden.Based on an embodiment, the invention will now are explained in more detail in connection with the figures.

Es zeigen:Show it:

Fig. 1 ein Blockschaltbild eines Coders mit Merkmalen der Erfindung und Fig. 1 is a block diagram of a encoder with features of the invention and

Fig. 2 ein PSNR-Diagramm, in dem der Unterschied zwi­ schen einem Coder mit Puffersteuerung und einem Coder nach der Erfindung dargestellt wird. Fig. 2 is a PSNR diagram in which the difference between a coder with buffer control and a coder according to the invention is shown.

Im Prinzipschaltbild nach Fig. 1 sind die wichtigsten Funktionseinheiten eines Videocoders angegeben, der nach den in (I) dargelegten Vorschriften arbeitet und der auch erfindungsgemäße Zusätze enthält. Taktleitungen sind nicht eingetragen oder nur angedeutet. Ebenso sind eine Reihe von Steuerleitungen und Adreßleitungen fortgelassen oder ebenfalls nur angedeutet, um die Figur nicht unüber­ sichtlich zu machen. Der Fachmann jedoch kann sie ohne weiteres in der Figur gedanklich ergänzen und bei der Konkretisierung der Schaltung hinzufügen.The basic circuit diagram of FIG. 1 shows the most important functional units of a video encoder which operates according to the regulations set out in (I) and which also contains additives according to the invention. Clock lines are not entered or are only hinted at. Likewise, a number of control lines and address lines are omitted or also only hinted at in order not to obscure the figure. However, the person skilled in the art can easily add to them mentally in the figure and add them when the circuit is specified.

Mit dem Bezugszeichen 1 ist eine Quellcoder versehen, d. h. derjenige Teile eines Videocoders nach (I), der als we­ sentliche Bestandteile eine Transformationseinheit 1B, einen steuerbaren Quantisierer 1C und eine Rückkopplungs­ schleife mit einem Decoder 1D enthält. Durch den Decoder 1D werden Prädiktionsbilder für Eingangsbilder gewonnen, die dem Videocoder 1 auf einer Leitung a2 zugeführt wer­ den. Die Eingangsbilder auf der Leitung a2 sind eine Aus­ wahl der auf einer Leitung a1 mit einer Bildfolgefrequenz von etwa 30 Hz ankommenden Bilder im CIF-Format. Im Bei­ spiel wird ein Schalter 8 so gesteuert, daß nur jedes zweite Bild von der Leitung a1 auf die Leitung a2 gelangt.With the reference numeral 1 , a source encoder is provided, ie those parts of a video encoder according to (I), the essential components of a transformation unit 1 B, a controllable quantizer 1 C and a feedback loop with a decoder 1 D contains. The decoder 1 D provides prediction images for input images which are fed to the video encoder 1 on a line a2. The input images on line a2 are a selection of the images arriving on line a1 with an image repetition rate of approximately 30 Hz in CIF format. In the game, a switch 8 is controlled so that only every second picture from line a1 to line a2.

Eine steuerbare Funktionseinheit 1A gibt entweder die Ein­ gangsbilder von der Leitung a2 oder den Prädiktionsfehler (ebenfalls im CIF-Format) auf eine Leitung b. Der Prädik­ tionsfehler besteht aus den Differenzen aller Daten eines Eingangsbildes und den Daten des Prädiktionsbildes. Das Signal auf der Leitung b ist das durch den Quellcoder 1 nach den in (I) niedergelegten Vorschriften zu codierende und oben erwähnte Eingangssignal. Es gelangt nach der Diskreten Cosinus-Transformation durch die Einheit 1B über eine Leitung c zum steuerbaren Quantisierer 1C und von dort über einen steuerbaren Schalter 1E und einen Abschnitt einer Leitung d zu einem Variable-Length-Coder 5, auch Entropie-Coder genannt. Die Codeworte des Entro­ pie-Coders 5 werden in einen Pufferspeicher 6 eingeschrie­ ben und aus diesem mit einer Bitrate von 64 × p kbit/s ausgelesen und gegebenenfalls leitungscodiert an einen Empfänger übertragen. Sofern nichts anderes ausdrücklich erwähnt ist, wird im Ausführungsbeispiel der Fall p = 1 behandelt.A controllable functional unit 1 A gives either the input images from line a2 or the prediction error (also in CIF format) on line b. The prediction error consists of the differences between all data of an input picture and the data of the prediction picture. The signal on line b is the input signal to be coded by the source coder 1 according to the regulations laid down in (I) and mentioned above. After the discrete cosine transformation, it arrives through the unit 1 B via a line c to the controllable quantizer 1 C and from there via a controllable switch 1 E and a section of a line d to a variable length coder 5 , also entropy coder called. The code words of the entro pie coder 5 are written into a buffer memory 6 and read out from this at a bit rate of 64 × p kbit / s and, if appropriate, line-coded transmitted to a receiver. Unless expressly stated otherwise, the case p = 1 is dealt with in the exemplary embodiment.

Alle steuerbaren Funktionseinheiten des Quellcoders 1 werden durch eine Steuereinheit 3 gesteuert, was durch eine Verbindung a5 der Steuereinheit 3 mit dem Quellcoder 1 angedeutet ist. Bei der Erfindung geht es hauptsächlich um die Steuerung des Quantisierers 1C derart, daß sich der Füllstand F des Pufferspeichers 6 während des Betriebes innerhalb vorgeschriebener Grenzen bewegt, ohne daß - entgegen dem Stand der Technik - die Einstellung des Quan­ tisierers 1C während der Codierung eines Bildes geändert wird. Der Füllstand F wird über eine Leitung a6 an die Steuereinheit 3 übertragen und in einer weiter unten be­ schriebenen Weise von ihr ausgewertet.All controllable functional units of the source encoder 1 are controlled by a control unit 3 , which is indicated by a connection a5 of the control unit 3 to the source encoder 1 . The invention is mainly about the control of the quantizer 1 C such that the level F of the buffer memory 6 moves during operation within prescribed limits, without - contrary to the prior art - the setting of the quantizer 1 C during coding an image is changed. The level F is transmitted via a line a6 to the control unit 3 and evaluated by it in a manner described below.

Daneben besteht ein Informationsaustausch zwischen der Steuereinheit 3 und einer Reihe von Sonderbausteinen, die im Wesentlichen der Präanalyse eines zu codierenden Bildes dienen und die nicht Bestandteile eines Coders nach (I) sein müssen. Diese Bausteine umfassen unter anderem den schon erwähnten Schalter 8, einen Bildspeicher 7 und einen Aktivitätsrechner 2; sie stehen über ein Leitungssystem a3 mit der Steuereinheit 3 in Verbindung. Ein weiterer Sonderbaustein ist ein Bitzähler 4, der die in den Puffer­ speicher 6 pro Bild eingeschriebenen Bits zählt und seinen Zählerstand über eine Leitung a4 an die Steuereinheit 3 weitergibt. Die Anzahl der pro Bild in den Pufferspeicher eingeschriebenen Bits soll im folgenden Bildvolumen B genannt werden. Das Bildvolumen B und die Ausgangsdaten des Aktivitätsrechners 2 benötigt die Steuereinheit 3 zur Ausübung ihrer Steuerfunktionen. In addition, there is an exchange of information between the control unit 3 and a number of special modules which essentially serve for the pre-analysis of an image to be coded and which do not have to be part of a coder according to (I). These modules include the switch 8 already mentioned, an image memory 7 and an activity calculator 2 ; they are connected to the control unit 3 via a line system a3. Another special module is a bit counter 4 , which counts the bits written into the buffer memory 6 per image and forwards its counter reading to the control unit 3 via a line a4. The number of bits written into the buffer memory per picture is to be called B in the following picture volume. The image volume B and the output data of the activity computer 2 are required by the control unit 3 to carry out their control functions.

Vom Aktivitätsrechner 2 bekommt die Steuereinheit 3 eine quantitative Aussage über die Aktivität des Signals auf der Leitung b, kurz Bildaktivität a genannt. Darunter soll im vorliegenden Zusammenhang zunächst jede beliebige Funk­ tion der Beträge aller Bilddaten eines Bildes oder Diffe­ renzbildes verstanden werden. Ist zum Beispiel xk eine quantitative Angabe (Chrominanz- oder Luminanzwert) über den k-ten Bildpunkt eines Bildes, so wäreFrom the activity computer 2 , the control unit 3 receives a quantitative statement about the activity of the signal on line b, called image activity a for short. In the present context, this should be understood to mean any function of the amounts of all image data of an image or difference image. For example, if x k is a quantitative statement (chrominance or luminance value) about the kth pixel of an image, then it would be

eine mögliche quantitative Aussage über die Bildakti­ vität σ.a possible quantitative statement about the image stocks vity σ.

Im vorliegenden Beispiel wird für σ der AusdruckIn the present example, the expression for σ is

verwendet, also das Quadrat des als "Absolutnorm" in der Mathematik bekannten Ausdrucks, weil er sich als besonders brauchbar erwiesen hat. Die Summe in (2) durchläuft die Luminanz- und Chrominanzwerte aller Bildpunkte eines Bil­ des oder Differenzbildes im CIF-Format. Insgesamt sind das 152.064 Werte pro Bild. Eine Beschränkung auf die Lumi­ nanzwerte alleine liefert ebenfalls brauchbare Werte für die Bildaktivität.used, ie the square of the "absolute standard" in the Mathematics known expression because it turns out to be special has proven useful. The sum in (2) runs through the Luminance and chrominance values of all pixels in a bil des or difference image in CIF format. Overall, that is 152,064 values per image. A limitation to the Lumi nanz values alone also provides useful values for the image activity.

Um das Verständnis der nun folgenden Ausführungen zu er­ leichtern, soll zunächst eine Liste mit den weiter unten verwendeten Symbolen aufgestellt und deren Bedeutung erläutert werden. Vorab sei bemerkt, daß i das Symbol für die Ordnungszahlen ist, mit denen die zu codierenden Bil­ der abgezählt werden. Größen - hier auch Codierparameter genannt - die für die Codierung des i-ten Bildes benötigt werden oder von den Daten dieses Bildes abhängen, erhalten die Ordnungszahl i als Index.To understand the following explanations easier, should first a list with the below  symbols used and their meaning are explained. It should be noted in advance that i is the symbol for is the ordinal number with which the Bil which are counted. Sizes - here also coding parameters called - which is required for coding the i-th image will depend or depend on the data of this picture the atomic number i as an index.

Im einzelnen bedeuten:
σ₁ die Bildaktivität des i-ten zu codierenden Bildes, die vor dessen Codierung vom Aktivitätsrechner 2 nach Formel (2) bestimmt wird.
si die vor der Codierung des i-ten Bildes errechnete Quantisierungsschrittweite, mit der dieses Bild quan­ tisiert werden sollte, jedoch in der Regel nicht quantisiert werden kann, weil ihr Wert keinem der nach (I) zulässigen Werte zwischen 2 und 62 gleicht.
sli, shi zwei nach (I) zulässige Quantisierungschrittweiten, mit denen jeweils ein zugehöriger Anteil des i-ten Bildes quantisiert wird und die sich aus dem errech­ neten Wert si nach den Gleichungen
In particular:
σ₁ the image activity of the i-th image to be encoded, which is determined by the activity calculator 2 according to formula ( 2 ) before it is encoded.
s i the quantization step size calculated before the coding of the i-th image, with which this image should be quantized, but usually cannot be quantized because its value does not equal any of the values between 2 and 62 permitted by (I).
sl i , sh i two quantization increments permissible according to (I), with each of which an associated part of the i-th image is quantized and which result from the calculated value s i according to the equations

sli = 2*INT(si/2);
shi = sli + 2
sl i = 2 * INT (s i / 2);
sh i = sl i + 2

ergeben, wobei mit INT(x) die größte ganze Zahl ge­ meint ist, die kleiner als x ist. Sollten sich für diese Größen Werte ergeben, die außerhalb des in (I) vorgesehenen Intervalles liegen, so werden ihnen die zulässigen Werte 4 oder 62 zugewiesen.
Bi Bildvolumen des i-ten Bildes, das die Anzahl der Bits angibt, die infolge der Codierung dieses Bildes in den Pufferspeicher 6 eingeschrieben wird und die mit dem Stand des Bitzählers 4 nach der Codierung dieses Bildes übereinstimmt.
i geschätztes Bildvolumen für das i-te Bild.
B₀ vorgegebenes Bildvolumen (im Beispiel 6400 bit).
Fi Füllstand des" Pufferspeichers 6 unmittelbar vor der Codierung des i-ten Bildes
BSi Soll-Bildvolumen, dasjenige Bildvolumen, das das i-te Bild haben soll; es wird vor der Codierung dieses Bildes von der Steuerung 3 berechnet.
FSi Soll-Füllstand, derjenige Füllstand des Pufferspei­ chers 6, den dieser nach der Codierung des i-ten Bildes haben soll und der vor der Codierung des i-ten Bildes von der Steuerung 3 berechnet wird.
2 * Si Steigung der Schätzgeraden, die adaptiv vor der Co­ dierung des i-ten Bildes ermittelt wird.
result, where INT (x) means the largest integer that is less than x. If values result for these quantities that lie outside the interval provided in (I), then the permissible values 4 or 62 are assigned to them.
B i image volume of the i-th image, which indicates the number of bits which is written into the buffer memory 6 as a result of the encoding of this image and which corresponds to the state of the bit counter 4 after the encoding of this image.
i Estimated image volume for the i-th image.
B₀ predefined image volume (6400 bit in the example).
F i level of the "buffer memory 6 immediately before the coding of the i-th picture
BS i target image volume, that image volume that the i-th image should have; it is calculated by the controller 3 before coding this picture.
FS i target fill level, the fill level of the buffer store 6 which it is to have after the coding of the i-th picture and which is calculated by the controller 3 before the coding of the i-th picture.
2 * S i slope of the estimation line, which is determined adaptively before the coding of the i-th image.

Das Bildvolumen Bi läßt sich nicht aus dem Pufferfüllstand vor und nach dem i-ten Bild ermitteln. Denn während der Codierung eines Bildes kann der Puffer 6 leerlaufen, weil für bestimmte Bildausschnitte keine Bits anfallen. Um den Leerlauf praktisch zu verhindern, werden Stopfbits hin­ zugefügt, die nichts mit dem Bildvolumen Bi zu tun haben und die auf der Empfängerseite wieder entfernt werden müssen. Wegen dieser Stopfbits sind das Bildvolumen und der Pufferfüllstand getrennt voneinander zu ermitteln.The image volume B i cannot be determined from the buffer fill level before and after the i-th image. Because during the coding of a picture, the buffer 6 can run empty because no bits are generated for certain picture sections. In order to practically prevent idling, stuffing bits are added which have nothing to do with the image volume B i and which have to be removed on the receiver side. Because of these stuff bits, the image volume and the buffer fill level must be determined separately.

Die Aufgabe, die die Steuerschaltung 3 zu lösen hat, läßt sich in folgender Frage zusammenfassen: Wie muß die Schrittweite si des Quantisierers 1C für die Codierung des i-ten Bildes gewählt werden, damit das Bildvolumen Bi des noch zu codierenden Bildes möglichst gut ein vorgegebenes Soll-Bildvolumen BSi annimmt? Vorausgesetzt wird dabei, daß die Bildaktivität σi nach Formel (2) des i-ten Bildes vor dessen Codierung bekannt ist. Schaltungstechnisch wird diese Voraussetzung durch das Zusammenspiel der beiden steuerbaren Schalter 8 und 1E mit dem Bildspeicher 7 er­ füllt. Befindet sich der Schalter 8 in seiner leitenden Schaltstellung (Verbindung zwischen den Leitungen a1 und a2 hergestellt) wird das ankommende Bild - es sei das i-te Bild - in den Speicher 7 eingelesen, während gleichzeitig die Differenzdaten zwischen diesem Bild und seinem schon codierten und wieder decodierten Vorgängerbild - das Bild mit der Nummer (i-1) - auf die Leitung b gegeben werden. In dieser Phase befindet sich der Schalter 1E in seiner sperrenden Stellung, so daß die codierten Werte weder dem Entropie-Coder 5 noch dem Decoder 1D zugeführt werden und dort die Daten des (i-1)-sten Bildes überschreiben. Der Schalter 1E hat eher symbolische Bedeutung, da seine Wir­ kung auch durch Taktunterbrechung oder durch eine Unter­ brechung der Adressenzufuhr erreicht werden kann.The task which the control circuit 3 has to solve can be summarized in the following question: How must the step size s i of the quantizer 1 C be chosen for coding the i-th picture so that the picture volume Bi of the picture still to be coded is as good as possible assumes a predetermined target image volume BS i ? It is assumed that the picture activity σ i according to formula (2) of the i-th picture is known before it is encoded. In terms of circuitry, this requirement is met by the interaction of the two controllable switches 8 and 1 E with the image memory 7 . If the switch 8 is in its conductive switching position (connection between the lines a1 and a2 established), the incoming image - be it the i-th image - is read into the memory 7 , while at the same time the difference data between this image and its already encoded and again decoded previous picture - the picture with the number (i-1) - be given on line b. In this phase, the switch 1 E is in its blocking position, so that the coded values are neither supplied to the entropy coder 5 nor to the decoder 1 D and overwrite the data of the (i-1) th picture there. The switch 1 E has more symbolic meaning, since its effect can also be achieved by interrupting the cycle or by interrupting the address supply.

Während der Sperrphase des Schalters 1E bestimmt der Akti­ vitätsrechner 2 die Größe σi und stellt sie danach der Steuereinheit 3 zur Verfügung. Danach wird der Schalter 8 von der Steuereinheit 3 in seine sperrende Stellung ge­ bracht und das im Speicher 7 abgespeicherte Bild wieder ausgelesen. Das in der Sperrphase des Schalters 8 auf der Leitung a1 anliegende Bild der CIF-Folge wird übergangen. Bei leitend geschaltetem Schalter 1E erfolgt nun die Co­ dierung des im Speicher 7 abgelegten i-ten Bildes wie üblich, allerdings mit einer Einstellung des Quantisierers 1C, die von der Steuereinheit 3 zuvor - auch mit der Bild­ aktivität σi - errechnet worden ist. Dann wiederholen sich die Vorgänge mit leitendem Schalter 8 und sperrendem Schalter 1E. Abweichend von dieser Regel wird der Schalter 1E auch dann solange gesperrt, solange der Füllstand des Pufferspeichers 6 über einem maximal zulässigen Füllstand liegt. Die Sperrzeiten sind so gewählt, daß nur ganze Bilder von der VLC-Codierung durch den Entropie-Coder 5 ausgenommen werden.During the blocking phase of the switch 1 E, the activity calculator 2 determines the size σ i and then makes it available to the control unit 3 . Then the switch 8 is brought by the control unit 3 into its blocking position and the image stored in the memory 7 is read out again. The image of the CIF sequence present on line a1 in the blocking phase of switch 8 is ignored. When the switch 1 E is switched on, the i-th image stored in the memory 7 is coded as usual, but with a setting of the quantizer 1 C, which was previously calculated by the control unit 3 - also with the image activity σ i . Then, the operations with conductive switch 8 and the off state switch 1 repeat E. exception to this rule to be locked, the switch E 1 as long as the filling level of the buffer memory 6 is higher than a maximum permissible level. The blocking times are chosen so that only whole pictures are excluded from the VLC coding by the entropy coder 5 .

Um nun die Beantwortung der oben gestellten Frage ver­ ständlich zu machen, soll an folgende Beobachtung erinnert werden. Trägt man das Bildvolumen Bi aller Bilder einer Bildsequenz gegen die Quantisierungsschrittweite si bezogen auf die Signalintensität σi auf, stellt alsoIn order to make the answer to the above question understandable, the following observation should be recalled. If the image volume B i of all images of an image sequence is plotted against the quantization step size s i in relation to the signal intensity σ i , the

Bi *i/si) für i = 1, 2, 3,B i *i / s i ) for i = 1, 2, 3,

für unterschiedliche Werte von σi/si und unterschiedli­ che Bildsequenzen graphisch dar, so läßt sich das Ergeb­ nis gut durch eine stückweise lineare Kurve approximieren. Daher ist es möglich, das ungefähre Bildvolumen i für das i-te Bild durch adaptive, lineare Extrapolation oder Ex­ trapolation aus den Codierparametern Bi-1, σi, σi-1 sowie si und si-1 vorherzusagen. Es gilt dann für das vorhergesagte oder geschätzte Bildvolumen i for different values of σ i / s i and different image sequences, the result can be approximated well by a piece-wise linear curve. It is therefore possible to predict the approximate image volume i for the i-th image by adaptive, linear extrapolation or extrapolation from the coding parameters B i-1 , σ i , σ i-1 and s i and s i-1 . It then applies to the predicted or estimated image volume i

Vor der Codierung des i-ten Bildes sind bis auf si alle Codierparameter bekannt. Wählt man für Bi das Soll-Bildvo­ lumen BSi, so ist Gleichung (3) als Gleichung für die Unbekannte si zu verstehen, die angibt, mit welcher Quanti­ sierungsschrittweite si das i-te Bild zu codieren ist, damit sich als geschätztes Bildvolumen das Soll-Bildvolu­ men BSi ergibt. Bei der Codierung des ersten Bildes einer Sequenz wird die Schrittweite si zu 62 gewählt.Before coding the i-th picture, all coding parameters are known except for s i . If one chooses the target image volume BS i for B i , equation (3) is to be understood as an equation for the unknown s i , which specifies the quantization step size s i to be used to code the i-th image so that Estimated image volume gives the target image volume BS i . When coding the first image of a sequence, the step size s i is chosen to be 62.

Zu klären ist noch, wie die Steigung 2Si der Schätzgeraden und das Soll-Bildvolumen BSi zu bestimmen sind und wie der Quantisierer 1C einzustellen ist, wenn sich aus (3) rein rechnerisch für die Quantisierungsschrittweite ein Wert si ergibt, der in (I) nicht vorgesehen ist, der also nicht standardkompatibel ist. Die Schrittweite kann nämlich nach (I) nur einen geradzahligen Wert zwischen zwei und 62 annehmen.It still has to be clarified how the slope 2 S i of the estimation line and the target image volume BS i are to be determined and how the quantizer 1 C is to be set if a value s i results from (3) purely arithmetically for the quantization step size is not provided for in (I), which is therefore not compatible with standards. According to (I), the step size can only assume an even number between two and 62.

Für die ersten beiden Bilder einer Bildsequenz wird die Steigung der Schätzgeraden auf einen durch Erfahrung nahe­ gelegten Wert, nämlich 40 000 gesetzt, d. h., für S₁ und S₂ wird jeweils der Wert 20 000 gewählt. Zur Bestimmung der Steigung der Schätzgeraden für das (i+1)-ste Bild mit i < 2 wird zunächst geprüft, ob die BedingungFor the first two pictures of a picture sequence the Slope of the estimation line to one close by experience set value, namely 40,000 set, d. h., for S₁ and S₂ the value 20,000 is selected in each case. To determine the Slope of the estimation line for the (i + 1) -th picture with i < 2 is first checked whether the condition

erfüllt ist. Ist sie nicht erfüllt, wird Si+1 = Si gesetzt. Anderenfalls wird der Quotientis satisfied. If it is not fulfilled, S i + 1 = S i is set. Otherwise the quotient

errechnet. Der Wert der Hilfsvariablen S*i+1 entscheidet nun darüber, welcher Wert der (halben) Steigung Si+1 zugewiesen wird. Die Berechnung der Steigung Si+1 soll nun durch ein Pseudoprogramm dargestellt werden, das ein Fachmann ohne weiteres in ein Steuerprogramm für die Steuereinheit 3 umsetzen kann. In dem Pseudoprogramm werden bedingte An­ weisungen übergangen, falls die der Anweisung vorausgehen­ de Bedingung nicht erfüllt ist.calculated. The value of the auxiliary variable S * i + 1 now decides which value is assigned to the (half) slope S i + 1 . The calculation of the slope S i + 1 is now to be represented by a pseudo program which a person skilled in the art can easily convert into a control program for the control unit 3 . Conditional instructions are skipped in the pseudo program if the condition preceding the instruction is not met.

  • 1. Start! 1. Start!  
  • 2. Wenn die Ungleichung (4) nicht erfüllt ist, setze Si+1: = Si und springe nach 7!2. If the inequality ( 4 ) is not fulfilled, set S i + 1 : = S i and jump to 7!
  • 3. Berechne die Größe S*i+1 nach Gleichung (5)!3. Calculate the size S * i + 1 according to equation (5)!
  • 4. Wenn S*i+1 kleiner oder gleich 7*Si/8 ist, dann setze Si+1: = 7*Si/8 und springe nach 7!4. If S * i + 1 is less than or equal to 7 * S i / 8, then set S i + 1 : = 7 * S i / 8 and jump to 7!
  • 5. Wenn S*i+1 größer als 9*Si/8 ist, dann setze Si+1: = 9*Si/8 und springe nach 7!5. If S * i + 1 is greater than 9 * S i / 8, then set S i + 1 : = 9 * S i / 8 and jump to 7!
  • 6. Setze Si+1: = Si!6. Set S i + 1 : = S i !
  • 7. Ende!7. End!

Das Soll-Bildvolumen BSi für das i-te Bild wird durch den Pufferfüllstand Fi vor der Codierung des i-ten Bildes fest­ gelegt, und zwar nach der GleichungThe target image volume BS i for the i-th image is determined by the buffer fill level F i before the coding of the i-th image, specifically according to the equation

BSi = 5B₀/4 für BSi 5B₀/4
BSi = 3B₀/4 für BSi 3B₀/4 (6)
BSi = -F₁ + 2*FSi sonst,
BS i = 5B₀ / 4 for BS i 5B₀ / 4
BS i = 3B₀ / 4 for BS i 3B₀ / 4 (6)
BS i = -F₁ + 2 * FS i otherwise,

wobei FSi den Sollfüllstand des Pufferspeichers 6 bedeutet.where FS i means the target fill level of the buffer memory 6 .

Ähnlich wie die Berechnung der Steigung der Schätzgeraden wird nun auch die Berechnung des Sollfüllstandes FSi durch ein Pseudoprogramm erläutert. Zunächst wird FS₁ = 3200 bit gesetzt. Der Sollfüllstand wird möglichst klein gehalten, um die oben erwähnten Verzögerungszeiten klein zu halten. Deshalb enthält das Programm eine Zählvariable K, die die Anzahl der Bilder zählt, die zu einem Leerlauf des Puffer­ speichers 6 geführt hätten, bei denen also Stopfbits ein­ gefügt werden mußten. Diese Variable K wird vor Beginn der Codierung auf null gesetzt.Similar to the calculation of the slope of the estimation straight line, the calculation of the target fill level FS i is now explained by a pseudo program. First FS₁ = 3200 bit is set. The target level is kept as low as possible in order to keep the delay times mentioned above small. Therefore, the program contains a count variable K, which counts the number of images that would have led to an idle of the buffer memory 6 , in which therefore stuffing bits had to be inserted. This variable K is set to zero before coding begins.

  • 1. Start!1. Start!
  • 2. Wurden im Bild (i-1) Stopfbits eingefügt? Wenn nein, springe nach 5!2. Have stuff bits been inserted in the picture (i-1)? If not, jump to 5!
  • 3. Ist der Füllstand Fi größer oder gleich FSi-1 - B₀/4? Wenn nein, springe nach 8!3. Is the level F i greater than or equal to FS i-1 - B₀ / 4? If not, jump after 8!
  • 4. FSi := FSi-1 + B₀/8 K := 0; springe nach 8! 4. FS i : = FS i-1 + B₀ / 8 K: = 0; jump to 8!
  • 5. K := K + 1;5. K: = K + 1;
  • 6. K = 5? Wenn nein, springe nach 8!6. K = 5? If not, jump after 8!
  • 7. FSi := FSi-1 - B₀/8 K := 0;7. FS i : = FS i-1 - B₀ / 8 K: = 0;
  • 8. Ende!8. End!

Wie oben angedeutet, muß die Steuereinheit 3 für den Fall (der die Regel ist), daß sich aus der Gleichung (3) für si ein Wert ergibt, der nicht eine der geraden Zahlen von 2 bis 62 ist, eine weiter Entscheidung fällen. Es sei hier nochmals betont, daß mit si immer die über Gleichung (3) errechneten Werte sind. Im vorliegenden Beispiel wird nun folgendermaßen verfahren:As indicated above, the control unit 3 must make a further decision in the case (which is the rule) that equation (3) gives a value for s i that is not one of the even numbers from 2 to 62. It should be emphasized here again that with s i are always the values calculated using equation (3). In the present example, the procedure is as follows:

Es seiIt is

siL = 2*INT(si/2) und
siH = siL + 2 (6)
s iL = 2 * INT (s i / 2) and
s iH = s iL + 2 (6)

wobei mit INT(x) die größte ganze Zahl gemeint ist, die kleiner als x ist. siL und siH sind zulässige Schrittweiten nach (I), wenn sie nicht kleiner als 2 oder größer als 62 sind. Die Quantisierung mit der Schrittweite 2 wird jedoch vermieden - d. h. durch die Schrittweite 4 ersetzt - weil die kleinste Schrittweite fast unweigerlich zu einem Puf­ ferüberlauf führt.where INT (x) means the largest integer that is less than x. s iL and s iH are allowable increments according to (I) if they are not less than 2 or greater than 62. However, quantization with step size 2 is avoided - ie replaced by step size 4 - because the smallest step size almost inevitably leads to a buffer overflow.

Das i-te Bild soll nun mit den beiden Schrittweiten quan­ tisiert werden, die sich aus der Gleichung (6) ergeben. Bestimmt werden muß noch vor der Codierung des i-ten Bil­ des, welcher Anteil dieses Bildes mit siL und welcher mit siH quantisiert werden soll. Um diese Frage zu beantworten, werden zwei (positive) Gewichte aiH und aiL mit aiH + aiL = 1 derart bestimmt, daßThe i-th image should now be quantized with the two step sizes that result from equation (6). Before coding the i-th image, it must be determined which portion of this image is to be quantized with s iL and which portion with s iH . To answer this question, two (positive) weights a iH and a iL with a iH + a iL = 1 are determined such that

aiH * i(siH) + aiL * i(siL) = BSi (7)a iH * i (s iH ) + a iL * i (s iL ) = BS i (7)

wird. Die Gleichung (7) enthält die für siH und siL nach Gleichung (3) geschätzten Bildvolumina und das Soll-Bild­ volumen. Die Auflösung von (6) nach den Gewichten ergibt die gesuchten Bildanteile. Da ein Bild aus N = 12 Block­ gruppen (GOB′s) besteht, werden NL = INT(N*aiL) Blockgruppen mit der Schrittweite siL quantisiert und der Rest mit der Schrittweite siH. Die Auswahl der NL Blockgruppen erfolgt mit gleichförmiger Verteilung über das ganze Bild.becomes. Equation (7) contains the image volumes estimated for s iH and s iL according to equation (3) and the target image volume. The resolution of (6) according to the weights gives the image parts sought. Since an image consists of N = 12 block groups (GOB's), N L = INT (N * a iL ) block groups are quantized with the step size s iL and the rest with the step size s iH . The selection of the N L block groups is made with a uniform distribution over the whole picture.

In Fig. 2 ist auf der horizontalen Achse die Nummer der Bilder einer zu Testzwecken bekannten Bildsequenz ("Ale­ xis") von 108 Bildern aufgetragen. Auf der vertikalen Achse ist das PSNR (Peak Signal Noise Ratio) angegeben. Die obere Kurve zeigt das PSNR für eine Codierung nach der Erfindung und und die untere für eine Codierung mit Puf­ fersteuerung. Die Verbesserung mit einem Coder nach der Erfindung ist offensichtlich.In FIG. 2, the number of images of a known test purposes image sequence ( "Ale xis") is plotted of 108 images on the horizontal axis. The PSNR (peak signal noise ratio) is shown on the vertical axis. The upper curve shows the PSNR for coding according to the invention and the lower one for coding with buffer control. The improvement with a coder according to the invention is obvious.

Claims (6)

1. Coder zur segmentweisen Codierung eines Eingangssigna­ les (b) mit einem steuerbaren Quantisierer (1C) und einem Pufferspeicher (6), in dem im Betriebsfalle quantisierte und VLC-codierte Daten des Eingangssignales (b) zwi­ schengespeichert werden, gekennzeichnet durch, Mittel (2, 3, 4, 7), die dafür vorgesehen sind, eine einmali­ ge Einstellung des Quantisieres (1C) für ein zu codieren­ des Signalsegment derart zu schätzen, daß die Anzahl der Bits, die aufgrund der Codierung dieses Signalsegmentes in den Pufferspeicher (6) eingeschrieben wird, mit einer vor­ gegebenen Anzahl möglichst gut übereinstimmt.1. Coder for segment-wise coding of an input signal (b) with a controllable quantizer ( 1 C) and a buffer memory ( 6 ), in which quantized and VLC-coded data of the input signal (b) are temporarily stored, characterized by means ( 2 , 3 , 4 , 7 ), which are intended to estimate a one-time setting of the quantizer ( 1 C) for coding the signal segment in such a way that the number of bits resulting from the coding of this signal segment in the buffer memory ( 6 ) is registered as closely as possible with a given number. 2. Coder nach Anspruch 1, dadurch gekennzeichnet, daß für den Fall, in dem die geschätzte Einstellung des Quantisierers (1C) nicht standardkompatibel ist, Mittel (3) vorgesehen sind, mit denen diese Einstellung in zwei standardkompatible Einstellungen umgerechnet wird, und daß dann ein Teil des Segmentes mit der ersten Einstel­ lung und der zweite Teil mit der zweiten Einstellung des Quantisierers (1C) quantisiert wird.2. Coder according to claim 1, characterized in that for the case in which the estimated setting of the quantizer ( 1 C) is not standard-compatible, means ( 3 ) are provided with which this setting is converted into two standard-compatible settings, and that then part of the segment with the first setting and the second part with the second setting of the quantizer ( 1 C) is quantized. 3. Coder nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß Mittel (2) dafür vorgesehen sind, vor der Codierung eines Signalsegmentes dessen Aktivität zu bestimmen, die eine Funktion der Beträge aller zu codierenden Daten eines Signalsegmentes ist und die als Schätzparameter zur Schätzung der Einstellung des Quantisierers (1C) herange­ zogen wird.3. Coder according to claim 1 or 2, characterized in that means ( 2 ) are provided for the coding of a signal segment to determine its activity, which is a function of the amounts of all data to be coded in a signal segment and which are used as estimation parameters for estimating the Setting the quantizer ( 1 C) is used. 4. Coder nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß Mittel (2, 3) dafür vorgesehen sind, die Schätzung der Einstellung Quantisierers (1C) für das aktuelle Signal­ segment mit Hilfe von Codierparametern vorhergegangener Signalsegmente durchzuführen.4. Coder according to one of the preceding claims, characterized in that means ( 2 , 3 ) are provided for performing the estimation of the setting quantizer ( 1 C) for the current signal segment using coding parameters of previous signal segments. 5. Coder nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß Mittel (3, 1E) dafür vorgesehen sind, die VLC-Codie­ rung von Signalsegmenten solange zu verhindern, solange der der Füllstand des Pufferspeichers (6) über einem maximalen Füllstand liegt.5. Coder according to one of the preceding claims, characterized in that means ( 3 , 1 E) are provided for preventing the VLC coding of signal segments as long as the level of the buffer memory ( 6 ) is above a maximum level. 6. Coder nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß es sich bei dem Coder um einen Videocoder (1) handelt und daß es sich bei den Signalsegmenten um Videobilder oder um Differenzen von Videobildern (b) handelt.6. Coder according to one of the preceding claims, characterized in that the coder is a video encoder ( 1 ) and that the signal segments are video images or differences in video images (b).
DE4343450A 1993-12-20 1993-12-20 Coder for segment-wise coding of input signal, esp. for video telephone Withdrawn DE4343450A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4343450A DE4343450A1 (en) 1993-12-20 1993-12-20 Coder for segment-wise coding of input signal, esp. for video telephone

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4343450A DE4343450A1 (en) 1993-12-20 1993-12-20 Coder for segment-wise coding of input signal, esp. for video telephone

Publications (1)

Publication Number Publication Date
DE4343450A1 true DE4343450A1 (en) 1995-06-22

Family

ID=6505514

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4343450A Withdrawn DE4343450A1 (en) 1993-12-20 1993-12-20 Coder for segment-wise coding of input signal, esp. for video telephone

Country Status (1)

Country Link
DE (1) DE4343450A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996017491A2 (en) * 1994-12-02 1996-06-06 Philips Electronics N.V. Video editing buffer management
EP0836329A1 (en) * 1996-04-12 1998-04-15 Sony Corporation Image encoder, image encoding method and medium on which image encoding program is recorded
EP0848559A2 (en) * 1996-12-13 1998-06-17 Matsushita Electric Industrial Co., Ltd. Video coding and decoding method and apparatus
US6147627A (en) * 1994-09-22 2000-11-14 U.S. Philips Corporation Coder for segmented coding of an input signal using controllable quantization based on quantization step size and buffer fullness

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147627A (en) * 1994-09-22 2000-11-14 U.S. Philips Corporation Coder for segmented coding of an input signal using controllable quantization based on quantization step size and buffer fullness
WO1996017491A2 (en) * 1994-12-02 1996-06-06 Philips Electronics N.V. Video editing buffer management
WO1996017491A3 (en) * 1994-12-02 1996-08-29 Philips Electronics Nv Video editing buffer management
US5949487A (en) * 1994-12-02 1999-09-07 U.S. Philips Corporation Video editing buffer management
EP0836329A1 (en) * 1996-04-12 1998-04-15 Sony Corporation Image encoder, image encoding method and medium on which image encoding program is recorded
EP0836329A4 (en) * 1996-04-12 2002-09-04 Sony Corp Image encoder, image encoding method and medium on which image encoding program is recorded
US6535556B1 (en) 1996-04-12 2003-03-18 Sony Corporation Apparatus and method for encoding images and medium in which image encoding program has been recorded
EP1677546A1 (en) * 1996-04-12 2006-07-05 Sony Corporation Image encoding with buffer underflow prevention
EP0848559A2 (en) * 1996-12-13 1998-06-17 Matsushita Electric Industrial Co., Ltd. Video coding and decoding method and apparatus
EP0848559A3 (en) * 1996-12-13 2002-12-04 Matsushita Electric Industrial Co., Ltd. Video coding and decoding method and apparatus

Similar Documents

Publication Publication Date Title
DE10190285B4 (en) Method and system for processing compressed video signals
DE69116869T2 (en) DIGITAL IMAGE CODING WITH A RANDOM SCAN OF THE IMAGES
DE69015695T2 (en) Transformation coding facility.
DE69825811T2 (en) Motion compensation coding and coding method for high efficiency video coding by selective selection of past motion vectors instead of using motion vectors derived from motion estimation
DE69434668T2 (en) Adaptive coding and decoding method with variable length for image data
EP0201679B1 (en) Method for reducing the image data of digital television signals
DE69111264T2 (en) Improvements to systems for hybrid coding of a video signal.
DE2740945C3 (en) Method for the transmission of image signals with the aid of differential pulse code modulation (DPCM) and a controlled quantizer
DE69822607T2 (en) NONLINEAR QUANTIZER FOR VIDEO CODING
DE69031045T2 (en) Device for adaptive interframe prediction decoding of a video signal
DE69435000T2 (en) Picture coding device
DE69921108T2 (en) METHOD AND DEVICE FOR ADAPTIVELY CODING A VIDEO DATA STREAM
DE69635369T2 (en) The video coding apparatus
DE69212124T2 (en) Method and device for image coding
DE69816971T2 (en) VIDEO ENCODER WITH SCALING DEPENDENT VLC (VARIABLE LENGTH CODE) ENCODING
DE10296787B4 (en) Selective predication for intra-coding a video data block
EP0703711B1 (en) Video signal segmentation coder
DE3889939T2 (en) Method and means for coding and decoding an image signal.
DE10204617A1 (en) Methods and devices for compressing and decompressing a video data stream
DE69017838T2 (en) Device for coding images.
DE69828144T2 (en) METHOD AND DEVICE FOR VIDEO CODING AND DECODING
DE69928494T2 (en) VIDEO COMPRESSION
DE10218541A1 (en) Context-adaptive binary arithmetic video coding, e.g. for prediction error matrix spectral coefficients, uses specifically matched context sets based on previously encoded level values
DE69210963T2 (en) Method for image coding a video signal
DE3926154A1 (en) SIGNAL PROCESSING SYSTEM

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee