Digital video signal decoding apparatus and presumed motion vector calculating method

Abstract: A digital video signal decoding apparatus has a memory (207) for storing motion vectors [Vx(n), Vy(n)] which have been decoded by a decoder (202), and a motion vector presuming circuit (208) for calculating a presumed motion vector from the motion vectors [Vx(n), Vy(n)] stored in the memory (207), whereby, even if a part of a bit stream has been lost and each of pixel blocks which have been lost accordingly cannot be decoded, each of the lost pixel blocks is replaced by a corresponding pixel block in the previous frame which has been motion-compensated through a motion compensation circuit (203) by using the presumed motion vector, thereby preventing degradation of the picture quality at that pixel block portion.

Description: BACKGROUND OF THE INVENTION The present invention relates to a decoding apparatus and a presumed motion vector calculating method for digital video signals which are utilized in television telephones, tele-conferences and so on. In recent years, with the rapid development of television telephones and tele-conference apparatuses, a demand has arisen for a method of preventing degradation of the picture quality caused by a transmission error, particularly in a digital video signal decoding apparatus. Generally, a digital video signal coding apparatus first performs motion compensation for each of pixel blocks (for example, 16x16 pixels) which constitute the previous frame in order to remove correlation in time, and calculates a difference value of each pixel block between the previous frame and the current frame. In this case, an amount of information relating to the difference value is extremely smaller than an amount of information relating to the current frame. Then, the difference values and motion vectors used for the motion compensation are coded, and binary codes are outputted. On the other hand, a digital video signal decoding apparatus decodes the binary codes outputted from the coding apparatus to obtain a difference value of each pixel block between the motion-compensated previous frame and the current frame and a motion vector used for the motion compensation for that pixel block. The decoding apparatus is provided with a frame memory for storing the previous frame, and pixel blocks, which constitute the previous frame stored in the frame memory, are motion-compensated by using corresponding motion vectors, and the difference values are added to the motion compensated pixel blocks in the previous frame to thereby reproduce the current frame. The reproduced current frame is stored in the frame memory. In this manner, the decoding apparatus allows the current frame to be reproduced only by the use of the difference values of the respective pixel blocks between the previous frame and the current frame and the motion vectors. A conventional digital video signal decoding apparatus will be explained below with reference to Fig. 1. As shown in Fig. 1, a conventional digital video signal decoding apparatus is composed of an input terminal 101, a decoder 102, a motion compensation circuit 103, a frame memory 104, an adder 105, and an output terminal 106. Next, the relation between the respective constituent elements and the operation of the apparatus shown in Fig. 1 will be explained. When a binary code is first supplied from a coding apparatus to the input terminal 101, the decoder 102 decodes a difference value of each pixel block between the previous frame and the current frame and a motion vector which was used for motion compensation of the pixel block in the previous frame. Then, the motion compensation circuit 103 uses the motion vectors inputted from the decoder 102 to motion-compensate the respective pixel blocks in the previous frame read out from the frame memory 104. The adder 105 adds the difference values of the respective pixel blocks between the previous frame and the current frame outputted from the decoder 102 to the values of the pixel blocks in the motion-compensated previous frame outputted from the motion compensation circuit 103 to reproduce the current frame. The reproduced current frame is delivered from the output terminal 106 and stored in the frame memory 104 for use in the decoding of a next frame. Thus, the conventional decoding apparatus described above, as an example, can decode a video signal from a small amount of information including the difference values of the respective pixel blocks between the previous frame and the current frame and the motion vectors, and hence efficient video signal transmission can be accomplished. However, in the above-described conventional structure, if a part of a bit stream is lost on a transmission path for some reason, there may occur a pixel block in which the difference value between the previous frame and the current frame and the motion vector cannot be decoded, whereby pixels in such a pixel block in the previous frame which have not been subjected to motion compensation are displayed in a portion of the frame, causing a problem that the picture quality is greatly degraded, particularly in a moving portion. Articles in ICASSP'88 Int Conf on Acoustics, Speech and Signal Processing, Vol II, 11 April 1988, IEEE, New York pp 1312-1315; ICASSP'92 Int Conf on Acoustics, Speech and Signal Processing, Vol 3, 23 March 1992, IEEE New York pp III 545 - 548; and IEEE Journal on Selected Areas in Communications, Vol 7, No 5 June 1989, New York, pp 807 - 814, each disclose methods for reducing the degradation of signals by using a presumed motion vector calculated or chosen from the motion vectors of neighbouring picture blocks in a current or a previous frame when a particular motion vector in the current frame has been lost. SUMMARY OF THE INVENTION The present invention has been made to alleviate the problem discussed above inherent to the prior art, and the object of the present invention is to provide a digital video signal decoding apparatus and a presumed motion vector calculating method which are effective for the case where a part of a bit stream is lost and a corresponding pixel block cannot be decoded, and which are capable of reducing degradation of the picture quality at that pixel block portion. To achieve the above object, according to one aspect of the present invention there is provided a digital video signal decoding apparatus comprising: a decoder for decoding, from a binary code sequence of digital video signals inputted in the form of a bit stream, motion vectors for each of frame pixel blocks; a memory for storing values of the motion vectors; a motion vector presuming circuit for calculating a presumed motion vector from the motion vectors stored in said memory; and a motion compensation circuit for motion-compensating each of the frame pixel blocks using the presumed motion vector or a motion vector read out directly from said memory, characterised in that said motion vector presuming circuit comprises means for: calculating occurrence frequencies of the values of N motion vectors stored in said memory in the x- and y-directions independently of each other; and adopting a motion vector having the largest occurrence frequencies as the presumed motion vector. According to another aspect of the present invention there is provided a method of digital video signal decoding comprising the steps of: decoding, from a binary code sequence of digital video signals inputted in the form of a bit stream, motion vectors for each of frame pixel blocks; storing values of the motion vectors in a memory; calculating, if necessary, a presumed motion vector from the motion vectors stored in said memory; and motion-compensating each of the frame pixel blocks using the presumed motion vector or a motion vector read out directly from said memory, characterised by said step of calculating a presumed motion vector comprising the steps of: calculating occurrence frequencies of the values of N motion vectors stored in said memory in the x- and y-directions independently of each other; and adopting a motion vector having the largest occurrence frequencies as the presumed motion vector. In a development the method includes adaptively increasing the value of N when counting the occurrence frequency of the values of N motion vectors in the x- and y-directions independently in the above stated presumed motion vector calculating method. With the configuration described above, the present invention replaces a pixel block, which cannot be decoded, by a corresponding pixel block in the previous frame which has been motion-compensated by using a presumed motion vector, thereby reducing degradation of the picture quality. The presumed motion vector calculating method employs the principle of making a decision by majority in selecting a presumed motion vector from N motion vector values, so that a most reliable presumed motion vector can be selected from the N motion vectors. Further, a reliable motion vector can always be selected by adaptively changing the value of N so as to improve the picture quality. In addition, this motion vector calculating method can be used in a presumed motion vector calculating method applicable to the digital video signal decoding apparatus. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing a conventional digital video signal decoding apparatus; Fig. 2 is a block diagram showing a digital video signal decoding apparatus according to one embodiment of the present invention; Fig. 3 is a diagram showing an arrangement of pixel blocks used for explaining a presumed motion vector calculating method according to the present invention; Fig. 4 is a diagram showing pixel blocks used for explaining a different presumed motion vector calculating method according to the present invention; Fig. 5 is a diagram showing pixel blocks used for explaining another presumed motion vector calculating method according to the present invention; and Fig. 6 is a diagram showing pixel blocks used for explaining a further presumed motion vector calculating method according to the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will hereinafter be described with reference to the accompanying drawings. As shown in Fig. 2, a digital video signal decoding apparatus of the present embodiment is composed of an input terminal 201, a decoder 202, a memory 207, a motion vector presuming circuit 208, a motion compensation circuit 203, a frame memory 204, an adder 205, and an output terminal 206. The operation of the decoding apparatus will next be explained. First, when a binary code sequence (hereinafter abbreviated as "bit stream") outputted from a coding apparatus is supplied from the input terminal 201, the decoder 202 decodes a difference value of each pixel block between the previous frame and the current frame and a motion vector used for motion compensation of the pixel block of the previous frame, and stores the decoded motion vector in the memory 207. It should be noted, however, that, if the difference value and the motion vector cannot be decoded for some reason such as occurrence of a lost part of the bit stream, the decoder 202 does not output anything, so that no value is stored in the memory 207. It is assumed here that the memory 207 has a capacity of storing, for example, motion vectors per one-frame. Next, the motion vector presuming circuit 208 reads a motion vector for each pixel block stored in the memory 207, and outputs a motion vector, if one for the corresponding pixel block exists, otherwise outputs a presumed motion vector. The motion compensation circuit 203 utilizes a motion vector inputted thereto from the motion vector presuming circuit 208 to motion-compensate each of the pixel blocks which constitute the previous frame read out from the frame memory 204. The adder 205 adds difference values of the respective pixel blocks between the previous frame and the current frame outputted from the decoder 202 to the corresponding pixel blocks in the motion-compensated previous frame outputted from the motion compensation circuit 203 to reproduce the current frame. The reproduced current frame is delivered from the output terminal 206 and simultaneously stored in the frame memory 204 for use in decoding a next frame. As described above, the digital video signal decoding apparatus of the present invention replaces a pixel block, which cannot be decoded, by a corresponding pixel block in the previous frame, which has been motion-compensated by using a presumed motion vector, to thereby prevent degradation of the picture quality. Next, a presumed motion vector calculating method implemented in the motion vector presuming circuit 208 will be explained with reference to Figs. 3 and 4. In the digital video signal decoding apparatus of the present embodiment, a pixel block which cannot be decoded (hereinafter referred to as "lost pixel block") is replaced by a corresponding pixel block in the previous frame which has been motion-compensated by using a presumed motion vector. Therefore, as the presumed motion vector value is closer to an original motion vector value of the lost pixel block, degradation of the picture quality of the lost pixel block portion becomes less conspicuous. The motion vector presuming circuit 208 calculates a presumed motion vector, for example, through the following procedure: (1) Motion vector values of eight decodable pixel blocks around a lost pixel block, as shown in Fig. 3, for example, are examined in the x- and y-directions independently, and these motion vector values are designated Vx(n) and Vy(n), respectively, where n designates an index corresponding to the position of each decodable pixel block shown in Fig. 3 and may take a value in a range expressed by 1 ≦ n ≦ 8 in this example. (2) For the range 1 ≦ n ≦ 8, the occurrence times are counted for Vx(n) and Vy(n). More specifically, the occurrence frequency ax(Vx(n)) of Vx(n) is calculated for all of n values as: ax(Vx(n)) = ax(Vx(n)) + 1 Likewise, the occurrence frequency ay(Vy(n)) of Vy(n) is calculated as: ay(Vy(n)) = ay(Vy(n)) + 1 (3) Each of the motion vector values Vx(n) and Vy(n), which has the largest occurrence frequency ax(Vx(n)) and ay(Vy(n)) is adopted as a presumed motion vector value. Also, from the fact that a motion vector of a pixel block located closer to a lost pixel block has a higher probability of presenting a value identical or close to the original motion vector value of the lost pixel block, the occurrence frequencies may be weighted, as shown in Fig. 4, for example, when the presumed motion vector is calculated. When this weighting is performed, the motion vector presuming circuit 208 employs a modified process (2) in the presumed motion vector calculating processes (1), (2) and (3) as described below. (2) For the range 1 ≦ n ≦ 8, weighted occurrence frequencies are calculated for Vx(n) and Vy(n). The weighting coefficient is designated as w(n) which has a larger value at a position located closer to the lost pixel block, as shown in Fig. 4. The weighted occurrence frequency ax(Vx(n)) for Vx(n) is calculated for all of the values of n, as indicated by ax(Vx(n)) = ax(Vx(n)) + w(n) Likewise, the weighted occurrence frequency ay(Vy(n)) for Vy(n) is calculated as indicated by ay(Vy(n)) = ay(Vy(n)) + w(n) While only one example of the embodiment of the presumed motion vector calculating method has been explained, it is to be understood that this is a mere example, and other motion vectors of pixel blocks shown in Fig. 3 may be used for calculating the presumed motion vector. Also, the values other than those shown in Fig. 4 may be used for the weighting coefficients for the pixel blocks. Another presumed motion vector calculating method will be next explained with reference to Figs. 5 and 6. This presumed motion vector calculating method employs a modified process (3) in the above described processes (1), (2) and (3) for calculating a presumed motion vector, as described below for example. (3) When both of the largest values of the occurrence frequencies ax(Vx(n)) and ay(Vy(n)) exceed a predetermined threshold value (for example, two), the vector values Vx(n) and Vy(n), which maximize the occurrence frequencies ax(Vx(n)) and ay(Vy(n)), respectively, are adopted as the presumed motion vector values. Conversely, if any one or both of the maximum values of the occurrence frequencies ax(Vx(n)) and ay(Vy(n)) has a value of two or less, the presumed motion vector calculating processes (1), (2) and (3) are repeated for motion vector values of 14 decodable pixel blocks located around the lost pixel block, as shown in Fig. 5, for example. Further, in the process (2), weighted occurrence frequencies may be calculated by using weighting coefficients shown in Fig. 6, as an example. While the different embodiment of the presumed motion vector calculating method has been explained above, it is to be understood that this is a mere example, and any motion vectors of pixel blocks other than those shown in Fig. 5 may be used for calculating the presumed motion vectors. Also, the values other than those shown in Fig. 6 may be used for the weighting coefficients for the pixel blocks. As described above, since the presumed motion vector calculating method of the present invention employs the principle of making a decision by majority for motion vector values of, for example, eight decodable pixel blocks around a lost pixel block to calculate a presumed motion vector for the lost pixel block, a most reliable one can be selected from the eight motion vectors, for example. Further, assuming, for example, that eight motion vector values vary so greatly that the decision by majority for the eight motion vector values cannot be made, 14 motion vectors, for example, may be used in place thereof for making the decision by majority, thereby making it possible to always select a reliable motion vector. As is apparent from the foregoing embodiments, according to the digital video signal decoding apparatus of the present invention, degradation of the picture quality can be prevented by replacing a pixel block, which cannot be decoded, by a corresponding pixel block in the previous frame which has been motion-compensated by using a presumed motion vector. Also, in accordance with the presumed motion vector calculating method of the present invention, since the principle of making a decision by majority is employed in selecting a presumed motion vector from N motion vector values, a most reliable one can be determined from the N motion vectors. Further, when the decision by majority is made for the N motion vectors, the value of N may be adaptively changed, thereby making it possible to always select a reliable motion vector. According to the present invention, therefore, it is possible to realize excellent digital video signal decoding apparatus and presumed motion vector calculating method which cannot be achieved by the prior art.

Claims: A digital video signal decoding apparatus comprising: a decoder (202) for decoding, from a binary code sequence of digital video signals inputted in the form of a bit stream, motion vectors [Vx(n), Vy(n)] for each of frame pixel blocks; a memory (207) for storing values of the motion vectors [Vx(n), Vy(n)]; a motion vector presuming circuit (208) for calculating a presumed motion vector from the motion vectors [Vx(n), Vy(n)] stored in said memory (207); and a motion compensation circuit (203) for motion-compensating each of the frame pixel blocks using the presumed motion vector or a motion vector [Vx(n), Vy(n)] read out directly from said memory (207), characterised in that said motion vector presuming circuit (208) comprises means for: calculating occurrence frequencies (ax(Vx(n)), ay(Vy(n))) of the values of N motion vectors stored in said memory (207) in the x- and y-directions independently of each other; and adopting a motion vector [Vx(n), Vy(n)] having the largest occurrence frequencies (ax(Vx(n)), ay(Vy(n))) as the presumed motion vector. A method of digital video signal decoding comprising the steps of: decoding (202), from a binary code sequence of digital video signals inputted in the form of a bit stream, motion vectors [Vx(n), Vy(n)] for each of frame pixel blocks; storing values of the motion vectors [Vx(n), Vy(n)] in a memory (207); calculating (208),if necessary, a presumed motion vector from the motion vectors [Vx(n), Vy(n)] stored in said memory (207); and motion-compensating (203) each of the frame pixel blocks using the presumed motion vector or a motion vector [Vx(n), Vy(n)] read out directly from said memory (207), characterised by said step of calculating a presumed motion vector comprising the steps of: calculating occurrence frequencies (ax(Vx(n)), ay(Vy(n))) of the values of N motion vectors stored in said memory (207) in the x- and y-directions independently of each other; and adopting a motion vector [Vx(n), Vy(n)] having the largest occurrence frequencies (ax(Vx(n)), ay(Vy(n))) as the presumed motion vector. A method according to claim 2, characterised in that, if the values of the N motion vectors vary so greatly that the decision to adopt the motion vector having the largest occurrence frequencies cannot be made, the step of calculating the occurrence frequencies (ax(Vx(n)), ay(Vy(n))) of the values of N motion vectors stored in said memory (207) in the x- and y-directions independently of each other, includes the step of adaptively increasing the number N so that a reliable motion vector can be selected on the basis of said increased number of motion vectors. A method according to claim 2 characterised by the further steps of: comparing maximum values of the calculated occurrence frequencies (ax(Vx(n)), ay(Vy(n))) of the N motion vectors with a threshold value and; in dependence on the result of said comparison: either adopting said motion vector [Vx(n), Vy(n)] having the largest occurrence frequencies as said presumed motion vector if both of said maximum values exceed said threshold value; or otherwise repeating the step of calculating occurrence frequencies for a greater number of motion vectors. A method according to any preceding claim characterised in that said occurrence frequencies are weighted occurrence frequencies calculated on the basis of weighted motion vectors charged with weighting coefficients W(n) assigned to each of said N motion vectors.

Inventors: MACHIDA YUTAKA, YUKITAKE TAKESHI, MACHIDA, YUTAKA, YUKITAKE, TAKESHI
Applicants: MATSUSHITA ELECTRIC IND CO LTD, MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
Application year: 1993
Main classification: H04N7
IPC codes: H04N7, G06T7, H04N5