Thursday, June 4, 2009

Konvoluční kódy

Konvoluční kódy
Na rozdíl od paritních kódů, u kterých se ke kódové skupině přidává podle jistých
pravidel jeden nebo více bitů, se u konvolučních kodérů vkládá do signálu přídavná
redundance tím, že se nad původním a zpožděným bitovým tokem provádí podle známých
pravidel jisté matematické operace. Důsledkem je zvýšení přenosové rychlosti signálu, aniž
by byly k původnímu signálu přidány nějaké kontrolní bity. Konvoluční kódy je proto možné
považovat za konvoluci impulzní odezvy kodéru a vstupního signálu, což se promítlo i do
jejich názvu.
32 Rádiové a mobilní komunikace
Schéma zapojení
jednoduchého konvolučního
kodéru je nakresleno na obr.
2.15. Kodér obsahuje posuvný
registr délky S a několik
součtových členů realizujících
funkci sčítání modulo 2 (logický
součet bez přenosu). Jejich počet
je stanoven tzv. generujícími
mnohočleny stupně S , které
udávají podle jakých pravidel
mají být vytvářeny výstupní
signály. Pokud mnohočlen
obsahuje člen s příslušnou
mocninou (jeho koeficient je
roven 1), je signál z příslušné buňky registru přiveden na součtový člen. Pokud
v mnohočlenu nějaký člen chybí (jeho koeficient je roven 0), signál z příslušné buňky není
využit.

Wednesday, November 26, 2008

Rozdělení kanálových zabezpečovacích kódů

Rozdělení kanálových zabezpečovacích kódů je přehledně znázorněno na obr. 2.14. Podle
stupně zabezpečení je dělíme na detekční kódy a korekční kódy. Při použití detekčních
(zjišťovacích) kódů lze chybnou kódovou skupinu nebo blok pouze identifikovat, avšak
opravit je nelze. Z přijímané zprávy se obvykle odstraní, což může vést ke ztrátě informace.
Proto se někdy v takových případech doplňuje systém o tzv. zpětný kanál, ve kterém se
přenáší automaticky žádost o opakování přenosu ARQ (Automatic Request Repetition).
Podnět k opakování vysílání chybných částí zprávy dává dekodér detekčního kódu. Korekční
(opravné) kódy (někdy také samoopravné kódy) naproti tomu chybu nejen zjistí, ale umožní
identifikovat i chybný bit nebo několik bitů a opravit je. Poněvadž k zabezpečení přenosu
nepotřebují zpětný kanál, označují se termínem dopředná korekce chyb FEC (Forward Error
Correction). Zabezpečení těmito kódy je složitější neboť používají větší počet kontrolních
bitů.
Korekční kódy lze dále rozdělit na konvoluční kódy a blokové kódy. Jejich
řetězením, a to i vzájemným, vzniká významná skupina řetězových kódů.
2.2.2 Detekční kódy s paritními bity
Podstata zabezpečení signálu jednoduchými paritními kódy spočívá v doplnění
jednotlivých kódových skupin jedním paritním (kontrolním) bitem, který může být umístěn na
začátku nebo na konci kódové skupiny. Jeho hodnota může být volena tak, aby doplňoval
zabezpečovanou skupinu buď na sudý nebo na lichý počet jedniček. Je-li například kódová
skupina ve tvaru 1010101, potom při zabezpečení sudou paritou je třeba přidat k uvažované
skupině paritní bit 0, neboť skupina již obsahuje sudý počet jedniček. Jsou-li paritní bity
přidávány na konec skupiny, bude přenášený signál ve tvaru 10101010. Při zabezpečení téže
kódové skupiny lichou paritou musí být přidán paritní bit 1, neboť skupina obsahuje pouze
sudý počet jedniček, který je třeba změnit paritním bitem na počet lichý. Přidáním paritního
bitu na konec skupiny, bude přenášen signál ve tvaru 10101011.
Kontrola sudé nebo liché parity se na přijímací straně provádí nejčastěji sčítáním
modulo 2 (logický součet bez přenosu) jednotlivých bitů kódové skupiny. Pro sudou paritu by
měl být výsledek součtu roven 0, pro lichou paritu by měl být roven 1. Správný výsledek však
bohužel získáme i v případě, kdy dojde v komunikačním kanálu ke dvěma chybám, obecně
k sudému počtu chyb.

Thursday, October 9, 2008

Kanálové kódování

Cílem kanálového kódování je zabezpečit signál proti chybám vznikajícím při přenosu
v komunikačním kanálu. Chyby signálu mohou být způsobeny šumem, různými druhy rušení,
únikem signálu, odrazy, přepnutím signálu při handoveru, atd. Mohou být ojedinělé nebo se
mohou vyskytovat ve skupinách (shluky chyb, bursty). Podstatou zabezpečení signálu je
mírné, úmyslné a kontrolované zvýšení jeho redundance (např. přidáním jistého počtu
kontrolních bitů). To se projeví malým zvýšením přenosové rychlosti signálu a tím i nutné
šířky kmitočtového pásma kanálu, při výrazném snížení chybovosti signálu BER (Bit Error
Rate). K tomuto účelu se používají zabezpečovací neboli bezpečnostní kódy umožňující
chybu nejen detekovat, ale i opravit. Při přenosu hovorového signálu je povolena maximální
přípustná chybovost 4 3 10 10 − − ÷ = BER , při přenosu televizního obrazového signálu
s vysokou rozlišovací
schopností HDTV (High
Definition TeleVison) je
10 10− ≅ BER a při přenosu
dat mezi počítači jsou
požadavky ještě přísnější.
V závislosti na
zabezpečovaném signálu se
proto volí různé stupně
ochrany a tedy i různé kódy.
Základním
parametrem kanálového
kodéru je kódový zisk
neboli zisk kódování G
(Coding Gain), udávající
kolikrát je možné při
Blokové
kódy
Binární
kódy
Nebinární
kódy
Lineární
kódy
Nelineární
kódy
Cyklické
kódy
Necyklické
kódy
Konvoluční
kódy
Korekční
kódy
Detekční
kódy
Kanálové zabezpečovací kódy

Tuesday, October 7, 2008

Ještě větší komprimace signálu lze dosáhnout s podporou vektorů pohybu. Využívá se
toho, že sousední snímky jsou si značně podobné a obsahují prakticky stejné objekty, ale
posunuté do jiných poloh. Vytváření snímků P s podporou vektorů pohybu je naznačeno
. Pro každý blok právě kódovaného snímku se neprohledává celý předchozí snímek,
ale jen tzv. vyhledávací prostor v předchozím snímku a zkoumá se, zda se bloky svým
obsahem shodují. Pokud ano, je určen vektor pohybu a jeho souřadnice x,y jsou přenášeny
v záhlaví makrobloku. Pokud je snímán statický obraz, jsou rozdíly v hodnotách vzorků
makrobloku nulové a rovněž vektory pohybu jsou nulové. V případě, že není nalezen přesně
stejný makroblok, je povolena určitá nepřesnost (rozdíl součtů vzorků obou makrobloků) a
přenáší se pouze souřadnice vektoru pohybu. Jestliže i tato nepřesnost je překročena, vytváří
se rozdílový makroblok, který se běžně zpracuje (FDCT, atd.). Vytváření snímků B
s podporou vektorů pohybu je obdobné, výsledkem jsou souřadnice dvou vektorů pohybu.
Stanovení vektoru pohybu se provádí současně pro jasový signál (na úrovni makrobloků) i
oba chrominanční signály (na úrovni bloků). Jasovému a chrominančnímu signálu potom
přísluší jeden společný vektor pohybu. Stanovení vektorů pohybu spolu s výpočtem
koeficientů DCT patří k nejnáročnějším operacím kódování a z hlediska hardwaru je
nejnákladnější. Pro snímky I resp. snímky P a B se používají různé kvantizační tabulky, které
se rovněž liší pro standardy JPEG a MPEG.

Monday, August 11, 2008

mobilní telefony

První
symbol obsahuje údaj o počtu
nul (délka běhu - Run
Length) a počtu bitů
potřebných pro kódování
koeficientu. Druhý symbol
vyjadřuje hodnotu
koeficientu v binární podobě.
Z důvodů dalšího snížení
redundance signálu se pro
kódování prvního symbolu
používá Huffmanův kód
(entropické kódování,
kódování s proměnnou
délkou slova VLC - Variable
Length Coding). Často se vyskytující symboly jsou kódovány krátkými slovy, zatímco
sporadicky se vyskytující symboly jsou naopak kódovány dlouhými slovy. Druhý symbol je
vyjádřen binárním kódem. Od jistého koeficientu, označovaného EOB (End of Block)
obsahuje sériový tok dat již pouze samé nuly. Stejnosměrný koeficient se může přenášet
samostatně nebo jako diference mezi hodnotou koeficientu současného a předchozího bloku.
Pro přenos signálu lze použít dva způsoby. Při sekvenčním módu se všechny
koeficienty jednoho bloku snímají postupně za sebou, a to se opakuje pro všechny bloky
obrazu. Doba přenosu celého obrazu je dlouhá. Mód progresivního kódování se používá při
prohlížení řady obrazů, kdy je vhodné pro hrubou orientaci zobrazit obraz bez podrobností.
Nejdříve se tedy přenášejí postupně ze všech bloků stejnosměrné koeficienty, poté první
střídavé koeficienty zase ze všech bloků, druhé koeficienty, atd. Obraz se postupně obohacuje
o podrobnosti (často užívaný způsob přenosu obrazů na síti Internet).
Popsané transformační kódování se používá u systémů JPEG (komprimační poměr 8
až 15) a MPEG. U
kódování pohyblivých obrazů se dosahuje další výrazné redukce redundance signálu v časové
oblasti využitím DPCM s podporou tzv. vektorů pohybu. Pro tyto operace se jasový signál
zpracovává v makroblocích. Jeden makroblok (16x16 vzorků) obsahuje čtyři jasové bloky a je
doplněn jedním blokem každého chrominančního signálu. Na výstupu součtového členu
v kodéru se vytváří rozdíly hodnot vzorků signálů právě kódovaného a předchozího
snímku. K dekodéru je přenášen pouze rozdílový signál. V případě, že dva po sobě jedoucí
snímky jsou identické (statická scéna), je diferenční signál nulový a nastává výrazné snížení
bitového toku signálu.
Plynulý sled snímků na vstupu kodéru je rozdělen na skupiny snímků GOP (Group of
Pictures), které se opakují obvykle po 12 snímcích (cca 0,5 s). Na začátku každé skupiny je
přenášen referenční snímek I (Intra frame), který se zpracovává bez predikce (bez DPCM),
pouze pomocí FDCT. Toto opatření umožňuje libovolný přístup k signálu (změna programu,
zapnutí TVP, atd.).
Ostatní snímky skupiny
mohou být snímky P
(Predict frame) nebo
snímky B (Bidirectional
frame). Při zpracování
snímku P se vytváří a
přenáší diference právě
kódovaného snímku P a
předchozího snímku I
nebo předchozího snímku
P. Touto dopřednou
jednosměrnou predikcí se
sníží přenosová rychlost
signálu asi dvakrát. Při
zpracování snímku B se
vytváří a přenáší
diference právě
kódovaného snímku B a
průměru vytvořeného
z minulého snímku (I
nebo P) a snímku (I nebo
P), který následuje po právě kódovaném snímku B. Obousměrnou predikcí se sníží přenosová
rychlost signálu až osminásobně. Poněvadž pro vytváření i rekonstrukci snímků B je třeba
znát snímky nejen předcházející, ale i následné, je nutné snímky před a po kódování vhodně
přemístit. Přenos rozdílových signálů se potom uskutečňuje v jiném sledu než odpovídá
sekvenci původních snímků.

Thursday, August 7, 2008

16
. ). 1 2 ( cos .
16
. ). 1 2 ( cos ). , ( ). ( ). (
4
1 ) , (
7
0
7
0
π π v y u x y x g v C u C v u G
y x
+ +
= ∑ ∑
= =
, (2.3)
16
. ). 1 2 ( cos .
16
. ). 1 2 ( cos ). , ( ). ( ). (
4
1 ) , (
7
0
7
0
π π v y u x v u G v C u C y x g
v u
+ +
= ∑ ∑
= =
, (2.4)
kde ) , ( y x g je diskrétní funkce v prostorové oblasti, ) , ( v u G je diskrétní funkce v kmitočtové
oblasti, y x, jsou souřadnice v prostorové oblasti, v u, jsou souřadnice v kmitočtové oblasti,
( ) ( ) 707 , 0 = = v C u C pro 0 = = v u , ( ) ( ) 1 = = v C u C pro u >0 , v >0 . Výsledky transformace
pro různě korelované vzorky signálu jsou nakresleny na obr. 2.10 a obr. 2.11. Čím více budou
parametry obrazových bodů navzájem závislé, tím menší bude počet koeficientů po
transformaci (i jejich velikost) a výsledná přenosová rychlost signálu se výrazně sníží [13].
Frekvenční koeficient v pozici (0,0) představuje stejnosměrnou složku (střední
hodnotu) transformovaného signálu. V ní je soustředěna téměř celá energie signálu bloku.
Směrem k pozici (8,8) se zvyšuje kmitočet frekvenčních koeficientů, avšak jejich velikost
(některé mohou být i záporné) se většinou zmenšuje. Velikost koeficientů se po transformaci
upravuje kvantováním, tj. dělí se čísly v tzv. kvantizační matici. Ta je na základě statistických
výsledků pozorování experimentálně zvolena tak, aby koeficienty vyšších kmitočtů byly více
zmenšeny než koeficienty nižších kmitočtů (irelevantní části signálu). Výsledek dělení se
zaokrouhluje na celé číslo, malé koeficienty se zanedbávají. Tato úprava signálu je ztrátová.
Kvantizační tabulky pro jasový a chrominanční signál jsou různé a jejich obsahem lze měnit
kvalitu rekonstruovaného obrazu resp. komprimační poměr.
28 Rádiové a mobilní komunikace
Matice frekvenčních
koeficientů (po kvantování)
se vyčítá podle úhlopříčky
(cik-cak) což s výhodou
odpovídá postupnému
zmenšování hodnot
koeficientů se zvětšujícím se
kmitočtem. Kódují se
skupiny skládající se
z nenulového koeficientu a
počtu předcházejících nul.
Skupina je charakterizována
dvěma symboly.

Friday, August 1, 2008

Zdrojové kódování obrazových signálů
Při snímání barevných obrazů v kvalitě odpovídající běžnému televiznímu vysílání se
vytváří analogový jasový signál s kmitočtovým rozsahem 0 až 6 MHz (norma CCIR-D,K) a
dva analogové chrominanční signály s kmitočtovými rozsahy 0 až 1,6 MHz. Při digitalizaci
těchto signálů pomocí PCM je podle doporučení ITU-R 601 vzorkovací kmitočet pro jasový
signál 13,5 MHz a pro chrominanční signály je vzorkovací kmitočet 6,75 MHz. Jednotlivé
vzorky jsou kvantovány 8 bity, tj. do 256 kvantovacích úrovní. Bitová rychlost jasového
signálu je s Mbit / 108 a každý chrominanční signál má bitovou rychlost s Mbit / 54 . Všechny
Rádiové a mobilní komunikace 27
tři signály jsou multiplexovány do jednoho výsledného toku, jehož přenosová rychlost je
s Mbit / 216 (108+54+54). Při redukci bitové toku signálů statických obrazů se nejčastěji
využívá metody transformačního kódování. U pohyblivých obrazů se navíc využívá při
redukci i tzv. vektorů pohybu a predikce snímků nebo půlsnímků.
Před transformací jsou jednotlivé matice obrazový bodů pro jasový a dva
chrominanční signály (u systému JPEG má jasová matice 720 sloupců a 576 řádků, obě
chrominanční matice mají počet řádků i sloupců poloviční) rozděleny na bloky, nejčastěji 8x8
bodů (celkem 64 obrazových bodů – pixelů, pelů). Rozměry bloků jsou stanoveny jako
kompromis mezi výslednou kvalitou rekonstruovaného obrazu a složitostí resp. dobou
výpočtu. Bloky jasového i chrominančních signálů se zpracovávají stejným způsobem avšak
odděleně. Jednotlivé vzorky bloku jsou reprezentovány koeficienty (hodnota jasu nebo
chrominance) v časové oblasti, které jsou transformací (tj. přepočítáním podle jistých
pravidel) transformovány na jiné koeficienty v kmitočtové oblasti. Původní vzájemná
závislost jednotlivých koeficientů (v důsledku korelace parametrů obrazových bodů) je
transformací odstraněna, přičemž počet nových koeficientů (nenulových) je menší než počet
koeficientů původních. Z několik možných transformací (např. Karhunen - Loeveho,
Walshova - Hadamardova, aj.) se jako kompromis mezi přijatelným výsledkem a složitostí
realizace nejčastěji používá dvourozměrná diskrétní kosinová transformace DCT (Discrete
Cosine Transform), kterou lze odvodit z diskrétní Fourierovy transformace vhodnou
substitucí. Pro blok 8x8 bodů platí pro přímou DCT (FDCT) a inverzní DCT (IDCT)
transformační vztahy