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

Иллюстрации

Показать все

Изобретение относится к предоставлению компенсационных смещений для набора восстановленных выборок изображения. Техническим результатом является уменьшение пространственных и временных избыточностей в видеопотоках. Способ содержит выбор на основе критерия искажения в зависимости от скорости передачи, классификации из множества предварительно определенных классификаций. Каждая предварительно определенная классификация имеет диапазон классификации, меньший полного диапазона значений выборки, и состоит из множества классов, каждый из которых задает диапазон значений выборки в диапазоне классификации, причем в этот класс помещается выборка, если ее значение выборки находится в диапазоне рассматриваемого класса. Компенсационное смещение ассоциировано с каждым классом выбранной классификации для применения к значению выборки каждой выборки класса. 10 н. и 17 з.п. ф-лы, 28 ил.

Реферат

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

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

Множество форматов сжатия видео, таких как, например, H.263, H.264, MPEG-1, MPEG-2, MPEG-4, SVC, используют дискретное косинусное преобразование (DCT) на основе блоков и компенсацию движения для того, чтобы удалять пространственные и временные избыточности. Они зачастую упоминаются в качестве прогнозирующих видеоформатов. Каждый кадр или изображение видеосигнала разделяется на слайсы (вырезка), которые кодируются и могут декодироваться независимо. Слайс типично представляет собой прямоугольную часть кадра либо, если обобщать, часть кадра или весь кадр. Дополнительно, каждый слайс может быть разделен на макроблоки (MB), и каждый макроблок дополнительно разделяется на блоки, типично блоки по 64x64, 32x32, 16x16 или 8x8 пикселов.

В стандарте высокоэффективного кодирования видео (HEVC), могут использоваться блоки от 64x64 до 4x4. Сегментирование организуется согласно структуре в виде дерева квадрантов на основе наибольшей единицы кодирования (LCU). LCU соответствует квадратному блоку 64x64. Если LCU должна быть разделена, флаг разбиения указывает, что LCU разбивается на 4 блока 32x32. Аналогичным образом, если какой-либо из этих 4 блоков должен разбиваться, флаг разбиения задается как "истина", и блок 32x32 разделяется на 4 блока 16x16 и т.д. Когда флаг разбиения задается как "ложь", текущий блок представляет собой единицу CU кодирования. CU имеет размер, равный 64x64, 32x32, 16x16 или 8x8 пикселов.

Предусмотрено два семейства режимов кодирования для кодирования блоков изображения: режимы кодирования на основе пространственного прогнозирования, называемые "внутренним (интра-) прогнозированием", и режимы кодирования на основе временного прогнозирования (внешний (интер), объединение, пропуск). В режимах пространственного и временного прогнозирования, остаток вычисляется посредством вычитания прогнозирования из исходного блока.

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

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

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

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

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

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

Чтобы восстанавливать кодированный кадр, остаток обратно квантуется и обратно преобразуется, чтобы предоставлять "декодированный" остаток в пиксельной области. Первое восстановление затем фильтруется посредством одного или нескольких видов процессов постфильтрации. Эти постфильтры применяются для восстановленного кадра на стороне кодера и декодера, чтобы идентичный опорный кадр использовался на обеих сторонах. Цель этой постфильтрации состоит в том, чтобы удалять артефакт сжатия. Например, H.264/AVC использует фильтр удаления блочности. Этот фильтр может удалять артефакты блочности вследствие DCT-квантования остатка и блочной компенсации движения. В текущем HEVC-стандарте, используются 3 типа контурных фильтров: фильтр удаления блочности, адаптивное к выборке смещение (SAO) и адаптивный контурный фильтр (ALF).

Фиг. 1 является блок-схемой последовательности операций способа, иллюстрирующей этапы процесса контурной фильтрации в известной HEVC-реализации. На начальном этапе 101, кодер или декодер формирует восстановление полного кадра. Затем, на этапе 102 фильтр удаления блочности применяется для этого первого восстановления, чтобы формировать восстановление 103 с удаленной блочностью. Цель фильтра удаления блочности состоит в том, чтобы удалять артефакты блочности, сформированные посредством остаточного квантования и блочной компенсации движения или блочного внутреннего прогнозирования. Эти артефакты являются визуально важными на низких скоростях передачи битов. Фильтр удаления блочности работает с возможностью сглаживать границы блоков согласно характеристикам двух соседних блоков. Учитываются режим кодирования каждого блока, параметры квантования, используемые для остаточного кодирования, и соседние пиксельные разности на границе. Идентичный критерий/классификация применяется для всех кадров, и дополнительные данные не передаются. Фильтр удаления блочности повышает визуальное качество текущего кадра посредством удаления артефактов блочности, и он также улучшает оценку движения и компенсацию движения для последующих кадров. Фактически, высокие частоты артефакта блочности удаляются, и в силу этого данные высокие частоты не должны компенсироваться с помощью остатка текстуры следующих кадров.

После фильтра удаления блочности восстановление с удаленной блочностью фильтруется посредством контурного фильтра на основе адаптивного к выборке смещения (SAO) на этапе 104. Результирующий кадр 105 затем фильтруется с помощью адаптивного контурного фильтра (ALF) на этапе 106, чтобы формировать восстановленный кадр 107, который должен отображаться и использоваться в качестве опорного кадра для следующих внешних кадров.

Цель контурного SAO-фильтра и ALF состоит в том, чтобы улучшать восстановление кадра посредством отправки дополнительных данных, в отличие от фильтра удаления блочности, в котором информация не передается.

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

Классификация краевых смещений заключает в себе определение класса для каждого пиксела посредством сравнения его соответствующего пиксельного значения с пиксельными значениями двух соседних пикселов. Кроме того, два соседних пиксела зависят от параметра, который указывает направление 2 соседних пикселов. Эти направления составляют 0 градусов (горизонтальное направление), 45 градусов (диагональное направление), с 90 градусов (вертикальное направление) и 135 градусов (второе диагональное направление). Далее, эти направления называются "типом" классификации краевых смещений.

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

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

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

Изображение видеоданных, которые должны кодироваться, может предоставляться в качестве набора двумерных матриц (также известных как цветовые каналы) значений выборки, каждая запись которых представляет интенсивность цветового компонента, к примеру, показатель отклонений яркости сигнала яркости и цвета сигнала цветности от нейтрального полутонового цвета к синему или красному (YUV), или показатель интенсивности компонентов красного, зеленого или синего света (RGB). YUV-модель задает цветовое пространство с точки зрения одного компонента сигнала (Y) яркости и двух компонентов цветности (UV). В общем, Y означает компонент сигнала яркости (яркость), а U и V - компоненты цветности (цвета) или сигнала цветности.

SAO-фильтрация типично применяется независимо для компонента сигнала яркости и для компонентов сигнала U и V цветности.

Известная реализация полосового SAO-смещения разбивает диапазон пиксельных значений на предварительно заданные 32 диапазона идентичного размера, как проиллюстрировано на фиг. 2. Минимальное значение диапазона пиксельных значений систематически равно 0, а максимальное значение зависит от битовой глубины пиксельных значений согласно следующей взаимосвязи Max=2Bitdepth-1. Например, когда битовая глубина составляет 8 битов, максимальное значение пиксела может составлять 255. Таким образом, диапазон пиксельных значений находится между 0 и 255. Для этой битовой глубины в 8 битов, каждый класс включает в себя диапазон из 16 пиксельных значений. Кроме того, для полосового SAO-смещения рассматриваются 2 группы классов. Первая содержит 16 последовательных классов в центре диапазона пиксельных значений, как проиллюстрировано серым цветом на фиг. 2. Вторая группа также содержит 16 классов, но на обоих концах диапазона пиксельных значений, как проиллюстрировано с помощью штриховки на фиг. 2. Для полосового SAO-смещения области кадра группа, используемая для классификации, и 16 смещений вставляются в поток битов.

Фиг. 3 является блок-схемой последовательности операций, иллюстрирующей этапы способа для выбора смещений в кодере для области 303 текущего кадра. Область кадра содержит N пикселов. На начальном этапе 301 переменные Sumj и SumNbPixj задаются равными значению нуль для каждого из 16 диапазонов; j обозначает текущее число диапазонов или классов. Sumj обозначает сумму разности между значением пикселов в диапазоне j и значением их соответствующих исходных пикселов. SumNbPixj обозначает число пикселов в диапазоне j.

На этапе 302, счетная переменная j задается равной значению нуль. Затем, первый пиксел области 303 кадра извлекается на этапе 304. Предполагается, что обрабатываемая текущая SAO-группа известна (первая или вторая, как проиллюстрировано на фиг. 2). Если на этапе 305 определено то, что пиксельное значение Pi не находится в текущей SAO-группе, то значение счетной переменной i увеличивается на этапе 308, чтобы классифицировать последующие пикселы области 303 кадра. В противном случае, если на этапе 305 определено то, что пиксельное значение Pi находится в текущей SAO-группе, число j диапазонов (или число классов), соответствующее значению Pi, находится на этапе 306. На следующем этапе 307 соответствующая переменная SumNbPixj увеличивается, и разность между Pi и его исходным значением Piorg суммируется с Sumj. На следующем этапе счетная переменная i увеличивается, чтобы применять классификацию к другим пикселам области 303 кадра. На этапе 309 определяется то, все или нет N пикселов области 303 кадра классифицированы (т.е. i≥=N); если да, Offsetj для каждого класса вычисляется на этапе 310, чтобы формировать таблицу 311 смещений, представляющую смещение для каждого класса j в качестве окончательного результата алгоритма выбора смещения. Это смещение вычисляется в качестве среднего разности между пиксельными значениями пикселов класса j и их соответствующими исходными пиксельными значениями. Offsetj для класса j задается посредством следующего уравнения:

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

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

На этапе 403 счетная переменная i задается равной 0. Пиксел Pi извлекается на этапе 405 из области 404 кадра, которая содержит N пикселов. На этапе 406 определяется то, принадлежит или нет пиксел Pi текущей группе классов. Если определено, что пиксел Pi находится в текущей группе классов, идентифицируется связанное число j классов, и связанное значение Offsetj смещения извлекается на этапе 409 из таблицы 402 смещений. Извлеченное значение Offsetj смещения затем суммируется с пиксельным значением Pi на этапе 410, чтобы формировать фильтрованное пиксельное значение P'i на этапе 411. Фильтрованное пиксельное значение затем вставляется в фильтрованную область 415 кадра на этапе 412 в соответствующем пикселе.

Если на этапе 406 определяется то, что пиксел Pi не находится в группе полосовых SAO-смещений, то пиксельное значение Pi помещается в фильтрованную область 415 кадра на этапе 412 без фильтрации. После этапа 412 счетная переменная i увеличивается, чтобы фильтровать, при необходимости, последующие пикселы области 404 текущего кадра. После того, как на этапе 414 определено то, что все N пикселов области кадра обработаны (т.е. i≥=N) фильтрованная область 415 кадра восстанавливается и может добавляться в восстановленный SAO-кадр (см. кадр 105 по фиг. 1).

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

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

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

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

- ассоциирование с каждым классом выбранной классификации компенсационного смещения для применения к значению выборки каждой выборки рассматриваемого класса.

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации составляет меньше половины упомянутого полного диапазона.

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации равен одной восьмой полного диапазона.

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

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

Число классов определяется согласно типу компонента.

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

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

Диапазон значений выборки для данного класса зависит от позиции класса в выбранной классификации.

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

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

- кодируют выборки;

- декодируют закодированные выборки, чтобы предоставлять восстановленные выборки;

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

- формируют поток битов закодированных выборок.

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

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

Данные классификации содержат данные, представляющие центр выбранной классификации.

Данные классификации содержат данные, представляющие индекс, связанный с выбранной классификацией.

Данные классификации содержат данные, представляющие позицию выбранной классификации в полном диапазоне значений выборки.

Позиция является конечной позицией выбранной классификации.

Конечная позиция представляется как сдвиг от одного конца упомянутого полного диапазона.

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

Данные классификации содержат данные, представляющие диапазон классификации выбранной классификации.

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

способ содержит этапы, на которых:

- принимают закодированные значения выборки;

- принимают закодированные данные классификации;

- принимают закодированные компенсационные смещения;

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

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

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

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

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации составляет меньше половины упомянутого полного диапазона.

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации равен одной восьмой полного диапазона.

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

Данные классификации содержат данные, представляющие центр выбранной классификации.

Данные классификации содержат данные, представляющие индекс, связанный с выбранной классификацией.

Данные классификации содержат данные, представляющие позицию выбранной классификации в полном диапазоне значений выборки.

Позиция является конечной позицией выбранной классификации.

Конечная позиция представляется как сдвиг от одного конца упомянутого полного диапазона.

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

Данные классификации содержат данные, представляющие диапазон классификации выбранной классификации.

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

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации составляет меньше половины упомянутого полного диапазона.

Упомянутый диапазон классификации по меньшей мере одной упомянутой предварительно определенной классификации равен одной восьмой полного диапазона.

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

Данные классификации содержат данные, представляющие центр выбранной классификации.

Данные классификации содержат данные, представляющие индекс, связанный с выбранной классификацией.

Данные классификации содержат данные, представляющие позицию выбранной классификации в полном диапазоне значений выборки.

Позиция является конечной позицией выбранной классификации.

Конечная позиция представляется как сдвиг от одного конца упомянутого полного диапазона.

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

Данные классификации содержат данные, представляющие полезный диапазон выбранной классификации.

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

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

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

- средство для ассоциирования с каждым классом выбранной классификации компенсационного смещения для применения к значению выборки каждой выборки рассматриваемого класса.

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

- кодер для кодирования выборок;

- декодер для декодирования закодированных выборок, чтобы предоставлять восстановленные выборки;

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

- формирователь потоков битов для формирования потока битов закодированных выборок.

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

- средство для приема закодированных значений выборки;

- средство для приема закодированных данных классификации;

- средство для приема закодированных компенсационных смещений;

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

- средство для декодирования закодированных выборок, чтобы предоставлять восстановленные значения выборки, и для декодирования закодированных компенсационных смещений;

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

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

Восьмой аспект настоящего изобретения предоставляет способ декодирования изображения, состоящего из множества выборок, причем каждая выборка имеет значение выборки, при этом способ содержит:

- прием закодированных значений выборки;

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

- прием закодированных компенсационных смещений, ассоциированных, соответственно, с классами выбранной классификации;

- декодирование закодированных значений выборки, чтобы предоставлять восстановленные значения выборки, и декодирование закодированных данных классификации и компенсационных смещений; и

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

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

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

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

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

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

Поскольку настоящее изобретение может быть реализовано в программном обеспечении, настоящее изобретение может быть осуществлено в качестве считываемого компьютером кода для предоставления в программируемое устройство на любом подходящем носителе. Материальный носитель может содержать носитель данных, такой как гибкий диск, CD-ROM, жесткий диск, устройство на магнитных лентах или полупроводниковое запоминающее устройство и т.п. Переходная несущая среда может включать в себя такой сигнал, как электрический сигнал, электронный сигнал, оптический сигнал, акустический сигнал, магнитный сигнал либо электромагнитный сигнал, например, микроволновый или RF-сигнал.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 13 иллюстрирует неск