КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Інші шляхи підвищення ступеня стискуОписаний вище алгоритм у цілому вкрай близький більшості застосовуваних зараз на практиці алгоритмам стиску відео. Однак нові (або добре забуті старі) ідеї з'являються щорічно. Якщо для алгоритмів стиску без втрат можна говорити про ріст ступеня стиску на 1% у рік (щодо попереднього року) для досить великого тестового масиву даних, то для алгоритмів стиску відео мова звичайно йде об 3-5% збільшення ступеня стиску для досить великого відеофрагмента при тій же візуальній якості. Однак старе добре "правило важеля", винайдене ще Архімедом, дотримується й тут. І якщо з однієї сторони підвищується ступінь стиску, то з іншої сторони доводиться пройти, додаючи ту ж силу, набагато більший шлях. У цьому випадку росте складність програми й упаде швидкість роботи, як при компресії, так і при декомпресії. Перелічимо основні шляхи підвищення ступеня стиску: - Зміна алгоритму стиску I-Кадрів. Вище наведений алгоритм, заснована на ДКП. Сьогодні всі частіше використовуються алгоритми, засновані на вэйвлетах (див. опис JPEG-2000). - Зміна алгоритму стиску без втрат. Вище наведений алгоритм, що використовує стиск по алгоритму Хаффмана. Однак недавно закінчився основний патент на арифметичний стиск (дающее перевага 2-15%) і, відповідно, всі частіше використовується саме воно. - Зміна алгоритму роботи з векторами зсуву блоків. Підбор векторів зсувів блоків по найменшому середньоквадратичному зсуві не є оптимальним. Cуществуют алгоритми дающие кращий результат при деяких додаткових витратах часу при стиску. - Застосування обробки коефіцієнтів. Можна намагатися одержати більше інформації про зображення зі збережених коефіцієнтів. Наприклад, можливо швидке порівняння коефіцієнтів після ДКП у сусідніх блоках і їхнє усереднення по досить складних алгоритмах. Цей прийом помітно знижує кількість артефактів внесених у зображення ДКП, при цьому допускаючи реалізацію, що працює в реальному часі. - Застосування обробки кадрів, що виходять. Відоме лихо алгоритмів стиску зображень - неминуча "блочность" (добре помітні границі макроблоків). У принципі існують алгоритми, що працюють із кадрів зовсім без застосування блоків (навіть без векторів зсуву блоків), але такий підхід поки не виправдує себе ні по ступені стиску, ні по швидкості роботи декодера. Однак можна побудувати досить швидкі алгоритми постобработки, які досить акуратно заберуть видимі границі між блоками, не вносячи істотних перешкод у саме зображення. Існують також алгоритми, що усувають на лету ефект Гиббса (див. опис JPEG) і т.п. Таким чином, істотно поліпшується візуальна якість зображення. Це також означає, що можна підвищити ступінь стиску при тій же візуальній якості. - Поліпшення алгоритмів масштабування зображень. Як правило, відео на комп'ютері переглядають у весь екран. При цьому навіть застосування дуже простого й швидкого кусочно-лінійного масштабування здатно кардинально знизити швидкість програвання ролика. Тобто примітивна операція масштабування зображення буде працювати помітно довше, ніж складний алгоритм декодера. Однак швидкості сучасних комп'ютерів швидко ростуть і ті алгоритми, що викликали падіння швидкості до 7 кадрів у секунду на Celeron-300 дають живе відео - більше 30 кадрів на P 4-1200 (починає використовуватися розширений набір команд і т.п.). Т.е. з'являється можливість використовувати більше складні і якісні алгоритми масштабування на весь екран, одержуючи більше високу якість, чим для использовавшейся раніше билинейной інтерполяції (у більшості відеокарт реалізованої апаратно). - Застосування попередньої обробки відео. Якщо ми хочемо одержати досить високий ступінь стиску, то можна заздалегідь пророчити, що в нашім зображенні постраждають високі частоти. Воно стане згладженим, пропадуть багато дрібних деталей. При цьому, як правило, з'являються додаткові артефакти у вигляді смужок, ореолів у різких границь, хвиль. Значно підвищити якість зображення після кодування дозволяє предобработка з видаленням високих частот. При цьому існують алгоритми, що обробляють потік таким чином, що візуально якість зображення не змінюється, однак після декодера ми одержуємо істотно більше якісне зображення. Вище перераховані лише окремі напрямки робіт. Фактично за 90-е роки зміни й поліпшення торкнулися всіх модулів алгоритму, побудованого за класичною схемою. Свою лепту в цей процес вносять також виробники мікропроцесорів і особливо Intel. Процесори, починаючи з P4, спеціально призначені для обробки потокових даних. Особливості архітектури процесора (зокрема невеликої в порівнянні із процесорами AMD кэш першого рівня), дають значна перевага одним алгоритмам і роблять неефективними інші. Однак загальне вдосконалювання алгоритмів стиску відео йде дуже швидко й найближчим часом можна чекати тільки збільшення швидкості появи нових розробок.
|