Цифрлық байланыс жүйелерінде мәліметтерді қысу.
Компандирлеуде (компандирование) беру кезінде дабылдардың динамикалық диапазоны қысылады, қабылдау кезінде кеңейеді. Бірқалыпты емес кванттауды қолдана отырып ақпаратты берудің сандық жүйесіне тән кванттау шуылдарын азайтуға болады. Кванттау шуылдары – дабылдардың идеал және реал түрлендірулерінің арасындағы айырым, бұндай бұрмаланудың (искажение) амплитудасы дабыл амплитудасына тәуелді емес. Компандирлеу кезінде жүйенің кірісінде компрессордың көмегімен дабыл белгілі бір деңгейге дейін қысылады, ал байланыс арнасының шығысында эспандердің көмегімен дабыл қайта қалыпқа келтіріледі. Компандирлеудің екі заңы қолданылады: А – заң және μ-заң (х - кіріс, у - шығыс).
А - заң: у = sgn(x)[z/(1 + ln А)], мұндағы z = А 0 ≤ х ≤1/А үшін, немес z.=1 + In А(х) 1/А ≤ х ≤1 үшін.
μ -заң: у = sgn(x)[ln(1 + μ(х))/lп(1 +μ)].
Ақпарат берудің дұрыстығын басқару бөгеттерге тұрақты кодтау арқылы жүзеге асырылады. Түзетуші кодтар арқылы симплексті байланыс арналарында қателіктерді жою жүргізіледі. Дуплексті арналарда қателерді табатын кодтарды пайдалану жеткілікті. Қателерді табудың ең оңай әдісі бақылау суммалау (суммирование), тақтылыққа (нечетность) тексеру. Сенімді қателіктерді табушы кодтар ретінде циклдық кодтар қолданылады. Қателерді түзету мүмкінділігі минималды кодтық арақашықтыққа dmin байланысты. Хемминг кодында dmin =3. Қосымша ақпараттық разрядқа L = log2K артық бақылаушы разряды енгізіледі, мұндағы K – ақпараттық разрядтардың саны, L жақын үлкен бүтін мәнге дейін жуықталады. L – разрядты бақылаушы код. Бірлік, еселік қателерді табудың тиімді кодтарының санына циклдық кодтар жатады. Циклдық кодтаудың бір варианты, ол шыққан кодты пайда болған полиномға g(x) көбейту, ал декодтау - g(x) – қа бөлу. Егер бөлуден қалған қалдық нөльге тең болмаса, онда қате деп есептеледі. Қате туралы дабыл бергішке түседі, сосын қайта беріледі. Циклдық кодтың практикада көп қолданылатын негізгі варианты алдыңғы көрсетілгеннен бөлектеу, онда пайда бөлған полиномға бөлу операциясы келесі алгоритммен ауыстырылады:
1) шығыс кодталған санның А оң жағына К нөльдер жазылады, мұндағы К – пайда болған полиномдағы бірге кемітілген биттер саны;
2) алынған сан бойынша А*(2К) О операциясы жүргізіледі, онда алудың орнына "исключающее ИЛИ" разрядты операциясы орындалады.
3) алынған қалдық В CRC – артық К-разрядты код, ол кодталған С санының оң жағына жазылған К нөльдерді алмастырады, яғни
С= А*(2К)+В.
Қабылдаудың соңында С кодында О операциясы жүргізіледі. Егер қалдық нөльге тең болмаса, онда қате бар есептеліп, А кодын қайта беру жүргізіледі. Циклдық кодтардың оң қасиеттері оларда қателіктерді таппау ықтималдылығы аз. Хабарламалардағы артықшылықтардың бар болуы олардағы мәліметтерді қысуға әкелді, яғни ақпараттың сондай көлемін ұзын емес символдар тізбегінің көмегімен беру. Қысу эффектісін қысу коэффициенті арқылы бағалайды
K = n/q,
мұндағы n – хабарламаны беру үшін қажетті минималды символдар саны; q – берілген алгоритммен қысылған хабарламадағы символдар саны. Қарапайым қысу алгоритмдерінің ішінде RLE алгоритмі кең тараған. Оларда бірдей символдар тізбегін берудің орнына символ және тізбектің ұзындығының мәні беріледі. Бұл әдіс текстерді бергенде тиімсіз, ал растрлық суреттерді бергенде тиімді. Қысу әдісіне сонымен қатар айырымдық кодтау әдісі де жатады, өйткені амплитуда санағының айырымы амплитудаларға қарағанда разрядтардың аз санымен беріледі. Айырымдық кодтау дельта-модуляция әдістеріне негізделген.
MPEG әдістері суреттерді жобалап кодтауды қолданады. Бұл алгоритм сонымен қатар Н.261 ITU стандартында қолданылады. Суреттер туралы мәліметтерді қысу үшін JPEG типіндегі әдістерді қолдануға болады. Бұл әдістерде берілетін пиксельдер тізбегі блоктарға бөлінеді, әр блокта Фурье түрлендіруі жүргізіледі, жоғары жиіліктер алынып тасталады, қалған жиіліктер үшін жіктеу коэффициенттері беріледі, олар бойынша қабылдағышта сурет қалыпқа келтіріледі. Ең танымал әдіс – Хаффман әдісі, ол қысудың статикалық әдістеріне жатады. Бұл әдістің кемшілігі – символдар ықтималдылығын білу қажет. Бұл кемшілік адаптивті қысудың бірөтулі (однопроходный) алгоритмдерінде жойылады. Бұл әдістің жалпылама түрі болып мәліметтерді қысудың сөздігі негізіндегі алгоритм табылады. Онда қайталанатын символдар тізбегін сөздікте бөлу (выделение) және есте сақтау жүргізіледі, олар ұзын емес тізбекпен кодталады. Айтылған қысу алгоритмдерінен басқа да алгоритмдер бар, мысалы LZ-алгоритмі (Лемпель-Зива алгоритмі). Жеке жағдайда олардың біреуі (LZW) V.42bis хаттамасында қолданылған. Кодтау кезінде:
Хаттаманың бірінші символы таңдалады және оның кодына алмастырылады.
2. Келесі екі символ таңдалады және өз кодтарымен алмастырылады. Біруақытта бұл комбинацияға өз коды беріледі.
3. Әлі кездеспеген комбинация пайда болғанға дейін берілген текстен кезекпен 2, 3,...N символдары таңдалады. Сонда бұл комбинацияға кезекті код беріледі, алғашқы N-1 символдарынан А жиынтығы кездескендіктен, оның өзінің коды бар, сол код осы N-1 символдарының орнына жазылады.
4. Бұл процесс берілген текст біткенге дейін жалғасады.
Декодтау кезінде бірінші, содан кейінгі екінші және үшінші символдар кодтары алфавиттің символдарына алмастырылады. Бұл кезде екінші және үшінші символдар комбинацияларының кодтары мәлім болады. Келесі позицияда мәлім болған символдар кодтары және олардың комбинациялары ғана бола алады. Декодтау процессі қысылған текстер біткенге дейін болады. Қысу эффектісі ұзын текстерде, сонымен қатар графикалық файлдарда айқын білінеді. LZ-әдістің жүзеге асырылуында қысылған текстегі тізбек келесі мәліметтер жиынтығын құрайды: бұрын кездескен тізбектегі бірінші символдың нөмірі; тізбектегі символдар саны; кодталатын текстегі ағымдық позициядағы келесі символ. Сөздерді, телевизиялық суреттерді және телеметрия мәліметтерін беру кезінде берілетін хабарламалар санағы арасында статикалық (корреляциялық) байланыс болады. b(kΔt) = b(k) корреляциялық санақтарының тізбегі есептегіш қондырғының кірісіне беріледі, ал осы қондырғының екінші кірісіне алдыңғы санақтардан құрылған b(k) жобалаушы дабылы беріледі. Осындай жолмен алынған ε(k) жобалаушы дабылы беру трактісіне түседі. Жобалауы бар беру жүйелерінде қателер дабылының санағы квантталады және кодталады. Беруші жақтағы осындай түрлендірудің қорытынды болып дифференциальды импульсті-кодтық модуляция (ДИКМ) табылады.
ДИКМ (АДИКМ - адаптивті ДИКМ) бар жүйелерде қателер дабылының бірқалыпты емес кванттық қолданылады. Бір цифрлық сөздік арнаның ақпараттық жылдамдығы ДИКМ (АДИКМ) жүйелерінде 32... 8 кбит/с төмендейді. Санақтар арасындағы корреляция интервалдың азаюына байланысты өседі. Дискретизация жиілігін үлкен мәнінде қателік дабылының кванттау деңгейлерінің санын 2-ге азайтуға болады. Қорытындысында бірразрядты жүйе пайда болады. Кодтаудың мұндай әдісі дельта-модуляция (ДМ) деп аталады.
16 сурет – Жобалауы бар байланыс жүйесінің құрылымдық сұлбасы.
17 сурет – Дельта-модуляциялық жүйенің құрылымдық сұлбасы
Дельта-модуляциялы беру жүйесінің жақсылығы кодтаушы және декодтаушы қондырғылардың қарапайымдылығы. Қазіргі кезде ДИКМ және ДМ техникалық жүйелері қолданылады. Кванттау шуылын азайту үшін кванттаудың айнымалы адымын қолданатын адаптивті жүйелер қолданылады.
Wavelet – толқындық қысу. Алгоритм түрлі-түсті, ақ-қара кескіндерге бағытталған. Қозғалмалы кескіндерді қысқан кезде олардағы артықшылықтардың (избыточность) бірнеше типтері есепке алынады:
- кескін облыстарының когеренттілігі (біртүстілік) – оның көрші пиксельдеріндегі кескіннің түсінің сәл өзгеруі;
- түс жазықтығындағы артықшылық;
- кадрлар арасындағы ұқсастық.
18 сурет - АДМ кодерінің құрылымдық сұлбасы
JPEG - универсалды алгоритм, статикалық толықтүсті кескіндерді қысуға арналған. Алгоритм бірнеше түрлендірулерден тұратын конвейерді қолданады. MPEG бейнелерді қысу екі бөлікке бөлінеді: уақыттық өлшеуде бейнеақпараттардың артықшылығын азайту және жеке кадрларды қысу. Кадрлардың 4 типі бар:
- I-кадрлар – тәуелсіз қысылған;
- Р-кадрлар – бір кескінді қолдана отырып қысылған;
- В-кадрлар – екі кескінді қолдана отырып қысылған;
- ВС-кадрлар – сапасы жоғалтылған тәуелсіз сығылған.
Бірнеше кескіндерді қысқанда қолданылатын негізгі термин - макроблок. Макроблок – бұл 16x16 элементтер пикселдарының матрицасы (кескіннің өлшемі 16 тең болуы керек). Қысу кезінде әр макроблок RGB түрлі-түсті жазықтығынан YUV түрлі-түсті жазықтығына ауыстырылады. Дискретті косинусты түрлендіру жарықтылық (яркость) мәнінің матрицасын спектралдық компоненттер амплитудасының матрицасына ауыстырады, бұл кезде төменгі жиіліктерге сәйкес амплитудалар матрицаның солғы жоғарғы бұрышына, ал жоғарғы жиілікке сәйкес амплитудалар оңғы төменгі бұрышқа жазылады. Алынған амплитудалар матрицасына кванттау операциясы қолданылады. Кванттау – амплитудалар матрицасын кванттау матрицасына бүтінсанды элементтер бойынша бөлу. Алгоритмнің келесі адымы алынған 8x8 матрицасын 64 элементтен тұратын векторға түрлендіру. Бұл этап зигзаг-сканерлеу деп аталады.
Негізгі әдебиет: [1-11]
Қосымша әдебиет: [3, 6, 7]
Достарыңызбен бөлісу: |