Спосіб, кодер та відеодекодер для кодування та декодування відеопослідовності
Формула / Реферат
1. Спосіб компенсованого прогнозування руху, за яким
вибирають інтерполяційний фільтр для використання у компенсованому прогнозуванні руху кадрового блока у залежності від типу компенсованого прогнозування руху, що використовується для цього кадрового блока, причому тип компенсованого прогнозування руху є однокадровим, в якому прогнозування для кадрового блока здійснюють з використанням одного базового кадру, або є багатокадровим, в якому прогноз для кадрового блока здійснюють з використанням більш, ніж одного базового кадру, а інтерполяційний фільтр для багатокадрового типу прогнозування має менше коефіцієнтів, ніж інтерполяційний фільтр для однокадрового типу прогнозування, і
визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
2. Спосіб за п. 1, який здійснюють у відеокодері.
3. Спосіб за п. 1, який здійснюють у відеодекодері.
4. Спосіб за п. 1, який відрізняється тим, що додатково здійснюють індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для використання у компенсованому прогнозуванні руху блока.
5. Відеокодер, який має :
- засіб здійснення компенсованого прогнозування руху і
- засіб вибирання інтерполяційного фільтра для застосування у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то засіб вибирання інтерполяційного фільтра виконано таким чином, що вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснено з використанням одного базового кадру, і
- засіб визначення набору інтерполяційних фільтрів для використання з конкретним типом прогнозування.
6. Відеодекодер, який має :
- засіб здійснення компенсованого прогнозування руху і
- засіб вибирання інтерполяційного фільтра для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то засіб вибирання інтерполяційного фільтра виконано таким чином, що вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснено з використанням одного базового кадру, і
- засіб визначення набору інтерполяційних фільтрів для використання з конкретним типом прогнозування.
7. Спосіб кодування відеопослідовності, за яким
вибирають інтерполяційний фільтр для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і
визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
8. Спосіб за п. 7, за яким додатково забезпечують індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для використання у компенсованому прогнозуванні руху блока.
9. Спосіб за п. 7, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від розміру блока компенсованого прогнозування руху.
10. Спосіб за п. 7, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від форми блока компенсованого прогнозування руху.
11. Спосіб декодування кодованої відеопослідовності, за яким
вибирають інтерполяційний фільтр для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і
визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
12. Спосіб за п. 11, за яким додатково отримують з кодованої відеопослідовності індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для застосування у компенсованому прогнозуванні руху блока.
13. Спосіб за п. 11, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від розміру блока компенсованого прогнозування руху.
14. Спосіб за п. 11, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від форми блока компенсованого прогнозування руху.
15. Відеокодер для кодування відеопослідовності, який має
модуль контролю для вибирання інтерполяційного фільтра для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснено з використанням більш, ніж одного базового кадру, то засіб для вибирання інтерполяційного фільтра виконаний таким чином, щоб вибрати інтерполяційний фільтр, що має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і в якому модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
16. Відеокодер за п. 15, який додатково має мультиплексор для надання індикації про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для застосування у компенсованому прогнозуванні руху блока.
17. Відеокодер за п. 15, в якому вибирання інтерполяційного фільтра додатково виконано у залежності від розміру блока компенсованого прогнозування руху.
18. Відеокодер за п. 15, в якому вибирання інтерполяційного фільтра додатково виконано у залежності від форми блока компенсованого прогнозування руху.
19. Відеодекодер для декодування відеопослідовності, який має модуль контролю для вибирання інтерполяційного фільтра для використання у компенсованому прогнозуванні руху для кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і в якому модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
20. Відеодекодер за п 19, який додатково має демультиплексор для надання індикації про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для застосування у компенсованому прогнозуванні руху блока.
21. Відеодекодер за п. 19, в якому вибирання інтерполяційного фільтра виконано залежно від розміру блока компенсованого прогнозування руху.
22. Відеодекодер за п. 19, в якому вибирання інтерполяційного фільтра виконано залежно від форми блока компенсованого прогнозування руху.
23. Спосіб кодування відеопослідовності, за яким:
- визначають тип компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці; І
- вибирають інтерполяційний фільтр, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж одному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці, і
- визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
24. Кодер для кодування відеопослідовності, який має модуль контролю для:
- визначення типу прогнозування, що застосовується у кодуванні поточного блока з компенсованим прогнозуванням руху, причому цей тип прогнозування вказує на те, чи базується прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці;
- вибирання інтерполяційного фільтра, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж одному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці; і
- визначення набору інтерполяційних фільтрів для використання з конкретним типом прогнозування.
25. Спосіб декодування кодованої відеопослідовності, за яким :
- отримують з бітового потоку індикацію компенсованого прогнозування руху, використаного для поточного блока;
- визначають тип компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується це прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці;
- вибирають інтерполяційний фільтр, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж одному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці; і
- визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
26. Декодер для декодування кодованої відеопослідовності, який має:
- демультиплексор для
отримання з бітового потоку індикації компенсованого прогнозування руху, застосованого для поточного блока і
визначення типу компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується це прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці, а також
- модуль контролю для
вибирання інтерполяційного фільтра, базуючись на типі компенсованого прогнозування руху для кадрового блока, причому інтерполяційний фільтр з використанням більш, ніж одного базового кадру має менше коефіцієнтів, ніж інтерполяційний фільтр з використанням одного базового кадру, і в якому
модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційних фільтрів для використання з конкретним типом прогнозування.
Текст
1. Спосіб компенсованого прогнозування руху, за яким вибирають інтерполяційний фільтр для використання у компенсованому прогнозуванні руху кадрового блока у залежності від типу компенсованого прогнозування руху, що використовується для цього кадрового блока, причому тип компенсованого прогнозування руху є однокадровим, в якому прогнозування для кадрового блока здійснюють з використанням одного базового кадру, або є багатокадровим, в якому прогноз для кадрового блока здійснюють з використанням більш, ніж одного базового кадру, а інтерполяційний фільтр для багатокадрового типу прогнозування має менше коефіцієнтів, ніж інтерполяційний фільтр для однокадрового типу прогнозування, і визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 2. Спосіб за п. 1, який здійснюють у відеокодері. 3. Спосіб за п. 1, який здійснюють у відеодекодері. 4. Спосіб за п. 1, який відрізняється тим, що додатково здійснюють індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для використання у компенсованому прогнозуванні руху блока. 5. Відеокодер, який має : - засіб здійснення компенсованого прогнозування руху і - засіб вибирання інтерполяційного фільтра для застосування у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійс 2 (19) 1 3 8. Спосіб за п. 7, за яким додатково забезпечують індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для використання у компенсованому прогнозуванні руху блока. 9. Спосіб за п. 7, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від розміру блока компенсованого прогнозування руху. 10. Спосіб за п. 7, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від форми блока компенсованого прогнозування руху. 11. Спосіб декодування кодованої відеопослідовності, за яким вибирають інтерполяційний фільтр для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 12. Спосіб за п. 11, за яким додатково отримують з кодованої відеопослідовності індикацію про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для застосування у компенсованому прогнозуванні руху блока. 13. Спосіб за п. 11, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від розміру блока компенсованого прогнозування руху. 14. Спосіб за п. 11, за яким вибирання інтерполяційного фільтра додатково здійснюють залежно від форми блока компенсованого прогнозування руху. 15. Відеокодер для кодування відеопослідовності, який має модуль контролю для вибирання інтерполяційного фільтра для використання у компенсованому прогнозуванні руху кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснено з використанням більш, ніж одного базового кадру, то засіб для вибирання інтерполяційного фільтра виконаний таким чином, щоб вибрати інтерполяційний фільтр, що має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і в якому модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 16. Відеокодер за п. 15, який додатково має мультиплексор для надання індикації про конкретний фільтр з зазначеного набору інтерполяційних фі 90993 4 льтрів для застосування у компенсованому прогнозуванні руху блока. 17. Відеокодер за п. 15, в якому вибирання інтерполяційного фільтра додаткововиконано у залежності від розміру блока компенсованого прогнозування руху. 18. Відеокодер за п. 15, в якому вибирання інтерполяційного фільтра додатково виконано у залежності від форми блока компенсованого прогнозування руху. 19. Відеодекодер для декодування відеопослідовності, який має модуль контролю для вибирання інтерполяційного фільтра для використання у компенсованому прогнозуванні руху для кадрового блока у залежності від використаного типу компенсованого прогнозування руху, причому, якщо тип компенсованого прогнозування руху є багатокадровим типом прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням більш, ніж одного базового кадру, то вибраний інтерполяційний фільтр має менше коефіцієнтів, ніж інтерполяційний фільтр, вибраний для однокадрового типу прогнозування, в якому прогнозування для кадрового блока здійснюється з використанням одного базового кадру, і в якому модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 20. Відеодекодер за п. 19, який додатково має демультиплексор для надання індикації про конкретний фільтр з зазначеного набору інтерполяційних фільтрів для застосування у компенсованому прогнозуванні руху блока. 21. Відеодекодер за п. 19, в якому вибирання інтерполяційного фільтра виконано залежно від розміру блока компенсованого прогнозування руху. 22. Відеодекодер за п. 19, в якому вибирання інтерполяційного фільтра виконано залежно від форми блока компенсованого прогнозування руху. 23. Спосіб кодування відеопослідовності, за яким: - визначають тип компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці; і - вибирають інтерполяційний фільтр, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж одному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці, і - визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 24. Кодер для кодування відеопослідовності, який має модуль контролю для: - визначення типу прогнозування, що застосовується у кодуванні поточного блока з компенсованим прогнозуванням руху, причому цей тип прогнозування вказує на те, чи базується прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці; - вибирання інтерполяційного фільтра, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж од 5 90993 6 ному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці; і - визначення набору інтерполяційних фільтрів для використання з конкретним типом прогнозування. 25. Спосіб декодування кодованої відеопослідовності, за яким : - отримують з бітового потоку індикацію компенсованого прогнозування руху, використаного для поточного блока; - визначають тип компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується це прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці; - вибирають інтерполяційний фільтр, базуючись на типі компенсованого прогнозування руху, причому інтерполяційний фільтр для компенсованого прогнозування руху, базований на більш, ніж одному базовому блоці, має менше коефіцієнтів, ніж інтерполяційний фільтр, базований на одному базовому блоці; і - визначають набір інтерполяційних фільтрів для використання з конкретним типом прогнозування. 26. Декодер для декодування кодованої відеопослідовності, який має: - демультиплексор для отримання з бітового потоку індикації компенсованого прогнозування руху, застосованого для поточного блока і визначення типу компенсованого прогнозування руху для поточного блока, який вказує на те, чи базується це прогнозування на одному базовому блоці або на більш, ніж одному базовому блоці, а також - модуль контролю для вибирання інтерполяційного фільтра, базуючись на типі компенсованого прогнозування руху для кадрового блока, причому інтерполяційний фільтр з використанням більш, ніж одного базового кадру має менше коефіцієнтів, ніж інтерполяційний фільтр з використанням одного базового кадру, і в якому модуль контролю, крім того, виконано з можливістю визначати набір інтерполяційнихфільтрів для використання з конкретним типом прогнозування. Винахід стосується взагалі кодування зображень, зокрема, системи для компресії послідовностей цифрових зображень. Типові кодери-декодери базуються на компенсованому прогнозуванні руху і на кодуванні похибки прогнозування. Компенсоване прогнозування руху забезпечується аналізом і кодуванням руху між відеокадрами і реконструюванням компенсованих сегментів зображення з використанням інформації про рух. Кодування похибки прогнозування використовують для кодування різниці між компенсованими сегментами зображень руху і відповідними сегментами первісного зображення. Точність кодування похибки прогнозування можна коригувати в залежності від наявної ширини смуги і бажаної якості кодованого відео. У типовій системі з дискретним косинусним перетворенням (DCT) це здійснюється варіюванням параметра квантувального пристрою (QP), що використовується для квантування коефіцієнтів DCT до досягнення певної точності. Кодувальні системи взагалі дають набір параметрів, що репрезентують кодовані сигнали. Ці параметри кодуються статистично і надсилаються до декодера для декодування і реконструкції кодованого сигналу. Для поліпшення ефективності компресії статистичного кодера прогнозування параметрів часто здійснюють, використовуючи інформацію, доступну як для кодера, так і для декодера. Для цього статистичний кодер має кодувати лише малі різниці варіацій між фактичними і прогнозованими значеннями параметрів, забезпечуючи цим ефективність кодування. Цифрове зображення звичайно репрезентується зразками з однаковими інтервалами між ними, представлені у вигляді масиву Ν×Μ, де кожний елемент є дискретним кількісним значенням. Еле менти F(x,y) цього масиву називають елементами зображення, елементами картинки, пікселами або елементами растру. Координати (х,у) визначають розташування пікселів у зображенні, а значення F(x,y) пікселів задаються лише для цілих значень х, у. F(0,0) F(1,0) F(0,1) F(1,1) ... ... F(0, M 1) F(1, M 1) . . ... . . . ... . . . ... . F(N 1,0) F(N 1,1) ... F(N 1, M 1) Типовий відеокодер використовує три типи зображень: інтра-зображення (I-зображення), прогнозовані зображення (Р-зображення і двонапрямно прогнозовані або біпрогнозовані зображення (Взображення). Фіг.1а містить типовий приклад відеопослідовності, яка складається з І-зображення і Рзображення. І-зображення можна кодувати незалежно, тобто таким чином, що блоки у Iзображенні (І-блоки) не залежать від будь-яких зразків зображень. Р-зображення може залежати від наявних зразків зображень таким чином, що блок у Р-зображенні може бути або I-блоком, або Р-блоком, який залежить від одного зразка зображення. Фіг.1b містить типовий приклад відеопослідовності, яка складається з І-зображення, Взображення і Р-зображення. В-зображення може залежати від зображень, що передують йому або розташовані після нього у часі. Блок у Взображенні може бути І-блоком, Р-блоком або Вблоком залежно від двох зразків зображень. Р-зображення використовують часові надлишковості між послідовними кадрами у відеопослідо 7 вності. Коли зображення первісної відеопослідовності кодується як Р-зображення, воно розділяється на прямокутні зони (блоки), які прогнозуються з одного з попередньо кодованих і переданих кадрів Fref, які називають зразками зображення. Інформація прогнозування блоку репрезентується двомірним вектором руху (Δx,Δy), де Δx є горизонтальним, а Δy - вертикальним зсувом. Вектори руху разом з зразками зображенням використовуються під час компенсації руху для побудови зразків у прогнозованому зображенні Fpred: Fpred(x+y)=Fref(x+Δх,у+Δy) Вектори руху знаходять у процесі оцінювання руху. Похибка прогнозування, тобто різниця між первісним зображенням і прогнозованим зображенням Fpred піддають компресії, репрезентуючи її значення як набір зважених базисних функцій певного дискретного перетворення. Це перетворення звичайно здійснюється на основі блоку 8×8 або 4×4. Ваги, які є коефіцієнтами перетворення, після цього квантуються. Квантування супроводжується втратою інформації, оскільки квантовані коефіцієнти мають нижчу точність, ніж оригінали. Квантовані коефіцієнти перетворення разом з векторами руху і деякою контрольною інформацією утворюють повну репрезентацію кодованого Рзображення. Ці різні форми інформації разом відомі як синтаксичні елементи. Перед передачею від кодера до декодера всі синтаксичні елементи піддають статистичному кодуванню, яке додатково зменшує кількість біт, потрібних для їх репрезентування. Статистичне кодування є безвтратною операцією, спрямованою на мінімізацію кількості біт, потрібних для репрезентації переданих або збережених символів, через використання властивостей їх розподілення (деякі символи з'являються частіше за інші). У декодері Р-зображення одержують спочатку конструюванням прогнозованого зображення подібно до того, як це виконується у кодері, і потім доданням до прогнозованого зображення компресованої похибки прогнозування. Компресовану похибку прогнозування знаходять зважуванням базисних функцій перетворення з використанням квантованих коефіцієнтів перетворення. Різниця між реконструйованим зображенням Frec і первісним зображенням називають похибкою реконструювання. Оскільки вектори руху (Δх,Δy) можуть мати нецілі значення, компенсоване прогнозування руху вимагає наявності оцінних значень зображення для зразка зображення Fref у нецілих місцеположеннях (х',у')=(х+Δх,у+Δу). Значення зображення у нецілому місцеположенні називають субпіксельним значенням, і процес визначення такого значення називають інтерполяцією. Обчислення субпіксельного значення F(x,y) виконуються фільтруванням оточуючих пікселів: K L F( x' , y' ) f (k, l)F(n k, m l), k K 1l L 1 де f(k,l) - коефіцієнти фільтра, a n і m одержують усіканням х' і у', відповідно до цілих значень. Коефіцієнти фільтра звичайно залежать від значень х' і у'. Інтерполяційні фільтри звичайно є се 90993 8 парабельними, і тоді субпіксельне значення F(x,y) може бути обчислене як: K L F( x' , y' ) f (l)F(n k, m l), k K 1l L 1 У випадку В-зображень є можливим прогнозування одного блоку з двох різних зразків зображення. Для кожного блоку можуть існувати два набори векторів руху (Δх1,Δу1),.(Δх2,Δу2), для кожного з цих двох зразків зображення. Прогнозування є комбінуванням піксельних значень з цих двох зображень. Звичайно піксельні значення цих двох зразків зображення усереднюються: Fpred(x,y)=F1(x+Δx1,у+Δy1)+F2(x+Δx2,у+Δy2)/2. Інтерполяція пікселів у нецілій позиції виконується застосуванням фільтра до сусідніх піксельних значень. Звичайно фільтри вищого порядку дають кращі результати. Коли використовується багатокартинне прогнозування (наприклад, у Взображеннях), інтерполяцію необхідно виконувати для кожного зображення, з якого були одержані піксели. Отже, прогнозування з двох зразків зображення потребує подвоєної кількості інтерполяцій порівняно з прогнозуванням з одного зображення, тобто складність багатокартинного прогнозування є значно вищою, ніж складність прогнозування з одного зображення. У системі кодування зображення згідно з винаходом вся інформація про рух, яка використовується для компенсації руху, є подібною до тієї, що визначена в існуючих стандартах відеокодування, наприклад Н.263 і Н.264. Наприклад, згідно з ескізною версією стандарту Н.264 відеокодування (див. Т. Wiegand: Joint Committee Draft (CD) of Joint Video Specification (ITU-T rec. H.264 ISO/IEC 1449610 AVC", Doc. VT-C167, Joint Video Team (JVT) ISO/IEC MPEG і ITU-T VGEG, May 2002), всі Рблоки прогнозуються з використанням 6елементного інтерполяційного фільтра з коефіцієнтами (1, -5, 20, 20, -5, 1)/32 і білінійного фільтра. Така схема фільтрування ілюстрована на Фіг.2, де позиції, позначені "А" репрезентують зразки зображення у цілих позиціях. Інші символи відповідають інтерпольованим значенням у дробових позиціях зразків. Згідно з стандартом Н.264 відеокодування інтерполяція субпіксельних значень може бути застосована як до компонентів яскравості, так і до компонентів кольоровості зображення. Однак, для спрощення тут буде розглянута лише інтерполяція субпіксельних значень яскравості. Залежно від вимог до складності і розрізнення процесу компенсації руху прогнозування субпіксельних значень компонента яскравості може бути здійснене з розрізненням у чверть або 1/8 зразка. Для спрощення ми будемо розглядати лише чверть-зразкову інтерполяцію, але слід відзначити, що точні деталі процесу інтерполяції субпіксельних значень і розрізнення інтерполяції не впливають на застосовність способу винаходу. Згідно з визначеною у Н.264 процедурою інтерполяції значення субпіксельного розрізнення для чверті зразка, прогнозовані значення для чвертьзразкової позиції утворюються усередненням зразків для цілих позицій і чверть-зразкових позицій. 9 Процес для кожної позиції розглядається нижче (див. Фіг.2). - Зразки у чверть-зразкових позиціях, позначених "bh" одержуються спочатку обчисленням проміжного значення шляхом застосування 6елементного фільтра (описаного вище) до найближчих зразків А у цілих позиціях в горизонтальному напрямку. Значення bh обчислюється за формулою: bh=clip1((b+16)>>5), де x>>n означає арифметичний зсув доповнення до 2 цілого значення x вправо на n біт, а математична функція сlір1 визначається як: сІір1(с)=СІір3(0, 255,с) clip3(a,b,c)=а якщо с b = с у іншому випадку - Зразки у півзразкових позиціях, позначені "bv", обчислюються подібним чином, з застосуванням фільтра у вертикальному напрямку. - Зразки у півзразкових позиціях, позначені "сm", обчислюються застосуванням 6-елементного фільтра до проміжних значень b позицій найближчих півзразків у вертикальному або горизонтальному напрямку для одержання проміжного результату с. Кінцеве значення обчислюється за формулою cm=clip1((c+512)>>10. Зразки у чверть-зразкових позиціях, позначені "d", "g", "e" і "f" обчислюються усередненням з урізанням двох найближчих зразків у цілій або півзразковій позиції: h d=(А+b )>>1 g=(bv+с)>>1 e=(А+bv)>>1 f=(bh+cm)>>1 Зразки у чверть-зразкових позиціях, позначені "h" обчислюються усередненням з урізанням найближчих зразків bh і bv у діагональному напрямку згідно з співвідношенням h=(bh+bv)>>1 Зразки у чверть-зразкових позиціях, позначені "і" обчислюються з використанням чотирьох найближчих зразків у цілих позиціях: і=(Α1+А2+A3+A4+2)>>2. В існуючих стандартах відеокодування, наприклад, MPEG-1, MPEG-2, MPEG-3, H.263 і Н.264, застосовується один і той же фільтр незалежно від типу прогнозування. Було виявлено, що таке застосування інтерполяційного фільтра не завжди є ефективним. Доцільним і бажаним є створення способу і системи для кодування цифрового зображення, які знижують складність прогнозування зображення. Згідно з першим аспектом винахід включає спосіб кодування відеопослідовності, яка включає ряд зображень, в яких зображення у цій відеопослідовності розділені на блоки, а блок зображення кодується з використанням одного з декількох різних типів компенсованого прогнозування руху, включаючи щонайменше однокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогнозованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях єдиного зразка зображення у відеопос 90993 10 лідовності, і багатокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогнозованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення у відеопослідовності. Цей спосіб відрізняється тим, що складність інтерполяційного фільтра, застосованого для генерування прогнозованих піксельних значень для блоку, залежить від характеристики блоку. Складність інтерполяційного фільтра залежить від типу компенсованого прогнозування руху, застосованого у кодуванні блоку. Складність інтерполяційного фільтра можна змінювати зміною типу фільтра. Складність інтерполяційного фільтра може бути знижена при використанні зазначеного багатокартинного типу прогнозування для генерування прогнозованих піксельних значень блоку. Складність інтерполяційного фільтра може бути знижена при використанні зазначеного багатокартинного типу прогнозування шляхом використання коротшого фільтра або використання зазначеного багатокартинного типу прогнозування з застосуванням фільтра з меншою кількістю коефіцієнтів. Складність інтерполяційного фільтра можна змінювати залежно від розміру або форми блоку. Бажано, щоб інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення, був коротшим за інтерполяційний фільтр, що працює на піксельних значеннях єдиного зразка зображення. Доцільно, щоб інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення, включав 4-елементний фільтр, а інтерполяційний фільтр, що працює на піксельних значеннях єдиного зразка зображення, включав 6-елементний фільтр. Доцільно, щоб інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення, залежав від дробової позиції пікселю при обчисленні субпіксельного значення. Спосіб включає також визначення набору інтерполяційних фільтрів для використання залежно від конкретного типу прогнозування, і індикацію конкретного фільтра з зазначеного набору інтерполяційних фільтрів, призначеного для використання у компенсованому прогнозуванні руху для блоку. Згідно з другим аспектом, винахід стосується системи кодування відеопослідовності, яка включає ряд зображень, в яких зображення у цій відеопослідовності розділене на блоки, а блок зображення кодується з використанням одного з декількох різних типів компенсованого прогнозування руху, включаючи щонайменше однокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогнозованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях єдиного зразка зображення у відеопослідовності, і багатокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогно 11 зованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення у відеопослідовності. Система включає: - засіб обрання типу прогнозування для використання у кодуванні блоку з використанням компенсованого прогнозування руху і - засіб зміни інтерполяційного фільтра залежно від вибраного типу прогнозування. Засіб зміни також змінює інтерполяційний фільтр залежно від характеристики, розміру і форми блоку. Згідно з третім аспектом, винахід включає спосіб компенсованого прогнозування руху для застосування у системі кодування відеопослідовності, яка включає ряд зображень, в яких зображення у цій відеопослідовності розділене на блоки, а блок зображення кодується з використанням одного з декількох різних типів компенсованого прогнозування руху, включаючи щонайменше однокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогнозованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях єдиного зразка зображення у відеопослідовності, і багатокартинний тип прогнозування, який використовує компенсоване прогнозування руху для генерування прогнозованих піксельних значень для цього блоку, застосовуючи інтерполяційний фільтр, що працює на піксельних значеннях більш, ніж одного зразка зображення у відеопослідовності. Спосіб включає: - визначення типу компенсованого прогнозування руху і - зміну інтерполяційного фільтра залежно від визначеного типу компенсованого прогнозування руху. Згідно з четвертим аспектом, винахід включає спосіб компенсованого прогнозування руху, в якому інтерполяційний фільтр, що використовується у процесі компенсованого прогнозування руху у блоці зображення, вибирають залежно від типу компенсованого прогнозування руху, що використовується. Спосіб може бути втілений у відеокодері або відеодекодері. Якщо типом компенсації руху є багатокартинний тип прогнозування, в якому прогнозування для блоку зображення здійснюється з використанням більш, ніж одного зразка зображення, вибраний інтерполяційний фільтр має меншу кількість коефіцієнтів, ніж інтерполяційний фільтр, вибраний для компенсованого прогнозування руху, що використовується для однокартинного типу прогнозування з використанням єдиного зразка зображення. Вибір інтерполяційного фільтра залежить від характеристики, розміру і форми блоку зображення. Згідно з п'ятим аспектом, винахід включає пристрій для виконання компенсованого прогнозування руху, який включає засіб обрання інтерполяційного фільтра для використання у процесі компенсованого прогнозування руху блоку зобра 90993 12 ження залежно від типу виконання компенсованого прогнозування руху, що використовується. Пристрій може бути втілений як відеокодер або відеодекодер. Якщо типом компенсації руху є багатокартинний тип прогнозування, в якому прогнозування для блоку зображення створюється з використанням більш, ніж одного зразка зображення, зазначений засіб обрання інтерполяційного фільтра оперативно вибирає інтерполяційний фільтр, який має меншу кількість коефіцієнтів, ніж інтерполяційний фільтр, призначений для компенсованого прогнозування руху, що використовується для однокартинного типу прогнозування з використанням єдиного зразка зображення. Засіб обрання інтерполяційного фільтра вибирає інтерполяційний фільтр залежно від характеристики блоку зображення. Засіб обрання інтерполяційного фільтра вибирає інтерполяційний фільтр залежно від розміру блоку зображення. Згідно з шостим аспектом, винахід включає відеокодер, що включає пристрій для виконання компенсованого прогнозування руху, який має засіб обрання інтерполяційного фільтра для використання у процесі компенсованого прогнозування руху блоку зображення залежно від типу виконання компенсованого прогнозування руху, що використовується. Згідно з сьомим аспектом, винахід включає відеодекодер, що включає пристрій для виконання компенсованого прогнозування руху, який включає засіб обрання інтерполяційного фільтра для використання у процесі компенсованого прогнозування руху блоку зображення залежно від типу виконання компенсованого прогнозування руху, що використовується. У бажаному втіленні винаходу для різних типів прогнозування використовуються різні типи фільтрів для інтерполяції руху. Тип фільтра змінюється на блочному рівні залежно від типу блочного прогнозування. Зокрема, винахід використовує коротші фільтри для багатокартинного прогнозування. Це суттєво знижує складність процесу інтерполяції руху. При цьому при належному виборі коротших фільтрів вплив на якість інтерполяції є незначним завдяки додатковому фільтрувальному ефекту, зумовленому зважуванням двох прогнозів. Далі наведено опис з посиланнями на креслення, в яких: Фіг.1а - схема, що ілюструє два Р-блоки у Рзображенні у процесі прогнозування з попередніх даних зображень, Фіг.1b - схема, що ілюструє два В-блоки у Взображенні у процесі прогнозування з двох зразків зображення, Фіг.2 - схема, що ілюструє цілі зразки і дробові позиції зразків для чверть-зразкової інтерполяції яскравості згідно з існуючим рівнем техніки, Фіг.3 - схема, що ілюструє інтерполяцію субпіксельних значень у горизонтальному напрямку, Фіг.4 - схема, що ілюструє інтерполяцію субпіксельних значень у вертикальному напрямку, 13 Фіг.5 - схема, що ілюструє конструювання двомірного масиву субпіксельних значень інтерполяцією в горизонтальному і вертикальному напрямках, Фіг.6 - схема алгоритму способу обрання фільтра згідно з винаходом, Фіг.7 - блок-схема відеокодера згідно з бажаним втіленням винаходу, де інтерполяційні фільтри обираються залежно від типу компенсованого прогнозування руху, Фіг.8 - блок-схема відеодекодера згідно з бажаним втіленням винаходу, де інтерполяційні фільтри обираються залежно від типу компенсованого прогнозування руху. Згідно з бажаним втіленням винаходу, для зниження складності для двонапрямних В-блоків використовуються коротші інтерполяційні фільтри. Наприклад, в одному з втілень для одержання значень для субпікселів, розташованих у різних дробових піксельних позиціях використовуються 4елементні фільтри: 0/4: (0, 16, 0, 0)/16 1/4: (-2, 14, 5, -1)/16 2/4: (-2, 10, 10, -2)/16 3/4: (-1, 5, 14, -2)/16 Далі розглядається використання визначених вище інтерполяційних фільтрів для обчислення субпіксельних значень (Фіг.3, Фіг.4). На цих Фіг. показано невеликий масив пікселів, що репрезентують блок зображення, для якого виконується інтерполяція. Фіг.3 ілюструє використання описаних вище інтерполяційних фільтрів в горизонтальному напрямку, а Фіг.4 - застосування цих фільтрів у вертикальному напрямку. В обох випадках значення пікселів, розташованих у цілих піксельних позиціях і використані інтерполяційним фільтром, позначено "А", згідно з позначеннями Фіг.2. Крім того, кожному пікселю надано числовий субіндекс (тобто Α1, А2, A3, A4, який вказує коефіцієнт інтерполяційного фільтра, на який має бути помножене певне піксельне значення. Субпіксельні значення, що мають бути інтерпольовані у горизонтальному рядку (Фіг.3) пікселів Α1, А2, А3 і А4, позначено х1/4, х2/4 і х3/4, відповідно. Подібним чином, субпіксельні значення, що мають бути інтерпольовані у вертикальному стовпчику (Фіг.4) пікселів Α1, А2, А3 і А4, позначено у1/4, у2/4 і у3/4, відповідно. Згідно з Фіг.3, субпіксельне значення х1/4 обчислюється з застосуванням інтерполяційного фільтра (1/4), визначеного вище, до піксельних значень Α1, А2, А3 і А4. Отже, х1/4=((-2·А1)+(14·А2)+(5·А3)+(-1·А4))/16. Субпіксель х2/4 обчислюється подібним чином з застосуванням інтерполяційного фільтра (2/4), до піксельних значень Α1, А2, А3 і А4, а субпіксель х3/4 обчислюється з застосуванням інтерполяційного фільтра (3/4): х2/4=((-2·А1)+(10·А2)+(10·А3)+(-2·А4))/16, х3/4=((-1·А1)+(5·А2)+(14·А3)+(-2·А4))/16. Інтерполяція субпіксельних значень у вертикальному напрямку (Фіг.4) виконується подібно до того, як це робиться для горизонтального напрямку. Так, субпіксельні значення у1/4, у2/4 і у3/4 обчислюються з використанням інтерполяційних фільтрів (1/4), (2/4) і (3/4), які застосовуються до 90993 14 піксельних значень Αι, А2, Аз і А4 у цілих позиціях, як це показано на Фіг.4. Зокрема, у1/4=((-2·А1)+(14·А2)+(5·А3)+(-1·А4))/16, у2/4=((-2·А1)+(10·А2)+(10·А3)+(-2·А4))/16, у3/4=((-1·А1)+(5·А2)+(14·А3)+(-2·А4))/16. Інтерполяційний фільтр (0/4) входить у набір інтерполяційних фільтрів для повноти і є фіктивним, оскільки відповідає обчисленню субпіксельного значення, що збігається з піксельним значенням у цілій позиції. Коефіцієнти решти 4елементних інтерполяційних фільтрів (1/4), (2/4), (3/4) вибирають емпірично, наприклад, з міркувань найкращої можливої суб'єктивної інтерполяції субпіксельних значень. Перші інтерполяційні рядки субпіксельних значень для горизонтального напрямку (операції 1, 2 Фіг.5) і потім інтерполяційні стовпчики для вертикального напрямку (опер. 3 Фіг.5) дають значення для кожної субпіксельної позиції між цілими позиціями пікселів. Фіг.6 містить операції 600 способу прогнозування субпіксельних значень згідно з бажаним втіленням винаходу. Коли відеокодер, виконаний згідно з бажаним втіленням винаходу, приймає блок відеозображення для кодування (опер. 610), він визначає (опер. 620) тип прогнозування, придатний для кодування блоку. Якщо кодер визначає, що блок має бути кодований як І-блок, тобто компенсоване прогнозування руху не буде виконуватись, блок кодується у форматі INTRA (опер. 630). Якщо блок буде закодований як Р-блок, застосовується компенсоване прогнозування руху з урахуванням єдиного зразка зображення (тобто попередньо закодованого зображення у відеопослідовності). Відеокодер вибирає перший інтерполяційний фільтр для обчислення будь-яких субпіксельних значень, потрібних для процесу компенсації руху (опер. 640) і потім формує прогноз для блоку, використовуючи зразок зображення і обчислюючи будь-які субпіксельні значення, потрібні для використання вибраного (першого) інтерполяційного фільтра (опер. 642). Якщо кодер побудований, наприклад, згідно з рекомендаціями ITU-T H.264 для відеокодування, процедура визначення субпіксельних значень для Р-блоків є ідентичною рекомендованій стандартом Н.264. Якщо блок має бути кодований як В-блок з використанням двонапрямного прогнозування з двох зразків зображення, відеодекодер вибирає другий інтерполяційний фільтр, відмінний від першого, для обчислення субпіксельних значень (опер. 650). У бажаному втіленні винаходу другий фільтр має довжину (кількість коефіцієнтів), меншу за довжину (кількість коефіцієнтів) першого фільтра. При кодуванні прогнозованого у двох напрямках Вблоку відеокодер формує для блоку два окремі прогнози, по одному з кожного зразка зображення (опер. 652, 654), і використовує другий інтерполяційний фільтр для обчислення потрібних субпіксельних значень. Далі він формує середнє двох прогнозів і використовує його як остаточний прогноз для цього блоку (опер. 656). Оскільки другий інтерполяційний фільтр має меншу кількість коефіцієнтів, ніж перший інтерполяційний фільтр, використання цього другого інтерполяційного фільтра для одержання субпіксельних значень у прогнозі для 15 двонапрямного В-блоку суттєво знижує складність процесу інтерполяції порівняно з інтерполяцією першим інтерполяційним фільтром. Зокрема, у випадку, коли, наприклад, перший інтерполяційний фільтр є 6-елементним фільтром (тобто має 6 коефіцієнтів), а другий інтерполяційний фільтр є 4елементним фільтром (тобто має 4 коефіцієнти), інтерполяція двонапрямного В-блоку зводиться до двох фільтрувальних операцій на масивах пікселів 4×4 (по одному на кожний прогноз) замість двох фільтрувальних операцій на масивах пікселів 6×6. Таким чином, складність кодування В-зображення значно знижується, причому вплив на точність інтерполяції є мінімальним. Фіг.7 містить блок-схему відеокодера, здатного реалізувати спосіб обрання типу інтерполяційного фільтра згідно з винаходом. Кодер 700 включає блок 710 формування, блок 714 віднімання, блок 720 контролю, блок 730 обрання типу прогнозування, блок 750 обрання інтерполяційного фільтра і блок 740 прогнозування. Блок 710 формування приймає вхідний відеосигнал, який включає послідовність відеозображень, призначених для кодування, і розділяє кожне прийняте зображення на блоки заздалегідь визначених розміру і форми. Блок 720 оперативно визначає оптимальний тип прогнозування для кожного блоку. Хоча обрання типу прогнозування можна здійснити багатьма шляхами, згідно з винаходом блок 720 контролю пристосовано перевіряти по черзі кожний наявний тип прогнозування і приймати рішення щодо типу прогнозування для кожного блоку, базуючись на показнику, який ураховує як рівень спотворення зображення, що вноситься використанням даного типу прогнозування, так і кількість інформації, потрібної для кодування блоку з використанням цього типу прогнозування. Такий показник звичайно називають "функцією витрат". У інших втіленнях винаходу можуть бути використані інші еквівалентні показники. У цьому втіленні винаходу наявними типами прогнозування є: (а) відсутність прогнозування, і тоді блок зображення кодується у форматі INTRA, (b) прогнозування для Р-блоку, і тоді прогноз для блоку формується з використанням єдиного зразкового кадру, і (с) прогнозування для В-блоку, і тоді прогноз для блоку формується з використанням двох зразкових кадрів. Блок 720 контролю вибирає по черзі кожний тип прогнозування, інструктуючи блок 730 обрання типу прогнозування встановити кодер у відповідний режим (І-блок, Рблок або В-блок). Блок 720 контролю обчислює значення функції витрат для кожного типу прогнозування і вибирає такий тип прогнозування для блоку і відповідний тип фільтру для використання у прогнозуванні блоку згідно з режимом кодування (І, Р, В), які надають функції витрат найменшого значення. Далі детально розглядається формування різних прогнозів для конкретного блоку і обрання типу прогнозування. У даному втіленні використовуються три типи прогнозування, і тому блок 720 контролю спочатку інструктує блок 730 обрання типу прогнозування встановити відеокодер у ре 90993 16 жим кодування Р-блоку, в якому прогноз для блоку формується з використанням одного зразкового кадру. У свою чергу блок 730 обрання типу прогнозування інструктує блок 750 обрання інтерполяційного фільтра вибрати інтерполяційний фільтр для обчислення субпіксельних значень у процесі прогнозування для Р-блоку. Після цього у блоці 740 прогнозування формується прогноз для блоку з використанням вибраних типу прогнозування і інтерполяційного фільтра. Далі у пристрої 714 віднімання формується показник похибки прогнозування через порівняння щойно сформованого прогнозу для блоку з даними зображення для входу блоку, одержаними від блоку 710 формування. Блок 720 контролю приймає показник похибки прогнозування від пристрою 714 віднімання і обчислює значення функції витрат, яка є результатом цього вибору типу прогнозування (прогноз для Рблоку). Як уже було відзначено, функція витрат ураховує розмір похибки прогнозування і кількість даних, потрібних для одержання прогнозу для даного блоку і похибки прогнозування (тобто фактично кількість даних, потрібних для передачі інформації, необхідної для реконструювання блоку у відповідному відеодекодері). Після цього блок 720 контролю зберігає значення функції витрат у пам'яті відеокодера (не показаного на Фіг.7). Далі блок 720 контролю інструктує блок 730 обрання типу прогнозування встановити кодер у режим кодування В-блоку. У цьому режимі прогноз для блоку формується з застосуванням двонапрямного прогнозування з двох зразкових кадрах. Блок 730 обрання типу прогнозування інструктує блок 750 обрання інтерполяційного фільтра вибрати інтерполяційний фільтр для застосування у процесі прогнозування для В-блоку, а блок 740 прогнозування формує прогноз для блоку з використанням вибраних типу прогнозування і інтерполяційного фільтра. Згідно з винаходом, інтерполяційний фільтр, вибраний для режиму кодування Вблоку, відрізняється від інтерполяційного фільтра, вибраного для прогнозування Р-блоку. Зокрема, інтерполяційний фільтр, вибраний для прогнозування В-блоку має менше коефіцієнтів, ніж інтерполяційний фільтр для прогнозування Р-блоку. Після одержання прогнозу для блоку у блоці 740 прогнозування у пристрої 714 віднімання формується показник похибки прогнозування і передається до блоку 720 контролю, де обчислюється значення функції витрат і зберігається значення функції витрат у пам'яті відеокодера. Нарешті блок 720 інструктує блок 730 обрання типу прогнозування встановити кодер у режим (INTRA) кодування І-блоку. У цьому режимі прогнозування не виконується і тому нема потреби у інтерполяційному фільтрі. Блок 730 обрання типу прогнозування відповідним чином інструктує блок 750 обрання інтерполяційного фільтра, і відеокодер починає кодувати блок у форматі INTRA. Після цього блок 720 контролю обчислює відповідне значення функції витрат і зберігає його у пам'яті відеокодера. Далі блок 720 контролю аналізує три значення функції витрат, збережені у пам'яті, і вибирає вибраний режим кодування для блоку, який відповідає 17 тому типу прогнозування, що надає функції витрат найменшого значення. Базуючись на цьому виборі, блок 720 контролю видає вибраний тип прогнозування. У бажаному втіленні винаходу немає необхідності забезпечувати індикацію, вибраного інтерполяційного фільтра, оскільки він повністю визначається вибором типу прогнозування. Інакше кажучи, при прийомі кодованої інформації, що репрезентує певний блок, відеодекодер згідно з винаходом може декодувати і визначити тип прогнозування блоку і завдяки цьому безпосередньо визначити інтерполяцію, що має бути застосована при компенсованому прогнозуванні руху у декодері. В іншому втіленні винаходу блок 720 контролю може надавати конкретну індикацію інтерполяційного фільтра, включаючи її у кодовану інформацію, що відповідає блоку. Фіг.8 містить схему відеодекодера 800, побудовану згідно з бажаним втіленням винаходу. Декодер включає демультиплексор 810, блок декодування похибки прогнозування, блок 830 компенсованого прогнозування руху, блок 840 обрання інтерполяційного фільтра, блок 850 контролю, суматор 860 і відеовихід 870. Декодер пристосовано приймати і декодувати потік відеобіт, генерований описаним вище відеокодером 700. Поміж іншим кодований потік біт включає кодовану інформацію про рух, інформацію про похибку прогнозування і контрольну інформацію стосовно кодованих блоків. Демультиплексор 810 приймає кодований потік відеобіт, розділяє його на складові і відокремлює з нього контрольну інформацію про тип компенсованого прогнозування руху, застосованого у кодері для кодування даного блоку, і надсилає її до блоку 850 контролю. Будьяка інформація про рух, пов'язана з блоком, передається до блоку 830 компенсованого прогнозування руху, відповідна інформація про похибку прогнозування надсилається до блоку 820 декодування похибки прогнозування. Якщо, базуючись на контрольній інформації, блок 850 контролю визначає, що даний блок був кодований як І-блок, тобто без компенсованого прогнозування руху, він перемикає відеодекодер 800 у режим декодування INTRA, який декодує блок відповідним чином. Якщо контрольна інформація вказує, що даний блок був кодований як Рблок або двонапрямний В-блок, блок 850 контролю інструктує блок 840 обрання інтерполяційного фільтра вибрати інтерполяційний фільтр, що відповідає типу компенсованого прогнозування руху і інструктує блок 830 компенсованого прогнозування руху декодувати даний блок, використовуючи відповідну інформацію про рух, здобуту з потоку відеобіт демультиплексором 810. У процесі декодування даного блоку блок 830 компенсованого прогнозування руху формує прогноз (прогнозовані піксельні значення) для даного блоку, використовуючи один або більше зразкових кадрів (один для Р-блоку, два для двонапрямного В-блоку) і формуючи субпіксельні значення відповідно до вибраного інтерполяційного фільтра. Прогнозовані піксельні значення надсилаються до суматора 860, де вони об'єднуються з декодованою інформацією про похибку прогнозування, сформованою боком 90993 18 820 декодування похибки прогнозування, формуючи повністю реконструйований блок піксельних значень, який надсилається через вихід 870 для відтворення зображення або зберігання. Винахід може бути втілений у різних варіантах. - Можуть бути вибрані інші інтерполяційні фільтри замість описаних вище, тобто такі, що мають інші довжини і/або значення коефіцієнтів. - На додаток до режиму прогнозування блоку інтерполяційний фільтр може залежати також від інших характеристик блоку (тобто розміру, форми або яскравості). Наприклад, в одному з втілень винаходу для блоку розмірності 8×8 пікселів може бути використаний 6-елементний фільтр, а для блоку розмірності 4×4 пікселів може бути використаний 4-елементний фільтр. В іншому втіленні використовується прямокутний, а не квадратний блок (наприклад 8 пікселів по горизонталі і 4 піксели по вертикалі), причому для інтерполяції субпіксельних значень у вертикальному напрямку може бути використаний коротший (4-елементний) фільтр. У ще одному втіленні для яскравісних і колірних компонентів інформації про зображення можуть бути використані різні інтерполяційні фільтри. Людська система зору має різні чутливості до яскравості і кольоровості зображення (вона є менш чутливою до просторових змін колірної інформації), і тому у певних ситуаціях може виявитись доцільним використовувати різні типи інтерполяційних фільтрів для обробки яскравісних і колірних компонентів. - Режим або інші характеристики блоку не обов'язково чітко визначають фільтр, але ця інформація може бути використана для визначення набору фільтрів, а найпридатніший з цих фільтрів може бути ідентифікований іншими засобами (наприклад, надсиланням інформації щодо обрання). Як уже відзначалось в описі роботи відеокодера, згідно з бажаним втіленням винаходу, якщо для кожного наявного типу прогнозування є в наявності один інтерполяційний фільтр, обрання певного типу прогнозування припускає використання цього інтерполяційного фільтра. Однак, в інших втіленнях винаходу, якщо для кожного типу прогнозування передбачено декілька інтерполяційних фільтрів, інформація стосовно обрання інтерполяційного фільтра міститься у кодованому потоці відеобіт і надсилається до відповідного декодера для забезпечення обрання ним належного інтерполяційного фільтра і його використання при компенсованому прогнозування руху у цьому декодері. - Винахід може бути застосований до будь-якої кількості зразкових кадрів, що використовуються для прогнозування блоку зображення. Слід відзначити, що теоретично не існує обмеження на кількість зразкових кадрів, які можна використовувати. Очевидно, що має існувати якесь практичне/розумне обмеження. - Винахід може бути застосований до будь-якої комбінації двох або більше зразкових кадрів для прогнозування блоку зображення. Отже, хоча винахід був описаний на прикладі бажаного втілення, зрозуміло, що припустимими є 19 будь-які зміни, відхилення і виключення стосовно 90993 20 форм і деталей в межах об'єму винаходу. 21 90993 22 23 90993 24 25 Комп’ютерна верстка А. Крижанівський 90993 Підписне 26 Тираж 26 прим. Міністерство освіти і науки України Державний департамент інтелектуальної власності, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601
ДивитисяДодаткова інформація
Назва патенту англійськоюMethod, coder and video decoder and video sequence decoding
Автори англійськоюHallapuro Antti, Lainema Yani, Karchevich Marta
Назва патенту російськоюСпособ, кодер и видео декодер и декодирование видеопоследовательности
Автори російськоюГаллапуро Антти, Лайнема Яни, Карчевич Марта
МПК / Мітки
МПК: H04B 1/66
Мітки: кодер, відеодекодер, спосіб, декодування, відеопослідовності, кодування
Код посилання
<a href="https://ua.patents.su/13-90993-sposib-koder-ta-videodekoder-dlya-koduvannya-ta-dekoduvannya-videoposlidovnosti.html" target="_blank" rel="follow" title="База патентів України">Спосіб, кодер та відеодекодер для кодування та декодування відеопослідовності</a>
Попередній патент: Стінний елемент для облицьовування фасадів або інших частин споруд
Наступний патент: Гідромеханічний регулятор подання палива, дозатор палива для даного регулятора і турбомашина, оснащена даним регулятором
Випадковий патент: Спосіб діагностики розвитку атеросклерозу