System and method for three-dimensional video coding

Systems and methods are provided for receiving and encoding 3D video. The receiving method comprises: accepting a bitstream with a current video frame encoded with two interlaced fields, in a MPEG2, MPEG4, or H.264 standard; decoding a current frame top field; decoding a current frame bottom field; and, presenting the decoded top and bottom fields as a 3D frame image. In some aspects, the method presents the decoded top and bottom fields as a stereo-view image. In other aspects, the method accepts 2D selection commands in response to a trigger such as receiving a supplemental enhancement information (SEI) message, an analysis of display capabilities, manual selection, or receiver system configuration. Then, only one of the current frame interlaced fields is decoded, and a 2D frame image is presented.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention generally relates to video compression and, more particularly, to a system and method of encoding/decoding compressed video for three-dimensional and stereo viewing.

2. Description of the Related Art

Conventional video compression techniques typically handle three-dimensional (3D), or stereo-view video, in units of a frame. The most straightforward method is to code two views separately, as independent video sequences. This straightforward method, however, suffers from poor coding efficiency. It also has higher complexity because it needs to encode/decoder, multiplex/demultiplex, and synchronize two bitstreams. To reduce the complexity of bitstream handling, synchronized frames from each view can also be grouped together to form a composite frame, and then coded into one single bitstream. This composite-frame method still suffers from poor coding efficiency. It also loses a view-scalable functionality, i.e., decoder can choose to decode and display only one view.

Alternately, as noted in U.S. patent application 20020009137, one view can be coded into a base layer bitstream, and the other view into an enhancement layer. This layer approach not only has a better coding efficiency, but it also preserves the view-scalable functionality. However, this method still has higher complexity due to its needs to handle multiple bitstreams (base-layer and enhanced-layer bitstreams).

It would be advantageous if compressed 3D video could be communicated with greater efficiency.

It would be advantageous if only one view of a compressed 3D or stereo-view could be decoded to permit viewing on legacy 2D displays.

SUMMARY OF THE INVENTION

The present invention treats 3D video frames as interlaced materials. Therefore, a 3D view can be coded using existing interlace-coding methods, such as those in H.264, which enable better compression. Further, the invention supports a scalable coding (two-dimensional view) feature with minimal restrictions on the encoder side. The scalable decoding option can be signaled in a simple SEI message, for example.

Accordingly, a method is provided for receiving 3D video. The method comprises: accepting a bitstream with a current video frame encoded with two interlaced fields, in a Motion Pictures Expert Group-2 (MPEG2), MPEG4, or ITU-T H.264 standard; decoding a current frame top field; decoding a current frame bottom field; and, presenting the decoded top and bottom fields as a 3D frame image. In some aspects, the method presents the decoded top and bottom fields as a stereo-view image.

In some aspects, the method accepts 2D selection commands in response to a trigger such as receiving a supplemental enhancement information (SEI) message. Other triggers include an analysis of display capabilities, manual selection, or receiver system configuration. Then, only one of the current frame interlaced fields is decoded, and a 2D frame image is presented.

In one aspect of the method, a first encoded video frame is accepted prior to accepting the current frame. Then, the method: derives a predictive first frame top field; and, derives a predictive first frame bottom field. Then, the current frame top and bottom fields are decoded in response to the predictive first frame top field and predictive first frame bottom field, respectively.

Likewise, a method is providing for encoding 3D video, comprising: accepting a current 3D video image, including a first view of the image and a second, 3D, view of the image; encoding the first view as a frame top field; encoding the second view as the frame bottom field; and, transmitting a bitstream with a current video frame, having the top field interlaced with the bottom field, into a channel.

Additional details of the above-described methods, and 3D video encoder and receiver systems are provided below.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1is a schematic block diagram of the present invention 3D video receiver system. The system100comprises a decoder102having an input connected to a channel on line104to accept a bitstream with a current video frame encoded with two interlaced fields. For example, line104may be connected to the Internet, a satellite receiver, or a digital cable network. The decoder102accepts the bitstream in a standard such as MPEG2, MPEG4, or ITU-T H.264. The decoder102has an output on line106to supply a decoded current frame top field and current frame bottom field. A display108has an input to accept the decoded fields on line106. The display108visually presents the decoded top and bottom fields as a 3D frame image. For example, the display108can be a high-definition TV. In other aspects of the system, the display108visually presents the decoded top and bottom fields as a stereo-view image.

Generally, the display108may visually presents a two-dimensional (2D) image in response to using only one of the decoded current frame interlaced fields. Also, as a selected alternative to the presentation of the 3D image, the display108may present a 2D image in response to using only one of the decoded current frame interlaced fields. For example, a user may manually select to view a 2D image, even if a 3D image is available.

In other aspects, the decoder102may analyze the display capabilities and decode only one of the current frame interlaced fields, if non-3D display capabilities are detected. For example, the decoder may detect that display108is a legacy television. In this circumstance, the display108visually presents a two-dimensional (2D) image.

In some aspects, the decoder102receives a supplemental enhancement information (SEI) 3D content message with the current video frame. There are many types of conventional SEI messages. The 3D content SEI message is a message acts as a signal that the referenced frame(s) include 3D content organized as top and bottom fields in a frame. The 3D content SEI messages may trigger the decoder102to analyze display capabilities. This analysis may be a result of a query directed to display108, or a result of accessing pre-configured information in memory concerning display capabilities. If non-3D display capabilities are detected, the decoder may elect to decode only one of the current frame interlaced fields in response to the 3D option SEI message. Since only one field is supplied by the decoder102, the display108visually presents a two-dimensional (2D) image. Note, the decoder102may still provide both fields of a 3D view to a display108, even if the display is not enabled to present a 3D image.

In some aspects, the decoder102includes a 2D decision unit110to supply 2D selection commands on line112. The decoder102decodes only one of the current frame interlaced fields in response to the 2D selection commands. In response, the display108visually presents a 2D image. The decoder 2D decision unit110supplies 2D selection commands in response to a trigger such as receiving an SEI message on line104. The trigger may be an analysis of display capabilities. For example, capabilities may be explored in communications with the display on line106. In other aspects, the trigger may be responsive to a manual selection made by the user and received on line114. In another aspect, the trigger can be responsive to the receiver system configuration stored in memory116.

The organization of top and bottom fields as complementary 3D views is compatible with predictive encoding and decoding processes. With respect to MPEG standards, intra-coded frames (I-frames) are used to carry information that can be used as a foundation in a series of subsequent frames. With respect to H.264, the predictive frame is called an independent decoder refresh (IDR) picture. In some aspects, the decoder accepts a first encoded video frame prior to accepting the current frame. The decoder102derives a predictive first frame top field and a predictive first frame bottom field from the first frame. Then, the decoder102decodes the current frame top field in response to the predictive first frame top field. Likewise, the current frame bottom field is decoded in response to the predictive first frame bottom field.

Alternately, the decoder102derives a predictive first frame first field from the first frame. The first field may be either a top field or a bottom field. The decoder102decodes the current frame top field in response to the predictive first frame first field, and decodes the current frame bottom field in response to the predictive first frame first field.

FIG. 2is a schematic block diagram of the present invention 3D video encoding system. The system200comprises an encoder202having an input on line204to accept a current 3D video image, including a first view of the image and a second, 3D, view of the image. In some aspects, the encoder202accepts a stereo image. The encoder202encodes the first view as a frame top field and encodes the second view as the frame bottom field. The encoder202has a channel-connected output on line104to supply a bitstream with a current video frame, having the top field interlaced with the bottom field. The encoder202transmits the bitstream in a standard such as MPEG2, MPEG4, or H.264.

In one aspect of the system, the encoder202transmits a 2D command responsive to a trigger such as an analysis of connected receiver capabilities or the channel bandwidth. The analysis of receiver capabilities may occur as a result of accessing a memory212holding a record of receiver capabilities. For example, record may show that a connected receiver, or group of receivers, lacks 3D display capability. The analysis of channel bandwidth may be made as a result of accessing the memory212, or a result of receiving a real-time measurement of bandwidth. In some circumstances the bandwidth may be small enough that the transmission of both fields is impractical. For these, and potentially other reasons, the encoder202may elect to encode and transmit only one of the fields from the current view frame.

In another aspect, the encoder202may transmit an SEI 3D optional message, to signal 3D views available, to describe how 3D views are mapped into interlaced fields, and to describe dependency of each field.

In another aspect, the encoder202may transmit an SEI 3D option message with the current video frame, to trigger optional single field two-dimensional (2D) decoding. For example, if 2D receiver capabilities are discovered, the encoder202may transmit the SEI 3D option message, along with only one of fields.

Prior to accepting the current video image, the encoder202may accept a first video image, and encode a first image top field, as well as a first image bottom field. For example, the first image top and bottom fields may be used to form either an I-frame (MPEG) or an IDR picture (H.264). Then, the encoder204encodes the current frame top field in response to the first image top field, and encodes the current frame bottom field in response to the first frame bottom field.

Alternately, a single field can be used to generate subsequent top and bottom fields. That is, the encoder204, prior to accepting the current image, may accept a first video image and encode a first image first field. The first image first field may be either a top or bottom field. Then, the encoder204encodes the current frame top field in response to the first image first field, and encodes the current frame bottom field in response to the first image first field.

Functional Description

FIG. 3illustrates the present invention 3D view field interlacing process. Option1shows the left and right (stereo or 3D) views. Option2shows the views as a composite video frame.

Instead of treating stereo-view video frames as separate frames or a composite video frame, the present invention considers the sequence as interlaced materials. For example, as illustrated in option3, the left view picture is the top field and the right view is the bottom field. It is straightforward to code the interlaced video frames using existing interlaced coding methods in different video coding standards, for example, but not limited to, MPEG2, MPEG4, and H.264. The use of these standards enables better compression and bitstream handling.

Using the interlaced coding methods of the above-mentioned video coding standards, a scalable decoding option can be supported with minimal restrictions on the encoder side. The scalable option means that at least one view (or field) can be decoded independently, without referring to bitstream of the other view (or field). This option permits decoder and encoder devices to be used with legacy devices that do not support 3D display functionality. To enable this scalable coding option, all pictures are coded in field-picture mode. At least one field (either top or bottom) is self-contained; and for a self-contained field, the corresponding field pictures can only use previously coded field pictures with the same parity as reference for motion compensation.

Here is a very brief summary of relevant H.264 coding tools. H.264 is the latest international video coding standard. Relative to prior video coding methods, some new inter-frame prediction options have been designed to enhance the prediction flexibility and accuracy. H.264 permits multiple reference pictures to be used for inter prediction. That is, more than one prior coded picture can be used as references for inter prediction. To allow for better handling of interlaced materials, H.264 permits a video frame to be coded as either a frame picture, or two field pictures. The choice between these two options is referred to as picture-level adaptive-frame-field (PAFF) coding. This idea can be extended to the macroblock level, to enable the option of Macroblock-level adaptive frame-field (MBAFF) coding.

FIG. 4is a graph illustrating a comparison of coding performance. Experiments were conducted to evaluate the coding performance using the H.264 verification model JM7.3 software. The encoding parameters are: 5 reference frames, +/− 32 pixel motion search range, 15-frame group of pictures (GOP) with IPPP (an Intra-frame followed by 14 P pictures), RD-optimization (a JM software encoding option), CAVLC (context adaptive variable length coding—an entropy option in the H.264 standard), and a fixed quantization parameter (QP) of 28/32/36. A 300-frame stereo sequence was coded in the following three settings:1. Full frame coding (as option2inFIG. 3);2. PAFF coding (as option3inFIG. 3, with no restriction on reference pictures); and3. Scalable field coding (as option3inFIG. 3, with restriction on reference pictures).

The coding performances are shown inFIG. 4. The scalable field coding (setting #3) and PAFF coding (setting #3) essentially overlap. Both setting #2and setting #3have much better coding performance than setting #1. The difference is roughly 0.8 dB at relatively high quality side. The higher the peak signal-to-noise ratio (PSNR) values, the better the coding performance. So, for example, setting #2is better than setting #1(by 0.8 dB at the high bitrate side). Compared to setting #2, setting #3has very little overhead, less than 0.1 dB.

FIG. 5is a flowchart illustrating the present invention method for receiving 3D video. Although the method is depicted as a sequence of numbered steps for clarity, no order should be inferred from the numbering unless explicitly stated. It should be understood that some of these steps may be skipped, performed in parallel, or performed without the requirement of maintaining a strict order of sequence. The method starts at Step500.

Step502accepts a bitstream with a current video frame encoded with two interlaced fields. For example, the bitstream is a standard such as MPEG2, MPEG4, or H.264. Step504decodes a current frame top field. Step506decodes a current frame bottom field. Step508presents the decoded top and bottom fields as a 3D frame image. In some aspects, Step508presents the decoded top and bottom fields as a stereo-view image. In one aspect of the method, Step503accepts a 2D selection command. For example, the 2D selection command may be accepted in response to a trigger such as a supplemental enhancement information (SEI) message, an analysis of display capabilities, manual selection, or receiver system configuration. Then, only one of the current frame interlaced fields is used in response to the 2D selection commands. That is, either Step504or Step506is preformed. As shown, Step504is performed (Step506is bypassed). Step510presents a 2D frame image. Alternately, both fields may be decoded but a 2D frame image is presented in Step510in response to using only one of the decoded current frame interlaced fields. In one aspect of the method, simultaneous with the presentation of the 3D image (Step508), Step510presents a 2D image in response to using one of the decoded current frame interlaced fields. The simultaneous presentation of 2D and 3D images may represent that either the 2D or 3D view may be selected.

In another aspect of the method, Step503is organized into substeps, not shown. Step503areceives a (SEI) 3D content message with the current video frame. Step503banalyzes display capabilities. If non-3D display capabilities are detected, only one of the current frame interlaced fields is decoded. That is, either Step504or Step506is performed. Then, Step510presents a 2D frame image.

In another aspect, Step503accepts an SEI 3D optional message, to signal 3D views available, to describe how 3D views are mapped into interlaced fields, and to describe the dependency of each field. In another aspect, Step501aaccepts a first encoded video frame prior to accepting the current frame. Step501bderives a predictive first frame top field. Step501cderives a predictive first frame bottom field. Then, decoding the current frame top field (Step504) includes decoding the current frame top field in response to the predictive first frame top field. Likewise, decoding a current frame bottom field (Step506) includes decoding the current frame bottom field in response to the predictive first frame bottom field.

Alternately, but not shown, Step501bderives a predictive first frame first field, either a top field or a bottom field. In this aspect Step501cis bypassed. Then, Step504decodes the current frame top field in response to the predictive first frame first field. Step506decodes the current frame bottom field in response to the predictive first frame first field.

FIG. 6is a flowchart illustrating the present invention method for encoding 3D video. The method starts at Step600. Step602accepts a current 3D video image, including a first view of the image and a second, 3D, view of the image. In one aspect, Step602accepts a first and second view of a stereo image. Step604encodes the first view as a frame top field. Step606encodes the second view as the frame bottom field. Step608transmits a bitstream with a current video frame, having the top field interlaced with the bottom field, into a channel. For example, Step608transmits the bitstream in a standard such as MPEG2, MPEG4, or ITU-T H.264.

In one aspect, Step607accepts a 2D command responsive to a trigger such as an analysis of receiver capabilities or the channel bandwidth. Then, Step610transmits the 2D command to a receiver. In one aspect, Step610transmits a supplemental enhancement information (SEI) 3D option message with the current video frame to trigger optional single field two-dimensional (2D) decoding. In another aspect, Step612transmits only one of the fields from the current view frame, if the 2D command is transmitted in Step610.

In one aspect, Step601aaccepts a first video image prior to accepting the current video image. Step601bencodes a first image top field. Step601cencodes a first image bottom field. For example, an I-frame may be encoded for MPEG standard transmissions. Then, Step604encodes the current frame top field in response to the first image top field, and Step606encodes the current frame bottom field in response to the first frame bottom field.

Alternately, Step601bencodes a first image first field, either a top field or a bottom field, and Step601cis bypassed. Then, Step604encodes the current frame top field in response to the first image first field, and Step606encodes the current frame bottom field in response to the first image first field.

Systems and methods for 3D encoding and decoding have been provided. Examples have been given as to how the processes may be scaled for 2D applications. Examples have also been given for how the processes may be enabled with predictive coding. However, the present invention is not limited to merely these examples. Other variations and embodiments of the invention will occur to those skilled in the art.