System for encoding and transmitting video signals comprising motion vectors

Abstract: A redundancy reduction algorithm, such as DCT Ibrida, is applied to a video signal and subsequently encoded for selected pixel blocks, and motion vectors (MV) are generated for each image block. At least one global motion vector (GV) is then generated for the entire image, the block motion vectors are subtracted from the global vector to obtain local motion vectors (LV) representing the shifts from the global vector, the global vector is encoded at fixed length, the local vectors are encoded at variable length, and the coded global vector and the coded local vectors are multiplied in the coded video signal (CD) to be transmitted.

Description: The present invention relates to a system for encoding and transmitting video signals, particularly but not exclusively digital and processed to reduce the redundancy, and comprising motion vectors indicating the global movements of image parts. Digital encoding systems for video data are known in which algorithms for reducing the redundancy are used to reduce the transmitted binary flow with respect to the source flow. An example of a method of this type, called Hybrid DCT (Discrete Cosine Transformation), can be found in "Coding Strategies Based on DCT for the Transmission of HDTV", by M.Barbero, S.Cucchi, M. Stroppiana, 2nd International Workshop on HDTV, February 29 - March 2 1988, L'Aquila, Italy. The described method can be improved, within the known state of the art, by using the evaluation and then the compensation of motion. In this way the time redundancy is eliminated not just in the motionless parts but also in the parts with determined motion, i.e. non chaotic motion. Other similar image coding methods are known, in which a time sub-sampling of the image is provided, where motion compensation can be used to improve the received and reconstructed image quality. In the above mentioned known methods, the image is divided in sub-parts, such as 8x8 pixels blocks, and for each of those blocks an overall motion vector is evaluated, i.e. the displacement of that image block, from the preceding frame to the successive one, is estimated in pixel number or a fraction thereof. The image processing provided in the transmitter uses the information related to the displacement of each image block and transmits the processed image and the motion vector coordinates (vertical component and horizontal component) of each block to the receiver. The image is reconstructed on the basis of those motion vector coordinates together with further service information supplied to the transmitter. The evaluation of the motion vectors and their transmission are performed on each frame. For a simpler description, the word frame will be always mentioned to designate the whole of the elements constituting a single image and both the so called "frame" and the so called "field", particularly in television. Usually, the motion vectors are evaluated within a window, for example --15.5 pixel and --7.5 lines, because it is considered that most of the motion in an image is less than 16 pixel and 8 lines per frame. The coordinates of those vectors can be transmitted, in the simplest way, for each image block. For a fixed length coding, in the case of the mentioned window, and for a 1/2 pixel precision, this would require 6+5=11 bits per image block, i.e. a notable increase of information to be transmitted, such as to limit the advantages of the redundancy reduction obtained with the variable length DCT encoding. Even considering that some values are more probable than others and that the variable length motion vectors are encoded, no considerable advantages are obtained. In order to reduce the information binary flow given by the motion vectors transmission, it has been proposed to use a menu based transmission. For each frame, a fixed number, for example 32, of most frequent motion vectors is selected and transmitted and for each block, the selected motion vector address is sent in the menu. In this manner, just 5 bits per block are sufficient, saving 6 bits with respect to the preceding case, but selecting and assigning the 32 vectors turns out quite complex and burdensome. Still within the information flow reduction, or the transmitted bit timing, the differential motion vector coding has also been proposed, which consists in transmitting only the motion change for each block, relatively to the same block in the preceding frame. Since generally, the motion of an object is sufficiently regular, those changes are usually small, and the probability density of the transmitted values is very "small" around zero; hence a variable length code transmission turns out to be highly efficient, and the saving in transmitted bits is enormous. Unfortunately, as will be evident to the man of the art, this method adds up the errors from one frame to the successive one, and it is therefore highly sensitive to even sporadic channel errors. Aim of the invention is therefore to overcome the mentioned inconveniences of the known methods for encoding and transmitting video signals and the relative motion vectors, by providing a motion vector transmission having a minimum information flow, high transmission efficiency, lower burden for data processing, and without harmful secondary effects such as the vulnerability to channel errors and similars. The invention achieves the intended aim, together with other aims and advantages that will be apparent by the following description, by a system for encoding and transmitting video signals with motion compensation, wherein a redundancy reduction algorithm is applied to the video signal and the video signal is subsequently encoded for selected pixel blocks and motion vectors are generated for each image block, characterized in that a global motion vector is furthermore generated for the entire image, said motion vectors are subtracted from said global vector to obtain local motion vectors representing the differences with respect to the global vector, the global vector is encoded at fixed length, the local vectors are encoded at variable length, and both said coded global vector and said coded local vectors are multiplexed in the transmitted signal. multiplexed in the transmitted signal. The invention will be now described in more detail according to some preferred embodiments, illustrated in the enclosed drawings by way of non limiting examples, wherein: Fig. 1 is a block diagram of an apparatus according to a first preferred embodiment of the invention; and Fig. 2 is a block diagram of a variant of Fig. 1, according to a second preferred embodiment of the invention. With reference to Fig. 1, each frame of a digital video signal or image signal ID, per se known, is applied to a frame delay means R, which provides an output signal DD, in principle identical to signal ID, but suitably delayed. The delay means R can be any of the available devices, known in the art for delaying a digital signal, such as a shift register or a Random Access Memory which is suitably scanned on reading and writing, or any other selected device. Signals ID and DD are applied to the two inputs of a motion vector processor P (also per se known), which compares the two signals for successive image blocks in the frame, generating a succession of motion vectors MV, as an output signal. Motion vectors MV naturally have two components, respectively horizontal and vertical, but those two components will be assumed as combined in one digital word. Usually the image block is formed by 8x8 pixels but in this context and in the claims, the term "block" should be more generally understood as a rectangular image part having sides formed by arbitrary numbers of pixels, or even as non rectangular image parts. The motion vectors MV successions are applied to an average, or mean, calculator A, which, for each frame, provides an output signal GV which is the (vectorial) mean of vectors MV of that frame, and hence constitutes a global motion vector for the entire frame, i.e. a vector reflecting possible global movements of the entire image or of a significant part of it, such as in the case of pan shots (pannings) or of a dominant object moving in the image. On the one hand, global vector GV is applied, the input of a global vector encoder C which encodes the fixed length global vector, protects it against channel errors with known contrivances and applies it to a per se known raster generator F, for insertion in the constant binary flow FS, transmitted with frame timing, according to the conventional techniques of digital data transmission. On the other hand, global vector GV is applied to a first input of a subtractor circuit S, which at a second input also receives the output signal MV from the motion vector processor P, and, frame after frame, generates the vectorial differences LV between MV and GV. Output signal LV is therefore constituted by a succession of local motion vectors that indicates how much each particular block displacements from the global image motion as indicated by the global vector GV. Local vectors LV are then encoded at variable length, in a variable length encoder V, and are multiplexed, in a multiplexer M, with the image data flow CD (encoded at variable length ) generated by a further known apparatus, not illustrated since it is not part of the invention. The output data flow CVD of multiplexer M is then sent to transmission in a conventional manner. The multiplexing can be performed according to any selected convention, for example the variable length word constituting local vector LV, can be placed before the word string representing the image block. At reception, the local vectors are encoded block by block and added to the global vector, extracted from the signal at the beginning of each frame. The complete vectors are then utilized in the receiver in a conventional manner. Although the variable length coding of local vectors LV can be performed according to a selected arbitrary code, according to a particularly preferred embodiments of the invention, such code is the same according which the image signal is encoded, because, as seen above, the probability density of the local vectors is peaked around zero and therefore, as it will be apparent to the man of the art, it is similar to the probability density of the image data after the application of the redundancy reduction algorithm. In this manner the code word decoding is simplified and therefore also the video signal reconstruction in the receiver. It is also foreseeable to subdivide the image in a number of sub-images and to associate a global motion vector to each of the sub-images, and, for each sub-image, generating the local vectors referred to the global vector of that sub-image. With the above described method, the local vectors add just a few bits to the information flow for each image block, i.e. an equal or lower burden than that for a menu based transmisson, still giving a greater potential precision. As a matter of fact, as it will be apparent to the man of the art, the background and objects motion may be fast, while the object motion relatively to the background, or global image motion, is usually low. The global vector is a small overhead, because it is distributed among all the frame blocks. The protection against errors is high and there is no error propagation to the successive frames. Fig. 2 illustrates a block diagram variation according to a second aspect of the invention, which is advantageous to apply, in the case of color, video signals of reduced redundancy, by means of the Hybrid DCT method mentioned above. In this case (cfr. M. Barbero, S. Cucchi, J.L. Hernando Bailon, "A Flexible Architecture for a HDTV Codec Based on DCT", 3rd International Workshop on Signal Processing of HDTV, 1989, Torino, Italy), the encoder has a packet raster structure subdivided into two flows: a first flow contains the variable length words, i.e. the DCT coefficients for each signal block, while the second flow contains just the information transmitted with fixed length codes. Within this information is comprised a 5 bit group for each quadriblock (i.e. for each set of four 8 x 8 pixel blocks comprising two blocks for the luminance data and two blocks for the two chrominance components), the 5 bits indicating how each block of the quadriblock has been processed, for a total of 27 combinations. Of the 32 possible combinations for the 5 bits of this datum, 5 combinations are therefore unused by the prior art. The block diagram of Fig. 2, as the one of Fig. 1, comprises: a delay means R which delays the digital video signal ID generating a delayed version DD, a processor P of the motion vectors MV, a mean calculator A generating the global vector GV which, after encoding in a fixed length encoder C, is fed into the raster generator F. The subtractor S receives the vectors MV and the global vector GV producing their differences LV, or local vectors, in the same manner of Fig. 1. However, according to the embodiment of Fig. 2, the local vectors LV, coming from subtractor S, are subdivided in a sign signal LVS and an absolute value signal LVA. The sign signal LVS obviously represents one of the four possible combinations of the signs of the two, horizontal and vertical, local vector components (++,+-,--,-+), indicating in which of the four space quadrants is lying the local vector; and, morover, in the case the local vector is null (as highly probable, for the already mentioned reasons), signal LVS will assume a specific value, indicating such a condition. The signal LVS is then applied to an encoder Q which in turn applies it to the raster generator F in order to insert it in the raster data flow mapped on one of the five possible unused combinations of said 5 bit group associated to each quadriblock. Signal LVA is applied to the variable length encoder V and therefrom to the multiplexer M, as in Fig. 1. In this case though, the encoder V receives the sign signal LVS too, at an inhibition input I, in order that the code emission toward the multiplexer M is inhibited when LVS indicates that the local vector is null. Therefore, in the highly probable case that the local vector is null, it is not inserted in the video data flow, with a further saving of bits. This situation is then easily detected in the receiver, by using the sign signal LVS. The embodiment of Fig. 2 is even more advantageous regarding the bit saving in the total data flow. With respect to the first embodiment, are in fact saved: on the one hand, the two sign bits, hidden without any burden in the 5 bit group mentioned above, on the other hand the zero code of the local vector, having high probability of appearance. Furthermore, the absolute values of the local vectors have an even more favourable statistical distribution, i.e.more similar to the statistical distribution of the coded image data, than the complete local vectors: it is therefore more efficient to perform the variable length code with the same code of the image data. Some of the preferred embodiments of the invention have been described but, naturally, within the inventive concept, many modifications and variations are obvious to the man of the art. For example, in both the described embodiments, the mean calculator A can be substituted by any other device adapted to calculate the global vector with algorithms other than the simple arithmetical mean, for example algorithms of weighed mean, of statistical mode or median, or others. Furthermore, even though in the above description reference is usually made to video signals having reduced redundancy by means of DCT conversion, because it is presently the favourite one, it is apparent that the given teachings can be used even with other algorithms for reducing the redundancy. Finally, even though the given examples relate to wholly digital video signals, the invention can be used even for video signals transmitted analogically and comprising auxilliary signals in digital form, for example as pulse sequences contained in the line or frame blackout periods.

Claims: Method for encoding and transmitting video signals having motion vectors, wherein a redundancy reduction algorithm is applied to the video signal and the video signal is subsequently encoded for selected pixel blocks and motion vectors (MV) are generated for each image block, characterized in that a global motion vector (GV) is furthermore generated for the entire image, said motion vectors are subtracted from said global vector to obtain local motion vectors (LV) representing the differences with respect to the global vector, the global vector is encoded at fixed length, the local vectors are encoded at variable length, and both said coded global vector and said coded local vectors are multiplexed into the transmitted signal (CD). Method for encoding and transmitting video signals, according to claim 1, characterized in that said global motion vector is one for the entire image. Method for encoding and transmitting video signals, according to claim 1, characterized in that each video signal frame is divided into several sub-images and a global motion vector is generated for each sub-image. Method for encoding and transmitting video signals, according to one of claims 1-3, characterized in that said global motion vector is encoded at fixed length with protection from channel errors. Method for encoding and transmitting video signals, according to one of claims 1-4, wherein the video signal is digital, characterized in that said local vectors are encoded with the same variable length code with which the video signal is encoded. Method for encoding and transmitting video signals, according to one of claims 1-5, wherein the video signal is digital and the signal transmission is divided into a first data flow including the variable length words and into a second data flow including the fixed length words, characterized in that the local vector components are encoded at variable length and are transmitted with said first flow. Method for encoding and transmitting video signals, according to claim 6, characterized in that a local vector absence signal is furthermore generated and transmitted with said second data flow when the local vector is null, and characterized in that, when the absence signal is present in the second flow, with said first data flow no variable length word is transmitted representing the null absolute value of the local vector. Method for encoding and transmitting video signals, according to one of claims 1-5, wherein the video signal is digital and the signal transmission is divided into a first data flow including the variable length words and into a second data flow including the fixed length words, characterized in that the absolute values of the local vector components are encoded at variable length and are transmitted with said first flow; and characterized in that respective direction signals (Q) are generated representing the geometric quadrants in which the local vectors lie, said direction signals being coded at fixed length and transmitted with said second flow. Method for encoding and transmitting video signals, according to claim 8, characterized in that a local vector absence signal is furthermore generated and transmitted with said second data flow in substitution of said direction signal, when the local vector is null, and characterized in that, when the absence signal is present in the second flow, with said first data flow no variable length word is transmitted representing the null absolute value of the local vector. Method for encoding and transmitting video signals, according to claim 8 or 9, wherein said second data flow includes a 5 bit group indicating the processing way of an associated quadriblock, and wherein 5 of the 32 bit combinations are not used for said indication, characterized in that said direction signal and said absence signal are encoded in said respective 5 combinations.

Inventors: BARBERO MARZIO, MURATORI MARIO, STROPPIANA MARIO DR, BARBERO, MARZIO, MURATORI, MARIO, STROPPIANA, MARIO, DR.
Applicants: RAI RADIOTELEVISIONE ITALIANA
Application year: 1989
Main classification: H04N7
IPC codes: H03M7, H04N7, H04N11, G06T9