WO2000065841A1 - Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse - Google Patents

Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse Download PDF

Info

Publication number
WO2000065841A1
WO2000065841A1 PCT/DE2000/001004 DE0001004W WO0065841A1 WO 2000065841 A1 WO2000065841 A1 WO 2000065841A1 DE 0001004 W DE0001004 W DE 0001004W WO 0065841 A1 WO0065841 A1 WO 0065841A1
Authority
WO
WIPO (PCT)
Prior art keywords
transformation
coefficient matrix
transformation coefficient
coefficients
area
Prior art date
Application number
PCT/DE2000/001004
Other languages
English (en)
French (fr)
Inventor
Jürgen PANDEL
Gero BÄSE
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2000065841A1 publication Critical patent/WO2000065841A1/de

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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Definitions

  • the invention relates to methods and arrangements for the computer-assisted reading out or storage of transformation coefficients.
  • [1] discloses a method for reading out transformation coefficients, which is referred to as the Zig-Zag scan method.
  • the method is used in the context of coding a digitized image.
  • the digitized image has pixels to which coding information is assigned.
  • Coding information is understood to mean brightness information (luminance information) or color information (chrominance information).
  • the picture elements are grouped, for example, into picture blocks of 8 * 8 picture elements or also 16 * 16 picture elements and the picture blocks are subjected to a discrete cosine transformation (DCT) as transformation coding.
  • DCT discrete cosine transformation
  • a transformation coding is further understood to be a spectral transformation, e.g. the DCT, the Discrete Sine Transformation or the Discrete Fourier Transformation.
  • the result of the transformation are transformation coefficients that are quantized and then stored in a two-dimensional transformation coefficient matrix the size of the block being processed.
  • the transformation coefficients are read from the transformation coefficient matrix in the following order:
  • the reading begins with the transformation coefficient, which describes the DC component of the coding information contained in the image block and is located on the upper left edge of the transformation coefficient matrix.
  • the further transformation coefficients are read out in the order in which they are when the transformation coefficient matrix progresses along the following path. It starts with a step around a transformation coefficient in the direction of the line at the top of the transformation coefficient matrix. The path continues, directed parallel to the diagonal of the transformation coefficient matrix in the direction of the left column of the transformation coefficient matrix. After a step around a transformation coefficient in the direction of the left column, the path continues, directed parallel to the diagonal of the transformation coefficient matrix in the direction of the top line of the transformation coefficient matrix. The path is continued in a corresponding manner described above until the last transformation coefficient at the lower right end of the transformation coefficient matrix has been read out.
  • the transform coefficients read out are calculated using run-length coding and entropy coding, e.g. a Huffman coding.
  • the transforma- on coefficients taking into account the order, which is determined by the Zig-Zag-San method and the run length coding, stored in a transformation coefficient matrix to be reconstructed.
  • the image is then reconstructed by inverse quantization and inverse transformation coding of the individual transformation coefficients in order to reconstruct individual image blocks.
  • the image is reconstructed from the reconstructed image blocks using a motion compensation method.
  • the known method has a considerable disadvantage, in particular with regard to the bandwidth required to transmit the transformation coefficients.
  • the invention is therefore based on the problem of specifying methods and arrangements for reading out or storing transformation coefficients from or into a transformation coefficient matrix, with which coding of the transformation coefficients with a reduced bandwidth requirement is made possible.
  • a method for the computer-aided reading out of transformation coefficients which are assigned to elements that describe a physical object, from a stored multidimensional transformation coefficient matrix, at least one area within the transformation coefficient matrix is selected. Only transformation coefficients that are in the selected area are read out.
  • a method for computer-aided storage of transformation coefficients which are assigned to elements that describe a physical object, in a multidimensional transformation coefficient matrix to be reconstructed, the storage takes place depending on an area specification with which it is indicated from which selected area within the transformation coefficient matrix the Transformation coefficients have been read out.
  • An arrangement for reading out transformation coefficients which are assigned to elements which describe a physical object from a stored multidimensional transformation coefficient matrix comprises a processor which is set up in such a way that the following steps can be carried out:
  • At least one area within the transformation coefficient matrix is selected.
  • An arrangement for storing transformation coefficients, which are assigned to elements that describe a physical object, in a multi-dimensional transformation coefficient matrix to be reconstructed, contains a processor which is set up in such a way that the following steps can be carried out: the storage takes place depending on an area specification, with which it is specified from which selected area within the transformation coefficient matrix the transformation coefficients have been read out.
  • a computer program product comprises a computer-readable storage medium on which a program is stored which enables a computer after it has been stored in a memory of the
  • At least one area within the transformation coefficient matrix is selected.
  • 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 reading transformation coefficients, which are assigned to elements which describe a physical object, from a stored multi-dimensional ensional transformation coefficient matrix:
  • At least one area within the transformation coefficient matrix is selected.
  • Another computer program product includes 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 storing transformation coefficients which are associated with elements which are physical Describe the object in a multi-dimensional transformation coefficient matrix to be reconstructed: The storage takes place depending on an area specification, with which it is specified from which selected area within the transformation coefficient matrix the transformation coefficients have been read out.
  • a program is stored on a further 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 storing transforma- tion coefficients, which are assigned to elements that describe a physical object, in a multi-dimensional transformation coefficient matrix to be reconstructed: the storage takes place depending on an area specification, with which it is indicated from which selected area within the transformation coefficient matrix the transformation coefficients have been read out.
  • An advantage of the invention can be seen in particular in the fact that, in the context of coding the transformation coefficients, a considerable saving in the bandwidth required for coding the image data is achieved compared to the known procedure.
  • the invention can be implemented both in software and in hardware, for example using a special electrical circuit.
  • the physical object can be an image with pixels, each of which is assigned coding information.
  • the area can be selected from a set of predetermined stored areas.
  • the content of the image is analyzed and the selection of the area depends on the image content. In this way it can be ensured that, depending on the image content, an area is selected in which most of the transformation coefficients are concentrated.
  • the content of the image is analyzed.
  • a transform coding is selected from a set of predetermined stored transform codings depending on the image content and the transform coefficient matrix is formed using the transform coding.
  • the selected transformation coding is designed such that the transformation coefficients formed according to the transformation coding are essentially in the selected area of the transformation coefficient matrix. In this way it is ensured that the entire important image information in the form of the transformation coefficients is contained in the area.
  • the range can be selected depending on the fill level of an output buffer.
  • the transformation coefficients can be read out from the area of the transformation coefficient matrix in accordance with a zigzag readout method (zigzag scan method).
  • the transformation coefficients can be read from the area of the transformation coefficient matrix in the following order:
  • the transformation coefficients are read out along a first direction of the transformation coefficient matrix and / or along a second direction of the transformation coefficient matrix until at least in one direction a transformation coefficient is read that has a predetermined value or falls below a predetermined value,
  • the invention is preferably used for coding and / or decoding a digitized image.
  • Figure 1 is a sketch showing the order in which the
  • FIG. 2 shows an arrangement of two computers, a camera and a screen, with which the coding, transmission and decoding and display of the image data take place;
  • FIG. 3 shows a sketch of a device for block-based coding of a digitized image
  • Figure 4 is a sketch showing the order in which the
  • Figure 5 is a sketch showing the order in which the
  • FIG. 6 shows a sketch of a transformation coefficient matrix
  • FIGS. 7a to 7d are sketches of a transformation coefficient matrix with areas that can be selected in order to determine which transformation coefficients are to be read out.
  • FIG. 2 shows an arrangement with two computers 202, 208 and a camera 201.
  • a camera 201 is connected to a first computer 202 via a
  • 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.
  • 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 tion on the screen 212 of the first computer 202 is usually only carried out for control purposes.
  • input units are provided, preferably a keyboard 214 or 215, and a computer mouse 216 or 217.
  • the image data 204 which are transmitted from the camera 201 via the line 219 to the first computer 202, 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 link 207, are image data are in the spectral range.
  • the decoded image data are displayed on the screen 213.
  • FIG. 3 shows a sketch of an arrangement for carrying out a block-based image coding method according to the H.263 standard (see [1]).
  • a video data stream to be encoded with chronologically successive digitized images is fed to an image coding unit 301.
  • the digitized images are divided into macro blocks 302, each macro block containing 16 ⁇ 16 pixels.
  • the macro block 302 comprises 4 image blocks 303,
  • each image block containing 8x8 pixels to which luminance values (brightness values) are assigned.
  • each macroblock 302 comprises two chrominance blocks 307 and 308 with chrominance values (color difference values) assigned to the pixels.
  • the image blocks are fed to a transformation coding unit 309.
  • values to be encoded are subtracted from image blocks of temporally preceding images from the image blocks currently to be encoded; only the difference formation information 310 of the transformation coding unit (discrete cosine transformation, DCT) is used.
  • DCT discrete cosine transformation
  • 309 fed the current macroblock 302 is communicated to a motion estimation unit 329 via a connection 334.
  • transformation coefficients 311 are formed for the picture blocks or difference picture blocks to be coded and fed to a quantization unit 312.
  • Quantized transformation coefficients 313 are stored in a transformation coefficient matrix 100 (see FIG. 6).
  • the transformation coefficients are numbered based on the Zig-Zag scan method and denoted from 1 to 64.
  • the transformation coefficient matrix 100 has eight rows 701, 702, 703, 704, 705, 706, 707, 708 and eight columns 711, 712, 713, 714, 715, 716, 717, 718.
  • FIGS. 7a to 7d show the transformation coefficient matrix 100, in which different areas are marked in each case.
  • a first area 700 comprises the transformation coefficients of the three upper lines 701, 702, 703 of the transformation coefficient matrix 100 (cf. FIG. 7a).
  • a second area 710 comprises the transformation coefficients of the two left columns 711, 712 (cf. FIG. 7b).
  • a third area 720 comprises the transformation coefficients of the intersection of the four upper lines 701, 702, 703, 704 and the four left columns 711, 712, 713, 714 (see Fig. 7c).
  • a fourth area 730 is delimited by a diagonal of the transformation coefficient matrix 100 (cf. FIG. 7d).
  • the different areas have the property that they each contain the transformation coefficients with the highest energy for different image contents.
  • the first area 700 is particularly suitable for an image or a part of an image in which a vertical structure is concentrated, for example the representation of a fence or a high-rise, i.e. a structure in which the luminance information or
  • the second region 710 is particularly suitable for an image or a part of an image in which a horizontal structure is concentrated.
  • the shape of the third region 720 is particularly suitable.
  • the fourth area 730 is particularly suitable if the area is to be adapted to the energy distribution of the transformation coefficients within the transformation coefficient matrix 100.
  • the areas 700, 710, 720, 730 are stored in the memory. An area is selected before the transformation coefficients are read out and only the transformation coefficient matrix that is in the selected area is then read out. The reading takes place according to the Zig-Zag scan method, however limited to the selected area.
  • the transformation coefficients are descriptively read out in ascending order within the selected range while maintaining the above nomenclature.
  • the read transformation coefficients are subjected to run-length coding and a Huffman coding as entropy coding in an entropy coding unit.
  • the entropy-coded transformation coefficients and an area specification are transmitted as coded image data 317 to a decoder via a channel, preferably a line or a radio link.
  • the area information indicates the shape of the selected area. This signals to the decoder in which area the received transformation coefficients are to be stored in the transformation coefficient matrix to be reconstructed.
  • the selected quantized transform coefficients 313 are also fed to a reverse path.
  • An inverse quantization of the quantized spectral coefficients 313 takes place in the inverse quantization unit 315. Transformation coefficients 318 obtained in this way are fed to an inverse transformation coding unit 319 (inverse discrete cosine transformation, IDCT). Reconstructed coding values (also differential coding values) 320 are fed to an adder 321 in the differential image mode. The adder 321 also receives coding values of an image block which result from a temporally preceding image after motion compensation has already been carried out. Reconstructed image blocks 322 are formed with the adder 321 and stored in an image memory 323. Chrominance values 324 of the reconstructed image blocks 322 are fed from the image memory 323 to a motion compensation unit 325.
  • IDCT inverse discrete cosine transformation
  • an interpolation takes place in an interpolation unit 327 provided for this purpose.
  • the interpolation is preferably used to quadruple the number of brightness values contained in the respective image block.
  • All brightness values 328 are supplied to both the motion compensation unit 325 and the motion estimation unit 329.
  • the motion estimation unit 329 also receives the image blocks of the macro block to be coded in each case (16x16 pixels) via the connection 334. In the motion estimation unit 329, the motion estimation takes place taking into account the interpolated brightness values or color values ("motion estimation on a half-pixel basis").
  • the result of the motion estimation is a motion vector 330, by means of which a local shift of the selected macroblock from the temporally preceding image to the macroblock 302 to be coded is expressed.
  • Both brightness information and chrominance information relating to the macroblock determined by the motion estimation unit 329 are shifted by the motion vector 330 and subtracted from the coding values of the macroblock 302 (see data path 331).
  • the result of the motion estimation is thus the motion vector 330 with two motion vector components, a first motion vector component BV X and a second motion vector component BVy along the first direction x and the second direction y:
  • the coded image data 317 are received and stored in the decoder.
  • the decoder has the same structure as the reverse path of the encoder, with the difference that an inverse entropy coding is provided at the beginning of the decoding.
  • the quantized transformation coefficients 313 are available, which are written into a transformation coefficient matrix to be reconstructed in the order according to the Zig-Zag scan, i.e. be saved so that a correct reconstruction of the image can take place.
  • the received range specification is used, according to which the decoder carries out the inverse Zig-Zag scan method for writing in the transformation coefficients.
  • the transformation coefficients stored in the reconstructed transformation coefficient matrix are inversely quantized and subjected to inverse transformation coding.
  • the image is reconstructed for the individual image blocks using a motion compensation method.
  • the areas 700, 710, 720, 730 are not limited to the specific number of rows or columns, as described in the exemplary embodiment shown above. They can easily be changed according to the requirements, for example, on the quality of the image to be encoded. Another shape of an area can also be used if, for example, a shape is particularly suitable for a certain image content. Furthermore, if the image content is analyzed appropriately, a plurality of regions can also be selected for coding a part of the image in each case, for example if predominantly horizontal structures are present in a first image region and predominantly vertical structures in a second image region.
  • the image areas can correspond to the available bandwidth for the transmission of the image data, for example represented by a fill level of an output buffer of the encoder when encoding a sequence of
  • Images can be selected variably.
  • the first area 700 when the first area 700 is selected, it can be expanded or shortened by one or more lines, depending on the fill level of the output buffer. The same applies to the expansion or reduction of columns in the second area 710, etc.
  • a transformation coding adapted for the respective area can also be used when a area is selected.
  • an adapted transformation coding is to be understood as a transformation coding, when applied to the pixels of the image, the transformation coefficients are concentrated essentially in an area within the transformation coefficient matrix that corresponds to the selected area.
  • the following adapted first transformation coding is suitable for the first region 700:
  • the following adapted second transformation coding is suitable for the second area 710:
  • the following adapted third transformation coding is suitable for the third area 720:
  • quantized transformation coefficients 313 can be read out from the transformation coefficient matrix 100 in accordance with the sequence shown in FIG.
  • the reading out of the transformation coefficient matrix 100 begins with the reading out of a first transformation coefficient 102, with which the direct component of the coding information is described, which are assigned to the pixels of the processed image block.
  • the first transformation coefficient is located in the upper left corner of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along a first line 103 of the transformation coefficient matrix 100 until a transformation coefficient 104 is read which has the quantized value “zero”.
  • the transformation coefficient 101 with the value "zero" (denoted by 104 in FIG. 1) is encoded as a zero symbol with which an end of a branch is indicated.
  • the further transformation coefficients 106, 107 of the first line 103 which represent higher frequencies than the transformation coefficient 104 with the value zero, are no longer read out. This procedure is represented by a first path 105 in FIG.
  • transformation coefficients 101 are read out along a first column 110 of the transformation coefficient matrix 100 until a transformation coefficient 101 is read out which has the quantized value "zero" (designated 111 in FIG. 1).
  • the transformation coefficient 111 with the value "zero” is also encoded as a zero symbol.
  • the further transformation coefficients 112, 113 of the first column 110, which represent higher frequencies than the transformation coefficient 111 with the value zero, are no longer read out. This procedure is represented by a second path 114 in FIG.
  • the further transformation coefficients along the corresponding diagonal path 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, which represent higher frequencies than the respective transformation coefficient 132, 133, 134, 135, 136, 137, 138, 139, 140 with the value zero are no longer read out.
  • the transformation coefficients 132, 133, 134, 135, 136, 137, 138, 139, 140 with the value zero are also encoded as a zero symbol.
  • the reading out of the transformation coefficient matrix 100 begins with the reading out of the first transformation coefficient 102.
  • the first transformation coefficient is located in the upper left corner of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the first line 103 of the transformation coefficient matrix 100 until a transformation coefficient 104 is read out which has the quantized value “zero”.
  • the transform coefficient 101 with the value "zero” is encoded as a zero symbol with which an end of a branch is indicated along a direction.
  • the further transformation coefficients 106, 107 of the first line 103, which represent higher frequencies than the transformation coefficient 104 with the value zero, are no longer read out. This procedure is represented by a first path 105 in FIG.
  • transformation coefficients 101 along a first column 110 of the transformation coefficient matrix 100 read out until a transformation coefficient 111 having the quantized value "zero" is read out.
  • the transformation coefficient 111 with the value "zero” is also encoded as a zero symbol.
  • the further transformation coefficients 112, 113 of the first column 110, which represent higher frequencies than the transformation coefficient 111 with the value zero, are no longer read out. This procedure is represented by a second path 114 in FIG. 4.
  • a second transformation coefficient 401 is read out, which is located on the main diagonal 402 of the transformation coefficient matrix 100 closest to the first transformation coefficient 102, that is to say in a second row 410 and a second column 411 of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the second line 410 until a transformation coefficient 140 is read out which has the quantized value “zero”.
  • the further transformation coefficients 141, 412 of the second line 410 which represent higher frequencies than the transformation coefficient 140 with the value zero, are no longer read out. This procedure is represented by a third path 413 in FIG. 4.
  • transformation coefficients 101 along the second column 411 are read out until a transformation coefficient 131 is read which has the quantized value “zero”.
  • the further transformation coefficient 414 of the second column 411 which represents a higher frequency than the transformation coefficient 131 with the value zero, is no longer read out.
  • This procedure is represented by a fourth path 415 in FIG. 4.
  • a third transformation coefficient 420 is read out, which is located on the main diagonal 402 of the transformation coefficient matrix 100 closest to the second transformation coefficient 401, that is to say in a third row 421 and a third column 422 of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the third line 421 until a transformation coefficient 139 is read out which has the quantized value "zero".
  • the further transformation coefficients 423, 424 of the third line 421, which represent higher frequencies than the transformation coefficient 139 with the value zero, are no longer read out. This procedure is represented by a fifth path 425 in FIG. 4.
  • transformation coefficients 101 are read out along the third column 422 until a transformation coefficient 133 is read out which has the quantized value "zero".
  • the further transformation coefficients 132, 426 of the third column 422, which represent higher frequencies than the transformation coefficient 133 with the value zero, are no longer read out. This procedure is represented by a sixth path 427 in FIG.
  • a fourth transformation coefficient 430 is read out, which is located on the main diagonal 402 of the transformation coefficient matrix 100 closest to the third transformation coefficient 420, that is to say in a fourth row 431 and a fourth column 432 of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the fourth line 431 until a transformation coefficient 137 is read out, which has the quantized value "zero".
  • the further transformation coefficients 138, 433, 434 of the fourth line 431, which represent higher frequencies than the transformation coefficient 137 with the value zero, are no longer read out. This procedure is represented by a seventh path 435.
  • transformation coefficients 101 are read out along the fourth column 432 until a transformation coefficient 134 is read out which has the quantized value “zero”.
  • the further transformation coefficients 436, 437 of the fourth column 432, which represent higher frequencies than the transformation coefficient 134 with the value zero, are no longer read out. This procedure is represented by an eighth path 438.
  • a fifth transformation coefficient 440 is read out, which is located on the main diagonal 402 of the transformation coefficient matrix 100 closest to the fourth transformation coefficient 430, that is to say in a fifth row 441 and a fifth column 442 of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the fifth line 441 until a transformation coefficient is read which has the quantized value "zero". Since there are no transformation coefficients 101 with the value zero in the fifth line 441 in the present case, all the transformation coefficients 101 of the fifth line 441 are read out. This procedure is represented by a ninth path 443.
  • transformation coefficients 101 are read out along the fifth column 442 until a transformation coefficient 135 is read out, which has the quantized value "zero".
  • the further transformation coefficients 444, 445 of the fifth column 442, which represent higher frequencies than the transformation coefficient 135 with the value zero, are no longer read out. This procedure is represented by a tenth path 446.
  • a sixth transformation coefficient 136 on the main diagonal 402 of the transformation coefficient matrix 100 and closest to the fifth transformation coefficient 440 itself has the quantized value zero.
  • the sixth transformation coefficient 136 thus forms, as a zero symbol, the last transformation coefficient read out of the transformation coefficient matrix 100 according to the second exemplary embodiment.
  • Fig. 5 shows another alternative.
  • the reading out of the transformation coefficient matrix 100 begins with the reading out of the first transformation coefficient 102.
  • the first transformation coefficient is located in the top left corner of the transformation coefficient matrix 100.
  • transformation coefficients 101 are read out along the first line 103 of the transformation coefficient matrix 100 until a transformation coefficient 104 is read which has the quantized value "zero".
  • the further transformation coefficients 106, 107 of the first line 103 which represent higher frequencies than the transformation coefficient 104 with the value zero, become no longer read out. This procedure is represented by the first path 105 in FIG. 5.
  • transformation coefficients 101 are read out along the first column 110 of the transformation coefficient matrix 100 until a transformation coefficient 111 is read which has the quantized value “zero”.
  • the further transformation coefficients 112, 113 of the first column 110 which represent higher frequencies than the transformation coefficient 111 with the value zero, are no longer read out. This procedure is represented by the second path 114.
  • the second transformation coefficient 401, the third transformation coefficient 420, the fourth transformation coefficient 430, the fifth transformation coefficient 440 and the sixth transformation coefficient 136 are read out along the main diagonals 402.
  • transformation coefficients 101 are read out along the second line 410 until a transformation coefficient 140 is read out which has the quantized value “zero”.
  • the further transformation coefficients 141, 412 of the second line 410 are no longer read out. This procedure is represented by the third path 413.
  • transformation coefficients 101 become along the fourth line
  • the remaining sequence of reading out according to the third exemplary embodiment is symbolically represented in FIG. 5 by further paths 507, 508, 509, 510, 511 and 512.
  • the procedures for reading out the transformation coefficients can be combined with one another in any way.
  • Another alternative relates to reading the transformation coefficients from the matrix in accordance with the tree structure described above. It is, for example, a densely populated one Transformation coefficient matrix make sense not to stop reading in a branch of the tree after a transformation coefficient with the value zero. In this case, a distinction is made between a zero symbol after which the reading is interrupted and a zero symbol after which the reading is not interrupted.

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

Bei einem Verfahren zum rechnergestützten Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix, wird mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix ausgewählt. Es werden nur Transformationskoeffizienten ausgelesen, die sich in dem ausgewählten Bereich befinden.

Description

Beschreibung
VERFAHREN UND ANORDNUNG ZUM RECHNERGESTÜTZTEN AUSLESEN BZW SPEICHERN VON TRANSF ORMATIONSKOEFFIZIENTEN SOWIE COMPUTERPROGRAMM-ERZEUGNISSE
Die Erfindung betrifft Verfahren und Anordnungen zum rechnergestützten Auslesen bzw. Speichern von Transformationskoeffi- zienten.
Solche Verfahren und solche Anordnungen sind aus [1] bekannt.
Aus [1] ist ein Verfahren zum Auslesen von Transformationskoeffizienten bekannt, das als Zig-Zag-Scan-Verfahren be- zeichnet wird, bekannt. Das Verfahren wird im Rahmen der Codierung eines digitalisierten Bildes eingesetzt.
Das digitalisierte Bild weist Bildpunkte auf, denen Codierungsinformation zugeordnet ist.
Unter Codierungsinformation ist Helligkeitsinformation (Lumi- nanzinformation) oder Farbinformation (Chrominanzinformation) zu verstehen.
Die Bildpunkte werden beispielsweise in Bildblöcke von 8 * 8 Bildpunkten oder auch 16 * 16 Bildpunkten gruppiert und die Bildblöcke werden einer Diskreten Cosinus Transformation (DCT) als Transformationscodierung unterzogen.
Unter einer Transformationscodierung ist im weiteren eine Spektraltransformation zu verstehen, z.B. die DCT, die Diskrete Sinus Transformation oder auch die Diskrete Fourier Transformation.
Ergebnis der Transformation sind Transformationskoeffizienten, die quantisiert werden und anschließend in einer zweidi- mensionalen Transformationskoeffizientenmatrix gespeichert werden, die in ihrer Größe der Größe des bearbeiteten Blockes entspricht .
Aus der Transformationskoeffizientenmatrix werden die Trans- formationskoeffizienten gemäß folgender Reihenfolge ausgelesen:
Das Auslesen beginnt mit dem Transformationskoeffizienten, der den Gleichanteil der in dem Bildblock enthaltenen Codierungsinformation beschreibt und sich am linken oberen Rand der Transformationskoeffizientenmatrix befindet. Die weiteren Transformationskoeffizienten werden gemäß der Reihenfolge ausgelesen, wie sie sich bei Fortschreiten der Transformationskoeffizientenmatrix entlang folgenden Weges befinden. Es wird begonnen mit einem Schritt um einen Transformations- koeffizienten in Richtung der Zeile am oberen Rand der Transformationskoeffizientenmatrix. Der Weg setzt sich fort, gerichtet parallel zu der Diagonalen der Transformationskoeffizientenmatrix in Richtung der linken Spalte der Transformationskoeffizientenmatrix. Nach einem Schritt um einen Transfor- mationskoeffizienten in Richtung der linken Spalte setzt sich der Weg fort, gerichtet parallel zu der Diagonalen der Transformationskoeffizientenmatrix in Richtung der obersten Zeile der Transformationskoeffizientenmatrix. Der Weg wird in entsprechender, oben beschriebener Weise fortgesetzt, bis der letzte Transformationskoeffizient am rechten unteren Ende der Transformationskoeffizientenmatrix ausgelesen worden ist.
Es werden immer alle Transformationskoeffizienten aus der Transformationskoeffizientenmatrix gelesen.
Die ausgelesenen Transformationskoeffizienten werden unter Verwendung einer Lauflängencodierung (Run-Length Coding) und einer Entropiecodierung, z.B. einer Huffman-Codierung codiert.
Im Rahmen der Decodierung des codierten Bildes, also der Rekonstruktion des codierten Bildes, werden die Transformati- onskoeffizienten unter Berücksichtigung der Reihenfolge, die durch das Zig-Zag-San-Verfahren und der Lauflängencodierung festgelegt ist, in einer zu rekonstruierenden Transformationskoeffizientenmatrix gespeichert .
Anschließend erfolgt die Rekonstruktion des Bildes durch in- verse Quantisierung und inverse Transformationscodierung der einzelnen Transformationskoeffizienten, um einzelne Bildblök- ke zu rekonstruieren.
Aus den rekonstruierten Bildblöcken wird unter Verwendung eines Bewegungskompensationsverfahrens das Bild rekonstruiert.
Das bekannte Verfahren weist insbesondere hinsichtlich der zur Übertragung der Transformationskoeffizienten erforderlichen Bandbreite einen erheblichen Nachteil auf.
Somit liegt der Erfindung das Problem zugrunde, Verfahren sowie Anordnungen zum Auslesen bzw. Speichern von Transfor ati- onskoeffizienten aus bzw. in eine Transformationskoeffizientenmatrix anzugeben, mit denen eine Codierung der Transformationskoeffizienten mit verringertem Bandbreitenbedarf ermöglicht wird.
Das Problem wird durch die Verfahren, die Anordnungen sowie die Computer-Erzeugnisse und die computerlesbaren Speichermedien mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst.
Bei einem Verfahren zum rechnergestützten Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix, wird mindestens ein Bereich innerhalb der Transformations- koeffizientenmatrix ausgewählt. Es werden nur Transformationskoeffizienten ausgelesen, die sich in dem ausgewählten Bereich befinden. Bei einem Verfahren zum rechnergestützten Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix, erfolgt das Speichern abhängig von einer Bereichsanga- be, mit der angegeben wird, aus welchem ausgewählten Bereich innerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
Eine Anordnung zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix, umfaßt einen Prozessor, der derart eingerichtet ist, daß folgende Schritte durchführbar sind:
• mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix wird ausgewählt,
• nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
Eine Anordnung zum Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensio- nale Transformationskoeffizientenmatrix, enthält einen Prozessor, der derart eingerichtet ist, daß folgende Schritte durchführbar sind: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich in- nerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
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 zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix:
• mindestens ein Bereich innerhalb der Transformationskoeffi- zientenmatrix wird ausgewählt,
• nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
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 zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdi- ensionalen Transformationskoeffizientenmatrix:
• mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix wird ausgewählt,
*• nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
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 durchzuführen zum Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich innerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
Auf einem weiteren Computerlesbares 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 zum Speichern von Transforma- tionskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich innerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
Ein Vorteil der Erfindung ist insbesondere darin zu sehen, daß im Rahmen einer Codierung der Transformationskoeffizienten gegenüber der bekannten Vorgehensweise eine erhebliche Einsparung benötigter Bandbreite zur Codierung der Bilddaten erreicht wird.
Dies ist insbesondere darauf zurückzuführen, daß nur noch die Transformationskoeffizienten entropiecodiert und übertragen werden müssen, die sich in dem ausgewählten Bereich befinden. Außerhalb des Bereichs liegende Transformationskoeffizienten werden nicht entropiecodiert und nicht übertragen.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen.
Die im weiteren beschriebenen Weiterbildungen beziehen sich sowohl auf die Verfahren, die Anordnungen sowie die Computerprogramm-Erzeugnisse und die computerlesbaren Speichermedien.
Die Erfindung kann sowohl in Software als auch in Hardware, beispielsweise unter Verwendung einer speziellen elektrischen Schaltung, realisiert werden.
In einer Weiterbildung werden mehrere Bereiche innerhalb der Transformationskoeffizientenmatrix ausgewählt. Es werden nur Transformationskoeffizienten ausgelesen, die sich in den ausgewählten Bereichen befinden. Das physikalische Objekt kann ein Bild mit Bildpunkten sein, denen jeweils Codierungsinformation zugeordnet ist.
Der Bereich kann aus einer Menge vorgegebener gespeicherter Bereiche ausgewählt werden.
In einer weiteren Ausgestaltung wird der Inhalt des Bildes analysiert und die Auswahl des Bereichs erfolgt abhängig von dem Bildinhalt. Auf diese Weise kann sichergestellt werden, daß abhängig vom Bildinhalt ein Bereich ausgewählt wird, in dem die meisten Transformationskoeffizienten konzentriert sind.
Gemäß einer weiteren bevorzugten Weiterbildung wird der In- halt des Bildes analysiert. Eine Transformationscodierung wird aus einer Menge vorgegebener gespeicherter Transformationscodierungen abhängig von dem Bildinhalt ausgewählt und die Transformationskoeffizientenmatrix wird unter Verwendung der Transformationscodierung gebildet .
In einer weiteren Ausgestaltung ist es vorgesehen, daß die ausgewählte Transformationscodierung derart ausgestaltet ist, daß sich die gemäß der Transformationscodierung gebildeten Transformationskoeffizienten im wesentlichen in dem ausge- wählten Bereich der Transformationskoeffizientenmatrix befinden. Auf diese Weise wird gewährleistet, daß in dem Bereich möglichst die gesamte wichtige Bildinformation in Form der Transformationskoeffizienten enthalten ist.
Der Bereich kann abhängig von einem Füllstand eines Ausgangspuffers ausgewählt werden.
Die Transformationskoeffizienten können aus dem Bereich der Transformationskoeffizientenmatrix gemäß einem Zick-Zack- Ausleseverfahren (Zig-Zag-Scan-Verfahren) ausgelesen werden. Die Transformationskoeffizienten können aus dem Bereich der Transformationskoeffizientenmatrix gemäß folgender Reihenfolge ausgelesen werden:
• es werden solange die Transformationskoeffizienten entlang einer ersten Richtung der Transformationskoeffizientenmatrix und/oder entlang einer zweiten Richtung der Transformationskoeffizientenmatrix ausgelesen, bis zumindest in einer Richtung ein Transformationskoeffizient ausgelesen wird, der einen vorgegebenen Wert aufweist, bzw. einen vor- gegebenen Wert betragsmäßig unterschreitet,
• ausgehend von den Positionen der ausgelesenen Transformationskoeffizienten innerhalb der Transformationskoeffizientenmatrix werden weitere Transformationskoeffizienten entlang einer dritten Richtung und/oder entlang einer zweiten Richtung der Transformationskoeffizientenmatrix ausgelesen. Durch diese Ausgestaltung wird eine weitere Reduktion des Bandbreitenbedarfs zur Codierung eines Bildes erreicht.
Die Erfindung wird bevorzugt zu Codierung und/oder Decodie- rung eines digitalisierten Bildes eingesetzt.
Ein Ausführungsbeispiel der Erfindung ist in den Figuren dargestellt und wird im weiteren näher erläutert.
Es zeigen
Figur 1 eine Skizze, in der die Reihenfolge, in der die
Transformationskoeffizienten gemäß einem ersten Ausführungsbeispiel ausgelesen werden, beschrieben ist;
Figur 2 eine Anordnung zweier Rechner, einer Kamera und eines Bildschirms, mit denen die Codierung, die Übertragung sowie die Decodierung und Darstellung der Bilddaten erfolgen;
Figur 3 eine Skizze einer Vorrichtung zur blockbasierten Codierung eines digitalisierten Bildes; Figur 4 eine Skizze, in der die Reihenfolge, in der die
Transformationskoeffizienten gemäß einem zweiten Ausführungsbeispiel ausgelesen werden, beschrieben ist;
Figur 5 eine Skizze, in der die Reihenfolge, in der die
Transformationskoeffizienten gemäß einem dritten Ausführungsbeispiel ausgelesen werden, beschrieben ist;
Figur 6 eine Skizze einer Transformationskoeffizientenmatrix;
Figuren 7a bis 7d Skizzen einer Transformationskoeffizientenmatrix mit Bereichen, die ausgewählt werden können, um zu bestimmen, welche Transformationskoeffizienten ausgelesen werden sollen.
In Fig.2 ist eine Anordnung dargestellt mit zwei Rechnern 202, 208 und einer Kamera 201.
Eine Kamera 201 ist mit einem ersten Rechner 202 über eine
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.
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 Visualisie- rung 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.
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 Kommunikationsverbindung 207 übertragen werden, Bilddaten im Spektralbereich sind.
Auf dem Bildschirm 213 werden die decodierten Bilddaten dar- gestellt.
Fig.3 zeigt eine Skizze einer Anordnung zur Durchführung eines blockbasierten Bildcodierverfahrens gemäß H.263-Standard (siehe [1] ) .
Ein zu codierender Videodatenstrom mit zeitlich aufeinanderfolgenden digitalisierten Bildern wird einer Bildcodierungseinheit 301 zugeführt. Die digitalisierten Bilder sind unterteilt in Makroblöcke 302, wobei jeder Makroblock 16x16 Bild- punkte enthält. Der Makroblock 302 umfaßt 4 Bildblöcke 303,
304, 305 und 306, wobei jeder Bildblock 8x8 Bildpunkte, denen Luminanzwerte (Helligkeitswerte) zugeordnet sind, enthält. Weiterhin umfaßt jeder Makroblock 302 zwei Chrominanzblöcke 307 und 308 mit den Bildpunkten zugeordneten Chrominanzwerten (Farbdifferenzwerte) .
Die Bildblöcke werden einer Transformationscodierungseinheit 309 zugeführt. Bei einer Differenzbildcodierung werden zu codierende Werte von Bildblöcken zeitlich vorangegangener Bil- der von den aktuell zu codierenden Bildblöcken abgezogen, es wird nur die Differenzbildungsinformation 310 der Transforma- tionscodierungseinheit (Diskrete Cosinus Transformation, DCT) 309 zugeführt. Dazu wird über eine Verbindung 334 der aktuelle Makroblock 302 einer Bewegungsschätzungseinheit 329 mitgeteilt. In der Transformationscodierungseinheit 309 werden für die zu codierenden Bildblöcke bzw. Differenzbildblöcke Trans- formationskoeffizienten 311 gebildet und einer Quantisierungseinheit 312 zugeführt.
Quantisierte Transformationskoeffizienten 313 werden in einer Transformationskoeffizientenmatrix 100 (vgl. Fig.6) gespei- chert. Fig.6 zeigt die Transformationskoeffizientenmatrix 100 für einen Bildblock, der 8 * 8 = 6_4 Bildpunkte und damit auch 8 * 8 = _64 Transformationskoeffizienten enthält. Die Transformationskoeffizienten sind in Anlehnung an das Zig-Zag- Scan-Verfahren durchnumeriert und bezeichnet von 1 bis 64. Die Transformationskoeffizientenmatrix 100 weist acht Zeilen 701, 702, 703, 704, 705, 706, 707, 708 und acht Spalten 711, 712, 713, 714, 715, 716, 717, 718 auf.
Bei Anwendung des Zig-Zag-Scan-Verfahrens zum Auslesen der Transformationskoeffizienten werden diese, beginnend mit dem Transformationskoeffizienten 1, nach aufsteigenden Transformationskoeffizienten (2, 3, 4, ..., 62, 63, 64) ausgelesen bzw. gespeichert.
Figuren 7a bis 7d zeigen die Transformationskoeffizientenmatrix 100, in der jeweils unterschiedlichen Bereiche markiert sind.
Ein erster Bereich 700 umfaßt die Transformationskoeffizien- ten der drei oberen Zeilen 701, 702, 703 der Transformationskoeffizientenmatrix 100 (vgl. Fig.7a) .
Ein zweiter Bereich 710 umfaßt die Transformationskoeffizienten der zwei linken Spalten 711, 712 (vgl. Fig.7b).
Ein dritter Bereich 720 umfaßt die Transformationskoeffizienten der Schnittmenge der vier oberen Zeilen 701, 702, 703, 704 und der vier linken Spalten 711, 712, 713, 714 (vgl. Fig.7c) .
Ein vierter Bereich 730 wird begrenzt durch eine Diagonale der Transformationskoeffizientenmatrix 100 (vgl. Fig.7d).
Die unterschiedlichen Bereiche haben die Eigenschaft, daß sie für unterschiedliche Bildinhalte jeweils die Transformationskoeffizienten mit der höchsten Energie enthalten.
So ist der erste Bereich 700 besonders geeignet für ein Bild bzw. einen Teil eines Bildes, in dem sich eine vertikale Struktur konzentriert, beispielsweise die Darstellung eines Zaunes oder eines Hochhauses, d.h. einer Struktur, in der sich in vertikaler Richtung die Luminanzinformation bzw.
Chrominanzinformation nur relativ wenig ändert. Dies führt nämlich zu einer lediglich dünnbesetzten Transformationskoeffizientenmatrix 100 in den unteren Zeilen.
Aufgrund entsprechender Überlegungen ist der zweite Bereich 710 besonders geeignet für ein Bild bzw. einen Teil eines Bildes, in dem sich eine horizontale Struktur konzentriert.
Weist das zu codierende Bild im wesentlichen eine bidirektio- nale Struktur auf, eignet sich die Form des dritten Bereichs 720 besonders gut.
Der vierte Bereich 730 eignet sich insbesondere dann, wenn der Bereich an die Energieverteilung der Transformations- koeffizienten innerhalb der Transformationskoeffizientenmatrix 100 angepaßt sein soll.
Die Bereiche 700, 710, 720, 730 sind in dem Speicher gespeichert. Ein Bereich wird vor dem Auslesen der Transformations- koeffizienten ausgewählt und es werden anschließend nur die Transformationskoeffizientenmatrix ausgelesen, die sich in dem ausgewählten Bereich befinden. Das Auslesen erfolgt gemäß dem Zig-Zag-Scan-Verfahren, allerdings begrenzt auf den ausgewählten Bereich. Es werden anschaulich bei Beibehaltung der obigen Nomenklatur die Trans- formationskoeffizienten in aufsteigender Reihenfolge innerhalb des ausgewählten Bereichs ausgelesen.
Die ausgelesenen Transformationskoeffizienten werden einer Lauflängencodierung (Run-Length-Coding) sowie einer Huffman- Codierung als Entropiecodierung in einer Entropiecodierungseinheit unterzogen.
Die entropiecodierten Transformationskoeffizienten sowie eine Bereichsangabe werden als codierte Bilddaten 317 über einen Kanal, vorzugsweise eine Leitung oder eine Funkstrecke, zu einem Decoder übertragen. In der Bereichsangabe ist angegeben, welche Form der ausgewählte Bereich aufweist. Damit ist dem Decoder signalisiert, in welchem Bereich die empfangenen Transformationskoeffizienten in die zu rekonstruierende Transformationskoeffizientenmatrix zu speichern sind.
Die ausgewählten quantisierten Transformationskoeffizienten 313 werden ferner einem Rückwärtspfad zugeführt.
In der inversen Quantisierungseinheit 315 erfolgt eine inver- se Quantisierung der quantisierten Spektralkoeffizienten 313. So gewonnene Transformationskoeffizienten 318 werden einer inversen Transformationscodierungseinheit 319 (Inverse Diskrete Cosinus Transformation, IDCT) zugeführt. Rekonstruierte Codierungswerte (auch Differenzcodierungswerte) 320 werden im Differenzbildmodus einem Addierer 321 zugeführt. Der Addierer 321 erhält ferner Codierungswerte eines Bildblocks, die sich aus einem zeitlich vorangegangenen Bild nach einer bereits durchgeführten Bewegungskompensation ergeben. Mit dem Addie- rer 321 werden rekonstruierte Bildblöcke 322 gebildet und in einem Bildspeicher 323 abgespeichert. Chrominanzwerte 324 der rekonstruierten Bildblöcke 322 werden aus dem Bildspeicher 323 einer Bewegungskompensationseinheit 325 zugeführt. Für Helligkeitswerte 326 erfolgt eine Interpolation in einer dafür vorgesehenen Interpolationseinheit 327. Anhand der Interpolation wird die Anzahl in dem jeweiligen Bildblock enthaltener Helligkeitswerte vorzugsweise vervierfacht. Alle Helligkeitswerte 328 werden sowohl der Bewegungskompensationseinheit 325 als auch der Bewegungsschätzungsein- heit 329 zugeführt. Die Bewegungsschätzungseinheit 329 erhält außerdem die Bildblöcke des jeweils zu codierenden Makroblocks (16x16 Bildpunkte) über die Verbindung 334. In der Bewegungsschätzungseinheit 329 erfolgt die Bewegungsschätzung unter Berücksichtigung der interpolierten Helligkeitswerte bzw. Farbwerte ("Bewegungsschätzung auf Halbpixelbasis") .
Das Ergebnis der Bewegungsschätzung ist ein Bewegungsvektor 330, durch den eine örtliche Verschiebung des ausgewählten Makroblocks aus dem zeitlich vorangegangenen Bild zu dem zu codierenden Makroblock 302 zum Ausdruck kommt.
Sowohl Helligkeitsinformation als auch Chrominanzinformation bezogen auf den durch die Bewegungsschätzungseinheit 329 ermittelten Makroblock werden um den Bewegungsvektor 330 verschoben und von den Codierungswerten des Makroblocks 302 sub- trahiert (siehe Datenpfad 331) .
Als Ergebnis der Bewegungschätzung ergibt sich somit der Be- wegungsvektor 330 mit zwei Bewegungsvektorkomponenten, einer ersten Bewegungsvektorkomponente BVX und einer zweiten Bewegungsvektorkomponente BVy entlang der ersten Richtung x und der zweiten Richtung y:
Figure imgf000016_0001
In dem Decoder werden die codierten Bilddaten 317 empfangen und gespeichert. Der Decoder hat den gleichen Aufbau wie der Rückwärtspfad des Coders mit dem Unterschied, daß zu Beginn der Decodierung eine inverse Entropiecodierung vorgesehen ist.
Nach erfolgter Entropiedecodierung liegen die quantisierten Transformationskoeffizienten 313 vor, die in der Reihenfolge gemäß dem Zig-Zag-Scan in eine zu rekonstruierende Transformationskoeffizientenmatrix eingeschrieben, d.h. gespeichert werden, damit eine korrekte Rekonstruktion des Bildes erfolgen kann. Hierzu wird die empfangene Bereichsangabe verwendet, entsprechend der der Decoder das inverse Zig-Zag-Scan- Verfahren zum Einschreiben der Transformationskoeffizienten durchführt.
Die in der rekonstruierten Transformationskoeffizientenmatrix gespeicherten Transformationskoeffizienten werden invers quantisiert und einer inversen Transformationscodierung unterzogen.
Unter Verwendung der mit übertragenen Bewegungsvektoren wird das Bild unter Einsatz eines Bewegungskompensationsverfahrens für die einzelnen Bildblöcke rekonstruiert.
Im weiteren werden Alternativen zu den oben dargestellten Ausführungsbeispielen dargestellt :
Die Bereiche 700, 710, 720, 730 sind nicht beschränkt auf die konkrete Anzahl von Zeilen oder Spalten, wie sie in dem oben dargestellten Ausführungsbeispiel beschrieben sind. Sie können entsprechend den Anforderungen beispielsweise an die Qualität des zu codierenden Bildes ohne weiteres verändert werden. Auch eine andere Form eines Bereichs kann verwendet werden, wenn sich z.B. eine Form für einen bestimmten Bildinhalt besonders gut eignet. Ferner können bei entsprechender Analyse des Bildinhalts auch mehrere Bereiche ausgewählt werden zur Codierung jeweils eines Teils des Bildes, z.B. bei Vorliegen vorwiegend horizontaler Strukturen in einem ersten Bildbereich und vorwiegend vertikaler Strukturen in einem zweiten Bildbereich.
Weiterhin können die Bildbereiche entsprechend der zur Verfügung stehenden Bandbreite zur Übertragung der Bilddaten, beispielsweise repräsentiert durch einen Füllstand eines Aus- gangspuffers des Coders bei der Codierung einer Folge von
Bildern, variabel ausgewählt werden. Dabei kann beispielsweise bei Wahl des ersten Bereichs 700 dieser um eine oder mehrere Zeilen erweitert oder verkürzt werden, je nach Füllstand des Ausgangspuffers. Entsprechendes gilt für die Erweiterung bzw. Reduktion von Spalten im zweiten Bereich 710, etc.
Weiterhin kann auch bei Auswahl eines Bereichs eine für den jeweiligen Bereich angepaßte Transformationscodierung verwendet werden. Unter einer angepaßten Transformationscodierung ist in diesem Zusammenhang eine Transformationscodierung zu verstehen, bei deren Anwendung auf die Bildpunkte des Bildes die Transformationskoeffizienten im wesentlichen in einem Gebiet innerhalb der Transformationskoeffizientenmatrix konzentriert, der dem ausgewählten Bereich entspricht.
Für den ersten Bereich 700 eignet sich folgende angepaßte erste Transformationscodierung:
1 7 7 π(2x + l)u π(2y + l)v
F(U, v) = - c(u)c(v) ∑ ∑ f(χ' y) cos cos 16 16 x=0y=0
mit
• x, y = 0, 1, 2, . . .,7;
• u = 0, 1, 2, . . . , 7 ;
• v = 0, 1, 2;
• x, y = Ortskoordinaten im Bildpunktbereich; • u, v = Koordinaten in der Transformationskoeffizientenmatrix;
• C(u) = —=r für u = 0, sonst 1;
V2
• C (v) = für v = 0, sonst 1.
Figure imgf000019_0001
Für den zweiten Bereich 710 eignet sich folgende angepaßte zweite Transformationscodierung:
1 7 7 π(2x + l)u π(2y + l)v F(u, v) = - C(u)c(v) ∑ ∑ f(x, y) cos cos 16 16
4 x=0y=0
mit
• x, y = 0, 1, 2, . ,7;
• u = 0, 1;
• v = 0, 1, 2, . . .,7;
-• x, y = Ortskoordinaten im Bildpunktbereich;
• u, v = Koordinaten in der Transformationskoeffizientenmatrix;
• C(u) = — = für u = 0, sonst 1;
V2
• C(v) = für v = 0, sonst 1.
Figure imgf000019_0002
Für den dritten Bereich 720 eignet sich folgende angepaßte dritte Transformationscodierung:
1 7 7 π(2x + l)u" π(2y + l)v" F(u, v) = - c(u)c(v) 2 ∑ ( , y) cos cos 16 16 x=0y=0
mit
• x, y = 0, 1, 2, . . . , 7;
• u = 0, 1, 2, 3
• v = 0, 1, 2, 3;
• x, y = Ortskoordinaten im Bildpunktbereich; • U , V == Koordinaten in der Transformationskoeffizientenma- trix;
• C ( u ) = für u = 0, sonst 1; ϊ
C (v) für v = 0, sonst 1
Figure imgf000020_0001
Für den vierten Bereich 730 eignet sich folgende angepaßte vierte Transformationscodierung:
7 7 π(2x + l)u π(2y + l)v'
F(u, v) = - C(u)c(v) ∑ ∑ f(x, y) cos coä
16 16
4 x=0y=0
mit
Figure imgf000020_0002
• u = 0, 1, 2 für v = 0;
• u = 0, 1 für v = 1;
• u = 0 für v = 2;
• x, y = Ortskoordinaten im Bildpunktbereich;
• U , V = Koordinaten in der Transformationskoeffizientenma- trix;
• C (u) = für u = 0, sonst 1;
Figure imgf000020_0003
C(v) = für v = 0, sonst 1.
Weiterhin können die quantisierten Transformationskoeffizienten 313 aus der Transformationskoeffizientenmatrix 100 gemäß der in Fig.l dargestellten Reihenfolge ausgelesen.
Das Auslesen der Transformationskoeffizientenmatrix 100 beginnt mit dem Auslesen eines ersten Transformationskoeffizienten 102, mit dem der Gleichanteil der Codierungsinformation beschrieben wird, die den Bildpunkten des bearbeiteten Bildblocks zugeordnet sind. Der erste Transformationskoeffizient befindet sich in der linken oberen Ecke der Transformationskoeffizientenmatrix 100. Anschließend werden ausgehend von dem ersten Transformationskoeffizienten 102 Transformationskoeffizienten 101 entlang einer ersten Zeile 103 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 104 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Der Transformationskoeffizient 101 mit dem Wert "Null" (in Fig.l mit 104 bezeichnet) wird als Nullsymbol, mit dem ein Ende eines Zweiges angezeigt wird, codiert. Die weiteren Transforma- tionskoeffizienten 106, 107 der ersten Zeile 103, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 104 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen ersten Pfad 105 in Fig.l dargestellt.
Ferner werden ausgehend von dem ersten Transformationskoeffizienten 102 Transformationskoeffizienten 101 entlang einer ersten Spalte 110 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 101 ausgelesen wird, der den quantisierten Wert "Null" aufweist (in Fig.l mit 111 bezeichnet) . Der Transformationskoeffizient 111 mit dem Wert "Null" wird ebenfalls als Nullsymbol codiert. Die weiteren Transformationskoeffizienten 112, 113 der ersten Spalte 110, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 111 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen zweiten Pfad 114 in Fig.l dargestellt.
Ausgehend von den Positionen, an denen sich von null ver- schiedene Transformationskoeffizienten innerhalb des ersten Pfades 105 oder des zweiten Pfades 114 befinden, werden jeweils in diagonaler Richtung, parallel zu der Hauptdiagonalen der Transformationskoeffizientenmatrix 100 weitere Transformationskoeffizienten 101 ausgelesen, jeweils solange, bis in- nerhalb eines diagonalen Pfades 120, 121, 122, 123, 124, 126, 127, 128, 129 ein Transformationskoeffizient 132, 133, 134, 135, 136, 137, 138, 139, 140 mit dem Wert Null ausgelesen wird. Die weiteren Transformationskoeffizienten entlang des entsprechenden diagonalen Pfades 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, die höhere Frequenzen repräsentieren als der jeweilige Transformationskoeffizient 132, 133, 134, 135, 136, 137, 138, 139, 140 mit dem Wert Null, werden nicht mehr ausgelesen. Die Transformationskoeffizienten 132, 133, 134, 135, 136, 137, 138, 139, 140 mit dem Wert Null werden ebenfalls als Nullsymbol codiert.
Die Positionen der Transformationskoeffizienten, die den Wert Null aufweisen, sind in einer Alternative als unverändert angenommen. Damit bleiben auch die Bezugszeichen für die Transformationskoeffizienten in Fig. unverändert.
Das Auslesen der Transformationskoeffizientenmatrix 100 beginnt mit dem Auslesen des ersten Transformationskoeffizienten 102. Der erste Transformationskoeffizient befindet sich in der linken oberen Ecke der Transformationskoeffizientenmatrix 100.
Anschließend werden ausgehend von dem ersten Transformationskoeffizienten 102 Transformationskoeffizienten 101 entlang der ersten Zeile 103 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 104 ausge- lesen wird, der den quantisierten Wert "Null" aufweist. Der Transformationskoeffizient 101 mit dem Wert "Null" wird als Nullsymbol, mit dem ein Ende eines Zweiges entlang einer Richtung angezeigt wird, codiert. Die weiteren Transformationskoeffizienten 106, 107 der ersten Zeile 103, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 104 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen ersten Pfad 105 in Fig. dargestellt.
Ferner werden ausgehend von dem ersten Transformationskoeffizienten 102 Transformationskoeffizienten 101 entlang einer ersten Spalte 110 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 111 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Der Transformationskoeffizient 111 mit dem Wert "Null" wird ebenfalls als Nullsymbol codiert. Die weiteren Transformationskoeffizi- enten 112, 113 der ersten Spalte 110, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 111 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen zweiten Pfad 114 in Fig.4 dargestellt.
Weiterhin wird ein zweiter Transformationskoeffizient 401 ausgelesen, der sich auf der Hauptdiagonalen 402 der Transformationskoeffizientenmatrix 100 am nächsten an dem ersten Transformationskoeffizienten 102 befindet, also in einer zweiten Zeile 410 und einer zweiten Spalte 411 der Transfor- mationskoeffizientenmatrix 100.
Ausgehend von dem zweiten Transformationskoeffizienten 401 werden Transformationskoeffizienten 101 entlang der zweiten Zeile 410 ausgelesen, bis ein Transformationskoeffizient 140 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 141, 412 der zweiten Zeile 410, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 140 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen dritten Pfad 413 in Fig.4 dargestellt.
Ferner werden ausgehend von dem zweiten Transformationskoeffizienten 401 Transformationskoeffizienten 101 entlang der zweiten Spalte 411, bis ein Transformationskoeffizient 131 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Der weitere Transformationskoeffizient 414 der zweiten Spalte 411, der eine höhere Frequenz repräsentiert als der Transformationskoeffizient 131 mit dem Wert Null, wird nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen vierten Pfad 415 in Fig.4 dargestellt. Weiterhin wird ein dritter Transformationskoeffizient 420 ausgelesen, der sich auf der Hauptdiagonalen 402 der Transformationskoeffizientenmatrix 100 am nächsten an dem zweiten Transformationskoeffizienten 401 befindet, also in einer dritten Zeile 421 und einer dritten Spalte 422 der Transformationskoeffizientenmatrix 100.
Ausgehend von dem dritten Transformationskoeffizienten 420 werden Transformationskoeffizienten 101 entlang der dritten Zeile 421 ausgelesen, bis ein Transformationskoeffizient 139 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 423, 424 der dritten Zeile 421, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 139 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen fünften Pfad 425 in Fig.4 dargestellt.
Ferner werden ausgehend von dem dritten Transformationskoeffizienten 420 Transformationskoeffizienten 101 entlang der dritten Spalte 422 ausgelesen, bis ein Transformationskoeffizient 133 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 132, 426 der dritten Spalte 422, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 133 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen sechsten Pfad 427 in Fig.4 dargestellt.
Weiterhin wird ein vierter Transformationskoeffizient 430 ausgelesen, der sich auf der Hauptdiagonalen 402 der Trans- formationskoeffizientenmatrix 100 am nächsten an dem dritten Transformationskoeffizienten 420 befindet, also in einer vierten Zeile 431 und einer vierten Spalte 432 der Transformationskoeffizientenmatrix 100.
Ausgehend von dem vierten Transformationskoeffizienten 430 werden Transformationskoeffizienten 101 entlang der vierten Zeile 431 ausgelesen, bis ein Transformationskoeffizient 137 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 138, 433, 434 der vierten Zeile 431, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 137 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen siebten Pfad 435 dargestellt.
Ferner werden ausgehend von dem vierten Transformationskoeffizienten 430 Transformationskoeffizienten 101 entlang der vierten Spalte 432 ausgelesen, bis ein Transformationskoeffizient 134 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 436, 437 der vierten Spalte 432, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 134 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen achten Pfad 438 dargestellt.
Ferner wird ein fünfter Transformationskoeffizient 440 ausgelesen, der sich auf der Hauptdiagonalen 402 der Transformati- onskoeffizientenmatrix 100 am nächsten an dem vierten Transformationskoeffizienten 430 befindet, also in einer fünften Zeile 441 und einer fünften Spalte 442 der Transformationskoeffizientenmatrix 100.
Ausgehend von dem fünften Transformationskoeffizienten 440 werden Transformationskoeffizienten 101 entlang der fünften Zeile 441 ausgelesen, bis ein Transformationskoeffizient ausgelesen wird, der den quantisierten Wert "Null" aufweist. Da im vorliegenden Fall in der fünften Zeile 441 keine Transfor- mationskoeffizienten 101 mit dem Wert Null vorhanden sind, werden alle Transformationskoeffizienten 101 der fünften Zeile 441 ausgelesen. Diese Vorgehensweise ist durch einen neunten Pfad 443 dargestellt.
Weiterhin werden ausgehend von dem fünften Transformationskoeffizienten 440 Transformationskoeffizienten 101 entlang der fünften Spalte 442 ausgelesen, bis ein Transformations- koeffizient 135 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 444, 445 der fünften Spalte 442, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 135 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch einen zehnten Pfad 446 dargestellt.
Ein auf der Hauptdiagonalen 402 der Transformationskoeffizientenmatrix 100 am nächsten an dem fünften Transformations- koeffizienten 440 liegender sechster Transformationskoeffizient 136 weist selbst den quantisierten Wert Null auf. Damit bildet der sechste Transformationskoeffizient 136 als Nullsymbol den letzten ausgelesenen Transformationskoeffizienten der Transformationskoeffizientenmatrix 100 gemäß dem zweiten Ausführungsbeispiel.
Eine weitere Alternative zeigt Fig.5.
Die Positionen der Transformationskoeffizienten, die den Wert Null aufweisen, sind auch in diesem Fall als unverändert angenommen. Damit bleiben auch die Bezugszeichen für die Transformationskoeffizienten unverändert .
Das Auslesen der Transformationskoeffizientenmatrix 100 be- ginnt mit dem Auslesen des ersten Transformationskoeffizienten 102. Der erste Transformationskoeffizient befindet sich in der linken oberen Ecke der Transformationskoeffizientenmatrix 100.
Anschließend werden ausgehend von dem ersten Transformationskoeffizienten 102 Transformationskoeffizienten 101 entlang der ersten Zeile 103 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 104 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 106, 107 der ersten Zeile 103, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 104 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch den ersten Pfad 105 in Fig.5 dargestellt.
Ferner werden ausgehend von dem ersten Transformationskoeffi- zienten 102 Transformationskoeffizienten 101 entlang der ersten Spalte 110 der Transformationskoeffizientenmatrix 100 ausgelesen, bis ein Transformationskoeffizient 111 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 112, 113 der ersten Spalte 110, die höhere Frequenzen repräsentieren als der Transformationskoeffizient 111 mit dem Wert Null, werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch den zweiten Pfad 114 dargestellt.
Weiterhin werden entlang der Hauptdiagonalen 402 der zweite Transformationskoeffizient 401, der dritte Transformationskoeffizient 420, der vierte Transformationskoeffizient 430, der fünfte Transformationskoeffizient 440 und der sechste Transformationskoeffizient 136 ausgelesen.
Ausgehend von dem zweiten Transformationskoeffizienten 401 werden Transformationskoeffizienten 101 entlang der zweiten Zeile 410 ausgelesen, bis ein Transformationskoeffizient 140 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 141, 412 der zweiten Zeile 410 werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch den dritten Pfad 413 dargestellt.
Ausgehend von einem siebten Transformationskoeffizienten 501, der sich entlang des dritten Pfades 413 am nächsten an dem zweiten Transformationskoeffizienten 401 befindet, werden entlang eines elften Pfades 502 alle Transformationskoeffizienten ermittelt, bis ein Transformationskoeffizient ausgelesen wird, der den quantisierten Wert "Null" aufweist. Da im vorliegenden Fall entlang des elften Pfades 502 keine Transformationskoeffizienten 101 mit dem Wert Null vorhanden sind, werden alle Transformationskoeffizienten 101 ausgelesen. Ausgehend von einem achten Transformationskoeffizienten 503, der sich entlang des elften Pfades 502 am nächsten an dem siebten Transformationskoeffizienten 501 befindet, werden Transformationskoeffizienten 101 entlang der dritten Zeile
421 ausgelesen, bis ein Transformationskoeffizient 139 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 423, 424 der dritten Zeile 421 werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch den zwölften Pfad 504 dargestellt.
Ausgehend von einem neunten Transformationskoeffizienten 505, der sich entlang des zwölften Pfades 504 am nächsten an dem achten Transformationskoeffizienten 503 befindet, werden Transformationskoeffizienten 101 entlang der vierten Zeile
431 ausgelesen, bis ein Transformationskoeffizient 138 ausgelesen wird, der den quantisierten Wert "Null" aufweist. Die weiteren Transformationskoeffizienten 433, 434 der vierten Zeile 431 werden nicht mehr ausgelesen. Diese Vorgehensweise ist durch den dreizehnten Pfad 506 dargestellt.
Dieses alternierende Auslesen der Transformationskoeffizient wird fortgesetzt, bis alle Transformationskoeffizienten entlang der in Fig. 5 dargestellten Pfade aus der Transformati- onskoeffizientenmatrix 100 ausgelesen sind.
Die restliche Abfolge des Auslesens gemäß dem dritten Ausführungsbeispiel ist in Fig.5 durch weitere Pfade 507, 508, 509, 510, 511 und 512 symbolisch dargestellt.
In alternativen Ausführungsformen können die Vorgehensweisen zum Auslesen der Transformationskoeffizienten in beliebiger Weise miteinander kombiniert werden.
Eine weitere Altenative betrifft das Auslesen der Transformationskoeffizienten aus der Matrix gemäß der oben beschriebenen Baumstruktur. Es ist z.B. bei einer dicht besetzten Transformationskoeffizientenmatrix sinnvoll sein, das Auslesen in einem Zweig des Baumes nach einem Transformationskoeffizienten mit dem Wert Null nicht abzubrechen. In diesem Fall wird unterschieden zwischen einem Nullsymbol, nach dem das Auslesen unterbrochen wird und einem Nullsymbol, nach dem das Auslesen nicht unterbrochen wird.

Claims

In diesem Dokument ist folgende Veröffentlichung zitiert:[1] ITU-T Draft Recommendation H.263, Video Coding for Low Bitrate Communication, September 1997 Patentansprüche
1. Verfahren zum rechnergestützten Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein phy- sikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix,
• bei dem mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix ausgewählt wird,
• bei dem nur Transformationskoeffizienten ausgelesen werden, die sich in dem ausgewählten Bereich befinden.
2. Verfahren nach Anspruch 1,
• bei dem mehrere Bereiche innerhalb der Transformationskoeffizientenmatrix ausgewählt werden, • bei dem nur Transformationskoeffizienten ausgelesen werden, die sich in den ausgewählten Bereichen befinden.
3. Verfahren nach Anspruch 1 oder 2, bei dem das physikalische Objekt ein Bild mit Bildpunkten ist, denen jeweils Codierungsinformation zugeordnet ist.
4. Verfahren nach einem der vorangegangenen Ansprüche, bei dem der Bereich aus einer Menge vorgegebener gespeicherter Bereiche ausgewählt wird.
5. Verfahren nach einem der vorangegangenen Ansprüche, • bei dem der Inhalt des Bildes analysiert wird, • bei dem die Auswahl des Bereichs abhängig von dem Bildinhalt erfolgt.
6. Verfahren nach einem der vorangegangenen Ansprüche,
• bei dem der Inhalt des Bildes analysiert wird,
• bei dem eine Transformationscodierung aus einer Menge vorgegebener gespeicherter Transformationscodierungen abhängig von dem Bildinhalt ausgewählt wird,
• bei dem unter Verwendung der Transformationscodierung die Transformationskoeffizientenmatrix gebildet wird.
7. Verfahren nach Anspruch 6, bei dem die ausgewählte Transformationscodierung derart ausgestaltet ist, daß sich die gemäß der Transfor ationscodie- rung gebildeten Transformationskoeffizienten im wesentlichen in dem ausgewählten Bereich der Transformationskoeffizientenmatrix befinden.
8. Verfahren nach einem der vorangegangenen Ansprüche, eingesetzt zur Codierung eines digitalisierten Bildes.
9. Verfahren nach Anspruch 8, bei dem der Bereich abhängig von einem Füllstand eines Ausgangspuffers ausgewählt wird.
10. Verfahren nach einem der vorangegangenen Ansprüche, bei dem die Transformationskoeffizienten aus dem Bereich der Transformationskoeffizientenmatrix gemäß einem Zick-Zack- Ausleseverfahren (Zig-Zag-Scan-Verfahren) ausgelesen werden.
11. Verfahren nach einem der Ansprüche 1 bis 9, bei dem die Transformationskoeffizienten aus dem Bereich der Transformationskoeffizientenmatrix gemäß folgender Reihenfolge ausgelesen werden: • es werden solange die Transformationskoeffizienten entlang einer ersten Richtung der Transformationskoeffizientenmatrix und/oder entlang einer zweiten Richtung der Transformationskoeffizientenmatrix ausgelesen, bis zumindest in einer Richtung ein Transformationskoeffizient ausgelesen wird, der einen vorgegebenen Wert aufweist, bzw. einen vorgegebenen Wert betragsmäßig unterschreitet, • ausgehend von den Positionen der ausgelesenen Transformationskoeffizienten innerhalb der Transformationskoeffizientenmatrix werden weitere Transformationskoeffizienten ent- lang einer dritten Richtung und/oder entlang einer zweiten Richtung der Transformationskoeffizientenmatrix ausgelesen.
12. Verfahren zum rechnergestützten Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix, bei dem das Speichern abhängig von einer Bereichsangabe erfolgt, mit der angegeben wird, aus welchem ausgewählten Bereich innerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
13. Verfahren nach Anspruch 12, bei dem die Bereichsangabe mehrere Bereiche innerhalb der Transformationskoeffizientenmatrix umfaßt und die Transformationskoeffizienten in die in der Bereichsangabe enthaltenen Bereiche gespeichert werden.
14. Verfahren nach Anspruch 12 oder 13, bei dem das physikalische Objekt ein Bild mit Bildpunkten ist, denen jeweils Codierungsinformation zugeordnet ist.
15. Verfahren nach einem der Ansprüche 12 bis 14, bei dem der Bereich aus einer Menge vorgegebener gespeicherter Bereiche ausgewählt worden ist.
16. Verfahren nach einem der Ansprüche 12 bis 15, • bei dem der Inhalt des Bildes analysiert wurde,
• bei dem die Auswahl des Bereichs abhängig von dem Bildinhalt erfolgte.
17. Verfahren nach einem der Ansprüche 12 bis 16, • bei dem der Inhalt des Bildes analysiert wurde,
• bei dem eine Transformationscodierung aus einer Menge vorgegebener gespeicherter Transformationscodierungen abhängig von dem Bildinhalt ausgewählt wurde,
• bei dem unter Verwendung der Transformationscodierung die Transformationskoeffizientenmatrix gebildet wurde.
18. Verfahren nach einem der Ansprüche 12 bis 17, eingesetzt zur Decodierung eines digitalisierten Bildes.
19. Anordnung zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix, mit einem Prozessor, der derart eingerichtet ist, daß folgende Schritte durchführbar sind:
• mindestens ein Bereich innerhalb der Transformationskoeffi- zientenmatrix wird ausgewählt,
• nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
20. Anordnung nach Anspruch 19, eingesetzt zur Codierung eines digitalisierten Bildes.
21. Anordnung zum Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix, mit einem Prozessor, der derart eingerichtet ist, daß folgende Schritte durchführbar sind: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich inner- halb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
22. Anordnung nach Anspruch 21, eingesetzt zur Decodierung eines digitalisierten Bildes.
23. Computerprogramm-Erzeugnis, das ein computerlesbares Speichermedium umfaßt, 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 zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix:
• mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix wird ausgewählt, • nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
24. 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 zum Auslesen von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, aus einer gespeicherten mehrdimensionalen Transformationskoeffizientenmatrix: • mindestens ein Bereich innerhalb der Transformationskoeffizientenmatrix wird ausgewählt,
• nur Transformationskoeffizienten werden ausgelesen, die sich in dem ausgewählten Bereich befinden.
25. Computerprogramm-Erzeugnis, das ein computerlesbares
Speichermedium umfaßt, 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 zum Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physikalisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich inner- halb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
26. 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 zum Speichern von Transformationskoeffizienten, die Elementen zugeordnet sind, die ein physi- kaiisches Objekt beschreiben, in eine zu rekonstruierende mehrdimensionale Transformationskoeffizientenmatrix: das Speichern erfolgt abhängig von einer Bereichsangabe, mit der angegeben wird, aus welchem ausgewählten Bereich innerhalb der Transformationskoeffizientenmatrix die Transformationskoeffizienten ausgelesen worden sind.
PCT/DE2000/001004 1999-04-23 2000-04-03 Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse WO2000065841A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19918623 1999-04-23
DE19918623.5 1999-04-23

Publications (1)

Publication Number Publication Date
WO2000065841A1 true WO2000065841A1 (de) 2000-11-02

Family

ID=7905709

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/001004 WO2000065841A1 (de) 1999-04-23 2000-04-03 Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse

Country Status (1)

Country Link
WO (1) WO2000065841A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398217A (en) * 1980-04-07 1983-08-09 U.S. Philips Corporation Method of and arrangement for digitizing a time-discrete video signal using a picture transform coding
EP0339589A2 (de) * 1988-04-28 1989-11-02 Sharp Kabushiki Kaisha Orthogonales Transformationskodierungssystem für Bilddaten
US4999705A (en) * 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398217A (en) * 1980-04-07 1983-08-09 U.S. Philips Corporation Method of and arrangement for digitizing a time-discrete video signal using a picture transform coding
EP0339589A2 (de) * 1988-04-28 1989-11-02 Sharp Kabushiki Kaisha Orthogonales Transformationskodierungssystem für Bilddaten
US4999705A (en) * 1990-05-03 1991-03-12 At&T Bell Laboratories Three dimensional motion compensated video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIN-ICHI ARAZAKI ET AL: "IMAGE DATA COMPRESSION BY DCT WITH ADAPTIVE RUN-LENGTH CODING", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS,US,IEEE INC. NEW YORK, vol. 37, no. 4, 1 November 1991 (1991-11-01), pages 860 - 865, XP000276004, ISSN: 0098-3063 *

Similar Documents

Publication Publication Date Title
EP0956539B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
DE69915843T2 (de) Teilbandkodierung/-dekodierung
EP0956703B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
EP0941613B1 (de) Verfahren zur bildcodierung eines digitalisierten bildes
EP1101196B1 (de) Verfahren und anordnung zur bewegungsschätzung in einem digitalisierten bild mit bildpunkten
EP1110407B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
EP1116184B1 (de) Verfahren und anordnung zur bearbeitung eines digitalisierten bildes mit bildpunkten
DE2460654A1 (de) Verfahren und einrichtung zum codieren eines gegebenen informationssignals
EP0336510B1 (de) Prädiktiver Standbildcodierer
EP0981910B1 (de) Verfahren und vorrichtung zur codierung eines digitalisierten bildes
WO2000065841A1 (de) Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse
WO2000065539A1 (de) Verfahren und anordnung zum rechnergestützten auslesen bzw. speichern von transformationskoeffizienten sowie computerprogramm-erzeugnisse und computerlesbare speichermedien
WO2001062009A1 (de) Verfahren und anordnung zur kodierung bzw. zur kodierung und dekodierung einer zahlenfolge
WO2001049038A1 (de) Verfahren, anordnung und computerprogrammerzeugnis zur prädiktion bei der codierung eines in bildblöcke unterteilten bildes
EP1121809B1 (de) Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes
EP0796016B1 (de) Verfahren zur Bearbeitung von Bildpunkten eines Bildsegments durch einen Rechner
EP0981909A1 (de) Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes
DE19944301A1 (de) Verfahren und Anordnung zur Bearbeitung bzw. inversen Bearbeitung zumindest eines Teils eines Bildes sowie Computerprogramm-Erzeugnisse und Computerlesbares Speichermedium
WO2000049525A1 (de) Verfahren und anordnung zum abspeichern von mindestens einem bild mit zugehöriger relationalen information
EP1157557A1 (de) Verfahren und anordnung zur transformation eines bildbereichs
WO2000025232A1 (de) Verfahren und anordnung zur codierung, decodierung und übertragung eines digitalisierten bildes
WO2001033827A2 (de) Verfahren und anordnung zur transformation eines bildblocks aus bildblockpunkten
DE10143062A1 (de) Verfahren und Vorrichtung zur Codierung oder Codierung und Übertragung digitaler Videoinformationen
WO2000025520A1 (de) Verfahren und anordnung zur bearbeitung eines digitalisierten bildes
WO2001041450A1 (de) Verfahren und anordnung zur codierung bzw. decodierung einer zahlenfolge

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

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

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