Hlavní navigace

Záloha dat tiskárnou na papír

13. 7. 2007
Doba čtení: 4 minuty

Sdílet

Vývojářská skupina Twibright Labs je známá především textovým prohlížečem Links a bezdrátovým optickým pojítkem Ronja. O obou produktech jsme již několikrát psali. Nyní je k dispozici nový revoluční výtvor - kodek Twibright Optar, který umožňuje ukládat digitální data na běžný papír. Jak funguje a co umí?

Problematická média

Kamarád mi jednou pomáhal s Ronjou a uvědoměle si svoji práci zazálohoval na CD pro případ, že by odešel disk. Disk mu po 2 týdnech odešel a když chtěl data obnovit z CD, zjistil, že ho nepřečte. Data byla nenávratně ztracena. K čemu je záznamové médium, když se na něj dá sice vždy zaznamenávat, ale číst jen někdy, a my předem nevíme kdy?

Jindy jsem kdesi svářel Ronju a měli tam přenosné rádio s CD přehrávačem vyhrávající hudbu. Najednou se ale hudba začala opakovat. Vzpomněl jsem na knihu popisující principy fungování CD mechaniky a tak jsem došel k přehrávači a praštil do něj rukou. Hlavička na stopách poskočila, úspěšně překonala vadné místo a hudba opět pokračovala.

I moje vlastní zkušenost s vypalováním CD-ROM a následnými čtecími pokusy je velmi špatná. Začal jsem si uvědomovat, že na CD může stačit malé poškození záznamu a celý záznam na CD je zničen, protože např. čtecí hlava na chybném místě vykolejí ze stopy nebo je poškozena systémová oblast disku.

Napadlo mě proto – nešlo by malé množství nejkritičtějších dát z návrhu Ronji zálohovat na papír, aby se daly obnovit, i kdyby systém záznamu dvou kopií na CD-ROM selhal? Experimentoval jsem proto s laserovou tiskárnou a scannerem, až jsem vyvinul kodek jménem Twibright Optar. Dokáže zaznamenat 200 kB na stránku A4.

Twibright Optar

Při dekódování pracuje v součinnosti spousta různorodých algoritmů. Golayovy samoopravné kódy činí záznam velmi spolehlivým v situaci, kde Hammingovy kódy se stejným overheadem dekódovaly data nespolehlivé.

Těžké je nalézt úroveň černé a bílé v situaci, kdy jsou na bílém papírů různé šmouhy a úrovně černé se mění, jak se v tiskárně přesýpal toner. Používá se iterativní analýza histogramu. Pro první odhad řezací úrovně se použije průměrná hodnota pixelu v obraze. Pixely se rozdělí na černé a bílé a pro každou skupinu se spočte RMS (směrodatná odchylka) od této úrovně. Tyto odchylky pak udávají hodnoty, která se prohlásí za černou a bílou. Řezací úroveň se pak nastaví určitým fixním poměrem mezi nimi a cyklus se opakuje, dokud se nezískají dva identické výsledky.

Floodfill se stará o odstraňování černých skvrn v okraji, aby nedošlo ke špatně synchronizaci na roh záznamového pole. K nalezení rohu samotných se používá algoritmus velmi primitivní – hledá se v šikmých řádkách od rohu, dokud se nenarazí na černý pixel.

Aby se vyrovnala posunutí, otočení a různé lineární i nelineární deformace, je v záznamu síť záměrných křížů. Hrubá poloha křížů se určí dělením rozměrů, který je znám z polohy rohu. Jemná synchronizace na kříž se provádí korelaci obrazů s jádrem – křížem. Za pozici krize se označí bod, kde má korelace nejvyšší hodnotu. Tato pozice se dále zpřesňuje s přesností na 1/4 pixelu. Výhodou korelace je, že střed kříže nalezne neomylně, i když má kříž otrhané, rozmazané nebo rozteklé okraje a je zašumělý. Výhodou záměrného kříže, který znáte z hlav panáků na nárazově testy aut, je, že se konvoluce dá počítat pomocí dynamického programování mnohem rychleji než v obecném případě.

Ke kvalitní kvantizaci – rozlišení černých a bílých bitů – je třeba přesně znát místní úroveň černé a bílé. K tomu se znovu provádí analýza černé a bílé úrovně na blízkých záměrných křížích a výsledek se interpoluje. Interpolují se i pixely nascanovaného obrazu, čímž vzniká subpixelová přesnost.

acquired

Detail nascanoveho záznamu

Čtyři černí sousedé občas bílý bit přehlasují, a totéž se děje naopak. Říká se tomu přeslech a odstraňuje se algoritmem unsharp mask, který znáte z GIMPu. V obraze se vyskytnou různá vlákna či zrna prachu, jak černá, tak bílá, zrnitost toneru a šum scanneru. Ty se potlačují několika cykly nalezení maxima že sousedů pixelu a týmž počtem cyklu nalezení minima. Následně se obraz mírně rozmaže, aby se potlačily nežádoucí vysoké frekvence, které by mohly zmást kvantizaci.

Geniální algebraická struktura Golayových kódů nakonec zachytí bity, které se i přes uvedená opatření přečetly špatně, tiskárna je špatně vytiskla, z papírů opadaly při přeložení, omylem byly něčím seškrábnuty nebo zamazány kusem tmavé špíny. Celkem 12 datových bitů se přenáší 24-bitovým kódovým slovem, z kterého libovolné 3 bity mohou být poškozeny, aniž by se poškodila přenášena data. Poškodí-li se 4 bity, data budou poškozena a program to ohlásí. Poškodí-li se více bitů, data budou poškozena a dekodér na to ani nemusí přijít.

Golayovy kódy byly použity NASA ve vesmírných sondách Voyager 1 a 2 na přelomu 70. a 80. let.

root_podpora

Proč na papír?

Kapacita 200 kB na stránku zní dnes absurdně, ale záznamové médium má několik zajímavých vlastnosti. Médium je tenké a dá se na rozdíl od CD nebo DVD překládat. Při použití černobílého filmu je podle Wikipedie trvanlivost záznamu 500 let a kapacita bude s ohledem na vysoké rozlišení filmu také řádově mnohem vyšší. Egyptské papyry a svitky od Černého moře přečkaly v suchém prostředí více jak 2000 let. Médium je elektromagnetický nezničitelné a nevyžaduje žádnou speciální čtecí jednotku, čímž se předchází jevu zvanému digital obsolescence. Při výskytu chyby se nestane, že by byl celý záznam nečitelný, pouze se poškodí 3 byty v místě, kde se chyba vyskytla.

Vidíme, že kontrapcionismu se meze nekladou. Ano, i na papír se dají ukládat data. Úrovně Wallace a Grommita to bohužel nedosahuje, ale možná by to mohl spravit speciální magnetofon pro montáž na nádržku splachovače, přehrávající místo pásky roličky toaletního papírů. Má-li laserový tisk na toaletní papír 2× menší rozlišení než na papíře kancelářském, taková rolička by pak měla kapacitu 8,2 MB. A až by se skladba oposlouchala, záznam by se dal použít k utření…

Na co zálohujete vy?

  • CD
    5 %
  • DVD
    24 %
  • DVD-RAM
    8 %
  • páska
    3 %
  • flashdisk
    2 %
  • pevný disk
    43 %
  • jiné médium
    2 %
  • nezálohuji
    13 %

Byl pro vás článek přínosný?

Autor článku

Karel Kulhavý vystudoval operační systémy, sítě a překladače na MFF UK a je autorem optického pojítka Twibright Ronja a spoluautorem textového a grafického webového prohlížeče Twibright Links.