<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-1806360094658697411.post8407591851905561974..comments</id><updated>2010-03-17T00:55:59.041-04:00</updated><title type='text'>Comments on The Lowly Programmer: Visualizing RGB, take two</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.thelowlyprogrammer.com/feeds/8407591851905561974/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html'/><author><name>Eric Burnett</name><uri>https://profiles.google.com/103760168651162106315</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-zwHDmf94eg4/AAAAAAAAAAI/AAAAAAAAENc/vQsM5DAF7E4/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-8223906228580305277</id><published>2010-03-17T00:55:59.037-04:00</published><updated>2010-03-17T00:55:59.037-04:00</updated><title type='text'>Ok, the follow-up post is now up detailing the res...</title><content type='html'>Ok, the follow-up post is now up detailing the results of adding error diffusion. Sorry for the delay!&lt;br /&gt;&lt;br /&gt;Adding a priority mask turned out to be a bad idea, as it didn&amp;#39;t really change the image perceptually except by making a hard division between the sky and buildings.&lt;br /&gt;&lt;br /&gt;Re-running the luminance experiments with the new version gives results similar to before - I&amp;#39;m thinking that my algorithm is not really equipped to deal with minor variations in the colour scheduling algorithm like that. Still, it was worth a try.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/8223906228580305277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/8223906228580305277'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1268801759037#c8223906228580305277' title=''/><author><name>Eric Burnett</name><uri>http://www.blogger.com/profile/10741882872804697111</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1501836971'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-3377922408820944623</id><published>2010-02-25T17:18:41.584-05:00</published><updated>2010-02-25T17:18:41.584-05:00</updated><title type='text'>Quick update (I&amp;#39;ll post the pictures and expla...</title><content type='html'>Quick update (I&amp;#39;ll post the pictures and explain better when I have some real time): I implemented error diffusion, and it makes a huge difference, especially with the 4096x4096 images. Capping the error terms lets me trade off uniform noise and graying-out with the &amp;quot;hot&amp;quot; colours, which turns out to be a good trade-off to make. It can reproduce the original image considerably better now and the sky becomes a uniform noise in the places it was going psychedelic before, which I think is an improvement. &lt;br /&gt;&lt;br /&gt;A version with the sky masked as low priority is generating now as well, so I&amp;#39;ll see if that makes a difference as well tomorrow or so.&lt;br /&gt;&lt;br /&gt;I&amp;#39;ll try it against Mona Lisa next, for comparison to http://allrgb.com/mona-lisa-ycrbr.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/3377922408820944623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/3377922408820944623'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1267136321584#c3377922408820944623' title=''/><author><name>Eric Burnett</name><uri>http://www.blogger.com/profile/10741882872804697111</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1501836971'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-7780987195695532430</id><published>2010-02-21T13:52:46.684-05:00</published><updated>2010-02-21T13:52:46.684-05:00</updated><title type='text'>Ok, I tried varying the luminance as you suggested...</title><content type='html'>Ok, I tried varying the luminance as you suggested:&lt;br /&gt;&lt;br /&gt;1/8: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-jdwrEKI/AAAAAAAAD5U/zMRGEJboshU/s1600-h/2_allRGBv2_L1%258.png" rel="nofollow"&gt;2_allRGBv2_L1%8.png&lt;/a&gt;&lt;br /&gt;1/4: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-i4-qLKI/AAAAAAAAD5Q/wDu77NBvR50/s1600-h/2_allRGBv2_L1%254.png" rel="nofollow"&gt;2_allRGBv2_L1%4.png&lt;/a&gt;&lt;br /&gt;1/2: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-iteuWfI/AAAAAAAAD5M/W_4Ps-qvJz4/s1600-h/2_allRGBv2_L1%252.png" rel="nofollow"&gt;2_allRGBv2_L1%2.png&lt;/a&gt;&lt;br /&gt;1: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-jvfF9yI/AAAAAAAAD5Y/7lSic442qtU/s1600-h/2_allRGBv2_L1.png" rel="nofollow"&gt;2_allRGBv2_L1.png&lt;/a&gt;&lt;br /&gt;2: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-kC5K05I/AAAAAAAAD5c/b5whzxx2f3c/s1600-h/2_allRGBv2_L2.png" rel="nofollow"&gt;2_allRGBv2_L2.png&lt;/a&gt;&lt;br /&gt;4: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-rI5Ps0I/AAAAAAAAD5g/yixRS6aZ3d4/s1600-h/2_allRGBv2_L4.png" rel="nofollow"&gt;2_allRGBv2_L4.png&lt;/a&gt;&lt;br /&gt;4: &lt;a href="http://2.bp.blogspot.com/_4uUxYbT6E0Q/S4F-r_u0TtI/AAAAAAAAD5k/A9moiDDYH7s/s1600-h/2_allRGBv2_L8.png" rel="nofollow"&gt;2_allRGBv2_L8.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At low values in either direction there is not too much change, and at higher values the increase in noise kills off any gains there might be. However, I&amp;#39;m interested in your idea of adding error diffusion, which after looking into it I think has a lot of promise for this algorithm. I will try it out next, and assuming it does as well as expected, I will re-run the luminance experiments with it turned on.&lt;br /&gt;&lt;br /&gt;I agree about the sky, in your image and mine as well. It is just too large in area for the current algorithms to have a hope with, I suspect. We&amp;#39;ll see how it changes with error diffusion.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7780987195695532430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7780987195695532430'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266778366684#c7780987195695532430' title=''/><author><name>Eric Burnett</name><uri>http://www.blogger.com/profile/10741882872804697111</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1501836971'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-5495016383675398744</id><published>2010-02-21T12:07:21.251-05:00</published><updated>2010-02-21T12:07:21.251-05:00</updated><title type='text'>This one took a few hours, I really don&amp;#39;t like...</title><content type='html'>This one took a few hours, I really don&amp;#39;t like what it did with the sky.&lt;br /&gt;&lt;br /&gt;http://churchturing.org/y/lowly-programmer-scaled.png.8.0.4096.29.png&lt;br /&gt;&lt;br /&gt;If you want to display photos the problem is how to do take a fixed set of pixels and present the photo in such a way that is perceptually similar. In most cases it can&amp;#39;t be exact. If you look at a lot of the AllRGB entries you&amp;#39;ll see that they get away with it because they simply resized the image so the small details are not needed. If you want small details to be important then you&amp;#39;ll have to be more careful where you hide the noise.&lt;br /&gt;&lt;br /&gt;This is like the MP3 problem, you have so much signal to share, but what part of the signal do you really need and can you hide the error. If it is piano music there&amp;#39;s no where to hide the error.&lt;br /&gt;&lt;br /&gt;You could try error diffusion or a dithering algorithm. It&amp;#39;ll have to be changed a little to deal with permutations.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/5495016383675398744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/5495016383675398744'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266772041251#c5495016383675398744' title=''/><author><name>Full-size</name><uri>http://openid.aliz.es/Full-size</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1131585458'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-7290650691418833696</id><published>2010-02-20T23:21:08.610-05:00</published><updated>2010-02-20T23:21:08.610-05:00</updated><title type='text'>Thanks for the render! I do like how yours comes o...</title><content type='html'>Thanks for the render! I do like how yours comes out a lot smoother - I assume it&amp;#39;s the same basic algorithm you described on http://allrgb.com/high-quality-render-of-wedding-photos ? I&amp;#39;m definitely going to have to sit down and think about it a lot more.&lt;br /&gt;&lt;br /&gt;I hadn&amp;#39;t realized luminance was the dominant component in human perception - I would have thought hue would be. I will try generating a couple low-res versions with my program tomorrow when I get home using different luminance multipliers, so we&amp;#39;ll see how much difference that makes. Although I will note that I tried changing the hue multiplier on a different image without much luck, so it may be that luminance works the same way. Part of the problem is simply having a constant set of colours to work with.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7290650691418833696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7290650691418833696'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266726068610#c7290650691418833696' title=''/><author><name>Eric Burnett</name><uri>http://www.blogger.com/profile/10741882872804697111</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1501836971'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-7196461739094450254</id><published>2010-02-20T21:15:50.345-05:00</published><updated>2010-02-20T21:15:50.345-05:00</updated><title type='text'>I thought I&amp;#39;d give your picture a try, so I di...</title><content type='html'>I thought I&amp;#39;d give your picture a try, so I did a low res render that took about 1.5 hrs. It did 30 iterations of optimally swapping pixel sets of size 4, using YCrBr color distance (with 4*Yd). Generally though larger pixel sets (8, 32, 128) produce better color mappings.&lt;br /&gt;&lt;br /&gt;I am not happy with the results. There is much more detail in the picture that is for sure but the sky is a great example of not quite overfitting but just something not that tasteful. Those smearing fuzzy edges really bother me. Also I wish there was a bit more definition in the decoration.&lt;br /&gt;&lt;br /&gt;I think you should try HSL against except weight L higher. Luminence is main component in our perception in an image, this is why videos are often encoded at 4:2:2 or 4:1:1, because the brightness and darkness is more important to our perception than the color. That said in both of our cases we&amp;#39;re left with very &amp;quot;hot&amp;quot; colors.&lt;br /&gt;&lt;br /&gt;A sample: http://churchturing.org/y/quarter.lowly-programmer-scaled.png.4.0.4096.29.png&lt;br /&gt;&lt;br /&gt;The real big deal: (48 mb) http://churchturing.org/y/lowly-programmer-scaled.png.4.0.4096.29.png&lt;br /&gt;&lt;br /&gt;The software: http://churchturing.org/y/24bit-randomschedule-ycbcr</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7196461739094450254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7196461739094450254'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266718550345#c7196461739094450254' title=''/><author><name>Full-size</name><uri>http://openid.aliz.es/Full-size</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1131585458'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-7561218404540437622</id><published>2010-02-20T20:02:06.259-05:00</published><updated>2010-02-20T20:02:06.259-05:00</updated><title type='text'>If you mean the source image, yeah the linked imag...</title><content type='html'>If you mean the source image, yeah the linked image is the one I used. The source is scaled dynamically to the required size, so as long as it is square and decently sized things work fine.&lt;br /&gt;&lt;br /&gt;If you are talking about the final result, I have linked to it at allRGB.com - there is nowhere else to host an image that size easily.&lt;br /&gt;&lt;br /&gt;Does that help?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7561218404540437622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/7561218404540437622'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266714126259#c7561218404540437622' title=''/><author><name>Eric Burnett</name><uri>http://www.blogger.com/profile/10741882872804697111</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1501836971'/></entry><entry><id>tag:blogger.com,1999:blog-1806360094658697411.post-1658813515353650743</id><published>2010-02-20T19:46:36.922-05:00</published><updated>2010-02-20T19:46:36.922-05:00</updated><title type='text'>Hi, is that the full size image you were using? If...</title><content type='html'>Hi, is that the full size image you were using? If not can you the share original image?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/1658813515353650743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1806360094658697411/8407591851905561974/comments/default/1658813515353650743'/><link rel='alternate' type='text/html' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html?showComment=1266713196922#c1658813515353650743' title=''/><author><name>Full-size</name><uri>http://openid.aliz.es/Full-size</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.thelowlyprogrammer.com/2010/02/visualizing-rgb-take-two.html' ref='tag:blogger.com,1999:blog-1806360094658697411.post-8407591851905561974' source='http://www.blogger.com/feeds/1806360094658697411/posts/default/8407591851905561974' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1131585458'/></entry></feed>
