Dieter wrote:
I've been thinking about this one.  At first it seemed like having a
lossless compression would provide a great solution that could be used
for anything (video, CAD, games, ...).  But it has some disadvantages.
We'd have to decode in the host computer, then reencode in the
DisplayLink's lossless codec.  So it is less efficient.  Then I
thought, why couldn't we use one of the video decoder chips in the
Ethervideo box, and have the host computer encode CAD/game/whatever
output into mpeg?
I don't think so. Yes, we could use system end compression to transmit images to the board, but we probably couldn't compress the graphics instruction stream with MPEG*, but I don't think that it would need compression for that. That is, IIUC, the hardware video acceleration is going to be in the box and unlike some video boards, it is going to have to be self contained -- not send a lot of data to and from system memory on the host system.

No, I am not suggesting to compress the graphics instruction stream.

Think about how the DisplayLink system works.  The host computer
generates images to be displayed.  Then the DisplayLink device
driver compresses them using its codec.  The compressed images
are sent over Ethernet or USB to the display, where the
DisplayLink chip uncompresses them.

This is a lot of extra overhead.  If you are watching a video
the host computer has to decode the mpeg, then compress it into
the DisplayLink codec.  Basically transcoding.

I am suggesting that instead of using the DisplayLink chip and the
DisplayLink codec, that the ethervideo box have a relatively inexpensive
video decoder chip that decodes mpeg2 and h.264.  This will handle
the common video cases without loading down the host computer.  In
this case the host computer would just be a file server.

For non-video use (X11, CAD, google-earth, games, ...), and unusual
video codecs that the decoder chip doesn't handle, the host computer
generates the image data, then does enough mpeg compression so that
the data fits on Ethernet.  The ethervideo box decodes it as if it were
video.

Yes, I think I said that we could use compression to send images to the board. If these were individual frames, we could use JP2 (lossless mode) or PNG which are lossless. Some of these decoder chips also state that they are able to decode JPEG & PNG. I haven't seen any claims of JP2 decoding which would be nice since although it obtains very good compression rations, Jasper runs rather slow on my system.

This would work out quite well if the chip also had hardware image scaling (really slow on my system). You could just send the compressed image and the size info and let X11 composting take care of it.

OTOH, 3D compression (x,y,t) would be better for animation since there is considerable correlation between frames even if you don't use motion compensation.

This works almost the same as the DisplayLink chip, except we are using
mpeg compression instead of DisplayLink's lossless codec.

Advantages:

        Ethervideo box can be inexpensive (not sure how it would
        compare with DisplayLink).

Yes, if we can find a good H.264 HiP solution that is inexpensive.

        Much less overhead for some common cases.

        Can handle 1080 (DisplayLink apparently can't).

We are going to need to support monitor resolution UXGA and higher. But, I see not need to scale HD video up past 1080 unless it was to double scan 720p.

        DisplayLink device driver only available for virus server.
        DisplayLink codec is probably a trade secret.

        No dependency on DisplayLink.

Disadvantages:

        Still has high overhead for some cases.

        Can buy monitor with USB DisplayLink off the shelf.

This wouldn't be a solution for DRMed HD video, IAC, unless the monitor can decode AES. To get a license, you can't send unencrypted digital HD
digital from a DRMed source over a consumer bus.

        Mpeg is lossy.  Can we work around this to allow a
        non-lossy image for graphics artists?

You can set JPEG encoding to 100% quality and it isn't lossy. Can the same be done with MPEG* or Theora?

--
JRT
_______________________________________________
Open-hardware-ethervideo mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-hardware-ethervideo

Reply via email to