Способ кодирования видео и устройство кодирования видео и способ декодирования видео и устройство декодирования видео для сигнализации параметров sao

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в минимизации ошибки между исходным изображением и изображением. Способ декодирования адаптивного к выборке сдвига (SAO) содержит получение контекстно-кодированной информации о слиянии влево SAO и контекстно-кодированной информации о слиянии вверх SAO из битового потока наибольшей единицы кодирования (LCU); получение из битового потока информации о включении/выключении SAO относительно каждого цветового компонента посредством выполнения контекстного декодирования над первым бином информации о типе SAO упомянутой LCU; если информация о включении/выключении SAO указывает на выполнение операции SAO, выполнение обходного декодирования над оставшимися бинами информации о типе SAO, следующими за первым бином информации о типе SAO упомянутой LCU; получение из битового потока информации об абсолютном значении сдвига упомянутой LCU относительно каждого цветового компонента посредством выполнения обходного декодирования; и получение из битового потока одной из информации о положении полосы и информации о классе края упомянутой LCU относительно каждого цветового компонента посредством выполнения обходного декодирования. 4 н.п. ф-лы, 33 ил., 1 табл.

Реферат

Область техники

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

Предшествующий уровень техники

По мере того как разрабатываются и поставляются аппаратные средства для воспроизведения и хранения видео контента высокого разрешения или высокого качества, возрастает потребность в видео кодеке для эффективного кодирования или декодирования видео контента высокого разрешения или высокого качества. В соответствии с обычным видео кодеком, видео кодируется согласно ограниченному способу кодирования, основанному на макроблоке, имеющем предопределенный размер.

Данные изображения пространственной области преобразуются в коэффициенты частотной области через частотное преобразование. Согласно видео кодеку, изображение расщепляется на блоки, имеющие предопределенный размер, дискретное косинусное преобразование (DCT) выполняется на каждом блоке, и частотные коэффициенты кодируются в блочных единицах для быстрого вычисления частотного преобразования. По сравнению с данными изображения пространственной области, коэффициенты частотной области легко сжимаются. В частности, поскольку пиксельное значение изображения пространственной области выражается в соответствии с ошибкой предсказания посредством межкадрового (интер-) предсказания или внутрикадрового (интра-) предсказания видео кодека, когда частотное преобразование выполняется на ошибке предсказания, большой объем данных может быть преобразован в 0. В соответствии с видео кодеком, объем данных может быть уменьшен путем замены данных, которые последовательно и повторно генерируются, данными малого размера.

Раскрытие изобретения

Техническая задача

Настоящее раскрытие относится к сигнализации параметров адаптивного к выборке сдвига (SAO), определяемых, чтобы минимизировать ошибку между исходным изображением и восстановленным изображением в операциях кодирования и декодирования видео.

Техническое решение

Согласно аспектами настоящего раскрытие, предложен способ декодирования адаптивного к выборке сдвига (SAO), включающий в себя получение контекстно-кодированной информации о слиянии влево SAO и контекстно-кодированной информации о слиянии вверх SAO из битового потока наибольшей единицы кодирования (LCU); получение информации о включении/выключении SAO, контекстно-кодированной относительно каждого цветового компонента, из битового потока; если информация о включении/выключении SAO указывает на выполнение операции SAO, получение информации об абсолютном значении сдвига для каждой категории SAO, кодированной обходом относительно каждого цветового компонента, из битового потока; и получение одной из информации о положении полосы и информации о классе края, кодированной обходом относительно каждого цветового компонента, из битового потока.

Полезные эффекты

В способах кодирования и декодирования параметров адаптивного к выборке сдвига (SAO), согласно различным вариантам осуществления настоящего раскрытия, поскольку контекстное кодирование и контекстное декодирование выполняются только на информации о слиянии SAO и информации о включении/выключении SAO из числа параметров SAO, и кодирование обхода и декодирование обхода выполняются на остающемся битовом потоке, общий объем вычислений для декодирования параметров SAO может быть уменьшен.

Также, из числа параметров SAO, поскольку некоторые параметры определяются по-разному относительно каждого цветового компонента, и некоторые параметры устанавливаются, чтобы быть теми же самыми по отношению к первому и второму компонентам цветности или по отношению к яркости, и первому и второму компонентам цветности, полная битовая длина параметров SAO может быть уменьшена, и объем данных, подлежащий синтаксическому анализу, также может быть уменьшен.

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

Краткое описание чертежей

Фиг. 1A и 1B - блок-схема устройства кодирования адаптивного к выборке сдвига (SAO) и блок-схема последовательности операций способа кодирования SAO согласно вариантам осуществления настоящего раскрытия;

Фиг. 2A и 2B - блок-схема устройства декодирования SAO и блок-схема последовательности операций способа декодирования SAO согласно вариантам осуществления настоящего раскрытия;

Фиг. 3 - блок-схема устройства декодирования видео согласно вариантам осуществления настоящего раскрытия;

Фиг. 4 - таблица, показывающая классы края типов края, согласно вариантам осуществления настоящего раскрытия;

Фиг. 5A и 5B - таблица и график, показывающие категории типов края, согласно вариантам осуществления настоящего раскрытия;

Фиг. 6A - диаграмма, показывающая смежные наибольшие единицы кодирования (LCU), ссылающиеся на параметры слияния SAO, с текущей LCU, согласно вариантам осуществления настоящего раскрытия;

Фиг. 6B – диаграмма, показывающая процесс выполнения энтропийного кодирования на параметрах SAO, согласно другому варианту осуществления настоящего раскрытия;

Фиг. 7A показывает синтаксис SAO единицы кодирования согласно вариантам осуществления настоящего раскрытия;

Фиг. 7B и 7C показывают SAO синтаксис единицы кодирования согласно другим вариантам осуществления настоящего раскрытия;

Фиг. 8 - блок-схема устройства кодирования видео, основанного на единицах кодирования, имеющих древовидную структуру, согласно вариантам осуществления настоящего раскрытия;

Фиг. 9 - блок-схема устройства декодирования видео, основанного на единицах кодирования, имеющих древовидную структуру, согласно вариантам осуществления настоящего раскрытия;

Фиг. 10 - диаграмма для описания понятия единиц кодирования согласно вариантам осуществления настоящего раскрытия;

Фиг. 11 - блок-схема кодера изображения, основанного на единицах кодирования, согласно вариантам осуществления настоящего раскрытия;

Фиг. 12 - блок-схема декодера изображения, основанного на единицах кодирования, согласно вариантам осуществления настоящего раскрытия;

Фиг. 13 - диаграмма, иллюстрирующая более глубокие единицы кодирования согласно глубинам и разделы согласно вариантам осуществления настоящего раскрытия;

Фиг. 14 - диаграмма для описания соотношения между единицей кодирования и единицами преобразования согласно вариантам осуществления настоящего раскрытия;

Фиг. 15 - диаграмма для описания информации о кодировании единиц кодирования, соответствующих кодированной глубине, согласно вариантам осуществления настоящего раскрытия;

Фиг. 16 - диаграмма более глубоких единиц кодирования соответственно глубинам согласно вариантам осуществления настоящего раскрытия;

Фиг. 17-19 - диаграммы для описания соотношения между единицами кодирования, единицами предсказания и единицами преобразования согласно вариантам осуществления настоящего раскрытия;

Фиг. 20 - диаграмма для описания соотношения между единицей кодирования, единицей предсказания и единицей преобразования, согласно информации о режиме кодирования Таблицы 1;

Фиг. 21 - диаграмма физической структуры диска, в котором сохранена программа, согласно вариантам осуществления настоящего раскрытия;

Фиг. 22 – схема дисковода для записи и считывания программы с использованием диска;

Фиг. 23 - схема полной структуры системы поставки контента для предоставления службы распределения контента;

Фиг. 24 и 25 - схемы соответственно внешней структуры и внутренней структуры мобильного телефона, в котором применяются способ кодирования видео и способ декодирования видео согласно вариантам осуществления настоящего раскрытия;

Фиг. 26 – схема системы цифрового вещания, в которой применяется система связи согласно вариантам осуществления настоящего раскрытия; и

Фиг. 27 - схема, иллюстрирующая сетевую структуру облачной вычислительной системы, использующей устройство кодирования видео и устройство декодирования видео, согласно вариантам осуществления настоящего раскрытия.

Лучший режим выполнения изобретения

Согласно аспектам настоящего раскрытия, обеспечен способ декодирования адаптивного к выборке сдвига (SAO), включающий в себя получение контекстно-кодированной информации о слиянии влево SAO и контекстно-кодированной информации о слиянии вверх SAO из битового потока наибольшей единицы кодирования (LCU); получение информации о включении/выключении SAO, контекстно-кодированной относительно каждого цветового компонента, из битового потока; если информация о включении/выключении SAO указывает на выполнение операции SAO, получение информации об абсолютном значении сдвига для каждой категории SAO, кодированной обходом относительно каждого цветового компонента, из битового потока; и получение одной из информации о положении полосы и информации о классе края, кодированной обходом относительно каждого цветового компонента, из битового потока.

Получение информации о включении/выключении SAO может включать в себя, если информация о включении/выключении SAO указывает на выполнение операции SAO, дополнительно получение информации идентификации краевой полосы, закодированной в режиме обхода относительно каждого цветового компонента, из битового потока, и контекстное декодирование может выполняться на информации о включении/выключении SAO в первом структурном элементе (бине) информации о типе SAO LCU, и декодирование обхода может выполняться на остальных битах информации о типе SAO иной, чем информация о включении/выключении SAO.

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

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

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

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

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

Согласно аспектам настоящего раскрытия, предложен способ кодирования адаптивного к выборке сдвига (SAO), включающий в себя вывод 1-битовой информации о слиянии влево SAO и 1-битовой информации о слиянии вверх SAO наибольшей единицы кодирования (LCU), сгенерированной путем выполнения контекстного кодирования над каждой из информации о слиянии влево SAO и информации о слиянии вверх SAO; вывод 1-битовой информации о включении/выключении SAO, сгенерированной путем выполнения контекстного кодирования над информацией о включении/выключении SAO относительно каждого цветового компонента; если информация о включении/выключении SAO указывает на выполнение операции SAO, вывод битового потока информации об абсолютном значении сдвига, сгенерированной путем выполнения кодирования обхода над информацией об абсолютном значении сдвига относительно каждого цветового компонента и каждой категории SAO; и вывод остающегося битового потока, сгенерированного путем выполнения кодирования обхода над одной из информации о положении полосы и информации о классе края относительно каждого цветового компонента.

Вывод 1-битовой информации о включении/выключении SAO может включать в себя, если информация о включении/выключении SAO указывает на выполнение операции SAO, дополнительно вывод 1-битовой информации идентификации краевой полосы, сгенерированной путем выполнения кодирования обхода над информацией идентификации краевой полосы относительно каждого цветового компонента, и контекстное кодирование может быть выполнено на информации о включении/выключении SAO в первом бине информации о типе SAO LCU, и кодирование обхода может быть выполнено на остальных битах информации о типе SAO иной, чем информация о включении/выключении SAO.

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

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

Согласно аспектам настоящего раскрытия, предложено устройство декодирования адаптивного к выборке сдвига (SAO), включающее в себя контекстный декодер SAO для получения контекстно-кодированной информации о слиянии влево SAO и информации о слиянии вверх SAO и получения информации о включении/выключении SAO, контекстно-кодированной относительно каждого цветового компонента, из битового потока наибольшей единицы кодирования (LCU); декодер обхода SAO для, если информация о включении/выключении SAO указывает на выполнение операции SAO, получения информации об абсолютном значении сдвига, закодированной обходом относительно каждого цветового компонента и каждой категории SAO, и получения одной из информации о положении полосы и информации о классе края, закодированной обходом относительно каждого цветового компонента, из битового потока; и SAO-оператор для, если информация о включении/выключении SAO указывает на выполнение операции SAO, коррекции восстановленных значений LCU для каждой категории SAO на основе информации об абсолютном значении сдвига путем использования полученной информации.

Согласно аспектам настоящего раскрытия, обеспечено устройство кодирования адаптивного к выборке сдвига (SAO), включающее в себя SAO-оператор для выполнения операции SAO над наибольшей единицей кодирования (LCU); контекстный кодер SAO для генерации и вывода битового потока информации о слиянии влево SAO и битового потока информации о слиянии вверх SAO LCU путем выполнения контекстного кодирования над каждой из информации о слиянии влево SAO и информации о слиянии вверх SAO, и генерации и вывода 1-битовой информации о включении/выключении SAO, путем выполнения контекстного кодирования над информацией о включении/выключении SAO относительно каждого цветового компонента; и кодер обхода SAO для, если информация о включении/выключении SAO указывает на выполнение операции SAO, генерации и вывода битового потока информации об абсолютном значении сдвига путем выполнения кодирования обхода над информацией об абсолютном значении сдвига относительно каждого цветового компонента и каждой категории SAO, и генерации и вывода остающегося битового потока путем выполнения кодирования обхода над одной из информации о положении полосы и информации о классе края относительно каждого цветового компонента.

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

Режим осуществления изобретения

В дальнейшем, способ кодирования видео и способ декодирования видео с использованием операции адаптивного к выборке сдвига (SAO), основанной на классификации пикселов, согласно вариантам осуществления настоящего раскрытия, будут описаны со ссылкой на Фиг. 1A-7C. Кроме того, операция SAO, основанная на классификации пикселов в способе кодирования видео и способе декодирования видео на основе единиц кодирования, имеющих древовидную структуру, согласно вариантам осуществления настоящего раскрытия, будет описана со ссылкой на Фиг. 8-20. В дальнейшем, ‘изображение’ может обозначать неподвижное изображение или движущееся изображение видео или само видео.

Способ кодирования видео и способ декодирования видео с использованием операции SAO, основанной на классификации пикселов, согласно вариантам осуществления настоящего раскрытия, будет описан ниже со ссылкой на Фиг. 1A-7C. Устройство 10 кодирования SAO и устройство 20 декодирования SAO, проиллюстрированные на Фиг. 1A и 1B, и 2A и 2B выполняют операцию SAO, чтобы минимизировать ошибку между исходным пикселом и восстановленным пикселом, и передают и принимают параметры SAO для выполнения операции SAO.

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

Выборки сигнализируются между устройством 10 кодирования SAO и устройством 20 декодирования SAO. Другими словами, устройство 10 кодирования SAO может кодировать выборки, сгенерированные путем выполнения кодирования видео, и может передавать выборки как битовый поток, и устройство 20 декодирования SAO может синтаксически анализировать и восстанавливать выборки из битового потока.

Устройство 10 кодирования SAO и устройство 20 декодирования SAO сигнализируют параметры SAO для операции SAO, чтобы минимизировать ошибки между исходными пикселами и восстановленными пикселами путем коррекции восстановленных пиксельных значений посредством сдвигов, определенных на основе классификации пикселов. Значения сдвига кодируются, передаются и принимаются как параметры SAO между устройством 10 кодирования SAO и устройством 20 декодирования SAO и затем декодируются из параметров SAO.

Соответственно, устройство 20 декодирования SAO может сгенерировать восстановленные пикселы каждого блока изображения путем декодирования принятого битового потока, может скорректировать восстановленные пикселы значениями сдвига, восстановленными из битового потока, и, таким образом, может сгенерировать восстановленное изображение, имеющее минимизированную ошибку относительно исходного изображения.

Работа устройства 10 кодирования SAO для выполнения операции SAO будет описана подробно со ссылкой на Фиг. 1A и 1B, и операция устройства 20 декодирования SAO для выполнения операции SAO будет описана подробно со ссылкой на Фиг. 2A и 2B.

Фиг. 1A и 1B являются блок-схемой устройства 10 кодирования SAO и блок-схемой способа кодирования SAO согласно вариантам осуществления настоящего раскрытия.

Устройством 10 кодирования SAO содержит SAO-оператор 12 и энтропийный кодер 14. Энтропийный кодер 14 содержит контекстный кодер 16 SAO и кодер 18 обхода SAO, чтобы кодировать параметры SAO.

Устройство 10 кодирования SAO принимает ввод изображений видео, например, сегментов (слайсов), разделяет каждое изображение на блоки и кодирует каждый блок. Блок может иметь квадратную форму, прямоугольную форму или произвольную геометрическую форму и не ограничен единицей данных, имеющей предопределенный размер. Блок может быть наибольшей единицей кодирования (LCU) или единицей кодирования среди единиц кодирования, имеющих древовидную структуру. Способы кодирования и декодирования видео, основанные на единицах кодирования, имеющих древовидную структуру, будут описаны ниже со ссылками на Фиг. 8-20.

Устройство 10 кодирования SAO может разделять каждое входное изображение на LCU и может выводить результирующие данные, сгенерированные путем выполнения предсказания, преобразования и энтропийного кодирования на выборках каждого LCU, как битовый поток. Выборки LCU могут быть данными пиксельных значений пикселов, включенных в LCU.

Устройство 10 кодирования SAO может индивидуально кодировать LCU кадра (картинки). Устройство 10 кодирования SAO может кодировать текущую LCU на основе единиц кодирования, разделенных из текущей LCU и имеющих древовидную структуру.

Чтобы кодировать текущую LCU, устройство 10 кодирования SAO может кодировать выборки, путем выполнения интра-предсказания, интер-предсказания, преобразования и квантования на каждой из единиц кодирования, включенных в текущую LCU и имеющую древовидную структуру.

Устройство 10 кодирования SAO может восстанавливать кодированные выборки, включенные в текущую LCU, путем выполнения обратного квантования, обратного преобразования и интер-предсказания или компенсации движения над каждой из единиц кодирования, имеющих древовидную структуру, чтобы декодировать единицы кодирования. Восстановленное изображение может быть сгенерировано путем кодирования и затем декодирования предыдущих сегментов кодированных выборок. На восстановленное изображение предыдущего сегмента можно ссылаться, чтобы выполнять интер-предсказание на текущем сегменте.

Чтобы минимизировать ошибку между исходными пикселами, прежде чем текущая LCU будет закодирована, и восстановленными пикселами, после того как текущая LCU будет декодирована, SAO-оператор 12 может определять значения сдвига, указывающие значения разности между исходными пикселами и восстановленными пикселами.

SAO-оператор 12 может выполнять операцию SAO на каждом цветовом компоненте. Например, относительно YCrCb цветного изображения, операция SAO может быть выполнена на каждом из компонента яркости (Y компонента) и первого и второго компонента цветности (Cr и Cb компонента).

SAO-оператор 12 может определить, следует ли выполнять операцию SAO на компоненте яркости текущего сегмента. SAO- оператор 12 может определить, выполнять ли операцию SAO на первом и втором компонентах цветности текущего сегмента, причем первый и второй компоненты цветности рассматриваются как тот же самый компонент. Другими словами, если операция SAO выполняется на первом цветовом компоненте цветности, операция SAO может также выполняться на втором компоненте цветности. Если операция SAO не выполняется на первом цветовом компоненте цветности, операция SAO также может не выполняться на втором компоненте цветности.

Энтропийный кодер 14 может генерировать параметры SAO текущего сегмента и может включать параметры SAO в заголовок текущего сегмента.

SAO-оператор 12 может определять, следует ли выполнять операцию SAO на каждой LCU. Согласно определению SAO-оператора 12, контекстный кодер 16 SAO может генерировать информацию о включении/выключении SAO яркости, указывающую, следует ли выполнять операцию SAO на компоненте яркости. Также, согласно определению SAO-оператора 12, контекстный кодер 16 SAO может генерировать информацию о включении/выключении SAO цветности, указывающую, следует ли выполнять операцию SAO на первом и втором компонентах цветности.

Контекстный кодер 16 SAO может включать информацию о включении/выключении SAO яркости и информацию о включении/выключении SAO цветности в параметры SAO LCU.

SAO-оператор 12 может определять значения сдвига относительно каждой LCU. Параметры SAO, включающие в себя значения сдвига, тип SAO и класс SAO, могут также быть определены относительно каждой LCU.

SAO-оператор 12 может определять тип SAO согласно способу классификации пиксельных значений текущей LCU. Тип SAO может быть определен как тип края или тип полосы. Согласно способу классификации пиксельного значения текущего блока, может быть определено, классифицировать ли пикселы текущего блока согласно типу края или типу полосы.

Если типом SAO является тип края в соответствии с направлением и формой краев, сформированных между восстановленными пикселами текущей LCU и их смежными пикселами, может быть определен сдвиг между восстановленными пикселами и исходными пикселами.

Если типом SAO является тип полосы, из числа множества полос, полученных разделением полного диапазона пиксельных значений восстановленных пикселов текущей LCU, может быть определен сдвиг между восстановленными пикселами и исходными пикселами, включенными в каждую полосу. Полосы могут быть получены путем равномерного или неравномерного разделения полного диапазона пиксельных значений.

Соответственно, SAO-оператор 12 может определить тип SAO текущей LCU, который указывает тип края или тип полосы, основываясь на пространственных характеристиках пиксельных значений текущего LCU.

SAO-оператор 12 может определить класс SAO каждого из восстановленных пикселов согласно типу SAO текущей LCU. Класс SAO может быть определен как класс края или класс полосы.

Относительно типа края, класс края может указывать направление краев, сформированных между восстановленными пикселами и их смежными пикселами. Класс края может указывать направление края 0º, 90º, 45º или 135º.

Если типом SAO является тип края, SAO-оператор 12 может определить класс края каждого из восстановленных пикселов текущей LCU.

Относительно типа полосы, из числа множества полос, которые являются предопределенным числом периодов непрерывных пиксельных значений, полученных делением общего диапазона пиксельных значений текущей LCU, класс полосы может указывать положения полос, которым принадлежат пиксельные значения восстановленных пикселов.

Например, относительно выборки, имеющей пиксельное значение 8 битов, полный диапазон пиксельных значений составляет от 0 до 255, и пиксельное значение может быть классифицировано в 32 полосы. В этом случае, из общего количества 32 полос, может быть определено предопределенное количество полос, которым принадлежат пиксельные значения восстановленных пикселов. Класс полосы может указывать начальное положение предопределенного числа непрерывных полос (левая начальная точка) при использовании одного из индексов полосы от 0 до 31.

Относительно типа края, восстановленные пикселы текущей LCU могут быть классифицированы в предопределенное число категорий согласно форме краев, сформированных между восстановленными пикселами и их смежными пикселами. Например, согласно четырем формам края, таким как локальная впадина вогнутого края, угол изгиба вогнутого края, угол изгиба выпуклого края и локальный пик выпуклого края, восстановленные пикселы могут быть проклассифицированы в четыре категории. Согласно форме края каждого из восстановленных пикселов текущей LCU, может быть определена одна из этих четырех категорий.

Относительно типа полосы, согласно положениям полос, которым принадлежат пиксельные значения восстановленных пикселов текущей LCU, восстановленные пикселы могут быть проклассифицированы в предопределенное число категорий. Например, согласно индексам полос четырех непрерывных полос от начального положения, указанного классом полосы, то есть начальной точки самой левой полосы, восстановленные пикселы могут быть проклассифицированы в четыре категории. Согласно одной из этих четырех полос, которым принадлежит каждый из восстановленных пикселов текущей LCU, может быть определена одна из этих четырех категорий.

SAO-оператор 12 может определить категорию каждого из восстановленных пикселов текущей LCU. Относительно восстановленных пикселов текущей LCU, которые принадлежат той же самой категории, SAO-оператор 12 может определить значения сдвига с использованием разностных значений между восстановленными пикселами и исходными пикселами. В каждой категории, среднее разностных значений между восстановленными пикселами и исходными пикселами, то есть средняя ошибка восстановленных пикселов, может быть определено как значение сдвига, соответствующее текущей категории. SAO-оператор 12 может определить значение сдвига каждой категории и может определить значения сдвига всех категорий как значения сдвига текущей LCU.

Например, если тип SAO текущей LCU представляет собой тип края, и восстановленные пикселы проклассифицированы в четыре категории согласно формам края, или если тип SAO текущей LCU является типом полосы, и восстановленные пикселы проклассифицированы в четыре категории согласно индексам четырех непрерывных полос, SAO-оператор 12 может определить четыре значения сдвига путем определения средней ошибки между восстановленными пикселами и исходными пикселами, которые принадлежат каждой из этих четырех категорий.

Каждое из значений сдвига может быть больше или равно заданному минимальному значению и может быть меньше или равно заданному максимальному значению.

Энтропийный кодер 14 может кодировать и выводить параметры SAO, включающие в себя тип SAO, класс SAO и значения сдвига текущей LCU, которые определены SAO-оператором 12.

Параметры SAO каждого блока могут включать в себя тип SAO и значения сдвига блока. В качестве типа SAO может быть выведен тип выключения, тип края или тип полосы.

Если типом SAO является тип выключения, это может указывать, что операция SAO не применяется к текущей LCU. В этом случае, остальные параметры SAO текущей LCU не должны кодироваться.

Если типом SAO является тип края, параметры SAO могут включать в себя значения сдвига, индивидуально соответствующие классам края. Иначе, если типом SAO является тип полосы, параметры SAO может включать в себя значения сдвига, индивидуально соответствующие полосам. Другими словами, энтропийный кодер 14 может кодировать параметры SAO каждого блока.

Как описано выше, SAO-оператор 12 может выполнять операцию SAO на каждой из LCU изображения.

В соответствии со способами энтропийного кодирования, параметры SAO могут быть проклассифицированы в параметры, подлежащие кодированию в соответствии с основанным на контексте энтропийным кодированием, и параметры, подлежащие кодированию в режиме обхода.

Способ основанного на контексте энтропийного кодирования может включать в себя ряд операций, таких как бинаризация для преобразования символов, таких как параметры SAO, в битовый поток, и основанное на контексте арифметическое кодирование на битовом потоке. Контекстно-адаптивное бинарное арифметическое кодирование (CABAC) является широко используемым примером способа основанного на контексте арифметического кодирования. Согласно основанному на контексте арифметическому кодированию и декодированию, каждый бит битового потока символа может рассматриваться как структурный элемент (бин) контекста, и каждая позиция бита может быть отображена на индекс бина. Длина битового потока, то есть длина бинов, может изменяться согласно размерам значений символов. Для основанного на контексте арифметического кодирования и декодирования, на символах необходимо выполнять основанное на контексте вероятностное моделирование.

Основанное на контексте вероятностное моделирование требуется выполнять в предположении, что бит кодирования текущего символа вероятностно предсказывается на основе ранее кодированных символов. Для основанного на контексте вероятностного моделирования, контекст каждой позиции бита битового потока символа, то есть каждый индекс бина, должен заново обновляться. Здесь, вероятностное моделирование относится к процессу анализа вероятности того, что 0 или 1 генерируется в каждом бине. Процесс обновления контекста путем отражения результата анализа вероятности каждого бита символов нового блока на контекст может повторяться в каждом блоке. Если вышеописанное вероятностное моделирование повторяется, то может быть определена вероятностная модель, в который каждый бин совпадает с вероятностью.

Соответственно, со ссылкой на основанную на контексте вероятностную модель, операция выбора и вывода кода, соответствующего текущему контексту, может выполняться относительно каждого бита бинаризованного битового потока текущих символов, таким образом, выполняя основанное на контексте энтропийное кодирование.

Операция определения основанной на контексте вероятностной модели каждого бина символов для кодирования, основываясь на основанном на контексте энтропийном кодировании, требует большого объема вычислений и времени. С другой стороны, энтропийное кодирование в способе обхода включает в себя операцию энтропийного кодирования с использованием вероятностной модели без учета контекста символов.

Энтропийный кодер 14 может включать в себя кодер 16 контекста SAO для выполнения кодирования в соответствии с основанным на контексте энтропийным кодированием (именуемым в дальнейшем ‘контекстным кодированием’) на параметрах SAO, и кодер 18 обхода SAO для выполнения энтропийного кодирования в режиме обхода (именуемого в дальнейшем ‘кодированием обхода’) на параметрах SAO.

Кодер 16 контекста SAO может выполнять контекстное кодирование на информации о слиянии влево SAO, информации о слиянии вверх SAO и информации о включении/выключении SAO LCU.

Кодер 18 обхода SAO может выполнять кодирование обхода на информации об абсолютном значении сдвига и информации о положении поло