Hirdetés

Ha már egyszer MSDN Library

Ha már így szóba került az MSDN Library, egy másik érdekes ''incident'' a tudástárba:

Az MSDN fogta magát, és megbuzult. Nem indult el; se' kép, se' hang. Kétszer újratelepítettem, ez sem segített.

Aztán némi vajákolás, és a jó öreg SysInternals-féle FileMon futtatása után kiszúrtam egy file-t, amivel próbálkozott az MSDN, az uninstall viszont fent hagyott.
%APPDATA%\Microsoft\MSDN\7.0\dexplore.xml
Belenézve eléggé zakkantnak tűnt, nem igazán rendes XML-nek. Fogtam, letöröltem, voila, meggyógyult az MSDN.

Inverz kelet-európai gettó

Mindig panaszkodunk, hogy nekünk itt K-Ajrópában mindenből csak a lebutított verzió jut, az is drágábban, mint Nyugaton. Ehhez képest...

A kedves PiciPuha kétnapi szívással jutalmazott meg grátisz. Volt egy Windows 2000 SP4-es gép (akkor az XP még épphogy csak kijött), és egyszercsak megszűnt rajta a hálózat. Újrainstalláltuk volna a hálózati komponenseket, de a TCP/IP telepítése közben a rejtélyes ''Helyreállíthatatlan hiba történt az adatbázis-keresés közben'' (''Unrecoverable error while searcing the registry'') hibaüzenetet kaptuk. Órákig tartó keresés után a következő cikket találtam: [link]. Bár ez kizárólag Windows 2000 SP1-ről szólt, és Proxy Server természetesen a közelben sem volt, megoldotta a problémánkat.

És hogy miért tartott két napig ezt megtalálni? Mert angolul keresgéltem, hiszen úgy több anyag érhető el, és a fenti lap angol nyelvű változatából [link] egyszerűen hiányzik a hibaüzenet, és a rá való hivatkozás. A német és a francia nyelvű verzióból is. Össze lehet vetni őket, a mai napig nem javították.

Végre valami, amiben nekünk jobb. A kedves nyugati polgárok meg csak dögöljenek, ha ilyen hibájuk van, és nem tudnak magyarul.

Vigyázz! Sugároznak! III. rész - Digitális jelen

Digitális jelen

Na, a T. nagyérdemű számára otthonosabb vizeken járunk. Az elektromos jelet valahogyan digitalizáljuk, ezt a jelsorozatot valahogyan átvisszük, majd a nézőnél analóg elektromos jellé alakítjuk (jó esetben képpontonként!), ami bizsergeti a plazma celláit vagy a TFT pixeljeit. Az egész folyamban a legelső (kamera cellán belüli) és legutolsó (monitor pixelen belüli) lépést kivéve csak digitális adatok közlekednek, amik kevésbé érzékenyek a zajra, könnyen tárolhatóak, könnyen titkosíthatóak, és mindenki látá, hogy ez jó.

Hogy annyira mégse legyen jó, képarányban a tv és a 15”-os TFT-k 4:3 aránya mellé bejött a 17”-osok 5:4-e (ami épp egyezik a hagyományos videojelek digitálisan 720*576-os világával). Emellett van 16:10-es és 16:9-es szélesvásznú is, nehogy már egyformák legyenek. Persze, dvd, meg HD (High Definition) [link], meg a sok wide-screen. Filmes felbontásban bejött az 1280*720 és az 1920*1080.

Már a CRT monitorok és a videokártyák is kinőttek az interlaced üzemmódból a múlt évezredben, manapság a progresszív a menő, legfeljebb kompatibilitási okokból használják. Manapság egységes jelöléssel a függőleges felbontást és a képgyakoriságot összefogják, így a PAL tv 576i25 (interlaced), a sima HDTV mifelénk pedig 720p50.

Ez eddig szép és jó, de számoljunk csak utána egy kicsit! A fapados VCD (288i25) [link] esetében 352*288*25*24 bitnyi információt kell áttolni másodpercenként a pucér nénik nézegetéséhez, ami valamivel 60 Mb/s felett van. Ez sok, a felbontás pedig kicsi. 1080p60-as űbertv-nél már majd’ 3 Gb/s-ről van szó. Nyilvánvalónak tűnik, hogy ezeket az adatmennyiséget csakis tömörítve lehet áttolni. Pedig nem. A digitális videojelek továbbítására találták ki az SDI (Serial Digital Interface) szabványt [link], amin a számítógépből veszteség és tömörítés nélkül (ez azért nem mindig igaz, ld. Megjegyzések) mehet ki az anyag. Vagy egy digitális mixerbe, vagy közvetlenül a kódolóba, ahonnan fellövik a műholdra. Ennek azóta kialakult HD-SDI és Dual Link SDI (ill. 3G-SDI) változata is, ami a már korábban említett 1080p60 sávszélesség-igényének kiszolgálására is elég. Tipikusan stúdión belül használják, feltéve, hogy a csatorna ad magára valamit is, és nem analóg őskövületeken kavar.

De hogy mondjak egy közismertebb példát is, a DVI csatlakozón [link] kijövő digitális jel is tömörítetlen adatfolyam. Ennek kétcsatornás 7,4 Gb/s sebessége még a WQXGA 2560*1600-as felbontására is elég 60 Hz-en.

Ha ennyire hasonlít a DVI és az SDI, fel is merülhet egyből, a tv társaságok miért nem sima asztali PC-ken dolgoznak (pl. „E6-os Venice, jól felhúzva, bele egy 6600GT, vááá”), minek bajlódnak mindenféle drága cuccokkal. Csill-vill feliratozás is egyből megoldott lenne, hiszen OpenGL-ben vagy DirectX-ben asztamilyen effekteket lehet rárakni, gondoljunk csak a Vistára, vagy a játékprogramokra! Az egyik ok a sznobság: amiért a grafikusok Mac-en szeretnek dolgozni, még ha pontosan ugyanazt is tudja a PhotoShop Windows-os változata. Hogy venné ki magát, ha egy milliárdos forgalmú tv csatorna egy Tesco gazdaságos PC-ről tolná az adást? A második ok egyszerű: SDI már régóta van, ilyen berendezésekre álltak át analógról, amikor a DVI még zacskóban sem volt. (Még a HD-SDI is egy évvel megelőzte a DVI-t.) A harmadik ok: SDI-jal 300 méteres drótot lehet használni, ami egy nagyobb stúdióban kell is. A DVI-nál milyen közel is kellene pakolni a feliratozót a mixerhez?...

A negyedik ok is triviális: a tévézésben nagy szerepe van a kulcsolásnak, avagy az átlátszóságnak. Számítógépes grafikában ezt az alfa csatornának feleltethetjük meg. Arra kell gondolni, amikor Németh Lajos a zöld sarokban hadonássza az időjárás-jelentést. Ez esetben Lajos kitöltése teli, a zöld helyett pedig átlátszó jel jön, a kontúroknál meg valami a kettő között. Az alfa csatorna kezelése egyrészt helyből harmadával megdobja a sávszélességet, másrészt jóval erőforrásigényesebb két valamit egymásra alfázni, mint simán kirakni. Nem véletlen, hogy csak az utóbbi idők csupa izom GPU-jain jelentek meg normális félig-átlátszó textúra megvalósítások. Mivel a mai monitorok még nem látszanak át , ezért a kommersz videokártyák arra vannak optimalizálva, hogy a kép teljesen lefedi az egész képernyőt. A végeredmény is sima RGB, alfa csatorna nélkül. Ha mondjuk feliratozáshoz szükségünk lenne erre az információra, újra megcsináltatjuk az egész képet, fekete háttér előtt az átlátszóságnak megfelelően szürkésfehér textúrával.

Ami a hangot illeti, stúdión belül az AES/EBU [link] szabvány használatos; többnyire ilyen jön ki a DAT magnókból is. Talán elég annyit megemlíteni, hogy az otthoni PC-kben található S/PDIF [link] lényegében az AES/EBU olcsósított, kommersz változata – aki meg nem tudja, mi az S/PDIF, az hallgasson zenét a nyolctranzisztoros Szokol rádióján!

Persze az adásnak többnyire még nagyobb távolságot kell megtennie egy tv-műsor esetén, mint a stúdión belül (SDI) vagy a gép és a monitor között (DVI). Műsorszórásra egy cseppet drága lenne a nézők felé gigabites sávszélességet fenntartani, így a digitális sugárzásban tömörítenek. Szerintem mindenki látott már hózáporban vagy zivatarban széteső, bekockásodó műholdképet. Igen, igen, itt is a jó öreg, jó buta MPEG-2 [link] tömörítésről van szó. Természetesen a cd-re kiírt filmek 1-2 Mb/s bitrate-jénél jóval nagyobb sávszélességgel, és így jobb minőségben.

El is érkeztünk a manapság kábeles és földi műsorszórásban is használt, nálunk épp terjedő DVB Digital Video Broadcasting, digitális videó műsorszórás) szabványhoz [link]. Ezt a végére csatolt betűkkel tovább osztják átvitel és szolgáltatások szerint. A legfontosabbak a -C (Cable, kábeles), -T (Terrestial, földi), -S (Satellite, műholdas) és -M* (Microwave, mikrohullámú) verziók. Az összes DVB adat MPEG-2 átviteli folyamot használ, ennek előnyeivel és hátrányaival. Az évtizedek folyamán a tv-vel és mozizással összegyűlt többi kényelmi/fasisztoid szolgáltatást/kényszert is belevették a szabványba, van DVB-TXT (teletext), DVB-SUB (feliratozás), feltételes hozzáférés (DVB-CA), tartalomvédelem (DVB-CSA) stb.

Egy másik átviteli közeg az Internet. Míg a TeCső és gombamód elszaporodott társai lényegében csökkentett felbontású, agyontömörített filmek file-szintű letöltését teszik lehetővé, az igazi netTV-nél sávszélesség-takarékos multicast útvonalválasztással [link], akár HD-DVD minőségben is kaphatjuk az anyagokat. Rendszertől függően kész műsorrenddel, de akár on-demand jelleggel (igény szerint) is, mintha a sarki kölcsönzőből vennénk ki a filmet egy megnézés erejéig.

És persze terjednek újabb fajta kódolások is, mint az MPEG-4 [link] és a H.264 [link]. Ezek sok okosságot támogatnak, persze az a felkódolón múlik, hogy ezekből mennyit használ ki. A nagyon laikusnak legyen elég annyi, hogy pl. tudhatnak nagyobb tömörítési arány ugyanolyan látvány mellett, meg optimalizálhatnak hálózati sugárzásra stb.

Megjegyzések

A megszokott RGB világhoz képest a sugárzásban az YUV szín-tér az általános. Hogy miért, arról pár sorral lejjebb. Azt viszont nem árt tudni, hogy az RGB-YUV konverzió veszteséges. 0-255 közötti RGB értékekből 16-235 közötti Y (fényerő) és 16-240 közötti U és V (színkülönbségek) lesznek. A 16 millió kombinációt 11 millióba tapossák bele, nem lesz ennek jó vége. Hogy miért nem használják ki YUV tartományban is a 0-255 közötti lehetőségeket, vissza kell nyúlnunk a múltba. Az analóg videojelnél ugyanis a teljesen fehér és a teljesen fekete speciális jelentéssel bír, mint például a szinkronjel, így nem lenne okos dolog ilyen értéket kiadni a kép közepén.

Ezt lehet fokozni még azzal, ha a 24 bites pixelt összepakolják mondjuk 16 bitre. Egyszerűen a legfelső 6-5-5 bitet küldik csak át, ami némi információvesztés árán 33% tömörödést jelent. Gondot jelent az alacsony bitszám, gondoljunk csak egy finom színátmenetre, mint amilyen egy ég. 6-5-5 bittel sávos lesz az egész, kb. mint amikor VGA módban nézzük a Windows 2000 ablakjainak felső csíkját.

Ennél azonban van okosabb módszer is az adatok ritkítására. Az emberi szem ugyanis a fényerőbeli különbségekre sokkal érzékenyebb, mint a színárnyalatok közöttire. De nicsak! A YUV szín-tér (azon kívül, hogy a fekete-fehér tv-kkel való kompatibilitás miatt került a képbe annak idején) épp erről szól. Épp az Y komponens az, amire a szem érzékeny, az U és V meg jól kiegyelhető. Az eldobálás előtti állapotot YUV 4:4:4-nek szokás hívni. Ha nekiállunk aprítani, és eldobjuk minden második szín-információt (vagy átlagoljuk a két képpont adatait), megkapjuk a 4:2:2-es mintavételezést, ahol minden 4 Y értékre 2-2 U és V jut. Ez is 33% tömörítés, de a szem alig veszi észre. Ha már így belejöttük, még tovább felezhetünk vízszintesen (4:1:1) vagy függőlegesen (4:2:0) is. Ezeknél már 4 Y-ra 1-1 U és V-t számolhatunk, ami az eredeti 4*3 byte-ból 6-ot csinál, 50%-os tömörítést eredményezve. [link] Hogy ezt mennyire büntetlenül meg lehet tenni, arra mi sem jobb példa, hogy ami tv-műsort vagy számítógépes mozit látunk, az szinte biztosan átment legalább egy 4:4:4-4:2:0 konverzión valahol útközben.

Vannak még nyalánkságok az adatok csoportosítása körül is: Jöhetnek a megszokott pixeles formátumban, de jöhetnek plane-enként is: először mondjuk a teljes képernyő Y adatai, aztán az összes U, végül az összes V. A fenti linken ezeket is bemutatják. Ezeknek a memória-hozzáférések hatékonyságában van jelentőségük.

Vigyázz! Sugároznak! II. rész - Analóg közelmúlt

Analóg közelmúlt

Nem említettem még a szinkronizálást: Szép, szép, hogy kitolják a képet, a tv pedig veszi a jelet, és
kirakja a képcsőre, de hülyén nézne ki, ha a bemondó feje fél képernyővel eltolva, félbevágva jelenne meg. Ezért valahogyan tudnia kell a tv-nek, hogy hol kezdődik a kép. Erre szolgál a szinkronjel. A kép kirajzolása satírozás-szerűen történik, márpedig amikor a képcsőben az elektronsugár visszafut a kép egyik széléről a másikra, illetve legalulról legfelülre, addig nem történik megjelenítés. Ezt a kis időt kiválóan ki lehet használni arra, hogy egy szinkronimpulzus jöjjön az amúgy fényerőt továbbító jelen. A vevőnek nincs más dolga, mint figyelni ezeket a tüskéket, és onnan indítani a kép kirajzolását. [link]

„Történelmileg úgy alakult”, hogy a kép megjelenítése nem egyben, hanem két félképben történik: először a páratlan, majd a páros sorok (interlace) [link]. A teljes képre a „frame”, a félképre a „field” szót használják a művelt németek. A mi éghajlatunkon 25 fps (FRAME per second), illetve 50 field/s (50 Hz), nagyarcúbb országokban a 30 fps (60 Hz) az elterjedt, a mozifilmek meg 24 fps-sel vevődtek fel. De ezt mindenki tudja. Képarányban a legszélesvásznúbb filmek 2,77:1-es arányáig terjedt a világ. A tv-nél megszokott 4:3-as képen ezért a vagy a képernyő alsó és felső részén vastag fekete csík volt látható, vagy függőlegesen kihasználták a helyet, így viszont a kép két széle lemaradt, mókás esetben épp a két, egymással szemben álló párbajhőssel.

Ugyan 1970-re már szinte mindenhol beindult a színes sugárzás, a háztartások többségében még csak fekete-fehér készülék volt. Hogy ezekkel kompatibilisek maradjanak, a színes sugárzást úgy találták ki, hogy az érzékelőkből jövő piros, zöld és kék (R, G, B) komponensek helyett a fényerőt (luminance, Y) viszik át, és a piros és kék jelekből ezt kivonják. Ezeket szokás chrominance-nak hívni, és (R-Y), Cr vagy V, illetve (B-Y), Cb vagy U betűkkel illetni. A fekete-fehér tv örül a fényerőnek, az okos színes tv pedig sima súlyozott összeadással visszacsinálja magában az RGB összetevőket. Onnantól kezdve meg lényegében három fekete-fehér monitor van egybegyúrva, amiből az egyik a piros, a másik a zöld, a harmadik a kék fénypontokat lövöldözi. A szemünk meg olyan láma, hogy ezeket együtt mindenféle színnek látja.

Ha már a színeknél tartunk: Az európaiak 15 évnyi késése azért valamire csak jó volt. A PAL és SECAM rendszerekben sikerült megoldani a bizonytalan késleltetésekből adódó szín-elcsúszásokat, amik az NTSC rendszerekben a mai napig megvannak (szóviccel Never The Same Color), még ha erőlködnek is a vevőkben a fáziskorrekcióval. A mozifilmek tv-re/videóra való átrakásánál megint csak nagy a különbség. Az európaiak megússzák egy 24-ről 25 fps-re való gyorsítással, és majdnem egy félhanggal magasabb hangsávval. Az NTSC-s országokban túl nagy lenne a különbség, így ott ugyan a hangot békén hagyják, viszont a képekkel hatalmas a kavarás. [link]

Házon belüli, kábeles továbbításra megszokott a tv sávba felkonvertált jel. Videomagnóból kijön a koax, bele a tv-be, az meg azt hiszi róla, hogy antennán jött, tipikusan az UHF 60-as csatornán. Ennél valamivel épeszűbb megoldás, ha a videóból közvetlenül az alapsávi összetett (composite) videojel jön ki, és a tv ezt meg tudja enni, hiszen így az UHF fel-lemoduláció elmarad. Ennél még egy fokkal jobb, ha a fényerő és a szín külön vezetéken jön, mint pl. az S-Video esetében, azaz nagyobb a rendelkezésre álló sávszélesség. A legjobb persze a komponens videojel esete, amikor a színjelek és a szinkronjelek is mind külön-külön dróton jönnek. Ilyenre példa a SCART csatlakozó, vagy az analóg VGA dugó.

Van egy összefoglaló Wiki-oldal a tv-s sugárzásról, ahol sok alapfogalmat elmagyaráznak: [link].

Vigyázz! Sugároznak! I. rész - A kőkorszak

Egy film-lopós topicban a minap szembesültem azzal, hogy még a számítástechnikában jártasabbaknak is vannak fehér foltjai a televíziós/videós sugárzásban/átvitelben. Pedig manapság már ez sem más, mint színtiszta digitális számítástechnika. Az alábbi írást egy kis ismeretterjesztőnek szánom erről a területről.

Szolgálati közlemény: A külső hivatkozások angol nyelvűek. „- De tanár úr, aki nem tud angolul, az dögöljön meg? - Hmm, igen, az dögöljön meg!”

A kőkorszak

Réges-régen, mikor az ember lejött a fáról, egyből vissza is mászott, hogy antennát szereljen rá. A képek átvitelére nem is kellett olyan sokat várni a rádiózás elterjedését követően, hiszen míg nálunk „ott volt huszonháromban az első stúdió”, a nagy vízen túl 1926-ban már megjelent az első kísérleti tv-adó [link]. A kezdetek kezdetén persze még csak olyan felbontásokat használtak, amik manapság már mobilháttérnek is égők lennének; de meglepően korán, már 1928-ban megtörtént az első kísérleti színes adás. A második világháború elejére már egészen felismerhető képeket sikerült átvinni, de a közbejött sajnálatos események miatt még éveket várni kellett a szellemi rágógumi terjedésére.

Ami a műszaki részleteket illeti, kezdetben optomechanikus eszközökkel történt a képalkotás: pl. egy lyukas koron (Nipkov-tárcsa) forgott a fényérzékelő előtt. Ezeket hamar kiszorította az elektromos képalkotó cső. A képet vízszintesen pásztázták végig, fentről lefelé. Az átvitt jel az adott pont fényerejével volt arányos (amplitúdó-moduláció, AM). A legtöbb helyen az 50 Hz valamilyen osztásával továbbították a képeket. A kezdeti képregényes másodpercenkénti 5, majd 12,5 illetve 16,6 képet már a háború előtt feltornázták a más folyamatos mozgás érzetét keltő 25 fps-re. A képernyőt alkotó sorok száma természetesen annyiféle volt, ahány ország próbálkozott vele; a franciák önmagukban 4 év alatt 375, 441, 455 majd 405 sorral kísérleteztek [link]. A vízszintes felbontást nem lehet ilyen egyszerűen megmondani, hiszen akkoriban még nem pixelekről volt szó. A vízszintes pásztázás során a fény érzékelése analóg módon történt, majd a jelet is analóg úton továbbították, melyet egy analóg eszköz, a képcső jelenített meg. Az egész folyamat során folytonos jel közlekedett, aminek a sávszélességét egyedül az átvitelben résztvevő alkatrészek korlátozták.

Ebből a működési elvből rögtön következnek a hiányosságai is. Az AM átvitel azzal jár, hogy a jelre rakódott bármilyen zaj vagy zavar közvetlenül megjelenik a képen. Nem kell túl öregnek lenni hozzá, hogy valaki még emlékezzen szellemképes, viharban mákossá váló képernyőre. Persze a sima AM helyett a tévézésben négyszeres modulációt (quadruple AM, QAM) használnak, de ez a lényegen nem változtat.

Az analóg jelútnak ráadásul korlátozott volt a sávszélessége (a digitálisnak sem végtelen, csak az másképpen jelentkezik), ezért a hirtelen soron belüli váltásokat nem képes követni. A nagy kontraszt-különbségek simításra kerültek. A tesztábrákon, monoszkópokon ezért is szerepeltek különböző vastagságú függőleges fekete-fehér csíkok: így lehetett lemérni, hogy az adott tv-n milyen hirtelen váltások mennyire mosódnak össze szürkévé.

De ne szaladjunk még ennyire előre! Egyelőre ott tartunk, hogy a második világháborút követően már vannak szabványosított (ez fontos!) fekete-fehér tv-adások. Hol máshol, mint az USÁban indult az első „rendes” színes tv, 1953-ban, az NTSC (National Television Systems Committee) szabványával [link]. A háború után magához térő Japán az amerikai rendszert vette át (persze nem pontosan). A ’60-as években Európában lényegében két rendszer, a PAL (Phase Alternating Line) [link] és a SECAM (Séquentiel couleur à mémoire, soros színes memóriával) [link] terjedt el, „természetesen” ezek is variációkkal.

Voodoomagic

Szolgálati: Csak rövid írások lesznek. Egy-egy szívásom története és megoldása is, hogy más rátalálhasson, ha keres.

Aki Visual Studiót használ, jó eséllyel találkozott már azzal, hogy a kereső nem talált semmit, még ha az ''orra előtt'' (aktuális ablakban) volt is. Kereső bezár-kinyit, VS kilép-belép, Windows reboot nem használ.

A megoldás, ami ilyenkor garantáltan segít:

1. Háromszor körbeforgunk a székkel (nem forgós szék esetén háromszor körbeugráljuk bal lábbal, az óramutató járásával szemben).
2. Jobb vállunk felett kettőt köpünk kelet felé.
3. Fejünket megrázzuk.
4. Megnyomjuk a Ctrl+ScrollLock kombinációt.

Nyugodtan ki lehet próbálni. Részletekbe nem mennék; akit jobban érdekel, a hálón megtalálja a mélyebb magyarázatot.

MOD: Mi a francért nincs itt OFF tag?