3D Blue ray video format

Post Reply
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

3D Blue ray video format

Post by gogojaijai »

Hi All,

According to the HDMI 1.4a spec, 3D Blue ray video uses the frame packing for transmission over HDMI as shown in below

Image

The active space in between the Left and Right iamge is 45 pixels, my question is that when and how the active space pixel insert to the packing? Will it be inserted to the Left and Right iamge after they have been decoded? If so, if the input video is YUV4:2:0, then shall the video be converted to YUV 4:4:4, and then insert the active space in between?

Anyone could explain it in more detail? Thank you very much.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

You confuse HDMI formats with Blu-ray encoding format, which uses MPEG-4/H.264/AVC video compression with Multiview Video Coding extensions, and YCbCr 4:2:0 is the color space and chroma subsampling format used by the relevant High and Stereo High profles.

Even though HDMI link does support uncompressed YCbCr 4:2:2, it is an entirely optional format, and YCbCr 4:2:0 is not supported at all. In practice, HDMI devices only support 24-bit RGB encoding (RGB color space with 8 bit per color component), with optional DeepColor capability for 30, 36, or 48 bits per pixel.

Register at http://www.HDMI.org" onclick="window.open(this.href);return false; to download a free HDMI 1.3a specification and a 3D excerpt form the HDMI1.4a documentation (or just find the links in the relevant Wikipedia article).
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

Re: 3D Blue ray video format

Post by gogojaijai »

I see what you mean, but what i concerned was that how to add the active space between Left and Right image for frame packing. let's say I have a YUV4:2:0 encoded 3D video, but I want to use frame packing for transmitting over HDMI, so according what you said, HDMI supports RGB, and it means I need to convert it to YUV4:4:4 first, and then insert the active space between the Left and Right image, then convert the entire image to RGB for transmitting over HDMI. is my understand correct? In addition, who will the active space insertion? Display card?

Thank you very much.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

You can't transmit the frame packing format from the PC by just preparing a top-bottom picture with a blanking space in the middle. HDMI 3D does not even rely on EDID, it requires very specific InfoFrame messages which are transmitted in Control Island periods, separately from audio/video data. The video card driver needs to support the HDMI 3D formats and provide control API to applications, and currently no video driver software does it.

3D Portion Of HDMI Version 1.4 Available For Download


So far, Nvidia has announced the "3DTV Play" driver which should enable 3D gaming and Blu-ray playback on recent 3DTVs which support HDMI 3D, but this is basically a standalone version of the 3D Vision driver, and applications need to program against the proprietary NVAPI in order to support stereoscopic formats.

http://www.nvidia.com/object/io_1268635315649.html" onclick="window.open(this.href);return false;
http://developer.nvidia.com/object/nvapi.html" onclick="window.open(this.href);return false;
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

Re: 3D Blue ray video format

Post by gogojaijai »

Thanks for your reply. I still have a little confuse, please clarify my following understanding, thank you very much

1. no matter what 3D format (e.g. frame packing, side-by-side full, side-by-side half) is used, I need to programming against NVAPI in order to transmit over HDMI and display correctly?
2. If above understanding is right, then does StereoMovie Player or Stereoscopic Player all program against NVAPI?
3. One use case is that I have a side-by-side (full) input video, but I need to use frame packing format to transmit over HDMI in order to display on the 3D TV, then what should I do?
4. Another use case is that I have a frame compactible (i.e. side-by-side half) input video, I need to transmit it over HDMI, do I need to program against NVAPI or just simply as sending 2D video over HDMI?

Thanks again.
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: 3D Blue ray video format

Post by BlackShark »

At the moment, Frame packing transmission is impossible until GPU drivers unlock them
Side by side full resolution transmission is a frame compatible format, which means that you can produce the picture without using drivers but it is unusable because no display supports it.
Side by side half resolution is a frame compatible format, which means that you can produce the picture without using drivers, however there is a catch : although you can produce the picture, you cannot produce the signalling that warns the TV that the picture is 3D, which means that the user needs to manually switch on the 3D mode in the TV menus.

If you want to have the automatic signalling for the 3D mode to turn on, you need Nvidia and ATI to update their drivers to support the 3D formats from Hdmi1.4.
Nvidia announced that this will be 3DTV play and that it will ONLY support Frame packing 10808p24 and 720p60 and nothing else.
ATI has currently not announced anything regarding hdmi 1.4 support.
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

Are you asking this from the consumer point of view, or from application developer point of view?


From a consumer point, if you have the newest LCD or plasma 3DTV released in 2010, it most certainly supports both
a) HDMI 3D mandatory formats for standalone Blu-ray 3D players and Playstation 3, that is frame packing 1080p24 stereo and 720p60 stereo - these will work automatically with any supporting device and future 3DTV Play driver from NVidia, and
b) "manual" half-resolution formats such as top-bottom, side-by-side, checkerboard, line-interleaved, and column interleaved, which should be enabled manually in the menu - these are intended to work with the PC using standard VESA modes.

Older 3D DLP sets and 3D plasma TV sets only support checkerboard method over 1080p60 from the PC.


So if you want to play custom DVDs and video files encoded in a "frame compatible" format such as top/bottom or side-by-side,

a) for latest 3DTVs you can either send the stereoscopic video to the display directly from the PC using a standard video player, or (for higher-end sets) play it from USB media attached to the TV
b) for older checkerboard-only TVs, the stereoscopic video player software will convert the source format to match the output format for you (Stereoscopic Player, sView etc.)
c) for 3D Vision compatible monitors and projectors, you should use stereoscopic video player which specifically supports 3D Vision (such as a custom version of Stereoscopic Player)


If you want to play Blu-ray 3D from the PC, you need a supporting Blu-ray 3D player software such as CyberLink PowerDVD 10, which supports checkerboard output format; AFAIK no software Blu-ray 3D players curently support 3D Vision, the playback is only possible on 3DTVs with half-res "frame compatible" formats.

There are also proprietary DVDs encoded with Sensio format; they need external decoding software and.


As an application developer, you will most certainly not encounter any stereoscopic movies encoded in "frame packing" or "checkerboard" formats - these are only used for display link. Most strereo titles are encoded with either side-by-side or top/bottom using 1080i60 or 720p60 formats.

Blu-ray 3D is encoded in H.264/AVC with Multiview Video Coding extensions, that is basically two separate 1080p24 video streams encoded as "left eye" and "difference between left and right eye".

So to support multiple output modes, you do need to decode the images into two full-resolution RGB pictures, then re-encode them to match the output device. Things like dual output, checkerboard, line/column interleaved and top-bottom/side-by-side are quite easy to implement, however you need to program multimonitor support into your application in order to use the HDMI output on the video card.

As for H.264 and MVC, free-source (but not patent-free) implementations like x264 don't support it yet, but you're probably not as crazy as to start your own Blu-ray player application, so I won't elaborate further :)

3D Vision glasses on a computer monitor or 3D DLP requires coding against NVAPI. If you want to use 3DTV Play driver to work with HDMI 3D formats, you need to support both multimonitor and NVAPI. iZ3D monitor support requires SDK from iZ3D. For anaglyph, you're probably going to find a lot of free code samples, since there are thankfully no patents in force.

Hopefully that clears the matter for you.
Last edited by DmitryKo on Tue Jun 08, 2010 5:48 am, edited 1 time in total.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

BlackShark wrote:Side by side full resolution transmission is a frame compatible format
Side by side half resolution is a frame compatible format
Only half-resolution side-by-side 720p60 or 1080i60 and half-res top/bottom 720p60/1080i60 are considered "frame compatible", i.e. the same resolution and bandwidth as standard broadcast HDTV (if and when there will be 1080p60 broadcasting, similar progressive encoded modes will also be "frame compatible").

Full-resolution side-by-side and top-bottom are certainly not "frame compatible" in any meaning.
although you can produce the picture, you cannot produce the signalling that warns the TV that the picture is 3D, which means that the user needs to manually switch on the 3D mode in the TV menus
Yes, but Samsung C7000/C8000 series have a stereo 3D auto-detect mode which works with 1080i60, 1080p24 and 720p60 signal encoded in top/bottom or side-by-side, although for some reason it doesn't work in 1080p60 or with checkerboard and line/row interleaved formats.
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: 3D Blue ray video format

Post by BlackShark »

There is no official definition to frame compatibility, so I consider it to be anything that fits the left and right eye views in a single frame (no matter what resolution) and can be created and transmitted through interfaces designed for 2D content in a totally transparent way.
If you want to stick to HDTV bandwidth, then it's an additional restriction so I would call it "HDTV frame compatible" or something similar.
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

BlackShark wrote:There is no official definition to frame compatibility... If you want to stick to HDTV bandwidth, then it's an additional restriction
EBU defines "frame compatible" as half-resolution stereo, specifically side-by-side, over/under, line interleaved and checkerboard, compatible with HDTV broadcast formats which can be deployed in existing infrastructure, as opposed to new technologies such as two-stream simulcast, H.264 MVC, 2D+depth etc. which require new broadcasting infrastructure.

google.com/?q="frame+compatible"+site:ebu.ch
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: 3D Blue ray video format

Post by BlackShark »

In this case side by side 2x FullHD "full res" is well half the horizontal resolution of the equivalent 2D transmission, the rule is respected.
Frame compatibility is independent from the frame size. You can have FullHD frame compatibility, 720p frame compatibiliy, SD frame compatibility, or whatever bizzare non standard frame size you want (or maybe i should say, any frame size your hardware can support)
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

BlackShark wrote:In this case side by side 2x FullHD "full res" is well half the horizontal resolution of the equivalent 2D transmission
Again, you are taking this out of context of current HDTV broadcasting formats defined in relevant ATSC and ETSI/DVB standards. The purpose of "frame compatible" formats is to retain the production chain and avoid replacing broadcast equipment and existing set-top-boxes, since this format is basically the same 1080i50/i60/p24 or 720p50/p60 signal used by HDTV broadcasts and can be passed down the chain just like standard monoscopic HDTV signal. Your hypothetical "3840x1080 p60" side-by-side format is not currently used anywhere, so it's "frame-compatible" with nothing.
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: 3D Blue ray video format

Post by BlackShark »

DmitryKo wrote:
BlackShark wrote:In this case side by side 2x FullHD "full res" is well half the horizontal resolution of the equivalent 2D transmission
Again, you are taking this out of context of current HDTV broadcasting formats defined in relevant ATSC and ETSI/DVB standards. The purpose of "frame compatible" formats is to retain the production chain and avoid replacing broadcast equipment and existing set-top-boxes, since this format is basically the same 1080i50/i60/p24 or 720p50/p60 signal used by HDTV broadcasts and can be passed down the chain just like standard monoscopic HDTV signal. Your hypothetical "3840x1080 p60" side-by-side format is not currently used anywhere, so it's "frame-compatible" with nothing.
There is nothing wrong in wanting to use the current broadcast infrastructure and spare some R&D money by not redesigning the entire display industry by forcing new standards built from the ground up for 3D. But that is not the point of my arguing.

The issue I have is that the expression "frame compatible" does not contain any mention of size of the frame, all it says is that whatever data you want to transmit, it must fit into a frame and that's about it. The frame can be any size you want, any bit depth you want, the video can run at any frame rate I don't care.
"Frame compatible" is not a format, it's not a standard, it's only a method.

If you want to imply 2D HDTV infrastructure compatibility, then feel free to mention frame compatibility (because it is) but don't forget that frame compatibility is a much more generic term that covers much more than just HDTV so the other way around is not true.
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

BlackShark wrote:The issue I have is that the expression "frame compatible" does not contain any mention of size of the frame
No, it doesn't, just like many other video-related terms like "interlaced" and "HDTV". Similarily, "frame compatible" is just a property that applies to several specific video formats, in particular 1080i60, 1080p24 and 720p60 stereo signals encoded in half-resolution top-bottom and side-by-side formats.
If you want to imply 2D HDTV infrastructure compatibility, then feel free to mention frame compatibility
Thank you, it's a relief :P
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

Re: 3D Blue ray video format

Post by gogojaijai »

DmitryKo wrote:Are you asking this from the consumer point of view, or from application developer point of view?


From a consumer point, if you have the newest LCD or plasma 3DTV released in 2010, it most certainly supports both
a) HDMI 3D mandatory formats for standalone Blu-ray 3D players and Playstation 3, that is frame packing 1080p24 stereo and 720p60 stereo - these will work automatically with any supporting device and future 3DTV Play driver from NVidia, and
b) "manual" half-resolution formats such as top-bottom, side-by-side, checkerboard, line-interleaved, and column interleaved, which should be enabled manually in the menu - these are intended to work with the PC using standard VESA modes.

Older 3D DLP sets and 3D plasma TV sets only support checkerboard method over 1080p60 from the PC.


So if you want to play custom DVDs and video files encoded in a "frame compatible" format such as top/bottom or side-by-side,

a) for latest 3DTVs you can either send the stereoscopic video to the display directly from the PC using a standard video player, or (for higher-end sets) play it from USB media attached to the TV
b) for older checkerboard-only TVs, the stereoscopic video player software will convert the source format to match the output format for you (Stereoscopic Player, sView etc.)
c) for 3D Vision compatible monitors and projectors, you should use stereoscopic video player which specifically supports 3D Vision (such as a custom version of Stereoscopic Player)


If you want to play Blu-ray 3D from the PC, you need a supporting Blu-ray 3D player software such as CyberLink PowerDVD 10, which supports checkerboard output format; AFAIK no software Blu-ray 3D players curently support 3D Vision, the playback is only possible on 3DTVs with half-res "frame compatible" formats.

There are also proprietary DVDs encoded with Sensio format; they need external decoding software and.


As an application developer, you will most certainly not encounter any stereoscopic movies encoded in "frame packing" or "checkerboard" formats - these are only used for display link. Most strereo titles are encoded with either side-by-side or top/bottom using 1080i60 or 720p60 formats.

Blu-ray 3D is encoded in H.264/AVC with Multiview Video Coding extensions, that is basically two separate 1080p24 video streams encoded as "left eye" and "difference between left and right eye".

So to support multiple output modes, you do need to decode the images into two full-resolution RGB pictures, then re-encode them to match the output device. Things like dual output, checkerboard, line/column interleaved and top-bottom/side-by-side are quite easy to implement, however you need to program multimonitor support into your application in order to use the HDMI output on the video card.

As for H.264 and MVC, free-source (but not patent-free) implementations like x264 don't support it yet, but you're probably not as crazy as to start your own Blu-ray player application, so I won't elaborate further :)

3D Vision glasses on a computer monitor or 3D DLP requires coding against NVAPI. If you want to use 3DTV Play driver to work with HDMI 3D formats, you need to support both multimonitor and NVAPI. iZ3D monitor support requires SDK from iZ3D. For anaglyph, you're probably going to find a lot of free code samples, since there are thankfully no patents in force.

Hopefully that clears the matter for you.
Thanks for your answer, but I am still in puzzle. Let me put things easy, I am talking in the developer's point of view, and talking about a E2E system including encoder, decoder, PC, and 3DTV display (Samsung C7000 series).

Conditions:
1. 3D video is encoded by using either H.264 or H.264/MVC extension
2. 3D video is decoded by using either traditional H.264 decoder or H.264/MVC extension decoder
3. 3D video is playback by using MPlayer via PC, the video card is nvidia GTX480
4. 3D video is display on the 3DTV (i.e samsung C7000 series, active shuttle glasses)
5. 3D video is transmitted over DVI or HDMI.

Case 1:
Side-by-side (half res) 3D video (i.e. left and right images are downsampled to compose a 1920*1080 image) is applied and encoded by using H.264, then it can be decoded by using traditional decoder and playback via PC to display in the 3DTV. In this case, the 3DTV can not detect the signal, I need to manually set the 3DTV to 3D mode, then the TV can separate the incoming side-by-side (half res) 3D video, and display the left and right image sequentially. Does this case work? If so, my question is that do I need to control the output frequency or timing from the video card? Do I need to program against video card to control the HDMI?

Case 2:
Side-by-side (full res) 3D video (i.e. left and right images are composed to a 3840*1080 image is applied and encoded by using H.264, then it can be decoded by using traditional deocder and playback via PC, because the current 3DTV (samsung C7000 series) does not support side-by-side (full res), right? If so, then I need to composed the left and right image by using 'frame packing' in order to tranmit them over HDMI and display them in the 3DTV, then my question is that does this case work? Same question as above, do I need to do any programming? If so, program agains what? Who will do the 'frame packing' work? How to control them output from video card?

Case 3:
Left and Right images are encoded by using H.264/MVC, then it needs to be decoded by using H.264/MVC decoder, so the decoded left and right image need to be composed by using frame packing method in order to transmit over HDMI, right? If so, how to do these packing work? As you mentioned, this case considers multi output mode, what does multi output mode mean? Why needs to consider multi output mode?

By the way, what does the video card do in the above cases?What is it for? Do I have to use HDMI interface or other interface (e.g. DVI) could be used?

I am not sure whether I have explained my purpose clearly or not . Sorry for any misunderstanding.

Thank you very much.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

gogojaijai wrote:I am talking in the developer's point of view, and talking about a E2E system including encoder, decoder, PC, and 3DTV display (Samsung C7000 series)
The way you describe it, you're not really an application developer (i.e. the person who needs to program video player software which supports stereoscopic playback), but rather a system integrator who needs to to provide relevant software and hardware for some specific task and make sure they work together, so you actually need to look at this solution from the end-user point of view. Sorry if I got it wrong, but I don't see what exactly do you need to program. Either way, you should have basic understanding of how the whole system works, which you seem to lack now.
Case 1: Side-by-side (half res) 3D video (i.e. left and right images are downsampled to compose a 1920*1080 image) is applied and encoded by using H.264
You just attach the 3DTV to the HDMI port and play back the video. The set might autodetect the stereo signal; if it doesn't, just activate the stereo mode in the menu.

If you need to play video on the secondary monitor only, the user has to take some simple steps order to configure span modes (BTW Windows 7 makes multimonitor setups a bit easier); applications can not and should not program these settings through the Windows API.
Case 2: Side-by-side (full res) 3D video (i.e. left and right images are composed to a 3840*1080 image is applied and encoded by using H.264
This will only work with a 3DTV if the video player supports this extended format and programs against NVAPI; you'll probably need a 3DTV Play driver installed and the maximum reolution will be 1080p24 (not 1080i60 or 1080p60) AFAIK, playing back stereoscopic video trough NVAPI involves programming against DXVA with a special video surface format.

Another option is to re-encode the video to a "frame compatible" half-res format, then use Case 1.

As I said earlier, one can not just compose a "frame packing" format and send it to the 3DTV, since there is no way for applications to directly control the HDMI InfoFrames through the video driver. The video player software can only draw the video overlay window and present video stream to the overlay, either by using DXVA hardware acceleration to decode video, or by doing all the decoding on the CPU.
Case 3: Left and Right images are encoded by using H.264/MVC, then it needs to be decoded by using H.264/MVC decoder
Basically the same as Case 2.

You will need an external 3rd party MVC decoder or a video player with direct support for MVC, however currently there are none AFAIK.

multi output mode, what does multi output mode mean? Why needs to consider multi output mode?
Modern video cards can have multiple monitor outputs, that is DVI or VGA for an LCD monitor and HDMI or component YPbPr for a TV set. Windows Vista and above natively supports multimonitor configurations, while Windows XP relies on video driver extensions.

There are two modes in multimonitor support: 1) the spanning mode, where the two monitors form an extended continuous desktop, and 2) clone mode, where the the secondary monitor displays the same picture as on the primary monitor, probably scaled to fit a different resolution.

You have to consider spanning mode if you need to play video on the secondary HDMI output only, and need a regular Windows desktop on the primary computer monitor. The video player application needs to support multimonitor configurations, so that full-screen playback properly adjusts to fit the secondary monitor only.
By the way, what does the video card do in the above cases?What is it for?
The video card provides DXVA acceleration for video decoding and supports multiple output devices.
Do I have to use HDMI interface or other interface (e.g. DVI) could be used?
You can use either ports to connect the TV set, and you can use HDMI-to-DVI or DVI-to-HDMI cables and passive adapters since HDMI and DVI are fully compatible up to 1080p60 24-bit RBG (DVI mode does not support audio though).
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

Re: 3D Blue ray video format

Post by gogojaijai »

DmitryKo wrote:
gogojaijai wrote:I am talking in the developer's point of view, and talking about a E2E system including encoder, decoder, PC, and 3DTV display (Samsung C7000 series)
The way you describe it, you're not really an application developer (i.e. the person who needs to program video player software which supports stereoscopic playback), but rather a system integrator who needs to to provide relevant software and hardware for some specific task and make sure they work together, so you actually need to look at this solution from the end-user point of view. Sorry if I got it wrong, but I don't see what exactly do you need to program. Either way, you should have basic understanding of how the whole system works, which you seem to lack now.
Case 1: Side-by-side (half res) 3D video (i.e. left and right images are downsampled to compose a 1920*1080 image) is applied and encoded by using H.264
You just attach the 3DTV to the HDMI port and play back the video. The set might autodetect the stereo signal; if it doesn't, just activate the stereo mode in the menu.

If you need to play video on the secondary monitor only, the user has to take some simple steps order to configure span modes (BTW Windows 7 makes multimonitor setups a bit easier); applications can not and should not program these settings through the Windows API.
Case 2: Side-by-side (full res) 3D video (i.e. left and right images are composed to a 3840*1080 image is applied and encoded by using H.264
This will only work with a 3DTV if the video player supports this extended format and programs against NVAPI; you'll probably need a 3DTV Play driver installed and the maximum reolution will be 1080p24 (not 1080i60 or 1080p60) AFAIK, playing back stereoscopic video trough NVAPI involves programming against DXVA with a special video surface format.

Another option is to re-encode the video to a "frame compatible" half-res format, then use Case 1.

As I said earlier, one can not just compose a "frame packing" format and send it to the 3DTV, since there is no way for applications to directly control the HDMI InfoFrames through the video driver. The video player software can only draw the video overlay window and present video stream to the overlay, either by using DXVA hardware acceleration to decode video, or by doing all the decoding on the CPU.
Case 3: Left and Right images are encoded by using H.264/MVC, then it needs to be decoded by using H.264/MVC decoder
Basically the same as Case 2.

You will need an external 3rd party MVC decoder or a video player with direct support for MVC, however currently there are none AFAIK.

multi output mode, what does multi output mode mean? Why needs to consider multi output mode?
Modern video cards can have multiple monitor outputs, that is DVI or VGA for an LCD monitor and HDMI or component YPbPr for a TV set. Windows Vista and above natively supports multimonitor configurations, while Windows XP relies on video driver extensions.

There are two modes in multimonitor support: 1) the spanning mode, where the two monitors form an extended continuous desktop, and 2) clone mode, where the the secondary monitor displays the same picture as on the primary monitor, probably scaled to fit a different resolution.

You have to consider spanning mode if you need to play video on the secondary HDMI output only, and need a regular Windows desktop on the primary computer monitor. The video player application needs to support multimonitor configurations, so that full-screen playback properly adjusts to fit the secondary monitor only.
By the way, what does the video card do in the above cases?What is it for?
The video card provides DXVA acceleration for video decoding and supports multiple output devices.
Do I have to use HDMI interface or other interface (e.g. DVI) could be used?
You can use either ports to connect the TV set, and you can use HDMI-to-DVI or DVI-to-HDMI cables and passive adapters since HDMI and DVI are fully compatible up to 1080p60 24-bit RBG (DVI mode does not support audio though).
Your understanding are mostly right, I am more like a system integrator.

The matter bothers me is that how come the first case 1 does not need to program agains NVAPI, but the case 2 (side-byside full res or frame packing) needs to do so? Why need to control the HDMI InfoFrame by using 'frame packing' method, and others does not need to?

What if I want to provide full res 3D video service, I have to use 'frame packing' method, but this method seems to be have difficulty at the moment, right? So what could I do?

BTW what does DXVA stand for?

Thank you very much.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

gogojaijai wrote:The matter bothers me is that how come the first case 1 does not need to program agains NVAPI, but the case 2 (side-byside full res or frame packing) needs to do so? Why need to control the HDMI InfoFrame by using 'frame packing' method, and others does not need to?
Because "frame-compatible" modes are technically standard HDTV signal (that is 1080i60, 1080p60, 1080p24 or 720p60) and it uses standard Infoframes that exist since HDMI 1.0, so they have broad support by now.

HDMI 3D modes (and the mandatory "frame packing" modes in particular) require Inframe extensions for a proper transmission over HDMI, which were first defined in HDMI 1.4 and which are not currently supported by video card drivers yet (and the lack of industry-wide full-resolution stereo standard on the PC is simply frustrating; hopefully gradual introduction of DisplayPort in stereo displays will change that).
What if I want to provide full res 3D video service, I have to use 'frame packing' method, but this method seems to be have difficulty at the moment, right? So what could I do?
If you absolutely need to use full-resolution 1080p24 video and play it from PC on a 3DTV, your only option is Nvidia card, a future 3DTV Play driver and a compatible stereoscopic player.

Also, consider one of these "3D Ready" 120 Hz 720p DLP projectors; they feature their own DLP-Link protocol which should work with an AMD/ATI videocard in a future version of ATI drivers, however, right now there are no video player software that supports DLP-Link output.
BTW what does DXVA stand for?
DirectX Video Acceleration API.
User avatar
BlackShark
Certif-Eyable!
Posts: 1156
Joined: Sat Dec 22, 2007 3:38 am
Location: Montpellier, France

Re: 3D Blue ray video format

Post by BlackShark »

If you want full resolution, there is also one other possibility : this is to use a dual-projector solution. In this case you can use any graphics card you want as long as it has at least 2 video outputs, and use software on the computer that is capabe of sending one eye view for each display.

There are numerous ways to achieve this using various computer configurations.
For example you can store your full resolution video side by side in a 3840x1080 frame, set your displays to use windows span function and playback the video directly in any 2D video player.
Passive 3D forever !
DIY polarised dual-projector setup :
2x Epson EH-TW3500 (2D 1080p)
Xtrem Screen Daylight 2.0, for polarized 3D
3D Vision gaming with signal converter : VNS Geobox 501
gogojaijai
One Eyed Hopeful
Posts: 8
Joined: Mon Jun 07, 2010 7:13 am

Re: 3D Blue ray video format

Post by gogojaijai »

If you absolutely need to use full-resolution 1080p24 video and play it from PC on a 3DTV, your only option is Nvidia card, a future 3DTV Play driver and a compatible stereoscopic player.


What model's Nvidia card? How about GTX 480? 3DTV Play driver is from Nvidia, isn't it? Have you got any idea when it will be released?

By the way, I have another two questions
1. If my device that has a 1.3a version HDMI, can it be upgraded to HDMI 1.4 by using its drivers?
2. If side-by-side half res is used, there is a upsampling processing which is done by 3D TV, do you know any way I can implement my own upsampling algrithm? Otherwise, the 3D image quality highly depends on the 3D TV's upsampling algrithm, right?

Thank you.
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

gogojaijai wrote:What model's Nvidia card? How about GTX 480? 3DTV Play driver is from Nvidia, isn't it? Have you got any idea when it will be released?
If my device that has a 1.3a version HDMI, can it be upgraded to HDMI 1.4 by using its drivers?
Check these two links please, it's everything we currently know.
http://www.nvidia.com/object/io_1268635315649.html" onclick="window.open(this.href);return false;
http://www.nvidia.com/object/3d-tv-play.html" onclick="window.open(this.href);return false;
If side-by-side half res is used, there is a upsampling processing which is done by 3D TV, do you know any way I can implement my own upsampling algrithm?
Yes.

First, ensure that your own algorythm is vastly superior to bicubic interpolation algorythm, which has been known for decades.

Second, call Samsung and ask them to provide you with the source code of the TVs firmware, then code your upsampling algorythm into the source code, compile it with relevant SDK tools for the embedded platform tha Samsung uses, and update the 3DTV with your customized firmware.

Excuse my sarcasm, but maybe you should take a deep breath and try to think about the answers that have already been given to you, rather then ask new questions.
User avatar
fReAq
Two Eyed Hopeful
Posts: 65
Joined: Mon Apr 23, 2007 3:44 am
Location: Sydney, Australia

Re: 3D Blue ray video format

Post by fReAq »

Lol! That is the best sarcasm evar!
jhonsadins
One Eyed Hopeful
Posts: 5
Joined: Tue Jul 06, 2010 5:14 am

Re: 3D Blue ray video format

Post by jhonsadins »

"3DTV Play" driver which should enable 3D gaming and Blu-ray playback on recent 3DTVs which support HDMI 3D, but this is basically a standalone version of the 3D Vision driver, and applications need to program against the proprietary NVAPI in order to support stereoscopic formats.
mickeyjaw
Cross Eyed!
Posts: 131
Joined: Sun Feb 15, 2009 12:50 pm

Re: 3D Blue ray video format

Post by mickeyjaw »

DmitryKo wrote:but you're probably not as crazy as to start your own Blu-ray player application
Maybe he isn't but magestik is, and so am I. I don't think anyone else will make a 3D BR player for linux, so we will (try to) do it ourselves. Expect a proper announcement in a few weeks or so - we both need new hardware first. There is source code available for a reference MVC decoder which I am playing with right now. Hopefully we can merge it into x.264 in the long run.
DmitryKo wrote:call Samsung and ask them to provide you with the source code of the TVs firmware, then code your upsampling algorythm into the source code, compile it with relevant SDK tools for the embedded platform tha Samsung uses, and update the 3DTV with your customized firmware.
No need to get on the phone, the source code is here:

http://opensource.samsung.com/

and a guide to building and flashing your own samsung firmware, including toolchain is here (slightly outdated, but where is the fun of simply copying other's work?):

http://sourceforge.net/apps/mediawiki/s ... =Main_Page
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

mickeyjaw wrote:No need to get on the phone, the source code is here: http://opensource.samsung.com/
This is the standard Linux code and derivative open source code as required by LGPL; no proprietary code is redistributed this way.
mickeyjaw wrote: a guide to building and flashing your own samsung firmware, including toolchain is here (slightly outdated
As advanced as it may seem, it's about modifying existing binary files, not "building your own firmware".
mickeyjaw
Cross Eyed!
Posts: 131
Joined: Sun Feb 15, 2009 12:50 pm

Re: 3D Blue ray video format

Post by mickeyjaw »

DmitryKo wrote:This is the standard Linux code and derivative open source code as required by LGPL; no proprietary code is redistributed this way.
Yep, and even if you had the full source to the TV app, you would find that the scaling is done by a dedicated HW accelerator on/off the SOC, as a 600mhz arm11 is probably at least an order of magnitute short of enough grunt to handle scaling 1080p/60 video anyway.
DmitryKo wrote:As advanced as it may seem, it's about modifying existing binary files, not "building your own firmware".
Wrong. Although the site does include details of some firmware hacks with a hex editor to enable 'hidden' features, if you look there _IS_ a guide to flashing custom firmware built using the OpenEmbedded toolchain. Many people like to build/upload a new set of kernel modules to add support for non-samsung usb peripherals such as wifi sticks, ethernet adaptors etc (and place a sensible list of USB id's against the ralink wifi drivers already supplied, which otherwise disallows anything not made by samsung).

Also adding SMB/NFS mounting support for streaming over the network, and extra GNU tools into the firmware such as OpenSSH, ftp etc is quite popular too. Plus don't forget the ports of MAME, ScummVM, a web browser project, an 8bit atari emulator. Hell, even running full debian in a chroot is possible, like I have been doing on various bits and pieces of linux-based technology for years. Hardly 'modifying existing binary files' is it?
mickeyjaw
Cross Eyed!
Posts: 131
Joined: Sun Feb 15, 2009 12:50 pm

Re: 3D Blue ray video format

Post by mickeyjaw »

edit: double post
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

mickeyjaw wrote: Many people like to build/upload a new set of kernel modules to add support for non-samsung usb peripherals such as wifi sticks, ethernet adaptors etc (and place a sensible list of USB id's against the ralink wifi drivers already supplied, which otherwise disallows anything not made by samsung).
Hardly 'modifying existing binary files' is it?
Unless they somehow obtained the proprietary source code from Samsung (or reverse engineered the binary files to get very rough and unannotated source code), they do hack around compiled machine code provided in the binary files of the released firmware, even though this can probably get as far as patching in entire new libraries and support for 3rd party hardware. They can get away with this because all current generations of Samsung TVs (starting from 2007) are currently based on the same hardware (I heard there are only two varities of motherboards for the entire model line-up).
mickeyjaw
Cross Eyed!
Posts: 131
Joined: Sun Feb 15, 2009 12:50 pm

Re: 3D Blue ray video format

Post by mickeyjaw »

gogojaijai wrote:If side-by-side half res is used, there is a upsampling processing which is done by 3D TV, do you know any way I can implement my own upsampling algrithm?
As far as i can tell from direct observation, there is no upsampling as such. Instead, the TV *moves* the pixels into a checkerboard pattern. The checkerboarding is clearly visible if you pause some side/side or over/under content and get close to the screen.


DimitryKO:

I am still highly confused as to where you get this 'hacking binary files' from.

Although I must admit I have never owned one of these TV's (a friend has, but understandably won't let me mess with the firmware on something so new & expensive), I have made custom firmware for other linux-based devices may times before (Routers, phones, toy robots to name a few). Adding new drivers should involve not touching any of the closed-source parts at all, unless you consider putting Samsung's closed source parts into the same firmware image as your own custom GNU/Linux 'hacking binary files'.

The OS kernel, together with the added drivers, software, etc are all open-source. It's only the TV app running on top that is closed source.

'Getting away with it' wrt new hardware drivers has nothing to do with the hardware being standardised, more to do with the fact that that most of the code that actually talks directly to the hardware (i.e the operating system kernel and modules) is GPL. Reverse engineering and decompilation to add new drivers to a linux-based firmware is only needed in cases where the manufacturer doesn't honor the GPL, and AFAIK Samsung is a good corporate citizen in that respect (unlike Wowee, the makers of my robot, who built closed source binary blob drivers *into* a kernel with no loadable module support rather than loading them as modules, and despite that said blob was derived from GPL code in the first place).

What I would really like to know though, is what has changed hardware-wise with the new 3D TVs?

Is the main computing board still the same? New HDMI reciever? New image processing hardware? Or are they just charging $$$ extra because they decided to change the way the TV app composites the image onto the screen>
User avatar
DmitryKo
Diamond Eyed Freakazoid!
Posts: 776
Joined: Tue Jan 08, 2008 2:25 am
Location: Moscow, Russia

Re: 3D Blue ray video format

Post by DmitryKo »

mickeyjaw wrote:The OS kernel, together with the added drivers, software, etc are all open-source. It's only the TV app running on top that is closed source.
The original question was about implementing your own interpolation algorythm, not extending the Linux OS kernel with new drivers and services. You need to change proprietary Samsung code to do that, since it uses custom DSP chip, and the application is closed source.
Post Reply

Return to “General Stereoscopic 3D Discussion”