Source: https://patents.google.com/patent/JP2015046899A/en
Timestamp: 2020-02-16 21:41:26
Document Index: 32679687

Matched Legal Cases: ['arta\n2014', 'Application No. 61', 'art 10', 'art 10', 'art 3', 'art 3']

JP2015046899A - Encoding of three-dimensional conversion information with two-dimensional video sequence - Google Patents
JP2015046899A
JP2015046899A JP2014205047A JP2014205047A JP2015046899A JP 2015046899 A JP2015046899 A JP 2015046899A JP 2014205047 A JP2014205047 A JP 2014205047A JP 2014205047 A JP2014205047 A JP 2014205047A JP 2015046899 A JP2015046899 A JP 2015046899A
JP2014205047A
JP2015046899A5 (en
イン・チェン
マルタ・カークゼウィックズ
Karczewicz Marta
2014-10-03 Application filed by クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ, Qualcomm Incorporated, クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ filed Critical クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ
2015-03-12 Publication of JP2015046899A publication Critical patent/JP2015046899A/en
2015-11-19 Publication of JP2015046899A5 publication Critical patent/JP2015046899A5/ja
PROBLEM TO BE SOLVED: To provide techniques for encoding a two-dimensional (2D) video sequence of video frames along with three-dimensional (3D) conversion information comprising a set of parameters that can be applied to each of the video frames of the 2D sequence to generate 3D video data.SOLUTION: A method comprises: encoding a two-dimensional (2D) sequence of video frames in a video encoder; encoding three-dimensional (3D) conversion information by using the video encoder. The 3D conversion information comprises a set of parameters that can be applied to each of the video frames of the 2D sequence to generate 3D video data; and communicating the encoded 2D sequence with the 3D conversion information.
This application claims the benefit of US Provisional Application No. 61 / 184,649, filed Jun. 5, 2009, the entire contents of which are hereby incorporated by reference.
The present disclosure relates to video encoding and conversion of two-dimensional (2D) video data to three-dimensional (3D) video data.
Digital multimedia functions include, for example, digital television, digital direct broadcast systems, wireless communication devices, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, digital cameras, It can be incorporated into a wide variety of devices including digital recording devices, video game devices, video game consoles, cellular or satellite radiotelephones, digital media players, and the like. Digital multimedia devices are used, for example, in MPEG-2, ITU-H. H.263, MPEG-4, or ITU-H. Video coding techniques such as H.264 / MPEG-4 Part 10, Advanced Video Coding (AVC), etc. may be implemented. Video coding techniques can perform video compression using spatial and temporal prediction to reduce or remove redundancy inherent in video sequences.
Most conventional video sequences are provided in a two-dimensional (2D) viewing format. However, three-dimensional (3D) sequences are also possible, in which case the video sequence has more than one view associated with each video frame. In this case, two or more views can be combined in a 3D display to render 3D video. The transmission of a 3D video sequence may require a significant amount of additional data compared to a 2D video sequence. For example, when conveying a 3D video sequence, two separate video frames may be required to provide two different views for each 2D video frame, resulting in an amount of data being transmitted. May almost double.
The present disclosure describes a two-dimensional (2D) video sequence consisting of video frames, together with three-dimensional (3D) conversion information including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. A technique for encoding will be described. This disclosure also describes the transmission and decoding of 2D video sequences and 3D conversion information. The set of parameters may include a relatively small amount of data that can be applied to each of the original video frames in the 2D sequence to generate a secondary view video frame for each of the original video frames. it can. The original video frame and the secondary view video frame can be collected together to define a stereoscopic 3D video sequence. The 2D sequence and the set of parameters can include significantly less data than is required to convey the 3D sequence in other ways. The 2D sequence and set of parameters can include negligible increments in addition to the data needed to convey the original 2D sequence. This disclosure also describes several example syntaxes that can be used to encode a set of parameters in an effective and efficient manner.
The receiving device can decode and render the 2D sequence even if the receiving device does not support 3D decoding or 3D rendering. On the other hand, a receiving device can generate and render a 3D sequence based on the 2D sequence and a set of parameters if the receiving device supports 3D decoding and 3D rendering according to the present disclosure. As such, the techniques of this disclosure can support backward compatible 2D to 3D video coding and conversion, and can also render 2D video output. Or the same bitstream can be used to render 3D video output. Furthermore, as mentioned, the described techniques can reduce the amount of data required for transmission of a 3D video sequence.
In one example, the present disclosure encodes a 2D sequence of video frames in a video encoder, encodes 3D conversion information using the video encoder, where the 3D conversion information is 3D video. A method is described that includes conveying an encoded 2D sequence with 3D transform information, including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate data.
In other examples, the present disclosure receives a 2D sequence of video frames at a video decoder, receives 3D conversion information along with the 2D sequence at the video decoder, wherein the 3D conversion information is 3D video data. Decoding a 2D sequence using a video decoder including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate a video decoder based on the 2D sequence and the 3D conversion information A method that includes generating 3D video data using the.
In another example, this disclosure includes a video encoder that encodes a 2D sequence of video frames and encodes 3D conversion information along with the 2D sequence, where the 3D conversion information is for generating 3D video data. An apparatus including a set of parameters applicable to each of the video frames in a 2D sequence is described.
In another example, this disclosure receives a 2D sequence consisting of video frames and receives 3D conversion information along with the 2D sequence, where the 3D conversion information is used to generate 3D video data for the video frames in the 2D sequence. An apparatus including a video decoder that decodes a 2D sequence including a set of parameters applicable to each and generates 3D video data based on the 2D sequence and 3D conversion information is described.
In another example, the present disclosure provides means for encoding a 2D sequence of video frames in a video encoder, means for encoding 3D transform information using the video encoder, wherein 3D The transform information describes a device that includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data, and means for communicating the encoded 2D sequence with the 3D transform information. To do.
In another example, the disclosure provides means for receiving a 2D sequence of video frames at a video decoder, means for receiving 3D conversion information along with the 2D sequence at a video encoder, wherein the 3D conversion information is Means for decoding the 2D sequence, including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate the 3D video data, and the 3D video data based on the 2D sequence and the 3D conversion information A device including means for generating is described.
In another example, this disclosure describes a method, apparatus, or device that applies 3D conversion information to a 2D sequence to generate 3D video data, where the 3D conversion information generates 3D video data. Includes a set of parameters that can be applied to each video frame in the 2D sequence.
The techniques described in this disclosure may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the software may be one or more processors, such as a microprocessor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), or digital signal processor (DSP). Can be executed. Software that performs the technique may be first stored on a computer-readable medium and then loaded into the processor and executed on the processor.
Accordingly, the present disclosure, when executed by a processor, causes the processor to encode a 2D sequence of video frames and to be applied to each of the video frames in the 2D sequence to generate 3D video data. A computer readable storage medium including instructions for encoding 3D conversion information including parameters is also contemplated.
In addition, the present disclosure, when executed by a processor, causes the processor to receive a 2D sequence of video frames and to generate a 3D video data along with the 2D sequence for each video frame in the 2D sequence. A computer-readable storage medium including instructions for decoding a 2D sequence and generating 3D video data based on the 2D sequence and 3D conversion information in response to receiving 3D conversion information including a set of applicable parameters is described. .
One or more aspects of the disclosure are described in detail in the accompanying drawings and the description below. Other features, objects, and advantages of the techniques described in this disclosure will be apparent from the description and drawings, and from the claims.
FIG. 1 is a block diagram illustrating an example video encoding and decoding system that may implement the techniques of this disclosure. FIG. 2 is a block diagram illustrating an example video encoder capable of performing two-dimensional (2D) and three-dimensional (3D) video coding according to this disclosure. FIG. 3 is a block diagram illustrating an example video decoder capable of performing 2D and 3D video decoding according to this disclosure. FIG. 4 is a conceptual diagram showing an aspect of 2D-3D conversion that can be applied based on 3D conversion parameters. FIG. 5 is a conceptual diagram showing an aspect of 2D-3D conversion that can be applied based on 3D conversion parameters. FIG. 6 is a conceptual diagram showing an aspect of 2D-3D conversion that can be applied based on 3D conversion parameters. FIG. 7 is a flowchart illustrating an example process performed by a video encoding device according to this disclosure. FIG. 8 is a flowchart illustrating an example process performed by a video decoding device according to this disclosure.
The present disclosure provides a three-dimensional (3D) transform information (including a set of parameters that can be applied to a two-dimensional (2D) video sequence of video frames to each of the video frames in the 2D sequence to generate 3D video data ( Describes techniques for encoding with three-dimensional (3D) conversion information. The 3D conversion information is not different for different frames in the video sequence, and 2D to generate secondary view video frames for each of the original video frames. It contains a common set of parameters that form a relatively small amount of data that can be applied to each of the original video frames in the sequence. The original video frame and the secondary view video frame together can define a stereoscopic 3D video sequence that can be rendered on a 3D display. According to the present disclosure, a 2D sequence and a set of parameters can include significantly less data than is required to convey the 3D sequence in other ways.
In one example, the 3D conversion information can include less than 20 bytes of data that can be applied to each of the original video frames in the 2D sequence to generate a secondary view for each of the original video frames. The techniques of this disclosure are described in, for example, MPEG-2, MPEG-4, ITU H.264, and others. 263, ITU H.264. H.264, which can be useful in many coding environments, such as proprietary coding standards or future coding standards. ITU H. In accordance with the H.264 framework, this disclosure can use supplemental enhancement information (SEI) messages as a mechanism for conveying 3D conversion information along with 2D video sequences that are compliant with the video standard.
The receiving device can decode and render the 2D sequence even if the receiving device does not support 3D decoding or 3D rendering. However, a receiving device can generate and render a 3D sequence based on the 2D sequence and a set of parameters if the receiving device supports 3D decoding and 3D rendering according to the present disclosure. As such, the techniques of this disclosure can support scalable 2D to 3D video coding and can render either 2D video output or 3D video output. The same bitstream can be used. Furthermore, as mentioned, the described techniques can reduce the amount of data required for transmission of a 3D video sequence.
This disclosure also describes several example syntaxes that can be used to encode a set of parameters in an effective and efficient manner. For example, in some implementations, ITU H.264 may be used to transmit 3D conversion information. Syntax elements in H.264 SEI messages can be used. In one example, as described in more detail below, the 3D conversion information should include whether the 3D conversion information includes an explicit set of 3D parameters or use a default set of 3D parameters. A first flag may be included that indicates whether or not the 3D conversion information is included in the 3D conversion information when the first flag is set. In this case, if the first flag is not set, the decoder can apply default 3D parameters.
The 3D conversion information may also include a second flag that indicates whether a second view of the 2D sequence should be generated on the left or right side of the 2D sequence. In this case, the second flag may assist 3D rendering by providing a secondary view orientation (eg, left or right side of the original video frame) generated at the decoder. Further, the 3D conversion information can include a third flag for identifying whether or not to remove the crop region from the 3D video data, and the information defining the crop region is set by the third flag. Is included in the 3D conversion information. If the third flag is not set, cropping can be avoided during 3D video data generation and 3D rendering. In some cases, if the first flag is not set, the second flag and the third flag can be excluded from the bitstream. The flag can include a single bit flag or a multi-bit flag.
FIG. 1 is a block diagram illustrating an example video encoding and decoding system 10 that may implement the techniques of this disclosure. As shown in FIG. 1, the system 10 includes a source device 12 that transmits encoded video to a destination device 16 via a communication channel 15. Source device 12 and destination device 16 may include any of a wide variety of devices, including mobile devices or normally fixed devices. In some cases, source device 12 and destination device 16 may be, for example, a wireless handset, a so-called cellular or satellite radiotelephone, a personal digital assistant (PDA), a mobile media player, or a communication channel that may or may not be wireless. 15 include any wireless communication device, such as any device capable of communicating video information over 15. However, the techniques of this disclosure regarding the generation, transmission, and use of 3D conversion information performed with 2D video sequences can be used in many different systems and environments. FIG. 1 is only one example of such a system.
In the example of FIG. 1, the source device 12 may include a video source 20, a video encoder 22, a modulator / demodulator (modem) 23, and a transmitter 24. The destination device 16 can include a receiver 26, a modem 27, a video decoder 28, and a display device 30. In accordance with this disclosure, the video encoder 22 of the source device 12 encodes a 2D sequence of video frames and 3D conversion information (3D conversion information is a video frame in a 2D sequence to generate 3D video data. (Including a set of parameters applicable to each). The modem 23 and transmitter 24 can modulate the radio signal and transmit it to the destination device. In this way, the source device 12 communicates the encoded 2D sequence with the 3D conversion information to the destination device 16.
The receiver 26 and modem 27 receive the radio signal from the source device 12 and demodulate it. Accordingly, the video decoder 28 can receive the 2D sequence and 3D conversion information for decoding the 2D sequence. According to the present disclosure, the video decoder 28 can generate 3D video data based on the 2D sequence and the 3D conversion information. Again, the 3D conversion information can include a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data, and it can convey the 3D sequence in other ways. Can contain significantly less data than needed.
As mentioned, the system 10 shown in FIG. 1 is merely exemplary. The techniques of this disclosure may be extended to any coding device or technique that supports first order block-based video coding. Source device 12 and destination device 16 are merely examples of such an encoding device, and source device 12 generates encoded video data for transmission to destination device 16. In some cases, devices 12 and 16 can operate substantially symmetrically such that each of devices 12 and 16 includes a video encoding component and a video decoding component. Thus, the system 10 is capable of unidirectional or bi-directional video between the video devices 12, 16, for example for video streaming, video playback, video broadcasting or video telephony. Can support transmission.
The video source 20 of the source device 12 includes a video capture device (eg, a video camera), a video archive containing previously captured video, or a video feed from a video content provider. be able to. As a further alternative, video source 20 may be a combination of computer-generated video, archived video, and live video, or as a source video based on computer graphics. Data can be generated. In some cases, if the video source 20 is a video camera, the source device 12 and the destination device 16 may form a so-called camera phone or video phone. In either case, captured video, pre-captured video, or computer generated video can be encoded by video encoder 22. The encoded video information can then be modulated by the modem 23 according to a communication standard such as, for example, code division multiple access (CDMA) or other communication standard, and transmitted to the destination device 16 via the transmitter 24. The modem 23 can include various mixers, filters, amplifiers, or other components designed for signal modulation. The transmitter 24 can include circuitry designed for data transmission, including amplifiers, filters, and one or more antennas.
The receiver 26 of the destination device 16 receives the information via the channel 15 and the modem 27 demodulates the information. Again, the video encoding process uses one or more of the techniques described herein to determine a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. Can be implemented. Information communicated over channel 15 can include information defined by video encoder 22, which can be used by video decoder 28 in accordance with this disclosure. The display device 30 displays the decoded video data to the user, and may be various, such as a cathode ray tube, liquid crystal display (LCD), plasma display, organic light emitting diode (OLED) display, or other type of display device. Any of the display devices can be included.
In the example of FIG. 1, communication channel 15 may be any wireless or wired, such as, for example, a radio frequency (RF) spectrum, or one or more physical transmission lines, or any combination of wireless and wired media. Communication media. Thus, modem 23 and transmitter 24 can support many possible wireless protocols, wired protocols, or wired and wireless protocols. The communication channel 15 is a packet-based network such as, for example, a local area network (LAN), a wide area network (WAN), or a global network (eg, the Internet) that includes interconnections of one or more networks. A part can be formed. Communication channel 15 generally represents any suitable communication medium or collection of different communication media for transmitting video data from source device 12 to destination device 16. Communication channel 15 may include routers, switches, base stations, or any other equipment that may help facilitate communication from source device 12 to destination device 16. The techniques of this disclosure may be applied to coding scenarios that do not necessarily require transmission of coded data from one device to another and do not involve reciprocal decoding. The aspects of the present disclosure can also be applied to decoding scenarios that do not involve interrelated coding.
Video encoder 22 and video decoder 28 are, for example, ITU-T H.264, also called MPEG 4, Part 10, Advanced Video Coding (AVC). It can operate according to a video compression standard, such as the H.264 standard. However, the techniques of this disclosure are not limited to any particular coding standard or extensions thereof. Although not shown in FIG. 1, in some aspects, video encoder 22 and video decoder 28 may each be integrated with an audio encoder and audio decoder, and may be a common data stream or separate. Appropriate MUX-DEMUX units or other hardware and software may be included to handle both audio and video encoding within the data stream. Where appropriate, the MUX-DEMUX unit is for example ITU H.264. Other protocols such as the H.223 multiplexer protocol or the user datagram protocol (UDP) may be compliant.
ITU-TH. The H.264 / MPEG-4 (AVC) standard was developed by the ITU-T Video Coding Experts Group (VCEG) together with the ISO / IEC Moving Picture Experts Group (MPEG). It was formulated as a product of a collective partnership known as the Joint Video Team (JVT). H. The H.264 standard is an ITU-T recommendation H.264 recommended by the ITU-T research group recommended in March 2005. H.264, Advanced Video Coding for generic audiovisual services. The H.264 standard is referred to herein as H.264. H.264 standard or H.264 standard. H.264 specification, or H.264. Sometimes referred to as H.264 / AVC standard or specification. The Joint Video Team (JVT) Work to expand H.264 / MPEG-4 AVC is ongoing.
H. Work to advance the H.264 / MPEG-4 AVC standard is being done in various ITU-T forums, such as the Key Technologies Area (KTA) forum. As one of the challenges, the KTA Forum Efforts are being made to develop coding techniques that exhibit higher coding efficiency than the H.264 / AVC standard shows. The techniques described in this disclosure are particularly useful for 3D video. An improved coding of the H.264 / AVC standard can be provided. In some aspects, this disclosure provides ITU-T H.264 as a mechanism for encoding and conveying the 3D transform information described herein. It is intended to use supplemental extended information (SEI) messages within the H.264 framework.
Video encoder 22 and video decoder 28 are each one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic circuits, microprocessors. Alternatively, it can be implemented as software, hardware, firmware, or any combination thereof running on other platforms. Each of video encoder 22 and video decoder 28 may be included in one or more encoders or decoders, both of which are individual mobile devices, subscriber devices, broadcast devices, or It can be integrated as a combined encoder / decoder (CODEC) component, such as in a server.
A video sequence typically includes a series of video frames. Video encoder 22 and video decoder 28 may operate on video blocks within individual video frames to encode and decode video data. Video blocks can have a fixed size or a variable size and can vary in size depending on the particular coding standard. Each video frame may include a series of slices or other units that can be decoded independently. Each slice can include a series of macroblocks, which can be arranged into sub-blocks. As an example, ITU-T H.I. The H.264 standard supports intra prediction in various block sizes, eg 16 × 16, 8 × 8 or 4 × 4 for luma components and 8 × 8 for chroma components. In addition, inter prediction is supported for luminance components, for example 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8 and 4 × 4, chromaticity components Supports various block sizes, such as scaled sizes. A video block can include a block of pixel data, or a block of transformation coefficients, for example, the transform coefficients are provided by a transformation process such as, for example, a discrete cosine transform or a conceptually similar transformation process. Following.
Smaller video blocks can provide better resolution and can be used in locations within a video frame that contain high levels of detail. In general, macroblocks and various sub-blocks or partitions can all be considered video blocks. In addition, a slice can be considered as a series of video blocks, such as macroblocks and / or subblocks or partitions. In general, a macroblock can be a set of chromaticity values and luminance values that define a 16 × 16 pixel area. The luminance block can contain a set of 16x16 values, but more like 8x8 block, 4x4 block, 8x4 block, 4x8 block, or other sizes, etc. It can be further partitioned into smaller video blocks. Two different chromaticity blocks can define the color of the macroblock, each containing 8 × 8 sub-sampled blocks of color values associated with a 16 × 16 pixel region. be able to. A macroblock may include syntax information that defines a coding mode and / or coding technique applied to the macroblock.
Macroblocks or other video blocks can be grouped into decodable units, such as slices, frames or other independent units. Each slice can be an independently decodable unit within a video frame. Alternatively, the frame itself can also be a decodable unit, or other parts in the frame can be defined as decodable units. In this disclosure, the term “coded unit” is defined according to, for example, an entire frame, a slice within a frame, a group of pictures (GOP), or the encoding technique used. Any independently decodable unit within a video frame, such as other independently decodable units.
Following intra-based or inter-based predictive coding, and any transforms (eg, 4 × 4 or 8 × 8 integer transforms used in H.264 / AVC, or discrete cosine transform or DCT, etc.) Following this, quantization can be performed. Quantization generally refers to the process of quantizing a coefficient to possibly reduce the amount of data used to represent the coefficient. The quantization process can reduce the bit depth associated with some or all of the coefficients. For example, a 16-bit value can be rounded to a 15-bit value during quantization. Subsequent to quantization, for example, content adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), or other entropy codes Entropy coding can be performed using an entropy coding methodology.
3D video One or more additional video frames (eg, additional views) associated with each originally encoded frame may be required. To define a stereoscopic 3D rendition of a video frame, For example, Two different views can be used. Many views that can contain more than two views are Multi-view 3D renditions can also be supported. Different views of 3D video So that two or more views correspond to the same time instance of the video sequence, It can have similar timing. In this way Two or more views Can be batch rendered to provide 3D video, Two or more 2D sequences that together form a 3D sequence can generally be defined.
In order to support efficient encoding, transmission and decoding of 3D video, the present disclosure includes a set of parameters that can be applied to each of the video frames in a 2D sequence to generate 3D video data. Use information. Such 3D conversion information can be communicated with the 2D sequence. Thus, the receiving device can generate and display a 2D sequence, or can generate and display a 3D sequence if the receiving device supports 3D video. In some examples, the 3D conversion information of the present disclosure may include less than 100 bytes of data, and more specifically, may include less than 20 bytes of data, which is a secondary view of 3D stereoscopic video. Can be applied to some or all of the 2D frames in the 2D sequence. In this way, the techniques of this disclosure provide an efficient way to convey 3D video by avoiding transmitting two views for at least some frames.
FIG. 2 is a block diagram illustrating an example of a video encoder 50 that may perform the techniques according to this disclosure. Video encoder 50 may correspond to video encoder 22 of source device 12 or a video encoder of a different device. Video encoder 50 may perform intra coding and inter coding of blocks within a video frame. Intra coding relies on spatial prediction to reduce or remove the spatial redundancy of video within a given video frame. Inter-coding relies on temporal prediction to reduce or remove video temporal redundancy between adjacent frames in the video sequence. Intra-mode (I-mode) can be a spatial-based compression mode, such as an inter-prediction (P-mode) or bi-directional (B-mode). Modes (Inter-modes) can be time-based compression modes.
As shown in FIG. 2, video encoder 50 receives a current video block within a video frame or slice to be encoded. In the example of FIG. 2, the video encoder 50 includes a prediction unit 35, a memory 34, an adder 48, a transform unit 38, a quantization unit 40, and an entropy encoding unit 46. For video block reconstruction, video encoder 50 also includes an inverse quantization unit 42, an inverse transform unit 44, and an adder 51. Further, according to the present disclosure, video encoder 50 may include a 2D to 3D conversion unit 36, which generates 3D conversion information as described herein. Video encoder 50 may include other deblocking filters (not shown) for filtering block boundaries to remove blockiness artifacts from the reconstructed video, for example. Components can also be included. If desired, the deblocking filter generally filters the output of adder 51.
During the encoding process, video encoder 50 receives a video block to be encoded and prediction unit 35 performs intra prediction or inter prediction encoding. For example, the prediction unit 35 of the encoder 50 may perform motion estimation and motion compensation for each video block or video block partition of a coding unit (eg, frame or slice). it can. Prediction unit 35 can calculate a rate distortion cost (rdcost) for each mode applicable to the coding of a particular block and can select the coding mode with the lowest cost. rdcost can quantify the cost in terms of the number of bits used and the level of distortion of the encoded data relative to the original video data.
Rate distortion (RD) analysis is fairly common in video coding and is generally included in the calculation of a cost metric that represents the coding cost. The cost metric can balance the number of bits (rate) required for encoding with the level of quality (distortion) associated with encoding. A typical rate distortion cost calculation can generally correspond to the following form:
Here, J (λ) is a cost, R is a bit rate, D is a distortion, and λ is a Lagrange multiplier. Prediction unit 35 may apply this type of cost function to compare the various intra and inter coding modes (and applicable partition sizes) that can be used to perform video block coding. it can.
After the desired prediction data is identified by the prediction unit 35, the video encoder 50 subtracts the prediction data from the original video block to be encoded to generate a residual block, thereby generating a residual video block. (Residual video block) is formed. Adder 48 represents one or more components that perform these subtraction operations. Transform unit 38 applies a transform, such as a discrete cosine transform (DCT) or a conceptually similar transform, to the residual block to generate a video block that includes residual transform block coefficients. Transform unit 38 is conceptually similar to DCT, e.g. Conversions such as those defined by the H.264 standard can be performed. Wavelet transforms, integer transforms, sub-band transforms, or other types of transforms can also be used. In either case, transform unit 38 applies the transform to the residual block to generate a block of residual transform coefficients. Transform can convert the residual information from the pixel domain to the frequency domain.
The quantization unit 40 quantizes the residual transform coefficient to further reduce the bit rate. The quantization process can reduce the bit depth associated with some or all of the coefficients. For example, a 9-bit value can be rounded to an 8-bit value during quantization. In addition, the quantization unit 40 can also quantize different offsets if offsets are used.
Following quantization, entropy encoding unit 46 entropy encodes the quantized transform coefficients. For example, entropy coding unit 46 may perform content adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), or other entropy coding methods. Following entropy encoding by entropy encoding unit 46, the encoded video can be transmitted to other devices or archived for later transmission or retrieval. The encoded bitstream is described herein to support entropy-encoded residual blocks, motion vectors for such blocks, and 2D to 3D video. And other syntax such as syntax.
Inverse quantization unit 42 and inverse transform unit 44, for example, to reconstruct the residual block in the pixel domain for later use as reference data as described above, respectively, Apply. Adder 51 adds the reconstructed residual block to the primary and / or secondary prediction blocks generated by motion compensation unit 35 to generate a reconstructed video block for storage in memory 34. To do. The reconstructed video block and residual data can be used by motion compensation unit 35 as a reference block for inter-coding the block in subsequent video frames or other coding units.
To support 3D video, video encoder 50 may further include a 2D-3D conversion unit 36 that operates on the reconstructed 2D video sequence stored in memory 34. In this way, the 2D-3D conversion unit 36 operates on the same reconstructed data that is available at the decoder after the decoding process. In accordance with this disclosure, 2D-3D conversion unit 36 identifies and determines 3D conversion information, including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. Or otherwise generate. The 3D conversion information can be generated once for a given 2D sequence.
The 2D sequence to which the 3D conversion information is applied may include a whole video sequence, a scene, or possibly a group of pictures that form a decodable set. Examples of group of pictures include a set of 5 frames in the IBPBP scenario or a set of 7 frames in the IBBPBBP scenario, where I is an intra-coding. P represents predictive inter-coding or uni-direction inter-coding, and B represents bi-predictive inter-coding or bi-directional inter-coding. Represents bi-directional inter-coding. In these cases, the frames in the group of pictures are interdependent and can be decoded together. In some cases, the 3D conversion information can be transmitted once for each group of pictures, but the 3D conversion information can also be transmitted once for each scene or once for the entire video sequence. However, it is important that 3D conversion information is applied to a plurality of frames so that different 3D conversion information is not required for each individual frame among the plurality of frames.
Video encoder 50 is an ITU-T H.264 standard. According to the H.264 video coding standard, a 2D sequence is encoded, and the 2D-3D conversion unit is ITU-T H.264. 3D conversion information SEI messages supported by the H.264 video encoding standard can be encoded. A set of parameters can be applied to each of the video frames in the first 2D sequence to generate a second 2D sequence of video frames, and the first and second 2D sequences are combined together. And define a 3D stereoscopic video sequence. The 3D conversion information can include information identifying a 3D conversion process applied to the 2D sequence to generate 3D video data. In some cases, the 3D conversion information may include camera parameters and values associated with capturing a 2D sequence. For example, as described in more detail below, the 3D conversion information includes a focal length value that represents the focal length associated with the camera that captured the 2D sequence, and a near-depth value that specifies the minimum depth of the 3D video data (near-depth value) a far-depth value that specifies the maximum depth of the 3D video data, and a translate value that quantifies the assumed distance between the two cameras associated with the 3D video data. ) Can be included.
To encode the 3D conversion information, the 2D-3D conversion unit 36 can use a flag that is a bit that can be set to represent a particular scenario. As an example, the 3D conversion information may include a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or whether a default set of 3D parameters should be used. In this case, an explicit set of 3D parameters are included in the 3D conversion information when the flag is set. The 3D conversion information may also include a flag indicating whether the second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence. In addition, the 3D conversion information may include a flag that identifies whether the crop area should be removed from the 3D video data. In this case, the information defining the crop area is included in the 3D conversion information when the flag is set. Each of these flags can be used to encode 3D conversion information in bulk, and other flags can be used or defined in accordance with the present disclosure.
FIG. 3 is a block diagram illustrating an example video decoder 70 that may perform decoding techniques that are interrelated with the encoding techniques described above. Video decoder 70 may include an entropy decoding unit 72, a prediction unit 75, an inverse quantization unit 76, an inverse transform unit 78, a memory 74, and an adder 79. The prediction unit 75 may include a motion compensation unit in addition to spatial prediction components.
Video decoder 70 includes a 2D sequence encoded in the manner described herein and various syntax elements that can be used by decoder 70 to facilitate proper decoding of video blocks. Video bitstream can be received. More specifically, the video bitstream may include 3D conversion information described herein to facilitate the generation of 3D video data based on a 2D sequence of video frames. The 3D conversion information can include a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. Again, the 3D conversion information is not different for different frames in the video sequence and can be applied to each of the original video frames in the 2D sequence to generate a secondary view for each of the original video frames. A common set of parameters that form a relatively small amount of data. The phrase 2D sequence may include multiple groups of pictures that form an entire video file, a video clip, a video scene in a larger video file, or possibly a decodable set of frames in a larger video sequence. Refers to the video frame.
Entropy decoding unit 72 performs entropy decoding of the bitstream to generate quantized coefficients of the residual video block of the 2D sequence. Entropy decoding unit 72 can parse the syntax elements from the bitstream and forward such syntax elements to various units of video decoder 70. For example, motion information (eg, motion vectors) and other syntax information can be transferred to the prediction unit 75. Furthermore, the entropy decoding unit 72 can analyze and extract the 3D conversion information from the bitstream and then transfer it to the 2D-3D conversion unit 79. Since the 2D-3D conversion unit 79 is optional, this unit 79 is indicated by a broken line. A video decoder without 2D-3D conversion unit 79 can only decode 2D video sequences, and 3D conversion information can be discarded. In this way, 3D conversion information can be applied to generate 3D video in addition to one device being able to decode 2D video and other devices being able to decode 2D video. Facilitates scalable 2D-3D video.
To decode the 2D video sequence, the prediction unit 75 uses motion information or other syntax elements for the purpose of identifying the prediction block used during encoding. In the case of inter-based decoding, motion vectors can be applied in the motion compensation process to generate a prediction block from one or more lists of prediction data. For inter-based decoding, the syntax can include an intra mode. This mode can define how a prediction block should be generated based on data belonging to the same frame as the frame of the video block being decoded.
Inverse quantization unit 76 inverse quantizes the data received from entropy decoding unit 72, and inverse transform unit 78 performs an inverse transform to generate a residual block in the pixel domain. The adder 79 then combines the residual block with the prediction block generated by the prediction unit 75 to generate a reconstruction of the original video block. The reconstruction of the original video block can be stored in the memory 74 and / or output to the display as decoded 2D video data. In this way, many video blocks can be decoded to reconstruct a video frame and ultimately reconstruct the entire 2D sequence of video frames in memory 74. In this manner, video decoder 70 performs decoding that is interrelated with the encoding performed by video encoder 50 described above.
According to the present disclosure, the 2D-3D conversion unit 79 can apply the 3D conversion information transmitted in the bit stream to the decoded 2D video sequence stored in the memory 74. For example, by applying the 3D conversion information to a decoded 2D video sequence stored in memory 74, 2D-3D conversion unit 79 allows secondary A view can be generated. Thereafter, the original view and the secondary view can be output from the 2D-3D conversion unit 79 as 3D video data.
Multi-view video coding (MVC) is an H.264 standard. Although an extension of H.264 / AVC can be formed, MVC can also be applied to other video coding standards. One of the joint draft of the MVC (joint draft) is, JVT-AB204, "" Joint Draft 8.0 on Multiview Video Coding ", 28 th JVT meeting, Hannover, Germany, July 2008 " are described in. H. According to H.264 / AVC, encoded video bits can be organized into Network Abstraction Layer (NAL) units. The NAL unit provides a “network-friendly” video representation addressing for applications such as video telephony, storage, broadcast, or streaming. NAL units can be categorized into video coding layer (VCL) NAL units and non-VCL NAL units. The VCL unit can include a core compression engine and includes a block level, an MB level, and a slice level. Other VCL units are non-VCL NAL units.
H. In accordance with H.264 / AVC, the Supplemental Extension Information (SEI) message may include information that is not required to decode the coded picture samples belonging to the VCL NAL unit. SEI messages are also included in non-VCL NAL units. The SEI message is an H.264 message. This is a normative part of the H.264 / AVC standard specification. Although not required for standards-compliant decoder implementations, SEI messages can assist processes for decoding, display, error resilience, and other purposes. H. The essential part of H.264 / AVC has been finalized. The H.264 / AVC specification is still open for SEI messages. This disclosure proposes in some aspects the use of SEI messages or other similar messages as a mechanism for encoding, conveying, and decoding the 3D transform information described herein.
To support 3D video formats, JVT and MPEG can introduce new standards and features. For example, according to the MPEG-2 multi-view profile, one view, eg, the left view, can be encoded at a reduced frame rate (eg, 15 frames per second) and the other view can be a high frame. It can be encoded as a temporal enhancement layer that requires a rate (eg, 30 frames per second). However, this requires that both views be conveyed in the bitstream and can significantly increase the amount of data in the bitstream compared to the transmission of conventional 2D sequences.
H. H.264 / AVC can also use stereoscopic video content techniques. For example, H.M. In H.264 / AVC, a stereoscopic video information SEI message can be employed to indicate how to arrange two views in one bitstream. In this case, frames can be assigned alternately to the two views, or the two views can be complementary field pairs. When assigning frames alternately to two views, the two views are ordered in temporal interleaving mode, and if the two views are complementary field pairs, the image pairs from the two views are It is actually row interleaved within one picture. However, again, this requires both views to be transmitted in the bitstream and can significantly increase the amount of data in the bitstream compared to the transmission of a conventional 2D sequence.
It is also possible to employ picture spatial interleaving, and the presence of spatial interleaving can be conveyed by SEI. This SEI extends support for two views from temporal and row interleaving to a more flexible spatial interleaving mode. Alternatively, the SEI message can be a combination of image pairs, side-by-side interleaving, above / below interleaving, column interleaving, or checkerboard interleaving. can be supported as interleaving). In each of these approaches, as with other undesirable approaches, different views are actually transmitted in some way in the bitstream, so the amount of information required for 3D video is less than that of conventional 2D Significant increase compared to the sequence.
The techniques of this disclosure can significantly reduce the amount of information that needs to fit in the bitstream to convey 3D video by avoiding the actual transmission of secondary views. In this case, instead of actually encoding and transmitting the secondary view, the present disclosure provides 3D transform information including a set of parameters that can be applied to the original 2D sequence at the decoder to generate the secondary view at the decoder. Send. In this way, the need to actually propagate the secondary view is avoided, instead decoding to generate the secondary view without the need to convey the secondary view in the bitstream. A set of parameters can be applied in the instrument.
H. The H.264 / AVC SEI message accepts 3D input as if it were a 2D video sequence and how to separate the two interleaved views so that one video sequence can be partitioned into two views. Cases that utilize SEI messages to communicate to the decoder can also be supported. However, it should also be emphasized that, even in such a case, the input is a 3D input represented by two views. The technique of the present disclosure, in contrast, avoids the need to transmit two views in a bitstream, instead the decoder generates a secondary view based on 3D transform information in the bitstream Depends on that.
Some MVC decoding orders may be referred to as time-first coding. In this case, each access unit is defined to contain the coded pictures of all views during one output time instance. However, the access unit decoding order may not be the same as the output order or the display order.
MVC prediction can include both inter-picture prediction and inter-view prediction within each view. MVC is an H.264 standard. A so-called base view that can be decoded by an H.264 / AVC decoder can be included, and two views can also be supported by MVC. In this case, the advantage of MVC is that it can support the case of taking more than two views as 3D video input and decoding this 3D video represented by multiple views. Decoding by the MVC decoder can expect 3D view content with multiple views.
The MPEG standard also specifies a format for attaching a depth map to a normal video stream of MPEG-C part 3. This specification is included in “Text of ISO / IEC FDIS 23002-3 Representation of Auxiliary Video and Supplemental Information”, ISO / IEC JTC 1 / SC 29 / WG 11, MPEG Doc, N8768, Marrakech, Morocoo, January 2007. It is. In MPEG-C part 3, the so-called auxiliary video can be either a depth map or a parallax map. Representing a depth map can provide flexibility with respect to each depth value and the number of bits used to represent the resolution of the depth map. For example, the depth map can be a quarter width and a half height of a given image. Unfortunately, a depth map is generally required for each frame in the sequence. That is, the same depth map is not applied to every frame in the video sequence. Thus, since a number of depth maps are required throughout the video sequence, the transmission of depth maps can be a very large amount of data in total.
The MPEG Video subgroup has defined a 3D video coding exploration experiment to study 3D scenarios. Although the MPEG video subgroup points out that having a depth map for each view can be helpful for view synthesis, this activity in MPEG is part of the standardization. It may not be possible. According to MPEG 3D video, two important concepts are depth estimation and view synthesis. It can be assumed that most video content is captured by a multi-camera system and that the depth map must be generated prior to encoding so that the depth map can be transmitted with the texture video sequence. However, view synthesis according to the present disclosure is a tool that can be applied when rendering video to generate more views that are not transmitted in a bitstream. Thus, the view synthesis concept can form part of the techniques of this disclosure by further utilizing the 3D transform information described herein.
In 3D video communication systems, raw video data can be captured and pre-processed before encoding. The raw data, which can have a depth map, can be encoded and the encoded video content can be stored or transmitted. The destination device can decode and display the 3D video. However, as described above, communicating additional views or depth maps for a number of images in a video sequence may not be desirable from a communication and bandwidth perspective. A better approach according to the present disclosure does not require the secondary view to actually be conveyed in the bitstream, but to generate any secondary view, for example by a decoder, to any video frame in the 2D sequence. Applicable 3D conversion information can be transmitted.
Acquisition of 3D content can be performed by a single camera or camera array, or even associated with a device that can generate a depth map. As some examples, content acquisition can be categorized into at least one of the following categories:
-2D video capture. Usually this does not provide 3D content.
A two-camera system capable of capturing and / or providing stereoscopic video.
A camera array. This captures multiple views.
-Capture and depth of one view. For example, some devices can capture the depth associated with the captured image.
-Other techniques that can capture depth information and / or generate a 3D model.
3D preprocessing and encoding can also be performed at the encoder. The 3D preprocessing mentioned here is not a typical processing related to noise reduction or scene detection. The 3D preprocessing can generate a depth map, which is encoded as part of the 3D video content. This process can generate one depth map for each captured view, or can generate a depth map for several views to be transmitted. However, again, transmission of the depth map may not be desirable from a bandwidth perspective.
When video content is received by a decoder, obtain transmitted data (which can include one or more views, and possibly also a reconstructed depth map) In order to do this, the video content can be decoded. If a depth map is available at the decoder, a view synthesis algorithm can be employed to generate textures for other views that were not transmitted. A typical 3D display can render more than one view. Some 2D displays capable of displaying high frame rate video can also be used as 3D displays with the help of shuttle glasses. Polarization is a 3D display technique that provides two views as outputs. Some displays or 3D televisions get depth as part of the input, but there may always be a built-in “view synthesis” module that is responsible for generating more than one view as output. .
3D warping is a form of view synthesis that may be useful with the techniques of this disclosure. 4-7 are conceptual diagrams used to illustrate 3D warping and other view synthesis concepts. View synthesis based on sampling theory can be a sampling problem, which requires a densely sampled view in order to fully generate any view at any view angle . However, in practical applications, the storage or transmission bandwidth required by densely sampled views is generally too large to be realized. Thus, some research has focused on view synthesis based on sparsely sampled views and depth maps.
View synthesis algorithms based on sparsely sampled views can rely on the concept of 3D warping. FIG. 4 shows the concept of 3D warping. As shown in FIG. 4, in 3D warping, given depth and camera model, the reference view
Can be projected from 2D camera coordinates onto a point P in the world-space coordinate system. Then point P becomes
Can be projected onto a destination view (which is a generated virtual view) along the direction of. in this case,
The direction of corresponds to the view angle of the target view. The projected coordinates are
In the reference view by assuming that
Pixel values (of different color components) in the virtual view
Sometimes more than one view can be considered as a reference view. In other words,
The above-mentioned projection to the camera is not necessarily a one-to-one projection. But two or more pixels are target pixels
When projected on, a visibility problem may arise. On the other hand, one pixel is the target pixel
May appear or exist in the virtual view picture. The so-called visibility problem is
It may be necessary to determine which pixels should be used to construct the pixel values of. When holes exist as continuous areas in a picture, the phenomenon is called occlusion. In contrast, if holes are sparsely distributed in a picture, those holes are called pinholes. Occlusion can be resolved by introducing one reference view in different directions. Pinhole filling (eg, to determine pinhole pixel values) typically employs neighboring pixels as candidates for holes. Techniques for pinhole filling can also be used to solve the shielding problem.
If more than one pixel is considered for the u 2 pixel value, a weighted average method can be employed. In view composition, these processes are commonly referred to as reconstruction. Visibility, occlusion, pinhole filling, and reconstruction, when combined together, become a big problem and an obstacle to implementing 3D warping based view synthesis. Camera models can help to address such issues.
For example, a camera model that includes intrinsic and extrinsic parameters can be used to describe the transformation from the world coordinate system to the camera plane, or vice versa. . For the sake of brevity, all coordinate systems described and referred to in this disclosure are orthogonal coordinate systems, although the techniques of this disclosure are not necessarily limited in this respect.
The external parameters can define the position of the camera center in world coordinates and the camera heading based on the following transformations.
Here, (x y z) T is a coordinate in the 3D camera coordinate system, and (x w y w z w ) T is a coordinate in the world coordinate system. The matrix A can include a 4 × 4 matrix and can be an orthogonal transform that can be shown as follows.
Here, R is a 3 × 3 rotation matrix, and T is a translation. In this case, T is not the position of the camera.
In the 3D camera coordinate system, the z-axis may be referred to as the principal optical axis, and the x-axis and y-axis can define an image plane. For example, as shown in FIG.
Can define the main optical axis. The plane perpendicular to the main optical axis, including u 1 , can define the image plane.
The world coordinate system can be defined to be the same as the 3D camera coordinate system of the camera. In this case, A = I. When the 3D camera coordinate system is translated from the world coordinate system:
Further, (x y z) T = (x w y w z w ) T + T T.
The internal parameter specifies the conversion from the 3D camera coordinate system to the 2D image plane. The model for this conversion is sometimes called a pinhole camera model and is conceptually shown in FIG. In this case, O is the origin of the 3D camera coordinate system and can define the center of the camera plane (or sensor plane). In such a model:
Here, -f indicates the focal length, and (u, v) T indicates the coordinates in the image plane.
The pinhole camera model may be inconvenient in that the focal length f is negative. To address this problem, the pinhole camera model can also be represented by a frontal pinhole camera model, as shown in FIG. In the frontal pinhole camera model, the relationship is as follows:
This transformation can be expressed as:
Here, (u, v) are coordinates in the image plane, and Q is the simplest expression of the internal parameter.
The entire transformation from the world coordinate system to the image plane is
In some implementations, the internal camera parameters can be more complex than described above. The transformation expressed as Q above is
Represented by In this case, Skew indicates the skew factor of the camera, and (principal x , principal y ) T is the coordinates of the principal point in the image plane. The principal point is a point where the principal optical axis intersects the image plane. The value of f x and f y is the focal length value in x-axis and y-axis.
In some implementations, the external camera parameters can also be more complex than described above. In a more realistic case, for example, R can only define rotation in the xz plane and can be expressed as:
For stereoscopic video, the cameras can have the same internal parameters. This can be the case, for example, when there is only translation between the two cameras and one of the cameras is aligned with the world coordinate system. In this case, R = I, T = 0, u 1 = fx w / z w , and v 1 = fy w / z w . When the second camera is placed in parallel with the first camera, R = I, T = (d 0 0) T. In this case, the following can be derived.
fd / z w is also called disparity. Although 3D warping in this case may only require parallax calculations, the problems mentioned above may still exist.
Since the value of each pixel for each color component is quantized and stored in 8 bits, it may be necessary to present the depth value using a limited dynamic range. In an 8-bit dynamic range implementation, the depth value can be, for example, 0-255 (excluding 0 and 255) (exclusive). The depth value can vary within a large range. However, in general, the nearest depth value and the farthest depth value are mapped to 0 and 255, respectively, and any other depth value should be mapped to an outside value in the range of 0 to 255.
The following are some typical depth value qualification methods.
In the above two equations, v is a value quantified to [0, 255], and z is a depth that can be stored in 1 byte. The value z can be normalized to [0, 255]. Normally, pixels closer to the camera take larger values, and pixels with a larger depth are converted to smaller values of [0,255]. Therefore, it may be desirable to linearly transform the depth value from [z near , z far ] to [0, 255], where z near is mapped to 255 and z far is mapped to 0. This is the idea of equation (9) shown above. Another way to achieve the transformation is to linearly transform the inverse depth value from [1 / z far , 1 / z near ] to [0, 255], where 1 / z near is mapped to 255 and 1 / Z far is mapped to 0. Another method is the idea of the equation (10) shown above.
H. H.264 / AVC-based 2D video communication systems are widely deployed but do not consider any 3D support. Several problems may arise when 3D video is desired for most of the 2D content delivered in such systems. In particular, video content may not have a 3D video source, and the 3D video source is typically captured by a multiple camera system or even converted from a 3D model. If the video content is not from a 3D video source, after performing some processing at the decoder, it may lack signaling that indicates whether such video content can be used for 3D display.
H. When 3D display of 2D content encoded by H.264 / AVC is possible, when generating an extra view from an existing view (existing view), for example, camera parameters, a depth range of a scene Some side information can be useful, such as, or other parameters. However, such information is not currently available in H.264. H.264 / AVC bitstreams may need a mechanism for transmission. To do this, the techniques of this disclosure are described in H.264. H.264 / AVC SEI messages or similar types of messages can be used.
Other problems or issues are generally generated when an extra view is generated, due to the transmitted view and the two camera horizontal displacements assumed for the generated view. There are areas in the view that should not be visible. If this undesirable region introduces noticeable artifacts, it may not be desirable to display this region in the generated view. To address this issue, the techniques of this disclosure provide the ability to define a crop region and convey it in a bitstream.
In some aspects, the techniques of this disclosure include a 2D sequence of video frames, e.g. An encoded video stream such as an H.264 / AVC bit stream is converted and can be displayed in a 3D format, for example, by stereoscopic display. According to the present disclosure, a signaling mechanism is used to indicate information required for 2D-3D conversion. In this case, the decoder can generate another video sequence (eg, a second view) that, together with the decoded original video sequence, enables 3D display.
In the technique of the present disclosure, 2D-3D conversion information is provided in a bit stream. The encoded video information contained in the bitstream is generally a 2D representation of the scene and does not include extra views or depth maps. Thus, the bandwidth of the encoded 2D content is very similar to the bandwidth of the corresponding 2D sequence that does not include any SEI messages related to 2D-3D conversion. In some cases, the 2D video sequence is pre-stored at the encoding device and is not captured or encoded at the encoding device. In this case, the 2D-3D conversion information may include camera parameters that are input and defined based on a default environment. In other cases, 2D video content can be captured but not encoded. In this case, the encoder can encode 2D content without having any 3D content as input. However, an encoder with knowledge of 2D-3D conversion can generate the information necessary for 3D conversion, H.264 / AVC bitstream can be contained in the SEI message. In yet other cases, the encoding device can capture and encode 2D video content. In this case, the encoding device may add 2D-3D conversion information, perhaps by analyzing the 2D video bitstream (eg, during the decoding process).
Video content does not support 2D-3D conversion. When decoded by an H.264 / AVC decoder, 2D video can be reconstructed and displayed. However, if the decoder supports 2D-3D conversion information and thus has a 2D-3D conversion function, the decoder can determine whether the secondary 2D-3D conversion information is associated with a secondary A frame associated with the view can be generated. The two views (decoded view and generated view) can then be displayed on a 3D display.
In accordance with this disclosure, the 3D conversion information includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. As mentioned, ITU H.264. H.264 / AVC SEI messages can be one mechanism for transmitting this 3D conversion information in a bitstream, but other messages or mechanisms can also be used, especially with other standards. . The 3D conversion information can include some or all of the following:
1-Indication that the associated encoded video sequence can be converted to 3D.
2—Assumed camera translation corresponding to important camera parameters, eg, camera focal length, and / or virtual view.
3- The depth range of the current scene.
4- Areas in the decoded video (original view) and virtual view that may require special treatment or cropping.
Table 1 below provides an example of 3D conversion information (2D-3D conversion information) in the form of SEI message syntax including various SEI message syntax elements.
The variables u (1) and ue (v) It can be a variable defined in the H.264 / AVC specification. Here, u (1) is a category for encoding a flag in the bit stream, and ue (v) is a code in the bit stream using Exponential Golomb (variable length) encoding. This is the category that encodes unsigned integers.
The exemplary 3D conversion information in Table 1 may have semantics as described below. If present, this SEI message is sent to the target access unit including the current access unit and subsequent access units until the next 2D-3D conversion SEI message arrives, or at the end of the encoded video sequence. It can be applied in decoding order until it reaches. A first 2D-3D conversion SEI message, if present, can appear in the first access unit of the encoded video sequence. This SEI message, if present, can inform that other views can be generated based on the decoded video. The decoded video can be defined as the original view, and the secondary view generated by the decoder can be referred to as the generated view. Two cameras can be assumed for the original view and the generated view.
If the variable camera_scene_para_present_flag in Table 1 is set to a value of 1, it can indicate that the focal length, depth range value, and translation of the two cameras are specified in the SEI message. If camera_scene_para_present_flag is equal to 0, this can indicate that focal_length, near_dapt, far_dapth, and translate_x can be inferred by some default values. As an example, the default values for focal_length, near_dapt, far_dapth, and translate_x can be defined as 1000, 2000, 4000, and PicWidthInSamples L / 16, respectively. If camera_scene_para_present_flag is equal to 1, the focal length, depth range value, and translation value are explicitly included in the bitstream, but if camera_scene_para_present_flag is equal to 0, these values are explicitly included in the bitstream. Not included.
The variable left_view_original_flag in Table 1 indicates that the generated view is to the left of the original view, i.e. the camera assumed for the generated view is to the left of the original camera of the original view. Can be equal to 1. If the variable left_view_original_flag is equal to 0, it indicates that the generated view is to the right of the original view. Of course, these left and right instructions can be reversed.
The variable dummy_region_flag in Table 1 can be equal to 1 to indicate that there is a dummy region for the two views and this region is cropped before display. The variable focal_length in Table 1 can specify the focal length of the camera. As an example, the value of focal_length can be in an inclusive range of 1 to 2 32 −1. The variable near_depth in Table 1 specifies the minimum depth value of the pixels in the original view and the generated view. The variable near_depth may be in an inclusive range of 1 to far_depth−1. The variable far_depth in Table 1 specifies the maximum depth value of the pixels in the original view and the generated view. The value of far_depth may be in an inclusive range of near_depth + 1 to 2 32 −1.
The variable translate_x in Table 1 specifies the distance between the camera assumed for the original view and the generated view. The variable dum_reg_width specifies the width of the cropped region in the original and generated views that are not used for output, and the units are in units of luma samples. dum_reg_width may be included only if dummy_region_flag is equal to 1.
When left_view_original_flag is equal to 1, the output region is cropped horizontally (inclusive) from 0 to PicWidthInSamples L- dum_reg_width-1 including both ends. When left_view_original_flag is equal to 0, the output area is cropped into an area including both ends from dum_reg_width to PicWidthInSamples L- 1. It can also be assumed that the value of dum_reg_width is PicWidthInSamples L / 16.
For example, the 3D transformation information in the SEI message does not necessarily specify the algorithm applied for view synthesis at the decoder to generate an extra view. However, 3D warping based algorithms can use equation (8) above for 3D warping, which actually maps one pixel in the original view to the virtual view. In this case, z w is a depth of a pixel in the original view, is in the interval of [near_depth, far_depth], f is focal_length, the absolute value of d is Translate_x.
Alternatively, focal_length, near_depth, far_depth, and translate_x can be signaled as signed double values according to the IEC 60559 specification or other communication protocols. In IEC 60559, the value X is transmitted in three parts: a sign s (+/−), N (mantissa part), and E (exponent part). One possible implementation of the calculation of the value X is described in the following pseudo-code.
Where X is a variable to be calculated, s, N, and E correspond to the sign, exponent, and mantissa syntax elements associated with each variable to be calculated, and M is M = bin2float (N) 0 ≦ M <1. The association between each camera parameter variable and the corresponding syntax element depends on a wide variety of implementations.
In addition to the above parameters, additional parameters can also be used. For example, a set of parameters may include a convergence-depth value that quantifies an assumed distance from a convergence image plane to two different cameras. When using the parameters in Table 1, the convergence depth value can be assumed to be infinite, but in other cases, the convergence depth value can be explicitly included in the set of parameters.
The following pseudo code provides an example of a bin2float () function that converts a binary representation of a fraction into a corresponding floating point number. The pseudo code of the function M = bin2float (N) can be given as follows:
Alternatively, more camera parameters can be communicated. For example, a different focal length f x and f y for x-axis and y-axis, and a skew coefficient, or including even the principal points, as shown in equation (6), it is possible to transmit the internal parameter. In addition, the assumed camera for the generated view can have a rotation in the xz plane, so it can also transmit this value, ie θ as shown in equation (7).
FIG. 7 is a flow diagram illustrating an encoding process that may be performed by a device including a video encoder 50 according to this disclosure. As shown in FIG. 7, the video encoder 50 encodes a 2D sequence of video frames (101), and the 2D-3D conversion unit 36 encodes 3D conversion information using the video encoder (102). The 3D conversion information includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. Thereafter, the device that includes the video encoder 50 may convey the encoded 2D sequence along with the 3D conversion information (103). With reference to FIG. 1, for example, video encoder 22 may correspond to video encoder 50. In this case, the source device 12 can convey the encoded 2D sequence along with the 3D conversion information via the modem 23 and the transmitter 24 (103), and the modem 23 and the transmitter 24 can transmit the code division multiple access ( Information is modulated and transmitted according to a wireless protocol such as CDMA).
When encoding a 2D sequence, the video encoder 50 may use ITU H.264. A 2D sequence can be encoded according to the H.264 video encoding standard. In this case, encoding the 3D conversion information is performed by the ITU H.264 as described above. Encoding the 3D transform information may be included in one or more SEI messages supported by the H.264 video encoding standard. The 2D sequence may be referred to as a first 2D sequence (eg, an original sequence). A set of parameters can be applied to each of the video frames in the first 2D sequence to generate a second 2D sequence consisting of video frames (eg, secondary views), the first and second Together, a 2D sequence defines a 3D stereoscopic video sequence.
The 3D conversion information can include information identifying a 3D conversion process applied to the 2D sequence to generate 3D video data. As described above, the 3D conversion information can include camera parameters and values associated with capturing a 2D sequence. For example, the 3D conversion information includes a focal length value that represents a focal length associated with a camera that has captured a 2D sequence, a near depth value that specifies a minimum depth of 3D video data, a far depth value that specifies a maximum depth of 3D video data, And a translation value that quantifies the assumed distance between the two cameras associated with the 3D video data.
The 3D conversion information may include a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or whether a default set of 3D parameters should be used. In addition, the 3D conversion information may also include a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence. The 3D conversion information can also include a flag for identifying a crop area to be removed from the 3D video data.
In one example, the first flag can indicate whether the explicit set of 3D parameters is included in the 3D conversion information, or whether the default set of 3D parameters should be used. The set of 3D parameters is included in the 3D conversion information when the first flag is set. The second flag can indicate whether the second view of the 2D sequence should be generated on the left or right side of the 2D sequence, and the third flag removes the crop area from the 3D video data Whether to be able to be identified and information defining the crop area is included in the 3D conversion information when the third flag is set.
FIG. 8 is a flow diagram illustrating a decoding process according to this disclosure. Video decoder 70 receives the encoded 2D sequence along with the 3D conversion information (111) and decodes the 2D sequence (112). For example, entropy decoding unit 72 may perform entropy decoding of the bitstream to generate quantized coefficients of the residual video block of the 2D sequence. Entropy decoding unit 72 can parse and extract syntax elements from the bitstream and forward such syntax elements to various units of video decoder 70. Entropy encoding unit 72 may parse such a message to identify any syntax within the SEI message. Motion information (eg, motion vectors) and other syntax information can be transferred to the prediction unit 75. Prediction unit 75 uses motion information or other syntax elements to identify the prediction block used in the encoding. For inter-based decoding, motion vectors can be applied in the motion compensation process to generate a prediction block from one or more lists of prediction data. For inter-based decoding, the syntax can include an intra mode, which determines how to generate a prediction block based on data belonging to the same frame as the frame of the video block being decoded. Can be defined.
Inverse quantization unit 76 inverse quantizes the data received from entropy decoding unit 72, and the inverse transform unit performs an inverse transform to generate a residual block in the pixel domain. The adder 79 then combines the residual block with the prediction block generated by the prediction unit 75 to generate a reconstruction of the original video block. The reconstruction of the original video block can be stored in the memory 74 and / or output to the display as decoded 2D video data. In this way, many video blocks can be decoded to reconstruct a video frame and ultimately reconstruct the entire 2D sequence of video frames in memory 74.
Video decoder 70 may determine whether it supports 3D video (113). In other words, the video decoder 70 can determine whether it includes a 2D-3D conversion unit 79. This can be determined explicitly, or alternatively, if the video decoder 70 does not include the 2D-3D conversion unit 79, it can operate essentially according to 2D decoding. If the video decoder 70 includes a 2D-3D conversion unit 79, 3D video can be generated.
Thus, if video decoder 70 does not support 3D video (113 no branch), video decoder 70 may output the decoded 2D sequence to a 2D display (114). On the other hand, if video decoder 70 supports 3D video (113 yes branch), 2D-3D conversion unit 79 applies 3D conversion information to the decoded 2D sequence to generate a 3D video sequence ( 115), and then the result can be output from the video decoder 70 to a 3D display (116). In this way, the 2D sequence transmitted together with the 3D conversion information can support 3D video in a decoding device that supports 2D-3D conversion, but in a legacy device that supports only 2D video, Video can also be supported.
In another example, it may not be necessary to transmit the 3D conversion information together with the 2D sequence. For example, an encoder or decoder may simply apply the 3D conversion information described herein to a stored or received 2D sequence to generate 3D video data. Accordingly, the present disclosure contemplates methods, computer-readable storage media, apparatus, and devices that apply 3D conversion information to 2D sequences to generate 3D video data. Here, the 3D conversion information includes a set of parameters that can be applied to each video frame in the 2D sequence to generate 3D video data.
The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless communication device handset such as a mobile phone, an integrated circuit (IC), or a set of ICs (ie, a chipset). Any component, module, or unit has been described and provided with emphasis on functional aspects and does not necessarily require realization by different hardware units. The techniques described herein may also be implemented in hardware, software, firmware, or any combination thereof. Any of the features described as modules, units, or components may be implemented together in an integrated logic device or separately as separate interoperable logic devices. In some cases, the various features can be implemented as an integrated circuit device, such as an integrated circuit chip or chipset.
When implemented in software, the techniques of this disclosure may be implemented at least in part by a computer-readable medium that includes instructions that, when executed on a processor, perform one or more of the methods described above. Can do. Computer-readable media can include computer-readable storage media and can form part of a computer program product that can include packaging material. Computer-readable storage media include random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read only memory (ROM), nonvolatile random access memory (NVRAM), electrically erasable programmable read only memory ( EEPROM), flash memory, and magnetic or optical storage media. The techniques of this disclosure may additionally or alternatively be carried at least in part by a computer-readable communication medium that carries or conveys code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer. Can be realized.
The code or instructions may include one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other equivalent integrated or discrete logic circuits, etc. It can be executed by one or more processors. Thus, the term “processor”, as used herein, can refer to any of the structures described above, or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein can be provided in a dedicated software module or hardware module configured for encoding and decoding, or incorporated in a combined video codec. be able to. Also, the techniques of this disclosure may be fully implemented in one or more circuits or logic elements.
This disclosure contemplates any of a variety of integrated circuit devices that include circuitry that implements one or more of the techniques described in this disclosure. Such a circuit can be provided in a single integrated circuit chip or in a plurality of interoperable integrated circuit chips in a so-called chipset. Such integrated circuit devices can be used in a variety of applications, some of which can include use in wireless communication devices such as mobile telephone handsets.
[C1] encoding a two-dimensional (2D) sequence of video frames in a video encoder;
Encoding three-dimensional (3D) transform information using the video encoder, wherein the 3D transform information is applied to each of the video frames in the 2D sequence to generate 3D video data. Including a set of possible parameters,
Transmitting the encoded 2D sequence together with the 3D transform information.
[C2] Encoding the 2D sequence is ITU H.264. Encoding the 2D sequence according to the H.264 video encoding standard,
Encoding the 3D conversion information is performed by the ITU H.264 standard. The method of C1, comprising encoding the 3D transform information in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
[C3] The 2D sequence is a first 2D sequence,
The set of parameters can be applied to each of the video frames in the first 2D sequence to generate a second 2D sequence of video frames;
The method of C1, wherein the first and second 2D sequences together define a 3D stereoscopic video sequence.
[C4] The method of C1, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
[C5] The method of C1, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
[C6] The 3D conversion information is
A focal length value indicating a focal length associated with the camera that captured the 2D sequence;
A near depth value specifying a minimum depth in the 3D video data;
A depth value specifying a maximum depth in the 3D video data;
A translation value that quantifies the assumed distance between the two cameras associated with the 3D video data;
The method according to C1, comprising:
[C7] The 3D conversion information is
The method of C1, comprising a convergence depth value that quantifies a hypothetical distance from a convergent image plane to the two cameras.
[C8] The method of C1, wherein the 3D conversion information includes a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters.
[C9] The method of C1, wherein the 3D conversion information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
[C10] The method according to C1, wherein the 3D conversion information includes a flag for identifying a crop region to be removed from the 3D video data.
[C11] The 3D conversion information is
A first flag indicating whether the 3D conversion information includes an explicit set of 3D parameters or whether a default set of 3D parameters should be used, wherein the explicit set of 3D parameters is , When the first flag is set, the first flag included in the 3D conversion information;
A second flag indicating whether a second view of the 2D sequence should be generated on the left or right side of the 2D sequence;
The third flag for identifying whether or not the crop area should be removed from the 3D video data, the information defining the crop area is the 3D conversion information when the third flag is set. Included third flag and
[C12] receiving a two-dimensional (2D) sequence of video frames at a video decoder;
Receiving three-dimensional (3D) conversion information with the 2D sequence at the video decoder, wherein the 3D conversion information is applied to each of the video frames in the 2D sequence to generate 3D video data; Including a set of possible parameters,
Decoding the 2D sequence using the video decoder;
Generating the 3D video data using the video decoder based on the 2D sequence and the 3D conversion information;
[C13] The 2D sequence is ITU H.264. Encoded according to the H.264 video encoding standard,
The 3D conversion information includes the ITU H.264. The method of C12, received in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
[C14] The 2D sequence is a first 2D sequence,
The first and second 2D sequences together define a 3D stereoscopic video sequence;
The method of C12, wherein generating the 3D video data includes generating the second 2D sequence to define the 3D stereoscopic video sequence.
[C15] The method of C12, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
[C16] The method of C12, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
[C17] The 3D conversion information is
The method according to C12, comprising:
[C18] The 3D conversion information is
A convergence depth value that quantifies the assumed distance from the convergent image plane to the two cameras;
[C19] The method of C12, wherein the 3D conversion information includes a flag indicating whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters should be used.
[C20] The method of C12, wherein the 3D conversion information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
[C21] The method according to C12, wherein the 3D conversion information includes a flag for identifying a crop region to be removed from the 3D video data.
[C22] The 3D conversion information is
[C23] determining whether a receiving device can generate and render the 3D video data;
Generating and rendering the 3D video data based on the 2D sequence and the 3D conversion information when the receiving device is capable of generating and rendering the 3D video data;
The method of C12, further comprising rendering the 2D sequence when the receiving device is unable to generate or render the 3D video data.
[C24] a video encoder that encodes a two-dimensional (2D) sequence of video frames and encodes three-dimensional (3D) transform information together with the 2D sequence;
The apparatus, wherein the 3D conversion information includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data.
[C25] The apparatus according to C24, further including a transmitter that transmits the encoded 2D sequence together with the 3D conversion information to another device.
[C26] The video encoder is ITU H.264. The 2D sequence is encoded according to the H.264 video encoding standard, and the ITU H.264 The apparatus of C24, wherein the 3D transform information is encoded in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
[C27] The 2D sequence is a first 2D sequence,
The apparatus of C24, wherein the first and second 2D sequences together define a 3D stereoscopic video sequence.
[C28] The apparatus of C24, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
[C29] The apparatus of C24, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
[C30] The 3D conversion information is
The apparatus of C24, comprising:
[C31] The 3D conversion information is
[C32] The apparatus of C24, wherein the 3D conversion information includes a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters.
[C33] The apparatus of C24, wherein the 3D conversion information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
[C34] The apparatus according to C24, wherein the 3D conversion information includes a flag for identifying a crop region to be removed from the 3D video data.
[C35] The 3D conversion information is
[C36] an integrated circuit;
A wireless communication device including the video encoder;
The apparatus of C24, comprising at least one of the following:
[C37] In an apparatus including a video decoder,
The video decoder is
Accepts a two-dimensional (2D) sequence of video frames;
A three-dimensional (3D) conversion information is received with the 2D sequence, wherein the 3D conversion information includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data. ,
Decoding the 2D sequence;
An apparatus for generating the 3D video data based on the 2D sequence and the 3D conversion information.
[C38] The 2D sequence is ITU H.264. Encoded according to the H.264 video encoding standard,
The 3D conversion information includes the ITU H.264. The apparatus of C37, received in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
[C39] The 2D sequence is a first 2D sequence,
The apparatus of C37, wherein in generating the 3D video data, the video decoder generates the second 2D sequence to define the 3D stereoscopic video sequence.
[C40] The apparatus of C37, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
[C41] The apparatus according to C37, wherein the 3D conversion information includes a camera parameter and a value related to capture of the 2D sequence.
[C42] The 3D conversion information is
A near depth value that specifies a minimum depth in the 3D video data;
The apparatus of C37, comprising:
[C43] The 3D conversion information is
[C44] The apparatus of C37, wherein the 3D conversion information includes a flag indicating whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters.
[C45] The apparatus of C37, wherein the 3D conversion information includes a flag indicating whether the second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
[C46] The apparatus according to C37, wherein the 3D conversion information includes a flag for identifying a crop region to be removed from the 3D video data.
[C47] The 3D conversion information is
[C48] In an apparatus including a display,
Determining whether the device is capable of generating and rendering the 3D video data;
If the device is capable of generating and rendering the 3D video data, generating the 3D video data based on the 2D sequence and the 3D conversion information and rendering on the display;
Rendering the 2D sequence on the display when the device is unable to generate or render the 3D video data;
The device according to C37.
[C49] an integrated circuit;
A wireless communication device including the video decoder;
The device of C37, comprising at least one of the following.
[C50] means for encoding a two-dimensional (2D) sequence of video frames in a video encoder;
Means for encoding three-dimensional (3D) transform information using the video encoder, wherein the 3D transform information includes each of the video frames in the 2D sequence to generate 3D video data. Contains a set of parameters applicable to
Means for communicating the encoded 2D sequence together with the encoded parameters.
[C51] means for receiving a two-dimensional (2D) sequence of video frames at a video decoder;
Means for receiving three-dimensional (3D) transform information along with the 2D sequence at the video decoder, wherein the 3D transform information is each of the video frames in the 2D sequence to generate 3D video data. Contains a set of parameters applicable to
Means for decoding the 2D sequence;
[C52] In a computer-readable storage medium containing instructions,
When the instructions are executed by a processor,
Encoding a two-dimensional (2D) sequence of video frames;
3D (3D) conversion information is encoded,
The 3D conversion information includes a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data.
[C53] In a computer-readable storage medium containing instructions,
Receiving a two-dimensional (2D) sequence of video frames and including a set of parameters that can be applied to each of the video frames in the 2D sequence to generate 3D video data together with the 2D sequence (three-dimensional ( 3D) In response to receiving the conversion information,
A computer-readable storage medium for generating the 3D video data based on the 2D sequence and the 3D conversion information.
[C54] applying 3D conversion information to the 2D sequence to generate 3D video data;
Wherein the 3D conversion information includes a set of parameters that can be applied to each video frame in the 2D sequence to generate the 3D video data.
Encoding a two-dimensional (2D) sequence of video frames in a video encoder;
Encoding the 2D sequence is ITU H.264. Encoding the 2D sequence according to the H.264 video encoding standard,
Encoding the 3D conversion information is performed by the ITU H.264 standard. The method of claim 1, comprising encoding the 3D transform information in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
The 2D sequence is a first 2D sequence;
The method of claim 1, wherein the first and second 2D sequences together define a 3D stereoscopic video sequence.
The method of claim 1, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
The method of claim 1, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
The 3D conversion information is
A translation value that quantifies a hypothetical distance between two cameras associated with the 3D video data.
The method of claim 1 including a convergence depth value that quantifies a hypothetical distance from a convergent image plane to the two cameras.
The method of claim 1, wherein the 3D conversion information includes a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters to use.
The method of claim 1, wherein the 3D transform information includes a flag that indicates whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
The method of claim 1, wherein the 3D conversion information includes a flag identifying a crop region to be removed from the 3D video data.
The third flag for identifying whether or not the crop area should be removed from the 3D video data, the information defining the crop area is the 3D conversion information when the third flag is set. The method of claim 1, comprising: a third flag included.
Generating the 3D video data using the video decoder based on the 2D sequence and the 3D conversion information.
The 2D sequence is ITU H.264. Encoded according to the H.264 video encoding standard,
The 3D conversion information includes the ITU H.264. The method of claim 12, wherein the method is received in one or more supplemental enhancement information (SEI) messages supported by the H.264 video encoding standard.
The method of claim 12, wherein generating the 3D video data includes generating the second 2D sequence to define the 3D stereoscopic video sequence.
13. The method of claim 12, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
The method of claim 12, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
A translation value that quantifies a hypothesized distance between two cameras associated with the 3D video data.
A convergence depth value that quantifies a hypothetical distance from a convergent image plane to the two cameras.
13. The method of claim 12, wherein the 3D conversion information includes a flag indicating whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters should be used.
13. The method of claim 12, wherein the 3D transform information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
13. The method of claim 12, wherein the 3D conversion information includes a flag that identifies a crop region to be removed from the 3D video data.
The third flag for identifying whether or not the crop area should be removed from the 3D video data, the information defining the crop area is the 3D conversion information when the third flag is set. The method of claim 12, comprising: a third flag included.
13. The method of claim 12, further comprising rendering the 2D sequence when the receiving device is unable to generate or render the 3D video data.
A video encoder that encodes a two-dimensional (2D) sequence of video frames and encodes three-dimensional (3D) transform information along with the 2D sequence;
25. The apparatus of claim 24, further comprising a transmitter that communicates the encoded 2D sequence along with the 3D conversion information to another device.
The video encoder is an ITU H.264 standard. The 2D sequence is encoded according to the H.264 video encoding standard, and the ITU H.264 25. The apparatus of claim 24, wherein the 3D transform information is encoded in one or more auxiliary extension information (SEI) messages supported by the H.264 video encoding standard.
25. The apparatus of claim 24, wherein the first and second 2D sequences together define a 3D stereoscopic video sequence.
25. The apparatus of claim 24, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
25. The apparatus of claim 24, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
25. The apparatus of claim 24, comprising: a translation value that quantifies an assumed distance between two cameras associated with the 3D video data.
25. The apparatus of claim 24, comprising: a convergence depth value that quantifies a hypothetical distance from a convergent image plane to the two cameras.
25. The apparatus of claim 24, wherein the 3D conversion information includes a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters.
25. The apparatus of claim 24, wherein the 3D conversion information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
25. The apparatus of claim 24, wherein the 3D conversion information includes a flag that identifies a crop region to be removed from the 3D video data.
The third flag for identifying whether or not the crop area should be removed from the 3D video data, the information defining the crop area is the 3D conversion information when the third flag is set. The apparatus of claim 24, comprising: a third flag included.
25. The apparatus of claim 24, comprising at least one of: a wireless communication device that includes the video encoder.
In an apparatus including a video decoder,
The 3D conversion information includes the ITU H.264. 38. The apparatus of claim 37, wherein the apparatus is received in one or more supplemental enhancement information (SEI) messages supported by the H.264 video encoding standard.
38. The apparatus of claim 37, wherein in generating the 3D video data, the video decoder generates the second 2D sequence to define the 3D stereoscopic video sequence.
38. The apparatus of claim 37, wherein the 3D conversion information includes information identifying a 3D conversion process applied to the 2D sequence to generate the 3D video data.
38. The apparatus of claim 37, wherein the 3D conversion information includes camera parameters and values associated with capturing the 2D sequence.
38. The apparatus of claim 37, comprising: a translation value that quantifies an assumed distance between two cameras associated with the 3D video data.
38. The apparatus of claim 37, comprising: a convergence depth value that quantifies a hypothetical distance from a convergent image plane to the two cameras.
38. The apparatus of claim 37, wherein the 3D conversion information includes a flag that indicates whether the 3D conversion information includes an explicit set of 3D parameters or a default set of 3D parameters.
38. The apparatus of claim 37, wherein the 3D transform information includes a flag indicating whether a second view of the 2D sequence should be generated on the left side or the right side of the 2D sequence.
38. The apparatus of claim 37, wherein the 3D conversion information includes a flag that identifies a crop region to be removed from the 3D video data.
The third flag for identifying whether or not the crop area should be removed from the 3D video data, the information defining the crop area is the 3D conversion information when the third flag is set. 38. The apparatus of claim 37, comprising: a third flag included.
In a device including a display,
38. The apparatus of claim 37, comprising at least one of: a wireless communication device that includes the video decoder.
Means for encoding a two-dimensional (2D) sequence of video frames in a video encoder;
In a computer readable storage medium containing instructions,
Applying 3D conversion information to a 2D sequence to generate 3D video data;
JP2014205047A 2009-06-05 2014-10-03 Encoding of three-dimensional conversion information with two-dimensional video sequence Ceased JP2015046899A (en)
JP2012514217 Division 2010-06-05
JP2015046899A true JP2015046899A (en) 2015-03-12
JP2015046899A5 JP2015046899A5 (en) 2015-11-19
JP2012514217A Ceased JP2012529787A (en) 2009-06-05 2010-06-05 Encoding of 3D conversion information performed with 2D video sequence (ENCODINGOFTHREE-DIMENSIONALCONVERSIONIONFORMATIONWITHWO-DIMENSIONALVIDEODEEQUENCE)
JP2014205047A Ceased JP2015046899A (en) 2009-06-05 2014-10-03 Encoding of three-dimensional conversion information with two-dimensional video sequence
EP2520092A1 (en) * 2009-12-31 2012-11-07 Thomson Licensing Methods and apparatus for adaptive coupled pre-processing and post-processing filters for video encoding and decoding
US20120314776A1 (en) * 2010-02-24 2012-12-13 Nippon Telegraph And Telephone Corporation Multiview video encoding method, multiview video decoding method, multiview video encoding apparatus, multiview video decoding apparatus, and program
WO2011136621A2 (en) * 2010-04-30 2011-11-03 Lg Electronics Inc. An apparatus of processing an image and a method of processing thereof
CN102158733B (en) * 2011-01-28 2015-08-19 华为技术有限公司 Method for loading auxiliary video supplementary information, processing method, equipment and system
EP2684294A4 (en) * 2011-03-10 2014-08-20 Vidyo Inc Render-orientation information in video bitstream
CN107197226B (en) * 2011-03-18 2019-05-28 索尼公司 Image processing equipment, image processing method and computer readable storage medium
JP2014528190A (en) 2011-08-12 2014-10-23 テレフオンアクチーボラゲット エル エム エリクソン（パブル） Camera and / or depth parameter signaling
MX338738B (en) 2011-08-31 2016-04-29 Sony Corp Encoding device, encoding method, decoding device, and decoding method.
JP6030230B2 (en) * 2012-07-04 2016-11-24 インテル コーポレイション Panorama-based 3d video coding
RU2640357C2 (en) * 2013-02-06 2017-12-28 Конинклейке Филипс Н.В. Method of encoding video data signal for use with multi-view stereoscopic display device
JPH08149510A (en) * 1994-11-18 1996-06-07 Sanyo Electric Co Ltd Two-dimensional three-dimensional video image conversion method
JPH1032840A (en) * 1996-04-05 1998-02-03 Matsushita Electric Ind Co Ltd Multi-viewpoint image transmission and display method
JP2001061164A (en) * 1999-08-19 2001-03-06 Toshiba Corp Transmission method of stereoscopic video signal
JP2009044722A (en) * 2007-07-19 2009-02-26 Victor Co Of Japan Ltd Pseudo-3d-image generating device, image-encoding device, image-encoding method, image transmission method, image-decoding device and image image-decoding method
KR100445209B1 (en) 1995-12-19 2004-12-13 코닌클리케 필립스 일렉트로닉스 엔.브이. An image processing system and image conversion processor for converting the time difference with an input image to generate at least one output image
HUE026930T2 (en) 2002-03-15 2016-08-29 Nokia Technologies Oy Method for coding motion in a video sequence
US7272264B2 (en) 2003-09-11 2007-09-18 International Business Machines Corporation System and method for hole filling in 3D models
EP1592259B1 (en) 2004-04-30 2011-10-05 Panasonic Corporation Processing auxiliary data of video sequences
AT542194T (en) 2005-12-02 2012-02-15 Koninkl Philips Electronics Nv Method and device for stereo image, method for generating 3d image data from a 2d image data entry and device for generating 3d image data from a 2d image data entry
EP3399756A1 (en) 2007-04-12 2018-11-07 Dolby International AB Tiling in video encoding and decoding
US8463019B2 (en) 2007-07-19 2013-06-11 JVC Kenwood Corporation Pseudo 3D image generation device, image encoding device, image encoding method, image transmission method, image decoding device, and image decoding method
WO2010024919A1 (en) 2008-08-29 2010-03-04 Thomson Licensing View synthesis with boundary-splatting
RU2520403C2 (en) * 2008-09-17 2014-06-27 Панасоник Корпорэйшн Recording medium, playback device and integrated circuit
KR20120024947A (en) 2012-03-14
KR20110003549A (en) 2011-01-12 Coding of depth signal
JP2014522187A (en) 2014-08-28 Coding parameter sets for various dimensions in video coding
JP6009581B2 (en) 2016-10-19 Reference picture list construction for multiview and 3D video coding
CN101627634A (en) 2010-01-13 System and method for using parallelly decodable slices for multi-view video coding
KR101617968B1 (en) 2016-05-03 Derivation of the position in scan order of the last significant transform coefficient in video coding
ES2548778T3 (en) 2015-10-20 Portion header prediction for depth maps in three-dimensional video codecs
JP6242802B2 (en) 2017-12-06 Activating parameter sets for multi-view video coding (MVC) compliant 3D video coding (3DVC)
JP2015507417A (en) 2015-03-05 View synthesis prediction support signaling in 3D video coding
2017-01-31 A045 Written measure of dismissal of application