Определение размера палитры, записей палитры и фильтрование блоков, кодированных на основе палитры, при кодировании видео - заявка 2016137792 на патент на изобретение в РФ

1. Способ обработки видеоданных, содержащий этапы, на которых:
определяют, что блок видеоданных является блоком, кодированным на основе палитры;
определяют палитру для блока, включающую в себя одну или более записей палитры, которые указывают одно или более соответственных цветовых значений;
определяют значения индексов для одного или более пикселей блока, причем каждое из значений индексов соответствует одной из записей палитры, которая указывает цветовое значение для одного из пикселей блока;
реконструируют блок видеоданных на основе палитры и значений индексов для блока; и
определяют, на основе блока, являющегося блоком, кодированным на основе палитры, отключить фильтрование реконструированного блока.
2. Способ по п. 1, в котором этап, на котором определяют отключить фильтрование реконструированного блока, содержит этап, на котором отключают по меньшей мере одно из фильтрования реконструированного блока для удаления блочности и фильтрования реконструированного блока с адаптивным смещением выборки (SAO).
3. Способ по п. 1, в котором этап, на котором реконструируют блок, содержит этап, на котором реконструируют блок видеоданных посредством видеодекодера, причем способ дополнительно содержит, на основе отключенного фильтрования, по меньшей мере одно из этапа, на котором выводят видеоданные посредством видеодекодера для отображения, и этапа, на котором сохраняют видеоданные посредством видеодекодера в буфере декодированных изображений без фильтрования реконструированного блока видеоданных.
4. Способ по п. 1, в котором этап, на котором реконструируют блок, содержит этап, на котором реконструируют блок видеоданных посредством видеокодера, причем способ дополнительно содержит, на основе отключенного фильтрования, этап, на котором сохраняют видеоданные посредством видеокодера в буфере декодированных изображений без фильтрования реконструированного блока видеоданных.
5. Способ по п. 1, в котором этап, на котором определяют палитру для блока, содержит этапы, на которых:
определяют, посредством видеокодера, размер палитры и записи палитры для палитры с использованием способа кластеризации значений пикселей; и
определяют, изменить ли по меньшей мере одно из размера палитры и одной или более из записей палитры для палитры, по меньшей мере частично на основе издержек на оптимизацию по скорости-искажению.
6. Способ по п. 5, в котором этап, на котором определяют, изменить ли размер палитры, содержит этап, на котором определяют, сохранить ли или удалить заданное значение индекса, которое соответствует заданной одной из записей палитры для палитры, при этом удаление заданного значения индекса и соответствующей одной из записей палитры для палитры уменьшает размер палитры.
7. Способ по п. 6, дополнительно содержащий этапы, на которых:
вычисляют первые издержки на оптимизацию по скорости-искажению для кодирования по меньшей мере одного пикселя блока с использованием заданного значения индекса, которое соответствует заданной одной из записей палитры, которая указывает цветовое значение для этого по меньшей мере одного пикселя;
вычисляют вторые издержки на оптимизацию по скорости-искажению для кодирования данного по меньшей мере одного пикселя блока как беглого пикселя, в том числе кодируют квантованное значение пикселя для этого по меньшей мере одного пикселя; и
определяют, сохранить ли или удалить заданное значение индекса и соответствующую одну из записей палитры для палитры, на основе сравнения вычислений первых и вторых издержек на оптимизацию по скорости-искажению.
8. Способ по п. 5, в котором этап, на котором определяют, изменить ли размер палитры, содержит этап, на котором определяют, объединить ли заданное значение индекса, которое соответствует заданной одной из записей палитры для палитры, с соседним значением индекса, которое соответствует соседней одной из записей палитры для палитры, при этом объединение заданного значения индекса и соответствующей одной из записей палитры для палитры с соседним значением индекса и соседней одной из записей палитры для палитры уменьшает размер палитры.
9. Способ по п. 8, в котором соседним значением индекса является одно из значения ближайшего индекса в смысле наименьшего евклидова расстояния от заданного значения индекса и значения ближайшего индекса в смысле порядка индексов относительно заданного значения индекса.
10. Способ по п. 8, дополнительно содержащий этапы, на которых:
вычисляют первые издержки на оптимизацию по скорости-искажению для кодирования по меньшей мере одного пикселя блока с использованием заданного значения индекса, которое соответствует заданной одной из записей палитры, которая указывает первое цветовое значение для этого по меньшей мере одного пикселя;
вычисляют вторые издержки на оптимизацию по скорости-искажению для кодирования данного по меньшей мере одного пикселя блока с использованием соседнего значения индекса, которое соответствует соседней одной из записей палитры, которая указывает второе цветовое значение для этого по меньшей мере пикселя, при этом второе цветовое значение аналогично первому цветовому значению; и
определяют, объединить ли заданное значение индекса и соответствующую одну из записей палитры для палитры с соседним значением индекса и соседней одной из записей палитры для палитры, на основе сравнения вычислений первых и вторых издержек на оптимизацию по скорости-искажению.
11. Способ по п. 5, в котором этап, на котором определяют, изменить ли одну или более записей палитры для палитры, содержит этапы, на которых:
определяют репрезентативную палитру для блока видеоданных с использованием способа кластеризации k-средних, причем репрезентативная палитра включает в себя репрезентативные записи палитры, указывающие соответственные средние значения пикселей;
определяют, для заданной одной из репрезентативных записей палитры для репрезентативной палитры, значение пикселя одного из пикселей, увязанных с заданной одной из репрезентативных записей палитры, которое является ближайшим к среднему значению пикселя, указанному заданной одной из репрезентативных записей палитры; и
на основе того, что ближайшее значение пикселя отличается от цветового значения, указанного соответствующей одной из записей палитры для палитры, выбирают ближайшее значение пикселя в качестве итогового цветового значения, указанного заданной одной из записей палитры для палитры.
12. Способ по п. 11, в котором этап, на котором определяют репрезентативную палитру с использованием способа кластеризации k-средних, содержит этапы, на которых:
вычисляют, для каждой из записей палитры для палитры, среднее значение пикселя одного или более пикселей блока, которые увязаны с соответственным цветовым значением, указанным соответственной одной из записей палитры; и
определяют репрезентативную палитру для блока видеоданных, включающую в себя репрезентативные записи палитры, включающие в себя соответственные средние значения пикселей, при этом число итераций способа кластеризации k-средних определяется посредством порогового значения.
13. Способ по п. 5, в котором этап, на котором определяют размер палитры и записи палитры для палитры с использованием способа кластеризации значений пикселей, содержит этапы, на которых:
определяют для блока видеоданных гистограмму, включающую в себя множество записей, причем каждая запись включает в себя соответственное цветовое значение и соответственное количество пикселей блока, которые увязываются с цветовым значением;
сортируют записи гистограммы в убывающем порядке на основе соответственного количества пикселей для каждой из записей, так чтобы первая запись гистограммы включала в себя цветовое значение, имеющее наибольшее количество пикселей относительно других цветовых значений; и
определяют размер палитры и записи палитры для палитры на основе записей гистограммы.
14. Устройство обработки видео, содержащее:
память, приспособленную для хранения видеоданных; и
один или более процессоров на связи с памятью, выполненных с возможностью:
определения того, что блок видеоданных является блоком, кодированным на основе палитры;
определения палитры для блока, включающей в себя одну или более записей палитры, которые указывают одно или более соответственных цветовых значений;
определения значений индексов для одного или более пикселей блока, причем каждое из значений индексов соответствует одной из записей палитры, которая указывает цветовое значение для одного из пикселей блока;
реконструирования блока видеоданных на основе палитры и значений индексов для блока; и
определения, на основе блока, являющегося блоком, кодированным на основе палитры, отключить фильтрование реконструированного блока.
15. Устройство по п. 14, в котором один или более процессоров выполнены с возможностью отключения по меньшей мере одного из фильтрования реконструированного блока для удаления блочности и фильтрования реконструированного блока с адаптивным смещением выборки (SAO).
16. Устройство по п. 14, при этом устройство содержит видеодекодер, причем один или более процессоров видеодекодера выполнены с возможностью, на основе отключенного фильтрования, реконструировать блок видеоданных и выполнять по меньшей мере одно из вывода видеоданных для отображения и сохранения видеоданных в буфере декодированных изображений без фильтрования реконструированного блока видеоданных.
17. Устройство по п. 14, при этом устройство содержит видеокодер, причем один или более процессоров видеокодера выполнены с возможностью, на основе отключенного фильтрования, реконструировать блок видеоданных и сохранять видеоданные в буфере декодированных изображений без фильтрования реконструированного блока видеоданных.
18. Устройство по п. 14, при этом устройство содержит видеокодер, причем для определения палитры для блока, один или более процессоров видеокодера выполнены с возможностью:
определения размера палитры и записей палитры для палитры с использованием способа кластеризации значений пикселей; и
определения того, изменить ли по меньшей мере одно из размера палитры и одной или более из записей палитры для палитры, по меньшей мере частично на основе издержек на оптимизацию по скорости-искажению.
19. Устройство по п. 18, в котором, для определения того, изменить ли размер палитры, один или более процессоров выполнены с возможностью определения того, сохранить ли или удалить заданное значение индекса, которое соответствует заданной одной из записей палитры для палитры, при этом удаление заданного значения индекса и соответствующей одной из записей палитры для палитры уменьшает размер палитры.
20. Устройство по п. 19, в котором один или более процессоров выполнены с возможностью:
вычисления первых издержек на оптимизацию по скорости-искажению для кодирования по меньшей мере одного пикселя блока с использованием заданного значения индекса, которое соответствует заданной одной из записей палитры, которая указывает цветовое значение для этого по меньшей мере одного пикселя;
вычисления вторых издержек на оптимизацию по скорости-искажению для кодирования данного по меньшей мере одного пикселя блока как беглого пикселя, включая кодирование квантованного значения пикселя для этого по меньшей мере одного пикселя; и
определения того, сохранить ли или удалить заданное значение индекса и соответствующую одну из записей палитры для палитры, на основе сравнения вычислений первых и вторых издержек на оптимизацию по скорости-искажению.
21. Устройство по п. 18, в котором, для определения того, изменить ли размер палитры, один или более процессоров выполнены с возможностью определения того, объединить ли заданное значение индекса, которое соответствует заданной одной из записей палитры для палитры, с соседним значением индекса, которое соответствует соседней одной из записей палитры для палитры, при этом объединение заданного значения индекса и соответствующей одной из записей палитры для палитры с соседним значением индекса и соседней одной из записей палитры для палитры уменьшает размер палитры.
22. Устройство по п. 21, в котором соседним значением индекса является одно из значения ближайшего индекса в смысле наименьшего евклидова расстояния от заданного значения индекса и значения ближайшего индекса в смысле порядка индексов относительно заданного значения индекса.
23. Устройство по п. 21, в котором один или более процессоров выполнены с возможностью:
вычисления первых издержек на оптимизацию по скорости-искажению для кодирования по меньшей мере одного пикселя блока с использованием заданного значения индекса, которое соответствует заданной одной из записей палитры, которая указывает первое цветовое значение для этого по меньшей мере одного пикселя;
вычисления вторых издержек на оптимизацию по скорости-искажению для кодирования данного по меньшей мере одного пикселя блока с использованием соседнего значения индекса, которое соответствует соседней одной из записей палитры, которая указывает второе цветовое значение для этого по меньшей мере пикселя, при этом второе цветовое значение аналогично первому цветовому значению; и
определения того, объединить ли заданное значение индекса и соответствующую одну из записей палитры для палитры с соседним значением индекса и соседней одной из записей палитры для палитры, на основе сравнения вычислений первых и вторых издержек на оптимизацию по скорости-искажению.
24. Устройство по п. 18, в котором, для определения того, изменить ли одну или более записей палитры для палитры, один или более процессоров выполнены с возможностью:
определять репрезентативную палитру для блока видеоданных с использованием способа кластеризации k-средних, причем репрезентативная палитра включает в себя репрезентативные записи палитры, указывающие соответственные средние значения пикселей;
определять, для заданной одной из репрезентативных записей палитры для репрезентативной палитры, значение пикселя одного из пикселей, увязанных с заданной одной из репрезентативных записей палитры, которое является ближайшим к среднему значению пикселя, указанному заданной одной из репрезентативных записей палитры; и
на основе того, что ближайшее значение пикселя отличается от цветового значения, указанного соответствующей заданной одной из записей палитры для палитры, выбирать ближайшее значение пикселя в качестве итогового цветового значения, указанного заданной одной из записей палитры для палитры.
25. Устройство по п. 24, в котором, для определения репрезентативной палитры с использованием способа кластеризации k-средних, один или более процессоров выполнены с возможностью:
вычислять, для каждой из записей палитры для палитры, среднее значение пикселя одного или более пикселей блока, которые увязаны с соответствующим цветовым значением, указанным соответствующей одной из записей палитры; и
определять репрезентативную палитру для блока видеоданных, включающую в себя репрезентативные записи палитры, включающие в себя соответствующие средние значения пикселей, при этом число итераций способа кластеризации k-средних определяется посредством порогового значения.
26. Устройство по п. 18, в котором, для определения размера палитры и записей палитры для палитры с использованием способа кластеризации значений пикселей, один или более процессоров выполнены с возможностью:
определять для блока видеоданных гистограмму, включающую в себя множество записей, причем каждая запись включает в себя соответственное цветовое значение и соответственное количество пикселей блока, которые увязываются с цветовым значением;
сортировать записи гистограммы в убывающем порядке на основе соответственного количества пикселей для каждой из записей, так чтобы первая запись гистограммы включала в себя цветовое значение, имеющее наибольшее количество пикселей относительно других цветовых значений; и
определять размер палитры и записи палитры для палитры на основе записей гистограммы.
27. Устройство по п. 14, при этом устройство содержит по меньшей мере одно из:
интегральной схемы;
микропроцессора; или
устройства беспроводной связи.
28. Устройство обработки видео, содержащее:
средство для определения того, что блок видеоданных является блоком, кодированным на основе палитры;
средство для определения палитры для блока, включающей в себя одну или более записей палитры, которые указывают одно или более соответственных цветовых значений;
средство для определения значений индексов для одного или более пикселей блока, причем каждое из значений индексов соответствует одной из записей палитры, которая указывает цветовое значение для одного из пикселей блока;
средство для реконструирования блока видеоданных на основе палитры и значений индексов для блока; и
средство для определения, на основе блока, являющегося блоком, кодированным на основе палитры, отключить фильтрование реконструированного блока.
29. Долговременный машиночитаемый носитель, на котором сохранены инструкции для обработки видеоданных, которые при их исполнении предписывают одному или более процессорам:
определять, что блок видеоданных является блоком, кодированным на основе палитры;
определять палитру для блока, включающую в себя одну или более записей палитры, которые указывают одно или более соответственных цветовых значений;
определять значения индексов для одного или более пикселей блока, причем каждое из значений индексов соответствует одной из записей палитры, которая указывает цветовое значение для одного из пикселей блока;
реконструировать блок видеоданных на основе палитры и значений индексов для блока; и
определять, на основе блока, являющегося блоком, кодированным на основе палитры, отключить фильтрование реконструированного блока.
По доверенности.
Наверх