Ієрархія відеоблоків з прогнозуванням руху
Формула / Реферат
1. Спосіб декодування відеоданих згідно з режимом злиття, причому спосіб включає етапи, на яких:
одержують значення індексу для поточного відеоблока, кодованого в режимі злиття;
генерують набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмежують згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибирають прогнозуючий відеоблок зі згаданого піднабору на основі значення індексу; і
генерують інформацію руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока.
2. Спосіб за п. 1, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані зі згаданих щонайменше п'яти можливих відеоблоків.
3. Спосіб за п. 2, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
4. Спосіб за п. 1, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока і не включає в себе суміжний лівий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
5. Спосіб за п. 4, в якому етап генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе етап, на якому наслідують вектор руху з прогнозуючого відеоблока.
6. Пристрій для декодування відеоданих згідно з режимом злиття, причому пристрій містить відеодекодер, сконфігурований з можливістю:
одержання значення індексу для поточного відеоблока, кодованого в режимі злиття;
генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибору прогнозуючого відеоблока зі згаданого піднабору на основі значення індексу; і
генерування інформації руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока.
7. Пристрій за п. 6, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з щонайменше п'яти можливих відеоблоків.
8. Пристрій за п. 7, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
9. Пристрій за п. 6, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
10. Пристрій за п. 9, в якому конфігурування з можливістю генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе конфігурування з можливістю наслідування вектора руху з прогнозуючого відеоблока.
11. Пристрій за п. 6, в якому пристрій містить щонайменше одне з:
інтегральної схеми;
мікропроцесора, або
пристрою бездротового зв'язку, який включає в себе відеодекодер.
12. Пристрій для декодування відеоданих згідно з режимом злиття, причому пристрій містить:
засіб для одержання значення індексу для поточного відеоблока, кодованого в режимі злиття;
засіб генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео типу розділення, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
засіб для обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
засіб для вибору прогнозуючого відеоблока з піднабору на основі значення індексу;
засіб для генерування інформації руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока.
13. Пристрій за п. 12, в якому піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з щонайменше п'яти можливих відеоблоків.
14. Пристрій за п. 13, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
15. Пристрій за п. 12, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
16. Пристрій за п. 15, в якому генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе наслідування вектора руху з прогнозуючого відеоблока.
17. Зчитуваний комп'ютером носій даних, що має збережені на ньому команди, які при виконанні примушують процесор пристрою для декодування відеоданих згідно з режимом злиття:
одержувати значення індексу для поточного відеоблока, кодованого в режимі злиття;
генерувати набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмежувати згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибирати прогнозуючий відеоблок зі згаданого піднабору на основі значення індексу; і
генерувати інформацію руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока.
18. Зчитуваний комп'ютером носій даних за п. 17, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати з щонайменше п'яти можливих відеоблоків.
19. Зчитуваний комп'ютером носій даних за п. 18, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
20. Зчитуваний комп'ютером носій даних за п. 17, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
21. Зчитуваний комп'ютером носій даних за п. 20, в якому команди, які при виконанні примушують процесор генерувати вектор руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включають в себе команди, які при виконанні примушують процесор наслідувати вектор руху з прогнозуючого відеоблока.
22. Спосіб кодування відеоданих згідно з режимом злиття, причому спосіб включає етапи, на яких:
одержують вектор руху для поточного відеоблока;
генерують набір впорядкованих прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмежують згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибирають прогнозуючий відеоблок зі згаданого піднабору на основі вектора
руху;і
генерують значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок.
23. Спосіб за п. 22, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків.
24. Спосіб за п. 23, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
25. Спосіб за п. 22, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
26. Пристрій для кодування відеоданих згідно з режимом злиття, причому пристрій містить відеокодер, сконфігурований з можливістю:
одержання вектора руху для поточного відеоблока;
генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибору прогнозуючого відеоблока зі згаданого піднабору на основі вектора руху; і
генерування значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок.
27. Пристрій за п. 26, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків.
28. Пристрій за п. 27, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
29. Пристрій за п. 26, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
30. Пристрій за п. 26, в якому пристрій містить щонайменше одне з:
інтегральної схеми;
мікропроцесора; або
пристрою бездротового зв'язку, який включає в себе відеодекодер.
31. Пристрій для кодування відеоданих згідно з режимом злиття, причому пристрій містить:
засіб для одержання вектора руху для поточного відеоблока;
засіб для генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
засіб для обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
засіб для вибору прогнозуючого відеоблока зі згаданого піднабору на основі вектора руху; і
засіб для генерування значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок.
32. Пристрій за п. 31, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків.
33. Пристрій за п. 32, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
34. Пристрій за п. 31, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
35. Зчитуваний комп'ютером носій даних, який має збережені на ньому команди, які при виконанні примушують процесор пристрою для кодування відеоданих згідно з режимом злиття:
одержувати вектор руху для поточного відеоблока;
генерувати набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти;
обмежувати згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів;
вибирати прогнозуючий відеоблок зі згаданого піднабору на основі вектора руху;
генерувати значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок.
36. Зчитуваний комп'ютером носій даних за п. 35, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків.
37. Зчитуваний комп'ютером носій даних за п. 36, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока.
38. Зчитуваний комп'ютером носій даних за п. 35, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l.
Текст
Реферат: Відеодекодер сконфігурований з можливістю отримання значення індексу для поточного відеоблока. Відеодекодер отримує тип розділення для поточного відеоблока. Відеодекодер вибирає один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення поточного відеоблока. Відеодекодер вибирає прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі значення індексу. Відеодекодер генерує вектор руху для поточного відеоблока на основі інформації руху прогнозуючого відеоблока. UA 107153 C2 (12) UA 107153 C2 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 Дана заявка заявляє пріоритет: попередньої заявки США № 61/446,392, поданої 24 лютого 2011 року; попередньої заявки США № 61/447,017, поданої 26 лютого 2011 року; попередньої заявки США № 61/451,493, поданої 10 березня 2011 року; попередньої заявки США № 61/529,110, поданої 30 серпня 2011 року; попередньої заявки США № 61/531,526, поданої 6 вересня 2011 року; і попередньої заявки США № 61/531,514, поданої 6 вересня 2011 року, вміст кожної з яких повністю включений в даний документ за допомогою посилання. ГАЛУЗЬ ТЕХНІКИ, ДО ЯКОЇ НАЛЕЖИТЬ ВИНАХІД Дане розкриття стосується кодування відео. РІВЕНЬ ТЕХНІКИ Можливості цифрового відео можуть впроваджуватися в широкий діапазон пристроїв, які включають в себе цифрове телебачення, системи цифрового прямого широкомовлення, системи бездротового широкомовлення, персональні цифрові секретарі (PDA), портативні або настільні комп'ютери, планшетні комп'ютери, пристрої читання електронних книг, цифрові камери, пристрої цифрового запису, програвачі цифрового мультимедіа, пристрої для відеогри, ігрові приставки, стільникові або супутникові радіо телефони, так звані "смартфони", пристрої для організації відео телеконференцій, пристрої, які передають потокове відео, і подібні до них. Цифрові відеопристрої реалізовують методики відеостиснення, наприклад, які описані в стандартах, визначених в MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Частина 10, Вдосконалене Кодування Відео (AVC), стандарт Високоефективне Кодування Відео (HEVC), що знаходиться в цей час в розробці, і розширення таких стандартів. Відеопристрої можуть передавати, приймати, кодувати, декодувати і/або зберігати інформацію цифрового відео більш ефективно за допомогою реалізації таких методик відеостиснення. СУТЬ ВИНАХОДУ Загалом дане розкриття описує методики для кодування відеоданих. У одному прикладі спосіб декодування відеоданих містить етапи, на яких отримують значення індексу для поточного відеоблока, отримують тип розділення для поточного відеоблока, вибирають один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибирають прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі значення індексу, і генерують вектор руху для поточного відеоблока на основі інформації про рух прогнозуючого відеоблока. У ще одному прикладі пристрій включає в себе відеодекодер, сконфігурований з можливістю отримання значення індексу для поточного відеоблока, отримання типу розділення для поточного відеоблока, вибору одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибору прогнозуючого відеоблока з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоківкандидатів на основі значення індексу, і генерування вектора руху для поточного відеоблока на основі інформації про рух прогнозуючого відеоблока. У ще одному прикладі зчитуваний комп'ютером носій даних містить команди, які при виконанні примушують процесор отримувати значення індексу для поточного відеоблока, отримувати тип розділення для поточного відеоблока, вибирати один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибирати прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі значення індексу, і генерувати вектор руху для поточного відеоблока на основі інформації про рух прогнозуючого відеоблока. Дане розкриття також описує методики кодування відеоданих. У одному прикладі спосіб містить етапи, на яких отримують вектор руху для поточного відеоблока, отримують тип розділення для поточного відеоблока, вибирають один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибирають прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі вектора руху, і генерують значення індексу, що ідентифікує вибраний прогнозуючий відеоблок. У ще одному прикладі пристрій включає в себе відеодекодер, сконфігурований з можливістю отримання вектора руху для поточного відеоблока, отримання типу розділення для поточного відеоблока, вибору одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибору прогнозуючого відеоблока з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоківкандидатів на основі вектора руху, і генерування значення індексу, що ідентифікує вибраний прогнозуючий відеоблок. 1 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 У ще одному прикладі зчитуваний комп'ютером носій даних містить команди, які, при виконанні, примушують процесор отримувати вектор руху для поточного відеоблока, отримувати тип розділення для поточного відеоблока, вибирати один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення, вибирати прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі вектора руху і генерувати значення індексу, що ідентифікує вибраний прогнозуючий відеоблок. Подробиці одного або більше прикладів викладаються на супровідних кресленнях і в описі нижче. Інші ознаки, задачі і переваги стануть очевидними з опису і креслень, і з формули винаходу. КОРОТКИЙ ОПИС КРЕСЛЕНЬ Фіг. 1 є блок-схемою, яка зображує один приклад системи відеокодування і відеодекодування, яка може реалізовувати методики даного розкриття. Фіг. 2 є блок-схемою, яка зображує один приклад відеокодера, який може реалізовувати методики даного розкриття. Фіг. 3A є концептуальною схемою, яка зображує поточний відеоблок і зразковий набір відеоблоків з прогнозуванням руху. Фіг. 3B є концептуальною схемою, яка зображує поточний відеоблок і зразковий набір відеоблоків з прогнозуванням руху. Фіг. 3C є концептуальною схемою, яка зображує поточний відеоблок і зразковий набір відеоблоків з прогнозуванням руху. Фіг. 4 є концептуальною схемою, яка зображує часовий взаємозв'язок між поточним відеокадром і опорними відеокадрами. Фіг. 5 є концептуальною схемою, яка зображує впорядкування набору відеоблоків з прогнозуванням руху на основі часового взаємозв'язку з поточним відеоблоком. Фіг. 6 є концептуальною схемою, яка зображує приклади відеоблоків-кандидатів, які можуть використовуватися для генерування набору відеоблоків з прогнозуванням руху. Фіг. 7 є концептуальною схемою, яка зображує приклад способу пошуку відеоблоківкандидатів на основі критеріїв для генерування набору відеоблоків з прогнозуванням руху. Фіг. 8 є концептуальною схемою, яка зображує приклади розділень відеоблока. Фіг. 9A-9K є концептуальними схемами, які зображають приклади створення впорядкованої ієрархії на основі розділення поточного відеоблока для набору відеоблоків з прогнозуванням руху ряду. Фіг. 10 є блок-схемою послідовності операцій способу, яка зображає методику для кодування відеоданих. Фіг. 11 є блок-схемою, яка зображує один приклад компонента відеодекодера, який може реалізовувати методики даного розкриття. Фіг. 12 є блок-схемою послідовності операцій способу, що зображає методику для декодування відеоданих. ДОКЛАДНИЙ ОПИС Дане розкриття описує методики для генерування наборів відеоблоків з прогнозуванням руху з відеоблоків-кандидатів і створення впорядкованої ієрархії відеоблоків з прогнозуванням руху всередині набору. Відеокодер може кодувати інформацію про рух для поточного відеоблока з використанням впорядкованої ієрархії, а відеодекодер може декодувати інформацію про рух для поточного відеоблока з використанням впорядкованої ієрархії. Наприклад, набір відеоблоків-кандидатів може включати в себе відеоблоки, суміжні з поточним відеоблоком. Впорядкований набір відеоблоків з прогнозуванням руху може бути піднабором з суміжних відеоблоків. Інформація руху для поточного відеоблока може бути отримана з використанням впорядкованого набору відеоблоків з прогнозуванням руху, що включає в себе використання однієї з наступних методик: успадковування вектора руху з відеоблока з прогнозуванням руху у впорядкованому наборі, обчислення вектора руху за допомогою додавання або віднімання залишкової інформації вектора руху відносно вектора руху з відеоблока з прогнозуванням руху у впорядкованому наборі, або обчислення вектора руху з використанням інформації вектора руху з одного або більше відеоблоків з прогнозуванням руху у впорядкованому наборі. Використання впорядкованої ієрархії може надати можливість досягнення економії бітів. У одній методиці набір відеоблоків з прогнозуванням руху генерується за допомогою аналізу того, чи включають відеоблоки-кандидати в себе задані умови. Наприклад, деяка кількість відеоблоків всередині встановленої часової або просторової відстані до поточного відеоблока може бути проаналізована для визначення, чи знаходяться які-небудь з власних опорних 2 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 значень ідентифікації всередині встановленого діапазону. У даному прикладі відеоблокикандидати з опорним значенням ідентифікації, який дорівнює встановленому значенню, можуть міститися в наборі відеоблоків з прогнозуванням руху. У одній методиці, описаній в даному розкритті, набір відеоблоків з прогнозуванням руху організується у впорядковану ієрархію на основі часової відстані опорного блока, пов'язаної з кожним блоком з прогнозуванням руху, і опорним блоком, пов'язаним з поточним відеоблоком, що піддається кодуванню. Іншими словами, векторам руху з блоків з прогнозуванням руху, які вказують на прогнозуючі блоки більш близькі у часі до поточного відеоблока, можна дати пріоритет над векторами руху з блоків з прогнозуванням руху, які вказують на прогнозуючі блоки віддалені у часі від поточного відеоблока. У одній методиці, описаній в даному розкритті, впорядкована ієрархія відеоблоків з прогнозуванням руху створюється на основі типу розділення поточного відеоблока. Піднабір з трьох блоків з прогнозуванням руху може бути згенерований з набору п'яти суміжних відеоблоків на основі типу розділення поточного відеоблока. Тип розділення може відповідати формі розділення так званого PU згідно з вихідним стандартом високоефективного кодування відео (HEVC). Фіг. 1 є блок-схемою, яка зображує один приклад системи 10 відеокодування і відеодекодування, яка може реалізовувати методики даного розкриття. Як показано на Фіг. 1, система 10 включає в себе пристрій 12 джерела, який передає кодоване відео в пристрій 16 одержувача через канал 15 зв'язку. Пристрій 12 джерела і пристрій 16 одержувача можуть містити будь-який широкий діапазон пристроїв. У деяких випадках, пристрій 12 джерела і пристрій 16 одержувача можуть містити телефонні трубки пристроїв бездротового зв'язку, наприклад, так звані стільникові або супутникові радіотелефони. Методики даного розкриття, однак, які застосовуються загалом до кодування і декодування, можуть бути застосовані до не бездротових пристроїв, що включають в себе можливості відеокодування і/або відеодекодування. Пристрій 12 джерела і пристрій 16 одержувача є усього лише прикладами здійснюючих кодування пристроїв, які можуть підтримувати методики, описані в даному документі. У прикладі Фіг. 1 пристрій 12 джерела може включати в себе джерело 20 відео, відеокодер 22, модулятор/демодулятор (модем) 23 і передавач 24. Пристрій 16 одержувача може включати в себе приймач 26, модем 27, відеодекодер 28 і пристрій 30 відображення. У відеокодері 22 можуть бути згенеровані синтаксичні елементи як частина кодованого бітового потоку, і згадані синтаксичні елементи можуть використовуватися відеодекодером 28 при декодування бітового потоку. Джерело 20 відео може містити пристрій захоплення відео, такий як відеокамера, відеоархів, що містить раніше захоплене відео, зовнішнє відео від постачальника відеоконтента або іншого джерела відео. Як додатковий варіант, джерело 20 відео може генерувати основані на комп'ютерній графіці дані як початкове відео, або об'єднання відео в реальному часі, архівного відео і згенерованого комп'ютером відео. У деяких випадках, якщо джерело 20 відео є відеокамерою, пристрій 12 джерела і пристрій 16 одержувача можуть утворювати так звані телефони з камерою або відеотелефони. У кожному випадку захоплене, попередньо захоплене або згенероване комп'ютером відео може бути закодоване за допомогою відеокодера 22. У деяких прикладах (але це не всі випадки) після кодування відеоданих за допомогою відеокодера 22, інформація закодованого відео потім може модулюватися за допомогою модему 23 згідно зі стандартом зв'язку, наприклад, таким як множинний доступ з кодовим розділенням каналів (CDMA), мультиплексування з ортогональним частотним розділенням каналів (OFDM) або будь-якою іншою методикою або стандартом зв'язку. Закодовані і модульовані дані потім можуть бути передані в пристрій 16 одержувача через передавач 24. Модем 23 може включати в себе різні мікшери, фільтри, підсилювачі або інші складові, розроблені для модуляції сигналів. Передавач 24 може включати в себе схеми, розроблені для передачі даних, які включають в себе підсилювачі, фільтри і одну або більше антен. Приймач 26 пристрою 16 одержувача приймає інформацію по каналу 15, і модем 27 демодулює інформацію. Процес відеодекодування, що виконується за допомогою відеодекодера 28, може включати в себе взаємообернені методики по відношенню до способів кодування, що виконуються за допомогою відеокодера 22. Канал 15 зв'язку може містити будь-яке бездротове або дротове середовище зв'язку, таке як радіочастотний (RF) спектр або одна або більше фізичних ліній передачі, або будь-яке об'єднання бездротового і дротового середовищ. Канал 15 зв'язку може утворювати частину мережі, основаної на пакетній передачі, такій як локальна мережа, широкомасштабна мережа або глобальна мережа, така як Інтернет. Канал 15 зв'язку загалом являє собою будь-яке 3 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 відповідне середовище зв'язку, або сукупність різних середовищ зв'язку, для передачі відеоданих від пристрою 12 джерела в пристрій 16 одержувача. Крім того, Фіг. 1 є усього лише зразковою, і методики даного розкриття можуть застосовуватися до установок кодування відео (наприклад, відеокодування або відеодекодування), які не обов'язково включають в себе якунебудь передачу даних між пристроями кодування і декодування. У інших прикладах дані можуть витягуватися з локальної пам'яті, передаватися потоком по мережі або тому подібним. Пристрій кодування може кодувати і зберігати дані в пам'яті, і/або пристрій декодування може витягувати і декодувати дані з пам'яті. У багатьох випадках кодування і декодування виконуються непов'язаними пристроями, які не здійснюють зв'язок один з одним, а просто кодують дані в пам'ять і/або витягують і декодують дані з пам'яті. У деяких випадках відеокодер 22 і відеодекодер 28 можуть функціонувати по суті згідно зі стандартом відеостиснення, таким як стандарт HEVC, що з'являється. Однак, методики даного розкриття можуть також бути застосовані в контексті множини інших стандартів кодування відео, що включають в себе деякі старі стандарти або нові стандарти або стандарти, що з'являються. Хоч не показано на фіг. 1, в деяких випадках відеокодер 22 і відеодекодер 28 кожний можуть бути об'єднані з аудіокодером і аудіодекодером, і можуть включати в себе прийнятні компоненти MUX-DEMUX (мультиплексора-демультиплексора), або інше апаратне і програмне забезпечення, щоб керувати кодуванням як аудіо, так і відео в загальному потоці даних або окремих потоках даних. У випадку застосування компоненти MUX-DEMUX можуть відповідати протоколу мультиплексування ITU H.223 або іншим протоколам, таким як протокол користувацьких дейтаграм (UDP). Відеокодер 22 і відеодекодер 28 кожний можуть бути реалізовані як один або більше мікропроцесорів, цифрові сигнальні процесори (DSP), інтегральні схеми спеціального призначення (ASIC), програмовані вентильні матриці (FPGA), дискретна логіка, програмне забезпечення, апаратне забезпечення, апаратно-програмне забезпечення або їх комбінація. Кожний з відеокодера 22 і відеодекодера 28 може міститися в одному або більше кодерах або декодерах, будь-який з яких може бути вбудований як частина об'єднаного кодера/декодера (CODEC) у відповідному мобільному пристрої, абонентському пристрої, широкомовному пристрої, сервері або їм подібним. У даному розкритті термін кодувальник стосується кодера, декодера або CODEC, а терміни кодувальник, кодер, декодер і CODEC всі стосуються конкретних машин, розроблених для здійснення кодування (кодування і/або декодування) відеоданих відповідно до даного розкриття. У деяких випадках пристрої 12, 16 можуть функціонувати по суті симетричним чином. Наприклад, кожен з пристроїв 12, 16 може включати в себе складові елементи для відеокодування і відеодекодування. Отже, система 10 може підтримувати односторонню або двосторонню передачу відео між відеопристроями 12, 16, наприклад, для передачі потокового відео, відтворення відео, широкомовної передачі відео або відеотелефонії. Протягом процесу кодування відеокодер 22 може виконувати множину операцій і методик кодування. Загалом, відеокодер 22 функціонує з блоками відеоданих відповідно до стандарту HEVC. HEVC стосується одиниць кодування (CU) ("coding units"), які можуть бути розділені згідно зі схемою розділення на дерева квадрантів. "LCU" стосується одиниці кодування найбільшого розміру (наприклад, "найбільшої одиниці кодування" ("largest coding unit")), що підтримується в даній ситуації. Розмір LCU може самостійно бути сигналізований як частина бітового потоку, наприклад, як синтаксис на рівні послідовності. LCU може бути розділений на більш малі CU. CU можуть бути розділені на одиниці з прогнозуванням (PU) ("prediction units") для цілей прогнозування. PU можуть мати квадратні або прямокутні форми. Перетворення не закріплені в стандарті HEVC, що з'являється, однак задаються згідно з розмірами одиниці перетворення (TU) ("transform unit"), яка може бути того ж самого розміру як дана CU, або можливо ще менше. Залишкові відліки, які відповідають CU, можуть бути поділені на більш малі одиниці з використанням структури дерева квадрантів, відомої як "залишкове дерево квадрантів" (RQT) ("residual quad tree"). Листові вузли RQT можуть згадуватися як одиниці перетворення (TU). TU можуть перетворюватися і квантуватися. Синтаксичні елементи можуть бути задані на рівні LCU, рівні CU, рівні PU і рівні TU. Елементи, які називаються "прапорами розщеплення", можуть міститися як синтаксис на рівні CU для вказівки, чи поділений той або інший CU сам на більше чотирьох CU. Наприклад, CU0 може стосуватися LCU, а CU1-CU4 можуть містити суб-CU даної LCU. Відповідно до HEVC відеоблоки згадуються як одиниці кодування (CU), і множина CU існує всередині окремого відеокадра (або інших окремо заданих одиниць відео, таких як вирізки). Кадри, вирізки, частини кадрів, групи зображень, або інші структури даних можуть бути задані як одиниці відеоінформації, які включають в себе множину CU. CU можуть мати відмінні розміри 4 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 відповідно до стандарту HEVC, і бітовий потік може задавати найбільші одиниці кодування (LCU) як найбільший розмір CU. За допомогою стандарту HEVC LCU можуть бути поділені на все менші і менші CU згідно зі схемою розділення на дерева квадрантів, і різні CU, які задаються в схемі, можуть бути додатково розділені на так звані одиниці з прогнозуванням (PU). У розумінні даного розкриття LCU, CU, і PU всі є відеоблоками. Відеокодер 22 може виконувати кодування з прогнозуванням, в якому відео блок, що піддається кодуванню (наприклад, PU в одиниці CU всередині LCU), порівнюється з одним або більше прогнозуючими кандидатами, для того щоб ідентифікувати прогнозуючий блок. Даний процес прогнозуючого кодування може бути внутрішнім (в цьому випадку прогнозуючі дані генеруються на основі сусідніх внутрішніх даних всередині одного і того ж відеокадра або вирізки), або зовнішнім (в цьому випадку прогнозуючі дані генеруються на основі відеоданих в попередніх або подальших кадрах або вирізках). Може підтримуватися багато різних режимів кодування, і відеокодер 22 може вибирати необхідний режим кодування відео. Згідно з даним розкриттям щонайменше деякі відеоблоки можуть піддаватися кодуванню з використанням процесів, описаних в даному документі. Методики відеостиснення включають в себе просторовий (всередині зображення) прогноз і/або часовий (між зображеннями) прогноз для зменшення або видалення надмірності, властивої відеопослідовностям. Для основаного на блоках кодування відео відеовирізка (наприклад, відеокадр або частина відеокадра) може бути розділена на відеоблоки, які також можуть згадуватися як блоки дерева, одиниці кодування (CU) і/або вузли кодування. Відеоблоки у вирізці зображення, яка піддається внутрішньому кодуванню (I), кодуються з використанням просторового прогнозування відносно опорних відліків в сусідніх блоках в тому ж самому зображенні. Відеоблоки у вирізці зображення, яка піддається зовнішньому кодуванню (Р або В), можуть використовувати просторове прогнозування відносно опорних відліків в сусідніх блоках в тому ж самому зображенні або часове прогнозування відносно опорних відліків в інших опорних зображеннях. Зображення можуть згадуватися як кадри, а опорні зображення можуть бути віднесені до опорних кадрів. Коли відеокодер 22 використовує оцінку руху і компенсацію руху для зменшення часової надмірності у відеопослідовності, вектор руху може бути згенерований для ідентифікації прогнозуючого блока відеоданих. Відеодекодер 28 може використовувати вектор руху для прогнозування значень поточного відео блока, що піддається кодуванню. Наприклад, значення прогнозуючого відеоблока можуть бути відняті зі значень поточного відеоблока для створення блока залишкових даних. Вектор руху, нарівні із залишковими даними, може бути переданий від відеокодера 22 у відеодекодер через канал 15 зв'язку. Відеодекодер 28 може визначити місцеположення того ж самого прогнозуючого блока (на основі вектора руху) і відновити закодований відеоблок за допомогою об'єднання залишкових даних з даними прогнозуючого блока. Відеокодер 22 може використовувати режим злиття для кодування інформації руху поточного відеоблока. Режим злиття є режимом кодування відео, в якому інформація руху (така як вектори руху, індекси опорних кадрів, напрямки прогнозу, або інша інформація) сусідніх відеоблока успадковується для поточного відеоблока, що піддається кодуванню. Значення індексу може використовуватися для ідентифікації сусіда, від якого поточний відеоблок наслідує свою інформацію руху (наприклад, верхній, верхній правий, лівий, нижній лівий або близько розташований від часово суміжного кадру). Ще один випадок, коли вектор руху з сусідніх відеоблока використовується при кодуванні поточного відеоблока, є так званим прогнозуванням вектора руху. У цьому випадку прогнозуюче кодування векторів руху застосовується для зменшення об'єму даних, необхідних для передачі вектора руху. Наприклад, замість того, щоб кодувати і передавати вектор руху безпосередньо, відеокодер 22 може закодувати і передати різницю вектора руху (MVD) відносно відомого (або розпізнаваного) вектора руху. У H.264/AVC відомий вектор руху, який може використовуватися з MVD для задавання поточного вектора руху, може бути заданий за допомогою так званого прогнозиста вектора руху (MVP), який витягується як медіана векторів руху, пов'язаних з сусідніми блоками. Відеокодер 22 може використовувати адаптивний прогноз вектора руху (AMVP) для кодування інформації руху поточного відеоблока. AMVP будує набір кандидатів векторів руху за допомогою включення декількох сусідніх блоків у просторових і часових напрямках як кандидати для MVP. У AMVP відеокодер 22 вибирає найбільш точний блок-прогнозист з набору кандидатів на основі аналізу спотворення і швидкості кодування (наприклад, використовуючи так званий аналіз вартості швидкість-спотворення). Індекс прогнозиста вектора руху (mvp_idx) може бути переданий у відеодекодер 28, щоб повідомити відеодекодеру 28, де виявити MVP. Відеодекодеру 28 може також бути переданий MVD. Відеодекодер 28 може об'єднати MVD з 5 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 MVP (заданий за допомогою індексу прогнозиста вектора руху), щоб згенерувати вектор руху для поточного відеоблока. Після генерування прогнозуючого блока, різниці між поточним відеоблоком, який піддається кодуванню, і прогнозуючим блоком піддаються кодуванню як залишковий блок, і синтаксис прогнозу (такий як вектор руху у випадку внутрішнього кодування або прогнозуючий режим у випадку зовнішнього кодування) використовується для ідентифікації прогнозуючого блока. Крім того, з AMVP або режимом злиття, сусідній блок, що використовується для ідентифікації блока прогнозування, може бути підданий кодуванню, наприклад, через значення індексу, яке ідентифікує конкретного сусіда згідно з впорядкованою ієрархією, як описано в даному документі. У деяких випадках залишковий блок може бути перетворений і квантований. Методики перетворення можуть містити DCT-процес або концептуально подібний процес, цілочисельні перетворення, вейвлет перетворення, або інші типи перетворень. У DCT-процесі, як приклад, процес перетворення перетворює набір піксельних значень (наприклад, залишкові піксельні значення) в коефіцієнти перетворення, які можуть являти собою енергію піксельних значень в частотній області. Коефіцієнти перетворення можуть бути квантовані. Зокрема квантування може бути застосоване до коефіцієнтів перетворення, і загалом залучає процес, який обмежує кількість бітів, пов'язаних з тим або іншим коефіцієнтом перетворення. Більш конкретно, квантування може бути застосоване згідно з параметром квантування (QP), заданим на рівні LCU. Відповідно, один і той же рівень квантування може бути застосований до всіх коефіцієнтів перетворення в TU, пов'язаних з різними PU одиниць кодування всередині LCU. Однак, замість того, щоб сигналізувати QP безпосередньо, зміна або різниця (тобто, дельта) в QP можуть бути сигналізовані з допомогою LCU, щоб указати зміну в QP відносно QP попереднього LCU. Услід за перетворенням і квантуванням, може бути виконане ентропійне кодування над квантованими і перетвореними залишковими відеоблоками. Синтаксичні елементи можуть також міститися в підданому ентропійному кодуванню бітовому потоку. Загалом, ентропійне кодування містить один або більше процесів, які всі разом стискають послідовність квантованих коефіцієнтів перетворення і/або іншу синтаксичну інформацію. Методики сканування можуть виконуватися над квантованими коефіцієнтами перетворення, для того щоб задати один або більше перетворених в послідовну форму одновимірних векторів коефіцієнтів з двовимірних відеоблоків. Проскановані коефіцієнти потім піддаються ентропійному кодуванню нарівні з будьякою синтаксичною інформацією, наприклад, через адаптивне до вмісту кодування змінної довжини (CAVLC), адаптивне до контексту двійкове арифметичне кодування (CABAC), або інший процес ентропійного кодування. Як частина процесу кодування закодовані відеоблоки можуть декодуватися, для того щоб генерувати відеодані, які використовуються для подальшого основаного на прогнозі кодування подальших відеоблоків. Це часто згадується як контур декодування процесу кодування, і загалом імітує декодування, яке виконується за допомогою пристрою декодера. У контурі декодування кодера або декодера методики фільтрації можуть використовуватися для підвищення якості відео, і наприклад, згладжування меж пікселів і по можливості видалення спотворень з декодованого відео. Дана фільтрація може бути внутрішньоконтурною або післяконтурною. При внутрішньоконтурній фільтрації фільтрація відновлених відеоданих відбувається в контурі кодування, що означає, що відфільтровані дані зберігаються за допомогою кодера або декодера для подальшого використання при прогнозі подальших даних зображення. Навпаки, при післяконтурній фільтрації фільтрація відновлених відеоданих відбувається поза контуром кодування, що означає, що не відфільтровані версії даних зберігаються за допомогою кодера або декодера для подальшого використання при прогнозі подальших даних зображення. Контурна фільтрація часто йде за окремим процесом фільтрації видалення блочності, який звичайно застосовує фільтрацію до пікселів, які знаходяться на або біля меж суміжних відеоблоків, для того щоб видалити спотворення через блочність, які виявляються на межах відеоблока. Фіг. 2 є блок-схемою, яка зображує відеокодер 50 відповідно до даного розкриття. Відеокодер 50 може відповідати відеокодеру 22 пристрою 12, або відеокодеру іншого пристрою. Як показано на Фіг. 2, відеокодер 50 включає в себе компонент 31 розділення на дерево квадрантів, компонент 32 кодування з прогнозуванням, пам'ять 34, модуль 38 перетворення, компонент 40 квантування, компонент 42 зворотного квантування, модуль 44 зворотного перетворення, компонент 46 ентропійного кодування, фільтрувальний компонент 47, який може включати в себе фільтри видалення блочності і післяконтурні і/або внутрішньоконтурні фільтри, суматор 48 і суматор 51. Закодовані відеодані і синтаксична інформація, яка задає манеру 6 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 кодування, можуть бути передані в компонент 46 ентропійного кодування, який виконує ентропійне кодування над бітовим потоком. Як показано на Фіг. 2, компонент 32 кодування з прогнозуванням може підтримувати множину різних режимів 35 кодування при кодуванні відеоблоків. Режими 35 можуть включати в себе режими зовнішнього кодування, які задають прогнозуючі дані з інших відеокадрів (або шарів). Режими зовнішнього кодування можуть бути з двома прогнозами, означаючи, що два різні списки (наприклад, Список 0 і Список 1) прогнозуючих даних (і звичайно два різні вектори руху) використовуються для ідентифікації прогнозуючих даних. Режими зовнішнього кодування можуть альтернативно бути з одним прогнозуванням, означаючи, що один список (наприклад, Список 0) прогнозуючих даних (і звичайно один вектор руху) використовується для ідентифікації прогнозуючих даних. Інтерполяції, зміщення або інші методики можуть виконуватися спільно з генеруванням прогнозуючих даних. Можуть також підтримуватися так звані режими ПРОПУСКУ ("SKIP") і ПРЯМІ ("DIRECT") режими, які успадковують інформацію руху, пов'язану з близько розташованим блоком іншого кадру (або шару). Блоки режиму ПРОПУСКУ не включають в себе ніякої залишкової інформації, в той час як блоки ПРЯМОГО режиму включають в себе залишкову інформацію. Крім того, режими 35 можуть включати в себе режими зовнішнього кодування, які задають прогнозуючі дані на основі даних всередині того ж самого відеокадру (або шару) як кадру, який піддався кодуванню. Режими зовнішнього кодування можуть включати в себе направлені режими, які задають прогнозуючі дані на основі даних в конкретному напрямку всередині одного і того ж кадру, так само як DC і/або планарні режими, які задають прогнозуючі дані на основі середнього значення або зваженого середнього значення сусідніх даних. Компонент 32 кодування з прогнозуванням може вибирати режим для даного блока на основі деяких критеріїв, наприклад, на основі аналізу швидкості-спотворення, або деяких характеристиках блока, такій як розмір блока, текстура або інших характеристик. Відповідно до даного розкриття компонент 32 кодування з прогнозуванням підтримує один або більше режимів, які виконують адаптивний прогноз вектора руху (AMVP), як описано вище, або режим злиття, як описано вище. У даних або інших випадках інформація руху може бути успадкована з блока так, як описана в даному документі, і сигналізація блока, з якого відбувається таке успадкування, може бути виконана так, як описана в даному документі. Загалом, протягом процесу кодування, відеокодер 50 приймає вхідні відеодані. Компонент 32 кодування з прогнозуванням виконує методики кодування з прогнозуванням над відеоблоками (наприклад, CU і PU). Компонент 31 розділення на дерево квадрантів може розбивати LCU на меншіі CU і PU згідно з розділенням HEVC. Для зовнішнього кодування, компонент 32 кодування з прогнозуванням порівнює одиниці кодування або одиниці з прогнозуванням з різними прогнозуючими кандидатами в одному або більше опорних відеокадрах або вирізках (наприклад, одному або більше "списку" опорних даних), для того щоб задати прогнозуючий блок. Для внутрішнього кодування компонент 32 кодування з прогнозуванням генерує прогнозуючий блок на основі сусідніх даних всередині одного і того ж відеокадра або шару. Компонент 32 кодування з прогнозуванням виводить блок з ПРОГНОЗУВАННЯМ, і суматор 48 віднімає блок з прогнозуванням з того CU або PU, який піддається кодуванню, для того щоб згенерувати залишковий блок. До того ж щонайменше деякі відеоблоки можуть бути схильні до кодування з використанням AMVP, описаним в даному документі. У деяких випадках компонент 32 кодування з прогнозуванням може включати в себе компонент швидкості-спотворення (R-D), який порівнює результати кодування відеоблоків (наприклад, CU або PU) в різних режимах. У цьому випадку компонент 32 кодування з прогнозуванням може також включати в себе компонент вибору режиму для аналізу результатів кодування з точки зору швидкості кодування (тобто, бітів кодування, необхідних для блока) і спотворення (наприклад, представляючи якість відео підданого кодуванню блоку відносно початкового блока), для того щоб здійснити вибір режимів для відеоблоків. Таким чином, компонент R-D може надати аналіз результатів різних режимів, щоб дозволити компоненту вибору режиму вибрати бажаний режим для різних відеоблоків. Відповідно до даного розкриття, режим, який виконує AMVP, може бути вибраний, коли компонент R-D ідентифікує його як бажаний режим для даного відеоблока, наприклад, внаслідок виграшів при кодуванні або ефективності кодування. Альтернативно, відповідно до даного розкриття, може бути вибраний режим злиття, в якому інформація руху успадковується з сусіднього блока. У даних або інших прикладах, впорядкований набір сусідів може бути заданий і використаний при кодуванню відповідно до даного розкриття. 7 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 Звернемося знов до Фіг. 2, на якій після того, як компонент 32 кодування з прогнозуванням виводить блок з прогнозуванням, і після того, як суматор 48 віднімає блок з прогнозуванням з відеоблока, який піддається кодуванню, для того щоб згенерувати залишковий блок залишкових піксельний значень, компонент 38 перетворення застосовує перетворення до залишкового блока. Перетворення може містити дискретне косинусне перетворення (DCT) або концептуально подібне перетворення, таке як перетворення, задане в стандарті ITU H.264 або стандарті HEVC. Для виконання перетворення можуть бути задані структури так званих "метеликів", або також може використовуватися основане на матриці множення. У деяких прикладах, відповідно до стандарту HEVC, розмір перетворення може відрізнятися для різних CU, наприклад, залежно від рівня розділення, яке відбувається відносно даного LCU. Одиниці перетворення (TU) можуть бути задані, для того щоб встановити розмір перетворення, що застосовується за допомогою компонента 38 перетворення. Можуть також використовуватися Вейвлет перетворення, цілочисельні перетворення, смугові перетворення або інші типи перетворень. У будь-якому випадку, компонент перетворення застосовує перетворення до залишкового блока, створюючи блок із залишкових коефіцієнтів перетворення. Перетворення, загалом, може перетворити залишкову інформацію з піксельної області в частотну область. Потім компонент 40 квантування квантує залишкові коефіцієнти перетворення для додаткового зменшення швидкості передачі бітів. Компонент 40 квантування, наприклад, може обмежити кількість бітів, що використовуються для кодування кожного з коефіцієнтів. Зокрема компонент 40 квантування може застосувати дельта QP, заданий для LCU, так щоб задати рівень квантування, який потрібно застосувати (наприклад, за допомогою об'єднання дельта QP з QP попереднього LCU або деякого іншого відомого QP). Після того, як квантування виконане над залишковими відліками, компонент 46 ентропійного кодування може просканувати і ентропійно закодувати дані. CAVLC є одним типом методики ентропійного кодування, що підтримується стандартом ITU H.264 і стандартом HEVC, що з'являється, яка може бути застосована на векторизованій основі компонент 46 ентропійного кодування. CAVLC використовує таблиці кодування змінної довжини (VLC) так, що відбувається ефективне стиснення перетворених в послідовну форму "пробігів" коефіцієнтів і/або синтаксичних елементів. CABAC є іншим типом методики ентропійного кодування, що підтримується в стандарті ITU H.264 або стандарті HEVC, яка може бути застосована на векторизованій основі компонентом 46 ентропійного кодування. CABAC може містити в собі декілька стадій, що включають в себе перетворення в двійкову форму, вибір контекстної моделі і двійкове арифметичне кодування. У цьому випадку компонент 46 ентропійного кодування піддає кодуванню коефіцієнти і синтаксичні елементи згідно з CABAC. Також існує багато інших типів методик ентропійного кодування, і, ймовірно, в майбутньому з'являться нові методики ентропійного кодування. Дане розкриття не обмежується якою-небудь конкретною методикою ентропійного кодування. Після ентропійного кодування за допомогою компонента 46 ентропійного кодування, закодоване відео може бути передане до іншого пристрою або заархівоване для подальшої передачі або витягання. Закодоване відео може містити піддані ентропійному кодуванню вектори і різну синтаксичну інформацію. Така інформація може використовуватися декодером, щоб належно сконфігурувати процес декодування. Компонент 42 зворотного квантування і компонент 44 зворотного перетворення застосовують зворотне квантування і зворотне перетворення, відповідно, щоб відновити залишковий блок в піксельній області. Суматор 51 додає відновлений залишковий блок до блока з прогнозуванням, створеним компонентом 32 кодування з прогнозуванням, щоб створити відновлений відеоблок для збереження в пам'яті 34. До такого збереження, однак, фільтруючий компонент 47 може застосувати фільтрацію до відеоблока для підвищення якості відео. Фільтрація, що застосовується фільтруючим компонентом 47, може зменшити спотворення і згладити межі пікселів. Крім того, фільтрація може поліпшити стиснення за допомогою генерування прогнозуючих відеоблоків, які містять тісні узгодження з відеоблоками, що піддаються кодуванню. Відповідно до методик, описаних в даному документі, компонент 32 кодування з прогнозуванням може використовувати впорядковані ієрархії, щоб ідентифікувати прогнозуючий блок для кодування поточного блока, і/або може генерувати значення індексу, яке ідентифікує конкретний прогнозуючий блок згідно з впорядкованою ієрархією. Фіг. 3A є концептуальною схемою, яка зображує поточний відеоблок і прогнозуючі рух відеоблоки-кандидати (тобто верхній (Т), верхній правий (TR), лівий (L), лівий нижній (BL) або близько розташований від часово суміжного кадру (Часовий)), з якого поточний відеоблок може витягнути інформацію руху. Фіг. 3B є концептуальною схемою, яка зображує поточний відеоблок і один з множини наборів прогнозуючих рух відеоблоків, які можуть бути витягнуті з набору прогнозуючих рух 8 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 відеоблоків-кандидатів на Фіг. 3A. Фіг. 3C є концептуальною схемою, яка зображує поточний відеоблок і прогнозуючі рух відеоблоки-кандидати (тобто, верхній (Т), верхній лівий (TL), верхній правий (TR), лівий (L), або лівий нижній (BL)), з якого поточний відеоблок може витягнути інформацію руху. Фіг. 4 і 5 є концептуальними схемами, які зображають використання впорядкованої ієрархії відеоблоків з прогнозуванням руху для ідентифікації прогнозуючого відеоблока для кодування поточного відеоблока. У прикладі, зображеному на Фіг. 4 і 5, часова відстань між поточним відеоблоком і кожним з відеоблоків з прогнозуванням руху використовується для створення впорядкованої ієрархії. Впорядкована ієрархія може бути створена за допомогою відеокодера 50 на основі вхідних відеоданих або створена заздалегідь і збережена в пам'яті 34. Створення впорядкованої ієрархії на основі часової відстані може використовувати факт того, що відеоблоки з прогнозуванням руху, що мають більш короткі часові відстані відносно поточного відеоблока, можуть з більшою імовірністю бути кращими прогнозистами, ніж відеоблоки, що мають більш далекі часові відстані. У прикладі, зображеному на Фіг. 4 і 5, набір блоків з прогнозуванням руху включає в себе п'ять блоків, показаних на Фіг. 3A. В інших прикладах набір відеоблоків з прогнозуванням руху може включати в себе більше або менше відеоблоків з прогнозуванням руху. Розмір набору і відеоблоків з прогнозуванням руху, що міститься в наборі, може змінюватися для кожного поточного відеоблока. Наприклад, набір з трьох відеоблоків з прогнозуванням руху може бути згенерований з використанням п'яти відеоблоків, показаних на Фіг. 5. Порядковий номер зображення (POC-picture order count), пов'язаний з інформацією руху відеоблока з прогнозуванням руху, може використовуватися для задавання часової відстані між кожним з відеоблоків з прогнозуванням руху і поточного відеоблоком. У прикладі, зображеному на Фіг. 4 і 5, поточний відеоблок, який піддається кодуванню розташовується в кадрі 5 (POC=5). Інформація руху відеоблоків з прогнозуванням руху вказує, що кадр 0 для блока L, кадр 1 для блока BL, кадр 2 для блока Т, кадр 3 для блока Часовий і кадр 4 для блока TR. Відповідно, ієрархія блоків з прогнозуванням руху може бути задана як: блок TR, за яким йде блок Часовий, за яким йде блок Т, за яким йде блок BL, за яким йде блок L. Як описано вище, компонент 32 кодування з прогнозуванням може використовувати зразкову впорядковану ієрархію, зображену на Фіг. 5, для кодування інформації руху для поточного відеоблока. У одному прикладі впорядкована ієрархія може бути запрограмована заздалегідь і збережена в пам'яті 34. У іншому прикладі відеокодер 50 може адаптивно генерувати ієрархії за допомогою аналізу відеоданих. Як тільки ієрархія визначена, кожному з відеоблоків з прогнозуванням руху можуть бути призначені змінні кодові слова як значення індексу. Відеоблоку з прогнозуванням руху, який має найвищу імовірність того, щоб бути самим високо ранжируваний відеоблоком з прогнозуванням руху для даного поточного відеоблока, може бути призначене найкоротше кодове слово. У прикладі, показаному на Фіг. 5, відеоблок TR може мати найкоротше кодове слово. За допомогою призначення значень індексів різним чином, залежно від впорядкованої ієрархії (наприклад, часової відстані інформації руху), може бути досягнута економія бітів. У деяких випадках коди змінної довжини можуть використовуватися для призначення коротших кодів відеоблокам з прогнозуванням руху з кращою кореляцією (наприклад, з точки зору часової відстані інформації руху). У інших випадках можуть використовуватися незмінні коди, однак деякі відеоблоки з прогнозуванням руху можуть бути виключені, тим самим враховуючи коротші незмінні коди внаслідок використання меншої кількості відеоблоків з прогнозуванням руху. Компонент 32 кодування з прогнозуванням може порівнювати інформацію руху поточного відеоблока з інформацією руху блоків з прогнозуванням руху в наборі і вибирати значення індексу для поточного відео, де значення індексу ідентифікує один з відеоблока з прогнозуванням руху. На основі режиму кодування інформація руху поточного відеоблока може бути згенерована за допомогою використання значення індексу для: успадковування вектора руху з ідентифікованого відеоблока з прогнозуванням руху або обчислення вектора руху за допомогою додавання або віднімання залишкової інформації вектора руху відносно вектора руху ідентифікованого відеоблока з прогнозуванням руху. Зразковий спосіб, зображений на Фіг. 4 і 5, може бути оснований на сценарії, де поточний відеоблок і відеоблок з прогнозуванням руху використовують направлений режим з одним прогнозуванням. Однак, спосіб Фіг. 4 і 5 може також бути розширений до сценаріїв з двома прогнозами, де кожний відеоблок має два вектори руху, розглядаючи об'єднану відстань двох різних прогнозуючих блоків відеоблоків з прогнозуванням руху, що піддалися кодуванню в режимі з двома прогнозами, відносно поточного відеоблока. У деяких прикладах, якщо якийнебудь з відеоблоків з прогнозуванням руху має один і той же POC, то може використовуватися 9 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 порядок за умовчанням, або можуть використовуватися інші критерії для впорядкування відеоблоків з прогнозуванням руху. У одному прикладі порядок за умовчанням може являти собою блок Т, за яким йде блок L, за яким йде блок Часовий, за яким йде блок TR, за яким йде блок BL. Для набору з п'яти блоків будь-які з 120 можливих порядків може використовуватися як порядок за умовчанням. Інші критерії, які можуть використовуватися для визначення порядку, можуть включати в себе: опорний список, опорний індекс, напрямок прогнозу, розмір блока, розмір одиниці з прогнозуванням, тип розділення з прогнозуванням, індекс перетворення, розмір перетворення, або іншу інформацію, що стосується відеоблоків. Наприклад, впорядкування може бути основане на тому, чи є розмір або форма відео блока, що піддається кодуванню, розміром або формою відеоблоків з прогнозуванням руху. Якщо один або більше відеоблоків з прогнозуванням руху не можуть бути впорядковані виключно на вказаній часовій характеристиці (наприклад, кожний відеоблок з прогнозуванням руху посилається на той же самий прогнозуючий блок), може використовуватися другий критерій для проведення додаткового аналізу або задавання порядку за умовчанням. Другий критерій може основуватися на інших методиках впорядкування, описаних в даному документі. У іншій методиці, описаній в даному розкритті, набір відеоблоків з прогнозуванням руху може бути організований у впорядковану ієрархію на основі форми розділення поточного відеоблока. Відповідно до даного розкриття компонент 32 кодування з прогнозуванням може використовувати інші методики для кодування інформації руху поточного відеоблока. Фіг. 6 є концептуальною схемою, яка показує один приклад можливих відеоблоків, які можуть бути проаналізовані з метою визначення того, як закодувати інформацію руху поточного відеоблока. На Фіг. 6, відеоблоки розташовуються в тому ж самому кадрі, що і поточний відеоблок. У іншому прикладі відеоблоки-кандидати можуть також розташовуватися в інших (вже закодованих/декодований) кадрах, відмінних від поточного відеоблока. Наприклад, близько розташований блок до поточного відеоблока з одного або більше кадрів, які попередньо піддалися кодуванню, може також бути відеоблоком-кандидатом. Компонент 32 кодування з прогнозуванням може проаналізувати інформацію руху відеоблоків-кандидатів, зображених на Фіг. 6. Фіг. 7 є концептуальною схемою, яка зображує приклад способу аналізу відеоблоків на основі критеріїв, для того щоб кодувати інформацію руху для поточного відеоблока. По суті приклад, зображений на Фіг. 7, зображає ефективний спосіб для порівняння інформації руху поточного відеоблока з відеоблоками, які можуть використовуватися для кодування інформації руху поточного відеоблока. Приклад, описаний відповідно до Фіг. 7, може використовуватися для пошуку різного розміру набору відеоблоків з прогнозуванням руху. У прикладі, показаному на Фіг. 7, знаходиться одинадцять відеоблоків з прогнозуванням руху. Кожний з відеоблоків включає в себе значення режиму напрямку (тобто, з одним прогнозом або з двома прогнозами), значення опорного списку і значення опорного індексу. До порівняння інформації руху поточного відеоблока з інформацією руху кожного з одинадцяти відеоблоків з прогнозуванням руху, зображених на Фіг. 7, може відбуватися перше порівняння значення направленого режиму, значення опорного списку і значення опорного індексу. Це може привести до виникнення меншої кількості порівнянь інформації руху. Таким чином компонент 32 кодування з прогнозуванням може ефективно шукати відеоблок з прогнозуванням руху для поточного відеоблока. Згідно з прикладом, показаним на Фіг. 7, значення опорного списку і значення опорного індексу відеоблока з прогнозуванням руху можуть бути порівняні з поточним відеоблоком. У прикладі, зображеному на Фіг. 7, може бути визначено, чи передбачає вектор руху відеоблока з прогнозуванням руху з того ж самого опорного списку і того ж самого опорного індексу, що і вектор руху поточних відеоблоків. Як зображено в прикладі, показаному на Фіг. 7, передбачається, що поточний відеоблок піддається кодуванню в режимі з двома прогнозами, і два вектори руху, що використовуються в даному режимі з двома прогнозами, вказують на опорний список L1 і опорний індекс 0. Пошук може бути проведений серед відеоблоків з прогнозуванням руху для знаходження блоків, що піддалися кодуванню в режимі з двома прогнозами, і два вектори руху, що використовуються в даному режимі з двома прогнозами, вказують на опорний список L1 і опорний індекс 0. У зразковому способі пошуку, зображеному на Фіг. 7, пошук починається зліва вздовж напрямку лівого пошуку (від відеоблоків з 0 по 4), якщо узгодження знаходиться (в даному прикладі відеоблок-кандидат 2 являє собою узгодження), лівий пошук може бути зупинений, і починається верхній пошук з відеоблоків-кандидатів 5 по 10 вздовж напрямку верхнього пошуку. Як тільки знаходиться перше узгодження верхніх відеоблоків-кандидатів (в даному прикладі відеоблок 6 являє собою узгодження), верхній пошук може бути зупинений. Інформація руху поточного відеоблока може бути порівняна з інформацією руху відеоблока 2 і відеоблока 6. 10 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 Даний процес може бути повторений поки необхідна інформація руху одиниці прогнозуючого відеоблока знаходиться всередині порогової величини інформації руху поточного відеоблока. Потрібно зазначити, що в прикладі, показаному на Фіг. 7, якщо напрямок прогнозу не був би такий, що брався до уваги, то набір блоків з прогнозуванням руху міг би включати в себе відеоблок 0 (перше узгодження в лівому пошуку) і відеоблок 6 (перше узгодження у верхньому пошуку). Відеоблок-кандидат 0 може зрештою бути не корисний для прогнозування інформації вектора руху поточного відеоблока, тому що він піддається кодуванню в режимі з одним прогнозуванням. Відповідно до прикладів даного розкриття, можуть бути додані додаткові критерії для аналізу відеоблоків-кандидатів. У доповнення до опорного списку, опорного індексу і напрямку прогнозу, додаткові критерії можуть включати в себе одне або більш з розміру блока, розміру одиниці прогнозу, типу розділення з прогнозуванням, індексу перетворення, розміру перетворення, або іншої інформації, що стосується відеоблока. Компонент 32 кодування з прогнозуванням може генерувати значення індексу, щоб повідомити декодеру, де розташувати блок з прогнозуванням руху (наприклад, у верхній, лівий або близько розташований). Декодер може виконати процес зворотного пошуку, щоб визначити відеоблок з прогнозуванням руху. Таким чином декодер може згенерувати вектор руху для поточного відеоблока за допомогою виконання пошуку піднабору відеоблоків. На Фігурі 7 значення індексу може вказувати піднабір відеоблоків з прогнозуванням руху (тобто відеоблоки з 0 по 4 або відеоблоки з 5 по 10) з відомого набору. Використовуючи значення індексу, декодер може порівняти інформацію, таку як значення режиму напрямку, значення опорного списку і значення опорного індексу відеоблоків з прогнозуванням руху з поточним відеоблоком. Якщо є "узгодження", інформація руху для поточного відеоблока може бути згенерована з першого прогнозуючого відеоблока, який створює "узгодження". Таким чином інформація руху образу для поточного відеоблока може бути закодована за допомогою використання значення індексу, що ідентифікує той піднабір. Цим може бути досягнута істотна економія бітів в порівнянні з генеруванням значення індексу, що ідентифікує прогнозуючий відеоблок. Відповідно до розкриття компонент 32 кодування з прогнозуванням може кодувати інформацію руху поточного відеоблока з використанням впорядкованої ієрархії, де впорядкована ієрархія основана на інформації про розділення. Фіг. 8 є концептуальною схемою, яка зображує приклади розділень відеоблока. Форми розділення з прогнозуванням, показані на Фіг. 8, є деякими прикладами форм розділення з прогнозуванням, які можуть бути задані за допомогою одиниці прогнозу (PU) і індексом PU відповідно до стандарту високоефективного кодування відео (HEVC), що виходить. При кодуванні інформації руху поточного відеоблока з використанням форми розділення (яка може бути задана за допомогою форми PU і індексу, який задає розмір PU), п'ять блоків-кандидатів можуть бути впорядковані від більш високої імовірності до більш низької імовірності. Де імовірність відповідає імовірності того, що вектор руху одного з даних п'яти відеоблоків-кандидатів буде "узгоджуватися" з вектором руху поточного відеоблока. Впорядковані набори можуть бути запрограмовані заздалегідь і збережені в кодері і в декодері. Фіг. 9A-9K є концептуальними схемами, які зображають приклади створення впорядкованої ієрархії на основі типу розділення для набору відеоблоків з прогнозуванням руху. У прикладах, зображених на Фіг. 9A-9K, набір блоків з прогнозуванням руху включає в себе п'ять блоків, показаних на Фіг. 1A. В інших прикладах набір відеоблоків з прогнозуванням руху може включати в себе більше або менше відеоблоків з прогнозуванням руху. Наприклад, набір може включати в себе три відеоблоки з прогнозуванням руху. Включення меншої кількості відеоблоків з прогнозуванням руху в набір може зменшити складність кодування. У прикладах, показаних на Фіг. 9A-9K, числа всередині відеоблоків з прогнозуванням руху являють собою ієрархічний порядок відеоблоків з прогнозуванням руху. Для кожної форми розділення з прогнозуванням (яка може бути задана за допомогою форми PU і індексу, який задає розмір PU), впорядкування може бути запрограмоване попередньо і збережене як в кодері, так і в декодері. Наприклад, на Фіг. 9A ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою 2Nx2N, може бути задана як: блок L, блок Т, блок BL, блок TR, Часовий. Наприклад, на Фіг. 9B ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою 2NxN_0, може бути задана як: блок Т, блок L, блок TR, блок BL, Часовий. Наприклад, на Фіг. 9C ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою Nx2N_l, може бути задана як: блок L, блок BL, блок Часовий, блок TR, блок Т. Наприклад, на Фіг. 9D ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою Nx2N_0, може бути задана як: блок L, блок Т, блок BL, Часовий, блок TR. 11 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 Наприклад, на Фіг. 9E ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою Nx2N_l, може бути задана як: блок Т, блок TR, Часовий, блок BL, блок L. Наприклад, на Фіг. 9F ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою NxN_0, може бути задана як: блок L, блок Т, блок BL, блок TR, Часовий. Наприклад, на Фіг. 9G ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою NxN_2, може бути задана як: блок L, блок BL, блок Т, блок TR, Часовий. Наприклад, на Фіг. 9H ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою NxN_1, може бути задана як: блок Т, блок TR, блок L, Часовий, блок BL. Наприклад, на Фіг. 9I ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою NxN_3, може бути задана як: блок L, блок Т, Часовий, блок TR, блок BL. Наприклад, на Фіг. 9J ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою Nx2N_0, може бути задана як: блок TL, блок Т, блок BL, Часовий, блок TR, блок L. Наприклад, на Фіг. 9K ієрархія відеоблоків з прогнозуванням руху, коли форма розділення являє собою Nx2N_1, може бути задана як: блок Т, блок TR, Часовий, блок BL, блок TL, блок L. Компонент 32 кодування з прогнозуванням може кодувати інформацію руху поточного відеоблока з використанням зразкового ієрархічного впорядкування, зображеного на Фіг. 9A-9I. Зразкове ієрархічне впорядкування може зберігатися в пам'яті 34. Фіг. 10 є прикладом блоксхеми послідовності операцій способу, що зображає методику для кодування відеоданих з використанням зразкового ієрархічного впорядкування на Фіг. 9A-9I. Потрібно зазначити, що, хоч Фіг. 10 описана спільно з відеокодером 50, етапи, описані на Фіг. 10, можуть бути виконані іншими пристроями і складовими. На етапі 250, компонент 32 кодування з прогнозуванням отримує вектор руху для поточного відеоблока. Як описано вище, вектор руху вказує прогнозуючий відеоблок, який може використовуватися для кодування поточного відеоблока. На етапі 252, компонент 32 кодування з прогнозуванням отримує тип розділення для поточного відеоблока. Компонент 32 кодування з прогнозуванням може прийняти значення типу розділення від компонента 31 розділення на дерево квадрантів. У одному прикладі тип розділення відповідає одному з типів розділення, описаних на Фіг. 9A-9I. На етапі 254, компонент 32 кодування з прогнозуванням вибирає один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення. Наприклад, якщо тип розділення являє собою Nx2N_1, набір впорядкованих прогнозуючих відеоблоків-кандидатів може бути заданий як: блок Т, блок TR, Часовий, блок BL, блок L. На етапі 256, компонент 32 кодування з прогнозуванням вибирає прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоківкандидатів на основі вектора руху поточного відеоблока. На етапі 256, вектор руху поточного відеоблока може бути порівняний з кожним з векторів руху відеоблоків-кандидатів всередині набору. Порівняння може бути зроблене подібно до пошуку, описаному згідно з Фіг. 7, де виконується мінімальна кількість порівнянь векторів руху, і якщо вектор руху знайдений всередині порогової величини вектора руху поточного відеоблока, пошук завершується. На етапі 258 компонент 32 кодування з прогнозуванням генерує значення індексу, що ідентифікує вибраний прогнозуючий відеоблок. Значення індексу для кожного з прогнозуючих відеоблоківможуть бути збережені в пам'яті 34. Кодові слова змінної довжини можуть використовуватися як значення індексів для кожного з відеоблоків з прогнозуванням руху. Відеоблоку з прогнозуванням руху, який має найвищу імовірність того, щоб бути найбільш високо ранжированим відеоблоком з прогнозуванням руху для даного поточного відеоблока, може бути призначене найкоротше кодове слово. За допомогою призначення значень індексів змінної довжини може бути досягнута економія бітів. Декодер може бути запрограмований, щоб знати ту ж саму ієрархію, і тому, може належно інтерпретувати прийняте кодове слово, щоб здійснити той же самий використаний вибір, як кодер. У одному прикладі, найбільш високо ранжированому прогнозуючому відеоблоку в кожному з наборів, заданих на Фіг. 9A-9I, може бути призначене значення індексу в один біт. У інших прикладах в будь-якому даному сценарії може розглядатися тільки піднабір (наприклад, верхні 3 з 5), що може зменшити складність кодування. Таким чином, якщо декілька відеоблоків в групі кодуються з використанням тільки піднабору відеоблоків, кількість значень індексів, що використовуються для кодування групи, може додатково бути зменшена. У цьому випадку відеокодер 50 може сигналізувати зменшений набір значень індексів для групи закодованих відеоблоків. Приклади створення впорядкованої ієрархії відеоблоків з прогнозуванням руху на основі форми розділення, описаної в даному документі, можуть бути використані спільно зі способами генерування інформації руху для поточного відеоблока. Наприклад, кодер може генерувати поточний відеоблок з використанням будь-якої з наступних методик: успадковування вектора 12 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 руху з ідентифікованого відеоблока з прогнозуванням руху, обчислення вектора руху за допомогою додавання або віднімання залишкової інформації вектора руху відносно вектора руху ідентифікованого відеоблока з прогнозуванням руху, або обчислення вектора руху з використанням інформації вектора руху з одного або більше високо ранжированих відеоблоків з прогнозуванням руху за допомогою вибору серединного вектора руху або усереднення векторів руху. Фіг. 11 є блок-схемою, яка зображує приклад відеодекодера 60, який декодує відеопослідовність, яка закодована так, як описано в даному документі. Методики даного розкриття можуть бути виконані за допомогою відеодекодера 60 в деяких прикладах. Зокрема, відеодекодер 60 може виконувати одну або більше методик визначення інформації руху для поточного відеоблока, описаного в даному документі як частина процесу декодування. Відеодекодер 60 включає в себе компонент 52 ентропійного декодування, який виконує функцію зворотного декодування відносно кодування, виконаного за допомогою компонента 46 ентропійного кодування Фіг. 2. Зокрема, компонент 52 ентропійного декодування може виконувати CAVLC або CABAC декодування, або будь-який інший тип ентропійного декодування, що використовується відеокодером 50. Відеодекодер 60 також включає в себе компонент 54 декодування з прогнозуванням, компонент 56 зворотного квантування, компонент 58 зворотного перетворення, пам'ять 62 і суматор 64. Зокрема, подібно до відеокодера 50, відеодекодер 60 включає в себе компонент 54 декодування з прогнозуванням і фільтруючий компонент 57. Компонент 54 декодування з прогнозуванням відеодекодера 60 може включати в себе компонент 86 компенсації руху, який декодує блоки, які піддалися внутрішньому кодуванню, і можливо включає в себе один або більше інтерполюючих фільтрів для субпіксельної інтерполяції при процесі компенсації руху. Компонент 54 декодування з прогнозуванням може також включати в себе компонент з внутрішнім прогнозуванням для внутрішніх режимів декодування. Компонент 54 декодування з прогнозуванням може підтримувати множину режимів 35, що включають в себе один або більше режимів, які підтримують AMVP і/або один або більше режимів злиття. Фільтруючий компонент 57 може здійснювати фільтрацію на виході суматора 64 і може приймати ентропійно декодований інформацію з фільтра, щоб задати коефіцієнти фільтра, що застосовуються при контурній фільтрації. Після прийому закодованих відеоданих компонент 52 ентропійного декодування виконує зворотне декодування відносно кодування, виконаного за допомогою компонента 46 ентропійного кодування (в кодері 50 на Фіг. 2). У декодері, компонент 52 ентропійного декодування синтаксично аналізує бітовий потік для визначення найбільших одиниць кодування і відповідного розділення, пов'язаного з даними найбільшими одиницями кодування. У деяких прикладах LCU або одиниці кодування LCU можуть задавати режими кодування, які були використані, і ці режими кодування можуть включати в себе режим злиття з двома прогнозами. Відповідно, компонент 52 ентропійного декодування може пересилати синтаксичну інформацію в одиниць з прогнозуванням, який ідентифікує режим злиття з двома прогнозами. Фіг. 12 є прикладом блок-схеми послідовності операцій способу, що зображає методику для декодування відеоданих з використанням зразкового ієрархічного впорядкування на Фіг. 9A-9I. Потрібно зазначити, що, хоч Фіг. 12 описана спільно з відеокодером 60, етапи, описані на Фіг. 12, можуть бути виконані за допомогою інших пристроїв і складових. На етапі 350, компонент 54 прогнозуючого декодування отримує значення індексу для поточного відеоблока. Як описано вище, відповідно до Фіг. 10 значення індексу вказує прогнозуючий відеоблок, який може використовуватися для генерування вектора руху для поточного відеоблока. На етапі 352, компонент 54 прогнозуючого декодування отримує тип розділення для поточного відеоблока. У одному прикладі тип розділення відповідає одному з типів розділення, описаних на Фіг. 9A-9I. На етапі 354, компонент 54 прогнозуючого декодування вибирає один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі типу розділення. Наприклад, якщо тип розділення являє собою Nx2N_1, то набір впорядкованих прогнозуючих відеоблоків-кандидатів може бути заданий як: блок Т, блок TR, Часовий, блок BL, блок L. На етапі 356, одиниць 54 прогнозуючого декодування вибирає прогнозуючий відеоблок з вибраного одного з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів на основі значення індексу. На етапі 358, компонент 54 прогнозуючого декодування генерує вектор руху. Наприклад, компонент 54 прогнозуючого декодування може згенерувати вектор руху з використанням будь-якої з наступних методик: успадковування вектора руху з ідентифікованого відеоблока з прогнозуванням руху, обчислення вектора руху за допомогою додавання або віднімання залишкової інформації вектора руху відносно вектора руху ідентифікованого відеоблока з прогнозуванням руху, або обчислення вектора руху з використанням інформації 13 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 вектора руху з одного або більше відеоблоків з прогнозуванням руху з високим ранжуванням за допомогою вибору серединного вектора руху або усереднення векторів руху. У прикладі, описаному на Фіг. 12, декодер 60 може бути запрограмований, щоб знати ієрархії форми розділення, описані на Фіг. 9A-9I, і тому, може належно інтерпретувати прийняте значення індексу, щоб зробити той же самий вибір відеоблока з прогнозуванням, як кодер 50. У одному прикладі, прогнозуючому відеоблоку з найвищим ранжуванням в кожному з наборів, заданих на Фіг. 9A-9I, може бути призначене значення індексу в один біт. У інших прикладах в будь-якому даному сценарії може розглядатися тільки піднабір (наприклад, верхні 3 з 5), що може зменшити складність кодування. Наприклад, для розділення Nx2N_1 набору з впорядкованих прогнозуючих відеоблоків-кандидатів блока Т, блока TR, і Часового може бути призначені наступні значення індексів: 1, 01, і 00. Таким чином, якщо декілька відеоблоків кодуються з використанням контейнера значень індексів тільки верхніх 3 відеоблоків, то може бути досягнута додаткова економія бітів. У цьому випадку відеокодер 50 може сигналізувати кількість прогнозуючих рух відеоблоків для групи закодованих відеоблоків. Це може бути виконане подібним чином, як здійснюється сигналізація набору з лівого набору блоків в прикладі, описаному відповідно до Фіг. 7. Потрібно розуміти, що залежно від прикладу, деякі дії або події будь-якої з методик, описаних в даному документі, можуть бути виконані в іншій послідовності, можуть бути додані, об'єднані, або повністю опущені (наприклад, не всі описані дії або події необхідні для застосування методик). Крім тієї, в деяких прикладах, дії або події можуть бути виконані одночасно, наприклад, за допомогою багатопотокової обробки, обробки переривань, або множини процесорів, а не послідовно. У одному або більше прикладах, описані функції можуть бути реалізовані в апаратному забезпеченні, програмному забезпеченні, апаратно-програмному забезпеченні, або будь-якій їх комбінації. При реалізації в програмному забезпеченні, функції можуть бути збережені на або передані по як одна або більше команд або код на зчитуваному комп'ютером носії і виконані за допомогою основаного на апаратному забезпеченні блоку обробки. Зчитувані комп'ютером носії можуть включати в себе зчитувані комп'ютером носії зберігання інформації, які відповідають матеріальному носію, такому як носій даних, або середовище зв'язку, що включає в себе будьяке середовище, яке сприяє перенесенню комп'ютерної програми з одного місця в інше, наприклад, згідно з протоколом зв'язку. У цьому випадку зчитуваний комп'ютером носій загалом може відповідати (1) матеріальним зчитуваним комп'ютером носіям зберігання інформації, які є нечасовими або (2) середовищу зв'язку, такому як сигнал або несуча хвиля. Носії зберігання даних можуть бути будь-якими доступними носіями, до яких може бути здійснений доступ за допомогою одного або більше комп'ютерів або одного або більше процесорів для витягання команд, код і/або структури даних для реалізації методик, описані в даному розкритті. Комп'ютерний програмний продукт може включати в себе зчитуваний комп'ютером носій. Як приклад, а не обмеження, такі зчитувані комп'ютером носії зберігання інформації можуть містити RAM, ROM, EEPROM, CD-ROM або інший запам'ятовуючий пристрій на оптичному диску, запам'ятовуючий пристрій на магнітних дисках, або інші пристрої магнітного зберігання, флеш-пам'ять, або будь-який інший носій, який може використовуватися для зберігання необхідного програмного коду в формі команд або структур даних, і до якого може бути здійснений доступ за допомогою комп'ютера. Крім того, будь-яке з'єднання належно називають зчитуваним комп'ютером носієм. Наприклад, якщо команди передаються від веб-сторінки, сервера або іншого віддаленого джерела з використанням коаксіального кабелю, оптоволоконного кабелю, витої пари, цифрової абонентської лінії зв'язку (DSL), або бездротової технології, такої як інфрачервоне випромінювання, радіо- і мікрохвильове випромінювання, то коаксіальний кабель, оптоволоконний кабель, вита пара, DSL або бездротові технології, такі як інфрачервоне випромінювання, радіо- і мікрохвильове випромінювання містяться у визначенні носія. Потрібно розуміти, однак, що зчитувані комп'ютером носії зберігання інформації і носії даних не включають в себе з'єднання, несучі хвилі, сигнали або інші змінювані середовища, а замість цього адресуються до нечасових, матеріальних носіїв зберігання інформації. Магнітний диск і немагнітний диск, що використовується в даному документі, включають в себе (немагнітний) компакт-диск (CD), (немагнітний) лазерний диск, (немагнітний) оптичний диск, (немагнітний) цифровий універсальний диск (DVD), гнучкий (магнітний) диск і (немагнітний) диск Blu-ray, де магнітні диски звичайно відтворюють дані магнітним чином, в той час як немагнітні диски відтворюють дані оптичним чином за допомогою лазерів. Комбінації вищезазначеного також повинні бути включені в об'єм зчитуваного комп'ютером носія. Команди можуть бути виконані за допомогою одного або більше процесорів, таких як один або більше цифрових сигнальних процесорів (DSP), мікропроцесорами загального призначення, 14 UA 107153 C2 5 10 15 20 інтегральними схемами спеціального призначення (ASIC), програмованими вентильними матрицями (FPGA) або іншими еквівалентними інтегральними або дискретними логічними схемами. Відповідно, термін "процесор", що використовується в даному документі, може стосуватися будь-якої вищезазначеної структури або будь-якої іншої структури, відповідної для реалізації методик, описаних в даному документі. Крім того, в деяких аспектах, функціональність, описана в даному документі, може бути надана в спеціалізованому апаратному забезпеченні і/або модулях програмного забезпечення, сконфігурованих для кодування і декодування, або вбудовані в об'єднаний кодек. Крім того, методики можуть повністю бути реалізовані в одній або більше схемах або логічних елементах. Методики даного розкриття можуть бути реалізовані в широкій різноманітності пристроїв або обладнання, що включають в себе бездротову гарнітуру, інтегральну схему (IC) або набір IC (наприклад, комплект мікросхем). Різні компоненти, модулі або блоки описані в даному розкритті з акцентом на функціональних аспектах пристроїв, сконфігурованих з можливістю виконання розкритих методик, але не вимагають обов'язкової реалізації за допомогою різних компонентів апаратного забезпечення. Швидше, як описано вище, різні компоненти можуть бути скомбіновані в компоненті апаратного забезпечення кодека або надані за допомогою сукупності взаємодіючих компонентів апаратного забезпечення, що включають в себе один або більше процесорів, як описано вище, спільно з відповідним програмним забезпеченням і/або апаратнопрограмним забезпеченням. Були описані різні приклади. Ці і інші приклади знаходяться в об'ємі наступної формули винаходу. ФОРМУЛА ВИНАХОДУ 25 30 35 40 45 50 55 60 1. Спосіб декодування відеоданих згідно з режимом злиття, причому спосіб включає етапи, на яких: одержують значення індексу для поточного відеоблока, кодованого в режимі злиття; генерують набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмежують згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибирають прогнозуючий відеоблок зі згаданого піднабору на основі значення індексу; і генерують інформацію руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока. 2. Спосіб за п. 1, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані зі згаданих щонайменше п'яти можливих відеоблоків. 3. Спосіб за п. 2, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 4. Спосіб за п. 1, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока і не включає в себе суміжний лівий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 5. Спосіб за п. 4, в якому етап генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе етап, на якому наслідують вектор руху з прогнозуючого відеоблока. 6. Пристрій для декодування відеоданих згідно з режимом злиття, причому пристрій містить відеодекодер, сконфігурований з можливістю: одержання значення індексу для поточного відеоблока, кодованого в режимі злиття; генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоківкандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибору прогнозуючого відеоблока зі згаданого піднабору на основі значення індексу; і 15 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 генерування інформації руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока. 7. Пристрій за п. 6, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з щонайменше п'яти можливих відеоблоків. 8. Пристрій за п. 7, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 9. Пристрій за п. 6, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 10. Пристрій за п. 9, в якому конфігурування з можливістю генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе конфігурування з можливістю наслідування вектора руху з прогнозуючого відеоблока. 11. Пристрій за п. 6, в якому пристрій містить щонайменше одне з: інтегральної схеми; мікропроцесора, або пристрою бездротового зв'язку, який включає в себе відеодекодер. 12. Пристрій для декодування відеоданих згідно з режимом злиття, причому пристрій містить: засіб для одержання значення індексу для поточного відеоблока, кодованого в режимі злиття; засіб генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео типу розділення, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; засіб для обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; засіб для вибору прогнозуючого відеоблока з піднабору на основі значення індексу; засіб для генерування інформації руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока. 13. Пристрій за п. 12, в якому піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з щонайменше п'яти можливих відеоблоків. 14. Пристрій за п. 13, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 15. Пристрій за п. 12, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 16. Пристрій за п. 15, в якому генерування вектора руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включає в себе наслідування вектора руху з прогнозуючого відеоблока. 17. Зчитуваний комп'ютером носій даних, що має збережені на ньому команди, які при виконанні примушують процесор пристрою для декодування відеоданих згідно з режимом злиття: одержувати значення індексу для поточного відеоблока, кодованого в режимі злиття; генерувати набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому згаданий набір прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмежувати згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибирати прогнозуючий відеоблок зі згаданого піднабору на основі значення індексу; і генерувати інформацію руху для поточного відеоблока згідно зі згаданим режимом злиття на основі інформації руху прогнозуючого відеоблока, причому генерування інформації руху для поточного відеоблока містить наслідування інформації руху з прогнозуючого відеоблока. 18. Зчитуваний комп'ютером носій даних за п. 17, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати з щонайменше п'яти можливих відеоблоків. 16 UA 107153 C2 5 10 15 20 25 30 35 40 45 50 55 60 19. Зчитуваний комп'ютером носій даних за п. 18, в якому п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 20. Зчитуваний комп'ютером носій даних за п. 17, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і суміжний верхній правий відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 21. Зчитуваний комп'ютером носій даних за п. 20, в якому команди, які при виконанні примушують процесор генерувати вектор руху на основі інформації руху прогнозуючого відеоблока для поточного відеоблока включають в себе команди, які при виконанні примушують процесор наслідувати вектор руху з прогнозуючого відеоблока. 22. Спосіб кодування відеоданих згідно з режимом злиття, причому спосіб включає етапи, на яких: одержують вектор руху для поточного відеоблока; генерують набір впорядкованих прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмежують згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибирають прогнозуючий відеоблок зі згаданого піднабору на основі вектора руху;і генерують значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок. 23. Спосіб за п. 22, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків. 24. Спосіб за п. 23, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 25. Спосіб за п. 22, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 26. Пристрій для кодування відеоданих згідно з режимом злиття, причому пристрій містить відеокодер, сконфігурований з можливістю: одержання вектора руху для поточного відеоблока; генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибору прогнозуючого відеоблока зі згаданого піднабору на основі вектора руху; і генерування значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок. 27. Пристрій за п. 26, в якому згаданий піднабір включає в себе три прогнозуючі блокикандидати, вибрані з п'яти можливих відеоблоків. 28. Пристрій за п. 27, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 29. Пристрій за п. 26, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 30. Пристрій за п. 26, в якому пристрій містить щонайменше одне з: інтегральної схеми; мікропроцесора; або пристрою бездротового зв'язку, який включає в себе відеодекодер. 17 UA 107153 C2 5 10 15 20 25 30 35 40 31. Пристрій для кодування відеоданих згідно з режимом злиття, причому пристрій містить: засіб для одержання вектора руху для поточного відеоблока; засіб для генерування набору прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; засіб для обмеження згаданого набору прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; засіб для вибору прогнозуючого відеоблока зі згаданого піднабору на основі вектора руху; і засіб для генерування значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок. 32. Пристрій за п. 31, в якому згаданий піднабір включає в себе три прогнозуючі блокикандидати, вибрані з п'яти можливих відеоблоків. 33. Пристрій за п. 32, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 34. Пристрій за п. 31, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 35. Зчитуваний комп'ютером носій даних, який має збережені на ньому команди, які при виконанні примушують процесор пристрою для кодування відеоданих згідно з режимом злиття: одержувати вектор руху для поточного відеоблока; генерувати набір прогнозуючих відеоблоків-кандидатів на основі просторових і часових сусідів для поточного блока відео, при цьому щонайменше один з множини заданих наборів впорядкованих прогнозуючих відеоблоків-кандидатів включає в себе набір з N прогнозуючих відеоблоків-кандидатів, причому N менше п'яти; обмежувати згаданий набір прогнозуючих відеоблоків-кандидатів піднабором прогнозуючих відеоблоків-кандидатів; вибирати прогнозуючий відеоблок зі згаданого піднабору на основі вектора руху; генерувати значення індексу, що ідентифікує згаданий вибраний прогнозуючий відеоблок. 36. Зчитуваний комп'ютером носій даних за п. 35, в якому згаданий піднабір включає в себе три прогнозуючі блоки-кандидати, вибрані з п'яти можливих відеоблоків. 37. Зчитуваний комп'ютером носій даних за п. 36, в якому згадані п'ять можливих відеоблоків включають в себе: суміжний лівий відеоблок відносно поточного відеоблока, суміжний верхній відеоблок відносно поточного відеоблока, суміжний верхній правий відеоблок відносно поточного відеоблока, суміжний нижній лівий відеоблок відносно поточного відеоблока і суміжний тимчасовий відеоблок відносно поточного відеоблока. 38. Зчитуваний комп'ютером носій даних за п. 35, в якому перший набір містить суміжний верхній відеоблок відносно поточного відеоблока, і перша форма розділення задана згідно з індексом одиниці розділення Nx2N_l. 18 UA 107153 C2 19 UA 107153 C2 20 UA 107153 C2 21 UA 107153 C2 22 UA 107153 C2 23 UA 107153 C2 24 UA 107153 C2 25 UA 107153 C2 Комп’ютерна верстка В. Мацело Державна служба інтелектуальної власності України, вул. Урицького, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут промислової власності”, вул. Глазунова, 1, м. Київ – 42, 01601 26
ДивитисяДодаткова інформація
Автори російськоюZheng, Yunfei, Chien, Wel-Jung, Karczewicz, Marta
МПК / Мітки
МПК: H04N 7/00
Мітки: відеоблоків, прогнозуванням, руху, ієрархія
Код посилання
<a href="https://ua.patents.su/28-107153-iehrarkhiya-videoblokiv-z-prognozuvannyam-rukhu.html" target="_blank" rel="follow" title="База патентів України">Ієрархія відеоблоків з прогнозуванням руху</a>
Попередній патент: Виконання прогнозування вектора руху для відеокодування
Наступний патент: Протекторний сплав на основі алюмінію