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

НАСТОЯЩАЯ ЗАЯВКА ВЫДЕЛЕНА ИЗ ЗАЯВКИ № 2014117487 НА ВЫДАЧУ ПАТЕНТА РФ НА ИЗОБРЕТЕНИЕ, ПОДАННОЙ 17.10.2012, С ИСПРАШИВАНИЕМ ПРИОРИТЕТА ПО ДАТЕ ПОДАЧИ ПЕРВОЙ ЗАЯВКИ KR 10-2011-0106107, ПОДАННОЙ В ПАТЕНТНОЕ ВЕДОМСТВО КОРЕИ 17.10.2011.
Область техники, к которой относится изобретение
Настоящее изобретение относится к обработке изображений, и, более конкретно, к способу декодирования видеосигнала.
Уровень техники
В последнее время выросла потребность в использовании видеоизображений с большим разрешением и высоким качеством, например, видеоизображений высокого (high-definition, HD) и сверхвысокого (ultrahigh-definition, UHD) разрешений.
По мере повышения разрешения и качества изображений возрастает и объем видеоданных. Соответственно, по сравнению с обычными способами обработки видеоданных, при предоставлении высококачественных видеоданных возрастают затраты на их передачу и хранение. Для устранения указанных недостатков, сопровождающих рост разрешения и качества видеоданных, могут использоваться высокоэффективные способы сжатия видеоданных.
В качестве способов сжатия видеоданных используются различные схемы, например межкадровое предсказание, использующее элементы данных изображений, отличных от текущего изображения, внутрикадровое предсказание, использующее только элементы данных из одного декодированного сегмента, и энтропийное кодирование/декодирование, в котором более часто встречающимся сигналам назначают более короткие коды.
Раскрытие изобретения
Недостаток, устраняемый изобретением.
В аспекте настоящего изобретения предлагается способ декодирования видеосигнала, дающий возможность повысить эффективность декодирования видеоданных.
Техническое решение.
В варианте осуществления настоящего изобретения предлагается способ декодирования видеосигнала. Способ может включать получение разностных коэффициентов преобразования, относящихся к текущему блоку, из видеосигнала; получение прошедших обратное квантование разностных коэффициентов преобразования посредством выполнения обратного квантования разностных коэффициентов преобразования; определение на основании информации о режиме обхода при преобразовании, указывающей режим обхода при преобразовании для текущего блока, режима обхода при преобразовании для текущего блока из числа одного или более возможных режимов обхода при преобразовании, при этом один или более возможный режим обхода при преобразовании включает по меньшей мере один режим из числа режима двумерного преобразования, режима горизонтального предсказания, режима вертикального предсказания или режима без преобразования; и получение на основании определенного таким образом режима обхода при преобразовании разностного блока, относящегося к текущему блоку, посредством использования прошедших обратное квантование разностных коэффициентов преобразования текущего блока, при этом, если определенный таким образом режим обхода при преобразовании является режимом двумерного преобразования, разностный блок, относящийся к текущему блоку, можно получить посредством выполнения обратного преобразования прошедших обратное квантование разностных коэффициентов преобразования текущего блока, а если определенный таким образом режим обхода при преобразовании является режимом без преобразования, разностный блок можно получить посредством масштабирования прошедших обратное квантование разностных коэффициентов преобразования с использованием заранее определенного значения.
Масштабирование может быть выполнено посредством использования операции битового сдвига.
Индекс режима обхода при преобразовании можно получить для элемента преобразования, при этом элемент преобразования представляет собой элемент, в котором для текущего блока выполняется обратное преобразование.
В режиме двумерного преобразования может быть выполнено как горизонтальное преобразование, так и вертикальное преобразование, в режиме горизонтального преобразования может быть выполнено только горизонтальное преобразование без вертикального преобразования, в режиме вертикального преобразования может быть выполнено только вертикальное преобразование без горизонтального преобразования, в режиме без преобразования не выполняются ни горизонтальное преобразование, ни вертикальное преобразование.
Технический результат.
Согласно способу декодирования видеосигнала настоящего изобретения может быть повышена эффективность декодирования видеоданных.
Краткое описание чертежей
На фиг. 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, в качестве возможных режимов обхода при преобразовании устройство для кодирования и устройство для декодирования могут использовать все режимы из числа режима двумерного преобразования, режима горизонтального преобразования, режима вертикального преобразования и/ или режима без преобразования. При этом режиму двумерного преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму двумерного преобразования), режиму горизонтального преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму горизонтального преобразования), режиму вертикального преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму вертикального преобразования) и/ или режиму без преобразования (и/ или индексу режима обхода при преобразовании, соответствующему режиму без преобразования) могут быть, соответственно, назначены разные кодовые слова. В этом случае, как указано выше, более вероятному режиму обхода при преобразовании устройство для кодирования, принимая во внимание вероятности режимов обхода при преобразовании, может назначать короткое кодовое слово, а менее вероятному режиму обхода при преобразовании длинное кодовое слово. Таблица 1 иллюстрирует способ назначения кодового слова режиму обхода при преобразовании в соответствии с примерным вариантом осуществления.
Таблица 1
TSM
Преобразование по строкам
Преобразование по столбцам
Кодовое слово (CABAC и/ или CAVLC)
Примечание
TS0
O
O
1
Двумерное преобразование
TS1
O
-
01
Одномерное преобразование
TS2
-
O
001
Одномерное преобразование
TS3
-
-
000
Без преобразования
В таблице 1 TS0 соответствует режиму двумерного преобразования, TS1 соответствует режиму горизонтального преобразования, TS2 соответствует режиму вертикального преобразования, а TS3 соответствует режиму без преобразования. При этом как режим горизонтального преобразования, так и режим вертикального преобразования могут соответствовать одномерному режиму преобразования.
Например, как видно из таблицы 1, если наиболее часто встречается режим двумерного преобразования, то режиму двумерного преобразования может быть назначено кодовое слово 1. Аналогично, в соответствии с частотой использования, режиму горизонтального преобразования может быть назначено кодовое слово 01, режиму вертикального преобразования кодовое слово 001, а режиму без преобразования кодовое слово 000.
Даже если в соответствии с режимом обхода при преобразовании вертикальное преобразование и/ или горизонтальное преобразование исключены, возможно использование той же матрицы квантования, что и в режиме двумерного преобразования. В этом случае устройство для кодирования и устройство для декодирования могут выполнять масштабирование значений в строках и/ или столбцах, не подвергнутых преобразованию, что может быть выражено формулой 1.
Формула 1
y = (x*масштаб + смещение) >> сдвиг
Здесь x может представлять собой элемент в непреобразованной строке и/ или столбце, а y может представлять собой масштабированное значение.  Параметр «масштаб» может представлять собой масштабный коэффициент.  Параметр «смещение» может представлять собой значение смещения, применяемого при масштабировании, а параметр «сдвиг» может представлять собой значение битового сдвига, применяемого при масштабировании. При этом смещение и сдвиг могут иметь такие же значения, что и значение смещения и значение битового переноса, используемые в тех случаях, когда преобразование не исключено, например, в режиме двумерного преобразования.
Далее, масштабный коэффициент в формуле 1, применяемый в устройстве для кодирования и устройстве для декодирования, может выбираться в зависимости от размера элемента преобразования. В одном примерном варианте осуществления масштабный коэффициент, соответствующий размеру элемента преобразования, может задаваться согласно таблице 2.
Таблица 2
N
4
8
16
32
Масштаб
128
181
256
362
Здесь N (и/ или NxN) может представлять собой размер элемента преобразования, а масштаб может представлять собой масштабный коэффициент. Как показано на фиг. 2, при размере элемент преобразования 8x8 может использоваться значение масштабного коэффициента 181.
Как указано выше, ЭП не обязательно имеет форму квадрата, а может иметь форму прямоугольника. Например, в межкадровом режиме ЭП может иметь размер (и/ или форму) 2N*N, N*2N, 2NxnU, 2NxnD, nLx2N или nRx2N. В режиме SDIP ЭП может иметь размер (и/ или форму) 2N*(1/2)N или (1/2)N*2N. В данном случае, поскольку конкретный режим обхода при преобразовании может быть менее вероятным, устройство для кодирования и устройство для декодирования могут не использовать менее вероятный режим обхода при преобразовании в качестве возможного режима обхода при преобразовании, повышая тем самым эффективность кодирования/ декодирования. Как вариант, устройство для кодирования может задавать короткое кодовое слово менее вероятному режиму обхода при преобразовании, повышая тем самым эффективность кодирования/ декодирования. Соответственно, могут быть предложены способ выбора возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с размером (и/ или формой) ЭП.
На фиг. 6 показан способ выбора возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в межкадровом режиме.
На фиг. 6 схематично показан размер (и/ или форма) ЭП в межкадровом режиме. Как показано на фиг. 6, один ЭК 610 может разбиваться на ЭП разных размеров в соответствии со свойствами изображения и т.п. На фиг. 6 показано, что при межкадровом предсказании один ЭК 610 разбивают на несколько ЭП 620. В межкадровом режиме ЭП могут иметь размер (и/ или форму) 2N*2N (621), 2N*N (622), N*2N (623), N*N (624), 2NxnU (625), 2NxnD (626), nLx2N (627) или nRx2N (628). Здесь ЭП 624 с размером (и/ или формой) N*N может использоваться только для наименьшего элемента кодирования (SCU) в качестве наименьшего ЭК, чтобы предотвратить избыточные расчеты при вычислении стоимости предсказания.
В то же время в межкадровом режиме вероятности режима горизонтального преобразования и режима вертикального преобразования могут зависеть от формы ЭП. Соответственно, в зависимости от формы ЭП режимам обхода при преобразовании (и/ или индексам режима обхода при преобразовании) могут назначаться разные кодовые слова. Иными словами, кодовые слова, назначаемые режимам обхода при преобразовании (и/ или индексам режима обхода при преобразовании), могут выбираться в соответствии с формой ЭП.
В одном примерном варианте осуществления, когда ЭП имеет форму N*2N (623), эффект сосредоточения энергии при горизонтальном преобразовании может быть меньшим, чем эффект сосредоточения энергии при вертикальном преобразовании. Соответственно, режим вертикального преобразования может иметь более высокую вероятность, чем режим горизонтального преобразования. В таблице 1 режиму горизонтального преобразования назначено кодовое слово 01, а режиму вертикального преобразования назначено кодовое слово 001, то есть более вероятному режиму обхода при преобразовании назначено более длинное кодовое слово. Таким образом, в ЭП 623 с формой N*2N кодовое слово для режима горизонтального преобразования и кодовое слово для режима вертикального преобразования переустанавливаются, чем повышается эффективность кодирования. Таблица 3 иллюстрирует способ назначения кодовых слов режимам обхода при преобразовании в ЭП 623 с формой N*2N в соответствии с примерным вариантом осуществления.
Таблица 3
TSM
Преобразование по строкам
Преобразование по столбцам
Кодовое слово (CABAC и/ или CAVLC)
Примечание
TS0
O
O
1
Двумерное преобразование
TS1
O
-
001
Одномерное преобразование
TS2
-
O
01
Одномерное преобразование
TS3
-
-
000
Без преобразования
В таблице 3 TS0 соответствует режиму двумерного преобразования, TS1 соответствует режиму горизонтального преобразования, TS2 соответствует режиму вертикального преобразования, TS3 соответствует режиму без преобразования. При этом как режим горизонтального преобразования, так и режим вертикального преобразования могут соответствовать одномерному режиму преобразования.
Как указано в таблице 3, режиму горизонтального преобразования может быть назначено кодовое слово 001, а режиму вертикального преобразования может быть назначено кодовое слово 01. Как указано выше, в ЭП 623 с формой N*2N режим вертикального преобразования может иметь более высокую вероятность, чем режим горизонтального преобразования, и поэтому режиму вертикального преобразования может быть назначен более короткий код, чем режиму горизонтального преобразования.
Хотя таблица 3 приведена для ЭП с формой N*2N (623), настоящее изобретение не ограничено указанной формой. Например, в дополнение к ЭП с формой N*2N (623), в ЭП с формой nLx2N (627) или nRx2N (628) режим вертикального преобразования также может иметь более высокую вероятность, чем режим горизонтального преобразования. Соответственно, режиму вертикального преобразования может быть назначен более короткий код, чем режиму горизонтального преобразования.
С другой стороны, в ЭП с формой 2N*N (622), 2NxnU (625) и 2NxnD (626) режим горизонтального преобразования может иметь более высокую вероятность, чем режим вертикального преобразования. Соответственно, режиму горизонтального преобразования может быть назначен более короткий код, чем режиму вертикального преобразования. Например, в ЭП с формой 2N*N (622), 2NxnU (625) и 2NxnD (626) может использоваться такой же способ назначения кодового слова, как в таблице 1.
В то же время, как указано выше, поскольку вероятности режима горизонтального преобразования и режима вертикального преобразования в межкадровом режиме могут зависеть от формы ЭП, в зависимости от формы ЭП может быть выбрано несколько разных возможных режимов обхода при преобразовании. Иными словами, возможные режимы обхода при преобразовании для целевого блока преобразования могут выбираться на основании формы ЭП, соответствующего указанному целевому блоку преобразования.
В одном примерном варианте осуществления, если ЭП имеет форму 2N*N (622), то эффект сосредоточения энергии при вертикальном преобразовании может быть меньше, чем эффект сосредоточения энергии при горизонтальном преобразовании, и поэтому режим вертикального преобразования может иметь меньшую вероятность, чем режим горизонтального преобразования. Таким образом, в ЭП 622 с формой 2N*N в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут использоваться режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, но не режим вертикального преобразования. В этом случае к целевому блоку преобразования может применяться один из следующих режимов обхода при преобразовании: режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования. Таблица 4 иллюстрирует способ назначения кодовых слов режимам обхода при преобразовании, в случае, когда в качестве возможных режимов обхода при преобразовании используются режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования  в соответствии с примерным вариантом осуществления.
Таблица 4
TSM
Преобразование по строкам
Преобразование по столбцам
Кодовое слово (CABAC и/ или CAVLC)
Примечание
TS0
O
O
0
Двумерное преобразование
TS1
O
-
10
Одномерное преобразование
TS3
-
-
11
Без преобразования
В таблице 4 TS0 соответствует режиму двумерного преобразования, TS1 соответствует режиму горизонтального преобразования, а TS3 соответствует режиму без преобразования. При этом режим горизонтального преобразования может соответствовать режиму одномерного преобразования. Как указано в таблице 4, в ЭП 622 с формой 2N*N в качестве возможных режимов обхода при преобразовании могут использоваться режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования.
Хотя таблица 4 приведена для ЭП 622 с формой 2N*N, настоящее изобретение не ограничено указанной формой. Например, в дополнение к ЭП с формой 2N*N (622), в ЭП с формой 2NxnU (625) и 2NxnD (626) режим вертикального преобразования также может иметь более низкую вероятность, чем режим горизонтального преобразования. Соответственно, в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут использоваться режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, но не режим вертикального преобразования.
Как вариант, в ЭП  с формой N*2N (623), поскольку эффект сосредоточения энергии при горизонтальном преобразовании может быть меньшим, чем эффект сосредоточения энергии при вертикальном преобразовании, режим горизонтального преобразования может иметь меньшую вероятность, чем режим вертикального преобразования. Таким образом, в ЭП 623 с формой N*2N  в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут использоваться режим двумерного преобразования, режим вертикального преобразования и режим без преобразования, но не режим горизонтального преобразования. В этом случае к целевому блоку преобразования может применяться один режим обхода при преобразовании из числа режима двумерного преобразования, режима вертикального преобразования и режима без преобразования. Таблица 5 иллюстрирует способ назначения кодовых слов режимам обхода при преобразовании, если в качестве возможных режимов обхода при преобразовании используются режим двумерного преобразования, режим вертикального преобразования и режим без преобразования в соответствии с примерным вариантом осуществления.
Таблица 5
TSM
Преобразование по строкам
Преобразование по столбцам
Кодовое слово (CABAC и/ или CAVLC)
Примечание
TS0
O
O
0
Двумерное преобразование
TS2
-
O
10
Одномерное преобразование
TS3
-
-
11
Без преобразования
В таблице 5 TS0 соответствует режиму двумерного преобразования, TS2 соответствует режиму вертикального преобразования, а TS3 соответствует режиму без преобразования. При этом режим вертикального преобразования может соответствовать режиму одномерного преобразования. Как указано в таблице 5, в ЭП 623 с формой N*2N  в качестве возможных режимов обхода при преобразовании могут использоваться режим двумерного преобразования, режим вертикального преобразования и режим без преобразования.
Хотя таблица 5 приведена для ЭП с формой N*2N (623), настоящее изобретение не ограничено указанной формой. Например, в дополнение к ЭП с формой N*2N (623), в ЭП с формой nLx2N (627) или nRx2N (628) режим горизонтального преобразования также может иметь меньшую вероятность, чем режим вертикального преобразования. Соответственно, в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут быть использованы режим двумерного преобразования, режим вертикального преобразования и режим без преобразования, но не режим горизонтального преобразования.
В вышеописанных вариантах осуществления, иллюстрируемых таблицами 3-5, количество битов, используемых для кодирования режимов обхода при преобразовании (и/ или индексов режима обхода при преобразовании), может быть снижено. Соответственно, может быть повышена эффективность кодирования/ декодирования.
На фиг. 7 показан способ выбора возможного режима обхода при преобразовании и способ назначения кодового слова режиму обхода при преобразовании в соответствии с формой ЭП в режиме SDIP.
На фиг. 7 схематично показан размер (и/ или форма) ЭП в режиме SDIP. Как показано на фиг. 7, один ЭК 710 может разбиваться на ЭП разных размеров в соответствии со свойствами изображения и т.п. На фиг. 7 показано, что в SDIP один ЭК 710 разбивают на несколько ЭП 720. В SDIP ЭП могут иметь размер (и/ или форму) 2N*2N (721), N*N (723), (1/2)N*2N (725) или 2N*(1/2)N (727). Здесь ЭП 723 с размером (и/ или формой) N*N может использоваться только для наименьшего элемента кодирования (SCU) в качестве наименьшего ЭК, чтобы предотвратить избыточные расчеты при вычислении стоимости предсказания.
В SDIP, поскольку вероятности режима горизонтального преобразования и режима вертикального преобразования могут зависеть от формы ЭП, в зависимости от формы ЭП может быть выбрано несколько разных возможных режимов обхода при преобразовании. Иными словами, возможные режимы обхода при преобразовании для целевого блока преобразования могут выбираться на основании формы ЭП, соответствующего указанному целевому блоку преобразования.
В одном примерном варианте осуществления, если ЭП имеет форму 2N*(1/2)N (727), то эффект сосредоточения энергии при вертикальном преобразовании может быть меньше, чем эффект сосредоточения энергии при горизонтальном преобразовании, и поэтому режим вертикального преобразования может иметь меньшую вероятность, чем режим горизонтального преобразования. Соответственно, в ЭП с формой 2N*(1/2)N (727) в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут использоваться режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, но не режим вертикального преобразования. В этом случае к целевому блоку преобразования может применяться один из следующих режимов обхода при преобразовании: режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования. Способ назначения кодовых слов режимам обхода при преобразовании в случае, когда в качестве возможных режимов обхода при преобразовании используются режим двумерного преобразования, режим горизонтального преобразования и режим без преобразования, описан выше в таблице 4 и поэтому его описание здесь не приводится.
Как вариант, в ЭП с формой (1/2)N*2N (725), поскольку эффект сосредоточения энергии при горизонтальном преобразовании может быть меньшим, чем эффект сосредоточения энергии при вертикальном преобразовании, режим горизонтального преобразования может иметь меньшую вероятность, чем режим вертикального преобразования. Соответственно, в ЭП с формой (1/2)N*2N (725) в качестве возможных режимов обхода при преобразовании для целевого блока преобразования могут быть использованы режим двумерного преобразования, режим вертикального преобразования и режим без преобразования, но не режим горизонтального преобразования. В этом случае к целевому блоку преобразования может применяться один режим обхода при преобразовании из числа режима двумерного преобразования, режима вертикального преобразования и режима без преобразования. Способ назначения кодовых слов режимам обхода при преобразовании, если в качестве возможных режимов обхода при преобразовании используются режим двумерного преобразования, режим вертикального преобразования и режим без преобразования представлен выше в таблице 5, и поэтому его описание здесь не приводится.
В вышеописанных вариантах осуществления может быть снижено количество битов, используемых для кодирования режимов обхода при преобразовании (и/ или индексов режима обхода при преобразовании). Соответственно, может быть повышена эффективность кодирования/ декодирования.
На фиг. 8 показан способ назначения кодового слова режиму обхода при преобразовании в соответствии с направлением предсказания во внутрикадровом режиме.
Как указано выше со ссылкой на фиг. 1 и 2, устройство для кодирования и устройство для декодирования могут формировать блок предсказания, выполняя внутрикадровое предсказание на основании информации о пикселе текущего кадра. Внутрикадровое предсказание может осуществляться в соответствии с режимом внутрикадрового предсказания для целевого блока предсказания. Режимом внутрикадрового предсказания может быть, например, режим постоянной составляющей, режим предсказания по плоскости, вертикальный режим, горизонтальный режим и наклонный режим. Режим постоянной составляющей и режим предсказания по плоскости являются режимами без выделенного направления, а остальные режимы являются режимами c выделенным направлением. При этом наклонный режим может быть режимом предсказания с выделенным направлением, которое отличается от используемого в вертикальном режиме и в горизонтальном режиме.
На фиг. 8 показаны направления предсказания в режиме внутрикадрового предсказания и значение режима, заданное каждому направлению предсказания. На фиг. 8 каждый режим внутрикадрового предсказания имеет отличное от других направление предсказания. Число, заданное каждому режиму внутрикадрового предсказания, может называться значением режима.
Как показано на фиг. 8, режим внутрикадрового предсказания со значением режима, равным 0, может называться режимом предсказания по плоскости. В режиме предсказания по плоскости опорные пикселы, используемые для предсказание значения пиксела целевого пиксела предсказания, могут определяться на основании положения целевого пиксела предсказания в целевом блоке предсказания. Предсказываемое значение целевого пиксела предсказания может быть рассчитано на основании определенных указанным образом опорных пикселов. Режим внутрикадрового предсказания со значением режима, равным 1, может называться режимом постоянной составляющей, в этом режиме блок предсказания может формироваться с использованием среднего значения пикселов, прилегающих к целевому блоку предсказания. В режиме внутрикадрового предсказания со значением режима, равным 26, предсказание может осуществляться в вертикальном направлении на основании значений пикселов прилегающих блоков. Таким образом, режим внутрикадрового предсказания со значением режима, равным 26, также может называться вертикальным режимом. В режиме внутрикадрового предсказания со значением режима, равным 10 (горизонтальный режим), предсказание может осуществляться в горизонтальном направлении на основании значений пикселов прилегающих блоков. Таким образом, режим внутрикадрового предсказания со значением режима, равным 10, также может называться горизонтальным режимом. В остальных режимах предсказание может осуществляться на основании значений пикселов прилегающих блоков согласно соответствующим углам наклона.
Вероятности режима горизонтального преобразования и режима вертикального преобразования могут зависеть от режима внутрикадрового предсказания (и/ или направления предсказания) элемента предсказания, соответствующего целевому блоку преобразования. Соответственно, каждому режиму обхода при преобразовании (и/ или индексу режима обхода при преобразовании) на основании режима внутрикадрового предсказания (и/ или направления предсказания) указанного ЭП может быть назначено отличное от других кодовое слово. Иными словами, кодовое слово, назначенное режиму обхода при преобразовании (и/ или индексу режима обхода при преобразовании), может определяться на основании режима внутрикадрового предсказания (и/ или направления предсказания) ЭП, соответствующего целевому блоку преобразования.
В одном примерном варианте осуществления, если режимом внутрикадрового предсказания ЭП является вертикальный режим, то эффект сосредоточения энергии при горизонтальном преобразовании может быть меньшим, чем эффект сосредоточения энергии при вертикальном преобразовании. Соответственно, в этом случае режим вертикального преобразования может иметь более высокую вероятность, чем режим горизонтального преобразования. В варианте осуществления, пояснявшемся со ссылкой на таблицу 1, режиму горизонтального преобразования назначено кодовое слово 01, а режиму вертикального преобразования назначено кодовое слово 001, то есть более вероятному режиму обхода при преобразовании назначено более длинное кодовое слово. Таким образом, если режимом внутрикадрового предсказания ЭП является вертикальный режим, то кодовое слово для режима горизонтального преобразования и кодовое слово для режима вертикального преобразования переустанавливаются, чем повышается эффективность кодирования. Иными словами, если режимом внутрикадрового предсказания ЭП является вертикальный режим, то режим вертикального преобразования может иметь более высокую вероятность, чем режим горизонтального преобразования, и режиму вертикального преобразования может быть назначен более короткий код, чем режиму горизонтального преобразования. Вариант осуществления с назначением более короткого кодового слова режиму вертикального преобразования по сравнению с режимом горизонтального преобразования сходен с вариантом осуществления, показанным в таблице 3, и поэтому его описание здесь не приводится.
Как вариант, если режимом внутрикадрового предсказания элемента предсказания, соответствующего целевому блоку преобразования, является горизонтальный режим, то режим горизонтального преобразования может иметь более высокую вероятность, чем режим вертикального преобразования. Соответственно, в этом случае режиму горизонтального преобразования может быть назначен более короткий код, чем режиму вертикального преобразования. Например, если режимом внутрикадрового предсказания элемента предсказания, соответствующего целевому блоку преобразования, является горизонтальный режим, то может использоваться такой же способ назначения кодового слова, как в таблице 1.
На фиг. 9 схематично показан способ сканирования коэффициента преобразования на основании режима обхода при преобразовании в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 9 показано горизонтальное сканирование 910, вертикальное сканирование 920 и зигзагообразное сканирование 930 в соответствии с примерным вариантом осуществления. Несмотря на то, что на фиг. 9 иллюстрируется способ сканирования (и/ или порядок сканирования) только для блока размером 4x4, такой способ может использоваться независимо от размера блока и не ограничен указанным размером.
При раскрытии варианта осуществления, показанного на фиг. 9, обратное сканирование также для удобства в некоторых случаях может называться сканированием, что легко понять специалисту обычного уровня в данной области техники.
Как указано выше со ссылкой на фиг. 1, устройство для кодирования может выполнять сканирование с целью переупорядочения двумерного (2D) блока прошедших квантование коэффициентов преобразования в одномерный (1D) вектор коэффициентов преобразования, чтобы тем самым повысить эффективность энтропийного кодирования. Кроме того, как указано выше со ссылкой на фиг. 2, устройство для декодирования может формировать двумерный блок коэффициентов преобразования путем сканирования одномерного вектора декодированных коэффициентов, прошедших преобразование.
При этом устройство для кодирования и устройство для декодирования могут выбирать способ сканирования (и/ или порядок сканирования) на основании режима обхода при преобразовании. Иными словами, согласно примерным вариантам осуществления настоящего изобретения, для целевого блока преобразования на основании режима обхода при преобразовании могут использоваться разные способы сканирования (и/ или порядки сканирования).
В одном примерном варианте осуществления, если режимом обхода при преобразовании является режим горизонтального преобразования, то разностные сигналы останутся, более вероятно, в вертикальном направлении. Соответственно, если режимом обхода при преобразовании для целевого блока преобразования является режим горизонтального преобразования, то для целевого блока преобразования может использоваться вертикальное сканирование 920. Если режимом обхода при преобразовании является режим вертикального преобразования, то разностные сигналы останутся, более вероятно, в горизонтальном направлении. Соответственно, если режимом обхода при преобразовании для целевого блока преобразования является режим вертикального преобразования, то для целевого блока преобразования может использоваться горизонтальное сканирование 910. В режимах обхода при преобразовании, отличных от режима горизонтального преобразования и режима вертикального преобразования, при выполнении сканирования может использоваться зигзагообразное сканирование 930.
На фиг. 10 показана блок-схема, схематично иллюстрирующая способ кодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 10, устройство для кодирования может формировать разностный блок, соответствующий текущему блоку (S1010). Как указано выше, устройство для кодирования может выполнять над текущим блоком межкадровое предсказание и/ или внутрикадровое предсказание, формируя в результате блок предсказания, соответствующий текущему блоку. При этом устройство для кодирования может формировать разностный сигнал, то есть разностный блок, вычисляя разность между значением пиксела текущего блока и значением пиксела блока предсказания.
На фиг. 10 показано, что устройство для кодирования выполнено с возможностью преобразовывать разностный сигнал, то есть разностный блок (S1020). Устройство для кодирования может выполнять перекодирование разностного сигнала, используя ядро преобразования, а ядро перекодирования может иметь размер 2*2, 4*4, 8*8, 16*16, 32*32 или 64*64. В одном примерном варианте осуществления коэффициент преобразования C для блока n*n может вычисляться по формуле 2.
Формула 2
T
C(n,n)=T(n,n) x B(n,n) x T(n,n)
Здесь C(n,n) представляет собой матрицу n*n коэффициентов преобразования, T(n,n) представляет собой матрицу n*n ядра преобразования, а B(n,n) представляет собой матрицу n*n разностного блока.
Сформировав путем преобразования коэффициент преобразования, устройство для кодирования может выполнять квантование сформированного коэффициента преобразования.
Решение о том, передавать ли разностный блок или коэффициент преобразования, может приниматься с использованием оптимизации RDO. Если предсказание выполнено корректно, то разностный блок, то есть разностный сигнал, может передаваться без перекодирования. Устройство для кодирования может сравнивать функции стоимости до и после преобразования и выбирать способ с наименьшей стоимостью. При этом устройство для кодирования может передавать в устройство для декодирования информацию о типе сигнала (разностный сигнал или коэффициент преобразования), относящуюся к текущему блоку.
Операции преобразования пояснялись в вышеописанных вариантах осуществления, и поэтому их описания здесь не приводятся.
Как показано на фиг. 10, устройство для кодирования выполнено с возможностью сканировать коэффициент преобразования (S1030). При этом, как указано выше, устройство для кодирования выполнено с возможностью выбирать способ сканирования (и/ или порядок сканирования) на основании режима обхода при преобразовании. Способ выбора порядка сканирования на основании режима обхода при преобразовании описан выше, и поэтому его описание здесь не приводится.
Если осуществляется сканирование, то устройство для кодирования может выполнять энтропийное кодирование прошедшего сканирование коэффициента преобразования и вспомогательной информации (например, информации о режиме межкадрового предсказания текущего блока) (S1040). Из кодированной информации может формироваться сжатый битовый поток, передаваемый или сохраняемый через абстрактный уровень сети.
Несмотря на то, что в соответствии с блок-схемой на фиг. 10 способ кодирования описывается последовательностью шагов, настоящее изобретение не ограничено указанной последовательностью шагов. Некоторые шаги, показанные на фиг. 10, могут выполняться в порядке, отличающемся от описанного выше, или одновременно. Кроме того, между шагами блок-схемы могут быть введены дополнительные шаги, либо один или более шагов могут быть удалены из блок-схемы на фиг. 10 без выхода за пределы объема охраны настоящего изобретения.
На фиг. 11 показана блок-схема, схематично иллюстрирующая способ декодирования в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 11, устройство для декодирования может выполнять энтропийное декодирование битового потока, принимаемого из устройства для кодирования (S1110). Например, устройство для декодирования может определять режим предсказания и разностный сигнал текущего блока на основании таблицы переменной длины кодирования (variable length coding, VLC) и/ или CABAC. Устройство для декодирования выполнено с возможностью получать информацию о том, является ли сигнал, принятый в отношении текущего блока, разностным сигналом или коэффициентом преобразования, и получать разностный сигнал или одномерный вектор коэффициентов преобразования для текущего блока. Если принятый битовый поток содержит вспомогательную информацию, необходимую для декодирования, то энтропийному декодированию может подвергаться как битовый поток, так и вспомогательная информация.
Как показано на фиг. 11, устройство для декодирования может выполнять обратное сканирование прошедшего энтропийное декодирование разностного сигнала или коэффициентов преобразования с целью формирования двумерного блока (S1120). При этом в случае разностного сигнала может формироваться разностный блок, а в случае коэффициентов преобразования может формироваться двумерный блок коэффициентов преобразования. Если сформированы коэффициенты преобразования, то устройство для декодирования может выполнять деквантование сформированных коэффициентов преобразования.
Как указано выше, при обратном сканировании устройство для декодирования может выбирать способ сканирования (и/ или порядок сканирования) на основании режима обхода при преобразовании. Способ выбора порядка сканирования на основании режима обхода при преобразовании описан выше, и поэтому его описание здесь не приводится.
Как показано на фиг. 11, устройство для декодирования может выполнять обратное преобразование прошедших деквантование коэффициентов преобразования и в результате формировать разностный блок (S1130). Обратное преобразование может быть выражено формулой 3.
Формула 3
T
B(n,n)=T(n,n) x C(n,n) x T(n,n)
Обратное преобразование было описано выше, и поэтому его описание здесь не приводится.
Если сформирован разностный блок, то на основании сформированного разностного блока устройство для декодирования может формировать восстановленный блок (S1140). Как указано выше, устройство для декодирования может выполнять межкадровое предсказание и/ или внутрикадровое предсказание в целевом блоке декодирования и в результате формировать блок предсказания, соответствующий указанному целевому блоку декодирования. При этом устройство для декодирования может попиксельно объединять значение пиксела блока предсказания и значение пиксела разностного блока, формируя в результате восстановленный блок.
Несмотря на описание способа декодирования последовательностью шагов в соответствии с блок-схемой на фиг. 11, настоящее изобретение не ограничено указанной последовательностью шагов. Некоторые шаги, показанные на фиг. 11, могут выполняться в порядке, отличающемся от описанного выше, или одновременно. Кроме того, между шагами блок-схемы могут быть введены дополнительные шаги, либо один или более шагов могут быть удалены из блок-схемы на фиг. 11 без выхода за пределы объема охраны настоящего изобретения.
Несмотря на то, что в вышеупомянутых вариантах осуществления способы раскрывались путем описания последовательностей шагов или блоков в блок-схемах, настоящее изобретение не ограничено вышеописанной последовательностью шагов. Некоторые шаги могут выполняться в порядке, отличном от описанного выше, либо одновременно. Кроме того, специалистам в данной области техники понятно, что шаги, показанные в блок-схемах, не являются исключающими, и в блок-схемах могут содержаться дополнительный шаги либо один или более шагов могут быть удалены из блок-схем без изменения объема охраны настоящего изобретения.
Настоящее изобретение раскрыто со ссылкой на примерные варианты осуществления, и вышеописанные варианты осуществления содержат различные аспекты примеров. Хотя для иллюстрации разнообразных аспектов упомянуть все возможные комбинации невозможно, специалисту в данной области техники понятно, что в указанных примерных вариантах осуществления изобретения могут быть сделаны изменения, модификации и приведены альтернативные варианты без выхода за пределы принципов и сущности настоящего изобретения, объем которого определен в пунктах прилагаемой формулы изобретения и в их эквивалентах.