Abstract:
The present invention provides an improved method and device for generating a depth map ( 112 ) by extracting three-dimensional depth information from the movement vectors of an encoded video bit stream ( 102 ) to display two-dimensional video sequences onto three-dimensional displays. In particular, the invention performs depth extraction ( 110 ) by means of a post-processing of the movement vectors of the inter-coded macroblocks, which have been already encoded in the video bit stream, thereby significantly reducing the heavy processing requirements associated with conventional motion estimation techniques.

Description:
RELATED APPLICATIONS 
     This application claims the priority benefits of PCT International Application PCT/IB2006/052761, filed Aug. 10, 2006, which claims priority to European Patent Application No. 05300669.8, filed Aug. 17, 2005. 
     FIELD OF THE INVENTION 
     The present invention relates to video processing systems, and in particular, the invention relates to a method and system for rendering three-dimensional image perception onto displays from two-dimensional video sequences. 
     BACKGROUND OF THE INVENTION 
     In general terms, displaying and estimating the shape of an object in the real three-dimensional world utilizing one or more two-dimensional images, is a fundamental question in the area of computer vision. The depth perception of a scene or an object is known to humans mostly because the vision obtained by each of our eyes simultaneously could be combined and formed the perception of a distance. However, in some specific situations, humans could have a depth perception of a scene or an object with one eye when there is additional information, such as lighting, shading, interposition, pattern or relative size. That is why it is possible to estimate the depth of a scene or an object with a monocular camera, for example. 
     New lenticular liquid crystal display (LCD) technology allows the display of still and moving pictures with a three-dimensional user perception without the use of stereo three-dimensional glasses, for example. In other words, in a three-dimensional LCD, a sheet of cylindrical lenses (lenticulars) is placed on top of an LCD in such a way that the LCD image plane is located at the focal plane of the lenses. This means that the rays from the eye of an observer looking perpendicularly at the lenses are focused on the portion of the LCD that is in the middle under each lens. Similarly, the rays from an eye looking at the screen from a sideways angle are concentrated on the LCD off-centre underneath each lens. If the LCD underneath each lens is divided into different sub-pixels, then eyes looking at the screen under different angles see different pixels. Furthermore, if the correct image information is put on the different pixels (i.e., a stereo pair of images), then the observer will see three-dimensionally. Therefore, the image processing and LCD driving requires that a depth map be provided together with the flat 2D pictures. 
     With the continuing increase of the three-dimensional display market, not all video content can become “three-dimensional” at once. Therefore, there is a strong need and desire for developing three-dimensional techniques, which can provide users the ability to interpret two-dimensional information in a three-dimensional sense. Reconstruction of three-dimensional images or models from two-dimensional video sequences has important ramifications in various areas, with applications to recognition, surveillance, site modelling, entertainment, multimedia, medical imaging, video communications, and a myriad of other useful technical applications. This pseudo-three-dimensional case consists in extracting the relevant depth information from flat video contents. Specifically, depth extraction from flat two-dimensional content is an ongoing field of research and several techniques are known. For instance, there are known techniques specifically designed for generating depth maps based on the movements of the objects in question. 
     A common method of approaching this problem is analysis of several images taken at the same time from different view points, for example, analysis of disparity of a stereo pair or from a single point at different times, for example, analysis of consecutive frames of a video sequence, extraction of motion, analysis of occluded areas, etc. Others techniques yet use other depth cues like defocus measure. Still other techniques combine several depth cues to obtain reliable depth estimation. 
     For example, EP 1 379 063 A1 to Konya discloses an example of depth extraction from two-dimensional images based on image segmentation. In particular, it describes a mobile phone that includes a single camera for picking up two-dimensional still images of a person&#39;s head, neck and shoulders, a three-dimensional image creation section for providing the two-dimensional still image with parallax information to create a three-dimensional image and a display unit for displaying the three-dimensional image. 
     However, the conventional techniques described above for three-dimensional design are not often satisfactory due to a number of factors. Systems that propose to extract depth from two-dimensional video sequences are mostly based on temporal motion estimation, which assumes generally that a closer object will have the highest movement. This implies a very computationally intensive process, requiring heavy computational analysis. Moreover, conventional three-dimensional design approaches fall short with systems based on defocus analysis when there is no noticeable focussing disparity, which is the case when pictures are captured with very short focal length optics, or poor quality optics, which is likely to occur in low-cost consumer devices, and systems combining several clues are very complex to implement and hardly compatible with a low-cost platform. As a result, lack of quality, robustness, and increased costs contribute to the problems faced in these existing techniques. Therefore, it is desirable to generate depth perception for three-dimensional imaging from two-dimensional objects such as video and animated sequences of images using an improved method and system which avoids the above mentioned problems and can be less costly and simpler to implement. 
     SUMMARY OF THE INVENTION 
     Accordingly, it is an object of the present invention to provide an improved method and device to process video images by providing depth extraction from a two-dimensional encoded video bit stream to display two-dimensional video sequences onto three-dimensional displays by extracting three-dimensional parallax information from movement vectors of the encoded video bit stream. 
     In particular, the invention provides a method of processing video images by receiving an encoded video bit stream of a two-dimensional video application having video images; decoding movement associated with frames of the encoded video bit stream to extract the movement vectors by block units of the frames; generating a movement map; processing the movement map generated using the movement vectors by grouping block units having similar types of movement vectors into respective areas such that block units having the similar types of movement vectors are grouped together into the respective areas, where the block units in the respective areas include a respective depth information; applying a depth extraction step by integrating the depth information of the respective areas of the movement map based on the types of movement vectors associated with the block units of the video images; and generating a depth map to render two-dimensional video applications onto a three-dimensional display. 
     One or more of the following features may also be included. 
     In one aspect, the method also includes performing a gap filling step where the movement vectors of the frames are extrapolated from the movement vectors decoded from a previous frame, duplicated from the movement vectors decoded from the previous frame, or interpolated using the movement vectors from the neighboring frames. 
     In another aspect, the decoding movement step includes decoding the movement vectors included in compressed video streams according to a video compression standard. In yet another aspect, the video compression standard is the Moving Picture Experts Group standard, and the frames of the encoded video bit stream include frames of “I”, “P”, or “B” types. 
     Other features of the video processing method are further recited in the dependent claims. The invention also relates to a video device configured to process video images for three-dimensional display that includes a receiving module configured to receive an encoded video bit stream of a two-dimensional video application having video images; a video decoder configured to decode movement associated with frames of the encoded video bit stream to extract movement vectors by block units of the frames; a module configured to process the movement map generated using the movement vectors by grouping block units having similar types of movement vectors into respective areas such that block units having the similar types of movement vectors are grouped together into the respective areas, where said block units in said respective areas include a respective depth information; a depth extraction module configured to integrate the depth information of the respective areas of the movement map based on the types of movement vectors associated with the block units of the video images; and a module configured to generate a depth map to render two-dimensional video applications onto a three-dimensional display. 
     One or more of the following features may also be included. 
     In one aspect, the device is a digital mobile telephone. 
     In another aspect, the device is a movie player. 
     The device may further include a gap filling module configured to extrapolate the movement vectors from the movement vectors decoded from a previous frame. 
     Moreover, video decoder decodes the movement vectors included in compressed video streams according to a video compression standard. The video compression standard is the Moving Picture Experts Group standard. 
     Other features of the video processing device are further recited in the dependent claims. The invention also relates to a computer-readable medium having a sequence of instructions executed by a microprocessor of the device that causes the processor to receive an encoded video bit stream of a two-dimensional video application having video images; decode movement associated with frames of the encoded video bit stream to extract movement vectors by block units of the frames; generate a movement map; process the movement map generated using the movement vectors by grouping block units having similar types of movement vectors into respective areas such that block units having the similar types of movement vectors are grouped together into said respective areas, where the block units in the respective areas include a respective depth information; apply a depth extraction step by integrating the depth information of the respective areas of the movement map based on the types of movement vectors associated with the block units of the video images; and generate a depth map to render two-dimensional video applications onto a three-dimensional display. Still further objects and advantages of the present invention will become apparent to one of ordinary skill in the art upon reading and understanding the following drawings and detailed description of the preferred embodiments. As it will be appreciated by one of ordinary skill in the art, the present invention may take various forms and may comprise various components and steps and arrangements thereof. 
     Accordingly, these and other aspects of the invention will become apparent from and elucidated with reference to the embodiments described in the following description, drawings and from the claims, and the drawings are for purposes of illustrating a preferred embodiment(s) of the present invention and are not to be construed as limiting the present invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a flowchart illustrating an improved method generating a depth map, in accordance with one preferred embodiment of the present invention; 
         FIGS. 2A-2C  is a schematic diagram illustrating a process of movement decoding, in accordance with one preferred embodiment of the present invention; 
         FIGS. 3A-3C  illustrates movement maps and a depth map, in accordance with one preferred embodiment of the present invention; 
         FIG. 4  is a flowchart of another embodiment of an improved method for generating a depth map, in accordance with another preferred embodiment of the present invention; and 
         FIGS. 5A-5C  illustrates exemplary frames corrected during the image stabilization step described in  FIG. 4 . 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to  FIG. 1 , a flow chart  100  defines the essential steps of the invention with regards to computing and generating a depth map  112  from a two-dimensional video bit stream  102 . The depth map  112 , which indicates the depth of a particular area compared to other areas of a two-dimentional video, includes a set of data that is required in order to compute a multi-view rendering of the video before sending sub-pixels to a lenticular LCD monitor, for example. The computing of the multi-view rendering may be integrated on the LCD monitor, although not necessarily. 
     The method  100  begins with a step  104  of decoding the movement of the two-dimensional content. That is, the content of the two-dimensional video stream  102  is analyzed frame by frame by processing each frame by splitting each frame into several blocks and then associating each block with a movement vector (x, y) defining the movement of the block between a frame and its predecessor. The principle of the movement decoding step  104  can be assimilated into a well-known technique of “movement estimation”. Here, the movement vectors are not estimated based on image analysis but decoded from a bit stream video file. Further details will be later described in  FIG. 2 . 
     Next, a step  106  of gap filling is performed. In this step  106 , a distinctive type of processing is performed on a video frame where movement vectors cannot be decoded from the video file as performed in the step  104 . In this case, the movement vectors for these types of frames are either extrapolated from the vectors decoded from the previous frames or duplicated from the vectors decoded from previous frame, or interpolated using vectors decoded from neighboring frames. In other words, some “gaps” may have resulted in the movement map that was generated during the step  104 . 
     Subsequently, a step  108  of movement map processing is carried out. In this step, a map of the video is computed based on the compilation of all the movement vectors collected during the steps  104  and  106 . Family of blocks with similar movement vectors are regrouped into distinct areas so that all the blocks belonging to the same area have homogeneous movement patterns. 
     Next, a step  110  of depth extraction follows. Here, the depth associated with each area is computed based on the fact that the higher the movement, the closer is the object. Essentially, each area of the movement map is characterized by movement. The analysis of the movement within the frames can determine the moving speed of each area. Therefore, areas in the movement map with higher motion are given a closer depth, whereas areas with lower motion are given a depth farther away than the areas which are closer. As a result, the depth map  112  is built by affecting depth information to all the moving areas of the video sequence. 
     Referring now to  FIGS. 2A-2C , a process of movement decoding is diagrammatically illustrated. As described earlier, in order to perform movement estimation, prior art techniques define how to process the content of a video, frame by frame, to compute motion estimation of each block. This process is very time consuming and requires a processor with high processing power in order to perform motion estimation in real time. 
     In the present invention, motion estimation is performed not by analyzing the video itself as disclosed by prior art designs, but by decoding the movement vectors included natively in all compressed video streams, which are compressed according to a video encoded standard such as MPEG2, MPEG4, and the like. As extraction of the movement vector is provided by an external video decoder (i.e., commonly the video decoder of the player decoding the video) and the data amount is small, the processing overhead for three-dimensional rendering is limited. 
     To elucidate the step of movement decoding  104  as shown in  FIG. 1 , the case where MPEG-1 is being used as the compressed format for coding a two-dimensional video stream is for example considered. A MPEG-1 video includes a sequence of three different types of frames: I-Frames, P-Frames and B-Frames. In  FIG. 2A , a frame sequence of an exemplary MPEG video  200  is shown as “I P B P B B I B B P B.” I-Frames such as  202  are said to be intra-coded because they can be reconstructed without any reference to other frames: the content of the image is completely encoded in this frame and it is possible to reconstitute it only on the basis of information coded in the I-Frames. On the other hand, P-Frames such as  204  are forward predicted from the last I-Frame or P-Frame. Thus, it is impossible to reconstruct them without having the data of another frame (I, P or B-Frames). B-frames such as  205  have characteristics of both I and P-Frames, that is, they are forward predicted and backward predicted from the last/next I-frame or P-Frame, in that there are two other frames necessary to reconstruct them. Consequently, P-Frames and B-Frames are referred to as being inter-coded frames. 
       FIG. 2B  illustrates an I-Frame (then called  206 ) from the MPEG-1 video  200 . The frame is split into a number of blocks. In particular, blocks  210   a ,  210   b  and  210   c  are shown. Similarly,  FIG. 2C  illustrates a P-Frame (then called  208 ) forward predicted from the I-Frame  206 . The P-Frame  208  is defined by storing the movement vectors. For example, in the P-Frame  208 , block  210   a ′ will not be defimed by its content but as a movement vector  212   a  (+1, 0) from block  210   a  ( FIG. 2B ), fully defined in the I-Frame  206 . Similarly, for block  210   c ′, whose description in the P-frame  208  is reduced to a movement or motion vector  212   c  (+3, 0). Therefore, the step of movement decoding  104  allows movement estimation to be performed by decoding the movement vectors ( 212   a ,  212   b ,  212   c ) included in the compressed video file. This step involves less CPU processing and is also more accurate because the information is collected from the video stream source itself and does not have to be computed based on any complex image processing steps. Further, the method of the present invention can be extended and implemented into any video stream encoding algorithm supporting movement vectors, which is the case for most of the compressed video streams in use today. The method of the present invention could also be extended from a system standpoint. The MPEG standard could be diverted to include depth information encoded as a movement vector. This would reduce the picture compression efficiency, but allow embedding of a true sub-resolution (block size) depth information for two-dimensional/three-dimensional (2D-3D) aware video decoders while preserving the compliancy to the standard and keeping the compatibility with the classical decoders. The process of post-processing is described further in  FIG. 4 . In order to specify if the movement map should be considered as a “true” depth map or if it should be post-processed as described in  FIG. 4 , one can use, for example, the FOURCC code (Four Character Code) that is commonly used to identify the video codec and pixel format. In FOURCC, the four letters identify which codec the video stream contained in a video file is encoded with (e.g., DIV5, HFYU, XVID, and etc.). In the present invention, the FOURCC code may indicate whether the movement map should be considered as a “true” depth map or it should be post-processed. 
     Referring to  FIGS. 3A-3C , movement maps and the generation of a depth map are illustrated. As explained previously, a movement map defines families of blocks with similar movement vectors regrouped into distinctly defined areas. All blocks belonging to the same area have homogeneous movements. In  FIG. 3A , for example, blocks  222   a ,  222   b  . . .  222   n  include homogeneous movement vectors, which are aggregated into an area  220  of the video frame  208 . Similarly, defined areas  224 ,  226  and  228  include blocks having homogeneous movement vectors. In  FIG. 3B , a movement map  230  is shown, where each area of the map is associated with a movement vector, i.e., a movement vector  212   c  for the area  226 . 
       FIG. 3C  shows a depth map  112  that can be computed and generated by performing the depth extraction step  110  of method  100 . This involves converting the vector movement  212   c , for example, into a depth value  214   c  based on the assumption that an object having higher movement and motion must be closer and thus have less depth, as given by the following relation: D=1/M, where D represents the depth and M represents the movement. Therefore, the depth map  112  can be directly translated from the movement map  230  and processed by a lenticular LCD, as illustrated in  FIG. 3C , where an observer/user can distinguish the different areas of the movement map  230  that can be rendered with three-dimensional perception. Referring now to  FIG. 4 , an improved method  101  derived from the method  100  of  FIG. 1  is illustrated. In the method  101 , two steps, namely, a step  115  of image stabilization and a step  117  of depth filtering have been incorporated. 
     Once a map of movement vectors  109  is generated from the movement decoding step, the step  115  of image stabilization attributes to the two-dimensional video stream an overall translation and rotation movement. Image stabilization algorithm is commonly used to reduce the impact of parasitic movements while taking the video (e.g., hand shaking). The impact of incorporating the step  114  of image stabilization will be further explained in  FIG. 5 . In the method  101 , the depth map  112  is generated after being post-processed using a deblocking filter. The reconstructed images from compressed MPEG data have perceivable image degradation, such as blocking effects, ringing effects and corner outliers. Deblocking algorithms remove the blocking artifacts without degrading the sharpness in the picture content. Compare to the method  100 , in the method  101 , the depth extraction step  110  now generates a rough depth map  113  that can be filtered using a deblocking filter (step  117 ). In the method  100 , no post processing was performed and the result of the depth extraction step  110  was directly the final depth map  112 . 
     Referring to  FIGS. 5A-5C , the consequences of the step  115  of image stabilization on movement vectors is illustrated. This can be shown by focusing on block A and block B of a frame  240 , whose locations are shown in  FIG. 5A . In a following P-frame  242 , shown in  FIG. 5B , a movement vector (+1, +1) is attributed to block A and a movement vector  246  (+3, +1) is attributed to block B. However, although it appears that there is movement associated with block A, block A is not moving and movement of block A is caused by movement of a camera taking the video such as hand-shaking. The image stabilization algorithm would then indicate that a corrective translation of (−1, −1) and a rotation of 0 degree should be applied to obtain the real movement vector. Accordingly,  FIG. 5C  shows a corrected location of block A and block B in a B-Frame  244  using the information provided by the stabilization algorithm. In fact, the movement vector for block A is corrected to (0,0) that is accurate since block A did not move. A corrected movement vector  248  for block B is set as (+2, 0). 
     Therefore, the example of  FIGS. 5A-5C  demonstrates the importance of image stabilization correction for a correct determination and generation of the depth map  112 . Without this correction, blocks A and B would have been allocated to an inaccurate area of the movement map. Thus, this would have been affected a wrong value in the depth map. Ultimately, the consequence would have been an inaccurate rendering on the three-dimensional LCD display. 
     While there has been illustrated and described what are presently considered to be the preferred embodiments of the present invention, it will be understood by those of ordinary skill in the art that various other modifications may be made, and equivalents may be substituted, without departing from the true scope of the present invention. 
     In particular, although the foregoing description related mostly to handheld video recording devices, the three-dimensional rendering method described can be applied to any type of video applications, such as in those implemented on computer screens, mobile telephony devices, any type of movie player, and any type of platform embedding a three-dimensional LCD display, home office platforms such as PC, and the like. 
     Additionally, many advanced video processing modifications may be made to adapt a particular situation to the teachings of the present invention without departing from the central inventive concept described herein. Furthermore, an embodiment of the present invention may not include all of the features described above. Therefore, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the invention include all embodiments falling within the scope of the appended claims and their equivalents.