Specifikace JPEG umožňuje vložit celovečerní film do jednoho obrázku

29. 11. 2022
Doba čtení: 6 minut

Sdílet

 Autor: Depositphotos
Bez porušení specifikace obrazového formátu JPEG z roku 1992, bez ukládání přídavných dat do EXIF nebo neobrazových tagů, bez použití steganografie vložíme celovečerní HD film do jednoho obrázku JPEG.

Film se v obrázku kromě „zvýšené“ velikosti (Pepíček: „Mami, mám zvýšenou teplotu!“ — Maminka: „A kolik máš?“ — Pepíček: „Dva milióny tři sta dvacet pět tisíc osm set padesát jedna devět.“ — Maminka: „Tak to místo obvodního lékaře půjdeme k obvodnímu astrofyzikovi.“) nijak neprojeví. Vzhled JPEGu se tím nijak nezmění a vložený soubor je na JPEG obrázku nezávislý. Díky tomu, že jsou použity pouze obrazové tagy, film dokonce není odstraněn běžnými filtry, které se snaží sanitizovat přídavnou informaci v JPEGu jako EXIF.

Jako dítě jsem vytočil kolečko nulování váhy v koupelně tak daleko, že se mechanismus rozebral a rodičům se ho již nepodařilo složit. Dnes rozeberu JPEG a vložím do něj různě velké filmy a 31GB video. Na rozdíl od váhy bude tentokrát složení úspěšné – složí se jak některé prohlížeče, tak mobilní aplikace a dokonce i iOS.

Autor: Karel Kulhavý
Autor: Karel Kulhavý

Vyrobil jsem JPEG vyfocením Měsíce a mraků. Obsahuje přírodní kvantizační tabulky. Vložil jsem 65 MB dalších, nadbytečných kvantizačních tabulek. Nahrál jsem ho na iPhone X přes Airdroid s úspěchem. Když jsem se na něj chtěl podívat aplikací EXIF prohlížeče Exif Lite, tato opakovaně padala a nic nezobrazila.

V galerii iPhonu se obrázek zobrazí a po stažení Airdroidem dostaneme identický soubor jako před nahráním na telefon. Předběžný test uspěl, teď napíšu C program, který do DQT tabulek vkládá libovolné soubory: Jpeginsert.

Celovečerní JPEGy

Můžete si Jpeginsert nainstalovat a vyzkoušet na těchto zábavních JPEGách, které jsem připravil. Pak si povíme, jak program funguje:

Velikost výsledného JPEGu Obrázek, do kterého jsem data zakódoval (obrázek v článku neobsahuje zakódovaná data, na Internetovém archivu ano) Typ Doba hraní Formát Licence
3,8 MB Audio – hudba 1 min 32 s mp3 320 kbps CC-BY Jimmy Fontanez, Doug Maxwell

Urban Lullaby: chytlavá R&B a soulová melodie od Jimmyho Fontaneze a Douga Maxwella, která se mi moc líbila a byla použitá v níže uvedeném videu z Paříže.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Urban_Lullaby_audio_in_JPG/lullaby_with_audio.jpg
529 MB Video přednášky 1 h 5 min H.264 720p 30 Hz CC-BY Elonka Dunin

Slavné nerozluštěné kódy: kryptoložka Elonka Dunin rozebírá zejména tajemný Voynichův kodex, který nikdo nerozluštil, ani NSA, a 4. nerozluštěnou část šifrované sochy Kryptos vně budovy CIA.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Famous_Unsolved_Codes_by_Elonka_Dunin_video_in_JPG/Famous_Unsolved_Codes_video_inside.jpg
818 MB Dronové video 34 min H.264 1080p 30 Hz CC-BY The Dronalist z YoutTube

Gigantická Eiffelovka rozkročená nad nepatrnýma lidičkama a záplavy pařížských paláců a střech, které, pro mě překvapivě, nejsou červené ani zelené ale šedé a bílé. Řeka, mosty, bulváry, oblouky, parky, paláce a katedrály a na 2:15 se dron otáčí nad kruhovým objezdem rychlostí stejnou jako kroužící auta, takže to vypadá jako že auta stojí a země se pod nimi točí (toto je mimochodem princip Fourierovy transformace).

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Paris_Drone_France_video_in_JPG/Paris_Drone_France_video_inside.jpg
1,2 GB Dronové video 43 min H.264 1080p 30 Hz CC-BY The Dronalist z YoutTube

Brooklynský most, slunce a lesknoucí se voda a skla mrakodrapů, ulice, křižovatky, světla, auta, metro, mosty a nadjezdy.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/New_York_Drone_video_in_JPG/New_York_Drone_Cinematic_Aerials_video_inside.jpg
2,47 GB Dokumentární video 5 h 45 min H.264 1080p 30 Hz CC-BY Plainly Difficult z YouTube

Dokumentární maratón o jaderných a chemických haváriích, výbuších, kontaminacích a katastrofách od youtubera Plainly Difficult. 16 kilo uranu v kýblu, které chytlo jadernou reakci. Gigantický smrtící chemický výbuch v Bhopálu. Komu bouchlo radioaktivní americium do obličeje a incident rozchodil, ale měl z toho 4 infarkty? Radioaktivní kůlna. Momentový klíč zapadl do jaderného sila, kde raketa vybouchla, 740-tunové víko vyletělo do výšky 60 metrů a jadernou hlavici to odhodilo 200 metrů. Toto je sborník jeho 4. roku tvorby.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Plainly_Difficult_Year_4/Plainly_Difficult_Year_4_video_inside.jpg
4,00 GB Dokumentární video 8 h 23 min H.264 1080p 30 Hz CC-BY Plainly Difficult z YouTube

Po výbuchu Challengeru přestaly raketoplány létat a chloristan amonný do raketových motorů se výrobci hromadil až do 3 800 tun, kdy v jeho blízkosti svářel svářeč. Detonace dosáhla čísla 3,5 na Richterově stupnici. A mnoho dalších skutečných příběhů: i Švýcaři roztavili jaderný reaktor, stále hořící požár uhelného dolu, protržené přehrady, pády mostů, experimenty na dětech, výbuchy chemiček, dioxiny, pád jaderného reaktoru z vesmíru a korunu tomu nasadí černá královna všech jaderných výbuchů: Černobyl.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Plainly_Difficult_Year_5/Plainly_Difficult_Year_5_video_inside.jpg
31,0 GB Video záznam 9 h 38 min MPEG2 480p 30 Hz Public Domain

Gigantický 31 GB JPEG z původního 116 kB 720×540 screenshotu je největší z těchto všech JPEGů do kterých jsem vložil data. 15 let starý záznam ze Senátu Spojených států člověk místo zábavního zážitku spíš použije na testování implementací JPEG dekodérů a webových prohlížečů.

Příkaz k přehrání (obsahuje URL obrázku s vloženými daty):


jpeginsert_play_url.sh https://archive.org/download/Senate_Proceeding_video_inside_JPEG/senate_proceeding_12-17-07.mpeg2_inside.jpg

Koukáme se do specifikace JPEG

Autor: Karel Kulhavý

ITU (vlevo), která vydala JPEG, byla založená před 156 lety při rozvoji mezinárodního telegrafu, a je jednou z nejstarších mezinárodních organizací vůbec a částí OSN. CC-BY-SA 3.0 Filzstift, Wikimedia Commons

182stránková Specifikace JPEGu ITU-T T.81 ze září roku 1992 se stala absolutním hitem, i po 30 letech se stále masivně používá. Z těch ostatních hitů roku 1992 je můj nejoblíbenější asi Rage – Run To You. Teď se podíváme do specifikace, co nám tam ty Spojené národy vymyslely. Moje oblíbená záhlaví:

  • B.2 Syntax JPEGu
  • B.2.4 Syntax tabulek a různých marker segmentů
  • B.2.4.1 Syntax kvantizačních tabulek (ta 0×FF 0×DB DQT věc uvnitř JPEGu)
Autor: Karel Kulhavý

Opět se podíváme do Měsíce a mraků. Tabulka je v bloku pouze jedna (n=1):

Autor: Karel Kulhavý
Autor: Karel Kulhavý

Do koeficientů Qk – samotného obsahu tabulky – si můžeme dát co chceme, ve standardu se ale píše, že obsahy těch koeficientů mají být nenulové. Přídavné kvantizační tabulky se nepoužijí, přepíšou se pak zase těmi původními. Při testu se nezdálo, že by nuly někdo kontroloval. Nacpal jsem do souboru těch nul asi 65 megabajtů a nestěžovali si:

bitcoin školení listopad 24

  • Chromium
  • GIMP
  • GPicView
  • G'MIC
  • ImageMagick (convert)
  • Twibright Links

V příštím díle ale dodržím specifikaci JPEGu nenulovými hodnotami a data — velká čísla — tak budu muset přepočítat z 256kové číselné soustavy na 255kovou.

Anketa

Který z těchto hitů z roku 1992 je váš nejoblíbenější?

  1. Specifikace ITU-T T.81 (JPEG)
  2. Dunbarovo číslo
  3. První detekovaná exoplaneta
  4. protokol SOCKS
  5. 2 Unlimited – Workaholic
  6. Bon Jovi – Keep The Faith
  7. Snap! – Rhythm Is A Dancer
  8. Technotronic – Move This
  9. Rage – Run To You
  10. Roxette – How Do You Do!
  11. Dr. Alban – It's My Life
  12. Aphex Twin: Heliosphan
  13. Mike Oldfield: Tubular Bells II

Který z těchto hitů z roku 1992 je váš nejoblíbenější?

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.