How could we use the mbed to generate the video signal?

29 Oct 2011

Hi guys~

I want to make a kind of privacy glasses which could make different people watch different videos with the same screen. I would like to use an active glasses and make it sinc with the video signal.

Is it possible for mbed to implement both generating the signal and blink the glasses?

As there are two videos, I think they should be displayed cross-interval,i.e.the odd lines display the first video while the even lines display the second one, then take turns. If I would like use the uVGA-II, is that means I should use 2 of them to generate the signal and make a MUX in mbed to control them? If so, I need a screen with 2 ports for VGA inputs, is that right?

Thanks a lot.

29 Oct 2011

Hi,

I don't think the mbed could do this. Either you use an analogue video signal and the mbed falls short on the ADCs and DACs or you go down the digital route and I doubt it could handle the data throughput.

There maybe be some hardware around that could help. If you could get two video signals to run to a device you could use the mbed to control a switcher that multiplexes the two onto a single screen? There are some ICs out there (LM1881 for example) that can pull the frame flyback and genlock signals from a TV signal. Maybe this could be send to the mbed to control the switching?

Martin

29 Oct 2011

Not quite sure, but I believe, that 98 % of your system will be getting the 2 video signals in synchronization.

I am guessing this might be a very specialised chip.

Ceri

29 Oct 2011

You want to alternate both the images on a single VGA screen coming from two seperate uVGA boards, problem is that the two uVGA boards are not synchronous to each other. This means when you switch over from one VGA output to the other, the monitor will loose synchronisation. Both the HSYNC and VSYNC signals from the two uVGA boards should be perfectly in sync and then you can create a video switch for the R, G and B signals.

You need an analog switch which can handle video frequencies, if you do not mind the image quality you could even use the CMOS switches like 4066 or better 4053. The 'on' resistance of these is more than 100 ohms so you need to buffer the output before sending it to the monitor.

Maybe there is a sort of slave mode possible where one uVGA board can be synced to the (sync) outputs of the other ? (this is called 'genlocking')

30 Oct 2011

Thanks to you all~

I think about it this afternoon and I have a another implementation.

I use one uVGA-II to generate 2 video signals. At the first cycle, I make the mbed control it to display the 1st frame of video A and in cycle 2 I display the 1st frame of video B and take turns.

What I need to do is to make the frequency of each video twice. I do not need to make it into slices.

I don't know whether I am right and hope you could help me~

Thanks~

31 Oct 2011

Using one uVGA would be easier and avoid the need for synchronising two of them. The best way would be when the uVGA has enough memory to store two full screens: you could write your separate image for each of the viewers in a different memory area and just switch the displayed part between the two memories. Dont know the uVGA, so cant say if it supports that.

It may be a bottleneck to update the screen content fast enough for each of the two users in case the uVGA doesnt support the double memory feature. The viewer may see the update process in progress depending on image content and on how fast the mbed can write the new data.

You still need shutterglasses to make sure that each viewer sees only the image intended for him or her. Note that the currently available shutterglasses are meant for 3D television. They typically switch between left and right eye to make sure that each eye sees only the image meant for that eye. This is not what you want, unless it is acceptable that the viewer only sees the image with one eye... So you may have to modify the shutterglasses to activate and deactivate both shutters at the same time. This may be tricky or even impossible. It certainly means you have to open up the shutterglasses and get very intimate with the electronics.

01 Nov 2011

.

01 Nov 2011

Regarding the point Wim addresses abouth the shutterglasses typically switching between the left and right eye; last week somebody told me (I just heard, didn't verify) that Sony does what Lillian wants with their shutter glasses, i.e. they activate and deactivate both shutters at the same time. They use this for the playstation game console to let two people play the game against each other without the need for a split screen mode. Now both gamers can play the game with their own view on a full screen.

Maybe you can use the shutter glasses from Sony as they already seem to have this functionality prepared?

note; I accidentally posted this before while the computer was still logged in under the name of my colleague. Sorry.

02 Nov 2011

Thanks a lot.

I have already have a pair of glasses and it actually doesn't matter whether we have 2 users or only one with their only one eye open.

I need to figure out how to program the uVGA-II and whether it allows me to control the video being sent out in each frame and be able to synchronize at each frame.

I think it is the key point.

Do you have any suggestion?

Thanks again.

R A wrote:

Regarding the point Wim addresses abouth the shutterglasses typically switching between the left and right eye; last week somebody told me (I just heard, didn't verify) that Sony does what Lillian wants with their shutter glasses, i.e. they activate and deactivate both shutters at the same time. They use this for the playstation game console to let two people play the game against each other without the need for a split screen mode. Now both gamers can play the game with their own view on a full screen.

Maybe you can use the shutter glasses from Sony as they already seem to have this functionality prepared?

note; I accidentally posted this before while the computer was still logged in under the name of my colleague. Sorry.

02 Nov 2011

Thanks for your suggestion.

I think you are definitely right that according to the datasheet of uVGA-II , it says that "On-board micro-SD memory card adaptor for multimedia storage and data logging purposes. HC memory card support is also available for cards larger than 4Gb"

I'm confused that although it seems that we have enough space to store the images, is the buffer large enough for us to make the switch? I couldn't find any clue in the datasheet.

I don't know whether I have found the right one and looking forward for your kindly further help.

Wim Huiskamp wrote:

Using one uVGA would be easier and avoid the need for synchronising two of them. The best way would be when the uVGA has enough memory to store two full screens: you could write your separate image for each of the viewers in a different memory area and just switch the displayed part between the two memories. Dont know the uVGA, so cant say if it supports that.

It may be a bottleneck to update the screen content fast enough for each of the two users in case the uVGA doesnt support the double memory feature. The viewer may see the update process in progress depending on image content and on how fast the mbed can write the new data.

You still need shutterglasses to make sure that each viewer sees only the image intended for him or her. Note that the currently available shutterglasses are meant for 3D television. They typically switch between left and right eye to make sure that each eye sees only the image meant for that eye. This is not what you want, unless it is acceptable that the viewer only sees the image with one eye... So you may have to modify the shutterglasses to activate and deactivate both shutters at the same time. This may be tricky or even impossible. It certainly means you have to open up the shutterglasses and get very intimate with the electronics.

02 Nov 2011

I found this amongst the downloads of the uVGA-II and that looks promising

Quote:

Init and control statements for uVGA 320x240 With three resolutions

  1. define uVGAII
  2. define SOFT_RESET 0x01
  3. define SET_DISPLAY_OFF 0x28
  4. define SET_DISPLAY_ON 0x29
  5. define SET_COLUMN_ADDRESS 0x2a
  6. define SET_PAGE_ADDRESS 0x2b
  7. define WRITE_MEMORY_START 0x2c
  8. define READ_MEMORY_START 0x2e
  9. define SET_ADDRESS_MODE 0x36
  10. define SET_LCD_MODE 0xb0
  11. define SET_HORZ_PERIOD 0xb4
  12. define SET_GPIO_CONFIG 0xb8
  13. define SET_VERT_PERIOD 0xb6
  14. define SET_GPIO_VALUE 0xba
  15. define SET_POST_PROC 0xbc
  16. define SET_PLL 0xe0
  17. define SET_PLL_MN 0xe2
  18. define SET_LSHIFT_FREQ 0xe6
  19. define SET_PIXEL_DATA_INTERFACE 0xf0

It looks that you can set a page address and read and write adresses, I assume the page address is the currently displayed memory page for the choosen resolution. So by setting these to two different page addresses on a timed basis, you should get an alternating display.