2018/05/30

A nyers hiba

A hangok, képek videók adathajlításaira rengeteg segédlet készült. Sokat mi is kipróbáltunk. Mégis úgy tűnik a legnagyobb glitch művészek nem simán csúszkákat tologatnak, vagy random filerészleteket cserélnek ki, hanem egy szerves folyamat, egy művészi koncepció részeként használják az adathajlítást. 

Glithet többféleképpen állíthatunk elő, de konkrét hibákat célzott pozícióba programozási ismeretek nélkül szerintünk lehetetlen előidézni. Ebből a szempontból a glitch, mint kifejezési eszköz nem analóg például a filterekkel. Kísérletezni lehet, és az eredmények mentén haladhatunk a cél felé, de itt mindig a véletlen adja majd az igazi hatást, a művész kénytelen alávetni az akaratát ennek a körülménynek.

Újabb adathajlítási módszereket próbálunk ki, amit Rosa Mernkman formátumok nyelvezetéről írt munkájából nyaltunk. Eddig a file tartalmát roncsoltuk a formátumon belül, de glitchet úgy is előidézhetünk, hogy a formátum intakt marad, viszont a megjelenítéskor más formátumokra vonatkozó protokollt használunk.

A photoshop RAW formátuma erre kimondottan alkalmas, ugyanis elmentéskor megadhatjuk hány pixelt, hány csatornát és milyen módon kódolunk el, de üresen hagyjuk a headert. Emiatt megnyitáskor nekünk kell megadni a pixelek és csatornák számát illetve azok kódolását (interleaved RGBRGB, vagy perChannel RRGGBB), színmélységét, alfa csatornát. Elvileg ugyanazokkal a beállításokkal ugyanúgy visszanyitható egy kép, de pl. a színkezelést ilyenkor már nem viszi át.
1 vízszintesen 1..2..n pixellel rövidebb, vagy szélesebb méretet adunk meg. Szélesebbet csak akkor állíthatunk be, ha a hosszát csökkentjük, ugyanis a PS figyeli a file hosszát. Az alábbi ábrán egy pixellel kevesebbet, illetve többet adtunk meg a reális értéknél. 2 pixel többlet, vagy hiány 2*2 sávot eredményez, 3 pixel 3*2 sávot és így tovább.
Így, kellően nagy hibával ilyen textúrákat állíthatunk elő:

2 függőlegesen kár piszkálni, az interleaved képet, ilyenkor egyszerűen levágja a kép alsó részét.

3 három csatornás interleaved képet ezen kívül számtalan módon nyithatjuk meg, egycsatornásnak, kétcsatornásnak, háromcsatornásnak, vagy perChannel pixelelrendezéssel:

4. A perChannel elrendezéssel a keskenyebb, illetve rövidebb érték megadása nyitásnál ezt eredményezi:

5. Amennyiben a RAW-ot perChannel elrendezéssel mentettük, de interleavednek nyitjuk vissza, ezt kapjuk:
Gyakorlatilag ez utóbbi egy módszer lehetne arra, amit a NIKON RAWjának a mozaikolatlanításánál csináltunk. De játszhatunk az alfa csatornával is, így változatos mintázatban egyes pixelek átlátszóak lesznek, vagy akár a színmélységgel, ezek nekünk nem okoztak érdekes eredményeket.

2018/05/29

Szinesztézia - szonifikáljunk képeket

Azt mondtuk, hogy nem fogjuk megmutatni a szonifikációt, mert minek, ha úgyis tele van vele az internet. De hazudtunk, mert annyira élveztük, hogy az csuda. Progresszív tartalomra ne nagyon számítsatok, talán csak annyiban, hogy magyarul nem találtunk erről semmit. De mi se leszünk szájbarágósak, inkább csak a tapasztalatainkról néhány gondolat.


A BMP népszerűsége audacity szonifikációra pontosan a felépítéséből fakad. Ugyanis a kétdimenziós képet egydimenziósra bontva tárolja, és pontosan így jeleníti meg az Audacity is. Csupán arra kell figyelni, hogy egy átlagos BMP a végétől visszafele van elmentve, tehát az Audacityben a timeline eleje a kép aljának felel meg. Hajszálpontosan mutatja a szonifikált kép, hogy a timeline kijelölése mettől meddig tart, de kis szerencsével a timelineon egyes képi elemek is beazonosíthatóak, így például a villanyoszlop középső vízszintes merevítője, a szegeccsel a közepén.


Jellegzetes BMP vonás az is, hogy az effektus mindig vízszintesen jelentkezik, ez a file struktúrájából adódik, elforgatással-visszaforgatással ez persze valamennyire pozicionálható.


Érdekesség, hogy az Audacity high illetve lowpass filterei eléggé ugyanazt művelik, mint a képszerkesztők megfelelő szűrői. 
A BMP tehát ideális a szonifikációra, viszont ez a formátum sem bírja a fejléc csorbítását, a filehossz változására is érzékeny, bár nem kizárt, hogy hexeditorban a filehossz értékkel ez javítható. A manipulált képek stabilak, nem igényelnek fixálást, hiszen a pixelek értékeit konkrétan módosítja az eljárás. A tömörített formátumokkal viszont nem sikerült ezt a módszert használni, JPG és PNG esetén megnyithatatlan képet eredményezett több próbálkozás is.

2018/05/25

A hiba - a pixelhasítás alapjai

{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang2057{\fonttbl{\f0\fnil\fcharset0 Calibri;}{\f1\fnil\fcharset238 Calibri;}} {\*\generator Riched20 10.0.16299}\viewkind4\uc1 \pard\sa200\sl276\ slmult1\b\f0\fs22\lang9 Gondolkozt\'e1l m\'e1r azon, hogy mi a hiba? P\'e9ld\'e1ul l\'e9tezik e hiba, ha nincsenek elv\'e1r\'e1sok? \b0\'c9s t\'f6k\'e9letess\'e9g l\'e9tezik elv\'e1r\'e1sok n\'e9lk\'fcl? Mi\'e9rt l\'e9tezik min\f1\'f5s \f0\'e9gbiztos\'edt\'e1si szabv\'e1ny, hogyha nincs sil\'e1nys\'e1gbiztos\'edt\'e1s? \par

Ja bocs :) Kezdjük újra:

Gondolkoztál már azon, hogy mi a hiba? Például létezik e hiba, ha nincsenek elvárások? És tökéletesség létezik elvárások nélkül? Miért létezik minőségbiztosítási szabvány, hogyha nincs silányságbiztosítás? 
Azt hinnéd, hogy annyira bonyolult az informatika, a képtárolás, algoritmusok, miegymás, hogy nagyon könnyű elrontani egy képet. Pedig nem is. Kifejezetten nehéz. Persze amikor nem kellene, akkor megtörténik magától, és olyankor az a jellemző, hogy nem tudjuk észrevenni a dolog szépségét. Helyette csak az idegeskedés, pedig egyesek rengeteg időt eltöltenek azzal, hogy megtervezzék a véletlent és megalkossák a tökéletlent.

A témakör nagyon széles, nem is új, több mint ötven éve használja a művészet az elektronikus hibákat. Most csak megnyaljuk a dolgot, de még visszatérünk.

Ezek a képek a JPG Glitch szoftverrel készültek. Van online változata is. Sajnos nem derült ki, hogyan dolgozik, emiatt az sem, hogy a négy változó pontosan mihez is piszkál hozzá (fejtse meg a szkriptet aki akarja). Két fotón ugyanaz a beállítás teljesen más eredményt ad. De ugyanazzal a fotóval az online és a desktop változatai is eltérnek, ami érthető, az online szkript lecsökkenti a képet. További szépséghiba, hogy nem azt exportálja ki, amit látunk, ezért mi kisnipoltuk a legjobb képeket. Egyetlen szépsége, hogy úgy ki tudja nyírni a fotót, hogy még a Photoshop is felszisszen tőle. A fickónak vannak még érdekes webgrafikai kísérletei, azokat is érdemes megnézni. A blokkosodott DCT- és subsampling-jellegű hibákat könnyű felfedezni a képeken. Tömörítetlen fileformátumnál ilyen hiba nem keletkezik, ott inkább az adathajlás a jellemző. Ezeket az online változattal hoztuk létre:


Valamivel gépközelibb a szövegszerkesztővel szerkesztés módszere. Ehhez semmilyen extra szoftverre nincs szükség, csak egy Wordpadra, de Notepad, Hexeditor is célra vezethet. A kezdőképet (legfölül) Hexeditorral tuningoltuk, a teljes Micimackó Kuckóját beleoltottuk (a baloldaliba ötször is). Ez már határterület a szteganográfiával. A vízszintes szürke zajcsíkok minden bizonnyal a Micimackó szövegét jelenítik meg, mert ahányszor random helyekre bemásoltuk, annyi csík keletkezett.  Az alábbi képeket BMP-ben WordPaddel készítettük. Persze fogalmunk se volt, hogy az adatfolyam melyik szakaszába sikerült beleírni, teljesen próbálkozás alapú a dolog, de jól látszik egyfajta tendencia, amit a szakirodalom WordPad effektusnak hív. Ennek oka, hogy a BMP kétdimenziós pixelei egy dimenziós adatfolyamként hajlíthatóak meg, szemben a JPEG teljesen összevissza kódolt pixelértékeivel. Úgy is mondhatnánk, a BMP sérülése valamiféle viszonyban áll a beavatkozás mértékével, JPEG esetén meg teljesen megjósolhatatlan, hogy a kvantálási táblát, a Huffman táblát, vagy mit sikerül meghekkelni. Persze volt néhány olyan beavatkozás is, ami után már nem lehetett a képet egyáltalán megnyitni (a header moddingjára kifejezetten érzékeny az összes fileformátum).
Az adathajlító beavatkozások után a képek instabilak, nem árt megnyitni valamiben, ami még valahogyan képes reprezentálni a pixelkupacunkat, és újramenteni, ezzel véglegesen belekódolva a hibát a kép szövetébe. Persze két képkezelő sem egyformán fogja megmutatni a sérült képeket. Ez tanulság arra az esetre, hogyha sérülnek a képeink. Például a hexeditorban random szétoltott JPG esetén az Irfan teljesen visszaállítja a képet, pár elszíneződött pixelsor veszteséggel (baloldalt), míg a PS nem különösebben erőlteti meg magát (jobboldali). Sőt CC és CS6 között is különbségek lehetnek. Mindig a lehető legváltozatosabb képszerkesztő arzenállal próbáljátok menteni sérült képeiteket.

Persze most mi direkt fordítva közelítjük meg a dolgot, azért használunk több képszerkesztőt, hogy a lehető legszebb hibákat kapjuk meg. Másik módszer, hogy az adathajlítást egyfajta művészi szinesztéziával végzik. Mert képre hogyan másképp tehető például visszhang? Ilyen a képi adathajlítás hangszerkesztőben, mi is kipróbáltuk, de mivel tele van az internet, nem szaporítjuk vele a szót.
Fordítva is érdemes csinálni, hangállományt Photoshopban szerkeszteni. Mert Audacityben viszont nem lehet a hangra blurt, vagy kontrasztot tenni. Fent ez egy 17 másodperces gitárjáték ahogyan a PS látja. Jó kövér fejléce van. Belenagyítva a bal felső sarkába egészen lenyűgöző struktúrát kapunk:

Hogy ne csak visszaböfögjük az internet tartalmát, ez utóbbi kapcsán felmerült, hogy úgy is szerkeszthetünk JPEG képet PS-ben, mintha az bármilyen adathalmaz lenne. Gyakorlatilag képet hajlítunk, de nem hangszerkesztővel, szövegszerkesztővel, hanem pontosan képszerkesztővel. Meglepett a váratlan fordulat, mi? Mennyire rákkendroll, nem igaz? Ha egy JPEG-et JPEG-ként nyitunk meg, akkor a PS azt értelmezi, és egy kétdimenziós RGB pixelmátrixot fest számunkra, amit megszoktunk, ami általában az elvárás. De ugyanezt a JPEG-et átnevezhetjük *.RAW-nak és megnyithatjuk úgy is, mint egy nyers adathalmaz (Open/Photoshop Raw). Ebben az esetben meg kell adnunk egy pixelméretet, ami próbálgatással zajlik. Csaba fotóját láthatjátok, amin ugye a hang és a kép ötvöződik Grimpix gyönyörű gesztusában. Baloldalt RAW-ként, jobboldalt meg ahogy megszoktuk:

A beavatkozás kis területekre korlátozódott, használtunk szűrőket is, az alábbi példában viszont konkrétan belerajzoltunk a képbe. A meghajlított állományt visszamentettük, visszaneveztük JPG-nek és íme ez az eredmény.

Persze ebből most az vonhatod le következtetésként, hogy az Irfan mindig jobban teljesít. Ez persze nem igaz, van amikor a PS dob jobb eredményt ugyanarra a sérült állományra.



Szerintünk a hiba teljesen az elvárásokon múlik. Ezután, hogyha olyan SD kártyád, vagy fényképezőgéped van, ami folyamatosan generálja a szebbnél szebb hibákat, akkor azt semmiképpen se dobd ki. Valakinek lehet, hogy pont az a minőség az elvárás. Értem?
Ezt az igazi glitch-effektust a kamera okozza. (Levi felvétele)