In a method for encoding successive frames of a digital motion video signal in the form of compressed digital data including an intraframe coded signal and a plurality of interframe coded signals, a first frame of the digital motion video signal is encoded to form one of an intraframe coded signal and an interframe coded signal to produce a compressed digital signal; the compressed digital signal is decoded to form a decoded signal; a plurality of predicted video signal frames are produced representing a second frame of the digital motion video signal other than the first frame, at least one of the plurality of predicted video signal frames being produced with the use of the decoded signal and a motion vector representing motion between frames of the digital motion video signal; the plurality of predicted video signal frames are compared with the second frame of the digital motion video signal for producing a plurality of difference data each corresponding with a respective one of the plurality of predicted video signal frames; one of the predicted signal frames having a smallest corresponding difference data is selected; and an interframe coded signal of the compressed digital data corresponding to the selected one of the predicted video signal frames is generated.

Patent
   RE36999
Priority
Sep 27 1989
Filed
Oct 12 1994
Issued
Dec 26 2000
Expiry
Dec 26 2017
Assg.orig
Entity
Large
5
15
all paid
8. A method for encoding successive frames of a digital motion video signal in the form of compressed digital data, comprising the steps of:
encoding a first frame of said digital motion video signal in the form of one of an intraframe coded signal and an interframe coded signal to produce a first compressed digital signal;
decoding said first compressed digital signal to form a decoded signal;
producing at least one predicted video signal frame representing a second frame with the use of said decoded signal and a motion vector representing motion between the first and second frames;
comparing the at least one predicted video signal frame with the second frame to produce first difference data representing differences therebetween;
providing an interframe coded signal including said motion vector to represent said second frame if the difference data is less than a predetermined value; and
providing an intraframe coded signal to represent said second frame if said difference data exceeds said predetermined value.
1. In a method for encoding successive frames of a digital motion video signal in the form of compressed digital data including an intraframe coded signal and a plurality of interframe coded signals, said method comprising the steps of:
encoding a first frame of said digital motion video signal in the form of one of an intraframe coded signal and an interframe coded signal to produce a compressed digital signal;
decoding said compressed digital signal to form a decoded signal;
producing a plurality of predicted video signal frames representing a second frame of said digital motion video signal other than said first frame, at least one of said plurality of predicted video signal frames being produced with the use of said decoded signal and a motion vector representing motion between frames of said digital motion video signal, a further one of said plurality of predicted video signal frames being produced as an average value of a first interframe coded signal based on a frame of said digital motion video signal preceding said second frame and a second interframe coded signal based on a frame of said digital motion video signal following said second frame;
comparing said plurality of predicted video signal frames with said second frame of said digital motion video signal for producing a plurality of difference data each corresponding with a respective one of said plurality of predicted video signal frames;
selecting one of said predicted video signal frames having a smallest corresponding difference data; and
generating an interframe coded signal of said compressed digital data corresponding to the selected one of said predicted video signal frames.
2. In a method according to claim 1, wherein the step of producing a plurality of predicted video signal frames comprises transforming said decoded signal with the use of said motion vector to produce said at least one of said plurality of predicted video signal frames.
3. In a method according to claim 2, wherein the step of encoding a first frame of said digital motion video signal comprises encoding a frame thereof preceding said second frame.
4. In a method according to claim 2, wherein the step of encoding a first frame of said digital motion video signal comprises encoding a frame thereof following said second frame.
5. In a method according to claim 2, wherein the step of encoding a first frame of said digital motion video signal comprises encoding said first frame in the form of an intraframe coded signal.
6. In a method according to claim 1, wherein the step of encoding a first frame of said digital motion video signal comprises encoding said first frame in the form of an interframe coded signal wherein said first frame follows said second frame.
7. In a method according to claim 1, wherein the step of encoding a first frame of said digital motion video signal comprises encoding said first frame in the form of an interframe coded signal wherein said first frame precedes said second frame.
9. The method of claim 8, wherein the step of providing said interframe coded signal comprises forming second difference data between said second frame and said at least one predicted video signal frame, and compressing the second difference data to form second compressed data.
10. The method of claim 8, wherein the step of comparing the at least one predicted video signal frame with the second frame comprises subtracting one of the at least one predicted video signal frame and the second frame from the other thereof to produce a plurality of difference data and accumulating said plurality of difference data to form said first difference data.
11. In a method for encoding successive frames of a digital motion video signal, said successive frames including a first, a second and a third frame, said second frame following said first frame and said third frame following said second frame, said method comprising the steps of:
encoding said first frame in the form of one of an intraframe coded signal and an interframe coded signal to produce a first compressed digital signal;
decoding said first compressed digital signal to form a first decoded signal;
encoding said third frame in the form of said interframe coded signal to produce a second compressed digital signal;
decoding said second compressed digital signal to form a second decoded signal;
selectively providing one of a plurality of predicted video signals representing a portion of said second frame, at least one of said plurality of predicted video signals being produced with the use of said first decoded signal and a motion vector representing motion between said first frame and said second frame, a further one of said plurality of predicted video signals being produced as an average value of a portion of said first decoded signal and a portion of said second decoded signal; and
generating a compressed digital signal corresponding to said portion of said second frame with the use of said provided one of said predicted video signals.12. In a method according to claim 11, wherein the step of selectively providing includes movement correcting said portion of said first decoded signal with the use of said motion vector to produce said at least one of said plurality of video signals.13. In a method according to claim 11, wherein the step of selectively providing includes movement correcting said portion of said first decoded signal with the use of said motion vector and movement correcting said portion of said second decoded signal with the use of another motion vector representing motion between said second frame and said third frame to produce said further one of said plurality of predicted video signals.

The present invention relates to video signal coding methods and, more particularly relates to such methods which are suitable for use in transmitting a moving picture video signal.

Conventionally, in a moving picture video signal communication system, such as a conference system for a video telephone system, a moving picture video signal is transmitted to a remote point via a transmission line. It has been proposed to efficiently utilize the limited capacity of the transmission line by transmitting less than all of the successive frames of the signal according to a so-called frame skipping process. The receiver reproduces the frames that have been skipped by the transmitter by interpolation based on picture information for the frames preceding and following the skipped frames with the use of motion vectors transmitted in place of the skipped frames (refer to Japanese Patent Publication No. 60-28392).

Since the motion vectors include less information than complete frames, it is theoretically possible to achieve efficient transmission of significant moving picture information in this manner. In practice, however, it is not always possible for the transmission apparatus to generate accurate motion vector information in the frame skipping process, and in the event that inaccurate motion vectors are transmitted in this fashion, the pictures reproduced by interpolation at the receiver can be objectionably poor in quality.

One type of transmission apparatus codes moving picture information in the form of unitary transmission blocks each including, for example, eight pixels per line by eight lines of the video signal to be transmitted. With the use of such apparatus, the contents of the pictures generated by interpolation at the receiver can become discontinuous in the event that the motion vectors for the transmitted unitary blocks are inaccurate and pictures reproduced with such motion vectors are likewise objectionably poor.

It is an object of the present invention to provide a video signal coding method which avoids the problems and disadvantages of the transmission methods described hereinabove.

It is another object of the present invention to provide a video signal coding method having the ability to transmit high quality picture data;

It is a further object of the present invention to provided a video signal coding method which produces encoded data in compressed form for efficiently utilizing the capacity of a transmission line;

It is a still further object of the present invention to provide a video signal coding method in which a plurality of predictive picture data are each generated by respectively different predictive modes based upon motion vector data to represent a frame of a signal to be transmitted and in which the predictive picture data having the smallest error is selected for encoding.

In accordance with an aspect of the present invention, in a method for encoding successive frames of a digital motion video signal in the form of compressed digital data including an intraframe coded signal and a plurality of interframe coded signals, the method comprises the steps of: encoding a first frame of the digital motion video signal to form one of an intraframe coded signal and an interframe coded signal to produce a compressed digital signal; decoding the compressed digital signal to form a decoded signal; producing a plurality of predicted video signal frames representing a second frame of the digital motion video signal other than the first frame, at least one of the plurality of predicted video signal frames being produced with the use of the decoded signal and a motion vector representing motion between frames of the digital motion video signal; comparing the plurality of predicted video signal frames with the second frame of the digital motion video signal for producing a plurality of difference data each corresponding with a respective one of the plurality of predicted video signal frames; selecting one of the predicted video signal frames having a smallest corresponding difference data; and generating an interframe coded signal of the compressed digital data corresponding to the selected one of the predicted video signal frames.

The above, and other objects, features and advantages of the invention, will be apparent in the following detailed description of an illustrative embodiment thereof which is to be read in connection with the accompanying drawings forming a part hereof, and wherein corresponding parts and components are identified by the same reference numerals in the several views of the drawings.

FIG. 1 schematically illustrates a video signal coding method in accordance with one aspect of the present invention;

FIG. 2 illustrates a series of moving video pictures which schematically depict intraframe and interframe coding utilized in certain aspects of the present invention;

FIG. 3 is a generalized illustration of a data format employed in accordance with certain aspects of the present invention;

FIG. 4 is an overall block diagram of a moving video signal transmission system for carrying out a method in accordance with the present invention;

FIGS. 5(A), 5(B) are block diagrams of a transmission section of the system illustrated in FIG. 4;

FIGS. 5(A), 5(B) are timing charts for use in explaining the operation of the transmission section of FIGS. 5(A), 5(B);

FIGS. 7(A), 7(B) are block diagrams of an adaptive predictive data generating circuit section included in the transmission section of FIGS. 5(A), 5(B); and

FIGS. 8(A), 8(B) are block diagrams of a receiving section included in the system of FIG. 4.

With reference first to FIG. 1, a video signal coding method in accordance with one embodiment of the present invention is illustrated therein as a method of operating a moving picture signal transmission system. In the illustrated method, picture data in the form of successive frames including frames formed by interpolation are produced by a transmitter and transmitted thereby to a receiver.

As shown in line (A) of FIG. 1, a moving video signal VD to be encoded for transmission includes successive frames of data comprising an initial frame F0 and successively arranged frames F1, F2, F3, . . . . Motion vectors x0, x1, x2, x3, etc., represent motion respectively between the frames F0 and F1, F1 and F2, F2 and F3, F3 and F4, etc. The transmitter applies an interpolation process to the even numbered frames F2, F4, . . . , to thereby generate respective interpolated frame data F2X, F4X, etc. as illustrated in line (B) of FIG. 1 and transmits the interpolated frame data together with uninterpolated frame data F1X, F3X, F5X, . . . corresponding to the first, third, fifth, and following odd numbered frames which are uninterpolated, and the motion vectors x0, x1, x2, x3, . . . , collectively referred to as the transmitted data (herein, DATA).

In the present illustrative embodiment, the DATA includes picture data processed by a high efficiency coding technique, an example of which is illustrated in FIGS. 2 and 3. For carrying out a high efficiency coding method, for example, sequentially occurring moving picture images PC1, PC2, PC3, and so on, as illustrated in line (A) of FIG. 2 are digitized at respective points in time t=t1, t2, t3, . . . , to be encoded for transmission to a receiver. The digitized picture images are compressed in accordance with the high efficiency coding method either by intraframe coding or interframe coding, utilizing the high self-correlation typical of video signals to achieve data compression.

The intraframe coding process subjects the picture images to data compression, for example, by obtaining data representing differences between one-dimensionally and/or two-dimensionally adjoining pixels of each image arranged along the horizontal scanning lines thereof. In this fashion, each image may be expressed by an amount of data significantly compressed as compared with the amount of data necessary to represent all of the pixels of the corresponding image.

An interframe coding process is illustrated in line (B) of FIG. 2 wherein the frames PC12, PC23, and so on, represent respective differences (illustrated by solid lines therein) between sequentially adjoining frames PC1 and PC2, PC2 and PC3, . . . , respectively. The interframe data includes this difference data together with the motion vector data x0, x1, x2, x3, and so on, which represent picture movement. This interframe coded data is transmitted together with the intraframe coded data of the initial frame PC1 to a receiver. It will be appreciated that an even greater degree of data compression may be achieved by interframe coding as compared with intraframe coding, thus to effectively utilize the capacity of the transmission line employed through the use of the above described high efficiency coding method.

With reference also to FIG. 3, in the moving picture signal transmission system of the present embodiment, the picture data is divided into blocks, each having a predetermined number of frames therein. In the example of FIG. 3, ten frames of data are included in each block. The blocks of data as illustrated in FIG. 3 are designated sequentially BL(n-1), BL(N), BL(N+1), . . . , and are sequentially processed by high efficiency coding as described above for transmission.

Each of the blocks BL(N), (N= . . . N-1, N, N+1, . . . ) includes a first frame of data designated D1 which is processed by intraframe coding and second to tenth frames designated D2 through D10 sequentially following the first frame D1, which are processed by interframe coding. In the present embodiment, intraframe coding of the first frame in each block as described above produces data representing differences between all of the pixels of the first frame D1, so that the initial frame is reproduced at the receiver by successively adding the difference data representing the initial frame received thereby. The data of the second to tenth frames, as described above with reference to line (B) of FIG. 2, are converted to interframe coded data in the form of motion vector data and difference data representing differences between corresponding pixels of adjoining frames which have changed between frames. Accordingly, the first frame of data D1 exhibits a relatively lower compression efficiency, as it includes data representative of the differences between all of the pixels for that frame, whereas the data D2 to D10 for the second to tenth frames, exhibit a relatively higher compression efficiency.

The moving picture signal transmission system of the present embodiment generates a first frame of data F1X for transmission in the form of intraframe coded data based upon the data of the frame F1 as illustrated in line (A) of FIG. 1. The succeeding third, fifth etc. frames of the corresponding block are generated in uninterpolated form, designated respectively F3X, F5X, . . . in line (B) of FIG. 1, in the form of interframe coded data, each including respective motion vector data (x1 +x2), (x3 +x4), . . . , representative of movement from the next preceding odd numbered frame F1, F3, . . . to an immediately succeeding odd numbered frame F3, F5, . . . for producing a predictive frame at the receiver for each such odd numbered interframe coded frame. The interframe coded data also includes data representing the differences between each such predictive frame and the corresponding original frame prior to encoding at the transmitter, in order to permit a full reconstruction of the original data.

The remaining even numbered frames of each block F2, F4, etc., are coded in the form of interpolated frame data respectively designated F2X, F4X, . . . , as illustrated in line (B) of FIG. 1, in a manner described hereinbelow. In this fashion, the system constructs each of the data blocks BL(N)(N= . . . , N-1, N, N+1, . . . ) so that each thereof includes ten frames of data in a form suitable for transmission.

The system of the present embodiment generates the interpolated frame data F2X, F4X, . . . , by comparing each of the original data F2, F4, . . . , with a plurality of predictive frames generated by encoding and then decoding selected ones of the intraframe and interframe coded frames and producing the plurality of predictive frames by transforming the decoded intraframe and interframe data with the use of the motion vector data x0, x1, x2, x3, . . . , as appropriate. The differences between the original frames F2, F4, . . . and each of the corresponding plurality of predictive frames are generated in order to determine which of the plurality of predictive frames provides the least error therewith. The motion vector data providing the least error for each frame is transmitted therefor together with the error data as the interpolated frame data for the respective frame.

More specifically, for each of the interpolated frames FK, (K=2, 4, . . . ), each hereinafter referred to as a "current frame", the system selects among four possible encoding methods. The first simply encodes the current frame data FK in the form of intraframe data. The second produces interframe coded data between the current frame F and the following frame F(K+1) and is provided in the form of a motion vector [-xk ] between the data of frame F(K+1) and the current frame FK together with data representing the differences between (i) a frame image produced by transforming a decoded frame F(K+1) by means of the motion vector [-xk ] to represent a predictive frame corresponding with the frame FK, and (ii) the data FK of the current frame.

The third method for encoding the even numbered frames corresponds with the second method, except that a decoded version of the preceding frame F(K-1) is utilized in place of the decoded version of the following frame F(K+1) and the corresponding motion vector [xk-1 ] is used in place of the motion vector [-xk ]. In accordance with the fourth method of encoding the even numbered frames, predictive frame data is produced in the form of an average of the predictive frames formed by transforming the decoded data of the frame F(K+1) with the use of the motion vector [-xk ] and by transforming the decoded data F(K-1) with the use of the motion vector [xk-1 ]. This predictive frame is subtracted from the current frame and the resulting difference is transmitted together with the motion vectors [-xk ] and [xk-1 ].

The results of the four encoding methods described above are compared prior to transmission in order to determine which of the four provides the smallest error with respect to the current (unencoded) frame data and the corresponding interpolated frame data therefor is transmitted as described above. By selecting the method producing the least error, it is thus possible to provide the highest quality reproduced pictures at the receiver while minimizing the amount of data to be transmitted.

With reference now to FIG. 4, a picture signal transmission system operative in accordance with the above described encoding method is illustrated therein. In the system of FIG. 4, a moving picture video signal VDIN supplied to a transmission section 11 is converted thereby to DATA by high efficiency coding, as described above, and is transmitted by a transmission circuit section (T.C.Sect.) 12 to a reception circuit section (R.C.Sect.) 14 over a transmission path 13. The data received by the reception circuit section 14 is designated DATAX and is converted by a reception section 15 to a moving picture video signal VDOUT output thereby.

The transmission section 11 receives the input moving picture video signal VDIN at a picture data input section 21. With reference also to FIG. 5, a luminance signal Y and corresponding chrominance signals CR and CB which collectively constitute the input moving picture video signal VDIN are converted to digital form by respective analog-to-digital converter circuits 22, 23 and 24. The digitized luminance signal Y is supplied to a single-field suppressor circuit (S.S.Circuit) 25, while the digitized chrominance signals CR and CB are supplied to a single-field line decimator circuit 26. The data output by the circuits 25 and 26 is then supplied to a conventional time base converter circuit 27 which supplies time base converted data as the output picture data PIC of the picture data input section 21 (refer also to FIG. 4).

The data PIC supplied by the picture data input section 21 is provided thereby to the input of a picture data coding circuit section 31, illustrated in greater detail in FIG. 5(A), 5(B). The circuit section 31 receives the data PIC in a prefilter 32 including a frame memory. The data stored in the prefilter 32 is read therefrom to a unit-blocking circuit 33 in units of transmitted unitary block data, each constituting an array of eight pixels (in the horizontal direction of the picture data) by eight lines (in the vertical direction thereof). The transmitted unitary block data provided by circuit 33 is designated S1 and is supplied thereby to each of a first input A1 of a data selector circuit 34, an interpolated frame input memory (I.F.I. Memory) 35 including a frame memory, and a motion vector detector circuit (M.V.D. Circuit) 36. In the present embodiment, a selection input terminal SEL of the data selector circuit 34 and a write enable input terminal WRT1 of the interpolated frame input memory 35 receive a frame mode designating signal S2 which is supplied from a system controller (not illustrated for purposes of simplicity and clarity). With reference also to the timing chart of FIG. 6, t10 to t11, t11 to t12, . . . , t16 to t17, . . . , designate sequentially occurring points in time marking the commencement, respectively, of sequential frames represented by frame data F0, F1, . . . F6 . . . , as illustrated in line (A) thereof. With reference to line (B) of FIG. 6(A), 6(B), the system controller is operative to supply the frame mode designating signal S2 sequentially on a frame-by-frame basis commencing with the time t10 in the form of interpolation frame coding mode data (designated INTPL), intraframe coding mode data (designated INTRA), data INTPL, interframe coding mode data (designated INTER), data INTPL, data INTER, data INTPL, and so on.

During the interpolation frame coding mode intervals (designated TPL in FIG. 6(A)), the frame mode designated signal S2 takes the form of the interpolation frame coding mode designating signal INTPL which brings the write enable input terminal WRT1 of the interpolated frame input memory 35 to a write state (indicated as an ON state in line (C) of FIG. 6(A)). Accordingly, during the intervals TPL the memory 35 writes the input frame data S1 (indicated in line (A) of FIG. 6(A)) received during the interpolation frame coding mode intervals TPL (namely, the frame data F0, F2, and so on, of the 0th, 2nd . . . frames). The thus written data is designated S3 in line (D) of FIG. 6 and takes the form of the frame data F0, F2, . . . , each of which is maintained thereby during the two successively following frame intervals. In this manner, the interpolated frame input memory 35 is enabled to repeatedly deliver the 0th, 2nd, . . . , frame data written during the interpolation frame coding mode intervals TPL for successive two frame intervals to an output thereof coupled with a second input terminal A2 of the data selector circuit 34 in the form of the interpolated frame data S3 (line (D) of FIG. 6(A)).

During the intervals in which the frame mode designating signal S2 takes the form of the interpolation frame coding mode data INTPL (that is, t10 to t11, t12 to t13, . . . ), the data selector circuit 34 selects its second input terminal A2, as indicated by the reference (A2) next to the frame identifying characters in line (E) of FIG. 6(A). Accordingly, the data selector circuit 34 simultaneously outputs the interpolated frame data S3 (that is, the data F(-2), F(0), F(2) . . . ) as the current frame input data S4 during the interpolation frame coding mode intervals TPL. Both during the intraframe coding mode interval TRA and the interframe coding mode intervals TER, the data selector circuit 34 selects the first input terminal A1 thereof, that is, the input frame data S1 (F1, F3, . . . , as indicated by the characters (A1) in line E of FIG. 6(A)) as the current frame input data. Consequently, each of the even numbered frames F2, F4, F6, and so on, which are to be encoded by interpolation, is preceded in the current frame input data S4 by the odd numbered frames (F1, F3), (F3, F5), (F5, F7), . . . , which precede and follow corresponding even numbered frames of the input frame data S1. This reordering of the input frame data in the sequence of the current frame input data S4 enables predictive calculations of the interpolated frames F2, F4, F6, . . . , based on the odd numbered frames preceding and following each thereof. As is explained in greater detail below, these predictive calculations are carried out in an adaptive predictive data generating circuit section 41 (illustrated in FIG. 5(A)), the results of which are compared for selecting the interpolation mode which produces the smallest error.

With reference both to FIGS. 4 and 5(A), 5(B), a motion vector detector (M.V.D.) circuit 36 of the picture data coding circuit section 31 produces the motion vector data x0, x1, x2, etc. (as indicated in FIG. 1) representing motion occurring between the respective frames (F0, F1), (F1, F2), (F2, F3), . . . , and supplies the same as data S16 as indicated in FIG. 5. The current frame input data S4, together with the motion vector data S16, are supplied from the picture data coding circuit section 31 to the adaptive predictive data generating circuit section 41 as input data S5 (refer to FIGS. 4 and 5(A), 5(B)). The circuit section 41 carries out the above mentioned predictive calculations utilizing the input data S5 and outputs selected predictive frame data S8 corresponding with a respective one of the current frame input data S4 which it supplies to the inverting input of a subtractor circuit 42. The non-inverting input of the subtractor circuit 42 is connected with the output o the data selector circuit 34 to receive the current frame input data S4 and, accordingly, outputs data representing the differences between the current frame input data S4 and the predictive frame data S8.

A discrete cosine transformation (D.C.T.) circuit 43 has an input connected with the output of the subtractor circuit 42 to receive the difference data S9 therefrom and is operative to further compress the data in accordance with a discrete cosine transformation function, supplying the thus processed data at an output thereof as transformed output data S10. The output of the discrete cosine transformation circuit 43 is connected with an input of a quantization circuit 44 for quantization of the data S10 in accordance with an adjustable quantization value in order to maintain the rate of data generation at an amount which does not exceed the data handling capacity of the system. The adjustable quantization value is determined by a data generation quantity calculating (D.G.Q.C.) circuit 45 having an output connected with a control input of the circuit 44 to provide a quantization control signal S11 thereto for controlling said quantization value. The operation of the circuit 45 is discussed in greater detail hereinbelow.

The transformed output data S10 is thus quantized by the quantization circuit 44 and as such is output as quantized data S12. The quantization circuit 44 supplies the quantized data S12 to the input of a run-length Huffman coding circuit 150 which, after run-length encoding the same in the form of data S13 suitable for transmission, provides the same to an input of a transmission data combining circuit 46 where the data S13 is combined with additional data to be transmitted, as described in greater detail hereinbelow. The transmission data combining circuit 46 provides the combined data at an output terminal thereof coupled with an input terminal of the data generation quantity calculating circuit 45 which utilizes the same in order to produce the quantization control data S11 for selecting the quantization values utilized by the quantization circuit 44.

The output of the transmission data combining circuit 46 is also coupled with an input of a buffer memory 52 of a transmission buffer circuit section 51. The buffer memory 52 stores the information supplied by the circuit 46 for transmission at a predetermined transmission speed as the DATA output by the transmission section 11 (refer to FIG. 4). By virtue of the control functions exercised by the quantization circuit 44 and the data generation quantity calculating circuit 45, the amount of data supplied to the buffer memory 52 does not exceed its storage capacity, so that the data generated in the transmission section 11 is reliably transmitted in full to the reception section 15.

In the interpolation mode (S2=INTPL), the adaptive predictive data generating circuit section 41 (refer to FIG. 5(A)) receives the quantized data S12 from the output of the quantization circuit 44 in order to decode the same for comparison with each of a plurality of predictive frames generated with the use of the motion vector data S16 received from the motion vector detector circuit 36. The predictive frame data providing the least error with respect to the decoded frame data is provided as the predictive frame data S8 to the subtraction circuit 42. At the same time, the adaptive predictive data generating circuit section 41 supplies the motion vector data used to produce the predictive frame data S8 for transmission by supplying the same to the transmission data combining circuit 46 to be included in DATA for transmission. More specifically, an inverse quantization circuit 55 of the adaptive predictive data generating circuit section 41 has an input connected with the output terminal of the quantization circuit 44 to receive the quantized data S12. The inverse quantization circuit 55 processes the quantized data S12 in order to restore it to the form of the data S10 output by the discrete cosine transformation circuit 43 and outputs the processed data to a discrete cosine inverse transformation (D.C.I.T.) circuit 56 which, in turn, produces picture data to which the predictive frame data S8 is added in an adding circuit 57 to yield current frame decoded data S15 representing the current frame input data S4 which has been previously encoded in the form of the data S12.

The adaptive predictive data generating circuit section 41 also includes an adaptive prediction circuit 58 having an input coupled with the adding circuit 57 to receive the current frame decoded data S15 and is operative to employ the same for producing the above-described plurality of predictive frame data based upon the motion vector data S16 which it receives at a further input from the motion vector detector circuit 36. With reference now to FIGS. 7(A), 7(B), the adaptive prediction circuit 58 is illustrated therein having a preceding-frame (P.-F.) memory 61 having an input coupled to receive the current frame decoded data S15 in order to write selected frames thereof under the control of the frame mode designating signal S2. At the same time, picture data previously stored therein is transferred as the frame before the preceding frame then being stored in memory 61 to a frame-before-preceding-frame (F.-B.-P.-F.) memory 62 in the form of preceding-frame decoded data S21. The memory 62 is operative in response to the frame mode designating signal S2 to write the preceding frame decoded data S21 as the frame-before-preceding-frame decoded data S22. The output of the preceding frame memory 61 is also coupled with the input of a movement correcting data generating circuit 63 in order to provide the preceding frame data S21 thereto. An output of the frame-before-preceding-frame memory 62 is coupled with an input of a further movement correcting data generating circuit 64 to provide the frame-before-preceding-frame decoded data S22 thereto.

Each of the movement correcting data generating circuits 63 and 64 includes respective read variable memories 63A and 64A which receive the preceding frame decoded data S21 and the frame-before-preceding-frame decoded data S22, respectively, for storing the same. The read variable memory 63A has an output coupled with an input of a linear interpolation (L.I.) circuit 63B. Each of the read variable memory 63A and the linear interpolation circuit 63B is provided with motion vector data S23 produced by a motion vector calculating circuit 65 of the adaptive prediction circuit 58 and are operative in response thereto to transform the preceding frame decoded data S21 to preceding/following-frame movement corrected data S25 which serves as predictive frame data for either a preceding or following frame depending upon the current operating mode (indicated by the frame mode designating signal S2).

The movement correcting data generating circuit 64 includes a respective linear interpolation (L.I.) circuit 64B having an input coupled with an output of the read variable memory 64A. Each of the read variable memory 64A and the linear interpolation circuit 64B has a further input coupled to receive correcting motion vector data S24 also provided by the motion vector calculating circuit 65 and are operative in response thereto to produce preceding frame movement corrected data S26 at an output of the linear interpolation circuit 64B representing a predictive frame of the current frame input data S4 when the system is operating in the interpolation mode (S2=INTPL) serving as a predictive frame corresponding with the current frame input data S4.

With reference to FIGS. 5(A), 5(B), 6(A), and 6(B), as the current frame input data S4 are supplied in the sequence F1, F0, F3, F2, F5, F4, . . . , the current frame decoded data S15 correspond thereto and are designated, respectively, F1U, F0U, F3U, F2U, F5U, F4U, . . . , (refer to lines (E) and (F) of FIG. 6) and are supplied to the input of the preceding frame memory 61 of FIG. 7(A). The preceding frame memory 61 has a write enable input terminal WRT2 for receiving the frame mode designating signal S2. The memory 61 is operative when S2=INTRA or S2=INTER to write the current frame decoded data S15 received at that time, as indicated in line (G) of FIG. 6(A). That is, as indicated in line (H) of FIG. 6(A), the memory 61 is operative to sequentially store the data F1U, F3U, F5U, . . . supplied as the current frame decoded data S15 when S2=INTRA or INTER and maintains the data thus stored for the two successively following frame intervals. Accordingly, if the preceding frame decoded data S21 stored by the memory 61 are designated F(K)U (K=1,3,5, . . . ), these data are each provided by the memory 61 during the intervals during which S1=F(K+1) and S1=F(K+2). For example, while the memory 61 stores the frame decoded data F1U, the frame data F2, F3 are sequentially provided as the input frame data S1.

The frame-before-preceding-frame memory 62 has a write enable terminal WRT3 provided with the frame mode designating signal S2 and is operative whenever S2=INTRA or S2=INTER to write the data then available as the preceding frame decoded data S21 output by the preceding frame memory 61, as indicated by line (I) of FIG. 6 and, like the memory 61, maintains the data thus written for the succeeding two frame intervals. That is, the memory 62 is operative to sequentially store the data F1U, F1U, F3U, . . . during the frame intervals t14 to t15, t15, to t16, t16 to t17, . . . at the same time that the respective frame data F4, F5, F6, . . . arrive as the input frame data S1.

Consequently, when the interpolated frame data F2, F4, F6, etc., are provided as the current frame input data S4 (refer to line (E) of FIG. 6(A)), the frame decoded data of the respective frames F3U and F1U, F5U and F3U, F7U and F5U, . . . which follow and precede such interpolated frame data are respectively produced as the preceding frame decoded data S21 (refer to line (H) of FIG. 6(A)) and the frame-before-preceding-frame decoded data S22 (refer to line (J) of FIG. 5(B)). The circuits 63 and 64 respectively produce the preceding/following-frame movement corrected data S25 and the preceding-frame movement corrected data S26 based upon the corresponding data S21 and S22 with the use of corresponding motion vector data S23 (refer to line (L) of FIG. 6(B)) and S24 (refer to line (M) of FIG. 6(B)) supplied by the motion vector calculating circuit 65.

The motion vector calculating circuit 65, as shown in FIG. 7(A), includes an input circuit 71 coupled to receive the motion vector data S16 from the motion vector detector circuit 36 and supplies the same (represented in sequence by x0, x1, x2, x3, . . . ) to the input of a first delay circuit 72 in the form of a one-frame delay memory. An output of the first delay circuit 72 is coupled with an input of a second delay circuit 73 in the form of a further one-frame delay memory, to provide the motion vector data S16 delayed by one frame thereto. The second delay circuit 73 delays the motion vector data by a further frame and supplies the two frame delayed motion vector data at an output thereof. A second output of the first delay circuit 72 is coupled with an input of a motion vector detector circuit 74, while the output of the second delay circuit 73 is coupled with an input of a further motion vector detector circuit 75. Each of the motion vector detector circuits 74 and 75 has a control input coupled to receive the frame mode designating signal S2 and is operative when S2=INTPL to write the motion vector data received thereby from the respective delay circuits 72 and 73 at that time. Accordingly, during each interpolation frame coding mode (S2=INTPL) when the input frame data takes the form FK (K=1, 2, . . . ), the delay circuits 72 and 73 provide the motion vector data xk and xk-1, respectively, to the motion vector detector circuits 74 and 75 which store the same and provided continuously for the succeeding two frame intervals (see for example, line (K3) and line (K4) of FIG. 6).

Simultaneously with the provision of the input frame data S1 equal to FK (K= . . . , 1, 2, 3 . . . ) as indicated in line (A) of FIG. 6(A), the delay circuits 72 and 73 deliver the motion vector data xk and xk-1 to the motion vector detector circuits 74 and 75, respectively (refer to lines (K1) and (K2) of FIG. 6(B). The motion vector data xk represents movement in the picture data from the current frame FK to the succeeding frame F(K+1), while the motion vector data xk-1 represents movement of picture data from the frame F(K-1) preceding the current frame FK to the current frame FK. As noted above, the motion vector detector circuits 74 and 75 write the motion vector data xk and xk-1 supplied thereto during the interpolation frame coding mode intervals TPL and store this data during the two succeeding frame intervals (refer to lines (K3) and (K4) of FIG. 6(B)).

Accordingly, since the data FK is supplied as the input frame data S1 during each interpolation frame coding mode interval TPL, the motion vector data xk, xk-1, xk-2, and xk-3 are then provided by the circuits 72, 73, 74 and 75 respectively. Moreover, during the interframe coding mode intervals TER, the motion vector data xk, xk-1, xk-1 and xk-2 are then provided by the circuits 72, 73, 74 and 75, respectively.

With reference again to FIG. 7(A), 7(B), the motion vector calculating circuit 65 includes a data selector circuit 76 having an input terminal All coupled with the output of the motion vector detector circuit 75 and a control input coupled to receive the frame mode designating signal S2 for controlling the selection of the input terminal A11 for connection to an output terminal thereof. The circuit 65 also includes a polarity inverting (P.I.) circuit 77 having an input coupled with the output terminal of the motion vector detector circuit 74 and operative to invert the polarity of the motion vector data supplied thereto by the circuit 74. An adding circuit 79 of the circuit 65 has a first input coupled with the output terminal of the motion vector detector circuit 74 and a second input coupled with the output terminal of the motion vector detector circuit 75 and is operative to provide a signal representing the summation of the motion vector data output by the circuits 74 and 75 to an input terminal A22 of a further data selector circuit 78. A second input terminal A21 of the circuit 78 is coupled with the output terminal of the polarity inverting circuit 77 to receive the inverted motion vector data therefrom. The data selector circuit 78 also has a control terminal coupled to receive the frame mode designating signal S2 for controlling the selection of either of input terminals A21 or A22 for connection to an output terminal of the circuit 78.

During the interpolation mode (S2=INTPL) and while the data FK (K= . . . 2,4,6 . . . ) is received as the input frame data S1, the motion vector detector circuit 75 supplies the motion vector data xk-3 representing motion between the data of the frame F(K-3) and the frame F(K-2). At this time, the data selector circuit 76 under the control of the frame mode designating signal S2 selects the input terminal A11 thereof thus to output the motion vector data xk-3 which it supplies as the motion vector data S24 to the movement correcting data generating circuit 64 to which the frame-before-preceding-frame decoded data S22 is supplied.

At the same time, the motion vector detector circuit 74 outputs the motion vector data xk-2 which is then inverted by the polarity inverting circuit 77 and thus represents movement between the frame immediately preceding that represented by the data FK and the frame immediately prior thereto. At this time, the data selector circuit 78, in response to the frame mode designating signal S2=INTPL, selects the input terminal A21, thus to output the motion vector data [-xk-2 ] provided by the polarity inverting circuit 77 as the motion vector data S23 to the movement correcting data generating circuit 63.

With reference to lines (J) and (E) of FIG. 6(B), during the interpolation frame coding mode interval TPL, the frame-before-preceding-frame decoded data S22 then provided by the memory 62 constitutes data representing the (K-3)th frame, while the current-frame input data S4 then represents the (K-2)th frame. At the same time, the data S24 takes the form of the motion vector data xk-3, so that the movement correcting data generating circuit 64 produces a predictive interpolation frame representative of the (K-2)th frame as the preceding frame movement correcting data representative of the (K-2)th frame as the preceding frame movement correcting data S26.

Simultaneously, the preceding frame decoded data S21 represents the (K-1)th frame, while the data S23 supplied thereto corresponds with the motion vector data -xk-2, so that the movement correcting data generating circuit 63 also produces predictive frame data representative of the (K-2)th frame as the preceding/following frame movement correcting data S25.

For example, during the interpolation coding mode interval TPL when the frame data F4 is present as the input frame data S1 (refer to line (A) of FIG. 6(A)), data F2 representing the second frame is then received as the current frame input data S4 (refer to line (E) of FIG. 6(A). At this time the motion vector calculating circuit 65 provides the motion vector data -x2 as the data S23 (refer to line (L) of FIG. 6(B)) to the circuit 63 for transforming the data S21 then representing the data F3 to a predictive frame corresponding with the current frame input data S4 equal to F2. At the same time, the motion vector calculating circuit 65 provides the motion vector data x1 as the data S24 to the circuit 64 for transforming the data S22 therein representing the first frame to data representative of the second frame which it then supplies as the data S26.

During the interframe coding mode interval (S2=INTER), the input frame data S1 may be designated FK (K=3, 5, . . . ) and the current frame input data S4 is identical to data S1 (see line (E) of FIG. 6(A)). Simultaneously, the preceding frame decoded data S21 takes the form of the data F1U, F3U, . . . corresponding with the data F(K-2) preceding the current frame data S4 by two frames (refer to line (H) of FIG. 6(A)). During each of the interframe coding mode intervals, the data selector circuit 78 selects the input A22 corresponding with the motion vector data xk-2 +xk-1 which it supplies to the movement correcting data generating circuit 63 for transforming the preceding frame decoded data S21 into data representing the Kth frame, thus providing predictive frame data based upon the uninterpolated frame data F(K-2).

For example, during the interframe interval (K=3), the input frame data S1 takes the form of the data F3 and the preceding frame decoded data S21 takes the form of the decoded data F1U, representing the frame preceding the current frame by two frame intervals (refer to lines (A) and (H) of FIG. 6(A)). Simultaneously, the motion vector calculating circuit 65 provides the motion vector data x1 +x2 (refer to line (L) of FIG. 6(B)) to the circuit 63 to produce the predictive frame data S25 representing the frame (K+3) and obtained by transforming the data S21 representing the frame (K=1) with the use of motion vector data x1 +x2.

In general, the predictive frame data generating circuit 66 serves to generate picture data having the least deviation from the current frame input data S4, which it provides as the predictive frame data S8 based upon the preceding/following frame movement correcting data S25 and the preceding frame movement correcting data S26. In addition, the manner in which the predictive frame data S8 is generated is dependant upon the system's mode of operation as determined by the frame mode designating signal S2. More specifically, the predictive frame data generating circuit 66 includes a data selector circuit 81 having three input terminals A31, A32, and A33 respectively provided with predictive frame data for use during the intraframe coding mode, the interframe coding mode and the interpolated frame coding mode, and an output terminal selectably connectable with each of the input terminals A31, A32 and A33 under the control of the frame mode designating signal S2 for providing the predictive frame data S8 to an output of the circuit 66. Accordingly, during the intraframe coding mode interval, the circuit 81 selects the input terminal A31 under the control of the signal S2=INTRA. The input terminal A31 is provided with blank picture data (indicated as "0" in FIG. 7(B)) continuously, so that the adaptive prediction circuit 58 provides blank picture data containing no picture information to the inverting input terminal of the subtractor circuit 42 during the intraframe coding mode (refer to FIG. 5(A). Accordingly, the subtractor circuit 42 provides the current frame input data S4 unmodified as the transmitted frame data S9 to the discrete cosine transformation circuit 43 so that intraframe coded data is delivered at the output thereof as the data S10.

During each interframe coding mode interval (S2=INTER), the data selector circuit 81 selects its input terminal A32 under the control of the signal S2=INTER for providing interframe coded picture data S32 from an interframe coding data selector circuit 82 as the predictive frame data S8. The interframe coding data selector circuit 82 is provided with a first input terminal A41 and a second input terminal A42 which are selectably connectable with an output terminal thereof to provide the interframe coded picture data S32 under the control of a control signal S35 provided by a first least correction data selector (1st L.C.D.S.) circuit 83, the operation of which is described in greater detail hereinbelow. The first input terminal A41 is provided with the blank picture data indicated as "0" in FIG. 7(B), while the second input terminal A42 is coupled with the output of the movement correcting data generating circuit 63 to receive the preceding/following frame movement correcting data S25 therefrom. The first least correction data selector circuit 83 receives detection output data S33 and S34 provided respectively by an intraframe difference detector circuit 84 and a first movement difference detector circuit 85 and, based thereon, produces the selection control signal S35 for controlling the selection of the input terminals A41 or A42 of the interframe coding data selector circuit 82.

The intraframe difference detector circuit 84 includes a transmitted unit block average circuit having an input coupled to receive the current frame input data S4 and is operative to produce data S36 representing an average value of the pixel data of each transmitted unit block of the data S4 which it provides at an output terminal thereof to a comparator circuit 87 in the form of a subtracting circuit receiving the data S36 at a noninverting input terminal thereof. An inverting input terminal of the circuit 87 is coupled to receive the current frame input data S4 and, accordingly, the comparator circuit 87 is operative to produce a series of difference signals S37. An absolute value accumulating circuit 88 accumulates a sum of the absolute values of the signals S37 to supply the signal S33 which thus represents a difference between the value of the pixels within the current frame input data S4 and the average value of the picture data which surrounds the pixels thereof. Accordingly, this difference represents the error between the picture data to be encoded for transmission and the data to be transmitted as intraframe coded data. The detection output data S33 supplied to the first least correction data selector circuit 83 thus represents the error between the data to be encoded presently for transmission and the predictive frame data obtained by decoding the intraframe coded data.

The first movement difference detector circuit 85 includes a comparator circuit 91 in the form of a subtracting circuit having a noninverting input supplied with the preceding/following frame movement correcting data S25 produced by the movement correcting data generating circuit 63. The comparator circuit 91 also has an inverting input supplied with the current frame input data S4 to produce difference data S41 at an output thereof which is supplied thereby to an average value accumulating circuit 92 which accumulates the sum of such difference data S41 to provide the detection output data S34.

During the interframe coding mode intervals, the current frame input data S4 corresponds with the frame data F3, F5 . . . , while the movement correcting data generating circuit 63 provides predictive frame data also corresponding with the data F3, F5 . . . , obtained by transforming the frame decoded data F1U, F3U, . . . , with the use of the motion vector data S23 in the form of (x1 +x2), (x3 +x4), . . . , respectively. Refer to lines (E), (H), and (L) of FIG. 6(A). Accordingly, the comparator circuit 91 of the first movement difference detector circuit 85 thus produces difference data S41 representing the error between the data S4 which it is desired to reproduce at the receiver and the picture data which would actually be transmitted as interframe coded data in the form of the motion vector data (x1 +x2), (x3 +x4), . . . , and which is then accumulated in the absolute value accumulating circuit 92 to produce the detection output data S34.

The first least correction data selector circuit 83 compares the detection output data S33 provided by the intraframe difference detector circuit 84 and the detection output data S34 provided by the first movement difference detector circuit 85 and based on this comparison generates the selection control signal S35 to control the interframe coding data selector 82 to select as the predictive frame data S8 that one of the proceeding/following frame movement correcting data S25 and the blank picture data 31 which provide the least error with respect to the current frame input data S4. Accordingly, during the interframe coding mode interval TER, the predictive frame data generating circuit 66 adaptively selects and delivers as the predictive frame data S8 (refer to line (N) of FIG. 6(B)) either the blank picture data or the frame data FK produced with the use of the data F(K-2) transformed by the motion vector data (xk-2 +xk-1). As a result, data representing the differences between the uninterpolated frame data F1, F3, . . . and the predictive coding data supplied by the predictive frame data generating circuit 66 are provided by the subtractor circuit 42 (refer to FIG. 5(A)) to the discrete cosine transformation circuit 43 as the transmitted frame data S9 in order to supply interframe coded data representing the uninterpolated frames including the 3rd, 5th, 7th, etc., frames, to the transmission buffer circuit section 51 for transmission.

During the interpolation frame coding mode intervals (S2=INTPL), the data selector circuit 81 in response to the signal S2 selects the input terminal A33 which is coupled with an output of an interpolation frame coding data selector circuit 95 to receive interpolation frame coded picture data S45 therefrom to be supplied as the predictive frame data S8 to the subtractor circuit 42 of FIG. 5(A). The interpolation frame coding selector circuit 95 has four data input terminals A51, A52, A53, and A54, selectably connectable to an output terminal thereof under the control of a selection control signal S47 generated by a second least correction data selector circuit 99, the operation of which is described in greater detail hereinbelow. The input terminal A51 of the circuit 95 is coupled to received the blank picture data S31, the input terminal A52 of the circuit 95 is coupled with the movement correcting data generating circuit 63 to receive the preceding/following frame movement correcting data S25 therefrom, and the input terminal A53 thereof is coupled with the output of an average value calculating circuit 96, and the input terminal A54 thereof is coupled with the output of the movement correcting data generating circuit 64 to receive the preceding frame movement correcting data S26 therefrom. The average value calculating circuit 96 includes an adding circuit 97 having a first input coupled with the output of the circuit 63 to receive the data S25 therefrom and a second input coupled with the output of the circuit 64 to receive the data S26 therefrom and provides a signal representing the sum of the signals S25 and S26 to the input of a one-half divider circuit 98. The circuit 98 thus provides data S46 representing the average value of the preceding/following frame movement correcting data S25 and the preceding frame movement correcting data S26 which it provides to input terminal A53 of circuit 95.

The second least correction data selector circuit 99 generates the selection control signal S47 based upon the relative values of the control signal S33 provided by the intraframe difference detector circuit 84 and the control signal S34 provided by the first movement difference circuit 85, together with the values of detection output data S50 provided by a second movement difference detector circuit 101 and the value of detection output data S55 provided by a third movement difference detector circuit 105. As explained in greater detail below, the second least correction data selector circuit 99 is thus enabled to adaptively select picture data for transmission which is capable of reproducing an interpolated picture of the highest quality at the receiver.

The second movement difference detector circuit 101 includes a comparator circuit 102 in the form of a subtracting circuit having a noninverting input terminal coupled to receive the preceding frame movement correcting data S26 from the movement correcting data generating circuit 64 and an inverting input terminal coupled to receive the current frame input data S4, thus to produce difference data S51 at an output terminal thereof representing the differences between respective portions of the data S26 and S4. The circuit 101 also includes an average value accumulating circuit 103 having an input coupled with the output terminal of the comparator circuit 102 to receive the difference data S51 therefrom and is operative to accumulate the absolute values thereof thus to produce the detection output data S50 at an output terminal of the second movement difference detector circuit 101. Accordingly, the detection output data S50 represents the amount of error between the preceding frame movement correcting data S26 and the current frame input data S4.

The third movement difference detector circuit 105 includes a comparator circuit 106 in the form of a subtracting circuit having a noninverting input terminal coupled with the output terminal of the average value calculating circuit 96 to receive the average movement correcting data S46 therefrom, and an inverting input terminal coupled to receive the current frame input data S4. The comparator circuit 106 produces difference data S56 at an output terminal thereof which, accordingly, represents the differences between respective portions of the signals S46 and S4. The output terminal of the comparator circuit 106 is coupled with the input of an average value accumulating circuit 107 which is operative to accumulate the absolute value of the various difference data S56 which it outputs as the detection output data S55 of the third movement difference detector circuit 105. Accordingly, the detection output data S55 represents the accumulated error between the average movement correcting data S46 and the current frame input data S4.

During the interpolation frame coding mode intervals, in the event that the detection output data S33 provided by the intraframe difference detector circuit 84 represents the smallest error value when compared with the data S34, S50 and S55, the second least correction data selector circuit 99 generates the selection control signal S47 in a form which causes the interpolation frame coding selector circuit 95 to select the blank picture data S31 for output to the data selector circuit 81 which in turn provides the same as the predictive frame data S8 to the subtractor circuit 42. Accordingly, the discrete cosine transformation circuit 43 receives the unmodified current frame data S4 which it then transforms to produce the intraframe coded data S10 for transmission to the reception section 15 (refer to FIG. 4) as a respective one of the interpolated frames F2, F4, . . . .

However, in the event that the detection output data S34 provided by the first movement difference detector circuit 85 possess the least error as compared with the signals S34, S50 and S55, the second least correction data selector circuit 99 produces the selection control signal S47 in a form which causes the circuit 95 to select the input terminal A52 thus to provide the preceding/following frame movement correcting data S25 as the predictive frame data S8 at that time. With reference to lines (E) and (H) of FIG. 6(A), it will be seen that during the interpolation frame coding mode intervals TPL, the current frame input data S4 takes the form of the frame data F(K-2) (where S1=FK) while the preceding frame decoded data S21 takes the form of the decoded frame data F(K-1). Accordingly, where the detection output data S34 possesses the smallest value of the detection data provided to the second least correction data selector circuit 99, this indicates that the motion vector data [-xk-2 ] provides the most accurate data which if transmitted to the reception section 15 (refer to FIG. 4) will produce the highest quality picture for the corresponding interpolated frame. Therefore, the movement correcting data generating circuit 63 outputs the preceding/following frame movement correcting data S25 as the predictive frame data S8 to the subtractor circuit 42 and, as described more fully hereinbelow, the motion vector data [-xk-2 ] is transmitted as a component of DATA for use in reconstructing the data of the interpolation frame F(K-2) in the reception section 15.

If, however, the detection output data S50 produced by the second movement difference detector circuit 101 possesses the smallest value as compared with the detection output data S33, S34 and S55, the second least correction data selector circuit 99 produces the selection control signal S47 in a form which causes the circuit 95 to select the input terminal A54 thus to provide the preceding frame movement correcting data S26 through the data selector circuit 81 as the predictive frame data S8. With reference to lines (E) and (J) of FIG. 6(A), it will be seen that during the interpolation frame coding mode intervals TPL, the current frame input data S4 takes the form of the frame data F(K-2), while the frame-before-preceding-frame decoded data S22 takes the form of the frame data F(K-3). Accordingly, when the detection output data S50 possesses the smallest value as set forth above, this indicates that the motion vector data xk-3 is the most accurate motion vector data available for reproducing a picture of the best quality at the reception section 15. Accordingly, while the preceding frame movement correcting data S26 is supplied as the predictive frame data S8, the motion vector data xk-3 is simultaneously transmitted as a component of DATA to the reception section 15.

However, in the event that the detection output data S55 produced by the third movement difference detector circuit 105 produces the smallest value as compared with the detection output data S33, S34 and S50, the second least correction data selector circuit 99 produces the selection control signal S47 in a form which causes the interpolation frame coding selector circuit 95 to select the input terminal A53 thus to provide the average movement correcting data S46 supplied by the average value calculating circuit 96 as the predictive frame data S8. With reference to lines (E), (H) and (J) of FIG. 6(A), at this time the current frame input data S4 takes the form of the frame data F(K-2), while the preceding frame decoded data S21 takes the form of the frame data F(K-1)U and the frame-before-preceding-frame decoded data S22 takes the form of the frame data F(K-3)U. With reference also to lines (L) and (M) of FIG. 6(B), simultaneously the data selector circuits 78 and 76 of the motion vector data calculating circuit 65 provide the motion vector data [-xk-2 ] and xk-3, respectively. Consequently, at this time the movement correcting data generating circuit 63 outputs the preceding/following frame movement correcting data S25 representing the frame decoded data F(K-2)U by transforming the preceding frame decoded data S21 representing the frame data F(K-1)U with the use of the motion vector data [-xk-2 ]. At the same time, the movement correcting data generating circuit 64 provides the preceding frame movement correcting data S26 in the form of frame decoded data F(K-2)U obtained by transforming the preceding frame decoded data S22 in the form of the decoded data F(K-3)U with the use of the motion vector data xk-3. Accordingly, the average movement correcting data S46 then takes the form of the average value of the framedecoded data F(K-2)U provided by the movement correcting data generating circuits 63 and 64 as the predictive frame data S8. Simultaneously therewith, the motion vector data (xk-3, -xk-2) is transmitted as a component of DATA to the reception section 15 as the most accurate motion vector data capable of reproducing the current interpolated frame with the best quality.

Under optimal conditions, at least one of the detection output data S34, S50 and S55 has a "0" value indicating that the respective predictive picture data, S25, S26 or S46 generated in accordance with the corresponding motion vector data to be transmitted agrees with the current frame input data S4 represented thereby. Accordingly, the predictive picture data S8 supplied by the predictive frame data generating circuit 66 to the subtractor circuit 42 (refer to FIG. 5(A)) is identical with the current frame input data S4, so that the content of the transmitted frame data S9 is 0. Accordingly, the discrete cosine transformation circuit 33 generates no error data to be transmitted as the transformed output data S10, and thus, the transmitted data combining circuit 46 need only deliver the motion vector data to the buffer memory 52 as picture data for the corresponding interpolated frame. Consequently, the quantity of the data to be transmitted can be substantially decreased. At the same time, the transmitted motion vector data will permit reproduction of a picture having good quality through an interpolation calculation carried out in the reception section 15.

In the event, however, that one of the detection output data S34, S50 and S55 while providing the smallest error is nevertheless a non-zero value, this indicates that the current frame input data S4 differs to some extent with the respective one of the selected predictive frame data S25, S26 or S46 resulting from an error included in the corresponding motion vector. The predictive frame data generating circuit 66 delivers the predictive picture data including the error to the subtractor circuit 42 as the predictive frame data S8, and thereby, picture data corresponding to the error is supplied to the discrete cosine transformation circuit 43 as the transmitted frame data S9. Accordingly, the transmitted data conning circuit 46 transmits the picture data corresponding to the error together with the selected motion vector data to the reception side of the system. By thus providing the error data to the reception side, it is enabled to correct the error introduced by the motion vector so that picture data of good quality can be reproduced therein.

As noted hereinabove, the transmission data combining (T.D.C.) circuit 46 assembles the DATA in a form suitable for transmission. The DATA so assembled includes the error data encoded in the form of the data S13 provided by the run-length Huffman coding circuit 150 together with motion vector data. The transmission data combining circuit 46 combines the motion vector data with additional data in order to form header data DHD. The header data DHD also includes frame mode data indicating the coding method used to produce each frame of the transmitted data, predictive mode data indicating the kind of picture data predicted to be optimum by the adaptive predictive data generating circuit section 41 (except for intraframe coded frames) together with quantization width data provided by the quantization circuit 44 for indicating the coding width used thereby. More specifically, for each interpolation frame coding mode interval TPL the predictive mode data indicates whether the interpolation frame coding data selector circuit 95 has selected the picture data S31, S25, S26 or S46. For each interframe coding mode interval TER, the predictive mode data indicates whether the interframe coding data selector circuit 82 selected the data S31 or S25.

With reference now to FIGS. 8(A), 8(B), the reception section 15 as illustrated therein receives the reception data DATAX provided at the output terminal of the reception circuit section 14 and inputs this data to a buffer memory 121 of a picture data coding section 110 of the reception section 15. Subsequently, the reception data DATAX is read out by the buffer memory 121 to the input of a header separator circuit 122 which serves to separate the header data DHD and provides the remaining data to successive inverse conversions carried out by a run-length Huffman inverse coding (R.H.I.C.) circuit 123, an inverse quantization circuit 124 and a discrete cosine inverse transformation (D.C.I.T.) circuit 125 from which reception frame data S51 thus obtained is provided to a first input terminal of an adder circuit 126. The header data DHD is provided to an input of a selective predictive circuit 127 having a second input connected with an output terminal of the adder circuit 126 and an output terminal connected with a second input terminal of the circuit 126. The selective predictive circuit 127 detects the predictive conversion information included in the header data DHD for generating selective predictive data S52 in accordance with such predictive conversion information which it then supplies to its output terminal as the selected predictive data. This selected predictive data is then added by the adding circuit 126 to the decoded picture data S51 constituting the difference data previously encoded by the transmitter, thus to provide reproduced data S53 at the output of the adding circuit 126.

The reproduced picture data S53 is provided to the input of an inverse unit blocking circuit 128 which processes the data S53 to obtain picture data in the same format as that of the data previously supplied to the unit blocking circuit 33 of the transmission section 11. The reformatted data is output by the inverse unit blocking circuit 128 to an input terminal of a received data outputting section 111 where it is received initially by a time base converting circuit 131 thereof. The time base converting circuit 131 carries out a time base conversion of the picture data supplied from the inverse unit blocking circuit 128 in accordance with a predetermined clock signal CL to thereby reproduce the luminance signal (designated SY1) and the chrominance signal (designated SCL). The luminance signal is supplied to a single field interpolation (S.F.I.) circuit 132 for recovering the original format thereof, while the chrominance signal is supplied to a single field line interpolation circuit 133 for the same purpose. The luminance signal thus reformatted by the circuit 132 is supplied thereby to a digital-to-analog convertor circuit 134 for converting the same to an analog luminance signal Yx. The reformatted chrominance signals supplied by the signal field line interpolation circuit 133 are provided to respective digital-to-analog convertor circuits 135 and 136 which output chrominance signals CRX and CBX, respectively. The luminance signal Yx together with the chrominance signals CRX and CBX constitute the output signal VDOUT provided by the received data output section 111.

With reference again to FIG. 4, in the embodiment of the present invention disclosed herein, the moving picture input signal VDIN received by the transmission section 11 is rearranged by the picture data input section 21 and supplied thereby to the picture data coding circuit section 31 in the form of picture data PIC. The picture data coding circuit section 31 arranges the picture data in the order of the 0th, 1st, 2nd, 3rd, 4th, . . . frames represented respectively by the frame data F0, F1, F2, F3, F4, . . . , designated the input frame data S1, and under the control of the frame mode designating signal S2, encodes the data F1 of the first frame by high efficiency coding according to an intraframe coding process. Thereafter, the data of every other even numbered frame, that is, the data of the 2nd, 4th, 6th, . . . frames F2, F4, F6, . . . , are encoded according to an interpolation frame coding process. Meanwhile, the data of the odd numbered frames succeeding the first frame, that is, the 3rd, 5th, 7th, . . . frames represented by the data F3, F5, F7, . . . are subjected to a high efficiency interframe coding process.

More specifically, and with reference to FIG. 5(A), the input frame data S1 (refer to line (A) of FIG. 6(A)) are rearranged by the data selector circuit 34 and the interpolated frame input memory 35, so that even numbered frame data F0, F2, F4, F6, . . . , are time shifted by two frames, while the remaining data of the odd numbered frames F1, F3, F5, . . . are not shifted in time, so that the current frame input data S4 having a data sequence F1, F0, F3, F2, F5, . . . is obtained. This data is supplied to the subtractor circuit 42 and to the adaptive prediction circuit 58 of the adaptive predictive data generating circuit 41. In addition, the frame data encoded for transmission to the reception section is decoded in the adaptive predictive generating circuit 41 and utilized to produce predictive picture data which it is determined therein will reproduce pictures of the best quality for each frame upon reception, so that motion vector data and error data corresponding to each of the selected predictive picture data is transmitted to the receiver side.

The adaptive prediction circuit 58 permits each frame of the current frame decoded data S15 to be retained in the preceding frame memory 61 for two frame intervals and, thereafter to be retained for an additional two frame intervals in the frame-before-preceding-frame memory 62. This data is provided by the memory 61 in the form of the preceding frame decoded data S21 (refer to line (H) of FIG. 6(A)) and by the memory 62 as the frame-before-preceding-frame decoded data S22 (refer to line (J) of FIG. 6(A)). The data S21 and S22 are transformed based upon the motion vector data successively produced by the motion vector calculating circuit 65 for generating various sets of predictive picture data for each frame and, of these, the optimum picture data is supplied to the subtractor circuit 42 as the predictive frame data S8. Accordingly, the current frame input data S4 and the predictive picture data produced with the use of the motion vector data are employed to produce picture data representative of the differences therebetween which, combined with the motion vector data, are transmitted to the receiver side.

Initially, during the intraframe coding mode interval TRA when the data F1 of the first frame is provided as the input frame data S1 (refer to line (A) of FIG. 6(A)), the data selector circuit 81 of the predictive frame data generating circuit 66 (illustrated in FIG. 7(B)) selects the blank picture data S31 provided at the first input terminal A31 of the circuit 81 to be provided as the predictive frame data (refer to line (N) of FIG. (B)). Accordingly, the subtractor circuit 42 provides the data F1 of the first frame without modification as the transmitted frame data S9, so that the transmission section produces the transmitted DATA including this intraframe coded data.

During the second frame which is an interpolation frame coding mode interval TPL (S1=F2), the data selector circuit 81 of the predictive frame data generating circuit 66 outputs the interpolation frame coded picture data S45 from the interpolated frame coding selector circuit 95 as the predictive frame data S8. Simultaneously, the data F0 is provided as the current frame input data S4 (refer to line (E) of FIG. 6(A)), while the frame data F1U is output as the preceding frame coded S21 of the preceding frame memory 61 (refer to line (H) of FIG. 6(A)). During the same interval, the motion vector calculating circuit 65 provides the motion vector data -x0 through the input terminal A21 of the data selector circuit 78 as the correcting motion vector data S23 (refer to line (L) of FIG. 6(B)). Simultaneously, the decoded data F(-1)U representing the frame preceding the 0th frame is stored in the frame-before-preceding-frame memory 62.

Accordingly, during the second frame (S1=F2), the interpolation frame coding selector circuit 95 of the predictive frame data generating circuit 66 is supplied with input data including (i) the blank picture data S31, (ii) the preceding/following frame movement correcting data S25 in the form of the frame data F0 produced by transforming the data F1 with the use of the motion vector data -x0, (iii) the preceding frame movement correcting data S26 in the form of the frame data F0 produced by transforming the data F(-1) with the use of the motion vector data x-1, and (iv) the average movement correcting data S46 in the form of the average value of the frame data F0 as produced by transforming the data F1 as in (ii) and as produced by transforming the data F(-1) as in (iii) above. Of the above data, (i)-(iv), that providing the least error is selected by the second least correction data selector circuit 99 to be output by the predictive frame data generating circuit 66 as the predictive frame data S8.

The transmitted frame data S9 output by the subtractor circuit 42 thus represents the error of the predictive frame data S8 with respect to the current frame input data S4. The transmitted frame data S9 encoded in the form of the data S13 is then combined with the header data DHD by the transmission data combining circuit 46 to produce the signal DATA subsequently output by the buffer memory 52. The header data DHD includes both predictive conversion information in the form of the motion vector data corresponding with the predictive frame data S8 together with the predictive mode data indicating the type of frame data selected by the circuit 58. Subsequently during the third frame interval which is an interframe coding mode interval TER (S1=F3), the current frame input data S4 takes the form of the data F3 representing the third frame. At the same time, the preceding frame decoded data S21 provided by the preceding frame memory 61 takes the form of the data F1U representing the first frame. Meanwhile, the motion vector calculating circuit 65 provides the motion vector data (x1 +x2) as the correcting motion vector data S23 (refer to line (L) of FIG. 6(B)). Accordingly, the movement correcting data generating circuit 63 is then operative to provide predictive picture data F3 representing the third frame as the data S25 by transforming the data F1U of the preceding frame decoded data S21 with the use of the motion vector data (x1 +x2).

During each interframe coding mode interval, the data selector circuit 81 outputs the data received at its input terminal A32 in the form either of the blank picture data S31 or the predictive picture data F3 based on the data F1U depending on the state of the interframe coding data selector circuit 82, as the predictive frame data S8 (refer to line (N) of FIG. 6). If the error inherent in the motion vector data (x1 +x2) is relatively small, then the difference between the predictive picture data F3 (based on F1U) and the current frame input data S4 becomes sufficiently small so that it is less than that represented by the output of the intraframe difference detector circuit 84. In that event, the predictive picture data F3 based on F1U is selected by the first least correction data priority circuit 83 and supplied to the subtractor circuit 42 as the predictive frame data S8.

Thus, the error data produced by the subtractor circuit 42, together with the header data DHD including the predictive conversion information, namely the motion vector data (x1 +x2) and the predictive mode data indicating that the predictive picture data F3 based on F1U was selected as the predictive frame data S8, is delivered from the transmission section via the transmission path 13 to the reception section 15.

When, however, the error inherent in the motion vector data (x1 +x2) exceeds the value output by the intraframe difference detector circuit 84 and is too great to be neglected, this condition is detected by the first least correction data priority circuit 83 and the blank picture data is instead output as the prediction frame data S8. In that event, the picture data transmitted by the transmission section 11 takes the form of intraframe coded data. In this manner, the reception section 15 is enabled to reproduce a high quality picture.

During the fourth frame when the input frame data S1 is equal to F4, the data F2 of the second frame is received as the current frame input data S4 (refer to line (E) of FIG. 6(A)), while the preceding frame decoded data S21 (see line (H) of FIG. 6(A) equals the decoded data F3U and the frame-before-preceding-frame decoded data S22 (see line (J) of FIG. 6(B)) equals the decoded data F1U. At the same time, the motion vector calculating circuit 65 delivers the motion vector data -x2 as the correcting motion vector data S23 (see line (L) of FIG. 6(B)) and it also delivers the motion vector data x1 as the correcting motion vector data S24 (see line (M) of FIG. 6(B)).

As a result, the movement correcting data generating circuit 63 delivers the preceding/following frame movement correcting data S25 obtained by transforming F3U provided as the preceding frame decoded data S21 with the use of the motion vector data -x2. At the same time, the movement correcting data generating circuit 64 provides the preceding frame movement correcting data S26 obtained by transforming F1U provided as the frame-before-preceding-frame decoded data S22 with the use of the motion vector data x1. Simultaneously, the average value calculating circuit 96 delivers the average movement correcting data S46 in the form of a predictive picture data F2, which is the average value of the picture data F2 based on F3U and in the form of the preceding/following frame movement correcting data S25 and the predictive picture data F2, based on F1U and in the form of the preceding frame movement correcting data S26 (refer to line (N) of FIG. 6(B)).

Thus, during the 4th frame as illustrated in line (N) of FIG. 6(B), the interpolation frame coding data selector circuit 95 is supplied with (i) the blank picture data S31, (ii) the predictive picture data F2 based on the data F3U representing the third frame and the motion vector data -x2, (iii) the predictive picture data F2 based on the data F1U representing the first frame and the motion vector data x1, and (iv) the predictive picture data F2 obtained by calculating the average of the predictive picture data F2 based on F3U and F2 based on F1U, and of these data, that producing the least error is selected by the second least correction data selector circuit 99 as the predictive frame data S8. More specifically, if the second least correction data selector circuit 99 determines that the error between (i) the predictive picture data F2 based on F3U and (ii) the data F2 provided as the current frame input data S4, is the smallest of all four, the predictive frame data generating circuit 66 provides the predictive picture data F2 based on F3U as the predictive frame data S8. Thereby the correcting data corresponding to this error can be obtained by subtraction as the transmitted frame data S9. The transmission section 11 is thus able to transmit the picture data representative of this error, together with the header data DHD including the movement correcting vector data -x2 and the predictive mode data indicating that the data of the third frame is to be used for predictive conversion. Thus, the reception section 15 is able to reproduce the second frame of the picture by means of the motion vector data -x2 corresponding to the movement between the second and third frames thereof.

On the other hand, when the second least correction data selector circuit 99 determines that the difference between the predictive picture data F2 based on F1U and the data F2 provided as the current input data S2 is the smallest of the four values, the predictive frame data generating circuit 66 supplies the predictive picture data F2 based on F1U to the subtractor circuit 42 as the predictive frame data S8. Accordingly, the transmission section 11 transmits the picture data representing the error between the predictive picture data F2 based on F1U and the data S4 together with the header data DHD including the motion vector data x1 and the predictive mode data indicating that the data of the first frame is to be used for predictive conversion. The reception section 15 is then able to reproduce the second frame of the picture by transforming the data of the first frame with the use of the motion vector data x1.

Further, when the second least correction data circuit 99 determines that the average movement correcting data S46 obtained from the average value calculating circuit 96 provides the minimum error, the predictive frame data generating circuit 66 delivers the predictive picture data F2 based on both F3U and F1U as the predictive frame data S8. Accordingly, the transmission section 11 transmits picture data representing the error between (i) the average value of the predictive data for the second frame obtained by transforming the data F1U and F3U using the motion vector data x1 and -x2, and (ii) the current frame input data S4 in the form of the data F2, together with the header data DHD including x1 and -x2 and the predictive mode data indicating that the average movement correcting data S46 has been selected as the predictive frame data. Consequently, the reception section 15 performs an interpolation calculation of the average value of the data representing the second frame by transforming the data F3 and F1 with the use of the motion vector data -x2 and x1, respectively, to thereby obtain the data representing the second frame. In the described manner, the reception section 15 is enabled to reproduce the picture data in accordance with the transmitted data which has been adaptively selected. Since the transmission section 11 transmits the picture data which produces the least error, the reception section is thus able to reproduce a high quality picture.

Likewise, during the interframe coding mode intervals TER when the input frame data S1 takes the form of the data F5, F7, . . . , the same operation as described above with respect to the data F3 representing the third frame is carried out, whereas during the interpolation frame coding mode intervals TPL when the data to be transmitted represents the 6th, 8th, . . . frames, the same transmission process as described above with respect to the 4th frame is carried out.

In accordance with the above described features of the present invention, a plurality of predictive picture data are generated for each frame of the data to be transmitted and the predictive picture data providing the least error as compared with the current frame input data is used to encode the data to be transmitted. In this manner, a high quality picture can be reliably reproduced by a receiver, while the data transmission rate is advantageously minimized.

It will be appreciated that the foregoing method may be carried out with the use of either or both of hard wired digital circuits and/or programmable apparatus.

Although a specific embodiment of the invention has been described in detail herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to such embodiment, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.

Yonemitsu, Jun, Andrews, Barry D.

Patent Priority Assignee Title
6456664, Aug 26 1998 Oki Electric Industry Co., Ltd. Motion image encoder
8446945, Aug 17 2005 Sony Corporation Apparatus and method for decoding picture data
8462844, Aug 17 2005 Sony Corporation Apparatus and method for coding picture data
8494045, Aug 17 2005 Sony Corporation Apparatus and method for coding picture data
9172958, Aug 17 2005 Sony Corporation Apparatus and method for coding picture data
Patent Priority Assignee Title
4141034, Aug 19 1977 Bell Telephone Laboratories, Incorporated Digital encoding of color video signals
4202011, Dec 28 1976 Nippon Electric Co., Ltd. Television signal coder
4383272, Apr 13 1981 MULTIMEDIA PATENT TRUST C O Video signal interpolation using motion estimation
4562468, May 14 1982 NEC Corporation Adaptive predictive coding apparatus of television signal
4651207, Mar 05 1984 ANT Nachrichtentechnik GmbH Motion adaptive interpolation of television image sequences
4725885, Dec 22 1986 LENOVO SINGAPORE PTE LTD Adaptive graylevel image compression system
4727422, Jun 03 1985 Polycom, Inc Method and apparatus for efficiently communicating image sequence having improved motion compensation
4743967, Mar 14 1986 Fujitsu Limited Differential coding apparatus having an optimum predicted value determining circuit
4802006, Nov 09 1984 NEC Corporation; Nippon Telegraph and Telephone Corporation Signal processing unit for producing a selected one of signals predictive of original signals
4837618, Nov 10 1986 KOKUSAI DENSHIN DENWA CO , LTD ; Nippon Telegraph and Telephone Corporation; NEC Corporation; Fujitsu Limited Moving image signal coding system
4838685, Apr 03 1987 Massachusetts Institute of Technology Methods and apparatus for motion estimation in motion picture processing
4853780, Feb 27 1987 Sony Corp. Method and apparatus for predictive coding
4951140, Feb 22 1988 Kabushiki Kaisha Toshiba Image encoding apparatus
4982285, Apr 27 1989 Victor Company of Japan, LTD Apparatus for adaptive inter-frame predictive encoding of video signal
4985768, Jan 20 1989 Victor Company of Japan, LTD Inter-frame predictive encoding system with encoded and transmitted prediction error
/
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 12 1994Sony Corporation(assignment on the face of the patent)
Date Maintenance Fee Events
Apr 13 2004M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Dec 26 20034 years fee payment window open
Jun 26 20046 months grace period start (w surcharge)
Dec 26 2004patent expiry (for year 4)
Dec 26 20062 years to revive unintentionally abandoned end. (for year 4)
Dec 26 20078 years fee payment window open
Jun 26 20086 months grace period start (w surcharge)
Dec 26 2008patent expiry (for year 8)
Dec 26 20102 years to revive unintentionally abandoned end. (for year 8)
Dec 26 201112 years fee payment window open
Jun 26 20126 months grace period start (w surcharge)
Dec 26 2012patent expiry (for year 12)
Dec 26 20142 years to revive unintentionally abandoned end. (for year 12)