Abstract:
A smart 3D HDMI video splitter is disclosed. When a 3D video signal enters the smart splitter, a field-programmable gate array converts the 3D signal so that the smart 3D HDMI video splitter outputs a 3D or 2D signal according to the type of the television, display or AVR amplifier.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of Invention 
         [0002]    The invention relates to a video splitter and, in particular, to a smart 3D HDMI video splitter. 
         [0003]    2. Related Art 
         [0004]    ROC Pat. No. 095208526 discloses an HDMI splitter, which includes a microprocessing unit with a controlling program by default, an HDMI receiving unit, and a plurality of HDMI transmitting units. The input terminals of the HDMI transmitting units are connected to the HDMI receiving unit and the microprocessing unit. Their output terminals are connected to televisions or displays. The HDMI receiving unit receives an HDMI signal and deciphers it into a normal digital AV signal. The controlling program of the microprocessing unit then controls different transmitting units to encrypt the signal independently. It further delivers encryption keys for different televisions and displays for them to decrypt the corresponding signals. This achieves the goal of driving multiple televisions and displays using one set of HDMI signals. 
         [0005]    The above-mentioned traditional HDMI splitter inputs one set of HDMI signals to a splitter. The controlling unit of the splitter outputs the signals to the HDMI connectors at each output terminals. However, the traditional HDMI splitter can only output either 2D or 3D video signals to the output terminals at a time. When the source signal is a 3D video and the user selects the 3D output, then the 2D television or display cannot display the signals. On the other hand, if the user selects the 2D output, then the 3D television or display cannot show the 3D video. This is a great inconvenience for the users. 
       SUMMARY OF THE INVENTION 
       [0006]    The invention provides a smart 3D HDMI video splitter. A 3D video signal enters via HDMI transmissions to a field-programmable gate array (FPGA) for conversion. A micro-controller detects the type of the connected television, display or AVR amplifier. The invention then outputs 2D or 3D signals according to the connected television, display or AVR amplifier. In particular, the FPGA further includes: an input video unit, a video format processing unit, a controlling unit, and a multiplexer unit. 
         [0007]    Once a 3D video is input to the invention, the input video unit synchronizes and renormalizes the video signal according to the commands of the controlling unit. 
         [0008]    The video format processing unit uses a conversion formula to convert the 3D video into the checkboard, field-sequential, line interlaced, or left-/right-eye single output, or left-eye/right-eye dual output format, using second-generation double-speed dynamic random access memory (DDRII). The video is output to the multiplexer unit and converted according to the format determined by the controlling unit. 
         [0009]    The controlling unit sends command which separates the video signal into an odd-numbered-pixel image and an even-numbered-pixel image if the output video is of the checkboard, field-sequential or line interlaced format, and outputs an video format command to the video format processing unit. If the video is of the left-/right-eye single output or left-eye/right-eye dual output format, the controlling unit sends command which divides the video into a first-half-column-pixel image and a last-half-column-pixel image, and outputs an video format command to the video format processing unit. 
         [0010]    The micro-controller detects whether a connected device is a 2D or 3D television, display, or AVR amplifier. The detection result is used for the multiplexer unit to determine whether the last output video is the original input 3D video format (3D frame-packing format, 3D side-by-side format, 3D top-and-bottom format, etc.) or a processed 3D video format (checkboard, field-sequential, line interlaced, left-/right-eye single output, or left-eye/right-eye dual output format). 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0011]    These and other features, aspects and advantages of the invention will become apparent by reference to the following description and accompanying drawings which are given by way of illustration only, and thus are not limitative of the invention, and wherein: 
           [0012]      FIG. 1  is a block diagram of the disclosed splitter; 
           [0013]      FIG. 2  is a block diagram of the disclosed FPGA; 
           [0014]      FIG. 3  is a block diagram of the disclosed video format processing unit; 
           [0015]      FIG. 4  shows the algorithm of the disclosed 3D video conversion; 
           [0016]      FIG. 5  defines the frame-packing data according to the invention; 
           [0017]      FIG. 6-9  show the status of memory for the odd-numbered-row and even-numbered-row data of frames  1 - 4  when they are converted into the checkboard format; 
           [0018]      FIG. 10-13  show the status of memory for the odd-numbered-row and even-numbered-row data of frames  1 - 4  when they are converted into the frame-sequential format; 
           [0019]      FIGS. 14-17  show the status of memory for the odd-numbered-row and even-numbered-row data of frames  1 - 4  when they are converted into the line interlaced format; 
           [0020]      FIGS. 18-21  show the status of memory for the odd-numbered-row and even-numbered-row data of frames  1 - 4  when they are converted into the left-/right-eye single output format; and 
           [0021]      FIGS. 22-25  show the status of memory for the odd-numbered-row and even-numbered-row data of frames  1 - 4  when they are converted into the left-eye/right-eye dual output format. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0022]    The present invention will be apparent from the following detailed description, which proceeds with reference to the accompanying drawings, wherein the same references relate to the same elements. 
         [0023]    A smart 3D HDMI video splitter is shown in  FIG. 1 . A 3D video signal  101  is input via HDMI transmission and sent to an HDMI signal receiver  102  for an FPGA  104  to make a conversion. DDRII is used to store processing data. A micro-controller  105  determines a video format and detects the type of a television, display or AVR amplifier. The original 3D video signal or processed 3D image signal  107  is sent to an HDMI signal transmitter  106  for sending the video signal  108  to the corresponding television, display, or AVR amplifier. The output of the original 3D video signal or processed 3D video signal is determined by the micro-controller  105 . 
         [0024]    As shown in  FIG. 2 , the FPGA  104  includes the following tasks. The video input signal  201  is sent to a video capturing unit  202  for video signal synchronization and renormalization. Afterwards, the video signal is output to a video format processing unit  203  and a video output multiplexer  205 . The video format processing unit  203  converts the original 3D video signal format  204 B (3D frame-packing format, 3D side-by-side format, 3D top-and-bottom format) into the processed 3D video format  204 A (checkboard, field-sequential, line interlaced, left-/right-eye single output, or left-eye/right-eye dual output format). The converted video signal is determined by the controlling unit  208 . Externally, the controlling unit  208  is notified of the conversion target via the I2C serial communication bus  207 . 
         [0025]    The video output signal  206  is output via the video output multiplexer  205 . The controlling unit  208  determines whether to output the processed 3D video signal  204 A or the original 3D video signal  204 B. 
         [0026]    As shown in  FIG. 3 , the video format processing unit  203  includes: a video input unit  301 , a video controlling unit  302 , and a video output unit  304 . The video input unit  301  takes the 3D video from the input video capturing unit  202 . According to the command of the controlling unit  208  in  FIG. 2 , a video separator  3010  separates video data for the left and right eyes into an odd-numbered-pixel image and an even-numbered-pixel image or into a first-half-column-pixel image and a last-half-column-pixel image. These video are temporarily stored in an odd-numbered-pixel data buffer  3011  and an even-numbered-pixel data buffer  3012 . Both sets of data are then sent to the video controlling unit  302 . 
         [0027]    According to the command of the controlling unit  208  in  FIG. 2 , the video controlling unit  302  uses a conversion formula to store the 3D video format in DDRII  303 . The corresponding conversion formula is used to convert the 3D video format into the 3D checkboard format, field-sequential format, line interlaced format, left-/right-eye single output format, or left-eye/right-eye dual output format. The result is output to the video output unit  304 . 
         [0028]    According to the command of the controlling unit  208  in  FIG. 2 , the video output unit  304  stores the video converted and output by the video controlling unit  302  and separated into two sets of images (an odd-numbered-pixel image and an even-numbered-pixel image or into a first-half-column-pixel image and a last-half-column-pixel image) in the odd-numbered-pixel data buffer  3011  and an even-numbered-pixel data buffer  3012 ). A video combiner  3043  combines them into a video in the 3D checkboard, field-sequential, line interlaced, left-/right-eye single output, or left-eye/right-eye dual output format. The video is then output by the video output multiplexer  205 . 
         [0029]    The algorithm used by the video controlling unit  302  to convert the 3D video format into the checkboard, field-sequential, line interlaced, left-/right-eye single output, or left-eye/right-eye dual output format consists of four working sequences, as shown in  FIG. 4 . The data are divided in different ways into first-half-column data  501  and last-half-column data  502 , odd-numbered-row data  503  and even-numbered-row data  504 , or left image  505  and right image  506 , as shown in  FIG. 5 . 
         [0030]    The first sequence Ln processes odd-numbered-row image and even-numbered-row image for the left eye. As shown in  FIG. 6 , there are four actions in processing the odd-numbered-row image for the left eye. First, odd-numbered pixels in each row of the left-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  1 . Second, even-numbered pixels in each row of the left-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  1 . Third, the odd-numbered-pixel data in frame  3  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  4  are read out from the DDRII and written to the output even-numbered-pixel data buffer. 
         [0031]    There are also four actions in processing the even-numbered-row image for the left eye. First, odd-numbered pixels in each row of the left-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  1 . Second, even-numbered pixels in each row of the left-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  1 . Third, the odd-numbered-pixel data in frame  4  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  3  are read out from the DDRII and written to the output even-numbered-pixel data buffer. This completes the actions in the first sequence Ln. 
         [0032]    The second sequence Rn processes odd-numbered-row image and even-numbered-row image for the right eye. As shown in  FIG. 7 , there are four actions in processing the odd-numbered-row image for the right eye. First, odd-numbered pixels in each row of the right-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  2 . Second, even-numbered pixels in each row of the right-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  2 . Third, the odd-numbered-pixel data in frame  3  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  4  are read out from the DDRII and written to the output even-numbered-pixel data buffer. 
         [0033]    There are also four actions in processing the even-numbered-row image for the right eye. First, odd-numbered pixels in each row of the right-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  2 . Second, even-numbered pixels in each row of the right-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  2 . Third, the odd-numbered-pixel data in frame  4  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  3  are read out from the DDRII and written to the output even-numbered-pixel data buffer. This completes the actions in the second sequence Rn. 
         [0034]    The third sequence Ln+1 processes odd-numbered-row image and even-numbered-row image for the left eye. As shown in  FIG. 8 , there are four actions in processing the odd-numbered-row image for the left eye. First, odd-numbered pixels in each row of the left-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  3 . Second, even-numbered pixels in each row of the left-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  3 . Third, the odd-numbered-pixel data in frame  1  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  2  are read out from the DDRII and written to the output even-numbered-pixel data buffer. 
         [0035]    There are also four actions in processing the even-numbered-row image for the left eye. First, odd-numbered pixels in each row of the left-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  3 . Second, even-numbered pixels in each row of the left-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  3 . Third, the odd-numbered-pixel data in frame  2  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  1  are read out from the DDRII and written to the output even-numbered-pixel data buffer. This completes the actions in the third sequence Ln+1. 
         [0036]    The fourth sequence Rn+1 processes odd-numbered-row image and even-numbered-row image for the right eye. As shown in  FIG. 9 , there are four actions in processing the odd-numbered-row image for the right eye. First, odd-numbered pixels in each row of the right-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  4 . Second, even-numbered pixels in each row of the right-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  4 . Third, the odd-numbered-pixel data in frame  1  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  2  are read out from the DDRII and written to the output even-numbered-pixel data buffer. 
         [0037]    There are also four actions in processing the even-numbered-row image for the right eye. First, odd-numbered pixels in each row of the right-eye image are read out from the data buffer and written into odd-numbered-pixel DDRII in frame  4 . Second, even-numbered pixels in each row of the right-eye image are read out from the data buffer and written into even-numbered-pixel DDRII in frame  4 . Third, the odd-numbered-pixel data in frame  2  are read out from the DDRII and written to the output odd-numbered-pixel data buffer. Last, the even-numbered-pixel data in frame  1  are read out from the DDRII and written to the output even-numbered-pixel data buffer. This completes the actions in the fourth sequence Rn+1. 
         [0038]    The FPGA repeats the above-mentioned sequences to convert the video into the checkboard format. 
         [0039]    Likewise, the FPGA can repeat the sequences in  FIGS. 10-13  to convert the video into the field-sequential format. 
         [0040]    Alternatively, the FPGA can repeat the sequences in  FIGS. 14-17  to convert the video into the line interlaced format. 
         [0041]    Alternatively, the FPGA can repeat the sequences in  FIGS. 18-21  to convert the video into the left-/right-eye single output format. 
         [0042]    Alternatively, the FPGA can repeat the sequences in  FIGS. 22-25  to convert the video into the left-/right-eye dual output format. 
         [0043]    The input and output units of the above-mentioned 3D video conversion system use the HDMI 1.4a transmission protocol as the 3D video transmission interface. 
         [0044]    Although the invention has been described with reference to specific embodiments, this description is not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments, will be apparent to persons skilled in the art. It is, therefore, contemplated that the appended claims will cover all modifications that fall within the true scope of the invention.