h a l f b a k e r yRight twice a day.
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
use rgb and maybe more in addition to b/w in qr codes for more data in same space.
If we use rgb and three more eg dark yellow, purple, orange that's eight bits/pixel instead of 2.
Make it backwards compatible w. regular QR by having any non-white pixel encode the first part of the data, subsequent
data in the color info.
a rapid google search
http://www.google.c...wTtH9McHa8APb59GhAQ [po, Nov 02 2011]
How to create a QR code, page 5
http://www.swetake.com/qr/qr5_en.html choice of masking patterns ensures that a QR code will have good characteristics. [Loris, Nov 02 2011]
BBC article - The codes helping visually-impaired people shop
https://www.bbc.co....s/business-57679943 Seems to be a 5x5 coloured 2D barcode, using cyan, magenta, yellow and black only. (So not quite the same - it's a replacement code rather than a supplement to QR) [Loris, Jul 03 2021]
[link]
|
|
welcome to the hb, [spalpeen]. |
|
|
//If we use rgb and three more eg dark yellow, purple, orange that's eight bits/pixel instead of 2.// |
|
|
You mean eight possible colours instead of two; three bits instead of one. |
|
|
//Make it backwards compatible w. regular QR by having any non-white pixel encode the first part of the data, subsequent data in the color info.// |
|
|
That's a nice idea, but it might be hard to get working reliably. Different old readers could 'call' yellow as either white or black.
On the other hand, it might not. If they did all call it as white (which you might be able to enhance by using yellow in the targetting pattern) then you could use white/yellow and black/purple or black/red/green/blue giving one or two extra bits per pixel in the extended area. |
|
|
I suggest these be called QRS codes.
The S can stand for supplement. |
|
|
Incidentally, to avoid potential legal issues, let's say this:
QR Code is registered trademark of DENSO WAVE INCORPORATED. |
|
|
Your supplementary values need to be orthogonal to the regular ones; in other words, you need four colours that read as 'white' and four that read as 'black' in a regular QR reader to achieve both the backwards compatibility you seek and the full 2 extra bits in enhanced mode. |
|
|
You don't *need* to have the same number of colours covering the original gamut - it's desirable, but by no means essential.
It's entirely feasible to just use one of the two (as spalpeen mentioned in the idea), or have an uneven distribution (as I described above). The reason is that the data-encoding part of QR codes are always going to have black and white represented at approximately a 1:1 ratio; there's a choice of exclusive-or mask-patterns, and the factors involved almost all weight the decision to that result. |
|
|
(edit : all changed to almost all) |
|
|
Good point; but you do need such a distribution to get a //full 2 extra bits// per pixel. |
|
|
Of course, ordinary QR codes carry less than 1 bit of information per pixel. |
|
|
::but you do need such a distribution to get a //full 2 extra bits// per pixel.:: |
|
|
Well sure.
But then, you could specify 255 extra light colours and 255 extra dark colours and have a full 8 extra bits per pixel (or apparently, the terminology is 'module').
But it'll get harder and harder to scan, the more colours you have. |
|
|
::Of course, ordinary QR codes carry less than 1 bit of information per pixel.:: |
|
|
Yes, because they have quite extensive error-detection/correction. I think we should probably take that as a hint not to go overboard on additional states. |
|
|
Thanks for the welcome po. The color codes a google search reveals do not store information in color - I did check as much.
The tradeoff between increased states and more noise is interesting since there may be some optimum - with all those extra states, you can trade off some message length for increased error correction, until the amount of extra e.c. necessary to make readable message doesnt pay for itself anymore. I have no idea how many states that would be for a given amt of noise but imagine it can be worked out if one can determine a function of inherent error rate vs number of states. maybe theres some standard result on this assuming e.g. that inherent error rate rises linearly with number of states (not quite sure if thats reasonable).
Ah and another thing occurs to me, one of the reserved rows (or the alignment corners) of the standard QR can be used for examples of the code colors, eliminating differences in color preceived due to lighting, printer etc. |
|
|
Creator's homepage definitely has 'halfbaker' written all over it. |
|
|
One question about your superbike: how is your weight supported? By the chest sling? How do you breathe? |
|
|
Smart idea - (Have I got this straight? ) probably easy to do by generating 3 QR codes RGB-alpha-blended layers on a black background (might have to invert the ¨normal¨ code for each layer first), and then use sligtly modified / filters on a normal QR reader to extract the 3-phase data. |
|
|
QPSKQRcode?
Welcome [spalpeen] - RG and B Bun for you![+} |
|
|
//the data-encoding part of QR codes are always going to have black and white represented at approximately a 1:1 ratio// |
|
|
Not true. The average of all possible codes is in fact ~1:1, but any given code can go from all white to all black. It's not likely that either extreme will show up, but something other than 1:1 is likely. |
|
|
And with regards to the Super Bike, consider either a hip or head steer. If the body is supported by a chest plate, either of those are capable of independent movement without intefering with hand or foot pedalling. |
|
|
//Not true. The average of all possible codes is in fact ~1:1, but any given code can go from all white to all black. It's not likely that either extreme will show up, but something other than 1:1 is likely.// |
|
|
Is so.
According to my above link, there are 8 possible masks, which have various patterns of EOR (horizontal stripes, vertical stripes, checkerboard and so on). All are tried, and scored according to how many penalties they get for having things like runs or blocks of the same colour, and deviation outside an acceptable percentage range from 50% ratio.
If you follow these rules you will end up with something approximating an even mix, since if one mask would give a high or low percentage it will score badly and another mask will not. So all QR creators following the standard will do so. |
|
|
I'd take that link more seriously if it weren't completely unreadable. I would suggest that it still allows for a significant variation in light/dark ratio, it looks to allow up to about 2:1 [(50%+/- (5+k)) with k=10?, =35% black, 65% white or vice versa]. |
|
|
Also, I may be more familiar with 2D barcodes in general than QR codes in specific, and a wide range is possible and can be read. |
|
|
I assume b+w QR are more accurate because there
are only two things to interpret; black and the
opposite of black. in this way, QR's mirror the on off
state in data
transmission, and this allows the QR to disregard all
the
ambiguities produced by the poor camera focus. |
|
|
I imagine that if you snapped a colour QR the
camera would blur some of the colours together,
and blues and yellows would be interpreted as
green. Even the camera noise
could be misinterpreted as a data. |
|
|
//One question about your superbike: how is your weight supported? By the chest sling? How do you breathe?// |
|
|
Yeah the weight is supposed to be held mostly by the sling and somewhat by the force with which one is cranking. And please its an ULTRA superbike not just a garden variety superbike, thats why it uses a sling and can't steer. Breathing is facilitated by restricting use to transport in hyperbaric chambers, for those of us still requiring oxygen in this day and age. |
|
|
//And with regards to the Super Bike, consider either a hip or head steer. If the body is supported by a chest plate, either of those are capable of independent movement without intefering with hand or foot pedalling.// |
|
|
Please, its an ULTRA super bike. |
|
|
// I'd take that link more seriously if it weren't completely unreadable. I would suggest that it still allows for a significant variation in light/dark ratio, it looks to allow up to about 2:1 [(50%+/- (5+k)) with k=10?, =35% black, 65% white or vice versa].// |
|
|
Yeah, the English isn't great - I think the author is Japanese. There is going to be some variation in light/dark, I never said otherwise. But you've misunderstood the table (which is I concede is hard to interpret). For the percentage dark of the data, every percentage point above 55% or below 45% gives a 10 point penalty.
However, that's not all. There are three other factors which can count against a possible masked data encoding. One is concerned with avoiding things which look like the finder patterns, and we can ignore. The other two are runs of colour of more than 5 modules, and 2x2 blocks of colour. Both of these will also tend to be minimised at 50% black, so both of these will bias the choice towards an even ratio.
Certainly, there will be some variation, but I think it's clear that you should never get anything approaching all white or all black. |
|
|
OK, so on to other topics.
I really do like the idea of making the colour data supplementary - it's like the way colour was added to TV without impinging on pre-existing greyscale sets.
The real question is - what could we do with the extra data?
As it's supplementary and can't be relied on, it can't be essential for the message. I can think of:
Additional text
A small icon
Both of those would fit well with the current tendency to use them for URLs. |
|
| |