Є ще 27 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

1. Спосіб прогнозування відеосигналів, який включає:

одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, що відповідають положенням цілочисельних пікселів в блоці пікселів;

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

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

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив,

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і

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

при цьому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів, або загальній горизонтальній осі з положеннями цілочисельних пікселів, і

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

2. Спосіб за п. 1, причому:

перший інтерполяційний фільтр містить фільтр з 8 відводами;

другий інтерполяційний фільтр містить фільтр з 6 відводами; і,

третій інтерполяційний фільтр містить фільтр з 6 відводами.

3. Спосіб за п. 1, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів.

4. Спосіб за п. 1, в якому спосіб утворює частину процесу відеокодування, і спосіб додатково містить:

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

5. Спосіб за п. 4, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр.

6. Спосіб за п. 4, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр.

7. Спосіб за п. 1, причому спосіб утворює частину процесу відеокодування, при цьому спосіб додатково включає:

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

8. Спосіб за п. 1, причому спосіб утворює частину процесу відеодекодування, при цьому спосіб додатково включає:

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

9. Апарат для прогнозування відеосигналів, який містить:

кодувальник відео, сконфігурований для:

одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, які відповідають положенням цілочисельних пікселів в блоці пікселів;

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

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

причому перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив,

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив;

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

при цьому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів або загальній горизонтальній осі з положеннями цілочисельних пікселів, і

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

10. Апарат за п. 9, в якому:

перший інтерполяційний фільтр містить фільтр з 8 відводами;

другий інтерполяційний фільтр містить фільтр з 6 відводами; і

третій інтерполяційний фільтр містить фільтр з 6 відводами.

11. Апарат за п. 9, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів.

12. Апарат за п. 9, в якому кодувальник відео додатково сконфігурований для утворення сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя.

13. Апарат за п. 12, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр.

14. Апарат за п. 12, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр.

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

16. Апарат за п. 9, в якому модуль прогнозування додатково сконфігурований для декодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя.

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

18. Апарат за п. 9, в якому кодувальник відео являє собою кодер відео.

19. Апарат за п. 9, в якому кодувальник відео являє собою декодер відео.

20. Апарат для прогнозування відеосигналів, який містить:

засіб для одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, що відповідають положенням цілочисельних пікселів в блоці пікселів;

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

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

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив,

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і

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

перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів або загальній горизонтальній осі з положеннями цілочисельних пікселів, і

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

21. Апарат за п. 20, в якому:

перший інтерполяційний фільтр містить фільтр з 8 відводами;

другий інтерполяційний фільтр містить фільтр з 6 відводами; і

третій інтерполяційний фільтр містить фільтр з 6 відводами.

22. Апарат за п. 20, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів.

23. Апарат за п. 20, який додатково містить:

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

24. Апарат за п. 23, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр.

25. Апарат за п. 23, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр.

26. Апарат за п. 20, який додатково містить:

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

27. Апарат за п. 20, який додатково містить:

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

28. Апарат за п. 20, який додатково містить:

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

29. Зчитуваний комп'ютером запам'ятовуючий носій, який матеріально зберігає одну або декілька інструкцій, які при виконанні одним або декількома процесорами примушують згадані один або декілька процесорів:

одержувати блок пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельних пікселів в блоці пікселів;

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

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

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив,

перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і

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

причому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів, або загальній горизонтальній осі з положеннями цілочисельних пікселів, і

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

30. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, причому:

перший інтерполяційний фільтр містить фільтр з 8 відводами;

другий інтерполяційний фільтр містить фільтр з 6 відводами; і

третій інтерполяційний фільтр містить фільтр з 6 відводами.

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

32. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні одним або декількома процесорами, примушують згадані один або декілька процесорів:

кодувати сигнальні біти, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя.

33. Зчитуваний комп'ютером запам'ятовуючий носій за п. 32, причому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр.

34. Зчитуваний комп'ютером запам'ятовуючий носій за п. 32, причому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр.

35. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів:

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

36. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів:

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

37. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів:

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

Текст

Реферат: Протягом стадії прогнозування процесу відеокодування і/або декодування, відеокодер може використовувати відносно довші фільтри для визначених векторів руху, що вказують на визначені положення субпікселя, і відносно коротші фільтри для векторів руху, що вказують на інші положення субпікселя, причому довший фільтр звичайно стосується інтерполяційного фільтра з великою кількістю коефіцієнтів фільтра, які також називаються відводами, тоді як коротший фільтр звичайно стосується інтерполяційного фільтра з меншою кількістю відводів. UA 106279 C2 (12) UA 106279 C2 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка заявляє пріоритет попередньої заявки США 61/323250, поданої 12 квітня 2010 р.; попередньої заявки США 61/350743, поданої 02 червня 2010 р.; і попередньої заявки США 61/361188, поданої 02 липня 2010 р., весь зміст яких включений тут за допомогою посилання. Галузь техніки Дане розкриття належить до цифрового кодування і декодування відео і, більш конкретно, до методики фільтрації, яка застосовується для утворення прогнозуючих даних, що використовуються при кодуванні та декодуванні відео. Рівень техніки Можливості цифрової обробки відео можуть бути включені в найбільш різноманітні пристрої, включаючи цифрове телебачення, цифрові системи прямого широкомовлення, бездротові системи широкомовлення, кишенькові персональні комп'ютери (PDA), ноутбуки або настільні комп'ютери, планшетні комп'ютери, цифрові камери, цифрові записуючі пристрої, відеоігрові пристрою, ігрові приставки, стільникові або супутникові радіотелефони, смартфони, тощо. Цифрові відеопристрої реалізовують методики стиснення відеоінформації, наприклад, описані в стандартах, що визначають MPEG-2, MPEG-4, або ITU-T H.264/MPEG-4, Частина 10, Вдосконалене Відео Кодування (AVC) для більш ефективної передачі та прийому цифрової відеоінформації. Методики відео стиснення можуть виконувати просторове прогнозування і/або часове прогнозування, щоб зменшити, або видалити, надмірність, властиву відео послідовностям. Міжкадрове кодування (інтер-кодування) на основі блоків являє собою дуже корисну методику кодування, яка передбачає часове прогнозування для зменшення або видалення часової надмірності між відео блоками послідовних кодованих одиниць відеопослідовності. Кодовані одиниці можуть містити відеокадри, вирізки відеокадрів, групи зображень, або іншу задану одиницю кодованих відеоблоків. Для міжкадрового кодування відеокодер виконує оцінку руху і компенсацію руху, щоб прослідкувати рух відповідних відеоблоків двох або декількох суміжних кодованих одиниць. Оцінка руху утворює вектори руху, які вказують зміщення відеоблоків відносно відповідних відеоблоків прогнозування в одному або декількох опорних кадрах або інших кодованих одиниць. Компенсація руху використовує вектори руху для утворення відеоблоків прогнозування з одного або декількох опорних кадрів або інших кодованих одиниць. Після компенсації руху залишкові відеоблоки формуються відніманням відеоблоків прогнозування з вихідних кодованих відеоблоків. Відеокодер може також використовувати процеси перетворення, квантування і статистичного кодування, щоб додатково зменшити швидкість передачі інформації, зв'язану з передачею залишкових блоків. Методики перетворення можуть містити, дискретні косинусні перетворення (DCT) або концептуально подібні процеси. Альтернативно, можуть бути використані вейвлет-перетворення, цілочисельне перетворення або інші типи перетворень. У DCT процесі, як приклад, ряд значень пікселя конвертуються в коефіцієнти перетворення, які можуть відображати енергію значень пікселя в частотній ділянці. Квантування застосовується до коефіцієнтів перетворення, і звичайно включає в себе процес, який зменшує число бітів, зв'язаних з яким-небудь даним коефіцієнтом перетворення. Статистичне кодування містить один або декілька процесів, які спільно стискають послідовність режимів кодування, інформацію руху, конфігурації кодованих блоків, і квантовані коефіцієнти перетворення. Приклади статистичного кодування включають в себе, але без обмеження, кодування контенту з адаптивною змінною довжиною (CAVLC) і контекстне адаптивне двійкове арифметичне кодування (CABAC). Кодований відеоблок може бути представлений інформацією прогнозування, яка може бути використана, щоб утворити або ідентифікувати блок прогнозування, і залишковий блок даних, показовий для відмінностей між кодованим блоком і блоком прогнозування. Інформація прогнозування може містити один або декілька векторів руху, які використовуються, щоб ідентифікувати блок прогнозування даних. Маючи вектори руху, декодер може відновити блоки прогнозування, які використовувалися для кодування залишку. Таким чином, маючи ряд залишкових блоків і ряд векторів руху (і можливо деякий додатковий синтаксис), декодер може відновити відеокадр, який був спочатку кодований. Міжкадрове кодування, основане на оцінці руху, і компенсації руху, можуть забезпечити дуже хороше стиснення, оскільки послідовні відеокадри, або інші типи кодованих одиниць, часто дуже подібні. Кодована відеопослідовність може містити блоки залишкових даних, векторів руху і, можливо, інші типи синтаксису. Методики інтерполяції були розроблені, щоб поліпшити рівень стиснення, який може бути досягнутий в міжкадровому кодуванні. У цьому випадку, дані прогнозування, утворені протягом компенсації руху, які використовуються, щоб закодувати відеоблок, можуть бути інтерпольовані з пікселів відеоблоків відеокадру або іншої кодованої одиниці, що використовується під час 1 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 оцінки руху. Інтерполяція часто виконується для утворення прогнозуючих значень половини пікселя (півелемент растра) і прогнозуючих значень чверті пікселя (чверть елемента растра). Половинні і четвертні значення елемента растра зв'язані з місцеположеннями субпікселя. Дробові вектори руху можуть бути використані, щоб ідентифікувати відеоблоки при субпіксельному розділенні, щоб фіксувати дробовий рух у відеопослідовності і, тим самим, надати блоки прогнозування, які більш подібні до кодованих відеоблоків, ніж цілочисельні відеоблоки. Суть винаходу Взагалі кажучи, дане розкриття описує методики фільтрації, що застосовуються кодером і декодером протягом стадії процесу прогнозування відео кодування і/або декодування. Аспекти описаних методик фільтрації можуть поліпшити точність прогнозуючих даних, що використовуються протягом дробової інтерполяції і, в деяких випадках, можуть поліпшити дані прогнозування цілочисельних блоків пікселів. Є декілька аспектів даного розкриття, включаючи використання відносно довших фільтрів для визначених векторів руху, що вказують на визначені положення субпікселя, і відносно коротші фільтри для векторів руху, що вказують на інші положення субпікселів. Щоб проектувати фільтри з хорошою частотною характеристикою для цілей інтерполяції, може виявитися бажаним використовувати відносно довші фільтри (наприклад, 8 коефіцієнтів, або відводів, замість 6). Такі довші фільтри можуть поліпшити ефективність стиснення відеокодера за рахунок більшої обчислювальної складності. Щоб використовувати перевагу кращої робочої характеристики з довшим фільтром без великого збільшення обчислювальної складності, методики, описані в даному розкритті, включають в себе використання суміші довгих фільтрів і коротких фільтрів. Якщо, наприклад, вектор руху вказує на положення, де необхідна єдина фільтрація, то можуть бути використані фільтри з 8 відводами. Для положень, де необхідні дві операції фільтрації, можуть бути використані фільтри з 6 відводами. Таким чином, найгірший за складністю випадок все ж обмежується двома операціями фільтрації з фільтрами з 6 відводами, який є тим самим, що і у випадку стандарту H.264, але використання фільтрів з 8 відводами може виробити поліпшені дані прогнозування в порівнянні зі стандартом H.264. Інші аспекти даного розкриття стосуються методик для кодування інформації в потік бітів, щоб передати тип фільтра і, можливо, коефіцієнти фільтра, що використовуються. Ці та інші аспекти даного розкриття стануть очевидними з нижченаведеного опису. В одному прикладі, дане розкриття надає спосіб, який включає в себе одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя в блоці пікселів; обчислення першого значення субпікселя для першого положення субпікселя, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; обчислення другого значення субпікселя для другого положення субпікселя, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосування третього інтерполяційного фільтра, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив; перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і утворення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя. В іншому прикладі дане розкриття надає апарат, який містить модуль прогнозування, сконфігурований для: одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя в блоці пікселів; обчислення першого значення субпікселя і другого значення субпікселя, причому перше значення субпікселя обчислюється, застосовуючи перший інтерполяційний фільтр, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; друге значення субпікселя обчислюється, застосовуючи другий інтерполяційний фільтр, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосовуючи третій інтерполяційний фільтр, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра; перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив; перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і утворення блока 2 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя. В іншому прикладі, дане розкриття надає апарат, який включає в себе засіб для одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя в блоці пікселів; засіб для обчислення першого значення субпікселя для першого положення субпікселя, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; засіб для обчислення другого значення субпікселя для другого положення субпікселя, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра і застосування третього інтерполяційного фільтра, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив; перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і засіб для утворення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя. Методики, описані в даному розкритті можуть бути здійснені в апаратних засобах, програмному забезпеченні, вбудованому програмному забезпеченні, або будь-якій їх комбінації. Якщо вони здійснюються в програмному забезпеченні, то програмне забезпечення може виконуватися в одному або декілька процесорах, наприклад, в мікропроцесорі, спеціалізованій інтегральній мікросхемі (ASIC), програмованій вентильній матриці (FPGA), або цифровому процесорі відводів (DSP). Програмне забезпечення, яке виконує методики, може бути спочатку збережене у зчитуваному комп'ютером середовищі, і завантажуватися і виконуватися в процесорі. Відповідно, дане розкриття також передбачає не часове, зчитуване комп'ютером запам'ятовуюче середовище, яке матеріально зберігає одну або декілька інструкцій, які під час виконання одним або декілька процесорами змушують один або декілька процесорів: одержувати блок пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя в блоці пікселів; обчислювати перше значення субпікселя для першого положення субпікселя, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; обчислювати друге значення субпікселя для другого положення субпікселя, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра і застосування третього інтерполяційного фільтра, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив; перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і утворювати блок прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя. Деталі одного або декількох аспектів розкриття сформульовані в супровідних кресленнях і нижченаведеному описі. Інші ознаки, об'єкти і переваги методик, описаних в даному розкритті, будуть очевидні з опису і креслень, а також з формули. Короткий опис креслень Фіг. 1 зображає блок-схему однієї зразкової системи відеокодування і декодування, яка може здійснити методики даного розкриття. Фіг. 2 - блок-схема, що показує приклад відеокодера, який може виконати методики фільтрації, що узгоджуються з даним розкриттям. Фіг. 3 - концептуальна діаграма, що показує положення цілочисельного пікселя, зв'язані з даними прогнозування, і положення субпікселя, зв'язані з інтерпольованими даними прогнозування. Фіг. 4 - концептуальна діаграма, що показує положення цілочисельного пікселя, зв'язані з даними прогнозування, і вертикальні положення субпікселя і горизонтальні положення субпікселя, зв'язані з інтерпольованими даними прогнозування. 3 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 Фіг. 5 - концептуальна діаграма, що показує положення цілочисельного пікселя, зв'язані з даними прогнозування, і невертикальні і негоризонтальні положення субпікселя 2L, зв'язані з інтерпольованими даними прогнозування. Фіг. 6 - концептуальна діаграма, що показує горизонтальну основу фільтра на 8 пікселів із симетрією коефіцієнтів відносно місцеположення субпікселя. Фіг. 7 - концептуальна діаграма, що показує горизонтальну основу фільтра на 8 пікселів без симетрії коефіцієнтів відносно місцеположення субпікселя. Фіг. 8 - концептуальна діаграма, що показує вертикальну основу фільтра на 8 пікселів із симетрією коефіцієнтів відносно місцеположення субпікселя. Фіг. 9 - концептуальна діаграма, що показує вертикальну основу фільтра на 8 пікселів без симетрії коефіцієнтів відносно місцеположення субпікселя. Фіг. 10 - блок-схема, що показує приклад відеодекодера, який може декодувати відеопослідовність, яка закодована описаним тут чином. Фіг. 11 - блок-схема послідовності операцій методики для фільтрації передачі сигналу, сумісної з даним розкриттям. Фіг. 12 - блок-схема послідовності операцій методики для фільтрації передачі сигналу, сумісної з даним розкриттям. Фіг. 13 - блок-схема послідовності операцій методики для фільтрації передачі сигналу, сумісної з даним розкриттям. Фіг. 14 - блок-схема послідовності операцій методики для фільтрації передачі сигналу, сумісної з даним розкриттям. Фіг. 15 - блок-схема послідовності операцій методики для інтерполяційної фільтрації, сумісної з даним розкриттям. Докладний опис Дане розкриття описує методики фільтрації, що застосовуються кодером і декодером протягом стадії прогнозування процесів відео кодування і/або декодування. Описані методики фільтрації можуть поліпшити точність прогнозуючих даних, що використовуються під час дробової інтерполяції і, в деяких випадках, можуть поліпшити дані прогнозування цілочисельних блоків пікселів. Є декілька аспектів даного розкриття, включаючи використання відносно довших фільтрів для деяких векторів руху, що вказують на деякі положення субпікселя, і відносно коротші фільтри для векторів руху, що вказують на інші положення субпікселя. Довший фільтр звичайно стосується інтерполяційного фільтра з великою кількістю коефіцієнтів фільтра, які також називаються відводами, тоді як коротшій фільтр звичайно стосується інтерполяційного фільтра з меншою кількістю відводів. Звичайно, вираз "довший фільтр" і "коротшій фільтр", є відносними термінами, що означають те, що довший фільтр довше, ніж коротшій фільтр, і що коротшій фільтр коротше, ніж довший фільтр. Однак, з іншого боку, ці вирази не вимагають ніяких конкретних довжин, якщо тільки довший фільтр довше, ніж коротшій фільтр, і коротшій фільтр коротше, ніж довший фільтр. Наприклад, якщо розглядати фільтр з 8 відводами і фільтр з 6 відводами, то фільтр з 8 відводами буде довшим фільтром, і фільтр з 6 відводами буде коротшим фільтром. Однак, якщо розглядати фільтр з 8 відводами і фільтр з 10 відводами, то фільтр з 8 відводами буде коротшим фільтром. Фільтри з великою кількістю відводів звичайно забезпечує кращу частотну характеристику з метою інтерполяції, в порівнянні з фільтрами з меншою кількістю відводів. Наприклад, фільтр з 8 відводами звичайно дає кращу частотну характеристику, ніж фільтр з 6 відводами. У порівнянні з коротшими фільтрами, довші фільтри можуть поліпшити ефективність стиснення відеокодера за рахунок більшої обчислювальної складності. Для одержання переваги кращої роботи з довшим фільтром без великого збільшення обчислювальної складності, аспекти даного розкриття включають в себе використання суміші довгих фільтрів і коротких фільтрів. Якщо, наприклад, вектор руху вказує на місцеположення субпікселя, де необхідна єдина операція фільтрації, то може бути використаний фільтр з 8 відводами. Для місцеположень субпікселя, де необхідні дві операції фільтрації, можуть бути використані коротші фільтри, наприклад, два фільтри з 6 відводами. Таким чином, доки відмінність в кількості відводів між коротшим і довшим фільтром не дуже велика, найгірший випадок за складністю все ж звичайно обмежується двома операціями фільтрації з коротшими фільтрами. На Фіг. 1 показана блок-схема однієї зразкової системи 10 кодування і декодування відео, яка може бути використана, щоб здійснити аспекти даного розкриття. Як показано на Фіг. 1, система 10 включає в себе пристрій-джерело 12, яке передає закодовані відеодані на пристрійадресат 16 через канал 15 зв'язку. Пристрій-джерело 12 і пристрій-адресат 16 можуть містити найрізноманітніші пристрої. У деяких випадках, пристрій-джерело 12 і пристрій-адресат 16 містять пристрої бездротового зв'язку, наприклад, бездротові телефонні трубки, так звані 4 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 стільникові або супутникові радіотелефони, або будь-які бездротові пристрої, які можуть передавати відеоінформацію по каналу зв'язку 15, коли канал 15 зв'язку являє собою бездротовий канал. Однак, методики даного розкриття, які стосуються фільтрації і утворення прогнозуючих даних протягом прогнозуючого кодування, не обов'язково обмежуються бездротовими додатками або установками. Таким чином, аспекти даного розкриття можуть також бути корисними для великої різноманітності інших установок і пристроїв, включаючи пристрої, які здійснюють зв'язок через фізичні дроти, оптичне скловолокно або інші фізичні або бездротові середовища. Крім того, методики кодування або декодування можуть також бути застосовані в автономному пристрої, який не обов'язково здійснює зв'язок з яким-небудь іншим пристроєм. У прикладі на Фіг. 1, пристрій-джерело 12 може включати в себе відеоджерело 20, відеокодер 22, модулятор/демодулятор (модем) 23 і передавач 24. Пристрій-адресат 16 може включати в себе приймач 26, модем 27, відеодекодер 28 і дисплейний пристрій 30. Відповідно до даного розкриття, відеокодер 22 пристрою-джерела 12 може бути сконфігурований, щоб застосувати одну або декілька методик даного розкриття як частину процесу відео кодування. Точно так само, відеодекодер 28 пристрою-адресата 16 може бути сконфігурований так, щоб застосувати одну або декілька методик даного розкриття як частину процесу відео декодування. Крім того, показана на Фіг. 1 система 10, є виключно зразковою. Різні методики даного розкриття можуть бути реалізовані за допомогою будь-якого кодуючого пристрою, який підтримує прогнозуюче кодування на основі блоків, або за допомогою будь-якого декодуючого пристрою, який підтримує прогнозуюче декодування на основі блоків. Пристрій-джерело 12 і пристрій-адресат 16 являють собою виключно приклади таких кодуючих пристроїв, в яких пристрій-джерело 12 утворює закодовані відеодані для передачі на пристрій-адресат 16. У деяких випадках, пристрої 12, 16 можуть працювати по суті симетричним чином так, що кожний з пристроїв 12, 16 включає в себе компоненти кодування і декодування відеоінформації. Отже, система 10 може підтримувати односторонню або двосторонню відеопередачу між відеопристроями 12, 16, наприклад, для потоку відеоданих, відтворення відео, широкомовлення відео, або відеотелефонії. Відеоджерело 20 пристрою-джерела 12 може включати в себе пристрій захоплення відеозображень, наприклад, відеокамеру, відеоархів, який містить раніше зняте відео, або зовнішній відеосигнал від провайдера відеоінформації. Як додаткова альтернатива, відеоджерело 20 може утворювати комп'ютерні дані на основі графічних символів, як відеоджерело, або комбінацію відео в реальному часі, архівованого відео і утворюваного комп'ютером відео. У деяких випадках, якщо відеоджерело 20 являє собою відеокамеру, пристрій-джерело 12 і пристрій-адресат 16 можуть сформувати так звані камерофони або відеотелефони. У кожному випадку, захоплене відеозображення, раніше захоплене відеозображення, або утворене комп'ютером відеозображення, може бути закодоване відеокодером 22. Закодована відеоінформація може потім бути модульована модемом 23 відповідно до стандарту зв'язку, наприклад, стандартом множинного доступу з кодовим розділенням каналів (CDMA), або іншим стандартом зв'язку, і передана на пристрій-адресат 16 через передавач 24 і канал 15 зв'язку. Модем 23 може включати в себе різні змішувачі, фільтри, підсилювачі або інші компоненти, призначені для модуляції сигналу. Передавач 24 може включати в себе схеми, призначені для передачі даних, включаючи підсилювачі, фільтри, і одну або декілька антен. Приймач 26 пристрою адресата 16 приймає інформацію по каналу зв'язку 15, і модем 27, демодулює інформацію. Як і передавач 24, приймач 26 може включати в себе схеми, призначені для прийому даних, включаючи підсилювачі, фільтри і одну або декілька антен. У деяких випадках, передавач 24 і/або приймач 26 може бути введений як окремий компонент в приймач-передавач, який включає в себе і приймальну і передавальну схеми. Модем 27 може включати в себе різні змішувачі, фільтри, підсилювачі або інші компоненти, призначені для демодуляції сигналу. У деяких випадках, модеми 23 та 27 можуть включати в себе компоненти для виконання і модуляції, і демодуляції. Крім того, процес відеокодування, що виконується відеокодером 22, може здійснюватися з описаними тут однієї або декількома методиками під час компенсації руху. Процес відеодекодування, що виконується відеодекодером 28, може також виконуватися з такими методиками протягом стадії компенсації руху процесу декодування. Термін "кодер" використовується тут для позначення спеціалізованого обчислювального пристрою або апарату, який виконує відеокодування або відеодекодування. Термін "кодер" звичайно стосується будь-якого відеокодеру, відеодекодеру, або об'єднаного кодеру/декодеру (кодердекодер). Термін "кодування" стосується кодування або декодування. Дисплейний пристрій 30 5 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 відображає декодовані відеодані для користувача і може містити будь-який з множини дисплейних пристроїв, наприклад, електронно-променеву трубку (CRT), рідкокристалічний дисплей (LCD), плазмовий дисплей, дисплей на органічних світловипромінюючих діодах (OLED), або інший тип дисплейного пристрою. У прикладі на Фіг. 1, канал 15 зв'язку може містити будь-яке бездротове або дротове середовище зв'язку, наприклад, радіочастотного (RF) спектра, або одну або декілька фізичних ліній передачі, або будь-яку комбінацію бездротового і дротового середовищ передачі інформації. Канал 15 зв'язку може бути частиною мережі пакетної передачі, наприклад, локальної мережі, зональної мережі, або глобальної мережі, наприклад, Інтернету. Канал 15 зв'язку звичайно являє собою будь-яке прийнятне середовище зв'язку, або набір різних засобів зв'язку, для передачі відеоданих від пристрою-джерела 12 на пристрій-адресат 16. Канал 15 зв'язку може включати в себе маршрутизатори, перемикачі, базові станції, або будь-яке інше обладнання, яке може бути корисним для полегшення зв'язку пристрою-джерела 12 з пристроєм-адресатом 16. Відеокодер 22 і відеодекодер 28 можуть працювати відповідно до одного або декількох стандартів стиснення відеоінформації, наприклад, відповідно до стандарту ITU-T H.264, що альтернативно описується як MPEG-4, Частина 10, Поліпшене ВідеоКодування (AVC), або може діяти відповідно до стандарту стиснення відеоінформації наступного покоління. Однак, методики даного розкриття не обмежені ніяким конкретним стандартом кодування відеоінформації. Хоча це і не показано на Фіг. 1, в деяких аспектах, кожний відеокодер 22 і кожний відеодекодер 28 можуть бути об'єднані зі звуковим кодером і декодером, і можуть включати в себе відповідні модулі MUX-DEMUX, або інші апаратні засоби і програмне забезпечення для обробки кодування і аудіо і відеоінформації в загальному потоку даних або в окремих потоках даних. Якщо це допустиме, то модулі MUX-DEMUX можуть відповідати протоколу ITU H.223 мультиплексора, або іншим протоколам, наприклад, протоколу користувацьких датаграм (UDP). Відеокодер 22 і відеодекодер 28, кожний, можуть бути здійснені як один або декілька мікропроцесорів, процесорів цифрових сигналів (DSP), як прикладні спеціалізовані інтегральні мікросхеми (ASIC), програмовані вентильні матриці (FPGA), дискретна логіка, програмне забезпечення, апаратні засоби, вбудоване програмне забезпечення, або будь-які їх комбінації. Кожний відеокодер 22 і відеодекодер 28 можуть бути включені в один або декілька кодерів або декодерів, з яких будь-який може бути інтегрований як частина комбінованого кодера-декодера, який забезпечує можливості кодування і декодування у відповідному мобільному пристрої, абонентському пристрої, пристрої радіозв'язку, сервері або подібному. Відеопослідовність звичайно включає в себе ряд відеокадрів. Відеокодер 22 працює з відеоблоками в межах окремих відеокадрів, щоб закодувати відеодані. Відеоблоки можуть мати фіксовані розміри або розміри, що варіюються, і можуть відрізнятися за розміром відповідно до вказаного стандарту кодування. Кожний відеокадр включає в себе ряд вирізок. Кожна вирізка може включати в себе ряд макроблоків, які можуть бути сконфігуровані в субблоки. Як приклад, стандарт ITU-T H.264 підтримує внутрішнє прогнозування в різних розмірах блока, наприклад, 16 на 16, 8 на 8, або 4 на 4 для компонентів сигналу яскравості, і 8 × 8 для компонентів сигналу кольоровості, так само як міжкадрове прогнозування в різних розмірах блока, наприклад, 16 на 16, 16 на 8, 8 на 16, 8 на 8, 8 на 4, 4 на 8 та 4 на 4 для компонентів сигналу яскравості і відповідних масштабних розмірів для компонентів сигналу кольоровості. Відеоблоки можуть містити блоки піксельних даних, або блоки коефіцієнтів перетворення, наприклад, подальшого процесу перетворення, наприклад, дискретного косинусного перетворення (DCT) або концептуально подібного процесу перетворення. Менші відеоблоки можуть надати кращу роздільну здатність, і можуть бути використані для місцеположень відеокадру, який включає в себе деталі високого рівня. Звичайно, макроблоки і різні субблоки можуть розглядатися як відеоблоки. Крім того, вирізка може розглядатися як ряд відеоблоків, наприклад, макроблоки і/або субблоки. Кожна вирізка може бути незалежно декодованою одиницею відеокадру. Альтернативно, самі кадри можуть бути декодованими одиницями, або інші ділянки кадру можуть бути визначені як декодовані одиниці. Термін "кодований елемент" стосується будь-якої незалежно декодованої одиниці відеокадру, наприклад, всього кадру, сектору кадру, або іншої незалежно декодованої одиниці, визначеної відповідно до методик кодування, що використовуються. Щоб закодувати відеоблоки, відеокодер 22 виконує внутрішнє (інтра-) або міжкадрове (інтер) прогнозування для утворення блока прогнозування. Відеокодер 22 віднімає блоки прогнозування з оригінальних відеоблоків, що кодуються для утворення залишкових блоків. Таким чином, залишкові блоки показові для відмінностей між кодованими блоками і блоками 6 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 прогнозування. Відеокодер 22 може виконати перетворення на залишкових блоках для утворення блоків коефіцієнтів перетворення. Услід за внутрішнім або зовнішнім прогнозуючим кодуванням і методиками перетворення, відеокодер 22 виконує квантування. Квантування звичайно стосується процесу, в якому коефіцієнти квантуються для можливого скорочення кількості даних, що використовуються для відображення коефіцієнтів. Подальше квантування, статистичне кодування, можуть бути виконані відповідно до методології статистичного кодування, наприклад, контекстного адаптивного кодування змінної довжини (CAVLC), або контекстного адаптивного кодування двійкового числення (CABAC). Більше деталей кожного етапу процесу кодування, що виконується відеокодером 22, буде більш детально описано нижче в зв'язку з Фіг. 2. У пристрої адресата 16, відеодекодер 28 приймає закодовані відеодані. Відеодекодер 28 статистично декодує одержані відеодані відповідно до методології статистичного кодування, наприклад, CAVLC або CABAC, для одержання квантованих коефіцієнтів. Відеодекодер 28 застосовує обернене квантування (де-квантування) і функції оберненого перетворення для відновлення залишкового блока в піксельній ділянці. Відеодекодер 28 також утворює блок прогнозування на основі інформації керування або інформації синтаксису (наприклад, режиму кодування, векторів руху, синтаксису, який визначає коефіцієнти фільтрації тощо), включених в кодовані відеодані. Відеодекодер 28 підсумовує блок прогнозування з відновленим залишковим блоком, щоб зробити відновлений відеоблок для відображення. Більше деталей кожного етапу процесу декодування, що виконується відеодекодером 28, буде описано більш детально нижче в зв'язку з Фіг. 10. Відповідно до аспектів даного розкриття, відеокодер 22 і відеодекодер 28 можуть використовувати одну або декілька методик інтерполяційної фільтрації протягом компенсації руху. Зокрема, відповідно до одного аспекту даного розкриття, відеокодер 22 і/або відеодекодер 28 можуть одержати блок пікселів, який містить значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя, і використовувати суміш довших фільтрів і коротших пікселів для визначення значень субпікселів для блока пікселів. На Фіг. 2 показана блок-схема прикладу відеокодера 50, який може здійснити методики фільтрації, що узгоджуються з даним розкриттям. Відеокодер 50 являє собою один приклад спеціалізованого відеообчислювального пристрою або апарату, що позначається тут як "кодер". Відеокодер 50 може відповідати відеокодеру 22 пристрою 20, або відеокодеру іншого пристрою. Відеокодер 50 може виконувати внутрішнє і міжкадрове кодування блоків у відеокадрах, хоча внутрішньо кодуючі компоненти не показані на Фіг. 2 для простоти ілюстрації. Внутрішнє кодування стосується просторового прогнозування, щоб зменшити або видалити просторову надмірність у відеоданих в межах даного відеокадру. Міжкадрове кодування стосується часового прогнозування, щоб зменшити або видалити часову надмірність у відеоданих в межах суміжних кадрів відеопослідовності. Внутрішній режим (I-режим) може відноситися до режиму стиснення на просторовій основі, і міжкадрові режими, наприклад, прогнозування (Р-режим) або двонаправлений (В-режим), можуть відноситися до режиму стиснення на часовій основі. Методики даного розкриття застосовуються протягом міжкадрового кодування і, тому, блоки внутрішнього кодування, наприклад, блок просторового прогнозування, не показані на Фіг. 2 для простоти ілюстрації і легкості сприйняття. Як показано на Фіг. 2, відеокодер 50 приймає відеоблок в межах кодованого відеокадру. У прикладі на Фіг. 2, відеокодер 50 включає в себе модуль 32 прогнозування, пам'ять 34, суматор 48, модуль 38 перетворення, модуль 40 квантування, і модуль 46 статистичного кодування. Для реконструкції відеоблока, відеокодер 50 також включає в себе модуль 42 оберненого квантування, модуль 44 оберненого перетворення, і суматор 51. Деблокуючий фільтр (не показаний) також може бути включений, щоб фільтрувати межі блока для видалення артефактів блочності з відновленого відео. Якщо це необхідне, деблокуючий фільтр, взагалі кажучи, може фільтрувати вихідний сигнал суматора 51. Модуль 32 прогнозування може включати в себе модуль 35 оцінки руху (ME), і модуль 37 компенсації руху (MC). Модуль 39 фільтрації може бути включений в модуль 32 прогнозування і може бути активізований або вузлом 35 ME, або модулем 37 MC, або обома, щоб виконати інтерполяцію, або фільтрацію, подібну до інтерполяції, як частину оцінки руху і/або компенсації руху, відповідно до даного розкриття. Модуль 39 фільтрації може фактично надати множину різних фільтрів, щоб полегшити численні різні типи інтерполяції та фільтрації, подібної до інтерполяції, як тут описано. Таким чином, модуль 32 прогнозування може включати в себе множину інтерполяційних фільтрів, або фільтрів, подібних до інтерполяційних. Крім того, модуль 39 фільтрації може включати в себе множину індексів фільтра для множини місцеположень субпікселя. Індекси фільтра зв'язують конфігурацію бітів і місцеположення субпікселя з 7 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 конкретним інтерполяційним фільтром. Протягом процесу кодування, відеокодер 50 приймає кодований відеоблок (позначений як "ВІДЕОБЛОК" на Фіг. 2), і модуль 32 прогнозування виконує кодування міжкадрового прогнозування для утворення блока прогнозування (позначеного як "БЛОК ПРОГНОЗУВАННЯ" на Фіг. 2). Конкретно, модуль 35 ME може виконати оцінку руху, щоб ідентифікувати блок прогнозування в пам'яті 34, і модуль 37 MC може виконати компенсацію руху для утворення блока прогнозування. Оцінка руху звичайно розглядається як процес утворення векторів руху, які оцінюють рух для відеоблоків. Вектор руху, наприклад, може вказувати зміщення блока прогнозування в кадрі прогнозування або опорного кадру (або іншої кодованої одиниці, наприклад, сектора) відносно кодованого блока в поточному кадрі (або іншої кодованої одиниці). Опорний кадр (або ділянка кадру) може бути тимчасово розташований до або після відеокадру (або ділянки відеокадру), якому належить поточний відеоблок. Компенсація руху звичайно розглядається як процес витяганняабо утворення блока прогнозування з пам'яті 34, або, можливо, інтерполяції, або іншого утворення фільтрованих прогнозуючих даних на основі вектора руху, визначеного оцінкою руху. Модуль 35 ME вибирає відповідний вектор руху для кодованого відеоблока, порівнюючи відеоблок з відеоблоками одного або декількох опорних кадрів (наприклад, попередній і/або подальший кадр). Модуль 35 ME може виконати оцінку руху з точністю дробового пікселя, що іноді позначається як дробовий піксель, дробовий елемент растра, або оцінка руху субпікселя. Також, терміни дробовий піксель, дробовий елемент растра, і оцінка руху субпікселя можуть бути використані взаємозамінно. Під час дробової оцінки руху пікселя Модуль 35 ME може вибрати вектор руху, який вказує переміщення до місцеположення, відмінного від місцеположення цілочисельного пікселя. Таким чином, оцінка руху дробового пікселя дозволяє модулю 32 прогнозування простежувати рух з більшою точністю, ніж місцеположення цілочисельного пікселя (або повного пікселя), таким чином, утворюючи більш точний блок прогнозування. Оцінка руху дробового пікселя може мати точність пів-пікселя, точність чверті пікселя, точність восьмої частини пікселя або будь-яку більш дрібну точність. Модуль 35 ME може активізувати фільтр(и) 39 для яких-небудь необхідних інтерполяцій протягом процесу оцінки руху. Щоб виконувати компенсацію руху дробового пікселя, модуль 37 MC може виконувати інтерполяцію (яка іноді називається інтерполяційною фільтрацією) для утворення даних з субпіксельним розділення (що позначається тут як субпіксельні значення або значення дробового пікселя). Модуль 37 MC може активізувати фільтр(и) 39 для цієї інтерполяції. Модуль 32 прогнозування може виконати інтерполяцію (або подібну до інтерполяції фільтрацію цілочисельних пікселів) використовуючи описані тут методики. Як тільки вектор руху для кодованого відеоблока вибраний модулем 35 ME, модуль 37 MC утворює блок відеопрогнозування, зв'язаний з цим вектором руху. Модуль 37 MC може витягнути блок прогнозування з пам'яті 34 на основі вектора руху, визначеного модулем 35 MC. У випадку вектора руху з точністю дробового пікселя, модуль 37 MC фільтрує дані з пам'яті 34, щоб інтерполювати такі дані до субпіксельного розділення, наприклад, активізуючи фільтр(и) 39 для цього процесу. У деяких випадках, методика інтерполяційної фільтрації, або режим, який використовувався для утворення даних прогнозування субпікселя, може бути позначений як один або декілька елементів синтаксису інтерполяції для модуля 46 статистичного кодування для включення в кодований потік бітів. Як тільки модуль 32 прогнозування утворив блок прогнозування, відеокодер 50 формує залишковий відеоблок (позначений як "ЗАЛИШКОВИЙ БЛОК" на Фіг. 2), віднімаючи блок прогнозування з вихідного кодованого відеоблока. Суматор 48 представляє компоненту або компоненти, які виконують цю операцію віднімання. Модуль 38 перетворення застосовує перетворення, наприклад, дискретне косинусне перетворення (DCT), або концептуально подібне перетворення, до залишкового блока, виробляючи відеоблок, який містить коефіцієнти залишкового перетвореного блока. Модуль 38 перетворення, наприклад, може виконати інше перетворення, наприклад, таке, як визначене стандартом H.264, які концептуально подібні до DCT. Вейвлет-перетворення, цілочисельне перетворення, піддіапазонне перетворення, або інші типи перетворення, можуть також бути використані. У будь-якому випадку, модуль 38 перетворення, застосовує перетворення до залишкового блока, виробляючи блок залишкових перетворених коефіцієнтів. Перетворення може конвертувати залишкову інформацію з піксельної ділянки в частотну ділянку. Модуль 40 квантування квантує залишкові перетворені коефіцієнти, щоб додатково зменшити швидкість передачі інформації в бітах. Процес квантування може зменшити бітову глибину, зв'язану з деякими або з усіма коефіцієнтами. Услід за квантуванням, модуль 46 8 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 статистичного кодування статистично кодує квантовані перетворені коефіцієнти. Наприклад, модуль 46 статистичного кодування може здійснити CAVLC, CABAC, або іншу методологію статистичного кодування. Модуль 46 статистичного кодування може також закодувати один або декілька елементів синтаксису прогнозування, одержаних від модуля 32 прогнозування або іншого компонента відеокодера 50. Один або декілька елементів синтаксису прогнозування можуть включати в себе режим кодування, один або декілька векторів руху, методика інтерполяції, яка була використана для утворення даних субпікселя, множину або підмножину коефіцієнтів фільтра, або іншу інформацію, зв'язану із утворенням блока прогнозування. Модуль 41 прогнозування коефіцієнта і квантування може з прогнозуванням кодувати і квантувати синтаксис прогнозування, наприклад, коефіцієнти фільтрації, відповідно до деяких аспектів даного розкриття. Услід за статистичним кодуванням модулем 46 статистичного кодування, кодовані елементи відеоданих і синтаксису можуть бути передані на інший пристрій або заархівовані для пізнішої передачі або подальшого витягання. Модуль 42 оберненого квантування і модуль 44 оберненого перетворення, застосовують обернене квантування і обернене перетворення, відповідно, для відновлення залишкового блока в ділянці пікселя, наприклад, для пізнішого використання як опорного блока. Відновлений залишковий блок (позначений як "ВІДНОВЛЕНИЙ ЗАЛИШКОВИЙ БЛОК" на Фіг. 2), може представити відновлену версію залишкового блока, наданого на модуль 38 перетворення. Відновлений залишковий блок може відрізнятися від залишкового блока, утвореного суматором 48 внаслідок втрати деталей, викликаної квантуванням та операціями оберненого квантування. Суматор 51 додає відновлений залишковий блок до блока прогнозування компенсованого руху, здійсненого модулем 32 прогнозування, щоб зробити відновлений відеоблок для збереження в пам'яті 34. Відновлений відеоблок може бути використаний модулем 32 прогнозування як опорний блок, який може бути використаний, щоб згодом закодувати блок в подальшому відеокадрі або подальшій кодованій одиниці. Як описано вище, модуль 32 прогнозування може виконати оцінку руху з точністю до дробового пікселя (або субпікселя). Коли модуль 32 прогнозування використовує оцінку руху дробового пікселя, модуль 32 прогнозування може утворити дані з субпіксельним розділенням (наприклад, при значеннях субпікселя або дробового пікселя), використовуючи операції інтерполяції, описані в даному розкритті. Інакше кажучи, операції інтерполяції використовуються для обчислення значень в положеннях між положеннями цілочисельного пікселя. Положення субпікселя, розташовані на половині відстані між положеннями цілочисельного пікселя, можуть бути позначені як півпіксельні положення (положення півелемента растра), положення субпікселя, розташовані на половині відстані між положенням цілочисельного пікселя і положенням півпікселя можуть бути позначені як чверть-піксельні положення (положення чверті елемента растра), положення субпікселя розташовані на половині відстані між положенням цілочисельного пікселя (або положенням півпікселя) і положенням чверті пікселя позначаються як положення восьмої частини пікселя (положення восьмої частини елемента растра), тощо. На Фіг. 3 показана концептуальна діаграма положень цілочисельного пікселя (або повного пікселя), зв'язаних з даними прогнозування, і положень субпікселя (або дробового пікселя), зв'язаних з інтерпольованими даними прогнозування. На концептуальній ілюстрації на Фіг. 3, різні стільники відображають місцеположення пікселя і субпікселя або положення в кадрі або блоці кадру. Надруковані великими літерами символи (в стільниках із суцільними лініями) відображають місцеположення цілочисельного пікселя, тоді як малі літери (в стільниках з пунктирами) відображають місцеположення субпікселя. Зокрема, місцеположення пікселя A1A6, B1-B6, C1-C6, D1-D6, E1-E6 та Fl-F6 відображають масив 6 на 6 місцеположень цілочисельного пікселя в кадрі, сектора, або іншої кодованої одиниці. Додаткові місцеположення G3 та H3 цілочисельного пікселя також показані на Фіг. 3, який використовується з прикладами, описаними нижче в даному розкритті. Місцеположення "a»-«о" субпікселя відображають 15 місцеположень субпікселів, зв'язаних з цілочисельним пікселем C3, наприклад, між місцеположеннями цілочисельного пікселя C3, C4, D3 та D4. Подібні місцеположення субпікселя можуть існувати для кожного місцеположення цілочисельного пікселя. Місцеположення "a»-«о" субпікселя відображають кожне місцеположення пікселя півелемента растра і чверті елемента растра, зв'язане з цілочисельним пікселем C3. Місцеположення цілочисельного пікселя можуть бути зв'язані з елементом фізичного датчика, наприклад, фотодіода, коли відеодані були спочатку утворені. Фотодіод може виміряти інтенсивність джерела світла в місцеположенні датчика і зв'язати значення інтенсивності пікселя з місцеположенням цілочисельного пікселя. Крім того, кожне місцеположення цілочисельного пікселя може мати зв'язаний набір п'ятнадцяти місцеположень субпікселів (або 9 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 можливо більше). Кількість місцеположень субпікселя, зв'язаних з місцеположеннями цілочисельного пікселя, може залежати від бажаної точності. У показаному на Фіг. 3 прикладі бажана точність являє собою точність чверті пікселя, коли кожне з місцеположень цілочисельного пікселя співвідноситься з п'ятнадцятьма різними положеннями субпікселів. Більше або менше положень субпікселя може бути зв'язано з кожним місцеположенням цілочисельного пікселя на основі бажаної точності. Для точності в півпіксель, наприклад, кожне місцеположення цілочисельного пікселя може співвідноситься з трьома положеннями субпікселів. Як інший приклад, кожне з місцеположень цілочисельного пікселя може співвідноситься з шістдесятьма трьома положеннями субпікселів для точності у восьму частину пікселя. Кожне місцеположення пікселя може визначати одне або декілька значень пікселя, наприклад, одне або декілька значень яскравості та кольоровості. Величина Y може відображати яскравість, і Cb і Cr можуть відображати два різних значення інформації про колір трьохмірного колірного простору YCbCr. Кожне місцеположення пікселя фактично може визначати три значення пікселя для трьохмірного колірного простору. Однак, методики даного розкриття можуть відноситися до прогнозування відносно одного вимірювання, з метою простоти. Тією мірою, в якій методики описані відносно значень пікселя в одному вимірюванні, подібні методики можуть бути поширені і на інші вимірювання. У деяких випадках, значення інформації про колір субдискретизовані до прогнозування, але прогнозування звичайно відбувається в просторі яскравості без якої-небудь субдискретизації, оскільки людський зір більш чутливий до інтенсивності пікселя, ніж до кольору пікселя. У прикладі на Фіг. 3 місцеположення субпікселя, які також називаються положеннями субпікселя, зв'язані з цілочисельним пікселем "C3", показані для точності в чверть пікселя. П'ятнадцять положень субпікселів, зв'язані з пікселем C3 помічені як "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n" і "o". Більшість інших дробових місцеположень, зв'язаних з місцеположеннями інших цілочисельних пікселів, для простоти не показані. Місцеположення "b", "h" та "j" субпікселів можуть бути позначені як місцеположення півпікселя, і місцеположення "a", "c", "d", "e", "f", "g", "i", "k", "l", "m" і "o" субпікселів можуть бути позначені як місцеположення чверті пікселя. Крім того, в даному розкритті, положення субпікселя, орієнтовані вздовж тієї самої горизонтальної осі, що і цілочисельні пікселі, можуть бути позначені як горизонтальні субпікселі. Субпікселі "a", "b" і "c" являють собою приклади горизонтальних субпікселів. Субпікселі, орієнтовані на тій самій вертикальній осі, як і цілочисельний піксель, можуть бути позначені як вертикальні субпікселі. Субпікселі "d", "h" і "l" є прикладами вертикальних субпікселів. Аспекти даного розкриття включають в себе визначення значень пікселя для горизонтальних субпікселів і вертикальних субпікселів, використовуючи єдиний лінійний інтерполяційний фільтр і, таким чином, дане розкриття може відноситися до горизонтальних субпікселів і вертикальних субпікселів, всіх разом, як 1L субпікселів. На Фіг.4 показана концептуальна діаграма, що ілюструє 1L субпікселі (a, b, с, d, h, l) відносно групи цілочисельних пікселів (C1-C6, A3, B3, C3, D3, E3 і F3). Аспекти даного розкриття включають в себе визначення значень пікселя для невертикальних, негоризонтальних субпікселів, наприклад, субпікселів "e", "f", "g", "i", "j", "k", "m", "n" і "o", використовуючи два лінійні інтерполяційні фільтри, один, що застосовується у вертикальному напрямку, і один, що застосовується в горизонтальному напрямку. Відповідно, дане розкриття може відноситися до невертикальних, негоризонтальних субпікселів, наприклад, субпікселів "e", "f", "g", "i", "j", "k", "m", "n" і "o", як 2L субпікселів. На Фіг.5 показана концептуальна діаграма, що ілюструє 2L субпікселі (е, f, g, i, j, k, м, n, о) відносно групи цілочисельних пікселів (C1-C6, A3, B3, C3, D3, E3 і F3). На Фіг. 6 показана концептуальна діаграма, що ілюструє вісім горизонтальних лінійних опорних положень C0-C7 пікселя відносно положення "b" субпікселя, з штриховкою, яка показує симетрію коефіцієнтів. У цьому випадку, симетрія коефіцієнтів означає, що тільки чотири коефіцієнти фільтра необхідні для C0, C1, C2 та C3, щоб визначати весь набір коефіцієнтів для опорних положень C0-C7 фільтра. Положення C0 є симетричним з C7, C1 є симетричним з C6, C2 є симетричним з C5, і C3 є симетричним з C4. Таким чином, тільки чотири коефіцієнти повинні бути передані як частина потоку бітів кодованих відеоданих, або збережені модулем 39 фільтра, щоб визначити набір з восьми коефіцієнтів, необхідних для інтерполяції положення "b" субпікселя. Коефіцієнти, що залишаються, можуть бути утворені в декодері на основі переданих коефіцієнтів. Зокрема, декодер може бути запрограмований, щоб знати, що симетрія застосовується, і симетрія може визначити, як утворити будь-які коефіцієнти, що залишаються, на основі переданих коефіцієнтів. На Фіг. 7 показана концептуальна діаграма, що ілюструє вісім горизонтальних лінійних опорних положень пікселя відносно субпікселя, з штриховкою, яка показує відсутність якої 10 UA 106279 C2 5 10 15 20 25 30 35 40 небудь симетрії коефіцієнтів. Таким чином, всі вісім коефіцієнтів необхідні, щоб визначити набір коефіцієнтів для підтримки фільтра відносно положення "a" субпікселя. Однак, симетрія пікселя означає, що ці такі самі коефіцієнти відносно положення "a" субпікселя можуть також бути використані для одержання підтримки фільтра для положення "c" субпікселя. Якщо ці вісім коефіцієнтів для підтримки фільтра відносно субположення "a" розглядаються як одновимірний масив, то ці вісім коефіцієнтів для субпікселя "c" можуть бути знайдені дзеркальним відображенням масиву, так, що коефіцієнт для C7 при визначенні значення для субпікселя "a" може бути коефіцієнтом для C0 при визначенні значення для субпікселя "c", коефіцієнт для C6 може бути коефіцієнтом для C1, і так далі. Таким чином, використовуючи адаптивну інтерполяційну фільтрацію (AIF) наприклад, де коефіцієнти фільтра обчислюються у відеокодері 22, тільки вісім коефіцієнтів повинні бути передані в потоку бітів на відеодекодер 28, щоб визначити два різних набори з восьми коефіцієнтів, необхідних для інтерполяції положень "a" та "c" субпікселя. На Фіг. 8 показана концептуальна діаграма, що ілюструє вісім вертикальних лінійних опорних положень G3, A3, B3, C3, D3, E3, F3 і H3 пікселя відносно субпікселя "h", з штриховкою, яка показує симетрію коефіцієнтів. У цьому випадку, симетрія коефіцієнтів означає, що тільки чотири коефіцієнти фільтра необхідні для G3, A3, B3 та C3, щоб визначити весь набір коефіцієнтів для опорних положень G3, A3, B3, C3, D3, E3, F3 і H3 фільтра. Положення G3 є симетричним з H3, A3 є симетричним з F3, B3 є симетричним з E3, і C3 є симетричним з D3. Внаслідок симетрії, коефіцієнт, зв'язаний з G3, може також використовуватися з H3, коефіцієнт, зв'язаний з A3, може також використовуватися з F3, і так далі. Таким чином, використовуючи AIF, наприклад, тільки чотири коефіцієнти повинні бути передані як частина кодованого потоку бітів відеоданих, щоб визначити набір з восьми коефіцієнтів, необхідних для інтерполяції положення "h" субпікселя. На Фіг. 9 показана концептуальна діаграма, що ілюструє вісім вертикальних лінійних опорних положень пікселя відносно субпікселя, з штриховкою, яка показує брак якої-небудь симетрії коефіцієнтів. Таким чином, необхідні всі вісім коефіцієнтів, щоб визначити набір коефіцієнтів для підтримки фільтра відносно положення "d" субпікселя. Однак, як відмічено вище відносно Фіг. 7, симетрія пікселя означає, що ці, ті самі коефіцієнти відносно положення "d" субпікселя, можуть також використовуватися для одержання підтримки фільтра для положення "l" субпікселя. Таким чином, використовуючи AIF, наприклад, тільки вісім коефіцієнтів повинні бути передані в потоку бітів даних на відеодекодер 28, щоб визначити два різних набори з восьми коефіцієнтів, необхідних для інтерполяції положень "d" та "l" субпікселя. Модуль 32 прогнозування відеокодера 40 може визначити значення пікселя для місцеположень "a»-«о" субпікселя, використовуючи інтерполяційну фільтрацію модулем 39 фільтрації. Для положень "b" та "h" півпікселя, кожний коефіцієнт фільтра, який також називається відводом, може відповідати положенню цілочисельного пікселя в горизонтальному і вертикальному напрямку, відповідно. Зокрема, для положення "b" півпікселя, відводи фільтра з 8 відводами відповідають C0, C1, C2, C3, C4, C5, C6 і C7. Положення C0 та C7 субпікселя не показані на Фіг.3, але можуть бути видні, наприклад, на Фіг. 6 та 7. Аналогічно, для положення "h" півпікселя, відводи фільтра з 8 відводами відповідають G3, A3, B3, C3, D3, E3, F3 і H3. Наприклад, значення пікселя для положень "b" та "h" субпікселя можуть бути обчислені, використовуючи рівняння (1) та (2): b=((-3*C0+12*C1-39*C2+158*C3+158*C4-39*C5+12*C6-3*C7)+128)/256 h=((-3*G3+12*A3-39*B3+158*C3+158*D3-39*E3+12*F3-3*H3)+128)/256 (1) (2) 45 50 У деяких втіленнях розподіл на 256 може бути здійснений зсувом праворуч на 8 бітів. Як з положенням "b", для положень "a" та "c" в чверть пікселя, відводи фільтра з 8 відводами можуть відповідати C0, C1, C2, C3, C4, C5, C6 і C7, але на відміну від таких для положення "b", коефіцієнти фільтра можуть бути несиметричними і відмінними для таких для положення "b". Наприклад, значення пікселя для положень "a" і "c" субпікселя можуть бути обчислені, використовуючи рівняння (3) та (4): a=((-3*C0+12*C1-37*C2+229*C3+71 *C4-21 *C5+6*C6-C7)+128)/256 c=((-C0+6*Cl-21 *C2+71 *C3+229*C4-37*C5+12*C6-3*C7)+128)/256 55 (3) (4) У деяких втіленнях розподіл на 256 може бути здійснений зсувом праворуч на 8 бітів. Як з положенням "h", для положень "d" та "l" в чверть пікселя, відводи фільтра з 8 відводами можуть відповідати G3, A3, B3, C3, D3, E3, F3 і H3, але на відміну від таких для положення "h", 11 UA 106279 C2 коефіцієнти фільтра можуть бути несиметричними і відмінними від таких для положення "h". Наприклад, значення пікселя для положень "d" та "l" субпікселя можуть бути обчислені, використовуючи рівняння (5) та (6): d=((-3*G3+12*A3-37*B3+229*C3+71 *D3-21 *E3+6*F3-H3)+128)/256 1=((-G3+6*A3-21 *B3+71 *C3+229*D3-37*E3+12*F3-3*H3)+128)/256 (5) (6) 5 10 15 У деяких втіленнях розподіл на 256 може бути здійснений зсувом праворуч на 8 бітів. Хоча коефіцієнти прикладу, дані для вищенаведених рівнянь (l)-(6), звичайно використовують одні і ті самі коефіцієнти і для горизонтальних субпікселів, і для вертикальних субпікселів, не потрібно, щоб коефіцієнти для горизонтальних і вертикальних субпікселів були б одними і тими самими. Наприклад, рівняння (1) і (2), (3) і (5), і (4) і (6), відповідно, мають одні і ті самі коефіцієнти у вищенаведених прикладах, але в деяких втіленнях кожне може мати різні коефіцієнти. Модуль 32 прогнозування відеокодера 40 може також визначити значення пікселя для 2L місцеположень "e", "f", "g", "i", "j", "k", "m", "n" і "o" субпікселя, використовуючи інтерполяційну фільтрацію за допомогою модуля 39 фільтрації. Для 2L положень субпікселя, горизонтальна фільтрація супроводжується вертикальною фільтрацією, або навпаки. Перша операція фільтрації визначає проміжні значення, і друга операція фільтрації використовує проміжні значення, щоб визначити значення пікселя для місцеположення субпікселя. Наприклад, щоб визначити значення для "j", горизонтальні фільтри з 6 відводами можуть бути використані, щоб визначити проміжні значення для "aa", "bb", "b", "hh", "ii" і "jj", використовуючи наступні рівняння: 20 aa=((8*A1-40*A2+160*A3+160*A4-40*A5+8*A6)+128)/256 bb=((8*B1-40*B2+160*B3+160*B4-40*B5+8*B6)+128)/256 b=((8*C1-40*C2+160*C3+160*C4-40*C5+8*C6)+128)/256 hh=((8*D1-40*D2+160*D3+160*D4-40*D5+8*D6)+128)/256 ii=((8*E1-40*E2+160*E3+160*E4-40*E5+8*E6)+128)/256 jj=((8*F1-40*F2+160*F3+160*F4-40*F5+8*F6)+128)/256 (7) (8) (9) (10) (11) (12) У деяких втіленнях розподіл на 256 може бути здійснений зсувом праворуч на 8 бітів. Застосовуючи вертикальний фільтр з 6 відводами до вищенаведених проміжних значень, значення для "j" може бути визначене, використовуючи наступне рівняння: 25 j=((8*aa-40*bb+160*c3+160*hh-40*ii+8*jj)+128)/256. 30 35 40 45 50 (13) У деяких втіленнях розподіл на 256 може бути здійснений зсувом праворуч на 8 бітів. Альтернативно, вертикальні фільтри з 6 відводами можуть бути використані, щоб знайти проміжні значення для "cc", "dd", "h", "ee", "ff" і "gg", і горизонтальні 6 відводів можуть бути застосовані до цих проміжних значень, щоб визначити значення пікселя для "j". Подібно до описаної вище процедури для субпікселя "j", значення пікселя для місцеположень "e", "f", "g", "i", "k", "m", "n" і "o" субпікселя можуть бути визначені по-перше виконанням операції вертикальної фільтрації, щоб визначити проміжні значення, і потім застосуванням горизонтального фільтра з 6 відводами до проміжних значень, визначених вертикальною фільтрацією, або спочатку виконанням операції горизонтальної фільтрації, щоб визначити проміжні значення, і потім застосуванням вертикального фільтра з 6 відводами до проміжних значень, визначених горизонтальною фільтрацією. Хоча і горизонтальні, і вертикальні фільтри, використані вище як приклади для субпікселя "j", використовують симетричні коефіцієнти, або горизонтальний, або вертикальний фільтри, або обидва, використані для визначення значень пікселя для інших 2D значень субпікселя, можуть бути не симетричними. Наприклад, в одному зразковому втіленні, і горизонтальний і вертикальний фільтри для місцеположень "e", "g", "m" і "o" субпікселя можуть використовувати несиметричні коефіцієнти. Місцеположення "f" та "n" субпікселя можуть використовувати горизонтальний фільтр з симетричними коефіцієнтами і вертикальний фільтр з несиметричними коефіцієнтами, і місцеположення "i" і "k" субпікселя можуть використовувати горизонтальний фільтр з несиметричними коефіцієнтами і вертикальний фільтр з симетричними коефіцієнтами фільтра. Фактичні фільтри, що застосовуються в модулі 39 фільтрації для утворення інтерпольованих даних в місцеположеннях субпікселя, можуть бути предметом дуже різноманітних втілень. Як один приклад, модуль 32 прогнозування може використовувати AIF, де коефіцієнти фільтра обчислюються відеокодером 22 і передаються в потоку бітів даних на відеодекодер 28. Як інший приклад, модуль 32 прогнозування може використовувати фільтрацію, що перемикається, 12 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 де множинні фільтри відомі і для відеокодера 22, і для відеодекодера 28, і конкретний фільтр для використання сигналізується від відеокодера 22 на відеодекодер 28 в потоку бітів даних. У прикладі фільтрації, що перемикається, відеокодер 22 і відеодекодер 28 можуть запам'ятовувати чотири унікальних фільтри для кожного положення субпікселя, і конкретний фільтр, для використання для положення субпікселя, може бути сигналізований від відеокодера 22 на відеодекодер 28, використовуючи два біти. Модуль 32 прогнозування може використовувати відокремлювані інтерполяційні фільтри в горизонтальному напрямку і у вертикальному напрямку. Для 1L положень субпікселя, модуль 32 прогнозування (наприклад, модуль 37 MC модуля 32 прогнозування) застосовує тільки горизонтальні направлені фільтри, або тільки вертикальні направлені фільтри залежно від місцеположення субпікселя. В одному прикладі, горизонтальні і вертикальні направлені фільтри містять фільтри з 8 положеннями (або 8 відводами). Модуль 32 прогнозування застосовує горизонтальні направлені фільтри для положень "a", "b" і "c" субпікселя з положеннями C0, C1, C2, C3, C4, C5, C6 і C7 цілочисельного пікселя (C0 та C7 не показані на Фіг.3) як підтримка фільтра і застосовує вертикальні направлені фільтри для положень "d", "h" і "l" субпікселя з положеннями G3, A3, B3, C3, D3, E3, F3 і H3 цілочисельного пікселя (див. Фіг. 3) як підтримка фільтра. Для положень субпікселя, що залишаються, тобто, 2L положень субпікселя, модуль 32 прогнозування застосовує горизонтальну фільтрацію спочатку, з подальшою вертикальною фільтрацією, або вертикальну фільтрацію спочатку, з подальшою горизонтальною фільтрацією. Горизонтальні і вертикальні фільтри, що використовуються для 2L положення субпікселя можуть, кожний, бути фільтром з 6 відводами. Хоча дане розкриття використовує фільтри з 8 відводами і фільтри з 6 відводами, як приклади, важливо зазначити, що інші довжини фільтра також можуть бути використані і знаходяться в рамках даного розкриття. Наприклад, фільтри з 6 відводами можуть використовуватися для визначення значень для 1L місцеположень субпікселя, тоді як фільтри з 4 відводами використовуються для визначення значень для 2L місцеположень субпікселя, або фільтри з 10 відводами можуть використовуватися для визначення значень для 1L місцеположень субпікселя, тоді як фільтри з 8 відводами, або фільтри з 6 відводами, використовуються для визначення значень для 2L місцеположень субпікселя. На Фіг. 10 показана блок-схема, що ілюструє приклад відеодекодера, який може декодувати відеопослідовність, кодовану описаним тут чином. Відеодекодер 60 являє собою один приклад спеціалізованого відео обчислювального пристрою або апарату, що згадується тут як "кодер". Відеодекодер 60 включає в себе статистично декодуючий модуль 52, який статистично декодує потік бітів даних, що приймається, для утворення квантованих коефіцієнтів та елементів синтаксису прогнозування. Елементи синтаксису прогнозування можуть включати в себе режим кодування, один або декілька векторів руху, інформацію про ідентифікацію методики інтерполяції, що використовується для утворення даних субпікселя, про коефіцієнти для використання в інтерполяційній фільтрації, і/або іншу інформацію, зв'язану з утворенням блока прогнозування. Елементи синтаксису прогнозування, наприклад, коефіцієнти, направляються на модуль 55 прогнозування. Якщо прогнозування використовується, щоб закодувати коефіцієнти відносно коефіцієнтів фіксованого фільтра, або відносно один одного, модуль 53 прогнозування коефіцієнтів і оберненого квантування може декодувати елементи синтаксису, щоб визначити фактичні коефіцієнти. Крім того, якщо квантування застосовується до будь-якого синтаксису прогнозування, модуль 53 прогнозування коефіцієнтів і оберненого квантування може також видалити таке квантування. Коефіцієнти фільтра, наприклад, можуть бути з прогнозуванням закодовані та квантовані відповідно до даного розкриття, і в цьому випадку, модуль 53 прогнозування коефіцієнтів і оберненого квантування може бути використаний відеодекодером 60 для декодування і деквантування таких коефіцієнтів з прогнозуванням. Модуль 55 прогнозування може утворити дані прогнозування на основі елементів синтаксису прогнозування і одного або декількох раніше декодованих блоків, які зберігаються в пам'яті 62, в основному так само, як і детально описано вище відносно модуля 32 прогнозування відеокодера 50. Зокрема, модуль 55 прогнозування може реалізувати одну або декілька методик інтерполяційної фільтрації даного розкриття протягом компенсації руху для утворення блока прогнозування з конкретною точністю, наприклад, точністю в чверть пікселя. Також, одна або декілька методик даного розкриття можуть бути використані відеодекодером 60 в утворенні блока прогнозування. Модуль 55 прогнозування може включати в себе модуль компенсації руху, який містить фільтри, що використовуються для методик інтерполяційної фільтрації і фільтрації, подібної до інтерполяційної фільтрації даного розкриття. Компонента компенсації руху не показана на Фіг. 10 для простоти і легкості сприйняття. 13 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 Модуль 56 оберненого квантування виконує обернене квантування, тобто, де-квантує квантовані коефіцієнти. Процес оберненого квантування може бути процесом, визначеним для H.264 декодування. Модуль 58 оберненого перетворення, застосовує обернене перетворення, наприклад, обернене DCT, або концептуально подібний процес оберненого перетворення, до перетворених коефіцієнтів, щоб виробити залишкові блоки в ділянці пікселя. Суматор 64 підсумовує залишковий блок з відповідним блоком прогнозування, утвореним модулем 55 прогнозування, щоб сформувати відновлену версію вихідного блока, кодованого відеокодером 50. Якщо бажано, фільтр розблокування також може бути застосований, щоб фільтрувати декодовані блоки для видалення блокових артефактів. Декодовані відеоблоки потім зберігаються в пам'яті 62 опорного кадру, який надає опорні блоки для подальшої компенсації руху і також виробляє декодовані відеодані для керування дисплейним пристроєм (наприклад, пристроєм 28 на Фіг. 1). Конкретний інтерполяційний фільтр, що використовується модулем 55 прогнозування, може бути визначений на основі елементів синтаксису прогнозування, бітів відеоданих, що приймаються в кодованому потоку, від пристрою-джерела 12, наприклад. На Фіг. 11 показаний спосіб для визначення інтерполяційних фільтрів на основі елементів синтаксису, прийнятих в потоку бітів даних. Спосіб на Фіг. 11 може, наприклад, бути використаний для визначення фільтрів для місцеположень субпікселя вирізок Р. Відеодекодер 60 приймає кодований потік бітів даних від пристрою-джерела 12. З елементів синтаксису модуля кодування, наприклад, елементів синтаксису в заголовку кадру або заголовка сектора, модуль 55 прогнозування зчитує біти, що ідентифікують набір (1101) обмежень. Набір обмежень ідентифікує для модуля 55 прогнозування, який набір індексів фільтра, щоб використовувати для місцеположень субпікселя цього модуля кодування. Кожне місцеположення субпікселя може мати свій власний індекс фільтра, або група місцеположень субпікселя може спільно використовувати індекс фільтра. Індекс фільтра зв'язує конкретний фільтр з конкретною конфігурацією бітів. Наприклад, якщо використовується два біти на місцеположення субпікселя, то для повідомлення про вибір фільтра, бітова комбінація 00 могла б відповідати першому фільтру, 01 другому фільтру, 10 третьому фільтру, і 11 четвертому фільтру. Оскільки кожне місцеположення субпікселя може мати свій власний унікальний індекс фільтра, і унікальні фільтри, бітова комбінація 00 може відповідати фільтру для місцеположення "j" субпікселя, наприклад, відмінному від фільтра для місцеположення "e" субпікселя, наприклад. Приклад на Фіг. 11 використовує три набори обмежень. Якщо заголовок кодованої одиниці містить сигнал для модуля 55 прогнозування, що необхідно використовувати перший набір обмежень (1102), то для всіх значень субпікселя, визначених для кодованої одиниці, то і горизонтальний і вертикальний фільтри для кожного значення субпікселя можуть бути сигналізовані роздільно, використовуючи вертикальні сигнальні біти і горизонтальні сигнальні біти. Таким чином, якщо використовуються два біти, кожний для вертикальних сигнальних бітів і горизонтальних сигнальних бітів, про фільтри для 1L положень субпікселя повідомляється, використовуючи у всього два біти, і про фільтри для 2L положень повідомляється, використовуючи усього чотири біти, два для вертикальних сигнальних бітів і два для горизонтальних сигнальних бітів. Для місцеположень субпікселя, відмінних від місцеположень "a", "b" і "c", два вертикальних сигнальних біти в потоку бітів даних можуть ідентифікувати один з чотирьох вертикальних фільтрів для використання (1103). Для місцеположень "a", "b" і "c" вертикальні сигнальні біти можуть не бути присутніми в потоку бітів, і вертикальний фільтр не може бути вибраний. Відповідно до даного розкриття, вертикальні фільтри, вибрані для місцеположень "d", "h" і "l" субпікселя можуть бути довшими, ніж вертикальні фільтри, вибрані для "e", "f", "g", "i", "j", "k", "m", "n" і "o". Наприклад, вертикальні фільтри, вибрані для місцеположень "d", "h" і "l" субпікселя можуть містити фільтри з 8 відводами, тоді як вертикальні фільтри, вибрані для місцеположень "e", "f", "g", "i", "j", "k", "m", "n" і "o" субпікселя можуть містити фільтри з 6 відводами. Для місцеположень субпікселя, відмінних від місцеположень "d", "h" і "l", два горизонтальних сигнальних біти можуть ідентифікувати один з чотирьох горизонтальних фільтрів для використання (1104). Для місцеположень "d", "h" і "l" горизонтальні сигнальні біти можуть не бути присутніми в потоку бітів, і горизонтальний фільтр не може бути вибраний. Відповідно до даного розкриття, горизонтальні фільтри, вибрані для місцеположень "a", "b" і "c" субпікселя можуть бути довшими, ніж горизонтальні фільтри, вибрані для "e", "f", "g", "i", "j", "k", "m", "n" і "o". Наприклад, горизонтальні фільтри, вибрані для місцеположень "a", "b" і "c" субпікселя можуть містити фільтри з 8 відводами, тоді як горизонтальні фільтри, вибрані для місцеположень "e", "f", "g", "i", "j", "k", "m", "n" і "o" субпікселя можуть містити фільтри з 6 відводами. 14 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 Як тільки горизонтальний фільтр і вертикальний фільтр вибрані, фільтри можуть бути використані, як описано вище, для визначення значення для місцеположення субпікселя. Якщо субпіксель розташований в місцеположенні "a", "b", або "c", то єдиний горизонтальний фільтр може бути використаний, щоб визначити значення субпікселя, як описано вище відносно рівнянь 1, 3, та 4. Якщо субпіксель розташований в "d", "h", або "l", то єдиний вертикальний фільтр може бути використаний, щоб визначити значення субпікселя, як описано вище відносно рівнянь 2, 5 і 6. Якщо субпіксель розташований в "e", "f", "g", "i", "j", "k", "m", "n", або "o", то і вертикальний фільтр, і горизонтальний фільтр можуть бути використані, щоб визначити значення для місцеположення субпікселя, як описано вище відносно рівнянь 7-13. Якщо заголовок кодованої одиниці містить сигнал на модуль 55 прогнозування про те, що необхідно використовувати другий набір обмежень (1107), то для всіх значень субпікселя, визначених для кодованої одиниці, і горизонтальний, і вертикальний фільтри для кожного значення субпікселя можуть бути сигналізовані спільно, використовуючи два сигнальних біти на місцеположення субпікселя. На основі сигнальних бітів, фільтр або пара фільтрів можуть бути вибрані (1108). Для місцеположень "a", "b", або "c" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати один з чотирьох горизонтальних фільтрів, зв'язаних з цим конкретним місцеположенням субпікселя. Для місцеположень "d", "h", або "l" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати один з чотирьох вертикальних фільтрів, зв'язаних з цим конкретним місцеположенням субпікселя. Для місцеположень "e", "f", "g", "i", "j", "k", "m", "n", або "o" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати один з чотирьох пар горизонтальних і вертикальних фільтрів. Таким чином, хоча набір 1 обмежень допускає два горизонтальних сигнальних біти, щоб ідентифікувати один з чотирьох горизонтальних фільтрів, і допускає два вертикальні сигнальних біти, щоб ідентифікувати один з чотирьох вертикальних фільтрів для повних шістнадцяти горизонтальновертикальних комбінацій, набір 2 обмежень дозволяє тільки чотири горизонтальновертикальних комбінації. Однак, набір 2 обмежень скорочує загальне число бітів, необхідних для повідомлення про вибір фільтра. На основі фільтра, або комбінації фільтрів, ідентифікованих сигнальними бітами, значення для місцеположення субпікселя визначається подібним чином, як і описано вище (1109). Якщо заголовок кодованого елемента містить сигнал на модуль 55 прогнозування про те, що необхідно використовувати третій набір обмежень (1111), то для всіх значень субпікселя, визначених для кодованого елемента, фіксований фільтр, або комбінація фільтрів, може бути використаний тільки на основі місцеположення субпікселя, і не на основі яких-небудь сигнальних бітів, зв'язаних з місцеположенням субпікселя (1112). Наприклад, на відміну від наборів 1 та 2 обмежень, де місцеположення "a", "b" і "c", субпікселя, кожне, може мати чотири можливих відповідних горизонтальних фільтри, з набором 3 обмежень місцеположення "a", "b" і "c", субпікселя, кожне, має один відповідний горизонтальний фільтр. На відміну від набору 1 та 2 обмежень, де місцеположення "d", "h" і "l", субпікселя, кожне, може мати чотири можливих відповідних вертикальних фільтри, з набором 3 обмежень, місцеположення "d", "h", або "l", субпікселя, кожне, має один відповідний вертикальний фільтр. На відміну від набору 1 та 2 обмежень, де місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "o", субпікселя, кожне, має 16 та 4 можливих горизонтально-вертикальних комбінацій фільтра, відповідно, з набором 3 обмежень, місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "o", субпікселя, кожне, має єдину комбінацію горизонтально-вертикального фільтра. Хоча набір 3 обмежень може зменшити фільтри, що є, набір 3 обмежень також може зменшити загальну кількість бітів, необхідних для сигналізування про вибір фільтра. На Фіг. 12 показаний спосіб для визначення інтерполяційних фільтрів на основі елементів синтаксису, одержаних в потоку бітів даних. Спосіб на Фіг. 12 може, наприклад, використовуватися, щоб визначити фільтри для місцеположень субпікселя вирізок B. На відміну від Фіг. 11, який включає в себе три набори обмежень для вирізок Р, приклад на Фіг. 12 тільки включає в себе два набори обмежень. Набір 1 обмежень, як описано в зв'язку з Фіг. 11, може бути виключений при використанні вирізок В, щоб поліпшити ефективність кодування. Вирізки В звичайно кодуються з меншою кількістю бітів, ніж вирізки P. Використання тих самих наборів обмежень для вирізок Р та В може призвести до використання того самого числа бітів для сигналізування про вибір фільтрів інтерполяції для кожного положення дробового пікселя, але витрати сигналізування про фільтри інтерполяції, як відсоток від повних бітів, міг би бути набагато вище для вирізок В, ніж для вирізок P. Внаслідок цих великих витрат, у випадку вирізок В, компроміс між швидкістю і спотвореннями може не бути так само сприятливим, як з вирізками P. Тому, В деяких втіленнях набір 1 обмежень може не використовуватися для вирізок В. Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал про те, що необхідно використовувати другий набір обмежень (1207) для вирізки В, то для всіх значень 15 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 субпікселя, визначених для кодованого елемента і горизонтальні, і вертикальні фільтри для кожного значення субпікселя можна сигналізувати спільно, використовуючи два сигнальних біти на місцеположення субпікселя. На основі сигнальних бітів, може бути вибраний фільтр, або пара фільтрів (1208). Для місцеположень "a", "b", або "c" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати один з чотирьох горизонтальних фільтрів, зв'язаних з цим конкретним місцеположенням субпікселя. Для місцеположень "d", "h", або "l" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати один з чотирьох вертикальних фільтрів, зв'язаних з тим конкретним місцеположенням субпікселя. Для місцеположень "e", "f", "g", "i", "j", "k", "m", "n", або "o" субпікселя два сигнальних біти можуть бути використані, щоб ідентифікувати одну з чотирьох пар горизонтальних і вертикальних фільтрів. На основі фільтра, або комбінації фільтрів, ідентифікованих сигнальними бітами, значення для місцеположення субпікселя визначається подібним чином, як і описано вище (1209). Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал про те, що необхідно використовувати третій набір обмежень (1211), то для всіх значень субпікселя, визначених для кодованого елемента, фіксований фільтр, або комбінація фільтрів, може бути використаний тільки на основі місцеположення субпікселя, і не на основі яких-небудь сигнальних бітів, зв'язаних з місцеположенням субпікселя (1212). Наприклад, на відміну від набору 2 обмежень, коли кожне з місцеположень "a", "b" і "с" субпікселя може мати чотири можливих відповідних горизонтальних фільтри, з набором 3 обмежень, кожне місцеположення "a", "b" і "с" субпікселя має один відповідний горизонтальний фільтр. На відміну від набору 2 обмежень, коли кожне місцеположення "d", "h" і "l" субпікселя може мати чотири можливих відповідних вертикальних фільтри, з набором 3 обмежень кожне місцеположення "d", "h", або "l" субпікселя має один відповідний вертикальний фільтр. На відміну від набору 2 обмежень, коли кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "о" субпікселя може мати чотири можливих горизонтально-вертикальних комбінації фільтра, відповідно, з набором 3 обмежень кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "o" субпікселя має єдину горизонтальновертикальну комбінацію фільтра. При тому, що набір 3 обмежень може скоротити наявні фільтри, в порівнянні з набором 2 обмежень, комбінація також скорочує повну кількість бітів, необхідну для повідомлення про вибір фільтра. На Фіг. 13 показана блок-схема, що ілюструє спосіб для визначення інтерполяційних фільтрів на основі елементів синтаксису, прийнятих в потоку бітів даних. Спосіб на Фіг. 13 являє собою модифікацію способу, описаного для вирізок Р в зв'язку з Фіг. 11. Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал про те, що перший набір обмежень може бути використаний (1302), то для всіх значень субпікселя, визначених для кодованого елемента, в потоці бітів даних також може бути переданий прапор. Прапор являє собою сигнал на 1 біт, що означає для модуля 55 прогнозування або використання того самого вибору фільтра, що раніше використовувався для цього місцеположення субпікселя, або використання іншого фільтра. Якщо прапор вказує, що повинен бути використаний попередній фільтр (1314, так) для конкретного місцеположення субпікселя, то горизонтальний фільтр, вертикальний фільтр, або комбінація горизонтального і вертикального фільтрів, останній раз використані для цього конкретного місцеположення субпікселя, можуть бути використані знову, щоб визначити значення для конкретного місцеположення субпікселя (1315). Якщо прапор вказує, що повинен бути використаний той самий фільтр, то два або чотири біти, що інакше використовуються для повідомлення про горизонтальний і/або вертикальний фільтри, не повинні бути передані, призводячи до скорочення бітів, що передаються. Однак, якщо прапор вказує, що повинен бути використаний інший фільтр (1314, немає) для конкретного місцеположення субпікселя, то і про горизонтальний, і про вертикальний фільтри для місцеположення субпікселя можна повідомити роздільно, як описано вище відносно Фіг. 11, використовуючи вертикальні сигнальні біти і горизонтальні сигнальні біти. Для місцеположень субпікселя, відмінних від місцеположень "a", "b" і "c" два вертикальних сигнальних біти в потоку бітів даних можуть ідентифікувати один з чотирьох вертикальних фільтрів для використання (1303). Для місцеположень "a", "b" і "c" вертикальні сигнальні біти можуть не бути присутніми в потоку бітів, і вертикальний фільтр не може бути вибраний. Відповідно до даного розкриття, вертикальні фільтри, вибрані для місцеположень "d", "h" і "l" субпікселя, можуть бути довшими, ніж вертикальні фільтри, вибрані для "e", "f", "g", "i", "j", "k", "m", "n" і "o". Наприклад, вертикальні фільтри, вибрані для місцеположень "d", "h" і "l" субпікселя, можуть містити фільтри з 8 відводами, тоді як вертикальні фільтри для вибраних місцеположень "e", "f", "g", "i", "j", "k", "m", "n" і "o" субпікселя можуть містити фільтри з 6 відводами. 16 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 Для місцеположень субпікселя, відмінних від місцеположень "d", "h" і "l", два горизонтальних сигнальних біти можуть ідентифікувати один з чотирьох горизонтальних фільтрів для використання (1304). Для місцеположень "d", "h" і "l" горизонтальні сигнальні біти можуть не бути присутніми в потоку бітів, і горизонтальний фільтр не вибирається. Відповідно до даного розкриття, горизонтальні фільтри, вибрані для місцеположень "a", "b" і "c" субпікселя можуть бути довшими, ніж горизонтальні фільтри, вибрані для "e", "f", "g", "i", "j", "k", "m", "n" і "o". Наприклад, горизонтальні фільтри, вибрані для місцеположень "a", "b" і "c" субпікселя можуть містити фільтри з 8 відводами, тоді як горизонтальні фільтри для вибраних місцеположень "e", "f", "g", "i", "j", "k", "m", "n" і "o" субпікселя можуть містити фільтри з 6 відводами. Як тільки горизонтальний фільтр і вертикальний фільтр вибрані, фільтри можуть бути застосовані, як описано вище, для визначення значення для місцеположення субпікселя. Якщо субпіксель розташований в місцеположенні "a", "b", або "c", то може бути використаний єдиний горизонтальний фільтр для визначення значення субпікселя. Якщо субпіксель розташований в "d", "h", або "l", то може бути використаний єдиний вертикальний фільтр для визначення значення субпікселя. Якщо субпіксель розташований в "e", "f", "g", "i", "j", "k", "m", "n" або "o", то можуть бути використані і вертикальний фільтр, і горизонтальний фільтр, щоб визначити значення для місцеположення субпікселя. Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал, що може бути використаний третій набір обмежень (1311), то для всіх значень субпікселя, визначених для кодованого елемента, фіксований фільтр або комбінація фільтрів можуть бути вибрані тільки на основі місцеположення субпікселя, і не на основі яких-небудь сигнальних бітів, зв'язаних з місцеположенням субпікселя (1312). Наприклад, на відміну від набору 1 та 2 обмежень, коли кожне місцеположення "a", "b" і "с" субпікселя може мати чотири можливих відповідних горизонтальних фільтри, з набором 3 обмежень кожне місцеположення "a", "b" і "с" субпікселя має один відповідний горизонтальний фільтр. На відміну від наборів 1 та 2 обмежень, де кожне місцеположення "d", "h" і "l" субпікселя може мати чотири можливих відповідних вертикальних фільтри, з набором 3 обмежень кожне місцеположення "d", "h", або "l" субпікселя має один відповідний вертикальний фільтр. На відміну від набору 1 обмежень, коли кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n" або "о" субпікселя має 16 та 4 можливі горизонтально-вертикальних комбінації фільтра відповідно, з набором 3 обмежень кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n" або "о" субпікселя має єдину горизонтальновертикальну комбінацію фільтра. При тому, що набір 3 обмежень може скоротити наявні фільтри, вона також скорочує загальну кількість бітів, необхідних для повідомлення про вибір фільтра. На Фіг. 14 показана блок-схема, що ілюструє спосіб для визначення інтерполяційних фільтрів на основі елементів синтаксису, прийнятих в потоку бітів даних. Спосіб на Фіг. 14 може містити модифікацію способу, описаного для вирізок В відносно Фіг. 12. Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал, що може бути використаний другий набір обмежень (1407), то для всіх значень субпікселя, визначених для кодованого елемента в потоку бітів даних може бути переданий прапор. Прапор являє собою сигнал на 1 біт, що означає для модуля 55 прогнозування або використання того самого вибору фільтра, що раніше використовувався для цього місцеположення субпікселя, або використання іншого фільтра. Якщо прапор вказує, що повинен бути використаний попередній фільтр (1414, так) для конкретного місцеположення субпікселя, то горизонтальний фільтр, вертикальний фільтр, або комбінація горизонтального і вертикального фільтрів, які останній раз використовувалися для цього конкретного місцеположення субпікселя, можуть бути використані знов для визначення значення для конкретного місцеположення субпікселя (1415). Однак, якщо прапор вказує, що повинен бути використаний інший фільтр (1414, ні) для конкретного місцеположення субпікселя, то і про горизонтальний, і про вертикальний фільтри для місцеположення субпікселя може бути повідомлено, як описано вище відносно Фіг. 12, використовуючи сигнальні біти. На основі сигнальних бітів, фільтр, або пара фільтрів, можуть бути вибрані (1408). Для місцеположень "a", "b" або "с" субпікселя два сигнальних біти можуть бути використані для ідентифікації одного з чотирьох горизонтальних фільтрів, зв'язаних з цим конкретним місцеположенням субпікселя. Для місцеположень "d", "h" або "l" субпікселя два сигнальних біти можуть бути використані для ідентифікації одного з чотирьох вертикальних фільтрів, зв'язаних з цим конкретним місцеположенням субпікселя. Для місцеположень "e", "f", "g", "i", "j", "k", "m", "n" або "о" субпікселя два сигнальних біти можуть бути використані для ідентифікації одного з чотирьох пар горизонтальних і вертикальних фільтрів. На основі фільтра, або комбінації фільтрів, ідентифікованих сигнальними бітами, значення для місцеположення субпікселя визначається подібним чином, як і описано вище (1409). 17 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 Якщо заголовок кодованого елемента містить для модуля 55 прогнозування сигнал, що може бути використаний третій набір обмежень (1411), то для всіх значень субпікселя, визначених для кодованого елемента, фіксований фільтр, або комбінація фільтрів, можуть бути використані тільки на основі місцеположення субпікселя, і не на основі яких-небудь сигнальних бітів, зв'язаних з місцеположенням субпікселя (1412). Наприклад, на відміну від набору 2 обмежень, коли кожне місцеположення "a", "b" і "с" субпікселя може мати чотири можливих відповідних горизонтальних фільтри, з набором 3 обмежень кожне місцеположення "a", "b" і "с" субпікселя має один відповідний горизонтальний фільтр. На відміну від набору 2 обмежень, коли кожне місцеположення "d", "h" і "l" субпікселя може мати чотири можливих відповідних вертикальних фільтри, з набором 3 обмежень кожне місцеположення "d", "h", або "l" субпікселя має один відповідний вертикальний фільтр. На відміну від набору 2 обмежень, коли кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "о" субпікселя має 4 можливі горизонтальновертикальних комбінації фільтра відповідно, з набором 3 обмежень кожне місцеположення "e", "f", "g", "i", "j", "k", "m", "n", або "о" субпікселя має єдину горизонтально-вертикальну комбінацію фільтра. При тому, що набір 3 обмежень може скоротити наявні фільтри, в порівнянні з набором 2 обмежень, вона також скорочує загальну кількість бітів, необхідних для повідомлення про вибір фільтра. Відповідно до даного розкриття, в прикладах на Фіг.11, 12, 13 і 14, горизонтальні фільтри, вибрані для місцеположень "a", "b" і "c" субпікселя, і вертикальні фільтри, вибрані для місцеположень "d", "h" і "l" субпікселя можуть бути довшими, ніж горизонтальні і вертикальні фільтри, вибрані для "e", "f", "g", "i", "j", "k", "m", "n" і "o". Крім того, хоча приклади на Фіг. 11, 12, 13 і 14, що в цілому передбачають використання двох сигнальних бітів для вибору одного з чотирьох фільтрів, більша або менша кількість сигнальних бітів також може бути використана. Наприклад, міг би використовуватися один сигнальний біт, щоб вибрати один з двох фільтрів, або три сигнальних біти можуть використовуватися, щоб вибрати один з восьми можливих фільтрів. Хоча дане розкриття в цілому розглядає методики для використання довших фільтрів для 1L положень і коротших фільтрів для 2L положень виходячи з точності вектора руху в чверть пікселя, методики даного розкриття можуть також бути використані з іншою точністю вектора руху, наприклад, точністю в одну восьму пікселя і в половину пікселя. Наприклад, використовуючи точність в одну восьму пікселя, могло б бути 7 горизонтальних і 7 вертикальних положень пікселя (тобто 14 1L положень) і 49 2L положень. Крім того, в деяких втіленнях точність вектора руху може бути адаптивно переключена протягом кодування, наприклад, між точністю в чверть пікселя і точністю в одну восьму пікселя. У такому втіленні, методики даного розкриття можуть бути застосовані і в місцеположеннях чверті пікселя і в місцеположеннях однієї восьмої пікселя. В інших втіленнях, методики даного розкриття можуть, наприклад, бути застосовані тільки до місцеположень чверті пікселя, тоді як інші методики вибору фільтра, наприклад, використання фіксованих, фільтрів, що не перемикаються, використовуються в місцеположеннях однієї восьмої пікселя. У прикладі, де використовуються фіксовані фільтри, що не перемикаються, для місцеположень однієї восьмої пікселя, про вибір фільтра можна було б повідомити на декодер для місцеположень чверті пікселя, але не для положень однієї восьмої пікселя. Крім того, хоча приклади на Фіг. 11-14 та інші приклади в даному розкритті описані в цілому як такі, що використовують віддільні фільтри для 2L положень, передбачається, що в деяких втіленнях могли використовуватися сигнальні біти для 2L положень, щоб ідентифікувати один або декілька невіддільних фільтрів. Як приклад, два сигнальних біти, описані вище для набору 2 обмежень, можуть використовуватися, щоб вибрати між чотирма фільтрами, які включають в себе два невіддільних фільтри і два віддільних фільтри. На Фіг. 15 показана блок-схема послідовності операцій, що ілюструє спосіб, який здійснює аспекти даного розкриття. Методики на Фіг. 15 можуть, наприклад, бути виконані пристроями, показаними на Фіг. 1, 2 та 10. Спосіб на Фіг. 15 буде описаний на основі Фіг. 2, хоча інші пристрої, включаючи і відеокодер 22, і відеодекодер 28 з Фіг. 1 і відеодекодер 60 з Фіг. 10, також можуть виконати аспекти способу на Фіг. 15. Модуль 37 MC модуля 32 прогнозування одержує блок пікселів з пам'яті 34, яка включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельного пікселя в блоці пікселів (1501). Модуль 39 фільтрації обчислює значення субпікселя, що відповідають положенням субпікселя, зв'язаним з блоком пікселів. Модуль 39 фільтрації обчислює перше значення субпікселя, для положення субпікселя або на загальній вертикальній осі з положеннями цілочисельного пікселя, або на загальній горизонтальній осі з положеннями цілочисельного пікселя (див., наприклад, 1L положення субпікселя на Фіг. 4), застосовуючи перший інтерполяційний фільтр, який визначає перший 18 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 60 одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра (1502). Перший інтерполяційний фільтр може, наприклад, містити фільтр з 8 відводами, де опорні положення фільтра для першого інтерполяційного фільтра відповідають ряду положень цілочисельного пікселя. Модуль 39 фільтрації обчислює друге значення субпікселя, застосовуючи другий інтерполяційний фільтр, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосовуючи третій інтерполяційний фільтр, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра (1503). Друге значення субпікселя відповідає положенню субпікселя не на загальній вертикальній осі з положеннями цілочисельного пікселя, і не на загальній горизонтальній осі з положеннями цілочисельного пікселя (див., наприклад, 2L положення субпікселя Фіг. 5). Другий і третій інтерполяційні фільтри можуть бути, наприклад, кожний, фільтрами з 6 відводами. Відповідно до одного аспекту даного розкриття, перший одновимірний масив включає в себе більше коефіцієнтів фільтра, ніж другий одновимірний масив, і більше коефіцієнтів фільтра, ніж третій одновимірний масив. На основі значень субпікселя, наприклад, першого значення субпікселя і другого значення субпікселя, модуль 37 MC утворює блок прогнозування (1504). Зокрема модуль 37 MC може утворити і вивести, як частина процесу відеокодування, інтерпольований блок прогнозування з інтерпольованими значеннями субпікселя. Модуль 32 прогнозування може також вивести з блоком прогнозування, сигнальні біти, які ідентифікують конкретний інтерполяційний фільтр, який необхідно використовувати для положення субпікселя (1505). Сигнальні біти можуть окремо ідентифікувати другий інтерполяційний фільтр, і третій інтерполяційний фільтр або ідентифікувати комбінацію другого інтерполяційного фільтра і третього інтерполяційного фільтра. Модуль 32 прогнозування може також вивести прапор, який вказує, що інтерполяційний фільтр, який необхідно використовувати для положення субпікселя, являє собою інтерполяційний фільтр, що раніше використовувався для положення субпікселя (1506). Методики даного розкриття можуть бути здійснені в широкій різноманітності пристроїв або апаратів, включаючи бездротову телефонну трубку та інтегральну схему (IC) або набір IC (тобто, набір мікросхем). Будь-які компоненти, модулі або блоки були описані для підкреслення функціональних аспектів і не обов'язково вимагають реалізації різними модулями апаратних засобів. Відповідно, описані тут методики можуть бути здійснені в апаратних засобах, програмному забезпеченні, вбудованому програмному забезпеченні, або будь-якою їх комбінацією. Якщо це здійснюється в апаратних засобах, будь-які ознаки, описані як модулі, блоки або компоненти, можуть бути здійснені спільно в інтегрованому логічному пристрої, або роздільно, як окремі, але взаємодіючі логічні пристрої. Якщо це здійснюється в програмному забезпеченні, методики можуть бути реалізовані щонайменше, частково, за допомогою зчитуваного комп'ютером носія, що містить інструкції, які під час виконання в процесорі, здійснюють один або декілька описаних вище способів. Зчитуваний комп'ютером носій може містити не тимчасове, зчитуване комп'ютером запам'ятовуюче середовище і може бути частиною комп'ютерного програмного продукту, який може включати в себе матеріали упаковки. Зчитуване комп'ютером запам'ятовуюче середовище може містити оперативну пам'ять (RAM), наприклад, синхронну динамічну оперативну пам'ять (SDRAM), постійний запам'ятовуючий пристрій (ROM), енергонезалежну оперативну пам'ять (NVRAM), електрично стираний програмований постійний запам'ятовуючий пристрій (EEPROM), ФЛЕШ-пам'ять, магнітні або оптичні середовища зберігання даних, тощо. Методики, додатково або альтернативно, можуть бути реалізовані щонайменше, частково, зчитуваним комп'ютером середовищем зв'язку, яке переносить або повідомляє код в формі інструкцій або структур даних, і до яких можна одержати доступ, зчитувати, і/або виконати комп'ютером. Код може виконуватися одним або декількома процесорами, наприклад, одним або декількома процесорами цифрових сигналів (DSP), універсальними мікропроцесорами, прикладними спеціалізованими інтегральними мікросхемами (ASIC), польовими програмованими логічними матрицями (FPGA) або іншими еквівалентними інтегрованими або дискретними логічними схемами. Відповідно, термін "процесор", що використовується тут, може відноситися до будь-якої вищезазначеної структури або будь-якої іншої структури, прийнятної для здійснення описаних тут методик. Крім того, в деяких аспектах, описані тут функціональні можливості можна надати в спеціалізованих програмних модулях або модулях апаратних засобів, сконфігурованих для кодування і декодування, або вбудованих в комбінований відеокодек. Крім того, методики можуть бути повністю здійснені в одній або декілька схемах або логічних елементах. 19 UA 106279 C2 5 10 15 20 25 30 35 Були описані різні аспекти розкриття. Ці та інші аспекти знаходяться в обсязі претензій нижченаведеної формули. Посилальні позиції 10 система кодування і декодування відео 12 пристрій-джерело 15 канал зв'язку 16 пристрій-адресат 20 відеоджерело 22 відеокодер 23 модулятор/демодулятор (модем) 24 передавач 26 приймач 27 модем 28 відеодекодер 30 дисплейний пристрій 32 модуль прогнозування 34 пам'ять 35 модуль оцінки руху 37 модуль компенсації руху 38 модуль перетворення 39 модуль фільтрації 40 модуль квантування 42 модуль оберненого квантування 44 модуль оберненого перетворення 46 модуль статистичного кодування 48, 51 суматор 50 відеокодер 52 декодуючий модуль 53 модуль прогнозування коефіцієнтів та оберненого квантування 55 модуль прогнозування 56 модуль оберненого квантування 58 модуль оберненого перетворення 60 відеодекодер 62 пам'яті 64 суматор ФОРМУЛА ВИНАХОДУ 40 45 50 55 60 1. Спосіб прогнозування відеосигналів, який включає: одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, що відповідають положенням цілочисельних пікселів в блоці пікселів; обчислення першого значення субпікселя для першого положення субпікселя блока пікселів, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; обчислення другого значення субпікселя для другого положення субпікселя блока пікселів, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосування третього інтерполяційного фільтра, що визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив, перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і створення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя, при цьому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів, або загальній горизонтальній осі з положеннями цілочисельних пікселів, і 20 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 друге положення субпікселя не знаходиться на загальній вертикальній осі з положеннями цілочисельних пікселів, і не знаходиться на загальній горизонтальній осі з положеннями цілочисельних пікселів. 2. Спосіб за п. 1, причому: перший інтерполяційний фільтр містить фільтр з 8 відводами; другий інтерполяційний фільтр містить фільтр з 6 відводами; і третій інтерполяційний фільтр містить фільтр з 6 відводами. 3. Спосіб за п. 1, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів. 4. Спосіб за п. 1, в якому спосіб утворює частину процесу відеокодування, і спосіб додатково містить: кодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 5. Спосіб за п. 4, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр. 6. Спосіб за п. 4, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр. 7. Спосіб за п. 1, причому спосіб утворює частину процесу відеокодування, при цьому спосіб додатково включає: кодування прапора, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, раніше використаний для згаданого положення субпікселя. 8. Спосіб за п. 1, причому спосіб утворює частину процесу відеодекодування, при цьому спосіб додатково включає: декодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 9. Апарат для прогнозування відеосигналів, який містить: кодувальник відео, сконфігурований для: одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, які відповідають положенням цілочисельних пікселів в блоці пікселів; обчислення першого значення субпікселя для першого положення субпікселя блока пікселів і другого значення субпікселя для другого положення субпікселів блока пікселів, причому перше значення субпікселя обчислюється за допомогою застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; при цьому друге значення субпікселя обчислюється, застосовуючи другий інтерполяційний фільтр, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосовуючи третій інтерполяційний фільтр, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра; причому перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив, перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і утворення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя, при цьому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів або загальній горизонтальній осі з положеннями цілочисельних пікселів, і друге положення субпікселя не знаходиться на загальній вертикальній осі з положеннями цілочисельних пікселів і не знаходиться на загальній горизонтальній осі з положеннями цілочисельних пікселів. 10. Апарат за п. 9, в якому: перший інтерполяційний фільтр містить фільтр з 8 відводами; другий інтерполяційний фільтр містить фільтр з 6 відводами; і третій інтерполяційний фільтр містить фільтр з 6 відводами. 11. Апарат за п. 9, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів. 21 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 12. Апарат за п. 9, в якому кодувальник відео додатково сконфігурований для утворення сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 13. Апарат за п. 12, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр. 14. Апарат за п. 12, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр. 15. Апарат за п. 9, в якому кодувальник відео додатково сконфігурований для утворення прапора для передачі, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, раніше використаний для згаданого положення субпікселя. 16. Апарат за п. 9, в якому модуль прогнозування додатково сконфігурований для декодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 17. Апарат за п. 9, в якому кодувальник відео додатково сконфігурований для декодування прапора, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, раніше використаний для згаданого положення субпікселя. 18. Апарат за п. 9, в якому кодувальник відео являє собою кодер відео. 19. Апарат за п. 9, в якому кодувальник відео являє собою декодер відео. 20. Апарат для прогнозування відеосигналів, який містить: засіб для одержання блока пікселів, причому блок пікселів включає в себе значення цілочисельних пікселів, що відповідають положенням цілочисельних пікселів в блоці пікселів; засіб для обчислення першого значення субпікселя для першого положення субпікселя блока пікселів, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; засіб для обчислення другого значення субпікселя для другого положення субпікселя блока пікселів, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосування третього інтерполяційного фільтра, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив, перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і засіб для утворення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя, причому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів або загальній горизонтальній осі з положеннями цілочисельних пікселів, і друге положення субпікселя не знаходиться на загальній вертикальній осі з положеннями цілочисельних пікселів, і не знаходиться на загальній горизонтальній осі з положеннями цілочисельних пікселів. 21. Апарат за п. 20, в якому: перший інтерполяційний фільтр містить фільтр з 8 відводами; другий інтерполяційний фільтр містить фільтр з 6 відводами; і третій інтерполяційний фільтр містить фільтр з 6 відводами. 22. Апарат за п. 20, в якому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів. 23. Апарат за п. 20, який додатково містить: засіб для кодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 24. Апарат за п. 23, в якому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр. 25. Апарат за п. 23, в якому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр. 26. Апарат за п. 20, який додатково містить: 22 UA 106279 C2 5 10 15 20 25 30 35 40 45 50 55 засіб для кодування прапора, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, що раніше використовувався для згаданого положення субпікселя. 27. Апарат за п. 20, який додатково містить: засіб для декодування сигнальних бітів, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 28. Апарат за п. 20, який додатково містить: засіб для декодування прапора, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, що раніше використовувався для згаданого положення субпікселя. 29. Зчитуваний комп'ютером запам'ятовуючий носій, який матеріально зберігає одну або декілька інструкцій, які при виконанні одним або декількома процесорами примушують згадані один або декілька процесорів: одержувати блок пікселів, причому блок пікселів включає в себе значення цілочисельного пікселя, що відповідають положенням цілочисельних пікселів в блоці пікселів; обчислювати перше значення субпікселя для першого положення субпікселя блока пікселів, причому обчислення першого значення субпікселя містить застосування першого інтерполяційного фільтра, який визначає перший одновимірний масив коефіцієнтів фільтра, що відповідають опорним положенням фільтра; обчислювати друге значення субпікселя для другого положення субпікселя блока пікселів, причому обчислення другого значення субпікселя містить застосування другого інтерполяційного фільтра, який визначає другий одновимірний масив коефіцієнтів фільтра, що відповідають горизонтальним опорним положенням фільтра, і застосувати третій інтерполяційний фільтр, який визначає третій одновимірний масив коефіцієнтів фільтра, що відповідають вертикальним опорним положенням фільтра, причому: перший одновимірний масив містить більше коефіцієнтів фільтра, ніж другий одновимірний масив, перший одновимірний масив містить більше коефіцієнтів фільтра, ніж третій одновимірний масив; і створення блока прогнозування на основі щонайменше першого значення субпікселя і другого значення субпікселя, причому перше положення субпікселя є чвертьпіксельним положенням або на загальній вертикальній осі з положеннями цілочисельних пікселів, або загальній горизонтальній осі з положеннями цілочисельних пікселів, і друге положення субпікселя не знаходиться на загальній вертикальній осі з положеннями цілочисельних пікселів, і не знаходиться на загальній горизонтальній осі з положеннями цілочисельних пікселів. 30. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, причому: перший інтерполяційний фільтр містить фільтр з 8 відводами; другий інтерполяційний фільтр містить фільтр з 6 відводами; і третій інтерполяційний фільтр містить фільтр з 6 відводами. 31. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, причому опорні положення фільтра для першого інтерполяційного фільтра відповідають набору положень цілочисельних пікселів. 32. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні одним або декількома процесорами, примушують згадані один або декілька процесорів: кодувати сигнальні біти, причому сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 33. Зчитуваний комп'ютером запам'ятовуючий носій за п. 32, причому сигнальні біти окремо ідентифікують другий інтерполяційний фільтр і третій інтерполяційний фільтр. 34. Зчитуваний комп'ютером запам'ятовуючий носій за п. 32, причому сигнальні біти ідентифікують комбінацію, яка містить другий інтерполяційний фільтр і третій інтерполяційний фільтр. 35. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів: кодувати прапор, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, що раніше використовувався для положення субпікселя. 23 UA 106279 C2 5 10 36. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів: декодувати сигнальні біти, причому згадані сигнальні біти ідентифікують конкретний інтерполяційний фільтр, який повинен використовуватися для положення субпікселя. 37. Зчитуваний комп'ютером запам'ятовуючий носій за п. 29, який зберігає одну або декілька додаткових інструкцій, які, при виконанні згаданим одним або декількома процесорами, примушують один або декілька процесорів: декодувати прапор, причому прапор вказує, що інтерполяційний фільтр, який повинен використовуватися для положення субпікселя, являє собою інтерполяційний фільтр, що раніше використовувався для згаданого положення субпікселя. 24 UA 106279 C2 25 UA 106279 C2 26 UA 106279 C2 27 UA 106279 C2 28

Дивитися

Додаткова інформація

Назва патенту англійською

Mixed tap filters

Автори англійською

Joshi, Rajan L., Karczewicz, Marta, Chien, Wei-Jung

Автори російською

Джоши Раджан Л., Карчевич Марта, Чиень Вэй-Цзюн

МПК / Мітки

МПК: H04N 19/00, H04N 7/015

Мітки: змішані, відводами, фільтрі

Код посилання

<a href="https://ua.patents.su/35-106279-zmishani-filtri-z-vidvodami.html" target="_blank" rel="follow" title="База патентів України">Змішані фільтри з відводами</a>

Подібні патенти