MPEG4 у питаннях і відповідях
Малюнок 10. Завантаження CPU у залежності від використовуваного нагромаджувача
Зміна розрішення і глибини квітів робочого столу і розгін відеокарти не роблять значного впливу на швидкодію кодека. У підтвердження приводжу наступний графік. При змінах у широкому діапазоні частоти графічного процесора/пам'яті на відеокарті RIVA TNT2 PRO від 100/125 до 160/200, а також розрішення і глибини квітів екрана розкид результатів середнього завантаження процесора склав 4,3%.
Малюнок 11. Завантаження процесора в залежності від настроювання відеокарти
Отриманий результат наочно показує, що відеокарта практично не бере участь у процесі декомпресії відеопотоку. Єдине, що може доручити їй плеер, це масштабування і перетворення формату квітів у вихідній картинці, а ці дії масові графічні контролери навчилися добре робити ще років п'ять назад. Тому що розмір потоку між відеокартою і процесором не залежить від розрішення екрана, то невелике коливання відсотка завантаження CPU зв'язано головним чином зі зміною роботи відеопам'яті в різних режимах швидкості.Як уже говорилися, масштабування зображення і перетворення формату квітів з YUV у RGV може і повинне (для розвантаження процесора) вироблятися на апаратному рівні силами відеокарти. Апаратне масштабування підтримують практично усі відеоадаптери останніх двох-трьох років випуску, однак деякі відеопроцесори, наприклад від MATROX і NVIDIA TNT/TNT2, не завжди запускають оверлеї, якщо розрішення вихідної картинки для масштабування не кратно по горизонталі 16 чи 32. Оверлей також може не працювати при неправильному настроюванні драйверів чи відеокарти ж просто тому, що програма-плеєр не уміє виводити відео в цьому режимі. Мені так і не удалося включити оверлей при перегляді "Матриці" (розрішення 680*312) на відеокарті TNT2PRO у всіх плеєрах крім Sisami2k. При перегляді інших фільмів (з розрішення по горизонталі, кратним 32) включення режиму оверлея знижувало завантаження процесора (Duron 700) у середньому на 10-15%.
Якщо всі попередні рекомендації істотно не допомогли, залишається тільки жертвувати якістю декомпресії в обмін на плавність. При відкритому файлі MPEG-4 у WMP 6.4, у меню Файл > Властивості > Додатково, виберіть властивості MPEG-4 DVD Video decompressor і підберіть оптимальний рівень CPU Quality. Зменшення цього показника визволить додаткові такти процесора, і зображення не буде "затикатися".
При значенні 0 буде виключений програмний фільтр згладжування зображення; рівні від 1 до 4 відповідно підвищують ступінь згладжування - це веде до зменшення помітності "квадратиків" на зображенні.
Малюнок 12. Завантаження процесора при різному рівні фільтрації
Можна спробувати з каталогу Windows\System видалити файл Div_c32.ax, що при відтворенні відео додатково обробляє розціплений відеопотік, коректуючи яскравість, контрастність, насиченість кольору і якість згладжування. Мінус у тім, що після видалення цього файлу ви позбавитеся відповідних настроювань у властивостях кодека. У самому крайньому випадку можна піти на зменшення розрішення кадру MPEG-4 фільму, тому що зі зменшенням розрішення різко вивільняються ресурси для повноцінного відтворення відеопотоку. Докладніше про це можна прочитати тут: http://mpeg.boom.ru/pixel.htm.
Чи можна якось поліпшити якість зображення при перегляді відео?
Якщо для перегляду MPEG-4 фільмів ви використовуєте програвач WMP 6.4 зі складу OS Windows, то, запустивши його в меню Файл>Властивості>Додатково, виберіть властивості MPEG-4 DVD Video decompressor: у цьому розділі повзунок CPU Quality можна переміщати від 0 до 4 починаючи з одиниці. При значенні CPU Quality "чотири" досягається найкраща якість зображення, однак при цьому сильно зростає обсяг обчислень, необхідних для прорахунку кожного кадру. У цьому розділі також можна настроїти рівень яскравості, контрастності, насиченості і балансу квітів.
Малюнок 13. CPU Quality 0
Малюнок 14. CPU Quality 4
Інші плеєри, до приклада Sasami2k, іноді містять додаткові фільтри, що поліпшують якість зображення, але використання їхній вимагає наявності досить могутнього процесора з частотою не нижче 800Мгц.
Чи існують для PC відеокарти з апаратним прискорювачем MPEG-4?