СПОСОБ ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА
VIDEO SIGNAL DECODING METHOD

Настоящая заявка выделена из заявки № 2014117484 на выдачу патента РФ на изобретение, поданной 17.10.2012, с испрашиванием приоритета по дате подачи первой заявки KR 10-2011-0107098, поданной в патентное ведомство Кореи 19.10.2011.
Область техники, к которой относится изобретение
Данное изобретение относится к обработке видеоданных, в частности, к способу декодирования видеосигнала.
Уровень техники
В последнее время возрастает потребность в видеоматериалах высокого разрешения и высокого качества, в том числе видеоданных высокого разрешения (HD, high definition) и сверхвысокого разрешения (UHD, ultrahigh definition).
Необходимость повышения качества и разрешающей способности видеоматериалов неизбежно влечет за собой увеличение объема видеоданных. Соответственно, стоимость передачи и хранения видеоданных для видеоматериалов высокого качества возрастает по сравнению с обычными способами обработки видеоданных. Для решения этих проблем, вызванных повышением разрешения и качества видеоданных, можно использовать высокоэффективные технологии сжатия видеоданных.
Для сжатия видеоданных применяют различные технические решения, в том числе: межкадровое предсказание (inter prediction), в котором осуществляют предсказание значений пикселей, содержащихся в текущем изображении, на основе других изображений, внутрикадровое предсказание (intra prediction), в котором осуществляют предсказание значений пикселей, содержащихся в текущем изображении, с использованием информации о других пикселях в текущем изображении, а также способ энтропийного кодирования/декодирования, предполагающий назначение более коротких кодов более часто встречающимся или возникающим сигналам.
Раскрытие изобретения
Одним из аспектов настоящего изобретения является предоставление способа декодирования видеосигнала в устройстве для декодирования для повышения эффективности декодирования видеоданных.
Вариант осуществления настоящего изобретения предлагает способ декодирования видеосигнала в устройстве для декодирования. Способ декодирования видеоданных может включать получение разностных коэффициентов, относящихся к текущему блоку, посредством выполнения сканирования для текущего блока; получение индекса режима пропуска преобразования для текущего блока из видеосигнала, причем индекс режима пропуска преобразования указывает, выполняется ли пропуск обратного преобразования для текущего блока, при этом индекс режима пропуска преобразования получают как для яркостной компоненты текущего блока, так и для цветностной компоненты текущего блока; получение прошедших обратное квантование разностных коэффициентов посредством выполнения обратного квантования разностных коэффициентов; получение разностного блока, относящегося к текущему блоку, посредством выборочного выполнения обратного преобразования для прошедших обратное квантование разностных коэффициентов текущего блока на основании индекса режима пропуска преобразования; определение режима предсказания текущего блока на основании информации о режиме предсказания, причем информация о режиме предсказания указывает, является ли текущий блок блоком, закодированным с использованием межкадрового предсказания, или блоком, закодированным с использованием внутрикадрового предсказания; получение блока предсказания, относящегося к текущему блоку, на основании режима предсказания текущего блока; и получение воссозданного блока, относящегося к текущему блоку, посредством использования разностного блока и блока предсказания. Следует ли выполнять пропуск обратного преобразования для цветностной компоненты текущего блока, определяется независимо от яркостной компоненты текущего блока.
Если индекс режима пропуска преобразования указывает, что обратное преобразование для текущего блока пропускают, то разностный блок можно получить посредством масштабирования прошедших обратное квантование разностных коэффициентов с использованием заранее определенного значения.
Масштабирование может быть выполнено посредством использования операции битового сдвига.
Обратное преобразование может включать преобразование рядов текущего блока и преобразование столбцов текущего блока.
Обратное преобразование может быть выполнено с использованием или дискретного косинусного преобразования (DCT), или дискретного синусного преобразования (DST).
Технический результат
Обеспечиваемый настоящий изобретением способ декодирования видеосигнала в устройстве для декодирования позволяет повысить эффективность декодирования видеоданных.
Краткое описание чертежей
На фиг. 1 приведена блок-схема устройства для кодирования видеоданных согласно примеру осуществления настоящего изобретения.
На фиг. 2 приведена блок-схема устройства для декодирования видеоданных согласно примеру осуществления настоящего изобретения.
На фиг. 3 показан способ преобразования, основанный на режиме преобразования согласно примеру осуществления настоящего изобретения.
На фиг. 4 показана диаграмма, схематически иллюстрирующая процесс преобразования в устройстве для кодирования согласно примеру осуществления настоящего изобретения.
На фиг. 5 показана диаграмма, схематически иллюстрирующая процесс обратного преобразования в устройстве для декодирования согласно примеру осуществления настоящего изобретения.
На фиг. 6 проиллюстрирован способ определения режима пропуска преобразования блока цветностных компонентов на основе режима внутрикадрового предсказания, соответствующего блоку цветностных компонентов.
На фиг. 7 показана диаграмма, схематически иллюстрирующая способ кодирования согласно примеру осуществления настоящего изобретения.
На фиг. 8 показана диаграмма, схематически иллюстрирующая способ декодирования согласно примеру осуществления настоящего изобретения.
Осуществление изобретения
Несмотря на то, что показанные на фигурах элементы изображены отдельно с целью представления различных отличных друг от друга функций в составе данного устройства кодирования/устройства декодирования видеоданных, такая конфигурация не означает, что каждый из элементов в действительности является отдельным аппаратным или программным компонентом. Другими словами, такое разбиение на отдельные элементы сделано для удобства раскрытия сущности изобретения, но при этом можно по меньшей мере два элемента объединить в один элемент, или же разделить один из элементов на несколько отдельных элементов, выполняющих соответствующие функции. Необходимо отметить, что те варианты осуществления, в которых некоторые из элементов объединены в единый комбинированный элемент и/или один из элементов разделен на несколько отдельных элементов, входят в объем охраны настоящего изобретения без отклонения от сущности настоящего изобретения.
Ниже будут подробно раскрыты примеры осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. Одинаковые ссылочные обозначения на фигурах соответствуют одним и тем же элементам в рамках всего настоящего документа, а дублирующие друг друга описания аналогичных элементов будут опущены.
На фиг. 1 приведена блок-схема устройства для кодирования видеоданных согласно примеру осуществления настоящего изобретения. Показанное на фиг. 1 устройство для кодирования видеоданных может содержать модуль 110 подразделения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, квантизирующий модуль 135, деквантизирующий модуль 140, модуль 145 обратного преобразования, фильтрующий модуля 150, память 155, переупорядочивающий модуль 160 и модуль 165 энтропийного кодирования.
Модуль 110 подразделения изображения может подразделять текущее входное изображение на один или более элементов кодирования. Элемент кодирования (CU, coding unit) представляет собой элемент обработки кодирования в устройстве для кодирования видеоданных, который может быть рекурсивно подразделен, при этом информация о глубине основана на структуре дерева квадрантов. CU может иметь различные размеры, в том числе 8 x 8, 16 x 16, 32 x 32 и 64 x 64. CU максимального размера может называться наибольшим элементом кодирования (LCU, largest coding unit), а CU минимального размера может называться наименьшим элементом кодирования (SCU, smallest coding unit).
Кроме того, модуль 110 подразделения изображения может выполнять разделение CU для формирования элемента предсказания (PU, prediction unit) и элемента преобразования (TU, transform unit). PU может быть меньше, чем CU или равен ему, и необязательно должен быть квадратным блоком, а может быть прямоугольным блоком.
Как правило, внутрикадровое предсказание осуществляется по элементам размером 2N*2N или N*N блоков. Здесь N представляет собой натуральное число, обозначающее количество пикселей, а 2N*2N или N*N может обозначать размер PU (и/или режим подразделения). Кроме того, межкадровое предсказание может осуществляться по элементам размером 2N*2N, 2N*N, N*2N или N*N блоков. Здесь N представляет собой натуральное число, обозначающее количество пикселей, а 2N*2N, 2N*N, N*2N или N*N может обозначать размер PU (и/или режим подразделения). Кроме того, для повышения эффективности межкадрового предсказания оно, помимо элементов PU с размером 2N*2N, 2N*N, N*2N или N*N, может осуществляться в отношении элементов PU размером 2NxnU, 2NxnD, nLx2N или nRx2N. Здесь 2NxnU, 2NxnD, nLx2N или nRx2N могут обозначать размер PU (и/или режим подразделения). В режимах подразделения 2NxnU и 2NxnD  элемент PU может иметь размер 2Nx(1/2)N или 2Nx(3/2)N, тогда как в режимах подразделения nLx2N и nRx2N элемент PU может иметь размер (1/2)Nx2N или (3/2)Nx2N.
В режиме межкадрового предсказания модуль 120 межкадрового предсказания может выполнять предсказание движения (ME, motion estimation) и компенсацию движения (MC, motion compensation) Модуль 120 межкадрового предсказания может формировать блок предсказания на основе информации о предыдущем и/или последующем изображении относительно текущего изображения.
Модуль 120 межкадрового предсказания может выполнять предсказание движения на основе подразделенного целевого блока предсказания и по меньшей мере одного опорного блока, хранящегося в памяти 155. Модуль 120 межкадрового предсказания может формировать информацию о движении, в том числе вектор движения (MV, motion vector), индекс опорного блока и режим предсказания в качестве результата предсказания движения.
Кроме того, модуль 120 межкадрового предсказания может выполнять компенсацию движения, используя информацию о движении и опорный блок. В этом случае модуль 120 межкадрового предсказания может формировать и выдавать блок предсказания, соответствующий входному блоку, по опорному блоку.
В режиме внутрикадрового предсказания модуль 125 внутрикадрового предсказания может формировать блок предсказания на основе информации о пикселях в текущем изображении. В режиме внутрикадрового предсказания модуль 125 внутрикадрового предсказания может выполнять предсказание для текущего блока на основе целевого блока предсказания и воссозданного блока, ранее воссозданного посредством преобразования и квантизации. В этом случае воссозданный блок может представлять собой воссозданное изображение, не прошедшее фильтрацию.
В описанных выше режимах межкадрового предсказания и внутрикадрового предсказания предсказание можно выполнять в отношении целевого блока предсказания для формирования блока предсказания. В этом случае можно сформировать разностный блок на основе разностного значения между целевым блоком предсказания и сформированным блоком предсказания.
Модуль 130 преобразования может преобразовывать разностный блок по каждому TU для формирования коэффициента преобразования. TU может иметь древовидную структуру с максимальным и минимальным размерами. С помощью флага можно указать, подразделяется ли текущий блок на подблоки по каждому TU Модуль 130 преобразования может выполнять преобразование с использованием дискретного косинусного преобразования (DCT) или дискретного синусного преобразования (DST).
Квантизирующий модуль 135 может квантизировать коэффициенты, преобразованные модулем 130 преобразования. Коэффициент квантизации может изменяться согласно блоку или важности изображения. Квантизированный коэффициент преобразования может быть подан в переупорядочивающий модуль 160 и деквантизирующий модуль 140.
Переупорядочивающий модуль 160 может преобразовывать двумерный блок квантизированных коэффициентов преобразования в одномерный вектор коэффициентов преобразования путем сканирования с целью повышения эффективности энтропийного кодирования. Переупорядочивающий модуль 160 может изменять порядок сканирования согласно стохастической статистике с целью повышения эффективности энтропийного кодирования.
Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование значений, полученных в переупорядочивающем модуле 160. При энтропийном кодировании более часто встречающимся значениям синтаксических элементов может назначаться кодовое слово с меньшим числом битов, а менее часто встречающимся значениям синтаксических элементов может назначаться кодовое слово с большим числом битов. Таким образом, размер битовой строки для кодируемых символов можно сократить, повысив тем самым эффективность сжатия при кодировании видеоданных. Для энтропийного кодирования можно применять различные способы кодирования, например, экспоненциальное кодирование Голомба, CAVLC (контекстно-адаптивное кодирование переменной длины, context-adaptive variable length coding), а также CABAC (контекстно-адаптивное двоичное арифметическое кодирование, context-adaptive binary arithmetic coding). Кодированную информацию можно организовать в формe сжатого битового потока и передавать через уровень NAL (уровень сетевой абстракции, network abstraction layer) или же сохранять.
Деквантизирующий модуль 140 может деквантизировать коэффициенты преобразования, квантизированные в квантизирующем модуле 135, а модуль 145 обратного преобразования может осуществлять обратное преобразование деквантизированных коэффициентов преобразования для формирования воссозданного разностного блока. Воссозданный разностный блок можно объединить с блоком предсказания, сформированным в модуле 120 межкадрового предсказания или модуле 125 внутрикадрового предсказания, для формирования воссозданного блока. Воссозданный блок можно подать в модуль 125 внутрикадрового предсказания и фильтрующий модуль 150.
Фильтрующий модуль 150 может выполнять фильтрацию воссозданного разностного блока с помощью деблокирующего фильтра, преобразования SAO (sample adaptive offset, адаптивный сдвиг выборки) и/или адаптивного петлевого фильтра (ALF, adaptive loop filter). Деблокирующий фильтр может осуществлять фильтрацию воссозданного блока для устранения искажений на границах между блоками, возникающих при кодировании и декодировании. SAO представляет собой процесс фильтрации с обратной связью, выполняемый в отношении разностного блока, к которому применяется деблокирующий фильтр, с целью компенсации разницы смещения по отношению к исходному изображению на пиксель. С помощью SAO можно применять смещение полосы и краевое смещение. При смещении полосы пиксели можно разделить на 32 полосы согласно интенсивности, и применять смещения к двум раздельным группам из 16 полос в краевой области и 16 полос в центральной области. Фильтрация ALF может осуществляться для минимизации ошибки между целевым блоком предсказания и окончательным воссозданным блоком. Фильтр ALF может выполнять фильтрацию на основе значения, полученного путем сравнения воссозданного блока, прошедшего фильтрацию с помощью деблокирующего фильтра, с текущим целевым блоком предсказания, при этом информация о коэффициентах фильтрации ALF можно загружать в заголовок слайса и передавать из устройства для кодирования в устройство для декодирования.
Из модуля 150 фильтрации окончательный воссозданный блок можно передать в память 155 для хранения. Окончательный воссозданный блок можно передать в модуль 120 межкадрового предсказания для выполнения межкадрового предсказания.
На фиг. 2 приведена блок-схема устройства для декодирования видеоданных согласно примеру реализации настоящего изобретения. Показанное на фиг. 2 устройство для декодирования видеоданных может содержать модуль 210 энтропийного декодирования, переупорядочивающий модуль 215, деквантизирующий модуль 220, модуль 225 обратного преобразования, модуль 230 межкадрового предсказания, модуль 235 внутрикадрового предсказания, фильтрующий модуль 240 и память 245.
Модуль 210 энтропийного декодирования может принимать сжатый битовый поток на уровне NAL. Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование принятого битового потока, а также энтропийное декодирование информации о режиме предсказания и векторе движения, если битовый поток содержит информацию о режиме предсказания и векторе движения. При использовании энтропийного декодирования более часто встречающимся значениям синтаксических элементов может назначаться кодовое слово с меньшим числом битов, а менее часто встречающимся значениям синтаксических элементов может назначаться кодовое слово с большим числом битов. Таким образом размер битовой строки для кодируемых символов можно сократить, повысив тем самым эффективность сжатия при кодировании видеоданных.
Полученный в результате энтропийного декодирования коэффициент преобразования или разностный сигнал можно подать в переупорядочивающий модуль 215. Переупорядочивающий модуль 215 может выполнять обратное сканирование декодированного коэффициента преобразования или разностного сигнала для формирования двумерного (2D) блока коэффициентов преобразования.
Деквантизирующий модуль 220 может деквантизировать переупорядоченные коэффициенты преобразования. Модуль 225 обратного преобразования может выполнять обратное преобразование деквантизированных коэффициентов преобразования для формирования разностного блока.
Разностный блок можно объединить с блоком предсказания, сформированным в модуле 230 межкадрового предсказания или модуле 235 внутрикадрового предсказания, для формирования воссозданного блока. Воссозданный блок можно подать в модуль 235 внутрикадрового предсказания и фильтрующий модуль 240. Модуль 230 межкадрового предсказания и модуль 235 внутрикадрового предсказания выполняют операции, идентичные или эквивалентные операциям модуля 120 межкадрового предсказания и модуля 125 внутрикадрового предсказания устройства для кодирования видеоданных, поэтому соответствующие описания будут опущены.
Фильтрующий модуль 240 может выполнять фильтрацию воссозданного блока с помощью деблокирующего фильтра, SAO или фильтра ALF. Деблокирующий фильтр может осуществлять фильтрацию воссозданного блока для устранения искажений на границах между блоками, возникающих при кодировании и декодировании. SAO можно применять к воссозданному блоку, прошедшему фильтрацию с помощью деблокирующего фильтра, в единицах пикселей для уменьшения различия с исходным изображением. ALF позволяет выполнять фильтрацию воссозданного блока посредством SAO для минимизации ошибки между целевым блоком предсказания и окончательным воссозданным блоком.
Из модуля 240 фильтрации окончательный воссозданный блок можно передать в память 245 для хранения. Сохраненный окончательный воссозданный блок можно передать в модуль 230 межкадрового предсказания для выполнения межкадрового предсказания.
Ниже под блоком может пониматься элемент обработки при кодировании и декодировании видеоданных. Таким образом, в этом описании под блоком могут пониматься элементы CU, PU или TU.
Как правило, видеосигнал может содержать сигналы, задающие количества для трех основных цветов компонентов света. Эти три цветовых сигнала можно обозначить как красный (R), зеленый (G) и синий (B). Для сокращения частотного диапазона, используемого для обработки видеоданных, сигналы R, G и B можно преобразовать в сигналы яркости и цветности, эквивалентные сигналам R, G и B. В этом случае видеосигнал может включать в себя один сигнал яркости и два сигнала цветности. При этом сигнал яркости представляет собой компонент, определяющий яркость экрана, тогда как сигнал цветности представляет собой компонент, определяющий цвет экрана. Сигнал яркости можно обозначить буквой Y, а сигналы цветности буквой C.
Поскольку человеческий глаз обладает чувствительностью к сигналам яркости, но нечувствителен к сигналам цветности, одно изображение или блок может содержать меньшее количество пикселей компонентов цветности, чем пикселей компонентов яркости.
В видеоформате 4:2:0 количество пикселей блока компонентов цветности может составлять 1/2 от количества пикселей блока компонентов яркости в горизонтальном направлении и 1/2 от количества пикселей компонентов яркости в вертикальном направлении. В видеоформате 4:2:2 количество пикселей блока компонентов цветности может составлять 1/2 от количества пикселей блока компонентов яркости в горизонтальном направлении и совпадать с количеством пикселей компонентов яркости в вертикальном направлении. В видеоформате 4:4:4 количество пикселей блока компонентов цветности может совпадать с количеством пикселей блока компонентов яркости как в горизонтальном, так и в вертикальном направлении.
Как было раскрыто выше на примере фиг. 1 и фиг. 2, устройство для кодирования видеоданных может выполнять преобразование разностного блока по каждому TU, а устройство для декодирования видеоданных может осуществлять обратное преобразование деквантизированных коэффициентов преобразования для формирования воссозданного разностного блока. В нижеследующем описании вместо термина "обратное преобразование" в целях удобства описания может также при необходимости использоваться термин "преобразование", что должно быть хорошо понятно специалистам в данной области.
Устройство для кодирования и устройство для декодирования могут выполнять двумерное (2D) преобразование, включая как вертикальное, так и горизонтальное преобразование. Однако в случае, когда вертикальный и горизонтальный сигналы имеют существенно различающиеся характеристики, вертикальное или горизонтальное преобразование может быть опущено. Кроме того, в случае разреженного сигнала можно опустить весь процесс преобразования. Описанные способы преобразования позволяют снизить сложность устройства для декодирования и повысить эффективность кодирования.
В последующем описании режим преобразования, включающий как горизонтальное, так и вертикальное преобразование, называется  «двумерным» (2D) режимом преобразования. Режим преобразования, подразумевающий только горизонтальное преобразование без вертикального преобразования, называется режимом горизонтального преобразования, а режим преобразования, подразумевающий только вертикальное преобразование без горизонтального преобразования, называется режимом вертикального преобразования. Кроме того, режим преобразования, не предполагающий ни горизонтального, ни вертикального преобразования, называется  «режимом отсутствия преобразования». При этом режим отсутствия преобразования может также называться  «режимом пропуска преобразования».
На фиг. 3 иллюстрирует способ преобразования, определяемый на основе примерного варианта осуществления настоящего изобретения.
Квадратные блоки с 310 по 340 на фиг. 3 представляют собой целевые блоки преобразования. В данном случае целевые блоки преобразования могут соответствовать элементам TU и/или CU. Стрелки, изображенные на блоках с 310 по 330, могут означать направления преобразования.
В отношении целевого блока 310 преобразования можно выполнять как вертикальное, так и горизонтальное преобразование. Таким образом, режим преобразования для целевого блока 310 преобразования может соответствовать двумерному (2D) режиму преобразования. В отношении целевого блока 320 преобразования можно выполнять только горизонтальное преобразование без вертикального преобразования. Таким образом, режим преобразования для целевого блока 320 преобразования может соответствовать режиму горизонтального преобразования. В этом случае, поскольку преобразование выполняется в отношении рядов, но не столбцов, способ преобразования в режиме горизонтального преобразования можно также называть «преобразованием только рядов». В отношении целевого блока 330 преобразования можно выполнять только вертикальное преобразование без горизонтального преобразования. Таким образом, режим преобразования для целевого блока 330 преобразования может соответствовать режиму вертикального преобразования. В этом случае, поскольку преобразование выполняется в отношении столбцов, но не рядов, способ преобразования в режиме вертикального преобразования можно также называть «преобразованием только столбцов». В отношении целевого блока 340 преобразования 340 преобразование может не выполняться. Таким образом, режим преобразования для целевого блока 340 преобразования может соответствовать режиму отсутствия преобразования.
В описанных выше режимах преобразования вертикальное преобразование и/или горизонтальное преобразование могут пропускаться или не пропускаться. Поэтому эти режимы преобразования можно также называть режимами пропуска преобразования (TSM, transform skip mode). При этом режим пропуска преобразования может включать двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим отсутствия преобразования. Согласно этому, двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования и/или режим отсутствия преобразования могут использоваться в качестве кандидатов на режим пропуска преобразования для целевого блока преобразования.
В одном из примеров осуществления по меньшей мере один из следующих режимов, то есть, двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования или режим отсутствия преобразования, может использоваться в качестве режима-кандидата на режим пропуска преобразования для целевого блока преобразования. В этом случае один режим пропуска преобразования, выбранный из числа множества режимов-кандидатов на режим пропуска преобразования, может быть применен к одному целевому блоку преобразования. Устройство для кодирования может выбрать один режим пропуска преобразования, имеющий наименьшее значение стоимости в смысле оптимизации искажения битрейта (RDO, rate-distortion optimization), среди множества режимов-кандидатов на режим пропуска преобразования. Затем устройство для кодирования может выполнить преобразование целевого блока преобразования на основе выбранного режима пропуска преобразования. Таким образом, устройство для кодирования может применить один выбранный режим пропуска преобразования из числа двумерного (2D) режима преобразования, режима горизонтального преобразования, режима вертикального преобразования или режима отсутствия преобразования, к целевому блоку преобразования согласно выбранному режиму пропуска преобразования.
Кроме того, устройство для кодирования может кодировать информацию о выбранном режиме пропуска преобразования и передавать эту информацию в устройство для декодирования. Режим пропуска преобразования может быть определен по элементам CU или TU. В этом случае, если режим пропуска преобразования определен по элементу CU, то информация может быть передана по элементу CU. Если режим пропуска преобразования определен по элементу TU, то информация может быть передана по элементу TU.
Например, информацию о режиме пропуска преобразования можно передавать в устройство для декодирования, используя индекс режима пропуска преобразования. Индекс режима пропуска преобразования может представлять собой индекс, указывающий тот режим пропуска преобразования среди режимов-кандидатов на режим пропуска преобразования, который необходимо применить к целевому блоку преобразования. Индексу режима пропуска преобразования можно назначить значение индекса согласно режиму пропуска преобразования. В этом случае двумерный (2D) режим преобразования, режим горизонтального преобразования и режим вертикального преобразования могут иметь различные значения индекса.
Устройство для декодирования может принимать информацию о режиме пропуска преобразования (например, закодированный индекс режима пропуска преобразования) от устройства для кодирования и декодировать эту информацию. В этом случае устройство для декодирования может определять режим пропуска преобразования, который необходимо применить к целевому блоку преобразования, на основе декодированной информации. Устройство для декодирования может выполнять преобразование целевого блока преобразования согласно определенному таким образом режиму пропуска преобразования. Иными словами, устройство для декодирования может применить один режим пропуска преобразования из числа двумерного (2D) режима преобразования, режима горизонтального преобразования, режима вертикального преобразования или режима отсутствия преобразования, к целевому блоку преобразования согласно определенному таким образом режиму пропуска преобразования.
На фиг. 4 показана диаграмма, схематически иллюстрирующая процесс преобразования в устройстве для кодирования согласно примеру осуществления настоящего изобретения.
Как видно из фиг. 4, устройство для кодирования может определять режим пропуска преобразования для целевого блока преобразования из числа множества режимов-кандидатов на режим пропуска преобразования (S410). В этом случае множество режимов-кандидатов на режим пропуска преобразования может включать по меньшей мере один из следующих режимов: двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим отсутствия преобразования. В этом случае устройство для кодирования может выбрать режим пропуска преобразования, имеющий наименьшее значение стоимости в смысле RDO, среди множества режимов-кандидатов на режим пропуска преобразования. Способ определения множества режимов-кандидатов на режим пропуска преобразования и режима пропуска преобразования для целевого блока преобразования согласно примеру осуществления будет описан ниже.
Согласно фиг. 4 устройство для кодирования может выполнять преобразование целевого блока преобразования согласно определенному таким образом режиму пропуска преобразования (S420). Таким образом, устройство для кодирования может применять один выбранный режим пропуска преобразования из числа двумерного (2D) режима преобразования, режима горизонтального преобразования, режима вертикального преобразования или режима отсутствия преобразования, к целевому блоку преобразования согласно выбранному режиму пропуска преобразования.
Кроме того, устройство для кодирования может кодировать информацию о режиме пропуска преобразования, примененном к целевому блоку преобразования, и передавать эту информацию в устройство для декодирования. Например, эту информацию можно передавать в устройство для декодирования с помощью индекса режима пропуска преобразования. Здесь, как было описано выше, с учетом вероятности появления режимов пропуска преобразования, устройство для кодирования может назначать короткое кодовое слово режиму пропуска преобразования, имеющему высокую вероятность появления, и длинное кодовое слово – режиму пропуска преобразования, имеющему низкую вероятность появления. Способ назначения кодового слова режиму пропуска преобразования согласно примеру осуществления будет описан ниже.
На фиг. 5 показана диаграмма, схематически иллюстрирующая процесс обратного преобразования в устройстве для декодирования согласно примеру осуществления настоящего изобретения.
Устройство для декодирования может принимать битовый поток, содержащий информацию о режиме пропуска преобразования (например, закодированный индекс режима пропуска преобразования) от устройства для кодирования и декодировать этот битовый поток. В битовом потоке, принятом от устройства для кодирования, короткое кодовое слово может быть назначено режиму пропуска преобразования, имеющему высокую вероятность появления, а длинное кодовое слово – режиму пропуска преобразования, имеющему низкую вероятность появления. Способ назначения кодового слова режиму пропуска преобразования согласно примеру осуществления будет описан ниже.
Как видно из фиг. 5, устройство для декодирования может определять режим пропуска преобразования для целевого блока обратного преобразования из числа множества режимов-кандидатов на режим пропуска преобразования (S510). В этом случае множество режимов-кандидатов на режим пропуска преобразования может включать по меньшей мере один из следующих режимов: двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим отсутствия преобразования. Устройство для декодирования может использовать то же самое множество режимов-кандидатов на режим пропуска преобразования, что и устройство для кодирования. В этом случае устройство для декодирования может определять режим пропуска преобразования для целевого блока обратного преобразования на основе декодированной информации (информации о режиме пропуска преобразования, например, декодированного индекса режима пропуска преобразования). Способ определения множества режимов-кандидатов на режим пропуска преобразования и режима пропуска преобразования для целевого блока преобразования согласно примеру осуществления будет описан подробно.
Согласно фиг. 5 устройство для декодирования может выполнять обратное преобразование целевого блока обратного преобразования согласно определенному таким образом режиму пропуска преобразования (S520). То есть, устройство для декодирования может применять один выбранный режим пропуска преобразования из числа двумерного (2D) режима преобразования, режима горизонтального преобразования, режима вертикального преобразования или режима отсутствия преобразования к целевому блоку обратного преобразования согласно выбранному режиму пропуску преобразования.
В вариантах осуществления, показанных на фиг. 4 и фиг. 5, устройство для кодирования и устройство для декодирования могут использовать все из следующих режимов, именно, двумерный (2D) режим преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим отсутствия преобразования, в качестве режимов-кандидатов на режим пропуска преобразования для целевого блока преобразования, содержащего яркостные компоненты. Здесь режиму двумерного (2D) преобразования (и/или индексу режима пропуска преобразования, соответствующему режиму двумерного (2D) преобразования), режиму горизонтального преобразования (и/или индексу режима пропуска преобразования, соответствующему режиму горизонтального преобразования), режиму вертикального преобразования (и/или индексу режима пропуска преобразования, соответствующему режиму вертикального преобразования) и режиму отсутствия преобразования (и/или индексу режима пропуска преобразования, соответствующему режиму отсутствия преобразования) можно соответственно назначать различные кодовые слова. Здесь, как было описано выше, учитывая вероятности появления режимов пропуска преобразования, устройство для кодирования может назначать короткое кодовое слово режиму пропуска преобразования, имеющему высокую вероятность появления, и длинное кодовое слово – режиму пропуска преобразования, имеющему низкую вероятность появления. В таблице 1 поясняется способ назначения кодового слова режиму пропуска преобразования для целевого блока преобразования, содержащего яркостные компоненты, согласно примеру осуществления.
Таблица 1
TSM
Преобразование рядов
Преобразование столбцов
Кодовое слово (CABAC и/или CAVLC)
Примечание
TS0
O
O
1
двумерное преобразование
TS1
O
-
01
одномерное преобразование
TS2
-
O
001
одномерное преобразование
TS3
-
-
000
Отсутствие преобразования
В таблице 1 TS0 представляет собой двумерный (2D) режим преобразования. TS1 представляет собой режим горизонтального преобразования, а TS2 – режим вертикального преобразования. TS3 представляет собой режим отсутствия преобразования. В данном случае и горизонтальный режим преобразования, и вертикальный режим преобразования могут соответствовать одномерному (1D) режиму преобразования.
Например, согласно таблице 1, если двумерный (2D) режим преобразования появляется наиболее часто, то двумерному (2D) режиму преобразования можно назначить кодовое слово "1". Аналогично, в соответствии с частотой появления режима, режиму горизонтального преобразования можно назначить кодовое слово "01", режиму вертикального преобразования можно назначить кодовое слово "001", а режиму отсутствия преобразования – кодовое слово "000".
Даже если, в зависимости от режимов пропуска преобразования, вертикальное преобразование и/или горизонтальное преобразование будут пропущены, можно использовать ту же матрицу квантизации, что и в двумерном (2D) режиме преобразования. Кроме того, устройство для кодирования и устройство для декодирования могут выполнять масштабирование в отношении значений в рядах и/или столбцах, для которых требуется пропуск преобразования, что можно выразить формулой 1.
Формула 1
y = (x*масштаб + смещение) >> сдвиг
Здесь 'x' может быть элементом в ряду или столбце, пропущенном при преобразовании, 'y' может представлять собой масштабированное значение, "масштаб" может означать коэффициент масштабирования, "смещение" может представлять собой значение смещения, примененного при масштабировании, а "сдвиг" – значение битового сдвига, примененного при масштабировании. При этом "смещение" и "сдвиг" могут иметь те же величины, что и значения смещения и битового сдвига, применяемые в случае отсутствия пропуска преобразования, например, в двумерном (2D) режиме преобразования.
Кроме того, в формуле 1 коэффициент масштабирования, применяемый к устройству для кодирования и устройству для декодирования, можно определить в зависимости от размера TU. В одном из примеров осуществления коэффициент масштабирования согласно размеру TU можно устанавливать так, как приведено в таблице 2.
Таблица 2
N
4
8
16
32
Масштаб
128
181
256
362
В данном случае N (и/или NxN) может представлять собой размер TU, а масштаб может представлять собой коэффициент масштабирования. Согласно таблице 2, если TU имеет размер 8x8, то можно применить значение коэффициента масштабирования равное 181.
Хотя раскрытые выше варианты осуществления демонстрируют применение режима пропуска преобразования к целевому блоку преобразования, содержащему яркостные компоненты (ниже "блок яркостных компонентов), настоящее изобретение этим не ограничивается. В другом случае, когда преобразование выполняется в отношении целевого блока преобразования, содержащего цветностные компоненты (ниже "блок цветностных компонентов"), можно определить режим пропуска преобразования для целевого блока преобразования и выполнить преобразование на основе определенного таким образом режима пропуска преобразования.
В одном из примеров осуществления предполагается, что в качестве режима предсказания для блока цветностных компонентов используется режим межкадрового предсказания. Характеристики блока цветностных компонентов можно связать с характеристиками блока яркостных компонентов, соответствующего блоку цветностных компонентов. Следовательно, в данном случае устройство для кодирования и устройство для декодирования могут применять для блока цветностных компонентов тот же режим пропуска преобразования, что и для блока яркостных компонентов, соответствующего блоку цветностных компонентов. Таким образом, режим пропуска преобразования для блока цветностных компонентов можно определить как идентичный режиму пропуска преобразования для блока яркостных компонентов, соответствующего блоку цветностных компонентов.
Когда режим пропуска преобразования блока яркостных компонентов применяется к блоку цветностных компонентов, соответствующему блоку яркостных компонентов, устройство для кодирования может не передавать информацию о режиме пропуска преобразования для блока цветностных компонентов (например, индекс режима пропуска преобразования) в устройство для декодирования. Следовательно, в данном случае можно повысить эффективность кодирования/декодирования.
В другом примере осуществления, когда в качестве режима предсказания для блока цветностных компонентов применяется режим внутрикадрового предсказания, устройство для кодирования и устройство для декодирования могут определять режим пропуска преобразования блока цветностных компонентов на основе направления предсказания (и/или режима внутрикадрового предсказания) блока цветностных компонентов. Например, устройство для кодирования и устройство для декодирования могут использовать различные способы определения режимов-кандидатов на режим пропуска преобразования и различные способы назначения кодового слова режиму пропуска преобразования на основе направления предсказания (и/или режима внутрикадрового преобразования) блока цветностных компонентов, что будет раскрыто ниже со ссылкой на фиг. 6
На фиг. 6 приведен способ определения режима пропуска преобразования блока цветностных компонентов на основе режима внутрикадрового предсказания, соответствующего блоку цветностных компонентов.
Как было раскрыто выше со ссылкой на фиг. 1 и фиг. 2, устройство для кодирования и устройство для декодирования могут формировать блок предсказания путем выполнения внутрикадрового предсказания на основе информации о пикселях, содержащихся в текущем изображении. Внутрикадровое предсказание можно выполнять согласно режиму внутрикадрового предсказания для целевого блока предсказания. Режимы внутрикадрового предсказания могут включать режим DC, планарный режим, вертикальный режим, горизонтальный режим и угловой режим. Режим DC и планарный режим являются ненаправленными режимами, а остальные режимы являются направленными режимами. При этом угловой режим может представлять собой какой-либо направленный режим предсказания кроме вертикального режима и горизонтального режима.
На фиг. 6 показано направление предсказания для режима внутрикадрового предсказания и значение режима, назначенное каждому направлению предсказания. Как показано на фиг. 6, режимы внутрикадрового предсказания могут соответственно иметь различные направления предсказания. Числа, назначенные соответствующим режимам внутрикадрового предсказания, можно назвать значениями режима.
Согласно фиг. 6 режим внутрикадрового предсказания со значением режима равным 0 можно назвать планарным режимом. В планарном режиме опорные пиксели, используемые для предсказания целевых пикселей предсказания, можно определить на основе позиций целевых пикселей предсказания в целевом блоке предсказания, а значение целевого пикселя предсказания можно определить на основе определенных таким образом опорных пикселей. Режим внутрикадрового предсказания со значением режима равным 1 можно назвать режимом DC, в котором блок предсказания можно сформировать с использованием среднего значения пикселей, соседних по отношению к целевому блоку предсказания. В режиме внутрикадрового предсказания со значением режима равным 26 предсказание в вертикальном направлении можно выполнять на основе значений пикселей соседних блоков. Таким образом, режим внутрикадрового предсказания со значением режима равным 26 можно также назвать вертикальным режимом. В режиме внутрикадрового предсказания со значением режима равным 10 (горизонтальный режим) предсказание в горизонтальном направлении можно выполнять на основе значений пикселей соседних блоков. Таким образом, режим внутрикадрового предсказания со значением режима равным 10 можно также назвать горизонтальным режимом. В прочих режимах предсказание можно выполнять на основе значений пикселей соседних блоков согласно соответствующим углам.
В то же время, поскольку яркостные компоненты и цветностные компоненты изображения связаны друг с другом, режим внутрикадрового предсказания цветностных компонентов можно закодировать на основе режима предсказания яркостных компонентов, соответствующих цветностным компонентам, и устройство для декодирования может определять режим предсказания цветностных компонентов на основе режима предсказания яркостных компонентов. Таким образом, информация о режиме предсказания цветностных компонентов, передаваемая из устройства для кодирования в устройство для декодирования, может не являться режимом предсказания цветностных компонентов как таковым, а представлять собой значение, используемое для определения режима предсказания цветностных компонентов на основе взаимосвязи с режимом предсказания яркостных компонентов. В таблице 3 приведены режимы предсказания цветностных компонентов, определяемые на основе значения режима предсказания яркостных компонентов и значения, переданного из устройства для кодирования в устройство для декодирования.
Таблица 3
intra_chroma_pred_mode[xB][yB]
IntraPredMode[xB][yB]
0
26
10
1
X (0<=X<34)
0
34
0
0
0
0
1
26
34
26
26
26
2
10
10
34
10
10
3
1
1
1
34
1
4
0
26
10
1
x
Согласно таблице 3 значение, передаваемое из устройства для кодирования в устройство для декодирования, может представлять собой значение, назначаемое параметру intra_chroma_pred_mode. IntraPredMode может представлять собой режим внутрикадрового предсказания яркостных компонентов. Например, когда intra_chroma_pred_mode имеет значение 2, а IntraPredMode имеет значение 26, значение режима внутрикадрового предсказания цветностных компонентов может быть равно 10. При этом значение intra_chroma_pred_mode и IntraPredMode не ограничивается приведенным здесь описанием.
В таблице 3, когда intra_chroma_pred_mode имеет значение 4, режим предсказания цветностных компонентов можно назвать режимом DM. Здесь режим DM может означать режим внутрикадрового предсказания, в котором для цветностных компонентов используется тот же режим предсказания, что и для яркостных компонентов.
Кроме того, устройство для кодирования и устройство для декодирования могут также использовать режим LM для блока цветностных компонентов в дополнение к режимам внутрикадрового предсказания, приведенным в таблице 3. Здесь под режимом LM понимается режим внутрикадрового предсказания, в котором предсказанное значение пикселя цветностных компонентов определяется согласно значению пикселя яркостных компонентов. Таким образом в режиме LM направленность изображения можно не учитывать.
В то же время, как было раскрыто выше, устройство для кодирования и устройство для декодирования могут определять режим пропуска преобразования блока цветностных компонентов на основе направления предсказания (и/или режима внутрикадрового предсказания) блока цветностных компонентов.
В одном из примеров осуществления, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой режим DM, устройство для кодирования и устройство для декодирования могут использовать для блока цветностных компонентов тот же режим пропуска преобразования, что и для блока яркостных компонентов, соответствующего блоку цветностных компонентов. Таким образом, режим пропуска преобразования блока цветностных компонентов можно определить, как идентичный режиму пропуска преобразования блока яркостных компонентов, соответствующего блоку цветностных компонентов, поскольку для цветностных компонентов в режиме DM можно использовать тот же режим предсказания, что и для яркостных компонентов.
Кроме того, вероятность появления каждого из режимов пропуска преобразования может изменяться согласно режиму внутрикадрового преобразования (и/или направлению предсказания) элемента PU, соответствующего блоку цветностных компонентов. Таким образом, режиму пропуска преобразования (и/или индексу режима пропуска преобразования) можно назначать различные кодовые слова в зависимости от режима внутрикадрового преобразования (и/или направления предсказания) PU, соответствующего блоку цветностных компонентов. Таким образом, кодовое слово, назначаемое режиму пропуска преобразования (и/или индексу режима пропуска преобразования), можно определять в зависимости от режима внутрикадрового преобразования (и/или направления предсказания) PU, соответствующего блоку цветностных компонентов.
В одном из вариантов осуществления, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой горизонтальный режим, режим горизонтального преобразования может иметь наименьшую вероятность появления среди множества режимов пропуска преобразования. Таким образом, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой горизонтальный режим, то в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования, режим вертикального преобразования и режим отсутствия преобразования, но не режим горизонтального преобразования. В этом случае к блоку цветностных компонентов можно применять один из следующих режимов пропуска преобразования: двумерный (2D) режим преобразования, режим вертикального преобразования и режим отсутствия преобразования. В таблице 4 раскрывается способ назначения кодовых слов режимам пропуска преобразования при использовании в качестве режимов-кандидатов на режим пропуска преобразования двумерного (2D) режима преобразования, режима вертикального преобразования и режима отсутствия преобразования согласно примеру осуществления.
Таблица 4
TSM
Преобразование рядов
Преобразование столбцов
Кодовое слово (CABAC и/или CAVLC)
Примечание
TS0
O
O
0
двумерное преобразование
TS2
-
O
10
одномерное преобразование
TS3
-
-
11
отсутствие преобразования
В таблице 4 TS0 представляет собой двумерный (2D) режим преобразования, TS2 представляет собой режим вертикального преобразования, а TS3 – режим отсутствия преобразования. В данном случае режим вертикального преобразования может соответствовать одномерному (1D) режиму преобразования. Согласно таблице 4, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой горизонтальный режим, в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования, режим вертикального преобразования и режим отсутствия преобразования.
В другом варианте осуществления, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой вертикальный режим, режим вертикального преобразования может иметь наименьшую вероятность появления среди множества режимов пропуска преобразования. Таким образом, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой вертикальный режим, то в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования, режим горизонтального преобразования и режим отсутствия преобразования, но не режим вертикального преобразования. В этом случае к блоку цветностных компонентов можно применять один из следующих режимов пропуска преобразования: двумерный (2D) режим преобразования, режим горизонтального преобразования и режим отсутствия преобразования. В таблице 5 раскрывается способ назначения кодовых слов режимам пропуска преобразования при использовании в качестве режимов-кандидатов на режим пропуска преобразования двумерного (2D) режима преобразования, режима горизонтального преобразования и режима отсутствия преобразования согласно примеру осуществления.
Таблица 5
TSM
Преобразование рядов
Преобразование столбцов
Кодовое слово (CABAC и/или CAVLC)
Примечание
TS0
O
O
0
двумерное преобразование
TS1
O
-
10
одномерное преобразование
TS3
-
-
11
отсутствие преобразования
В таблице 5 TS0 представляет собой двумерный (2D) режим преобразования, TS2 представляет собой режим горизонтального преобразования, а TS3 – режим отсутствия преобразования В данном случае горизонтальный режим преобразования может соответствовать одномерному (1D) режиму преобразования. Согласно таблице 5, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой вертикальный режим, в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования, режим горизонтального преобразования и режим отсутствия преобразования.
В другом примере осуществления, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой режим DC и/или режим LM, направленность изображения, соответствующего блоку цветностных компонентов, можно не учитывать. Таким образом, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой режим DC и/или режим LM, то в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования и режим отсутствия преобразования, но не режим горизонтального преобразования и не режим вертикального преобразования. В этом случае к блоку цветностных компонентов можно применять один из следующих режимов пропуска преобразования: двумерный (2D) режим преобразования и режим отсутствия преобразования. В таблице 6 раскрывается способ назначения кодовых слов режимам пропуска преобразования при использовании в качестве режимов-кандидатов на режим пропуска преобразования двумерного (2D) режима преобразования и режима отсутствия преобразования согласно примеру осуществления.
Таблица 6
TSM
Преобразование рядов
Преобразование столбцов
Кодовое слово (CABAC и/или CAVLC)
Примечание
TS0
O
O
0
двумерное преобразование
TS3
-
-
1
отсутствие преобразования
В таблице 6 TS0 представляет собой двумерный (2D) режим преобразования, а TS3 представляет собой режим отсутствия преобразования. Согласно таблице 6, когда режим внутрикадрового предсказания, соответствующий блоку цветностных компонентов, представляет собой режим DC и/или режим LM, то в качестве режимов-кандидатов на режим пропуска преобразования можно использовать следующие режимы: двумерный (2D) режим преобразования и режим отсутствия преобразования.
В вышеописанных вариантах осуществления процесс кодирования режима пропуска преобразования (и/или индекса режима пропуска преобразования) можно пропустить или сократить количество битов, используемых для кодирования режимов пропуска преобразования (и/или индексов режима пропуска преобразования). Это позволит повысить эффективность кодирования и декодирования.
На фиг. 7 показана диаграмма, схематически иллюстрирующая способ кодирования согласно примеру осуществления настоящего изобретения.
Как видно из фиг. 7, устройство для кодирования может формировать разностный блок, соответствующий текущему блоку (S710). Как было раскрыто выше, устройство для кодирования может выполнять межкадровое предсказание и/или внутрикадровое предсказание в отношении текущего блока, формируя таким образом блок предсказания, соответствующий текущему блоку. В этом случае устройство для кодирования может формировать разностный сигнал, то есть, разностный блок, путем определения разницы в элементах пикселей между значением пикселя текущего блока и значением пикселя блока предсказания.
Как видно из фиг. 7, устройство для кодирования может преобразовывать разностный сигнал, то есть, разностный блок (S720). Устройство для кодирования может преобразовывать разностный сигнал, используя ядро преобразования, при этом размер ядра преобразования может составлять 2*2, 4*4, 8*8, 16*16, 32*32 или 64*64. В одном из примеров осуществления можно вычислить коэффициент преобразования, C, для блока n*n с помощью формулы 2.
Формула 2
C(n,n)=T(n,n) x B(n,n) x T(n,n)T
Здесь C(n,n) представляет собой матрицу коэффициентов преобразования размером n*n, T(n,n) представляет собой матрицу ядра преобразования размером n*n, а B(n,n) представляет собой матрицу для разностного блока размером n*n.
Когда коэффициент преобразования формируется путем преобразования, устройство для кодирования может квантизовывать сформированный коэффициент преобразования.
С помощью RDO можно определить, что именно передается, разностный блок или коэффициент преобразования. Если предсказание выполнено правильно, то разностный блок, т.е., разностный сигнал, можно передавать как таковой, без кодирования преобразования. Устройство для кодирования может сравнивать функции стоимости до/после кодирования преобразования и выбирать способ, предполагающий минимальную стоимость. В этом случае устройство для кодирования может передавать информацию о типе сигнала (разностный сигнал или коэффициент преобразования), соответствующего текущему блоку, в устройство для декодирования.
Подробное описание процессов преобразования было раскрыто в описанных выше вариантах осуществления и поэтому здесь будет опущено.
Согласно фиг. 7 выше устройство для кодирования может сканировать коэффициент преобразования (S730). В этом случае, как было раскрыто выше, устройство для кодирования может переупорядочивать двумерный блок квантизированных коэффициентов преобразования, преобразуя его в одномерный вектор коэффициентов преобразования, путем сканирования. Здесь устройство для кодирования может изменять порядок сканирования на основе стохастической статистики для повышения эффективности энтропийного кодирования.
При выполнении сканирования устройство для кодирования может выполнять энтропийное кодирование сканированных коэффициентов преобразования и дополнительной информации (например, информации о режиме межкадрового предсказания текущего блока) (S740). Кодированную информацию можно организовать в виде сжатого битового потока и передавать через уровень сетевой абстракции (NAL) или сохранять.
Несмотря на то, что способ кодирования описан как содержащий последовательность этапов согласно диаграмме на фиг. 7, настоящее изобретение этим не ограничивается. Некоторые из этапов, показанных на фиг. 7, можно выполнять в порядке, отличном от описанного выше, или параллельно. Кроме того, между показанными этапами способа можно добавить дополнительные этапы, или исключить один или несколько этапов из показанного на фиг. 7 способа, не выходя за рамки объема охраны настоящего изобретения.
На фиг. 8 показана диаграмма, схематически иллюстрирующая способ декодирования согласно примеру осуществления настоящего изобретения.
Как видно из фиг. 8, устройство для декодирования может осуществлять энтропийное декодирование битового потока, принятого из устройства для кодирования (S810). Например, устройство для декодирования может определять режим предсказания и разностный сигнал текущего блока на основе таблицы кодирования переменной длины (VLC, variable length coding) и/или CABAC. Устройство для декодирования может получать информацию о том, является ли принятый сигнал, соответствующий текущему блоку, разностным сигналом или коэффициентом преобразования, и получать разностный сигнал или одномерный (1D) вектор коэффициентов преобразования для текущего блока. Если принятый битовый поток содержит дополнительную информацию, необходимую для декодирования, то в отношении этой дополнительной информации можно выполнить энтропийное декодирование.
Как показано на фиг. 8, устройство для декодирования может выполнять обратное сканирование подвергнутого энтропийному декодированию разностного сигнала или коэффициентов преобразования для формирования двумерного блока (S820). В этом случае можно сформировать разностный сигнал как разностный блок, и сформировать коэффициенты преобразования как двумерный блок коэффициентов преобразования. После формирования коэффициентов преобразования устройство для декодирования может деквантизировать сформированные коэффициенты преобразования.
Согласно фиг. 8 выше, устройство для декодирования может выполнять обратное преобразование деквантизированных коэффициентов преобразования, формируя таким образом разностный блок (S830). Обратное преобразование можно выразить с помощью формулы 3.
Формула 3
B(n,n)=T(n,n) x C(n,n) x T(n,n)T
Обратное преобразование уже было раскрыто выше, и поэтому его описание в данном случае будет опущено.
После формирования разностного блока устройство для декодирования может сформировать воссозданный блок на основе сформированного разностного блока (S840). Как было раскрыто выше, устройство для декодирования может выполнять межкадровое предсказание и/или внутрикадровое предсказание в отношении целевого блока декодирования, формируя таким образом блок предсказания, соответствующий целевому блоку декодирования. Здесь устройство для декодирования может добавлять значение пикселя блока предсказания и значение пикселя разностного блока на пиксель, формируя таким образом воссозданный блок.
Несмотря на то, что способ декодирования описан как содержащий последовательность этапов согласно диаграмме на фиг. 8, настоящее изобретение этим не ограничивается. Некоторые из этапов, показанных на фиг. 8, можно выполнять в порядке, отличном от описанного выше, или параллельно. Кроме того, между этапами, показанными на диаграмме, можно добавить дополнительные этапы, или исключить один или более этапов из показанного на фиг. 8 способа, не выходя за рамки объема охраны настоящего изобретения.
Несмотря на то, что способы описаны как содержащие последовательность этапов или блоков согласно диаграммам, приведенным при раскрытии вышеописанных вариантов осуществления, настоящее изобретение не ограничивается вышеописанными последовательностями этапов. Некоторые из этих этапов можно выполнять в порядке, отличном от приведенного выше, или одновременно. Кроме того, специалистам в данной области должно быть понятно, что этапы, проиллюстрированные с помощью диаграмм, не являются единственно возможными, и в них можно добавить дополнительные этапы или исключить из них один или более этапов без изменения объема охраны настоящего изобретения.
Настоящее изобретение раскрыто с опорой на примеры вариантов осуществления, при этом описанные выше примеры вариантов осуществления содержат различные аспекты примеров. Несмотря на то, что при иллюстрировании различных аспектов настоящего изобретения могли быть упомянуты не все возможные сочетания, специалистам в данной области должно быть ясно, что в эти примеры реализаций можно внести различные изменения, модификации и альтернативные решения, не затрагивающие принципов и сущности настоящего изобретения, объем которого определен в прилагаемой формуле и ее эквивалентах.