МНОЖЕСТВО ОСНОВАННЫХ НА ИСТОРИИ НЕСМЕЖНЫХ MVP ДЛЯ ОБРАБОТКИ ВОЛНОВОГО ФРОНТА КОДИРОВАНИЯ ВИДЕО

1. Способ кодирования данных видео, содержащий этапы, на которых:
сохраняют информацию движения для первой строки единиц дерева кодирования (CTU) картинки в первом буфере предсказателя векторов движения, основывающегося на истории (MVP истории), в памяти;
сбрасывают второй буфер MVP истории в памяти; и
после сброса второго буфера MVP истории, сохраняют информацию движения для второй строки CTU упомянутой картинки во втором буфере MVP истории, причем вторая строка CTU отличается от первой строки CTU.
2. Способ по п.1, в котором второй буфер MVP истории отличается от первого буфера MVP истории, причем упомянутое сохранение информации о движении для первой строки CTU содержит этап, на котором сохраняют, посредством первого подпроцесса процесса кодирования видео, информацию движения для первой строки CTU, и упомянутое сохранение информации движения для второй строки CTU содержит этап, на котором сохраняют, посредством второго подпроцесса процесса кодирования видео, информацию движения для второй строки CTU, причем первый подпроцесс отличается от второго подпроцесса.
3. Способ по п.1, в котором второй буфер MVP истории является тем же самым, что и первый буфер MVP истории, при этом при упомянутом сбросе второго буфера MVP истории второй буфер MVP истории сбрасывают в ответ на обработку начала второй строки CTU во время параллельной обработки волнового фронта.
4. Способ по п.1, в котором
при упомянутом сохранении информации движения для первой строки CTU сохраняют только векторы движения, уникальные в пределах первого буфера MVP истории, в первый буфер MVP истории, и
при упомянутом сохранении информации движения для второй строки CTU сохраняют только векторы движения, уникальные в пределах второго буфера MVP истории, во второй буфер MVP истории.
5. Способ по п.1, дополнительно содержащий этапы, на которых:
когда первый буфер MVP истории становится заполненным, удаляют один или более самых ранних введенных векторов движения из первого буфера MVP истории в соответствии с правилом “первым пришел - первым обслужен” (FIFO); и
когда второй буфер MVP истории становится заполненным, удаляют один или более самых ранних введенных векторов движения из второго буфера MVP истории в соответствии с правилом FIFO.
6. Способ по п.1, в котором
при упомянутом сохранении информации движения для первой строки CTU сохраняют информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из первого множества буферов MVP истории, включающего в себя первый буфер MVP истории; и
при упомянутом сохранении информации движения для второй строки CTU сохраняют информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из второго множества буферов MVP истории, включающего в себя второй буфер MVP истории.
7. Способ по п.6, в котором упомянутое множество разных типов моделей движения содержит одно или более из аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, подблочного предсказания векторов движения (MVP) и временного предсказания движения.
8. Способ по п.1, дополнительно содержащий этап, на котором генерируют синтетические MVP из двух или более MVP в одном или более буферах MVP истории.
9. Способ по п.8, в котором упомянутые два или более MVP имеют разные типы информации движения, содержащие две или более из кодированной информации движения, информации движения аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, информации движения подблочного MVP, информации движения временного предсказателя движения, информации синтетического вектора движения, основывающейся на информации движения MVP, информации движения пространственного MVP и информации движения временного MVP.
10. Способ по п.1, в котором
упомянутое сохранение информации движения для первой строки CTU дополнительно содержит этап, на котором предварительно заполняют первый буфер MVP истории первой заранее определенной информацией движения, причем первая заранее определенная информация движения содержит первый нулевой вектор движения с первым индексом опорного кадра и первым направлением интер-предсказания, и
упомянутое сохранение информации движения для второй строки CTU дополнительно содержит этап, на котором предварительно заполняют второй буфер MVP истории второй заранее определенной информацией движения, причем вторая заранее определенная информация движения содержит второй нулевой вектор движения с вторым индексом опорного кадра и вторым направлением интер-предсказания.
11. Способ по п.1, в котором картинка, включающая в себя первую строку CTU и вторую строку CTU, является первым временным слоем, при этом
упомянутое сохранение информации движения для первой строки CTU дополнительно содержит этап, на котором предварительно заполняют первый буфер MVP истории первой информацией движения из первых одной или более кодированных картинок в первом временном слое или одном и более временных слоях ниже, чем первый временной слой, и
упомянутое сохранение информации движения для второй строки CTU дополнительно содержит этап, на котором предварительно заполняют второй буфер MVP истории второй информацией движения из вторых одной или более кодированных картинок в первом временном слое или одном и более временных слоях ниже, чем первый временной слой,
причем способ дополнительно содержит этап, на котором масштабируют по меньшей мере одну из первой информации движения и второй информации движения в соответствии с временными разностями.
12. Способ по п.1, дополнительно содержащий этапы, на которых:
инициализируют первый буфер MVP истории первым нулевым вектором движения, имеющим первый индекс опорного кадра и первое направление интер-предсказания; и
инициализируют второй буфер MVP истории вторым нулевым вектором движения, имеющим второй индекс опорного кадра и второе направление интер-предсказания.
13. Способ по п.1, в котором вторая строка CTU находится непосредственно ниже первой строки CTU, причем способ дополнительно содержит этап, на котором инициализируют или модифицируют второй буфер MVP истории с использованием первого буфера MVP истории.
14. Способ по п.1, дополнительно содержащий этапы, на которых:
декодируют единицы кодирования (CU) из единиц дерева кодирования (CTU) первой строки CTU с использованием первого буфера MVP истории; и
декодируют единицы кодирования (CU) из единиц дерева кодирования (CTU) второй строки CTU с использованием второго буфера MVP истории.
15. Способ по п.1, дополнительно содержащий этапы, на которых:
кодируют единицы кодирования (CU) из единиц дерева кодирования (CTU) первой строки CTU с использованием первого буфера MVP истории; и
кодируют единицы кодирования (CU) из единиц дерева кодирования (CTU) второй строки CTU с использованием второго буфера MVP истории.
16. Способ по п.1, дополнительно содержащий этапы, на которых:
кодируют первую информацию движения единиц кодирования (CU) из единиц дерева кодирования (CTU) первой строки CTU с использованием первого буфера MVP истории, причем кодирование первой информации движения содержит кодирование первой информации движения с использованием AMVP, слияния или аффинного режима; и
кодируют вторую информацию движения единиц кодирования (CU) из единиц дерева кодирования (CTU) второй строки CTU с использованием второго буфера MVP истории, причем кодирование второй информации движения содержит кодирование второй информации движения с использованием AMVP, слияния или аффинного режима.
17. Способ по п.1, дополнительно содержащий этапы, на которых:
добавляют один или более векторов движения к первым одному или более векторам движения первой однонаправленной информации движения в первом буфере MVP истории для преобразования первой однонаправленной информации движения в первую двунаправленную информацию движения, и
добавляют один или более векторов движения ко вторым одному или более векторам движения второй однонаправленной информации движения во втором буфере MVP истории для преобразования второй однонаправленной информации движения во вторую двунаправленную информацию движения.
18. Способ по п.1, в котором
при упомянутом сохранении информации движения для первой строки CTU сохраняют только те векторы движения, которые отличаются от других векторов движения в первом буфере MVP истории на пороговое значение, в первом буфере MVP истории, и
при упомянутом сохранении информации движения для первой строки CTU сохраняют только те векторы движения, которые отличаются от других векторов движения во втором буфере MVP истории на пороговое значение, во втором буфере MVP истории.
19. Способ по п.1, в котором
при упомянутом сохранении информации движения для первой строки CTU сохраняют данные, указывающие, ассоциированы ли векторы движения информации движения для первой строки CTU с кодированными в режиме слияния единицами кодирования (CU) или AMVP-кодированными CU, и
при упомянутом сохранении информации движения для первой строки CTU сохраняют данные, указывающие, ассоциированы ли векторы движения информации движения для второй строки CTU с кодированными в режиме слияния CU или AMVP-кодированными CU.
20. Устройство для кодирования данных видео, содержащее:
память, приспособленную хранить данные видео; и
один или более модулей обработки, реализованных в схемах и выполненных с возможностью:
сохранять информацию движения для первой строки единиц дерева кодирования (CTU) картинки в первом буфере предсказателя векторов движения, основывающегося на истории (MVP истории), в памяти;
сбрасывать второй буфер MVP истории в памяти; и
после сброса второго буфера MVP истории, сохранять информацию движения для второй строки CTU упомянутой картинки во втором буфере MVP истории, причем вторая строка CTU отличается от первой строки CTU.
21. Устройство по п.20, при этом второй буфер MVP истории отличается от первого буфера MVP истории, причем один или более процессоров исполняют первый подпроцесс процесса кодирования видео, чтобы сохранять информацию движения для первой строки CTU, и один или более процессоров исполняют второй подпроцесс процесса кодирования видео, чтобы сохранять информацию движения для второй строки CTU, при этом первый подпроцесс отличается от второго подпроцесса.
22. Устройство по п.20, при этом второй буфер MVP истории является тем же самым, что и первый буфер MVP истории, причем чтобы сбросить второй буфер MVP истории, один или более модулей обработки выполнены с возможностью сбрасывать второй буфер MVP истории в ответ на обработку начала второй строки CTU во время параллельной обработки волнового фронта.
23. Устройство по п.20, в котором
один или более модулей обработки выполнены с возможностью сохранять только векторы движения, уникальные в пределах первого буфера MVP истории, в первом буфере MVP истории, и
один или более модулей обработки выполнены с возможностью сохранять только векторы движения, уникальные в пределах второго буфера MVP истории, во втором буфере MVP истории.
24. Устройство по п.20, в котором один или более модулей обработки дополнительно выполнены с возможностью:
когда первый буфер MVP истории становится заполненным, удалять один или более самых ранних введенных векторов движения из первого буфера MVP истории в соответствии с правилом “первым пришел - первым обслужен” (FIFO); и
когда второй буфер MVP истории становится заполненным, удалять один или более самых ранних введенных векторов движения из второго буфера MVP истории в соответствии с правилом FIFO.
25. Устройство по п.20, в котором
один или более модулей обработки выполнены с возможностью сохранять информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из первого множества буферов MVP истории, включающего в себя первый буфер MVP истории; и
один или более модулей обработки выполнены с возможностью сохранять информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из второго множества буферов MVP истории, включающего в себя второй буфер MVP истории.
26. Устройство по п.25, при этом упомянутое множество разных типов моделей движения содержит одно или более из аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, подблочного предсказания вектора движения (MVP) и временного предсказания движения.
27. Устройство по п.20, в котором один или более модулей обработки дополнительно выполнены с возможностью генерировать синтетический MVP из двух или более MVP в одном или более буферах MVP истории.
28. Устройство п.27, при этом два или более MVP имеют разные типы информации движения, содержащие две или более из кодированной информации движения, информации движения аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, информации движения подблочного MVP, информации движения временного предсказателя движения, информации синтетического вектора движения, основывающейся на информации движения MVP, информации движения пространственного MVP и информации движения временного MVP.
29. Устройство по п.20, дополнительно содержащее устройство отображения, выполненное с возможностью отображения данных видео.
30. Устройство по п.20, дополнительно содержащее камеру, выполненную с возможностью захвата данных видео.
31. Устройство по п.20, причем устройство содержит одно или более из камеры, компьютера, мобильного устройства, устройства вещательного приемника или телевизионной приставки.
32. Устройство п.20, причем устройство содержит по меньшей мере одно из:
интегральной схемы; микропроцессора и устройства беспроводной связи.
33. Машиночитаемый носитель данных, в котором сохранены инструкции, которые при их исполнении предписывают процессору:
сохранять информацию движения для первой строки единиц дерева кодирования (CTU) картинки в первом буфере предсказателя векторов движения, основывающегося на истории (MVP истории), в памяти;
сбрасывать второй буфер MVP истории в памяти; и
после сброса второго буфера MVP истории, сохранять информацию движения для второй строки CTU упомянутой картинки во втором буфере MVP истории, причем вторая строка CTU отличается от первой строки CTU.
34. Машиночитаемый носитель данных по п.33, при этом второй буфер MVP истории отличается от первого буфера MVP истории, причем инструкции, которые предписывают процессор сохранять информацию движения для первой строки CTU, содержат инструкции, которые предписывают процессору исполнять первый подпроцесс процесса кодирования видео, чтобы сохранять информацию движения для первой строки CTU, и инструкции, которые предписывают процессору сохранять информацию движения для второй строки CTU, содержат инструкции, которые предписывают процессору исполнять второй подпроцесс процесса кодирования видео, чтобы сохранять информацию движения для второй строки CTU, при этом первый подпроцесс отличается от второго подпроцесса.
35. Машиночитаемый носитель данных по п.33, причем второй буфер MVP истории является тем же самым, что и первый буфер MVP истории, при этом инструкции, которые предписывают процессору сбрасывать второй буфер MVP истории, содержат инструкции, которые предписывают процессору сбрасывать второй буфер MVP истории в ответ на обработку начала второй строки CTU во время параллельной обработки волнового фронта.
36. Машиночитаемый носитель данных по п.33, при этом
инструкции, которые предписывают процессору сохранять информацию движения для первой строки CTU, содержат инструкции, которые предписывают процессору сохранять только векторы движения, уникальные в пределах первого буфера MVP истории, в первом буфере MVP истории, и
инструкции, которые предписывают процессору сохранять информацию движения для второй строки CTU, содержат инструкции, которые предписывают процессору сохранять только векторы движения, уникальные в пределах второго буфера MVP истории, во втором буфере MVP истории.
37. Машиночитаемый носитель данных по п.33, дополнительно содержащий инструкции, которые предписывают процессору:
когда первый буфер MVP истории становится заполненным, удалять один или более самых ранних введенных векторов движения из первого буфера MVP истории в соответствии с правилом “первым пришел - первым обслужен” (FIFO); и
когда второй буфер MVP истории становится заполненным, удалять один или более самых ранних введенных векторов движения из второго буфера MVP истории в соответствии с правилом FIFO.
38. Машиночитаемый носитель данных по п.33, в котором
инструкции, которые предписывают процессору сохранять информацию движения для первой строки CTU, содержат инструкции, которые предписывают процессору сохранять информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из первого множества буферов MVP истории, включающего в себя первый буфер MVP истории; и
инструкции, которые предписывают процессору сохранять информацию движения для второй строки CTU, содержат инструкции, которые предписывают процессору сохранять информацию движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из второго множества буферов MVP истории, включающего в себя второй буфер MVP истории.
39. Машиночитаемый носитель данных по п.38, при этом упомянутое множество разных типов моделей движения содержит одно или более из аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, подблочного предсказания вектора движения (MVP) и временного предсказания движения.
40. Машиночитаемый носитель данных по п.33, дополнительно содержащий инструкции, которые предписывают процессору генерировать синтетический MVP из двух или более MVP в одном или более буферах MVP истории.
41. Машиночитаемый носитель данных п.40, при этом упомянутые два или более MVP имеют разные типы информации движения, содержащие две или более из кодированной информации движения, информации движения аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, информации движения подблочного MVP, информации движения временного предсказателя движения, информации синтетического вектора движения, основывающейся на информации движения MVP, информации движения пространственного MVP и информации движения временного MVP.
42. Устройство для кодирования данных видео, содержащее:
память, приспособленную хранить данные видео;
средство для сохранения информации движения для первой строки единиц дерева кодирования (CTU) картинки в первом буфере предсказателя векторов движения, основывающегося на истории (MVP истории), в памяти;
средство для сброса второго буфера MVP истории в памяти; и
средство для сохранения информации движения для второй строки CTU упомянутой картинки во втором буфере MVP истории после сброса второго буфера MVP истории, причем вторая строка CTU отличается от первой строки CTU.
43. Устройство по п.42, при этом второй буфер MVP истории отличается от первого буфера MVP истории, причем средство для сохранения информации движения для первой строки CTU содержит первый подпроцесс процесса кодирования видео, и средство для сохранения информации движения для второй строки CTU содержит второй подпроцесс процесса кодирования видео.
44. Устройство по п.42, при этом второй буфер MVP истории является тем же самым, что и первый буфер MVP истории, причем средство для сброса второго буфера MVP истории содержит средство для сброса второго буфера MVP истории в ответ на обработку начала второй строки CTU во время параллельной обработки волнового фронта.
45. Устройство по п.42, в котором
средство для сохранения информации движения для первой строки CTU содержит средство для сохранения только векторов движения, уникальных в пределах первого буфера MVP истории, в первом буфере MVP истории, и
средство для сохранения информации движения для второй строки CTU содержит средство для сохранения только векторов движения, уникальных в пределах второго буфера MVP истории, во втором буфере MVP истории.
46. Устройство по п.42, дополнительно содержащее:
средство для удаления, когда первый буфер MVP истории становится заполненным, одного или более самых ранних введенных векторов движения из первого буфера MVP истории в соответствии с правилом “первым пришел - первым обслужен” (FIFO); и
средство для удаления, когда второй буфер MVP истории становится заполненным, одного или более самых ранних введенных векторов движения из второго буфера MVP истории в соответствии с правилом FIFO.
47. Устройство по п.42, в котором
средство для сохранения информации движения для первой строки CTU содержит средство для сохранения информации движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории из первого множества буферов MVP истории, включающего в себя первый буфер MVP истории; и
средство для сохранения информации движения для второй строки CTU содержит средство для сохранения информации движения для каждого из множества разных типов моделей движения в соответствующих разных буферах MVP истории второго множества буферов MVP истории, включающего в себя второй буфер MVP истории.
48. Устройство по п.47, при этом упомянутое множество разных типов моделей движения содержат одно или более из аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, подблочного предсказания вектора движения (MVP) и временного предсказания движения.
49. Устройство по п.42, дополнительно содержащее средство для генерации синтетического MVP из двух или более MVP в одном или более буферах MVP истории.
50. Устройство по п.49, при этом упомянутые два или более MVP имеют разные типы информации движения, содержащие две или более из кодированной информации движения, информации движения аффинной модели движения, информации движения режима внутриблочного копирования, информации движения компенсации локального освещения, информации движения подблочного MVP, информации движения временного предсказателя движения, информации синтетического вектора движения, основывающейся на информации движения MVP, информации движения пространственного MVP и информации движения временного MVP.