Racjonalista - Strona głównaDo treści
Kody QR wyglądające jak wybrany obrazek?

Ten wątek jest przedawniony

Działy Forum » Nauka
NapisanoAutorTytuł
07-11-2012 14:53Jarek Duda (1185 punktów)Kody QR wyglądające jak wybrany obrazek?
Ocena 3 na 3
Co to za 512x512 obrazek?



Owszem, słabej jakości Lena ... sęk w tym że jest on czarno-biały: może być bezpośrednio widziany jako ciąg bitów o długości 512x512=32kB.
Okazuje się że zrobienie kodu "wyglądającym jak Lena" zmniejsza pojemność informacyjną tylko do 0.822, czy ok. 26kB w tym przypadku - wizualny aspekt kosztuje tylko ok. 6kB.
To jest prawdopodobnie za duża rozdzielczość do praktycznych zastosowań - tu są przykłady o niższych rozdzielczościach:
dl.dropbox.com/u/12405967/ex.gif
na przykład centralny zaszumiony kod zawiera 800*3/4=600 bajtów - zrobienie go wyglądającym jak wybrany obrazek kosztuje tylko 200 bajtów.
Świeża pracka o tworzeniu takich kodów (uogólniony problem Kuznetsova i Tsybakova): arxiv.org/abs/1211.1572

Co myślicie o tym żeby pojawiające się teraz wszędzie kody QR zaczęły ładniej wyglądać i bezpośrednio przekazywały coś wizualnie?
Może jakieś inne pomysły na zastosowanie takiej steganografii której w końcu wystarczy dwa kolory - kodowanie w swobodzie realizacji szumu?
Autor wątku ma uprawnienia do usuwania wypowiedzi, jeżeli łamią regulamin Forum lub znacznie odbiegają od tematu.

piotrmb (379 punktów)
Nawet ciekawy pomysł. Przy czym widzę tutaj dwa problemy praktycznego zastosowania.

Przede wszystkim sensowne obrazy powstają dopiero przy większych rozdzielczościach, a najczęściej stosuje się małe rozdzielczości, które są łatwiejsze do odczytania dla urządzeń mobilnych (kwestia jakości kamery i algorytmu przetwarzającego obraz).

A druga sprawa to, że ludzie, którzy zobaczą taki obrazek mogą nie skojarzyć go z QR kodem - będą widzieli po prostu czarno-biały obraz i mogą nie wziąć pod uwagę jego zastosowania, jako nośnika dodatkowej informacji.

Ale problem i tak jest interesujący z teoretycznego punktu widzenia.
08-11-2012 10:06 
 Ocena 2 na 2
Jarek Duda (1185 punktów)
Rzeczywiście problem jest bardzo interesujący z teoretycznego punktu widzenia jak tylko się dowiedziałem o problemie Kuznetsova i Tsybakova kilka tygodni temu, zacząłem szukać jakichś konkretnych zastosowań, bo jedyne zwykle wskazywane (defective memory cells) jest niezwykle naciągane. Ogólnie można to nazwać constrained coding - kodowanie z narzuconymi więzami na ciąg kodujący które zna tylko nadawca, ładnie pasuje jako czwarte podstawowe zastosowanie teorii kodowania do trzech Shannona: kodowanie entropii (kompresja), korekcja błędów i rate distortion (stratna kompresja).
Podczas gdy całkowicie zgadzam się z istotnością Twoich zarzutów, myślę że taka kustomizacja i wzrost pojemności kodów QR to ich naturalna droga rozwoju.

Co do rozdzielczości, rzeczywiście 512x512 to już może być trochę za dużo, ale niekoniecznie - dzisiaj standardem w smartfonach jest jakieś 8Mpixli - czyli na taki czarno-biały pixel przypadałoby kilkadziesiąt.
Fakt że w końcu to nie jest tylko abstrakcyjna plama zawierająca tylko adres który pewnie zresztą łatwiej zapamiętać czy wygooglać, ale coś atrakcyjnego wizualnie i wzbudzającego ciekawość co wymyślili żeby zawrzeć w tych tym razem kilkudziesięciu fajnie wyglądających kilobajtach - w końcu może zmotywować żeby rzeczywiście podejść i centralnie zrobić zdjęcie z oświetleniem z wbudowanej lampy ... nawet cały wielki plakat może przy okazji być wielkim QRem, których np. kolekcjonowanie dla nagrody jest częścią jakiejś kampanii reklamowej ...
Kolejną sprawą którą dyskutuję w pracy jest poprawa mechanizmów korekcji z archaicznego już Reeda-Salomona - myślę że wychodząc z czarno-białych QR, współczesny smartfon mógłby w ten sposób z ładnie i przyciągająco wyglądającego obrazka spokojnie wyciągnąć kilkaset kilobajtów - dzwonek, aplikację, tapetę ...

A co do niskich rozdzielczości, też dość tanio mogłyby bardziej przyciągać wzrok, wzbudzać ciekawość:


QR kody to standard przemysłowy ... czas dostosować go do świata zwykłych ludzi.
Hodża (11172 punktów)
>Rzeczywiście problem jest bardzo interesujący z teoretycznego punktu widzenia jak tylko się dowiedziałem o problemie Kuznetsova i Tsybakova kilka tygodni temu, zacząłem szukać jakichś konkretnych zastosowań, bo jedyne zwykle wskazywane (defective memory cells) jest niezwykle naciągane. Ogólnie można to nazwać constrained coding - kodowanie z narzuconymi więzami na ciąg kodujący które zna tylko nadawca, ładnie pasuje jako czwarte podstawowe zastosowanie teorii kodowania do trzech Shannona: kodowanie entropii (kompresja), korekcja błędów i rate distortion (stratna kompresja).

Trochę wskoczę z tematem nieco innym chociaż też dotyczącym kodowania obrazu. Mam pewien praktyczny problem i stąd też pytanie - kiedyś nieopatrznie skompresowałem edytowane zdjęcie zrobione komórką, na którym mi bardzo zależało, zagapiłem się i w edytorze grafiki nie ustawiłem zapisywania do formatu bmp, nadpisałem oryginalny plik i po filipku. Współczynik kompresji nie był duży (50%) ale niestety kolory przyciemniały i zdjęcie straciło jednak wyraźnie na jakości. Wiem, że jpg jest kodowaniem stratnym, ale czy są może jakieś algorytmy, pozwalające na częściową choćby korekcję odwracającą taką kompresję? Matematycznie rzecz ujmując wydaje mi się, że powinno to być w jakimś stopniu możliwe (zwykle zdjęcia nie zawierają zupełnie chaotycznej informacji, można zakładać zachowanie pewnych kształtów itp.).

Nie Bóg, lecz Człowiek potrzebuje obrony.
09-11-2012 20:58 
 Ocena 1 na 1
Hetman Twardowski (482 punktów)
(zablokowany)
> Mam pewien praktyczny problem i stąd też pytanie - kiedyś nieopatrznie skompresowałem edytowane zdjęcie zrobione komórką, na którym mi bardzo zależało, zagapiłem się i w edytorze grafiki nie ustawiłem zapisywania do formatu bmp, nadpisałem oryginalny plik i po filipku. Współczynik kompresji nie był duży (50%) ale niestety kolory przyciemniały i zdjęcie straciło jednak wyraźnie na jakości. Wiem, że jpg jest kodowaniem stratnym, ale czy są może jakieś algorytmy, pozwalające na częściową choćby korekcję odwracającą taką kompresję? Matematycznie rzecz ujmując wydaje mi się, że powinno to być w jakimś stopniu możliwe (zwykle zdjęcia nie zawierają zupełnie chaotycznej informacji, można zakładać zachowanie pewnych kształtów itp.).

Do tego są specjalne opcje w programach graficzny,
np. Paint Shop pro, wersja 8 chyba, ma coś takiego.

Ale zmienionych kolorów raczej nie odtworzy, on usuwa tylko te artefakty jpg.
embe (1266 punktów)
Intrygujące zastosowanie steganografii. Ciekawy pomysł.
> współczesny smartfon mógłby w ten sposób z ładnie i przyciągająco wyglądającego obrazka spokojnie wyciągnąć kilkaset kilobajtów - dzwonek, aplikację, tapetę ...
W pierwszej kolejności wirusa albo zabójcze kody USSD
Jarek Duda (1185 punktów)
>W pierwszej kolejności wirusa albo zabójcze kody USSD
Jasne, ale to nie będą duże aplikacje - spokojnie można je uruchamiać w sandboxie
ratus (4786 punktów)
(zablokowany)

>Co myślicie o tym żeby pojawiające się teraz wszędzie kody QR zaczęły ładniej wyglądać i
bezpośrednio przekazywały coś wizualnie?


Co to znaczy - ładniej wyglądać? Ładniej - według kogo? Według tych samych ludzi, którzy owijaja wielkimi banerami budynki? Co jeszcze kody QR miałyby przekazywać? Reklamy?

To, że można coś zrobić, niekoniecznie znaczy, że trzeba!
Jarek Duda (1185 punktów)
Obrazki to mogą swobodnie przekazywać na zwykłych plakatach ... tutaj chodzi o to żeby pojawiające się ostatnio wszędzie abstrakcyjne czarno-białe plamy (QR kody) nabrały jakichś własności estetyczno-informacyjnych.
10-11-2012 09:19 
 Ocena 1 na 1
ratus (4786 punktów)
(zablokowany)

Nadmiar właściwości "estetyczno-informacyjnych" generuje szum i dezinformację. Problemem współczesności jest stosunek informacji potrzebnych, do śmieciowych, a "estetyka" polegajaca na tym, że ładne to jest to, co jest obrazkiem, jest kolorowe i się rusza (flash!),a najlepiej, jak jeszcze gra, w połączeniu z tendencją do tworzenia produktów "wszystkomających" powoduje wtórny analfabetyzm kulturowy. Co widać, słychać i czuć.
Jarek Duda (1185 punktów)
Oj Lena powyżej nie jest jakąś odstrzeloną estetyką - mówimy tutaj tylko o nie szpeceniu, dopasowaniu tego szumu informacyjnego do świata ludzi, nadaniu jakiejkolwiek bezpośredniej wartości informacyjnej - dla ludzkiego odbiorcy tej technologii która ostro wdziera się w codzienne życie.
ratus (4786 punktów)
(zablokowany)
To, że dla ciebie czarno-biała mozaika QR jest szpetna, a już obrazek (dajmy na to) ptaszka - nie, to jest twoja prywatna sprawa. Natomiast narzucanie własnej estetyki innym i arbitralne ustalanie, co jest ładne, a co nie - to jest przejaw arogancji i zadufania.
Jarek Duda (1185 punktów)
W żadnym razie nie zamierzam narzucać własnej estetyki, tylko dać narzędzia kustomizacji - osobom znającym się np. na estetyce: żeby mogli temu obecnemu szumowi nadawać jakąkolwiek estetykę/zawartość informacyjną: pasującą do otoczenia czy zastosowań - tym kodom wychodzącym z komputera do świata ludzi.
ratus (4786 punktów)
(zablokowany)
> ... tylko dać narzędzia kustomizacji ...

Narzędzia czego?! Ach, rozumiem, to jest nowa estetyka języka polskiego, dająca lepszy, ładniejszy przekaz i zmniejszająca szum informacyjny....


Pozostaniemy chyba przy różnych opiniach; miło było podyskutować.
Pozdrawiam.
Jarek Duda (1185 punktów)
Siedzę trochę w tematyce naukowej i przyzwyczaiłem się że są zwroty które no niby można na siłę przetłumaczyć, ale szczerze to wtedy to już nic nie wiadomo.
Np. zamiast "funkcji haszującej" używać "funkcji skrótu" ... ?!?
Rozumiem że filologowie się zachwycają pięknem naszego języka, ale dla mnie jego podstawową cechą powinna być utylitarność - m.in. jednoznaczność.
Owszem zamiast "kustomizacji" można niby użyć "przystosowanie" ... dla którego pierwszym skojarzeniem jest jednak "adaptation", które ma jednak trochę inne nacechowanie niż "customization".
Pozdrawiam
Jarek Duda (1185 punktów)
Przepraszam za odgrzebywanie, ale ostatnio zdałem sobie sprawę że metoda jest dużo bardziej ogólna - mianowicie jest to jakby dualna wersja podstawy kompresji stratnej: tzw. rate distortion - w szukaniu kodu wystarczy zamienić miejscami bity istotne z odrzucanymi (dokładniej w ostatniej wersji arxiv.org/abs/1211.1572 ).
W związku z tym, rate z tutejszych rozważań należy zamienić na "1-rate" dla problemu rate distorition. Czyli przykładowo żeby zapisać same zdeformowane/rastrowe samolociki z obrazku na górze, wystarczy odpowiednio 1/8, 1/4 i 1/2 bita na pixel. Intuicyjnie, jak bitmapa wymaga np. 1 bitu/pixel, taka niewielka część tego bitu odpowiada za "aspekt wizualny", a resztę możemy (ale nie musimy) przeznaczyć na zakodowanie wiadomości. Correction Trees jest idealne w tym celu - bardzo tanio może pracować w odległości rzędu 1% od granicy teoretycznej pojemności kanału.

Dodatkowo dochodzą też chyba nieznane wcześniej zastosowania:
- niezwykle tanie zapisywanie obrazków rastrowych - zapisanie tej Leny na górze wymaga tylko jakieś 0.18 bita/pixel, czyli ok. 6kB (prawej 3 razy więcej),
- dualna wersja problemu Kuznetsova i Tsybakova (wychodzi poza standardową nomenklaturę rate distortion) - chcemy przesłać ciąg n bitów, ale taki że tylko pewne konkretne k<n z nich jest przez nas ustalone - odbiorca nie wie które, pozostałe bity mogą być losowe - okazuje się że wystarczy wysłać niewiele więcej niż k bitów.
Na przykład żeby zapisać obrazki jak poniżej używając tylko trochę więcej bitów niż wybrane przez wzorzec na zaczernione (p_f bitów/pixel, np. 125B środkowy):


Gdzie można by tego użyć - np. ekstremalne tanich do zapisania obrazków rastrowych?

Wróć do listy wątków działu Nauka
Aby pisać w tym wątku, musisz się zalogować

  

Zaloguj przez OpenID..
Jeżeli nie jesteś zarejestrowany/a - załóż konto..

Szukaj na Forum  Przewodnik  Regulamin i instrukcja obsługi Forum  Kolegium Moderatorów

 


[ Regulamin publikacji ] [ Bannery ] [ Mapa portalu ] [ Reklama ] [ Sklep ] [ Zarejestruj się ] [ Kontakt ]
Racjonalista © Copyright 2000-2018 (e-mail: redakcja | administrator)
Fundacja Wolnej Myśli, konto bankowe 101140 2017 0000 4002 1048 6365