3
\$\begingroup\$

I need to develop a prototype of a device that does the following:

  1. Take an HDMI input
  2. For each frame extract a small region of the screen. It's a small bar indicating some changing value.
  3. Convert this bar length into an int value, say 0-256. This can be done in linux once the region is extracted
  4. Pass through the HDMI onto the display

Could you please suggest which processor/development board/capture card or any other device that can accomplish this task. I was looking at DaVinci processors and they look like they are capable of this.

\$\endgroup\$
2
  • \$\begingroup\$ To clarify what the project is: I'm developing an accessory for a computer game - a racing simulator. This device needs an input from the game - g-force applied to the car. Until my device is supported by the game developer I thought it's a good idea to extract it from the screen for the demonstration purpose. So I'm looking for the easiest way to do it. \$\endgroup\$ – Henry Aug 29 '13 at 0:13
  • \$\begingroup\$ For the easiest way to prototype, I would suggest pointing a webcam at the TV, and doing the image recognition on that capture. \$\endgroup\$ – Jon Watte Aug 30 '13 at 16:08
3
\$\begingroup\$

Get a BlackMagic PCI Express HDMI video capture and pass-through card. As long as the source is not HDCP encrypted, this would be pretty simple, assuming you're OK with Windows as the host (I don't know of Linux drivers.) There are other video capture/edit suites that can do it as well, but generally more expensive (Matrox has some low-end ones for example.)

\$\endgroup\$
6
  • 2
    \$\begingroup\$ "As long as it's not HDCP" is quite a massive caveat in my limited experience, a huge amount of consumer electronics will not emit and/or accept anything less. \$\endgroup\$ – John U Aug 28 '13 at 7:41
  • 1
    \$\begingroup\$ Who says the input value is consumer electronics? It sounds like the OP wants to screen-scrape a meter of some sort, which sounds more like a video system to me. \$\endgroup\$ – Jon Watte Aug 28 '13 at 16:24
  • 1
    \$\begingroup\$ It's a PS3 HDMI output, is it normally encrypted? Should I use then Windows SDK to do the frame capturing? I wonder what the speed would be, each frame is a big chunk of memory, so I wonder at what rate I can be capturing individual frames. \$\endgroup\$ – Henry Aug 29 '13 at 0:19
  • 1
    \$\begingroup\$ Jon - Call it intuition, the only one-word oxymoron. @Henry - you're asking if Sony are likely to employ content protection? They have some form in this area which a little googling may reveal. And I see you've already accepted this answer which cannot accept HDCP. You might want to pause for thought next time... \$\endgroup\$ – John U Aug 29 '13 at 7:47
  • \$\begingroup\$ I guess the question is if the BlackMagic PCI Express card is an authorized HDCP device. I couldn't find it on their website. Well, there's always moneyback. \$\endgroup\$ – Henry Aug 29 '13 at 14:59
4
\$\begingroup\$

This is not a trivial exercise, but would be feasible with modern components.

I am not sure what you eventual project goals are, but you could bring up a prototype using an FPGA. The Xilinx Spartan-6 family, for example, has HDMI input and output capabilities. The Digilent Atlys Development Board seems like it could support your requirements. The board has the HDMI input and output connectors.

As far as processing, I believe that the Xilinx MicroBlaze core (which would run on the FPGA) can support Linux, if you feel an OS is necessary.

A few caveats:

If the HDMI signal is encrypted (HDCP), the task becomes harder.

If your eventual goal is a low cost consumer solution, using an HDMI capable FPGA may be cost prohibitive. An alternative would be to use a dedicated HDMI transmitter and receiver chips and a uC/DSP processor.

\$\endgroup\$
0
\$\begingroup\$

In the United States, this might be a DMCA violation. (Yes, the laws can be silly.) I'm pretty ignorant of all things HDMI, but you might want to start by reading up on Bunnie's NeTV ("any TV") open source project at http://www.kosagi.com/blog/. That might lead you to the information you need to solve your problems.

\$\endgroup\$
1
  • \$\begingroup\$ This doesn't really answer the question. This is more of a caveat, which belongs with the comments to the question. Please repost as a comment, thanks. \$\endgroup\$ – Anindo Ghosh Aug 28 '13 at 6:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.