Способ декодирования видеосигнала
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования/декодирования видеосигнала. Техническим результатом является повышение эффективности декодирования видеосигнала. Предложен способ декодирования видеосигнала. Способ содержит этап, на котором получают разностные коэффициенты преобразования, относящиеся к текущему блоку, из видеосигнала. Далее согласно способу получают прошедшие обратное квантование разностные коэффициенты преобразования посредством выполнения обратного квантования разностных коэффициентов преобразования. Осуществляют получение на основании определенного таким образом режима обхода при преобразовании разностного блока, относящегося к текущему блоку, посредством использования прошедших обратное квантование разностных коэффициентов преобразования текущего блока. При этом, если определенный таким образом режим обхода при преобразовании является режимом двумерного преобразования, разностный блок, относящийся к текущему блоку, получают посредством выполнения обратного преобразования прошедших обратное квантование разностных коэффициентов преобразования, причем обратное преобразование выполняют с использованием дискретного косинусного преобразования (DCT) или дискретного синусного преобразования (DST). 3 з.п. ф-лы, 11 ил., 5 табл.
Реферат
НАСТОЯЩАЯ ЗАЯВКА ВЫДЕЛЕНА ИЗ ЗАЯВКИ № 2014117487 НА ВЫДАЧУ ПАТЕНТА РФ НА ИЗОБРЕТЕНИЕ, ПОДАННОЙ 17.10.2012, С ИСПРАШИВАНИЕМ ПРИОРИТЕТА ПО ДАТЕ ПОДАЧИ ПЕРВОЙ ЗАЯВКИ KR 10-2011-0106107, ПОДАННОЙ В ПАТЕНТНОЕ ВЕДОМСТВО КОРЕИ 17.10.2011.
Область техники, к которой относится изобретение
Настоящее изобретение относится к обработке изображений, и, более конкретно, к способу декодирования видеосигнала.
Уровень техники
В последнее время выросла потребность в использовании видеоизображений с большим разрешением и высоким качеством, например, видеоизображений высокого (high-definition, HD) и сверхвысокого (ultrahigh-definition, UHD) разрешений.
По мере повышения разрешения и качества изображений возрастает и объем видеоданных. Соответственно, по сравнению с обычными способами обработки видеоданных, при предоставлении высококачественных видеоданных возрастают затраты на их передачу и хранение. Для устранения указанных недостатков, сопровождающих рост разрешения и качества видеоданных, могут использоваться высокоэффективные способы сжатия видеоданных.
В качестве способов сжатия видеоданных используются различные схемы, например межкадровое предсказание, использующее элементы данных изображений, отличных от текущего изображения, внутрикадровое предсказание, использующее только элементы данных из одного декодированного сегмента, и энтропийное кодирование/декодирование, в котором более часто встречающимся сигналам назначают более короткие коды.
Раскрытие изобретения
Недостаток, устраняемый изобретением.
В аспекте настоящего изобретения предлагается способ декодирования видеосигнала, дающий возможность повысить эффективность декодирования видеоданных.
Техническое решение.
В варианте осуществления настоящего изобретения предлагается способ декодирования видеосигнала. Способ может включать получение разностных коэффициентов преобразования, относящихся к текущему блоку, из видеосигнала; получение прошедших обратное квантование разностных коэффициентов преобразования посредством выполнения обратного квантования разностных коэффициентов преобразования; определение на основании информации о режиме обхода при преобразовании, указывающей режим обхода при преобразовании для текущего блока, режима обхода при преобразовании для текущего блока из числа одного или более возможных режимов обхода при преобразовании, при этом один или более возможный режим обхода при преобразовании включает по меньшей мере один режим из числа режима двумерного преобразования, режима горизонтального предсказания, режима вертикального предсказания или режима без преобразования; и получение на основании определенного таким образом режима обхода при преобразовании разностного блока, относящегося к текущему блоку, посредством использования прошедших обратное квантование разностных коэффициентов преобразования текущего блока, при этом, если определенный таким образом режим обхода при преобразовании является режимом двумерного преобразования, разностный блок, относящийся к текущему блоку, можно получить посредством выполнения обратного преобразования прошедших обратное квантование разностных коэффициентов преобразования, причем обратное преобразование выполняют с использованием дискретного косинусного преобразования (DCT) или дискретного синусного преобразования (DST), а если определенный таким образом режим обхода при преобразовании является режимом без преобразования, разностный блок можно получить посредством масштабирования прошедших обратное квантование разностных коэффициентов преобразования с использованием заранее определенного значения.
Масштабирование может быть выполнено посредством использования операции битового сдвига.
Индекс режима обхода при преобразовании можно получить для элемента преобразования, при этом элемент преобразования представляет собой элемент, в котором для текущего блока выполняется обратное преобразование.
В режиме двумерного преобразования может быть выполнено как горизонтальное преобразование, так и вертикальное преобразование, в режиме горизонтального преобразования может быть выполнено только горизонтальное преобразование без вертикального преобразования, в режиме вертикального преобразования может быть выполнено только вертикальное преобразование без горизонтального преобразования, в режиме без преобразования не выполняются ни горизонтальное преобразование, ни вертикальное преобразование.
Технический результат.
Согласно способу декодирования видеосигнала настоящего изобретения может быть повышена эффективность декодирования видеоданных.
Краткое описание чертежей
На фиг. 1 показана функциональная схема, иллюстрирующая конфигурацию устройства для кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 2 показана функциональная схема, иллюстрирующая конфигурацию устройства для декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 3 схематично показан способ преобразования на основании режима преобразования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 4 показана блок-схема, схематично иллюстрирующую операцию преобразования, выполняемую устройством для кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 5 показана блок-схема, схематично иллюстрирующая операцию обратного преобразования, выполняемую устройством для декодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 6 показан способ определения возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в межкадровом режиме.
На фиг. 7 показан способ определения возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в режиме SDIP.
На фиг. 8 показан способ назначения кодового слова режиму обхода при преобразовании в соответствии с направлениями режима внутрикадрового предсказания.
На фиг. 9 схематично показан способ сканирования коэффициента преобразования на основании режима обхода при преобразовании в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 10 показана блок-схема, схематично иллюстрирующая способ кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 11 показана блок-схема, схематично иллюстрирующая способ декодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Осуществление изобретения
Хотя с целью пояснения различных особенностей и функций устройства для кодирования видеоданных и устройства для декодирования видеоданных элементы на чертежах показаны независимыми, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми для удобства описания, но для выполнения функций два или более элементов могут быть объединены в один элемент, либо один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/ или один элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.
Далее со ссылкой на сопровождающие чертежи подробно описываются примерные варианты осуществления настоящего изобретения. Одинаковые обозначения позиций на чертежах относятся к аналогичным элементам, и повторное описание аналогичных элементов не приводится.
На фиг. 1 показана функциональная схема, иллюстрирующая конфигурацию устройства для кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 1, устройство для кодирования видеоданных может содержать модуль 110 разбиения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, модуль 135 квантования (квантизации), модуль 140 деквантования (деквантизации), модуль 145 обратного преобразования, модуль 150 фильтрации, память (запоминающее устройство) 155, модуль 160 переупорядочения и модуль 165 энтропийного кодирования.
Модуль 110 разбиения изображения может разбивать входное изображение на один или более элементов кодирования. Элемент кодирования (coding unit, CU, ЭК) представляет собой элемент изображения, над которым устройство для кодирования видеоданных выполняет операцию кодирования; ЭК может быть последовательно разбит на более мелкие ЭК до некоторой глубины в соответствии со структурой дерева квадрантов. ЭК может иметь размер 8 x 8, 16 x 16, 32 x 32 и 64 x 64. Элемент кодирования с наибольшим размером называется наибольшим элементом кодирования (largest coding unit, LCU), а элемент кодирования с наименьшим размером называется наименьшим элементом кодирования (smallest coding unit, SCU).
Модуль 110 разбиения изображения может разбивать ЭК и формировать элемент предсказания (prediction unit, PU, ЭП) и элемент преобразования (transform unit, TU). ЭП может быть меньше, чем ЭК, или может совпадать с ЭК, и не обязательно должен представлять собой квадратный блок, а может представлять собой прямоугольный блок.
Как правило, внутрикадровое предсказание может осуществляться с использованием блоков размером 2N*2N или N*N. Здесь N является натуральным числом, обозначающим количество пикселов, а обозначение 2N*2N или N*N может использоваться для представления размера ЭП (и/ или режима разбиения). Однако с целью повышения эффективности внутрикадрового предсказания при внутрикадровом предсказании на малом расстоянии (short distance intra prediction, SDIP) может использоваться не только ЭП размером 2N*2N, но и разделенный ЭП размером hN*2N/ 2N*hN (здесь h=1/2). При использовании ЭП размером hN*2N/ 2N*hN может быть лучше учтена направленность границы в блоке, и, соответственно, может быть снижена энергия сигнала ошибки предсказания, в результате чего можно снизить количество битов, необходимых для кодирования, и тем повысить эффективность кодирования.
Межкадровое предсказание может осуществляться с использованием блоков размером 2N*2N, 2N*N, N*2N или N*N. Здесь N является натуральным числом, обозначающим количество пикселов, а обозначение 2N*2N, 2N*N, N*2N или N*N может использоваться для представления размера ЭП (и/ или режима разбиения). Для повышения эффективности межкадрового предсказания межкадровое предсказание может осуществляться с использованием, в дополнение к ЭП размером 2N*2N, 2N*N, N*2N и N*N, ЭП с размером 2NxnU, 2NxnD, nLx2N и nRx2N. Здесь обозначения 2NxnU, 2NxnD, nLx2N и nRx2N могут использоваться для представления размера ЭП (и/ или режима разбиения). В режимах разбиения 2NxnU и 2NxnD ЭП может иметь размер 2Nx(1/2)N или 2Nx(3/2)N, а в режимах разбиения nLx2N и nRx2N ЭП может иметь размер (1/2)Nx2N или (3/2)Nx2N.
В режиме межкадрового предсказания используется модуль 120 межкадрового предсказания, выполненный с возможностью выполнять измерение перемещения (motion estimation, ME) и выполнять компенсацию перемещения (motion compensation, MC). Модуль 120 межкадрового предсказания выполнен с возможностью формировать блок предсказания на основании информации о по меньшей мере одном из предшествующих и последующих кадров текущего изображения.
Модуль 120 межкадрового предсказания может выполнять измерение перемещения на основании разделенного целевого блока предсказания и по меньшей мере одного опорного блока, хранимого в памяти 155. В результате измерения перемещения модуль 120 межкадрового предсказания может формировать информацию о перемещении, содержащую вектор перемещения (motion vector, MV), индекс опорного блока и режим предсказания.
Затем, используя информацию о перемещении и опорный блок, модуль 120 межкадрового предсказания может выполнять компенсацию перемещения. При этом модуль 120 межкадрового предсказания может формировать из опорного блока и выдавать блок предсказания, соответствующий входному блоку.
В режиме внутрикадрового предсказания используется модуль 125 внутрикадрового предсказания, выполненный с возможностью формировать блок предсказания на основании информации о пикселах текущего изображения. В режиме внутрикадрового предсказания модуль 125 внутрикадрового предсказания может выполнять предсказание для текущего блока на основании целевого блока предсказания и восстановленного блока, ранее восстановленного посредством преобразования и квантования. При этом восстановленный блок может представлять собой восстановленное изображение, которое не подвергалось обработке в модуле 150 фильтрации.
В описанных выше режиме межкадрового предсказания и режиме внутрикадрового предсказания по целевому блоку предсказания может осуществляться предсказание и в результате может формироваться блок предсказания. При этом путем нахождения разности между целевым блоком предсказания и сформированным блоком предсказания может формироваться разностный блок.
Модуль 130 преобразования выполнен с возможностью поэлементно на уровне элементов преобразования преобразовывать разностный блок и формировать коэффициент преобразования. Элемент преобразования может иметь древовидную структуру с наибольшим и наименьшим размерами. О факте разбиения текущего блока на субблоки каждым элементом преобразования может сообщаться посредством флага. Модуль 130 преобразования выполнен с возможностью выполнять преобразование, используя дискретное косинусное преобразование (discrete cosine transform, DCT) и/ или дискретное синусное преобразование (discrete sine transform, DST).
Модуль 135 квантования (квантизации) выполнен с возможностью выполнять квантование значений, выдаваемых из модуля 130 преобразования. Коэффициент квантования может меняться соответственно конкретному блоку или значимости изображения. Прошедший квантование коэффициент преобразования может передаваться в модуль 160 переупорядочения и в модуль 140 деквантования (деквантизации).
Модуль 160 переупорядочения выполнен с возможностью с целью повышения эффективности энтропийного кодирования переупорядочивать путем сканирования двумерный (2D) блок прошедших квантование коэффициентов преобразования в одномерный (1D) вектор коэффициентов преобразования. С целью повышения эффективности энтропийного кодирования модуль 160 переупорядочения может менять порядок сканирования на основании стохастической статистики.
Модуль 165 энтропийного кодирования выполнен с возможностью выполнять энтропийное кодирование значений, выдаваемых модулем 160 переупорядочения. При энтропийном кодировании чаще встречающемуся значению синтаксического элемента может быть назначено кодовое слово с меньшим количеством битов, а реже встречающемуся значению синтаксического элемента может быть назначено кодовое слово с большим количеством битов. Указанным образом с целью повышения эффективности сжатия при кодировании видеоданных может быть сокращен размер строки битов для символов, подлежащих кодированию. Для энтропийного кодирования могут использоваться различные способы кодирования, например, экспоненциальное кодирование Голомба, контекстно-адаптивное кодирование с переменной длиной (context-adaptive variable length coding, CAVLC) и/ или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC). Кодированная информация может преобразовываться в сжатый битовый поток и сохраняться либо передаваться через абстрактный уровень сети (network abstraction layer, NAL).
Модуль 140 деквантования (деквантизации) выполнен с возможностью выполнять деквантование коэффициентов преобразования, квантование которых выполнено модулем 135 квантования (квантизации), а модуль 145 обратного преобразования выполнен с возможностью формировать восстановленный разностный блок для обратного преобразования прошедших деквантование коэффициентов преобразования. Восстановленный разностный блок может быть объединен с блоком предсказания, сформированным модулем 120 межкадрового предсказания или модулем 125 внутрикадрового предсказания, с целью формирования восстановленного блока. Восстановленный блок может быть передан в модуль 125 внутрикадрового предсказания и в модуль 150 фильтрации.
Модуль 150 фильтрации выполнен с возможностью фильтровать восстановленный разностный блок, используя фильтр подавления блочности, фильтр с адаптивным сдвигом отсчетов (sample adaptive offset, SAO) и/ или адаптивный петлевой фильтр (adaptive loop filter, ALF). Фильтр подавления блочности выполнен с возможностью фильтровать восстановленный блок таким образом, чтобы устранялись искажения на границах между блоками, возникающие вследствие кодирования и декодирования. Фильтрация SAO представляет собой операцию петлевой фильтрации, выполняемую над разностным блоком, получаемым после фильтра подавления блочности, с целью попиксельного восстановления разности сдвига относительно исходного изображения. В SAO могут использоваться режимы полосового сдвига и краевого сдвига. При полосовом сдвиге пикселы распределяют по 32 диапазонам в соответствии с их интенсивностью, а затем применяют сдвиги к пикселам, попавшим в центральную группу, содержащую 16 диапазонов, и в две крайние группы, содержащие в сумме 16 диапазонов. ALF выполнен с возможностью выполнять фильтрацию так, чтобы минимизировать ошибку между целевым блоком предсказания и окончательно восстановленным блоком. ALF может выполнять фильтрацию на основании значения, получаемого путем сравнения восстановленного блока, прошедшего фильтрацию в фильтре подавления блочности, с текущим целевым блоком предсказания, а информация о коэффициентах фильтра ALF может записываться в заголовок сегмента и передаваться из устройства для кодирования в устройство для декодирования.
Память 155 выполнена с возможностью хранить окончательно восстановленный блок, прошедший модуль 150 фильтрации, и указанный окончательно восстановленный блок может быть передан в модуль 120 межкадрового предсказания, выполняющий межкадровое предсказание.
На фиг. 2 показана функциональная схема, иллюстрирующая конфигурацию устройства для декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения. Как показано на фиг. 2, устройство для декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантования (деквантизации), модуль 225 обратного преобразования, модуль 230 межкадрового предсказания, модуль 235 внутрикадрового предсказания, модуль 240 фильтрации и память (запоминающее устройство) 245.
Модуль 210 энтропийного декодирования выполнен с возможностью принимать сжатый битовый поток из абстрактного уровня сети. Модуль 210 энтропийного декодирования выполнен с возможностью выполнять энтропийное декодирование принятого битового потока, а также выполнять энтропийное декодирование режима предсказания и информации о векторе перемещения, если битовый поток содержит режим предсказания и информацию о векторе перемещения. При использовании энтропийного декодирования чаще встречающемуся значению синтаксического элемента может быть назначено кодовое слово с меньшим количеством битов, а реже встречающемуся значению синтаксического элемента может быть назначено кодовое слово из большего количества битов. Таким образом, размер строки битов для символов, подлежащих кодированию, может быть снижен с целью повышения эффективности сжатия при кодировании видеоданных.
Прошедший энтропийное декодирование коэффициент преобразования или разностный сигнал могут быть переданы в модуль 215 переупорядочения. Модуль 215 переупорядочения выполнен с возможностью выполнять обратное сканирование декодированного коэффициента преобразования или разностный сигнал с целью формирования двумерного блока коэффициентов преобразования.
Модуль 220 деквантования (деквантизации) выполнен с возможностью выполнять деквантование переупорядоченных коэффициентов преобразования. Модуль 225 обратного преобразования выполнен с возможностью выполнять обратное преобразование прошедших деквантование коэффициентов преобразования с целью формирования разностного блока.
Разностный блок может быть объединен с блоком предсказания, сформированным модулем 230 межкадрового предсказания или модулем 235 внутрикадрового предсказания с целью формирования восстановленного блока. Восстановленный блок может быть передан в модуль 235 внутрикадрового предсказания и в модуль 240 фильтрации. Модуль 230 межкадрового предсказания и модуль 235 внутрикадрового предсказания выполняют такие же операции, что и модуль 120 межкадрового предсказания и модуль 125 внутрикадрового предсказания устройства для кодирования видеоданных, либо эквивалентные операции, поэтому описание указанных модулей здесь не приводятся.
Модуль 240 фильтрации выполнен с возможностью фильтровать восстановленный блок с использованием фильтра подавления блочности, SAO и/ или ALF. Фильтр подавления блочности может выполнять фильтрацию восстановленного блока с целью устранения искажений на границах между блоками, возникающих вследствие кодирования и декодирования. Фильтрация SAO может попиксельно применяться к восстановленному блоку, прошедшему фильтрацию в фильтре подавления блочности, с целью снижения отличия от исходного изображения. ALF может фильтровать восстановленный блок, используя SAO, так, чтобы минимизировать ошибку между целевым блоком предсказания и окончательно восстановленным блоком.
Память 245 может сохранять указанный окончательно восстановленный блок, выдаваемый модулем 240 фильтрации, а сохраненный восстановленный блок может передаваться в модуль 230 межкадрового предсказания, выполняющий межкадровое предсказание.
В дальнейшем изложении под блоком может пониматься элемент кодирования и декодирования видеоинформации. Таким образом, в данном раскрытии «блок» может означать элемент кодирования, элемент предсказания, элемент преобразования и т.п. Аналогично, под целевым блоком кодирования/ декодирования может обобщенно пониматься целевой блок преобразования/ обратного преобразования, если выполняется преобразование/ обратное преобразование; целевой блок предсказания, если выполняется предсказание; и т.п.
Как указано выше со ссылкой на фиг. 1 и 2, устройство для кодирования выполнено с возможностью выполнять преобразование над разностным блоком поэлементно на уровне элементов преобразования, а устройство для декодирования выполнено с возможностью выполнять обратное преобразование над прошедшими деквантование коэффициентами преобразования с целью формирования восстановленного разностного блока. В дальнейшем описании обратное преобразование иногда для удобства может называться просто преобразованием, что легко может быть понято специалистом обычного уровня в данной области техники.
Устройство для кодирования и устройство для декодирования выполнены с возможностью выполнять двумерное (2D) преобразование, в том числе вертикальное преобразование и горизонтальное преобразование. Однако если вертикальный и горизонтальный сигналы имеют существенно отличающиеся характеристики, то вертикальное преобразование или горизонтальное преобразование могут быть исключены. Кроме того, для малосодержательного сигнала может быть исключена вся операция преобразования. Такие способы преобразования могут упростить устройство для декодирования и повысить эффективность кодирования.
Далее режим преобразования, в котором используется как горизонтальное преобразование, так и вертикальное преобразование, называется режимом двумерного преобразования. Режим преобразования, в котором используется только горизонтальное преобразование без вертикального преобразования, называется режимом горизонтального преобразования, а режим преобразования, в котором используется только вертикальное преобразование без горизонтального преобразования, называется режимом вертикального преобразования. Режим преобразования, в котором не используется ни горизонтальное преобразование, ни вертикальное преобразование, называется режимом без преобразования. Здесь режим без преобразования также может называться режимом исключения преобразования.
На фиг. 3 схематично показан способ преобразования на основании режима преобразования в соответствии с примерным вариантом осуществления настоящего изобретения.
Квадратные блоки 310-340 на фиг. 3 представляют собой целевые блоки преобразования. Здесь целевыми блоками преобразования могут быть элементы преобразования и/ или элементы кодирования. Стрелки на блоках 310-330 могут означать направления преобразования.
Целевой блок 310 преобразования может подвергаться как вертикальному преобразованию, так и горизонтальному преобразованию. Соответственно, режим преобразования для блока 310 может соответствовать режиму двумерного преобразования. Целевой блок 320 преобразования может подвергаться только горизонтальному преобразованию без вертикального преобразования. Соответственно, режим преобразования для блока 320 может соответствовать режиму горизонтального преобразования. В этом случае, поскольку преобразование осуществляется над строками, но не над столбцами, способ преобразования в режиме горизонтального преобразования также может называться преобразованием только над строками. Целевой блок 330 преобразования может подвергаться только вертикальному преобразованию без горизонтального преобразования. Соответственно, режим преобразования для блока 330 соответствует режиму вертикального преобразования. В этом случае, поскольку преобразование осуществляется над столбцами, но не над строками, способ преобразования в режиме вертикального преобразования также может называться преобразованием только над столбцами. Целевой блок преобразования 340 может не подвергаться преобразованию. Соответственно, режимом преобразования для блока 340 является режим без преобразования.
Из числа вышеперечисленных режимов преобразования могут исключаться или могут не исключаться вертикальное преобразование и/ или горизонтальное преобразование. Данные режимы преобразования также могут совокупно называться режимом обхода при преобразовании (transform skip mode, TSM, РОП). Иными словами, в число режимов обхода при преобразовании могут входить режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим без преобразования. Режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и/ или режим без преобразования могут использоваться в качестве возможных режимов обхода при преобразовании для целевого блока преобразования.
В одном примерном варианте осуществления в качестве возможного режима обхода при преобразовании для целевого блока преобразования может использоваться по меньшей мере один режим из режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования. При этом к одному целевому блоку преобразования может быть применен один режим обхода при преобразовании, выбранный из числа возможных режимов обхода при преобразовании. Из числа возможных режимов обхода при преобразовании устройство для кодирования может выбирать режим обхода при преобразовании с наименьшим значением стоимости с точки зрения оптимизации по скорости передачи и искажениям (rate-distortion optimization, RDO). При этом устройство для кодирования может преобразовывать целевой блок преобразования, используя выбранный режим обхода при преобразовании. Иными словами, устройство для кодирования может применять к целевому блоку преобразования один режим обхода при преобразовании, выбранный из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования.
Кроме того, устройство для кодирования может кодировать информацию о выбранном режиме обхода при преобразовании и передавать указанную информацию в устройство для декодирования. Режим обхода при преобразовании может выбираться для каждого элемента кодирования или элемента преобразования. Если при этом режим обхода при преобразовании выбирается для каждого элемента кодирования, то указанная информация может передаваться для каждого элемента кодирования. Если режим обхода при преобразовании выбирается для каждого элемента преобразования, то указанная информация может передаваться для каждого элемента преобразования.
Например, информация о режиме обхода при преобразовании может передаваться в устройство для декодирования посредством индекса режима обхода при преобразовании. Индексом режима обхода при преобразовании может быть индекс, указывающий режим обхода при преобразовании, входящий в число возможных режимов обхода при преобразовании и подлежащий применению к целевому блоку преобразования. Значение индекса режима обхода при преобразовании может быть задано на основании режима обхода при преобразовании. При этом режиму двумерного преобразования, режиму горизонтального преобразования и режиму вертикального преобразования могут соответствовать разные значения индекса.
Устройство для декодирования выполнено с возможностью декодировать информацию о режиме обхода при преобразовании (например, кодированный индекс режима обхода при преобразовании), принятую из устройства для кодирования. При этом на основании указанной декодированной информации устройство для декодирования может определять режим обхода при преобразовании, подлежащий применению к данному целевому блоку преобразования. Устройство для декодирования выполнено с возможностью преобразовывать целевой блок преобразования в соответствии с определенным указанным образом режимом обхода при преобразовании. Иными словами, устройство для декодирования может применять к целевому блоку преобразования один режим обхода при преобразовании, выбранный из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования.
На фиг. 4 показана блок-схема, схематично иллюстрирующая операцию преобразования, выполняемую устройством для кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 4, устройство для кодирования выполнено с возможностью выбирать режим обхода при преобразовании для целевого блока преобразования из числа возможных режимов обхода при преобразовании (S410). Здесь в число возможных режимов обхода при преобразовании может входить по меньшей мере один из следующих режимов: режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим без преобразования. При этом из числа возможных режимов обхода при преобразовании устройство для кодирования может выбирать режим обхода при преобразовании с наименьшим значением стоимости с точки зрения оптимизации RDO. Далее подробно описывается способ выбора возможного режима обхода при преобразовании в соответствии с примерным вариантом осуществления.
Как показано на фиг. 4, устройство для кодирования может преобразовывать целевой блок преобразования в соответствии с выбранным режимом обхода при преобразовании (S420). Иными словами, устройство для кодирования может применять к целевому блоку преобразования один выбранный режим обхода при преобразовании из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и режима без преобразования.
Кроме того, устройство для кодирования может кодировать информацию о режиме обхода при преобразовании, примененном к целевому блоку преобразования, и передавать указанную информацию в устройство для декодирования. Например, указанная информация может передаваться в устройство для декодирования посредством индекса режима обхода при преобразовании. При этом, в соответствии с вышеизложенным, принимая во внимание вероятности разных режимов обхода при преобразовании, более вероятному режиму обхода при преобразовании устройство для кодирования может назначать короткое кодовое слово, а менее вероятному режиму обхода при преобразовании длинное кодовое слово. Далее подробно описывается способ назначения кодового слова режиму обхода при преобразовании в соответствии с примерным вариантом осуществления.
На фиг. 5 показана блок-схема, схематично иллюстрирующая операцию обратного преобразования, выполняемую устройством для декодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Устройство для декодирования может декодировать битовый поток, содержащий информацию о режиме обхода при преобразовании (например, кодированный индекс режима обхода при преобразовании), принятую из устройства для кодирования. В битовом потоке, принятом из устройства для кодирования, короткое кодовое слово может быть назначено более вероятному режиму обхода при преобразовании, а длинное кодовое слово может быть назначено менее вероятному режиму обхода при преобразовании. Далее подробно описывается способ назначения кодового слова режиму обхода при преобразовании в соответствии с примерным вариантом осуществления.
Как показано на фиг. 5, устройство для декодирования выполнено с возможностью выбирать режим обхода при преобразовании для целевого блока обратного преобразования из числа возможных режимов обхода при преобразовании (S510). Здесь в число возможных режимов обхода при преобразовании может входить по меньшей мере один из следующих режимов: режим двумерного преобразования, режим горизонтального преобразования, режим вертикального преобразования и режим без преобразования. Устройство для декодирования выполнено с возможностью использовать тот же возможный режим обхода при преобразовании, который был использован в устройстве для кодирования. При этом устройство для декодирования выполнено с возможностью определять режим обхода при преобразовании для целевого блока обратного преобразования на основании указанной декодированной информации (информации о режиме обхода при преобразовании, например, декодированного индекса режима обхода при преобразовании). Далее подробно описывается способ выбора возможного режима обхода при преобразовании в соответствии с примерным вариантом осуществления.
Как показано на фиг. 5, устройство для декодирования может выполнять обратное преобразование целевого блока обратного преобразования в соответствии с определенным указанным образом режимом обхода при преобразовании (S520). Иными словами, устройство для декодирования может применять к целевому блоку обратного преобразования один выбранный режим обхода при преобразовании из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и/ или режима без преобразования.
В то же время в вариантах осуществления, показанных на фиг. 4 и 5, в качестве возможных режимов обхода при преобразовании устройство для кодирования и устройство для декодирования могут использовать все режимы из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и/ или режима без преобразования. При этом режиму двумерного преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму двумерного преобразования), режиму горизонтального преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму горизонтального преобразования), режиму вертикального преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму вертикального преобразования) и/ или режиму без преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму без преобразования) могут быть, соответственно, назначены