EP0783230A2 - Transform coding of arbitrarily shaped image segments - Google Patents

Transform coding of arbitrarily shaped image segments Download PDF

Info

Publication number
EP0783230A2
EP0783230A2 EP19960308597 EP96308597A EP0783230A2 EP 0783230 A2 EP0783230 A2 EP 0783230A2 EP 19960308597 EP19960308597 EP 19960308597 EP 96308597 A EP96308597 A EP 96308597A EP 0783230 A2 EP0783230 A2 EP 0783230A2
Authority
EP
European Patent Office
Prior art keywords
block
transformation
coefficient
pattern
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP19960308597
Other languages
German (de)
French (fr)
Other versions
EP0783230A3 (en
EP0783230B1 (en
Inventor
Chun Kang-Wook
Jeon Byeungwoo
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1019960049253A external-priority patent/KR100228671B1/en
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of EP0783230A2 publication Critical patent/EP0783230A2/en
Publication of EP0783230A3 publication Critical patent/EP0783230A3/en
Application granted granted Critical
Publication of EP0783230B1 publication Critical patent/EP0783230B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments

Definitions

  • the present invention relates to transformation coding apparatus for a block including a boundary of an object having a certain shape and more particularly, but not necessarily exclusively, to a transformation coding apparatus for a block including a boundary of an object having a certain shape which effectively accomplishes transformation coding by selecting a transformation coefficient considering a restoring quality of picture of an area including a boundary of an object having a certain shape.
  • transformation coding is performed to reduce an amount of data by removing redundancy of a video signal.
  • a picture frame is divided into blocks each having a size of NxN data, and transformation coding is performed for each block, to thereby convert a video signal in a spatial domain into a signal in a frequency domain.
  • the energy of a signal (the value of a transformation coefficient) is chiefly concentrated in a lower frequency band.
  • a discrete cosine transformation is most widely used.
  • the transformation coding also proposes a coding technology for further compressing an amount of data by quantizing the transformation coefficients and variable-length-coding the quantized data.
  • the transformation coding technology performs transformation coding with respect to an NxN sized rectangular block, it is inefficient to perform a general transformation coding when a boundary of an object of a certain shape is included in a particular block.
  • a transformation coding method for separately transforming the area of the object having a certain shape and the other background area has been proposed.
  • FIG. 1 is a block diagram of a general encoding apparatus for encoding an input video signal.
  • the general encoding apparatus includes a video divider 11.
  • the video divider 11 divides the input video into blocks each having a size of NxN data.
  • the NxN blocks are applied to a block controller 12 and a first switch 13.
  • the block controller 12 judges whether each input block of the NxN data includes a boundary of an object of a certain shape, and controls the first switch 13 according to the judgement result.
  • the first switch 13 applies the NxN sized blocks input from the video divider 11 to a first encoder 14 or a second encoder 15 under the control of the block controller 12.
  • the control operation of the block controller 12 will be described in more detail below.
  • the block controller 12 controls the first switch 13 to apply the input block to the first encoder 14.
  • the block controller 12 controls the first switch 13 to apply the input block to the second encoder 15.
  • the first encoder 14 encodes a video signal block according to a general transformation coding method.
  • the second encoder 15 performs transformation coding for a block including a boundary of an object of a certain shape, which will be described later.
  • a second switch 16 is selectively connected to the outputs of the first encoder 14 and the second encoder 15. The second switch 16 also operates under the control of the block controller 12.
  • the block controller 12 controls !he second switch 16 to select the output of the first encoder 14.
  • the block controller 12 controls the second switch 16 to select the output of the second encoder 15.
  • the second switch 16 outputs the transformation coded data with respect to the input blocks.
  • Figure 2A is a detailed block diagram of the second encoder of the Figure 1 apparatus
  • Figure 2B is a view for explaining an area requiring transformation coefficient selection in the second encoder of Figure 2A. That is, Figure 2A is a transformation coding apparatus for a block including a boundary of an object having a certain shape according to the prior art.
  • the second encoder 15 performs transformation coding for a block including a boundary of an object having a certain shape.
  • a transformer 21 discrete-cosine-transforms (hereinafter abbreviated as DCT-transforms) input NxN blocks (Bi) including a boundary of an object having a certain shape input from the video divider 11, to produce NxN transformation coefficients F1 which are input to a coefficient selector 22.
  • the coefficient selector 22 selects M particular coefficients from the input NxN transformation coefficients F1 and sets the other transformation coefficients as zeros.
  • the select coefficients Fs selected by the coefficient selector 22 are input to an inverse transformer 23.
  • the inverse transformer 23 inversely transforms the input select coefficients Fs to restore a block, which is called a restored block Br.
  • the restored block Br is input to a repetition controller 25.
  • the repetition controller 25 calculates a mean square error of the input block Bi and the restored Br and compares the mean square error with a predetermined reference value.
  • the repetition controller 25 calculates the mean square error, it calculates the mean square error only with respect to the area including a boundary of an object having a certain shape. As shown in Figure 2A, when the area including a boundary of an object having a certain shape is indicated as a character "S", a mean square error is calculated only with respect to pixels within the "S" area.
  • the repetition controller 25 replaces pixel data of an area "S" including a boundary of an object having a certain shape in the restored block Br by pixel data in a corresponding area of the input block Bi, to form a reconstructed block Br', which is input to the transformer 21.
  • the transformer 21 DCT-transforms the input reconstructed blocks (Br') to produce NxN transformation coefficients which are input to the coefficient selector 22.
  • the coefficient selector 22 selects M particular coefficients.
  • the select coefficients selected by the coefficient selector 22 are inversely transformed in the inverse transformer 23 to produce a restored block Br.
  • the repetition controller 25 calculates a mean square error of the input block Bi and the restored Br.
  • the above processes are repeated until the mean square error is smaller than a predetermined reference value.
  • the coefficient select by the coefficient selector is completed. If the coefficient selection is completed, the coefficient selector 22 outputs the selected coefficients to an encoder 24, which encodes the selected coefficient and finally outputs the encoded data.
  • the coefficient selector 22 selects M coefficients in sequence of a larger value of energy among the NxN transformation coefficients, which minimizes an error in the whole area of the NxN sized block.
  • a meaningful portion in the NxN sized block is an area including a boundary of an object having a certain shape, such a transformation coefficient selection method is not efficient.
  • a transformation coding apparatus for a block including a boundary of an object having a certain shape, the transformation coding apparatus comprising:
  • said transformation coefficient select means comprises:
  • said pattern former comprises:
  • said comparator comprises:
  • said block selector selects and outputs an input block in the process of selecting a first transformation coefficient, and selects and outputs an error block between the pattern block with respect to the transformation coefficient which has been selected in the previous process and the input block in the process of selecting the following transformation coefficient.
  • said selector selects a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by said mean square error calculator with respect to the amount of variation of the bit quantity which is calculated by said bit quantity variation calculator accordingly to output the select index.
  • a transformation coding apparatus for a block including a boundary of an object having a certain shape includes a transformer 31 for DCT-transforming an NxN sized input block Bi and outputting NxN transformation coefficients F1, a transformation coefficient selector 32 for selecting and outputting transformation coefficients using the transformation coefficients F1 and the input block Bi, an inverse transformer 33 for inversely transforming the selected transformation coefficients Fs and outputting a restored block, an encoder 34 for variable-length-coding the selected coefficients Fs, and a repetition controller 35 for calculating a mean square error of the input block Bi and the restored block Br, comparing the calculated result with a predetermined reference value and outputting a control signal for completing coefficient selection in the transformation coefficient selector 32, if the calculated mean square error is smaller than the reference value.
  • Figure 4 is a detailed block diagram of the transformation coefficient selector of Figure 3.
  • the transformation coefficient selector 32 includes: a block selector 41 for receiving the input block Bi and selecting one of the input block Bi and the error block and outputting a selected block Bd; a pattern former 42 for receiving transformation coefficients of the input block Bi from the transformer 31 and forming and outputting pattern blocks Bp(n) with respect to the individual transformation coefficients, and for storing the pattern blocks and outputting pattern blocks Bp(k) corresponding to an input select index; a comparator 43 for selecting a pattern block which best-matches a block Bd selected in the block selector 41 among the pattern blocks Bp(n) and outputting the select index; a coefficient restoring portion 44 for restoring the transformation coefficient corresponding to the select index selected by the comparator 43; an error calculator 45 for calculating an error between the block Bd selected by the block selector 41 and the pattern block Bp(k) corresponding to the select index input from the pattern former 42, and producing an error block to then output the produced error
  • Figure 5 is a detailed block diagram of the pattern former of Figure 4.
  • the pattern former 42 of Figure 4 includes: an inverse transformer 51 for performing inverse transformation with respect to the input NxN transformation coefficients, forming the NxN pattern blocks Bp(n), and outputting the pattern blocks Bp(n) to the comparator 43; a memory 52 for storing the pattern blocks Bp(n) output from the inverse transformer 51; and a controller 53 for outputting pattern blocks Bp(k) corresponding to the select index among the pattern blocks Bp(n) which are stored in the memory 52 according to the select index input from the comparator 43, to the error calculator 45.
  • Figure 6 is a detailed block diagram of the comparator of Figure 4.
  • the comparator of Figure 4 includes: a mean square error calculator 61 for calculating a mean square error of the pattern block with respect to the respective coefficients of the block Bd selected by the block selector 41 and the NxN pattern blocks Bp(n) input from the pattern former 42; a bit quantity variation calculator 62 for calculating an amount of variation of the bit quantity generated by additionally adding one coefficient to the bit quantity of the selected coefficients; and a selector 63 for selecting a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by the mean square error calculator 61 with respect to the amount of variation of the bit quantity which is calculated by the bit quantity variation calculator 62 for the NxN pattern block.
  • the transformer 31 shown in Figure 3 DCT-transforms the NxN sized block Bi input from the video divider 11 in the general encoding apparatus shown in Figure 1 to produce the NxN transformation coefficients F1.
  • the transformation coefficients F1 are input to the transformation coefficient selector 32.
  • the transformation coefficient selector 32 uses the input NxN transformation coefficients and the input block Bi, and then selects and outputs the transformation coefficient Fs among the NxN transformation coefficients.
  • the block selector 41 selects and outputs an input block Bi input from the video divider 11 in the process of selecting a first transformation coefficient, and selects and outputs an error block between the pattern block Bp(k) with respect to the transformation coefficient which has been selected in the previous process and the input block Bi in the process of selecting the following transformation coefficient.
  • the pattern former 42 forms, outputs and stores pattern blocks Bp(n) with respect to the individual NxN transformation coefficients input from the transformer 31. Also, if the select index k is input, the pattern blocks Bp(k) corresponding to an input select index k among the stored pattern blocks Bp(n) are output.
  • the operation of the pattern former 42 will be described with reference to a detailed block diagram of the pattern former shown in Figure 5.
  • the inverse transformer 51 performs inverse transformation with respect to each of the input NxN transformation coefficients input from the transformer 31, and forms the NxN pattern blocks Bp(n) to output the same.
  • the pattern blocks Bp(n) are output to the comparator 43 and are also stored in the memory 52 of the pattern former 42.
  • the memory 52 stores the pattern blocks Bp(n) output from the inverse transformer 51.
  • the controller 53 receives the select index k and outputs pattern blocks Bp(k) corresponding to the select index among the pattern blocks Bp(n) which are stored in the memory 52 according to the select index input from the comparator 43, to the error calculator 45.
  • the comparator 43 selects a pattern block which best-matches a block Bd selected in the block selector 41 among the pattern blocks Bp(n) input from the pattern former 42 and outputs the select index k.
  • the mean square error calculator 61 calculates a mean square error of the pattern block Bd input from the block selector 41 and the pattern blocks Bp(n) input from the pattern former 42, with respect to all the pattern blocks which have not been selected until then, and outputs the results as ⁇ MSE(n) with respect to each pattern block.
  • the bit quantity variation calculator 62 calculates and stores the bit quantity of the coefficients which have been selected until then, and calculates an amount of variation of the bit quantity generated according to any additional coefficient to output the calculated result as ⁇ bit(n).
  • the selector 63 receives the mean square error ⁇ MSE(n) and the amount of variation of the bit quantity ⁇ bit(n) and selects a pattern block of a coefficient which maximizes a ratio ⁇ MSE(n)/ ⁇ bit(n) of the mean square error with respect to the amount of variation of the bit quantity, to thereby output the index k as a select index. That is, the selector 63 outputs the select index k which maximizes a ratio of the mean square error ⁇ MSE(k) which is decreased according to the added k-th coefficient, with respect to the amount ⁇ bit(k) of variation of the bit quantity which is increased according to the added k-th coefficient among the NxN coefficients.
  • the coefficient restoring portion 44 receives the select index k selected by the comparator 43 and restores and outputs the transformation coefficient corresponding to the select index k.
  • the output transformation coefficient is a select index output from the transformation coefficient selector 32.
  • the error calculator 45 calculates an error between the block Bd selected by the block selector 41 and the pattern block Bp(k) corresponding to the select index input from the pattern former 42, and produces an error block to then output the produced error block to the block selector 41.
  • the completion controller 46 completes selection of the pattern block by the comparator 43 according to the control signal input from the repetition controller 35. That is, the completion controller 46 completes the selection of the transformation coefficient by the transformation coefficient selector 32 if the mean square error between the restored block with respect to the selected transformation coefficients and the input block is smaller than the predetermined reference value.
  • the inverse transformer 33 inversely transforms the transformation coefficients Fs selected by the transformation coefficient selector 32, and then produces the restored block Br.
  • the encoder 34 variable-length-codes the transformation coefficients Fs selected by the transformation coefficient selector 32, and then outputs the encoded data.
  • the repetition controller 35 calculates a mean square error between the transformation coefficient selector 32 and the restored block Br and then allows the transformation coefficient selector 32 to complete the selection of the transformation coefficient if the calculated mean square error is smaller than the reference value in the result of comparison of the latter with the former.
  • the transformation coding apparatus for a block including a boundary of an object having a certain shape selects a select coefficient which maximizes a ratio of the mean square error ⁇ MSE(k) which is decreased according to the added select coefficient (k-th coefficient), with respect to the amount ⁇ MSE(k) of variation of the bit quantity which is increased according to the added coefficient (k-th coefficient) when selecting a transformation coefficient, to thereby enhance an original quality of picture and reduce the amount of the necessary bits.

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)
  • Image Processing (AREA)

Abstract

A transformation coding apparatus for a block including a boundary of an object having a certain shape is provided, which includes a transformer (31) for transforming an input block and outputting transformation coefficients, a transformation coefficient selector (32) for selecting and outputting transformation coefficients using the transformation coefficients and the input block, an inverse transformer (33) for inversely transforming the transformation coefficients selected by the transformation coefficient select means and outputting a restored block, an encoder (34) for variable-length-coding the select coefficients selected by the transformation coefficient select means (32) and a repetition controller (32) for calculating a mean square error of the input block and the restored block, comparing the calculated result with a predetermined reference value and determining whether or not coefficient selection is continued. The transformation coding apparatus for a block including a boundary of an object having a certain shape selects a select coefficient which maximizes a ratio of the mean square error ΔMSE(k) which is decreased according to the added select coefficient (k-th coefficient), with respect to the amount ΔMSE(k) of variation of the bit quantity which is increased according to the added coefficient (k-th coefficient) when selecting a transformation coefficient, to thereby enhance an original quality of picture and reduce the amount of the necessary bits.

Description

  • The present invention relates to transformation coding apparatus for a block including a boundary of an object having a certain shape and more particularly, but not necessarily exclusively, to a transformation coding apparatus for a block including a boundary of an object having a certain shape which effectively accomplishes transformation coding by selecting a transformation coefficient considering a restoring quality of picture of an area including a boundary of an object having a certain shape.
  • Generally, transformation coding is performed to reduce an amount of data by removing redundancy of a video signal. In transformation coding, a picture frame is divided into blocks each having a size of NxN data, and transformation coding is performed for each block, to thereby convert a video signal in a spatial domain into a signal in a frequency domain. According to such a transformation coding, the energy of a signal (the value of a transformation coefficient) is chiefly concentrated in a lower frequency band. For the above transformation coding, a discrete cosine transformation is most widely used. The transformation coding also proposes a coding technology for further compressing an amount of data by quantizing the transformation coefficients and variable-length-coding the quantized data.
  • Since the transformation coding technology performs transformation coding with respect to an NxN sized rectangular block, it is inefficient to perform a general transformation coding when a boundary of an object of a certain shape is included in a particular block. Thus, when a boundary of an object of a certain shape is included in a particular block, a transformation coding method for separately transforming the area of the object having a certain shape and the other background area has been proposed.
  • Figure 1 is a block diagram of a general encoding apparatus for encoding an input video signal. As shown in the drawing, the general encoding apparatus includes a video divider 11. The video divider 11 divides the input video into blocks each having a size of NxN data. The NxN blocks are applied to a block controller 12 and a first switch 13. The block controller 12 judges whether each input block of the NxN data includes a boundary of an object of a certain shape, and controls the first switch 13 according to the judgement result. The first switch 13 applies the NxN sized blocks input from the video divider 11 to a first encoder 14 or a second encoder 15 under the control of the block controller 12. The control operation of the block controller 12 will be described in more detail below. If the input block does not include a boundary of an object having a certain shape according to the judgement of the block controller 12, the block controller 12 controls the first switch 13 to apply the input block to the first encoder 14. On the contrary, if the input block includes a boundary of an object having a certain shape according to the judgement of the block controller 12, the block controller 12 controls the first switch 13 to apply the input block to the second encoder 15. The first encoder 14 encodes a video signal block according to a general transformation coding method. The second encoder 15 performs transformation coding for a block including a boundary of an object of a certain shape, which will be described later. A second switch 16 is selectively connected to the outputs of the first encoder 14 and the second encoder 15. The second switch 16 also operates under the control of the block controller 12. In more detail, if the input block does not include a boundary of an object having a certain shape according to the judgement of the block controller 12, the block controller 12 controls !he second switch 16 to select the output of the first encoder 14. On the contrary, if the input block includes a boundary of an object having a certain shape according to the judgement of the block controller 12, the block controller 12 controls the second switch 16 to select the output of the second encoder 15. Thus, the second switch 16 outputs the transformation coded data with respect to the input blocks.
  • Figure 2A is a detailed block diagram of the second encoder of the Figure 1 apparatus, and Figure 2B is a view for explaining an area requiring transformation coefficient selection in the second encoder of Figure 2A. That is, Figure 2A is a transformation coding apparatus for a block including a boundary of an object having a certain shape according to the prior art.
  • As described above, the second encoder 15 performs transformation coding for a block including a boundary of an object having a certain shape. A transformer 21 discrete-cosine-transforms (hereinafter abbreviated as DCT-transforms) input NxN blocks (Bi) including a boundary of an object having a certain shape input from the video divider 11, to produce NxN transformation coefficients F1 which are input to a coefficient selector 22. The coefficient selector 22 selects M particular coefficients from the input NxN transformation coefficients F1 and sets the other transformation coefficients as zeros. The select coefficients Fs selected by the coefficient selector 22 are input to an inverse transformer 23. The inverse transformer 23 inversely transforms the input select coefficients Fs to restore a block, which is called a restored block Br. The restored block Br is input to a repetition controller 25. The repetition controller 25 calculates a mean square error of the input block Bi and the restored Br and compares the mean square error with a predetermined reference value. When the repetition controller 25 calculates the mean square error, it calculates the mean square error only with respect to the area including a boundary of an object having a certain shape. As shown in Figure 2A, when the area including a boundary of an object having a certain shape is indicated as a character "S", a mean square error is calculated only with respect to pixels within the "S" area. If a mean square error calculated by the repetition controller 25 is larger than a predetermined reference value, the repetition controller 25 replaces pixel data of an area "S" including a boundary of an object having a certain shape in the restored block Br by pixel data in a corresponding area of the input block Bi, to form a reconstructed block Br', which is input to the transformer 21. The transformer 21 DCT-transforms the input reconstructed blocks (Br') to produce NxN transformation coefficients which are input to the coefficient selector 22. The coefficient selector 22 selects M particular coefficients. The select coefficients selected by the coefficient selector 22 are inversely transformed in the inverse transformer 23 to produce a restored block Br. The repetition controller 25 calculates a mean square error of the input block Bi and the restored Br. The above processes are repeated until the mean square error is smaller than a predetermined reference value. When the mean square error calculated by the repetition controller 25 is smaller than a predetermined reference value, the coefficient select by the coefficient selector is completed. If the coefficient selection is completed, the coefficient selector 22 outputs the selected coefficients to an encoder 24, which encodes the selected coefficient and finally outputs the encoded data.
  • In the above general apparatus, the coefficient selector 22 selects M coefficients in sequence of a larger value of energy among the NxN transformation coefficients, which minimizes an error in the whole area of the NxN sized block. However, since a meaningful portion in the NxN sized block is an area including a boundary of an object having a certain shape, such a transformation coefficient selection method is not efficient.
  • It is an aim of preferred embodiments of the present invention to provide a transformation coding apparatus for a block including a boundary of an object having a certain shape which performs transformation considering a restoring quality of picture with respect to an area including a boundary of an object having a certain shape in the block not a restoring quality of picture with respect to the whole blocks when selecting coefficients.
  • According to the present invention, there is provided a transformation coding apparatus for a block including a boundary of an object having a certain shape, the transformation coding apparatus comprising:
    • transformer means for transforming an input block and outputting transformation coefficients;
    • transformation coefficient select means for selecting and outputting transformation coefficients using the transformation coefficients and the input block;
    • inverse transformer means for inversely transforming the transformation coefficients selected by the transformation coefficient select means and outputting a restored block;
    • encoding means for variable-length-coding the select coefficients selected by the transformation coefficient select means; and
    • a repetition controller for calculating a mean square error of the input block and the restored block, comparing the calculated result with a predetermined reference value and determining whether or not coefficient selected is continued.
  • Suitably, said transformation coefficient select means comprises:
    • a block selector for selecting one of the input block and the error block and outputting a selected block;
    • a pattern former for receiving transformation coefficients of the input block from said transformer means and forming and outputting pattern blocks with respect to the individual transformation coefficients, and for storing the pattern blocks and outputting pattern blocks corresponding to an input select index;
    • a comparator for selecting a pattern block which best-matches a block selected in the block selector among the pattern blocks and outputting the select index;
    • a coefficient restoring portion for restoring the transformation coefficient corresponding to the select index selected by the comparator;
    • an error calculator for calculating an error between the block selected by the block selector and the pattern block corresponding to the select index input from the pattern former, and producing an error block to then output the produced error block to the block selector; and
    • a completion controller for completing selection of the pattern block in the comparator according to the control signal input from the repetition controller.
  • Suitably, said pattern former comprises:
    • an inverse transformer for performing inverse transformation with respect to the input NxN transformation coefficients, forming the NxN pattern blocks, and outputting the pattern blocks to the comparator;
    • a memory for storing the pattern blocks output from the inverse transformer; and
    • a controller for outputting pattern blocks corresponding to the select index among the pattern blocks which are stored in the memory according to the select index input from the comparator, to the error calculator.
  • Suitably, said comparator comprises:
    • a mean square error calculator for calculating a mean square error of the pattern block with respect to the respective coefficients of the block selected by the block selector and the NxN pattern blocks input from the pattern former;
    • a bit quantity variation calculator for calculating an amount of variation of the bit quantity generated by additionally adding one coefficient to the bit quantity of the selected coefficients; and
    • a selector for selecting a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by the mean square error calculator with respect to the amount of variation of the bit quantity which is calculated by the bit quantity variation calculator for the NxN pattern block.
  • Suitably, said block selector selects and outputs an input block in the process of selecting a first transformation coefficient, and selects and outputs an error block between the pattern block with respect to the transformation coefficient which has been selected in the previous process and the input block in the process of selecting the following transformation coefficient.
  • Suitably, said selector selects a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by said mean square error calculator with respect to the amount of variation of the bit quantity which is calculated by said bit quantity variation calculator accordingly to output the select index.
  • A preferred embodiment of the present invention is described, by way of example only, with reference to the drawings; wherein:
    • Figure 1 is a block diagram of a general encoding apparatus for encoding an input video signal;
    • Figure 2A is a block diagram of a second encoder in the Figure 1 apparatus, which is a transformation coding apparatus for a block including a boundary of an object having a certain shape according to prior art;
    • Figure 2B is a view for explaining an area requiring transformation coefficient selection in the second encoder of Figure 2A;
    • Figure 3 is a block diagram of a transformation coding apparatus for a block including a boundary of an object having a certain shape according to a preferred embodiment of the present invention;
    • Figure 4 is a detailed block diagram of the transformation coefficient selector of Figure 3;
    • Figure 5 is a detailed block diagram of the pattern former of Figure 4; and
    • Figure 6 is a detailed block diagram of the comparator of Figure 4.
  • A preferred embodiment of the present invention will be described below in more detail with reference to the accompanying drawings.
  • As shown in Figure 3, a transformation coding apparatus for a block including a boundary of an object having a certain shape according to the present invention, includes a transformer 31 for DCT-transforming an NxN sized input block Bi and outputting NxN transformation coefficients F1, a transformation coefficient selector 32 for selecting and outputting transformation coefficients using the transformation coefficients F1 and the input block Bi, an inverse transformer 33 for inversely transforming the selected transformation coefficients Fs and outputting a restored block, an encoder 34 for variable-length-coding the selected coefficients Fs, and a repetition controller 35 for calculating a mean square error of the input block Bi and the restored block Br, comparing the calculated result with a predetermined reference value and outputting a control signal for completing coefficient selection in the transformation coefficient selector 32, if the calculated mean square error is smaller than the reference value.
  • Figure 4 is a detailed block diagram of the transformation coefficient selector of Figure 3. As shown in Figure 4, the transformation coefficient selector 32 includes: a block selector 41 for receiving the input block Bi and selecting one of the input block Bi and the error block and outputting a selected block Bd; a pattern former 42 for receiving transformation coefficients of the input block Bi from the transformer 31 and forming and outputting pattern blocks Bp(n) with respect to the individual transformation coefficients, and for storing the pattern blocks and outputting pattern blocks Bp(k) corresponding to an input select index; a comparator 43 for selecting a pattern block which best-matches a block Bd selected in the block selector 41 among the pattern blocks Bp(n) and outputting the select index; a coefficient restoring portion 44 for restoring the transformation coefficient corresponding to the select index selected by the comparator 43; an error calculator 45 for calculating an error between the block Bd selected by the block selector 41 and the pattern block Bp(k) corresponding to the select index input from the pattern former 42, and producing an error block to then output the produced error block to the block selector 41; and a completion controller 46 for completing selection of the pattern block in the comparator 43 according to the control signal input from the repetition controller 35.
  • Figure 5 is a detailed block diagram of the pattern former of Figure 4. As shown in Figure 5, the pattern former 42 of Figure 4 includes: an inverse transformer 51 for performing inverse transformation with respect to the input NxN transformation coefficients, forming the NxN pattern blocks Bp(n), and outputting the pattern blocks Bp(n) to the comparator 43; a memory 52 for storing the pattern blocks Bp(n) output from the inverse transformer 51; and a controller 53 for outputting pattern blocks Bp(k) corresponding to the select index among the pattern blocks Bp(n) which are stored in the memory 52 according to the select index input from the comparator 43, to the error calculator 45.
  • Figure 6 is a detailed block diagram of the comparator of Figure 4. As shown in Figure 6, the comparator of Figure 4 includes: a mean square error calculator 61 for calculating a mean square error of the pattern block with respect to the respective coefficients of the block Bd selected by the block selector 41 and the NxN pattern blocks Bp(n) input from the pattern former 42; a bit quantity variation calculator 62 for calculating an amount of variation of the bit quantity generated by additionally adding one coefficient to the bit quantity of the selected coefficients; and a selector 63 for selecting a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by the mean square error calculator 61 with respect to the amount of variation of the bit quantity which is calculated by the bit quantity variation calculator 62 for the NxN pattern block.
  • The operation of the transformation coding apparatus for a block including a boundary of an object having a certain shape according to this preferred embodiment of the present invention constructed as above will be described in more detail below.
  • The transformer 31 shown in Figure 3, DCT-transforms the NxN sized block Bi input from the video divider 11 in the general encoding apparatus shown in Figure 1 to produce the NxN transformation coefficients F1. The transformation coefficients F1 are input to the transformation coefficient selector 32. The transformation coefficient selector 32 uses the input NxN transformation coefficients and the input block Bi, and then selects and outputs the transformation coefficient Fs among the NxN transformation coefficients.
  • The procedure of selecting a predetermined number of the transformation coefficients in the transformation coefficient selector 32 will be described with reference to a detailed block diagram of the transformation coefficient selector 32 shown in Figure 4.
  • The block selector 41 selects and outputs an input block Bi input from the video divider 11 in the process of selecting a first transformation coefficient, and selects and outputs an error block between the pattern block Bp(k) with respect to the transformation coefficient which has been selected in the previous process and the input block Bi in the process of selecting the following transformation coefficient.
  • The pattern former 42 forms, outputs and stores pattern blocks Bp(n) with respect to the individual NxN transformation coefficients input from the transformer 31. Also, if the select index k is input, the pattern blocks Bp(k) corresponding to an input select index k among the stored pattern blocks Bp(n) are output. The operation of the pattern former 42 will be described with reference to a detailed block diagram of the pattern former shown in Figure 5. The inverse transformer 51 performs inverse transformation with respect to each of the input NxN transformation coefficients input from the transformer 31, and forms the NxN pattern blocks Bp(n) to output the same. The pattern blocks Bp(n) are output to the comparator 43 and are also stored in the memory 52 of the pattern former 42. The memory 52 stores the pattern blocks Bp(n) output from the inverse transformer 51. The controller 53 receives the select index k and outputs pattern blocks Bp(k) corresponding to the select index among the pattern blocks Bp(n) which are stored in the memory 52 according to the select index input from the comparator 43, to the error calculator 45.
  • The comparator 43 selects a pattern block which best-matches a block Bd selected in the block selector 41 among the pattern blocks Bp(n) input from the pattern former 42 and outputs the select index k.
  • The selection operation of the pattern block in the comparator 43 will be described with reference to a detailed block diagram of the comparator 31 shown in Figure 6. The mean square error calculator 61 calculates a mean square error of the pattern block Bd input from the block selector 41 and the pattern blocks Bp(n) input from the pattern former 42, with respect to all the pattern blocks which have not been selected until then, and outputs the results as ΔMSE(n) with respect to each pattern block. The bit quantity variation calculator 62 calculates and stores the bit quantity of the coefficients which have been selected until then, and calculates an amount of variation of the bit quantity generated according to any additional coefficient to output the calculated result as Δbit(n). The selector 63 receives the mean square error ΔMSE(n) and the amount of variation of the bit quantity Δbit(n) and selects a pattern block of a coefficient which maximizes a ratio ΔMSE(n)/Δbit(n) of the mean square error with respect to the amount of variation of the bit quantity, to thereby output the index k as a select index. That is, the selector 63 outputs the select index k which maximizes a ratio of the mean square error ΔMSE(k) which is decreased according to the added k-th coefficient, with respect to the amount Δbit(k) of variation of the bit quantity which is increased according to the added k-th coefficient among the NxN coefficients.
  • The coefficient restoring portion 44 receives the select index k selected by the comparator 43 and restores and outputs the transformation coefficient corresponding to the select index k. The output transformation coefficient is a select index output from the transformation coefficient selector 32.
  • The error calculator 45 calculates an error between the block Bd selected by the block selector 41 and the pattern block Bp(k) corresponding to the select index input from the pattern former 42, and produces an error block to then output the produced error block to the block selector 41.
  • The completion controller 46 completes selection of the pattern block by the comparator 43 according to the control signal input from the repetition controller 35. That is, the completion controller 46 completes the selection of the transformation coefficient by the transformation coefficient selector 32 if the mean square error between the restored block with respect to the selected transformation coefficients and the input block is smaller than the predetermined reference value.
  • Thus far, the operation of the transformation coefficient selector 32 has been described. Returning to Figure 3, the inverse transformer 33 inversely transforms the transformation coefficients Fs selected by the transformation coefficient selector 32, and then produces the restored block Br. The encoder 34 variable-length-codes the transformation coefficients Fs selected by the transformation coefficient selector 32, and then outputs the encoded data. The repetition controller 35 calculates a mean square error between the transformation coefficient selector 32 and the restored block Br and then allows the transformation coefficient selector 32 to complete the selection of the transformation coefficient if the calculated mean square error is smaller than the reference value in the result of comparison of the latter with the former.
  • As described above, the transformation coding apparatus for a block including a boundary of an object having a certain shape according to the present invention selects a select coefficient which maximizes a ratio of the mean square error ΔMSE(k) which is decreased according to the added select coefficient (k-th coefficient), with respect to the amount ΔMSE(k) of variation of the bit quantity which is increased according to the added coefficient (k-th coefficient) when selecting a transformation coefficient, to thereby enhance an original quality of picture and reduce the amount of the necessary bits.
  • While only certain embodiments of the invention have been specifically described herein, it will be apparent that numerous modifications may be made thereto without departing from the spirit and scope of the invention.
  • The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.
  • All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.
  • Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
  • The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed.

Claims (6)

  1. A transformation coding apparatus for a block including a boundary of an object having a certain shape, the transformation coding apparatus comprising:
    transformer means (31) for transforming an input block and outputting transformation coefficients;
    transformation coefficient select means (32) for selecting and outputting transformation coefficients using the transformation coefficients and the input block;
    inverse transformer means (33) for inversely transforming the transformation coefficients selected by the transformation coefficient select means (32) and outputting a restored block;
    encoding means (34) for variable-length-coding the select coefficients selected by the transformation coefficient select means (32); and
    a repetition controller (35) for calculating a mean square error of the input block and the restored block, comparing the calculated result with a predetermined reference value and determining whether or not coefficient selection is continued.
  2. A transformation coding apparatus for a block including a boundary of an object having a certain shape according to claim 1, wherein said transformation coefficient select means (32) comprises:
    a block selector (41) for selecting one of the input block and the error block and outputting a selected block;
    a pattern former (42) for receiving transformation coefficients of the input block from said transformer means (31) and forming and outputting pattern blocks with respect to the individual transformation coefficients, and for storing the pattern blocks and outputting pattern blocks corresponding to an input select index;
    a comparator (43) for selecting a pattern block which best-matches a block selected in the block selector (41) among the pattern blocks and outputting the select index;
    a coefficient restoring portion (44) for restoring the transformation coefficient corresponding to the select index selected by the comparator (43);
    an error calculator (45) for calculating an error between the block selected by the block selector (41) and the pattern block corresponding to the select index input from the pattern former (42), and producing an error block to then output the produced error block to the block selector (41); and
    a completion controller (46) for completing selection of the pattern block in the comparator (43) according to the control signal input from the repetition controller (35).
  3. A transformation coding apparatus for a block including a boundary of an object having a certain shape according to claim 2, wherein said pattern former (42) comprises:
    an inverse transformer (51) for performing inverse transformation with respect to the input NxN transformation coefficients, forming the NxN pattern blocks, and outputting the pattern blocks to the comparator (43);
    a memory (52) for storing the pattern blocks output from the inverse transformer (51); and
    a controller (53) for outputting pattern blocks corresponding to the select index among the pattern blocks which are stored in the memory (52) according to the select index input from the comparator (43), to the error calculator (45).
  4. A transformation coding apparatus for a block including a boundary of an object having a certain shape according to claim 2 or claim 3, wherein said comparator (43) comprises:
    a mean square error calculator (61) for calculating a mean square error of the pattern block with respect to the respective coefficients of the block selected by the block selector (41) and the NxN pattern blocks input from the pattern former (42);
    a bit quantity variation calculator (62) for calculating an amount of variation of the bit quantity generated by additionally adding one coefficient to the bit quantity of the selected coefficients; and
    a selector (63) for selecting a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by the mean square error calculator (61) with respect to the amount of variation of the bit quantity which is calculated by the bit quantity variation calculator (62) for the NxN pattern block.
  5. A transformation coding apparatus for a block including a boundary of an object having a certain shape according to any one of claims 2-4, wherein said block selector (41) selects and outputs an input block in the process of selecting a first transformation coefficient, and selects and outputs an error block between the pattern block with respect to the transformation coefficient which has been selected in the previous process and the input block in the process of selecting the following transformation coefficient.
  6. A transformation coding apparatus for a block including a boundary of an object having a certain shape according to any one of claims 2-5, wherein said block selector (41) selects a pattern block of a coefficient which maximizes a ratio of a mean square error which is calculated by said mean square error calculator (61) with respect to the amount of variation of the bit quantity which is calculated by said bit quantity variation calculator (62) accordingly to output the select index.
EP19960308597 1995-11-29 1996-11-28 Transform coding of arbitrarily shaped image segments Expired - Lifetime EP0783230B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR19950044958 1995-11-29
KR9544958 1995-11-29
KR1019960049253A KR100228671B1 (en) 1995-11-29 1996-10-28 Conversion coder for block including border of object in optional shape
KR9649253 1996-10-28

Publications (3)

Publication Number Publication Date
EP0783230A2 true EP0783230A2 (en) 1997-07-09
EP0783230A3 EP0783230A3 (en) 1999-10-20
EP0783230B1 EP0783230B1 (en) 2002-03-06

Family

ID=26631438

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19960308597 Expired - Lifetime EP0783230B1 (en) 1995-11-29 1996-11-28 Transform coding of arbitrarily shaped image segments

Country Status (6)

Country Link
US (1) US5715004A (en)
EP (1) EP0783230B1 (en)
JP (1) JP3094390B2 (en)
CN (1) CN1104141C (en)
DE (1) DE69619644T2 (en)
ES (1) ES2174033T3 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160503A (en) * 1992-02-19 2000-12-12 8×8, Inc. Deblocking filter for encoder/decoder arrangement and method with divergence reduction
US5828784A (en) * 1992-07-13 1998-10-27 Hitachi Denshi Kabushiki Kaisha Data coding method and apparatus using a plurality of blocks of different length
KR20140071809A (en) * 2012-12-04 2014-06-12 삼성전자주식회사 Method for Processing Video Data and Device Thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189748A (en) * 1977-08-23 1980-02-19 Northrop Corporation Video bandwidth reduction system using a two-dimensional transformation, and an adaptive filter with error correction
US5038390A (en) * 1990-06-05 1991-08-06 Kabushiki Kaisha Toshiba Method of transform data compression using save-maps
US5177799A (en) * 1990-07-03 1993-01-05 Kokusai Electric Co., Ltd. Speech encoder
US5309231A (en) * 1991-06-14 1994-05-03 Kokusai Denshin Denwa Co., Ltd. Adaptive encoding system of moving picture frame
EP0649258A2 (en) * 1993-10-15 1995-04-19 AT&T Corp. Block transform coder for arbitrarily shaped image segments
WO1995022228A1 (en) * 1994-02-15 1995-08-17 Sony Corporation Method and device for encoding image signal

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970009408B1 (en) * 1994-01-18 1997-06-13 대우전자 주식회사 Inter/intra table selection circuit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189748A (en) * 1977-08-23 1980-02-19 Northrop Corporation Video bandwidth reduction system using a two-dimensional transformation, and an adaptive filter with error correction
US5038390A (en) * 1990-06-05 1991-08-06 Kabushiki Kaisha Toshiba Method of transform data compression using save-maps
US5177799A (en) * 1990-07-03 1993-01-05 Kokusai Electric Co., Ltd. Speech encoder
US5309231A (en) * 1991-06-14 1994-05-03 Kokusai Denshin Denwa Co., Ltd. Adaptive encoding system of moving picture frame
EP0649258A2 (en) * 1993-10-15 1995-04-19 AT&T Corp. Block transform coder for arbitrarily shaped image segments
WO1995022228A1 (en) * 1994-02-15 1995-08-17 Sony Corporation Method and device for encoding image signal

Also Published As

Publication number Publication date
US5715004A (en) 1998-02-03
JP3094390B2 (en) 2000-10-03
EP0783230A3 (en) 1999-10-20
CN1104141C (en) 2003-03-26
JPH09224248A (en) 1997-08-26
CN1159684A (en) 1997-09-17
DE69619644T2 (en) 2002-08-01
EP0783230B1 (en) 2002-03-06
DE69619644D1 (en) 2002-04-11
ES2174033T3 (en) 2002-11-01

Similar Documents

Publication Publication Date Title
US5534925A (en) Image compression by optimal reconstruction
JP3135061B2 (en) Image decoding method
US6567559B1 (en) Hybrid image compression with compression ratio control
US5583657A (en) Method and apparatus for scanning image data
US5719961A (en) Adaptive technique for encoder and decoder signal transformation
US6118900A (en) Image coding device and image decoding device for use with image disassembly
US6912318B2 (en) Method and system for compressing motion image information
US5754702A (en) Scale oriented interband prediction method for image data compression and reconstruction
KR960040018A (en) Wavelet Image Compression / Restoration Apparatus and Method Using Human Visual System Modeling
CN1163686A (en) Method and system for encoding and decoding method and system
JP3087835B2 (en) Image encoding method and apparatus and image decoding method and apparatus
US20050089234A1 (en) Context-sensitive encoding and decoding of a video data stream
EP0783230A2 (en) Transform coding of arbitrarily shaped image segments
AU772599B2 (en) Improving compressed image appearance using stochastic resonance and energy replacement
US5737021A (en) Transform coefficient selection method and apparatus for a transform coding system
US6356666B1 (en) Image compressing/expanding method and image compression expanding device
JPH04247770A (en) Picture data compression method, picture data compression device and picture data restoring device
JP2537246B2 (en) Image coding method
JP2500583B2 (en) Image signal quantization characteristic control method and image signal compression coding apparatus
JP2862022B2 (en) Image coding method
JPH09275498A (en) Image compressing method
KR100228671B1 (en) Conversion coder for block including border of object in optional shape
JP3265928B2 (en) Fractal image compression device
JPH05244435A (en) Hierarchical coding method for picture and picture coder
JP3339256B2 (en) Fractal image compression data restoration device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19961219

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): DE ES GB

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE ES GB

17Q First examination report despatched

Effective date: 20000512

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE ES GB

REF Corresponds to:

Ref document number: 69619644

Country of ref document: DE

Date of ref document: 20020411

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2174033

Country of ref document: ES

Kind code of ref document: T3

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20021209

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20131113

Year of fee payment: 18

Ref country code: GB

Payment date: 20131112

Year of fee payment: 18

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20131120

Year of fee payment: 18

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 69619644

Country of ref document: DE

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20141128

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20150602

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20141128

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 20151229

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20141129