Ім'я файлу: на переклад.ru.uk.docx
Розширення: docx
Розмір: 433кб.
Дата: 14.09.2023
скачати


1.3 Опис функціональних вимог до програмного засобу


Система обробки аудіоінформації реалізує обробку звукових сигналів. Система призначена для обробки звукових сигналів, записаних у звукових файлах різних форматів. Обробка дозволяє внести необхідні зміни до вихідного звукового файлу: редагування його структури, основних параметрів, дозволяє застосувати різні ефекти до файлу. Система також дозволяє здійснити кодування вихідного файлу для зменшення займаного ним розміру без явної втрати якості.

Функціональна схема системи наведено на рис. 1.2.

Обробка аудіофайлів складається з наступних етапів:

  • введення звукових сигналів у підсистему обробки та фільтрації сигналу, результатом роботи якої є змінений звуковий сигнал, записаний у файлі та статистичні дані, отримані при аналізі звукового сигналу;

  • введення відредагованого звукового сигналу підсистему кодування даних, результатом якої є файл зі стиснутим звуковим сигналом;

  • графічне подання вхідного та вихідного сигналу.

Результатом роботи системи є змінений та/або стислий звуковий файл із використанням алгоритму вейвлет-перетворення Хаара.


Рис.1.2. Функціональна схема системи обробки аудіоінформації
Обґрунтування мети створення системи.

Обробка сигналу – це складна і, головне, ресурсомістка процедура. Вона порівняно недавно почала проводитися в цифрових пристроях – раніше різні ефекти звучання та інші досягалися шляхом обробки звуку в аналогових приладах. У аналоговій апаратурі звук як електричних коливань проходить через різні тракти (блоки електричних елементів), ніж досягається зміна фази, спектра і амплітуди сигналу. Однак такий спосіб обробки має масу недоліків. По-перше, страждає на якість обробки, адже кожен аналоговий елемент має свою похибку, а кілька десятків елементів можуть критично вплинути на точність та якість бажаного результату. А по-друге, і це, мабуть, найголовніше, майже кожен окремий ефект досягається шляхом використання окремого пристрою, коли кожен такий пристрій може коштувати дуже дорого. Можливість використання цифрових пристроїв має незаперечні переваги. Якість обробки сигналів у них набагато менше залежить від якості апаратури, головне – це якісно оцифрувати звук і мати можливість якісно відтворювати його, і тоді якість обробки лягає вже тільки на програмний механізм. Крім того, для різних маніпуляцій зі звуком не потрібна постійна зміна обладнання. І, найголовніше, оскільки обробка ведеться програмним шляхом, для неї відкриваються просто неймовірні можливості, які обмежені лише потужністю комп'ютерів (а вона збільшується з кожним днем) та фантазією людини. головне – це якісно оцифрувати звук і мати можливість якісно відтворювати його, і тоді якість обробки лягає вже тільки на програмний механізм. Крім того, для різних маніпуляцій зі звуком не потрібна постійна зміна обладнання. І, найголовніше, оскільки обробка ведеться програмним шляхом, для неї відкриваються просто неймовірні можливості, які обмежені лише потужністю комп'ютерів (а вона збільшується з кожним днем) та фантазією людини. головне – це якісно оцифрувати звук і мати можливість якісно відтворювати його, і тоді якість обробки лягає вже тільки на програмний механізм. Крім того, для різних маніпуляцій зі звуком не потрібна постійна зміна обладнання. І, найголовніше, оскільки обробка ведеться програмним шляхом, для неї відкриваються просто неймовірні можливості, які обмежені лише потужністю комп'ютерів (а вона збільшується з кожним днем) та фантазією людини.

До перетворення звуку вдаються переважно з метою зміни якихось характеристик звуку.

Принципово метою обробки звуку є надання існуючому звуку якихось нових якостей або усунення небажаних. Звукові ефекти відносяться до перетворень звуку, які надають звучанню нові форми або повністю змінюють звукову інформацію. Апаратну реалізацію звукові ефекти знаходять у цифрових сигнальних процесорах (DSP). Будь-який більш менш пристойний MIDI-синтезатор має вбудований ефект-процесор тієї чи іншої складності (ефект-процесор являє собою один або кілька DSP). Складні ефект-процесори "вміють" накладати на звуковий сигнал відразу кілька різних ефектів, причому окремо для кожного каналу, дозволяючи регулювати параметри ефектів в режимі реального часу. Однак вартість таких ефект-процесорів є надзвичайно високою (як і вартість будь-якого іншого високопродуктивного мікропроцесора), тому професійні DSP встановлюються лише на якісній музичній апаратурі.

Оцифрований аудіо сигнал «у чистому вигляді» (наприклад, у формі однієї з розглянутих вище варіацій ІКМ) є досить точною, але не компактною формою запису вихідного аналогового сигналу. Обсяг пам'яті, необхідний її зберігання у вихідному цифровому вигляді, виявляється дуже значним. Тому зберігання відносно великих обсягів аудіо даних, що гарантує досить хорошу якість звучання, вимагає застосування різних алгоритмів, що дозволяють ущільнити дані.

2.1 Концепція розробки програмного засобу цифрового оброблення звукових файлів


До теперішнього часу розроблено безліч алгоритмів кодування загального призначення, які вишукують послідовності, що повторюються, в двійкових даних. Якщо їм вдається виявити такі послідовності, вони можуть стиснути дані, замінивши послідовності кодами. Модуль, що робить декомпресію (якому доступна інформація про такі послідовності) може зробити зворотну операцію.

Ці алгоритми відносяться до алгоритмів стиснення без втрат, тому що відновлені дані будуть з точністю до біта ідентичні вихідним. Вони можуть бути використані для компресії будь-яких даних, але при стиску аудіо сигналів виявляються мало ефективними.

Наприклад, у методі Лемпеля-Зіва-Уелча (Lempel-Ziv-Welch, LZW), дефляції та методі Берроуза-Віллера (Burroughs-Wheeler) алгоритм полягає у пошуку довгих послідовностей байтів, що зустрічаються у файлі кілька разів. Однак, у звукових файлах довгих послідовностей, що повторюються зазвичай не багато: в основному це обумовлюється наявністю шумів.

В алгоритмі Хаффмана (Huffman) та арифметичному кодуванні шукаються байти з певними значеннями (або пари байтів), що трапляються у файлі найчастіше. Як тільки вдасться виділити таке значення, будується код, який тим коротший, чим частіше зустрічається значення. Справді, звукові файли нерівномірно розподіляють можливі значення байтів, тому алгоритми даного типу можуть досить добре обробляти звукові файли. Але так як звукові файли можуть мати дуже великий обсяг, ці методи також стають неефективними. Як правило, методи стиснення без втрат використовуються в сучасних стандартах стиснення на вторинному додатковому етапі стиснення з метою підвищення коефіцієнта стиснення.

Ще одним недоліком алгоритмів стиснення без втрат є неоднорідність компресії, що дозволяє накласти обмеження на швидкість передачі стислих аудіо потоків.

Облік основних вимог до якості мовного сегмента та тимчасової затримки, як правило, потребує компромісу.

Зі збільшенням складності алгоритму зменшення необхідної смуги пропускання збільшується час обробки в пристроях кодування/декодування.

Хоча якість сигналу в основному пов'язана зі швидкістю цифрового потоку, складні алгоритми кодування здатні досягти більш високих відносин якості та швидкості.

Стиснення мовного сегмента (РС) може бути без втрат (архівація), і з втратами. Причому в останньому випадку це кодування можна поділити на три види:

  1. кодування безпосередньо реалізації РС (Wave Form Codec);

  2. Вимірювання, кодування та передача на приймальну сторону параметрів РС, якими вже на приймальній стороні виробляється синтез цього (штучного) РС. Такі системи називають вокодерними (Source Codec);

  3. Гібридні методи кодування, тобто. поєднання першого та другого способів кодування.

Під кодуванням мається на увазі перетворення РС на деякий «інший» сигнал, який можна з меншим числом розрядів, що у результаті підвищить швидкість передачі. Одним із видів такого кодування є диференціальна імпульсно-кодова модуляція (ДИКМ), про яку і йтиметься надалі.

Кодери форми хвилі апроксимують зміну сигналу у часі. Вони вимагають найбільших швидкостей передачі, але мають найкращі показники якості відтвореного мовлення. При параметричному компандуванні моделюється процес мовлення людини. У кодері з мовного сигналу обчислюються певні параметри, що передаються декодеру, в якому вони застосовуються для відновлення форми вихідного сигналу. Використання виключно параметричних методів призводить до втрати натуральності звучання голосу та великої чутливості до фонових шумів. Вокодерні перетворення відрізняються найменшими вимогами до смуги пропускання.

Один із способів підвищення ефективності використання смуги пропускання полягає у застосуванні гібридних методів, заснованих на принципах лінійного передбачення та поєднують параметричне компандування та кодування форми хвилі. Більшість гібридних кодерів використовують замкнуте кодування (метод «аналіз через синтез») на боці, що дозволяє коригувати певні параметри за допомогою порівняння результату синтезу з оригіналом. Це, безумовно, збільшує час обробки, але забезпечує кращі показники передачі.

На рис.2.1 – 2.3 відображені основні операції для різних методів кодування.



Рис. 2.1. Основні операції кодування форми хвилі



Рис. 2.2. Основні операції параметричного компандування



Рис. 2.3. Основні операції кодування гібридними методами

Як правило, визначальними для вибору методу кодування є такі показники, як:

  • якість голосу за п'ятибальною шкалою експертних оцінок MOS (Mean Opinion Score, Рекомендація ITU-T P.800);

  • затримка алгоритму;

  • завадостійкість;

  • ступінь погіршення якості сигналу під час квантування QDU (Quantization Distortion Units);

  • поширеність, підтримка виробниками обладнання та ін.

Для програмного стиснення звуку можна використовувати такі методи або їх комбінації.

      1. Трешолдинг – відкидання близьких до нуля коефіцієнтів розкладання сигналу.

      2. Округлення коефіцієнтів. Природно, за стиснення треба платити втратою якості, яка виникає через округлення. Бажано, щоб відновлений сигнал якнайменше відрізнявся від вихідного. Тому, одним із головних завдань стає оцінка значущості того чи іншого коефіцієнта у розкладанні щодо інших та, відповідно, визначення точності його зберігання.

      3. Підбір перетворення, що забезпечує найменший сумарний обсяг кількості розрядів, що зберігається.

      4. Підбір розбиття сигналу, що забезпечує найменший сумарний обсяг кількості розрядів, що зберігається. Є гіпотеза про те, що можна заощадити сумарну кількість розрядів, підбираючи сегменти розбиття так, щоб сигнал збігався по фазі з деякими базовими функціями. Отже, коефіцієнти за інших базисних функцій будуть близькими до нуля. Для знаходження оптимального розбиття можна використовувати відповідний оптимізаційний метод, наприклад динамічне програмування.

2.2 Опис структури формату звукового файлу


WAVE – це формат зберігання оцифрованих аудіо даних. Цей формат підтримує дані різної бітності, з різною частотою вибірки та числом каналів. Цей формат дуже популярний на платформах стандарту IBM PC (і сумісних із ним).

Цей формат має на увазі зберігання аудіо даних в спеціальних блоках, які називають чанками (chunks).

Формати даних

ID = array[1..4] of Char; - Ідентифікатор чанка.

Організація даних

Всі дані зберігаються у вигляді 8 бітових чисел, розташованих таким чином, що молодша частина слова даних записується першою.

Byte: | байт 0 |.

Word: | байт 0 | байт 1 |

Integer: | байт 0 | байт 1 | байт 2 | | байт 3 |

Структура файлу

Wav файл є набір з численних чанків різного типу. Найважливішим чанком є ​​чанк формату (Format chunk - fmt), який містить важливі параметри звукових даних, наприклад частоту вибірки. Іншим важливим чанком є ​​чанк даних (Data chunk), який визначає форму аудіо сигналу. Присутність інших додаткових чанків (optional chunks) не є обов'язковою.

Всі програми, що використовують wav файли, повинні вміти читати обов'язкові чанки, і вміти вибірково ігнорувати додаткові чанки. Програми, призначені для копіювання wav файлів, повинні копіювати всі чанки, навіть ті які він не може інтерпретувати. Порядок прямування чанків різного типу може бути довільним. Виняток становить чанк формату, який має передувати чанку даних. Деякі грубо написані програми завжди інтерпретують перший чанк (після RIFF заголовка) як чанк формату, хоча в специфікації формату мається на увазі, що перший чанк може бути не лише чанком формату, а й додатковим чанком.

Таблиця 2.1

Структура WAV файлу

Розташування

Поле

Опис

0..3 (4 байти)

chunkId

Містить символи "RIFF" в ASCII кодуванні (0x52494646 у big-endian поданні). Є початком RIFF-ланцюжка.

4..7 (4 байти)

chunkSize

Це розмір ланцюжка, що залишився, починаючи з цієї позиції. Інакше кажучи, це розмір файлу - 8, тобто виключені поля chunkId і chunkSize.

8..11 (4 байти)

format

Містить символи "WAVE" (0x57415645 у big-endian представленні)

12..15 (4 байти)

subchunk1Id

Містить символи "fmt" (0x666d7420 у big-endian представленні)

16..19 (4 байти)

subchunk1Size

16 для форматуPCM. Це розмір підчіпки, що залишився, починаючи з цієї позиції.

20..21 (2 байти)

audioFormat

Аудіо формат. ДляPCM= 1 (тобто Лінійне квантування). Значення, відмінні від 1, позначають певний формат стиснення.

22..23 (2 байти)

numChannels

Кількість каналів. Моно = 1, стерео = 2 і т.д.

24..27 (4 байти)

sampleRate

Частота дискретизації. 8000 Гц, 44 100 Гц і т.д.

28..31 (4 байти)

byteRate

Кількість байт, надісланих за секунду відтворення.

32..33 (2 байти)

blockAlign

Кількість байт для одного семпла, включаючи всі канали.

34..35 (2 байти)

bitsPerSample

Кількість біт у семплі. Так звана "глибина" чи точність звучання. 8 біт, 16 біт і т.д.

36..39 (4 байти)

subchunk2Id

Містить символи "data" (0x64617461 у big-endian представленні)

40..43 (4 байти)

subchunk2Size

Кількість байт у сфері даних.

44..

data

Безпосередньо WAV-дані.


Існує досить багато типів секцій, заданих для файлів WAV, але більшість WAV-файлів містять лише дві з них - секцію формату ("fmt") та секцію даних ("data"). Це саме ті секції, які необхідні для опису формату вибірок аудіоданих, та для зберігання самих аудіоданих. Хоча офіційна специфікація не задає жорсткий порядок секцій, найкращою практикою буде розміщення секції формату перед секцією даних. Багато програм очікують саме такий порядок секцій, і він найбільш розумний для передачі аудіоданих через повільні, послідовні джерела на кшталт Інтернету. Інакше якщо формат прийде після даних, перед стартом відтворення необхідно рахувати і запам'ятати всі аудіодані, тільки після отримання формату запускати відтворення.

Основні секції:

Кількість каналів (Number of Channels). Кількість каналів показує, скільки окремих аудіосигналів закодовано в розділі даних звуку (wave data chunk). Значення 1 означає монофонічний сигнал, означає 2 стерео, і т. п.

Швидкість вибірок (Sample Rate). Кількість вибірок аудіосигналу на секунду. Цю величину впливає кількість каналів.

Середня кількість байт на секунду (Average Bytes Per Second). Величина, що показує, скільки байт за секунду даних має бути пропущено через цифровий аналоговий перетворювач (D/A converter, DAC) під час відтворення файлу. ця інформація корисна, щоб визначити, чи можуть дані надходити від джерела з потрібною швидкістю, щоб не відставати від відтворення. Ця величина просто обчислюється за такою формулою:

AvgBytesPerSec = SampleRate * BlockAlign

Вирівнювання блоку (Block Align). Кількість байт однією вибірку. Ця величина може бути обчислена за такою формулою:

BlockAlign = SignificantBitsPerSample / 8 * NumChannels

Кількість біт на вибірку (Significant Bits Per Sample)

Розмір вказує кількість біт, що формують кожну вибірку сигналу. Зазвичай ця величина 8, 16, 24 або 32. Якщо число біт не вирівняно по байту (не ділиться націло на 8), кількість байт, що використовуються на вибірку округляється вгору до найменшої кількості байт. Не використовуються біти встановлюються в 0 і ігноруються. Такі формати (з числом біт на вибірку, неразовим 8) зустрічаються рідко.

Додаткові дані формату (Extra Format Bytes). Розмір вказує, скільки далі йде додаткових даних, що описують формат. Вона відсутня, якщо код стиснення 1 (uncompressed PCM file), але може бути і мати будь-яку іншу величину для інших типів стиснення, яка залежить від кількості необхідних декодування даних. Якщо величина не вирівняна на слово (не ділиться націло на 2), повинен бути доданий додатковий байт на кінець даних, але величина повинна залишатися невирівняною.

Секція даних Wave (Wave Data Chunk) містить дані цифрових вибірок аудіосигналу, які можна декодувати за допомогою формату та методу компресії, зазначених у секції формату Wave (Wave Format Chunk). Якщо код компресії 1 (нестиснутий PCM, Pulse Code Modulation), дані представлені у вигляді сирих, неперетворених (raw) величин вибірок. Ця стаття описує, як збережені несжаті дані PCM, проте не вдається у подробиці багатьох форматів з компресією.

Формат wav файлу створювався і модифікувався без будь-якої координації безліччю авторів (кожен із яких вносив свої специфічні чанки). В результаті він вийшов частково суперечливим, наприклад 8-бітні дані є беззнаковими, а 16-бітні - числа зі знаком.

2.4 Аналіз алгоритму вейвлет-перетворення Хаара


Вейвлет-перетворення - перетворення, схоже на перетворення Фур'є (або набагато більше на віконне перетворення Фур'є) з зовсім іншою функцією оцінки. Основна відмінність ось у чому: перетворення Фур'є розкладає сигнал на складові як синусів і косінусів, тобто. функцій, локалізованих у Фур'є-просторі; навпаки, вейвлет-перетворення використовує функції, локалізовані як у реальному, так і у Фур'є-просторі. Загалом, вейвлет-перетворення може бути виражене наступним рівнянням:



де * - Символ комплексної сполученості та функція ψ - деяка функція. Функція може бути обрана довільно, але вона повинна відповідати певним правилам.

Як бачимо, вейвлет-перетворення насправді є нескінченним безліччю різних перетворень залежно від оцінної функції, використаної його розрахунку. Це є основною причиною, чому термін «вейвлет-перетворення» використовується в різних ситуаціях і застосуваннях. Також є безліч типів класифікації варіантів вейвлет-перетворення. Тут ми покажемо лише поділ. заснований на ортогональності вейвлетів. Можна використовувати ортогональні вейвлети для розробки дискретного вейвлет-перетворення та неортогональні вейвлети для безперервного. Ці два види перетворення мають такі властивості:

Дискретне вейвлет перетворення повертає вектор даних тієї ж довжини, що і вхідний. Зазвичай, навіть у цьому векторі багато даних майже дорівнюють нулю. Це відповідає факту, що він розкладається на набір вейвлетів (функцій), які ортогональні до їхнього паралельного перенесення та масштабування. Отже, ми розкладаємо подібний сигнал на те ж чи менше коефіцієнтів вейвлет-спектру, як і кількість точок даних сигналу. Подібний вейвлет-спектр дуже хороший для обробки та стиснення сигналів, наприклад, оскільки ми не отримуємо тут надмірної інформації.

Безперервне вейвлет-перетворення, навпаки, повертає масив на один вимір більше вхідних даних. Для одновимірних даних ми отримуємо зображення площини час-частота. Можна легко простежити зміну частот сигналу протягом тривалості і порівнювати цей спектр зі спектрами інших сигналів. Оскільки тут використовується неортогональний набір вейвлетів, дані високо корельовані і мають велику надмірність. Це допомагає бачити результат у ближчому людському сприйнятті вигляді.

Дискретне вейвлет-перетворення (DWT) – реалізація вейвлет-перетворення з використанням дискретного набору масштабів та переносів вейвлета, що підпорядковуються деяким певним правилам. Іншими словами, це перетворення розкладає сигнал на взаємно ортогональний набір вейвлетів, що є основною відмінністю від безперервного вейвлет-перетворення (CWT), або його реалізації для часових дискретних рядів, іноді званої безперервним вейвлет-перетворенням дискретного часу (DT-CWT) [6] с. 129].

Вейвлет може бути сконструйований з функції масштабу, яка визначає властивості його масштабованості. Обмеження, що функція масштабу має бути ортогональна до своїх дискретних перетворень, передбачає деякі математичні обмеження ними, які скрізь згадуються, тобто рівняння:



де S – фактор масштабу (зазвичай вибирається як 2). Понад те, площа під функцією має бути нормалізована і функція масштабування має бути ортогональна до своїх чисельних переносів, тобто.



Після запровадження деяких додаткових умов (оскільки вищезгадані обмеження не призводять до єдиного рішення) ми можемо отримати результати всіх цих рівнянь, тобто. кінцевий набір коефіцієнтів, які визначають функцію масштабування, а також вейвлет. Вейвлет виходить із масштабуючої функції як N де N - парне ціле. набір вейвлетів потім формує ортонормований базис, який ми використовуємо для розкладання сигналу. Слід зазначити, що зазвичай лише кілька коефіцієнтів якщо будуть ненульовими, що спрощує розрахунки.

На рис.2.4-2.6 показані деякі масштабуючі функції та вейвлети. Найбільш відомим сімейством ортонормованих вейвлетів є сімейство Добеші. Її вейвлети зазвичай позначаються числом ненульових коефіцієнтів ak, таким чином, ми зазвичай говоримо про вейвлет Добеші 4, Добеши 6, і т.п. Зі збільшенням числа коефіцієнтів вейвлету функції стають гладкішими. Проведемо порівняння вейвлетів Добеші 4 та 20 нижче. Інший зі згаданих вейвлетів - найпростіший вейвлет Хаара, який використовує прямокутний імпульс як функцію, що масштабує.



Рис. 2.4. Функція масштабування Хаара та вейвлет (ліворуч) та їх частотні складові (праворуч).


Рис. 2.5. Функція масштабування Добеші 4 та вейвлет (ліворуч) та їх частотні складові (праворуч).


Рис. 2.6. Функція масштабування Добеші 20 та вейвлет (ліворуч) та їх частотні складові (праворуч).
Існує кілька видів реалізації алгоритму дискретного вейвлет-перетворення. Найстаріший і найвідоміший алгоритм Малла (пірамідальний). У цьому алгоритмі два фільтри – що згладжує та не згладжує складаються з коефіцієнтів вейвлета і ці фільтри рекурентно застосовуються для отримання даних для всіх доступних масштабів. Якщо використовується повний набір даних D = 2N і довжина сигналу дорівнює L, спочатку розраховуються дані D/2 для масштабу L/2N - 1, потім дані (D/2)/2 для масштабу L/2N - 2, поки в кінці не вийде 2 елементи даних для масштабу L/2. результатом роботи цього алгоритму буде масив тієї ж довжини, що і вхідний, де дані зазвичай сортуються від найбільших масштабів до найменших.

Дискретне вейвлет-перетворення може використовуватися для простого та швидкого видалення шуму із зашумленого сигналу. Якщо ми візьмемо лише обмежену кількість найвищих коефіцієнтів спектра дискретного вейвлет-перетворення, і проведемо зворотне вейвлет-перетворення (з тим самим базисом) ми можемо отримати сигнал більш менш очищений від шуму. Є кілька способів, як вибрати коефіцієнти, які потрібно зберегти. У Gwyddion реалізовані універсальний поріг, адаптивний за масштабом поріг та адаптивний за масштабом та простором поріг. Для визначення порога у цих методах ми спочатку визначаємо оцінку дисперсії шуму, задану



де Yij відповідає всім коефіцієнтам найбільш високого піддіапазону масштабу розкладання (де, як передбачається, повинна бути більша частина шуму). Або дисперсія шуму може бути отримана незалежним шляхом, наприклад, як дисперсія сигналу АСМ коли сканування не йде. Для найбільш високого піддіапазону частот (універсальний поріг) або для кожного піддіапазону (для адаптивного за масштабом порога) або для оточення кожного пікселя в піддіапазоні (для адаптивного за масштабом та простором порогу) дисперсія розраховується як



Значення порога вважається в кінцевому вигляді як



де



Коли поріг для заданого масштабу відомий, ми можемо видалити всі коефіцієнти менше значення порога (жорсткий поріг) або ми можемо зменшити абсолютне значення цих коефіцієнтів значення порога (м'який поріг).
3.3 Формат вхідних та вихідних даних

Desktop-додаток а також інтерфейс програми кодування інформації переговорної кімнати військової частини, спроектовані на основі патерну Модель-Представлення-Контролер, або англійською Model-View-Controller (рис. 7). Для реалізації було обрано мову програмування С# через те, що є можливість використання написаних класів для перенесення програми на будь-який інтерфейс.





Рис. 7. Структурна схема патерну Модель-Уявлення-Контролер (Model-View-Controller)
Концептуальна схема підсистеми кодування звукових файлів включає узагальнені функціональні та інформаційні компоненти проектованого програмного продукту, а також принципи їх взаємодії між собою, з користувачем і зовнішнім середовищем. За підсумками вищеописаної роботи було створено концептуальну схему системи стиснення звуку, яка показана на малюнку 9, де видно дві концептуальні частини – компонента обробки аудіо даних, що надійшли в систему та компонента аналізу ідентифікованих вейвлет-характеристик. Якість ідентифікації даних підвищується при використанні компоненти математичної обробки аудіо даних, принцип дії якої ґрунтується на алгоритмі прямого швидкого перетворення Фур'є та перетворення Хаара, що підвищує точність розпізнавання характеристик аудіо сигналу[24].



Рис. 8. Концептуальна схема підсистеми кодування звукового файлу
На даному етапі проектування робляться попередні висновки про компонентний склад створюваної програмної системи, яка включатиме 3 компоненти:

  1. Передобробка аудіо даних та формування графічного представлення сигналу.

  2. Вейлет-перетворення, що включає компоненту візуалізації результатів аналізу.

  3. Формування звітів та збереження результатів результуючого звукового сигналу.

скачати

© Усі права захищені
написати до нас