# Patent

## Title
Conversion of interleaved data sets, including chroma correction and/or correction of checkerboard interleaved formatted 3D images

## Abstract

Conversion of interleaved data and/or correction of color samples or other data are corrected by recognizing an underlying arrangement or format of different data sets within a data stream and a conversion process applied that causes bleeding between the sets. The data sets are, for example, separate channel views of a 3D display, and the corruption occurs, for example, upon up-conversion of color samples that take into account both views together rather than individually. The invention is embodied, for example, as part of a playback device, display, or as a stand alone converter box that corrects the corrupted samples by at least one of substitution, filtering, or interpolation with appropriately selected samples (e.g., neighboring samples of a same view).

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to U.S. Patent Provisional Application Nos. 61/191,416, filed 7 Sep. 2008, and 61/143,087, filed 7 Jan. 2009, hereby incorporated by reference in their entireties.


COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTION
1. Field of Invention
The present invention relates to data encoding and decoding, conversion of data with respect to a format or arrangements of the data, and the correction of errors from conversions without appropriate consideration of a format or arrangement of the converted data.
2. Description of Related Art
In recent years, content providers have become interested in the delivery of stereoscopic (3D) content into the home. This interest is driven by the increased popularity and production of 3D material, but also the emergence of several stereoscopic devices that are already available to the consumer. Although several systems have been proposed on the delivery of stereoscopic material to the home that combine specific video view “arrangement” formats with, primarily, existing video compression technologies such as ISO MPEG-2, MPEG-4 AVC/ITU-T H.264, and VC-1, these systems do not provide any information on how the video encoding process should be performed. This has consequently resulted in poorly designed stereo video encoding solutions with subpar performance, which has been detrimental in the adoption of such systems.
SUMMARY OF THE INVENTION
The present inventors have realized the need to provide a system for the provision of a stereoscopic (3D) user experience implemented with minimal or no alteration to existing playback devices such as set-top boxes, DVD, and Blu-ray disk players, as well as existing 3D capable displays. This comprises the provision of either an appropriate color conversion considering a format in which the 3D images are provided in a video stream or a device capable of correcting errors if the conversion is done without appropriate consideration of the format. The invention may be embodied in multiple forms as further described herein and may be part of a playback device, a display, set-top type converter box, and/or other embodiments as described herein.
Portions of both the device and method may be conveniently implemented in programming on a general purpose computer, or networked computers, and the results may be displayed on an output device connected to any of the general purpose, networked computers, or transmitted to a remote device for output or display. In addition, any components of the present invention represented in a computer program, data sequences, and/or control signals may be embodied as an electronic signal broadcast (or transmitted) at any frequency in any medium including, but not limited to, wireless broadcasts, and transmissions over copper wire(s), fiber optic cable(s), and co-ax cable(s), etc.



BRIEF DESCRIPTION OF THE DRAWINGS
A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
FIG. 1 is an illustration depicting a pixel arrangement for a checkerboard interleaving scheme, and the subsequent deinterleaving;
FIG. 2 is an illustration of pixel replication performed via a generic upsampling;
FIG. 3A is a block diagram of a system 300 incorporating a converter box (3D Color Correction) 330 according to an embodiment of the present invention;
FIG. 3B is a block diagram of a system incorporating a playback device 380 according to an embodiment of the present invention;
FIG. 3C is a block diagram of a system incorporating a display device according to an embodiment of the present invention;
FIG. 4 is an illustration of a basic process that performs color correction according to an embodiment of the present invention;
FIG. 5 is an illustration of a serial type sample replacement according to an embodiment of the present invention; and
FIG. 6 is a block diagram illustrating an embodiment where two views are deinterleaved, upscaled from CB to full resolution and then displayed on two display devices using parallel HDMI interfaces.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Exemplary 3D displays are, for example, recently developed DLP and Plasma displays by Samsung and Mitsubishi, which will benefit from a system according to the present invention for the provision of a stereoscopic (3D) user experience. Other displays will eventually be offered in need of the same or similar capabilities.
One format for the delivery of 3D content is to multiplex the two views using a checkerboard (CB) arrangement. Although this arrangement can be done using different color spaces or color configurations, because of limitations in existing devices, creation and encoding is typically performed in the YCbCr colorspace using, for example, a 4:2:0 color sampling process.
Delivery of 3D content using the checkerboard method implies interleaving of the left and right view images using a checkerboard (CB) arrangement (or format). Although this arrangement may complicate and impact the encoding process, it helps to better preserve the frequency characteristics of the 3D signals compared to other comparable techniques such as interleaving the 3D views in a row or column interleaved arrangement or placing the views side by side. The pixel arrangement for the checkerboard interleaving scheme, and the subsequent deinterleaving that will be performed at the display device, are depicted in FIG. 1A.
For some display devices, such as existing DLP TVs, the deinterleaved images will be displayed as is exploiting the characteristics of the display mechanisms, while in others, such as Plasma displays, additional interpolation/upsampling may be performed in order to bring the image to its full, original resolution. Ideally, if no compression or other conversions are performed onto the original, CB source, no blending of the information from the original left and right views in the final, deinterleaved, left and right views at the display is expected. In reality, however, because of lossy compression information leakage from one view to another may occur. This could result in undesirable artifacts during 3D display. Nevertheless, this problem can be considerably constrained and controlled by introducing a variety of considerations into the encoder such as avoiding or negatively biasing certain coding tools, e.g. deblocking filter, subpixel motion positions etc. (see, for example, Tourapis et al, U.S. patent application Ser. No. 13/054,912, the contents of which are incorporated herein by reference in their entirety).
Unfortunately, problems may happen in the case that either the video source is upconverted in the decoding device or display, or if color and format conversion is requested without any considerations of the format arrangement. The first may result in completely damaging the characteristics of the signal, while the later may result in color bleeding problems from one view to the other especially around regions with high view disparity characteristics. Color bleeding typically occurs because chroma information is usually subsampled and signaled at a lower resolution than luma information for video compression and the delivery or display mechanism requires a completely different chroma subsampling or even color format to be used.
More specifically, YUV 4:2:0 subsampling is most commonly used in which the chroma components are subsampled to half the horizontal and vertical resolution. The location of the chroma samples relative to the luma samples of the video frame may vary. This format is mandated by many video coding systems, including applications for video content delivery to the home using broadcasting and digital video recording (DVD, Blu-ray, HD-DVD etc) media. In the case of YUV 4:2:2 subsampling, only the horizontal resolution of the chroma is halved and each chroma sample corresponds to two horizontally adjacent luma samples. Other less common arrangements such as YUV 4:1:1, 4:2:1, 4:1:0, 8:4:4, 3:1:1 and possibly others could also be encountered. It is also possible to encounter cases with no subsampling, i.e. 4:4:4 Y′CbCr and R′G′B′ sampling.
Delivery, however, can be constrained by the delivery interface, e.g. High-Definition Multimedia Interface (HDMI) or Digital Visual interface (DVI), which may impose certain characteristics on the color sampling and color format. In particular, the HDMI interface only supports outputs in xvYCC 4:4:4, sRGB 4:4:4, YCbCr 4:4:4, and YCbCr 4:2:2, while existing 3D enabled displays, such as several Samsung DLPs, require that 3D inputs are formatted as sRGB 4:4:4. However, since the original checkerboard source material is formatted as YCbCr 4:2:0, a conversion process, that includes upscaling the chroma components (e.g., using simple pixel replication) and color conversion is utilized. Unfortunately, if no consideration is made for the nature of the content, i.e. checkerboard format or interleaving of the two views, during upconversion, this may result in severe color artifacts especially around objects with high disparity.
An example of such a scenario where color information from the right view has “leaked” into the left view would be where an object exhibits a color bleeding artifact. Such artifacts will become apparent in 3D imagery by a shadow at a border of the objects. For example, a 3-D image of a glove may include, for example, an undesirable color bleeding apparent with a reddish shadow just past the border of the glove. These artifacts are most apparent at boundaries but are also included the full view and are better explained by showing how the bleeding problem occurs.
This bleeding problem is primarily inherent of the upscaling process performed in almost all of the existing systems. In particular, if the upconversion of the chroma components does not account for content that is checkerboard formatted, it would try to upscale the chroma samples using simple filtering mechanisms that consider all samples from both views. In the simplest and most commonly used method, pixel replication is performed as shown in FIG. 2 (generic upsampling). In this scenario, it can be seen from FIG. 2 that when deinterleaving the new sequence to generate the two separate views for display (left view samples and right view samples), half of the pixels in each view would be incorrectly assigned with color samples corresponding to the opposite view. The problem may be somewhat aggravated if color conversion is also performed because of clipping and rounding operations. It is possible that use of an advanced interpolator, all of the samples could be incorrect due to the filtering.
The problem occurs to a greater or lesser extent regardless of the interleaving pattern or the upconversion process utilized, unless, by design or coincidence, the upconversion process accounts for the interleaving of the views. The problem also occurs regardless of whether the views are 3D views or entirely different images, video, or other data. The problem is likely exasperated if the images are entirely different (e.g., separate programs) because the images have no similarity (e.g., instead of an artifact that, for example, shadows the intended image, the artifact is likely of an entirely different shape).
To resolve this problem, the present invention provides several embodiments for solutions. For example, given that already available devices have this problem, a separate converter box may be used that tries to correct this issue. This box can be placed at the output of the playback/decoder device and after any necessary decryption or other processing of the signal (e.g. HDMI), can convert the input signal (e.g., a 3D checkerboard multiplexed format with improper upconversion and therefore color or other artifacts) to a new signal appropriately corrected and repackaged (e.g. HDMI) and re-encrypted. This new signal could contain additional metadata information that could help drive or seamlessly control next generation 3D capable displays that can recognize these signals. In general, the output of the converter will then be connected to a 3D capable display, but could also involve other devices, such as a multimedia receiver, an HDMI bridge, HDMI to DVI or vice versa converters etc, prior to reaching a display, or some other medium. The converter box may include, for example, a pattern recognizer that searches for known patterns of color errors and then applies a most appropriate schema for correction. Such recognition may comprise, for example, comparing diagonal patterns of chroma samples in one view against diagonal patterns of chroma samples in an opposite view. A close match on the opposing diagonals may trigger the color correction processes. The device may include a database of patterns from which to recognize and then apply an appropriate correction schema. Each pattern comprises, for example, a pattern of errors associated with a combination of an interleaving arrangement (or format) and a conversion (e.g., up-conversion) and is associated with a schema specifically derived to correct or otherwise minimize errors occurring due to the interleaved/conversion combination.
FIG. 3A is a block diagram of a system 300 incorporating a converter box (3D Color Correction) 330 according to an embodiment of the present invention. The system starts by encoding left and right images which includes, for example interleaving the left and right images. A playback device 320 decodes the interleaved images and, for example, performs an upconversion/conversion of the chroma color space (e.g., an upconversion as described above or a variant thereof).
The converter box (3D color correction) 330 performs a process that involves performing colorspace conversion, if necessary, back to its original (e.g., YCrCb), replacement of incorrect color samples with samples derived from the same view (e.g., using pixel replication or more advanced filtering methods, including temporal interpolation such as a motion compensated or motion adaptive temporal filter, while considering samples only from the same view), followed by colorspace conversion to the desired colorspace and/or format (i.e. sRGB 4:4:4).
It should be noted that in various likely implementations, the converter box 330 would require, among other things an HDMI receiver and encoder, which also involve encryption/decryption licensing and would further increase overall cost. Note that this converter box may also optionally add additional metadata information that could help with the playback and conversion of the 3D data in future displays.
A deinterleave device then extracts or otherwise builds the left and right images to be displayed by selecting appropriate portions of the color corrected and decoded, but interleaved images. The deinterleave device is, for example, a checkerboard deinterleaver, but may also be configured to operate on images interleaved in any of line-by-line, side-by-side, or other interleaving formats.
The above process (or others as described herein) could be added directly on the display (e.g., display 390 in FIG. 3C). This avoids having to add additional HDMI related hardware. If a display is designed with programmable chips, the provision of further color conversion mechanisms would be facilitated (alternatively as a retrofit). Alternatively, the sets are redesigned with new hardware specifically for these tasks.
In one embodiment, a “proper” chroma upconversion method is included in the decoder system. This is apparently the “best” solution especially since it avoids difficult to reverse problems due to clipping or rounding, reduces processing (essentially replaces the original upsampling process which needs to be performed regardless of the conversion), and, again, does not add any additional cost due to HDMI licensing.
The decoder system may be, for example, the display itself (built into the display), a set-top box (cable box, satellite box, converter box, etc), DVD player, Blu-ray players, or any playback device (e.g., see playback device 380 in FIG. 3B), as well as existing 3D capable displays. While existing 3D display will generally reap the greatest immediate benefit from such devices/improvements, the invention is not limited to supplying such devices, as the interleaved formats may be utilized for the provision of content to standard displays (see below), and newly developed technologies will clearly benefit from the improvements in content delivery as elaborated on herein.
FIG. 4 illustrates a basic process that performs color correction, as would be performed, for example, in the converter box 330. This process performs a horizontal replacement of incorrect view samples using correct horizontal only samples. For example, a left color sample value 410 in the Cr space that has corrupted the right color samples is replaced by a neighboring right sample Cr (e.g., replace with either sample 405 to its left or sample 415 to its right).
Diagonal or/and vertical replacement filtering of appropriate same view samples could also be considered. In alternative embodiments, averaging, filtering, extrapolation, or interpolation are utilized to determine the replacement chroma value.
The same process, using only sample replacement, is illustrated in FIG. 5 assuming serial processing as is likely to be performed on the HDMI based converter box. Such an embodiment uses, for example, a buffer that stores N samples. The number of samples stored in the buffer would depend on the number of samples used in a filtering scheme and on how far apart the samples may be (e.g., diagonal replacement may require more stored samples than a neighboring sample replacement).
As shown in FIG. 5, left (X) and right (Y) samples of an interleaved 3D image are serially output from a playback device. The samples are stored in a buffer and then replaced. Sample 510 is an uncorrupted left sample, sample 520 is a right sample having a corrupted chroma portion, sample 530 is a left sample having a corrupted chroma portion, and sample 540 is an uncorrupted right sample. As shown, the Cb and Cr portions of the corrupted samples are replaced with the Cb and Cr from their neighboring uncorrupted samples. This assumes that signal is YCbCr. If signal is RGB, then all samples should be reverted back to YCbCr color space, perform correction, and then perform color conversion again. This is still a replacement process but it is a replacement process done in the color transform domain.
The replacement samples comprise, for example, the nearest neighboring uncorrupted sample of the same view (left corrupted samples are replaced with neighboring, if available, left uncorrupted samples). As noted, alternative schemes including averaging, filtering, interpolating, or extrapolating from one or more (perhaps several) neighboring samples could be performed. And, the samples chosen can be neighboring horizontal, vertical, or diagonally related to the replaced sample. Some embodiments might even consider the effect of samples further than just the neighboring samples in a multi-sample filter or weighted averaging scheme.
Again, assuming that the colorspace is the same as that of the original source, correction can involve a simple replacement, or some other filtering process of the incorrect view samples in the chroma components with those of neighboring samples from the same view. In a certain embodiment only horizontal samples are considered and the process is performed using bilinear filtering. In a different embodiment, simple replacement is performed with either the nearest neighboring sample from the same view, or from a sample always in the same direction. In an further embodiment different or all directions could be considered, and a variety of filters could be used to generate the missing samples. This could provide a variety of complexity (memory, speed, delay) and performance (interpolation and image quality) tradeoffs.
If, however, a different colorspace than that of the original content was used, e.g. RGB or xvYCC, XYZ among others, the process may also involve apart from sample correction a color correction process. This could be done using either a multistage approach where one first reconverts the samples in error to the original color space, determines the correct color values in the original space given the above method, and then performs color conversion to the required space. In a different embodiment, color conversion could be performed in a single step by combining neighboring samples. For example, assuming that color conversion from one color space to the other and vice versa is performed as:




  
    [
    
      
        
          
            C
            0
          
        
      
      
        
          
            C
            1
          
        
      
      
        
          
            C
            2
          
        
      
    
    ]
  
  =
  
    
      
        
          [
          
            
              
                
                  a
                  00
                
              
              
                
                  a
                  01
                
              
              
                
                  a
                  02
                
              
            
            
              
                
                  a
                  10
                
              
              
                
                  a
                  11
                
              
              
                
                  a
                  12
                
              
            
            
              
                
                  a
                  20
                
              
              
                
                  a
                  21
                
              
              
                
                  a
                  22
                
              
            
          
          ]
        
        ⁡
        
          [
          
            
              
                
                  A
                  0
                
              
            
            
              
                
                  A
                  1
                
              
            
            
              
                
                  A
                  2
                
              
            
          
          ]
        
      
      +
      
        
          [
          
            
              
                
                  b
                  0
                
              
            
            
              
                
                  b
                  1
                
              
            
            
              
                
                  b
                  
                    2
                    ⁢
                    
                      
                    
                  
                
              
            
          
          ]
        
        ⁢
        
          
        
        ⁢
        
          and
          ⁢
          
            

          
          [
          
            
              
                
                  A
                  0
                
              
            
            
              
                
                  A
                  1
                
              
            
            
              
                
                  A
                  2
                
              
            
          
          ]
        
      
    
    =
    
      
        
          [
          
            
              
                
                  c
                  00
                
              
              
                
                  c
                  01
                
              
              
                
                  c
                  02
                
              
            
            
              
                
                  c
                  10
                
              
              
                
                  c
                  11
                
              
              
                
                  c
                  12
                
              
            
            
              
                
                  c
                  20
                
              
              
                
                  c
                  21
                
              
              
                
                  c
                  22
                
              
            
          
          ]
        
        ⁡
        
          [
          
            
              
                
                  C
                  0
                
              
            
            
              
                
                  C
                  1
                
              
            
            
              
                
                  C
                  2
                
              
            
          
          ]
        
      
      +
      
        [
        
          
            
              
                d
                0
              
            
          
          
            
              
                d
                1
              
            
          
          
            
              
                d
                
                  2
                  ⁢
                  
                    
                  
                
              
            
          
        
        ]
      
    
  




and CxT are neighboring samples without color problems, CxB samples for the current pixel with problems, then one could compute the corrected samples CxC as:




  
    [
    
      
        
          
            C
            0
            C
          
        
      
      
        
          
            C
            1
            C
          
        
      
      
        
          
            C
            2
            C
          
        
      
    
    ]
  
  =
  
    
      
        [
        
          
            
              
                a
                00
              
            
            
              
                a
                01
              
            
            
              
                a
                02
              
            
          
          
            
              
                a
                10
              
            
            
              
                a
                11
              
            
            
              
                a
                12
              
            
          
          
            
              
                a
                20
              
            
            
              
                a
                21
              
            
            
              
                a
                22
              
            
          
        
        ]
      
      ⁡
      
        [
        
          
            
              
                
                  
                    c
                    00
                  
                  ×
                  
                    C
                    0
                    B
                  
                
                +
                
                  
                    c
                    01
                  
                  ×
                  
                    C
                    1
                    B
                  
                
                +
                
                  
                    c
                    02
                  
                  ×
                  
                    C
                    2
                    B
                  
                
                +
                
                  d
                  0
                
              
            
          
          
            
              
                
                  
                    c
                    10
                  
                  ×
                  
                    C
                    0
                    T
                  
                
                +
                
                  
                    c
                    11
                  
                  ×
                  
                    C
                    1
                    T
                  
                
                +
                
                  
                    c
                    12
                  
                  ×
                  
                    C
                    2
                    T
                  
                
                +
                
                  d
                  1
                
              
            
          
          
            
              
                
                  
                    c
                    20
                  
                  ×
                  
                    C
                    0
                    T
                  
                
                +
                
                  
                    c
                    21
                  
                  ×
                  
                    C
                    1
                    T
                  
                
                +
                
                  
                    c
                    22
                  
                  ×
                  
                    C
                    2
                    T
                  
                
                +
                
                  d
                  2
                
              
            
          
        
        ]
      
    
    +
    
      [
      
        
          
            
              b
              0
            
          
        
        
          
            
              b
              1
            
          
        
        
          
            
              b
              2
            
          
        
      
      ]
    
  




Different color transforms could be considered accordingly, while it is possible that a completely different color transform and color sampling may be desired altogether. Appropriate color format selection and necessary color correction can be performed given knowledge of the original input signal, the current formatting of the content, and the final output device, e.g. display capabilities.
Since in certain interfaces, such as HDMI, the signal will be received and decoded serially by the color correction module, in one embodiment, the memory requirements as well as the latency introduced by the color correction module can be minimized by performing the color correction also in a serial fashion. As illustrated in FIG. 5, the color correction module only requires one neighboring pixel of the same parity view to perform a color correction on a given pixel (i.e., only 3 pixels need to be buffered). In this case, the chroma components, which are known to be correct, of the nearest neighboring pixel of the same parity, are copied to replace the incorrect chroma components of the current pixel. Color correction can be performed, if necessary, as described previously.
Further refinements that improve the color reconstruction but require the buffering of a larger number of pixels are also possible at the cost of increased latency and memory requirements. In a certain embodiment color correction is performed given previously received samples (i.e. causal color correction), or also consider N additional future samples. Future samples could be also constrained to be only on the same row or also allow M additional rows to be considered. In a further embodiment, color correction and interpolation of the samples could consider the entire picture, or even temporal samples from previous or past pictures. For this purpose one may consider, for example, only co-located, temporally, samples, assuming no view parity change, or also consider motion adaptive or motion compensated methods. View parity changes can also be considered accordingly.
Assuming that the interface of interest is HDMI, or something equivalent, and that a correction device is to be implemented, then this device may also have to perform decryption and encryption operations such as the High-bandwidth Digital Content protection HDCP. In a certain embodiment, decryption and optionally encryption are performed before and after color format conversion and color correction. It is also possible to signal the existence of 3D content, the color format sampling that the content is currently in, and if the current format requires any additional color correction prior to display.
Furthermore, it is possible to also signal optional postprocessing, ideal interpolation filters for chroma but also for 3D view upsampling, e.g. such as the one required by plasma displays to currently properly display checkerboard interleaved video signals, by using additional control information available in such interfaces. Information could be signaled separately for each view since their characteristics may be quite different. In particular, the HDMI specification allows such information to be provided within the vendor specific data block, while it may be possible to also provide similar information at a higher level, i.e. within a bitstream using other metadata transmission mechanisms, e.g. MPEG-4 or MPEG-2 systems metadata, SEI messages within an H.264/MPEG-4 AVC bitstream etc. In a certain embodiment, an input device is appropriately initialized given this metadata information, and can automatically, or selectively given user interaction, process the content for optimal delivery to the user.
In various embodiments, the color formatting, upscaling, and correction module can be implemented within the decoder prior to transmission of the signal to the display device, or alternatively within the display device. Optionally, in the display device, the input signal can be restricted to a single format, i.e. RGB 4:4:4 which would only require color correction to be performed reducing the cost and foot print of the device. In both scenarios, additional HDMI handling may be unnecessary since such is already handled by the device itself.
Using existing mechanisms for rescaling (downscaling and upscaling) CB interleaved video content would result in damaging the 3D nature of the content. To alleviate this problem, apart from the above mechanisms introduced for chroma correction, the present invention also introduces rescaling for CB content by considering its characteristics. More specifically, instead of performing rescaling using all samples in a neighborhood of a pixel, only samples belonging to the same view are considered for rescaling. Furthermore, view samples are generated again by considering their sample positions in the CB placement as to ensure proper 3D content reconstruction. In a certain implementation this can be done by first deinterleaving the content to generate the separate views, optionally replacing the missing samples, and then resampling the two views separately. Finally the images are interleaved using the CB pattern once more. In an alternative embodiment, this process could be done without performing deinterleaving but appropriately designing filters for each pixel position given its view correspondence (i.e. assuming separable filters these could be of the form [a2 0 a1 0 a0 0 a1 0 a2] etc).
The above description could be generalized for signals comprising of multiple views more than 2, or signal comprising of two or more completely separate/independent image views (non 3D) that may have been interleaved together for purposes such as exploiting the characteristics of a display or other applications (e.g., multi-player video games, driver/passenger display with different content option etc).
One embodiment involves allowing the system to select one of the views this could be done by the user or maybe by other metadata included somewhere else in the chain, deinterleaving this particular view, interpolating this view and only this view and then transmitting that view to a display device. The selection of the view could be done at the start of the sequence, every GOP, or adaptively given the signaling of the metadata information. This process would enable non 3-D displays to still display the content in a 2-D mode enabling backwards display compatibility. In other embodiments, the views interleaved are not 3-D views, but instead entirely different images or video sequences.
In one embodiment, as shown in FIG. 6, a device according to the present invention is configured such that both views are deinterleaved, upscaled from CB to full resolution and then, using two “parallel” HDMI channels send to different displays or send to a display that uses a different 3D displaying method that assumes the use of full resolution images. In an alternative, these two upconverted views are again re-multiplexed. Multiplexing can still occur using the checkerboard method. The provision of two HDMI (or other) outputs and the corresponding functionality may also be provided in a different arrangement of formats for the two images (i.e. full left view first, right view second, or left view row first, right view row second etc).
Although the present invention has been described herein with reference to 3D views interleaved, encoded, decoded, and corrected, it should again be clarified that the present invention does not require, nor should it be limited to 3D views, or views at all, and is more generally described as the color format/sampling conversion and/or, if needed, correction of data errors due to some type of conversion that fails to take into account the interleaved format of the data sets. The present invention may be applied to any data stream using any type of interleaving method (checkerboard, line-by-line, etc.). The devices and processes of the present invention may be applied to data sets of any type or mixed types, including audio or general data information.
In describing preferred embodiments of the present invention illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the present invention is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner. For example, when describing an HDMI interface, any other equivalent device, or any device having at least part of the functionality of an HDMI device should be considered, such as, for example, DVI, RGB, or other data/information interfaces or any other device having an equivalent function or capability, whether or not listed herein. Furthermore, the inventors recognize and have specifically stated that newly developed technologies not now known may also be substituted for the described parts and still not depart from the scope of the present invention. All other described items, including, but not limited to interfaces, buffers, conversion processes, interleaving arrangements (or formats), coding, decoding, and display techniques, etc should also be considered in light of any and all available equivalents.
Portions of the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.
Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art based on the present disclosure.
The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD's), optical discs, DVD, HD-DVD, Blue-ray, CD-ROMS, CD or DVD RW+/−, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards, memory sticks), magnetic or optical cards, SIM cards, MEMS, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data.
Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing the present invention, as described above.
Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to, substituting chroma samples, averaging samples, interpolating samples, extrapolating samples, filtering samples including averaging and weighted averaging multiple samples, recognizing patterns of corrupted samples, applying correction schemas, recognizing user or other inputs to direct 2-D or 3-D displays, and the display, storage, or communication of results according to the processes of the present invention.
The present invention may suitably comprise, consist of, or consist essentially of, any of element (the various parts or features of the invention) and their equivalents as described herein. Further, the present invention illustratively disclosed herein may be practiced in the absence of any element, whether or not specifically disclosed herein. Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of claims to be included in a subsequently filed utility patent application, the invention may be practiced otherwise than as specifically described herein.
By way of further examples, in various embodiments, the invention comprises, and may be embodied, as, for example:

## Claims

1. A method, comprising the step of correcting a sample error in at least one pixel of a first image in a video stream, wherein the video stream comprises a checkerboard arrangement of two views of 3D video content, said video stream comprising a first colorspace and the sample error comprises color bleeding from a pixel of a second image in the video stream, wherein the color bleeding comprises bleeding induced by an up-conversion of a frame containing the first image and the second image, the method comprising:
performing a color conversion to a second colorspace;
applying a correction schema by which at least one incorrect color sample in the first image is replaced by a replacement color sample derived from at least one correct color sample of the same image;
wherein the correction schema comprises a schema retrieved from a database of schemas; and
wherein the step of correcting comprises substituting an incorrect color sample in the first image by a correct neighboring color sample of the same image.

2. The method according to claim 1, wherein the up-conversion comprises a color space conversion.

3. The method according to claim 1, wherein applying the correction schema comprises recognizing a known pattern of color errors in the frame and applying a specific correction schema associated with the recognized pattern of errors to correct or minimize the errors.

4. The method according to claim 1, wherein the images are left and right views of a stereo pair.

5. The method according to claim 1, further comprising the step of recognizing an up-converted interleaved video stream and enabling the step of correcting.

6. A correction device, comprising:
a correction mechanism configured to correct color errors in a video data stream, the video data stream comprises a first colorspace and a checkerboard arrangement of two views of 3D video content;
wherein the errors comprise data bleeding between different portions of the data stream due to an operation performed on the data stream not intended for a format of the different portions;
wherein the different portions represent separate images each comprising left and right views of a 3D image;
wherein the separate images are images of a same frame in the video stream, and the operation comprises a video image format conversion;
wherein the correction device is configured to perform a color conversion to a second colorspace and apply a correction schema after identifying a need for correction via comparison of different views of the same image, said correction scheme in which at least one incorrect color sample in one of the separate images is replaced by a replacement color sample derived from at least one correct color sample of the same image;
a recognition device configured to recognize an error pattern in the data stream; and
a set-up device configured to set up the correction mechanism to correct the recognized error pattern, said correction mechanism configured to interrogate a database of correction information and determine a best correction schema to be applied by the correction mechanism;
the correction device comprising a converter box connected to a display configured to display the images.

7. The correction device according to claim 6, further comprising a buffer configured to temporarily store N data words from at least one portion of the data stream near an error; wherein the correction mechanism is further configured to correct the error via one of substitution, filtering, interpolation, and extrapolation of at least one of the N data words.

8. The correction device according to claim 6, further comprising a selection device configured to select a correction schema for the error correction.

9. A system, comprising:
a media source comprising a decoder configured to decode a video stream, the video stream comprising a first colorspace and a checkerboard arrangement of two views of 3D video content and an up-converter configured to up-convert the decoded video stream;
a correction device configured to correct conversion errors in the up-converted decoded video stream;
wherein the conversion errors comprise bleeding between two separate data portions within a frame of the up-converted decoded video stream;
wherein the separate data portions represent separate images;
wherein the correction device is configured to perform a color conversion to a second colorspace and apply a correction schema by which at least one incorrect color sample in one of the separate images is replaced by a replacement color sample derived from at least one correct color sample of the same image;
wherein the correction schema comprises a schema retrieved from a database of schemas maintained in a playback device having at least one output to a display;
a selection mechanism configured to accept a selection comprising one of the separate images and cause the selected image and any corresponding images within the stream to be output after correction, wherein the selected image and corresponding images comprises one channel of a pair of 3D images, and wherein correction is applied after determining identifying a need for correction via a close match on opposing diagonals of image data of the corresponding images.

10. The system according to claim 9, wherein applying the correction schema comprises recognizing a known pattern of color errors in the frame and applying a specific correction schema associated with the recognized pattern of errors to correct or minimize the errors.

11. The system according to claim 9, wherein the decoder is signaled using metadata in the video stream.

12. The system according to claim 9, wherein the two separate portions comprise left and right channels of a pair of 3D images.

13. The system according to claim 9, wherein data values of the separate images are interleaved within the frame.

14. The system according to claim 13, the display configured to receive the frame containing the separate images, and further configured to receive the separate images via separate input channels.