How much data can this one hold?
Show HN: Cimbar – File transfer via color barcodes and the Android camera
21–27 of 27 posts
Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#22Hello all, You've seen QR codes, maybe Microsoft HCCB [0], maybe jabcode [1] – well, here's a prototype of something new for the pile. :) I saw txqr [2] a while back and was impressed, but also curious about how much throughput was possible with animated bar codes. I may have gotten carried away in my research into the question. cimbar is a single and multi-frame color barcode format using reed solomon (for now) and…
Amazing! Do you know any variants of these which squeeze out the maximum transfer rate over a high quality connection? Thinking about data transfer from a VPN/RDP remote desktop where I want to grab the screen output on the client with very little loss in quality (basically only limited by the chosen video encoder).
Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#23Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#24Very interesting but couldn't get it to work with my smartphone. Even with a 250Ko image file, I got bored before it finished ! My camera may be too low quality and/or my monitor too small. A barcode size parameter may be useful (even though it reduces throughput) so that it is easier to scan on all devices.
Transfers getting stuck like that usually is an indication that the decoder can't reliably find the 3+1 corner pattern. I might add a toggle to the decoder app that trades speed for more reliability.
That said, there are some failure modes that are harder to fix: I had a mysteriously slow transfer that was driving me nuts, until I noticed that my mouse cursor was on top of one of the corners.
Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#25Is it really phone CPU performance that limits the bandwidth? I expected it would be the camera.
The decoder has a lot of image processing work to do (intriguingly well-suited for the GPU), and also lots of popcnts. I've optimized it a fair bit, but there's probably some tricks I still need to learn. It turns out that mobile processors don't like heat very much, and blow out their cache much quicker than you'd hope. :)
In the long run, I think your intuition is correct. The hard physics of the camera constraints (exposure time, etc) will put a hard upper bound on FPS+fidelity, and thus bandwidth.
Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#26I heard ordinary QR codes can hold up to 3KB of data. How much data can this one hold?
4-color (standard): 7500 bytes
8-color: 8750 bytes
monochrome: 5000 bytes
Those numbers are with the standard, fairly high ECC setting (~20% of the image) that I settled on for video-based transfer. If we want to be more aggressive and use half the error correction:
4-color (standard): 8400 bytes
8-color: 9800 bytes
monochrome: 5600 bytes
Re: Show HN: Cimbar – File transfer via color barcodes and the Android camera
#27Hello all, You've seen QR codes, maybe Microsoft HCCB [0], maybe jabcode [1] – well, here's a prototype of something new for the pile. :) I saw txqr [2] a while back and was impressed, but also curious about how much throughput was possible with animated bar codes. I may have gotten carried away in my research into the question. cimbar is a single and multi-frame color barcode format using reed solomon (for now) and…
Amazing! Do you know any variants of these which squeeze out the maximum transfer rate over a high quality connection? Thinking about data transfer from a VPN/RDP remote desktop where I want to grab the screen output on the client with very little loss in quality (basically only limited by the chosen video encoder).
I'm not 100% sure I understand your example. Is it RDP server (remote) -> RDP client (local) -> cell phone?