Method and apparatus for the motion compensated predictive coding of an image signal

Abstract: A motion compensation predicting coding apparatus includes a motion detector for comparing pixel data in an image signal with pixel data of the previous image signal to generate a motion vector. The motion vector is indicative of the displacement differences between the image signal and the previous image signal. The image signal may be organized into blocks of pixel data for a single field or for multiple fields when motion detection is performed on the image signal by the motion detector. A subtracter generates a prediction compensation error signal by subtracting the pixel data in the previous image signal from the pixel data of the image signal. A coder receives the prediction compensation error signal and generates an appropriate coded output. The apparatus may also include an adaptive blocking mechanism for receiving the prediction compensation error signal and organizing the data in the signal into blocks into one of several fashions as dictated by the motion vector.

Description: BACKGROUND OF THE INVENTION i) Field of the invention: The present invention relates generally to image encoding systems and, more particularly, to motion compensation predicting coding systems. ii) Description of the Prior Art: Fig. 1 shows a conventional motion compensation predicting coding apparatus, as disclosed in "A Study on HDTV Signal Coding with Motion Adaptive Noise Reduction" by S. Nogaki, M. Ohta and T. Omachi, The Third HDTV International Workshop Preliminary Report , Vol.3, 1989. The conventional motion compensation predicting coding apparatus encodes a digital image signal 101 to produce a coded signal 106 that is sent over a transmission line 109. The conventional motion compensation predicting coding apparatus includes a frame memory 1, a motion detector 2, a subtracter 3, a coder 4, a local decoder 5, an adder 6 and a multiplexer (MUX) 7. At a destination, the coded data is decoded to reproduce the original image signal 101. The destination has an architecture similar to that shown in Fig. 1, except that the destination is configured to decode rather than encode. Before discussing the operation of the conventional coding apparatus, it is helpful to review the format of the image data to be encoded. An image may be viewed as being made of a number of picture elements or pixels. Each of these pixels has a certain level of luminance that is encoded according to a grey scale or other scale. The luminance for each pixel may be encoded into a digital signal. The digital signals for an entire screen of the display form a frame. This frame may be broken down into rows of pixels. Since many video displays, such as conventional cathode ray tubes, scan odd numbered rows in a first pass and even numbered rows in a second pass when generating an image (i.e., interlaced scanning), it is helpful to view the frame as being composed of an even field having data for even numbered rows and an odd field having data for odd numbered rows. Each of the fields (i.e., the odd field and the even filed) may be further divided into blocks of pixel data such as regions of 8 pixels by 8 pixels. The conventional motion compensation predicting coding apparatus operates as follows. An input image signal 101 or, for example, a digital signal encoding the luminances of pixels in a frame is provided in accordance with an interlaced scanning format. In the interlaced scanning format, the odd rows of pixels are first scanned and then the even rows of pixels are scanned. Hence, the input signal provides a sequence of pixel data beginning with the data for all of the odd rows which is followed by the data for all of the even rows. For purposes of the present discussion, it is assumed that the input image signal 101 is already organized into blocks. Each block is made of pixels of the same field. The system operates on a block at a time until all the blocks of a given field are encoded. The system then proceeds to encode the blocks of the other field in a frame. Once a frame is fully encoded, the process of encoding is repeated with a next frame. The input image signal 101 of the present frame is compared with the image signals for the same field in a preceding frame to carry out motion detection. For instance, suppose a first block in the input image signal 101 encodes luminance information for a block of pixels in the odd field of a present frame. The motion detection of this first block is performed in the motion detector 2 by searching for the most analogous block in the neighboring blocks 102 in the previous frame that are positioned around the corresponding position of the first block. The neighboring blocks 102 are read out of the frame memory 1 and provided to the motion detector 2. The frame memory 1, stores image data (of local decoded signals 108) which has been locally decoded in the local decoder 5 and which has been summed with a motion compensation signal 104 in the adder 6. The frame memory 1 may be realized as a conventional RAM. The motion detector 2 determines the similarities between the present block and the respective neighboring blocks to select the most analogous neighboring blocks. As a yardstick of similarity, the motion detector 2 may calculate a differential absolute value sum between blocks that is obtained by summing absolute values of each difference in luminance values for the corresponding pixels in the blocks, or the motion detector may calculate a differential square sum that is obtained by summing square values of differences in luminance values between the corresponding pixels in the blocks. Once the most analogous neighboring block is found, the motion detector 2 calculates and outputs a motion vector 103 to the frame memory 1 and the MUX 7. The motion vector indicates the vector displacement difference between the most analogous neighboring block and the first block. This motion vector 103 includes vector components in the horizontal and vertical directions. Also, once the most analogous neighboring block is found, a motion compensation prediction signal 104 that encodes the luminance of the pixels of the most analogous neighboring block is read out of the frame memory 1 and sent to a subtracter 3. The subtracter 3 subtracts the motion compensation prediction signal 104 from the input image signal 101 to obtain a prediction error signal 105. In particular, the luminance of each pixel in the motion compensation prediction signal is subtracted from the luminance of each corresponding pixel in the input image signal 101. Chips for performing the subtraction are commercially available. The subtracter 3 then outputs the prediction error signal 105 to the coder 4. The coder 4 executes the coding of the prediction error signal 105 to remove spatial redundancy in the signal. The coder 4, thus helps to compress the prediction error signal 105. The signal 105 includes both low frequency components and high frequency components. Usually, in compressing the prediction error signal 105, the coder 4 quantizes the low frequency components of the signal 105 using many bits and quantizes the high frequency components using few bits. More bits are used in the encoding of the low frequency components because the low frequency components typically have much greater power than do the high frequency components. Assigning more bits to the low frequency components enhances coding efficiency and reduces image degradation. The coder 4, may perform, for example, an orthogonal transformation, such as a discrete cosine transformation (DCT), on an 8 x 8 pixel block to effect a frequency conversion that results in scalar quantization of a conversion factor. Scalar-quantized coded data 106 for the block is then sent from the coder 4 to the local decoder 5 and to the MUX 7. The MUX 7 not only multiplexes the coded data 106 and the motion vector 103 but also encodes the data in a format proper for sending the data down the transmission line 109. The local decoder 5 performs a reciprocal operation to that performed by the coder 4. In particular, an inverse scalar quantization or an inverse orthogonal transformation is carried out to obtain a decoded error signal 107. The adder 6 adds the motion compensation predicting signal 104 to the decoded error signal 107 to obtain the local decoded signal 108, which corresponds to the input image signal 101. Chips for implementing the adder 6 are well known in the art. The local decoded signal 108 is stored in the frame memory 1. The local decoded signal is subsequently read out of the frame memory 1 for use in carrying out the motion detection of the odd field in the next frame. For the even field of the input image signal 101, the motion detection in the motion detector 2, the coding in the coder 4, and so forth are carried out in the same manner as described above with respect to the odd field. In the conventional motion compensation predicting coding apparatus, as described above, the removal of the temporal redundancy included in the motion image signal is carried out by motion compensation predicting coding and by using an appropriate technique such as an orthogonal transformation, differential pulse code modulation (DPCM), vector quantization or the like. PROCEEDINGS OF THE NATIONAL COMMUNICATIONS FORUM, vol. 42, no. 2, 30 September 1988, OAK BROOK, ILLINOIS, US, pages 1678 - 1682; J.A. BELLISIO: "Video Compression and Image Processing" discloses a hybrid coding method in which the prediction error siqnal is subject to a DCT transformation. The transformed coefficients are scanned in an order which is the most efficient. As described above, in the conventional motion compensation predicting coding apparatus, the correlation of the data in the same field is utilized. However, the temporal correlation between continous different fields subjected to the interlaced scanning is not used, and, hence, the coding efficiency is low. EP-A-0 451 545 refers to an apparatus for adaptively compressing successive blocks of digital video data which is optimized by selecting between different compression algorithms or different data formats on a block-by-block basis. In one application, digitized interlaced video signals are processed for transmission in a compressed form. A set of pixel data presented in a field format is compressed to provide a first compressed video signal. The set of pixel data is also presented in a frame format and compressed to provide a second compressed video signal. Errors are evaluated in the first and second compressed video signals. The compressed video signal having the least error is selected for further processing. This technique is repeated for successive sets of pixel data and the selected signals are encoded to identify them as field formatted or frame formatted signals. The encoded selected signals are then combined to provide a compressed video signal data stream for transmission. In SIGNAL PROCESSING OF HDTV, II, 30. August 1989, Amsterdam, NL, pages 739-748; R.KUTKA: "Block adaptive frame/field DCT coding decided by the vertical difference test" a method for deciding between a frame or field transformation in interlaced video sequences is disclosed. In this method the switch between a frame or field DCT in HDTV signals is controlled blockwise. This control can be based on the number of non-zero coefficients, the data rate, the energy, the motion vectors or a vertical difference test wherein the weighted differences of neighboring pixels in horizontal direction within a field and within a frame of each block are compared. It is a general object of the present invention to provide a more efficient motion compensating predicting coding apparatus. SUMMARY OF THE INVENTION This object is solved in a motion compensation predicting coding apparatus comprising the features of claim 1. Preferred embodiments of the apparatus according to the present invention are defined in the subclaims. The present invention relates to a motion compensation predicting coding apparatus for encoding pixel data of a first image signal and a second image signal, wherein the first image signal encodes pixel data in an odd field of a portion of an image and the second image signal encodes pixel data in an even field of the portion of the image, said apparatus comprising: a) a field composer for interleaving the lines of the pixel data in the first signal for the odd field with the pixel data in the second signal for the even field to produce a composed image signal having pixel data for both fields; b) a motion detector for comparing the pixel data in previous image signals to generate a motion vector indicative of displacement differences between the first and second images relative to the previous image signals; c) a subtracter for generating a prediction error signal by subtracting the pixel data in the previous image signals that are used to generate the motion vector from pixel data in the composed image signal; and d) a coder for receiving and encoding the prediction error signal form the subtracter, characterized in that said coder includes: i) a transformation means for performing an orthogonal transformation on the prediction error signal to produce a coefficient matrix; ii) a quantizer for quantizing coefficients from the coefficient matrix; and iii) a scanning controller for controlling what order the coefficients are scanned from the coefficient matrix and passed to the quantizer, based on the motion vector. This order is preferably controlled by the motion vectors. In particular, the motion vectors indicate whether there will be large horizontal components or large vertical components that are most efficiently quantized by altering the scanning order of the coefficient matrix. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more fully apparent from the following description of the preferred embodiment with reference to the accompanying drawings, in which: Fig. 1 is a block diagram of a conventional motion compensation predicting coding apparatus; Fig. 2 is a block diagram of an embodiment of a motion compensation predicting coding apparatus according to the present invention; Fig. 3A shows a block of an odd field; Fig. 3B shows a block of an even field; Fig. 3C shows a field composition frame input signal formed from the blocks of Fig. 3A and Fig. 3B; Figs. 4A to 4C are explanatory views of conversion factor distribution in the apparatus shown in Fig. 2; and Fig. 5 is a block digram of a construction of a receiving side used in the embodiment of the apparatus according to the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT In the embodiment shown in Fig. 2 the motion compensation predicting coding apparatus comprises a field composer 31, a motion detector 32, a frame memory 33, a subtracter 34, an adder 37 and a MUX 38. The apparatus further includes an orthogonal transformation coder 44 that is capable of controlling a scanning order of conversion factors, and an orthogonal transformation decoder 45 that is capable of controlling a scanning order of conversion factors for carrying out an inverse processing of the orthogonal transformation coder 44. The embodiment operates as follows. Motion compensation is carried out from a frame input signal 301 in which two fields are being composed, i.e. the frame input signal 301 is compared with the frame image data (image signals 305 of the preceding frame and motion compensation prediction signal 303) stored in frame memory 33. Specifically, an input image signal 300 that has been obtained by an interlaced scanning is composed into one frame in the field composer 31. The field composing performed by field composer 31 is realized in the manner shown in Figs. 3A-3C. Fig. 3A shows blocked data of an odd field for an area of an image, and Fig. 3B shows blocked data of an even field in the same area as the odd field of Fig. 3A. When the input image signals of the odd and even fields are as shown in Figs. 3A and 3B, respectively, the lines of these two fields are alternately combined to obtain a field composition frame input signal 301 as shown in Fig. 3C. The obtained field composition frame input signal 301 is sent to the motion detector 32 and the subtracter 34. The motion vector 302 obtained in the motion detector 32 is fed to the orthogonal transformation coder 44 and to the orthogonal transformation decoder 45. A prediction error signal 304 is obtained in the subtracter 34. The prediction error signal 304 is also fed to the orthogonal transformation coder 44. The orthogonal transformation coder 44 performs orthogonal transformation coding. The conversion factor is scanned within the block to perform quantization, and the scanning order is controlled by using the motion vector. This processing will now be explained with reference to Figs. 4A to 4C. Fig. 4A shows a power distribution of coefficients in a coefficient matrix obtained by an orthogonal transformation, such as a DCT. The darkness of the pixel in Fig. 4A indicates the power level of the pixel. A dark pixel indicates a high power level and a light pixel indicates a low power level. For the distribution shown in Fig. 4A, it is apparent that the lower frequency components have much greater power than the higher frequency components. The arrows 205 indicate the normal scanning order of the coefficients. As shown in Fig. 4B, in coefficients obtained by orthogonal transformation of signals which have many transverse components frequency components in the vertical direction are large. In contrast, in an image having many longitudinal components, the frequency components in the horizontal direction are large as shown in Fig. 4C. When it is determined by the motion vector that the horizontal components are large, the high frequency components are large, even in the error signal. Hence, as shown in Fig. 4C, the coding is carried out in order by scanning in the horizontal direction (as indicated by the arrows). On the other hand, when it is determined that the vertical components are large, as shown in Fig. 4B, the coding is carried out in order in the vertical direction as indicated by the arrows. Further, when the components are almost equal in both the horizontal and vertical directions, as shown in Fig. 4A, the coding should take place in the diagonal direction indicated by the arrows 205. Depending on the transformation methods, the relationship between the motion and the scanning direction can be opposite. By adjusting the scanning in this fashion, the signals are encoded more efficiently. The orthogonal transformation coder 44 outputs coded data to the MUX 38 and the orthogonal transformation decoder 45. In the MUX 38, the coded data are processed in the same manner as described above for the apparatus of Fig. 1. In the orthogonal transformation decoder 45, an orthogonal transformation and decoding of the coded data are carried out to obtain a decoded prediction error signal. The decoding follows the same scanning order that was followed in the coding. The obtained decoded prediction error signal is fed to the adder 37. The other parts are processed in the same manner as described above with respect to Fig. 1. Since the distance between the lines is different in the field composed block and the independent (not field composed) block, the power distribution in the vertical direction is different. Hence, the scanning control based on the difference of the power distribution may be performed, and as a result, effective quantization processing may be carried out. In this embodiment, since the motion vector includes the control information, no supplementary information is required. Fig. 5 shows an embodiment of a receiving side for the above-described embodiments of the motion compensation predicting coding apparatus. The receiving side includes a data separator 46 for separating the multiplexed coded data that is output from the transmitter side, an orthogonal transformation decoder 47, a frame memory 49 and a adder 50. The latter four components perform the inverse operation to the corresponding components in the transmitter side which have been described above. The receiving side shown in Fig. 5 operates as follows. Coded data 401 that has been output from the MUX 38 of the motion compensation predicting coding apparatus are input to the data separator 46. The data separator 46 separates the coded data 401 and outputs first data 407 or factor data that concerns an orthogonal transformation, a motion vector 402, that is sent to the frame memory 49, second data 408 that represents a factor scanning order. The decoder 47 receives the first and second data 407 and 408 and carries out an inverse orthogonal transformation for every block unit to decode the prediction error signal 410. At this time, the decoder 47 determines the scanning order of the transformation factors within the block on the basis of the second data 408. The adder 50 adds a motion compensation prediction signal 411, that has been read out of the frame memory 49 at an address specified by the motion vector 402, to the prediction error signal 410 and obtains a decoded signal 412. The decoded signal 412 is sent to the frame memory 49 and is stored therein. In this embodiment, the second data 408 representing the factor scanning order may be replaced with the motion vector 402.

Claims: A motion compensation predicting coding apparatus for encoding pixel data of a first image signal and a second image signal, wherein the first image signal encodes pixel data in an odd field of a portion of an image and the second image signal encodes pixel data in an even field of the portion of the image, said apparatus comprising: a) a field composer (31) for interleaving the lines of the pixel data in the first signal for the odd field with the pixel data in the second signal for the even field to produce a composed image signal having pixel data for both fields; b) a motion detector (32) for comparing the pixel data in previous image signals to generate a motion vector indicative of displacement differences between the first and second images relative to the previous image signals; c) a subtracter (34) for generating a prediction error signal by subtracting the pixel data in the previous image signals that are used to generate the motion vector from pixel data in the composed image signal; and d) a coder (44) for receiving and encoding the prediction error signal from the subtracter, characterized in that said coder (44) includes: i) a transformation means for perfoming an orthogonal transformation on the prediction error signal to produce a coefficient matrix; ii) a quantizer for quantizing coefficients from the coefficient matrix; and iii) a scanning controller for controlling what order the coefficients are scanned from the coefficient matrix and passed to the quantizer, based on the motion vector. The motion compensation predicting coding apparatus according to claim 1, characterized in that the scanning order is determined to be one of a plurality of scanning orders, the plurality of scanning orders including: a first order of scanning the plurality of coefficients in a horizontal direction of the coefficient matrix; a second order of scanning the plurality of coefficients in a vertical direction of the coefficient matrix; and a third order of scanning the plurality of coefficients in a diagonal direction of the coefficient matrix. The motion compensation predicting coding apparatus according to claim 1, characterized in that the motion vector includes horizontal components and vertical components; and the scanning controller includes means for comparing the horizontal components with the vertical components to determine the scanning order. The motion compensation predicting coding apparatus according to claim 2, characterized in that the means for comparing includes: means for selecting a scanning order of scanning the plurality of coefficients in a horizontal direction of the coefficient matrix when the horizontal components are substantially larger than the vertical components; means for selecting a scanning order of scanning the plurality of coefficients in a vertical direction of the coefficient matrix when the vertical components are substantially larger than the horizontal components; and means for selecting a scanning order of scanning the plurality of coefficients in a diagonal direction of the coefficient matrix when the horizontal components and the vertical components are substantially equal.

Inventors: ASAI KOHTARO, KATO YOSHIAKI, MURAKAMI TOKUMICHI, YAMADA YOSHIHISA, ASAI, KOHTARO, KATO, YOSHIAKI, MURAKAMI, TOKUMICHI, YAMADA, YOSHIHISA, ASAI, KOHTARO, C/O MITSUBISHI DENKI K.K., KATO, YOSHIAKI, C/O MITSUBISHI DENKI K.K., MURAKAMI, TOKUMICHI, C/O MITSUBISHI DENKI K.K., Yamada, Yoshihisa, c/o Mitsubishi Denki K.K.
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1992
Main classification: H04N7
IPC codes: H04N7, G06T9, H04N11