Method and system for digital decoding 3D stereoscopic video images
Abstract
MPEG-2 compatible stereoscopic 3D-video image digital decoding method and system, using its own coding algorithm. In order to obtain 3D-images from a digital video stream, modifications have been made to the current MPEG2 decoders, by means of software and hardware changes in different parts of the decoding process. Namely, the video_sequence structures of the video data stream are modified via software to include the necessary flags at the bit level of the image type in the TDVision® technology; the modifications are made in the decoding processes as well as in decoding the information via software and hardware, where a double output buffer is activated, a parallel and differences decoding selector is activated, the decompression process is executed, the corresponding output buffer is displayed; the decoder must be programmed via software to simultaneously receive and decode two independent program streams, each with an TDVision® stereoscopic identifier.

Term
Term ended
Projected expiry passed 27 February 2024, 2.6 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
15 claims: 7 independent, 8 dependent
- 1A decoder for decoding MPEG and stereoscopic video images from a digital image video stream, comprising:a digital signal processor configured to: identify a video sequence in the digital image video stream, wherein the video sequence has a header;read a three dimensional identifier in the header to determine if the image is a stereoscopic video image, wherein if the image is stereoscopic decode data from a data structure in the video sequence, wherein the data is a delta difference that is stored as a stereoscopic pair frame and calculated from a difference between the right and left eye views and wherein if the image is not a stereoscopic video image, decode the image as an MPEG image.
- 8A method for decoding MPEG and stereoscopic video images from a digital image video stream, comprising:identifying a video sequence in the digital image video stream, wherein the video sequence has a header;reading a three dimensional identifier in the header to determine if the image is a stereoscopic video image, wherein if the image is stereoscopic decoding data from a data structure in the video sequence, wherein the data is a delta difference that is stored as a stereoscopic pair frame and calculated from a difference between the right and left eye views and wherein if the image is not a stereoscopic video image, decoding the image as an MPEG image.
Independent claims7
116 paragraphs, as filed
<u>FIELD OF THE INVENTION</u>
0001The present invention is related to stereoscopic video image display in the 3DVisor® device and, particularly, to a video image decoding method by means of a digital data compression system, which allows the storage of three-dimensional information by using standardized compression techniques.
<u>BACKGROUND OF THE INVENTION</u>
0002Presently, data compression techniques are used in order to decrease the bits consumption in the representation of an image or a series of images. The standardization works were carried out by a group of experts of the International Standardization Organization. Presently, the methods are usually known as JPEG (Joint Photographic Expert Group), and MPEG (Moving Pictures Expert Group).
0003A common characteristic of these techniques is that the image blocks are processed by means of the application of a transform adequate for the block, usually known as Discrete Cosine Transform (DCT). The formed blocks are submitted to a quantization process, and then coded with a variable-length code.
0004The variable-length code is a reversible process, which allows the exact reconstruction of that which has been coded with the variable-length code.
0005The display of digital video signals includes a certain number of image frames (30 to 96 fps) displayed or represented successively at a 30 to 75 Hz frequency. Each image frame is still an image formed by a pixels array, according to the display resolution of a particular system. By example, the VHS system has a display resolution of 320 columns and 480 rows, the NTSC system has a display resolution of 720 columns and 486 rows, and the high definition television system (HDTV) has a display resolution of 1360 columns and 1020 rows. In reference to a digitized form of low resolution, 320 columns by 480 rows VHS format, a two-hour long movie could be equivalent to 100 gigabytes of digital video information. In comparison, a conventional compact optical disk has an approximate capacity of 0.6 gigabytes, a magnetic hard disk has a 1-2 gigabyte capacity, and the present compact optical disks have a capacity of 8 or more gigabytes.
0006All images we watch at the cinema and TV screens are based on the principle of presenting complete images (static images, like photographs) at a great speed. When they are presented in a fast and sequential manner at a 30 frames per second speed (30 fps) we perceive them as an animated image due to the retention of the human eye.
0007In order to codify the images to be presented in a sequential manner and form video signals, each image needs to be divided in rows, where each line is in turn divided in picture elements or pixels, each pixel has two associated values, namely, luma and chroma. Luma represents the light intensity at each point, while luma represents the color as a function of a defined color space (RGB), which can be represented by three bytes.
0008The images are displayed on a screen in a horizontal-vertical raster, top to bottom and left to right and so on, cyclically. The number of lines and frequency of the display can change as a function of the format, such as NTSC, PAL, or SECAM.
0009The video signals can be digitized for storage in digital format, after being transmitted, received, and decoded to be displayed in a display device, such as a regular television set or the 3DVisor®, this process is known as analog-to-digital video signal coding-decoding.
0010By definition, MPEG has two different methods for interlacing video and audio in the system streams.
0011The transport stream is used in systems with a greater error possibility, such as satellite systems, which are susceptible to interference. Each package is 188 bytes long, starting with an identification header, which makes recognizing gaps and repairing errors possible. Various audio and video programs can be transmitted over the transport stream simultaneously on a single transport stream; due to the header, they can be independently and individually decoded and integrated into many programs.
0012The program stream is used in systems with a lesser error possibility, as in DVD playing. In this case, the packages have a variable-length and a size substantially greater than the packages used in the transport stream. As a main characteristic, the program stream allows only a single program content.
0013Even when the transport and program streams handle different packages, the video and audio formats are decoded in an identical form.
0014In turn, there are three compression types, which are applied to the packages above, e.g. time prediction, compression, and space compression.
0015Decoding is associated to a lengthy mathematical process, which purpose is to decrease the information volume. The complete image of a full frame is divided by a unit called macroblock, each macroblock is made up of a 16 pixels x 16 pixels matrix, and is ordered and named top to bottom and left to right. Even with a matrix array on screen, the information sent over the information stream follows a special sequential sequence, i.e. the macroblocks are ordered in ascending order, this is, macroblock0, macroblock1, etc.
0016A set of consecutive macroblocks represents a slice; there can be any number of macroblocks in a slice given that the macroblocks pertain to a single row. As with the macroblocks, the slices are numbered from left to right and bottom to top. The slices must cover the whole image, as this is a form in which MPEG2 compresses the video, a coded image not necessarily needs samples for each pixel. Some MPEG profiles require handling a rigid slice structure, by which the whole image should be covered.
0017<patcit id="pcit0001" dnum="US5963257A"><text>USP No. 5,963,257 granted on October 5th, 1999 to Katata et al.</text></patcit>, protects a flat video image decoding device with means to separate the coded data by position areas and image form, bottom layer code, predictive coding top layer code, thus obtaining a hierarchical structure of the coded data; the decoder has means to separate the data coded in the hierarchical structure in order to obtain a high quality image.
0018<patcit id="pcit0002" dnum="US6292588B"><text>USP No. 6,292,588 granted on September 18th, 2001 to Shen et al.</text></patcit>, protects a device and method for coding predictive flat images reconstructed and decoded from a small region, in such way that the data of the reconstructed flat image is generated from the sum of the small region image data and the optimal prediction data for said image. Said predictive decoding device for an image data stream includes a variable-length code for unidimensional DCT coefficients. <patcit id="pcit0003" dnum="US6370276B"><text>USP No. 6,370,276 granted on April 9th, 2002 to Boon</text></patcit>, uses a decoding method similar to the above.
0019<patcit id="pcit0004" dnum="US6456432B"><text>USP No. 6,456,432 granted on September 24th, 2002 to Lazzaro et al.</text></patcit>, protects a stereoscopic 3D-image display system, which takes images from two perspectives, displays them on a CRT, and multiplexes the images in a field-sequential manner with no flickering for both eyes of the observer.
0020<patcit id="pcit0005" dnum="US6658056B"><text>USP No. 6,658,056 granted on December 2, 2003 to Duruoz et al.</text></patcit>, protects a digital video decoder comprising a logical display section responding to a "proximal field" command to get a digital video field of designated locations in an output memory. The digital video display system is equipped with a MPEG2 video decoder. Images are decoded as a memory buffer, the memory buffer is optimized maintaining compensation variable tables and accessing fixed memory pointer tables displayed as data fields.
0021<patcit id="pcit0006" dnum="US6665445B"><text>USP No. 6,665,445 granted on December 16th, 2003 to Boon</text></patcit>, protects a data structure for image transmission, a flat images coding method and a flat images decoding method. The decoding method is comprised of two parts, the first part to codify the image-form information data stream, the second part is a decoding process for the pixel values of the image data stream, both parts can be switched according to the flat image signal coding.
0022<patcit id="pcit0007" dnum="US6678331B"><text>USP No. 6,678,331 granted on January 13th, 2004 to Moutin et al.</text></patcit>, protects a MPEG decoder, which uses a shared memory. Actually, the circuit includes a microprocessor, a MPEG decoder, which decodes a flat image sequence, and a common memory for the microprocessor, and the decoder. It also includes a circuit for evaluating the decoder delay, and a control circuit for determining the memory priority for the microprocessor or the decoder.
0023<patcit id="pcit0008" dnum="US6678424B"><text>USP No. 6,678,424 granted on January 13th, 2004 to Ferguson</text></patcit>, protects a behavior model for a real-time human vision system; actually, it processes two image signals in two dimensions, one derived from the other, in different channels.
<u>BRIEF DESCRIPTION OF THE INVENTION</u>
0024It is an object of the present invention to provide a stereoscopic 3D-video image digital decoding system and method, comprised of changes in software and changes in hardware.
0025It is an additional object of the present invention to provide a decoding method where the normal video_sequence process is applied to the coded image data, i.e.variable_length_decoding (VLD), inverse_scan; inverse_quantization, inverse_discrete_cosine_transform (IDCT), and motion_compensation.
0026It is also an object of the present invention to make changes in the software information for decoding the identification of the video format, 2D-images MPEG2 backward compatibility, discriminating a TDVision® type image, storing the last image buffer, applying information decoding, applying error correction and storing the results in the respective channel buffer.
0027It is still another object of the present invention to provide a decoding method with the video_sequence process normal form, in such a way that when a TDVision® type image is found, the buffer of the last complete image is stored in the left or right channel buffers.
0028It is also another object of the present invention to provide a decoding process in which two interdependent (difference) video signals can be sent within the same video_sequence, in which information decoding is applied and is stored as a B type frame.
0029It is still another object of the present invention to provide a decoding process in which error correction is applied to the last obtained image when the movement and color correction vectors are applied.
0030It is also an object of the present invention to program the decoder by software, to simultaneously receive and codify two independent program streams.
0031It is still another object of the present invention to provide a decoding system, which decodes the 3D-image information via hardware, in which a double output buffer is activated.
0032It is another object of the present invention to provide a decoding system of 3D-image information, which activates an image-decoding selector in parallel and by differences.
0033It is also another object of the present invention to provide a 3D-image information decoding system, which executes the decompression process and displays the corresponding output buffer.
<u>DETAILED DESCRIPTION OF THE INVENTION.</u>
0034The combination of hardware and software algorithms makes possible the stereoscopic 3D-image information compression, which are received as two independent video signals but with the same time_code, corresponding to the left and right signals coming from a 3Dvision® camera, by sending two simultaneous programs with stereoscopic pair identifiers, thus promoting the coding-decoding process. Also, two interdependent video signals can be handled by obtaining their difference, which is stored as a "B" type frame with the image type identifier. As the coding process was left open in order to promote the technological development, it is only necessary to follow this decoding process, namely: apply variable-length decoding to the coded data where a substantial reduction is obtained, but a look-up table must be used to carry out decoding; apply an inverse scan process; apply an inverse quantization process in which each data is multiplied by a scalar; apply the inverse cosine transform function; apply error correction or motion compensation stage and eventually obtain the decoded image.
0035The novel characteristics of this invention in connection with its structure and operation method will be better understood from the description of the accompanying figures, together with the attached specification, where similar numerals refer to similar parts and steps. <ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001">Figure 1</figref> represents the technology map to which the subject object of the present invention pertains. It shows a stereoscopic 3D-image coding and decoding system and corresponding method. The images come from a stereoscopic camera (32), the information compiled in (31) and are displayed in any adequate system (30) or (33). The information is coded in (34) and then it can be transmitted to a system having an adequate previous decoding stage such as (35), which may be a cable system (36), a satellite system (37), a high definition television system (38) or a stereoscopic vision system such as TDVision®'s 3DVisors® (39).</li><li><figref idref="f0002">Figure 2</figref> shows a flowchart in which the steps of the process are outlined. The objective is to obtain three-dimensional images from a digital video stream by making modifications to the current MPEG2 decoders, and changes to software (3) and hardware (4) in the decoding process (2): the decoder (1) must be compatible with MPEG2-4.</li><li><figref idref="f0003">Figure 3</figref> outlines the structures that must be modified and the video_sequence of the data stream in order to identify the TDVision® technology image type at the bit level.</li></ul>
0036Each of the stages of the decoding process is detailed below (20):
0037The coded data (10) are bytes with block information, macroblocks, fields, frames, and MPEG2 format video images.
0038Variable_length_decoding (11) (VLC, Variable-length Decoder) is a compression algorithm in which the most frequent patterns are replaced by shorter codes and those occurring less frequently are replaced by longer codes. The compressed version of this information occupies less space and can be transmitted faster by networks. However, it is not an easily editable format and requires decompression using a look-up table.
0039For example, the word BEETLE <tables id="tabl0001" num="0001"><table frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="14mm" /><colspec colnum="2" colname="col2" colwidth="22mm" /><colspec colnum="3" colname="col3" colwidth="23mm" /><thead><row><entry align="center" valign="top">Letter</entry><entry align="center" valign="top">ASCII Code</entry><entry align="center" valign="top">VLC</entry></row></thead><tbody><row><entry align="center">B</entry><entry align="center">01000010</entry><entry align="center">0000 0010 10</entry></row><row><entry align="center">E</entry><entry align="center">01100101</entry><entry align="center">11</entry></row><row><entry align="center">L</entry><entry align="center">0110 1100</entry><entry align="center">0001 01</entry></row><row><entry align="center">T</entry><entry align="center">0111 0100</entry><entry align="center">0100</entry></row></tbody></tgroup></table></tables>
0040Therefore, the ASCII code for the word is: 01000010 0110 0101 01100101 0111 01000 0110 11000110 0101 in VLC: 0000 0010 10 11 11 0100 00010 01 11.
0041A substantial decrease is noted, however, in order to go back from VLC to the word 'Beetle' a search in the look-up table is needed to decode the bit stream, this is made by exact comparison of the read bits.
0042Inverse scan (12): The information must be grouped by blocks, and by coding the information with the VLC a linear stream is obtained. The blocks are 8x8 data matrixes, so it is necessary to convert the linear information in a square 8x8 matrix. This is made in a descending zigzag manner, top to bottom and left to right in both sequence types, depending on whether it is a progressive image or an interlaced image.
0043Inverse Quantization (13): It consists simply in multiplying each data value by a factor. When codified, most of the data in the blocks are quantized to remove information that the human eye is not able to perceive, the quantization allows to obtain a greater MPEG2 stream conversion, and it is also required to perform the inverse process (Inverse quantization) in the decoding process.
0044Inverse cosine transform (14) (IDCT, inverse_discrete_cosine_transform): The data handled within each block pertain to the frequency domain, this inverse cosine transform allows to return to the samples of the space domain. Once the data in the IDCT have been transformed, pixels, colors and color corrections can be obtained.
0045Motion compensation (15) allows to correct some errors generated before the decoding stage of MPEG format, motion compensation takes as a reference a previous frame and calculates a motion vector relative to the pixels (it can calculate up to four vectors), and uses them to create a new image. This motion compensation is applied to the P and B type images, where the image position is located over a "t" time from the reference images. Additionally to the motion compensation, the error correction is also applied, as it is not enough to predict the position of a particular pixel, but a change in its color can also exist. Thus, the decoded image is obtained (16).
0046To decode a P or B type image, the reference image is taken, the motion vectors are algebraically added to calculate the next image, and finally the error correction data is applied, thus generating the decoded image successfully. Actually, in the video_sequence, two interdependent video signals exist, "R-L= delta, the delta difference is that stored as a B type stereoscopic pair frame with TDVision® identifier and which is constructed at the moment of decoding by differences from the image. This is, R-delta= L and L-delta= R, the left image is constructed from the difference with the right image, which in turn is constructed from the difference with the left image.
0047The previous process is outlined in such a way that the left or right signal is taken, both are stored in a temporary buffer, then the difference between the left and right signals is calculated, and then it is coded as a B type image stored in the video_sequence to be later decoded by differences from said image.
0048In the decoding process it can be deducted that the data inputted by the VLC stage are much smaller than the data outputted by the same stage.
0049MPEG video sequence structure: This is the maximum structure used in the MPEG2 format and has the following format: <ul id="ul0002" list-style="none" compact="compact"><li>Video sequence (Video_Sequence)</li><li>Sequence header (Sequence_Header)</li><li>Sequence extension (Sequence_Extension)</li><li>User Data (0) and Extension (Extension_and_User_Data (0))</li><li>Image group header (Group_of_Picture_Header)</li><li>User Data (1) and Extension (Extension_and_User_Data (1))</li><li>Image header (Picture_Header)</li><li>Coded image extension (Picture_Coding_Extension)</li><li>User Data (2) and Extensions (Extension_and_User_Data (2))</li><li>Image Data (Picture_Data)</li><li>Slice(Slice)</li><li>Macroblock (Macroblock)</li><li>Motion vectors (Motion_Vectors)</li><li>Coded Block Pattern (Coded_Block_Pattern)</li><li>Block (Block)</li><li>Final Sequence Code (Sequence_end_Code)</li></ul>
0050These structures make up the video sequence. A video sequence is applied for MPEG format, in order to differentiate each version there must be a validation that immediately after the sequence header, the sequence extension is present; should the sequence extension not follow the header, then the stream is in MPEG1 format.
0051At the beginning of a video sequence, the sequence_header and sequence_extension appear in the video_sequence. The sequence_extension repetitions must be identical on the first try and the "s" repetitions of the sequence_header vary little compared to the first occurrence, only the portion defining the quantization matrixes should change. Having sequences repetition allows a random access to the video stream, i.e., if the decoder wants to start playing at the middle of the video stream this may be done, as it only needs to find the sequence_header and sequence_extension prior to that moment in order to decode the following images. This also happens for video streams that could not start from the beginning, such as a satellite decoder turned on after the transmission time.
0052The full video signal coding-decoding process is comprised of the following steps: <ul id="ul0003" list-style="none" compact="compact"><li>Digitizing the video signals, which can be done in NTSC, PAL or SECAM format.</li><li>Storing the video signal in digital form</li><li>Transmitting the signals</li><li>Recording the digital video stream in a physical media</li><li>(DVD, VCD, MiniDV)</li><li>Receiving the signals</li><li>Playing the video stream</li><li>Decoding the signal</li><li>Displaying the signal</li></ul>
0053It is essential to double the memory to be handled by the adequate DSP and have the possibility of disposing of up to 8 output buffers, which allow the previous and simultaneous representation of a stereoscopic image on a device such as TDVision®'s 3DVisor®
0054Actually, two channels must be initialized when calling the programming API of the DSP as, by example, the illustrative case of the Texas Instruments TMS320C62X DSP.
0055MPEG2VDEC_create (const IMPEG2VDEC_fxns*fxns, const MEPG2VDEC_Params* params).
0056Where IMPEG2VDEC_fxns y MEPG2VDEC_Params are pointer structures defining the operation parameters for each video channel, e.g.: <ul id="ul0004" list-style="none" compact="compact"><li>3DLhandle=MPEG2VDEC_create (fxns3DLEFT,Params3DLEFT).</li><li>3DRhandle=MPEG2VDEC_create(fxns3DRIGHT,Params3DRIGHT.</li></ul>
0057Thereby enabling two video channels to be decoded and obtaining two video handlers, one for the left-right stereoscopic channel.
0058A double display output buffer is needed and by means of software, it will be defined which of the two buffers must display the output by calling the AP function:
0059Namely, MPEG2VDEC_APPLY(3DRhandle, inputR1, inputR2, inputR3, 3doutright_pb, 3doutright_fb).
0060MPEG2VDEC_APPLY(3DLhandle, inputL1, inputL2, inputL3, 3doutleft_pb, 3doutleft_fb).
0061This same procedure can be implemented for any DSP, microprocessor or electronic device with similar functions.
0062Where 3DLhandle is the pointer to the handle returned by the DSP's create function, the input1 parameter is the FUNC_DECODE_FRAME or FUNC_START_PARA address, input2 is the pointer to the external input buffer address, and input3 is the size of the external input buffer size.
00633doutleft_pb is the address of the parameter buffer and 3doutleft_fb is the beginning of the output buffer where the decoded image will be stored.
0064The timecode and timestamp will be used for output to the final device in a sequential, synchronized manner.
0065It is essential to double the memory to be handled by the DSP and have the possibility of disposing of up to 8 output buffers which allow the previous and simultaneous display of a stereoscopic image on a device such as TDVision® Corporation's 3DVisor®.
0066The integration of software and hardware processes is carried out by devices known as DSP, which execute most of the hardware process. These DSP are programmed by a C and Assembly language hybrid provided by the manufacturer. Each DSP has its own API, consisting of a functions list or procedure calls located in the DSP and called by software.
0067With this reference information, the present application for MPEG2 format-compatible 3D-images decoding is made.
0068Actually, at the beginning of a video sequence the sequence header (sequence_header) and the sequence extension always appear. The repetitions of the sequence extension must be identical to the first. On the contrary, the sequence header repetitions vary a little as compared to the first occurrence, only the portion defining the quantization matrixes should change.
0069<figref idref="f0004">Figure 4</figref> shows the compilation software format for the TDVision® decoding method (40), where the video_sequence (41) of the digital stereoscopic image video stream is identified, which may be dependent or independent (parallel images), in the sequence_header (42). If the image is TDVision® then the double buffer is activated and the changes in the aspect_ratio_information are identified. The information corresponding to the image that can be found here is read in the user_data (43). The sequence_scalable_extension (44) identifies the information contained in it and the base and enhancement layers, the video_sequence can be located here, defines the scalable_mode and the layer identifier. extra_bit_picture (45) identifies the picture_estructure, picture_header and the picture_coding_extension (46) reads the "B" type images and if it is a TDVision® type image, then it decodes the second buffer. picture_temporal_scalable_extension () (47), in case of having temporal scalability, is used to decode B type images.
0070Namely, the sequence header (sequence_header) provides a higher information level on the video stream, for clarity purposes the number of bits corresponding to each is also indicated, the most significative bits are located within the sequence extension (Sequence_Extension) structure , it is formed by the following structures:
Sequense_Header
0071<tables id="tabl0002" num="0002"><table frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="40mm" /><colspec colnum="2" colname="col2" colwidth="14mm" /><colspec colnum="3" colname="col3" colwidth="56mm" /><thead><row><entry valign="top">Field</entry><entry valign="top">bits</entry><entry valign="top">Description</entry></row></thead><tbody><row><entry>Secuence_Header_Code</entry><entry>32</entry><entry>Sequence_Header Start 0x00001 B3</entry></row><row><entry>Horizontal_Size_Value</entry><entry>12</entry><entry>less significative bits for width *</entry></row><row><entry>Vertical Size Value</entry><entry>12</entry><entry>12 less significative bits for length</entry></row></tbody></tgroup></table></tables><tables id="tabl0003" num="0003"><table frame="bottom"><tgroup cols="4" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="52mm" /><colspec colnum="2" colname="col2" colwidth="12mm" /><colspec colnum="3" colname="col3" colwidth="51mm" /><colspec colnum="4" colname="col4" colwidth="52mm" /><tbody><row><entry><b><u>Aspect Ratio Information</u></b></entry><entry>4</entry><entry>image aspect</entry><entry /></row><row><entry /><entry /><entry>0000 forbidden</entry><entry /></row><row><entry /><entry /><entry>0001 n/a</entry><entry>TDVision®</entry></row><row><entry /><entry /><entry>0010 4:3</entry><entry>TDVision®</entry></row><row><entry /><entry /><entry>0011 16:9</entry><entry>TDVision®</entry></row><row><entry /><entry /><entry>0100 2.21:1</entry><entry>TDVision®</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0111 will execute a logical "and" in order to obtain backward compatibility with 2D systems.</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0101...1111 reserved</entry></row><row><entry><b><u>Frame rate code</u></b></entry><entry>4</entry><entry namest="col3" nameend="col4" align="left">0000 forbidden</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0001 24,000/1001 (23.976) in TDVision® format</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0010 24 in TDVision® format</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0011 25 in TDVision® format</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0100 30,000/1001 (29.97)"</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0101 30 in TDVision® format</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0110 50 in TDVision® format</entry></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">0111 60,000/1001 (59.94) " (will execute a logical "and" in order to obtain backward compatibility with 2D systems.)</entry></row><row><entry /><entry /><entry>1000 60</entry><entry /></row><row><entry /><entry /><entry namest="col3" nameend="col4" align="left">1111 reserved</entry></row><row><entry><b>Bit_rate_value</b></entry><entry>18</entry><entry namest="col3" nameend="col4" align="left">The 18 less significative bits of the video_stream bit rate (bit_rate= 400 x bit_rate_value + bit_rate_extension<< 18) the most significative bits are located within the sequence_extension structure.</entry></row><row><entry><b>Marker_bit</b></entry><entry>1</entry><entry namest="col3" nameend="col4" align="left">Always 1 (prevents start_code failure).</entry></row><row><entry><b>Vbv_buffer_size_value</b></entry><entry>10</entry><entry namest="col3" nameend="col4" align="left">The 10 less significative bits of vbv_buffer_size, which determines the size of the video buffering</entry></row><row><entry /><entry /><entry>verifier (VBV), a structure used to ensure that a data stream can be used decoding a limited size buffer without exceeding or leaving too much free space in the buffer.</entry><entry /></row><row><entry>Constrained_parameters_flag</entry><entry>1</entry><entry>Always 0, not used in MPEG2.</entry><entry /></row><row><entry>Load_intra_quantizer_matrix</entry><entry>1</entry><entry>Indicates if an intra-coded quantization matrix is available.</entry><entry /></row><row><entry>If (load_intra_quantizer_matrix)</entry><entry /><entry /><entry /></row><row><entry>Intra_quantizer_matrix(64)</entry><entry>8x64</entry><entry>If a quantization matrix is indicated, then it must be specified here, it is a 8x64 matrix.</entry><entry /></row><row><entry>Load_non_intra_quantizer_matrix If</entry><entry>1</entry><entry>If load_non_intra_quantizer_matrix</entry><entry /></row><row><entry>load_non_intra_quantizer_matrix</entry><entry /><entry /><entry /></row><row rowsep="1"><entry>Non_intra_quantizer_matrix (64) the</entry><entry>8x64</entry><entry>If the previous flag is activated, 8x64 data forming the quantized matrix are stored here.</entry><entry /></row></tbody></tgroup><tgroup cols="4" rowsep="0"><colspec colnum="1" colname="col1" colwidth="52mm" /><colspec colnum="2" colname="col2" colwidth="12mm" /><colspec colnum="3" colname="col3" colwidth="51mm" /><colspec colnum="4" colname="col4" colwidth="52mm" /><tbody><row><entry namest="col1" nameend="col4" align="justify">* The most significative bits are located within the sequence_extension structure.</entry></row></tbody></tgroup></table></tables>
Picture_coding_extension
0072<tables id="tabl0004" num="0004"><table frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="50mm" /><colspec colnum="2" colname="col2" colwidth="13mm" /><colspec colnum="3" colname="col3" colwidth="103mm" /><thead><row><entry valign="top">Field</entry><entry valign="top">bits #</entry><entry valign="top">Description</entry></row></thead><tbody><row><entry>Extension_start_code</entry><entry>32</entry><entry>Always 0x000001B5</entry></row><row><entry>Extension_start_code_identifier</entry><entry>4</entry><entry>Always 1000</entry></row><row><entry>F_code(0)(0)</entry><entry>4</entry><entry>Used to decode motion vectors; when it is a type I image, this data is filled with 1111.</entry></row><row><entry>F_code(0)(1)</entry><entry>4</entry><entry /></row><row><entry>F_code(1)(0)</entry><entry>4</entry><entry>Decoding information backwards in motion vectors (B), when it is a (P) type image it must be set to 1111, because there is no backward movement.</entry></row><row><entry>F_code(1)(1)</entry><entry>4</entry><entry>Decoding information backwards in motion vectors, when it is a P type image it must be set to 1111, because there is no backward movement.</entry></row><row><entry>Intra_dc_precision</entry><entry>2</entry><entry>precision used in the inverse quantizing of the coefficients of the DC discrete cosine transform.</entry></row><row><entry /><entry /><entry>00 8 bits precision</entry></row><row><entry /><entry /><entry>01 9 bits precision</entry></row><row><entry /><entry /><entry>10 10 bits precision</entry></row><row><entry /><entry /><entry>11 11 bits precision</entry></row><row><entry>Picture_structure fields</entry><entry>2</entry><entry>Specifies if the image is divided in or in a full frame.</entry></row><row><entry /><entry /><entry>00 reserved (image in TDVision®</entry></row><row><entry /><entry /><entry>format)</entry></row><row><entry /><entry /><entry>01 top field</entry></row><row><entry /><entry /><entry>10 bottom field</entry></row><row><entry /><entry /><entry>11 by-frame image</entry></row><row><entry>Top_field_first</entry><entry>1</entry><entry>0= decode bottom field first</entry></row><row><entry>1=</entry><entry /><entry>decode top field first</entry></row><row><entry>Frame_pred_frame_dct</entry><entry>1</entry><entry /></row><row><entry>Concealment_motion_vectors</entry><entry>1</entry><entry /></row><row><entry>Q_scale_type</entry><entry>1</entry><entry /></row><row><entry>Intra_vic_format</entry><entry>1</entry><entry /></row><row><entry>Alternate_scan</entry><entry>1</entry><entry /></row><row><entry>Repeat_first_field</entry><entry>1</entry><entry>0= display a progressive frame 1= display two identical progressive frames</entry></row><row><entry>Chroma_420_type</entry><entry>1</entry><entry>If the chroma format is 4:2:0, then it must be equal to progressive frame, otherwise it must be equal to zero.</entry></row><row><entry>Progressive_frame</entry><entry>1</entry><entry>0= interlaced</entry></row><row><entry /><entry /><entry>1= progressive</entry></row><row><entry>Composite_display_flag</entry><entry>1</entry><entry>warns about the originally coded information</entry></row><row><entry>V_axis</entry><entry>1</entry><entry /></row><row><entry>Field_sequence</entry><entry>3</entry><entry /></row><row><entry>Sub carrier</entry><entry>1</entry><entry /></row><row><entry>Burst_amplitude</entry><entry>7</entry><entry /></row><row><entry>Sub_carrier_phase</entry><entry>8</entry><entry /></row><row><entry>Next_start_code()</entry><entry /><entry /></row></tbody></tgroup></table></tables>
Picture_temporal_scalable_extension()
0073Two spatial resolution streams exist in case of having temporal scalability, the bottom layer provides a lesser index version of the video frames, while the top layer can be used to derive a greater index version of frames of the same video. The temporal scalability can be used by low quality, low cost or free decoders, while the greater frames per second would be used for a fee.
Picture_temporal_scalable_extension()
0074<tables id="tabl0005" num="0005"><table frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="57mm" /><colspec colnum="2" colname="col2" colwidth="12mm" /><colspec colnum="3" colname="col3" colwidth="97mm" /><thead><row><entry valign="top">Field</entry><entry valign="top">bits #</entry><entry valign="top">Definition</entry></row></thead><tbody><row><entry>Extension_start_code_identifier</entry><entry>4</entry><entry>Always 1010</entry></row><row><entry>Reference_select_code</entry><entry>2</entry><entry>It is used to indicate that the reference image will be used to decode intra_coded images FOR O TYPE IMAGES</entry></row><row><entry /><entry /><entry>00 enhances the most recent images</entry></row><row><entry /><entry /><entry>01 the lower and most recent frame layer in display order</entry></row><row><entry /><entry /><entry>10 the next lower frame layer in order of forbidden display.</entry></row><row><entry /><entry /><entry>11 forbidden</entry></row><row><entry /><entry /><entry>FOR B TYPE IMAGES</entry></row><row><entry /><entry /><entry>00 forbidden</entry></row><row><entry /><entry /><entry>01 most recently decoded images in enhanced mode</entry></row><row><entry /><entry /><entry>10 most recently decoded images in enhanced mode</entry></row><row><entry /><entry /><entry>11 most recent image in the bottom layer in display order</entry></row><row><entry>Forward_temporal_reference</entry><entry>10</entry><entry>Temporal reference</entry></row><row><entry>Marker_bit</entry><entry>1</entry><entry /></row><row><entry>Backward_temporal_reference</entry><entry>10</entry><entry>Temporal reference</entry></row><row><entry>Next_star_code()</entry><entry /><entry /></row><row><entry /><entry /><entry /></row><row><entry>Picture_spatial_scalable_extension()</entry><entry /><entry /></row></tbody></tgroup></table></tables>
0075In the case of image spatial scalability, the enhancement layer contains data, which allow a better resolution of the base layer so it can be reconstructed. When an enhancement layer is used as a function of a base layer as a reference for the motion compensation, then the bottom layer must be escalated and offset in order to obtain greater resolution of the enhancement layer. Picture_spatial_scalable_extension() <tables id="tabl0006" num="0006"><table frame="none"><tgroup cols="3" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="66mm" /><colspec colnum="2" colname="col2" colwidth="14mm" /><colspec colnum="3" colname="col3" colwidth="85mm" /><thead><row><entry valign="top">Field</entry><entry valign="top">bits #</entry><entry valign="top">Definition</entry></row></thead><tbody><row><entry>Extension_start_code_identifier</entry><entry>4</entry><entry>Always 1001</entry></row><row><entry>Lower_layer_temporal_reference</entry><entry>10</entry><entry>Reference to the lower temporal image</entry></row><row><entry>Marker_bit</entry><entry>1</entry><entry>1</entry></row><row><entry>Lower_layer_horizontal_offset</entry><entry>15</entry><entry>Horizontal compensation (Offset)</entry></row><row><entry>Marker_bit</entry><entry>1</entry><entry>1</entry></row><row><entry>Lower_layer_vertical_offset</entry><entry>15</entry><entry>Vertical compensation (Offset)</entry></row><row><entry>Spatial_temporal_weight_code_table_index</entry><entry>2</entry><entry>Prediction details</entry></row><row><entry>Lower_layer_progressive_frame</entry><entry>1</entry><entry>1= progressive</entry></row><row><entry /><entry /><entry>0= interlaced</entry></row><row><entry>Lower_layer_desinterlaced_field_select</entry><entry>1</entry><entry>0= the top field is used</entry></row><row><entry /><entry /><entry>1= the bottom field is used</entry></row><row><entry>Next_start_code()</entry><entry /><entry /></row><row><entry /><entry /><entry /></row><row><entry>Copyright_extension()</entry><entry /><entry /></row><row><entry /><entry /><entry /></row><row><entry>Extension_start_code_identifier</entry><entry>4</entry><entry>Always 010</entry></row><row><entry>Copyright_flag</entry><entry>1</entry><entry>if it is copyrightequal to 1 then it uses</entry></row><row><entry /><entry /><entry>If it is copyright zero (0), no additional information is needed</entry></row><row><entry>Copyright_identifier</entry><entry>8</entry><entry>1= original</entry></row><row><entry /><entry /><entry>0= copy</entry></row><row><entry>Original_or_copy</entry><entry>1</entry><entry /></row><row><entry>Reserved</entry><entry>7</entry><entry /></row><row><entry>Marker_bit</entry><entry>1</entry><entry /></row><row><entry>Copyright_number_1</entry><entry>20</entry><entry>Number granted by copyright instance</entry></row><row><entry>Marker_bit</entry><entry>1</entry><entry /></row><row><entry>Copyright_number_2</entry><entry>22</entry><entry>Number granted by copyright instance</entry></row><row><entry>Marker_bit</entry><entry>1</entry><entry /></row><row><entry>Copyright_number_3</entry><entry>22</entry><entry>granted by copyright Number instance</entry></row><row><entry>Next_start_code()</entry><entry /><entry /></row><row><entry>Picture_data()</entry><entry /><entry /></row></tbody></tgroup></table></tables>
0076This is a simple structure, it does not have field in itself. Slice()
0077Contains information on one or more macroblocks in the same vertical position. <tables id="tabl0007" num="0007"><table frame="none"><tgroup cols="2" colsep="0" rowsep="0"><colspec colnum="1" colname="col1" colwidth="51mm" /><colspec colnum="2" colname="col2" colwidth="14mm" /><tbody><row><entry>Slice_start_code</entry><entry>32</entry></row><row><entry>Slice_vertical_position_extension</entry><entry>3</entry></row><row><entry>Priority_breakpoint</entry><entry>7</entry></row><row><entry>Quantizer_scale_code</entry><entry>5</entry></row><row><entry>Intra_slice_flag</entry><entry>1</entry></row><row><entry>Intra_slice</entry><entry>1</entry></row><row><entry>Reserved_bits</entry><entry>7</entry></row><row><entry>Extra_bit_slice</entry><entry>1</entry></row><row><entry>Extra_information_slice</entry><entry>8</entry></row><row><entry>Extra_bit_slice</entry><entry>1</entry></row></tbody></tgroup></table></tables> Macroblock() Macroblock_modes() Motion_vectors() Motion_vector() Coded_block_pattern() Block()
EXTENSION_AND_USER_DATA(2)
0078The image can be displayed in: <ul id="ul0005" list-style="none" compact="compact"><li>DVD (Digital Versatile Disks)</li><li>DTV (Digital Television)</li><li>HDTV (High Definition Television)</li><li>CABLE (DVB Digital Video Broadcast) SATELLITE (DSS Digital Satellite Systems); and it is the software and hardware process integration.</li></ul>
0079The decoding compilation format in the hardware (50) section of <figref idref="f0005">Figure 5</figref>, is duplicated in the DSP input memory, at the same time, the simultaneous input of two independent or dependent video signals is allowed, corresponding to the left-right stereoscopic existing signal taken by the stereoscopic TDVision® camera. In the procedure the video_sequence (51) is detected to alternate the left and right frames or sending them in parallel, sequence_header (52) identification, the image type (53) is identified, it passes to the normal video stream (54), then it is submitted to an error correction process (55), the video image information is sent to the output buffer (56) which in turn shares and distributes the information to the left channel (57) and the right channel (58) in said channels the video stream information is displayed in 3D or 2D.
0080Consists in storing both L (left) and R (right) video streams in simultaneous form as two independent video streams, but synchronized with the same time_code, so they can later be decoded and played back in parallel in large output buffers. They can also be dependent and decodified by differences.
0081Regarding hardware, most of the process is executed by devices known as DSP (Digital Signal Processors). As an example, namely, the Motorola and the Texas Instruments (TMS320C62X) models can be used.
0082These DSP are programmed by a hybrid language from C and Assembly languages, provided by the manufacturer in question. Each DSP has its own API, consisting of a functions list or procedure calls located in the DSP to be called by software. From this reference information, the 3D-images are coded, which are compatible with the MPEG2 format and with their own coding algorithm. When the information is coded, the DSP is in charge of running the prediction, comparison, quantization, and DCT function application processes in order to form the MPEG2 compressed video stream.
0083In order to obtain three-dimensional images from a digital video stream, certain modifications have been made to the current MPEG2 decoders, by software and hardware changes in different parts of the decoding process. The structures and the video_sequence of the video data stream must be modified to include the necessary flags to identify at the bit level the TDVision® technology image type.
0084The modifications are made in the next decoding steps.
Software:
0085<ul id="ul0006" list-style="dash" compact="compact"><li>Video format identification.</li><li>Application of a logical "and" for MPEG2 backward compatibility in case of not being a TDVision® video.</li><li>Image decoding in normal manner (previous technique) scanning the video_sequence.</li><li>In case of a TDVision® type image: <ul id="ul0007" list-style="none" compact="compact"><li>_Discriminating if they are dependent or independent video signals _Store the last complete image buffer in the left or right channel buffer.</li><li>_Apply the B type frame information decoding.</li><li>_Apply error correction to the last obtained image by applying the motion and color correction vectors.</li><li>_Store the results in their respective channel buffer.</li><li>_Continue the video sequence reading.</li></ul></li></ul>
Hardware:
0086When the information is decoded via hardware; <ul id="ul0008" list-style="none" compact="compact"><li>_discriminate if the image is 2D or 3D</li><li>_Activate a double output buffer (memory is increased).</li><li>_The difference decoding selector is activated.</li><li>_The parallel decoding selector is activated.</li><li>_The decompression process is executed.</li><li>_The image is displayed in its corresponding output buffer.</li></ul>
0087The following structures, sub-structures and sequenced will be used in specific ways; they belong to the video_sequence structure for the hardware implementation of the MPEG2 backward compatible TDVision® technology.
0088Actually: <ul id="ul0009" list-style="none" compact="compact"><li>Sequence_header</li><li>Aspect_ratio_information</li><li>1001 n/a in TDVision®</li><li>1010 4:3 in TDVision®</li><li>1011 16:9 in TDVision®</li><li>1100 2.21:1 in TDVision®</li></ul>
0089A logical "and" will be executed with 0111 to obtain the backward compatibility with 2D systems, when this occurs, the instruction is sent to the DSP that the buffer of the stereoscopic pair (left or right) must be equal to the source, so all the images decoded will be sent to both output buffers to allow the image display in any device. <ul id="ul0010" list-style="none" compact="compact"><li>Frame_rate_code</li><li>1001 24,000/101 (23.976) in TDVision® format</li><li>1010 24 in TDVision® format.</li><li>1011 25 in TDVision® format.</li><li>1100 30,000/1001 (29.97) in TDVision® format.</li><li>1101 30 in TDVision® format.</li><li>1110 50 in TDVision® format.</li><li>1111 60,000/1001 (59.94) in TDVision® format.</li></ul>
0090A logical "and" with 0111 will be executed in order to obtain backward compatibility with 2D systems. <pre listing-type="program-listing"> User_data() Sequence_scalable_extension Picture_header Extra_bit_picture 0 = TDVision® 1= normal Picture_coding_extension Picture-structure 00= image in TDVision® format Picture_temporal_scalable_extension()</pre>
0091At the moment of coding the information a DSP is used which is in charge of executing the prediction, comparison, and quantization processes, applies the DCT to form the MPEG2 compressed video stream, and discriminates between 2D or 3D-images.
0092Two video signals are coded in an independent form but with the same time_code, signals corresponding to the left signal and the right signal coming from a 3DVision® camera, sending both programs simultaneously with TDVision® stereoscopic pair identifiers. This type of decoding is known as "by parallel images", consisting in storing both left and right (L and R) video streams simultaneously as two independent video streams, but time_code_synchronized. Later, they will be decoded and played back in parallel. Only the decoding software must be decoded, the coding and the compression algorithm of the transport stream will be identical to the current one.
0093Software modifications in the decoder.
0094In the decoder, two program streams must be programmed simultaneously, or two interdependent video signals, i.e., constructed from the difference between both stored as a B type frame with an identifier, following the programming API as in the example case, in the use of the TMS320C62X family Texas Instruments DSP.
0095DSP's programming algorithm and method. <ul id="ul0011" list-style="none" compact="compact"><li>_Create two process channels when starting the DSP (primary and secondary buffers or left and right when calling API).</li><li>_Get the RAM memory pointers for each channel (RAM addresses in the memory map)</li><li>_When a TDVision® type video sequence is obtained it is taken as B type</li></ul> the image is decoded in real-time the change or difference is applied to the complementary buffer the results are stored in the secondary buffer.
0096In that related to the software in the video_sequence data stream, two options are implemented: <ol id="ol0001" compact="compact"><li>1.- One modifies only the software and uses the user_data() section to store the error correction that allows to regenerate the stereoscopic signal.</li><li>2.- The other enables by hardware the PICTURE_DATA3D() function which is transparent to MPEG2-compatible readers, and which it can be decoded by a TDVision®-compatible DSP.</li></ol>
0097At the moment that the MPEG2 decoder detects a user_data() code, it will search the 3DVISION_START_IDENTIFIER = OXOOOABCD 32-bit identifier, which is an extremely high and difficult to reproduce code, or which does not represent data. Then, the 3D block length to be read will be taken into account, which is a 32-bit "n" data. When this information is detected within the USER_DATA(), a call to the special decoding function will be made which is then compared to the output buffer and applied from the current read offset of the video_sequence, the n bytes as a typical correction for B type frames. The output of this correction is sent to other output address, which is directly associated to a video output additional to that existing in the electronic display device.
0098If the PICTURE_DATA3D() structure is recognized, then it proceeds to read the information directly by the decoder; but it writes the information in a second output buffer, which is also connected to a video output additional to that existing in the electronic display device.
0099In case of the program stream, two signals (left and right) are synchronized by the time_code, which will be decoded in parallel by a MPEG decoder with enough simultaneous multiple video channels decoding capability, or which can send two interdependent video signals within the same video_sequence, e.g., "R-L = delta", where delta is the difference stores as a "B" type frame with stereoscopic pair TDVision® identifier and which can be reconstructed at the moment of the decoding by differences from the image, i.e., "R-delta = L" or "L-delta = R", as in the case of the aforementioned Texas Instruments DSP, which is considered as an illustrative but not limiting example.
0100A video containing a single video sequence is also implemented; but alternating the left and right frames at 60 frames per second (30 frames each) and when decoded place the video buffer image in the corresponding left or right channel.
0101It will also have the capacity of detecting via hardware if the signal is of TDVision® type, if this is the case, it will be identified if it is a transport stream, program stream or left-right multiplexion at 60 frames per second.
0102In the case of the transport stream the backward compatibility system is available in the current decoders, having the ability to display the same video without 3d characteristics but only in 2D, in which case the DSP is disabled to display the image in any TDVision® or previous technique device.
0103In the case of the program stream unmodified coders are used, such as those currently used in satellite transmission systems; but the receptor and decoder have a TDVision® flag identification system, thus enabling the second video buffer to form a left-right pair.
0104Finally, in the case of multiplexed video, the MPEG decoder with two video buffers (left-right) is enabled, identifying the adequate frame and separating each signal at 30 frames per second, thus providing a flickerless image, as the video stream is constant and due to the characteristic retention wave of the human eye the multiplexion effect is not appreciated.
0105Particular embodiments of the invention have been illustrated and described, it will be obvious for those skilled in the art that several modifications or changes can be made without departing from the scope of the present invention. All such modifications and changes are intended to be covered by the following claims, so that all changes and modifications fall within the scope of the present invention.
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2003190079A1 | Cites | United States of America | Search report |
| US2004008893A1 | Cites | United States of America | Search report |
| US5963257A | Cites | United States of America | Applicant |
| US6292588B1 | Cites | United States of America | Applicant |
| US6370193B1 | Cites | United States of America | Search report |
| US6370276B2 | Cites | United States of America | Applicant |
| US6456432B1 | Cites | United States of America | Applicant |
| US6658056B1 | Cites | United States of America | Applicant |
| US6665445B1 | Cites | United States of America | Applicant |
| US6678331B1 | Cites | United States of America | Applicant |
| US6678424B1 | Cites | United States of America | Applicant |
| WO9817068A1 | Cites | World Intellectual Property Organization (WIPO) | Search report |
15 members in 8 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 04715594 | European Patent Office (EPO) | A | |
| 2004000012 | Mexico | W |
Members15
| Document | Office | Kind | |
|---|---|---|---|
| CA2557534A1 | Canada | A1 | |
| WO2005083637A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP1727090A1 | European Patent Office (EPO) | A1 | |
| US2007041444A1 | United States of America | A1 | |
| MXPA06009734A | Mexico | A | |
| CN1938727A | China | A | |
| JP2007525907A | Japan | A | |
| US2010271462A1 | United States of America | A1 | |
| KR20110111545A | Republic of Korea | A | |
| KR101177663B1 | Republic of Korea | B1 | |
| EP2544451A2This record | European Patent Office (EPO) | A2 | |
| EP2544451A3 | European Patent Office (EPO) | A3 | |
| US9503742B2 | United States of America | B2 | |
| US2017070742A1 | United States of America | A1 | |
| US2019058894A1 | United States of America | A1 |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | |
| Designated contracting statesAK | AK | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | |
| Divisional application: reference to earlier applicationAC | AC | |
| Designated contracting statesAK | AK | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI |
Numbers
- Publication
- 2544451
- Application
- 121691604
Titles3
- German
- Verfahren und System zur digitalen Dekodierung von stereoskopischen 3D-Videobildern
- English
- Method and system for digital decoding 3D stereoscopic video images
- French
- Procédé et système de décodage numérique d'images vidéo stéréoscopiques en 3D
Classification
- CPC, 8
- H04N19/42
- H04N19/44
- H04N19/30
- H04N19/593
- H04N19/597
- H04N19/61
- H04N19/70
- H04N13/00
- IPC, 7
- H04N7 26
- H04N7 50
- H04N7 34
- G06T9 00
- G06T15 00
- H04N13 00
- H04N19 593
Designated states27
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye