Coding and decoding

Abstract: A method and apparatus are disclosed for performing coding and decoding of a still image or an active image which is coded by intra frame coding. The coding system estimates the displacement of a most similar pattern block with present block data for coding from coded frame data, transmits a displacement vector, codes the data with lower energy level between present block data and differential data, and transmits it to a decoder. The decoding system decodes the transmitted data using displacement compensation according to the transmitted displacement vector, and thus outputs the decoded still image. As a result, the coding/decoding system can compress the transmitting data more than a conventional system for coding and decoding a still image.

Description: The present invention relates to coding and decoding digital video data. Recently, a coding and decoding system has been used in sending and receiving a video and audio signal. The coding system codes the video and audio signal into digital data, which is stored in some memory or transmitted to a receiving counterpart. Then the decoding system decodes the coded digital data so as to reconstruct it into the original signal. There have been DPCM (Differential Pulse Code Modulation), Vector Quantizer, and Variable Length Coding utilized in such methods for coding a video and audio signal. The methods are used for removing redundancy data included in the signals to be coded, thus compressing the whole data. As a background to the present invention, a description will be given of coding and decoding of a video signal. Generally, in order to code the video signal, each frame is divided into predetermined blocks, and either each block of data or differential data between the predetermined blocks is transformed by some orthogonal transformation, thereby transforming the video data into transformation coefficients in the frequency domain. There are DCT (Discrete Cosine Transform), WHT (Walsh-Hadamard Transform), DFT (Discrete Fourier Transform), and DST (Discrete Sine Transform) methods of the above type. The transformation coefficients which are obtained by these transformation methods are changed into predetermined representative values. The transmitting data are compressed according to being coded in consideration of the statistical characteristic of the representative values. Reference will now be made to Figures 1 and 2 of the accompanying diagrammatic drawings, in which: Figure 1 is a block diagram showing an example of a conventional coder of video data; and Figure 2 is a block diagram showing an example of a conventional decoder of video data. Figure 1 schematically shows a general coder of video data. The coder of Figure 1 comprises means for transforming input video data by a DCT method and quantizing the transformation coefficients; means for compressing the data according to coding of the quantized data by variable length coding; means for dequantizing and inverse-transforming the quantized data, thereby closely reconstructing the original data before DCT transformation; means for reconstructing frame data with the reconstructed block data; and means for performing motion estimation and motion compensation from the reconstructed frame data and a present block data for coding. Video data of "NxN" (which is generally represented as "N1xN2", and which for the convenience of explanation, is assumed as "N1=N2=N" of unit pixels) are input via input terminal 10, and block video data and feedback video data are used for calculating differential data by a first adder A1. The differential data are transformed into transformation coefficients in the frequency domain by a DCT method in orthogonal transformer 11. Then, the energy components of transformation coefficients are gathered to low frequency. A quantizer 12 changes the transformation coefficients into the representative values which have a predetermined level, taking the energy level distribution of the transformation coefficients into consideration. A variable length coder 13 further compresses the transmitting data (VcD) by variable-length-coding the representative values in consideration of the statistical characteristics of the representative values. Generally, there are many similar portions between a certain frame and its following or previous frame. Thus, in the case of a frame which has slight motion, a motion vector (MV) is calculated by estimating the motion. The block data are compensated using the motion vector (MV) to make the differential data small, and thus the transmitting data can be further compressed. To perform such motion compensation, a dequantizer 14 and an inverse orthogonal transformer 15 dequantize and inverse-transform the quantization coefficients output from quantizer 12, thereby transforming into video data of spatial domain. The inverse-transformed video data are reconstructed differential data corresponding to the differential data output from the first adder A1. The differential data output from the inverse orthogonal transformer 15 are added with feedback block data by the second adder A2 and stored in a frame memory 16, the frame data thereby being reconstructed. A motion estimation unit 17 searches the most similar block data in pattern with NxN data input via the input terminal 10 from the frame data which are stored in the frame memory 16, and then calculates the motion vector (MV) representing motion between two blocks. The motion vector (MV) is transmitted to a receiver in order to be used in a decoding system, and to a motion compensator 18, connected to frame memory 16 and motion estimation unit 17. The motion compensator 18 reads the NxN block from the frame data of the frame memory 16 according to the motion vector (MV) supplied from the motion estimation unit 17, and supplies them to the first adder A 1. As described, the first adder A1 calculates the differential data between NxN block data supplied from the input terminal 10 and similar NxN block data in pattern supplied from the motion compensator 18. The differential data are coded and transmitted to the receiver. Referring to Figure 1, two switches RSW1, RSW2 refresh the video data to be coded in units of a frame or blocks to prevent the accumulation of errors. That is, when refresh switches RSW1, RSW2 are turned on, the DPCM process is performed, while when switches are turned off, the PCM data are output by the first and second adders A1, A2. The coded video data (VcD) are transmitted to the receiver and input to a decoder as shown in Figure 2. The coded video data (VCD) are decoded through an inverse process of variable length coding in a variable length decoder 21. The data output from the variable length decoder 21 are dequantized to transformation coefficients in the frequency domain by a dequantizer 22. An inverse orthogonal-transformer 23 transforms the transformation coefficients in the frequency domain supplied from the dequantizer 22, into video data of the spatial domain. Then, the inverse-transformed video data are reconstructed the differential data corresponding to the differential data calculated from the first adder A1 of coder. The motion vector (MV) in which is calculated and transmitted from the motion estimation unit 17 of coder, is supplied to a motion compensator 24 of decoder. The motion compensator 24 reads NxN data according to the motion vector (MV) from frame data which are stored in a frame memory 25, and supplies them to the adder A. Then, the inverse-transformed differential data and the NxN data supplied from the motion compensator 24 are combined by the adder A and transmitted to a display unit. Accordingly, the coder and decoder are apparatuses for processing an active image by a DPCM method of motion compensation. In the case that a frame for coding is a still image or an active image which is coded by intra frame coding, a part of the above coder and decoder, this is, orthogonal transformer 11, quantizer 12 and variable length coder 13 in the coder, and variable length decoder 21, dequantizer 22 and inverse orthogonal transformer 23 in the decoder, are enough to perform the operation of coding and decoding. For example, an electronic camera which uses a disk or a memory IC instead of a conventional film, or a device for recording a still image in computer, utilizes the coder and decoder comprising the above operation units. In the case of a still image, there exist similar blocks in pattern among blocks of a frame. For instance, in the case where the sky or the sea appears in the background of a frame, a plurality of adjacent blocks to it have similar data in pattern. CCITT SG XV WP/1 Specialist Group on Coding for Visual Telephony, 12 September 1996, Document 1414, pages 1 to 4 is a discussion document on a coding method, known as reference model version 2 (RM2). This coding method concerns principally the coding of moving pictures and making decisions between intra/inter mode coding. The method performs correlation between blocks by means of conventional motion estimation techniques and includes a means for searching within a given search area around an input block to check for similarities between a presently input block and previously as well as future input blocks. However, since a conventional coder and decoder do not utilize such correlations among blocks as described above, concerning still images, there has been a limitation in compressing transmitting data. Preferred embodiments of the present invention aim to provide a coding method with block DPCM for further compressing transmitting data by performing a DPCM process among similar blocks in data pattern in consideration of intra frame correlations among blocks, in either a still image or an active image which is coded by intra frame coding. Another aim is to provide a method for decoding video data coded by a coding method including block DPCM in consideration of correlations among blocks of intra frame, in a still image or active image which is coded by intra frame coding. According to a first aspect of the invention, there is provided a coding method for dividing a frame into a plurality of blocks and coding data of the blocks, with coding of still image data or active image data in an intra frame mode, the method characterized by the steps of: determining a predetermined search area among a number of already received blocks around a present block in reconstructed frame data of a present frame; estimating which block of said number of blocks in said search area is most similar in pattern to said present block and calculating displacement data representing a displacement between the present block and the most similar block; reading data of said similar pattern block from the reconstructed frame data according to said calculated displacement; calculating differential data of said present block and said similar pattern block; comparing an energy level of said differential data with an energy level of data of said present block and outputting mode data according to a coding mode set as a result of the comparison, the coding mode being set to a PCM mode if the energy level of said differential data is greater than the energy level of the data of said present block and being set to a DPCM mode if the energy level of said differential data is less than the energy level of the data of said present block; coding one of said present block data and said differential data according to said set mode; reconstructing said coded data; and reconstructing said frame data by storing in regular sequence the block data obtained from said coded data at said reconstructing step and said similar pattern block data. Preferably, if the coding mode is set to the DPCM mode, the determined mode data and the calculated displacement data are combined at said displacement calculating step into a data pack. Preferably, said search area determining step determines the search area which is composed of blocks being closely adjacent to a present block among previously coded blocks in frame data. Said present block data is preferably coded in the case that said PCM mode is determined at said mode determining step, and said differential data is coded in the case that said DPCM mode is determined at said mode determining step. Preferably, said step for reconstructing said frame data reconstructs the frame data by storing blocks sequentially when said PCM mode is determined at said mode determining step, or by storing data obtained by adding said differential data and said similar pattern block data when said DPCM mode is determined at said mode determining step. In embodiments of the invention a decoding method is provided for decoding data which has been selectively coded with PCM or block DPCM in a still image or active image in an intra frame mode, the decoding method comprising the steps of: receiving transmitted data coded by a method according to the first aspect; decoding said transmitted data to data of the spatial domain; separating said transmitted coded data into mode data and displacement data; reading the block data corresponding to said displacement data from the frame data obtained by a predetermined reconstructing step; and reconstructing said frame data by sequentially storing the block data obtained from calculation of said decoded transmitted data and said read block data according to whether said mode data indicates that a given block has been coded by PCM or DPCM. Preferably, in said step for separating said mode data, predetermined PCM mode data are output when said transmitted data are coded data of a block, and predetermined DPCM mode data are output when said transmitted data are differential data between a present block and a similar pattern block. Preferably, in a step for calculation according to said mode data, said decoded transmitted data are output when said mode data is said PCM mode and said decoded transmitted data and the block data read from said frame data are added and output when said mode data is said DPCM mode. According to a second aspect of the invention, there is provided a coder for dividing a frame into a plurality of blocks and coding data of the blocks, with coding of a still image or an active image in an intra frame mode, the coder being characterized by : a memory for storing data in units of blocks, to thereby enable reconstruction of a present frame of data; means for determining a predetermined search area in said present frame of data; means for receiving present block data to be coded, estimating a most similar pattern block with a present block from previously input blocks within said search area of said present frame of data, and calculating a displacement obtained by said estimation; a displacement compensation means for reading data of said similar pattern block data from said memory according to the displacement supplied from said displacement estimation means; means for calculating differential data between said present block data for coding and the block data output from said displacement compensation means; means for determining a coding mode of transmitting data by comparing an energy level of said present block data with an energy level of said differential data, setting the coding mode to be a PCM mode if the energy level of said differential data is greater than the energy level of said present block data and setting the coding mode to a DPCM mode if the energy level of said differential data is less than the energy level of said present block data and outputting the determined mode data; means for selecting one of said present block data and said differential data according to the mode data from said mode determining means, and coding the selected one; means for reconstructing data output from said coder into an original state before coding; and a second adder for supplying the output data from said reconstructing means, or data which are the result of adding the output data from said reconstructing means and the output data from said displacement compensation means, to said memory in accordance with whether the mode determined by said mode determining means indicates that a block has been coded with PCM or DPCM. Preferably, said search area determining means determines a search area which is composed of blocks adjacent to a present block among previously coded blocks in the frame data which are stored in said memory as a search area. Preferably, there is provided at which said present block data for coding are applied to an input terminal and an output terminal is connected to an input terminal of coding means; and a first switch which is turned on or off according to the output signal of said mode determining means, of which one terminal is connected to the output terminal of said displacement compensation means, and the other is connected to another input terminal of said first adder. Preferably, said first switch is turned off when the output signal of said mode determining means is the PCM mode data, and turned on when it is the DPCM mode data. Preferably, the coder further comprises second switch which is turned on or off according to the output signal of said mode determining means, of which one terminal is connected to the output terminal of said displacement compensation means, and the other is connected to an input terminal of said second adder. Preferably, the second switch is turned off when the output signal of said mode determining means is the PCM mode data, and turned on when it is the DPCM mode data. Preferably, the device further comprises a mode-displacement data combiner which combines the mode data output from said mode determining means with displacement data output from said displacement estimation means and sends mode-displacement data to a transmission channel. In embodiments of the invention, there is provided a device for decoding data coded by block DPCM with a still image or active image in an intra frame mode, the decoder comprising: an input terminal for receiving data coded by a coder according to the second aspect; means for reconstructing the data applied from said input terminal to data of the spatial domain; means for separating transmitting data of the coder into mode data and displacement data, and outputting the same; a memory for storing previously decoded block data in a regular sequence and reconstructing the frame data; a displacement compensation means for reading the block data corresponding to said displacement data from the frame data of said memory; and an adder for selectively adding the output data from said displacement compensation means, to the output data of said reconstructing means according to said mode data, and outputting the same to said memory. Preferably, said mode-displacement data separator outputs predetermined PCM mode data when said reconstructed data are obtained from data which code a block in said coder, and predetermined DPCM mode data when said reconstructed data are obtained from differential data between block data and data of a block with a most similar pattern. The decoder may further comprise a switch which is turned on or off according to said mode data, of which one terminal is connected to an output terminal of said displacement compensation means and the other is connected to an input terminal of said adder. Said switch is preferably turned off when an output signal of said mode-displacement separator is the PCM mode data, and turned on when it is the DPCM mode data. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to Figures 3 to 6 of the accompanying diagrammatic drawings, in which: The objects and features of the present invention will be become more apparent from the consideration of the following detailed description taken in conjunction with the accompanying drawings in which: Figure 3 is a block diagram showing one example of a preferred embodiment of a coder with block DPCM in accordance with the present invention; Figure 4 is a schematic diagram explaining part of an operation in the coder of Figure 3; Figure 5 is a block diagram showing one example of a preferred embodiment of a decoder with block DPCM according to the present invention. Figure 6 is a schematic diagram showing another preferred embodiment related to Figure 4. The coder of Figure 3 comprises a block divider 31 for dividing the video data of a frame into blocks of size NxN; orthogonal transformer 32 for transforming input block data; a quantizer 33 for quantizing transformation coefficients; a variable length coder 34 for rendering the quantization coefficients a variable length coding; a dequantizer 35 for dequantizing the quantization coefficients output from the quantizer 33; an inverse orthogonal-transformer 36 for transforming the dequantized transformation coefficients into data of spatial domain; a frame memory 37 for storing reconstructed frame data; a search area determining unit 38 for determining a search area in the frame data of the frame memory; a displacement estimation unit 39 for estimating relative position of the most similar block in pattern against a present block to be coded within a predetermined search area, and calculating a displacement vector (DV); a displacement compensator 40 for reading a corresponding block from the frame memory 37 according to estimated displacement; an adder A3 for calculating the difference between PCM (Pulse Code Modulation) data of a present block and PCM data output from the displacement compensator 40, and outputting DPCM (Differential Pulse Code Modulation) data; a mode determining unit 41 for determining a predetermined mode according to a result of comparing the PCM data of the present block with the DPCM data output from the adder A3; and a mode-displacement vector combiner 42 for combining the mode data (M) output from the mode determining unit 41 and the displacement vector (DV) supplied from the displacement estimation unit 39. Referring to Figure 3, in case that the frame data for a still image or an active image which is coded by intra frame coding, are input to block divider 31, the block divider 31 divides the input data into a plurality of blocks. The first adder A1 subtracts feedback block data from the block data supplied from the block divider 31. At this time, the feedback may be the block data or comprise no information. The output data from the first adder A1 are transformed into transformation coefficients in the frequency domain by the orthogonal transformer 32. The transformation coefficients are quantized to predetermined representative values by the quantizer 33, the transmitting data thereafter being further compressed by the variable length coder 34. On the other hand, the quantization data output from the quantizer 33 are reconstructed to video data of the spatial domain by dequantizer 35 and inverse orthogonal-transformer 36 for displacement compensation. The output data of the inverse orthogonal-transformer 36, which corresponds to the output data of the above first adder A1, are added to the feedback data by the second adder A2. Then, the feedback data may be block data or comprise no information, just like the above first adder A1. The block data output from the second adder A2 are transmitted to the frame memory 37, and the frame memory 37 stores sequentially the blocks to reconstruct the frame. The search area determining unit 38 sets a predetermined search area (SA) in the frame data which are stored in the frame memory 37. Then, the search area (SA) is the surrounding area of the present block B 1 to be coded as shown in Figure 4, and is set to previous coded blocks. The displacement estimation unit 39 searches the most similar block B2 in pattern with the present block B1 within the search area set by search area determining unit 38 and estimates a relative position between the block B2 and the present block B1, thereby calculating the displacement vector (DV). At this time, either mean square error or mean absolute error is used in order to calculate the displacement. The displacement compensator 40 reads the block corresponding to the displacement vector (DV) from the frame data which are stored in the frame memory 37, namely, the most similar block B2 in pattern with the present block B1 according to receiving the displacement vector (DV) from the displacement estimation unit 39. The similar block data B2 are subtracted from the PCM data of the present block B1 by the third adder A3, the block DPCM data thereby being output. Moreover, the data output from displacement compensator 40 are applied to the first adder A1 via the first switch (SW1) and to the second adder A2 via the second switch (SW2). Accordingly, the output data from the displacement compensator 40 are transmitted to the first and second adders A1, A2 or cut off. On the other hand, the mode determining unit 41 compares the DPCM data supplied from the third adder A3 with the PCM data of the present block B1 supplied from block divider 31. Then, two data are compared from a viewpoint of the energy level magnitude, thereby the mode corresponding to the data with low energy level being determined. That is, compared with the DPCM data of the third adder A3 and the PCM data of the present block, in the case that the energy level of the PCM data is lower than that of the DPCM data, the mode determining unit 41 determines the PCM mode and outputs "0" as mode data (M). On the other hand, in the case that the energy level of the DPCM data is lower than that of the PCM data, the mode determining unit 41 determines the DPCM mode and outputs "1" as mode data (M). According to the mode data (M) of the mode determining unit 41, the ON/OFF states of the above first and second switches SW1, SW2 are controlled. When the mode data is "0", namely PCM mode, the first and second switches SW1, SW2 are in "OFF" state, thereby feedback data not being supplied to the first and second adders A1, A2. When the mode data is "1", namely DPCM mode, the first and second switches SW1, SW2 are in "ON" state, whereby feedback data is respectively supplied to the first and second adders A1, A2. Also, the mode-displacement vector combiner 42 combines the mode data (M) of the mode determining unit 41 and the displacement vector (DV) of the displacement estimation unit 39, thereby outputting mode-displacement vector data (M-DV). The mode-displacement vector data (M-DV) are differentially constituted data according to each of modes. In the case of PCM mode, the mode-displacement vector data (M-DV) have only mode data (M) of "0", and there exist no displacement data (DV). In the case of DPCM mode, the mode-displacement vector data (M-DV) include the mode data (M) of "1" and the displacement vector (DV) calculated from the displacement estimation unit 39. Like this, in the coder of Figure 3, the variable length coding unit 34 outputs the PCM data which are coded by variable length coding or the DPCM data according to the mode. Mode-displacement vector combiner 42 outputs the mode-displacement vector data (M-DV) showing a mode state and a displacement vector. The coding data output from the coder are transmitted via transmission channel and applied to the decoder of the receiver. The decoder of Figure 5 comprises a variable length decoder 51 for variable-length-decoding the video data (VCD) and outputting quantization coefficients; a dequantizer 52 for dequantizing the quantization coefficients; an inverse orthogonal-transformer 53 for inverse-transforming dequantized transformation coefficients to video data of the spatial domain; a mode-displacement vector separator 54 for receiving mode-displacement vector data (M-DV) transmitted from the coder and separating them into the mode data (M) and displacement vector (DV); a displacement compensator 55 for reading corresponding block data from a frame memory 56 according to the input displacement vector (DV); switch (SW) being switched according to the mode data (M); an adder A1 for adding the output data from the inverse-orthogonal transformer 53 and the block data output from the displacement compensator 55, and outputting block data (Vs) corresponding to a still image; and a frame memory 56 for storing the frame reconstructed by the output data from the adder. The video data coded by the coder are decoded to quantization coefficients by the variable length decoder 51, and the quantization coefficients are transformed into video data of the spatial domain via dequantizer 52 and inverse orthogonal-transformer 53. The mode-displacement vector separator 54 divides the mode-displacement vector data (M-DV) transmitted from the coder into the mode data (M) and the displacement vector (DV). In the case of PCM mode, the mode-displacement vector separator 54 outputs "0" of mode data(M), and there exist no displacement data (DV). The switch (SW), the switching operation of which is controlled according to the mode data (M), is in "OFF" state, whereby the PCM data of block are output from the inverse orthogonal-transformer 53, being stored in the frame memory 56 via adder A1 and being simultaneously transmitted to the display unit. On the other hand, in the case of DPCM mode, the mode-displacement vector separator 54 outputs "1" of mode data (M), and the displacement vector (DV) is calculated from the displacement estimation unit 39 of the above coder as displacement data. The displacement compensator 55 catches the block corresponding to the displacement vector (DV) from the frame data which are stored in the frame memory 56 and supplies this to the adder A1. At this time, since the mode data is "1", the switch SW is in "ON" state, whereby the output data from the displacement compensator 55 is transmitted to the adder A1. The adder A1 combines the DPCM data supplied from the inverse orthogonal transformer 53 with the block data supplied from the displacement compensator 55, and the output is stored in the frame memory 56, and simultaneously transmitted to the display unit. Figure 6 shows a simple case for obtaining a mode-displacement vector in a reconstructed frame. As shown in Figure 6A, the search area is determined by blocks (A, B, C, D) being closely adjacent to a present block (E) for coding among blocks stored in the frame memory after being coded, whereafter the difference between the block (E) for coding and the adjacent blocks (A, B, C, D) is calculated. As shown in Figure 6 B, the energy level differences of each of blocks (E-A, E-B, E-C, E-D),that is, "E E-A ", "E E-B ", "E E-C ", "E E-D ", are respectively calculated. Then, since the blocks closely adjacent to the block (E) for coding are four in number, each of the displacement data can be represented as 2-bit. Figure 6B shows the displacement data to represent the displacement of 2-bit between the block (E) for coding by the DPCM mode and adjacent blocks. The above displacement estimation unit selects the lowest one of the four energy differences (E E-A , E E-B , E E-C , E E-D ) and outputs 2-bit displacement data corresponding to the lowest energy level difference. Then, the displacement compensator reads the block data which have the lowest energy level difference to the present block data being coded, from the frame memory according to the displacement data. The mode determining unit compares the PCM data of the present block with the DPCM data, which is difference data between the present block (E) and the most similar block in the viewpoint of energy level, then determines the mode, PCM mode or DPCM mode according to the result of comparison. After whichever mode is determined, the mode data and displacement data are combined and output by the mode-displacement combiner. The mode-displacement data transmitted from the coder have the data format as shown in Figure 6B. In PCM mode, the mode data of "0" is only transmitted. In DPCM mode, the mode data of "1" and displacement data are transmitted. The above described coding and decoding system for video data embodying the present invention detects a similar block pattern to a present block to be coded in a still image or active image which is coded by intra frame coding, and performs block DPCM in consideration of correlations between two blocks, thereby further compressing the transmitting data.

Claims: A coding method for dividing a frame into a plurality of blocks and coding data of the blocks, with coding of still image data or active image data in an intra frame mode, the coding method characterized by the steps of: determining a predetermined search area among a number of already received blocks around a present block in reconstructed frame data of a present frame; estimating which block of said number of blocks in said search area is most similar in pattern to said present block and calculating displacement data representing a displacement between the present block and the most similar block; reading data of said similar pattern block from the reconstructed frame data according to said calculated displacement; calculating differential data of said present block and said similar pattern block; comparing an energy level of said differential data with an energy level of data of said present block and outputting mode data according to a coding mode set as a result of the comparison, the coding mode being set to a PCM mode if the energy level of said differential data is greater than the energy level of the data of said present block and being set to a DPCM mode if the energy level of said differential data is less than the energy level of the data of said present block; coding one of said present block data and said differential data according to said set mode; reconstructing said coded data; and reconstructing said frame data by storing in regular sequence the block data obtained from said coded data at said reconstructing step and said similar pattern block data. A coding method as claimed in claim 1, the method further comprising a step for, if the coding mode is set to the DPCM mode, combining the determined mode data and the calculated displacement data at said displacement calculating step into a data pack. A coding method as claimed in claim 1 or 2, wherein said search area determining step determines the search area which is composed of blocks being closely adjacent to a present block among previously coded blocks in frame data. A coding method as claimed in any of the preceding claims, wherein said present block data is coded in the case that said PCM mode is determined at said mode determining step, and said differential data is coded in the case that said DPCM mode is determined at said mode determining step. A coding method as claimed in claim 4, wherein said step for reconstructing said frame data reconstructs the frame data by storing blocks sequentially when said PCM mode is determined at said mode determining step, or by storing data obtained by adding said differential data and said similar pattern block data when said DPCM mode is determined at said mode determining step. A method for decoding data selectively coded with PCM or block DPCM in a still image or active image in an intra frame mode, the decoding method comprising the steps of: receiving transmitted data coded by a method according to any of the preceding claims; decoding said transmitted data to data of the spatial domain; separating said transmitted coded data into mode data and displacement data; reading the block data corresponding to said displacement data from the frame data obtained by a predetermined reconstructing step; and reconstructing said frame data by sequentially storing the block data obtained from calculation of said decoded transmitted data and said read block data according to whether said mode data indicates that a given block has been coded by PCM or DPCM. A decoding method as claimed in claim 6, wherein, in said step for separating said mode data, predetermined PCM mode data are output when said transmitted data are coded data of a block, and predetermined DPCM mode data are output when said transmitted data are differential data between a present block and a similar pattern block. A decoding method as claimed in claim 7, wherein, in a step for calculation according to said mode data, said decoded transmitted data are output when said mode data is said PCM mode and said decoded transmitted data and the block data read from said frame data are added and output when said mode data is said DPCM mode. A coder for dividing a frame into a plurality of blocks and coding data of the blocks, with coding of a still image or an active image in an intra frame mode, the coder characterized by: a memory (37) for storing data in units of blocks, to thereby enable reconstruction of a present frame of data; means (38) for determining a predetermined search area in said present frame of data; means (39) for receiving present block data to be coded, estimating a most similar pattern block with a present block from previously input blocks within said search area of said present frame of data, and calculating a displacement obtained by said estimation; a displacement compensation means (40) for reading data of said similar pattern block data from said memory (37) according to the displacement supplied from said displacement estimation means; means (A3) for calculating differential data between said present block data for coding and the block data output from said displacement compensation means (40); means (41) for determining a coding mode of transmitting data by comparing an energy level of said present block data with an energy level of said differential data, setting the coding mode to be a PCM mode if the energy level of said differential data is greater than the energy level of said present block data and setting the coding mode to a DPCM mode if the energy level of said differential data is less than the energy level of said present block data and outputting the determined mode data; means (SW1, SW2) for selecting one of said present block data and said differential data according to the mode data from said mode determining means (41), and coding the selected one; means (35, 36) for reconstructing data output from said coder into an original state before coding; and a second adder (A2) for supplying the output data from said reconstructing means (35, 36), or data which are the result of adding the output data from said reconstructing means and the output data from said displacement compensation means, to said memory (37) in accordance with whether the mode determined by said mode determining means (41) indicates that a block has been coded with PCM or DPCM. A coder as claimed in claim 9, wherein said search area determining means (38) determines a search area which is composed of blocks adjacent to a present block among previously coded blocks in the frame data which are stored in said memory (37) as a search area. A coder as claimed in claim 9 or 10, further comprising a first adder (A1) at which said present block data for coding are applied to an input terminal and an output terminal is connected to an input terminal of coding means (32-34); and a first switch (SW1) which is turned on or off according to the output signal of said mode determining means (41), of which one terminal is connected to the output terminal of said displacement compensation means (40), and the other is connected to another input terminal of said first adder (A1). A coder as claimed in claim 11, wherein said first switch (SW1) is turned off when the output signal of said mode determining means (41) is the PCM mode data, and turned on when it is the DPCM mode data. A coder as claimed in any of claims 9 to 12, further comprising a second switch (SW2) which is turned on or off according to the output signal of said mode determining means (41), of which one terminal is connected to the output terminal of said displacement compensation means (40), and the other is connected to an input terminal of said second adder (A2). A coder as claimed in claim 13, wherein said second switch (SW2) is turned off when the output signal of said mode determining means (41) is the PCM mode data, and turned on when it is the DPCM mode data. A coder as claimed in any of claims 9 to 14, the device further comprising a mode-displacement data combiner (42) which combines the mode data output from said mode determining means (41) with displacement data output from said displacement estimation means (39) and sends mode-displacement data to a transmission channel. A device for decoding data coded by block DPCM with a still image or active image in an intra frame mode, the decoder comprising: an input terminal for receiving data coded by a coder according to any of claims 9 to 15; means (51 - 53) for reconstructing the data applied from said input terminal to data of the spatial domain; means (54) for separating transmitting data of the coder into mode data and displacement data, and outputting the same; a memory (56) for storing previously decoded block data in a regular sequence and reconstructing the frame data; a displacement compensation means (55) for reading the block data corresponding to said displacement data from the frame data of said memory (56); and an adder (A1) for selectively adding the output data from said displacement compensation means, to the output data of said reconstructing means according to said mode data, and outputting the same to said memory. A decoder as claimed in claim 16, wherein said mode-displacement data separator (54) outputs predetermined PCM mode data when said reconstructed data are obtained from data which code a block in said coder, and predetermined DPCM mode data when said reconstructed data are obtained from differential data between block data and data of a block with a most similar pattern. A decoder as claimed in claim 16 or 17, further comprising a switch (SW) which is turned on or off according to said mode data, of which one terminal is connected to an output terminal of said displacement compensation means (55) and the other is connected to an input terminal of said adder (A1). A decoder as claimed in claims 17 and 18, wherein said switch (SW) is turned off when an output signal of said mode-displacement separator (54) is the PCM mode data, and turned on when it is the DPCM mode data.

Inventors: JEONG JE-CHANG, JEONG, JE-CHANG
Applicants: SAMSUNG ELECTRONICS CO LTD, SAMSUNG ELECTRONICS CO., LTD.
Application year: 1993
Main classification: H04N7
IPC codes: H04N7, G06T9, H04N1, H03M7, H04N3