RU2676410C1 - Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения - Google Patents
Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения Download PDFInfo
- Publication number
- RU2676410C1 RU2676410C1 RU2017146196A RU2017146196A RU2676410C1 RU 2676410 C1 RU2676410 C1 RU 2676410C1 RU 2017146196 A RU2017146196 A RU 2017146196A RU 2017146196 A RU2017146196 A RU 2017146196A RU 2676410 C1 RU2676410 C1 RU 2676410C1
- Authority
- RU
- Russia
- Prior art keywords
- sample
- filtering
- parameter
- filter
- component
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 162
- 230000033001 locomotion Effects 0.000 title description 68
- 238000005457 optimization Methods 0.000 title 1
- 238000001914 filtration Methods 0.000 claims abstract description 371
- 230000003044 adaptive effect Effects 0.000 claims abstract description 105
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 abstract description 13
- 230000006872 improvement Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 60
- 230000006870 function Effects 0.000 description 41
- 239000013598 vector Substances 0.000 description 36
- 230000005540 biological transmission Effects 0.000 description 35
- 238000012360 testing method Methods 0.000 description 22
- 238000006073 displacement reaction Methods 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 12
- 239000012536 storage buffer Substances 0.000 description 12
- 238000011084 recovery Methods 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
- H04N19/895—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Processing (AREA)
Abstract
Изобретение относится к области кодирования и декодирования изображений. Техническим результатом является оптимизация кодирования и/или декодирования компенсационных смещений для набора восстановленных выборок изображения, чтобы обеспечивать улучшение в отношении эффективности кодирования видеокодека и/или сложности декодирования. Раскрыт способ кодирования по меньшей мере части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере две компоненты, причем способ содержит этапы, на которых: кодируют первую компоненту цветности и вторую компоненту цветности по меньшей мере одной выборки изображения для обеспечения по меньшей мере одной закодированной выборки; декодируют упомянутую по меньшей мере одну закодированную выборку; и определяют по меньшей мере один параметр фильтрации для кодированного изображения как функцию разности между по меньшей мере одной компонентой упомянутой по меньшей мере одной выборки изображения и упомянутой по меньшей мере одной соответствующей компонентой упомянутой по меньшей мере одной соответствующей декодированной выборки, причем первый параметр фильтрации определяется для того, чтобы использоваться в качестве общего параметра фильтрации для выполнения петлевой фильтрации на основе адаптивного к выборке смещения как над первой, так и над второй компонентами цветности декодированной выборки, причем первый параметр фильтрации определяется для использования в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения; и второй параметр фильтрации определяется для того, чтобы использоваться в качестве другого общего параметра фильтрации для выполнения петлевой фильтрации на основе адаптивного к выборке смещения как над первой, так и над второй компонентами цветности декодированной выборки, причем второй параметр фильтрации является параметром типа адаптивного к выборке смещения, указывающим, используется ли петлевая фильтрация на основе адаптивного к выборке смещения краевого типа или полосового типа в качестве упомянутого типа петлевой фильтрации на основе адаптивного к выборке смещения для упомянутой по меньшей мере одной декодированной выборки или никакая петлевая фильтрация на основе адаптивного к выборке смещения не используется для упомянутой по меньшей мере одной декодированной выборки. 6 н. и 21 з.п. ф-лы, 23 ил., 2 табл.
Description
Настоящее изобретение относится к способу и устройству для оптимизации кодирования и/или декодирования компенсационных смещений для набора восстановленных выборок изображения, чтобы повышать эффективность кодирования видеокодека и/или сложности декодирования. Изобретение дополнительно относится к способу и устройству для кодирования или декодирования последовательности цифровых изображений.
Изобретение может применяться в области техники обработки цифровых сигналов и, в частности, в области сжатия видео с использованием компенсации движения, чтобы уменьшать пространственные и временные избыточности в видеопотоках.
Множество форматов сжатия видео, таких как, например, 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_type_idx в текущих технических спецификациях HEVC. Его значение типично варьируется от нуля до пяти, как показано в таблице 1 приложения. Sao_type_idx также используется для того, чтобы указывать, должна или нет выполняться SAO-фильтрация, и тип SAO-фильтрации.
Для иллюстрации, смещение, которое должно суммироваться с пиксельным значением C (или выборкой), может быть определено, для данного направления, согласно правилам, как указано в таблице 2 приложения, при этом Cn1 и Cn2 обозначают значение двух соседних пикселов или выборок (согласно данному направлению). Соответственно, когда значение C меньше двух значений Cn1 и Cn2, смещение, которое должно суммироваться с C, составляет +O1, когда оно меньше Cn1 или Cn2 и равно другому значению (Cn1 или Cn2), смещение, которое должно быть использовано, составляет +O2, когда оно превышает Cn1 или Cn2, и равно другому значению (Cn1 или Cn2), смещение, которое должно быть использовано, составляет -O3, а когда оно превышает Cn1 и Cn2, смещение, которое должно быть использовано, составляет -O4. Когда ни одно из этих условий не удовлетворяется, значение смещения не суммируется с текущим пиксельным значением C.
Следует отметить, что согласно режиму краевого смещения, только абсолютное значение каждого смещения кодируется в потоке битов, причем знак, который должен применяться, определяется в качестве функции от категории, которой принадлежит текущий пиксел. Следовательно, согласно таблице 2 приложения, положительное смещение ассоциировано с категориями 1 и 2, в то время как отрицательное смещение ассоциировано с категориями 3 и 4.
Второй тип классификации представляет собой классификацию полосовых смещений, которая зависит от пиксельного значения. Класс в полосовом SAO-смещении соответствует диапазону пиксельных значений. Таким образом, идентичное смещение добавляется во все пикселы, имеющие пиксельное значение в данном диапазоне пиксельных значений.
Чтобы обеспечивать большую адаптивность к контенту кадра, SAO-фильтрация применяется к нескольким областям кадра, которые разделяют текущий кадр на несколько пространственных областей. В настоящее время, области кадра соответствуют конечному номеру наибольшей единицы кодирования в HEVC. Следовательно, одна область кадра может фильтроваться или не фильтроваться посредством SAO, так что фильтруются только некоторые области кадра. Кроме того, когда активируется SAO, используется только одна SAO-классификация: краевое смещение или полосовое смещение, согласно связанным параметрам, передаваемым для каждой классификации. В завершение, для каждого концевого SAO-узла, передается SAO-классификация, а также ее параметры и смещения всех классов.
Изображение видеоданных, которые должны кодироваться, может предоставляться в качестве набора двумерных матриц (также известных как цветовые каналы) значений выборки, каждая запись которых представляет интенсивность цветового компонента, к примеру, показатель интенсивности яркости и интенсивности цветности от нейтрального полутонового цвета к синему или красному (YUV), либо показатель интенсивности компонентов красного, зеленого или синего света (RGB). YUV-модель задает цветовое пространство с точки зрения одного компонента сигнала (Y) яркости и двух компонентов цветности (UV). В общем, Y означает компонент сигнала яркости, а U и V - компоненты цветности (цвета) или сигнала цветности.
SAO-фильтрация типично применяется независимо для компонента сигнала яркости и для компонентов сигнала цветности U и V.
Известная реализация полосового SAO-смещения разбивает диапазон пиксельных значений на 32 предварительно заданных диапазона идентичного размера, как проиллюстрировано на фиг. 2. Минимальное значение диапазона пиксельных значений всегда равно нулю, а максимальное значение зависит от битовой глубины пиксельных значений согласно следующей взаимосвязи Max=2Bitdepth-1.
Разбиение полного диапазона пиксельных значений на 32 диапазона обеспечивает использование пяти битов для классификации каждого пиксела, обеспечивая возможность быстрой классификации. Соответственно, только 5 битов проверяются, чтобы классифицировать пиксел в одном из 32 классов или диапазонах полного диапазона. Это, в общем, выполняется посредством проверки пяти старших битов значений, кодированных для 8 битов.
Например, когда битовая глубина составляет 8 битов, максимальное возможное значение пиксела составляет 255. Таким образом, диапазон пиксельных значений составляет между 0 и 255. Для этой битовой глубины 8 битов каждый класс включает в себя диапазон из 8 пиксельных значений.
Целью полосовой SAO-фильтрации является фильтрация пикселов, принадлежащих группе из четырех последовательных классов или диапазонов, которая определяется посредством первого класса или полосы. Второе передается в потоке битов таким образом, что декодер может определять четыре последовательных класса или диапазона пикселов, которые должны быть фильтрованы. Параметр, представляющий эту позицию, упоминается как sao_band_position в текущих технических спецификациях HEVC.
Для иллюстрации, группа из четырех последовательных классов или диапазонов 201-204 пикселов, которые должны быть фильтрованы, представляется на фиг. 2 в качестве серой области. Как описано выше, эта группа может быть идентифицирована посредством ее позиции (например, sao_band_position). Согласно данному примеру, класс или диапазон 201 связан с пикселами, имеющими значения, содержащиеся между 64 и 71. Аналогично, классы или диапазоны 202-204 связаны с пикселами, имеющими значения, содержащиеся значения между 72 и 79, 80 и 87, 88 и 96, соответственно.
Фиг. 3 является блок-схемой последовательности операций, иллюстрирующей этапы способа для выбора смещений в кодере для текущей области 303 кадра (типично LCU-блока, соответствующего одному компоненту обработанного изображения). Область кадра содержит N пикселов. На начальном этапе 301 переменные Sumj и SumNbPixj задаются равными значению нуль для каждого из четырех диапазонов; j обозначает текущее число диапазонов или классов. Sumj обозначает сумму разности между значением пикселов в диапазоне j и значением их соответствующих исходных пикселов. SumNbPixj обозначает число пикселов в диапазоне j.
На этапе 302, счетная переменная i задается равной значению нуль. Затем, первый пиксел Pi области 303 кадра извлекается на этапе 304, и число J классов, соответствующее текущему пикселу Pi, получается на этапе 305. Затем, на этапе 306 выполняется тест, чтобы определять то, соответствует или нет число J классов текущего пиксела Pi значению "Н/д", как описано выше в отношении таблицы 2 приложения. Если число J классов текущего пиксела Pi соответствует значению "Н/д", значение счетной переменной i увеличивается на единицу, чтобы классифицировать последующие пикселы области 303 кадра. В противном случае, если число J классов текущего пиксела Pi не соответствует значению "Н/д", переменная SumNbPixj, соответствующая текущему пикселу Pi, увеличивается на единицу, и разность между Pi и его исходным значением Pi org суммируется с Sumj на этапе 307.
На следующем этапе счетная переменная i увеличивается на единицу с тем, чтобы применять классификацию к другим пикселам области 303 кадра. На этапе 309 определяется то, все или нет N пикселов области 303 кадра классифицированы (т.е. i≥N); если да, Offsetj для каждого класса вычисляется на этапе 310, чтобы формировать таблицу 311 смещений, представляющую смещение для каждого класса j в качестве окончательного результата алгоритма выбора смещения. Это смещение вычисляется в качестве среднего разности между пиксельными значениями пикселов класса j и их соответствующими исходными пиксельными значениями. Offsetj для класса j задается посредством следующего уравнения:
Вычисленное смещение Offsetj может рассматриваться как оптимальное смещение с точки зрения искажения. Оно упоминается как Ooptj далее. Из этого смещения, можно определять улучшенное значение 0_RDj смещения согласно критерию искажения в зависимости от скорости передачи.
Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения улучшенного смещения согласно критерию искажения в зависимости от скорости передачи. На начальном этапе 401, значение Jj искажения в зависимости от скорости передачи текущего числа диапазонов или классов инициализируется равным предварительно определенному максимальному возможному значению (MAX_VALUE).
Затем, на этапе 402 начинается петля для того, чтобы инструктировать смещению Oj варьироваться от Ooptj до нуля. Если значение Ooptj является отрицательным, переменная Oj увеличивается на единицу до тех пор, пока она не достигнет нуля, а если значение Ooptj является положительным, переменная Oj уменьшается на единицу до тех пор, пока она не достигнет нуля.
На этапе 403, вычисляется функция затрат на искажение в зависимости от скорости передачи, связанная с переменной Oj, обозначаемой J(Oj), например, согласно следующей формуле:
λ является параметром Лагранжа, и R(Oj) является функцией, которая предоставляет число битов, необходимое для кодового слова, ассоциированного с Oj. Часть формулы, соответствующая SumNbPixj × Oj × Oj-Sumj × Oj × 2, относится к улучшению с точки зрения искажения, заданному посредством смещения Oj.
На этапе 404, значения J(Oj) и Jj сравниваются между собой. Если значение J(Oj) меньше значения Jj, то Jj задается равным значению J(Oj), а O_RDj задается равным значению Oj.
На этапе 405 определяется то, все или нет возможные значения смещения Oj обработаны (т.е. Oj=0). Если смещение Oj равно нулю, петля завершается, и идентифицируется улучшенное значение (O_RDj) смещения для класса j. В противном случае, петля продолжается для следующего значения Oj.
Следует отметить, что алгоритм, описанный в отношении фиг. 3, может быть использован для того, чтобы определять позицию первого класса или диапазона (sao_band_position) согласно типу классификации полосовых смещений. С этой целью, индекс j представляет значение интервала [0, 32] (вместо [1, 4]). Другими словами, значение 4 заменяется на значение 32 в модулях 301, 310 и 311 по фиг. 3.
Более конкретно, разность Sumj между значением текущего пиксела и его исходным значением Porgi может быть вычислена для каждого из 32 классов, представленных на фиг. 2, другими словами для каждого диапазона j (j принадлежит интервалу [0, 32]).
Затем, улучшенное смещение 0_RDj, с точки зрения искажения в зависимости от скорости передачи, может быть вычислено для 32 классов согласно алгоритму, аналогичному алгоритму, описанному в отношении фиг. 4.
Далее может определяться позиция первого класса или диапазона.
Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения полосовой SAO-позиции для полосового SAO-смещения HEVC. Поскольку эти этапы выполняются после этапов, описанных в отношении фиг. 4, значение искажения в зависимости от скорости передачи, обозначаемое Jj, уже вычислено для каждого класса j.
На начальном этапе 501 значение J искажения в зависимости от скорости передачи инициализируется равным предварительно определенному максимальному возможному значению (MAX_VALUE). Затем, на этапе 502 начинается петля для того, чтобы инструктировать индексу i варьироваться от нуля до 27 согласно 28 возможным позициям первого класса группы из четырех последовательных классов.
На этапе 503, переменная J'j, соответствующая значению искажения в зависимости от скорости передачи текущей полосы, другими словами полосы, содержащей четыре последовательных класса из класса, имеющего индекс i, инициализируется равной нулю. Затем, на этапе 504 начинается петля для того, чтобы инструктировать индексу j варьироваться от I до i+3 согласно 4 классам текущей полосы.
Затем, на этапе 505, значение переменной J'i увеличивается на значение искажения в зависимости от скорости передачи класса, имеющего индекс j (Jj). Этот этап повторяется для четырех классов текущей полосы, другими словами, до тех пор, пока индекс j не достигнет i+3 (этап 506). На этапе 507, выполняется тест, чтобы определять то, меньше или нет значение J'j искажения в зависимости от скорости передачи текущей полосы значения J искажения в зависимости от скорости передачи. Если значение J'j искажения в зависимости от скорости передачи текущей полосы меньше значения J искажения в зависимости от скорости передачи, значение J искажения в зависимости от скорости передачи задается равным значению искажения J'j в зависимости от скорости передачи текущей полосы, и значение полосовой позиции, обозначаемое sao_band_position, задается равным значению индекса i.
Эти этапы повторяются для 28 возможных позиций первого класса группы из четырех последовательных классов (этап 508), чтобы определять полосовую позицию, которая должна быть использована.
Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей этапы способа для фильтрации области кадра, типично LCU-блока, соответствующего одному компоненту обработанного изображения, согласно петлевому SAO-фильтру.
Такой алгоритм, в общем, реализуется в декодере для того, чтобы декодировать кадры, и в кодере для того, чтобы формировать опорные кадры, которые используются для оценки и компенсации движения следующих кадров.
На начальном этапе 601, получаются параметры SAO-фильтрации, например, из принимаемого потока битов. Для данной области кадра эти параметры типично содержат четыре смещения, которые могут быть сохранены в таблице 603, и параметр sao_type_idx. В зависимости от последнего, эти параметры дополнительно могут содержать полосовую SAO-позицию. Для иллюстрации, если полученный параметр типа sao_type_idx равен пяти, то получается соответствующий параметр типа sao_band_position (602). Могут быть получаться другие параметры, к примеру, параметры, позволяющие определять значение SAO-параметра данной области кадра в качестве функции от значения соответствующего параметра области предыдущего кадра. Следует отметить, что данное значение данного SAO-параметра, к примеру, значение нуль для параметра sao_type_idx может указывать, что SAO-фильтрация не должна применяться.
На этапе 604, счетная переменная j задается равной значению нуль. Затем, первый пиксел Pi области 605 кадра, содержащей N пикселов, извлекается на этапе 606 и классифицируется на этапе 607 согласно классификации краевых смещений или классификации полосовых смещений, как описано выше.
На этапе 608 выполняется тест, чтобы определять то, принадлежит или нет пиксел Pi классу пикселов, которые должны быть фильтрованы. Если пиксел Pi принадлежит классу пикселов, которые должны быть фильтрованы, его связанное число j классов идентифицируется, и его связанное значение Offsetj смещения получается на этапе 610 из таблицы смещений 603. Затем, на этапе 611, Offsetj суммируется со значением пиксела Pi, чтобы формировать новое пиксельное значение, упоминаемое как P'i (612). На этапе 613, пиксел P'i заменяет пиксел Pi в области 616 обработанного кадра. В противном случае, если пиксел Pi не принадлежит классу пикселов, которые должны быть фильтрованы, пиксел Pi 609 остается неизменным в области кадра на этапе 613.
Затем, после обработки пиксела Pi счетная переменная i увеличивается на единицу на этапе 614 с тем, чтобы применять фильтр аналогично следующему пикселу области 605 текущего кадра.
На этапе 615 определяется то, все или нет N пикселов области 605 текущего кадра обработаны (i≥N). Если да, область 616 обработанного кадра восстанавливается и может добавляться в восстановленный SAO-кадр, как описано выше в отношении фиг. 1 (ссылка с номером 105).
Недостаток известного процесса для выбора и передачи компенсаций состоит в том, что большое число параметров должно быть передано из кодера в декодер и сохранено в SAO-буфере. Кроме того, процесс, выполняемый посредством декодера для декодирования и обработки этих параметров, является сложным.
Настоящее изобретение разработано, чтобы разрешать одну или более вышеприведенных проблем.
Согласно первому аспекту настоящего изобретения, предусмотрен способ кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- кодирование первого и второго компонента по меньшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- декодирование по меньшей мере одной закодированной выборки;
- вычисление по меньшей мере одного параметра фильтрации в качестве функции разности между по меньшей мере одним компонентом по меньшей мере одной выборки изображения и по меньшей мере одним соответствующим компонентом по меньшей мере одной соответствующей декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре в качестве общего параметра фильтрации для фильтрации и первого и второго компонентов декодированной выборки.
Фильтрация представляет собой петлевую фильтрацию на основе адаптивного к выборке смещения.
Первый и второй компоненты представляют собой соответственно компоненты сигнала цветности U и V.
Указанный или один упомянутый общий параметр фильтрации представляет собой параметр типа адаптивного к выборке смещения, указывающий, используется ли петлевая фильтрация на основе краевого, полосового адаптивного к выборке смещения или без него для по меньшей мере одной восстановленной выборки.
Тип петлевой фильтрации на основе адаптивного к выборке смещения и направление петлевой фильтрации на основе краевого адаптивного к выборке смещения представляют собой общие параметры фильтрации.
По меньшей мере один параметр фильтрации вычисляется для использования в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения.
Когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип по меньшей мере один параметр фильтрации вычисляется для использования в качестве общего параметра фильтрации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, а когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, различные параметры фильтрации вычисляются для использования в качестве выделенных параметров фильтрации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип по меньшей мере один параметр фильтрации вычисляется для использования в качестве общего параметра фильтрации для указания классификации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, а когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, различные параметры фильтрации вычисляются для использования в качестве выделенных параметров фильтрации для указания классификации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
По меньшей мере один параметр фильтрации вычисляется для использования в качестве выделенного параметра фильтрации для фильтрации отдельного одного из первого и второго компонентов по меньшей мере одной восстановленной выборки.
Смещения представляют собой выделенные параметры фильтрации.
Указанный или один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной выборки, что один или более параметров фильтрации, используемых для фильтрации другой выборки, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной выборки.
Один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой выборки во второй упомянутой части изображения, отличающейся от упомянутой первой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной выборки.
Один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для данной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой выборки во второй упомянутой части изображения, непосредственно слева от упомянутой первой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной выборки то, что один или более параметров фильтрации, используемых для фильтрации другой выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной выборки.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
Согласно второму аспекту настоящего изобретения, предусмотрен способ декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- декодирование первого и второго компонента по меньшей мере одной закодированной выборки, чтобы предоставлять первый и второй компонент по меньшей мере одной восстановленной выборки;
- декодирование по меньшей мере одного параметра фильтрации;
- фильтрацию по меньшей мере одной восстановленной выборки в петлевом фильтре, причем фильтрация содержит использование по меньшей мере одного декодированного параметра фильтрации в качестве общего параметра фильтрации для фильтрации как первого компонента, так и второго компонента по меньшей мере одной восстановленной выборки.
Фильтрация представляет собой фильтрацию на основе адаптивного к выборке смещения.
Первый и второй компоненты представляют собой соответственно компоненты сигнала цветности U и V.
Указанный или один упомянутый общий параметр фильтрации представляет собой параметр SAO-типа, указывающий, используется ли петлевая фильтрация на основе краевого, полосового адаптивного к выборке смещения или без него для по меньшей мере одной восстановленной выборки.
Тип петлевой фильтрации на основе адаптивного к выборке смещения и направление петлевой фильтрации на основе краевого адаптивного к выборке смещения представляют собой общие параметры фильтрации.
Способ декодирования согласно второму аспекту настоящего изобретения дополнительно содержит этап, на котором используют по меньшей мере один декодированный параметр фильтрации в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения.
Когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип по меньшей мере один декодированный параметр фильтрации используется в качестве общего параметра фильтрации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, а когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, различные декодированные параметры фильтрации используются в качестве выделенных параметров фильтрации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип по меньшей мере один декодированный параметр фильтрации используется в качестве общего параметра фильтрации для указания классификации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, а когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, различные декодированные параметры фильтрации используются в качестве выделенных параметров фильтрации для указания классификации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
По меньшей мере один декодированный параметр фильтрации выделяется для фильтрации отдельного одного из первого и второго компонентов по меньшей мере одной восстановленной выборки.
Смещения представляют собой выделенные параметры фильтрации.
Указанный или один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной восстановленной выборки то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной восстановленной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, отличающейся от первой упомянутой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для данной восстановленной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, непосредственно слева от первой упомянутой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной восстановленной выборки то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Согласно третьему аспекту настоящего изобретения, предусмотрено устройство кодирования для кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство кодирования содержит:
- средство для кодирования первого и второго компонента по меньшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- средство для декодирования по меньшей мере одной закодированной выборки;
- средство для вычисления по меньшей мере одного параметра фильтрации в качестве функции разности между по меньшей мере одним компонентом по меньшей мере одной выборки изображения и по меньшей мере одним соответствующим компонентом по меньшей мере одной соответствующей декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре в качестве общего параметра фильтрации для фильтрации и первого и второго компонентов декодированной выборки.
Согласно четвертому аспекту настоящего изобретения, предусмотрено устройство декодирования для декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство декодирования содержит:
- средство для декодирования первого и второго компонента по меньшей мере одной закодированной выборки, чтобы предоставлять первый и второй компонент по меньшей мере одной восстановленной выборки;
- средство для декодирования по меньшей мере одного параметра фильтрации;
- средство для фильтрации по меньшей мере одной восстановленной выборки в петлевом фильтре, причем фильтрация содержит использование по меньшей мере одного декодированного параметра фильтрации в качестве общего параметра фильтрации для фильтрации как первого компонента, так и второго компонента по меньшей мере одной восстановленной выборки.
Фильтрация представляет собой петлевую фильтрацию на основе адаптивного к выборке смещения.
Первый и второй компоненты представляют собой соответственно компоненты сигнала цветности U и V.
Указанный или один упомянутый общий параметр фильтрации представляет собой параметр типа адаптивного к выборке смещения, указывающий, используется ли петлевая фильтрация на основе краевого, полосового адаптивного к выборке смещения или без него для по меньшей мере одной восстановленной выборки.
Тип петлевой фильтрации на основе адаптивного к выборке смещения и направление петлевой фильтрации на основе краевого адаптивного к выборке смещения представляют собой общие параметры фильтрации.
Средство фильтрации сконфигурировано с возможностью использовать по меньшей мере один декодированный параметр фильтрации в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения.
Средство фильтрации сконфигурировано с возможностью, когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип, использовать по меньшей мере один декодированный параметр фильтрации в качестве общего параметра фильтрации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, и дополнительно сконфигурировано с возможностью, когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, использовать различные декодированные параметры фильтрации в качестве выделенных параметров фильтрации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Средство фильтрации сконфигурировано с возможностью, когда петлевая фильтрация на основе адаптивного к выборке смещения имеет первый тип, использовать по меньшей мере один декодированный параметр фильтрации в качестве общего параметра фильтрации для указания классификации для фильтрации первого типа, причем первый тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, и дополнительно сконфигурировано с возможностью, когда петлевая фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличающийся от первого типа, использовать различные декодированные параметры фильтрации в качестве выделенных параметров фильтрации для указания классификации для фильтрации первого и второго компонентов, соответственно, причем второй тип петлевой фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
По меньшей мере один декодированный параметр фильтрации выделяется для фильтрации отдельного одного из первого и второго компонентов по меньшей мере одной восстановленной выборки.
Смещения представляют собой выделенные параметры фильтрации.
Указанный или один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной восстановленной выборки то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Один упомянутый параметр фильтрации представляет собой флаг, указывающий для данной восстановленной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, отличающейся от первой упомянутой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для данной восстановленной выборки в первой упомянутой части изображения то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, непосредственно слева от первой упомянутой части, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной восстановленной выборки то, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для того, чтобы предоставлять соответствующие параметры фильтрации для фильтрации данной восстановленной выборки.
Согласно пятому аспекту настоящего изобретения, предусмотрен компьютерный программный продукт для программируемого устройства, причем компьютерный программный продукт содержит последовательность инструкций для реализации каждого этапа способа по любому из вышеуказанных аспектов настоящего изобретения, при загрузке и исполнении посредством программируемого устройства.
Согласно пятому аспекту настоящего изобретения, предусмотрен считываемый компьютером носитель данных, хранящий инструкции компьютерной программы для реализации каждого этапа способа по любому из вышеуказанных аспектов настоящего изобретения.
По меньшей мере, части способов согласно изобретению могут быть реализованы компьютером. Соответственно, настоящее изобретение может принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включающего в себя микропрограммное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления, комбинирующего программные и аппаратные аспекты, которые могут совместно, в общем, упоминаться в данном документе как "схема", "модуль" или "система". Кроме того, настоящее изобретение может принимать форму компьютерного программного продукта, осуществленного в любом материальном носителе, в представлении, имеющем применяемый компьютером программный код, осуществленный на носителе.
Поскольку настоящее изобретение может быть реализовано в программном обеспечении, настоящее изобретение может быть осуществлено в качестве считываемого компьютером кода для предоставления в программируемое устройство на любом подходящем носителе. Материальный носитель может содержать носитель данных, такой как гибкий диск, CD-ROM, жесткий диск, устройство на магнитных лентах или полупроводниковое запоминающее устройство и т.п. Переходная несущая среда может включать в себя такой сигнал, как электрический сигнал, электронный сигнал, оптический сигнал, акустический сигнал, магнитный сигнал либо электромагнитный сигнал, например, микроволновый или RF-сигнал.
Таким образом, согласно пятому аспекту настоящего изобретения, предусмотрен компьютерный программный продукт для программируемого устройства, причем компьютерный программный продукт содержит последовательность инструкций для реализации каждого этапа способа, осуществляющего вышеуказанный первый или второй аспект настоящего изобретения, при загрузке и исполнении посредством программируемого устройства.
Аналогично, согласно шестому аспекту настоящего изобретения, предусмотрен считываемый компьютером носитель данных, хранящий инструкции компьютерной программы для реализации каждого этапа способа, осуществляющего вышеуказанный первый или второй аспект настоящего изобретения.
Далее описываются варианты осуществления изобретения, только в качестве примера и со ссылкой на прилагаемые чертежи, на которых:
Фиг. 1 является блок-схемой последовательности операций способа, иллюстрирующей этапы процесса петлевой фильтрации предшествующего уровня техники;
Фиг. 2 графически иллюстрирует классификацию адаптивного к выборке полосового смещения HEVC-процесса предшествующего уровня техники;
Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей этапы процесса для определения компенсационных смещений для полосового SAO-смещения HEVC;
Фиг. 4 является блок-схемой последовательности операций способа, иллюстрирующей процесс для того, чтобы выбирать SAO-смещение с точки зрения искажения в зависимости от скорости передачи;
Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения полосовой SAO-позиции для полосового SAO-смещения HEVC;
Фиг. 6 является блок-схемой последовательности операций, иллюстрирующей этапы способа для фильтрации области кадра согласно петлевому SAO-фильтру;
Фиг. 7 является блок-схемой, схематично иллюстрирующей систему передачи данных, в которой могут быть реализованы один или более вариантов осуществления изобретения;
Фиг. 8 является блок-схемой, иллюстрирующей компоненты устройства обработки, в котором могут быть реализованы один или более вариантов осуществления изобретения;
Фиг. 9 является блок-схемой последовательности операций, иллюстрирующей этапы способа кодирования согласно вариантам осуществления изобретения;
Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей этапы процесса петлевой фильтрации в соответствии с одним или более вариантов осуществления изобретения;
Фиг. 11 является блок-схемой последовательности операций, иллюстрирующей этапы способа декодирования согласно вариантам осуществления изобретения;
Фиг. 12 является блок-схемой последовательности операций, иллюстрирующей этапы способа для получения SAO-параметров из потока битов согласно режиму адаптивного набора параметров;
Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей этапы способа для получения SAO-параметров из потока битов согласно LCU-режиму;
Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей этапы способа для считывания SAO-параметров в потоке битов;
Фиг. 15 и 16 являются блок-схемами последовательности операций, иллюстрирующими этапы способа согласно первому варианту осуществления изобретения для определения параметров, которые должны быть использованы в петлевом фильтре для обработки области текущего кадра;
Фиг. 17 иллюстрирует конкретный вариант осуществления, согласно которому значения смещений, ассоциированных с компонентом, соответствуют зеркальным значениям смещений, ассоциированных со вторым компонентом;
Фиг. 18 иллюстрирует то, как значения смещений, ассоциированных со вторым компонентом, могут быть получены из значений смещений, ассоциированных с первым компонентом, при применении петлевого SAO-фильтра с использованием классификации полосовых смещений;
Фиг. 19 иллюстрирует то, как значение параметра sao_band_position, ассоциированного со вторым компонентом Z, может быть получено из значения параметра sao_band_position, ассоциированного с первым компонентом X, при применении петлевого SAO-фильтра с использованием классификации полосовых смещений;
Фиг. 20 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения оптимального смещения, которое должно быть использовано посредством двух или трех компонентов согласно критерию искажения в зависимости от скорости передачи;
Фиг. 21 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения полосовой SAO-позиции, совместно используемой двумя компонентами;
Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей этапы способа для декодирования потока битов согласно конкретному варианту осуществления изобретения; и
Фиг. 23 иллюстрирует использование SAO-классификации одного компонента X для того, чтобы аналогично фильтровать другой компонент Z.
Фиг. 7 иллюстрирует систему передачи данных, в которой могут быть реализованы или более вариантов осуществления изобретения. Система передачи данных содержит передающее устройство, в этом случае сервер 701, который выполнен с возможностью передавать пакеты данных из потока данных в приемное устройство, в этом случае клиентский терминал 702, через сеть 700 передачи данных. Сеть 700 передачи данных может быть глобальной вычислительной сетью (WAN) или локальной вычислительной сетью (LAN). Эта сеть, например, может представлять собой беспроводную сеть (Wi-Fi/802.11a или b или g), Ethernet-сеть, Интернет-сеть либо смешанную сеть, состоящую из нескольких различных сетей. В конкретном варианте осуществления изобретения, система передачи данных может быть системой цифровой телевизионной широковещательной передачи, в которой сервер 701 отправляет идентичный контент данных в несколько клиентов.
Поток 704 данных, предоставленный посредством сервера 701, может состоять из мультимедийных данных, представляющих видео- и аудиоданные. Потоки аудио- и видеоданных, в некоторых вариантах осуществления изобретения, могут захватываться посредством сервера 701 с использованием микрофона и камеры, соответственно. В некоторых вариантах осуществления, потоки данных могут быть сохранены на сервере 701 или приняты посредством сервера 701 от другого поставщика данных либо сформированы на сервере 701. Сервер 701 содержит кодер для кодирования видео- и аудиопотоков, в частности, чтобы предоставлять сжатый поток битов для передачи, которая является более компактным представлением данных, представленных в качестве ввода в кодер.
Чтобы получать лучшее отношение качества передаваемых данных к количеству передаваемых данных, сжатие видеоданных может выполняться, например, в соответствии с HEVC-форматом или H.264/AVC-форматом.
Клиент 702 принимает передаваемый поток битов и декодирует восстановленный поток битов, чтобы воспроизводить видеоизображения на устройстве отображения и аудиоданные посредством громкоговорителя.
Хотя сценарий потоковой передачи рассматривается в примере по фиг. 7, следует принимать во внимание, что в некоторых вариантах осуществления изобретения передача данных между кодером и декодером может выполняться с использованием, например, устройства хранения данных, такого как оптический диск.
В одном или более вариантов осуществления изобретения, видеоизображение передается с данными, представляющими компенсационные смещения для применения к восстановленным пикселам изображения, чтобы предоставлять фильтрованные пикселы в конечном изображении.
Фиг. 8 схематично иллюстрирует устройство 800 обработки, сконфигурированное с возможностью реализовывать по меньшей мере один вариант осуществления настоящего изобретения. Устройство 800 обработки может быть таким устройством, как микрокомпьютер, рабочая станция или легкое портативное устройство. Устройство 800 содержит шину 813 связи, соединенную со следующим:
- центральный процессор 811, такой как микропроцессор, обозначаемый CPU;
- постоянное запоминающее устройство 807, обозначаемое ROM, для сохранения компьютерных программ для реализации изобретения;
- оперативное запоминающее устройство 812, обозначаемое RAM, для сохранения исполняемого кода способа вариантов осуществления изобретения, а также регистров, сконфигурированных с возможностью записывать переменные и параметры, необходимые для реализации способа кодирования последовательности цифровых изображений и/или способа декодирования потока битов согласно вариантам осуществления изобретения; и
- интерфейс 802 связи, подключенный к сети 803 связи, по которой передаются или принимаются цифровые данные, которые должны быть обработаны.
Необязательно, устройство 800 также может включать в себя следующие компоненты:
- средство 804 хранения данных, такое как жесткий диск, для сохранения компьютерных программ для реализации способов одного или более вариантов осуществления изобретения и данных, используемых или сформированных во время реализации одного или более вариантов осуществления изобретения;
- накопитель 805 на дисках для диска 806, причем накопитель на дисках выполнен с возможностью считывать данные с диска 806 или записывать данные на упомянутый диск;
- экран 809 для отображения данных и/или выступания в качестве графического интерфейса с пользователем, посредством клавиатуры 810 или любого другого средства указания.
Устройство 800 может подключаться к различным периферийным устройствам, такими как, например, цифровая камера 820 или микрофон 808, подключенным к плате ввода-вывода (не показана), с тем чтобы предоставлять мультимедийные данные в устройство 800.
Шина связи предоставляет связь и функциональную совместимость между различными элементами, включенными в устройство 800 или подключенными к нему. Представление шины не является ограничивающим, и, в частности, центральный процессор выполнен с возможностью передавать инструкции в любой элемент устройства 800 непосредственно или посредством другого элемента устройства 800.
Диск 806 может быть заменен посредством любого носителя информации, такого как, например, компакт-диск (CD-ROM), перезаписываемый или нет, Zip-диск или карта памяти, и в общих чертах, посредством средства хранения информации, которое может считываться посредством микрокомпьютера или посредством микропроцессора, интегрированного или нет в устройство, возможно съемного и сконфигурированного с возможностью сохранять одну или более программ, выполнение которых обеспечивает возможность реализации способа кодирования последовательности цифровых изображений и/или способа декодирования потока битов согласно изобретению.
Исполняемый код может быть сохранен либо в постоянном запоминающем устройстве 807 на жестком диске 804, либо на съемном цифровом носителе, таком как, например, диск 806, как описано выше. Согласно разновидности, исполняемый код программ может быть принят посредством сети 803 связи через интерфейс 802, чтобы сохраняться на одном из средств хранения устройства 800 перед выполнением, таком как жесткий диск 804.
Центральный процессор 811 выполнен с возможностью управлять и направлять выполнение инструкций или части программного кода программы или программ согласно изобретению, инструкций, которые сохраняются на одном из вышеуказанных средств хранения. При включении питания программа или программы, которые сохраняются в энергонезависимом запоминающем устройстве, например, на жестком диске 804 или в постоянном запоминающем устройстве 807, передаются в оперативное запоминающее устройство 812, которое в таком случае содержит исполняемый код программы или программ, а также регистры для сохранения переменных и параметров, необходимых для реализации изобретения.
В этом варианте осуществления, устройство является программируемым устройством, которое использует программное обеспечение для того, чтобы реализовывать изобретение. Тем не менее, альтернативно настоящее изобретение может быть реализовано в аппаратных средствах (например, в форме специализированной интегральной схемы, или ASIC).
Фиг. 9 иллюстрирует блок-схему кодера 900 согласно, по меньшей мере, одному варианту осуществления изобретения. Кодер представляется посредством соединенных модулей, причем каждый модуль выполнен с возможностью реализовывать, например, в форме инструкций программирования, которые должны быть выполнены посредством CPU 811 устройства 800 по меньшей мере один соответствующий этап способа, реализующего по меньшей мере один вариант осуществления кодирования изображения из последовательности изображений согласно одному или более вариантов осуществления изобретения.
Исходная последовательность цифровых изображений i0-in 901 принимается как ввод посредством кодера 900. Каждое цифровое изображение представляется посредством набора выборок, известных как пикселы.
Поток 910 битов выводится посредством кодера 900 после реализации процесса кодирования. Поток 910 битов содержит множество единиц кодирования или слайсов, причем каждый слайс содержит заголовок слайса для передачи значений для кодирования параметров кодирования, используемых для того, чтобы кодировать слайс, и тело слайса, содержащее кодированные видеоданные.
Входные цифровые изображения i0-i0 901 разделяются на блоки пикселов посредством модуля 902. Блоки соответствуют частям изображения и могут иметь переменные размеры (например, 4x4, 8x8, 16x16, 32x32, 64x64 пикселов). Режим кодирования выбирается для каждого входного блока. Предоставляются два семейства режимов кодирования: режимы кодирования на основе кодирования с пространственным прогнозированием (внутреннего прогнозирования) и режимы кодирования на основе временного прогнозирования (внешнее кодирование, объединение, пропуск). Возможные режимы кодирования тестируются.
Модуль 903 реализует процесс внутреннего прогнозирования, при котором данный блок, который должен быть кодирован, прогнозируется посредством предиктора, вычисленного из пикселов окружения упомянутого блока, который должен быть кодирован. Индикатор относительно выбранного внутреннего предиктора и разность между данным блоком и его предиктором кодируются для того, чтобы предоставлять остаток, если выбирается внутреннее кодирование.
Временное прогнозирование реализуется посредством модуля 904 оценки движения и модуля 905 компенсации движения. Во-первых, выбирается опорное изображение из числа набора 916 опорных изображений, и часть опорного изображения, также называемая "опорной областью", или часть изображения, которая является ближайшей областью к данному блоку, который должен быть кодирован, выбирается посредством модуля 904 оценки движения. Модуль 905 компенсации движения затем прогнозирует блок, который должен быть кодирован, с использованием выбранной области. Разность между выбранной опорной областью и данным блоком, также называемая "остаточным блоком", вычисляется посредством модуля 905 компенсации движения. Выбранная опорная область указывается посредством вектора движения.
Таким образом, в обоих случаях (пространственное и временное прогнозирование), остаток вычисляется посредством вычитания прогнозирования из исходного блока.
При внутреннем прогнозировании, реализованном посредством модуля 903, кодируется направление прогнозирования. При временном прогнозировании кодируется по меньшей мере один вектор движения.
Информация относительно вектора движения и остаточного блока кодируется, если выбирается внешнее прогнозирование. Чтобы дополнительно снижать скорость передачи битов, при условии что движение является гомогенным, вектор движения кодируется посредством разности относительно предиктора вектора движения. Предикторы векторов движения из набора предикторов информации движения получаются из поля 918 векторов движения посредством модуля 917 прогнозирования и кодирования векторов движения.
Кодер 900 дополнительно содержит модуль 906 выбора для выбора режима кодирования посредством применения критерия затрат на кодирование, к примеру, критерия искажения в зависимости от скорости передачи. Чтобы дополнительно уменьшать избыточность, преобразование (к примеру, DCT) применяется посредством модуля 907 преобразования к остаточному блоку, преобразованные полученные данные затем квантуются посредством модуля 908 квантования и энтропийно кодируются посредством модуля 909 энтропийного кодирования. В завершение, кодированный остаточный блок кодируемого текущего блока вставляется в поток 910 битов.
Кодер 900 также выполняет декодирование кодированного изображения для того, чтобы формировать опорное изображение для оценки движения последующих изображений. Это позволяет кодеру и декодеру, принимающим поток битов, иметь идентичные опорные кадры. Модуль 911 обратного квантования выполняет обратное квантование квантованных данных, после чего выполняется обратное преобразование посредством модуля 912 обратного преобразования. Модуль 913 обратного внутреннего прогнозирования использует информацию прогнозирования, чтобы определять то, какой предиктор использовать для данного блока, и модуль 914 обратной компенсации движения фактически добавляет остаток, полученный посредством модуля 912, в опорную область, полученную из набора 916 опорных изображений.
Постфильтрация затем применяется посредством модуля 915, чтобы фильтровать восстановленный кадр пикселов. В вариантах осуществления изобретения, используется петлевой SAO-фильтр, в котором компенсационные смещения суммируются с пиксельными значениями восстановленных пикселов восстановленного изображения.
Фиг. 10 является блок-схемой последовательности операций способа, иллюстрирующей этапы процесса петлевой фильтрации согласно, по меньшей мере, одному варианту осуществления изобретения. На начальном этапе 1001 кодер формирует восстановление полного кадра. Затем, на этапе 1002 фильтр удаления блочности применяется для этого первого восстановления, чтобы формировать восстановление 1003 с удаленной блочностью. Цель фильтра удаления блочности состоит в том, чтобы удалять артефакты блочности, сформированные посредством остаточного квантования и блочной компенсации движения или блочного внутреннего прогнозирования. Эти артефакты являются визуально важными на низких скоростях передачи битов. Фильтр удаления блочности работает с возможностью сглаживать границы блоков согласно характеристикам двух соседних блоков. Учитываются режим кодирования каждого блока, параметры квантования, используемые для остаточного кодирования, и соседние пиксельные разности на границе. Идентичный критерий/классификация применяется для всех кадров, и дополнительные данные не передаются. Фильтр удаления блочности повышает визуальное качество текущего кадра посредством удаления артефактов блочности, и он также улучшает оценку движения и компенсацию движения для последующих кадров. Фактически, высокие частоты артефакта блочности удаляются, и в силу этого данные высокие частоты не должны компенсироваться с помощью остатка текстуры следующих кадров.
После фильтра удаления блочности восстановление с удаленной блочностью фильтруется посредством петлевого фильтра на основе адаптивного к выборке смещения (SAO) на этапе 1004 на основе классификации пикселов. Результирующий кадр 1005 затем может фильтроваться с помощью адаптивного петлевого фильтра (ALF) на этапе 1006, чтобы формировать восстановленный кадр 1007, который должен отображаться и использоваться в качестве опорного кадра для следующих внешних кадров.
На этапе 1004 каждый пиксел области кадра классифицируется на класс определенной классификации согласно своему пиксельному значению. Класс соответствует определенному диапазону пиксельных значений. Идентичное значение компенсационного смещения суммируется с пиксельным значением всех пикселов, имеющих пиксельное значение в данном диапазоне пиксельных значений.
Далее подробнее поясняется кодирование и/или декодирование SAO-параметров, которые должны передаваться между сервером и клиентом и/или сохраняться локально или удаленно, для декодирования пикселов для фильтрации на основе адаптивного к выборке смещения, в отношении любого из фиг. 12-23.
Фиг. 11 иллюстрирует блок-схему декодера 1100, который может быть использован для того, чтобы принимать данные из кодера согласно варианту осуществления изобретения. Декодер представляется посредством соединенных модулей, причем каждый модуль выполнен с возможностью реализовывать, например, в форме инструкций программирования, которые должны быть выполнены посредством CPU 811 устройства 800, соответствующий этап способа, реализованного посредством декодера 1100.
Декодер 1100 принимает поток 1101 битов, содержащий единицы кодирования, каждая из которых состоит из заголовка, содержащего информацию относительно параметров кодирования, и тела, содержащего кодированные видеоданные. Как пояснено относительно фиг. 9, кодированные видеоданные энтропийно кодируются, и индексы предикторов векторов движения кодируются, для данного блока, для предварительно определенного числа битов. Принятые кодированные видеоданные энтропийно декодируются посредством модуля 1102. Остаточные данные затем деквантуются посредством модуля 1103, и затем обратное преобразование применяется посредством модуля 1104, чтобы получать пиксельные значения.
Данные режима, указывающие режим кодирования, также энтропийно декодируются, и на основе режима внутреннее декодирование или внешнее декодирование выполняется для кодированных блоков данных изображений.
В случае внутреннего режима внутренний предиктор определяется посредством модуля 1105 обратного внутреннего прогнозирования на основе режима внутреннего прогнозирования, указываемого в потоке битов.
Если режим является внешним, информация прогнозирования движения извлекается из потока битов, с тем чтобы находить опорную область, используемую посредством кодера. Информация прогнозирования движения состоит из индекса опорного кадра и остатка вектора движения. Предиктор вектора движения добавляется в остаток вектора движения, чтобы получать вектор движения посредством модуля 1110 декодирования на основе векторов движения.
Модуль 1110 декодирования на основе векторов движения применяет декодирование на основе векторов движения для каждого текущего блока, кодированного посредством прогнозирования движения. После того, как получен индекс предиктора вектора движения для текущего блока, фактическое значение вектора движения, ассоциированного с текущим блоком, может быть декодировано и использовано для того, чтобы применять обратную компенсацию движения посредством модуля 1106. Часть опорного изображения, указываемая посредством декодированного вектора движения, извлекается из опорного изображения 1108, чтобы применять обратную компенсацию 1106 движения. Данные 1111 поля векторов движения обновляются с помощью декодированного вектора движения, с тем чтобы использоваться для обратного прогнозирования следующих декодированных векторов движения.
В завершение, получается декодированный блок. Постфильтрация применяется посредством модуля 1107 постфильтрации, аналогично модулю 915 постфильтрации, применяемому в кодере, как описано со ссылкой на фиг. 9. Декодированный видеосигнал 1109 в завершение предоставляется посредством декодера 1000.
Фиг. 12 является блок-схемой последовательности операций, иллюстрирующей этапы способа для получения SAO-параметров из потока битов согласно режиму адаптивного набора параметров (APS). Соответственно, фиг. 12 иллюстрирует то, как SAO-параметры сохраняются в потоке битов, когда режим адаптивного набора параметров используется для того, чтобы ассоциировать один набор SAO-параметров в расчете на область кадра. Согласно этому режиму, набор SAO-параметров является допустимым для области прямоугольного кадра, размер которой составляет кратное размера наибольшей единицы кодирования (LCU). Чтобы уменьшать число битов для того, чтобы сохранять все SAO-параметры кадра для этого конкретного режима, используется технология кодирования по длинам серий, а также флаг прогнозирования из вышеуказанной области кадра.
Согласно APS-режиму, реализованному в текущих технических спецификациях HEVC, существуют флаги, указывающие то, активируется или нет петлевая SAO-фильтрация для компонентов данного изображения. Это означает то, что, например, при рассмотрении изображения, кодированного согласно YUV-схеме, SAO-параметры для компонента U или V могут активироваться или деактивироваться.
Такие флаги считываются на начальном этапе 1201. Затем, на этапе 1202 получается размер области кадра, к которой должен применяться набор SAO-параметров. Как описано выше, область кадра, в которой должна применяться петлевая SAO-фильтрация при использовании APS-режима, соответствует области, которая равна LCU-размеру или которая соответствует нескольким размерам относительно LCU-размера.
Затем, на этапе 1203 начинается петля для того, чтобы обрабатывать последовательно каждый цветовой компонент последовательности, обозначаемый X. Эта петля обеспечивает считывание флага "уникальности" для каждого компонента, которое выполняется на этапе 1204. Затем, на этапе 1205 выполняется тест, чтобы определять то, представляет собой или нет считанный флаг "уникальности" "истину". Если считанный флаг "уникальности" представляет собой "истину", имеется всего один набор SAO-параметров касательно текущего обработанного компонента X для всего изображения. В таком случае, SAO-параметры считываются в потоке битов на этапе 1206. Этот этап описывается подробно в отношении фиг. 14. В противном случае, если считанный флаг "уникальности" не представляет собой "истину", имеется несколько SAO-параметров для всего изображения касательно текущего обработанного компонента X. В таком случае, SAO-параметры считываются на следующих этапах, как описано в отношении этапов 1208-1218.
Затем, на этапе 1207 выполняется тест, чтобы определять то, является или нет текущий обработанный компонент X последним компонентом для обработки. Если текущий обработанный компонент X является последним компонентом для обработки, алгоритм переходит к этапу 1203, и предыдущие этапы повторяются для оставшегося компонента(ов).
Следует отметить, что, если флаг "уникальности" представляет собой "истину" для одного компонента, этапы 1208-1218 не выполняются для этого компонента.
Из этапа 1208, SAO-параметры определяются для каждой области кадра и для каждого компонента, когда имеется несколько наборов SAO-параметров в расчете на компонент.
На этапе 1208 начинается петля для того, чтобы обрабатывать последовательно каждую область кадра данного изображения, которое должно быть обработано, согласно размеру области кадра, определенному на этапе 1202. В данном примере по фиг. 12, области кадра обрабатываются в порядке растрового сканирования, посредством чего процесс начинается с первой строки областей кадра изображения и продолжается до последней строки изображения. Области кадра обрабатываются от левой стороны к правой стороне изображения.
Затем, на этапе 1209 начинается другая петля для того, чтобы обрабатывать последовательно обозначаемый X каждого компонента. Здесь следует отметить, что если флаг "активации" текущего компонента, считанный на этапе 1201, представляет собой "ложь", следующие этапы для заинтересованного компонента игнорируются на этапе 1209, и следующий компонент выбирается для обработки. На этапе 1210 считывается флаг "повторения строки". Затем, на этапе 1211a выполняется тест, чтобы определять то, представляет собой или нет этот флаг "истину". Если он представляет собой "истину", SAO-параметры предыдущей строки области кадра используются для текущей строки области кадра. Это позволяет сэкономить значительное число битов при представлении SAO-параметров в потоке битов посредством передачи в служебных сигналах только того, что текущая строка использует параметры, идентичные параметрами предыдущей строки.
В противном случае, если считанный флаг "повторения строки" представляет собой "ложь", область текущего кадра кодируется в потоке битов, и алгоритм переходит к этапу 1213, на котором выполняется тест, чтобы определять то, используется или нет прогнозирующая технология (с использованием кодирования по длинам серий или значения SAO-параметров вышеуказанной области кадра) для того, чтобы кодировать и представлять SAO-параметры, ассоциированные с областью предыдущего кадра в текущей строке. В этом случае, SAO-параметры области текущего кадра выводятся, в текущей строке, на этапе 1214, из области предыдущего кадра. Более конкретно, используются два элемента синтаксиса: sao_run_diff и sao_merge_up_flag, которые, соответственно, указывают то, кодируются SAO-параметры согласно способу по длинам серий или выводятся из SAO-параметров вышеуказанной области кадра. В противном случае, если ответ является отрицательным на этапе (1213), SAO-параметры для этой конкретной области кадра явно кодируются в потоке битов. Соответственно, эти SAO-параметры считываются из потока битов на этапе 1215. Этот этап является аналогичным 1206 и дополнительно описывается в отношении фиг. 14.
После этапа 1212, когда SAO-параметры определяются для всей строки, на этапе 1216 выполняется тест, чтобы определять то, является или нет текущий компонент последним компонентом, который должен быть обработан. Если он не является последним компонентом, который должен быть обработан, алгоритм переходит к этапу 1209, чтобы обрабатывать следующий компонент(ы). Аналогично, когда SAO-параметры определяются для области текущего кадра, или посредством выполнения этапа 1214 или этапа 1215, алгоритм переходит к этапу 1216, чтобы определять то, является или нет текущий компонент последним компонентом, который должен быть обработан. С другой стороны, если он не является последним компонентом, который должен быть обработан, алгоритм переходит к этапу 1209, чтобы обрабатывать следующий компонент(ы).
В противном случае, если все компоненты обработаны, на этапе 1217 выполняется тест, чтобы определять то, обработана или нет последняя область кадра. Если последняя область кадра не обработана, процесс переходит к этапу 1208, и предыдущие этапы повторяются. В противном случае процесс завершается.
На этой стадии набор SAO-параметров, с различными параметрами, представленными в отношении фиг. 14, ассоциирован с каждой областью кадра и для каждого компонента.
Фиг. 13 является блок-схемой последовательности операций, иллюстрирующей этапы способа для получения SAO-параметров из потока битов согласно LCU-режиму. Следовательно, фиг. 13 иллюстрирует альтернативу, чтобы кодировать SAO-параметры для APS-режима. Более конкретно, фиг. 13 иллюстрирует то, как SAO-параметры могут быть сохранены в потоке битов, когда представление режима наибольшей единицы кодирования (LCU) используется для того, чтобы ассоциировать один набор SAO-параметров в расчете на LCU. Во избежание кодирования одного набора SAO-параметров в расчете на LCU, которое является затратным, может быть использована прогнозирующая схема. В данном примере, этот прогнозирующий режим состоит в проверке того, использует или нет LCU, размещенная слева от текущей LCU, идентичные SAO-параметры. Если нет, вторая проверка выполняется для LCU, размещенной выше текущей LCU. Эта прогнозирующая технология обеспечивает уменьшение объема данных для того, чтобы представлять SAO-параметры для LCU-режима. Это основано на использовании выделенных флагов, называемых "флагами объединения".
На этапе 1301 начинается петля для того, чтобы обрабатывать последовательно каждый компонент, обозначаемый X. Для иллюстрации, изображения по-прежнему кодируются согласно YUV-схеме. Затем, на этапе 1303 флаг, обозначаемый sao_merge_left_flag_X (при этом X означает Y, U или V), считывается из потока 1302 битов, который должен быть обработан и декодирован. Если его значение представляет собой "истину", SAO-параметры LCU, размещенной слева от текущей LCU, выбираются на этапе 1304 для использования для обработки текущей LCU. Более конкретно, это предоставляет возможность применения определения на этапе 1308 относительно типа петлевого SAO-фильтра к текущей LCU.
В противном случае, если считанный флаг, обозначаемый sao_merge_left_flag_X, представляет собой "ложь", флаг, обозначаемый sao_merge_up_flag_X (при этом X означает Y, U или V), считывается из потока 1302 битов и декодируется. Если его значение представляет собой "истину", SAO-параметры LCU, размещенной выше текущей LCU, выбираются на этапе 1306 для использования для обработки текущей LCU. С другой стороны, это предоставляет возможность применения определения на этапе 1308 относительно типа петлевого SAO-фильтра к текущей LCU.
В противном случае, если считанный флаг, обозначаемый sao_merge_up_flag_X, представляет собой "ложь", SAO-параметры, которые должны быть использованы для обработки текущей LCU, считываются и декодируются из потока 1302 битов на этапе 1307, причем последнее описывается в отношении фиг. 14.
На этой стадии получаются SAO-параметры для обработки текущей LCU, и тип петлевого SAO-фильтра, который должен применяться к текущей LCU, определяется на этапе 1308.
Затем, на этапе 1309, выполняется тест, чтобы определять то, все или нет компоненты Y, U и V обработаны для текущей LCU. Если не все компоненты обработаны, следующий компонент выбирается, алгоритм переходит к этапу 1301, и предыдущие этапы повторяются.
Затем, следующая LCU может быть обработана аналогично.
Фиг. 14 является блок-схемой последовательности операций, иллюстрирующей этапы способа для считывания SAO-параметров в потоке битов. Соответственно, фиг. 14 иллюстрирует способ, которым SAO-параметры сохраняются в кодированном потоке битов.
На начальном этапе 1402 флаг, обозначаемый sao_type_idx_X (при этом X означает Y, U или V), считывается из потока 1401 битов и декодируется. Кодовое слово, которое представляет этот элемент синтаксиса, может использовать код фиксированной длины или любой способ арифметического кодирования.
Как описано выше в отношении таблицы 1 приложения, этот элемент синтаксиса позволяет определять тип петлевого SAO-фильтра, который должен применяться к области кадра, чтобы обрабатывать компонент X. Согласно данному примеру, флаг sao_type_idx_X (или обобщенно sao_type_idx) может принимать одно из пяти значений, что зависит от петлевого SAO-фильтра, который должен применяться. Как указано в таблице 1 приложения, 0 соответствует отсутствию петлевого SAO-фильтра, 1-4 соответствуют 4 категориям петлевого SAO-фильтра краевого смещения, как описано в отношении таблицы 2 приложения, а значение 5 соответствует петлевому SAO-фильтру полосового смещения.
На этапе 1402, после считывания и декодирования флага sao_type_idx_X, выполняется тест, чтобы определять то, является или нет значение этого индекса строго положительным. Если значение этого индекса равно нулю, что означает то, что петлевой SAO-фильтр не должен применяться к области текущего кадра, определение SAO-параметров завершается на этапе 1407. В противном случае, если значение флага sao_type_idx_X является строго положительным, SAO-параметры существуют в потоке 1401 битов для области текущего кадра.
Затем, на этапе 1403 выполняется тест, чтобы определять то, представляет собой или нет тип петлевого SAO-фильтра, который должен применяться, тип полосового смещения (sao_type_idx_X==5). Если петлевой SAO-фильтр, который должен применяться, имеет тип полосового смещения, полосовая SAO-позиция считывается на этапе 1404 в потоке 1401 битов и декодируется.
После считывания полосовой SAO-позиции на этапе 1404, на этапе 1405 начинается петля для считывания и декодирования четырех Offsetj (j варьируется от 1 до 4) на этапе 1406 из потока 1401 битов. Эти четыре смещения соответствуют четырем смещениям, связанным с четырьмя диапазонами полосового SAO-смещения, как описано в отношении фиг. 2.
Аналогично, если значение флага sao_type_idx_X является положительным и отличается от 5, на этапе 1405 начинается петля для считывания и декодирования четырех Offsetj (j варьируется от 1 до 4) из потока 1401 битов. Эти четыре смещения соответствуют четырем смещениям четырех типов краевого SAO-смещения, как описано в отношении таблицы 2 приложения.
Когда четыре смещения считаны и декодированы на этапе 1406, считывание SAO-параметров завершается на этапе 1407.
Согласно первому основному варианту осуществления, некоторые или все SAO-параметры совместно используются компонентами. С этой целью, задаются процессы для того, чтобы извлекать SAO-параметры покомпонентно. Такие зависимости между компонентами могут быть заданы для двух видов SAO-классификаций (краевые и полосовые смещения).
Как описано выше в отношении фиг. 13, два флага, обозначаемые sao_merge_left_flag_X и sao_merge_up_flag_X, используются в текущей реализации HEVC для LCU-режима, с тем чтобы получать SAO-параметры в качестве функции от ранее обработанных SAO-параметров. Флаг, обозначаемый sao_merge_left_flag_X, направлен на указание того, что SAO-параметры, которые должны быть использованы для обработки компонента X текущей LCU, представляют собой SAO-параметры, используемые для обработки идентичного компонента LCU, размещенной слева от текущей LCU. Аналогично, флаг, обозначаемый sao_merge_up_flag_X, направлен на указание того, что SAO-параметры, которые должны быть использованы для обработки компонента X текущей LCU, представляют собой SAO-параметры, используемые для обработки идентичного компонента LCU, размещенной выше текущей LCU.
Согласно конкретному варианту осуществления, эти флаги являются общими для двух или трех компонентов текущей LCU. Другими словами, флаги типов sao_merge_left_flag и sao_merge_up_flag больше не используются для того, чтобы указывать, что SAO-параметры, которые должны быть использованы для обработки компонента текущей LCU, представляют собой SAO-параметры, используемые для обработки идентичного компонента другой LCU, но указывать, что SAO-параметры, которые должны быть использованы для обработки двух или трех компонентов текущей LCU, представляют собой SAO-параметры, используемые для обработки идентичных двух-трех компонентов другой LCU. Для иллюстрации, флаги, обозначаемые sao_merge_left_flag_UV и sao_merge_up_flag_UV, могут рассматриваться для того, чтобы указывать, что SAO-параметры, которые должны быть использованы для обработки компонентов U и V текущей LCU, представляют собой SAO-параметры, используемые для обработки компонентов U и V LCU, размещенной слева или выше текущей LCU, соответственно.
Согласно другому конкретному варианту осуществления, флаги используются для того, чтобы указывать, что SAO-параметры, которые должны быть использованы для обработки двух или трех компонентов текущей LCU, представляют собой SAO-параметры, используемые для обработки компонента другой LCU. Как следствие, флаг, ассоциированный с компонентом текущей LCU, может указывать, какая из левой или верхней LCU должна быть использована в качестве ссылки, и в этой LCU, какой из компонентов должен быть использована для получения SAO-параметров. Следовательно, флаги могут быть следующими: sao_merge_left_flag_Y, sao_merge_left_flag_U, sao_merge_left_flag_V, sao_merge_up_flag_Y, sao_merge_up_flag_U и sao_merge_up_flag_V. Для иллюстрации, SAO-параметры компонента текущей LCU, которая ссылается на флаг sao_merge_left_flag_V, представляют собой SAO-параметры, ассоциированные с компонентом V LCU, размещенной слева от текущей LCU.
В этом варианте осуществления, SAO-параметры, ассоциированные с каждым компонентом LCU, предпочтительно являются идентичными (для каждого компонента этой LCU), когда они ссылаются на компоненты другой LCU. Для иллюстрации, SAO-параметры всех компонентов текущей LCU, компонент которой ссылается на флаг sao_merge_left_flag_V, представляют собой SAO-параметры, ассоциированные с компонентом V LCU, размещенной слева от текущей LCU. Соответственно, SAO-параметры левого компонента сигнала (Y) яркости могут использоваться для фильтрации компонента сигнала (U) цветности текущей LCU.
Фиг. 15 является блок-схемой последовательности операций, иллюстрирующей этапы способа согласно первому варианту осуществления изобретения для определения параметров, которые должны быть использованы в петлевом фильтре для обработки области текущего кадра. Пример, приведенный на фиг. 15, может рассматриваться в качестве комбинации двух конкретных вариантов осуществления, описанных выше в данном документе.
На этапе 1502, флаг, обозначаемый sao_merge_left_flag_Y, получается из потока 1501 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет). Если флаг, обозначаемый sao_merge_left_flag_Y, представляет собой "истину", на этапе 1503 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов Y, U и V текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации компонента Y в LCU, размещенной слева от текущей LCU.
Соответственно, значение флагов sao_type_idx_Ul и sao_type_idx_V для текущей LCU, задающих тип петлевого фильтра, который должен применяться к компоненту U и V текущей LCU, считается равным значению флага sao_type_idx_Y LCU, размещенной слева от текущей LCU. Аналогично, другие SAO-параметры, используемые для фильтрации компонентов U и V текущей LCU, например, значения смещения и, если требуется, полосовые позиции (sao_band_position_U и sao_band_position_V), получаются из SAO-параметров компонента Y LCU, размещенной слева от текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_left_flag_Y, представляет собой "ложь", флаг, обозначаемый sao_merge_up_flag_Y, получается из потока 1501 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет), на этапе 1504. Если флаг, обозначаемый sao_merge_up_flag_Y, представляет собой "истину", на этапе 1505 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов Y, U и V текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации компонента Y в LCU, размещенной выше текущей LCU.
Соответственно, значение флагов sao_type_idx_U и sao_type_idx_V для текущей LCU, задающих тип петлевого фильтра, который должен применяться к компонентам U и V текущей LCU, считается равным значению флага sao_type_idx_Y LCU, размещенной выше текущей LCU. Аналогично, другие SAO-параметры, используемые для фильтрации компонентов U и V текущей LCU, например, значения смещения и, если требуется, полосовые позиции (sao_band_position_U и sao_band_position_V) получаются из SAO-параметров компонента Y LCU, размещенной выше текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_up_flag_Y, представляет собой "ложь", SAO-параметры для компонента Y текущей LCU извлекаются из потока 1501 битов на этапе 1511, как описано выше в отношении фиг. 14. В таком случае, значение флагов sao_type_idx_Y, sao_band_position_Y (при необходимости) и четыре Offsetj_Y извлекаются из потока 1501 битов.
Затем, если флаг, обозначаемый sao_merge_up_flag_Y, представляет собой "ложь", на этапе 1506 флаг, обозначаемый sao_merge_left_flag_UV, получается из потока 1501 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет). Если флаг, обозначаемый sao_merge_left_flag_UV, представляет собой "истину", на этапе 1507 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов U и V текущей LCU равны SAO-параметрам, ранее определенным для фильтрации компонентов U и V, соответственно, в LCU, размещенной слева от текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_left_flag_UV, представляет собой "ложь", флаг, обозначаемый sao_merge_up_flag_UV, получается из потока 1501 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет), на этапе 1508. Если флаг, обозначаемый sao_merge_up_flag_UV, представляет собой "истину", на этапе 1509 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов U и V текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации компонентов U и V, соответственно, в LCU, размещенной выше текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_up_flag_UV, представляет собой "ложь", SAO-параметры для компонентов U и V текущей LCU извлекаются из потока 1501 битов на этапе 1510, как описано выше в отношении фиг. 14. В таком случае, значение флагов sao_type_idx_U, sao_type_idx_V, sao_band_position_U (при необходимости), sao_band_position_V (при необходимости), четыре Offsetj_U и четыре Offsetj_V извлекаются из потока 1501 битов. На этой стадии (ссылка с номером 1512) доступны все SAO-параметры для всех компонентов текущей LCU.
Затем, на этапе 1513, петлевой SAO-фильтр применяется ко всем компонентам текущей LCU, и процесс декодирования переходит к следующему этапу 1314 декодирования.
Также согласно конкретному варианту осуществления, могут использоваться флаги, общие для всех компонентов текущей LCU, например, флаги sao_merge_left_flag_YUV и sao_merge_up_flag_YUV. В таком случае, если оба флага представляют собой "ложь", могут использоваться флаги, направленные на каждый компонент, обобщенно называемые sao_merge_left_flag_X и sao_merge_up_flag_X (при этом X означает Y, U или V).
Фиг. 16 является блок-схемой последовательности операций, иллюстрирующей этапы способа согласно первому варианту осуществления изобретения для определения параметров, которые должны быть использованы в петлевом фильтре для обработки области текущего кадра. Пример, приведенный на фиг. 16, более конкретно направлен на третий конкретный вариант осуществления, описанный выше в данном документе.
На этапе 1602, флаг, обозначаемый sao_merge_left_flag_YUV, получается из потока 1601 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет). Если флаг, обозначаемый sao_merge_left_flag_YUV, представляет собой "истину", на этапе 1603 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов V, U и V текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации компонента V, U и V, соответственно, в LCU, размещенной слева от текущей LCU.
Соответственно, значение флагов sao_type_idx_Y, sao_type_idx_U и sao_type_idx_V для текущей LCU, задающих тип петлевого фильтра, который должен применяться к компонентам V, U и V текущей LCU, считается равным значению соответствующих флагов LCU, размещенной слева от текущей LCU. Аналогично, другие SAO-параметры, используемые для фильтрации компонентов V, U и V текущей LCU, получаются из SAO-параметров соответствующего компонента LCU, размещенной слева от текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_left_flag_YUV, представляет собой "ложь", флаг, обозначаемый sao_merge_up_flag_YUV, получается из потока 1601 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет), на этапе 1604. Если флаг, обозначаемый sao_merge_up_flag_YUV, представляет собой "истину", на этапе 1605 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонентов V, U и V текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации компонентов V, U и V, соответственно, в LCU, размещенной выше текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_up_flag_YUV, представляет собой "ложь", декодируются флаги, ассоциированные с каждым компонентом текущей LCU, для определения того, должны или нет SAO-параметры быть получены в качестве функции от предыдущих обработанных SAO-параметров.
С этой целью, на этапе 1606 начинается петля для последовательной обработки каждого компонента текущей LCU. Для каждого компонента X (где X равно Y, U или V), флаг, обозначаемый sao_merge_left_flag_X, извлекается из потока 1601 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет), на этапе 1607. Если флаг, обозначаемый sao_merge_left_flag_X, представляет собой "истину", на этапе 1608 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонента X текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации идентичного компонента в LCU, размещенной слева от текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_left_flag_X, представляет собой "ложь", флаг, обозначаемый sao_merge_up_flag_X, получается из потока 1601 битов, и выполняется тест, чтобы определять то, равно или нет значение этого флага единице (т.е. представляет он собой "истину" или нет), на этапе 1609. Если флаг, обозначаемый sao_merge_up_flag_X, представляет собой "истину", на этапе 1610 определяется то, что SAO-параметры, которые должны использоваться для фильтрации компонента X текущей LCU, равны SAO-параметрам, ранее определенным для фильтрации идентичного компонента в LCU, размещенной выше текущей LCU.
В противном случае, если флаг, обозначаемый sao_merge_up_flag_X, представляет собой "ложь", SAO-параметры для компонента X для текущей LCU извлекаются из потока 1601 битов на этапе 1611.
Затем, после получения SAO-параметров для компонента X текущей LCU, на этапе 1612, выполняется тест, чтобы определять то, является или нет компонент X компонентом V. Если компонент X не является компонентом V, процесс переходит к этапу 1606, чтобы обрабатывать следующий компонент. В противном случае, если компонент X является компонентом V, SAO-параметры декодируются и доступны для всех компонентов текущей LCU на этапе 1613.
Затем, на этапе 1614, компоненты текущей LCU фильтруются в петлевом SAO-фильтре с использованием полученных SAO-параметров, и декодер переходит к следующему этапу декодирования на этапе 1615.
Следует отметить, что варианты осуществления, описанные в отношении фиг. 15 и 16, основаны на LCU-синтаксисе, описанном в отношении фиг. 13. Тем не менее, эти варианты осуществления также могут быть основаны на SAO-синтаксисе для APS, как описано в отношении фиг. 12. В этом конкретном случае, параметры, совместно используемые компонентами, представляют собой SAO-параметры, а также флаги, обозначаемые "уникальность" и "повторение строки", и элементы синтаксиса, обозначаемые sao_run_diff и sao_merge_up_flag.
Как описано выше, в частности, в отношении таблицы 1 приложения, элемент синтаксиса или флаг, обозначаемый sao_type_idx, указывает, что текущий компонент текущей LCU не обрабатывается, когда его значение равно нулю. В противном случае, он указывает SAO-тип. Если значение флага sao_type_idx равно 1, 2, 3 или 4, классификация краевых смещений используется для того, чтобы фильтровать текущую LCU, а если значение флага sao_type_idx равно 5, полосовое SAO-смещение используется для того, чтобы фильтровать текущую LCU.
Согласно вариантам осуществления изобретения, как описано выше, такие флаги, обозначаемые sao_type_idx, могут быть совместно использованы двумя или тремя компонентами.
В другом конкретном варианте осуществления, компоненты могут совместно использовать только некоторые значения флага, обозначаемого sao_type_idx. Другими словами, второй компонент совместно использует значение флага, обозначаемого sao_type_idx первого компонента, только если это значение принадлежит предварительно определенному набору значений. Следовательно, согласно этому варианту осуществления, значение флага, обозначаемого sao_type_idx, условно совместно используется.
Для иллюстрации, можно предположить, что значение флага, обозначаемого sao_type_idx, ассоциированного с компонентом Y, совместно используется, для данной LCU, с компонентом U. Тем не менее, может появляться возможность того, что если это значение указывает SAO-классификацию типа краевого смещения (т.е. sao_type_idx=1, 2, 3 или 4), направление краевого смещения при этом получается из части потока битов, ассоциированной с компонентом U, вместо использования направления классификации краевых смещений, как представлено посредством компонента Y. Если значение флага, обозначаемого sao_type_idx, ассоциированного с компонентом Y, не равно краевому смещению (sao_type_idx=0 или 5), информация направления не извлекается из потока битов. Другими словами, если SAO-тип для компонента Y равен нулю или пяти, то этот SAO-параметр (связанный с типом) должен быть использован посредством компонентов U и V. Тем не менее, если SAO-тип представляет собой тип краевого смещения (т.е. значение от одного до четырех) для компонента Y, то выделенные SAO-типы должны быть использованы для компонентов U и V.
Как описано выше, SAO-параметры (ассоциированные с петлевым SAO-фильтром с использованием классификации пикселов типа краевого смещения) содержат четыре смещения, которые связаны с четырьмя классами из пяти возможных классов. Первый класс (класс "0") соответствует отсутствию SAO-фильтрации. Здесь следует напомнить, что направление классификации краевых смещений передается в служебных сигналах в SAO-типе.
Согласно вариантам осуществления изобретения, эти четыре смещения могут быть совместно использованы двумя или тремя компонентами, когда фильтр на основе краевого смещения выбирается для текущей LCU, независимо от направления классификации краевых смещений.
Согласно первому конкретному варианту осуществления, идентичные смещения используются для двух или трех компонентов. Следовательно, только четыре смещения должны быть извлечены из потока битов вместо восьми или двенадцати, если, соответственно, два или три компонента совместно используют идентичные четыре смещения для фильтрации пикселов с тремя компонентами.
Естественно, такие общие смещения должны быть вычислены на стороне кодера для обеспечения возможности обработки двух или трех компонентов с идентичными смещениями. Как описано ниже, этот выбор кодирования является идентичным выбору, используемому для фильтрации на основе полосового смещения.
В другом конкретном варианте осуществления, смещения Ozj, ассоциированные с компонентом Z, извлекаются из смещений Oxj другого компонента X согласно весовому коэффициенту βj следующим образом:
Ozj=βj Oxj
Весовой коэффициент βj может быть идентичным независимо от того, составляет значение j (β=βj) или нет. Значение β или значения βj могут быть предварительно определены и равны константе либо могут передаваться в конкретных заголовках, таких как заголовок последовательности или заголовок слайса, либо могут даже передаваться на основе каждой LCU (или, если обобщать, на основе каждой области кадра).
Когда значения варьируются между LCU, они могут быть динамически вычислены на сторонах кодера и декодера.
Значения весовых коэффициентов могут быть вычислены согласно следующей формуле:
где cZ i является значением компонента Z пиксела i класса j, и где cZ in1 и cZ in2 являются значениями компонента Z соседних узлов пиксела i класса j, как описано выше, в частности, в отношении таблицы 2 приложения.
Соответственно, значение весового коэффициента βj является отношением между средней (максимальной) разностью компонента Z классифицированных пикселов и их соседними пикселами и средней (максимальной) разностью компонента X классифицированных пикселов и их соседними пикселами. Другие взаимосвязи или формулы могут быть использованы для того, чтобы вычислять значения весового коэффициента βj (или β).
В еще одном другом конкретном варианте осуществления, значение смещений, кодированных в потоке битов, может зависеть от значений весового коэффициента βj (или β) независимо от того, как они определяются. В таком варианте осуществления, если значение весового коэффициента β или βj меньше единицы, значение смещения Ozj кодируется в потоке битов вместо значения смещения Oxj.
Фактически, в формуле Ozj=βj Oxj, Ozj<Oxj, если βj<1. Как следствие, значению Ozj смещения требуется меньшее число битов для кодирования в потоке битов, чем значению Oxj. Поскольку декодер знает или может определять значения весового коэффициента βj, он может декодировать значение Ozj из потока битов и определять значение Oxj согласно следующей формуле:
Ozj=(1/βj)× Oxj
В еще одном конкретном варианте осуществления, абсолютное значение смещений Ozj, ассоциированных со вторым компонентом Z, равно абсолютному значению смещений Ox(5-j), ассоциированных с первым компонентом X. Здесь следует отметить, что согласно этому конкретному варианту осуществления, используется только абсолютное значение, поскольку знак смещения для класса краевого смещения предварительно определяется, чтобы уменьшать артефакты.
Фиг. 17 иллюстрирует такой конкретный вариант осуществления, согласно которому значения смещений, ассоциированных с компонентом, соответствуют зеркальным значениям смещений, ассоциированных со вторым компонентом. Как проиллюстрировано, смещение для 4 классов компонента Z извлекается из смещений от компонента X посредством рассмотрения обратного порядка смещений. Здесь следует напомнить, что знаки, применяемые к смещениям, выводятся из классификации.
В еще одном другом конкретном варианте осуществления, зеркальные значения смещений, ассоциированных с первым компонентом, используемым в качестве смещений, ассоциированных со вторым компонентом, могут быть взвешены с помощью весовых коэффициентов βj. Согласно этому конкретному варианту осуществления, абсолютное значение смещений Ozj, ассоциированных со вторым компонентом Z, равно взвешенному абсолютному значению смещений Ox(5-j), ассоциированных с первым компонентом X, согласно следующей формуле:
Ozj=βj Ox(5-j)
Как описано выше, фильтру на основе полосового SAO-смещения требуются два типа параметров. Первый тип направлен на позицию (sao_band_position), а второй тип направлен на четыре смещения, связанные с четырьмя классами полосы, которая задается от данной позиции. Согласно вариантам осуществления изобретения, два типа параметров, ассоциированных с компонентами области кадра, могут быть получены отдельно от соответствующих параметров, ассоциированных с компонентами другой, уже обработанной, области кадра. Тем не менее, варианты осуществления, которые связаны с позицией (sao_band_position), и варианты осуществления, которые связаны со смещениями, могут быть легко комбинированы. Кроме того, как описано выше в отношении вариантов осуществления для краевого смещения, эти варианты осуществления или комбинации вариантов осуществления, которые связаны с позициями и смещениями для фильтрации на основе полосового смещения, применяются в качестве функции от значений флагов объединения или SAO-синтаксиса для APS, как описано выше.
Следует отметить, что поскольку SAO-параметры, ассоциированные с компонентом, могут быть использованы для того, чтобы обрабатывать два или три компонента, нижеприведенное описание фокусируется на использовании SAO-параметров, ассоциированных с одним компонентом, для обработки двух компонентов для иллюстрации.
Фиг. 18 иллюстрирует то, как значения смещений, ассоциированных со вторым компонентом Z, могут быть получены из значений смещений, ассоциированных с первым компонентом X, при применении петлевого SAO-фильтра с использованием классификации полосовых смещений.
Ссылка с номером 1801 иллюстрирует использование SAO-параметров, в частности, смещений, ассоциированных с компонентами для применения петлевого SAO-фильтра с использованием классификации полосовых смещений, согласно текущим техническим требованиям HEVC. Смещения, ассоциированные с каждым компонентом, кодируются в потоке битов, используемом для передачи кодированных изображений. Для иллюстрации, поток битов содержит смещения 0x1-0x4, обобщенно называемые Oxj, ассоциированные с первым компонентом X, и смещения Oz1-Oz4, обобщенно называемые Ozj, ассоциированные с первым компонентом Z. Как проиллюстрировано посредством ссылки с номером 1801, смещения Oxj соответствуют первой полосе, содержащей четыре последовательных класса, обозначаемые BO X, и смещения Ozj соответствуют второй полосе, также содержащей четыре последовательных класса, обозначаемые BO Z.
Ссылка с номером 1802 показывает первый конкретный вариант осуществления, в котором смещения Ozj равны смещениям Oxj. Следовательно, смещение Ozj не кодируется в потоке битов. Они могут быть восстановлены посредством использования соответствующих флагов объединения, как описано выше в отношении фильтрации на основе краевого смещения. Аналогично, весовой коэффициент β или βj может быть использован таким образом, что смещения Ozj могут быть определены в качестве функции от смещений Oxj (Ozj=βj Oxj). С другой стороны, значение или значения весового коэффициента β или βj могут быть предварительно определены или представлены на разных уровнях в потоке битов (на уровне последовательности, уровне кадра, уровне слайса или уровне LCU). В этом контексте, значение или значения весового коэффициента β или βj могут быть отрицательными (для краевого смещения, знак смещений определяется в качестве функции от класса). В частности, весовой коэффициент может быть равным минус один (β=-1).
В еще одном другом конкретном варианте осуществления, значение или значения весового коэффициента β или βj могут быть определены динамически. Для иллюстрации, значение или значения весового коэффициента β или βj могут быть определены в качестве функции от позиции полосы (sao_band_position). Например, если класс j полосы Z и класс j полосы X не находятся в идентичных подыинтервалах в виде центра интервала (представлен полужирной линией на фиг. 18), β=-1, в противном случае β=1. Здесь считается, что полный интервал разбивается на два подыинтервала, причем первый из них представляет собой интервал пиксельных значений от 0 до 127, а второй из них представляет собой интервал пиксельных значений от 128 до 256 (когда 8 битовых глубин используются для пиксельного значения).
Согласно другому варианту осуществления, значения весового коэффициента βj определяются в качестве функции от отношения между расстоянием от текущего класса компонента Z (или набора классов для значения весового коэффициента β) до центра интервала и расстоянием от текущего класса компонента X (или набора классов для значения весового коэффициента β) до центра интервала, которое может выражаться следующим образом:
где sao_band_position_Zj-16 является расстоянием между текущим компонентом Z и центром интервала, а sao_band_position_Xj-16 является расстоянием между текущим компонентом X и центром интервала. В другом варианте осуществления, может рассматриваться обратное отношение. Что касается краевого смещения, другие взаимосвязи и формулы могут быть использованы для того, чтобы определять значение или значения весового коэффициента β или βj. Кроме того, как описано выше, смещения Oxj или смещения Ozj могут быть вставлены в поток битов в зависимости от значения или значений весового коэффициента β или βj (независимо от того, как они определяются), чтобы уменьшать число битов, требуемое для того, чтобы кодировать смещения Oxj или смещения Ozj.
Ссылка с номером 1803 иллюстрирует то, как зеркальные значения смещений, ассоциированных с первым компонентом, могут быть использованы в качестве значений смещений, ассоциированных со вторым компонентом для фильтрации на основе полосового смещения. Как описано выше в отношении фильтрации на основе краевого смещения, взаимосвязи между смещениями Ozj и Oxj могут выражаться посредством следующей формулы:
С другой стороны, этот конкретный вариант осуществления может быть комбинирован с использованием весового коэффициента согласно формуле Ozj=βj Ox(5-j). В конкретном варианте осуществления, βj равен -1.
Конкретное извлечение смещений для фильтрации на основе полосового смещения является увеличением или снижением размера классов, обеспечивающих модификацию классификации полосовых смещений пикселов. Ссылка с номером 1604 иллюстрирует пример такой адаптации классификации. Согласно проиллюстрированному примеру, число пикселов в расчете на класс делится на два для компонента Z по сравнению с классификацией полос для компонента X. Следовательно, классификация пикселов для компонента Z, согласно фильтрации на основе полосового смещения, требует проверки шести битов. Другими словами, шесть старших битов должны проверяться на предмет классификации пиксела. Следовательно, можно считать, что интервал в полнопиксельное значение разделяется на 64 диапазона для компонента Z.
Эта взаимосвязь может быть фиксированной для реализации либо может быть передана в служебных сигналах на уровне последовательности, кадра, слайса или LCU. Она может определяться динамически с учетом отношения размера диапазона пикселов для компонента X и размера диапазона пикселов для компонента Z на уровне LCU (либо последовательности, кадра или слайса). Соответственно, размер классов для компонента Z может быть определен следующим образом:
для всех i=0-N, где Pzi являются пикселами компонента Z, а Pxi являются пикселами компонента X. Чтобы упрощать классификацию полос, число пиксельных значений в расчете на класс равно степени двух (обеспечивая возможность битовой проверки старших битов).
Этот конкретный вариант осуществления может быть комбинирован со всеми другими конкретными вариантами осуществления, описанными для извлечения смещений полосового смещения, как проиллюстрировано посредством ссылки с номером 1805, на которой этот вариант осуществления комбинируется с использованием смещений зеркальных значений, ассоциированных с компонентом X.
В другом конкретном варианте осуществления, который является применимым как к краевой, так и к полосовой SAO-фильтрации, смещения от одного компонента могут извлекаться из двух или трех компонентов.
Все описанные варианты осуществления, применимые как к краевой, так и к полосовой SAO-фильтрации, которые связаны с использованием смещений из одного компонента для того, чтобы определять (или извлекать) смещения для одного или двух других компонентов, представляют преимущества, в частности, касательно размера запрашиваемого буфера запоминающего устройства, когда такое извлечение систематически используется (для всех LCU), поскольку смещения второго компонента и/или третьего компонента не должны обязательно сохраняться.
В другом конкретном варианте осуществления (как для краевой, так и для полосовой SAO-фильтрации), извлечение смещений между компонентами может быть использовано для того, чтобы прогнозировать смещения от второго компонента согласно смещениям от первого компонента. (Описание посвящено совместному использованию смещений между компонентами). В этом варианте осуществления, остатки смещений компонента Z кодируются в потоке битов вместо кодирования непосредственно значения смещений компонента Z. На стороне декодера смещения компонента Z получаются посредством суммирования остаточных смещений со смещениями компонента X.
В другом конкретном варианте осуществления, применимом к SAO-фильтрации как на основе краевого, так и на основе полосового смещения, извлечение смещений между компонентами может быть использовано в качестве контекста для контекстного арифметического кодирования смещений, ассоциированных со вторым компонентом, согласно смещениям, ассоциированным с первым компонентом.
В еще одном другом конкретном варианте осуществления, применимом как к краевой, так и к полосовой SAO-фильтрации, извлечение смещений между двумя компонентами может передаваться в служебных сигналах в потоке битов и может конкурировать с традиционным режимом, посредством чего смещения кодируются в потоке битов для всех компонентов.
Как описано выше, полосовая позиция (sao_band_position) является позицией первого класса полосы в интервалах в полнопиксельное значение. Посредством рассмотрения стандартной пятибитовой проверки значение параметра sao_band_position принадлежит диапазону [0; 32]. Согласно вариантам осуществления изобретения, этот параметр может быть совместно использован двумя или тремя компонентами. Для иллюстрации, описание фокусируется на извлечении этого параметра, связанного с компонентом Z, из его значения, ассоциированного с компонентом X.
Фиг. 19 иллюстрирует то, как значение параметра sao_band_position, ассоциированного со вторым компонентом Z, может быть получено из значения параметра sao_band_position, ассоциированного с первым компонентом X, при применении петлевого SAO-фильтра с использованием классификации полосовых смещений.
Ссылка с номером 1901 иллюстрирует пример двух значений sao_band_position, которые передаются в потоке битов согласно текущим техническим требованиям HEVC.
В конкретном варианте осуществления, проиллюстрированном посредством ссылки с номером 1902, общее значение sao_band_position используется как для компонента Z, так и для компонента X.
В конкретных вариантах осуществления, центральная позиция полосы сравнивается с центром полнопиксельного интервала. Результирующее значение равно sao_band_position-14 (14 соответствует центру интервала (16) минус центр полосы (-2)).
Соответственно, в конкретном варианте осуществления, проиллюстрированном посредством ссылки с номером 1903, sao_band_position_Z, ассоциированный с компонентом Z, задается симметричным sao_band_position_X, ассоциированному с компонентом X, относительно центра полнопиксельного интервала. Следовательно, считается, что (sao_band_position_Z-14) равен -(sao_band_position_X-14). Поскольку sao_band_position_X равен шести в этом примере, sao_band_position_Z в силу этого равен двадцати двум (-(6-14)+14=22).
В еще одном конкретном варианте осуществления, проиллюстрированном посредством ссылки с номером 1904, весовой коэффициент β используется для того, чтобы определять значение sao_band_position_Z, ассоциированное с компонентом Z, в качестве функции от значения sao_band_position_X, ассоциированного с компонентом X, и позиции центра полнопиксельного интервала. Это основано, аналогично предыдущему варианту осуществления, на относительной позиции между центром полнопиксельного интервала и значением sao_band_position каждого компонента X и Z. Согласно этому примеру, взаимосвязь, которая должна быть использована, может представлять собой следующее:
sao_band_position_Z-14=β(sao_band_position_X-14)
Другими словами:
sao_band_position_Z=β(sao_band_position_X-14)+14.
В примере, приведенном на фиг. 19, β=-1/2. В этом случае, sao_band_position_X равен 6, и, следовательно, sao_band_position_Z равен восемнадцати (-1/2 (6-14)+14=18).
Значение весового коэффициента β может быть предварительно определено для реализации либо передано на любом уровне (последовательности, кадра, слайса или LCU).
В еще одном другом конкретном варианте осуществления, применимом как к краевой, так и к полосовой SAO-фильтрации, извлечение параметра sao_band_position между двумя компонентами может передаваться в служебных сигналах в потоке битов и конкурировать с традиционным режимом, в котором значение параметра sao_band_position кодируется в потоке битов для всех компонентов.
Выбор при кодировании SAO-параметров, когда SAO-параметры совместно используются двумя или тремя цветовыми компонентами, предпочтительно связан с эффективностью кодирования. Другими словами, выбор совместно используемых SAO-параметров преимущественно учитывает эффективность кодирования этих параметров и ассоциированных значений. Здесь следует напомнить, что выбор наилучшего смещения с точки зрения функции затрат на искажение в зависимости от скорости передачи является идентичным для фильтрации на основе как краевого, так и полосового смещения.
Выборы при кодировании смещений, когда эти смещения совместно используются двумя компонентами Z и X, безотносительно используемого SAO-типа (краевое или полосовое), описаны в данном документе ниже перед выбором середины полосы.
Как описано в отношении фиг. 3, иллюстрирующего процесс кодирования для определения оптимального смещения с точки зрения искажения для одного компонента, значения SumXj и SumNbPixXj, связанные с компонентом X, и значения SumZj и SumNbPixZj, связанные с компонентом Z, известны для всех классов j. SumXj и SumZj являются суммами разностей между пиксельными значениями в классе j и их исходными значениями, соответственно, для компонентов X и Z. SumNbPixXj и SumNbPixZj являются числом пикселов в классе j, соответственно, для компонентов X и Z. Предполагается, что значения этих четырех параметров уже вычислены для всех классов.
В конкретном варианте осуществления, согласно тому, для какого объекта необходимо получать Ozj=Oxj, оптимальное смещение Ooptj может быть определено посредством следующей формулы:
Ooptj=Ozj=Oxj=(SumXj+SumZj)/(SumNbPixXj+SumNbPixZj)
Затем, как описано выше для независимой обработки каждого компонента, кодер определяет наилучшее смещение Oxj с точки зрения критерия искажения в зависимости от скорости передачи.
Это состоит, в конкретном варианте осуществления согласно который Ozj=Oxj, в минимизации функции затрат на искажение в зависимости от скорости передачи следующим образом:
J(Oxj, Ozj)=SumNbPixXj×(Oxj×Oxj)-SumXj×Oxj×2+SumNbPixZ(j)×(Oxj×Oxj)-SumZ(j)×Oxj×2+λ R(Oxj)
Это может быть упрощено согласно следующему выражению:
J(Oxj, Ozj)=(SumNbPixXj+SumNbPixZj)×(Oj×Oj)-(SumXj+SumZj)×Oj×2+λ R(Oj)
В конкретном варианте осуществления, согласно которому зеркальные значения предназначены для того, чтобы определять смещения (Ozj=-Ox(5-j)) для случая краевого смещения, оптимальное смещение может быть задано посредством следующей формулы:
Ooptj=Oz(5-j)=Oxj=(SumXj-SumZ(5-j))/(SumNbPixXj+SumNbPixZ(5-j))
Затем, кодер определяет наилучшее смещение Oxj с точки зрения критерия искажения в зависимости от скорости передачи. Это состоит, согласно конкретному варианту осуществления, согласно которому Oz(5-j)=-Oxj, в минимизации функции затрат на искажение в зависимости от скорости передачи следующим образом:
J(Oxj, Ozj)=SumNbPixXj×(Oxj×Oxj)-SumXj×Oxj×2+SumNbPixZ(5-j)×(Oz(5-j)×Oz(5-j))-SumZ(5-j)×Oz(5-j)×2+λ R(Oxj)
или
J(Oxj, Ozj)=SumNbPixXj×(Oxj×Oxj)-SumXj×Oxj×2+SumNbPixZ(5-j)×(Oxj×Oxj)+SumZ(5-j)×Oxj×2+λ R(Oxj)
В конкретном варианте осуществления, согласно которому Ozj=-Oxj, оптимальное смещение Ooptj определяется посредством следующей формулы:
Ooptj=(SumXj-SumZj)/(SumNbPixXj+SumNbPixZj)
Затем, кодер определяет наилучшее смещение Oxj с точки зрения критерия искажения в зависимости от скорости передачи. Это состоит, согласно конкретному варианту осуществления, согласно которому Ozj=-Oxj, в минимизации функции затрат на искажение в зависимости от скорости передачи следующим образом:
J(Oxj, Ozj)=SumNbPixXj×(Oxj×Oxj)-SumXj×Oxj×2+SumNbPixZ(j)×(Ox(j)×Ox(j))+SumZ(j)×Ox(j) ×2+λ R(Oxj),
Это может быть упрощено посредством следующего выражения:
J(Oxj, Ozj)=(SumNbPixXj+SumNbPixZj)×(Oxj×Oxj)-(SumXj-SumZj)×Oxj×2+λ R(Oxj)
В конкретном варианте осуществления, согласно которому Ozj=βj Oxj, кодер определяет независимо оптимальное значение OoptXj для компонента X и оптимальное значение OoptZj для компонента Z. Затем, кодер определяет наилучшее смещение Oxj с точки зрения критерия искажения в зависимости от скорости передачи. Это состоит, согласно конкретному варианту осуществления Ozj=βj Oxj, в минимизации функции затрат на искажение в зависимости от скорости передачи, как описано в отношении фиг. 4.
Фиг. 20 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения оптимального смещения, которое должно быть использовано посредством двух или трех компонентов согласно критерию искажения в зависимости от скорости передачи. Процесс, проиллюстрированный на фиг. 20, основан на процессе, описанном в отношении фиг. 4. Этапы 2001, 2004, 2005 и 2006 являются аналогичными этапам 401, 404, 405 и 406, соответственно.
Этап 2002 отличается от этапа 402 тем, что петля, начинаемая на этапе 2002, задает смещение Oxj варьирующимся от sign(OoptXj)×max(f×OoptXj, OoptZj) до нуля, где f равен 1/βj, если βj<1, и βj в противном случае.
В обобщенном варианте осуществления, в котором Ozj=βj Oxj, критерий искажения в зависимости от скорости передачи вычисляется согласно следующей формуле:
J(Oxj, Ozj)=SumNbPixXj×(Oxj×Oxj)-SumXj×Oxj×2+SumNbPixZ(j)×(βj×Oxj×βj×Oxj)-SumZ(j)×βj×Oxj×2+λ R(Oxj)
Это также может записываться следующим образом:
J(Oxj, Ozj)=(SumNbPixXj+SumNbPixZ(j)×(βj)×(βj))×(Oxj×Oxj)-(SumXj+SumZ(j)×βj)×Oxj×2+λ R(Oxj)
На этапе 2003, для иллюстрации рассматривается конкретный случай, в котором βj=-1.
Выбор значения sao_band_position, совместно используемого двумя компонентами X и Z, может быть определен согласно следующим взаимосвязям:
sao_band_position_Z=β(sao_band_position_X-14)+14.
Фиг. 21 является блок-схемой последовательности операций, иллюстрирующей этапы способа для определения полосовой SAO-позиции, совместно используемой двумя компонентами. Это основано на процессе, описанном в отношении фиг. 5. Процесс, проиллюстрированный на фиг. 21, направлен на определение значения sao_band_position_Z, ассоциированного с компонентом Z, из значения sao_band_position_X, ассоциированного с компонентом X.
Основное отличие между процессом, проиллюстрированным на фиг. 21, и процессом, проиллюстрированным на фиг. 5, связано с модулем 2105, в котором значения искажения в зависимости от скорости передачи классов, ассоциированных с компонентом Z, и классов, ассоциированных с компонентом X, суммируются согласно следующей формуле:
J'i=J'i+JZj+JXjx,
где JZj является значением искажения в зависимости от скорости передачи для класса j компонента Z, и JXjx является значением искажения в зависимости от скорости передачи для класса jx компонента X. Кроме того, чтобы выбирать совместно sao_band_position_Z с sao_band_position_X, индекс jx извлекается согласно следующей формуле:
sao_band_position_Z=β(sao_band_position_X-14)+14.
Соответственно, jx равен β(j-14)+14.
Согласно второму основному варианту осуществления, который не допускает компонентной классификации, чтобы уменьшать сложность декодирования, пикселы в SAO-классе определяются в качестве функции от одного компонента. Пиксельные позиции затем используются для того, чтобы определять компонент или компоненты, которые должны фильтроваться. Соответственно, если пиксельный компонент должен фильтроваться согласно этому компоненту, фильтруются другой компонент или два других компонента этого пиксела.
Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей этапы способа для декодирования потока битов согласно конкретному варианту осуществления изобретения. Процесс, проиллюстрированный на этом чертеже, основан на процессе, проиллюстрированном на фиг. 6. Он направлен на использование классификации компонента X для того, чтобы фильтровать компонент Z.
Начальный этап 2201 состоит в определении SAO-параметров согласно процессам, описанным в отношении фиг. 12, 13 и 14. Тем не менее, согласно алгоритму, проиллюстрированному на фиг. 22, только значение параметра sao_type_idx и, если оно равно пяти, значение параметра sao_band_position для компонента X, определяются на этапе 2202 из потока битов (не представлен). Фактически, эти параметры связаны с классификацией, они не необходимы для того, чтобы классифицировать компонент Z, который фильтруется согласно классификации компонента X.
Затем, на этапе 2203 четыре смещения, ассоциированные с компонентом X, получаются из потока битов. Аналогично, четыре смещения, ассоциированные с компонентом Z, получаются из потока битов на этапе 2204. Следует отметить, что эти смещения могут быть определены в качестве функции от других смещений, ассоциированных с другими компонентами и/или с другой LCU, как описано выше.
На этапе 2205, счетная переменная j задается равной значению нуль. Затем, первый пиксел Pxi области кадра компонента X (ссылка с номером 2206), содержащей N пикселов, извлекается на этапе 2207. Аналогично, первый пиксел Pzi области кадра компонента Z (ссылка с номером 2208) извлекается на этапе 2209. Для иллюстрации, здесь следует принимать во внимание, что область кадра компонента Z содержит также N пикселов (компоненты X и Z имеют идентичное число пикселов в расчете на область кадра).
Затем, на этапе 2210, компонент X первого пиксела Pxi классифицируется согласно классификации краевых смещений или классификации полосовых смещений благодаря значению параметра sao_type_idx_X (и при необходимости значению параметра sao_band_position_X), как описано выше в отношении таблицы 2 приложения и фиг. 2, соответственно.
На этапе 2211, выполняется тест, чтобы определять то, должен или нет фильтроваться компонент X пиксела Pxi (т.е. принадлежит или нет Pxi SAO-классу). Если Pxi принадлежит SAO-классу, связанное число j классов идентифицируется, и соответствующее значение смещения получается на этапе 2212 из таблицы смещений, ассоциированной с компонентом X. Затем, на этапе 2213, компонент X пиксела Pxi фильтруется посредством суммирования полученного смещения с его значением. Фильтрованный компонент X пиксела Pxi упоминается как P'xi (ссылка с номером 2214). Одновременно или последовательно, значение смещения, ассоциированное с компонентом Z и соответствующее числу j классов, получается на этапе 2215 из таблицы смещений, ассоциированной с компонентом Z. Затем, на этапе 2216, компонент Z пиксела Pzi фильтруется посредством суммирования полученного смещения с его значением. Фильтрованный компонент Z пиксела Pzi упоминается как P'zi (ссылка с номером 2217).
Затем, на этапе 2218, фильтрованные компоненты P'xi и P'zj помещаются в компонент X и компонент Z фильтрованной области кадра, упоминаемые как 2219 и 2220, соответственно. На этапе 2218, фильтрованные пикселы P'xi и P'zj, соответственно, заменяют пикселы Pxi и Pzj обработанных кадров, упоминаемые как 2219 и 2220.
Если Pxi не принадлежит SAO-классу, компоненты Pxi и Pzj в компоненте X и компоненте Z фильтрованных областей кадра остаются неизменными на этапах 2221, 2222 и 2218.
Затем, на этапе 2223, счетная переменная i увеличивается на единицу с тем, чтобы применять процесс фильтрации аналогично следующим пикселам области текущего кадра.
На этапе 2224, определяется то, все или нет N пикселов области текущего кадра обработаны (i≥N). Если да, фильтрованные компоненты X и Z области кадра восстанавливаются и могут добавляться в восстановленный SAO-кадр.
Фиг. 22 иллюстрирует использование SAO-классификации одного компонента X для того, чтобы аналогично фильтровать другой компонент Z, когда оба компонента имеют идентичное число пикселов для области текущего кадра.
Тем не менее, компоненты области кадра не всегда имеют идентичное число пикселов. В зависимости от относительного числа пикселов для компонента X, обозначаемого Nx, касательно числа пикселов для компонента Z, обозначаемого A/z, могут рассматриваться два случая. Поскольку разность между числами пикселов двух различных компонентов в области кадра типично составляет кратное двух, в общем, не обязательно учитывать нецелочисленные взаимосвязи между числами пиксельных компонентов.
При рассмотрении случая, согласно которому число пикселов компонента Z превышает число пикселов компонента X (Nx<Nz), алгоритм, описанный в отношении фиг. 22, может быть легко адаптирован с учетом того, что Pzi представляет собой группу из Nz/Nx пикселов. Соответственно, когда смещение OffsetZi добавляется в группу Pzi пикселов, это смещение применяется ко всем пикселам из группы Pzi пикселов. Кроме того, в конкретном варианте осуществления, можно считать, что смещение OffsetZi является группой смещений с размером, идентичным размеру группы Pzi пикселов.
При рассмотрении случая, согласно которому число пикселов компонента X превышает число пикселов компонента Z(Nx>Nz), могут рассматриваться несколько вариантов осуществления. В таком случае, этапы 2216 и 2218, описанные в отношении фиг. 22, должны учитывать взаимосвязь между числом пикселов компонента X и числом пикселов компонента Z. На фиг. 22, Pzi изменяется посредством Pz(i/Nx).
В первом конкретном варианте осуществления, смещение OffsetZi добавляется в группу Pz(i/Nx), только если Pxi фильтруется по меньшей мере один раз.
Согласно другому конкретному варианту осуществления, этап 2218 по фиг. 22 учитывает число раз, когда Pxi фильтруется. Если оно превышает 2xNx/Nz, то OffsetZi добавляется в Pz(i/Nx).
Также согласно конкретному варианту осуществления, этап 2218 принимает Nx/Nz раз Pz(i/Nx) или P'z(i/Nx), и он вычисляет среднее, чтобы формировать пиксельное значение, вставленное в фильтрованную область кадра для компонента Z (2220).
Фиг. 23 иллюстрирует использование SAO-классификации одного компонента X для того, чтобы аналогично фильтровать другой компонент Z.
Для иллюстрации, выделенные серым пикселы блока 2301 представляют пикселы, фильтрованные для петлевого SAO-фильтра типа i текущего класса j для компонента X согласно текущей HEVC-реализации. Аналогично, черные пикселы блока 2302 представляют пикселы, фильтрованные для петлевого SAO-фильтра типа i текущего класса j для компонента Z согласно текущим техническим требованиям HEVC.
Следовательно, как проиллюстрировано на фиг. 23, выделенные серым пикселы в компоненте X и черные пикселы в компоненте Z не всегда находятся в идентичной позиции, с учетом текущих технических требований HEVC.
Также для иллюстрации, выделенные серым пикселы блока 2303 представляют пикселы, фильтрованные для петлевого SAO-фильтра типа i текущего класса j для компонента X согласно текущей HEVC-реализации. Тем не менее, выделенные черным пикселы блока 2304 представляют пикселы, фильтрованные для петлевого SAO-фильтра для компонента Z согласно классификации компонента X (блока 2303). Соответственно, выделенные серым пикселы и выделенные черным пикселы расположены в идентичных позициях. Это приводит к использованию только одной классификации для обоих компонентов.
Следует отметить, что оба основных варианта осуществления могут быть комбинированы, чтобы оптимизировать эффективность кодирования и сложность декодирования.
Хотя настоящее изобретение описано выше в отношении конкретных вариантов осуществления, настоящее изобретение не ограничено конкретными вариантами осуществления, и для специалистов в данной области техники должны быть очевидными модификации, которые находятся в пределах объема настоящего изобретения. В частности, хотя предыдущее описание ссылается на YUV-компоненты, для иллюстрации, могут использоваться другие схемы, к примеру RGB (компоненты красного, зеленого и синего цвета).
Например, хотя предыдущие варианты осуществления описаны относительно пикселов изображения и их соответствующих пиксельных значений, следует принимать во внимание, что в контексте изобретения, группа пикселов может рассматриваться вместе с соответствующим пиксельным значением группы. Таким образом, выборка может соответствовать одному или более пикселов изображения.
Дополнительные аспекты настоящего изобретения задаются ниже.
Согласно первому дополнительному аспекту изобретения, предусмотрен способ кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- кодирование первого и второго компонента по меньшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- декодирование по меньшей мере одной закодированной выборки;
- вычисление по меньшей мере одного параметра фильтрации в качестве функции разности между по меньшей мере одним компонентом по меньшей мере одной выборки изображения и по меньшей мере одним соответствующим компонентом по меньшей мере одной соответствующей декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре для того, чтобы фильтровать независимо, по меньшей мере, первый и второй компонент декодированной выборки.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления по меньшей мере один параметр фильтрации определяется в качестве функции от множества оцененных параметров фильтрации так, что эффективность кодирования по меньшей мере одного параметра фильтрации является оптимальной.
В варианте осуществления по меньшей мере один параметр фильтрации определяется в качестве функции разностей, по меньшей мере, между компонентом выборок части изображения и по меньшей мере одним соответствующим компонентом соответствующих декодированных выборок, из числа выборок по меньшей мере одного компонента в части изображения и значений двух компонентов выборок части изображения.
В варианте осуществления по меньшей мере один параметр фильтрации определяется в качестве функции от первого параметра фильтрации, вычисленного в качестве функции разности между первым компонентом по меньшей мере одной выборки изображения и соответствующим первым компонентом по меньшей мере одной соответствующей декодированной выборки, и второго параметра фильтрации, вычисленного в качестве функции разности между вторым компонентом по меньшей мере одной выборки изображения и соответствующим вторым компонентом по меньшей мере одной соответствующей декодированной выборки.
В варианте осуществления, первый и второй параметры фильтрации вычисляются в качестве функции от множества выборок части изображения.
В варианте осуществления по меньшей мере один параметр фильтрации содержит, по меньшей мере, одно смещение, которое должно суммироваться с компонентом выборки, который должен фильтроваться.
В варианте осуществления по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере один весовой коэффициент для взвешивания по меньшей мере одного смещения.
В варианте осуществления по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере одну позицию полосы, которая задает по меньшей мере один класс компонентов выборки, которые должны фильтроваться.
В варианте осуществления, способ дополнительно содержит этап определения по меньшей мере одной позиции в качестве функции от различных значений искажения в зависимости от скорости передачи, оцененных для различных компонентов.
В еще одном варианте осуществления по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере один флаг, ассоциированный, по меньшей мере, с первым компонентом первой выборки, причем по меньшей мере один флаг служит признаком ссылки, по меньшей мере, на один параметр фильтрации, ассоциированный, по меньшей мере, со вторым компонентом второй выборки, для фильтрации, по меньшей мере, первого компонента.
В варианте осуществления по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере один флаг, ассоциированный, по меньшей мере, с первым компонентом первой выборки, причем по меньшей мере один флаг служит признаком ссылки, по меньшей мере, на один параметр фильтрации, ассоциированный, по меньшей мере, со вторым компонентом второй выборки, для фильтрации множества компонентов первой выборки.
Согласно второму дополнительному аспекту изобретения, предусмотрен способ декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- декодирование первого и второго компонента по меньшей мере одной закодированной выборки, чтобы предоставлять первый и второй компонент по меньшей мере одной восстановленной выборки;
- декодирование по меньшей мере одного параметра фильтрации;
- фильтрацию по меньшей мере одной восстановленной выборки в петлевом фильтре, причем фильтрация первого компонента и второго компонента по меньшей мере одной восстановленной выборки основана, по меньшей мере, на одном общем параметре фильтрации декодированного по меньшей мере одного параметра фильтрации.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления, способ дополнительно содержит этап получения по меньшей мере одного флага, указывающего ссылки, по меньшей мере, на один параметр фильтрации.
В варианте осуществления, способ дополнительно содержит этап анализа полученного по меньшей мере одного флага и, в ответ на анализ, получения по меньшей мере одного общего параметра фильтрации.
В еще одном варианте осуществления, способ дополнительно содержит этап получения, по меньшей мере, другого флага, указывающего ссылки, по меньшей мере, на один параметр фильтрации, и этап анализа полученного, по меньшей мере, другого флага, причем этап получения по меньшей мере одного флага выполняется в ответ на этап анализа полученного, по меньшей мере, другого флага.
В варианте осуществления, способ дополнительно содержит этап вычисления параметра фильтрации, который должен использоваться для фильтрации, по меньшей мере, первого компонента по меньшей мере одной восстановленной выборки в качестве функции от декодированного по меньшей мере одного параметра фильтрации.
В варианте осуществления, способ дополнительно содержит этап вычисления параметра фильтрации, который должен использоваться для фильтрации первого и второго компонентов по меньшей мере одной восстановленной выборки в качестве функции от декодированного по меньшей мере одного параметра фильтрации.
В еще одном варианте осуществления, способ дополнительно содержит этап получения по меньшей мере одного весового коэффициента, причем вычисленный параметр фильтрации основан на полученном, по меньшей мере, одном весовом коэффициенте.
В варианте осуществления, способ дополнительно содержит этап декодирования по меньшей мере одного весового коэффициента, причем по меньшей мере один весовой коэффициент принимается вместе с частью изображения, которое должно быть декодировано.
В варианте осуществления, общий параметр фильтрации содержит, по меньшей мере, одно значение смещения, которое должно суммироваться, по меньшей мере, с первым компонентом по меньшей мере одной восстановленной выборки.
В варианте осуществления, общий параметр фильтрации содержит по меньшей мере одну позицию полосы, которая задает по меньшей мере один класс компонентов выборки, которые должны фильтроваться.
В еще одном варианте осуществления, способ дополнительно содержит этап получения по меньшей мере одного весового коэффициента, чтобы применять, по меньшей мере, к одной позиции полосы для фильтрации, по меньшей мере, первого компонента по меньшей мере одной восстановленной выборки.
Согласно третьему дополнительному аспекту изобретения, предусмотрен способ кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- кодирование первого и второго компонента по меньшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- декодирование по меньшей мере одной закодированной выборки;
- вычисление по меньшей мере одного параметра фильтрации в качестве функции разности между компонентом по меньшей мере одной выборки изображения и соответствующим компонентом по меньшей мере одной декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре для того, чтобы фильтровать независимо, по меньшей мере, первый и второй компонент декодированной выборки.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
Согласно четвертому дополнительному аспекту изобретения, предусмотрен способ декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, при этом способ содержит:
- декодирование первого компонента первой кодированной выборки и второго компонента второй кодированной выборки, чтобы предоставлять первый компонент первой восстановленной выборки и второй компонент второй восстановленной выборки;
- декодирование по меньшей мере одного параметра фильтрации;
- фильтрацию восстановленных выборок в петлевом фильтре, причем фильтрация первого компонента первой восстановленной выборки и второго компонента второй восстановленной выборки основана, по меньшей мере, на одном общем параметре фильтрации декодированного по меньшей мере одного параметра фильтрации.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления, способ дополнительно содержит этап вычисления параметра фильтрации, который должен использоваться для фильтрации первого компонента по меньшей мере одной восстановленной выборки в качестве функции от параметра фильтрации, который должен использоваться для фильтрации второго компонента по меньшей мере одной восстановленной выборки.
В варианте осуществления, первое множество параметров фильтрации ассоциировано с первым компонентом первой восстановленной выборки, а второе множество параметров фильтрации ассоциировано со вторым компонентом второй восстановленной выборки, причем значения параметров фильтрации из первого множества параметров фильтрации равны значениям параметров фильтрации из второго множества параметров фильтрации, и значения параметров фильтрации из первого множества параметров фильтрации располагаются в обратном порядке относительно порядка значений параметров фильтрации из второго множества параметров фильтрации.
В другом варианте осуществления, первое множество параметров фильтрации ассоциировано с первым компонентом первой восстановленной выборки, а второе множество параметров фильтрации ассоциировано со вторым компонентом второй восстановленной выборки, причем значения параметров фильтрации из первого множества параметров фильтрации равны значениям параметров фильтрации из второго множества параметров фильтрации, умноженных на предварительно определенный весовой коэффициент.
Согласно пятому дополнительному аспекту изобретения, предусмотрен компьютерный программный продукт для программируемого устройства, причем компьютерный программный продукт содержит последовательность инструкций для реализации каждого этапа способа, осуществляющего один из первого-четвертого дополнительных аспектов, описанных выше, при загрузке и исполнении посредством программируемого устройства.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
Согласно шестому дополнительному аспекту изобретения, предусмотрен считываемый компьютером носитель данных, хранящий инструкции компьютерной программы для реализации каждого этапа способа, осуществляющего один из первого-четвертого дополнительных аспектов, описанных выше.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
Согласно седьмому дополнительному аспекту изобретения, предусмотрено устройство кодирования для кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство кодирования содержит:
- средство для кодирования первого и второго компонента по меньшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- средство для декодирования по меньшей мере одной
закодированной выборки;
- средство для вычисления по меньшей мере одного параметра фильтрации в качестве функции разности между по меньшей мере одним компонентом по меньшей мере одной выборки изображения и по меньшей мере одним соответствующим компонентом по меньшей мере одной соответствующей декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре для того, чтобы фильтровать независимо, по меньшей мере, первый и второй компонент декодированной выборки.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления, устройство дополнительно содержит средство для кодирования флагов, причем по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере один флаг, ассоциированный, по меньшей мере, с первым компонентом первой выборки, причем по меньшей мере один флаг служит признаком ссылки, по меньшей мере, на один параметр фильтрации, ассоциированный, по меньшей мере, со вторым компонентом второй выборки, для фильтрации, по меньшей мере, первого компонента.
В другом варианте осуществления, устройство дополнительно содержит средство для кодирования флагов, причем по меньшей мере один параметр фильтрации дополнительно содержит по меньшей мере один флаг, ассоциированный, по меньшей мере, с первым компонентом первой выборки, причем по меньшей мере один флаг
служит признаком ссылки, по меньшей мере, на один параметр фильтрации, ассоциированный, по меньшей мере, со вторым компонентом второй выборки, для фильтрации множества компонентов первой выборки.
Согласно восьмому дополнительному аспекту изобретения, предусмотрено устройство декодирования для декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство содержит:
- средство для декодирования первого и второго компонента по меньшей мере одной закодированной выборки, чтобы предоставлять первый и второй компонент по меньшей мере одной восстановленной выборки;
- средство для декодирования по меньшей мере одного параметра фильтрации;
- средство для фильтрации по меньшей мере одной восстановленной выборки в петлевом фильтре, причем фильтрация первого компонента и второго компонента по меньшей мере одной восстановленной выборки основана, по меньшей мере, на одном общем параметре фильтрации декодированного по меньшей мере одного параметра фильтрации.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления, устройство дополнительно содержит
средство для получения по меньшей мере одного флага, указывающего ссылки, по меньшей мере, на один параметр фильтрации, причем средство для получения, по меньшей мере, другого флага указывает ссылки, по меньшей мере, на один параметр фильтрации, и средство для анализа полученного, по меньшей мере, другого флага, причем средство для получения по меньшей мере одного флага реагирует в зависимости от средства для анализа полученного, по меньшей мере, другого флага.
В варианте осуществления, устройство дополнительно содержит средство для вычисления параметра фильтрации, который должен использоваться для фильтрации, по меньшей мере, первого компонента по меньшей мере одной восстановленной выборки в качестве функции от декодированного по меньшей мере одного параметра фильтрации.
В еще одном варианте осуществления, устройство дополнительно содержит средство для вычисления параметра фильтрации, который должен использоваться для фильтрации первого и второго компонентов по меньшей мере одной восстановленной выборки в качестве функции от декодированного по меньшей мере одного параметра фильтрации.
Согласно девятому дополнительному аспекту изобретения, предусмотрено устройство кодирования для кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство содержит:
- средство для кодирования первого и второго компонента поменьшей мере одной выборки изображения, чтобы предоставлять по меньшей мере одну закодированную выборку;
- средство для декодирования по меньшей мере одной закодированной выборки;
- средство для вычисления по меньшей мере одного параметра фильтрации в качестве функции разности между компонентом по меньшей мере одной выборки изображения и соответствующим компонентом по меньшей мере одной декодированной выборки, причем по меньшей мере один параметр фильтрации вычисляется таким образом, что он используется в петлевом фильтре для того, чтобы фильтровать независимо, по меньшей мере, первый и второй компонент декодированной выборки.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
Согласно десятому дополнительному аспекту изобретения, предусмотрено устройство декодирования для декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере два компонента, причем закодированное изображение содержит по меньшей мере один параметр фильтрации, причем устройство содержит:
- средство для декодирования первого компонента первой кодированной выборки и второго компонента второй кодированной выборки, чтобы предоставлять первый компонент первой восстановленной выборки и второй компонент второй восстановленной выборки;
- средство для декодирования по меньшей мере одного параметра фильтрации;
- средство для фильтрации восстановленных выборок в петлевом фильтре, причем фильтрация первого компонента первой восстановленной выборки и второго компонента второй восстановленной выборки основана, по меньшей мере, на одном общем параметре фильтрации декодированного по меньшей мере одного параметра фильтрации.
С учетом взаимозависимостей между компонентами, изобретение позволяет повышать эффективность кодирования SAO, уменьшать буфер запоминающего устройства, требуемый для того, чтобы сохранять SAO-параметры, и уменьшать сложность классификации.
В варианте осуществления, устройство дополнительно содержит средство для вычисления параметров фильтрации, при этом первое множество параметров фильтрации ассоциировано с первым компонентом первой восстановленной выборки, а второе множество параметров фильтрации ассоциировано со вторым компонентом второй восстановленной выборки, причем значения параметров фильтрации из первого множества параметров фильтрации равны значениям параметров фильтрации из второго множества параметров фильтрации, и значения параметров фильтрации из первого множества параметров фильтрации располагаются в обратном порядке относительно порядка значений параметров фильтрации из второго множества параметров фильтрации.
В другом варианте осуществления, устройство дополнительно содержит средство для вычисления параметров фильтрации, при этом первое множество параметров фильтрации ассоциировано с первым
компонентом первой восстановленной выборки, а второе множество параметров фильтрации ассоциировано со вторым компонентом второй восстановленной выборки, причем значения параметров фильтрации из первого множества параметров фильтрации равны значениям параметров фильтрации из второго множества параметров фильтрации, умноженных на предварительно определенный весовой коэффициент.
Согласно одиннадцатому дополнительному аспекту изобретения, предусмотрен способ кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем способ содержит: определение по меньшей мере одного параметра адаптивного к выборке смещения, отличного от смещения, в качестве общего параметра как для первой, так и для второй компонент цветности декодированной выборки.
В упомянутом способе первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
В упомянутом способе первый параметр адаптивного к выборке смещения, отличный от смещения, определяется в качестве общего параметра как для первой, так и для второй компонент цветности декодированной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет и краевой тип, и полосовой тип, а второй параметр адаптивного к выборке смещения, отличный от смещения, определяется в качестве общего параметра как для первой, так и для второй компонент цветности декодированной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет один из краевого типа и полосового типа, но не другой.
В упомянутом способе, когда фильтрация на основе адаптивного к выборке смещения имеет первый тип, по меньшей мере один параметр адаптивного к выборке смещения, отличный от смещения, вычисляется для использования в качестве общего параметра для фильтрации первого типа, причем первый тип фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, а когда фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличный от упомянутого первого типа, различные параметры фильтрации вычисляются для использования в качестве выделенных параметров, соответственно, для первой и второй компонент цветности, причем второй тип фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Упомянутый способ дополнительно содержит получение для каждой наибольшей единицы кодирования ассоциированного набора параметров адаптивного к выборке смещения, при этом в случае по меньшей мере одной наибольшей единицы кодирования, по меньшей мере один упомянутый параметр адаптивного к выборке смещения, отличный от смещения, определяется для использования в качестве общего параметра для обеих компонент цветности декодированных выборок рассматриваемой наибольшей единицы(единиц) кодирования.
Согласно двенадцатому дополнительному аспекту изобретения, предусмотрен способ декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем закодированное изображение содержит по меньшей мере один параметр адаптивного к выборке смещения, при этом способ содержит этапы, на которых: декодируют первую компоненту цветности и вторую компоненту цветности по меньшей мере одной закодированной выборки, чтобы предоставлять первую компоненту цветности и вторую компоненту цветности по меньшей мере одной восстановленной выборки; декодируют упомянутый по меньшей мере один параметр адаптивного к выборке смещения; используют по меньшей мере один декодированный параметр адаптивного к выборке смещения, отличный от смещения, в качестве общего параметра как для первой компоненты цветности, так и для второй компоненты цветности упомянутой по меньшей мере одной восстановленной выборки.
В упомянутом способе первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
В упомянутом способе первый декодированный параметр адаптивного к выборке смещения, отличный от смещения, используется в качестве общего параметра как для первой, так и для второй компонент цветности восстановленной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет и краевой тип, и полосовой тип, а второй декодированный параметр адаптивного к выборке смещения, отличный от смещения, используется в качестве общего параметра как для первой, так и для второй компонент цветности восстановленной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет один из краевого типа и полосового типа, но не другой.
В упомянутом способе, когда фильтрация на основе адаптивного к выборке смещения имеет первый тип, по меньшей мере один декодированный параметр адаптивного к выборке смещения используется в качестве общего параметра для фильтрации первого типа, причем первый тип фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, и когда фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличный от упомянутого первого типа, различные декодированные параметры адаптивного к выборке смещения используются в качестве выделенных параметров, соответственно, для первой и второй компонент цветности, причем второй тип фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Упомянутый способ дополнительно содержит прием для каждой наибольшей единицы кодирования ассоциированного набора параметров адаптивного к выборке смещения, при этом в случае по меньшей мере одной наибольшей единицы кодирования, по меньшей мере один упомянутый параметр адаптивного к выборке смещения, отличный от смещения, используется в качестве общего параметра для обеих компонент цветности восстановленных выборок рассматриваемой наибольшей единицы(единиц) кодирования.
Согласно тринадцатому дополнительному аспекту изобретения, предусмотрен считываемый компьютером носитель данных, имеющий компьютерную программу для программируемого устройства, причем компьютерная программа содержит последовательность инструкций для реализации каждого этапа способа по одиннадцатому и/или двенадцатому вышеуказанным аспектам изобретения, при загрузке и исполнении посредством программируемого устройства.
Согласно четырнадцатому дополнительному аспекту изобретения, предусмотрено устройство кодирования для кодирования, по меньшей мере, части изображения, содержащего множество выборок, причем устройство кодирования содержит: средство для определения по меньшей мере одного параметра адаптивного к выборке смещения в качестве общего параметра как для первой, так и для второй компонент цветности декодированной выборки.
Согласно пятнадцатому дополнительному аспекту изобретения, предусмотрено устройство декодирования для декодирования, по меньшей мере, части изображения, содержащего множество выборок, причем закодированное изображение содержит по меньшей мере один параметр адаптивного к выборке смещения, при этом устройство декодирования содержит: средство для декодирования первой компоненты цветности и второй компоненты цветности по меньшей мере одной закодированной выборки, чтобы предоставлять первую компоненту цветности и вторую компоненту цветности по меньшей мере одной восстановленной выборки; средство для декодирования упомянутого по меньшей мере одного параметра адаптивного к выборке смещения; средство для использования по меньшей мере одного декодированного параметра адаптивного к выборке смещения в качестве общего параметра как для первой компоненты цветности, так и для второй компоненты цветности упомянутой по меньшей мере одной восстановленной выборки.
При этом первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
В упомянутом устройстве средство использования выполнено с возможностью использования первого декодированного параметра адаптивного к выборке смещения, отличного от смещения, в качестве общего параметра как для первой, так и для второй компонент цветности восстановленной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет и краевой тип, и полосовой тип, и дополнительно выполнено с возможностью использования второго декодированного параметра адаптивного к выборке смещения, отличного от смещения, в качестве общего параметра как для первой, так и для второй компонент цветности восстановленной выборки, когда фильтрация на основе адаптивного к выборке смещения имеет один из краевого типа и полосового типа, но не другой.
В упомянутом устройстве средство использования выполнено с возможностью, когда фильтрация на основе адаптивного к выборке смещения имеет первый тип, использования по меньшей мере одного декодированного параметра адаптивного к выборке смещения в качестве общего параметра для фильтрации первого типа, причем первый тип фильтрации на основе адаптивного к выборке смещения представляет собой одно из краевой фильтрации и полосовой фильтрации, и дополнительно выполнено с возможностью, когда фильтрация на основе адаптивного к выборке смещения имеет второй тип, отличный от упомянутого первого типа, использования различных декодированных параметров адаптивного к выборке смещения в качестве выделенных параметров, соответственно, для первой и второй компонент цветности, причем второй тип фильтрации на основе адаптивного к выборке смещения представляет собой другое из краевой фильтрации и полосовой фильтрации.
Упомянутое устройство дополнительно содержит средство для приема для каждой наибольшей единицы кодирования ассоциированного набора параметров адаптивного к выборке смещения, при этом в случае по меньшей мере одной наибольшей единицы кодирования, по меньшей мере один упомянутый параметр адаптивного к выборке смещения, отличный от смещения, используется в качестве общего параметра для обеих компонент цветности восстановленных выборок рассматриваемой наибольшей единицы(единиц) кодирования.
Множество дополнительных модификаций и изменений предполагаются специалистами в данной области техники после прочтения вышеприведенных иллюстративных вариантов осуществления, которые приводятся только в качестве примера и которые не имеют намерение ограничивать объем изобретения, который определяется исключительно посредством прилагаемой формулы изобретения. В частности, при необходимости различные признаки из различных вариантов осуществления могут меняться местами.
В формуле изобретения, слово "содержащий" не исключает другие элементы или этапы, и единственное число не исключает множества. Простой факт того, что различные признаки упомянуты во взаимно различных зависимых пунктах формулы изобретения, не означает того, что комбинация этих признаков не может быть преимущественно использована.
ПРИЛОЖЕНИЕ
Таблица 1 | ||
sao_type_idx | SAO_type | SAO_type_meaning |
0 | Без | SAO-фильтрация не применяется к области кадра |
1 | Краевая | Одномерная, 0 градусов |
2 | Краевая | Одномерная, 0 градусов |
3 | Краевая | Одномерная, 135 градусов |
4 | Краевая | Одномерная, 45 градусов |
5 | Полосовая | Полосовое смещение с полосовой позицией |
Таблица 2 | ||
Категория (J) | Условия | Смещение |
1 | C<Cn1 и C<Cn2 | +O1 |
2 | (C<Cn1 и C==Cn2) или (C<Cn2 и C==Cn1) | +O2 |
3 | (C>Cn1 и C==Cn2) или (C>Cn2 и C==Cn1) | -O3 |
4 | C>Cn1 и C>Cn2 | -O4 |
Н/д | Ни один из вышеуказанных | Н/д |
Claims (48)
1. Способ кодирования по меньшей мере части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере две компоненты, причем способ содержит этапы, на которых:
кодируют первую компоненту цветности и вторую компоненту цветности по меньшей мере одной выборки изображения для обеспечения по меньшей мере одной закодированной выборки;
декодируют упомянутую по меньшей мере одну закодированную выборку; и
определяют по меньшей мере один параметр фильтрации для кодированного изображения как функцию разности между по меньшей мере одной компонентой упомянутой по меньшей мере одной выборки изображения и упомянутой по меньшей мере одной соответствующей компонентой упомянутой по меньшей мере одной соответствующей декодированной выборки,
причем первый параметр фильтрации определяется для того, чтобы использоваться в качестве общего параметра фильтрации для выполнения петлевой фильтрации на основе адаптивного к выборке смещения как над первой, так и над второй компонентами цветности декодированной выборки, причем первый параметр фильтрации определяется для использования в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения; и
второй параметр фильтрации определяется для того, чтобы использоваться в качестве другого общего параметра фильтрации для выполнения петлевой фильтрации на основе адаптивного к выборке смещения как над первой, так и над второй компонентами цветности декодированной выборки, причем второй параметр фильтрации является параметром типа адаптивного к выборке смещения, указывающим, используется ли петлевая фильтрация на основе адаптивного к выборке смещения краевого типа или полосового типа в качестве упомянутого типа петлевой фильтрации на основе адаптивного к выборке смещения для упомянутой по меньшей мере одной декодированной выборки или никакая петлевая фильтрация на основе адаптивного к выборке смещения не используется для упомянутой по меньшей мере одной декодированной выборки.
2. Способ по п. 1, в котором первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
3. Способ по п. 1, в котором первый параметр фильтрации представляет собой направление петлевой фильтрации на основе адаптивного к выборке смещения краевого типа.
4. Способ по п. 1, в котором по меньшей мере один параметр фильтрации определяется для использования в качестве выделенного параметра фильтрации для фильтрации отдельной одной из первой и второй компонент цветности упомянутой по меньшей мере одной декодированной выборки.
5. Способ по п. 4, в котором смещения являются выделенными параметрами фильтрации.
6. Способ по п. 1, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной выборки, что один или более параметров фильтрации, используемых для фильтрации другой выборки, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной выборки.
7. Способ по п. 1, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой выборки во второй упомянутой части изображения, отличной от упомянутой первой части, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной выборки.
8. Способ по п. 1, в котором один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для некоторой данной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой выборки во второй упомянутой части изображения, непосредственно слева от упомянутой первой части, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной выборки, что один или более параметров фильтрации, используемых для фильтрации другой выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной выборки.
9. Считываемый компьютером носитель данных, хранящий инструкции компьютерной программы для реализации каждого этапа способа по п. 1.
10. Способ декодирования по меньшей мере части кодированного изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере две компоненты, причем способ содержит этапы, на которых:
декодируют первую компоненту цветности и вторую компоненту цветности по меньшей мере одной закодированной выборки, чтобы обеспечить первую компоненту цветности и вторую компоненту цветности по меньшей мере одной восстановленной выборки;
декодируют по меньшей мере один параметр фильтрации для кодированного изображения; и
выполняют петлевую фильтрацию на основе адаптивного к выборке смещения над упомянутой по меньшей мере одной восстановленной выборкой, причем фильтрация содержит: использование первого декодированного параметра фильтрации в качестве общего параметра фильтрации для выполнения фильтрации как над первой компонентой цветности, так и над второй компонентой цветности упомянутой по меньшей мере одной восстановленной выборки, и использование второго декодированного параметра фильтрации в качестве другого общего параметра фильтрации для выполнения фильтрации как над первой компонентой цветности, так и над второй компонентой упомянутой по меньшей мере одной восстановленной выборки;
при этом первый декодированный параметр фильтрации используется в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения; и
при этом второй декодированный параметр фильтрации является параметром типа адаптивного к выборке смещения, указывающим, используется ли петлевая фильтрация на основе адаптивного к выборке смещения краевого типа или полосового типа в качестве упомянутого типа петлевой фильтрации на основе адаптивного к выборке смещения для упомянутой по меньшей мере одной восстановленной выборки или никакая петлевая фильтрация на основе адаптивного к выборке смещения не используется для упомянутой по меньшей мере одной восстановленной выборки.
11. Способ по п. 10, в котором первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
12. Способ по п. 10, в котором первый декодированный параметр фильтрации представляет собой направление петлевой фильтрации на основе адаптивного к выборке смещения краевого типа.
13. Способ по п. 10, в котором по меньшей мере один декодированный параметр фильтрации выделен для фильтрации отдельной одной из первой и второй компонент цветности упомянутой по меньшей мере одной восстановленной выборки.
14. Способ по п. 13, в котором смещения являются выделенными параметрами фильтрации.
15. Способ по п. 10, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной восстановленной выборки, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной восстановленной выборки.
16. Способ по п. 10, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной восстановленной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, отличной от первой упомянутой части, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной восстановленной выборки.
17. Способ по п. 10, в котором один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для некоторой данной восстановленной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, непосредственно слева от первой упомянутой части, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной восстановленной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной восстановленной выборки, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной восстановленной выборки.
18. Считываемый компьютером носитель данных, хранящий инструкции компьютерной программы для реализации каждого этапа способа по п. 10.
19. Устройство кодирования для кодирования по меньшей мере части изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере две компоненты, причем устройство кодирования содержит:
блок кодирования, который кодирует первую компоненту цветности и вторую компоненту цветности по меньшей мере одной выборки изображения для обеспечения по меньшей мере одной закодированной выборки;
блок декодирования, который декодирует упомянутую по меньшей мере одну закодированную выборку; и
блок определения, который определяет по меньшей мере один параметр фильтрации для кодированного изображения как функцию разности между по меньшей мере одной компонентой цветности упомянутой по меньшей мере одной выборки изображения и упомянутой по меньшей мере одной соответствующей компонентой цветности упомянутой по меньшей мере одной соответствующей декодированной выборки,
причем первый параметр фильтрации определяется для того, чтобы использоваться в качестве общего параметра фильтрации для выполнения петлевой фильтрации на основе адаптивного к выборке смещения как над первой, так и над второй компонентами цветности декодированной выборки;
при этом блок определения выполнен с возможностью определения первого параметра фильтрации для использования в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения; и
при этом блок определения дополнительно выполнен с возможностью определения второго параметра фильтрации в качестве другого общего параметра фильтрации, причем второй параметр фильтрации является параметром типа адаптивного к выборке смещения, указывающим, используется ли петлевая фильтрация на основе адаптивного к выборке смещения краевого типа или полосового типа в качестве упомянутого типа адаптивной к выборке петлевой фильтрации для упомянутой по меньшей мере одной декодированной выборки или никакая петлевая фильтрация на основе адаптивного к выборке смещения не используется для упомянутой по меньшей мере одной декодированной выборки.
20. Устройство декодирования для декодирования по меньшей мере части кодированного изображения, содержащего множество выборок, причем каждая выборка содержит по меньшей мере две компоненты, причем устройство декодирования содержит:
блок декодирования выборок, который декодирует первую компоненту цветности и вторую компоненту цветности по меньшей мере одной закодированной выборки, чтобы обеспечить первую компоненту цветности и вторую компоненту цветности по меньшей мере одной восстановленной выборки;
блок декодирования параметров, который декодирует по меньшей мере один параметр фильтрации для кодированного изображения; и
блок фильтрации, который выполняет петлевую фильтрацию на основе адаптивного к выборке смещения над упомянутой по меньшей мере одной восстановленной выборкой, причем фильтрация содержит: использование первого декодированного параметра фильтрации в качестве общего параметра фильтрации для выполнения фильтрации как над первой компонентой цветности, так и над второй компонентой цветности упомянутой по меньшей мере одной восстановленной выборки, и использование второго декодированного параметра фильтрации в качестве другого общего параметра фильтрации для выполнения фильтрации как над первой компонентой цветности, так и над второй компонентой цветности упомянутой по меньшей мере одной восстановленной выборки;
при этом блок фильтрации выполнен с возможностью использования первого декодированного параметра фильтрации в качестве общего параметра фильтрации условно согласно типу петлевой фильтрации на основе адаптивного к выборке смещения; и
при этом второй декодированный параметр фильтрации является параметром типа адаптивного к выборке смещения, указывающим, используется ли петлевая фильтрация на основе адаптивного к выборке смещения краевого типа или полосового типа в качестве упомянутого типа петлевой фильтрации на основе адаптивного к выборке смещения для упомянутой по меньшей мере одной восстановленной выборки или никакая петлевая фильтрация на основе адаптивного к выборке смещения не используется для упомянутой по меньшей мере одной восстановленной выборки.
21. Устройство по п. 20, при этом первая и вторая компоненты цветности представляют собой соответственно компоненты цветности U и V.
22. Устройство по п. 20, в котором первый декодированный параметр фильтрации представляет собой направление петлевой фильтрации на основе адаптивного к выборке смещения краевого типа.
23. Устройство по п. 20, в котором по меньшей мере один декодированный параметр фильтрации выделен для фильтрации отдельной одной из первой и второй компонент цветности упомянутой по меньшей мере одной восстановленной выборки.
24. Устройство по п. 23, в котором смещения являются выделенными параметрами фильтрации.
25. Устройство по п. 20, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной восстановленной выборки, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной восстановленной выборки.
26. Устройство по п. 20, в котором один упомянутый параметр фильтрации является флагом, указывающим, для некоторой данной восстановленной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, отличной от первой упомянутой части, должны использоваться для обеспечения соответствующих параметров фильтрации для фильтрации этой данной восстановленной выборки.
27. Устройство по п. 20, в котором один упомянутый параметр фильтрации представляет собой флаг "слева", указывающий для некоторой данной восстановленной выборки в первой упомянутой части изображения, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки во второй упомянутой части изображения, непосредственно слева от первой упомянутой части, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной восстановленной выборки, а другой упомянутый параметр фильтрации представляет собой флаг "сверху", указывающий для упомянутой данной восстановленной выборки, что один или более параметров фильтрации, используемых для фильтрации другой восстановленной выборки в третьей упомянутой части изображения, непосредственно над упомянутой первой частью, должны быть использованы для обеспечения соответствующих параметров фильтрации для фильтрации упомянутой данной восстановленной выборки.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1119206.9 | 2011-11-07 | ||
GBGB1119206.9A GB201119206D0 (en) | 2011-11-07 | 2011-11-07 | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
GB1203285.0 | 2012-02-24 | ||
GB1203285.0A GB2499983A (en) | 2011-11-07 | 2012-02-24 | Providing compensation offsets for a set of reconstructed samples of an image |
GB1205304.7 | 2012-03-26 | ||
GB1205304.7A GB2496220A (en) | 2011-11-07 | 2012-03-26 | Optimising Encoding/Decoding/Computation of Filtering Parameters (e.g. Compensation Offsets) for a Set of Reconstructed Samples of an Image |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016118608A Division RU2641230C1 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018144123A Division RU2701130C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2018144124A Division RU2702054C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2676410C1 true RU2676410C1 (ru) | 2018-12-28 |
Family
ID=45421397
Family Applications (13)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014123360/08A RU2586862C2 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2016118608A RU2641230C1 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2016118606A RU2636666C1 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2014123386/08A RU2586863C2 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для восстановления компенсационных смещений для набора восстановленных выборок изображения |
RU2017137593A RU2684478C1 (ru) | 2011-11-07 | 2017-10-27 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2017146196A RU2676410C1 (ru) | 2011-11-07 | 2017-12-27 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2018144123A RU2701130C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2018144124A RU2702054C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2019109208A RU2707926C1 (ru) | 2011-11-07 | 2019-03-29 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2019109448A RU2708351C1 (ru) | 2011-11-07 | 2019-04-01 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2019129350A RU2716535C1 (ru) | 2011-11-07 | 2019-09-18 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2019137625A RU2019137625A (ru) | 2011-11-07 | 2019-11-22 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2020108456A RU2020108456A (ru) | 2011-11-07 | 2020-02-27 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2014123360/08A RU2586862C2 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2016118608A RU2641230C1 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2016118606A RU2636666C1 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2014123386/08A RU2586863C2 (ru) | 2011-11-07 | 2012-11-07 | Способ и устройство для восстановления компенсационных смещений для набора восстановленных выборок изображения |
RU2017137593A RU2684478C1 (ru) | 2011-11-07 | 2017-10-27 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018144123A RU2701130C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2018144124A RU2702054C1 (ru) | 2011-11-07 | 2018-12-13 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2019109208A RU2707926C1 (ru) | 2011-11-07 | 2019-03-29 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2019109448A RU2708351C1 (ru) | 2011-11-07 | 2019-04-01 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2019129350A RU2716535C1 (ru) | 2011-11-07 | 2019-09-18 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
RU2019137625A RU2019137625A (ru) | 2011-11-07 | 2019-11-22 | Способ и устройство для предоставления компенсационных смещений для набора восстановленных выборок изображения |
RU2020108456A RU2020108456A (ru) | 2011-11-07 | 2020-02-27 | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |
Country Status (14)
Country | Link |
---|---|
US (12) | US10085042B2 (ru) |
EP (11) | EP3247117B1 (ru) |
JP (10) | JP6184416B2 (ru) |
KR (12) | KR102030304B1 (ru) |
CN (15) | CN107483935B (ru) |
BR (10) | BR122019028117B1 (ru) |
DK (2) | DK2777253T3 (ru) |
ES (7) | ES2628070T3 (ru) |
GB (5) | GB201119206D0 (ru) |
HU (5) | HUE057826T2 (ru) |
IN (2) | IN2014CN04154A (ru) |
PL (5) | PL3247117T3 (ru) |
RU (13) | RU2586862C2 (ru) |
WO (3) | WO2013068427A2 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2788564C1 (ru) * | 2019-06-24 | 2023-01-23 | Тенсент Америка Ллс | Способ эффективной сигнализации виртуальной границы для управления петлевой фильтрацией |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101529992B1 (ko) | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
US9253482B2 (en) * | 2011-11-08 | 2016-02-02 | Texas Insturments Incorporated | Method and apparatus for sample adaptive offset without sign coding |
US9277194B2 (en) * | 2011-11-08 | 2016-03-01 | Texas Instruments Incorporated | Method and apparatus for image and video coding using hierarchical sample adaptive band offset |
CN104869416B (zh) * | 2011-12-22 | 2018-08-03 | 三星电子株式会社 | 视频解码设备 |
US9161035B2 (en) * | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
GB2509707B (en) | 2013-01-04 | 2016-03-16 | Canon Kk | A method, device, computer program, and information storage means for encoding or decoding a video sequence |
KR102166335B1 (ko) * | 2013-04-19 | 2020-10-15 | 삼성전자주식회사 | Sao 파라미터를 시그널링하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
US9826240B2 (en) * | 2013-07-05 | 2017-11-21 | Texas Instruments Incorporated | High throughput VLSI architecture for HEVC SAO encoding |
JP6174966B2 (ja) * | 2013-10-17 | 2017-08-02 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、及びプログラム |
US11076171B2 (en) | 2013-10-25 | 2021-07-27 | Microsoft Technology Licensing, Llc | Representing blocks with hash values in video and image coding and decoding |
CN105684441B (zh) | 2013-10-25 | 2018-09-21 | 微软技术许可有限责任公司 | 视频和图像编码中的基于散列的块匹配 |
TWI496456B (zh) * | 2013-11-19 | 2015-08-11 | Ind Tech Res Inst | 畫面間成本計算方法及畫面間成本計算裝置 |
CN103647975B (zh) * | 2013-12-02 | 2017-01-11 | 国家广播电影电视总局广播科学研究院 | 基于直方图分析的改进样本自适应偏移滤波方法 |
CN110072106B (zh) * | 2013-12-13 | 2022-06-07 | 北京三星通信技术研究有限公司 | 视频编解码中像素处理的方法和装置 |
US9628822B2 (en) | 2014-01-30 | 2017-04-18 | Qualcomm Incorporated | Low complexity sample adaptive offset encoding |
KR102185245B1 (ko) | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사 |
WO2015131326A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
JP6338408B2 (ja) * | 2014-03-14 | 2018-06-06 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
CN105409221B (zh) | 2014-04-29 | 2020-03-06 | 微软技术许可有限责任公司 | 用于样本自适应偏移滤波的编码器侧决策 |
CN105323588B (zh) * | 2014-06-16 | 2019-06-21 | 敦泰电子股份有限公司 | 一种动态适应压缩参数的影像压缩*** |
EP3158751B1 (en) | 2014-06-23 | 2019-07-31 | Microsoft Technology Licensing, LLC | Encoder decisions based on results of hash-based block matching |
KR102276854B1 (ko) * | 2014-07-31 | 2021-07-13 | 삼성전자주식회사 | 인루프 필터 파라미터 예측을 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치 |
EP3202142B1 (en) | 2014-09-30 | 2020-11-11 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
GB2533905A (en) * | 2014-10-06 | 2016-07-13 | Canon Kk | Method and apparatus for video coding and decoding |
CN107251053B (zh) * | 2015-02-13 | 2018-08-28 | 北京市商汤科技开发有限公司 | 一种降低有损压缩图像的压缩失真的方法及装置 |
JP6454229B2 (ja) * | 2015-06-10 | 2019-01-16 | 日本電信電話株式会社 | 画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム |
US20170006283A1 (en) * | 2015-06-30 | 2017-01-05 | Microsoft Technology Licensing, Llc | Computationally efficient sample adaptive offset filtering during video encoding |
KR102423880B1 (ko) | 2015-10-06 | 2022-07-21 | 삼성전자주식회사 | 인코더의 작동방법과 상기 인코더를 포함하는 시스템 온 칩의 작동 방법 |
WO2017078450A1 (ko) * | 2015-11-04 | 2017-05-11 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
US10728546B2 (en) | 2016-02-05 | 2020-07-28 | Apple Inc. | Sample adaptive offset systems and methods |
EP3220643A1 (en) * | 2016-03-14 | 2017-09-20 | Thomson Licensing | Method and device for encoding at least one image unit, and method and device for decoding a stream representative of at least one image unit |
CN105959731B (zh) * | 2016-04-28 | 2019-02-05 | 西安交通大学 | 一种数字电视的统计复用编码方法 |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
EP3306922A1 (en) * | 2016-10-05 | 2018-04-11 | Thomson Licensing | Method and apparatus for encoding a picture using rate-distortion based block splitting |
US10432972B2 (en) * | 2016-10-19 | 2019-10-01 | Google Llc | Guided offset correction for loop restoration in video coding |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
WO2018120230A1 (zh) * | 2016-12-30 | 2018-07-05 | 华为技术有限公司 | 图像滤波方法、装置以及设备 |
JP7001346B2 (ja) | 2017-01-30 | 2022-01-19 | ダイキン工業株式会社 | 冷凍装置 |
KR20220127948A (ko) * | 2017-03-22 | 2022-09-20 | 한양대학교 산학협력단 | 적응적인 화소 분류 기준에 따른 인루프 필터링 방법 |
CN107360431B (zh) * | 2017-06-30 | 2019-08-02 | 武汉斗鱼网络科技有限公司 | 一种帧类型的判断方法及装置 |
CN107707915B (zh) * | 2017-09-30 | 2019-11-12 | 上海兆芯集成电路有限公司 | 采样点自适应偏移滤波的控制方法及其影像处理*** |
WO2019082291A1 (ja) * | 2017-10-25 | 2019-05-02 | 株式会社ソシオネクスト | 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム |
CN111587576B (zh) | 2018-01-05 | 2023-03-31 | 株式会社索思未来 | 编码方法、解码方法、编码装置、解码装置以及记录介质 |
GB2574423A (en) * | 2018-06-05 | 2019-12-11 | Canon Kk | Video coding and decoding |
JP6990627B2 (ja) | 2018-06-29 | 2022-01-12 | ダイキン工業株式会社 | 屋外空気調和装置 |
KR102312337B1 (ko) * | 2018-10-19 | 2021-10-14 | 삼성전자주식회사 | Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법 |
WO2020094153A1 (en) * | 2018-11-09 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Component based loop filter |
GB2580173B (en) | 2018-12-21 | 2022-07-27 | Canon Kk | A filter |
CN109862374A (zh) * | 2019-01-07 | 2019-06-07 | 北京大学 | 一种自适应环路滤波方法及装置 |
CN109859126B (zh) * | 2019-01-17 | 2021-02-02 | 浙江大华技术股份有限公司 | 一种视频降噪方法、装置、电子设备及存储介质 |
CN117956148A (zh) | 2019-03-08 | 2024-04-30 | 佳能株式会社 | 自适应环路滤波器 |
CN110677649B (zh) * | 2019-10-16 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 基于机器学习的去伪影方法、去伪影模型训练方法及装置 |
WO2021093801A1 (en) * | 2019-11-14 | 2021-05-20 | Beijing Bytedance Network Technology Co., Ltd. | Coding of low bit-depth visual media data |
US20230024020A1 (en) * | 2019-12-09 | 2023-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive loop filtering |
EP4074042A4 (en) | 2019-12-17 | 2023-01-25 | Alibaba Group Holding Limited | METHODS OF ACHIEVING MOTION COMPENSATION WITH ENVELOPMENT |
US11375221B2 (en) * | 2020-02-12 | 2022-06-28 | Tencent America LLC | Method and apparatus for cross-component filtering |
US11785237B2 (en) | 2020-03-26 | 2023-10-10 | Alibaba Group Holding Limited | Methods for signaling video coding data |
CN111698511B (zh) * | 2020-06-07 | 2022-09-16 | 咪咕文化科技有限公司 | 图像滤波方法、装置、设备及可读存储介质 |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
US11750816B2 (en) | 2020-12-03 | 2023-09-05 | Alibaba Group Holding Limited | Methods and systems for cross-component sample adaptive offset |
CN112862924B (zh) * | 2020-12-31 | 2022-11-25 | 哈尔滨工业大学(威海) | 多模态成像中图像重建方法、装置和多模态成像技术*** |
TWI764492B (zh) * | 2020-12-31 | 2022-05-11 | 鴻海精密工業股份有限公司 | 缺陷檢測分類方法、裝置、電子設備及存儲介質 |
CN113099230B (zh) * | 2021-02-22 | 2022-09-06 | 浙江大华技术股份有限公司 | 编码方法、装置、电子设备及计算机可读存储介质 |
CN112819017B (zh) * | 2021-03-09 | 2022-08-16 | 遵义师范学院 | 基于直方图的高精度色偏图像识别方法 |
CN113068037B (zh) * | 2021-03-17 | 2022-12-06 | 上海哔哩哔哩科技有限公司 | 用于样点自适应补偿的方法及装置、设备和介质 |
CN112752104B (zh) * | 2021-04-06 | 2021-06-08 | 浙江华创视讯科技有限公司 | 图像补偿方法、装置、存储介质及电子设备 |
KR20240042642A (ko) * | 2021-08-19 | 2024-04-02 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 교차 성분 샘플 적응적 오프셋에서의 코딩 강화 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502489A (en) * | 1994-01-03 | 1996-03-26 | Daewoo Electronics Co., Ltd. | Method for the motion adaptive spatial filtering of video signals in an image coding apparatus |
RU2072562C1 (ru) * | 1992-05-18 | 1997-01-27 | Самсунг Электроникс Ко., Лтд. | Способ кодирования цифровых видеосигналов с подавлением граничных искажений, способ декодирования цифровых видеосигналов с подавлением граничных искажений и устройства для их осуществления |
EP2237557A1 (en) * | 2009-04-03 | 2010-10-06 | Panasonic Corporation | Coding for filter coefficients |
US20100329362A1 (en) * | 2009-06-30 | 2010-12-30 | Samsung Electronics Co., Ltd. | Video encoding and decoding apparatus and method using adaptive in-loop filter |
WO2011043797A2 (en) * | 2009-10-05 | 2011-04-14 | Thomson Licensing | Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding |
Family Cites Families (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0223557A3 (en) | 1985-11-15 | 1989-04-05 | Data General Corporation | Display control in a data processing system |
US6519369B1 (en) * | 1999-02-12 | 2003-02-11 | Sony Corporation | Method and apparatus for filter tap expansion |
FI117533B (fi) | 2000-01-20 | 2006-11-15 | Nokia Corp | Menetelmä digitaalisten videokuvien suodattamiseksi |
JP4156188B2 (ja) * | 2000-10-20 | 2008-09-24 | パイオニア株式会社 | 情報出力装置及び情報出力方法、情報記録装置及び情報記録方法、情報出力記録システム及び情報出力記録方法並びに情報記録媒体 |
US7450641B2 (en) | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US7650032B2 (en) * | 2003-08-19 | 2010-01-19 | Panasonic Corporation | Method for encoding moving image and method for decoding moving image |
EP1510973A3 (en) * | 2003-08-29 | 2006-08-16 | Samsung Electronics Co., Ltd. | Method and apparatus for image-based photorealistic 3D face modeling |
US7369709B2 (en) | 2003-09-07 | 2008-05-06 | Microsoft Corporation | Conditional lapped transform |
CN1285214C (zh) * | 2004-01-14 | 2006-11-15 | 华中科技大学 | 一种环路滤波方法和环路滤波器 |
US7397854B2 (en) * | 2004-04-29 | 2008-07-08 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
US7876833B2 (en) | 2005-04-11 | 2011-01-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive up-scaling for spatially scalable coding |
WO2006112996A1 (en) * | 2005-04-13 | 2006-10-26 | Thomson Licensing | Luma and chroma decoding using a common predictor |
US7511769B2 (en) * | 2005-04-19 | 2009-03-31 | Texas Instruments Incorporated | Interframe noise reduction for video |
JP5112300B2 (ja) * | 2005-06-01 | 2013-01-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | コンテンツ項目の特性を決定する方法および電子装置 |
WO2006137006A2 (en) | 2005-06-23 | 2006-12-28 | Koninklijke Philips Electronics N.V. | Transmission of 3d image using 2d image and depth data |
KR100678958B1 (ko) * | 2005-07-29 | 2007-02-06 | 삼성전자주식회사 | 인트라 bl 모드를 고려한 디블록 필터링 방법, 및 상기방법을 이용하는 다 계층 비디오 인코더/디코더 |
CN100438629C (zh) * | 2005-09-19 | 2008-11-26 | 华为技术有限公司 | 图像编码处理中的环路滤波方法 |
KR100647402B1 (ko) | 2005-11-01 | 2006-11-23 | 매그나칩 반도체 유한회사 | 이미지 센서의 화질개선장치 및 그 방법 |
US7956930B2 (en) * | 2006-01-06 | 2011-06-07 | Microsoft Corporation | Resampling and picture resizing operations for multi-resolution video coding and decoding |
RU2406259C2 (ru) | 2006-03-27 | 2010-12-10 | Квэлкомм Инкорпорейтед | Способы и системы для кодирования уточняющих коэффициентов при сжатии видеоданных |
WO2007116551A1 (ja) * | 2006-03-30 | 2007-10-18 | Kabushiki Kaisha Toshiba | 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法 |
US9001899B2 (en) | 2006-09-15 | 2015-04-07 | Freescale Semiconductor, Inc. | Video information processing system with selective chroma deblock filtering |
US20080080618A1 (en) | 2006-09-28 | 2008-04-03 | Kazuya Takagi | Video decoding apparatus and method of the same |
CN105357527A (zh) * | 2006-11-08 | 2016-02-24 | 汤姆逊许可证公司 | 用于环内去伪影滤波的方法和设备 |
CN100578618C (zh) * | 2006-12-04 | 2010-01-06 | 华为技术有限公司 | 一种解码方法及装置 |
US9445128B2 (en) * | 2006-12-08 | 2016-09-13 | Freescale Semiconductor, Inc. | System and method of determining deblocking control flag of scalable video system for indicating presentation of deblocking parameters for multiple layers |
JP2010514246A (ja) * | 2006-12-18 | 2010-04-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 画像圧縮及び伸張 |
US8363734B2 (en) * | 2008-01-12 | 2013-01-29 | Huaya Microelectronics | Multi-directional comb filtering in a digital video decoder |
US8234193B2 (en) * | 2008-03-03 | 2012-07-31 | Wildfire Interactive, Inc. | Method and system for providing online promotions through a social network-based platform |
US8831086B2 (en) * | 2008-04-10 | 2014-09-09 | Qualcomm Incorporated | Prediction techniques for interpolation in video coding |
JP2009290552A (ja) * | 2008-05-29 | 2009-12-10 | Fujifilm Corp | 動画圧縮装置および動画圧縮プログラム |
KR20090129926A (ko) * | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US9571856B2 (en) * | 2008-08-25 | 2017-02-14 | Microsoft Technology Licensing, Llc | Conversion operations in scalable video encoding and decoding |
JP5161702B2 (ja) * | 2008-08-25 | 2013-03-13 | キヤノン株式会社 | 撮像装置、撮像システム、及び焦点検出方法 |
CN101742290B (zh) * | 2008-11-12 | 2013-03-27 | 北京中星微电子有限公司 | 视频编、解码降噪方法和视频编、解码降噪装置 |
US20110026593A1 (en) * | 2009-02-10 | 2011-02-03 | New Wei Lee | Image processing apparatus, image processing method, program and integrated circuit |
CN101511024A (zh) * | 2009-04-01 | 2009-08-19 | 北京航空航天大学 | 实时电子稳像中基于运动状态识别的运动补偿方法 |
US20120320973A1 (en) * | 2010-03-09 | 2012-12-20 | Thomson Licensing | Methods and apparatus for a classification-based loop filter |
KR101529992B1 (ko) * | 2010-04-05 | 2015-06-18 | 삼성전자주식회사 | 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치 |
US8428372B2 (en) * | 2010-04-09 | 2013-04-23 | The Boeing Company | Method, apparatus and computer program product for compressing data |
CN101860753B (zh) * | 2010-04-30 | 2012-10-03 | 北京航空航天大学 | 一种基于分形的视频压缩与解压缩方法 |
US9094658B2 (en) * | 2010-05-10 | 2015-07-28 | Mediatek Inc. | Method and apparatus of adaptive loop filtering |
US8660174B2 (en) * | 2010-06-15 | 2014-02-25 | Mediatek Inc. | Apparatus and method of adaptive offset for video coding |
US9247265B2 (en) * | 2010-09-01 | 2016-01-26 | Qualcomm Incorporated | Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning |
CA2805722C (en) * | 2010-10-05 | 2016-03-29 | Ching-Yeh Chen | Method and apparatus of region-based adaptive loop filtering |
US9055305B2 (en) * | 2011-01-09 | 2015-06-09 | Mediatek Inc. | Apparatus and method of sample adaptive offset for video coding |
BR112013011053A8 (pt) * | 2010-11-10 | 2016-08-23 | Sony Corp | Dispositivo e método de processamento de imagem |
US9161041B2 (en) * | 2011-01-09 | 2015-10-13 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
WO2012092787A1 (en) * | 2011-01-09 | 2012-07-12 | Mediatek Inc. | Apparatus and method of efficient sample adaptive offset |
US20120183078A1 (en) | 2011-01-14 | 2012-07-19 | Samsung Electronics Co., Ltd. | Filter adaptation with directional features for video/image coding |
US9001883B2 (en) * | 2011-02-16 | 2015-04-07 | Mediatek Inc | Method and apparatus for slice common information sharing |
GB2488830B (en) | 2011-03-10 | 2015-07-29 | Canon Kk | Method and device for encoding image data and method and device for decoding image data |
CN103460699B (zh) | 2011-03-30 | 2017-06-20 | Lg电子株式会社 | 环路滤波方法及其设备 |
HUE042699T2 (hu) * | 2011-04-21 | 2019-07-29 | Hfi Innovation Inc | Eljárás és készülék továbbfejlesztett hurokszûréshez |
US9008170B2 (en) | 2011-05-10 | 2015-04-14 | Qualcomm Incorporated | Offset type and coefficients signaling method for sample adaptive offset |
CN103535035B (zh) | 2011-05-16 | 2017-03-15 | 寰发股份有限公司 | 用于亮度和色度分量的样本自适应偏移的方法和装置 |
PL3787289T3 (pl) * | 2011-06-14 | 2022-12-12 | Lg Electronics Inc. | Sposób kodowania i dekodowania informacji o obrazie |
WO2012175195A1 (en) * | 2011-06-20 | 2012-12-27 | Panasonic Corporation | Simplified pipeline for filtering |
PT3361725T (pt) * | 2011-06-23 | 2020-05-06 | Huawei Tech Co Ltd | Dispositivo de descodificação de desvios, dispositivo de codificação de desvios, dispositivo de filtro de imagem e estrutura de dados |
WO2012176964A1 (ko) * | 2011-06-24 | 2012-12-27 | 엘지전자 주식회사 | 영상 정보 부호화 및 복호화 방법 |
CN105049864A (zh) * | 2011-06-28 | 2015-11-11 | 三星电子株式会社 | 根据像素分类使用偏移调整的视频解码方法及其设备 |
EP2988511A1 (en) * | 2011-08-04 | 2016-02-24 | MediaTek Inc. | Method and apparatus for reordered binarization of syntax elements in cabac |
US9344743B2 (en) | 2011-08-24 | 2016-05-17 | Texas Instruments Incorporated | Flexible region based sample adaptive offset (SAO) and adaptive loop filter (ALF) |
US10070152B2 (en) | 2011-08-24 | 2018-09-04 | Texas Instruments Incorporated | Sample adaptive offset (SAO) parameter signaling |
WO2013042884A1 (ko) | 2011-09-19 | 2013-03-28 | 엘지전자 주식회사 | 영상 부호화/복호화 방법 및 그 장치 |
KR20130034566A (ko) * | 2011-09-28 | 2013-04-05 | 한국전자통신연구원 | 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치 |
WO2013046990A1 (ja) * | 2011-09-29 | 2013-04-04 | シャープ株式会社 | オフセット復号装置、オフセット符号化装置、画像フィルタ装置、および、データ構造 |
US20130083844A1 (en) * | 2011-09-30 | 2013-04-04 | In Suk Chong | Coefficient coding for sample adaptive offset and adaptive loop filter |
US9357235B2 (en) * | 2011-10-13 | 2016-05-31 | Qualcomm Incorporated | Sample adaptive offset merged with adaptive loop filter in video coding |
US20140198844A1 (en) * | 2011-10-24 | 2014-07-17 | Mediatek Inc. | Method and apparatus for non-cross-tile loop filtering |
JP2013093792A (ja) * | 2011-10-27 | 2013-05-16 | Sony Corp | 画像処理装置および方法 |
KR102007050B1 (ko) | 2011-11-03 | 2019-10-01 | 선 페이턴트 트러스트 | 펄스 코드 변조 모드에서 부호화된 블록의 필터링 |
JP2013138395A (ja) * | 2011-11-04 | 2013-07-11 | Sharp Corp | 画像フィルタ装置、画像復号装置、画像符号化装置、および、データ構造 |
US10051289B2 (en) * | 2011-11-04 | 2018-08-14 | Qualcomm Incorporated | Adaptive center band offset filter for video coding |
GB201119206D0 (en) | 2011-11-07 | 2011-12-21 | Canon Kk | Method and device for providing compensation offsets for a set of reconstructed samples of an image |
US20130136173A1 (en) | 2011-11-15 | 2013-05-30 | Panasonic Corporation | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
CN104869416B (zh) * | 2011-12-22 | 2018-08-03 | 三星电子株式会社 | 视频解码设备 |
US9161035B2 (en) | 2012-01-20 | 2015-10-13 | Sony Corporation | Flexible band offset mode in sample adaptive offset in HEVC |
US9380302B2 (en) | 2012-02-27 | 2016-06-28 | Texas Instruments Incorporated | Sample adaptive offset (SAO) parameter signaling |
CN104335587B (zh) * | 2012-07-04 | 2018-06-19 | 英特尔公司 | 对于三维视频译码的视图间滤波器参数重复使用 |
SG10201703660TA (en) * | 2012-07-16 | 2017-06-29 | Samsung Electronics Co Ltd | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus for signaling sao parameters |
-
2011
- 2011-11-07 GB GBGB1119206.9A patent/GB201119206D0/en not_active Ceased
-
2012
- 2012-01-19 GB GB1200918.9A patent/GB2496213B/en active Active
- 2012-02-24 GB GB1203285.0A patent/GB2499983A/en not_active Withdrawn
- 2012-03-26 GB GB1205304.7A patent/GB2496220A/en not_active Withdrawn
- 2012-04-13 GB GB1206591.8A patent/GB2496222A/en not_active Withdrawn
- 2012-11-07 DK DK12783599.9T patent/DK2777253T3/en active
- 2012-11-07 BR BR122019028117-3A patent/BR122019028117B1/pt active IP Right Grant
- 2012-11-07 CN CN201710785308.5A patent/CN107483935B/zh active Active
- 2012-11-07 BR BR122019026461-9A patent/BR122019026461B1/pt active IP Right Grant
- 2012-11-07 EP EP17161216.1A patent/EP3247117B1/en active Active
- 2012-11-07 US US14/356,831 patent/US10085042B2/en active Active
- 2012-11-07 EP EP19207314.6A patent/EP3648461A1/en active Pending
- 2012-11-07 RU RU2014123360/08A patent/RU2586862C2/ru active
- 2012-11-07 ES ES12783599.9T patent/ES2628070T3/es active Active
- 2012-11-07 ES ES12784571.7T patent/ES2626823T3/es active Active
- 2012-11-07 EP EP19218277.2A patent/EP3657790B1/en active Active
- 2012-11-07 US US14/356,842 patent/US9118931B2/en active Active
- 2012-11-07 BR BR122019026459-7A patent/BR122019026459B1/pt active IP Right Grant
- 2012-11-07 JP JP2014539364A patent/JP6184416B2/ja active Active
- 2012-11-07 KR KR1020187032811A patent/KR102030304B1/ko active IP Right Grant
- 2012-11-07 PL PL17161216T patent/PL3247117T3/pl unknown
- 2012-11-07 EP EP12784571.7A patent/EP2777255B1/en active Active
- 2012-11-07 IN IN4154CHN2014 patent/IN2014CN04154A/en unknown
- 2012-11-07 EP EP18173012.8A patent/EP3396957B1/en active Active
- 2012-11-07 CN CN201710785033.5A patent/CN107707914B/zh active Active
- 2012-11-07 HU HUE19218280A patent/HUE057826T2/hu unknown
- 2012-11-07 KR KR1020187032998A patent/KR102068431B1/ko active IP Right Grant
- 2012-11-07 EP EP12783601.3A patent/EP2777254B1/en active Active
- 2012-11-07 EP EP17186037.2A patent/EP3270592B1/en active Active
- 2012-11-07 PL PL19218279T patent/PL3657791T3/pl unknown
- 2012-11-07 KR KR1020147017658A patent/KR101920105B1/ko active IP Right Grant
- 2012-11-07 WO PCT/EP2012/072069 patent/WO2013068427A2/en active Application Filing
- 2012-11-07 HU HUE19218279A patent/HUE057828T2/hu unknown
- 2012-11-07 DK DK12784571.7T patent/DK2777255T3/en active
- 2012-11-07 CN CN201280059766.6A patent/CN103975588B/zh active Active
- 2012-11-07 HU HUE17161216A patent/HUE048923T2/hu unknown
- 2012-11-07 ES ES19218279T patent/ES2905473T3/es active Active
- 2012-11-07 KR KR1020197028861A patent/KR20190114049A/ko not_active Application Discontinuation
- 2012-11-07 CN CN201710785174.7A patent/CN107465918B/zh active Active
- 2012-11-07 HU HUE19218277A patent/HUE057829T2/hu unknown
- 2012-11-07 ES ES18173012T patent/ES2771249T3/es active Active
- 2012-11-07 BR BR112014010885-4A patent/BR112014010885B1/pt active IP Right Grant
- 2012-11-07 CN CN201710785191.0A patent/CN107465919B/zh active Active
- 2012-11-07 CN CN201280059744.XA patent/CN103975587B/zh active Active
- 2012-11-07 CN CN201710229259.7A patent/CN107197270B/zh active Active
- 2012-11-07 PL PL19218280T patent/PL3657792T3/pl unknown
- 2012-11-07 ES ES19218277T patent/ES2906155T3/es active Active
- 2012-11-07 CN CN201280059765.1A patent/CN103975590B/zh active Active
- 2012-11-07 JP JP2014539365A patent/JP6067024B2/ja active Active
- 2012-11-07 CN CN201710229781.5A patent/CN107396105B/zh active Active
- 2012-11-07 EP EP12783599.9A patent/EP2777253B1/en active Active
- 2012-11-07 BR BR122019028116-5A patent/BR122019028116B1/pt active IP Right Grant
- 2012-11-07 KR KR1020187032809A patent/KR102029614B1/ko active IP Right Grant
- 2012-11-07 KR KR1020187032999A patent/KR102083280B1/ko active IP Right Grant
- 2012-11-07 PL PL19218277T patent/PL3657790T3/pl unknown
- 2012-11-07 KR KR1020187032810A patent/KR101972366B1/ko active IP Right Grant
- 2012-11-07 CN CN201710229740.6A patent/CN107197271B/zh active Active
- 2012-11-07 KR KR1020207005285A patent/KR102130480B1/ko active IP Right Grant
- 2012-11-07 CN CN201710229739.3A patent/CN107347156B/zh active Active
- 2012-11-07 KR KR1020187033000A patent/KR102068432B1/ko active IP Right Grant
- 2012-11-07 PL PL18173012T patent/PL3396957T3/pl unknown
- 2012-11-07 CN CN202010208276.4A patent/CN111405278B/zh active Active
- 2012-11-07 BR BR122019026460-0A patent/BR122019026460B1/pt active IP Right Grant
- 2012-11-07 BR BR122019028118-1A patent/BR122019028118B1/pt active IP Right Grant
- 2012-11-07 BR BR122019028115-7A patent/BR122019028115B1/pt active IP Right Grant
- 2012-11-07 CN CN201710228850.0A patent/CN107295337B/zh active Active
- 2012-11-07 RU RU2016118608A patent/RU2641230C1/ru active
- 2012-11-07 EP EP19218280.6A patent/EP3657792B1/en active Active
- 2012-11-07 HU HUE18173012A patent/HUE047964T2/hu unknown
- 2012-11-07 IN IN4153CHN2014 patent/IN2014CN04153A/en unknown
- 2012-11-07 RU RU2016118606A patent/RU2636666C1/ru active
- 2012-11-07 KR KR1020147019037A patent/KR101920529B1/ko active IP Right Grant
- 2012-11-07 BR BR122019026456-2A patent/BR122019026456B1/pt active IP Right Grant
- 2012-11-07 US US14/356,751 patent/US9106931B2/en active Active
- 2012-11-07 CN CN201710326608.7A patent/CN107197256B/zh active Active
- 2012-11-07 ES ES19218280T patent/ES2906724T3/es active Active
- 2012-11-07 WO PCT/EP2012/072071 patent/WO2013068428A2/en active Application Filing
- 2012-11-07 KR KR1020147014410A patent/KR101530832B1/ko active IP Right Grant
- 2012-11-07 EP EP17161217.9A patent/EP3229471A1/en not_active Withdrawn
- 2012-11-07 RU RU2014123386/08A patent/RU2586863C2/ru active
- 2012-11-07 EP EP19218279.8A patent/EP3657791B1/en active Active
- 2012-11-07 BR BR112014010882-0A patent/BR112014010882B1/pt active IP Right Grant
- 2012-11-07 ES ES17161216T patent/ES2772837T3/es active Active
- 2012-11-07 CN CN201710785118.3A patent/CN107566840B/zh active Active
- 2012-11-07 WO PCT/EP2012/072077 patent/WO2013068433A2/en active Application Filing
- 2012-11-07 KR KR1020147014408A patent/KR101530244B1/ko active IP Right Grant
-
2015
- 2015-07-21 US US14/805,271 patent/US9774886B2/en active Active
- 2015-07-24 US US14/808,753 patent/US9794596B2/en active Active
- 2015-07-28 US US14/811,608 patent/US9848208B2/en active Active
-
2016
- 2016-12-21 JP JP2016248232A patent/JP6324481B2/ja active Active
-
2017
- 2017-06-07 US US15/616,808 patent/US10462493B2/en active Active
- 2017-07-25 JP JP2017143419A patent/JP6419269B2/ja active Active
- 2017-08-25 US US15/687,307 patent/US10575020B2/en active Active
- 2017-10-27 RU RU2017137593A patent/RU2684478C1/ru active
- 2017-12-27 RU RU2017146196A patent/RU2676410C1/ru active
-
2018
- 2018-02-23 JP JP2018030503A patent/JP6490264B2/ja active Active
- 2018-04-11 JP JP2018076454A patent/JP6490276B2/ja active Active
- 2018-08-23 US US16/110,929 patent/US10771819B2/en active Active
- 2018-10-11 JP JP2018192306A patent/JP6598957B2/ja active Active
- 2018-12-13 RU RU2018144123A patent/RU2701130C1/ru active
- 2018-12-13 RU RU2018144124A patent/RU2702054C1/ru active
-
2019
- 2019-02-27 JP JP2019034903A patent/JP6748749B2/ja active Active
- 2019-03-29 RU RU2019109208A patent/RU2707926C1/ru active
- 2019-04-01 RU RU2019109448A patent/RU2708351C1/ru active
- 2019-05-30 US US16/427,167 patent/US10743033B2/en active Active
- 2019-08-16 US US16/543,348 patent/US11076173B2/en active Active
- 2019-09-18 RU RU2019129350A patent/RU2716535C1/ru active
- 2019-10-02 JP JP2019182458A patent/JP6797993B2/ja active Active
- 2019-11-22 RU RU2019137625A patent/RU2019137625A/ru not_active Application Discontinuation
-
2020
- 2020-02-27 RU RU2020108456A patent/RU2020108456A/ru unknown
- 2020-11-19 JP JP2020192241A patent/JP7077385B2/ja active Active
-
2021
- 2021-06-14 US US17/346,917 patent/US11601687B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2072562C1 (ru) * | 1992-05-18 | 1997-01-27 | Самсунг Электроникс Ко., Лтд. | Способ кодирования цифровых видеосигналов с подавлением граничных искажений, способ декодирования цифровых видеосигналов с подавлением граничных искажений и устройства для их осуществления |
US5502489A (en) * | 1994-01-03 | 1996-03-26 | Daewoo Electronics Co., Ltd. | Method for the motion adaptive spatial filtering of video signals in an image coding apparatus |
EP2237557A1 (en) * | 2009-04-03 | 2010-10-06 | Panasonic Corporation | Coding for filter coefficients |
US20100329362A1 (en) * | 2009-06-30 | 2010-12-30 | Samsung Electronics Co., Ltd. | Video encoding and decoding apparatus and method using adaptive in-loop filter |
WO2011043797A2 (en) * | 2009-10-05 | 2011-04-14 | Thomson Licensing | Methods and apparatus for adaptive filtering of prediction pixels for chroma components in video encoding and decoding |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2788564C1 (ru) * | 2019-06-24 | 2023-01-23 | Тенсент Америка Ллс | Способ эффективной сигнализации виртуальной границы для управления петлевой фильтрацией |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2716535C1 (ru) | Способ и устройство для оптимизации кодирования/декодирования компенсационных смещений для набора восстановленных выборок изображения |