SYSTEMS AND METHODS OF ENCODING MOVING PICTURES FOR MOBILE COMMUNICATION TERMINALS
TECHNICAL FIELD The present invention relates to moving picture encoding. More particularly, the present invention relates to systems and methods of encoding moving pictures for mobile communication terminals, which are capable of minimizing processes and the number of operations when encoding moving pictures and are adaptable to mobile communication terminals by embodying it in a software manner.
BACKGROUND ART Recently, technologies for processing moving pictures have been used in diverse fields. A Video On Demand (VOD) service such as a movie service on the Internet is a representative example of the technologies. International standards in such diverse fields for processing moving pictures are defined. As typical international standards, there are Moving Picture Experts Group (MPEG) -1 used as a compression method for a video Compact Disk (CD) storage, MPEG- 2 applied and used as a compression method for a high definition digital TV broadcasting or a Digital Video Disk (DVD) service and MPEG-4 which is a method of making a compression coder suitable for various contents and used in a moving picture compression solution in wireless environments such as an internet broadcasting or International Mobile Telecommunication-2000 (IMT-2000). In addition, there are H.261 which is developed for a video conference, has a performance similar to that of MPEG-1 and is mainly used in ISDN network, H.263 which is developed for a videophone and provides a base of MPEG-4,
and H.26L (H.264) which is the most recent standardized compression method for a picture phone, a moving picture-supporting cellular phone and TV, etc. and can increase a compression performance to two times as much as MPEG-4. Meanwhile, the above-mentioned moving picture-processing technologies are applied to the various fields, and a personal computer (PC) is a field commonly contacted by the public. However, the PC has a problem of a mobility restraint. Recently, technologies of processing moving pictures in mobile communication terminals such as a Personal Digital Assistant (PDA) and a cellular phone, etc., which allows various multimedia services to be provided through an internet connection and a camera mounting and solves the mobility restraint of the PC, are gradually expanded. However, since the mobile communication terminal has smaller CPU performance, smaller memory space and a limited battery capacity for supplying a driving power, compared to the PC, it has many restraints when applying moving picture-processing technologies requiring many operations to the terminal. Accordingly, the moving picture- processing technologies have not been embodied in a software manner like in the PC. Instead, the moving picture-compressing technologies have been provided by a hardware chip. Recently, as performance of CPU used in the mobile communication terminal has been improved (for example, commercialization of MSM6000 from Qualcomm), there are attempts to apply the moving picture-processing technology to the mobile communication terminal in a software manner. However, since the related art moving picture-processing technology requires many operations to encode moving pictures, compared to a decoding of the moving pictures, the moving picture-processing technology cannot be actually applied to the mobile communication terminal in a software manner. Accordingly, in order to apply
the moving picture-processing technology to the mobile communication terminal in a software manner, it is required to develop a moving picture compression-encoding technology capable of reducing the number of operations to meet a CPU performance of a mobile communication terminal. For example, as illustrated in Figure 1, a moving picture encoding apparatus according to the related art using a MPEG comprises a video signal transforming unit 10 which transforms an inputted RGB image into a moving picture compression object signal (YUV420 or YUV422), an intra-coding section 20 which performs a compression only with a frame itself using a spatial correlation in a frame, and an inter-coding section 30 which performs a compression using a time relation between a current frame and a previous frame. At this time, the system encodes a moving picture using a discrete cosine transform (DCT) method. The intra-coding section 20 comprises a discrete cosine transform (DCT) unit 21, a quantization unit 22 and a Huffman coding unit 23. For Y component of the moving picture compression object signal, the DCT unit 21 divides a macro block (16*16 pixels) into four block units (8*8 pixels) and performs a DCT for the block units (8*8 pixels). Since U and V components of the moving picture compression object signal have a data size corresponding to 1/4 of the Y component, the DCT unit 21 performs DCT for the U and V components in a macro block. After the DCT, the DCT unit performs a quantization and then a Huffman coding as an entropy coding method. The inter-coding section 30 applies the Huffman coding method as an entropy coding as with the intra-coding section 20, and performs an encoding using a time relation between a current frame and a previous frame for a predictive frame coding (i.e., P frame coding). At this time, in the case of an image for the previous frame, since comparison is
made for an image restored from compressed image, a decoding is also performed when performing an encoding. In addition, a motion estimation unit 31 in the inter-coding section 30 divides a moving picture compression object signal (YUV420, YUV422), which is a signal obtained by transforming a RGB (Red Green Blue) image outputted from an video signal transforming unit 10 into a MPEG format, into macro blocks of 16*16 pixels and estimates whether motions happened in each macro block, i.e., search area. Then, it obtains a motion vector (VM) through the estimation of motions and estimates information about conditions where motion is out of the search area or where motion can not be expressed by a motion vector. At this time, the motion vector is location information having a most similarity between a current frame image and a previous frame image. By providing such a motion vector, it is possible to perform a compression with a higher compression performance and quality. However, the motion estimation process by the motion estimation unit 31 occupies the most operations when encoding moving pictures. Accordingly, in the case of a mobile communication terminal which requires a low complexity due to a restraint of the CPU performance, it is difficult to embody a function of encoding moving pictures in a software manner because of the motion estimation process. In addition, according to the related art moving picture encoding apparatus, in the inter-coding method, each macro block is classified into a block where no motion happened and a block where motions happened, and the block where motions happened is classified into an intra mode and an inter mode depending on its encoding method. The intra mode is a mode of processing the macro block in the same manner as the intra coding, and the inter mode is a mode of encoding the macro block using a difference value between a current
frame and a previous frame. The intra mode and the inter mode are distinguished through a difference value between a current frame and the lowest mean value of a macro block unit in the search area which occurs while estimating the motion vector, the lowest mean value being obtained by calculating a difference value between a macro block of a current frame and a macro block of a previous frame. As described above, according to the related art moving picture encoding apparatus using a MPEG, since a previous image restored from compressed image is used when performing an inter-coding, a decoding process is also required when encoding moving pictures. Since inter-coding obtains motion vectors by performing a motion estimation for each macro block and, in addition, performs a DCT and a quantization processes to obtain information about whether motions happened or not in each of the macro block, the inter- coding requires complex operations. Accordingly, it is difficult to embody a moving picture encoding in a mobile communication terminal in a software manner. Further, since a Huffman coding is used as entropy coding, it is not suitable for a real-time service.
DISCLOSURE OF INVENTION Accordingly, the present invention has been made to solve the above-mentioned problems occurring in the related art. The object of the present invention is to embody a moving picture encoding function suitable for a mobile communication terminal which is an application field requiring a real-time service. To make it possible to considerably reduce an encoding time of an entire system without a decrease of a compression performance or a definition compared to the related art, the present invention applies a Golomb-Rice coding having a low complexity and a fast processing speed as an entropy coding manner when encoding a moving picture, and separately encodes each of Y component and U and V
components of a moving picture compression object signal according to their degrees of importance. The other object of the present invention is to minimize the number of operations, as a decoding process is not required when performing an encoding, by executing a predictive-frame coding using an original image of a previous intra frame when performing an inter-coding for moving pictures. Another object of the present invention is to reduce operations a lot through removing unnecessary processes such as a process for obtaining motion vector when inter- coding moving pictures, by performing a motion estimation in a block unit when performing an inter-coding of moving pictures, estimating whether motions happened using pixel values of a block boundary, and performing an estimation of an intra mode and an inter mode at the same time. The other object of the present invention is to save a development cost for addition of a hardware chip allowing encoding of moving pictures suitable for a mobile communication terminal, and to more efficiently provide moving picture service for a mobile communication terminal which is rapidly introduced, by embodying functions of encoding moving pictures in a software manner capable of quickly coping with some conditions, contrary to a hardware chip. In order to accomplish the objects, there is provided a system of moving pictures for mobile communication terminals having a video signal transforming unit for transforming an inputted RGB image into a moving picture compression object signal having Y, U and V components comprising: an intra-coding section for encoding the U and V components of the moving picture compression object signal by calculating an average value in a 4*4 pixel unit and encoding the average value, and for encoding the Y component of the moving
picture compression object signal by discrete cosine transforming the Y component in a 8*8 pixel block unit, by obtaining a quantization coefficient through quantizing the discrete cosine transformed Y component, and by entropy coding the quantization coefficient with Golomb-Rice coding; and an inter-coding section for predictive frame coding the moving picture compression object signal using an original image of a previous intra frame, for estimating whether motions happened in a 8*8 pixel block unit using pixel values of a block boundary, for performing an estimation of an intra mode and an inter mode at the same time, for encoding the U and V components of a motion block where motions happened by calculating an average value in a 4*4 pixel unit, and for encoding the Y component of the motion block by discrete cosine transforming the Y component in a 8*8 pixel block unit, by obtaining a quantization coefficient through quantizing the discrete cosine transformed Y component, and by entropy coding the quantization coefficient with Golomb-Rice coding. Preferably, the inter-coding section comprises: a motion estimation unit for estimating whether motions happened in each 8*8 pixel block unit, using an original image of a previous intra frame, for the moving picture compression object signal outputted by the video signal transforming unit; a texture map information storing unit for storing texture map information indicating whether motions happened or not in each block; a motion block storing unit for storing a motion block where motions happened, the motion block being outputted by the motion estimation unit; a non-motion block storing unit for storing a non- motion block where no motion happened, the non-motion block being outputted by the motion estimation unit; a discrete cosine transform (DCT) unit for obtaining a DCT coefficient by discrete cosine transforming the Y component of the motion block in a 8*8 pixel block unit, the motion block being stored in the motion block storing unit; a quantization unit for producing a quantization coefficient by performing a quantization
process corresponding to a quantization width and each frequency component for the obtained DCT coefficient; and a Golomb-Rice coding unit for encoding and then outputting the produced quantization coefficient through a Golomb-Rice coding. Preferably, the motion estimation unit estimates whether motions happened through a difference between boundary value of a current frame' s block and boundary value of a previous frame ' s block, outputs respectively the block where motions happened and the block where no motion happened, and outputs information about whether motions happened or not in each block as texture map information. Preferably, the motion estimation unit performs an estimation of an intra mode and an inter mode, based on a value obtained by squaring a difference value between a block of a current frame and a block of a previous frame, the difference value being a resultant value obtained when estimating whether motions happened. Alternatively, there is provided a method of encoding moving pictures for mobile communication terminals performing an intra-coding and an inter-coding by transforming an inputted RGB image into a moving picture compression object signal comprising: the intra- coding process that encodes U and V components of the moving picture compression object signal by calculating an average value in a 4*4 pixel unit and encoding the average value, and for encoding Y component of the moving picture compression object signal by discrete cosine transforming the Y component in a 8*8 pixel block unit, by obtaining a quantization coefficient through quantizing the discrete cosine transformed Y component, and by entropy coding the quantization coefficient with Golomb-Rice coding; and the inter-coding process that estimates whether motions happened in a 8*8 pixel block unit for the moving picture compression object signal, classifies the blocks into a motion block and a non-motion block, stores the motion block and the non-motion block separately, encodes and outputs
information about whether motions happened or not as texture map information, and performs an estimation of an intra mode and an inter mode for the motion block at the same time when estimating whether motions happened. Preferably, the inter-coding process comprises: estimating whether motions happened through a difference between boundary value of a current frame' s block and boundary value of a previous frame' s block; outputting and storing non-motion blocks where no motion happened and motion blocks where motions happened in each storing unit according to a result of the estimation of whether motions happened, and then encoding and outputting texture map information indicating whether motions happened or not in a corresponding block; and estimating whether to encode the motion block where motions happened in an intra mode or inter mode at the same time when performing the estimation of whether motions happened or not. Preferably, the inter-coding process encodes motion blocks, estimated as the intra mode, in the same manner as the intra-coding and encodes motion blocks, estimated as the inter mode, by encoding different components between an original image of a current frame and a previous image. Preferably, the inter-coding process encodes the U and V components of the motion block by calculating an average value in a 4*4 pixel unit and encoding the average value, and encodes the Y components of the motion block by discrete cosine transforming the Y component in a 8*8 pixel block unit, by obtaining a quantization coefficient through quantizing the discrete cosine transformed Y component, and by entropy coding the quantization coefficient with Golomb-Rice coding.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram illustrating an apparatus of coding moving pictures according to the related art MPEG; and Figure 2 is a block diagram functionally illustrating structure of a moving picture encoding system for a mobile communication terminal according to an embodiment of the present invention. **Description of the codes at important parts of the diagrams** 10: Video signal transforming unit 50: Intra-coding section 51 , 65 : DCT unit 52, 66 : Quantization unit 53, 67: Golomb-Rice coding unit 60: Inter-coding section 61 : Motion estimation unit 62 : Motion block storing unit 63 : Non-motion block storing unit 67 : Texture map information storing unit
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. A system of encoding moving pictures according to the present invention is embodied in a software manner, rather than a hardware chip. As illustrated in Figure 2, the system according to an embodiment of the present invention comprises a video signal transforming unit 10 that transforms an inputted RGB image into a moving picture compression object signal (YUV420) having a MPEG-4 format, an intra-coding section 50 and an inter-coding section 60. The intra-coding section 50 divides the moving picture compression object signal
(YUV420) outputted by the video signal transforming unit 10 into U and V components, and Y component. Then, it calculates an average value in a 4*4 pixel unit and then encodes the
average value, for the U and V component. In addition, it discrete cosine transforms and quantizes the Y component in a 8*8 pixel block unit, and entropy codes the transformed and quantized Y component with a Golomb-Rice coding. According to the present invention, the intra-coding section 50 comprises a DCT unit 51, a quantization unit 52 and a Golomb-Rice coding unit 53, for encoding the Y component. The DCT unit 51 obtains a DCT coefficient by discrete cosine transforming the Y component in a block unit (8*8). The quantization unit 52 produces a quantization coefficient by performing a quantization process of making the obtained DCT coefficient into a 8*8 quantization matrix corresponding to a quantization width and each frequency component. The Golomb-Rice coding unit 53 encodes the produced quantization coefficient through the Golomb-Rice coding, and then outputs it. The inter-coding section 60 performs a predictive frame coding using an original image of a previous intra frame, estimates whether motions happened in a 8*8 block unit using pixel values of a block boundary, and simultaneously performs an estimation of an intra mode and an inter mode. After that, for the U and V components of a motion block where motions happened, the inter-coding section 60 calculates an average value in a 4*4 pixel unit and then encodes the average value. For the Y component of a motion block where motions happened, the inter-coding section 60 discrete cosine transforms and quantizes the Y component in a 8*8 pixel block unit, and entropy codes the component with the Golomb-Rice coding. Specifically, as illustrated in Figure 2, the inter-coding section 60 comprises a motion estimation unit 61, a motion block storing unit 62, a non-motion block storing unit 63, a texture map information storing unit 64, a DCT unit 65, a quantization unit 66 and a Golomb-Rice coding unit 67.
The motion estimation unit 61 estimates whether motions happened in each 8*8 block unit, using an original image of a previous intra frame, for the moving picture compression object signal outputted by the video signal transforming unit 10. At this time, it estimates whether motions happened through a difference between boundary value of a current frame' s block and boundary value of a previous frame' s block, outputs the block where motions happened and the block where no motion happened respectively depending on results of the estimation, and outputs information about whether motions happened in each block as texture map information. In addition, it performs an estimation of an intra mode and an inter mode, based on a value obtained by squaring a difference value between a block of the current frame and a block of the previous frame, the difference value being a resultant value obtained when estimating whether motions happened. The motion block storing unit 62 stores blocks where motions happened. The non-motion block storing unit 63 stores blocks where no motion happened. The texture map information storing unit 64 stores the texture map information outputted by the motion estimation unit 61 , the texture map information indicating whether motions happened or not in each block. The DCT unit 65 produces a DCT coefficient by discrete cosine transforming the Y component of the motion block stored in the motion block storing unit 62 in the 8*8 pixel block unit. The quantization unit 66 produces a quantization coefficient by performing a quantization process of making the obtained DCT coefficient into a 8*8 quantization matrix corresponding to a quantization width and each frequency component. The Golomb-Rice coding unit 67 encodes and outputs the produced quantization coefficient through the Golomb-Rice coding.
At this time, the inter-coding section calculates an average value in a 4*4 pixel unit, and encodes and outputs the average value, for the U and V component of the motion block stored in the motion block storing unit 62. Hereinafter, operations of the moving picture encoding system having the above- mentioned structures will be described. First, a RGB image inputted through an inputting device (not illustrated) such as a camera is transformed into a moving picture compression object signal (YUV420) having a MPEG-4 format and then inputted into the intra-coding section 50 by the video signal transforming unit 10. Y component constituting the moving picture compression object signal is a one indicating light and darkness (black and white) of an image, and U and V components are ones illustrating color information of an image with a color difference component. The Y component takes charge of an important portion in constituting an image, compared to the U and V components. Each of Y, U and V components is present in each storing space. Since the Y component, and the U and V components have different degrees of importance in constituting an image during encoding, they are processed respectively according to the degrees of importance. In other words, the intra-coding section 50 calculates an average value in a 4*4 pixel unit and then encodes the average value, for the U and V components of the moving picture compression object signal (YUV420) inputted from the video signal transforming unit 10. Then, the intra-coding section 50 obtains a DCT coefficient by discrete cosine transforming the Y component and then produces a quantization coefficient by performing a quantization process of making the obtained DCT coefficient into a 8*8 quantization matrix corresponding to a quantization width and each frequency component. Then, the intra-
coding section 50 encodes the produced quantization coefficient through the Golomb-Rice coding and then outputs the quantization coefficient. Accordingly, complexity in encoding becomes lower than a Huffman coding which is a related art entropy coding and a real-time encoding can be made. In addition, since the U and V components constituting the moving picture compression object signal are less important than the Y component when expressing an image, it is possible to embody and express a compression performance and a definition similar to those obtained through a DCT of a 8*8 pixel unit, just by encoding the average value of a 4*4 pixel unit. Accordingly, it is possible to considerably reduce a time required for encoding the U and V components compared to the related art intra-coding, without a decrease of a compression performance or definition. Meanwhile, the inter-coding section 60 encodes the moving picture compression object signal inputted from the video signal transforming unit 10 using a time relation between a current frame and a previous frame. First, the motion estimation unit 61 of the inter-coding section 60 divides the moving picture compression object signal into block units (8*8) and classifies the block units into blocks where motions happened (motion block) and blocks where no motion happened (non-motion block). At this time, it stores information about whether motions happened or not in each block as texture map information. In other words, the motion estimation unit 61 estimates whether motions happened in a search area, a block unit, using an original image of a previous intra frame. At this time, it estimates whether motions happened through a difference between boundary value of a current frame ' s block and boundary value of a previous frame ' s block. When it is estimated that a corresponding block is a non-motion block where no motion happened, the motion estimation unit 61 outputs the non-motion block, stores the
non-motion block in the non-motion block storing unit 63, and stores information that no motion happened in the block in the texture map information storing unit 64. However, when it is estimated that a corresponding block is a motion block where motions happened, the motion estimation unit 61 outputs the motion block, stores the motion block in the motion block storing unit 62, and stores information that motions happened in the block in the texture map information storing unit 64. Since the information about whether motions happened or not, which is stored in the texture map information storing unit 64, is encoded and outputted, a decoding section (not illustrated) is able to know the information about whether motions happened in each block. Accordingly, an encoding process or any subsequent processes is not required for the non-motion block. In other words, the decoding section processes a non-motion block with the texture map information by copying blocks in the previous image. In addition, the motion estimation unit 61 estimates whether to encode the motion block where motions happened in the intra mode or in the inter mode at the same time when it performs the estimation of whether motions happened or not. In other words, blocks can be estimated as a motion block where motions happened, in case that there is movement of objects, change of light or a noise from a moving picture inputting device (for example, a camera). Among the above cases, motion blocks where there is a big movement such as the movement of objects are estimated to be encoded in the intra mode. Motion blocks where there is a small change in images such as minute movements due to lights or noise are estimated to be encoded in the inter mode. The corresponding intra mode encoding or inter mode encoding information is encoded and stored for the decoding section to be aware of it. At this time, in the case of the motion block estimated in the intra mode, block values of an original image are encoded
in the same manner as the intra frame coding. In the case of the motion block estimated in the inter mode, different components between an original image and a previous image are encoded. In addition, after performing the estimation of whether or not motions happened and the estimation of the infra/inter modes for the motion block, a corresponding encoding process is performed for the motion block. At this time, an average value is calculated in a 4*4 pixel unit and then encoded for the U and V components of the motion block. On the other hand, the Y component is discrete cosine transformed and quantized in a 8*8 pixel unit. Then, the Y component is entropy coded with the Golomb-Rice coding. While the invention has been illustrated and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.
INDUSTRIAL APPLICABILITY As described above, according to the present invention, when encoding a moving picture, a Golomb-Rice coding having a low complexity and a fast processing speed is applied as an entropy coding method, instead of a Huffman coding. In addition, Y component, and U and V components of a moving picture compression object signal are individually encoded according to their degrees of importance. Accordingly, since it is possible to considerably reduce an encoding time of an entire system without a decrease of a compression performance or definition, compared to the related art, a moving picture encoding function suitable for a mobile communication terminal which is an application requiring a real-time service can be embodied.
According to the present invention, when performing an inter-coding for moving pictures, a predictive-frame coding is performed using an original image of a previous intra frame. Accordingly, since it is not required to use an image restored from compressed previous image as the related art, the number of operations can be minimized. For example, a decoding process is not required when performing an encoding. In addition, according to the present invention, an estimation of whether motions happened is performed in a block unit when performing an intra-coding for moving pictures. At this time, it is estimated only whether motions happened using pixel values of a block boundary without obtaining a motion vector, as with the related art. Accordingly, since a process for obtaining a motion vector, and a discrete-cosine transformation and a quantization process required for obtaining information about whether motions happened are omitted, many operations can be reduced. Further, according to the present invention, when performing inter-coding for moving pictures, a motion estimation and an estimation of an intra mode and an inter mode are performed at the same time, rather than performing an estimation of the intra mode and the inter mode after obtaining a motion vector, as with the related art. Accordingly, it is possible to reduce the operations of the previously described processes, compared to the related art apparatus of encoding moving pictures. Additionally, according to the present invention, the above-mentioned moving picture encoding functions are embodied in a software manner. Accordingly, it is possible to reduce a burden on additional expenses for developing a mobile communication terminal, which expenses occur due to an addition of a hardware chip for encoding moving pictures.
In addition, contrary to a hardware chip, since the functions are embodied in a software
manner to simply and quickly cope with some conditions, a moving picture service on a mobile communication terminal can be more effectively provided.